@hitachivantara/uikit-react-core 3.68.3 → 3.68.6

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 (64) hide show
  1. package/dist/Header/Navigation/MenuBar/MenuBar.js +5 -1
  2. package/dist/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  3. package/dist/Header/Navigation/MenuItem/MenuItem.js +29 -9
  4. package/dist/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  5. package/dist/Header/Navigation/MenuItem/styles.js +4 -0
  6. package/dist/Header/Navigation/MenuItem/styles.js.map +1 -1
  7. package/dist/Header/Navigation/Navigation.d.ts +4 -0
  8. package/dist/Header/Navigation/Navigation.js +5 -1
  9. package/dist/Header/Navigation/Navigation.js.map +1 -1
  10. package/dist/Login/Login.js +1 -3
  11. package/dist/Login/Login.js.map +1 -1
  12. package/dist/Slider/Slider.js +7 -2
  13. package/dist/Slider/Slider.js.map +1 -1
  14. package/dist/VerticalNavigation/Navigation/Navigation.d.ts +8 -0
  15. package/dist/VerticalNavigation/Navigation/Navigation.js +10 -2
  16. package/dist/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  17. package/dist/VerticalNavigation/TreeView/TreeViewItem.d.ts +8 -0
  18. package/dist/VerticalNavigation/TreeView/TreeViewItem.js +25 -4
  19. package/dist/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  20. package/dist/VerticalNavigation/TreeView/styles.js +3 -0
  21. package/dist/VerticalNavigation/TreeView/styles.js.map +1 -1
  22. package/dist/legacy/Header/Navigation/MenuBar/MenuBar.js +5 -1
  23. package/dist/legacy/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  24. package/dist/legacy/Header/Navigation/MenuItem/MenuItem.js +25 -9
  25. package/dist/legacy/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  26. package/dist/legacy/Header/Navigation/MenuItem/styles.js +4 -0
  27. package/dist/legacy/Header/Navigation/MenuItem/styles.js.map +1 -1
  28. package/dist/legacy/Header/Navigation/Navigation.d.ts +4 -0
  29. package/dist/legacy/Header/Navigation/Navigation.js +5 -1
  30. package/dist/legacy/Header/Navigation/Navigation.js.map +1 -1
  31. package/dist/legacy/Login/Login.js +1 -2
  32. package/dist/legacy/Login/Login.js.map +1 -1
  33. package/dist/legacy/Slider/Slider.js +4 -1
  34. package/dist/legacy/Slider/Slider.js.map +1 -1
  35. package/dist/legacy/VerticalNavigation/Navigation/Navigation.d.ts +8 -0
  36. package/dist/legacy/VerticalNavigation/Navigation/Navigation.js +10 -2
  37. package/dist/legacy/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  38. package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.d.ts +8 -0
  39. package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js +24 -4
  40. package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  41. package/dist/legacy/VerticalNavigation/TreeView/styles.js +3 -0
  42. package/dist/legacy/VerticalNavigation/TreeView/styles.js.map +1 -1
  43. package/dist/modern/Header/Navigation/MenuBar/MenuBar.js +5 -1
  44. package/dist/modern/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  45. package/dist/modern/Header/Navigation/MenuItem/MenuItem.js +24 -9
  46. package/dist/modern/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  47. package/dist/modern/Header/Navigation/MenuItem/styles.js +4 -0
  48. package/dist/modern/Header/Navigation/MenuItem/styles.js.map +1 -1
  49. package/dist/modern/Header/Navigation/Navigation.d.ts +4 -0
  50. package/dist/modern/Header/Navigation/Navigation.js +5 -1
  51. package/dist/modern/Header/Navigation/Navigation.js.map +1 -1
  52. package/dist/modern/Login/Login.js +1 -2
  53. package/dist/modern/Login/Login.js.map +1 -1
  54. package/dist/modern/Slider/Slider.js +1 -1
  55. package/dist/modern/Slider/Slider.js.map +1 -1
  56. package/dist/modern/VerticalNavigation/Navigation/Navigation.d.ts +8 -0
  57. package/dist/modern/VerticalNavigation/Navigation/Navigation.js +10 -2
  58. package/dist/modern/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  59. package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.d.ts +8 -0
  60. package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js +23 -4
  61. package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  62. package/dist/modern/VerticalNavigation/TreeView/styles.js +3 -0
  63. package/dist/modern/VerticalNavigation/TreeView/styles.js.map +1 -1
  64. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"TreeViewItem.js","names":["React","useCallback","useContext","useEffect","useMemo","useRef","useState","clsx","PropTypes","withStyles","DropDownXS","DropUpXS","HvTypography","TreeViewControlContext","TreeViewStateContext","setId","useForkRef","DescendantProvider","useDescendant","styles","preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","TreeViewItem","forwardRef","props","ref","idProp","id","className","classes","disabledProp","selectableProp","selectable","nodeId","icon","label","payload","onClick","onMouseDown","onFocus","children","others","treeViewControlContext","isExpanded","isSelected","isFocused","isDisabled","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","contentRef","handleRef","descendant","element","index","parentId","level","expandable","Array","isArray","expanded","focused","selected","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","target","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","content","paddingLeft","role","tabIndex","onKeyDown","renderedChildren","group","node","unselected","unselectable","collapsed","propTypes","string","shape","isRequired","bool","any","func","name"],"sources":["../../../../src/VerticalNavigation/TreeView/TreeViewItem.js"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport HvTypography from \"../../Typography\";\n\nimport { TreeViewControlContext, TreeViewStateContext } from \"./TreeViewContexts\";\n\nimport { setId, useForkRef } from \"../../utils\";\n\nimport { DescendantProvider, useDescendant } from \"./descendants\";\n\nimport styles from \"./styles\";\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nconst TreeViewItem = React.forwardRef((props, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n disabled: disabledProp = false,\n\n selectable: selectableProp,\n\n nodeId,\n icon = null,\n label,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n ...others\n } = props;\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled } = 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 = 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(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 { 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 = selectableProp != null ? selectableProp : !collapsible || !expandable;\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 (mapFirstChar && unMapFirstChar && label) {\n mapFirstChar(nodeId, contentRef.current?.textContent.substring(0, 1).toLowerCase());\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 (!focused && event.currentTarget === event.target && !unfocusable) {\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) {\n focus(event, nodeId);\n }\n\n const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n // If already expanded and trying to toggle selection don't close\n if (expandable && !(multiple && isExpanded(nodeId))) {\n 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 ]\n );\n\n const handleSelection = useCallback(\n (event) => {\n if (selectable && !disabled) {\n if (treeviewMode && !focused) {\n focus(event, nodeId);\n }\n\n const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n selectRange(event, { end: nodeId });\n } else {\n selectNode(event, nodeId, true);\n }\n } else {\n selectNode(event, nodeId);\n }\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) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [disabled, expandable, handleExpansion, handleSelection, onClick, selectable]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (event.altKey || event.ctrlKey || event.metaKey || event.currentTarget !== event.target) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable) {\n isEventHandled = handleExpansion(event);\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event);\n }\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [expandable, handleExpansion, handleSelection, selectable]\n );\n\n const renderedContent = useMemo(\n () => (\n <HvTypography\n id={setId(id, \"button\")}\n component=\"div\"\n innerRef={contentRef}\n className={classes.content}\n variant={disabled ? \"placeholderText\" : \"normalText\"}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft: (expandable || icon != null ? 0 : 10) + level * (collapsible ? 32 : 10),\n }}\n {...(treeviewMode\n ? {\n role: \"button\",\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n role: \"button\",\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\": selectable && selected ? \"page\" : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\": expandable ? setId(id, \"group\") : undefined,\n })}\n >\n {expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n {icon}\n {label}\n </HvTypography>\n ),\n [\n id,\n classes.content,\n handleClick,\n handleMouseDown,\n expandable,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n handleKeyDown,\n selectable,\n selected,\n expanded,\n icon,\n label,\n disabled,\n ]\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}\n className={clsx(classes.node, className, {\n [classes.disabled]: disabled,\n [classes.expandable]: expandable,\n [classes.collapsed]: expandable && !expanded,\n [classes.expanded]: expandable && expanded,\n [classes.selectable]: !disabled && selectable,\n [classes.unselectable]: !disabled && !selectable,\n [classes.selected]: !disabled && selectable && selected,\n [classes.unselected]: !disabled && selectable && !selected,\n [classes.focused]: focused,\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 <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n </li>\n );\n});\n\nTreeViewItem.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n node: PropTypes.string,\n /**\n * Style applied to the content.\n */\n content: PropTypes.string,\n /**\n * Style applied to the group.\n */\n group: PropTypes.string,\n /**\n * Style applied when item is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Style applied when item is expandable.\n */\n expandable: PropTypes.string,\n /**\n * Style applied when item is collapsed.\n */\n collapsed: PropTypes.string,\n /**\n * Style applied when item is expanded.\n */\n expanded: PropTypes.string,\n /**\n * Style applied when item is selectable.\n */\n selectable: PropTypes.string,\n /**\n * Style applied when item is unselectable.\n */\n unselectable: PropTypes.string,\n /**\n * Style applied when item is selected.\n */\n selected: PropTypes.string,\n /**\n * Style applied when item is unselectable.\n */\n unselected: PropTypes.string,\n /**\n * Style applied when item is focused.\n */\n focused: PropTypes.string,\n }).isRequired,\n /**\n * Is the node disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Can the node be selected.\n */\n selectable: PropTypes.bool,\n /**\n * The id of the node.\n */\n nodeId: PropTypes.string.isRequired,\n /**\n * The icon to display next to the node's label.\n */\n icon: PropTypes.node,\n /**\n * The item label.\n */\n label: PropTypes.node.isRequired,\n /**\n * The node payload.\n */\n // eslint-disable-next-line react/forbid-prop-types\n payload: PropTypes.any,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onMouseDown: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, {\n name: \"HvVerticalNavigationTreeViewItem\",\n})(TreeViewItem);\n"],"mappings":"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"}
