UNPKG

@coinmeca/ui

Version:

This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).

32 lines 1.65 kB
"use client"; import { Layouts } from "../../../components"; import { Fragment } from "react"; import Style, { Row } from "./Menu.styled"; export default function Menu(props) { const scale = props?.scale || 1; const Items = (menu) => { return typeof menu === "object" && menu?.children?.length > 0 ? (<Row $scale={scale} style={menu?.style} $fix={menu?.fix} data-show={menu?.show} data-hide={menu?.hide}> {menu?.children && (Array.isArray(menu?.children) ? menu?.children?.map((v, k) => (<Fragment key={k}>{Items(v?.children || (!v?.style && v))}</Fragment>)) : Items(menu?.children))} </Row>) : Array.isArray(menu) && menu?.length > 0 ? (<Row $scale={scale}> {menu?.map((v, k) => (<Fragment key={k}>{Items(v)}</Fragment>))} </Row>) : (<>{menu}</>); }; const Menus = (menu) => { return (<> <Row $scale={scale} style={menu?.style} data-show={menu?.show} data-hide={menu?.hide}> {Items(menu?.children || (!menu?.style && menu))} </Row> <Layouts.Divider /> </>); }; return (props?.menu && (<Style style={props?.style} $scale={scale} data-show={props?.show} data-hide={props?.hide}> {typeof props?.menu !== "string" && props?.menu?.length > 0 ? (props?.menu?.map((v, k) => <Fragment key={k}>{Menus(v)}</Fragment>)) : (<> {Items(props?.menu)} <Layouts.Divider /> </>)} </Style>)); } //# sourceMappingURL=Menu.jsx.map