\n {node?.items?.map((node: MultilevelNodes, index: number) => (\n \n ))}\n
\n );\n }\n\n const getSelectedFaIcon = (type: string): string => {\n switch (type) {\n case 'faicon':\n if (isSelected() && node.activeFaIcon) {\n return node.activeFaIcon;\n }\n return node.faIcon as string;\n case 'imageicon':\n if (isSelected() && node.activeImageIcon) {\n return node.activeImageIcon;\n }\n return node.imageIcon as string;\n default:\n return '';\n }\n };\n\n const getListStyle = (): ListStyle => {\n const styles = {\n background: CONSTANTS.DEFAULT_LIST_BACKGROUND_COLOR,\n color: CONSTANTS.DEFAULT_LIST_FONT_COLOR,\n };\n\n if (nodeConfiguration.listBackgroundColor) {\n styles.background = nodeConfiguration.listBackgroundColor as string;\n }\n if (isSelected()) {\n nodeConfiguration.selectedListFontColor\n ? (styles.color = nodeConfiguration.selectedListFontColor as string)\n : (styles.color = CONSTANTS.DEFAULT_SELECTED_FONT_COLOR);\n } else if (nodeConfiguration.fontColor) {\n styles.color = nodeConfiguration.fontColor as string;\n }\n return styles;\n };\n\n const getIconJsx = () => {\n switch (getListIcon()) {\n case 'faicon':\n return (\n \n {getListDataJSX()}\n {nodeConfiguration.useDividers && (\n
\n )}\n {expanded && children}\n
\n );\n};\n","import React, { useEffect, useState } from 'react';\n\nimport CONSTANTS from './constants';\nimport {\n MultilevelNodes,\n BackgroundStyle,\n MultiLevelMenuProps,\n} from './interfaces';\nimport { MultilevelMenuService } from './multilevel-menu.service';\nimport { ListItem } from './list-item/list-item';\n\nimport './multilevel-menu.scss';\nconst multilevelMenuService = new MultilevelMenuService();\n\nexport const MultilevelMenu = ({\n list,\n configuration,\n selectedListItem,\n selectedLabel,\n}: MultiLevelMenuProps) => {\n let isInvalidConfig =\n configuration === null ||\n configuration === undefined ||\n configuration === '';\n const [currentNode, setCurrentNode] = useState