1
+ {"version":3,"file":"TreeViewItem.js","names":["React","useCallback","useContext","useEffect","useMemo","useRef","useState","clsx","PropTypes","withStyles","DropDownXS","DropUpXS","HvTypography","TreeViewControlContext","TreeViewStateContext","setId","useForkRef","DescendantProvider","useDescendant","styles","preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","TreeViewItem","forwardRef","props","ref","idProp","id","className","classes","disabledProp","selectableProp","selectable","nodeId","icon","label","href","target","payload","onClick","onMouseDown","onFocus","children","others","treeViewControlContext","isExpanded","isSelected","isFocused","isDisabled","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","contentRef","handleRef","descendant","element","index","parentId","level","expandable","Array","isArray","expanded","focused","selected","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","content","link","paddingLeft","role","tabIndex","onKeyDown","renderedChildren","group","node","unselected","unselectable","collapsed","propTypes","string","shape","isRequired","bool","any","func","name"],"sources":["../../../../src/VerticalNavigation/TreeView/TreeViewItem.js"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport HvTypography from \"../../Typography\";\n\nimport { TreeViewControlContext, TreeViewStateContext } from \"./TreeViewContexts\";\n\nimport { setId, useForkRef } from \"../../utils\";\n\nimport { DescendantProvider, useDescendant } from \"./descendants\";\n\nimport styles from \"./styles\";\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nconst TreeViewItem = React.forwardRef((props, ref) => {\n const {\n id: idProp,\n className,\n classes,\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 ...others\n } = props;\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled } = 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 = 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(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 { 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 = selectableProp != null ? selectableProp : !collapsible || !expandable;\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 (mapFirstChar && unMapFirstChar && label) {\n mapFirstChar(nodeId, contentRef.current?.textContent.substring(0, 1).toLowerCase());\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 (!focused && event.currentTarget === event.target && !unfocusable) {\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) {\n focus(event, nodeId);\n }\n\n const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n // If already expanded and trying to toggle selection don't close\n if (expandable && !(multiple && isExpanded(nodeId))) {\n 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 ]\n );\n\n const handleSelection = useCallback(\n (event) => {\n if (selectable && !disabled) {\n if (treeviewMode && !focused) {\n focus(event, nodeId);\n }\n\n const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n selectRange(event, { end: nodeId });\n } else {\n selectNode(event, nodeId, true);\n }\n } else {\n selectNode(event, nodeId);\n }\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) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [disabled, expandable, handleExpansion, handleSelection, onClick, selectable]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (event.altKey || event.ctrlKey || event.metaKey || event.currentTarget !== event.target) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable) {\n isEventHandled = handleExpansion(event);\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event);\n }\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [expandable, handleExpansion, handleSelection, selectable]\n );\n\n const renderedContent = useMemo(\n () => (\n <HvTypography\n id={setId(id, \"button\")}\n component={href ? \"a\" : \"div\"}\n href={href}\n target={target}\n innerRef={contentRef}\n className={clsx(classes.content, { [classes.link]: href != null })}\n variant={disabled ? \"placeholderText\" : \"normalText\"}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft: (expandable || icon != null ? 0 : 10) + level * (collapsible ? 32 : 10),\n }}\n {...(treeviewMode\n ? {\n role: \"button\",\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n role: \"button\",\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\": selectable && selected ? \"page\" : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\": expandable ? setId(id, \"group\") : undefined,\n })}\n >\n {expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n {icon}\n {label}\n </HvTypography>\n ),\n [\n id,\n href,\n target,\n classes.content,\n classes.link,\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 ]\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}\n className={clsx(classes.node, className, {\n [classes.disabled]: disabled,\n [classes.expandable]: expandable,\n [classes.collapsed]: expandable && !expanded,\n [classes.expanded]: expandable && expanded,\n [classes.selectable]: !disabled && selectable,\n [classes.unselectable]: !disabled && !selectable,\n [classes.selected]: !disabled && selectable && selected,\n [classes.unselected]: !disabled && selectable && !selected,\n [classes.focused]: focused,\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 <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n </li>\n );\n});\n\nTreeViewItem.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n node: PropTypes.string,\n /**\n * Style applied to the content.\n */\n content: PropTypes.string,\n /**\n * Style applied to the content when it is a link.\n */\n link: PropTypes.string,\n /**\n * Style applied to the group.\n */\n group: PropTypes.string,\n /**\n * Style applied when item is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Style applied when item is expandable.\n */\n expandable: PropTypes.string,\n /**\n * Style applied when item is collapsed.\n */\n collapsed: PropTypes.string,\n /**\n * Style applied when item is expanded.\n */\n expanded: PropTypes.string,\n /**\n * Style applied when item is selectable.\n */\n selectable: PropTypes.string,\n /**\n * Style applied when item is unselectable.\n */\n unselectable: PropTypes.string,\n /**\n * Style applied when item is selected.\n */\n selected: PropTypes.string,\n /**\n * Style applied when item is unselectable.\n */\n unselected: PropTypes.string,\n /**\n * Style applied when item is focused.\n */\n focused: PropTypes.string,\n }).isRequired,\n /**\n * Is the node disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Can the node be selected.\n */\n selectable: PropTypes.bool,\n /**\n * The id of the node.\n */\n nodeId: PropTypes.string.isRequired,\n /**\n * The icon to display next to the node's label.\n */\n icon: PropTypes.node,\n /**\n * The item label.\n */\n label: PropTypes.node.isRequired,\n /**\n * The url for the link.\n */\n href: PropTypes.string,\n /**\n * The behavior when opening a link.\n */\n target: PropTypes.string,\n /**\n * The node payload.\n */\n // eslint-disable-next-line react/forbid-prop-types\n payload: PropTypes.any,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onMouseDown: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, {\n name: \"HvVerticalNavigationTreeViewItem\",\n})(TreeViewItem);\n"],"mappings":"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"}
@@ -76,6 +76,9 @@ var styles = function styles(theme) {
76
76
  },
77
77
  selected: {},
78
78
  unselected: {},
79
+ link: {
80
+ textDecoration: "none"
81
+ },
79
82
  focused: {},
80
83
  noIcon: {},
