From a073fe0ef01bf4a9042783e970626bd013165118 Mon Sep 17 00:00:00 2001 From: Ariful islam Date: Sat, 8 Jul 2023 19:05:24 +0600 Subject: [PATCH 1/7] chore: fix List navigation sb docs --- docs/List.stories.tsx | 9 ++++++++- src/app/layout.tsx | 6 +----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/docs/List.stories.tsx b/docs/List.stories.tsx index 118b41e..288eded 100644 --- a/docs/List.stories.tsx +++ b/docs/List.stories.tsx @@ -147,12 +147,15 @@ const DATA: NavigationOptions[] = [ }, ]; -const NestedNavs = ({ nav, open, setOpen }: any) => { +const NestedNavs = ({ nav, open, setOpen, nested = 0 }: any) => { // const router = useRouter(); console.log("firstopen", open); return ( { if (!Boolean(open.includes(nav.key))) { setOpen((prevState: any) => [...prevState, nav.key]); @@ -181,6 +184,9 @@ const NestedNavs = ({ nav, open, setOpen }: any) => { if (!Boolean(nest?.nested)) { return ( router.push(nest.href)} > @@ -195,6 +201,7 @@ const NestedNavs = ({ nav, open, setOpen }: any) => { nav={nest} open={open} setOpen={setOpen} + nested={nested + 1} /> ); })} diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 995dbf8..e75e84d 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,5 +1,4 @@ import ThemeContextProvider from "src/theme"; -import Sidebar from "src/widgets/Sidebar"; export const metadata = { title: "Create Next App", @@ -15,10 +14,7 @@ export default function RootLayout({ return ( - - - {children} - + {children} ); From 500228c3d78b2338eaee7b84b559ccfb0dc1f97b Mon Sep 17 00:00:00 2001 From: Ariful islam Date: Sat, 8 Jul 2023 19:28:11 +0600 Subject: [PATCH 2/7] fix: Listnavigation space sb --- docs/List.stories.tsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/List.stories.tsx b/docs/List.stories.tsx index 288eded..d605bf1 100644 --- a/docs/List.stories.tsx +++ b/docs/List.stories.tsx @@ -147,14 +147,13 @@ const DATA: NavigationOptions[] = [ }, ]; -const NestedNavs = ({ nav, open, setOpen, nested = 0 }: any) => { +const NestedNavs = ({ nav, open, setOpen, nested = 2 }: any) => { // const router = useRouter(); - console.log("firstopen", open); return ( { if (!Boolean(open.includes(nav.key))) { @@ -185,7 +184,7 @@ const NestedNavs = ({ nav, open, setOpen, nested = 0 }: any) => { return ( router.push(nest.href)} From 59a5726a5375a14551a9350faf45935d990f00bc Mon Sep 17 00:00:00 2001 From: Ariful islam Date: Sat, 8 Jul 2023 21:18:12 +0600 Subject: [PATCH 3/7] fix: ListNavigation sb docs contents --- docs/List.stories.tsx | 79 +++++++++++++++++++++++-------------------- 1 file changed, 42 insertions(+), 37 deletions(-) diff --git a/docs/List.stories.tsx b/docs/List.stories.tsx index d605bf1..d91f209 100644 --- a/docs/List.stories.tsx +++ b/docs/List.stories.tsx @@ -10,15 +10,20 @@ import KeyboardArrowRight from "@mui/icons-material/KeyboardArrowRight"; import Collapse from "@mui/material/Collapse"; import ListItemAvatar from "@mui/material/ListItemAvatar"; import Avatar from "@mui/material/Avatar"; -import ImageIcon from "@mui/icons-material/Image"; -import WorkIcon from "@mui/icons-material/Work"; -import BeachAccessIcon from "@mui/icons-material/BeachAccess"; import { argChildren, argProps } from "./utils/formatArgs"; -import { Paper } from "@mui/material"; +import Paper from "@mui/material/Paper"; import { useArgs, useState } from "@storybook/addons"; -import Home from "@mui/icons-material/Home"; -import CircleRoundedIcon from "@mui/icons-material/CircleRounded"; -import { useRouter } from "next/navigation"; +// Icons +import BeachAccessIcon from "@mui/icons-material/BeachAccess"; +import WorkIcon from "@mui/icons-material/Work"; +import WorkOutlineIcon from "@mui/icons-material/WorkOutline"; +import ImageIcon from "@mui/icons-material/Image"; +import HomeIcon from "@mui/icons-material/Home"; +import AlignHorizontalCenterIcon from "@mui/icons-material/AlignHorizontalCenter"; +import AllInclusiveIcon from "@mui/icons-material/AllInclusive"; +import AspectRatioIcon from "@mui/icons-material/AspectRatio"; +import AutoGraphOutlinedIcon from "@mui/icons-material/AutoGraphOutlined"; +import AutoAwesomeMotionIcon from "@mui/icons-material/AutoAwesomeMotion"; // More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction const meta: Meta = { @@ -75,19 +80,19 @@ interface NavigationOptions { const DATA: NavigationOptions[] = [ { key: "OverView", - title: "Over view", + title: "Overview", navs: [ { - key: "OverView_home", - name: "Home", - href: "/", - icon: , + key: "OverView_Menu_one_example", + name: "Menu one example", + href: "/menuone", + icon: , }, { - key: "OverView_details", - name: "Details", - href: "/details", - icon: , + key: "OverView_Menu_two_example", + name: "Menu two example", + href: "/menutwo", + icon: , }, ], }, @@ -96,48 +101,48 @@ const DATA: NavigationOptions[] = [ title: "Management", navs: [ { - key: "Management_faq", - name: "Faq", + key: "Management_Menu Label one", + name: "Menu Label one", href: "#", - icon: , + icon: , nested: [ { - key: "Management_faq__post", - name: "Faq", + key: "Management_Menu_Label_two", + name: "Menu Label two", href: "/faq", - icon: , + icon: , }, { - key: "Management_faq__about", - name: "Details about", + key: "Management_Menu_Label_2.2", + name: "Menu Label 2.2", href: "/details/about", - icon: , + icon: , }, ], }, { - key: "Management_details", - name: "Details", + key: "Management_Menu_two_Label_one", + name: "Menu two Label one", href: "", - icon: , + icon: , nested: [ { - key: "Management_details__post", - name: "Details post", + key: "Management_Menu_two_Label_2.1", + name: "Menu two Label 2.1", href: "/details/post", - icon: , + icon: , }, { - key: "Management_details__about", - name: "Details about", + key: "Management_Menu_two_Label_2.2", + name: "Menu two Label 2.2", href: "/details/about", - icon: , + icon: , nested: [ { - key: "Management_details__about_as", - name: "Details about as", + key: "Management_Menu_two_Label_3.1", + name: "Menu two Label 3.1", href: "/details/aboutas", - icon: , + icon: , }, ], }, From e0059ef1a818e1d85a3dd5aa7c9b00e5cf9bfdb8 Mon Sep 17 00:00:00 2001 From: Ariful islam Date: Sat, 8 Jul 2023 23:10:13 +0600 Subject: [PATCH 4/7] fix: List navigation issues --- docs/List.stories.tsx | 216 +++++++ package.json | 24 +- src/app/layout.tsx | 6 +- src/widgets/Sidebar/Types.ts | 13 +- src/widgets/Sidebar/index.tsx | 198 +++--- yarn.lock | 1090 ++++++++++++++------------------- 6 files changed, 819 insertions(+), 728 deletions(-) diff --git a/docs/List.stories.tsx b/docs/List.stories.tsx index d91f209..d0c14d8 100644 --- a/docs/List.stories.tsx +++ b/docs/List.stories.tsx @@ -380,4 +380,220 @@ export const ListNavigation: Story = { ); }, ], + parameters: { + docs: { + source: { + transform: (code: string, storyContext: StoryContext): string => ` + +interface NavsOptions { + key: string; + name: string; + href: string; + icon: ReactElement; + nested?: NavsOptions[]; +} + +interface NavigationOptions { + key: string; + title: string; + navs: NavsOptions[]; +} + +const DATA: NavigationOptions[] = [ + { + key: "OverView", + title: "Overview", + navs: [ + { + key: "OverView_Menu_one_example", + name: "Menu one example", + href: "/menuone", + icon: , + }, + { + key: "OverView_Menu_two_example", + name: "Menu two example", + href: "/menutwo", + icon: , + }, + ], + }, + { + key: "Management", + title: "Management", + navs: [ + { + key: "Management_Menu Label one", + name: "Menu Label one", + href: "#", + icon: , + nested: [ + { + key: "Management_Menu_Label_two", + name: "Menu Label two", + href: "/faq", + icon: , + }, + { + key: "Management_Menu_Label_2.2", + name: "Menu Label 2.2", + href: "/details/about", + icon: , + }, + ], + }, + { + key: "Management_Menu_two_Label_one", + name: "Menu two Label one", + href: "", + icon: , + nested: [ + { + key: "Management_Menu_two_Label_2.1", + name: "Menu two Label 2.1", + href: "/details/post", + icon: , + }, + { + key: "Management_Menu_two_Label_2.2", + name: "Menu two Label 2.2", + href: "/details/about", + icon: , + nested: [ + { + key: "Management_Menu_two_Label_3.1", + name: "Menu two Label 3.1", + href: "/details/aboutas", + icon: , + }, + ], + }, + ], + }, + ], + }, +]; + +const NestedNavs = ({ nav, open, setOpen, nested = 2 }: any) => { + // const router = useRouter(); + return ( + + { + if (!Boolean(open.includes(nav.key))) { + setOpen((prevState: any) => [...prevState, nav.key]); + } else { + setOpen((prevState: any) => + prevState.filter((d: any) => d !== nav.key) + ); + } + }} + > + {nav?.icon} + + + + + + + {nav?.nested?.map((nest: any) => { + if (!Boolean(nest?.nested)) { + return ( + router.push(nest.href)} + > + {nest.icon} + + + ); + } + return ( + + ); + })} + + + + ); +}; + +export default function Basic(){ + return( + + + {DATA.map((item) => { + return ( + + { + if (!Boolean(groupCollapse.includes(item.key))) { + setGroupCollapse((prevState: any) => [ + ...prevState, + item.key, + ]); + } else { + setGroupCollapse((prevState: any) => + prevState.filter((d: any) => d !== item.key) + ); + } + }} + sx={{ + cursor: "pointer", + }} + > + {item.title} + + + {item.navs.map((nav) => { + if (!Boolean(nav?.nested)) { + return ( + + {nav.icon} + + + ); + } + + return ( + + ); + })} + + + ); + })} + + + ) +} + `, + }, + }, + }, }; diff --git a/package.json b/package.json index 9326d9d..d65c105 100644 --- a/package.json +++ b/package.json @@ -31,24 +31,24 @@ "typescript": "5.1.3" }, "devDependencies": { - "@storybook/addon-essentials": "^7.0.20", - "@storybook/addon-interactions": "^7.0.20", - "@storybook/addon-links": "^7.0.20", - "@storybook/addon-mdx-gfm": "^7.0.20", - "@storybook/addon-styling": "^1.0.8", - "@storybook/blocks": "^7.0.20", - "@storybook/manager-api": "^7.0.20", - "@storybook/nextjs": "^7.0.20", - "@storybook/react": "^7.0.20", - "@storybook/testing-library": "^0.1.0", - "@storybook/theming": "^7.0.20", + "@storybook/addon-essentials": "^7.0.26", + "@storybook/addon-interactions": "^7.0.26", + "@storybook/addon-links": "^7.0.26", + "@storybook/addon-mdx-gfm": "^7.0.26", + "@storybook/addon-styling": "^1.3.2", + "@storybook/blocks": "^7.0.26", + "@storybook/manager-api": "^7.0.26", + "@storybook/nextjs": "^7.0.26", + "@storybook/react": "^7.0.26", + "@storybook/testing-library": "^0.2.0", + "@storybook/theming": "^7.0.26", "chromatic": "^6.18.0", "cross-var": "^1.1.0", "dotenv-cli": "^7.2.1", "eslint-plugin-storybook": "^0.6.12", "react-element-to-jsx-string": "^15.0.0", "remark-gfm": "^3.0.1", - "storybook": "^7.0.20" + "storybook": "^7.0.26" }, "readme": "ERROR: No README data found!", "_id": "next-mui-boilerplate@0.1.0" diff --git a/src/app/layout.tsx b/src/app/layout.tsx index e75e84d..995dbf8 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,4 +1,5 @@ import ThemeContextProvider from "src/theme"; +import Sidebar from "src/widgets/Sidebar"; export const metadata = { title: "Create Next App", @@ -14,7 +15,10 @@ export default function RootLayout({ return ( - {children} + + + {children} + ); diff --git a/src/widgets/Sidebar/Types.ts b/src/widgets/Sidebar/Types.ts index 9ecc3fe..21fb52e 100644 --- a/src/widgets/Sidebar/Types.ts +++ b/src/widgets/Sidebar/Types.ts @@ -2,16 +2,21 @@ import { ReactElement } from "react"; export interface SidebarOptions {} -interface NavsOptions { +export interface NestedNavOptioms { + navigation: NavigationOptions; + nested?: number; +} + +export interface NavigationOptions { key: string; name: string; href: string; icon: ReactElement; - nested?: NavsOptions[]; + nested?: NavigationOptions[]; } -export interface NavigationOptions { +export interface NavOptions { key: string; title: string; - navs: NavsOptions[]; + navs: NavigationOptions[]; } diff --git a/src/widgets/Sidebar/index.tsx b/src/widgets/Sidebar/index.tsx index c99a52a..75ca9ba 100644 --- a/src/widgets/Sidebar/index.tsx +++ b/src/widgets/Sidebar/index.tsx @@ -1,38 +1,48 @@ "use client"; import { FC, useState, Fragment } from "react"; import Paper from "@mui/material/Paper"; -import { Theme } from "@mui/material/styles"; import List from "@mui/material/List"; -import ListItem from "@mui/material/ListItem"; import ListItemButton from "@mui/material/ListItemButton"; import ListItemIcon from "@mui/material/ListItemIcon"; import ListItemText from "@mui/material/ListItemText"; import ListSubheader from "@mui/material/ListSubheader"; -import Home from "@mui/icons-material/Home"; -import CircleRoundedIcon from "@mui/icons-material/CircleRounded"; -import Divider from "@mui/material/Divider"; import KeyboardArrowRight from "@mui/icons-material/KeyboardArrowRight"; import Collapse from "@mui/material/Collapse"; import { useRouter } from "next/navigation"; +// Icons +import BeachAccessIcon from "@mui/icons-material/BeachAccess"; +import WorkOutlineIcon from "@mui/icons-material/WorkOutline"; +import ImageIcon from "@mui/icons-material/Image"; +import HomeIcon from "@mui/icons-material/Home"; +import AlignHorizontalCenterIcon from "@mui/icons-material/AlignHorizontalCenter"; +import AllInclusiveIcon from "@mui/icons-material/AllInclusive"; +import AspectRatioIcon from "@mui/icons-material/AspectRatio"; +import AutoGraphOutlinedIcon from "@mui/icons-material/AutoGraphOutlined"; +import AutoAwesomeMotionIcon from "@mui/icons-material/AutoAwesomeMotion"; -import { SidebarOptions, NavigationOptions } from "./Types"; +import { + SidebarOptions, + NestedNavOptioms, + NavOptions, + NavigationOptions, +} from "./Types"; -const DATA: NavigationOptions[] = [ +const NAVIGATIONS: NavOptions[] = [ { key: "OverView", - title: "Over view", + title: "Overview", navs: [ { - key: "OverView_home", - name: "Home", + key: "OverView_Menu_one_example", + name: "Menu one example", href: "/", - icon: , + icon: , }, { - key: "OverView_details", - name: "Details", - href: "/details", - icon: , + key: "OverView_Menu_two_example", + name: "Menu two example", + href: "/menutwo", + icon: , }, ], }, @@ -41,48 +51,48 @@ const DATA: NavigationOptions[] = [ title: "Management", navs: [ { - key: "Management_faq", - name: "Faq", + key: "Management_Menu Label one", + name: "Menu Label one", href: "#", - icon: , + icon: , nested: [ { - key: "Management_faq__post", - name: "Faq", + key: "Management_Menu_Label_two", + name: "Menu Label two", href: "/faq", - icon: , + icon: , }, { - key: "Management_faq__about", - name: "Details about", + key: "Management_Menu_Label_2.2", + name: "Menu Label 2.2", href: "/details/about", - icon: , + icon: , }, ], }, { - key: "Management_details", - name: "Details", + key: "Management_Menu_two_Label_one", + name: "Menu two Label one", href: "", - icon: , + icon: , nested: [ { - key: "Management_details__post", - name: "Details post", + key: "Management_Menu_two_Label_2.1", + name: "Menu two Label 2.1", href: "/details/post", - icon: , + icon: , }, { - key: "Management_details__about", - name: "Details about", + key: "Management_Menu_two_Label_2.2", + name: "Menu two Label 2.2", href: "/details/about", - icon: , + icon: , nested: [ { - key: "Management_details__about_as", - name: "Details about as", + key: "Management_Menu_two_Label_3.1", + name: "Menu two Label 3.1", href: "/details/aboutas", - icon: , + icon: , }, ], }, @@ -92,42 +102,72 @@ const DATA: NavigationOptions[] = [ }, ]; -const NestedNavs = ({ nav }: any) => { +const NestedNavs: FC = ({ navigation, nested = 2 }: any) => { const [open, setOpen] = useState(false); const router = useRouter(); + const onNavigationHandle = (href: string, isNested: boolean) => { + if (isNested) { + setOpen((prev) => !prev); + return; + } + router.push(href); + }; + return ( - - setOpen((prev) => !prev)}> - {nav?.icon} - + + + onNavigationHandle(navigation.href, Boolean(navigation.nested)) + } + sx={{ + pl: nested, + }} + > + {navigation.icon} + - + {Boolean(navigation.nested) && ( + + )} - - - {nav?.nested?.map((nest: any) => { - if (!Boolean(nest?.nested)) { + {Boolean(navigation.nested) && ( + + + {navigation.nested.map((nest: NavigationOptions) => { + if (!Boolean(nest.nested)) { + return ( + + onNavigationHandle(nest.href, Boolean(nest.nested)) + } + sx={{ + pl: nested + 1, + }} + > + {nest.icon} + + + ); + } return ( - router.push(nest.href)} - > - {nest.icon} - - + navigation={nest} + nested={nested + 1} + /> ); - } - return ; - })} - - + })} + + + )} ); }; @@ -135,22 +175,20 @@ const NestedNavs = ({ nav }: any) => { const Sidebar: FC = () => { const [groupCollapse, setGroupCollapse] = useState([""]); - const router = useRouter(); - return ( - {DATA.map((item) => { + {NAVIGATIONS.map((nav: NavOptions) => { return ( - + { - if (!Boolean(groupCollapse.includes(item.key))) { - setGroupCollapse((prevState) => [...prevState, item.key]); + if (!Boolean(groupCollapse.includes(nav.key))) { + setGroupCollapse((prevState) => [...prevState, nav.key]); } else { setGroupCollapse((prevState) => - prevState.filter((d) => d !== item.key) + prevState.filter((d) => d !== nav.key) ); } }} @@ -158,24 +196,12 @@ const Sidebar: FC = () => { cursor: "pointer", }} > - {item.title} + {nav.title} - - {item.navs.map((nav) => { - if (!Boolean(nav?.nested)) { - return ( - router.push(nav.href)} - > - {nav.icon} - - - ); - } - - return ; - })} + + {nav.navs.map((navigation: NavigationOptions) => ( + + ))} ); diff --git a/yarn.lock b/yarn.lock index 4ab01cb..0937a47 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2091,19 +2091,19 @@ lodash.union "^4.6.0" lodash.values "^4.3.0" -"@storybook/addon-actions@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-7.0.20.tgz#4298f6acee8e7957db5a88e7448880667954cba5" - integrity sha512-otdbuEcHtzb6BzYdCYXyoZ3yNwcMdGSeGKf1aMj0b+C6b23XMnwDa90nzH3JST/sb8PJ1o5MHKWPQJ8UKt72Ug== - dependencies: - "@storybook/client-logger" "7.0.20" - "@storybook/components" "7.0.20" - "@storybook/core-events" "7.0.20" +"@storybook/addon-actions@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-7.0.26.tgz#1af31b75e45f812b6d24ac4883b4cb69b1a27040" + integrity sha512-vVoqE0Zw0g1PPnGfho8vRwjpXhQCpRNBQ/2U83/CSodHWL/MBYENG0XMby90TC72M26gNmEh0dn1YCUXvLdiew== + dependencies: + "@storybook/client-logger" "7.0.26" + "@storybook/components" "7.0.26" + "@storybook/core-events" "7.0.26" "@storybook/global" "^5.0.0" - "@storybook/manager-api" "7.0.20" - "@storybook/preview-api" "7.0.20" - "@storybook/theming" "7.0.20" - "@storybook/types" "7.0.20" + "@storybook/manager-api" "7.0.26" + "@storybook/preview-api" "7.0.26" + "@storybook/theming" "7.0.26" + "@storybook/types" "7.0.26" dequal "^2.0.2" lodash "^4.17.21" polished "^4.2.2" @@ -2113,179 +2113,182 @@ ts-dedent "^2.0.0" uuid "^9.0.0" -"@storybook/addon-backgrounds@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-7.0.20.tgz#70bf2a004ff2e586dd4220d06b58ed7e5e4e0425" - integrity sha512-2hMZGCWNCPDgL+p6aL7dxHVOdh31ugGC2ZDeKscSrN+dvWCMUqj1Ns4EnEKBP4+4RXjmrNTsZCKaD9RfY3Pb5g== +"@storybook/addon-backgrounds@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-7.0.26.tgz#d24b0d251d2a7ca13cc163e2959ca63a58081033" + integrity sha512-sjTkOnSsVBBl1GruVVsNKWEuLCbKjkNun1mzIklfYAiHz9hTZIhe9MA2SGZoDozMUDIXQqSoMDEc3rnDtfqsnQ== dependencies: - "@storybook/client-logger" "7.0.20" - "@storybook/components" "7.0.20" - "@storybook/core-events" "7.0.20" + "@storybook/client-logger" "7.0.26" + "@storybook/components" "7.0.26" + "@storybook/core-events" "7.0.26" "@storybook/global" "^5.0.0" - "@storybook/manager-api" "7.0.20" - "@storybook/preview-api" "7.0.20" - "@storybook/theming" "7.0.20" - "@storybook/types" "7.0.20" + "@storybook/manager-api" "7.0.26" + "@storybook/preview-api" "7.0.26" + "@storybook/theming" "7.0.26" + "@storybook/types" "7.0.26" memoizerific "^1.11.3" ts-dedent "^2.0.0" -"@storybook/addon-controls@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-7.0.20.tgz#42ba13edbf27839a0aadb5d2da1453ffd1f8f6c5" - integrity sha512-wXs8QFNNly18d7wVyGne0CIPwAcptyzuq+Q0ltDSInRPvx6RadXH0L5Ah7FCsVXUozmxxRq+jt4Vne979W6mUA== - dependencies: - "@storybook/blocks" "7.0.20" - "@storybook/client-logger" "7.0.20" - "@storybook/components" "7.0.20" - "@storybook/core-common" "7.0.20" - "@storybook/manager-api" "7.0.20" - "@storybook/node-logger" "7.0.20" - "@storybook/preview-api" "7.0.20" - "@storybook/theming" "7.0.20" - "@storybook/types" "7.0.20" +"@storybook/addon-controls@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-7.0.26.tgz#a0b8d3b835f091acc1abd47d27833e5aca3c1e81" + integrity sha512-mp1WuOYCPvR33orHn0XPABY5roF9Le8HnZwTpvfkrRMeMqLnYLnkCTZqY3JN/IOVlyQuYdqodP5CPDHNDLmvVg== + dependencies: + "@storybook/blocks" "7.0.26" + "@storybook/client-logger" "7.0.26" + "@storybook/components" "7.0.26" + "@storybook/core-common" "7.0.26" + "@storybook/manager-api" "7.0.26" + "@storybook/node-logger" "7.0.26" + "@storybook/preview-api" "7.0.26" + "@storybook/theming" "7.0.26" + "@storybook/types" "7.0.26" lodash "^4.17.21" ts-dedent "^2.0.0" -"@storybook/addon-docs@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-7.0.20.tgz#c8432f231fbce1cb88315842312f5c5a11db850c" - integrity sha512-gxq7pGIER3eNGme9NJK5fUBqqXuHLnRwu6ng167IpAAVvcAXRnDFkP10y+KK72wAxwpZrI9squcWCOKReGr8Mg== +"@storybook/addon-docs@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-7.0.26.tgz#f67389ed4f20bd51697337c93ef4ae67f0c99636" + integrity sha512-C8DOwfmPBWDUS1IJbyJxykgVVHVzSSL+JFh3FwtF0hsqwjlNW4OvGDFbz0oAxyxs4V46xVcvh4E95e3GkW36BQ== dependencies: "@babel/core" "^7.20.2" "@babel/plugin-transform-react-jsx" "^7.19.0" "@jest/transform" "^29.3.1" "@mdx-js/react" "^2.1.5" - "@storybook/blocks" "7.0.20" - "@storybook/client-logger" "7.0.20" - "@storybook/components" "7.0.20" - "@storybook/csf-plugin" "7.0.20" - "@storybook/csf-tools" "7.0.20" + "@storybook/blocks" "7.0.26" + "@storybook/client-logger" "7.0.26" + "@storybook/components" "7.0.26" + "@storybook/csf-plugin" "7.0.26" + "@storybook/csf-tools" "7.0.26" "@storybook/global" "^5.0.0" "@storybook/mdx2-csf" "^1.0.0" - "@storybook/node-logger" "7.0.20" - "@storybook/postinstall" "7.0.20" - "@storybook/preview-api" "7.0.20" - "@storybook/react-dom-shim" "7.0.20" - "@storybook/theming" "7.0.20" - "@storybook/types" "7.0.20" + "@storybook/node-logger" "7.0.26" + "@storybook/postinstall" "7.0.26" + "@storybook/preview-api" "7.0.26" + "@storybook/react-dom-shim" "7.0.26" + "@storybook/theming" "7.0.26" + "@storybook/types" "7.0.26" fs-extra "^11.1.0" remark-external-links "^8.0.0" remark-slug "^6.0.0" ts-dedent "^2.0.0" -"@storybook/addon-essentials@^7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-7.0.20.tgz#9aeb696c8394c0694fc159eaccc691c1e0dcaf2d" - integrity sha512-KPHHSDGQUd/3TUr5s7gS3SGDD8XTLl7GnhV//uj1r0SSMKNcIhoV9fzw99IOhADkeazMn9ODBOhkFcIShUMmfQ== - dependencies: - "@storybook/addon-actions" "7.0.20" - "@storybook/addon-backgrounds" "7.0.20" - "@storybook/addon-controls" "7.0.20" - "@storybook/addon-docs" "7.0.20" - "@storybook/addon-highlight" "7.0.20" - "@storybook/addon-measure" "7.0.20" - "@storybook/addon-outline" "7.0.20" - "@storybook/addon-toolbars" "7.0.20" - "@storybook/addon-viewport" "7.0.20" - "@storybook/core-common" "7.0.20" - "@storybook/manager-api" "7.0.20" - "@storybook/node-logger" "7.0.20" - "@storybook/preview-api" "7.0.20" +"@storybook/addon-essentials@^7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-7.0.26.tgz#bf7f7f66de38bd700ec8f5844b6b4f5b2f41e43b" + integrity sha512-r+IOtxbIqlCKO8fDgLppubYm+GEW3ZDxjPwXMQdDGem9ENpz0QLKb49r89+UYqnnaYjuYKjDNUOqy0gX2HfUXQ== + dependencies: + "@storybook/addon-actions" "7.0.26" + "@storybook/addon-backgrounds" "7.0.26" + "@storybook/addon-controls" "7.0.26" + "@storybook/addon-docs" "7.0.26" + "@storybook/addon-highlight" "7.0.26" + "@storybook/addon-measure" "7.0.26" + "@storybook/addon-outline" "7.0.26" + "@storybook/addon-toolbars" "7.0.26" + "@storybook/addon-viewport" "7.0.26" + "@storybook/core-common" "7.0.26" + "@storybook/manager-api" "7.0.26" + "@storybook/node-logger" "7.0.26" + "@storybook/preview-api" "7.0.26" ts-dedent "^2.0.0" -"@storybook/addon-highlight@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/addon-highlight/-/addon-highlight-7.0.20.tgz#850b4cd0ea60ac6ae451b2c3ff8c79359bd1c566" - integrity sha512-AHNYMNY1DtzS+tQ4y0azyXCmIAKuf2j/xp5DgPVkdZmPIHA2wkQZw3EGQj9GTDMZ/Afj3r8kMkUw28NekGYa8A== +"@storybook/addon-highlight@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/addon-highlight/-/addon-highlight-7.0.26.tgz#53162033a64249a301931231e5a86e0695db110d" + integrity sha512-+I+MoM7yXCA3YR2FwTSxSs6/IBpcc3Ey88WboGthR23ERmsgZOtum1S7KZ6cffNCOq4U0LzPkjKX2bICytFrIQ== dependencies: - "@storybook/core-events" "7.0.20" + "@storybook/core-events" "7.0.26" "@storybook/global" "^5.0.0" - "@storybook/preview-api" "7.0.20" + "@storybook/preview-api" "7.0.26" -"@storybook/addon-interactions@^7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/addon-interactions/-/addon-interactions-7.0.20.tgz#4b90a73cb4cf33c1e2ff895083ad3a5ec97acd53" - integrity sha512-8a+EFix0kkEE9Px9bE9BzHCHIxn2Fh9TlDW37YhY5grO/Z5VmJF7Z55pFHxSNYmCXKVxxlExSMmK/erbHKvqOA== +"@storybook/addon-interactions@^7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/addon-interactions/-/addon-interactions-7.0.26.tgz#02b431d7a78df48f16d42ecee9c30dab4aa9cadf" + integrity sha512-trIbPFLdxF6XgGORhx8eSGmGZ/4/AekJyFluf2lgutGi4TPL5Xzrx3o1kTFPVdLAPplBuDIlVI4HSGHHH2zeTw== dependencies: - "@storybook/client-logger" "7.0.20" - "@storybook/components" "7.0.20" - "@storybook/core-common" "7.0.20" - "@storybook/core-events" "7.0.20" + "@storybook/client-logger" "7.0.26" + "@storybook/components" "7.0.26" + "@storybook/core-common" "7.0.26" + "@storybook/core-events" "7.0.26" "@storybook/global" "^5.0.0" - "@storybook/instrumenter" "7.0.20" - "@storybook/manager-api" "7.0.20" - "@storybook/preview-api" "7.0.20" - "@storybook/theming" "7.0.20" - "@storybook/types" "7.0.20" + "@storybook/instrumenter" "7.0.26" + "@storybook/manager-api" "7.0.26" + "@storybook/preview-api" "7.0.26" + "@storybook/theming" "7.0.26" + "@storybook/types" "7.0.26" jest-mock "^27.0.6" polished "^4.2.2" ts-dedent "^2.2.0" -"@storybook/addon-links@^7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-7.0.20.tgz#83389178606107bd648fd9acab90fb924dfd4d99" - integrity sha512-C0eoik4ka9zxsMB1e9eE9NbvuSnNn303bdtaXnhd/U/cS5z1VzqPNWdft1L7YsIKgmF4fbUPw1QiUPORC2xnQA== +"@storybook/addon-links@^7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-7.0.26.tgz#ae04e6afce9e9618d46a44862a0030a9c412d907" + integrity sha512-og+8AUAUpHsT+MVjhdQmRNJw9RUkHn5FFoou003b9V4UlPPNDYTo/tNEqOhUXn2l/ESAROJlR/q/8Qjdes24pA== dependencies: - "@storybook/client-logger" "7.0.20" - "@storybook/core-events" "7.0.20" + "@storybook/client-logger" "7.0.26" + "@storybook/core-events" "7.0.26" "@storybook/csf" "^0.1.0" "@storybook/global" "^5.0.0" - "@storybook/manager-api" "7.0.20" - "@storybook/preview-api" "7.0.20" - "@storybook/router" "7.0.20" - "@storybook/types" "7.0.20" + "@storybook/manager-api" "7.0.26" + "@storybook/preview-api" "7.0.26" + "@storybook/router" "7.0.26" + "@storybook/types" "7.0.26" prop-types "^15.7.2" ts-dedent "^2.0.0" -"@storybook/addon-mdx-gfm@^7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/addon-mdx-gfm/-/addon-mdx-gfm-7.0.20.tgz#6efba54ded8bf4daabb7ec991c39fc4a375bdab5" - integrity sha512-HyGpOaxFXQvg7rCju2UBJN7KxNevETRI1rVLBGZNe+DF+UR+tgFPRvbt4NERTD7IQ6ukEE4mK3kIoCPAK+NEZQ== +"@storybook/addon-mdx-gfm@^7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/addon-mdx-gfm/-/addon-mdx-gfm-7.0.26.tgz#b3c7726d44fd796a64a10dbbe46b200a53676277" + integrity sha512-dgqpCLz4mfHb0h8zAMF97Apybb+JLs5cZQvwavp3zuPccqA8Ho8wF5//LsgUdZEYxpaK2sk5ni6xESBjVyVD3A== dependencies: - "@storybook/node-logger" "7.0.20" + "@storybook/node-logger" "7.0.26" remark-gfm "^3.0.1" ts-dedent "^2.0.0" -"@storybook/addon-measure@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-7.0.20.tgz#d2bfacdc254a0e0b913aa08f116e3068e1acbbf2" - integrity sha512-MFuilKpVPbf/EiB5mVB8lmsogX1Uv3N5NftYh5CVoERxc1oRhSXYDrZ60xXAwn/B1PwsIL7dGE6P/KPUVSTpkA== +"@storybook/addon-measure@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-7.0.26.tgz#8fbc322274274086566177307058680a2094087d" + integrity sha512-iAnI6q3GB8uSydK+S4m4ANpy0GpMpHhmU0oBtu6OmyyzHUH1RJ7/fGfBnzx6YT+rIOlqSFocxYGn74ylsp33Wg== dependencies: - "@storybook/client-logger" "7.0.20" - "@storybook/components" "7.0.20" - "@storybook/core-events" "7.0.20" + "@storybook/client-logger" "7.0.26" + "@storybook/components" "7.0.26" + "@storybook/core-events" "7.0.26" "@storybook/global" "^5.0.0" - "@storybook/manager-api" "7.0.20" - "@storybook/preview-api" "7.0.20" - "@storybook/types" "7.0.20" - -"@storybook/addon-outline@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-7.0.20.tgz#80852775c8c0fbfa87f7f70ad92f5b91c37dc52a" - integrity sha512-033r2LcJsfiqDHXrwXH8k4wVLuYdAn+W3B+0+06p0hcK32jitEyXH2w176fk6JPhRgH7etzrK+nehLN8uMriWA== - dependencies: - "@storybook/client-logger" "7.0.20" - "@storybook/components" "7.0.20" - "@storybook/core-events" "7.0.20" + "@storybook/manager-api" "7.0.26" + "@storybook/preview-api" "7.0.26" + "@storybook/types" "7.0.26" + +"@storybook/addon-outline@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-7.0.26.tgz#9b185bea1a642170c3474451a20115e9e44eb003" + integrity sha512-oL7D0IWO0M6hMw5cWEC6JdKXlGadlVIdhIrVN+0gdFxuxCHTGpebQ02DCvyfls29UssEOxPaO1XMdu9tDlctbg== + dependencies: + "@storybook/client-logger" "7.0.26" + "@storybook/components" "7.0.26" + "@storybook/core-events" "7.0.26" "@storybook/global" "^5.0.0" - "@storybook/manager-api" "7.0.20" - "@storybook/preview-api" "7.0.20" - "@storybook/types" "7.0.20" + "@storybook/manager-api" "7.0.26" + "@storybook/preview-api" "7.0.26" + "@storybook/types" "7.0.26" ts-dedent "^2.0.0" -"@storybook/addon-styling@^1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@storybook/addon-styling/-/addon-styling-1.0.8.tgz#3533c4c5322b286575c235adcec246e39dcdf913" - integrity sha512-Ubi75gHNFO60Sjti2n/i3f0utERNOYcpsRkWHdzV+C26kUemLG+2riKHUt8zVbNskyJxA0EZxh84HYItRe4coA== - dependencies: - "@storybook/api" "^7.0.2" - "@storybook/components" "^7.0.2" - "@storybook/core-events" "^7.0.2" - "@storybook/manager-api" "^7.0.2" - "@storybook/node-logger" "^7.0.7" - "@storybook/preview-api" "^7.0.2" - "@storybook/theming" "^7.0.2" - "@storybook/types" "^7.0.2" +"@storybook/addon-styling@^1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@storybook/addon-styling/-/addon-styling-1.3.2.tgz#b8a689bcfa5e2e46a9c42d616fe587243ae7be09" + integrity sha512-pxc2ncCH3jlOjsJFOmUECxIFvC4jmUxd0noeEC4shGfKvGhsssHpxcVtA36+s3JhDdx+Yhrk/0KeYoMe+35/qg== + dependencies: + "@babel/template" "^7.20.7" + "@babel/types" "^7.21.5" + "@storybook/api" "^7.0.12" + "@storybook/components" "^7.0.12" + "@storybook/core-common" "^7.0.12" + "@storybook/core-events" "^7.0.12" + "@storybook/manager-api" "^7.0.12" + "@storybook/node-logger" "^7.0.12" + "@storybook/preview-api" "^7.0.12" + "@storybook/theming" "^7.0.12" + "@storybook/types" "^7.0.12" css-loader "^6.7.3" less-loader "^11.1.0" postcss-loader "^7.2.4" @@ -2293,73 +2296,65 @@ sass-loader "^13.2.2" style-loader "^3.3.2" -"@storybook/addon-toolbars@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-7.0.20.tgz#a34d847c324502de6e5547bfbde9938e1f53d620" - integrity sha512-xIEpOue1MGXtr7F02PTW65mP6j+yQTMX86iSO5ESLiXpfQnrMsCRElXCJVi0iVEr0+t4lW7y+psNAKPpBQy/Aw== - dependencies: - "@storybook/client-logger" "7.0.20" - "@storybook/components" "7.0.20" - "@storybook/manager-api" "7.0.20" - "@storybook/preview-api" "7.0.20" - "@storybook/theming" "7.0.20" - -"@storybook/addon-viewport@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-7.0.20.tgz#07365a7767bb836f1ce74cd10508d22679987b6d" - integrity sha512-M4kR2FtaELY5bkJACRROinjCB15VxyrkCPH8UiFIGffPO8Nce2fa/4+8ZVIkA27VqD0KbLvVXAZrfn/+unyySg== - dependencies: - "@storybook/client-logger" "7.0.20" - "@storybook/components" "7.0.20" - "@storybook/core-events" "7.0.20" +"@storybook/addon-toolbars@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-7.0.26.tgz#8dc43dc989c966c022caf664684a914fe5b63c6e" + integrity sha512-DrwqcWuCLjaTNFtAYUxO2VaLrr2ibhB3ZQwW7J6a4YFCJaV49wempGPq3BzTWvrPUtMxGp7J3ZusdH9jBgCzjA== + dependencies: + "@storybook/client-logger" "7.0.26" + "@storybook/components" "7.0.26" + "@storybook/manager-api" "7.0.26" + "@storybook/preview-api" "7.0.26" + "@storybook/theming" "7.0.26" + +"@storybook/addon-viewport@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-7.0.26.tgz#8ccce644c34838f5b96fd421eaeeaa674988a23e" + integrity sha512-veAYxnR11sojXC7tlnBZ/USiafhWCsZNvjxmywl/XCh3MeDGFFDb2NN1s/7irAYXfNMOhgPGZED19BN9cQ8QRQ== + dependencies: + "@storybook/client-logger" "7.0.26" + "@storybook/components" "7.0.26" + "@storybook/core-events" "7.0.26" "@storybook/global" "^5.0.0" - "@storybook/manager-api" "7.0.20" - "@storybook/preview-api" "7.0.20" - "@storybook/theming" "7.0.20" + "@storybook/manager-api" "7.0.26" + "@storybook/preview-api" "7.0.26" + "@storybook/theming" "7.0.26" memoizerific "^1.11.3" prop-types "^15.7.2" -"@storybook/addons@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-7.0.20.tgz#06be0d06447ac62dc93b27058e53e0c9403f9b63" - integrity sha512-iqNMclpQszID7xJ01MxUMhMMSlFr9/XkYqxpYiRYRpvbPOPDHdUv3H1ENVTS9/oWOcGllYnaF1AyA6Nxm66jFw== - dependencies: - "@storybook/manager-api" "7.0.20" - "@storybook/preview-api" "7.0.20" - "@storybook/types" "7.0.20" - -"@storybook/api@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/api/-/api-7.0.20.tgz#6af46925d108298fd812dd966f362d31ed760c60" - integrity sha512-yHX3WcWdWqrJBuN85bvSijh/kYGuKXYWNDLmW++XPs0WGWBk/1UfMFEJShfccnSKSlbaTIU8e4dNH8x9Nk190w== +"@storybook/addons@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-7.0.26.tgz#2d735158c563031544792d102aa0fb4727c22d19" + integrity sha512-zn7vdgXkQ4DpCJaawJsNPnh0NzXVXd2qfVtzYWWKT4eyj43VXxoVX2Z4woAD8h6G57JJg67+7hChRebUmd284A== dependencies: - "@storybook/client-logger" "7.0.20" - "@storybook/manager-api" "7.0.20" + "@storybook/manager-api" "7.0.26" + "@storybook/preview-api" "7.0.26" + "@storybook/types" "7.0.26" -"@storybook/api@^7.0.2": - version "7.0.18" - resolved "https://registry.yarnpkg.com/@storybook/api/-/api-7.0.18.tgz#6304f7f5160b404b61e4080da0a952074258cf1f" - integrity sha512-gikVJBR2z7LdepljmbvbsrYgywQm3jNEEEmjG0OwYDeYNjWPuoQSffT+LoyouaaCK90d1osJLl3062OkwlIG8g== +"@storybook/api@7.0.26", "@storybook/api@^7.0.12": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/api/-/api-7.0.26.tgz#486927434dd0a90d283093d706efa5daeb4cffbc" + integrity sha512-czS5iWE3Px3e0sXjgt1T+LDiT6Tl4gXYPmHIaWpKGDCh4W2zrGolOvB0WqDt3IKhDGnXxaJF5jn705OGBQOptw== dependencies: - "@storybook/client-logger" "7.0.18" - "@storybook/manager-api" "7.0.18" + "@storybook/client-logger" "7.0.26" + "@storybook/manager-api" "7.0.26" -"@storybook/blocks@7.0.20", "@storybook/blocks@^7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/blocks/-/blocks-7.0.20.tgz#ce4abe5f16a935a8819416a006d7f3fd664f8bf8" - integrity sha512-DIKJ8fyuG8Lz5Anp21EZ/dKa0UhMbrRINskxUpInQZ51dgsEYc/0ENp8hm0XmbxdF58BlT8nsEIjIpCc9ZAbVQ== +"@storybook/blocks@7.0.26", "@storybook/blocks@^7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/blocks/-/blocks-7.0.26.tgz#662b0868ce3eb432d0cdf49c8eb95a227bb58f75" + integrity sha512-VNYB6Y1Ocja8HVg4Bm1w7LvqRSEc9aLVD8BnI8BInHvekvxhaxTkfpA18qds7d8+RmerrJqAUhGx0jkIB/cvwA== dependencies: - "@storybook/channels" "7.0.20" - "@storybook/client-logger" "7.0.20" - "@storybook/components" "7.0.20" - "@storybook/core-events" "7.0.20" + "@storybook/channels" "7.0.26" + "@storybook/client-logger" "7.0.26" + "@storybook/components" "7.0.26" + "@storybook/core-events" "7.0.26" "@storybook/csf" "^0.1.0" - "@storybook/docs-tools" "7.0.20" + "@storybook/docs-tools" "7.0.26" "@storybook/global" "^5.0.0" - "@storybook/manager-api" "7.0.20" - "@storybook/preview-api" "7.0.20" - "@storybook/theming" "7.0.20" - "@storybook/types" "7.0.20" + "@storybook/manager-api" "7.0.26" + "@storybook/preview-api" "7.0.26" + "@storybook/theming" "7.0.26" + "@storybook/types" "7.0.26" "@types/lodash" "^4.14.167" color-convert "^2.0.1" dequal "^2.0.2" @@ -2372,15 +2367,15 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/builder-manager@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/builder-manager/-/builder-manager-7.0.20.tgz#6261c1caaa0694ef145f5803688cb525c5e21693" - integrity sha512-D1k7fZnEn/G4a6Ob7JWR3IsDsI2IiI42DEoi1h3Rmx9vBwBJatRatvIJz2qUxbQ00l+F5rnnmp8uIHG3FOFf1A== +"@storybook/builder-manager@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/builder-manager/-/builder-manager-7.0.26.tgz#52a8c2471c98a82ffb1c086d7f15a28385a36d28" + integrity sha512-1Uk3dL3Yu5AuimfHAghBHs11wf7B+a+277astqLx7HSeh3L49zcDZS4NhGHKmtQjsEorbvmtty3s16q2k+fM8A== dependencies: "@fal-works/esbuild-plugin-global-externals" "^2.1.2" - "@storybook/core-common" "7.0.20" - "@storybook/manager" "7.0.20" - "@storybook/node-logger" "7.0.20" + "@storybook/core-common" "7.0.26" + "@storybook/manager" "7.0.26" + "@storybook/node-logger" "7.0.26" "@types/ejs" "^3.1.1" "@types/find-cache-dir" "^3.2.1" "@yarnpkg/esbuild-plugin-pnp" "^3.0.0-rc.10" @@ -2394,31 +2389,31 @@ process "^0.11.10" util "^0.12.4" -"@storybook/builder-webpack5@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/builder-webpack5/-/builder-webpack5-7.0.20.tgz#922271ef8e7120c553a70b08393936eaf295c6ab" - integrity sha512-KpOD0ELL2YrAlr61HPYu7nOF/N8gdq142wUZJ0nd/z0baq34YSWRMLHlu8+zpwqEcsmVtkGyFSHkcbgiLFd54Q== +"@storybook/builder-webpack5@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/builder-webpack5/-/builder-webpack5-7.0.26.tgz#906d889034083bd5dbc333ba4b4cd8b652410ce1" + integrity sha512-LfntlZKm0PB6hrgXd7IlzjuCLzjQezYHt3GQfZRxzu7MAu/bgu7xtr7lMaIJOQd2ckpvEN7xhJ89t2mvdk5y0A== dependencies: "@babel/core" "^7.12.10" - "@storybook/addons" "7.0.20" - "@storybook/api" "7.0.20" - "@storybook/channel-postmessage" "7.0.20" - "@storybook/channel-websocket" "7.0.20" - "@storybook/channels" "7.0.20" - "@storybook/client-api" "7.0.20" - "@storybook/client-logger" "7.0.20" - "@storybook/components" "7.0.20" - "@storybook/core-common" "7.0.20" - "@storybook/core-events" "7.0.20" - "@storybook/core-webpack" "7.0.20" + "@storybook/addons" "7.0.26" + "@storybook/api" "7.0.26" + "@storybook/channel-postmessage" "7.0.26" + "@storybook/channel-websocket" "7.0.26" + "@storybook/channels" "7.0.26" + "@storybook/client-api" "7.0.26" + "@storybook/client-logger" "7.0.26" + "@storybook/components" "7.0.26" + "@storybook/core-common" "7.0.26" + "@storybook/core-events" "7.0.26" + "@storybook/core-webpack" "7.0.26" "@storybook/global" "^5.0.0" - "@storybook/manager-api" "7.0.20" - "@storybook/node-logger" "7.0.20" - "@storybook/preview" "7.0.20" - "@storybook/preview-api" "7.0.20" - "@storybook/router" "7.0.20" - "@storybook/store" "7.0.20" - "@storybook/theming" "7.0.20" + "@storybook/manager-api" "7.0.26" + "@storybook/node-logger" "7.0.26" + "@storybook/preview" "7.0.26" + "@storybook/preview-api" "7.0.26" + "@storybook/router" "7.0.26" + "@storybook/store" "7.0.26" + "@storybook/theming" "7.0.26" "@types/node" "^16.0.0" "@types/semver" "^7.3.4" babel-loader "^9.0.0" @@ -2443,37 +2438,25 @@ webpack-hot-middleware "^2.25.1" webpack-virtual-modules "^0.4.3" -"@storybook/channel-postmessage@7.0.18": - version "7.0.18" - resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-7.0.18.tgz#deb843705aec24bd23e717a14678fdb1f7cce8ae" - integrity sha512-rpwBH5ANdPnugS6+7xG9qHSoS+aPSEnBxDKsONWFubfMTTXQuFkf/793rBbxGkoINdqh8kSdKOM2rIty6e9cmQ== - dependencies: - "@storybook/channels" "7.0.18" - "@storybook/client-logger" "7.0.18" - "@storybook/core-events" "7.0.18" - "@storybook/global" "^5.0.0" - qs "^6.10.0" - telejson "^7.0.3" - -"@storybook/channel-postmessage@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-7.0.20.tgz#a7a70579a026c4c7fd74fc71fd6ff1f243612a68" - integrity sha512-GhVI40gbCnq20+Wjk/f8RD/T4gruLNKCjuwTnCAoKIQpMOVAB6ddx0469f9lF5tAha6alZn0MLk5CXPK8LAn5w== +"@storybook/channel-postmessage@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-7.0.26.tgz#cee0aa3d6c6460fbb9bf423af85dbeb5cfc40423" + integrity sha512-ZvFLr/tUD9dWIjQtIn1JXHjqrbOP/uEEOqzwpKSVj0Cl4Vgc12s8hecbzBufkOF7fwLsFvfieSi7ENOmjoncdQ== dependencies: - "@storybook/channels" "7.0.20" - "@storybook/client-logger" "7.0.20" - "@storybook/core-events" "7.0.20" + "@storybook/channels" "7.0.26" + "@storybook/client-logger" "7.0.26" + "@storybook/core-events" "7.0.26" "@storybook/global" "^5.0.0" qs "^6.10.0" telejson "^7.0.3" -"@storybook/channel-websocket@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/channel-websocket/-/channel-websocket-7.0.20.tgz#7b0922fbffa33cf7b3be3faef11bac1f6a77f5e5" - integrity sha512-nzpnvUAdOgEn1FhUlaTl/ImSoiRJQs1UmLPxDtqAOGo01W+GIlj17Y+0TYCaG3EJoRVv59XPIrqywut2o6j40Q== +"@storybook/channel-websocket@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/channel-websocket/-/channel-websocket-7.0.26.tgz#dee7f325fef26c0ab94dd67eaa4ddbf6702a017b" + integrity sha512-c+0VcZf78RGnT/pWrH85yydt0azRKAHZF3SHWKM4+W8qOFr0Mk0+jqhPh1uoUoPDpBZDTKS/nzXY8cwUVwF/eA== dependencies: - "@storybook/channels" "7.0.20" - "@storybook/client-logger" "7.0.20" + "@storybook/channels" "7.0.26" + "@storybook/client-logger" "7.0.26" "@storybook/global" "^5.0.0" telejson "^7.0.3" @@ -2482,28 +2465,27 @@ resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-7.0.18.tgz#0b5053ad6237ad7f619f1e17448d588de90ac235" integrity sha512-rkA7ea0M3+dWS+71iHJdiZ5R2QuIdiVg0CgyLJHDagc1qej7pEVNhMWtppeq+X5Pwp9nkz8ZTQ7aCjTf6th0/A== -"@storybook/channels@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-7.0.20.tgz#a681c3d463b4099b001dae9edeb3a607a8f4854a" - integrity sha512-AL5GGSQ8WTDUoh3gitKEzo3fu7Vq5okXq2pAknAZlQA2Oio+HHO5nMeXvOfGdvo/tzbpNE3n5utmCJz006xrCA== +"@storybook/channels@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-7.0.26.tgz#cc247bc4b61f271abb84e59020307a789f7b4f53" + integrity sha512-Br3XILhrtuL5Sdp91I04kKjJzSqU/N8gGL6B6nIfnuaHUvGMDuMCHAB+g7aoiyH5dnpDZ6yBVGNwtYAyJA+0Og== -"@storybook/cli@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/cli/-/cli-7.0.20.tgz#a099893bc664318e98a1deb6ef0aa328751967d3" - integrity sha512-ZYBJL1d7nWXQok7SriF18h0YPO38Eu1YxR8b1VHgOZYKZhuQmtvhmjMTSgpoGjnynNkEaV3fvm6+KYTjSqYcnw== +"@storybook/cli@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/cli/-/cli-7.0.26.tgz#5b6c5404a1ec45828150cd313535d953ddbda095" + integrity sha512-sZ136wRUYTdhhm/thegFoI47wOzl2X+K9eaiTTp0ARwnIUhXAPDQ0MKOD36hKbCX5T/pBE7r++7WoEReIbUDqQ== dependencies: "@babel/core" "^7.20.2" "@babel/preset-env" "^7.20.2" "@ndelangen/get-tarball" "^3.0.7" - "@storybook/codemod" "7.0.20" - "@storybook/core-common" "7.0.20" - "@storybook/core-server" "7.0.20" - "@storybook/csf-tools" "7.0.20" - "@storybook/node-logger" "7.0.20" - "@storybook/telemetry" "7.0.20" - "@storybook/types" "7.0.20" + "@storybook/codemod" "7.0.26" + "@storybook/core-common" "7.0.26" + "@storybook/core-server" "7.0.26" + "@storybook/csf-tools" "7.0.26" + "@storybook/node-logger" "7.0.26" + "@storybook/telemetry" "7.0.26" + "@storybook/types" "7.0.26" "@types/semver" "^7.3.4" - boxen "^5.1.2" chalk "^4.1.0" commander "^6.2.1" cross-spawn "^7.0.3" @@ -2532,40 +2514,33 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/client-api@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-7.0.20.tgz#e5d49da082b1f7c774f1617a00491e4a9a9b3b33" - integrity sha512-0Dom2S0e5usqxpzkyGq15q111M8LYEl7BbBVG5ZMmSKNkgp1fnHrbWbAhaTkhdupxAkh9HHOLq7ZMwBEEG3gcQ== +"@storybook/client-api@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-7.0.26.tgz#83f7baa226264f69b0a0154b9cd1f1fcb9b9de65" + integrity sha512-55Oy5Es8ACABWT01iddUJHt8oT4VnuCvec/FUC4iN7ITiOGjk7YzZB3NftmD6C5+pVQC99buspuwg7IFxmj+Aw== dependencies: - "@storybook/client-logger" "7.0.20" - "@storybook/preview-api" "7.0.20" + "@storybook/client-logger" "7.0.26" + "@storybook/preview-api" "7.0.26" -"@storybook/client-logger@7.0.18", "@storybook/client-logger@^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0": - version "7.0.18" - resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-7.0.18.tgz#396858b53d0aa9485f173083ea27b7c1c48fa2dd" - integrity sha512-uKgFdVedYoRDZBVrE1IBdWNHDFln1IxWEeI+7ZiNSQwREG9swHpU5Fa8DceclM/oLjJRuzG1jFzv+XZY8894+Q== +"@storybook/client-logger@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-7.0.26.tgz#26e3f45e2740952a0c14d59b80b47c815c6ab665" + integrity sha512-OMVLbgceoeuM8sWOfTX/9a4zCrH78G32hg7x8yXLZnRJ9OLaHJHzUM0Onc4MLudqVUdaKH0c8ejpBXUyIr1rJQ== dependencies: "@storybook/global" "^5.0.0" -"@storybook/client-logger@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-7.0.20.tgz#79b53cb8576560cbb9d5e5dcaa172ec245f70cf7" - integrity sha512-h0maWgvrhoDVALrbQ6ZFF0/7koVAazMbqWLmV/SF4JB2cBSgfgO0gmrCmKzUAe+KOABK/TMQTEQc1S1js0Dorw== - dependencies: - "@storybook/global" "^5.0.0" - -"@storybook/codemod@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/codemod/-/codemod-7.0.20.tgz#04cff68207d49dca427a16f73912d494eb56103b" - integrity sha512-ZyxtYxp+1yEV0Z7qGeov/neeE9yYEOzobNuHDJ/nA0HNrXkeIolmvb9TFhSpOiSxRdHJhpBQG/U76KZMdAhNdw== +"@storybook/codemod@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/codemod/-/codemod-7.0.26.tgz#b085fc82421f8bd2b507b7284ecb2c4bd1bd7c9d" + integrity sha512-H9sV59FfGrGzGM+UZQclNglnc4cOkQvvF3EOWlR3BfDhx+STSB9VbCR308ygjUYw2TXZ2s5seCvHtVvA2yhILA== dependencies: "@babel/core" "~7.21.0" "@babel/preset-env" "~7.21.0" "@babel/types" "~7.21.2" "@storybook/csf" "^0.1.0" - "@storybook/csf-tools" "7.0.20" - "@storybook/node-logger" "7.0.20" - "@storybook/types" "7.0.20" + "@storybook/csf-tools" "7.0.26" + "@storybook/node-logger" "7.0.26" + "@storybook/types" "7.0.26" cross-spawn "^7.0.3" globby "^11.0.2" jscodeshift "^0.14.0" @@ -2573,103 +2548,85 @@ prettier "^2.8.0" recast "^0.23.1" -"@storybook/components@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-7.0.20.tgz#402626b0290d1e5f6bedd8673e6ca05da96ebdd2" - integrity sha512-eoEtby/yVkvUKpXfktibxPOhR5UBsWnKRWQUNSxN0vYTG4iBBh3HdjgxFJYfSXV13J+6OfvpBPLlPC+enXrbrQ== - dependencies: - "@storybook/client-logger" "7.0.20" - "@storybook/csf" "^0.1.0" - "@storybook/global" "^5.0.0" - "@storybook/theming" "7.0.20" - "@storybook/types" "7.0.20" - memoizerific "^1.11.3" - use-resize-observer "^9.1.0" - util-deprecate "^1.0.2" - -"@storybook/components@^7.0.2": - version "7.0.18" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-7.0.18.tgz#74ab115342e576b7644c83667a9daef5758fc3c8" - integrity sha512-Jn1CbF9UAKt8BVaZtuhmthpcZ02VMaCFXR0ISfDXCpiMKnylmpP0+WfXcoKLzz6yS+EW8EW5S9+Qq8xgQY8H7A== +"@storybook/components@7.0.26", "@storybook/components@^7.0.12": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/components/-/components-7.0.26.tgz#c0f6e3c7431018712485c68e560182cc06b343bd" + integrity sha512-n0TVWEF4Bc9JAyEIaN0PqwglbaYYRcPVG7ka+5wgGmBiuDlWI1SXd4EXxv2u0mVibHvtkHvOn6/GaZ1vG45p6g== dependencies: - "@storybook/client-logger" "7.0.18" + "@storybook/client-logger" "7.0.26" "@storybook/csf" "^0.1.0" "@storybook/global" "^5.0.0" - "@storybook/theming" "7.0.18" - "@storybook/types" "7.0.18" + "@storybook/theming" "7.0.26" + "@storybook/types" "7.0.26" memoizerific "^1.11.3" use-resize-observer "^9.1.0" util-deprecate "^1.0.2" -"@storybook/core-client@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-7.0.20.tgz#53d5d7ee4c84282a4e0d84ed0c389c6e997c99f2" - integrity sha512-POKAxwwbX+nDiqpVDjrV0H+GFmEg1IcmUWnmiE69n9GibX6zwGh3plJDKb+y0nK8eR4SRgLe8PovMEO/+W/xsw== +"@storybook/core-client@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-7.0.26.tgz#d2c4f66c6147937c3455b1227faacbd9f4eebb50" + integrity sha512-1DA8mLnr0f6EuL74859IDK99a7CGNgMIN0/cAVNgYxq0WA4j+9ajsJ+/RIAgnS2NLVLR9kbezUtBEx4/H88IRA== dependencies: - "@storybook/client-logger" "7.0.20" - "@storybook/preview-api" "7.0.20" + "@storybook/client-logger" "7.0.26" + "@storybook/preview-api" "7.0.26" -"@storybook/core-common@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-7.0.20.tgz#6edcb76d27eb1914498f003e988f85fe12fe12ce" - integrity sha512-4uh/zMs884rlYSfPEzsZy8Z7lchitZTKI6031gigEMBBgdYZ1eHqwz91YfQK7e2dFKjxfw2y9HS1yRI57RJrQg== +"@storybook/core-common@7.0.26", "@storybook/core-common@^7.0.12": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-7.0.26.tgz#9b3f3378e80fe981a48d268edb560a440128629d" + integrity sha512-rojZblzB0egNXX0bZ7R3TuPDiBSIhxpZCrorrDMHOZ8F+zuBxyTiZ0yMxEDn7i46T2n1vX+hUHhwZVxZrLn/ZQ== dependencies: - "@storybook/node-logger" "7.0.20" - "@storybook/types" "7.0.20" + "@storybook/node-logger" "7.0.26" + "@storybook/types" "7.0.26" "@types/node" "^16.0.0" + "@types/node-fetch" "^2.6.4" "@types/pretty-hrtime" "^1.0.0" chalk "^4.1.0" esbuild "^0.17.0" esbuild-register "^3.4.0" - file-system-cache "^2.0.0" + file-system-cache "2.3.0" find-up "^5.0.0" fs-extra "^11.1.0" glob "^8.1.0" glob-promise "^6.0.2" handlebars "^4.7.7" lazy-universal-dotenv "^4.0.0" + node-fetch "^2.0.0" picomatch "^2.3.0" pkg-dir "^5.0.0" pretty-hrtime "^1.0.3" resolve-from "^5.0.0" ts-dedent "^2.0.0" -"@storybook/core-events@7.0.18", "@storybook/core-events@^7.0.2": - version "7.0.18" - resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-7.0.18.tgz#429e0b092c645bd283adb4836ac0a945e813f085" - integrity sha512-7gxHBQDezdKOeq/u1LL80Bwjfcwsv7XOS3yWQElcgqp+gLaYB6OwwgtkCB2yV6a6l4nep9IdPWE8G3TxIzn9xw== - -"@storybook/core-events@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-7.0.20.tgz#53878b736463c30141115ccdfba401bcf2645cba" - integrity sha512-gUBQsbcDmRufmg8LdH7D57c/9BQ+cPi2vBcXdudmxeJFafGwDmLRu1mlv9rxlW4kicn/LZWJjKXtq4XXzF4OGg== +"@storybook/core-events@7.0.26", "@storybook/core-events@^7.0.12": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-7.0.26.tgz#830c2fbc17e8c358252301e5a6efe10119aa3ef5" + integrity sha512-ckZszphEAYs9wp8tPVhayEMzk8JxCiQfzbq0S45sbdqdTrl40PmsOjv5iPNaUYElI/Stfz+v4gDCEUfOsxyC+w== -"@storybook/core-server@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-7.0.20.tgz#b8c5f100ced5fd227c19e30127706eb0d28e3cd4" - integrity sha512-hNKwi5QZMhfeqw8+UmU6hCIIQfTC5r1ItaKZIeF43HnSt4hNKoA9fHu1UCS5UA56KddBxSAPggroEF+Ah8ZHcg== +"@storybook/core-server@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-7.0.26.tgz#d6cf06505fb92eb1201b581cad7d0043b38f0c22" + integrity sha512-QieqH19jBPZafxJVmCVK6GTYkRN/CJ8RQUvyRH2KNhqXP0tHYfL51FlU70ldo/vHX6Ax4Cje5hx/Nln9+DOMNg== dependencies: "@aw-web-design/x-default-browser" "1.4.88" "@discoveryjs/json-ext" "^0.5.3" - "@storybook/builder-manager" "7.0.20" - "@storybook/core-common" "7.0.20" - "@storybook/core-events" "7.0.20" + "@storybook/builder-manager" "7.0.26" + "@storybook/core-common" "7.0.26" + "@storybook/core-events" "7.0.26" "@storybook/csf" "^0.1.0" - "@storybook/csf-tools" "7.0.20" + "@storybook/csf-tools" "7.0.26" "@storybook/docs-mdx" "^0.1.0" "@storybook/global" "^5.0.0" - "@storybook/manager" "7.0.20" - "@storybook/node-logger" "7.0.20" - "@storybook/preview-api" "7.0.20" - "@storybook/telemetry" "7.0.20" - "@storybook/types" "7.0.20" + "@storybook/manager" "7.0.26" + "@storybook/node-logger" "7.0.26" + "@storybook/preview-api" "7.0.26" + "@storybook/telemetry" "7.0.26" + "@storybook/types" "7.0.26" "@types/detect-port" "^1.3.0" "@types/node" "^16.0.0" "@types/node-fetch" "^2.5.7" "@types/pretty-hrtime" "^1.0.0" "@types/semver" "^7.3.4" better-opn "^2.1.1" - boxen "^5.1.2" chalk "^4.1.0" cli-table3 "^0.6.1" compression "^1.7.4" @@ -2692,36 +2649,36 @@ watchpack "^2.2.0" ws "^8.2.3" -"@storybook/core-webpack@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/core-webpack/-/core-webpack-7.0.20.tgz#8cdeb1f6c3ff1c8ea7b472c7020fb4578b470c2e" - integrity sha512-gqIOihi58yF//Lyux1dI87s1SysN7uqrxXhWIz0oh6W0HcYeeesy6KtxWxyuEm6XCHUwY3QDE7bIpmnjXApCYQ== +"@storybook/core-webpack@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/core-webpack/-/core-webpack-7.0.26.tgz#8b3788c6a92bfeb4c218022a35894edc9b926586" + integrity sha512-mIi+D+15sGRh8CWE7mMgvxX8KRfrACcR+AuEDi9rfQBB2PX0Okkrh6GAxPWjjeFFG7DF4RXdkusgC8/seYCTXg== dependencies: - "@storybook/core-common" "7.0.20" - "@storybook/node-logger" "7.0.20" - "@storybook/types" "7.0.20" + "@storybook/core-common" "7.0.26" + "@storybook/node-logger" "7.0.26" + "@storybook/types" "7.0.26" "@types/node" "^16.0.0" ts-dedent "^2.0.0" -"@storybook/csf-plugin@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-7.0.20.tgz#3d8600bbc75769760dd850d2ea51c8827b50eca5" - integrity sha512-jxEZN2Hf4qpALzDXX3gKy7c0nUM4BfDiAnUqTeJIks6nFUOF00qoU1qNqJzYScH1AXI9J7LwXJ6n8b0DSW/H3Q== +"@storybook/csf-plugin@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-7.0.26.tgz#ce71319f2f4a450dcaaa1f800017c33f52343afd" + integrity sha512-D+wZvKlFxI/Vur8SRvkwKujOdV8ZL6xKiCX/07nFJXhhZoaeM+E78xPCL613Hj15GloujMkAnv7CT2rCiFJYow== dependencies: - "@storybook/csf-tools" "7.0.20" + "@storybook/csf-tools" "7.0.26" unplugin "^0.10.2" -"@storybook/csf-tools@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-7.0.20.tgz#33947eaaf4fead1aa634d0674bdd43e55115aa49" - integrity sha512-m68wLgN5G7XIChQrjeILBYu+4TVHfllIrIJXMZ3Gi+iplOCHsQLfA6Oa0VtTB09Ol5K2StdMHjBCoR6HfHzsXA== +"@storybook/csf-tools@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-7.0.26.tgz#f25b54d4aaad7da2f812212ef64043ba107c8f19" + integrity sha512-O8WJNOkvgrGV6gS/5ERkgqiXOxoXMuHtzdJpIM9DHPhzkSxB1Inl3WrX/dRRDNtmiHf87hBUuzhgo7YR7z4tuQ== dependencies: "@babel/generator" "~7.21.1" "@babel/parser" "~7.21.2" "@babel/traverse" "~7.21.2" "@babel/types" "~7.21.2" "@storybook/csf" "^0.1.0" - "@storybook/types" "7.0.20" + "@storybook/types" "7.0.26" fs-extra "^11.1.0" recast "^0.23.1" ts-dedent "^2.0.0" @@ -2760,15 +2717,15 @@ resolved "https://registry.yarnpkg.com/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz#33ba0e39d1461caf048b57db354b2cc410705316" integrity sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg== -"@storybook/docs-tools@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-7.0.20.tgz#f1288695c5650c68b03dfdf251e931db364b3c48" - integrity sha512-9MfQaIseC6fzU5McyBOYiVNHa4wiyVyNMG+rOgdDI4Q+JZDRm9wgf+mtB5Uc8bZZZJRUTxSKJwqeFlxn9zTJgA== +"@storybook/docs-tools@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-7.0.26.tgz#6299f9da5d95a5792e223596eec2216b1ad88b15" + integrity sha512-Ibpm/OTR2XmJgix5w+wMYbDwN0zp5e/pcqSHy36OvkBOG588IKSSzYdBjGdTLPHWBoehp2Kyndw/5dL/09ftXA== dependencies: "@babel/core" "^7.12.10" - "@storybook/core-common" "7.0.20" - "@storybook/preview-api" "7.0.20" - "@storybook/types" "7.0.20" + "@storybook/core-common" "7.0.26" + "@storybook/preview-api" "7.0.26" + "@storybook/types" "7.0.26" "@types/doctrine" "^0.0.3" doctrine "^3.0.0" lodash "^4.17.21" @@ -2778,41 +2735,30 @@ resolved "https://registry.yarnpkg.com/@storybook/global/-/global-5.0.0.tgz#b793d34b94f572c1d7d9e0f44fac4e0dbc9572ed" integrity sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ== -"@storybook/instrumenter@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-7.0.20.tgz#2fc503bfb32f229a7121937c9b2dfca5a7ca7ab5" - integrity sha512-TQW/4LJOV2Rok8HH0/AiD9TRDdGaCcCDI34r394frNL61tprrSkT7+ASul68U3c2yuddL9mfrbacr7AzVuf2rA== - dependencies: - "@storybook/channels" "7.0.20" - "@storybook/client-logger" "7.0.20" - "@storybook/core-events" "7.0.20" - "@storybook/global" "^5.0.0" - "@storybook/preview-api" "7.0.20" - -"@storybook/instrumenter@^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0": - version "7.0.18" - resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-7.0.18.tgz#7ac595948b726e55ebdde4288c12b1bd1b4d3781" - integrity sha512-fyQxeuVC0H+w3oyTuByE95xnAQ+l/WhUBVkHV2X+PWjg9vg9Y9JmrbNWynlvz5HLFlsY3qAWJh+ciVRVSvY5Jw== +"@storybook/instrumenter@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-7.0.26.tgz#9bc400cd6913d68b0df66d5249b0c4c30b900aff" + integrity sha512-7Ty0LTslgkm5RyH6CqTAKhWz/cF6wq/sNdMYKwvVZHWNZ2LKMtXD0RWM2caCPruAGOQ9+52H+3s4TZGKaPSSWQ== dependencies: - "@storybook/channels" "7.0.18" - "@storybook/client-logger" "7.0.18" - "@storybook/core-events" "7.0.18" + "@storybook/channels" "7.0.26" + "@storybook/client-logger" "7.0.26" + "@storybook/core-events" "7.0.26" "@storybook/global" "^5.0.0" - "@storybook/preview-api" "7.0.18" + "@storybook/preview-api" "7.0.26" -"@storybook/manager-api@7.0.18", "@storybook/manager-api@^7.0.2": - version "7.0.18" - resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-7.0.18.tgz#9e0e011df04271b0ed7216a22f9c965e3b7ac4b9" - integrity sha512-anQkm09twL96YkKGXHa+LI0+yMaY6Jxs1lRaetHdMlIqN4VHBHhizHaMgtGfH6xCTuO3WdrKTN7cZii5RH7PBQ== +"@storybook/manager-api@7.0.26", "@storybook/manager-api@^7.0.12", "@storybook/manager-api@^7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-7.0.26.tgz#28b5528726d918d13c5138c002f1966bfb6eb84b" + integrity sha512-/2p6lU7r30qMXob/UnzRL9yq7XjoE+YQXv1KhrcePfMBARbelYw9RYhYT/AkXGtb9/Fa95uG3lNvoDLC1IQfMQ== dependencies: - "@storybook/channels" "7.0.18" - "@storybook/client-logger" "7.0.18" - "@storybook/core-events" "7.0.18" + "@storybook/channels" "7.0.26" + "@storybook/client-logger" "7.0.26" + "@storybook/core-events" "7.0.26" "@storybook/csf" "^0.1.0" "@storybook/global" "^5.0.0" - "@storybook/router" "7.0.18" - "@storybook/theming" "7.0.18" - "@storybook/types" "7.0.18" + "@storybook/router" "7.0.26" + "@storybook/theming" "7.0.26" + "@storybook/types" "7.0.26" dequal "^2.0.2" lodash "^4.17.21" memoizerific "^1.11.3" @@ -2821,41 +2767,20 @@ telejson "^7.0.3" ts-dedent "^2.0.0" -"@storybook/manager-api@7.0.20", "@storybook/manager-api@^7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-7.0.20.tgz#37070ca26c0a44944329e9452f716b637b06b373" - integrity sha512-/f4L63SWcj4OCck8hdKItnlq/QDZAF6fn4QDLdqXNhPsoi+G6YUMVBX23bW0ygyTM0nrOoAPLVP934H33Xb9Bg== - dependencies: - "@storybook/channels" "7.0.20" - "@storybook/client-logger" "7.0.20" - "@storybook/core-events" "7.0.20" - "@storybook/csf" "^0.1.0" - "@storybook/global" "^5.0.0" - "@storybook/router" "7.0.20" - "@storybook/theming" "7.0.20" - "@storybook/types" "7.0.20" - dequal "^2.0.2" - lodash "^4.17.21" - memoizerific "^1.11.3" - semver "^7.3.7" - store2 "^2.14.2" - telejson "^7.0.3" - ts-dedent "^2.0.0" - -"@storybook/manager@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/manager/-/manager-7.0.20.tgz#b3193da0254500db3cccce7a0d97f31831ef7b70" - integrity sha512-m79G2FMCIBQlF5FtnCoPP3B0Uy79SWmYLSTMmK/a2d5MS26d7eNOVT1W6httPMZlgy26/OjO7JcQVQsliQ4nxw== +"@storybook/manager@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/manager/-/manager-7.0.26.tgz#017fac78219c9d9fabc3cb89abc764b6b31aa5a1" + integrity sha512-mxjU/pmHr8xL96HCipqazvZWQkxBPCbpZ2+YsJuJoLFN4m7RoOK21VK0euBW24NlSg7Vp57XGQcrJCv6xUTKMg== "@storybook/mdx2-csf@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@storybook/mdx2-csf/-/mdx2-csf-1.1.0.tgz#97f6df04d0bf616991cc1005a073ac004a7281e5" integrity sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw== -"@storybook/nextjs@^7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/nextjs/-/nextjs-7.0.20.tgz#8045d65968c28ade0afb8713fbae1feea24e2480" - integrity sha512-ipDhgDezGkC6qIIT97lBVgrLcB5rQHTRVrFaqxVzZa5uObHCOw7PjsIX1uqgesEQ6tKt7qN3jDE3+LLpWSBEIw== +"@storybook/nextjs@^7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/nextjs/-/nextjs-7.0.26.tgz#cedcde1a87cac0b426089f63ee17a4695eee4c15" + integrity sha512-G7A0WGvh4DnESM1S+UIFbi7HgxrOwq2UhdBo8Cd0VyM6qwHomagGPCq3MNHHlmXLiObBezxEqBrbAm2l8klBTQ== dependencies: "@babel/plugin-proposal-class-properties" "^7.18.6" "@babel/plugin-proposal-export-namespace-from" "^7.18.9" @@ -2869,13 +2794,13 @@ "@babel/preset-react" "^7.18.6" "@babel/preset-typescript" "^7.21.0" "@babel/runtime" "^7.21.0" - "@storybook/addon-actions" "7.0.20" - "@storybook/builder-webpack5" "7.0.20" - "@storybook/core-common" "7.0.20" - "@storybook/node-logger" "7.0.20" - "@storybook/preset-react-webpack" "7.0.20" - "@storybook/preview-api" "7.0.20" - "@storybook/react" "7.0.20" + "@storybook/addon-actions" "7.0.26" + "@storybook/builder-webpack5" "7.0.26" + "@storybook/core-common" "7.0.26" + "@storybook/node-logger" "7.0.26" + "@storybook/preset-react-webpack" "7.0.26" + "@storybook/preview-api" "7.0.26" + "@storybook/react" "7.0.26" "@types/node" "^16.0.0" css-loader "^6.7.3" find-up "^5.0.0" @@ -2895,43 +2820,33 @@ tsconfig-paths "^4.0.0" tsconfig-paths-webpack-plugin "^3.5.2" -"@storybook/node-logger@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-7.0.20.tgz#f801f609435eecffd31601e41ddcfeeec3b46768" - integrity sha512-CibPbHs7ELVtx7++5OGHL13lMG0vKEBGBBcb3FJFgf5fLYOor3jJ/xbiUZpfdg34mwzXHTVUi7o4MMMd4nVe+g== +"@storybook/node-logger@7.0.26", "@storybook/node-logger@^7.0.12": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-7.0.26.tgz#e536c970b6a9c43796cad203bfdf859afa93ee3f" + integrity sha512-3Jqv3fRb8+Mn/aNl4IztgUAS/pvouVzpfHDc8+6KYAoFMeDXwHVlfF/+gRCpd/fbYaTHGrycIs5G48bC190Dgg== dependencies: "@types/npmlog" "^4.1.2" chalk "^4.1.0" npmlog "^5.0.1" pretty-hrtime "^1.0.3" -"@storybook/node-logger@^7.0.7": - version "7.0.18" - resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-7.0.18.tgz#efed2e8b79964e7d999b64b0e99fa79f9356904e" - integrity sha512-cIeKEBvELtoVP/5UeQ01GJWZ7wM69/9Q+R5uOtNQBlwWFcCD6AVFWMRqq7ObMvdJG/okhXSF+sDetb+BF3zvdw== - dependencies: - "@types/npmlog" "^4.1.2" - chalk "^4.1.0" - npmlog "^5.0.1" - pretty-hrtime "^1.0.3" - -"@storybook/postinstall@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-7.0.20.tgz#aec03de5a31974f6410a8ee1c4e24af7ac81a4c7" - integrity sha512-Aj+42Ld3fo0IGMEU3aqnrsFgK6V3EGmN07hS08PsY1g7RLBC0Xm6l0jMvehidNEyZWwUEXVro136bdnJVKnOKg== +"@storybook/postinstall@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-7.0.26.tgz#c3e8e01ca47fa809434f7fbb2890b6673e002114" + integrity sha512-NhJBpQ+49RWF63UkdwrEwBLJBjAZeTlruPWfXGUb343iaGNNTsD3jajbToFHncibewH83yk6MeGfiyUva60oJw== -"@storybook/preset-react-webpack@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/preset-react-webpack/-/preset-react-webpack-7.0.20.tgz#57a30f1f464169ac087fc35f00eb346695efaa20" - integrity sha512-Wg0qxjZCNI+2s4DRieuB1/Sw/3PWv9k+30HelH4CHyQo9zATAu6I6HriD0vulcFhfEQQXGXO+vGv9DbIxzLo+w== +"@storybook/preset-react-webpack@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/preset-react-webpack/-/preset-react-webpack-7.0.26.tgz#9c0ca99d296d9f07bcd84c130f18c2ec76906b83" + integrity sha512-uJTW7of4eF8upoP2W0N5FVi1DG2f6CXkkI5qX4WmYFAmCtShor75EZTcv50QF4GOKJs9NlHDgC2+i6gT24u1rg== dependencies: "@babel/preset-flow" "^7.18.6" "@babel/preset-react" "^7.18.6" "@pmmmwh/react-refresh-webpack-plugin" "^0.5.5" - "@storybook/core-webpack" "7.0.20" - "@storybook/docs-tools" "7.0.20" - "@storybook/node-logger" "7.0.20" - "@storybook/react" "7.0.20" + "@storybook/core-webpack" "7.0.26" + "@storybook/docs-tools" "7.0.26" + "@storybook/node-logger" "7.0.26" + "@storybook/react" "7.0.26" "@storybook/react-docgen-typescript-plugin" "1.0.6--canary.9.0c3f3b7.0" "@types/node" "^16.0.0" "@types/semver" "^7.3.4" @@ -2942,18 +2857,18 @@ semver "^7.3.7" webpack "5" -"@storybook/preview-api@7.0.18", "@storybook/preview-api@^7.0.2": - version "7.0.18" - resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-7.0.18.tgz#ef012f984a2c0b9395b1b75b4f6e25643912c67d" - integrity sha512-xxtC0gPGMn/DbwvS4ZuJaBwfFNsjUCf0yLYHFrNe6fxncbvcLZ550RuyUwYuIRfsiKrlgfa3QmmCa4JM/JesHQ== +"@storybook/preview-api@7.0.26", "@storybook/preview-api@^7.0.12": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-7.0.26.tgz#60174bbbd729514bc6e4e57469d2edfc793d9367" + integrity sha512-uJwA4errBOZOoDF2T7Z2oLqjAYvvjMr31sTsOoT0niJtWr29RQp8yS6VoSrsuh+y3FAVqBEl5pS+DX3IGLjvxw== dependencies: - "@storybook/channel-postmessage" "7.0.18" - "@storybook/channels" "7.0.18" - "@storybook/client-logger" "7.0.18" - "@storybook/core-events" "7.0.18" + "@storybook/channel-postmessage" "7.0.26" + "@storybook/channels" "7.0.26" + "@storybook/client-logger" "7.0.26" + "@storybook/core-events" "7.0.26" "@storybook/csf" "^0.1.0" "@storybook/global" "^5.0.0" - "@storybook/types" "7.0.18" + "@storybook/types" "7.0.26" "@types/qs" "^6.9.5" dequal "^2.0.2" lodash "^4.17.21" @@ -2963,31 +2878,10 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/preview-api@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-7.0.20.tgz#e0d50ee09b6fc973dcd1eac2b1983464bd1f52f2" - integrity sha512-obtzMnI8X1GkOFivHUHsvXu8B0Lr/EECF+y35La1puGKbugviKj/k5vip2rlXmTDuqlxjexHZQOFz4n9NIeHiw== - dependencies: - "@storybook/channel-postmessage" "7.0.20" - "@storybook/channels" "7.0.20" - "@storybook/client-logger" "7.0.20" - "@storybook/core-events" "7.0.20" - "@storybook/csf" "^0.1.0" - "@storybook/global" "^5.0.0" - "@storybook/types" "7.0.20" - "@types/qs" "^6.9.5" - dequal "^2.0.2" - lodash "^4.17.21" - memoizerific "^1.11.3" - qs "^6.10.0" - synchronous-promise "^2.0.15" - ts-dedent "^2.0.0" - util-deprecate "^1.0.2" - -"@storybook/preview@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/preview/-/preview-7.0.20.tgz#13340503a7997977417bc65d339d30e02fb5dbfa" - integrity sha512-ayC7Aud0WM91ki+UM/CInd3GbGPmkUaeT6fqs9zvH8H4QQGznr9E8sI9IUQN0dbpGWayZn0m7Ma89EHwpWOwiw== +"@storybook/preview@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/preview/-/preview-7.0.26.tgz#7d124d07442ef3d3071fe7432103b6bb67280488" + integrity sha512-9Uaxl/MEMYqjLlKAeAF2ATuaM0yQagXUfu2bEOpuor2ys9XoisDkvB7jfsCVqMZHeQ+mCdYyBICHhgqzxcO2Zg== "@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0": version "1.0.6--canary.9.0c3f3b7.0" @@ -3002,23 +2896,23 @@ react-docgen-typescript "^2.2.2" tslib "^2.0.0" -"@storybook/react-dom-shim@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-7.0.20.tgz#d35d3ed21bbe7a67287a95ac08614be41d4e069d" - integrity sha512-/TpK3WZFQ/wV3Z1sCYf5PN+u2XdncozE+wHdoXO0FYr3BY3w0BOeMLg6DauX9Nlbs8nh0RiIvck/sm/eBZH+qA== +"@storybook/react-dom-shim@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-7.0.26.tgz#ca6c392fb5838b5a50d5b0cfcf9bc8fc22e7f841" + integrity sha512-heobG4IovYAD9fo7qmUHylCSQjDd1eXDCOaTiy+XVKobHAJgkz1gKqbaFSP6KLkPE4cKyScku2K9mY0tcKIhMw== -"@storybook/react@7.0.20", "@storybook/react@^7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/react/-/react-7.0.20.tgz#7d75cc6faabb8239383fce840ef70430cb3d1857" - integrity sha512-5F7ENxlAgUMzYu8W4OThn01P5zMPg/4Th/ekeSGJvAzR8OwwNNzHG9tKmu29cz8unmQqCSxkwaC63N1nm4YaBQ== +"@storybook/react@7.0.26", "@storybook/react@^7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/react/-/react-7.0.26.tgz#49da48e62cd1a9daf008f33b509dbcad0ba9c4bd" + integrity sha512-+YK/1vF2Pd/PX7Ss5yPCIh9hee7iMVbu86gdjV9n9r6G244jQ7HLtdA01JKfq92/UgoysSWUjUECrxrUvcsh5w== dependencies: - "@storybook/client-logger" "7.0.20" - "@storybook/core-client" "7.0.20" - "@storybook/docs-tools" "7.0.20" + "@storybook/client-logger" "7.0.26" + "@storybook/core-client" "7.0.26" + "@storybook/docs-tools" "7.0.26" "@storybook/global" "^5.0.0" - "@storybook/preview-api" "7.0.20" - "@storybook/react-dom-shim" "7.0.20" - "@storybook/types" "7.0.20" + "@storybook/preview-api" "7.0.26" + "@storybook/react-dom-shim" "7.0.26" + "@storybook/types" "7.0.26" "@types/escodegen" "^0.0.6" "@types/estree" "^0.0.51" "@types/node" "^16.0.0" @@ -3034,39 +2928,30 @@ type-fest "^2.19.0" util-deprecate "^1.0.2" -"@storybook/router@7.0.18": - version "7.0.18" - resolved "https://registry.yarnpkg.com/@storybook/router/-/router-7.0.18.tgz#c82146a6d4894c6d3d55b80a447010bebf192804" - integrity sha512-Mue4s/BnKgdYcsiW9yuvW3qL9k3AgYn5HIhnkBExAteyiUGdAca4IJFhArmGgFktgeLc4ecBQ7sgaCljApnbgg== +"@storybook/router@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/router/-/router-7.0.26.tgz#397be401febe130baf93a2663324cb097e8cf7f2" + integrity sha512-OfLittKxdahsgKsmQFoBX9q5tN/aqKMhhc/WbW88UPAQCUcEuazB0CwM+LI9YXY+n5L+vpLI4lGlgaqvPy4hHw== dependencies: - "@storybook/client-logger" "7.0.18" + "@storybook/client-logger" "7.0.26" memoizerific "^1.11.3" qs "^6.10.0" -"@storybook/router@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/router/-/router-7.0.20.tgz#5650c0ffa3a1a572b08f9482836a2cecf4b615c0" - integrity sha512-Nzyy62hlP4QR3Dub2/PBqi2E7NjKUd1HBEMXFg2ggWF7ak2h9M1iPI0gGk6sUuC5NBVzYP20eF9wrz3Fe9eq8Q== +"@storybook/store@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/store/-/store-7.0.26.tgz#fe9f29009268da8e1b9da6f5fc59d01cbe29ae2f" + integrity sha512-gJ9LDv8Mos8kPHj7SDEpBxQVL756j+15XUqBeBjgK+/TihnzIFeeX9QaTLo+As8bhgF/P2MVR+v0Qv9Zlm9MgQ== dependencies: - "@storybook/client-logger" "7.0.20" - memoizerific "^1.11.3" - qs "^6.10.0" + "@storybook/client-logger" "7.0.26" + "@storybook/preview-api" "7.0.26" -"@storybook/store@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/store/-/store-7.0.20.tgz#1a2192d696560cbe89bb5330f183fcd4ab26d5d7" - integrity sha512-83fZ1VStLDzaERcx9GfjdUnzfG9n9dVCRf1hdmLvOBZAmVqjw702gdgl5tjh1wpuHTfZlXwZv5VQUjlvRRntAA== +"@storybook/telemetry@7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-7.0.26.tgz#1b80163dd3c7b976d5e66865ae900fe806a3d7fd" + integrity sha512-TgvtARAiD+SNyWJJfQdPiWW5JQkbX1UdHKEqEhoJXsGDkEi2Zpb+1tdeP1qZ3Gfbd1K0/LDpXGcqLv6/deSEdg== dependencies: - "@storybook/client-logger" "7.0.20" - "@storybook/preview-api" "7.0.20" - -"@storybook/telemetry@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-7.0.20.tgz#3932a2f89bed7926e1fac97828e7805ffaf078d1" - integrity sha512-yCNPtu7yrFiBgriaM6Mq68871hTGbDmuiwAF4TXWnpEygtBKFpUomKcwVHGf8Fsc3xdXGl5m6uTfAPseWxfaVA== - dependencies: - "@storybook/client-logger" "7.0.20" - "@storybook/core-common" "7.0.20" + "@storybook/client-logger" "7.0.26" + "@storybook/core-common" "7.0.26" chalk "^4.1.0" detect-package-manager "^2.0.1" fetch-retry "^5.0.2" @@ -3075,38 +2960,26 @@ nanoid "^3.3.1" read-pkg-up "^7.0.1" -"@storybook/testing-library@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@storybook/testing-library/-/testing-library-0.1.0.tgz#1839639765a2de113416d0fa16f9d108dfa6af63" - integrity sha512-g947f4LJZw3IluBhysMKLJXByAFiSxnGuooENqU+ZPt/GTrz1I9GDBlhmoTJahuFkVbwHvziAl/8riY2Re921g== +"@storybook/testing-library@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@storybook/testing-library/-/testing-library-0.2.0.tgz#09202b90ea5bd67b503dbb1a0b1f3ab3eb005d04" + integrity sha512-Ff6jNnrsosmDshgCf0Eb5Cz7IA34p/1Ps5N3Kp3598kfXpBSccSkQQvVFUXC3kIHw/isIXWPqntZuKqnWUz7Gw== dependencies: - "@storybook/client-logger" "^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0" - "@storybook/instrumenter" "^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0" - "@testing-library/dom" "^8.3.0" - "@testing-library/user-event" "^13.2.1" + "@testing-library/dom" "^9.0.0" + "@testing-library/user-event" "^14.0.0" ts-dedent "^2.2.0" -"@storybook/theming@7.0.18", "@storybook/theming@^7.0.2": - version "7.0.18" - resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-7.0.18.tgz#566f5f42c9324b734f8aa9be4d16221278054734" - integrity sha512-P1gMKa/mKQHIMq0sxBIwTzAcF6v/6hrc62YmkuV62vXu+8zNV2YWbRwywqm3Q6faZEadmb/bL9+z8whaKhCL/g== - dependencies: - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" - "@storybook/client-logger" "7.0.18" - "@storybook/global" "^5.0.0" - memoizerific "^1.11.3" - -"@storybook/theming@7.0.20", "@storybook/theming@^7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-7.0.20.tgz#d890c65d20a26c0b7843ae4378f14b70b98396df" - integrity sha512-qmo/RKygt7W+NoHCfszChhSOFKe7eNeGzax4YR7yeX3brTzUQqGnb0onGv7MPtoCPhMFpbktK80u4biZtC7XhQ== +"@storybook/theming@7.0.26", "@storybook/theming@^7.0.12", "@storybook/theming@^7.0.26": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-7.0.26.tgz#b537f92f6168d1228bd4ccc1c3c38dac1c6a02d3" + integrity sha512-7hxpT2yq+xZonSsEZHOF+HDHx6GE0qlys3EQ63K9XCJ8VeBnq9M5zHvMK9iXl90093ufxpvWsfDWgtja2zvmTw== dependencies: "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" - "@storybook/client-logger" "7.0.20" + "@storybook/client-logger" "7.0.26" "@storybook/global" "^5.0.0" memoizerific "^1.11.3" -"@storybook/types@7.0.18", "@storybook/types@^7.0.2": +"@storybook/types@7.0.18": version "7.0.18" resolved "https://registry.yarnpkg.com/@storybook/types/-/types-7.0.18.tgz#9418da288db3a1258996aab17fd49ca4eb810b7a" integrity sha512-qPop2CbvmX42/BX29YT9jIzW2TlMcMjAE+KCpcKLBiD1oT5DJ1fhMzpe6RW9HkMegkBxjWx54iamN4oHM/pwcQ== @@ -3116,15 +2989,15 @@ "@types/express" "^4.7.0" file-system-cache "^2.0.0" -"@storybook/types@7.0.20": - version "7.0.20" - resolved "https://registry.yarnpkg.com/@storybook/types/-/types-7.0.20.tgz#6aadc565f5894512b7f8da2aea9cac9448160519" - integrity sha512-Z7RhHRnhrPd2jXPZtjbOILj1QgylqlsD3cFIYMcSz3yvUvxLRx3BKCftXyFbIuxr0QoCJE38adRp7YGO9uJnQQ== +"@storybook/types@7.0.26", "@storybook/types@^7.0.12": + version "7.0.26" + resolved "https://registry.yarnpkg.com/@storybook/types/-/types-7.0.26.tgz#83be03bcd5ab4cfdac154a25731058466d055ff3" + integrity sha512-5RBi6agtDglNXdffmw4+Fyv2dUdlIdeOdUj0O5+JRYajTxfHdurZd9r/42z4OstN+ORDkLA/svt8Q9JyRpIb6Q== dependencies: - "@storybook/channels" "7.0.20" + "@storybook/channels" "7.0.26" "@types/babel__core" "^7.0.0" "@types/express" "^4.7.0" - file-system-cache "^2.0.0" + file-system-cache "2.3.0" "@swc/helpers@0.5.1": version "0.5.1" @@ -3140,26 +3013,24 @@ dependencies: defer-to-connect "^2.0.0" -"@testing-library/dom@^8.3.0": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.0.tgz#914aa862cef0f5e89b98cc48e3445c4c921010f6" - integrity sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA== +"@testing-library/dom@^9.0.0": + version "9.3.1" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.1.tgz#8094f560e9389fb973fe957af41bf766937a9ee9" + integrity sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w== dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" "@types/aria-query" "^5.0.1" - aria-query "^5.0.0" + aria-query "5.1.3" chalk "^4.1.0" dom-accessibility-api "^0.5.9" - lz-string "^1.4.4" + lz-string "^1.5.0" pretty-format "^27.0.2" -"@testing-library/user-event@^13.2.1": - version "13.5.0" - resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-13.5.0.tgz#69d77007f1e124d55314a2b73fd204b333b13295" - integrity sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg== - dependencies: - "@babel/runtime" "^7.12.5" +"@testing-library/user-event@^14.0.0": + version "14.4.3" + resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-14.4.3.tgz#af975e367743fa91989cd666666aec31a8f50591" + integrity sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q== "@types/aria-query@^5.0.1": version "5.0.1" @@ -3410,7 +3281,7 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== -"@types/node-fetch@^2.5.7": +"@types/node-fetch@^2.5.7", "@types/node-fetch@^2.6.4": version "2.6.4" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.4.tgz#1bc3a26de814f6bf466b25aeb1473fa1afe6a660" integrity sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg== @@ -3970,13 +3841,6 @@ ajv@^8.0.0, ajv@^8.9.0: require-from-string "^2.0.2" uri-js "^4.2.2" -ansi-align@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" - integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== - dependencies: - string-width "^4.1.0" - ansi-html-community@0.0.8, ansi-html-community@^0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" @@ -4059,7 +3923,7 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -aria-query@^5.0.0, aria-query@^5.1.3: +aria-query@5.1.3, aria-query@^5.1.3: version "5.1.3" resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== @@ -5072,20 +4936,6 @@ boolbase@^1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== -boxen@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" - integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^6.2.0" - chalk "^4.1.0" - cli-boxes "^2.2.1" - string-width "^4.2.2" - type-fest "^0.20.2" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - bplist-parser@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" @@ -5337,11 +5187,6 @@ camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001489: version "1.0.30001492" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001492.tgz#4a06861788a52b4c81fd3344573b68cc87fe062b" @@ -5468,11 +5313,6 @@ clean-stack@^2.0.0: resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -cli-boxes@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" @@ -6893,7 +6733,7 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -file-system-cache@^2.0.0: +file-system-cache@2.3.0, file-system-cache@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/file-system-cache/-/file-system-cache-2.3.0.tgz#201feaf4c8cd97b9d0d608e96861bb6005f46fe6" integrity sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ== @@ -8543,7 +8383,7 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lz-string@^1.4.4: +lz-string@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== @@ -9263,6 +9103,13 @@ node-fetch-native@^1.0.2: resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.1.1.tgz#b8977dd7fe6c5599e417301ed3987bca787d3d6f" integrity sha512-9VvspTSUp2Sxbl+9vbZTlFGq9lHwE8GDVVekxx6YsNd1YH59sb3Ba8v3Y3cD8PkLNcileGGcA21PFjVl0jzDaw== +node-fetch@^2.0.0: + version "2.6.12" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" + integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== + dependencies: + whatwg-url "^5.0.0" + node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.6.11" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.11.tgz#cde7fc71deef3131ef80a738919f999e6edfff25" @@ -10986,12 +10833,12 @@ store2@^2.14.2: resolved "https://registry.yarnpkg.com/store2/-/store2-2.14.2.tgz#56138d200f9fe5f582ad63bc2704dbc0e4a45068" integrity sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w== -storybook@^7.0.20: - version "7.0.20" - resolved "https://registry.yarnpkg.com/storybook/-/storybook-7.0.20.tgz#3ee3d36bebdab774f1d6d53eca6bf77415a54ba1" - integrity sha512-QxMdqeY7oigiwnVqVPp8550CUtfWW5fujkVXUhgyI1u4i9dpmJxkxWRvfSvhGKAvHf0n2BZ550SevZRPrCr+Tg== +storybook@^7.0.26: + version "7.0.26" + resolved "https://registry.yarnpkg.com/storybook/-/storybook-7.0.26.tgz#70a55074644c265770cc015c576aa005dad3b2ef" + integrity sha512-N6+/QBIahTnOJ3mQFNh+PIimjw+yUUoBlnMq8kE1Rg6QFi8ErEK8xte6uppiTh+7ShpqeLhp9ipuDV6DwJ9Aqg== dependencies: - "@storybook/cli" "7.0.20" + "@storybook/cli" "7.0.26" stream-browserify@^3.0.0: version "3.0.0" @@ -11042,7 +10889,7 @@ streamsearch@^1.1.0: resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -11938,13 +11785,6 @@ wide-align@^1.1.2: dependencies: string-width "^1.0.2 || 2 || 3 || 4" -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" From 70f6ac5aa8ea0392e7ad7e73d7b989edd16962ca Mon Sep 17 00:00:00 2001 From: Ariful islam Date: Sun, 9 Jul 2023 00:20:44 +0600 Subject: [PATCH 5/7] feat: Sidebar List navigation --- docs/List.stories.tsx | 189 ++++++++++++++++++++-------- src/global/navigations/index.ts | 87 +++++++++++++ src/global/types/index.ts | 15 +++ src/widgets/Sidebar/NestedNavs.tsx | 93 ++++++++++++++ src/widgets/Sidebar/Types.ts | 16 +-- src/widgets/Sidebar/index.tsx | 196 +++-------------------------- 6 files changed, 351 insertions(+), 245 deletions(-) create mode 100644 src/global/navigations/index.ts create mode 100644 src/global/types/index.ts create mode 100644 src/widgets/Sidebar/NestedNavs.tsx diff --git a/docs/List.stories.tsx b/docs/List.stories.tsx index d0c14d8..d4e2d79 100644 --- a/docs/List.stories.tsx +++ b/docs/List.stories.tsx @@ -1,4 +1,4 @@ -import { ReactElement, Fragment } from "react"; +import { ReactElement, Fragment, FC } from "react"; import type { Meta, StoryObj, StoryContext } from "@storybook/react"; import List from "@mui/material/List"; import ListItem from "@mui/material/ListItem"; @@ -63,18 +63,23 @@ const meta: Meta = { export default meta; type Story = StoryObj; -interface NavsOptions { +export interface NestedNavOptioms { + navigation: NavigationOptions; + nested?: number; +} + +export interface NavigationOptions { key: string; name: string; href: string; icon: ReactElement; - nested?: NavsOptions[]; + nested?: NavigationOptions[]; } -interface NavigationOptions { +export interface NavOptions { key: string; title: string; - navs: NavsOptions[]; + navs: NavigationOptions[]; } const DATA: NavigationOptions[] = [ @@ -152,65 +157,145 @@ const DATA: NavigationOptions[] = [ }, ]; -const NestedNavs = ({ nav, open, setOpen, nested = 2 }: any) => { +const NAVIGATIONS: NavOptions[] = [ + { + key: "OverView", + title: "Overview", + navs: [ + { + key: "OverView_Menu_one_example", + name: "Menu one example", + href: "/", + icon: , + }, + { + key: "OverView_Menu_two_example", + name: "Menu two example", + href: "/menutwo", + icon: , + }, + ], + }, + { + key: "Management", + title: "Management", + navs: [ + { + key: "Management_Menu Label one", + name: "Menu Label one", + href: "#", + icon: , + nested: [ + { + key: "Management_Menu_Label_two", + name: "Menu Label two", + href: "/faq", + icon: , + }, + { + key: "Management_Menu_Label_2.2", + name: "Menu Label 2.2", + href: "/details/about", + icon: , + }, + ], + }, + { + key: "Management_Menu_two_Label_one", + name: "Menu two Label one", + href: "", + icon: , + nested: [ + { + key: "Management_Menu_two_Label_2.1", + name: "Menu two Label 2.1", + href: "/details/post", + icon: , + }, + { + key: "Management_Menu_two_Label_2.2", + name: "Menu two Label 2.2", + href: "/details/about", + icon: , + nested: [ + { + key: "Management_Menu_two_Label_3.1", + name: "Menu two Label 3.1", + href: "/details/aboutas", + icon: , + }, + ], + }, + ], + }, + ], + }, +]; + +const NestedNavs = ({ navigation, nested = 2, open, setOpen }: any) => { // const router = useRouter(); + + const onNavigationHandle = (href: string, isNested: boolean) => { + if (isNested) { + setOpen((prevState: boolean) => !prevState); + return; + } + // router.push(href); + }; + return ( - + + onNavigationHandle(navigation.href, Boolean(navigation.nested)) + } sx={{ pl: nested, }} - onClick={() => { - if (!Boolean(open.includes(nav.key))) { - setOpen((prevState: any) => [...prevState, nav.key]); - } else { - setOpen((prevState: any) => - prevState.filter((d: any) => d !== nav.key) - ); - } - }} > - {nav?.icon} - + {navigation.icon} + - + {Boolean(navigation.nested) && ( + + )} - - - {nav?.nested?.map((nest: any) => { - if (!Boolean(nest?.nested)) { + {Boolean(navigation.nested) && ( + + + {navigation.nested.map((nest: NavigationOptions) => { + if (!Boolean(nest.nested)) { + return ( + + onNavigationHandle(nest.href, Boolean(nest.nested)) + } + sx={{ + pl: nested + 1, + }} + > + {nest.icon} + + + ); + } return ( - router.push(nest.href)} - > - {nest.icon} - - + navigation={nest} + nested={nested + 1} + /> ); - } - return ( - - ); - })} - - + })} + + + )} ); }; diff --git a/src/global/navigations/index.ts b/src/global/navigations/index.ts new file mode 100644 index 0000000..557a0cf --- /dev/null +++ b/src/global/navigations/index.ts @@ -0,0 +1,87 @@ +// Icons +import BeachAccessIcon from "@mui/icons-material/BeachAccess"; +import WorkOutlineIcon from "@mui/icons-material/WorkOutline"; +import ImageIcon from "@mui/icons-material/Image"; +import HomeIcon from "@mui/icons-material/Home"; +import AlignHorizontalCenterIcon from "@mui/icons-material/AlignHorizontalCenter"; +import AllInclusiveIcon from "@mui/icons-material/AllInclusive"; +import AspectRatioIcon from "@mui/icons-material/AspectRatio"; +import AutoGraphOutlinedIcon from "@mui/icons-material/AutoGraphOutlined"; +import AutoAwesomeMotionIcon from "@mui/icons-material/AutoAwesomeMotion"; + +import { NavOptions } from "src/global/types"; + +export const NAVIGATIONS: NavOptions[] = [ + { + key: "OverView", + title: "Overview", + navs: [ + { + key: "OverView_Menu_one_example", + name: "Menu one example", + href: "/", + icon: HomeIcon, + }, + { + key: "OverView_Menu_two_example", + name: "Menu two example", + href: "/menutwo", + icon: BeachAccessIcon, + }, + ], + }, + { + key: "Management", + title: "Management", + navs: [ + { + key: "Management_Menu Label one", + name: "Menu Label one", + href: "#", + icon: AutoGraphOutlinedIcon, + nested: [ + { + key: "Management_Menu_Label_two", + name: "Menu Label two", + href: "/faq", + icon: AlignHorizontalCenterIcon, + }, + { + key: "Management_Menu_Label_2.2", + name: "Menu Label 2.2", + href: "/details/about", + icon: WorkOutlineIcon, + }, + ], + }, + { + key: "Management_Menu_two_Label_one", + name: "Menu two Label one", + href: "", + icon: ImageIcon, + nested: [ + { + key: "Management_Menu_two_Label_2.1", + name: "Menu two Label 2.1", + href: "/details/post", + icon: AspectRatioIcon, + }, + { + key: "Management_Menu_two_Label_2.2", + name: "Menu two Label 2.2", + href: "/details/about", + icon: AllInclusiveIcon, + nested: [ + { + key: "Management_Menu_two_Label_3.1", + name: "Menu two Label 3.1", + href: "/details/aboutas", + icon: AutoAwesomeMotionIcon, + }, + ], + }, + ], + }, + ], + }, +]; diff --git a/src/global/types/index.ts b/src/global/types/index.ts new file mode 100644 index 0000000..e5573ac --- /dev/null +++ b/src/global/types/index.ts @@ -0,0 +1,15 @@ +import { SvgIconComponent } from "@mui/icons-material"; + +export interface NavOptions { + key: string; + title: string; + navs: NavigationOptions[]; +} + +export interface NavigationOptions { + key: string; + name: string; + href: string; + icon: SvgIconComponent; + nested?: NavigationOptions[]; +} diff --git a/src/widgets/Sidebar/NestedNavs.tsx b/src/widgets/Sidebar/NestedNavs.tsx new file mode 100644 index 0000000..6a168e9 --- /dev/null +++ b/src/widgets/Sidebar/NestedNavs.tsx @@ -0,0 +1,93 @@ +"use client"; +import { FC, useState, Fragment } from "react"; +import List from "@mui/material/List"; +import ListItemButton from "@mui/material/ListItemButton"; +import ListItemIcon from "@mui/material/ListItemIcon"; +import ListItemText from "@mui/material/ListItemText"; +import KeyboardArrowRight from "@mui/icons-material/KeyboardArrowRight"; +import Collapse from "@mui/material/Collapse"; +import { useRouter } from "next/navigation"; + +import { NavigationOptions } from "src/global/types"; +import { NestedNavOptioms } from "./Types"; + +const DEFUALT_NESTED_LEFT_PADDING: number = 1; + +const NestedNavs: FC = ({ navigation, nested = 2 }) => { + const { icon: NavIcon } = navigation; + + const [open, setOpen] = useState(false); + + const router = useRouter(); + + const onNavigationHandle = (href: string, isNested: boolean) => { + if (isNested) { + setOpen((prevState: boolean) => !prevState); + return; + } + router.push(href); + }; + + return ( + + + onNavigationHandle(navigation.href, Boolean(navigation.nested)) + } + sx={{ + pl: nested, + }} + > + + + + + + {Boolean(navigation.nested) && ( + + )} + + {Boolean(navigation.nested) && ( + + + {navigation?.nested?.map((nest: NavigationOptions) => { + if (!Boolean(nest.nested)) { + const { icon: NestIcon } = nest; + return ( + + onNavigationHandle(nest.href, Boolean(nest.nested)) + } + sx={{ + pl: nested + DEFUALT_NESTED_LEFT_PADDING, + }} + > + + + + + + ); + } + return ( + + ); + })} + + + )} + + ); +}; + +export default NestedNavs; diff --git a/src/widgets/Sidebar/Types.ts b/src/widgets/Sidebar/Types.ts index 21fb52e..a3cb3a3 100644 --- a/src/widgets/Sidebar/Types.ts +++ b/src/widgets/Sidebar/Types.ts @@ -1,4 +1,4 @@ -import { ReactElement } from "react"; +import { NavigationOptions } from "src/global/types"; export interface SidebarOptions {} @@ -6,17 +6,3 @@ export interface NestedNavOptioms { navigation: NavigationOptions; nested?: number; } - -export interface NavigationOptions { - key: string; - name: string; - href: string; - icon: ReactElement; - nested?: NavigationOptions[]; -} - -export interface NavOptions { - key: string; - title: string; - navs: NavigationOptions[]; -} diff --git a/src/widgets/Sidebar/index.tsx b/src/widgets/Sidebar/index.tsx index 75ca9ba..d3188ed 100644 --- a/src/widgets/Sidebar/index.tsx +++ b/src/widgets/Sidebar/index.tsx @@ -2,204 +2,44 @@ import { FC, useState, Fragment } from "react"; import Paper from "@mui/material/Paper"; import List from "@mui/material/List"; -import ListItemButton from "@mui/material/ListItemButton"; -import ListItemIcon from "@mui/material/ListItemIcon"; -import ListItemText from "@mui/material/ListItemText"; import ListSubheader from "@mui/material/ListSubheader"; -import KeyboardArrowRight from "@mui/icons-material/KeyboardArrowRight"; import Collapse from "@mui/material/Collapse"; -import { useRouter } from "next/navigation"; -// Icons -import BeachAccessIcon from "@mui/icons-material/BeachAccess"; -import WorkOutlineIcon from "@mui/icons-material/WorkOutline"; -import ImageIcon from "@mui/icons-material/Image"; -import HomeIcon from "@mui/icons-material/Home"; -import AlignHorizontalCenterIcon from "@mui/icons-material/AlignHorizontalCenter"; -import AllInclusiveIcon from "@mui/icons-material/AllInclusive"; -import AspectRatioIcon from "@mui/icons-material/AspectRatio"; -import AutoGraphOutlinedIcon from "@mui/icons-material/AutoGraphOutlined"; -import AutoAwesomeMotionIcon from "@mui/icons-material/AutoAwesomeMotion"; -import { - SidebarOptions, - NestedNavOptioms, - NavOptions, - NavigationOptions, -} from "./Types"; +import NestedNavs from "./NestedNavs"; +import { NAVIGATIONS } from "src/global/navigations"; +import { NavOptions, NavigationOptions } from "src/global/types"; +import { SidebarOptions } from "./Types"; -const NAVIGATIONS: NavOptions[] = [ - { - key: "OverView", - title: "Overview", - navs: [ - { - key: "OverView_Menu_one_example", - name: "Menu one example", - href: "/", - icon: , - }, - { - key: "OverView_Menu_two_example", - name: "Menu two example", - href: "/menutwo", - icon: , - }, - ], - }, - { - key: "Management", - title: "Management", - navs: [ - { - key: "Management_Menu Label one", - name: "Menu Label one", - href: "#", - icon: , - nested: [ - { - key: "Management_Menu_Label_two", - name: "Menu Label two", - href: "/faq", - icon: , - }, - { - key: "Management_Menu_Label_2.2", - name: "Menu Label 2.2", - href: "/details/about", - icon: , - }, - ], - }, - { - key: "Management_Menu_two_Label_one", - name: "Menu two Label one", - href: "", - icon: , - nested: [ - { - key: "Management_Menu_two_Label_2.1", - name: "Menu two Label 2.1", - href: "/details/post", - icon: , - }, - { - key: "Management_Menu_two_Label_2.2", - name: "Menu two Label 2.2", - href: "/details/about", - icon: , - nested: [ - { - key: "Management_Menu_two_Label_3.1", - name: "Menu two Label 3.1", - href: "/details/aboutas", - icon: , - }, - ], - }, - ], - }, - ], - }, -]; - -const NestedNavs: FC = ({ navigation, nested = 2 }: any) => { - const [open, setOpen] = useState(false); - - const router = useRouter(); +const Sidebar: FC = () => { + const [groupCollapse, setGroupCollapse] = useState([""]); - const onNavigationHandle = (href: string, isNested: boolean) => { - if (isNested) { - setOpen((prev) => !prev); + const onHandleCollapse = (navKey: string) => { + if (!Boolean(groupCollapse.includes(navKey))) { + setGroupCollapse((prevState) => [...prevState, navKey]); return; } - router.push(href); + setGroupCollapse((prevState) => + prevState.filter((d: string) => d !== navKey) + ); }; - return ( - - - onNavigationHandle(navigation.href, Boolean(navigation.nested)) - } - sx={{ - pl: nested, - }} - > - {navigation.icon} - - - {Boolean(navigation.nested) && ( - - )} - - {Boolean(navigation.nested) && ( - - - {navigation.nested.map((nest: NavigationOptions) => { - if (!Boolean(nest.nested)) { - return ( - - onNavigationHandle(nest.href, Boolean(nest.nested)) - } - sx={{ - pl: nested + 1, - }} - > - {nest.icon} - - - ); - } - return ( - - ); - })} - - - )} - - ); -}; - -const Sidebar: FC = () => { - const [groupCollapse, setGroupCollapse] = useState([""]); - return ( - {NAVIGATIONS.map((nav: NavOptions) => { + {NAVIGATIONS.map(({ key, title, navs }: NavOptions) => { return ( - + { - if (!Boolean(groupCollapse.includes(nav.key))) { - setGroupCollapse((prevState) => [...prevState, nav.key]); - } else { - setGroupCollapse((prevState) => - prevState.filter((d) => d !== nav.key) - ); - } - }} + onClick={() => onHandleCollapse(key)} sx={{ cursor: "pointer", }} > - {nav.title} + {title} - - {nav.navs.map((navigation: NavigationOptions) => ( + + {navs.map((navigation: NavigationOptions) => ( ))} From 87bc2d1ace7d2c233f9cf9e8c0e9543e1a4855fa Mon Sep 17 00:00:00 2001 From: Ariful islam Date: Sun, 9 Jul 2023 00:40:18 +0600 Subject: [PATCH 6/7] fix: List navigation sb docs --- docs/List.stories.tsx | 439 +++++++++++++++------------------- src/widgets/Sidebar/index.tsx | 4 +- 2 files changed, 198 insertions(+), 245 deletions(-) diff --git a/docs/List.stories.tsx b/docs/List.stories.tsx index d4e2d79..c128e0e 100644 --- a/docs/List.stories.tsx +++ b/docs/List.stories.tsx @@ -13,6 +13,8 @@ import Avatar from "@mui/material/Avatar"; import { argChildren, argProps } from "./utils/formatArgs"; import Paper from "@mui/material/Paper"; import { useArgs, useState } from "@storybook/addons"; +import { SvgIconComponent } from "@mui/icons-material"; + // Icons import BeachAccessIcon from "@mui/icons-material/BeachAccess"; import WorkIcon from "@mui/icons-material/Work"; @@ -68,94 +70,19 @@ export interface NestedNavOptioms { nested?: number; } -export interface NavigationOptions { - key: string; - name: string; - href: string; - icon: ReactElement; - nested?: NavigationOptions[]; -} - export interface NavOptions { key: string; title: string; navs: NavigationOptions[]; } -const DATA: NavigationOptions[] = [ - { - key: "OverView", - title: "Overview", - navs: [ - { - key: "OverView_Menu_one_example", - name: "Menu one example", - href: "/menuone", - icon: , - }, - { - key: "OverView_Menu_two_example", - name: "Menu two example", - href: "/menutwo", - icon: , - }, - ], - }, - { - key: "Management", - title: "Management", - navs: [ - { - key: "Management_Menu Label one", - name: "Menu Label one", - href: "#", - icon: , - nested: [ - { - key: "Management_Menu_Label_two", - name: "Menu Label two", - href: "/faq", - icon: , - }, - { - key: "Management_Menu_Label_2.2", - name: "Menu Label 2.2", - href: "/details/about", - icon: , - }, - ], - }, - { - key: "Management_Menu_two_Label_one", - name: "Menu two Label one", - href: "", - icon: , - nested: [ - { - key: "Management_Menu_two_Label_2.1", - name: "Menu two Label 2.1", - href: "/details/post", - icon: , - }, - { - key: "Management_Menu_two_Label_2.2", - name: "Menu two Label 2.2", - href: "/details/about", - icon: , - nested: [ - { - key: "Management_Menu_two_Label_3.1", - name: "Menu two Label 3.1", - href: "/details/aboutas", - icon: , - }, - ], - }, - ], - }, - ], - }, -]; +export interface NavigationOptions { + key: string; + name: string; + href: string; + icon: SvgIconComponent; + nested?: NavigationOptions[]; +} const NAVIGATIONS: NavOptions[] = [ { @@ -166,13 +93,13 @@ const NAVIGATIONS: NavOptions[] = [ key: "OverView_Menu_one_example", name: "Menu one example", href: "/", - icon: , + icon: HomeIcon, }, { key: "OverView_Menu_two_example", name: "Menu two example", href: "/menutwo", - icon: , + icon: BeachAccessIcon, }, ], }, @@ -184,19 +111,19 @@ const NAVIGATIONS: NavOptions[] = [ key: "Management_Menu Label one", name: "Menu Label one", href: "#", - icon: , + icon: AutoGraphOutlinedIcon, nested: [ { key: "Management_Menu_Label_two", name: "Menu Label two", href: "/faq", - icon: , + icon: AlignHorizontalCenterIcon, }, { key: "Management_Menu_Label_2.2", name: "Menu Label 2.2", href: "/details/about", - icon: , + icon: WorkOutlineIcon, }, ], }, @@ -204,25 +131,25 @@ const NAVIGATIONS: NavOptions[] = [ key: "Management_Menu_two_Label_one", name: "Menu two Label one", href: "", - icon: , + icon: ImageIcon, nested: [ { key: "Management_Menu_two_Label_2.1", name: "Menu two Label 2.1", href: "/details/post", - icon: , + icon: AspectRatioIcon, }, { key: "Management_Menu_two_Label_2.2", name: "Menu two Label 2.2", href: "/details/about", - icon: , + icon: AllInclusiveIcon, nested: [ { key: "Management_Menu_two_Label_3.1", name: "Menu two Label 3.1", href: "/details/aboutas", - icon: , + icon: AutoAwesomeMotionIcon, }, ], }, @@ -232,44 +159,51 @@ const NAVIGATIONS: NavOptions[] = [ }, ]; +const DEFUALT_NESTED_LEFT_PADDING: number = 1; + const NestedNavs = ({ navigation, nested = 2, open, setOpen }: any) => { - // const router = useRouter(); + const { icon: NavIcon } = navigation; const onNavigationHandle = (href: string, isNested: boolean) => { - if (isNested) { - setOpen((prevState: boolean) => !prevState); + if (!Boolean(open.includes(isNested))) { + setOpen((prevState: string[]) => [...prevState, isNested]); return; } - // router.push(href); + setOpen((prevState: string[]) => + prevState.filter((d: any) => d !== isNested) + ); }; return ( - onNavigationHandle(navigation.href, Boolean(navigation.nested)) - } + onClick={() => onNavigationHandle(navigation.href, navigation.key)} sx={{ pl: nested, }} > - {navigation.icon} + + + {Boolean(navigation.nested) && ( )} {Boolean(navigation.nested) && ( - + - {navigation.nested.map((nest: NavigationOptions) => { + {navigation?.nested?.map((nest: NavigationOptions) => { if (!Boolean(nest.nested)) { + const { icon: NestIcon } = nest; return ( { onNavigationHandle(nest.href, Boolean(nest.nested)) } sx={{ - pl: nested + 1, + pl: nested + DEFUALT_NESTED_LEFT_PADDING, }} > - {nest.icon} + + + ); @@ -289,7 +225,9 @@ const NestedNavs = ({ navigation, nested = 2, open, setOpen }: any) => { ); })} @@ -388,52 +326,39 @@ export const ListNavigation: Story = { setOpen, ...args }: any) => { + const onHandleCollapse = (navKey: string) => { + if (!Boolean(groupCollapse.includes(navKey))) { + setGroupCollapse((prevState: string[]) => [...prevState, navKey]); + return; + } + setGroupCollapse((prevState: string[]) => + prevState.filter((d: string) => d !== navKey) + ); + }; return ( - {DATA.map((item) => { + {NAVIGATIONS.map(({ key, title, navs }: NavOptions) => { return ( - + { - if (!Boolean(groupCollapse.includes(item.key))) { - setGroupCollapse((prevState: any) => [ - ...prevState, - item.key, - ]); - } else { - setGroupCollapse((prevState: any) => - prevState.filter((d: any) => d !== item.key) - ); - } - }} + onClick={() => onHandleCollapse(key)} sx={{ cursor: "pointer", }} > - {item.title} + {title} - - {item.navs.map((nav) => { - if (!Boolean(nav?.nested)) { - return ( - - {nav.icon} - - - ); - } - - return ( - - ); - })} + + {navs.map((navigation: NavigationOptions) => ( + + ))} ); @@ -470,21 +395,44 @@ export const ListNavigation: Story = { source: { transform: (code: string, storyContext: StoryContext): string => ` -interface NavsOptions { +import { FC, useState, Fragment } from "react"; +import Paper from "@mui/material/Paper"; +import List from "@mui/material/List"; +import ListItemButton from "@mui/material/ListItemButton"; +import ListItemIcon from "@mui/material/ListItemIcon"; +import ListItemText from "@mui/material/ListItemText"; +import KeyboardArrowRight from "@mui/icons-material/KeyboardArrowRight"; +import ListSubheader from "@mui/material/ListSubheader"; +import Collapse from "@mui/material/Collapse"; +import { useRouter } from "next/navigation"; + +// Icons +import BeachAccessIcon from "@mui/icons-material/BeachAccess"; +import WorkOutlineIcon from "@mui/icons-material/WorkOutline"; +import ImageIcon from "@mui/icons-material/Image"; +import HomeIcon from "@mui/icons-material/Home"; +import AlignHorizontalCenterIcon from "@mui/icons-material/AlignHorizontalCenter"; +import AllInclusiveIcon from "@mui/icons-material/AllInclusive"; +import AspectRatioIcon from "@mui/icons-material/AspectRatio"; +import AutoGraphOutlinedIcon from "@mui/icons-material/AutoGraphOutlined"; +import AutoAwesomeMotionIcon from "@mui/icons-material/AutoAwesomeMotion"; +import { SvgIconComponent } from "@mui/icons-material"; + +export interface NavOptions { key: string; - name: string; - href: string; - icon: ReactElement; - nested?: NavsOptions[]; + title: string; + navs: NavigationOptions[]; } -interface NavigationOptions { +export interface NavigationOptions { key: string; - title: string; - navs: NavsOptions[]; + name: string; + href: string; + icon: SvgIconComponent; + nested?: NavigationOptions[]; } -const DATA: NavigationOptions[] = [ +export const NAVIGATIONS: NavOptions[] = [ { key: "OverView", title: "Overview", @@ -492,14 +440,14 @@ const DATA: NavigationOptions[] = [ { key: "OverView_Menu_one_example", name: "Menu one example", - href: "/menuone", - icon: , + href: "/", + icon: HomeIcon, }, { key: "OverView_Menu_two_example", name: "Menu two example", href: "/menutwo", - icon: , + icon: BeachAccessIcon, }, ], }, @@ -511,19 +459,19 @@ const DATA: NavigationOptions[] = [ key: "Management_Menu Label one", name: "Menu Label one", href: "#", - icon: , + icon: AutoGraphOutlinedIcon, nested: [ { key: "Management_Menu_Label_two", name: "Menu Label two", href: "/faq", - icon: , + icon: AlignHorizontalCenterIcon, }, { key: "Management_Menu_Label_2.2", name: "Menu Label 2.2", href: "/details/about", - icon: , + icon: WorkOutlineIcon, }, ], }, @@ -531,25 +479,25 @@ const DATA: NavigationOptions[] = [ key: "Management_Menu_two_Label_one", name: "Menu two Label one", href: "", - icon: , + icon: ImageIcon, nested: [ { key: "Management_Menu_two_Label_2.1", name: "Menu two Label 2.1", href: "/details/post", - icon: , + icon: AspectRatioIcon, }, { key: "Management_Menu_two_Label_2.2", name: "Menu two Label 2.2", href: "/details/about", - icon: , + icon: AllInclusiveIcon, nested: [ { key: "Management_Menu_two_Label_3.1", name: "Menu two Label 3.1", href: "/details/aboutas", - icon: , + icon: AutoAwesomeMotionIcon, }, ], }, @@ -559,116 +507,121 @@ const DATA: NavigationOptions[] = [ }, ]; -const NestedNavs = ({ nav, open, setOpen, nested = 2 }: any) => { - // const router = useRouter(); +export interface NestedNavOptioms { + navigation: NavigationOptions; + nested?: number; +} + +const NestedNavs: FC = ({ navigation, nested = 2 }) => { + const { icon: NavIcon } = navigation; + + const [open, setOpen] = useState(false); + + const router = useRouter(); + + const onNavigationHandle = (href: string, isNested: boolean) => { + if (isNested) { + setOpen((prevState: boolean) => !prevState); + return; + } + router.push(href); + }; + return ( - + + onNavigationHandle(navigation.href, Boolean(navigation.nested)) + } sx={{ pl: nested, }} - onClick={() => { - if (!Boolean(open.includes(nav.key))) { - setOpen((prevState: any) => [...prevState, nav.key]); - } else { - setOpen((prevState: any) => - prevState.filter((d: any) => d !== nav.key) - ); - } - }} > - {nav?.icon} - + + + + - + {Boolean(navigation.nested) && ( + + )} - - - {nav?.nested?.map((nest: any) => { - if (!Boolean(nest?.nested)) { + {Boolean(navigation.nested) && ( + + + {navigation?.nested?.map((nest: NavigationOptions) => { + if (!Boolean(nest.nested)) { + const { icon: NestIcon } = nest; + return ( + + onNavigationHandle(nest.href, Boolean(nest.nested)) + } + sx={{ + pl: nested + DEFUALT_NESTED_LEFT_PADDING, + }} + > + + + + + + ); + } return ( - router.push(nest.href)} - > - {nest.icon} - - + navigation={nest} + nested={nested + DEFUALT_NESTED_LEFT_PADDING} + /> ); - } - return ( - - ); - })} - - + })} + + + )} ); }; + export default function Basic(){ + const [groupCollapse, setGroupCollapse] = useState([""]); + + const onHandleCollapse = (navKey: string) => { + if (!Boolean(groupCollapse.includes(navKey))) { + setGroupCollapse((prevState: string[]) => [...prevState, navKey]); + return; + } + setGroupCollapse((prevState: string[]) => + prevState.filter((d: string) => d !== navKey) + ); + }; + return( - - {DATA.map((item) => { + + {NAVIGATIONS.map(({ key, title, navs }: NavOptions) => { return ( - + { - if (!Boolean(groupCollapse.includes(item.key))) { - setGroupCollapse((prevState: any) => [ - ...prevState, - item.key, - ]); - } else { - setGroupCollapse((prevState: any) => - prevState.filter((d: any) => d !== item.key) - ); - } - }} + onClick={() => onHandleCollapse(key)} sx={{ cursor: "pointer", }} > - {item.title} + {title} - - {item.navs.map((nav) => { - if (!Boolean(nav?.nested)) { - return ( - - {nav.icon} - - - ); - } - - return ( - - ); - })} + + {navs.map((navigation: NavigationOptions) => ( + + ))} ); diff --git a/src/widgets/Sidebar/index.tsx b/src/widgets/Sidebar/index.tsx index d3188ed..15b900b 100644 --- a/src/widgets/Sidebar/index.tsx +++ b/src/widgets/Sidebar/index.tsx @@ -15,10 +15,10 @@ const Sidebar: FC = () => { const onHandleCollapse = (navKey: string) => { if (!Boolean(groupCollapse.includes(navKey))) { - setGroupCollapse((prevState) => [...prevState, navKey]); + setGroupCollapse((prevState: string[]) => [...prevState, navKey]); return; } - setGroupCollapse((prevState) => + setGroupCollapse((prevState: string[]) => prevState.filter((d: string) => d !== navKey) ); }; From 0a1ff5700931faf9ce74fe643f0142fd4c20df71 Mon Sep 17 00:00:00 2001 From: Ariful islam Date: Sun, 9 Jul 2023 00:45:42 +0600 Subject: [PATCH 7/7] fix: List navigation source sb docs --- docs/List.stories.tsx | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/List.stories.tsx b/docs/List.stories.tsx index c128e0e..adc9345 100644 --- a/docs/List.stories.tsx +++ b/docs/List.stories.tsx @@ -65,11 +65,6 @@ const meta: Meta = { export default meta; type Story = StoryObj; -export interface NestedNavOptioms { - navigation: NavigationOptions; - nested?: number; -} - export interface NavOptions { key: string; title: string; @@ -394,7 +389,7 @@ export const ListNavigation: Story = { docs: { source: { transform: (code: string, storyContext: StoryContext): string => ` - +"use client"; import { FC, useState, Fragment } from "react"; import Paper from "@mui/material/Paper"; import List from "@mui/material/List"; @@ -512,6 +507,9 @@ export interface NestedNavOptioms { nested?: number; } +const DEFUALT_NESTED_LEFT_PADDING: number = 1; + + const NestedNavs: FC = ({ navigation, nested = 2 }) => { const { icon: NavIcon } = navigation;