diff --git a/lib/components/MegaIcon/MegaIcon.tsx b/lib/components/MegaIcon/MegaIcon.tsx index ddb04ee..73ccbf8 100644 --- a/lib/components/MegaIcon/MegaIcon.tsx +++ b/lib/components/MegaIcon/MegaIcon.tsx @@ -1,5 +1,6 @@ import React from "react"; import { AvailableIcons, iconMap } from "../../types/icon"; +import { ICON_IMAGE_SIZES, IconSizes } from "../../util/constants"; import { CustomImage } from "../CustomImage"; const MegaIconMapper = ({ @@ -22,12 +23,14 @@ export interface MegaIconProps { // TODO: implement below intended solution extends React.ComponentPropsWithoutRef<"span"> { iconImg?: string; icon?: AvailableIcons; + imgSize?: IconSizes; className?: string; } export const MegaIcon: React.FC = ({ icon, iconImg, + imgSize = "small", className, }) => { //if icon is an SVGElement, just return it with props spread into it @@ -47,7 +50,7 @@ export const MegaIcon: React.FC = ({ return (
= ({
{sidebarItems?.map((sideBarItem, i) => (
- 0 ? "pt-6" : ""}> + 0 && "flex pt-6", + "flex items-center gap-3", + )} + > {sideBarItem.name} + + {(sideBarItem.iconImg || sideBarItem.icon) && ( + + )}
{sideBarItem.items?.map((item, i) => ( diff --git a/lib/types/megamenu.ts b/lib/types/megamenu.ts index adf7636..b9c46b7 100644 --- a/lib/types/megamenu.ts +++ b/lib/types/megamenu.ts @@ -35,6 +35,8 @@ export interface NavMenuColumnGroupItem { export interface Sidebar { name: string; + icon?: AvailableIcons | string; + iconImg: string; items?: SidebarItem[]; } diff --git a/lib/util/constants.ts b/lib/util/constants.ts index a09a4e6..93f72e7 100644 --- a/lib/util/constants.ts +++ b/lib/util/constants.ts @@ -1 +1,6 @@ export const DEFAULT_URL = "https://www.ssw.com.au"; +export const ICON_IMAGE_SIZES: { [key in IconSizes]: string } = { + small: "h-5 w-5", + medium: "h-8 w-8", +}; +export type IconSizes = "small" | "medium"; diff --git a/package.json b/package.json index 3f8a47a..3fa0b9b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ssw.megamenu", - "version": "4.8.0", + "version": "4.9.0", "type": "module", "main": "dist/index.js", "module": "dist/index.js",