81
84
  withIcon: {},
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["outlineStyles","selected","theme","background","hv","palette","atmosphere","atmo3","borderLeft","accent","acce3","hover","styles","root","display","atmo1","padding","margin","listStyle","outline","group","node","minHeight","marginBottom","disabled","selectable","unselectable","expandable","collapsed","expanded","unselected","focused","noIcon","withIcon","content","width","justifyContent","alignItems","height","paddingRight","spacing","xs","fontWeight","cursor"],"sources":["../../../../src/VerticalNavigation/TreeView/styles.js"],"sourcesContent":["import { outlineStyles } from \"../../Focus/styles\";\n\nconst selected = (theme) => ({\n background: theme.hv.palette.atmosphere.atmo3,\n borderLeft: `2px solid ${theme.hv.palette.accent.acce3}`,\n \"& *\": {\n background: theme.hv.palette.atmosphere.atmo3,\n },\n});\n\nconst hover = (theme) => ({\n background: theme.hv.palette.atmosphere.atmo3,\n \"& *\": {\n background: theme.hv.palette.atmosphere.atmo3,\n },\n});\n\nconst styles = (theme) => ({\n /* role=\"tree\" root element */\n root: {\n display: \"block\",\n background: theme.hv.palette.atmosphere.atmo1,\n padding: `0px`,\n margin: \"0\",\n listStyle: \"none\",\n\n outline: \"none\",\n },\n\n /* role=\"group\" element */\n group: {\n margin: \"8px 0 0 0\",\n padding: 0,\n },\n\n /* role=\"treeitem\" element */\n node: {\n listStyle: \"none\",\n minHeight: \"32px\",\n \"&:not(:last-child)\": {\n marginBottom: \"8px\",\n },\n },\n\n /* role=\"treeitem\" element states */\n disabled: {},\n selectable: {},\n unselectable: {},\n expandable: {},\n collapsed: {\n \"&>$group\": { display: \"none\" },\n },\n expanded: {\n \"&>$group\": { display: \"block\" },\n },\n selected: {},\n unselected: {},\n\n focused: {},\n\n noIcon: {},\n withIcon: {},\n\n /* role=\"button\" element */\n content: {\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n height: \"32px\",\n borderLeft: `2px solid transparent`,\n paddingRight: theme.hv.spacing.xs,\n\n \"$expandable>&\": {\n fontWeight: 600,\n },\n\n // selected state\n \"$selected>&\": selected(theme),\n\n // hover\n \":not($disabled):not($selected)>&:hover\": hover(theme),\n \":not($disabled)$selected>&:hover\": {},\n\n // focus\n \":not($disabled):not($selected)>&:focus-visible\": hover(theme),\n \":not($disabled):not($selected)>&.focus-visible\": hover(theme),\n\n \"*:focus-visible $focused>&\": {\n ...outlineStyles,\n },\n\n \".focus-visible $focused>&\": {\n ...outlineStyles,\n },\n\n \"$focused>&\": {\n ...hover(theme),\n },\n\n \"&[disabled], &:active\": {\n outline: \"none\",\n },\n\n \"&:focus\": {\n outline: \"none\",\n },\n\n \"&:focus-visible\": {\n ...outlineStyles,\n },\n\n \"&.focus-visible\": {\n ...outlineStyles,\n },\n\n // cursor\n cursor: \"pointer\",\n \"& *\": {\n cursor: \"pointer\",\n },\n \"$disabled>&\": {\n cursor: \"not-allowed\",\n \"& *\": {\n cursor: \"not-allowed\",\n },\n },\n },\n});\n\nexport default styles;\n"],"mappings":"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"}
1
+ {"version":3,"file":"styles.js","names":["outlineStyles","selected","theme","background","hv","palette","atmosphere","atmo3","borderLeft","accent","acce3","hover","styles","root","display","atmo1","padding","margin","listStyle","outline","group","node","minHeight","marginBottom","disabled","selectable","unselectable","expandable","collapsed","expanded","unselected","link","textDecoration","focused","noIcon","withIcon","content","width","justifyContent","alignItems","height","paddingRight","spacing","xs","fontWeight","cursor"],"sources":["../../../../src/VerticalNavigation/TreeView/styles.js"],"sourcesContent":["import { outlineStyles } from \"../../Focus/styles\";\n\nconst selected = (theme) => ({\n background: theme.hv.palette.atmosphere.atmo3,\n borderLeft: `2px solid ${theme.hv.palette.accent.acce3}`,\n \"& *\": {\n background: theme.hv.palette.atmosphere.atmo3,\n },\n});\n\nconst hover = (theme) => ({\n background: theme.hv.palette.atmosphere.atmo3,\n \"& *\": {\n background: theme.hv.palette.atmosphere.atmo3,\n },\n});\n\nconst styles = (theme) => ({\n /* role=\"tree\" root element */\n root: {\n display: \"block\",\n background: theme.hv.palette.atmosphere.atmo1,\n padding: `0px`,\n margin: \"0\",\n listStyle: \"none\",\n\n outline: \"none\",\n },\n\n /* role=\"group\" element */\n group: {\n margin: \"8px 0 0 0\",\n padding: 0,\n },\n\n /* role=\"treeitem\" element */\n node: {\n listStyle: \"none\",\n minHeight: \"32px\",\n \"&:not(:last-child)\": {\n marginBottom: \"8px\",\n },\n },\n\n /* role=\"treeitem\" element states */\n disabled: {},\n selectable: {},\n unselectable: {},\n expandable: {},\n collapsed: {\n \"&>$group\": { display: \"none\" },\n },\n expanded: {\n \"&>$group\": { display: \"block\" },\n },\n selected: {},\n unselected: {},\n link: {\n textDecoration: \"none\",\n },\n\n focused: {},\n\n noIcon: {},\n withIcon: {},\n\n /* role=\"button\" element */\n content: {\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n height: \"32px\",\n borderLeft: `2px solid transparent`,\n paddingRight: theme.hv.spacing.xs,\n\n \"$expandable>&\": {\n fontWeight: 600,\n },\n\n // selected state\n \"$selected>&\": selected(theme),\n\n // hover\n \":not($disabled):not($selected)>&:hover\": hover(theme),\n \":not($disabled)$selected>&:hover\": {},\n\n // focus\n \":not($disabled):not($selected)>&:focus-visible\": hover(theme),\n \":not($disabled):not($selected)>&.focus-visible\": hover(theme),\n\n \"*:focus-visible $focused>&\": {\n ...outlineStyles,\n },\n\n \".focus-visible $focused>&\": {\n ...outlineStyles,\n },\n\n \"$focused>&\": {\n ...hover(theme),\n },\n\n \"&[disabled], &:active\": {\n outline: \"none\",\n },\n\n \"&:focus\": {\n outline: \"none\",\n },\n\n \"&:focus-visible\": {\n ...outlineStyles,\n },\n\n \"&.focus-visible\": {\n ...outlineStyles,\n },\n\n // cursor\n cursor: \"pointer\",\n \"& *\": {\n cursor: \"pointer\",\n },\n \"$disabled>&\": {\n cursor: \"not-allowed\",\n \"& *\": {\n cursor: \"not-allowed\",\n },\n },\n },\n});\n\nexport default styles;\n"],"mappings":"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"}
@@ -76,10 +76,14 @@ process.env.NODE_ENV !== "production" ? MenuBar.propTypes = {
76
76
  *
77
77
  * id - the id to be applied to the root element.
78
78
  * label - the label to be rendered on the menu item.
79
+ * href - the url used for navigation.
80
+ * target - the behavior when opening an url.
79
81
  */
80
82
  data: PropTypes.arrayOf(PropTypes.shape({
81
83
  id: PropTypes.string.isRequired,
82
- label: PropTypes.string.isRequired
84
+ label: PropTypes.string.isRequired,
85
+ href: PropTypes.string,
86
+ target: PropTypes.string
83
87
  })),
84
88
 
85
89
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MenuBar.js","names":["React","useContext","clsx","PropTypes","withStyles","SelectionContext","MenuItem","styles","MenuBar","classes","id","data","onClick","type","selectionPath","isMenu","isActive","filter","item","length","root","hidden","active","list","map","propTypes","shape","string","menubar","menu","isRequired","arrayOf","label","func","oneOf","name"],"sources":["../../../../../src/Header/Navigation/MenuBar/MenuBar.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport SelectionContext from \"../utils/SelectionContext\";\nimport MenuItem from \"../MenuItem\";\nimport styles from \"./styles\";\n\nconst MenuBar = ({ classes, id, data = [], onClick, type }) => {\n const selectionPath = useContext(SelectionContext);\n\n const isMenu = type === \"menu\";\n const isActive = isMenu && data.filter((item) => item.id === selectionPath[1]).length > 0;\n\n return (\n <div\n className={clsx(classes.root, classes[`${type}`], {\n [classes.hidden]: isMenu,\n [classes.active]: isActive,\n })}\n >\n <ul id={id} className={classes.list} onFocus={() => {}}>\n {data.map((item) => (\n <MenuItem key={item.id} item={item} type={type} onClick={onClick} />\n ))}\n </ul>\n </div>\n );\n};\n\nMenuBar.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the menu bar.\n */\n menubar: PropTypes.string,\n /**\n * Styles applied to the menu.\n */\n menu: PropTypes.string,\n /**\n * Styles applied when in menu mode.\n */\n hidden: PropTypes.string,\n /**\n * Styles applied when active.\n */\n active: PropTypes.string,\n /**\n * Styles applied to the list.\n */\n list: PropTypes.string,\n }).isRequired,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n */\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n })\n ),\n /**\n * Callback triggered when item is clicked.\n */\n onClick: PropTypes.func,\n /**\n * The type of menu.\n */\n type: PropTypes.oneOf([\"menubar\", \"menu\"]).isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvHeaderMenuBar\" })(MenuBar);\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,OAAOC,gBAAP,MAA6B,2BAA7B;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,MAAP,MAAmB,UAAnB;;AAEA,MAAMC,OAAO,GAAG,CAAC;EAAEC,OAAF;EAAWC,EAAX;EAAeC,IAAI,GAAG,EAAtB;EAA0BC,OAA1B;EAAmCC;AAAnC,CAAD,KAA+C;EAC7D,MAAMC,aAAa,GAAGb,UAAU,CAACI,gBAAD,CAAhC;EAEA,MAAMU,MAAM,GAAGF,IAAI,KAAK,MAAxB;EACA,MAAMG,QAAQ,GAAGD,MAAM,IAAIJ,IAAI,CAACM,MAAL,CAAaC,IAAD,IAAUA,IAAI,CAACR,EAAL,KAAYI,aAAa,CAAC,CAAD,CAA/C,EAAoDK,MAApD,GAA6D,CAAxF;EAEA,oBACE;IACE,SAAS,EAAEjB,IAAI,CAACO,OAAO,CAACW,IAAT,EAAeX,OAAO,CAAE,GAAEI,IAAK,EAAT,CAAtB,EACKE,MADL,IACZN,OAAO,CAACY,MADI,EAEKL,QAFL,IAEZP,OAAO,CAACa,MAFI;EADjB,gBAME;IAAI,EAAE,EAAEZ,EAAR;IAAY,SAAS,EAAED,OAAO,CAACc,IAA/B;IAAqC,OAAO,EAAE,MAAM,CAAE;EAAtD,GACGZ,IAAI,CAACa,GAAL,CAAUN,IAAD,iBACR,oBAAC,QAAD;IAAU,GAAG,EAAEA,IAAI,CAACR,EAApB;IAAwB,IAAI,EAAEQ,IAA9B;IAAoC,IAAI,EAAEL,IAA1C;IAAgD,OAAO,EAAED;EAAzD,EADD,CADH,CANF,CADF;AAcD,CApBD;;AAsBA,wCAAAJ,OAAO,CAACiB,SAAR,GAAoB;EAClB;AACF;AACA;EACEhB,OAAO,EAAEN,SAAS,CAACuB,KAAV,CAAgB;IACvB;AACJ;AACA;IACIN,IAAI,EAAEjB,SAAS,CAACwB,MAJO;;IAKvB;AACJ;AACA;IACIC,OAAO,EAAEzB,SAAS,CAACwB,MARI;;IASvB;AACJ;AACA;IACIE,IAAI,EAAE1B,SAAS,CAACwB,MAZO;;IAavB;AACJ;AACA;IACIN,MAAM,EAAElB,SAAS,CAACwB,MAhBK;;IAiBvB;AACJ;AACA;IACIL,MAAM,EAAEnB,SAAS,CAACwB,MApBK;;IAqBvB;AACJ;AACA;IACIJ,IAAI,EAAEpB,SAAS,CAACwB;EAxBO,CAAhB,EAyBNG,UA7Be;;EA8BlB;AACF;AACA;EACEpB,EAAE,EAAEP,SAAS,CAACwB,MAjCI;;EAkClB;AACF;AACA;AACA;AACA;AACA;EACEhB,IAAI,EAAER,SAAS,CAAC4B,OAAV,CACJ5B,SAAS,CAACuB,KAAV,CAAgB;IACdhB,EAAE,EAAEP,SAAS,CAACwB,MAAV,CAAiBG,UADP;IAEdE,KAAK,EAAE7B,SAAS,CAACwB,MAAV,CAAiBG;EAFV,CAAhB,CADI,CAxCY;;EA8ClB;AACF;AACA;EACElB,OAAO,EAAET,SAAS,CAAC8B,IAjDD;;EAkDlB;AACF;AACA;EACEpB,IAAI,EAAEV,SAAS,CAAC+B,KAAV,CAAgB,CAAC,SAAD,EAAY,MAAZ,CAAhB,EAAqCJ;AArDzB,CAApB;AAwDA,eAAe1B,UAAU,CAACG,MAAD,EAAS;EAAE4B,IAAI,EAAE;AAAR,CAAT,CAAV,CAAgD3B,OAAhD,CAAf"}
1
+ {"version":3,"file":"MenuBar.js","names":["React","useContext","clsx","PropTypes","withStyles","SelectionContext","MenuItem","styles","MenuBar","classes","id","data","onClick","type","selectionPath","isMenu","isActive","filter","item","length","root","hidden","active","list","map","propTypes","shape","string","menubar","menu","isRequired","arrayOf","label","href","target","func","oneOf","name"],"sources":["../../../../../src/Header/Navigation/MenuBar/MenuBar.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport SelectionContext from \"../utils/SelectionContext\";\nimport MenuItem from \"../MenuItem\";\nimport styles from \"./styles\";\n\nconst MenuBar = ({ classes, id, data = [], onClick, type }) => {\n const selectionPath = useContext(SelectionContext);\n\n const isMenu = type === \"menu\";\n const isActive = isMenu && data.filter((item) => item.id === selectionPath[1]).length > 0;\n\n return (\n <div\n className={clsx(classes.root, classes[`${type}`], {\n [classes.hidden]: isMenu,\n [classes.active]: isActive,\n })}\n >\n <ul id={id} className={classes.list} onFocus={() => {}}>\n {data.map((item) => (\n <MenuItem key={item.id} item={item} type={type} onClick={onClick} />\n ))}\n </ul>\n </div>\n );\n};\n\nMenuBar.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the menu bar.\n */\n menubar: PropTypes.string,\n /**\n * Styles applied to the menu.\n */\n menu: PropTypes.string,\n /**\n * Styles applied when in menu mode.\n */\n hidden: PropTypes.string,\n /**\n * Styles applied when active.\n */\n active: PropTypes.string,\n /**\n * Styles applied to the list.\n */\n list: PropTypes.string,\n }).isRequired,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n href: PropTypes.string,\n target: PropTypes.string,\n })\n ),\n /**\n * Callback triggered when item is clicked.\n */\n onClick: PropTypes.func,\n /**\n * The type of menu.\n */\n type: PropTypes.oneOf([\"menubar\", \"menu\"]).isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvHeaderMenuBar\" })(MenuBar);\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,OAAOC,gBAAP,MAA6B,2BAA7B;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,MAAP,MAAmB,UAAnB;;AAEA,MAAMC,OAAO,GAAG,CAAC;EAAEC,OAAF;EAAWC,EAAX;EAAeC,IAAI,GAAG,EAAtB;EAA0BC,OAA1B;EAAmCC;AAAnC,CAAD,KAA+C;EAC7D,MAAMC,aAAa,GAAGb,UAAU,CAACI,gBAAD,CAAhC;EAEA,MAAMU,MAAM,GAAGF,IAAI,KAAK,MAAxB;EACA,MAAMG,QAAQ,GAAGD,MAAM,IAAIJ,IAAI,CAACM,MAAL,CAAaC,IAAD,IAAUA,IAAI,CAACR,EAAL,KAAYI,aAAa,CAAC,CAAD,CAA/C,EAAoDK,MAApD,GAA6D,CAAxF;EAEA,oBACE;IACE,SAAS,EAAEjB,IAAI,CAACO,OAAO,CAACW,IAAT,EAAeX,OAAO,CAAE,GAAEI,IAAK,EAAT,CAAtB,EACKE,MADL,IACZN,OAAO,CAACY,MADI,EAEKL,QAFL,IAEZP,OAAO,CAACa,MAFI;EADjB,gBAME;IAAI,EAAE,EAAEZ,EAAR;IAAY,SAAS,EAAED,OAAO,CAACc,IAA/B;IAAqC,OAAO,EAAE,MAAM,CAAE;EAAtD,GACGZ,IAAI,CAACa,GAAL,CAAUN,IAAD,iBACR,oBAAC,QAAD;IAAU,GAAG,EAAEA,IAAI,CAACR,EAApB;IAAwB,IAAI,EAAEQ,IAA9B;IAAoC,IAAI,EAAEL,IAA1C;IAAgD,OAAO,EAAED;EAAzD,EADD,CADH,CANF,CADF;AAcD,CApBD;;AAsBA,wCAAAJ,OAAO,CAACiB,SAAR,GAAoB;EAClB;AACF;AACA;EACEhB,OAAO,EAAEN,SAAS,CAACuB,KAAV,CAAgB;IACvB;AACJ;AACA;IACIN,IAAI,EAAEjB,SAAS,CAACwB,MAJO;;IAKvB;AACJ;AACA;IACIC,OAAO,EAAEzB,SAAS,CAACwB,MARI;;IASvB;AACJ;AACA;IACIE,IAAI,EAAE1B,SAAS,CAACwB,MAZO;;IAavB;AACJ;AACA;IACIN,MAAM,EAAElB,SAAS,CAACwB,MAhBK;;IAiBvB;AACJ;AACA;IACIL,MAAM,EAAEnB,SAAS,CAACwB,MApBK;;IAqBvB;AACJ;AACA;IACIJ,IAAI,EAAEpB,SAAS,CAACwB;EAxBO,CAAhB,EAyBNG,UA7Be;;EA8BlB;AACF;AACA;EACEpB,EAAE,EAAEP,SAAS,CAACwB,MAjCI;;EAkClB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEhB,IAAI,EAAER,SAAS,CAAC4B,OAAV,CACJ5B,SAAS,CAACuB,KAAV,CAAgB;IACdhB,EAAE,EAAEP,SAAS,CAACwB,MAAV,CAAiBG,UADP;IAEdE,KAAK,EAAE7B,SAAS,CAACwB,MAAV,CAAiBG,UAFV;IAGdG,IAAI,EAAE9B,SAAS,CAACwB,MAHF;IAIdO,MAAM,EAAE/B,SAAS,CAACwB;EAJJ,CAAhB,CADI,CA1CY;;EAkDlB;AACF;AACA;EACEf,OAAO,EAAET,SAAS,CAACgC,IArDD;;EAsDlB;AACF;AACA;EACEtB,IAAI,EAAEV,SAAS,CAACiC,KAAV,CAAgB,CAAC,SAAD,EAAY,MAAZ,CAAhB,EAAqCN;AAzDzB,CAApB;AA4DA,eAAe1B,UAAU,CAACG,MAAD,EAAS;EAAE8B,IAAI,EAAE;AAAR,CAAT,CAAV,CAAgD7B,OAAhD,CAAf"}
@@ -1,3 +1,4 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
1
2
  import React, { useContext } from "react";
2
3
  import clsx from "clsx";
3
4
  import PropTypes from "prop-types";
@@ -51,6 +52,15 @@ const MenuItem = ({
51
52
  }, childrenToWrap);
52
53
 
53
54
  const isIe = isBrowser(["ie", "edge"]);
55
+ const label = /*#__PURE__*/React.createElement(HvTypography, {
56
+ variant: isSelected ? "selectedNavText" : "normalText"
57
+ }, item.label);
58
+ const itemProps = {
59
+ onClick: actionHandler,
60
+ onKeyDown: actionHandler,
61
+ tabIndex: 0,
62
+ onFocus: handleFocus
63
+ };
54
64
  return /*#__PURE__*/React.createElement("li", {
55
65
  id: id,
56
66
  key: item.label,
@@ -58,16 +68,14 @@ const MenuItem = ({
58
68
  }, /*#__PURE__*/React.createElement(ConditionalWrapper, {
59
69
  condition: isIe,
60
70
  wrapper: focusWrapper
61
- }, /*#__PURE__*/React.createElement("div", {
62
- role: "button",
71
+ }, item !== null && item !== void 0 && item.href ? /*#__PURE__*/React.createElement("a", _extends({
72
+ className: clsx(classes.button, classes.link),
73
+ href: item === null || item === void 0 ? void 0 : item.href,
74
+ target: item === null || item === void 0 ? void 0 : item.target
75
+ }, itemProps), label) : /*#__PURE__*/React.createElement("div", _extends({
63
76
  className: clsx(classes.button),
64
- onClick: actionHandler,
65
- onKeyDown: actionHandler,
66
- tabIndex: 0,
67
- onFocus: handleFocus
68
- }, /*#__PURE__*/React.createElement(HvTypography, {
69
- variant: isSelected ? "selectedNavText" : "normalText"
70
- }, item.label))), hasSubLevel && /*#__PURE__*/React.createElement(MenuBar, {
77
+ role: "button"
78
+ }, itemProps), label)), hasSubLevel && /*#__PURE__*/React.createElement(MenuBar, {
71
79
  data: data,
72
80
  onClick: onClick,
73
81
  type: "menu"
@@ -99,6 +107,11 @@ process.env.NODE_ENV !== "production" ? MenuItem.propTypes = {
99
107
  */
100
108
  button: PropTypes.string,
101
109
 
110
+ /**
111
+ * Style applied to each item button when it is behaving as a.
112
+ */
113
+ link: PropTypes.string,
114
+
102
115
  /**
103
116
  * Style applied to the reference element used for ie focus.
104
117
  */
@@ -124,6 +137,8 @@ process.env.NODE_ENV !== "production" ? MenuItem.propTypes = {
124
137
  item: PropTypes.shape({
125
138
  id: PropTypes.string.isRequired,
126
139
  label: PropTypes.string.isRequired,
140
+ href: PropTypes.string,
141
+ target: PropTypes.string,
127
142
  data: PropTypes.arrayOf(PropTypes.shape({
128
143
  id: PropTypes.string.isRequired,
129
144
  label: PropTypes.string.isRequired
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","names":["React","useContext","clsx","PropTypes","withStyles","KeyboardCodes","isKeypress","HvTypography","SelectionContext","FocusContext","ConditionalWrapper","MenuBar","styles","isBrowser","MenuItem","classes","id","item","type","onClick","selectionPath","dispatch","data","isMenu","isSelected","hasSubLevel","length","actionHandler","event","Enter","SpaceBar","currentTarget","blur","handleFocus","itemFocused","focusWrapper","childrenToWrap","externalReference","isIe","label","root","selectedItem","notSelectedItem","button","propTypes","shape","string","falseFocus","isRequired","arrayOf","func","oneOf","name"],"sources":["../../../../../src/Header/Navigation/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport { KeyboardCodes, isKeypress } from \"../../../utils/KeyboardUtils\";\nimport HvTypography from \"../../../Typography\";\nimport SelectionContext from \"../utils/SelectionContext\";\nimport { FocusContext } from \"../utils/FocusContext\";\nimport ConditionalWrapper from \"../../../utils/ConditionalWrapper\";\nimport MenuBar from \"../MenuBar\";\nimport styles from \"./styles\";\nimport isBrowser from \"../../../utils/browser\";\n\nconst MenuItem = ({ classes, id, item, type, onClick }) => {\n const selectionPath = useContext(SelectionContext);\n const { dispatch } = useContext(FocusContext);\n\n const { data } = item;\n const isMenu = type === \"menu\";\n const isSelected = selectionPath[isMenu ? 1 : 0] === item.id;\n const hasSubLevel = data && data.length;\n\n const actionHandler = (event) => {\n if (\n event.type === \"click\" ||\n isKeypress(event, KeyboardCodes.Enter) ||\n isKeypress(event, KeyboardCodes.SpaceBar)\n ) {\n if (event.type === \"click\") {\n event.currentTarget.blur();\n }\n\n onClick?.(event, item);\n }\n };\n\n const handleFocus = (event) => {\n dispatch({ type: \"setItemFocused\", itemFocused: event.currentTarget });\n };\n\n const focusWrapper = (childrenToWrap) => (\n <div className={classes.externalReference}>{childrenToWrap}</div>\n );\n const isIe = isBrowser([\"ie\", \"edge\"]);\n return (\n <li\n id={id}\n key={item.label}\n className={clsx(classes.root, classes[`${type}Item`], {\n [classes.selectedItem]: !isMenu && isSelected,\n [classes.notSelectedItem]: !isMenu && !isSelected,\n })}\n >\n <ConditionalWrapper condition={isIe} wrapper={focusWrapper}>\n <div\n role=\"button\"\n className={clsx(classes.button)}\n onClick={actionHandler}\n onKeyDown={actionHandler}\n tabIndex={0}\n onFocus={handleFocus}\n >\n <HvTypography variant={isSelected ? \"selectedNavText\" : \"normalText\"}>\n {item.label}\n </HvTypography>\n </div>\n </ConditionalWrapper>\n {hasSubLevel && <MenuBar data={data} onClick={onClick} type=\"menu\" />}\n </li>\n );\n};\n\nMenuItem.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the first element in the hierarchy.\n */\n root: PropTypes.string,\n /**\n * Style applied to the li element when it is selected.\n */\n selectedItem: PropTypes.string,\n /**\n * Style applied to the li element when it isn't selected.\n */\n notSelectedItem: PropTypes.string,\n /**\n * Style applied to each item button.\n */\n button: PropTypes.string,\n /**\n * Style applied to the reference element used for ie focus.\n */\n externalReference: PropTypes.string,\n /**\n * Style applied to simulated a focus in ie.\n */\n falseFocus: PropTypes.string,\n }).isRequired,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * An object containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n */\n item: PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n })\n ),\n }).isRequired,\n /**\n * Callback triggered when item is clicked.\n */\n onClick: PropTypes.func,\n /**\n * The type of menu.\n */\n type: PropTypes.oneOf([\"menubar\", \"menu\"]).isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvHeaderMenuItem\" })(MenuItem);\n"],"mappings":"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"}
1
+ {"version":3,"file":"MenuItem.js","names":["React","useContext","clsx","PropTypes","withStyles","KeyboardCodes","isKeypress","HvTypography","SelectionContext","FocusContext","ConditionalWrapper","MenuBar","styles","isBrowser","MenuItem","classes","id","item","type","onClick","selectionPath","dispatch","data","isMenu","isSelected","hasSubLevel","length","actionHandler","event","Enter","SpaceBar","currentTarget","blur","handleFocus","itemFocused","focusWrapper","childrenToWrap","externalReference","isIe","label","itemProps","onKeyDown","tabIndex","onFocus","root","selectedItem","notSelectedItem","href","button","link","target","propTypes","shape","string","falseFocus","isRequired","arrayOf","func","oneOf","name"],"sources":["../../../../../src/Header/Navigation/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport { KeyboardCodes, isKeypress } from \"../../../utils/KeyboardUtils\";\nimport HvTypography from \"../../../Typography\";\nimport SelectionContext from \"../utils/SelectionContext\";\nimport { FocusContext } from \"../utils/FocusContext\";\nimport ConditionalWrapper from \"../../../utils/ConditionalWrapper\";\nimport MenuBar from \"../MenuBar\";\nimport styles from \"./styles\";\nimport isBrowser from \"../../../utils/browser\";\n\nconst MenuItem = ({ classes, id, item, type, onClick }) => {\n const selectionPath = useContext(SelectionContext);\n const { dispatch } = useContext(FocusContext);\n\n const { data } = item;\n const isMenu = type === \"menu\";\n const isSelected = selectionPath[isMenu ? 1 : 0] === item.id;\n const hasSubLevel = data && data.length;\n\n const actionHandler = (event) => {\n if (\n event.type === \"click\" ||\n isKeypress(event, KeyboardCodes.Enter) ||\n isKeypress(event, KeyboardCodes.SpaceBar)\n ) {\n if (event.type === \"click\") {\n event.currentTarget.blur();\n }\n\n onClick?.(event, item);\n }\n };\n\n const handleFocus = (event) => {\n dispatch({ type: \"setItemFocused\", itemFocused: event.currentTarget });\n };\n\n const focusWrapper = (childrenToWrap) => (\n <div className={classes.externalReference}>{childrenToWrap}</div>\n );\n const isIe = isBrowser([\"ie\", \"edge\"]);\n const label = (\n <HvTypography variant={isSelected ? \"selectedNavText\" : \"normalText\"}>\n {item.label}\n </HvTypography>\n );\n const itemProps = {\n onClick: actionHandler,\n onKeyDown: actionHandler,\n tabIndex: 0,\n onFocus: handleFocus,\n };\n return (\n <li\n id={id}\n key={item.label}\n className={clsx(classes.root, classes[`${type}Item`], {\n [classes.selectedItem]: !isMenu && isSelected,\n [classes.notSelectedItem]: !isMenu && !isSelected,\n })}\n >\n <ConditionalWrapper condition={isIe} wrapper={focusWrapper}>\n {item?.href ? (\n <a\n className={clsx(classes.button, classes.link)}\n href={item?.href}\n target={item?.target}\n {...itemProps}\n >\n {label}\n </a>\n ) : (\n <div className={clsx(classes.button)} role=\"button\" {...itemProps}>\n {label}\n </div>\n )}\n </ConditionalWrapper>\n {hasSubLevel && <MenuBar data={data} onClick={onClick} type=\"menu\" />}\n </li>\n );\n};\n\nMenuItem.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the first element in the hierarchy.\n */\n root: PropTypes.string,\n /**\n * Style applied to the li element when it is selected.\n */\n selectedItem: PropTypes.string,\n /**\n * Style applied to the li element when it isn't selected.\n */\n notSelectedItem: PropTypes.string,\n /**\n * Style applied to each item button.\n */\n button: PropTypes.string,\n /**\n * Style applied to each item button when it is behaving as a.\n */\n link: PropTypes.string,\n /**\n * Style applied to the reference element used for ie focus.\n */\n externalReference: PropTypes.string,\n /**\n * Style applied to simulated a focus in ie.\n */\n falseFocus: PropTypes.string,\n }).isRequired,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * An object containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n */\n item: PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n href: PropTypes.string,\n target: PropTypes.string,\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n })\n ),\n }).isRequired,\n /**\n * Callback triggered when item is clicked.\n */\n onClick: PropTypes.func,\n /**\n * The type of menu.\n */\n type: PropTypes.oneOf([\"menubar\", \"menu\"]).isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvHeaderMenuItem\" })(MenuItem);\n"],"mappings":";AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,SAASC,aAAT,EAAwBC,UAAxB,QAA0C,8BAA1C;AACA,OAAOC,YAAP,MAAyB,qBAAzB;AACA,OAAOC,gBAAP,MAA6B,2BAA7B;AACA,SAASC,YAAT,QAA6B,uBAA7B;AACA,OAAOC,kBAAP,MAA+B,mCAA/B;AACA,OAAOC,OAAP,MAAoB,YAApB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,SAAP,MAAsB,wBAAtB;;AAEA,MAAMC,QAAQ,GAAG,CAAC;EAAEC,OAAF;EAAWC,EAAX;EAAeC,IAAf;EAAqBC,IAArB;EAA2BC;AAA3B,CAAD,KAA0C;EACzD,MAAMC,aAAa,GAAGnB,UAAU,CAACO,gBAAD,CAAhC;EACA,MAAM;IAAEa;EAAF,IAAepB,UAAU,CAACQ,YAAD,CAA/B;EAEA,MAAM;IAAEa;EAAF,IAAWL,IAAjB;EACA,MAAMM,MAAM,GAAGL,IAAI,KAAK,MAAxB;EACA,MAAMM,UAAU,GAAGJ,aAAa,CAACG,MAAM,GAAG,CAAH,GAAO,CAAd,CAAb,KAAkCN,IAAI,CAACD,EAA1D;EACA,MAAMS,WAAW,GAAGH,IAAI,IAAIA,IAAI,CAACI,MAAjC;;EAEA,MAAMC,aAAa,GAAIC,KAAD,IAAW;IAC/B,IACEA,KAAK,CAACV,IAAN,KAAe,OAAf,IACAZ,UAAU,CAACsB,KAAD,EAAQvB,aAAa,CAACwB,KAAtB,CADV,IAEAvB,UAAU,CAACsB,KAAD,EAAQvB,aAAa,CAACyB,QAAtB,CAHZ,EAIE;MACA,IAAIF,KAAK,CAACV,IAAN,KAAe,OAAnB,EAA4B;QAC1BU,KAAK,CAACG,aAAN,CAAoBC,IAApB;MACD;;MAEDb,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAGS,KAAH,EAAUX,IAAV,CAAP;IACD;EACF,CAZD;;EAcA,MAAMgB,WAAW,GAAIL,KAAD,IAAW;IAC7BP,QAAQ,CAAC;MAAEH,IAAI,EAAE,gBAAR;MAA0BgB,WAAW,EAAEN,KAAK,CAACG;IAA7C,CAAD,CAAR;EACD,CAFD;;EAIA,MAAMI,YAAY,GAAIC,cAAD,iBACnB;IAAK,SAAS,EAAErB,OAAO,CAACsB;EAAxB,GAA4CD,cAA5C,CADF;;EAGA,MAAME,IAAI,GAAGzB,SAAS,CAAC,CAAC,IAAD,EAAO,MAAP,CAAD,CAAtB;EACA,MAAM0B,KAAK,gBACT,oBAAC,YAAD;IAAc,OAAO,EAAEf,UAAU,GAAG,iBAAH,GAAuB;EAAxD,GACGP,IAAI,CAACsB,KADR,CADF;EAKA,MAAMC,SAAS,GAAG;IAChBrB,OAAO,EAAEQ,aADO;IAEhBc,SAAS,EAAEd,aAFK;IAGhBe,QAAQ,EAAE,CAHM;IAIhBC,OAAO,EAAEV;EAJO,CAAlB;EAMA,oBACE;IACE,EAAE,EAAEjB,EADN;IAEE,GAAG,EAAEC,IAAI,CAACsB,KAFZ;IAGE,SAAS,EAAErC,IAAI,CAACa,OAAO,CAAC6B,IAAT,EAAe7B,OAAO,CAAE,GAAEG,IAAK,MAAT,CAAtB,EACW,CAACK,MADZ,KACsBC,UADtB,GACZT,OAAO,CAAC8B,YADI,GAEZ9B,OAAO,CAAC+B,eAFI;EAHjB,gBAQE,oBAAC,kBAAD;IAAoB,SAAS,EAAER,IAA/B;IAAqC,OAAO,EAAEH;EAA9C,GACGlB,IAAI,SAAJ,IAAAA,IAAI,WAAJ,IAAAA,IAAI,CAAE8B,IAAN,gBACC;IACE,SAAS,EAAE7C,IAAI,CAACa,OAAO,CAACiC,MAAT,EAAiBjC,OAAO,CAACkC,IAAzB,CADjB;IAEE,IAAI,EAAEhC,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAE8B,IAFd;IAGE,MAAM,EAAE9B,IAAF,aAAEA,IAAF,uBAAEA,IAAI,CAAEiC;EAHhB,GAIMV,SAJN,GAMGD,KANH,CADD,gBAUC;IAAK,SAAS,EAAErC,IAAI,CAACa,OAAO,CAACiC,MAAT,CAApB;IAAsC,IAAI,EAAC;EAA3C,GAAwDR,SAAxD,GACGD,KADH,CAXJ,CARF,EAwBGd,WAAW,iBAAI,oBAAC,OAAD;IAAS,IAAI,EAAEH,IAAf;IAAqB,OAAO,EAAEH,OAA9B;IAAuC,IAAI,EAAC;EAA5C,EAxBlB,CADF;AA4BD,CAtED;;AAwEA,wCAAAL,QAAQ,CAACqC,SAAT,GAAqB;EACnB;AACF;AACA;EACEpC,OAAO,EAAEZ,SAAS,CAACiD,KAAV,CAAgB;IACvB;AACJ;AACA;IACIR,IAAI,EAAEzC,SAAS,CAACkD,MAJO;;IAKvB;AACJ;AACA;IACIR,YAAY,EAAE1C,SAAS,CAACkD,MARD;;IASvB;AACJ;AACA;IACIP,eAAe,EAAE3C,SAAS,CAACkD,MAZJ;;IAavB;AACJ;AACA;IACIL,MAAM,EAAE7C,SAAS,CAACkD,MAhBK;;IAiBvB;AACJ;AACA;IACIJ,IAAI,EAAE9C,SAAS,CAACkD,MApBO;;IAqBvB;AACJ;AACA;IACIhB,iBAAiB,EAAElC,SAAS,CAACkD,MAxBN;;IAyBvB;AACJ;AACA;IACIC,UAAU,EAAEnD,SAAS,CAACkD;EA5BC,CAAhB,EA6BNE,UAjCgB;;EAkCnB;AACF;AACA;EACEvC,EAAE,EAAEb,SAAS,CAACkD,MArCK;;EAsCnB;AACF;AACA;AACA;AACA;AACA;EACEpC,IAAI,EAAEd,SAAS,CAACiD,KAAV,CAAgB;IACpBpC,EAAE,EAAEb,SAAS,CAACkD,MAAV,CAAiBE,UADD;IAEpBhB,KAAK,EAAEpC,SAAS,CAACkD,MAAV,CAAiBE,UAFJ;IAGpBR,IAAI,EAAE5C,SAAS,CAACkD,MAHI;IAIpBH,MAAM,EAAE/C,SAAS,CAACkD,MAJE;IAKpB/B,IAAI,EAAEnB,SAAS,CAACqD,OAAV,CACJrD,SAAS,CAACiD,KAAV,CAAgB;MACdpC,EAAE,EAAEb,SAAS,CAACkD,MAAV,CAAiBE,UADP;MAEdhB,KAAK,EAAEpC,SAAS,CAACkD,MAAV,CAAiBE;IAFV,CAAhB,CADI;EALc,CAAhB,EAWHA,UAvDgB;;EAwDnB;AACF;AACA;EACEpC,OAAO,EAAEhB,SAAS,CAACsD,IA3DA;;EA4DnB;AACF;AACA;EACEvC,IAAI,EAAEf,SAAS,CAACuD,KAAV,CAAgB,CAAC,SAAD,EAAY,MAAZ,CAAhB,EAAqCH;AA/DxB,CAArB;AAkEA,eAAenD,UAAU,CAACQ,MAAD,EAAS;EAAE+C,IAAI,EAAE;AAAR,CAAT,CAAV,CAAiD7C,QAAjD,CAAf"}
@@ -53,6 +53,10 @@ const styles = theme => {
53
53
  },
54
54
  "&.focus-visible": _objectSpread({}, outlineStyles)
55
55
  },
56
+ link: {
57
+ display: "block",
58
+ textDecoration: "none"
59
+ },
56
60
  externalReference: _objectSpread({}, externalReference),
57
61
  falseFocus: _objectSpread(_objectSpread({}, falseFocus), {}, {
58
62
  top: "4px"
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["focusStyles","outlineStyles","externalReference","falseFocus","styles","theme","hoverColor","hv","palette","atmosphere","atmo3","root","display","backgroundColor","selectedItem","borderTop","accent","acce3","paddingTop","notSelectedItem","marginTop","button","border","cursor","padding","hvSpacing","outline","top"],"sources":["../../../../../src/Header/Navigation/MenuItem/styles.js"],"sourcesContent":["import \"focus-within-polyfill\";\nimport focusStyles, { outlineStyles } from \"../../../Focus/styles\";\n\nconst { externalReference, falseFocus } = focusStyles;\n\nconst styles = (theme) => {\n const hoverColor = theme.hv.palette.atmosphere.atmo3;\n\n return {\n root: {\n display: \"inline\",\n \"&:hover\": {\n \"& > [role='button']\": {\n backgroundColor: hoverColor,\n },\n \"&:focus-within\": {\n \"& > [role='button']\": {\n backgroundColor: hoverColor,\n },\n },\n },\n // IE fallback code (using focus-within-polyfill)\n \"&.focus-within\": {\n \"& > [role='button']\": {\n backgroundColor: hoverColor,\n },\n },\n },\n selectedItem: {\n borderTop: `2px solid ${theme.hv.palette.accent.acce3}`,\n paddingTop: \"2px\",\n },\n notSelectedItem: {\n marginTop: \"4px\",\n },\n button: {\n border: \"none\",\n cursor: \"pointer\",\n padding: theme.hvSpacing(\"8px\", \"sm\"),\n \"&:active\": {\n outline: \"none\",\n },\n \"&:focus\": {\n outline: \"none\",\n backgroundColor: hoverColor,\n },\n \"&.focus-visible\": {\n ...outlineStyles,\n },\n },\n externalReference: {\n ...externalReference,\n },\n falseFocus: {\n ...falseFocus,\n top: \"4px\",\n },\n };\n};\n\nexport default styles;\n"],"mappings":";;;;;;AAAA,OAAO,uBAAP;AACA,OAAOA,WAAP,IAAsBC,aAAtB,QAA2C,uBAA3C;AAEA,MAAM;EAAEC,iBAAF;EAAqBC;AAArB,IAAoCH,WAA1C;;AAEA,MAAMI,MAAM,GAAIC,KAAD,IAAW;EACxB,MAAMC,UAAU,GAAGD,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAA/C;EAEA,OAAO;IACLC,IAAI,EAAE;MACJC,OAAO,EAAE,QADL;MAEJ,WAAW;QACT,uBAAuB;UACrBC,eAAe,EAAEP;QADI,CADd;QAIT,kBAAkB;UAChB,uBAAuB;YACrBO,eAAe,EAAEP;UADI;QADP;MAJT,CAFP;MAYJ;MACA,kBAAkB;QAChB,uBAAuB;UACrBO,eAAe,EAAEP;QADI;MADP;IAbd,CADD;IAoBLQ,YAAY,EAAE;MACZC,SAAS,EAAG,aAAYV,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBQ,MAAjB,CAAwBC,KAAM,EAD1C;MAEZC,UAAU,EAAE;IAFA,CApBT;IAwBLC,eAAe,EAAE;MACfC,SAAS,EAAE;IADI,CAxBZ;IA2BLC,MAAM,EAAE;MACNC,MAAM,EAAE,MADF;MAENC,MAAM,EAAE,SAFF;MAGNC,OAAO,EAAEnB,KAAK,CAACoB,SAAN,CAAgB,KAAhB,EAAuB,IAAvB,CAHH;MAIN,YAAY;QACVC,OAAO,EAAE;MADC,CAJN;MAON,WAAW;QACTA,OAAO,EAAE,MADA;QAETb,eAAe,EAAEP;MAFR,CAPL;MAWN,qCACKL,aADL;IAXM,CA3BH;IA0CLC,iBAAiB,oBACZA,iBADY,CA1CZ;IA6CLC,UAAU,kCACLA,UADK;MAERwB,GAAG,EAAE;IAFG;EA7CL,CAAP;AAkDD,CArDD;;AAuDA,eAAevB,MAAf"}
1
+ {"version":3,"file":"styles.js","names":["focusStyles","outlineStyles","externalReference","falseFocus","styles","theme","hoverColor","hv","palette","atmosphere","atmo3","root","display","backgroundColor","selectedItem","borderTop","accent","acce3","paddingTop","notSelectedItem","marginTop","button","border","cursor","padding","hvSpacing","outline","link","textDecoration","top"],"sources":["../../../../../src/Header/Navigation/MenuItem/styles.js"],"sourcesContent":["import \"focus-within-polyfill\";\nimport focusStyles, { outlineStyles } from \"../../../Focus/styles\";\n\nconst { externalReference, falseFocus } = focusStyles;\n\nconst styles = (theme) => {\n const hoverColor = theme.hv.palette.atmosphere.atmo3;\n\n return {\n root: {\n display: \"inline\",\n \"&:hover\": {\n \"& > [role='button']\": {\n backgroundColor: hoverColor,\n },\n \"&:focus-within\": {\n \"& > [role='button']\": {\n backgroundColor: hoverColor,\n },\n },\n },\n // IE fallback code (using focus-within-polyfill)\n \"&.focus-within\": {\n \"& > [role='button']\": {\n backgroundColor: hoverColor,\n },\n },\n },\n selectedItem: {\n borderTop: `2px solid ${theme.hv.palette.accent.acce3}`,\n paddingTop: \"2px\",\n },\n notSelectedItem: {\n marginTop: \"4px\",\n },\n button: {\n border: \"none\",\n cursor: \"pointer\",\n padding: theme.hvSpacing(\"8px\", \"sm\"),\n \"&:active\": {\n outline: \"none\",\n },\n \"&:focus\": {\n outline: \"none\",\n backgroundColor: hoverColor,\n },\n \"&.focus-visible\": {\n ...outlineStyles,\n },\n },\n link: {\n display: \"block\",\n textDecoration: \"none\",\n },\n externalReference: {\n ...externalReference,\n },\n falseFocus: {\n ...falseFocus,\n top: \"4px\",\n },\n };\n};\n\nexport default styles;\n"],"mappings":";;;;;;AAAA,OAAO,uBAAP;AACA,OAAOA,WAAP,IAAsBC,aAAtB,QAA2C,uBAA3C;AAEA,MAAM;EAAEC,iBAAF;EAAqBC;AAArB,IAAoCH,WAA1C;;AAEA,MAAMI,MAAM,GAAIC,KAAD,IAAW;EACxB,MAAMC,UAAU,GAAGD,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAA/C;EAEA,OAAO;IACLC,IAAI,EAAE;MACJC,OAAO,EAAE,QADL;MAEJ,WAAW;QACT,uBAAuB;UACrBC,eAAe,EAAEP;QADI,CADd;QAIT,kBAAkB;UAChB,uBAAuB;YACrBO,eAAe,EAAEP;UADI;QADP;MAJT,CAFP;MAYJ;MACA,kBAAkB;QAChB,uBAAuB;UACrBO,eAAe,EAAEP;QADI;MADP;IAbd,CADD;IAoBLQ,YAAY,EAAE;MACZC,SAAS,EAAG,aAAYV,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBQ,MAAjB,CAAwBC,KAAM,EAD1C;MAEZC,UAAU,EAAE;IAFA,CApBT;IAwBLC,eAAe,EAAE;MACfC,SAAS,EAAE;IADI,CAxBZ;IA2BLC,MAAM,EAAE;MACNC,MAAM,EAAE,MADF;MAENC,MAAM,EAAE,SAFF;MAGNC,OAAO,EAAEnB,KAAK,CAACoB,SAAN,CAAgB,KAAhB,EAAuB,IAAvB,CAHH;MAIN,YAAY;QACVC,OAAO,EAAE;MADC,CAJN;MAON,WAAW;QACTA,OAAO,EAAE,MADA;QAETb,eAAe,EAAEP;MAFR,CAPL;MAWN,qCACKL,aADL;IAXM,CA3BH;IA0CL0B,IAAI,EAAE;MACJf,OAAO,EAAE,OADL;MAEJgB,cAAc,EAAE;IAFZ,CA1CD;IA8CL1B,iBAAiB,oBACZA,iBADY,CA9CZ;IAiDLC,UAAU,kCACLA,UADK;MAER0B,GAAG,EAAE;IAFG;EAjDL,CAAP;AAsDD,CAzDD;;AA2DA,eAAezB,MAAf"}
@@ -5,6 +5,8 @@ export interface NavigationItemProp {
5
5
  id: string;
6
6
  label: string;
7
7
  path?: string;
8
+ href?: string;
9
+ target?: string;
8
10
  }
9
11
 
10
12
  export type HvHeaderNavigationClassKey = "root";
@@ -20,6 +22,8 @@ export interface HvHeaderNavigationProps
20
22
  *
21
23
  * id - the id to be applied to the root element.
22
24
  * label - the label to be rendered on the menu item.
25
+ * href - the url for navigation.
26
+ * target - the behavior when opening a link.
23
27
  */
24
28
  data: NavigationItemProp[];
25
29
  /**
@@ -59,10 +59,14 @@ process.env.NODE_ENV !== "production" ? Navigation.propTypes = {
59
59
  *
60
60
  * id - the id to be applied to the root element.
61
61
  * label - the label to be rendered on the menu item.
62
+ * href - the url used for navigation.
63
+ * target - the behavior when opening an url.
62
64
  */
63
65
  data: PropTypes.arrayOf(PropTypes.shape({
64
66
  id: PropTypes.string.isRequired,
65
- label: PropTypes.string.isRequired
67
+ label: PropTypes.string.isRequired,
68
+ href: PropTypes.string,
69
+ target: PropTypes.string
66
70
  })).isRequired,
67
71
 
68
72
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.js","names":["React","PropTypes","clsx","withStyles","FocusProvider","SelectionContext","useSelectionPath","MenuBar","styles","Navigation","classes","className","data","selected","onClick","others","selectionPath","handleClick","event","selection","root","propTypes","shape","string","isRequired","arrayOf","id","label","func","name"],"sources":["../../../../src/Header/Navigation/Navigation.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { FocusProvider } from \"./utils/FocusContext\";\nimport SelectionContext from \"./utils/SelectionContext\";\nimport useSelectionPath from \"./utils/useSelectionPath\";\nimport MenuBar from \"./MenuBar\";\nimport styles from \"./styles\";\n\nconst Navigation = ({ classes, className, data, selected, onClick, ...others }) => {\n const selectionPath = useSelectionPath(data, selected);\n\n const handleClick = (event, selection) => {\n onClick?.(event, selection);\n };\n\n return (\n <SelectionContext.Provider value={selectionPath}>\n <FocusProvider>\n <nav className={clsx(className, classes.root)} {...others}>\n <MenuBar data={data} onClick={handleClick} type=\"menubar\" />\n </nav>\n </FocusProvider>\n </SelectionContext.Provider>\n );\n};\n\nNavigation.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n }).isRequired,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n */\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n })\n ).isRequired,\n /**\n * Menu item id selected.\n */\n selected: PropTypes.string,\n /**\n * Callback triggered when any item is clicked.\n */\n onClick: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvHeaderNavigation\" })(Navigation);\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,SAASC,aAAT,QAA8B,sBAA9B;AACA,OAAOC,gBAAP,MAA6B,0BAA7B;AACA,OAAOC,gBAAP,MAA6B,0BAA7B;AACA,OAAOC,OAAP,MAAoB,WAApB;AACA,OAAOC,MAAP,MAAmB,UAAnB;;AAEA,MAAMC,UAAU,GAAG,QAAgE;EAAA,IAA/D;IAAEC,OAAF;IAAWC,SAAX;IAAsBC,IAAtB;IAA4BC,QAA5B;IAAsCC;EAAtC,CAA+D;EAAA,IAAbC,MAAa;;EACjF,MAAMC,aAAa,GAAGV,gBAAgB,CAACM,IAAD,EAAOC,QAAP,CAAtC;;EAEA,MAAMI,WAAW,GAAG,CAACC,KAAD,EAAQC,SAAR,KAAsB;IACxCL,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAGI,KAAH,EAAUC,SAAV,CAAP;EACD,CAFD;;EAIA,oBACE,oBAAC,gBAAD,CAAkB,QAAlB;IAA2B,KAAK,EAAEH;EAAlC,gBACE,oBAAC,aAAD,qBACE;IAAK,SAAS,EAAEd,IAAI,CAACS,SAAD,EAAYD,OAAO,CAACU,IAApB;EAApB,GAAmDL,MAAnD,gBACE,oBAAC,OAAD;IAAS,IAAI,EAAEH,IAAf;IAAqB,OAAO,EAAEK,WAA9B;IAA2C,IAAI,EAAC;EAAhD,EADF,CADF,CADF,CADF;AASD,CAhBD;;AAkBA,wCAAAR,UAAU,CAACY,SAAX,GAAuB;EACrB;AACF;AACA;EACEX,OAAO,EAAET,SAAS,CAACqB,KAAV,CAAgB;IACvB;AACJ;AACA;IACIF,IAAI,EAAEnB,SAAS,CAACsB;EAJO,CAAhB,EAKNC,UATkB;;EAUrB;AACF;AACA;EACEb,SAAS,EAAEV,SAAS,CAACsB,MAbA;;EAcrB;AACF;AACA;AACA;AACA;AACA;EACEX,IAAI,EAAEX,SAAS,CAACwB,OAAV,CACJxB,SAAS,CAACqB,KAAV,CAAgB;IACdI,EAAE,EAAEzB,SAAS,CAACsB,MAAV,CAAiBC,UADP;IAEdG,KAAK,EAAE1B,SAAS,CAACsB,MAAV,CAAiBC;EAFV,CAAhB,CADI,EAKJA,UAzBmB;;EA0BrB;AACF;AACA;EACEX,QAAQ,EAAEZ,SAAS,CAACsB,MA7BC;;EA8BrB;AACF;AACA;EACET,OAAO,EAAEb,SAAS,CAAC2B;AAjCE,CAAvB;AAoCA,eAAezB,UAAU,CAACK,MAAD,EAAS;EAAEqB,IAAI,EAAE;AAAR,CAAT,CAAV,CAAmDpB,UAAnD,CAAf"}
1
+ {"version":3,"file":"Navigation.js","names":["React","PropTypes","clsx","withStyles","FocusProvider","SelectionContext","useSelectionPath","MenuBar","styles","Navigation","classes","className","data","selected","onClick","others","selectionPath","handleClick","event","selection","root","propTypes","shape","string","isRequired","arrayOf","id","label","href","target","func","name"],"sources":["../../../../src/Header/Navigation/Navigation.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { FocusProvider } from \"./utils/FocusContext\";\nimport SelectionContext from \"./utils/SelectionContext\";\nimport useSelectionPath from \"./utils/useSelectionPath\";\nimport MenuBar from \"./MenuBar\";\nimport styles from \"./styles\";\n\nconst Navigation = ({ classes, className, data, selected, onClick, ...others }) => {\n const selectionPath = useSelectionPath(data, selected);\n\n const handleClick = (event, selection) => {\n onClick?.(event, selection);\n };\n\n return (\n <SelectionContext.Provider value={selectionPath}>\n <FocusProvider>\n <nav className={clsx(className, classes.root)} {...others}>\n <MenuBar data={data} onClick={handleClick} type=\"menubar\" />\n </nav>\n </FocusProvider>\n </SelectionContext.Provider>\n );\n};\n\nNavigation.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n }).isRequired,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n href: PropTypes.string,\n target: PropTypes.string,\n })\n ).isRequired,\n /**\n * Menu item id selected.\n */\n selected: PropTypes.string,\n /**\n * Callback triggered when any item is clicked.\n */\n onClick: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvHeaderNavigation\" })(Navigation);\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,SAASC,aAAT,QAA8B,sBAA9B;AACA,OAAOC,gBAAP,MAA6B,0BAA7B;AACA,OAAOC,gBAAP,MAA6B,0BAA7B;AACA,OAAOC,OAAP,MAAoB,WAApB;AACA,OAAOC,MAAP,MAAmB,UAAnB;;AAEA,MAAMC,UAAU,GAAG,QAAgE;EAAA,IAA/D;IAAEC,OAAF;IAAWC,SAAX;IAAsBC,IAAtB;IAA4BC,QAA5B;IAAsCC;EAAtC,CAA+D;EAAA,IAAbC,MAAa;;EACjF,MAAMC,aAAa,GAAGV,gBAAgB,CAACM,IAAD,EAAOC,QAAP,CAAtC;;EAEA,MAAMI,WAAW,GAAG,CAACC,KAAD,EAAQC,SAAR,KAAsB;IACxCL,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAGI,KAAH,EAAUC,SAAV,CAAP;EACD,CAFD;;EAIA,oBACE,oBAAC,gBAAD,CAAkB,QAAlB;IAA2B,KAAK,EAAEH;EAAlC,gBACE,oBAAC,aAAD,qBACE;IAAK,SAAS,EAAEd,IAAI,CAACS,SAAD,EAAYD,OAAO,CAACU,IAApB;EAApB,GAAmDL,MAAnD,gBACE,oBAAC,OAAD;IAAS,IAAI,EAAEH,IAAf;IAAqB,OAAO,EAAEK,WAA9B;IAA2C,IAAI,EAAC;EAAhD,EADF,CADF,CADF,CADF;AASD,CAhBD;;AAkBA,wCAAAR,UAAU,CAACY,SAAX,GAAuB;EACrB;AACF;AACA;EACEX,OAAO,EAAET,SAAS,CAACqB,KAAV,CAAgB;IACvB;AACJ;AACA;IACIF,IAAI,EAAEnB,SAAS,CAACsB;EAJO,CAAhB,EAKNC,UATkB;;EAUrB;AACF;AACA;EACEb,SAAS,EAAEV,SAAS,CAACsB,MAbA;;EAcrB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEX,IAAI,EAAEX,SAAS,CAACwB,OAAV,CACJxB,SAAS,CAACqB,KAAV,CAAgB;IACdI,EAAE,EAAEzB,SAAS,CAACsB,MAAV,CAAiBC,UADP;IAEdG,KAAK,EAAE1B,SAAS,CAACsB,MAAV,CAAiBC,UAFV;IAGdI,IAAI,EAAE3B,SAAS,CAACsB,MAHF;IAIdM,MAAM,EAAE5B,SAAS,CAACsB;EAJJ,CAAhB,CADI,EAOJC,UA7BmB;;EA8BrB;AACF;AACA;EACEX,QAAQ,EAAEZ,SAAS,CAACsB,MAjCC;;EAkCrB;AACF;AACA;EACET,OAAO,EAAEb,SAAS,CAAC6B;AArCE,CAAvB;AAwCA,eAAe3B,UAAU,CAACK,MAAD,EAAS;EAAEuB,IAAI,EAAE;AAAR,CAAT,CAAV,CAAmDtB,UAAnD,CAAf"}
@@ -6,7 +6,6 @@ import clsx from "clsx";
6
6
  import PropTypes from "prop-types";
7
7
  import { withStyles } from "@material-ui/core";
8
8
  import styles from "./styles";
9
- import bg from "./resources/background.svg";
10
9
  /**
11
10
  * Container layout for the login form.
12
11
  */
@@ -25,7 +24,7 @@ const HvLogin = _ref => {
25
24
  id: id,
26
25
  className: clsx(className, classes.root),
27
26
  style: {
28
- backgroundImage: `url(${background || bg})`
27
+ backgroundImage: background && `url(${background})`
29
28
  }
30
29
  }, others), /*#__PURE__*/React.createElement("div", {
31
30
  className: classes.formContainer
@@ -1 +1 @@
1
- {"version":3,"file":"Login.js","names":["React","clsx","PropTypes","withStyles","styles","bg","HvLogin","id","className","classes","children","background","others","root","backgroundImage","formContainer","propTypes","string","shape","isRequired","node","name"],"sources":["../../../src/Login/Login.js"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport styles from \"./styles\";\nimport bg from \"./resources/background.svg\";\n\n/**\n * Container layout for the login form.\n */\nconst HvLogin = ({ id, className, classes, children, background, ...others }) => {\n return (\n <div\n id={id}\n className={clsx(className, classes.root)}\n style={{\n backgroundImage: `url(${background || bg})`,\n }}\n {...others}\n >\n <div className={classes.formContainer}>{children}</div>\n </div>\n );\n};\n\nHvLogin.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the form container.\n */\n formContainer: PropTypes.string,\n }).isRequired,\n /**\n * The form to be rendered.\n */\n children: PropTypes.node.isRequired,\n /**\n * The path for the background image.\n */\n background: PropTypes.string,\n};\n\nexport default withStyles(styles, { name: \"HvLogin\" })(HvLogin);\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,EAAP,MAAe,4BAAf;AAEA;AACA;AACA;;AACA,MAAMC,OAAO,GAAG,QAAiE;EAAA,IAAhE;IAAEC,EAAF;IAAMC,SAAN;IAAiBC,OAAjB;IAA0BC,QAA1B;IAAoCC;EAApC,CAAgE;EAAA,IAAbC,MAAa;;EAC/E,oBACE;IACE,EAAE,EAAEL,EADN;IAEE,SAAS,EAAEN,IAAI,CAACO,SAAD,EAAYC,OAAO,CAACI,IAApB,CAFjB;IAGE,KAAK,EAAE;MACLC,eAAe,EAAG,OAAMH,UAAU,IAAIN,EAAG;IADpC;EAHT,GAMMO,MANN,gBAQE;IAAK,SAAS,EAAEH,OAAO,CAACM;EAAxB,GAAwCL,QAAxC,CARF,CADF;AAYD,CAbD;;AAeA,wCAAAJ,OAAO,CAACU,SAAR,GAAoB;EAClB;AACF;AACA;EACET,EAAE,EAAEL,SAAS,CAACe,MAJI;;EAKlB;AACF;AACA;EACET,SAAS,EAAEN,SAAS,CAACe,MARH;;EASlB;AACF;AACA;EACER,OAAO,EAAEP,SAAS,CAACgB,KAAV,CAAgB;IACvB;AACJ;AACA;IACIL,IAAI,EAAEX,SAAS,CAACe,MAJO;;IAKvB;AACJ;AACA;IACIF,aAAa,EAAEb,SAAS,CAACe;EARF,CAAhB,EASNE,UArBe;;EAsBlB;AACF;AACA;EACET,QAAQ,EAAER,SAAS,CAACkB,IAAV,CAAeD,UAzBP;;EA0BlB;AACF;AACA;EACER,UAAU,EAAET,SAAS,CAACe;AA7BJ,CAApB;AAgCA,eAAed,UAAU,CAACC,MAAD,EAAS;EAAEiB,IAAI,EAAE;AAAR,CAAT,CAAV,CAAwCf,OAAxC,CAAf"}
1
+ {"version":3,"file":"Login.js","names":["React","clsx","PropTypes","withStyles","styles","HvLogin","id","className","classes","children","background","others","root","backgroundImage","formContainer","propTypes","string","shape","isRequired","node","name"],"sources":["../../../src/Login/Login.js"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport styles from \"./styles\";\n\n/**\n * Container layout for the login form.\n */\nconst HvLogin = ({ id, className, classes, children, background, ...others }) => {\n return (\n <div\n id={id}\n className={clsx(className, classes.root)}\n style={{\n backgroundImage: background && `url(${background})`,\n }}\n {...others}\n >\n <div className={classes.formContainer}>{children}</div>\n </div>\n );\n};\n\nHvLogin.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the form container.\n */\n formContainer: PropTypes.string,\n }).isRequired,\n /**\n * The form to be rendered.\n */\n children: PropTypes.node.isRequired,\n /**\n * The path for the background image.\n */\n background: PropTypes.string,\n};\n\nexport default withStyles(styles, { name: \"HvLogin\" })(HvLogin);\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA;AACA;AACA;;AACA,MAAMC,OAAO,GAAG,QAAiE;EAAA,IAAhE;IAAEC,EAAF;IAAMC,SAAN;IAAiBC,OAAjB;IAA0BC,QAA1B;IAAoCC;EAApC,CAAgE;EAAA,IAAbC,MAAa;;EAC/E,oBACE;IACE,EAAE,EAAEL,EADN;IAEE,SAAS,EAAEL,IAAI,CAACM,SAAD,EAAYC,OAAO,CAACI,IAApB,CAFjB;IAGE,KAAK,EAAE;MACLC,eAAe,EAAEH,UAAU,IAAK,OAAMA,UAAW;IAD5C;EAHT,GAMMC,MANN,gBAQE;IAAK,SAAS,EAAEH,OAAO,CAACM;EAAxB,GAAwCL,QAAxC,CARF,CADF;AAYD,CAbD;;AAeA,wCAAAJ,OAAO,CAACU,SAAR,GAAoB;EAClB;AACF;AACA;EACET,EAAE,EAAEJ,SAAS,CAACc,MAJI;;EAKlB;AACF;AACA;EACET,SAAS,EAAEL,SAAS,CAACc,MARH;;EASlB;AACF;AACA;EACER,OAAO,EAAEN,SAAS,CAACe,KAAV,CAAgB;IACvB;AACJ;AACA;IACIL,IAAI,EAAEV,SAAS,CAACc,MAJO;;IAKvB;AACJ;AACA;IACIF,aAAa,EAAEZ,SAAS,CAACc;EARF,CAAhB,EASNE,UArBe;;EAsBlB;AACF;AACA;EACET,QAAQ,EAAEP,SAAS,CAACiB,IAAV,CAAeD,UAzBP;;EA0BlB;AACF;AACA;EACER,UAAU,EAAER,SAAS,CAACc;AA7BJ,CAApB;AAgCA,eAAeb,UAAU,CAACC,MAAD,EAAS;EAAEgB,IAAI,EAAE;AAAR,CAAT,CAAV,CAAwCf,OAAxC,CAAf"}
@@ -9,7 +9,6 @@ import clsx from "clsx";
9
9
  import PropTypes from "prop-types";
10
10
  import Slider from "rc-slider";
11
11
  import Tooltip from "rc-tooltip";
12
- import "rc-slider/assets/index.css";
13
12
  import { withStyles } from "@material-ui/core";
14
13
  import { HvFormElement, useControlled, useUniqueId, HvLabel, setId, HvWarningText } from "..";
15
14
  import validationStates from "../Forms/FormElement/validationStates";
@@ -103,6 +102,7 @@ const HvSlider = props => {
103
102
 
104
103
  setValidationMessage("");
105
104
  }, [knobsPositions, requiredMessage, setValidationMessage, setValidationState]);
105
+ useEffect(() => import("rc-slider/assets/index.css"), []);
106
106
  useEffect(() => {
107
107
  const stepVl = calculateStepValue(maxPointValue, minPointValue, divisionQuantity);
108
108
  const inverseStepVl = 1 / stepVl;