diff --git a/apps/palette/CHANGELOG.md b/apps/palette/CHANGELOG.md index f864dbe12..fb03ad8aa 100644 --- a/apps/palette/CHANGELOG.md +++ b/apps/palette/CHANGELOG.md @@ -1,5 +1,18 @@ # palette +## 1.4.7 + +### Patch Changes + +- Updated dependencies [31d05ed5] +- Updated dependencies [dddb3d1a] +- Updated dependencies [ebba8404] +- Updated dependencies [91412d77] +- Updated dependencies [a3180b02] +- Updated dependencies [91412d77] + - @saas-ui/react@2.4.0 + - @saas-ui/theme-glass@0.5.1 + ## 1.4.6 ### Patch Changes diff --git a/apps/palette/package.json b/apps/palette/package.json index 2d548fa93..0af754747 100644 --- a/apps/palette/package.json +++ b/apps/palette/package.json @@ -1,6 +1,6 @@ { "name": "palette-docs", - "version": "1.4.6", + "version": "1.4.7", "private": true, "scripts": { "dev": "next dev", diff --git a/apps/website/CHANGELOG.md b/apps/website/CHANGELOG.md index 8315d50ee..0de53b41e 100644 --- a/apps/website/CHANGELOG.md +++ b/apps/website/CHANGELOG.md @@ -1,5 +1,19 @@ # website +## 2.3.3 + +### Patch Changes + +- Updated dependencies [31d05ed5] +- Updated dependencies [dddb3d1a] +- Updated dependencies [68995558] +- Updated dependencies [ebba8404] +- Updated dependencies [91412d77] +- Updated dependencies [a3180b02] +- Updated dependencies [91412d77] + - @saas-ui/react@2.4.0 + - @saas-ui/forms@2.3.0 + ## 2.3.2 ### Patch Changes diff --git a/apps/website/package.json b/apps/website/package.json index 04a998ae7..8a9f1a9bf 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -1,6 +1,6 @@ { "name": "website", - "version": "2.3.2", + "version": "2.3.3", "private": true, "author": "Eelco Wiersma ", "scripts": { diff --git a/apps/website/src/components/overview/item.tsx b/apps/website/src/components/overview/item.tsx index e1d0ef8be..259a43080 100644 --- a/apps/website/src/components/overview/item.tsx +++ b/apps/website/src/components/overview/item.tsx @@ -8,6 +8,7 @@ import { Checkbox, CloseButton, Code, + Flex, FormControl, FormErrorMessage, FormLabel, @@ -18,6 +19,7 @@ import { Input, LinkBox, LinkOverlay, + Spacer, Table, Tbody, Td, @@ -36,6 +38,7 @@ import { ToolbarButton, Command, ActiveFilter, + Beacon, } from '@saas-ui-pro/react' import { AppShell, @@ -65,11 +68,23 @@ import { Web3Address, Steps, StepsItem, + Navbar, + SelectOption, + SelectList, + Link, + Timeline, + TimelineItem, + TimelineSeparator, + TimelineDot, + TimelineContent, + TimelineTrack, + TimelineIcon, } from '@saas-ui/react' import NextLink from 'next/link' import { FiBold, FiCheck, + FiFilter, FiHome, FiItalic, FiMaximize, @@ -77,6 +92,8 @@ import { FiUnderline, FiUsers, } from 'react-icons/fi' +import SaasUIGlyph from '../saas-ui-glyph' +import { SelectButton } from '@saas-ui/forms' const autoform = `z.object({ name: z.string() @@ -111,11 +128,39 @@ const componentIllustrations = { /> ), + splitpage: ( + + + + + + } + /> + + + + + + ), section: ( -
+
), + commandbar: CMD+K, + togglebutton: ( + + ), + web3address: ( + + ), toolbar: ( } /> @@ -130,6 +175,21 @@ const componentIllustrations = { ), + navbar: ( + + + + + + ), sidebar: ( @@ -203,11 +263,16 @@ const componentIllustrations = { ), select: ( - + Fullstack Developer + + + Fullstack Developer + + + + ), passwordinput: ( @@ -219,6 +284,11 @@ const componentIllustrations = { ), + fileupload: ( + + Drop your files here or select files + + ), datatable: ( @@ -254,7 +324,7 @@ const componentIllustrations = { actions={} /> ), - list: ( + structuredlist: ( @@ -285,6 +355,27 @@ const componentIllustrations = { tertiaryLabel="Out for lunch" /> ), + timeline: ( + + + + + + + + New signup + + + + + + + + Account upgraded + + + + ), command: G then D, datagrid: ( @@ -329,6 +420,23 @@ const componentIllustrations = { filters: ( ), + kanban: ( + + + Todo + + + + Done + + + + + Doing + + + + ), banner: ( @@ -350,7 +458,7 @@ const componentIllustrations = { ), - loader: ( + loadingoverlay: ( @@ -424,6 +532,7 @@ const componentIllustrations = { Remove ), + beacon: , 'benefits-modal': ( - - +```jsx center=true +import { Card, CardHeader, CardBody } from '@chakra-ui/react' +import { Auth } from '@saas-ui/auth' + +export default function AuthPage() { + return ( + + + + + + + + + ) +} ``` ### Password login -```jsx - - - +Using the `type` prop you can switch to password login. + +```jsx center=true +import { Card, CardHeader, CardBody } from '@chakra-ui/react' +import { Auth } from '@saas-ui/auth' + +export default function AuthPage() { + return ( + + + + + + + + + ) +} ``` ### Social login -```jsx - - - +Using the `providers` prop you can add social login buttons. + +```jsx center=true +import { Card, CardHeader, CardBody } from '@chakra-ui/react' +import { Auth } from '@saas-ui/auth' + +export default function AuthPage() { + return ( + + + + + + + + + ) +} ``` ### Sign up -```jsx - - - +Using the `view` prop you can switch different supported view. The default view is `login`. +Supported views: `login`, `signup`, `forgotPassword`, `updatePassword`, `otp`. + +```jsx center=true +import { Card, CardHeader, CardBody } from '@chakra-ui/react' +import { Auth } from '@saas-ui/auth' + +export default function AuthPage() { + return ( + + + + + + + + + ) +} ``` ### One time password -```jsx - - - +```jsx center=true +import { Card, CardHeader, CardBody } from '@chakra-ui/react' +import { Auth } from '@saas-ui/auth' + +export default function AuthPage() { + return ( + + + + + + + + + ) +} ``` ### Redirect after login Use the `redirectTo` prop to redirect the user after login. -```jsx -import { Auth } from '@saas-ui/auth' +```jsx center=true +import { Card, CardHeader, CardBody } from '@chakra-ui/react' import { useSnackbar } from '@saas-ui/react' +import { Auth } from '@saas-ui/auth' const getAbsoluteUrl = (path: string) => { if (typeof window === 'undefined') { @@ -109,9 +185,25 @@ const getAbsoluteUrl = (path: string) => { } export default function AuthPage() { - const snackbar = useSnackbar() - - return + return ( + + + + + + + + + ) } ``` @@ -120,44 +212,105 @@ export default function AuthPage() { The `Auth` component accepts an `onError` prop that can be used to handle errors. You can use the `useSnackbar` hook to display a message. -```jsx -import { Auth } from '@saas-ui/auth' +```jsx center=true +import { Card, CardHeader, CardBody } from '@chakra-ui/react' import { useSnackbar } from '@saas-ui/react' +import { Auth } from '@saas-ui/auth' -export default function ErrorHandler() { - const snackbar = useSnackbar() +const getAbsoluteUrl = (path: string) => { + if (typeof window === 'undefined') { + return path + } + return window.location.origin +} +export default function AuthPage() { return ( - { - if (view === 'login' && error) { - snackbar.error(error.message) - } - }} - /> + + + + + + { + if (view === 'login' && error) { + snackbar.error(error.message) + } + }} + /> + + ) } ``` ### Custom links -```jsx - - Sign up} - loginLink={Log in} - /> - +```jsx center=true +import { Card, CardHeader, CardBody } from '@chakra-ui/react' +import { useSnackbar } from '@saas-ui/react' +import { Auth } from '@saas-ui/auth' + +const getAbsoluteUrl = (path: string) => { + if (typeof window === 'undefined') { + return path + } + return window.location.origin +} + +export default function AuthPage() { + return ( + + + + + + Sign up} + loginLink={Log in} + /> + + + ) +} ``` ### Custom log in page -```jsx -function LoginPage() { +The authentication forms can be used directly, for example in a custom log in page. + +```jsx center=true +import { Card, CardHeader, CardBody } from '@chakra-ui/react' +import { useSnackbar } from '@saas-ui/react' +import { PasswordForm, useAuth } from '@saas-ui/auth' + +export default function LoginPage() { + const auth = useAuth() + return ( - + + + Welcome back + - + auth.logIn(data)} + submitLabel="Log in" + /> ) @@ -166,16 +319,26 @@ function LoginPage() { ### Custom sign up page -```jsx -import { Card, CardBody } from '@chakra-ui/react' -import { FormLayout, Field } from '@saas-ui/react' -import { PasswordForm } from '@saas-ui/auth' +You can add extra fields to the sign up form by using the `PasswordForm` component directly. + +```jsx center=true +import { Card, CardHeader, CardBody } from '@chakra-ui/react' +import { useSnackbar } from '@saas-ui/react' +import { PasswordForm, useAuth } from '@saas-ui/auth' + +export default function LoginPage() { + const auth = useAuth() -export default function SignUpPage() { return ( - + + + Sign up for Saas UI + - + auth.signUp(data)} + submitLabel="Sign up" + > @@ -190,12 +353,16 @@ export default function SignUpPage() { ### Schema validation -```jsx +The authentication forms accept a React Hook Form `resolver` prop that can be used to validate the form data. + +```jsx center=true import * as yup from 'yup' import { yupResolver } from '@hookform/resolvers/yup' -import { PasswordForm } from '@saas-ui/auth' +import { PasswordForm, useAuth } from '@saas-ui/auth' export default function LoginPage() { + const auth = useAuth() + const schema = yup.object({ email: yup .string() @@ -204,12 +371,20 @@ export default function LoginPage() { .label('Email'), password: yup.string().min(4).required().label('Password'), }) + return ( - + + + Sign up for Saas UI + + + auth.logIn(data)} + submitLabel="Log in" + resolver={yupResolver(schema)} + /> + + ) } ``` diff --git a/apps/website/src/pages/docs/components/forms/form/usage.mdx b/apps/website/src/pages/docs/components/forms/form/usage.mdx index e267ad2f7..5514e952a 100644 --- a/apps/website/src/pages/docs/components/forms/form/usage.mdx +++ b/apps/website/src/pages/docs/components/forms/form/usage.mdx @@ -464,7 +464,11 @@ export default function ConditionalFields() { label="Ship to my home address" /> - !!ship}> + !!ship} + onToggle={(matches) => console.log(matches)} + > Address diff --git a/apps/website/src/pages/docs/components/index.tsx b/apps/website/src/pages/docs/components/index.tsx index 8a81d072d..a9a86d167 100644 --- a/apps/website/src/pages/docs/components/index.tsx +++ b/apps/website/src/pages/docs/components/index.tsx @@ -10,10 +10,12 @@ import { } from '@chakra-ui/react' import { GetStaticProps } from 'next' -import OverviewItem from '@/components/overview/item' -import docsSidebar from '@/data/docs-sidebar' +import docsSidebar from '@/data/components-sidebar' import Layout from '@/layouts/index' import { Link } from '@saas-ui/react' +import dynamic from 'next/dynamic' + +const OverviewItem = dynamic(() => import('@/components/overview/item')) type Component = { title: string @@ -32,6 +34,7 @@ type Props = { } export const ComponentsOverview = ({ categories, headings }: Props) => { + console.log(categories) return ( { } export const getStaticProps: GetStaticProps = async () => { - const data = docsSidebar.routes - .find((route) => route.path.match(/\/docs\/components/)) - .routes.concat() - .splice(1) + const data = docsSidebar.routes?.concat().splice(1) || [] const categories: Category[] = await Promise.all( - data.map(async ({ title, routes }) => { + data.map(async ({ title, routes = [] }) => { const components = await Promise.all( routes.map(async ({ title: routeTitle, path: url }) => { const doc = allDocs.find((doc) => doc.slug === url) const component: Component = { title: routeTitle, - url, + url: url!, description: doc?.description || null, } diff --git a/apps/website/src/pages/docs/components/layout/navbar/props.mdx b/apps/website/src/pages/docs/components/layout/navbar/props.mdx new file mode 100644 index 000000000..c3cdf51ca --- /dev/null +++ b/apps/website/src/pages/docs/components/layout/navbar/props.mdx @@ -0,0 +1,18 @@ +--- +id: navbar +scope: props +--- + +## Props + +The `Navbar` component and all sub components accept all `Box` properties. + + + + + + + + + + diff --git a/apps/website/src/pages/docs/components/layout/navbar/theming.mdx b/apps/website/src/pages/docs/components/layout/navbar/theming.mdx new file mode 100644 index 000000000..2a13f039d --- /dev/null +++ b/apps/website/src/pages/docs/components/layout/navbar/theming.mdx @@ -0,0 +1,124 @@ +--- +id: navbar +scope: theming +--- + +## Theming + +The `Navbar` component is a multipart component. The styling needs to be +applied to each part specifically. + +> To learn more about styling multipart components, visit the Chakra UI +> [Component Style](https://chakra-ui.com/docs/styled-system/component-style#styling-multipart-components) +> page. + +### Anatomy + +- `container` +- `inner` +- `brand` +- `content` +- `item` +- `link` + +### Default theme + +```jsx live=false +import { anatomy } from '@chakra-ui/anatomy' +import { createMultiStyleConfigHelpers } from '@chakra-ui/styled-system' + +const parts = anatomy('navbar').parts( + 'container', + 'inner', + 'brand', + 'content', + 'item', + 'link' +) + +const { defineMultiStyleConfig, definePartsStyle } = + createMultiStyleConfigHelpers(parts.keys) + +export const navbarTheme = defineMultiStyleConfig({ + baseStyle: definePartsStyle({ + container: { + display: 'flex', + bg: 'chakra-body-bg', + zIndex: 'overlay', + width: 'full', + height: 'auto', + alignItems: 'center', + justifyContent: 'center', + data: { + '& [data-menu-open=true]': { + border: 'none', + }, + }, + }, + inner: { + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', + width: 'full', + height: 'var(--navbar-height)', + px: 6, + gap: 4, + flexWrap: 'nowrap', + }, + toggle: { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + width: 6, + height: 'full', + outline: 'none', + borderRadius: 'sm', + }, + brand: { + display: 'flex', + alignItems: 'center', + justifyContent: 'flex-start', + height: 'full', + bg: 'transparent', + textDecoration: 'none', + color: 'inherit', + whiteSpace: 'nowrap', + boxSizing: 'border-box', + }, + content: { + display: 'flex', + alignItems: 'center', + justifyContent: 'flex-start', + flex: 1, + listStyle: 'none', + }, + item: { + display: 'inline-flex', + p: 0, + }, + link: { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + textDecoration: 'none', + whiteSpace: 'nowrap', + boxSizing: 'border-box', + borderRadius: 'md', + transitionProperty: 'common', + transitionDuration: 'normal', + px: 3, + h: 8, + _hover: { + bg: 'gray.100', + textDecoration: 'none', + _dark: { + bg: 'gray.700', + }, + }, + _active: { + fontWeight: 'semibold', + }, + }, + }), +}) +``` diff --git a/apps/website/src/pages/docs/components/layout/navbar/usage.mdx b/apps/website/src/pages/docs/components/layout/navbar/usage.mdx new file mode 100644 index 000000000..d11b2f5bb --- /dev/null +++ b/apps/website/src/pages/docs/components/layout/navbar/usage.mdx @@ -0,0 +1,1149 @@ +--- +id: navbar +title: Navbar +category: 'layout' +package: '@saas-ui/core' +description: Top navigation, typically used as primary navigation in websites or stacked application layouts. +--- + + + +## Import + +- `Navbar`: The container component that manages composition. +- `NavbarBrand`: The component used for branding. +- `NavbarContent`: The component that contains navbar items. +- `NavbarItem`: A navbar item. +- `NavbarLink`: A navbar link. + +```ts +import { + Navbar, + NavbarBrand, + NavbarContent, + NavbarItem, + NavbarLink, +} from '@saas-ui/react' +``` + +## Usage + +### Basic navbar + +```jsx height=200px overflow=auto +import { + AppShell, + Navbar, + NavbarBrand, + NavbarContent, + NavbarItem, + NavbarLink, +} from '@saas-ui/react' + +import { + Button, + Box, + Container, + Stack, + Skeleton, + SkeletonText, +} from '@chakra-ui/react' + +export default function Page() { + return ( + + + + + + + + Home + + + + About + + + Contact + + + + + + + + + + + + } + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} +``` + +### Sticky navbar + +Navbar uses `position` static by default, you can use `sticky` to make it stick to the top of the page. + +```jsx height=200px overflow=auto padding=0 +import { + AppShell, + Navbar, + NavbarBrand, + NavbarContent, + NavbarItem, + NavbarLink, +} from '@saas-ui/react' + +import { + Button, + Box, + Container, + Stack, + Skeleton, + SkeletonText, +} from '@chakra-ui/react' + +export default function Page() { + return ( + + + + + + + + Home + + + + About + + + Contact + + + + + + + + + + + + } + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} +``` + +### Border bottom + +Simply add `borderBottomWidth="1px"` to the navbar to add a bottom border. + +```jsx height=200px overflow=auto padding=0 +import { + AppShell, + Navbar, + NavbarBrand, + NavbarContent, + NavbarItem, + NavbarLink, +} from '@saas-ui/react' + +import { + Button, + Box, + Container, + Stack, + Skeleton, + SkeletonText, +} from '@chakra-ui/react' + +export default function Page() { + return ( + + + + + + + + Home + + + + About + + + Contact + + + + + + + + + + + + } + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} +``` + +### Blurred background + +Using a transparent background with a backdrop blur filter can add a glassy effect to the navbar. + +```jsx height=200px overflow=auto padding=0 +import { + AppShell, + Navbar, + NavbarBrand, + NavbarContent, + NavbarItem, + NavbarLink, +} from '@saas-ui/react' + +import { + Button, + Box, + Container, + Stack, + Skeleton, + SkeletonText, +} from '@chakra-ui/react' + +export default function Page() { + return ( + + + + + + + + Home + + + + About + + + Contact + + + + + + + + + + + + } + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} +``` + +### Hide on scroll + +Setting the `shouldHideOnScroll` prop to `true` will hide the navbar when the user scrolls down and show it when the user scrolls up. +Use the `parentRef` prop to specify the parent scroll container, defaults to the `window` object. + +```jsx height=200px padding=0 overflow="hidden" position="relative" +import { + AppShell, + Navbar, + NavbarBrand, + NavbarContent, + NavbarItem, + NavbarLink, +} from '@saas-ui/react' + +import { + Button, + Box, + Container, + Stack, + Skeleton, + SkeletonText, +} from '@chakra-ui/react' + +export default function Page() { + const parentRef = React.useRef(null) + + return ( + + + + + + + + + Home + + + + About + + + Contact + + + + + + + + + + + + } + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} +``` + +### With mobile navigation + +Add a mobile navigation menu to the navbar using the `Drawer` component from `@chakra-ui/react`. + +```jsx height=200px overflowY=auto padding=0 +import { + AppShell, + Navbar, + NavbarBrand, + NavbarContent, + NavbarItem, + NavbarLink, +} from '@saas-ui/react' + +import { + Button, + Box, + Container, + Stack, + Skeleton, + SkeletonText, + Drawer, + DrawerBody, + DrawerCloseButton, + DrawerContent, + DrawerHeader, + DrawerOverlay, + useDisclosure, +} from '@chakra-ui/react' + +import { FiX, FiMenu } from 'react-icons/fi' + +export default function Page() { + const mobileNav = useDisclosure() + + const menuItems = ['Features', 'Customers', 'Integrations', 'Pricing'] + + return ( + + + + + + + + + Features + + + + + Customers + + + + + Integrations + + + + + Pricing + + + + + + Login + + + + + + + + + + + + + + + {menuItems.map((item, index) => ( + + + {item} + + + ))} + + + + + + } + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} +``` + +### With user menu + +Example with an avatar and dropdown menu. + +```jsx height=280px overflow=auto padding=0 +import { + AppShell, + Navbar, + NavbarBrand, + NavbarContent, + NavbarItem, + NavbarLink, + PersonaAvatar, +} from '@saas-ui/react' + +import { + Button, + Box, + Container, + Stack, + Skeleton, + SkeletonText, + Menu, + MenuButton, + MenuList, + MenuGroup, + MenuItem, + MenuDivider, + useDisclosure, +} from '@chakra-ui/react' + +export default function Page() { + return ( + + + + + + + + Inbox + + + + + Contacts + + + + + Tasks + + + + + + + + + + + Profile + Settings + Help & feedback + + + Log out + + + + + } + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} +``` + +### With search input + +An example with a global search input. + +```jsx height=280px overflow=auto padding=0 +import { + AppShell, + Navbar, + NavbarBrand, + NavbarContent, + NavbarItem, + NavbarLink, + PersonaAvatar, + SearchInput, +} from '@saas-ui/react' + +import { + Button, + Box, + Container, + Stack, + Skeleton, + SkeletonText, + Menu, + MenuButton, + MenuList, + MenuGroup, + MenuItem, + MenuDivider, + useDisclosure, +} from '@chakra-ui/react' + +export default function Page() { + return ( + + + + + + + + Inbox + + + + + Contacts + + + + + Tasks + + + + + + + + + + + + + + Profile + Settings + Help & feedback + + + Log out + + + + + } + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} +``` + +### With breadcrumbs + +An example with breadcrumbs and a workspace dropdown menu. + +```jsx height=280px overflow=auto padding=0 +import { + AppShell, + Navbar, + NavbarContent, + NavbarItem, + NavbarLink, + PersonaAvatar, + SearchInput, +} from '@saas-ui/react' + +import { + Button, + Box, + Breadcrumb + BreadcrumbItem, + BreadcrumbLink, + Container, + Stack, + Skeleton, + SkeletonText, + Menu, + MenuButton, + MenuList, + MenuGroup, + MenuItem, + MenuDivider, + useDisclosure, +} from '@chakra-ui/react' + +export default function Page() { + return ( + + + /}> + + + } rightIcon={}> + Saas UI + + + + Saas UI + Acme + + + Create workspace + + + + + Overview + + + + + + + + + + + + + + Profile + Settings + Help & feedback + + + Log out + + + + + } + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} +``` diff --git a/apps/website/src/pages/docs/components/layout/sidebar/usage.mdx b/apps/website/src/pages/docs/components/layout/sidebar/usage.mdx index cee73bec0..a7fcfa7b2 100644 --- a/apps/website/src/pages/docs/components/layout/sidebar/usage.mdx +++ b/apps/website/src/pages/docs/components/layout/sidebar/usage.mdx @@ -1,7 +1,7 @@ --- id: sidebar title: Sidebar -description: Side navigation, commonly used as the primary navigation. +description: Side navigation, commonly used as the primary navigation in web applications. --- = ( props ) => { const { - title, + title = 'Forgot password', footer, onSuccess, onError, @@ -62,8 +62,4 @@ export const ForgotPasswordView: React.FC = ( ) } -ForgotPasswordView.defaultProps = { - title: 'Forgot password', -} - ForgotPasswordView.displayName = 'ForgotPasswordView' diff --git a/packages/saas-ui-auth/src/components/forms/forgot-password-form.tsx b/packages/saas-ui-auth/src/components/forms/forgot-password-form.tsx index a6f5ee364..5cf6bdc14 100644 --- a/packages/saas-ui-auth/src/components/forms/forgot-password-form.tsx +++ b/packages/saas-ui-auth/src/components/forms/forgot-password-form.tsx @@ -19,8 +19,8 @@ export interface ForgotPasswordFormProps< } export const ForgotPasswordForm: React.FC = ({ - submitLabel, - emailLabel, + submitLabel = 'Reset password', + emailLabel = 'Your email address', helpText, children, ...formProps @@ -46,9 +46,4 @@ export const ForgotPasswordForm: React.FC = ({ ) } -ForgotPasswordForm.defaultProps = { - submitLabel: 'Reset password', - emailLabel: 'Your email address', -} - ForgotPasswordForm.displayName = 'ForgotPasswordForm' diff --git a/packages/saas-ui-auth/src/components/forms/otp-form.tsx b/packages/saas-ui-auth/src/components/forms/otp-form.tsx index bc274ff6f..ac34e2424 100644 --- a/packages/saas-ui-auth/src/components/forms/otp-form.tsx +++ b/packages/saas-ui-auth/src/components/forms/otp-form.tsx @@ -26,8 +26,8 @@ export interface OtpFormProps export const OtpForm: React.FC = ({ submitLabel = 'Verify', - otpLabel, - helpText, + otpLabel = 'Your verification code', + helpText = 'You can find your one-time password in the Google Authenticator or Authy app.', pinLength = 4, defaultValues, children, @@ -55,11 +55,4 @@ export const OtpForm: React.FC = ({ ) } -OtpForm.defaultProps = { - helpText: - 'You can find your one-time password in the Google Authenticator or Authy app.', - submitLabel: 'Verify', - otpLabel: 'Your verification code', -} - OtpForm.displayName = 'OtpForm' diff --git a/packages/saas-ui-auth/src/components/forms/update-password-form.tsx b/packages/saas-ui-auth/src/components/forms/update-password-form.tsx index 1c26947f6..042636dc7 100644 --- a/packages/saas-ui-auth/src/components/forms/update-password-form.tsx +++ b/packages/saas-ui-auth/src/components/forms/update-password-form.tsx @@ -28,9 +28,9 @@ export interface UpdatePasswordFormProps< } export const UpdatePasswordForm: React.FC = ({ - submitLabel, - passwordLabel, - confirmLabel, + submitLabel = 'Update password', + passwordLabel = 'New password', + confirmLabel = 'Confirm password', helpText, children, ...formProps @@ -76,10 +76,4 @@ export const UpdatePasswordForm: React.FC = ({ ) } -UpdatePasswordForm.defaultProps = { - submitLabel: 'Update password', - passwordLabel: 'New password', - confirmLabel: 'Confirm password', -} - UpdatePasswordForm.displayName = 'UpdatePasswordForm' diff --git a/packages/saas-ui-auth/src/components/login-view.tsx b/packages/saas-ui-auth/src/components/login-view.tsx index 9e033c017..9ad2cbd80 100644 --- a/packages/saas-ui-auth/src/components/login-view.tsx +++ b/packages/saas-ui-auth/src/components/login-view.tsx @@ -16,22 +16,26 @@ import { AuthFormSuccess } from './success' export const LoginView: React.FC = ( props ) => { + const { title = 'Log in', submitLabel = 'Log in', ...rest } = props if (props.type === 'password') { - return + return } - return + return } export const SignupView: React.FC = ( props ) => { - return -} - -SignupView.defaultProps = { - title: 'Sign up', - submitLabel: 'Sign up', + const { title = 'Sign up', submitLabel = 'Sign up', ...rest } = props + return ( + + ) } SignupView.displayName = 'SignupView' @@ -158,11 +162,6 @@ const MagicLinkView: React.FC = (props) => { ) } -LoginView.defaultProps = { - title: 'Log in', - submitLabel: 'Log in', -} - LoginView.displayName = 'LoginView' interface AuthFormWrapperProps @@ -174,8 +173,8 @@ const AuthFormWrapper: React.FC = (props) => { const { providers, title, - providerLabel, - dividerLabel, + providerLabel = 'Continue with', + dividerLabel = 'or continue with', footer, children, oauthRedirectUrl, @@ -214,10 +213,4 @@ const AuthFormWrapper: React.FC = (props) => { ) } -AuthFormWrapper.defaultProps = { - type: 'magiclink', - providerLabel: 'Continue with', - dividerLabel: 'or continue with', -} - AuthFormWrapper.displayName = 'AuthForm' diff --git a/packages/saas-ui-auth/src/components/otp-view.tsx b/packages/saas-ui-auth/src/components/otp-view.tsx index af6290df2..67153731c 100644 --- a/packages/saas-ui-auth/src/components/otp-view.tsx +++ b/packages/saas-ui-auth/src/components/otp-view.tsx @@ -12,7 +12,7 @@ export interface OtpViewProps export const OtpView: React.FC = (props) => { const { - title, + title = 'One-time password', footer, onSuccess, onError, @@ -51,8 +51,4 @@ export const OtpView: React.FC = (props) => { ) } -OtpView.defaultProps = { - title: 'One-time password', -} - OtpView.displayName = 'OtpView' diff --git a/packages/saas-ui-auth/src/components/update-password-view.tsx b/packages/saas-ui-auth/src/components/update-password-view.tsx index a6e7c8e72..a31eb3f79 100644 --- a/packages/saas-ui-auth/src/components/update-password-view.tsx +++ b/packages/saas-ui-auth/src/components/update-password-view.tsx @@ -18,7 +18,7 @@ export const UpdatePasswordView: React.FC = ( props ) => { const { - title, + title = 'Choose a new password', footer, onSuccess, onError, @@ -64,8 +64,4 @@ export const UpdatePasswordView: React.FC = ( ) } -UpdatePasswordView.defaultProps = { - title: 'Choose a new password', -} - UpdatePasswordView.displayName = 'UpdatePasswordView' diff --git a/packages/saas-ui-clerk/CHANGELOG.md b/packages/saas-ui-clerk/CHANGELOG.md index adbd0bb80..60532beb8 100644 --- a/packages/saas-ui-clerk/CHANGELOG.md +++ b/packages/saas-ui-clerk/CHANGELOG.md @@ -1,5 +1,12 @@ # @saas-ui/clerk +## 3.0.16 + +### Patch Changes + +- Updated dependencies [a3180b02] + - @saas-ui/auth@2.2.0 + ## 3.0.15 ### Patch Changes diff --git a/packages/saas-ui-clerk/package.json b/packages/saas-ui-clerk/package.json index ef7fd65e9..7347b2c97 100644 --- a/packages/saas-ui-clerk/package.json +++ b/packages/saas-ui-clerk/package.json @@ -1,6 +1,6 @@ { "name": "@saas-ui/clerk", - "version": "3.0.15", + "version": "3.0.16", "description": "Clerk Authentication Service for Saas UI", "source": "src/index.ts", "exports": { diff --git a/packages/saas-ui-core/CHANGELOG.md b/packages/saas-ui-core/CHANGELOG.md index c0d617853..dd4e9d9e0 100644 --- a/packages/saas-ui-core/CHANGELOG.md +++ b/packages/saas-ui-core/CHANGELOG.md @@ -1,5 +1,23 @@ # @saas-ui/react +## 2.2.0 + +### Minor Changes + +- 31d05ed5: Added new Navbar component 🥳 +- ebba8404: Added new IconBadge component +- a3180b02: Removed all Component.defaultProps definitions + +### Patch Changes + +- dddb3d1a: Fixed issue where width would not be applied to the SearchInput container element +- 91412d77: Fixed SearchInput reset when uncontrolled +- 91412d77: Fixed theme incompatibility with Chakra UI 2.8 +- Updated dependencies [31d05ed5] +- Updated dependencies [ebba8404] +- Updated dependencies [91412d77] + - @saas-ui/theme@2.2.0 + ## 2.1.3 ### Patch Changes diff --git a/packages/saas-ui-core/package.json b/packages/saas-ui-core/package.json index 3366b1578..2f077063b 100644 --- a/packages/saas-ui-core/package.json +++ b/packages/saas-ui-core/package.json @@ -1,6 +1,6 @@ { "name": "@saas-ui/core", - "version": "2.1.3", + "version": "2.2.0", "description": "Saas UI - The React component library for startups.", "source": "src/index.ts", "exports": { @@ -87,6 +87,7 @@ "@chakra-ui/system": "^2.6.1", "@chakra-ui/theme-tools": "^2.1.1", "@chakra-ui/utils": "^2.0.15", + "@react-aria/utils": "^3.22.0", "@saas-ui/react-utils": "workspace:*", "@saas-ui/theme": "workspace:*" }, diff --git a/packages/saas-ui-core/src/app-shell/app-shell.tsx b/packages/saas-ui-core/src/app-shell/app-shell.tsx index d67a63d34..b5860d69a 100644 --- a/packages/saas-ui-core/src/app-shell/app-shell.tsx +++ b/packages/saas-ui-core/src/app-shell/app-shell.tsx @@ -8,6 +8,7 @@ import { useMultiStyleConfig, omitThemingProps, SystemStyleObject, + forwardRef, } from '@chakra-ui/react' import { cx } from '@chakra-ui/utils' @@ -38,6 +39,7 @@ export interface AppShellProps * The main content */ children: React.ReactNode + mainRef?: React.RefObject } /** @@ -45,14 +47,21 @@ export interface AppShellProps * * @see Docs https://saas-ui.dev/docs/components/layout/app-shell */ -export const AppShell: React.FC = (props: AppShellProps) => { +export const AppShell = forwardRef((props, ref) => { const styles = useMultiStyleConfig('SuiAppShell', props) as Record< string, SystemStyleObject > - const { navbar, sidebar, aside, footer, children, ...containerProps } = - omitThemingProps(props) + const { + navbar, + sidebar, + aside, + footer, + children, + mainRef, + ...containerProps + } = omitThemingProps(props) const containerStyles: SystemStyleObject = { flexDirection: 'column', @@ -86,6 +95,7 @@ export const AppShell: React.FC = (props: AppShellProps) => { = (props: AppShellProps) => { {navbar} {sidebar} - + {children} {aside} @@ -103,6 +117,6 @@ export const AppShell: React.FC = (props: AppShellProps) => { ) -} +}) AppShell.displayName = 'AppShell' diff --git a/packages/saas-ui-core/src/icon-badge/icon-badge.tsx b/packages/saas-ui-core/src/icon-badge/icon-badge.tsx new file mode 100644 index 000000000..7cebe71f8 --- /dev/null +++ b/packages/saas-ui-core/src/icon-badge/icon-badge.tsx @@ -0,0 +1,64 @@ +import { + chakra, + useStyleConfig, + IconProps, + ThemingProps, + forwardRef, +} from '@chakra-ui/react' +import { cx } from '@chakra-ui/utils' +import { cloneElement, isValidElement } from 'react' + +export interface IconBadgeProps + extends IconProps, + ThemingProps<'SuiIconBadge'> { + /** + * The icon to be used in the button. + * @type React.ReactElement + */ + icon?: React.ReactElement + /** + * If `true`, the badge will be perfectly round. Else, it'll be slightly round + * + * @default false + */ + isRound?: boolean + /** + * A11y: A label that describes the icon + */ + 'aria-label'?: string +} + +export const IconBadge = forwardRef((props) => { + const { icon, children, isRound, 'aria-label': ariaLabel, ...rest } = props + const styles = useStyleConfig('SuiIconBadge', props) + + /** + * Passing the icon as prop or children should work + */ + const element = icon || children + const _children = isValidElement(element) + ? cloneElement(element as any, { + 'aria-hidden': true, + focusable: false, + }) + : null + + const __css = { + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + ...styles, + } + + return ( + + {_children} + + ) +}) diff --git a/packages/saas-ui-core/src/icon-badge/index.ts b/packages/saas-ui-core/src/icon-badge/index.ts new file mode 100644 index 000000000..bb8d295d9 --- /dev/null +++ b/packages/saas-ui-core/src/icon-badge/index.ts @@ -0,0 +1 @@ +export { IconBadge, type IconBadgeProps } from './icon-badge' diff --git a/packages/saas-ui-core/src/index.ts b/packages/saas-ui-core/src/index.ts index 03bc3657b..152eea15f 100644 --- a/packages/saas-ui-core/src/index.ts +++ b/packages/saas-ui-core/src/index.ts @@ -113,6 +113,20 @@ export { useLink, useSaas, } from './provider' +export { + Navbar, + NavbarBrand, + type NavbarBrandProps, + NavbarContent, + type NavbarContentProps, + NavbarItem, + type NavbarItemProps, + NavbarLink, + type NavbarProps, + NavbarProvider, + useNavbar, + useNavbarContext, +} from './navbar' export { Nav, NavGroup, @@ -209,3 +223,4 @@ export { ViewOffIcon, } from './icons' export { createIcon } from './icons/create-icon' +export { type IconBadgeProps, IconBadge } from './icon-badge' diff --git a/packages/saas-ui-core/src/navbar/index.ts b/packages/saas-ui-core/src/navbar/index.ts new file mode 100644 index 000000000..1da6c8341 --- /dev/null +++ b/packages/saas-ui-core/src/navbar/index.ts @@ -0,0 +1,14 @@ +export type { NavbarProps } from './navbar' +export type { NavbarBrandProps } from './navbar-brand' +export type { NavbarContentProps } from './navbar-content' +export type { NavbarItemProps } from './navbar-item' + +export { useNavbar } from './use-navbar' + +export { NavbarProvider, useNavbarContext } from './navbar-context' + +export { Navbar } from './navbar' +export { NavbarBrand } from './navbar-brand' +export { NavbarContent } from './navbar-content' +export { NavbarItem } from './navbar-item' +export { NavbarLink } from './navbar-link' diff --git a/packages/saas-ui-core/src/navbar/navbar-brand.tsx b/packages/saas-ui-core/src/navbar/navbar-brand.tsx new file mode 100644 index 000000000..5f6722ea4 --- /dev/null +++ b/packages/saas-ui-core/src/navbar/navbar-brand.tsx @@ -0,0 +1,26 @@ +import { chakra, forwardRef, HTMLChakraProps } from '@chakra-ui/react' +import { cx } from '@chakra-ui/utils' +import { useNavBarStyles } from './navbar-context' + +export interface NavbarBrandProps extends HTMLChakraProps<'div'> { + children?: React.ReactNode | React.ReactNode[] +} + +export const NavbarBrand = forwardRef((props, ref) => { + const { className, children, ...rest } = props + + const styles = useNavBarStyles() + + return ( + + {children} + + ) +}) + +NavbarBrand.displayName = 'NavbarBrand' diff --git a/packages/saas-ui-core/src/navbar/navbar-content.tsx b/packages/saas-ui-core/src/navbar/navbar-content.tsx new file mode 100644 index 000000000..3bfa166ec --- /dev/null +++ b/packages/saas-ui-core/src/navbar/navbar-content.tsx @@ -0,0 +1,46 @@ +import { + chakra, + forwardRef, + HTMLChakraProps, + SystemProps, +} from '@chakra-ui/react' +import { cx } from '@chakra-ui/utils' + +import { useNavBarStyles } from './navbar-context' + +export interface NavbarContentProps extends HTMLChakraProps<'ul'> { + /** + * Typically the `NavbarItem` component + */ + children?: React.ReactNode | React.ReactNode[] + /** + * Spacing between each navbar item + */ + spacing?: SystemProps['margin'] +} + +export const NavbarContent = forwardRef( + (props, ref) => { + const { className, children, spacing = 0, ...rest } = props + + const styles = useNavBarStyles() + + const contentStyles = { + ...styles.content, + '& > *:not(style) ~ *:not(style)': { marginStart: spacing }, + } + + return ( + + {children} + + ) + } +) + +NavbarContent.displayName = 'NavbarContent' diff --git a/packages/saas-ui-core/src/navbar/navbar-context.ts b/packages/saas-ui-core/src/navbar/navbar-context.ts new file mode 100644 index 000000000..2695b8fc1 --- /dev/null +++ b/packages/saas-ui-core/src/navbar/navbar-context.ts @@ -0,0 +1,20 @@ +import { createContext } from '@chakra-ui/react-context' + +import { UseNavbarReturn } from './use-navbar' +import { SystemStyleObject } from '@chakra-ui/styled-system' + +export const [NavbarProvider, useNavbarContext] = + createContext({ + name: 'NavbarContext', + strict: true, + errorMessage: + 'useNavbarContext: `context` is undefined. Seems you forgot to wrap component within ', + }) + +export const [NavBarStylesProvider, useNavBarStyles] = createContext< + Record +>({ + name: `NavBarStylesContext`, + hookName: `useNavItemStyles`, + providerName: '', +}) diff --git a/packages/saas-ui-core/src/navbar/navbar-item.tsx b/packages/saas-ui-core/src/navbar/navbar-item.tsx new file mode 100644 index 000000000..91c1ec1dc --- /dev/null +++ b/packages/saas-ui-core/src/navbar/navbar-item.tsx @@ -0,0 +1,33 @@ +import { chakra, forwardRef, HTMLChakraProps } from '@chakra-ui/react' +import { cx, dataAttr } from '@chakra-ui/utils' + +import { useNavBarStyles } from './navbar-context' + +export interface NavbarItemProps extends HTMLChakraProps<'li'> { + children?: React.ReactNode + /** + * Whether the item is active or not. + * @default false + */ + isActive?: boolean +} + +export const NavbarItem = forwardRef((props, ref) => { + const { className, children, isActive, ...rest } = props + + const styles = useNavBarStyles() + + return ( + + {children} + + ) +}) + +NavbarItem.displayName = 'NavbarItem' diff --git a/packages/saas-ui-core/src/navbar/navbar-link.tsx b/packages/saas-ui-core/src/navbar/navbar-link.tsx new file mode 100644 index 000000000..0f1934944 --- /dev/null +++ b/packages/saas-ui-core/src/navbar/navbar-link.tsx @@ -0,0 +1,37 @@ +import { chakra, forwardRef, HTMLChakraProps } from '@chakra-ui/react' +import { cx, dataAttr } from '@chakra-ui/utils' + +import { useNavBarStyles } from './navbar-context' +import { useLink } from '../provider' + +export interface NavbarLinkProps extends HTMLChakraProps<'a'> { + children?: React.ReactNode + /** + * Whether the link is active or not. + * @default false + */ + isActive?: boolean +} + +export const NavbarLink = forwardRef((props, ref) => { + const { className, children, isActive, ...rest } = props + + const Link = useLink() + + const styles = useNavBarStyles() + + return ( + + {children} + + ) +}) + +NavbarLink.displayName = 'NavbarLink' diff --git a/packages/saas-ui-core/src/navbar/navbar.stories.tsx b/packages/saas-ui-core/src/navbar/navbar.stories.tsx new file mode 100644 index 000000000..4a9f4e23f --- /dev/null +++ b/packages/saas-ui-core/src/navbar/navbar.stories.tsx @@ -0,0 +1,379 @@ +import React from 'react' +import { Meta } from '@storybook/react' +import { + Button, + Menu, + MenuButton, + MenuList, + MenuItem, + Container, + Drawer, + DrawerContent, + DrawerBody, + useDisclosure, + DrawerHeader, + DrawerCloseButton, + DrawerOverlay, + MenuGroup, + MenuDivider, + Box, + Skeleton, + SkeletonText, + Stack, +} from '@chakra-ui/react' + +import { AppShell } from '../app-shell' +import { PersonaAvatar } from '../persona' +import { SearchInput } from '../search-input' + +import { FiMenu, FiX } from 'react-icons/fi' + +import SaasUILogo from '../sidebar/saas-ui-glyph' + +import { + Navbar, + NavbarBrand, + NavbarContent, + NavbarItem, + NavbarLink, + NavbarProps, +} from '.' + +export default { + title: 'Components/Layout/Navbar', + component: Navbar, + argTypes: { + position: { + control: { + type: 'select', + }, + options: ['static', 'fixed'], + }, + maxWidth: { + control: { + type: 'select', + }, + options: ['sm', 'md', 'lg', 'xl', '2xl', 'full'], + }, + }, + decorators: [(Story) => ], +} as Meta + +const AppLogo = () => + +const App = React.forwardRef(({ children, navbar }: any, ref: any) => { + return ( + + + {children} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +}) + +App.displayName = 'App' + +const Template = (args: NavbarProps) => { + const parentRef = React.useRef(null) + + return ( + + + + + + + + Features + + + + Customers + + + + Integrations + + + Pricing + + + + + Login + + + + + + + + ) +} + +const WithMenuTemplate = (args: NavbarProps) => { + const parentRef = React.useRef(null) + + const mobileNav = useDisclosure() + + const menuItems = ['Features', 'Customers', 'Integrations', 'Pricing'] + + return ( + + + + + + + + + Features + + + + Customers + + + + Integrations + + + Pricing + + + + + Login + + + + + + + + + + + + + + + {menuItems.map((item, index) => ( + + + {item} + + + ))} + + + + + + + ) +} + +const WithUserMenuTemplate = (args: NavbarProps) => { + return ( + + + + + + + + Inbox + + + + Contacts + + + + Tasks + + + + + + + + + + Profile + Settings + Help & feedback + + + Log out + + + + + + ) +} + +const WithSearchInputTemplate = (args: NavbarProps) => { + return ( + + + + + + + + Inbox + + + + Contacts + + + + Tasks + + + + + + + + + + + + + Profile + Settings + Help & feedback + + + Log out + + + + + + ) +} + +export const Static = { + render: Template, + + args: { + position: 'static', + }, +} + +export const Sticky = { + render: Template, + + args: { + position: 'sticky', + }, +} + +export const Border = { + render: Template, + + args: { + position: 'sticky', + borderBottomWidth: '1px', + }, +} + +export const BlurredBg = { + render: Template, + + args: { + position: 'sticky', + borderBottomWidth: '1px', + background: 'transparent', + backdropFilter: 'blur(4px)', + }, +} + +export const Shadow = { + render: Template, + + args: { + position: 'sticky', + borderBottomWidth: '1px', + background: 'transparent', + backdropFilter: 'blur(4px)', + boxShadow: 'lg', + }, +} + +export const HideOnScroll = { + render: Template, + + args: { + position: 'sticky', + shouldHideOnScroll: true, + }, +} + +export const WithMenu = { + render: WithMenuTemplate, +} + +export const WithUserMenu = { + render: WithUserMenuTemplate, +} + +export const WithSearchInput = { + render: WithSearchInputTemplate, +} diff --git a/packages/saas-ui-core/src/navbar/navbar.test.tsx b/packages/saas-ui-core/src/navbar/navbar.test.tsx new file mode 100644 index 000000000..3c2a57e93 --- /dev/null +++ b/packages/saas-ui-core/src/navbar/navbar.test.tsx @@ -0,0 +1,49 @@ +import * as React from 'react' +import { render, testStories } from '@saas-ui/test-utils' + +import { Navbar, NavbarBrand, NavbarItem, NavbarContent } from './index' + +import * as stories from './navbar.stories' + +testStories(stories) + +describe('Navbar', () => { + it('should render correctly', () => { + const wrapper = render() + + expect(() => wrapper.unmount()).not.toThrow() + }) + + it('ref should be forwarded', () => { + const ref = React.createRef() + + render() + expect(ref.current).not.toBeNull() + }) + + it('should render correctly with brand', () => { + const wrapper = render( + + Saas UI + + ) + + expect(wrapper.getByTestId('navbar-test')).toBeInTheDocument() + }) + + it('should render correctly content children', () => { + const wrapper = render( + + + Dashboard + Contacts + Settings + + + ) + + const navbarContent = wrapper.getByTestId('navbar-content-test') + + expect(navbarContent.children.length).toBe(5) + }) +}) diff --git a/packages/saas-ui-core/src/navbar/navbar.tsx b/packages/saas-ui-core/src/navbar/navbar.tsx new file mode 100644 index 000000000..37505a232 --- /dev/null +++ b/packages/saas-ui-core/src/navbar/navbar.tsx @@ -0,0 +1,68 @@ +import { + HTMLChakraProps, + ThemingProps, + chakra, + forwardRef, + useMultiStyleConfig, +} from '@chakra-ui/react' +import { HTMLMotionProps, motion } from 'framer-motion' +import { UseNavbarProps, useNavbar } from './use-navbar' +import { NavBarStylesProvider, NavbarProvider } from './navbar-context' +import { cx } from '@saas-ui/react-utils' + +const MotionBox = chakra(motion.nav) + +type MotionProps = Pick< + HTMLMotionProps<'div'>, + 'onAnimationStart' | 'onDrag' | 'onDragStart' | 'onDragEnd' +> + +export interface NavbarProps + extends Omit, + Omit, keyof MotionProps | 'height'>, + MotionProps, + ThemingProps<'SuiNavbar'> { + children?: React.ReactNode | React.ReactNode[] +} + +export const Navbar = forwardRef((props, ref) => { + const { children, ...otherProps } = props + + const context = useNavbar({ ...otherProps, ref }) + + const styles = useMultiStyleConfig('SuiNavbar', props) + + const content = ( + + {children} + + ) + + const containerStyles = { + top: props.position === 'sticky' ? '0' : undefined, + insetX: props.position === 'sticky' ? '0' : undefined, + ...styles.container, + } + + return ( + + + + {content} + + + + ) +}) + +Navbar.displayName = 'Navbar' diff --git a/packages/saas-ui-core/src/navbar/use-navbar.ts b/packages/saas-ui-core/src/navbar/use-navbar.ts new file mode 100644 index 000000000..0cc65af57 --- /dev/null +++ b/packages/saas-ui-core/src/navbar/use-navbar.ts @@ -0,0 +1,135 @@ +import { PropGetterV2 } from '@chakra-ui/react-utils' +import { dataAttr } from '@chakra-ui/utils' +import React, { useEffect, useImperativeHandle, useRef, useState } from 'react' +import { useResizeObserver } from '@react-aria/utils' +import { useScrollPosition } from '@saas-ui/hooks' +import { HTMLMotionProps } from 'framer-motion' + +export interface UseNavbarProps { + /** + * Ref to the DOM node. + */ + ref: React.ForwardedRef + /** + * The parent element where the navbar is placed within. + * This is used to determine the scroll position and whether the navbar should be hidden or not. + * @default `window` + */ + parentRef?: React.RefObject + /** + * The height of the navbar. + * @default "3.5rem" (56px) + */ + height?: number | string + /** + * Whether the navbar should hide on scroll or not. + * @default false + */ + shouldHideOnScroll?: boolean + /** + * Whether the navbar parent scroll event should be listened to or not. + * @default false + */ + disableScrollHandler?: boolean + /** + * The props to modify the framer motion animation. Use the `variants` API to create your own animation. + * This motion is only available if the `shouldHideOnScroll` prop is set to `true`. + */ + motionProps?: HTMLMotionProps<'nav'> + /** + * The scroll event handler for the navbar. The event fires when the navbar parent element is scrolled. + * it only works if `disableScrollHandler` is set to `false` or `shouldHideOnScroll` is set to `true`. + */ + onScrollPositionChange?: (scrollPosition: number) => void + /** + * Style props to be applied to the navbar container. + */ + style?: React.CSSProperties +} + +export function useNavbar(props: UseNavbarProps) { + const { + ref, + parentRef, + height = '3.5rem', + shouldHideOnScroll = false, + disableScrollHandler = false, + onScrollPositionChange, + motionProps, + ...containerProps + } = props + + const containerRef = useRef(null) + + useImperativeHandle(ref, () => containerRef.current as HTMLElement) + + const prevWidth = useRef(0) + const navHeight = useRef(0) + + const [isHidden, setIsHidden] = useState(false) + + const updateWidth = () => { + if (containerRef.current) { + const width = containerRef.current.offsetWidth + + if (width !== prevWidth.current) { + prevWidth.current = width + } + } + } + + useResizeObserver({ + ref: containerRef, + onResize: () => { + const currentWidth = containerRef.current?.offsetWidth + + if (currentWidth !== prevWidth.current) { + updateWidth() + } + }, + }) + + useEffect(() => { + updateWidth() + + navHeight.current = containerRef.current?.offsetHeight || 0 + }, []) + + useScrollPosition({ + elementRef: parentRef, + isEnabled: shouldHideOnScroll || !disableScrollHandler, + callback: ({ prevPos, currPos }) => { + onScrollPositionChange?.(currPos.y) + if (shouldHideOnScroll) { + setIsHidden((prev) => { + const next = currPos.y > prevPos.y && currPos.y > navHeight.current + + return next !== prev ? next : prev + }) + } + }, + }) + + const getContainerProps: PropGetterV2 = (props = {}) => ({ + ...containerProps, + ...motionProps, + 'data-hidden': dataAttr(isHidden), + ref: containerRef, + style: { + '--navbar-height': height, + ...containerProps.style, + ...props?.style, + }, + }) + + return { + containerRef, + height, + isHidden, + shouldHideOnScroll, + motionProps, + getContainerProps, + } +} + +export type UseNavbarReturn = ReturnType diff --git a/packages/saas-ui-core/src/persona/persona.test.tsx b/packages/saas-ui-core/src/persona/persona.test.tsx index 678854048..88caf074e 100644 --- a/packages/saas-ui-core/src/persona/persona.test.tsx +++ b/packages/saas-ui-core/src/persona/persona.test.tsx @@ -1,6 +1,6 @@ import * as React from 'react' import { render, testStories } from '@saas-ui/test-utils' -import * as stories from '../stories/persona.stories' +import * as stories from './persona.stories' testStories(stories) diff --git a/packages/saas-ui-core/src/property/property.test.tsx b/packages/saas-ui-core/src/property/property.test.tsx index 58cb3ef9b..d15d3bb70 100644 --- a/packages/saas-ui-core/src/property/property.test.tsx +++ b/packages/saas-ui-core/src/property/property.test.tsx @@ -1,7 +1,7 @@ import * as React from 'react' import { render, testStories } from '@saas-ui/test-utils' -import * as stories from '../stories/property.stories' +import * as stories from './property.stories' const { Basic } = testStories(stories) diff --git a/packages/saas-ui-core/src/search-input/search-input.tsx b/packages/saas-ui-core/src/search-input/search-input.tsx index c5462c529..ba69e3d85 100644 --- a/packages/saas-ui-core/src/search-input/search-input.tsx +++ b/packages/saas-ui-core/src/search-input/search-input.tsx @@ -11,6 +11,7 @@ import { ThemingProps, useMultiStyleConfig, useControllableState, + useMergeRefs, } from '@chakra-ui/react' import { callAllHandlers } from '@chakra-ui/utils' import { SearchIcon, CloseIcon } from '../icons' @@ -48,20 +49,24 @@ export interface SearchInputProps export const SearchInput = forwardRef( (props, ref) => { const { + placeholder = 'Search', value: valueProp, defaultValue: defaultValueProp, size, variant, + width, icon, resetIcon, rightElement, onChange: onChangeProp, - onReset, + onReset: onResetProp, onKeyDown: onKeyDownProp, ...inputProps } = props const styles = useMultiStyleConfig('SuiSearchInput', props) + const inputRef = React.useRef(null) + const [value, setValue] = useControllableState({ value: valueProp, defaultValue: defaultValueProp, @@ -78,22 +83,29 @@ export const SearchInput = forwardRef( (event: React.KeyboardEvent) => { if (event.key === 'Escape') { setValue('') - onReset?.() + onReset() } }, - [onReset, setValue] + [onResetProp, setValue] ) + const onReset = () => { + setValue('') + onResetProp?.() + inputRef.current?.focus() + } + const btnSize = size === 'lg' ? 'sm' : 'xs' return ( - + {icon || } ( } ) -SearchInput.defaultProps = { - placeholder: 'Search', -} - SearchInput.displayName = 'SearchInput' diff --git a/packages/saas-ui-core/src/sidebar/nav-group.tsx b/packages/saas-ui-core/src/sidebar/nav-group.tsx index 364a893f5..2006be886 100644 --- a/packages/saas-ui-core/src/sidebar/nav-group.tsx +++ b/packages/saas-ui-core/src/sidebar/nav-group.tsx @@ -115,8 +115,8 @@ export const NavGroup: React.FC = (props) => { const { title, icon, - isCollapsible, - defaultIsOpen, + isCollapsible = true, + defaultIsOpen = true, onOpen, onClose, children, @@ -159,8 +159,3 @@ export const NavGroup: React.FC = (props) => { } NavGroup.displayName = 'NavGroup' - -NavGroup.defaultProps = { - defaultIsOpen: true, - isCollapsible: false, -} diff --git a/packages/saas-ui-core/src/sidebar/nav.tsx b/packages/saas-ui-core/src/sidebar/nav.tsx index 3e58e25c0..ddbfe42fb 100644 --- a/packages/saas-ui-core/src/sidebar/nav.tsx +++ b/packages/saas-ui-core/src/sidebar/nav.tsx @@ -17,7 +17,7 @@ export interface NavProps extends HTMLChakraProps<'nav'> { export const Nav: React.FC = (props) => { const styles = useStyleConfig('SuiNav', props) - const { children, spacing, orientation = 'vertical', ...rest } = props + const { children, spacing = 0, orientation = 'vertical', ...rest } = props const containerStyles = { '& > *:not(style) ~ *:not(style)': { @@ -39,8 +39,4 @@ export const Nav: React.FC = (props) => { ) } -Nav.defaultProps = { - spacing: 0, -} - Nav.displayName = 'Nav' diff --git a/packages/saas-ui-core/src/sidebar/saas-ui-glyph.tsx b/packages/saas-ui-core/src/sidebar/saas-ui-glyph.tsx index d2d9cc945..b29e18593 100644 --- a/packages/saas-ui-core/src/sidebar/saas-ui-glyph.tsx +++ b/packages/saas-ui-core/src/sidebar/saas-ui-glyph.tsx @@ -1,71 +1,26 @@ -import * as React from 'react' -import { - chakra, - HTMLChakraProps, - keyframes, - useColorModeValue, -} from '@chakra-ui/react' - -const dash = keyframes` - from { - stroke-dashoffset: 0; - } - to { - stroke-dashoffset: 220%; - } -` - -interface LogoGlyph extends HTMLChakraProps<'svg'> { - isAnimating?: boolean - variant?: 'solid' | 'gradient' - color?: string -} - -const SaasUIGlyph: React.FC = (props) => { - const { isAnimating, variant = 'gradient', ...rest } = props - - let color = useColorModeValue('black', 'white') - - if (props.color) { - color = props.color - } +import { chakra, HTMLChakraProps, useColorModeValue } from '@chakra-ui/react' +const SaasUIGlyph: React.FC> = (props) => { return ( - - - - - - - - - - + + + + + ) } diff --git a/packages/saas-ui-core/src/sidebar/sidebar.tsx b/packages/saas-ui-core/src/sidebar/sidebar.tsx index b5edab498..ce066650d 100644 --- a/packages/saas-ui-core/src/sidebar/sidebar.tsx +++ b/packages/saas-ui-core/src/sidebar/sidebar.tsx @@ -71,7 +71,7 @@ export const Sidebar = forwardRef((props, ref) => { const { spacing = 4, children, - toggleBreakpoint, + toggleBreakpoint = 'lg', className, motionPreset = 'slideInOut', isOpen: isOpenProp, @@ -163,11 +163,6 @@ export const Sidebar = forwardRef((props, ref) => { ) }) -Sidebar.defaultProps = { - variant: 'default', - toggleBreakpoint: 'lg', -} - Sidebar.displayName = 'Sidebar' Sidebar.id = 'Sidebar' diff --git a/packages/saas-ui-core/src/structured-list/list.tsx b/packages/saas-ui-core/src/structured-list/list.tsx index d2977a7ba..16ef950b3 100644 --- a/packages/saas-ui-core/src/structured-list/list.tsx +++ b/packages/saas-ui-core/src/structured-list/list.tsx @@ -72,10 +72,6 @@ export const StructuredList = forwardRef( } ) -StructuredList.defaultProps = { - variant: 'structured-list', -} - StructuredList.displayName = 'StructuredList' export interface StructuredListHeaderProps extends HTMLChakraProps<'li'> { diff --git a/packages/saas-ui-data-table/CHANGELOG.md b/packages/saas-ui-data-table/CHANGELOG.md index 5acc6615f..3f831d09a 100644 --- a/packages/saas-ui-data-table/CHANGELOG.md +++ b/packages/saas-ui-data-table/CHANGELOG.md @@ -1,5 +1,18 @@ # @saas-ui/data-table +## 6.0.0 + +### Patch Changes + +- Updated dependencies [31d05ed5] +- Updated dependencies [dddb3d1a] +- Updated dependencies [ebba8404] +- Updated dependencies [91412d77] +- Updated dependencies [a3180b02] +- Updated dependencies [91412d77] + - @saas-ui/core@2.2.0 + - @saas-ui/react@2.4.0 + ## 5.0.1 ### Patch Changes diff --git a/packages/saas-ui-data-table/package.json b/packages/saas-ui-data-table/package.json index a08e12d97..e72b4bbfd 100644 --- a/packages/saas-ui-data-table/package.json +++ b/packages/saas-ui-data-table/package.json @@ -1,6 +1,6 @@ { "name": "@saas-ui/data-table", - "version": "5.0.1", + "version": "6.0.0", "description": "Data-table Component", "source": "src/index.ts", "exports": { diff --git a/packages/saas-ui-date-picker/CHANGELOG.md b/packages/saas-ui-date-picker/CHANGELOG.md index 79920bcc2..b012e5f18 100644 --- a/packages/saas-ui-date-picker/CHANGELOG.md +++ b/packages/saas-ui-date-picker/CHANGELOG.md @@ -1,5 +1,18 @@ # @saas-ui/date-picker +## 0.12.7 + +### Patch Changes + +- Updated dependencies [31d05ed5] +- Updated dependencies [dddb3d1a] +- Updated dependencies [ebba8404] +- Updated dependencies [91412d77] +- Updated dependencies [a3180b02] +- Updated dependencies [91412d77] + - @saas-ui/core@2.2.0 + - @saas-ui/modals@2.1.7 + ## 0.12.6 ### Patch Changes diff --git a/packages/saas-ui-date-picker/package.json b/packages/saas-ui-date-picker/package.json index 95303582e..676c3355d 100644 --- a/packages/saas-ui-date-picker/package.json +++ b/packages/saas-ui-date-picker/package.json @@ -1,6 +1,6 @@ { "name": "@saas-ui/date-picker", - "version": "0.12.6", + "version": "0.12.7", "description": "Chakra UI - Date Picker Component", "source": "src/index.ts", "exports": { diff --git a/packages/saas-ui-forms/CHANGELOG.md b/packages/saas-ui-forms/CHANGELOG.md index 65b3391d2..03f2bb639 100644 --- a/packages/saas-ui-forms/CHANGELOG.md +++ b/packages/saas-ui-forms/CHANGELOG.md @@ -1,5 +1,22 @@ # @saas-ui/forms +## 2.3.0 + +### Minor Changes + +- 68995558: Added new onToggle prop to DisplayIf +- a3180b02: Removed all Component.defaultProps definitions + +### Patch Changes + +- Updated dependencies [31d05ed5] +- Updated dependencies [dddb3d1a] +- Updated dependencies [ebba8404] +- Updated dependencies [91412d77] +- Updated dependencies [a3180b02] +- Updated dependencies [91412d77] + - @saas-ui/core@2.2.0 + ## 2.2.1 ### Patch Changes diff --git a/packages/saas-ui-forms/package.json b/packages/saas-ui-forms/package.json index e7dc2f95a..a718b1d9b 100644 --- a/packages/saas-ui-forms/package.json +++ b/packages/saas-ui-forms/package.json @@ -1,6 +1,6 @@ { "name": "@saas-ui/forms", - "version": "2.2.1", + "version": "2.3.0", "description": "Fully functional forms for Chakra UI.", "source": "src/index.ts", "exports": { diff --git a/packages/saas-ui-forms/src/display-if.tsx b/packages/saas-ui-forms/src/display-if.tsx index c1d887250..af0b3fcbb 100644 --- a/packages/saas-ui-forms/src/display-if.tsx +++ b/packages/saas-ui-forms/src/display-if.tsx @@ -18,6 +18,10 @@ export interface DisplayIfProps< isDisabled?: boolean isExact?: boolean condition?: (value: unknown, context: UseFormReturn) => boolean + onToggle?: ( + conditionMatched: boolean, + context: UseFormReturn + ) => void } /** * Conditionally render parts of a form. @@ -34,7 +38,11 @@ export const DisplayIf = < isDisabled, isExact, condition = (value) => !!value, + onToggle, }: DisplayIfProps) => { + const initializedRef = React.useRef(false) + const matchesRef = React.useRef(false) + const value = useWatch({ name, defaultValue: defaultValue as any, @@ -42,7 +50,20 @@ export const DisplayIf = < exact: isExact, }) const context = useFormContext() as any - return condition(value, context) ? children : null + + const matches = condition(value, context) + + React.useEffect(() => { + if (!initializedRef.current) { + initializedRef.current = true + return + } + if (matchesRef.current === matches) return + matchesRef.current = matches + onToggle?.(matches, context) + }, [value]) + + return matches ? children : null } DisplayIf.displayName = 'DisplayIf' diff --git a/packages/saas-ui-forms/src/number-input/number-input.tsx b/packages/saas-ui-forms/src/number-input/number-input.tsx index e900351ed..11195909a 100644 --- a/packages/saas-ui-forms/src/number-input/number-input.tsx +++ b/packages/saas-ui-forms/src/number-input/number-input.tsx @@ -42,7 +42,7 @@ export interface NumberInputProps export const NumberInput = forwardRef((props, ref) => { const { - hideStepper, + hideStepper = false, incrementIcon = , decrementIcon = , placeholder, @@ -66,8 +66,4 @@ export const NumberInput = forwardRef((props, ref) => { ) }) -NumberInput.defaultProps = { - hideStepper: false, -} - NumberInput.displayName = 'NumberInput' diff --git a/packages/saas-ui-forms/src/pin-input/pin-input.tsx b/packages/saas-ui-forms/src/pin-input/pin-input.tsx index a8e59cc0f..31b8bc8da 100644 --- a/packages/saas-ui-forms/src/pin-input/pin-input.tsx +++ b/packages/saas-ui-forms/src/pin-input/pin-input.tsx @@ -39,8 +39,4 @@ export const PinInput = forwardRef((props, ref) => { ) }) -PinInput.defaultProps = { - pinLength: 4, -} - PinInput.displayName = 'PinInput' diff --git a/packages/saas-ui-forms/src/submit-button.tsx b/packages/saas-ui-forms/src/submit-button.tsx index 88608799a..821203867 100644 --- a/packages/saas-ui-forms/src/submit-button.tsx +++ b/packages/saas-ui-forms/src/submit-button.tsx @@ -28,9 +28,10 @@ export interface SubmitButtonProps extends ButtonProps { export const SubmitButton = forwardRef( (props, ref) => { const { + variant = 'primary', children = 'Submit', - disableIfUntouched, - disableIfInvalid, + disableIfUntouched = false, + disableIfInvalid = false, isDisabled: isDisabledProp, isLoading, ...rest @@ -46,6 +47,7 @@ export const SubmitButton = forwardRef( + } + + const { findByText, user } = renderModal() + + const button = await findByText('c') + expect(button).toBeInTheDocument() + + await user.keyboard('c') + + expect(action).toBeCalled() +}) + +test('should trigger shifted keys.', async () => { + const action = jest.fn() + const TestComponent = () => { + useHotkeysShortcut('general.help', action) + return null + } + + const { user } = renderModal() + + await user.keyboard('{shift}/') + + expect(action).toBeCalled() +}) + +test('should trigger key combinations.', async () => { + const action = jest.fn() + const TestComponent = () => { + useHotkeysShortcut('general.logout', action) + return null + } + + const { user } = renderModal() + + await user.keyboard('{alt}{shift}q') + + expect(action).toBeCalled() +}) + +test('should trigger key sequences.', async () => { + const action = jest.fn() + const TestComponent = () => { + useHotkeysShortcut('general.dashboard', action) + return null + } + + const { user } = renderModal() + + await user.keyboard('G') + await user.keyboard('D') + + expect(action).toBeCalled() +}) + +test('should trigger custom hotkeys.', async () => { + const action = jest.fn() + const TestComponent = () => { + useHotkeys('c', action) + return null + } + + const { user } = renderModal() + + await user.keyboard('c') + + expect(action).toBeCalled() +}) + +test('should support multiple key combinations.', async () => { + const action = jest.fn() + const TestComponent = () => { + useHotkeys(['c', 'G then C'], action) + return null + } + + const { user } = renderModal() + + await user.keyboard('c') + + expect(action).toBeCalled() + + await user.keyboard('G') + await user.keyboard('C') + + expect(action).toBeCalledTimes(2) +}) diff --git a/packages/saas-ui-use-hotkeys/tsconfig.json b/packages/saas-ui-use-hotkeys/tsconfig.json new file mode 100644 index 000000000..58048b273 --- /dev/null +++ b/packages/saas-ui-use-hotkeys/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": [ + "src/tests", + "**/*.spec.ts", + "**/*.spec.tsx", + "**/*.test.ts", + "**/*.test.tsx", + "**/*/*.stories.tsx" + ] +} diff --git a/packages/saas-ui-use-hotkeys/tsup.config.ts b/packages/saas-ui-use-hotkeys/tsup.config.ts new file mode 100644 index 000000000..84832a477 --- /dev/null +++ b/packages/saas-ui-use-hotkeys/tsup.config.ts @@ -0,0 +1,4 @@ +import { defineConfig } from 'tsup' +import config from '../../tsup.config' + +export default defineConfig(config) diff --git a/packages/storybook/.storybook/main.mjs b/packages/storybook/.storybook/main.mjs index 66c731776..9f51d5607 100644 --- a/packages/storybook/.storybook/main.mjs +++ b/packages/storybook/.storybook/main.mjs @@ -38,7 +38,6 @@ export default { '@chakra-ui/react': { disable: true, // Make sure Chakra gets loaded last }, - chakra: { title: 'Chakra UI', url: 'https://storybook.chakra-ui.com', @@ -65,13 +64,13 @@ export default { // Merge custom configuration into the default config return mergeConfig(config, { // Add storybook-specific dependencies to pre-optimization - // optimizeDeps: { - // include: ['storybook-addon-designs'], - // }, + optimizeDeps: { + include: ['@saas-ui/storybook-addon'], + }, resolve: { alias: [ { - find: /(\@saas-ui\/[a-z-\/]+)$/, + find: /(\@saas-ui\/(?!storybook-addon\/?)[a-z-\/]+)$/, replacement: '$1/src', }, ], @@ -81,7 +80,4 @@ export default { framework: { name: '@storybook/react-vite', }, - docs: { - autodocs: true, - }, } diff --git a/packages/storybook/CHANGELOG.md b/packages/storybook/CHANGELOG.md index b707450ab..904ed4aa7 100644 --- a/packages/storybook/CHANGELOG.md +++ b/packages/storybook/CHANGELOG.md @@ -1,5 +1,17 @@ # saas-ui-storybook +## 1.1.7 + +### Patch Changes + +- Updated dependencies [31d05ed5] +- Updated dependencies [dddb3d1a] +- Updated dependencies [ebba8404] +- Updated dependencies [91412d77] +- Updated dependencies [a3180b02] +- Updated dependencies [91412d77] + - @saas-ui/react@2.4.0 + ## 1.1.6 ### Patch Changes diff --git a/packages/storybook/package.json b/packages/storybook/package.json index 808719a48..c4313922f 100644 --- a/packages/storybook/package.json +++ b/packages/storybook/package.json @@ -1,7 +1,7 @@ { "name": "saas-ui-storybook", "type": "module", - "version": "1.1.6", + "version": "1.1.7", "scripts": { "dev": "sb dev -p 6006", "build": "sb build --debug --loglevel verbose" @@ -16,7 +16,7 @@ "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", "@saas-ui/react": "workspace:*", - "@saas-ui/storybook-addon": "workspace:*", + "@saas-ui/storybook-addon": "^2.0.0", "@storybook/addon-a11y": "^7.4.2", "@storybook/addon-storysource": "^7.4.2", "@storybook/addon-toolbars": "^7.4.2", diff --git a/tooling/storybook-addon/CHANGELOG.md b/tooling/storybook-addon/CHANGELOG.md index db8814fdb..23f9dd246 100644 --- a/tooling/storybook-addon/CHANGELOG.md +++ b/tooling/storybook-addon/CHANGELOG.md @@ -1,46 +1,46 @@ # @chakra-ui/storybook-addon -## 1.1.1 - -### Patch Changes - -- f1f0cc28: Remove peer deps - -## 1.1.0 +## 5.1.0 ### Minor Changes -- 046e42b8: Updated to Chakra UI 2.7 +- [#8109](https://github.com/chakra-ui/chakra-ui/pull/8109) + [`4340dbda4`](https://github.com/chakra-ui/chakra-ui/commit/4340dbda47bd01d8b4e64ef70a44401a1853606d) + Thanks [@TylerAPfledderer](https://github.com/TylerAPfledderer)! - Bumps + Storybook deps to latest (7.5.3) and updates the tooling -### Patch Changes - -- d725a5da: Fix esm bundle import -- d725a5da: Bump version -- 0319aa57: Bump version + - Toggling state for color mode originally used Storybook's `useAddonState` + api hook. However, this hook is not reliable to persistent allow toggling of + boolean state. Replaces this hook with React's `useState` as this state is a + primitive. + - Makes use of the `makeDecorator` function to make this addon more like an + official Storybook addon. + - Removes unneeded props from the button components that were originally part + of a Type error bug. -## 1.1.0-rc.3 - -### Minor Changes - -- 046e42b8: Updated to Chakra UI 2.7 - -## 1.0.1-rc.2 +## 5.0.1 ### Patch Changes -- Bump version +- [#7820](https://github.com/chakra-ui/chakra-ui/pull/7820) + [`a0144a1d8`](https://github.com/chakra-ui/chakra-ui/commit/a0144a1d884e590b0b2788040e4269b301e67aac) + Thanks [@TylerAPfledderer](https://github.com/TylerAPfledderer)! - Improve + build and exports -## 1.0.1-next.1 - -### Patch Changes + - Export a `preview` object containing the provider decorator + - Modify tsup config for improved build and to generate `.dts` files for prod + - Use up-to-date decorator function type for Provider decorator + - Turns the first argument for the story into a function which returns the + preview. -- Fix esm bundle import +## 5.0.0 -## 1.0.1-next.0 - -### Patch Changes +### Major Changes -- Bump version +- [#7678](https://github.com/chakra-ui/chakra-ui/pull/7678) + [`8d9c878a9`](https://github.com/chakra-ui/chakra-ui/commit/8d9c878a9d6e5b82ec19bd1ec8994a75a4dc7de9) + Thanks [@TylerAPfledderer](https://github.com/TylerAPfledderer)! - BREAKING: + Adds support for Storybook v7 ## 4.0.17 diff --git a/tooling/storybook-addon/package.json b/tooling/storybook-addon/package.json index 0c88c12ae..deeab5f03 100644 --- a/tooling/storybook-addon/package.json +++ b/tooling/storybook-addon/package.json @@ -1,11 +1,10 @@ { "name": "@saas-ui/storybook-addon", - "version": "1.1.1", + "version": "2.0.0", "description": "The official Storybook Addon for Saas UI", "main": "dist/index.js", "module": "dist/index.mjs", "types": "dist/index.d.ts", - "type": "module", "files": [ "dist", "theming-arg-types.png" @@ -17,41 +16,32 @@ "require": "./dist/index.js" }, "./*": "./*", - "./preset": { - "types": "./dist/preset/index.d.ts", - "import": "./dist/preset/index.mjs", - "require": "./dist/preset/index.js" + "./manager": { + "types": "./dist/manager.d.ts", + "require": "./dist/manager.js", + "import": "./dist/manager.mjs" }, - "./preset/decorators": { - "types": "./dist/preset/index.d.ts", - "import": "./dist/preset/decorators.mjs", - "require": "./dist/preset/decorators.js" - }, - "./preset/register": { - "types": "./dist/preset/index.d.ts", - "import": "./dist/preset/register.mjs", - "require": "./dist/preset/register.js" + "./preview": { + "types": "./dist/preview.d.ts", + "require": "./dist/preview.js", + "import": "./dist/preview.mjs" } }, "typesVersions": { "*": { - "preset": [ - "./dist/preset/index.d.ts" - ], - "preset/decorators": [ - "./dist/preset/decorators.d.ts" + "manager": [ + "./dist/manager.d.ts" ], - "preset/register": [ - "./dist/preset/register.d.ts" + "previews": [ + "./dist/preview.d.ts" ] } }, "scripts": { - "build": "tsup --dts", - "dev": "yarn build -- --watch", + "build": "tsup", + "dev": "pnpm build -- --watch", "clean": "rimraf dist .turbo", - "typecheck": "tsc --noEmit", - "build:fast": "tsup" + "typecheck": "tsc --noEmit" }, "repository": { "type": "git", @@ -74,24 +64,27 @@ "homepage": "https://github.com/saas-ui/saas-ui#readme", "devDependencies": { "@chakra-ui/react": "^2.8.1", - "@chakra-ui/system": ">=2.3.8", "@emotion/react": ">=11.1.5", "@emotion/styled": ">=11.1.5", "@saas-ui/react": "workspace:*", "@saas-ui/theme": "workspace:*", "@saas-ui/theme-glass": "workspace:*", - "@storybook/addons": "^7.4.2", - "@storybook/api": "^7.4.2", - "@storybook/components": "^7.4.2", + "@storybook/api": "^7.5.3", + "@storybook/components": "^7.5.3", + "@storybook/manager-api": "^7.5.3", + "@storybook/preview-api": "^7.5.3", + "@storybook/types": "^7.3.2", "framer-motion": ">=4.1.17", "react": "^18.2.0", - "react-dom": ">=18.0.0", "tsup": "^6.7.0" }, "peerDependencies": { "@chakra-ui/react": ">=2.0.0", - "@storybook/components": ">=7", - "react": ">=18.0.x" + "@storybook/components": ">=7.0.12", + "@storybook/manager-api": ">=7.0.12", + "@storybook/preview-api": ">=7.0.12", + "@storybook/types": ">=7.0.24", + "react": ">=16.8.x" }, "peerDependenciesMeta": { "react": { @@ -105,7 +98,7 @@ "access": "public" }, "storybook": { - "displayName": "Chakra UI", + "displayName": "Saas UI", "supportedFrameworks": [ "react" ], diff --git a/tooling/storybook-addon/src/ChakraProviderDecorator.tsx b/tooling/storybook-addon/src/ChakraProviderDecorator.tsx new file mode 100644 index 000000000..f4ccc8699 --- /dev/null +++ b/tooling/storybook-addon/src/ChakraProviderDecorator.tsx @@ -0,0 +1,94 @@ +import * as React from 'react' + +import { extendTheme } from '@chakra-ui/react' +import { makeDecorator } from '@storybook/preview-api' +import { addons } from '@storybook/addons' +import { ColorModeSync } from './color-mode/ColorModeSync' +import { useDirection } from './direction/useDirection' +import { EVENTS, DIRECTION_TOOL_ID } from './constants' + +import { SaasProvider, useLocalStorage } from '@saas-ui/react' + +import { baseTheme, theme as suiTheme } from '@saas-ui/theme' +import { theme as baseGlassTheme } from '@saas-ui/theme-glass' + +const glassTheme = extendTheme(baseGlassTheme, suiTheme) + +const useThemeSync = () => { + const [themeId, setTheme] = useLocalStorage('storybook.theme', '1') + + React.useEffect(() => { + const channel = addons.getChannel() + + const themeCallback = (value: string) => { + console.log(value) + setTheme(value) + } + channel.on(EVENTS.SET_THEME, themeCallback) + + return () => { + channel.removeListener(EVENTS.SET_THEME, themeCallback) + } + }, [setTheme]) + + return themeId +} + +export const ChakraProviderDecorator = makeDecorator({ + name: 'ChakraProviderDecorator', + parameterName: 'chakra', + skipIfNoParametersOrOptions: false, + wrapper: (getStory, context, { parameters }) => { + const { + parameters: { saasui: saasuiParams }, + globals: { [DIRECTION_TOOL_ID]: globalDirection }, + } = context + + const themeId = useThemeSync() + + const getTheme = React.useCallback(() => { + switch (themeId) { + case '1': + return suiTheme + case '2': + return glassTheme + default: + return baseTheme + } + }, [themeId]) + + const theme = saasuiParams?.theme || getTheme() + const themeOverride = !!saasuiParams?.theme + + const chakraTheme = saasuiParams?.theme + ? typeof saasuiParams.theme === 'function' + ? saasuiParams.theme(context) + : saasuiParams.theme + : theme + const direction = useDirection(globalDirection || chakraTheme?.direction) + const themeWithDirectionOverride = React.useMemo( + () => + extendTheme( + { + direction, + styles: { + global: { + body: { + minHeight: 'var(--chakra-vh)', + }, + }, + }, + }, + chakraTheme + ), + [chakraTheme, direction] + ) + + return ( + + + {getStory(context)} + + ) + }, +}) diff --git a/tooling/storybook-addon/src/feature/arg-types.ts b/tooling/storybook-addon/src/arg-types.ts similarity index 100% rename from tooling/storybook-addon/src/feature/arg-types.ts rename to tooling/storybook-addon/src/arg-types.ts diff --git a/tooling/storybook-addon/src/feature/color-mode/ColorModeSync.tsx b/tooling/storybook-addon/src/color-mode/ColorModeSync.tsx similarity index 87% rename from tooling/storybook-addon/src/feature/color-mode/ColorModeSync.tsx rename to tooling/storybook-addon/src/color-mode/ColorModeSync.tsx index 7915fe367..4ce974f9a 100644 --- a/tooling/storybook-addon/src/feature/color-mode/ColorModeSync.tsx +++ b/tooling/storybook-addon/src/color-mode/ColorModeSync.tsx @@ -1,7 +1,7 @@ import { useEffect } from 'react' import { useColorMode } from '@chakra-ui/react' -import { addons } from '@storybook/addons' -import { EVENTS } from '../../constants' +import { addons } from '@storybook/preview-api' +import { EVENTS } from '../constants' /** * Render to sync the storybook color mode with Chakra UI diff --git a/tooling/storybook-addon/src/feature/color-mode/ColorModeTool.tsx b/tooling/storybook-addon/src/color-mode/ColorModeTool.tsx similarity index 78% rename from tooling/storybook-addon/src/feature/color-mode/ColorModeTool.tsx rename to tooling/storybook-addon/src/color-mode/ColorModeTool.tsx index cc389cc2b..913d4fa9f 100644 --- a/tooling/storybook-addon/src/feature/color-mode/ColorModeTool.tsx +++ b/tooling/storybook-addon/src/color-mode/ColorModeTool.tsx @@ -1,7 +1,8 @@ -import { useAddonState } from '@storybook/api' +import * as React from 'react' import { IconButton } from '@storybook/components' -import { addons } from '@storybook/addons' -import { ADDON_ID, EVENTS } from '../../constants' +import { addons } from '@storybook/manager-api' + +import { EVENTS } from '../constants' const MoonIcon = () => ( @@ -34,28 +35,23 @@ const SunIcon = () => ( ) -/** - * This component is rendered in the Storybook toolbar - */ export const ColorModeTool = () => { const isDarkMode = localStorage.getItem('chakra-ui-color-mode') === 'dark' - const [darkMode, setDarkMode] = useAddonState( - `${ADDON_ID}/dark-mode`, - isDarkMode - ) + + const [darkMode, setDarkMode] = React.useState(isDarkMode) const channel = addons.getChannel() - const toggleDarkMode = () => { + const handleToggle = () => { channel.emit(EVENTS.TOGGLE_COLOR_MODE, !darkMode ? 'dark' : 'light') - setDarkMode(!darkMode) + setDarkMode((prev) => !prev) } return ( {darkMode ? : } diff --git a/tooling/storybook-addon/src/constants.ts b/tooling/storybook-addon/src/constants.ts index c2a775b3f..d2857ee9f 100644 --- a/tooling/storybook-addon/src/constants.ts +++ b/tooling/storybook-addon/src/constants.ts @@ -1,4 +1,4 @@ -export const ADDON_ID = '@saas-ui/storybook-addon' +export const ADDON_ID = '@saas-ui/storybook-addon2' export const COLOR_MODE_TOOL_ID = `${ADDON_ID}/color-mode-tool` export const DIRECTION_TOOL_ID = `${ADDON_ID}/direction-tool` export const THEME_TOOL_ID = `${ADDON_ID}/theme-tool` diff --git a/tooling/storybook-addon/src/feature/direction/DirectionTool.tsx b/tooling/storybook-addon/src/direction/DirectionTool.tsx similarity index 92% rename from tooling/storybook-addon/src/feature/direction/DirectionTool.tsx rename to tooling/storybook-addon/src/direction/DirectionTool.tsx index 6d1e7dc2f..12dfccaac 100644 --- a/tooling/storybook-addon/src/feature/direction/DirectionTool.tsx +++ b/tooling/storybook-addon/src/direction/DirectionTool.tsx @@ -1,8 +1,7 @@ import { useCallback, useEffect } from 'react' -import { useAddonState, useGlobals } from '@storybook/api' -import { addons } from '@storybook/addons' +import { addons, useAddonState, useGlobals } from '@storybook/manager-api' import { IconButton } from '@storybook/components' -import { DIRECTION_TOOL_ID, EVENTS } from '../../constants' +import { DIRECTION_TOOL_ID, EVENTS } from '../constants' const LTRIcon = (props: React.SVGProps) => ( { - const [themeId, setTheme] = useLocalStorage('storybook.theme', '1') - - React.useEffect(() => { - const channel = addons.getChannel() - - const themeCallback = (value: string) => setTheme(value) - channel.on(EVENTS.SET_THEME, themeCallback) - - return () => { - channel.removeListener(EVENTS.SET_THEME, themeCallback) - } - }, [setTheme]) - - return themeId -} - -export function ChakraProviderDecorator( - Story: StoryFn, - context: StoryContext -) { - const { - parameters: { saasui: saasuiParams }, - globals: { [DIRECTION_TOOL_ID]: globalDirection }, - } = context - - const themeId = useThemeSync() - - const getTheme = React.useCallback(() => { - switch (themeId) { - case '1': - return suiTheme - case '2': - return glassTheme - default: - return baseTheme - } - }, [themeId]) - - const theme = saasuiParams?.theme || getTheme() - const themeOverride = !!saasuiParams?.theme - - const chakraTheme = saasuiParams?.theme - ? typeof saasuiParams.theme === 'function' - ? saasuiParams.theme(context) - : saasuiParams.theme - : theme - const direction = useDirection(globalDirection || chakraTheme?.direction) - const themeWithDirectionOverride = useMemo( - () => - extendTheme( - { - direction, - styles: { - global: { - body: { - minHeight: 'var(--chakra-vh)', - }, - }, - }, - }, - chakraTheme - ), - [chakraTheme, direction] - ) - - return ( - - - - - ) -} diff --git a/tooling/storybook-addon/src/index.ts b/tooling/storybook-addon/src/index.ts index 14f07cc1f..ea638960c 100644 --- a/tooling/storybook-addon/src/index.ts +++ b/tooling/storybook-addon/src/index.ts @@ -1,2 +1,2 @@ export * from './constants' -export * from './feature/arg-types' +export * from './arg-types' diff --git a/tooling/storybook-addon/src/preset/register.ts b/tooling/storybook-addon/src/manager.ts similarity index 69% rename from tooling/storybook-addon/src/preset/register.ts rename to tooling/storybook-addon/src/manager.ts index 8b6d17713..2449e962e 100644 --- a/tooling/storybook-addon/src/preset/register.ts +++ b/tooling/storybook-addon/src/manager.ts @@ -1,13 +1,13 @@ -import { addons, types } from '@storybook/addons' +import { addons, types } from '@storybook/manager-api' import { ADDON_ID, COLOR_MODE_TOOL_ID, DIRECTION_TOOL_ID, THEME_TOOL_ID, -} from '../constants' -import { ColorModeTool } from '../feature/color-mode/ColorModeTool' -import { ThemeTool } from '../feature/color-mode/ThemeTool' -import { DirectionTool } from '../feature/direction/DirectionTool' +} from './constants' +import { ColorModeTool } from './color-mode/ColorModeTool' +import { DirectionTool } from './direction/DirectionTool' +import { ThemeTool } from './theme/ThemeTool' addons.register(ADDON_ID, () => { const match = ({ viewMode }: { viewMode?: string }) => diff --git a/tooling/storybook-addon/src/preset/decorators.ts b/tooling/storybook-addon/src/preset/decorators.ts deleted file mode 100644 index 452e87321..000000000 --- a/tooling/storybook-addon/src/preset/decorators.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { ChakraProviderDecorator } from '../feature/decorator/ChakraProviderDecorator' - -export const decorators: any[] = [ChakraProviderDecorator] diff --git a/tooling/storybook-addon/src/preset/index.ts b/tooling/storybook-addon/src/preset/index.ts deleted file mode 100644 index ccb976a2e..000000000 --- a/tooling/storybook-addon/src/preset/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -export function config(entry = []) { - return [ - ...entry, - require.resolve('@saas-ui/storybook-addon/preset/decorators'), - ] -} - -export function managerEntries(entry = []) { - return [...entry, require.resolve('@saas-ui/storybook-addon/preset/register')] -} - -export function webpackFinal(config: any) { - // https://github.com/polkadot-js/extension/issues/621#issuecomment-759341776 - // framer-motion uses the .mjs notation and we need to include it so that webpack will - // transpile it for us correctly (enables using a CJS module inside an ESM). - config.module.rules.push({ - test: /\.mjs$/, - include: /node_modules/, - type: 'javascript/auto', - }) - - return config -} diff --git a/tooling/storybook-addon/src/preview.ts b/tooling/storybook-addon/src/preview.ts new file mode 100644 index 000000000..14670b450 --- /dev/null +++ b/tooling/storybook-addon/src/preview.ts @@ -0,0 +1,8 @@ +import { Renderer, ProjectAnnotations } from '@storybook/types' +import { ChakraProviderDecorator } from './ChakraProviderDecorator' + +const preview: ProjectAnnotations = { + decorators: [ChakraProviderDecorator], +} + +export default preview diff --git a/tooling/storybook-addon/src/feature/color-mode/ThemeTool.tsx b/tooling/storybook-addon/src/theme/ThemeTool.tsx similarity index 96% rename from tooling/storybook-addon/src/feature/color-mode/ThemeTool.tsx rename to tooling/storybook-addon/src/theme/ThemeTool.tsx index 9e6abc1ea..5f31eb0de 100644 --- a/tooling/storybook-addon/src/feature/color-mode/ThemeTool.tsx +++ b/tooling/storybook-addon/src/theme/ThemeTool.tsx @@ -6,7 +6,7 @@ import { Icons, } from '@storybook/components' import { addons } from '@storybook/addons' -import { ADDON_ID, EVENTS } from '../../constants' +import { ADDON_ID, EVENTS } from '../constants' const themes: Record = { 0: 'Chakra UI', diff --git a/tooling/storybook-addon/tsconfig.json b/tooling/storybook-addon/tsconfig.json index 407073a79..a96a1c2ed 100644 --- a/tooling/storybook-addon/tsconfig.json +++ b/tooling/storybook-addon/tsconfig.json @@ -1,12 +1,4 @@ { "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": ".", - "paths": { - "@saas-ui/react": ["../../packages/saas-ui-react/src"], - "@saas-ui/theme": ["../../packages/saas-ui-theme/src"], - "@saas-ui/theme-glass": ["../../packages/saas-ui-theme-glass/src"] - } - }, "include": ["src", "stories", "index.ts"] } diff --git a/tooling/storybook-addon/tsup.config.ts b/tooling/storybook-addon/tsup.config.ts index 76c6e5fbe..27ddf2259 100644 --- a/tooling/storybook-addon/tsup.config.ts +++ b/tooling/storybook-addon/tsup.config.ts @@ -1,14 +1,16 @@ import { defineConfig } from 'tsup' -export default defineConfig({ +export default defineConfig((options) => ({ entry: ['src'], clean: true, - external: [ - '@saas-ui/storybook-addon', - '@saas-ui/react', - '@saas-ui/core', - '@saas-ui/theme', - '@saas-ui/theme-glass', - ], + external: ['@chakra-ui/storybook-addon'], format: ['esm', 'cjs'], -}) + dts: { + resolve: true, + }, + treeshake: 'recommended', + sourcemap: true, + splitting: false, + minify: !options.watch, + platform: 'browser', +})) diff --git a/tooling/test-utils/CHANGELOG.md b/tooling/test-utils/CHANGELOG.md index 68d9af896..6a5d4c004 100644 --- a/tooling/test-utils/CHANGELOG.md +++ b/tooling/test-utils/CHANGELOG.md @@ -1,5 +1,17 @@ # @saas-ui/test-utils +## 3.1.7 + +### Patch Changes + +- Updated dependencies [31d05ed5] +- Updated dependencies [dddb3d1a] +- Updated dependencies [ebba8404] +- Updated dependencies [91412d77] +- Updated dependencies [a3180b02] +- Updated dependencies [91412d77] + - @saas-ui/react@2.4.0 + ## 3.1.6 ### Patch Changes diff --git a/tooling/test-utils/package.json b/tooling/test-utils/package.json index 13712f11b..597d4fa81 100644 --- a/tooling/test-utils/package.json +++ b/tooling/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@saas-ui/test-utils", - "version": "3.1.6", + "version": "3.1.7", "private": true, "description": "Testing utilities for Chakra UI's components", "keywords": [ diff --git a/yarn.lock b/yarn.lock index a77548bf1..4cf2763b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -57,73 +57,38 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.20.12, @babel/core@npm:^7.22.19, @babel/core@npm:^7.22.9, @babel/core@npm:^7.7.5": - version: 7.22.19 - resolution: "@babel/core@npm:7.22.19" +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.18.9, @babel/core@npm:^7.20.12, @babel/core@npm:^7.22.0, @babel/core@npm:^7.22.19, @babel/core@npm:^7.22.9, @babel/core@npm:^7.23.2": + version: 7.23.3 + resolution: "@babel/core@npm:7.23.3" dependencies: "@ampproject/remapping": ^2.2.0 "@babel/code-frame": ^7.22.13 - "@babel/generator": ^7.22.15 + "@babel/generator": ^7.23.3 "@babel/helper-compilation-targets": ^7.22.15 - "@babel/helper-module-transforms": ^7.22.19 - "@babel/helpers": ^7.22.15 - "@babel/parser": ^7.22.16 - "@babel/template": ^7.22.15 - "@babel/traverse": ^7.22.19 - "@babel/types": ^7.22.19 - convert-source-map: ^1.7.0 - debug: ^4.1.0 - gensync: ^1.0.0-beta.2 - json5: ^2.2.3 - semver: ^6.3.1 - checksum: d603f6f00b20c1edff6a6c9d32c559d4d09ee873380317271b57322bfb9da4349e59df53a21c65e9e5a1136f52bf612389d798640454e6fd9246a5c6d76b0c5c - languageName: node - linkType: hard - -"@babel/core@npm:^7.18.9, @babel/core@npm:^7.22.0, @babel/core@npm:^7.23.2": - version: 7.23.2 - resolution: "@babel/core@npm:7.23.2" - dependencies: - "@ampproject/remapping": ^2.2.0 - "@babel/code-frame": ^7.22.13 - "@babel/generator": ^7.23.0 - "@babel/helper-compilation-targets": ^7.22.15 - "@babel/helper-module-transforms": ^7.23.0 + "@babel/helper-module-transforms": ^7.23.3 "@babel/helpers": ^7.23.2 - "@babel/parser": ^7.23.0 + "@babel/parser": ^7.23.3 "@babel/template": ^7.22.15 - "@babel/traverse": ^7.23.2 - "@babel/types": ^7.23.0 + "@babel/traverse": ^7.23.3 + "@babel/types": ^7.23.3 convert-source-map: ^2.0.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.3 semver: ^6.3.1 - checksum: 003897718ded16f3b75632d63cd49486bf67ff206cc7ebd1a10d49e2456f8d45740910d5ec7e42e3faf0deec7a2e96b1a02e766d19a67a8309053f0d4e57c0fe - languageName: node - linkType: hard - -"@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.22.15, @babel/generator@npm:^7.22.9": - version: 7.22.15 - resolution: "@babel/generator@npm:7.22.15" - dependencies: - "@babel/types": ^7.22.15 - "@jridgewell/gen-mapping": ^0.3.2 - "@jridgewell/trace-mapping": ^0.3.17 - jsesc: ^2.5.1 - checksum: 5b2a3ccdc3634f6ea86e0a442722bcd430238369432d31f15b428a4ee8013c2f4f917b5b135bf4fc1d0a3e2f87f10fd4ce5d07955ecc2d3b9400a05c2a481374 + checksum: d306c1fa68972f4e085e9e7ad165aee80eb801ef331f6f07808c86309f03534d638b82ad00a3bc08f4d3de4860ccd38512b2790a39e6acc2caf9ea21e526afe7 languageName: node linkType: hard -"@babel/generator@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/generator@npm:7.23.0" +"@babel/generator@npm:^7.22.9, @babel/generator@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/generator@npm:7.23.3" dependencies: - "@babel/types": ^7.23.0 + "@babel/types": ^7.23.3 "@jridgewell/gen-mapping": ^0.3.2 "@jridgewell/trace-mapping": ^0.3.17 jsesc: ^2.5.1 - checksum: 8efe24adad34300f1f8ea2add420b28171a646edc70f2a1b3e1683842f23b8b7ffa7e35ef0119294e1901f45bfea5b3dc70abe1f10a1917ccdfb41bed69be5f1 + checksum: b6e71cca852d4e1aa01a28a30b8c74ffc3b8d56ccb7ae3ee783028ee015f63ad861a2e386c3eb490a9a8634db485a503a33521680f4af510151e90346c46da17 languageName: node linkType: hard @@ -205,31 +170,14 @@ __metadata: languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.22.20": +"@babel/helper-environment-visitor@npm:^7.22.20, @babel/helper-environment-visitor@npm:^7.22.5": version: 7.22.20 resolution: "@babel/helper-environment-visitor@npm:7.22.20" checksum: d80ee98ff66f41e233f36ca1921774c37e88a803b2f7dca3db7c057a5fea0473804db9fb6729e5dbfd07f4bed722d60f7852035c2c739382e84c335661590b69 languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-environment-visitor@npm:7.22.5" - checksum: 248532077d732a34cd0844eb7b078ff917c3a8ec81a7f133593f71a860a582f05b60f818dc5049c2212e5baa12289c27889a4b81d56ef409b4863db49646c4b1 - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-function-name@npm:7.22.5" - dependencies: - "@babel/template": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: 6b1f6ce1b1f4e513bf2c8385a557ea0dd7fa37971b9002ad19268ca4384bbe90c09681fe4c076013f33deabc63a53b341ed91e792de741b4b35e01c00238177a - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.23.0": +"@babel/helper-function-name@npm:^7.22.5, @babel/helper-function-name@npm:^7.23.0": version: 7.23.0 resolution: "@babel/helper-function-name@npm:7.23.0" dependencies: @@ -266,24 +214,9 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.22.15, @babel/helper-module-transforms@npm:^7.22.19, @babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.22.9": - version: 7.22.19 - resolution: "@babel/helper-module-transforms@npm:7.22.19" - dependencies: - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-module-imports": ^7.22.15 - "@babel/helper-simple-access": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/helper-validator-identifier": ^7.22.19 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: ee1278a6850bb5c0efff35c4c20a13469a84d1bdc999a5e1c5aaf87d848b76cba464904c3c34bbbabcbe83e4632a5d7c64ac006de710c5d63c7b2c2473c33f77 - languageName: node - linkType: hard - -"@babel/helper-module-transforms@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/helper-module-transforms@npm:7.23.0" +"@babel/helper-module-transforms@npm:^7.22.15, @babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.22.9, @babel/helper-module-transforms@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/helper-module-transforms@npm:7.23.3" dependencies: "@babel/helper-environment-visitor": ^7.22.20 "@babel/helper-module-imports": ^7.22.15 @@ -292,7 +225,7 @@ __metadata: "@babel/helper-validator-identifier": ^7.22.20 peerDependencies: "@babel/core": ^7.0.0 - checksum: 6e2afffb058cf3f8ce92f5116f710dda4341c81cfcd872f9a0197ea594f7ce0ab3cb940b0590af2fe99e60d2e5448bfba6bca8156ed70a2ed4be2adc8586c891 + checksum: 5d0895cfba0e16ae16f3aa92fee108517023ad89a855289c4eb1d46f7aef4519adf8e6f971e1d55ac20c5461610e17213f1144097a8f932e768a9132e2278d71 languageName: node linkType: hard @@ -372,14 +305,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.22.19, @babel/helper-validator-identifier@npm:^7.22.5": - version: 7.22.19 - resolution: "@babel/helper-validator-identifier@npm:7.22.19" - checksum: cf1f94d35cdb2d0f519b31954d1c54929fb31cf8af70fed12b3a1e777c296fabe747e56d9ae3d181c1c96f33ac66aff9501189542554b6fe0508748a38c1c17f - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.22.20": +"@babel/helper-validator-identifier@npm:^7.22.20, @babel/helper-validator-identifier@npm:^7.22.5": version: 7.22.20 resolution: "@babel/helper-validator-identifier@npm:7.22.20" checksum: 136412784d9428266bcdd4d91c32bcf9ff0e8d25534a9d94b044f77fe76bc50f941a90319b05aafd1ec04f7d127cd57a179a3716009ff7f3412ef835ada95bdc @@ -404,17 +330,6 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/helpers@npm:7.22.15" - dependencies: - "@babel/template": ^7.22.15 - "@babel/traverse": ^7.22.15 - "@babel/types": ^7.22.15 - checksum: 49f61a93cbae4df3328bda67af5db743fead659ae4242571226c3596b7df78546189cdf991fed1eca33b559de8abf396a90a001f474a1bab351418f07b7ae6ef - languageName: node - linkType: hard - "@babel/helpers@npm:^7.23.2": version: 7.23.2 resolution: "@babel/helpers@npm:7.23.2" @@ -437,21 +352,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.22.16, @babel/parser@npm:^7.22.7": - version: 7.22.16 - resolution: "@babel/parser@npm:7.22.16" - bin: - parser: ./bin/babel-parser.js - checksum: 944c756b5bdeb07b9fec16ecef6b3c61aff9d4c4b924abadcf01afa1840a740b8e2357ae00482b5b37daad6d2bfd848c947f27ad65138d687b6fdc924bc59edd - languageName: node - linkType: hard - -"@babel/parser@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/parser@npm:7.23.0" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.22.7, @babel/parser@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/parser@npm:7.23.3" bin: parser: ./bin/babel-parser.js - checksum: 453fdf8b9e2c2b7d7b02139e0ce003d1af21947bbc03eb350fb248ee335c9b85e4ab41697ddbdd97079698de825a265e45a0846bb2ed47a2c7c1df833f42a354 + checksum: 4aa7366e401b5467192c1dbf2bef99ac0958c45ef69ed6704abbae68f98fab6409a527b417d1528fddc49d7664450670528adc7f45abb04db5fafca7ed766d57 languageName: node linkType: hard @@ -1634,61 +1540,32 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.1.6, @babel/traverse@npm:^7.22.15, @babel/traverse@npm:^7.22.19, @babel/traverse@npm:^7.22.8": - version: 7.22.19 - resolution: "@babel/traverse@npm:7.22.19" +"@babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.22.8, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/traverse@npm:7.23.3" dependencies: "@babel/code-frame": ^7.22.13 - "@babel/generator": ^7.22.15 - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-function-name": ^7.22.5 - "@babel/helper-hoist-variables": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/parser": ^7.22.16 - "@babel/types": ^7.22.19 - debug: ^4.1.0 - globals: ^11.1.0 - checksum: 119154fdfffd0fd560d2d5263ae2d740bcd3c75a6c432786f6ccdb28c9b0776f0fe21a16320c81a3e065c37249fb217dfec4201e44058462d26accfcdcd6c9bb - languageName: node - linkType: hard - -"@babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.23.2": - version: 7.23.2 - resolution: "@babel/traverse@npm:7.23.2" - dependencies: - "@babel/code-frame": ^7.22.13 - "@babel/generator": ^7.23.0 + "@babel/generator": ^7.23.3 "@babel/helper-environment-visitor": ^7.22.20 "@babel/helper-function-name": ^7.23.0 "@babel/helper-hoist-variables": ^7.22.5 "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/parser": ^7.23.0 - "@babel/types": ^7.23.0 + "@babel/parser": ^7.23.3 + "@babel/types": ^7.23.3 debug: ^4.1.0 globals: ^11.1.0 - checksum: 26a1eea0dde41ab99dde8b9773a013a0dc50324e5110a049f5d634e721ff08afffd54940b3974a20308d7952085ac769689369e9127dea655f868c0f6e1ab35d - languageName: node - linkType: hard - -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.6, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.17, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.3.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.22.19 - resolution: "@babel/types@npm:7.22.19" - dependencies: - "@babel/helper-string-parser": ^7.22.5 - "@babel/helper-validator-identifier": ^7.22.19 - to-fast-properties: ^2.0.0 - checksum: 2d69740e69b55ba36ece0c17d5afb7b7213b34297157df39ef9ba24965aff677c56f014413052ecc5b2fbbf26910c63e5bb24a969df84d7a17153750cf75915e + checksum: f4e0c05f2f82368b9be7e1fed38cfcc2e1074967a8b76ac837b89661adbd391e99d0b1fd8c31215ffc3a04d2d5d7ee5e627914a09082db84ec5606769409fe2b languageName: node linkType: hard -"@babel/types@npm:^7.18.9, @babel/types@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/types@npm:7.23.0" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.17, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.23.3 + resolution: "@babel/types@npm:7.23.3" dependencies: "@babel/helper-string-parser": ^7.22.5 "@babel/helper-validator-identifier": ^7.22.20 to-fast-properties: ^2.0.0 - checksum: 215fe04bd7feef79eeb4d33374b39909ce9cad1611c4135a4f7fdf41fe3280594105af6d7094354751514625ea92d0875aba355f53e86a92600f290e77b0e604 + checksum: b96f1ec495351aeb2a5f98dd494aafa17df02a351548ae96999460f35c933261c839002a34c1e83552ff0d9f5e94d0b5b8e105d38131c7c9b0f5a6588676f35d languageName: node linkType: hard @@ -1699,13 +1576,6 @@ __metadata: languageName: node linkType: hard -"@bcoe/v8-coverage@npm:^0.2.3": - version: 0.2.3 - resolution: "@bcoe/v8-coverage@npm:0.2.3" - checksum: 850f9305536d0f2bd13e9e0881cb5f02e4f93fad1189f7b2d4bebf694e3206924eadee1068130d43c11b750efcc9405f88a8e42ef098b6d75239c0f047de1a27 - languageName: node - linkType: hard - "@chakra-ui/accordion@npm:2.3.1": version: 2.3.1 resolution: "@chakra-ui/accordion@npm:2.3.1" @@ -2758,7 +2628,7 @@ __metadata: languageName: node linkType: hard -"@chakra-ui/system@npm:2.6.1, @chakra-ui/system@npm:>=2.3.8, @chakra-ui/system@npm:^2.6.1": +"@chakra-ui/system@npm:2.6.1, @chakra-ui/system@npm:^2.6.1": version: 2.6.1 resolution: "@chakra-ui/system@npm:2.6.1" dependencies: @@ -3536,7 +3406,7 @@ __metadata: languageName: node linkType: hard -"@emotion/react@npm:>=11.1.5, @emotion/react@npm:^11.11.1": +"@emotion/react@npm:11.11.1": version: 11.11.1 resolution: "@emotion/react@npm:11.11.1" dependencies: @@ -3577,7 +3447,7 @@ __metadata: languageName: node linkType: hard -"@emotion/styled@npm:>=11.1.5, @emotion/styled@npm:^11.11.0": +"@emotion/styled@npm:11.11.0": version: 11.11.0 resolution: "@emotion/styled@npm:11.11.0" dependencies: @@ -4377,7 +4247,7 @@ __metadata: languageName: node linkType: hard -"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": +"@istanbuljs/schema@npm:^0.1.2": version: 0.1.3 resolution: "@istanbuljs/schema@npm:0.1.3" checksum: 5282759d961d61350f33d9118d16bcaed914ebf8061a52f4fa474b2cb08720c9c81d165e13b82f2e5a8a212cc5af482f0c6fc1ac27b9e067e5394c9a6ed186c9 @@ -4430,24 +4300,6 @@ __metadata: languageName: node linkType: hard -"@joshwooding/vite-plugin-react-docgen-typescript@npm:0.2.1": - version: 0.2.1 - resolution: "@joshwooding/vite-plugin-react-docgen-typescript@npm:0.2.1" - dependencies: - glob: ^7.2.0 - glob-promise: ^4.2.0 - magic-string: ^0.27.0 - react-docgen-typescript: ^2.2.2 - peerDependencies: - typescript: ">= 4.3.x" - vite: ^3.0.0 || ^4.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 91401505b379396cb48c74e99ebafb8a3f85bb0c38783d4b17df42d5420782bf733f049f9a97659feb4423b4e4db9ba35fd8230add5fd32e615d5633d37cdcfd - languageName: node - linkType: hard - "@joshwooding/vite-plugin-react-docgen-typescript@npm:0.3.0": version: 0.3.0 resolution: "@joshwooding/vite-plugin-react-docgen-typescript@npm:0.3.0" @@ -4535,7 +4387,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.15, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.15, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.17 resolution: "@jridgewell/trace-mapping@npm:0.3.17" dependencies: @@ -6680,29 +6532,29 @@ __metadata: languageName: node linkType: hard -"@react-aria/ssr@npm:^3.8.0": - version: 3.8.0 - resolution: "@react-aria/ssr@npm:3.8.0" +"@react-aria/ssr@npm:^3.8.0, @react-aria/ssr@npm:^3.9.0": + version: 3.9.0 + resolution: "@react-aria/ssr@npm:3.9.0" dependencies: "@swc/helpers": ^0.5.0 peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - checksum: bdcd16da76d9af75dab0c44907963d9367562bc3261c6871a8ee15754e92f929dcd886e5553e08d6193ddb174d78382c10fb7b9b8c7b0cf470bc18c2ed34b106 + checksum: 7b708494e7c59c4cda8c21f8580d989e7758e854b043d597a0513ee2b08c86e9b877d9f6d5eea9df758bf1b1abdb5adfcba1871e38578ecdf1fe561980addda9 languageName: node linkType: hard -"@react-aria/utils@npm:^3.20.0": - version: 3.20.0 - resolution: "@react-aria/utils@npm:3.20.0" +"@react-aria/utils@npm:^3.20.0, @react-aria/utils@npm:^3.22.0": + version: 3.22.0 + resolution: "@react-aria/utils@npm:3.22.0" dependencies: - "@react-aria/ssr": ^3.8.0 - "@react-stately/utils": ^3.7.0 - "@react-types/shared": ^3.20.0 + "@react-aria/ssr": ^3.9.0 + "@react-stately/utils": ^3.9.0 + "@react-types/shared": ^3.22.0 "@swc/helpers": ^0.5.0 clsx: ^1.1.1 peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - checksum: d1bcbca427a43f95ac9d6e0e4d458b5e6fff0ff850ffc8c8fa1074da490a42d637602d9344d90cf1028eff3fdc3d86dd3fc9f3b61f9b556943a3df0d858e68c1 + checksum: 4ed769920d76eac437dbf31a09ac597bddbcf1f47f6c74336d1e19acbf2fda9a9e4bf00fe0da789512604dddb0ea16599dc9da49a58b74de3a8d7b72015dd787 languageName: node linkType: hard @@ -6775,14 +6627,14 @@ __metadata: languageName: node linkType: hard -"@react-stately/utils@npm:^3.7.0": - version: 3.7.0 - resolution: "@react-stately/utils@npm:3.7.0" +"@react-stately/utils@npm:^3.7.0, @react-stately/utils@npm:^3.9.0": + version: 3.9.0 + resolution: "@react-stately/utils@npm:3.9.0" dependencies: "@swc/helpers": ^0.5.0 peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - checksum: 91feaae770d38a644b9ba3f633afb0560a51fddd153f75c9e486fca86409cb1b6917366859e59d0f62eab3440e530af97452949671e0f90a8a7e5638ba15b263 + checksum: aae38bc45086e086c47141e516f8608b6ad1a0a3c637c1da8b409515b978db0210ed102ca30135a4f733ae2265fecd1b9634cb21b7075fa48895fe7b1cfc6960 languageName: node linkType: hard @@ -6857,12 +6709,12 @@ __metadata: languageName: node linkType: hard -"@react-types/shared@npm:^3.20.0": - version: 3.20.0 - resolution: "@react-types/shared@npm:3.20.0" +"@react-types/shared@npm:^3.20.0, @react-types/shared@npm:^3.22.0": + version: 3.22.0 + resolution: "@react-types/shared@npm:3.22.0" peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - checksum: 322aee262aa9155286cbb04dacc470ad819f4f081f4ede7a5bfe0af05b57917e4710be124d46b04d60937584386960437c65e0aa0627685046e5b37afc05802a + checksum: 108d171c006ee86d01418bb2ca0e54915e8cdb276ecd82cad43bd8aa3a360654a95983b60dbf196c7b004e0307690ae7b0315d051b015277699a552619ec2b29 languageName: node linkType: hard @@ -6913,7 +6765,7 @@ __metadata: dependencies: "@chakra-ui/utils": ^2.0.15 tsup: 6.7.0 - zustand: ^4.4.4 + zustand: ^4.4.5 peerDependencies: "@chakra-ui/react": ">=2.5.0" "@saas-ui/react": ">=2.0.0" @@ -6972,7 +6824,7 @@ __metadata: languageName: unknown linkType: soft -"@saas-ui-pro/react@^0.28.0, @saas-ui-pro/react@workspace:*, @saas-ui-pro/react@workspace:packages/pro/saas-ui/react": +"@saas-ui-pro/react@^0.29.0, @saas-ui-pro/react@workspace:*, @saas-ui-pro/react@workspace:packages/pro/saas-ui/react": version: 0.0.0-use.local resolution: "@saas-ui-pro/react@workspace:packages/pro/saas-ui/react" dependencies: @@ -6991,6 +6843,7 @@ __metadata: "@saas-ui/react-utils": ^2.0.1 "@saas-ui/theme": ^2.1.1 "@tanstack/react-table": ^8.10.7 + "@tanstack/react-virtual": ^3.0.0-beta.68 date-fns: ^2.30.0 polished: ^4.2.2 react-icons: ^4.11.0 @@ -7106,6 +6959,7 @@ __metadata: "@chakra-ui/system": ^2.6.1 "@chakra-ui/theme-tools": ^2.1.1 "@chakra-ui/utils": ^2.0.15 + "@react-aria/utils": ^3.22.0 "@saas-ui/react-utils": "workspace:*" "@saas-ui/theme": "workspace:*" tsup: ^6.7.0 @@ -7368,35 +7222,24 @@ __metadata: languageName: unknown linkType: soft -"@saas-ui/storybook-addon@workspace:*, @saas-ui/storybook-addon@workspace:tooling/storybook-addon": - version: 0.0.0-use.local - resolution: "@saas-ui/storybook-addon@workspace:tooling/storybook-addon" - dependencies: - "@chakra-ui/react": ^2.8.1 - "@chakra-ui/system": ">=2.3.8" - "@emotion/react": ">=11.1.5" - "@emotion/styled": ">=11.1.5" - "@saas-ui/react": "workspace:*" - "@saas-ui/theme": "workspace:*" - "@saas-ui/theme-glass": "workspace:*" - "@storybook/addons": ^7.4.2 - "@storybook/api": ^7.4.2 - "@storybook/components": ^7.4.2 - framer-motion: ">=4.1.17" - react: ^18.2.0 - react-dom: ">=18.0.0" - tsup: ^6.7.0 +"@saas-ui/storybook-addon@npm:^2.0.0": + version: 2.0.0 + resolution: "@saas-ui/storybook-addon@npm:2.0.0" peerDependencies: "@chakra-ui/react": ">=2.0.0" - "@storybook/components": ">=7" - react: ">=18.0.x" + "@storybook/components": ">=7.0.12" + "@storybook/manager-api": ">=7.0.12" + "@storybook/preview-api": ">=7.0.12" + "@storybook/types": ">=7.0.24" + react: ">=16.8.x" peerDependenciesMeta: react: optional: true react-dom: optional: true - languageName: unknown - linkType: soft + checksum: 50d202e3f5112eb5e7af587ed7b8323aee052c7a5ed14ac569d8efdf1ca0e28e6cb80b51b65f5947728442fc0683c4b4985bbf17878a3d92c822065a64c76d86 + languageName: node + linkType: hard "@saas-ui/supabase@workspace:packages/saas-ui-supabase": version: 0.0.0-use.local @@ -7494,6 +7337,23 @@ __metadata: languageName: unknown linkType: soft +"@saas-ui/use-hotkeys@workspace:packages/saas-ui-use-hotkeys": + version: 0.0.0-use.local + resolution: "@saas-ui/use-hotkeys@workspace:packages/saas-ui-use-hotkeys" + dependencies: + "@chakra-ui/react-utils": ^2.0.12 + "@chakra-ui/utils": ^2.0.15 + "@saas-ui/core": "workspace:*" + peerDependencies: + "@chakra-ui/react": ">=2.4.9" + "@emotion/react": ">=11.0.0" + "@emotion/styled": ">=11.0.0" + framer-motion: ">=6.0.0" + react: ">=18.0.0" + react-dom: ">=18.0.0" + languageName: unknown + linkType: soft + "@shuding/opentype.js@npm:1.4.0-beta.0": version: 1.4.0-beta.0 resolution: "@shuding/opentype.js@npm:1.4.0-beta.0" @@ -7520,49 +7380,20 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-a11y@npm:^7.4.2": - version: 7.4.2 - resolution: "@storybook/addon-a11y@npm:7.4.2" - dependencies: - "@storybook/addon-highlight": 7.4.2 - "@storybook/channels": 7.4.2 - "@storybook/client-logger": 7.4.2 - "@storybook/components": 7.4.2 - "@storybook/core-events": 7.4.2 - "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.4.2 - "@storybook/preview-api": 7.4.2 - "@storybook/theming": 7.4.2 - "@storybook/types": 7.4.2 - axe-core: ^4.2.0 - lodash: ^4.17.21 - react-resize-detector: ^7.1.2 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - checksum: 949fed6ab5d2b2c468a8c4d40ad83acb98d736e86e757c47c57038b75ea8e90491610599e8da9db22e3e21d7b3770973fd149c3ea0aec9da600a7b0612d531bc - languageName: node - linkType: hard - -"@storybook/addon-a11y@npm:^7.5.1": - version: 7.5.1 - resolution: "@storybook/addon-a11y@npm:7.5.1" +"@storybook/addon-a11y@npm:^7.4.2, @storybook/addon-a11y@npm:^7.5.2": + version: 7.5.3 + resolution: "@storybook/addon-a11y@npm:7.5.3" dependencies: - "@storybook/addon-highlight": 7.5.1 - "@storybook/channels": 7.5.1 - "@storybook/client-logger": 7.5.1 - "@storybook/components": 7.5.1 - "@storybook/core-events": 7.5.1 + "@storybook/addon-highlight": 7.5.3 + "@storybook/channels": 7.5.3 + "@storybook/client-logger": 7.5.3 + "@storybook/components": 7.5.3 + "@storybook/core-events": 7.5.3 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.5.1 - "@storybook/preview-api": 7.5.1 - "@storybook/theming": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/manager-api": 7.5.3 + "@storybook/preview-api": 7.5.3 + "@storybook/theming": 7.5.3 + "@storybook/types": 7.5.3 axe-core: ^4.2.0 lodash: ^4.17.21 react-resize-detector: ^7.1.2 @@ -7574,22 +7405,22 @@ __metadata: optional: true react-dom: optional: true - checksum: ae8e37be5ee8ce7ddcf085376aa8de0e635090d89353705b3a7d24839d0fa38303d76dec4cc42071de99636e05620c10fc03ff7c19c251909af7e5bb08006ab9 + checksum: 93cf28fcfc41fc8eea512c04021dae5f527013a9eac3c119b911c40e9f3080c7b7ef2a36730dda3b3f1a504627a4405954bb1b59da2de882f1dac5e2c59cce05 languageName: node linkType: hard -"@storybook/addon-actions@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/addon-actions@npm:7.5.1" +"@storybook/addon-actions@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/addon-actions@npm:7.5.3" dependencies: - "@storybook/client-logger": 7.5.1 - "@storybook/components": 7.5.1 - "@storybook/core-events": 7.5.1 + "@storybook/client-logger": 7.5.3 + "@storybook/components": 7.5.3 + "@storybook/core-events": 7.5.3 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.5.1 - "@storybook/preview-api": 7.5.1 - "@storybook/theming": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/manager-api": 7.5.3 + "@storybook/preview-api": 7.5.3 + "@storybook/theming": 7.5.3 + "@storybook/types": 7.5.3 dequal: ^2.0.2 lodash: ^4.17.21 polished: ^4.2.2 @@ -7606,22 +7437,22 @@ __metadata: optional: true react-dom: optional: true - checksum: 0cc4b7cd05627fbbaa5182968c073167ae012fca00d118935472a7739c131d1a2f49bf48b9333c10d57cb6f332864e37856b7692148997f55c68758affaede83 + checksum: d79baf1da30da5f99d513f08f74093741725c9f865990bf7f99ca2ae171156ab9f11f6c354c32b73d7d9fed13665780cf3a2a7623b7d6877c8dc262dd5616733 languageName: node linkType: hard -"@storybook/addon-backgrounds@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/addon-backgrounds@npm:7.5.1" +"@storybook/addon-backgrounds@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/addon-backgrounds@npm:7.5.3" dependencies: - "@storybook/client-logger": 7.5.1 - "@storybook/components": 7.5.1 - "@storybook/core-events": 7.5.1 + "@storybook/client-logger": 7.5.3 + "@storybook/components": 7.5.3 + "@storybook/core-events": 7.5.3 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.5.1 - "@storybook/preview-api": 7.5.1 - "@storybook/theming": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/manager-api": 7.5.3 + "@storybook/preview-api": 7.5.3 + "@storybook/theming": 7.5.3 + "@storybook/types": 7.5.3 memoizerific: ^1.11.3 ts-dedent: ^2.0.0 peerDependencies: @@ -7632,24 +7463,24 @@ __metadata: optional: true react-dom: optional: true - checksum: 75c530c53c4b49b1db870c2567901dffdf2659e829ae32787f5425fb93811eca261ed1e32466c9069cd2b45dd69100032aaac389a0f78ff1538fd8dc4464c90c + checksum: 6a432d490a8df336dc419dde7ee28abc3ca3966f2e512c1c3c6479b139f99e294213d832d91e8c8c18c96d3b3acb84299f0789800797d6338e691ee1e9c667fe languageName: node linkType: hard -"@storybook/addon-controls@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/addon-controls@npm:7.5.1" +"@storybook/addon-controls@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/addon-controls@npm:7.5.3" dependencies: - "@storybook/blocks": 7.5.1 - "@storybook/client-logger": 7.5.1 - "@storybook/components": 7.5.1 - "@storybook/core-common": 7.5.1 - "@storybook/core-events": 7.5.1 - "@storybook/manager-api": 7.5.1 - "@storybook/node-logger": 7.5.1 - "@storybook/preview-api": 7.5.1 - "@storybook/theming": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/blocks": 7.5.3 + "@storybook/client-logger": 7.5.3 + "@storybook/components": 7.5.3 + "@storybook/core-common": 7.5.3 + "@storybook/core-events": 7.5.3 + "@storybook/manager-api": 7.5.3 + "@storybook/node-logger": 7.5.3 + "@storybook/preview-api": 7.5.3 + "@storybook/theming": 7.5.3 + "@storybook/types": 7.5.3 lodash: ^4.17.21 ts-dedent: ^2.0.0 peerDependencies: @@ -7660,29 +7491,29 @@ __metadata: optional: true react-dom: optional: true - checksum: 9b4ddbbf9ce25e9643e7c61644617f29b5cd1c59945b467cfd1242e245be1cb0ffe35129d940a091580e3e6a90e1725579a1a2ae063dbaff0b288f78c8ebaf7f + checksum: c86f8da8a3a3e1b286826eb7c157991dfb62d9e2d1c4493966beadde5bcf8dec3ff6f88433fec99843b2020a9e025a0635d497abda0bd52b4fdbe0d3bce65638 languageName: node linkType: hard -"@storybook/addon-docs@npm:7.5.1, @storybook/addon-docs@npm:^7.5.1": - version: 7.5.1 - resolution: "@storybook/addon-docs@npm:7.5.1" +"@storybook/addon-docs@npm:7.5.3, @storybook/addon-docs@npm:^7.5.2": + version: 7.5.3 + resolution: "@storybook/addon-docs@npm:7.5.3" dependencies: "@jest/transform": ^29.3.1 "@mdx-js/react": ^2.1.5 - "@storybook/blocks": 7.5.1 - "@storybook/client-logger": 7.5.1 - "@storybook/components": 7.5.1 - "@storybook/csf-plugin": 7.5.1 - "@storybook/csf-tools": 7.5.1 + "@storybook/blocks": 7.5.3 + "@storybook/client-logger": 7.5.3 + "@storybook/components": 7.5.3 + "@storybook/csf-plugin": 7.5.3 + "@storybook/csf-tools": 7.5.3 "@storybook/global": ^5.0.0 "@storybook/mdx2-csf": ^1.0.0 - "@storybook/node-logger": 7.5.1 - "@storybook/postinstall": 7.5.1 - "@storybook/preview-api": 7.5.1 - "@storybook/react-dom-shim": 7.5.1 - "@storybook/theming": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/node-logger": 7.5.3 + "@storybook/postinstall": 7.5.3 + "@storybook/preview-api": 7.5.3 + "@storybook/react-dom-shim": 7.5.3 + "@storybook/theming": 7.5.3 + "@storybook/types": 7.5.3 fs-extra: ^11.1.0 remark-external-links: ^8.0.0 remark-slug: ^6.0.0 @@ -7690,68 +7521,57 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 2acdcc4c286cb20a91e08801a0fdcb0b0a9954cb162866a122c73c3c57e84bdd9c47f898c7fc8f4fa13b8f440a43d6f718819c65c8a98fc64c0f18d6b856ae80 - languageName: node - linkType: hard - -"@storybook/addon-essentials@npm:^7.5.1": - version: 7.5.1 - resolution: "@storybook/addon-essentials@npm:7.5.1" - dependencies: - "@storybook/addon-actions": 7.5.1 - "@storybook/addon-backgrounds": 7.5.1 - "@storybook/addon-controls": 7.5.1 - "@storybook/addon-docs": 7.5.1 - "@storybook/addon-highlight": 7.5.1 - "@storybook/addon-measure": 7.5.1 - "@storybook/addon-outline": 7.5.1 - "@storybook/addon-toolbars": 7.5.1 - "@storybook/addon-viewport": 7.5.1 - "@storybook/core-common": 7.5.1 - "@storybook/manager-api": 7.5.1 - "@storybook/node-logger": 7.5.1 - "@storybook/preview-api": 7.5.1 + checksum: 54ef17505cdeb24995131842055256000f2894d7a8e7a46e33c2b29bb4067abdf4a1bc160421729e222fd32d1d77b435fe2afe4d3f9afb32a9ccff7c3d4eeafe + languageName: node + linkType: hard + +"@storybook/addon-essentials@npm:^7.5.2": + version: 7.5.3 + resolution: "@storybook/addon-essentials@npm:7.5.3" + dependencies: + "@storybook/addon-actions": 7.5.3 + "@storybook/addon-backgrounds": 7.5.3 + "@storybook/addon-controls": 7.5.3 + "@storybook/addon-docs": 7.5.3 + "@storybook/addon-highlight": 7.5.3 + "@storybook/addon-measure": 7.5.3 + "@storybook/addon-outline": 7.5.3 + "@storybook/addon-toolbars": 7.5.3 + "@storybook/addon-viewport": 7.5.3 + "@storybook/core-common": 7.5.3 + "@storybook/manager-api": 7.5.3 + "@storybook/node-logger": 7.5.3 + "@storybook/preview-api": 7.5.3 ts-dedent: ^2.0.0 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: a312045bb3c0dd15daf1faa25f2b0964d0e3caff418ad122add49338c035b5c7270cf5c99cfc3134bfe863db91754b81f6c275b0b90ba2970898d1b74c608aac - languageName: node - linkType: hard - -"@storybook/addon-highlight@npm:7.4.2": - version: 7.4.2 - resolution: "@storybook/addon-highlight@npm:7.4.2" - dependencies: - "@storybook/core-events": 7.4.2 - "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.4.2 - checksum: 1b1805643c3bca6d3d1ba86978d3a3ec769c4b9e7884398d00ebeecac2be618b73eae38f34a900f2c22318d0cdeb95bad9559d35a3b3bf4f1b371dbf43f6e615 + checksum: 57341a40f9343f8dab11950c5bd70251e7221048cdf2ef5ac8577586d753988e7f51ce0eaa06a2e216c75412622d70fe9a98f0d2c3eb80d8a699823132c70b88 languageName: node linkType: hard -"@storybook/addon-highlight@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/addon-highlight@npm:7.5.1" +"@storybook/addon-highlight@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/addon-highlight@npm:7.5.3" dependencies: - "@storybook/core-events": 7.5.1 + "@storybook/core-events": 7.5.3 "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.5.1 - checksum: 1087cd7c6fb70c674a150f53f81c3e21b26bf406ff7b6184f06a02e7d3f965cf03baff3ae0f6b50c5da7392aab57096523c1ae40086624711391c8967c161a0f + "@storybook/preview-api": 7.5.3 + checksum: be468def9a6c3495e72f2c0a15e132b519e909c42e58361fd8d55c1fb1b7764e86b9e0a6531ba0f61b227d9d2ed5646ad294db0729177a39e3da5a7e00a3f2f0 languageName: node linkType: hard -"@storybook/addon-measure@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/addon-measure@npm:7.5.1" +"@storybook/addon-measure@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/addon-measure@npm:7.5.3" dependencies: - "@storybook/client-logger": 7.5.1 - "@storybook/components": 7.5.1 - "@storybook/core-events": 7.5.1 + "@storybook/client-logger": 7.5.3 + "@storybook/components": 7.5.3 + "@storybook/core-events": 7.5.3 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.5.1 - "@storybook/preview-api": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/manager-api": 7.5.3 + "@storybook/preview-api": 7.5.3 + "@storybook/types": 7.5.3 tiny-invariant: ^1.3.1 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7761,21 +7581,21 @@ __metadata: optional: true react-dom: optional: true - checksum: 8b1dfb37e81003ab8e80b9d4cbb2bf83e8c48670c5b6a52a198ce7dcb5c7b581d4913deca5ac2268c2326c8b470da789f22ceaca1e7cb7ae603fad63db5ff0e8 + checksum: a0b6cf0a4d42ed9671dcf50df2c33dd5eadf6e1f32de6862ba3d3d507431831bc03c4a5be83566ec445635d2df180657bdc1e1a07a189b5b301c4a543229c8c1 languageName: node linkType: hard -"@storybook/addon-outline@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/addon-outline@npm:7.5.1" +"@storybook/addon-outline@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/addon-outline@npm:7.5.3" dependencies: - "@storybook/client-logger": 7.5.1 - "@storybook/components": 7.5.1 - "@storybook/core-events": 7.5.1 + "@storybook/client-logger": 7.5.3 + "@storybook/components": 7.5.3 + "@storybook/core-events": 7.5.3 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.5.1 - "@storybook/preview-api": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/manager-api": 7.5.3 + "@storybook/preview-api": 7.5.3 + "@storybook/types": 7.5.3 ts-dedent: ^2.0.0 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7785,48 +7605,21 @@ __metadata: optional: true react-dom: optional: true - checksum: c533aa45fc31e96303169e8c1539ba1947dc50d0a860df16a9cbbbc03c72b344e6eb1bc822a1771f7cacac2c5f0185dc4452fe7ae7e0c5fd2a7f322395e5f262 - languageName: node - linkType: hard - -"@storybook/addon-storysource@npm:^7.4.2": - version: 7.4.2 - resolution: "@storybook/addon-storysource@npm:7.4.2" - dependencies: - "@storybook/client-logger": 7.4.2 - "@storybook/components": 7.4.2 - "@storybook/manager-api": 7.4.2 - "@storybook/preview-api": 7.4.2 - "@storybook/router": 7.4.2 - "@storybook/source-loader": 7.4.2 - "@storybook/theming": 7.4.2 - estraverse: ^5.2.0 - prop-types: ^15.7.2 - react-syntax-highlighter: ^15.5.0 - tiny-invariant: ^1.3.1 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - checksum: ab2cc44e497b529eccf5b855408767f4e2dd2e434d3227582428a4c22bdc84138feeadc466300973981de79ebb2138f34d46a41c3fea44c0202261b155af49e4 + checksum: 07bf04a6427742594fcd8edc323a3a27cf6c249919b4d855725b23a580274bb777877d87fd7dab19829af4e93f5ac3a8f4574a85a852042a4f368e519139ea28 languageName: node linkType: hard -"@storybook/addon-storysource@npm:^7.5.1": - version: 7.5.1 - resolution: "@storybook/addon-storysource@npm:7.5.1" +"@storybook/addon-storysource@npm:^7.4.2, @storybook/addon-storysource@npm:^7.5.2": + version: 7.5.3 + resolution: "@storybook/addon-storysource@npm:7.5.3" dependencies: - "@storybook/client-logger": 7.5.1 - "@storybook/components": 7.5.1 - "@storybook/manager-api": 7.5.1 - "@storybook/preview-api": 7.5.1 - "@storybook/router": 7.5.1 - "@storybook/source-loader": 7.5.1 - "@storybook/theming": 7.5.1 + "@storybook/client-logger": 7.5.3 + "@storybook/components": 7.5.3 + "@storybook/manager-api": 7.5.3 + "@storybook/preview-api": 7.5.3 + "@storybook/router": 7.5.3 + "@storybook/source-loader": 7.5.3 + "@storybook/theming": 7.5.3 estraverse: ^5.2.0 prop-types: ^15.7.2 react-syntax-highlighter: ^15.5.0 @@ -7839,65 +7632,19 @@ __metadata: optional: true react-dom: optional: true - checksum: 2da777a4f7a627e7e13bb4cc3a7733cdd9fa949faa1068a1fdb181aa5a087bc2450c7674fdb11afe921365671aecd9cef0374fd86a077b8d821ef3481fdaf62f - languageName: node - linkType: hard - -"@storybook/addon-toolbars@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/addon-toolbars@npm:7.5.1" - dependencies: - "@storybook/client-logger": 7.5.1 - "@storybook/components": 7.5.1 - "@storybook/manager-api": 7.5.1 - "@storybook/preview-api": 7.5.1 - "@storybook/theming": 7.5.1 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - checksum: 4f5ee434b91c997c80f94c2a3181aac87cefaf59d0813aca589528f3bd2e8364570382d07bc5aaeb09f07dfbb35d3e918207e665b79109500df1d6ae28baa02d - languageName: node - linkType: hard - -"@storybook/addon-toolbars@npm:^7.4.2": - version: 7.4.2 - resolution: "@storybook/addon-toolbars@npm:7.4.2" - dependencies: - "@storybook/client-logger": 7.4.2 - "@storybook/components": 7.4.2 - "@storybook/manager-api": 7.4.2 - "@storybook/preview-api": 7.4.2 - "@storybook/theming": 7.4.2 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - checksum: e8dbc36ee03b3d7a2cd93ad77595ff23cea9393cc813b153ebbe85061ba823bd09ee9049daccdf81209e871cd4665d80474fda4d5521c286949347649c630d84 + checksum: cbdcc173b04d91640888ba4cdc595d82888f5d9c624acb24871068eeef26bf19ec7b0bdd87d179e4b6275c36cd40ea2638fccba99bc7a6c738439ae520b57085 languageName: node linkType: hard -"@storybook/addon-viewport@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/addon-viewport@npm:7.5.1" +"@storybook/addon-toolbars@npm:7.5.3, @storybook/addon-toolbars@npm:^7.4.2": + version: 7.5.3 + resolution: "@storybook/addon-toolbars@npm:7.5.3" dependencies: - "@storybook/client-logger": 7.5.1 - "@storybook/components": 7.5.1 - "@storybook/core-events": 7.5.1 - "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.5.1 - "@storybook/preview-api": 7.5.1 - "@storybook/theming": 7.5.1 - memoizerific: ^1.11.3 - prop-types: ^15.7.2 + "@storybook/client-logger": 7.5.3 + "@storybook/components": 7.5.3 + "@storybook/manager-api": 7.5.3 + "@storybook/preview-api": 7.5.3 + "@storybook/theming": 7.5.3 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7906,21 +7653,21 @@ __metadata: optional: true react-dom: optional: true - checksum: 31bae0fedffdb014d5a882ae848745c950b79d8287854e9affe9549239eac7f186918830f956fbb9d63009f2aae87872ecce32a66521a3c17c3eb25c77946c54 + checksum: c61d953a53dd0eb23f3dfcb52b4227d3e3aa6b8bbd8260007b2334ceb2dc3910aa0633f18858e8caac0027b7badc57937a2094219c0f29ae414ce5c705b7a0bb languageName: node linkType: hard -"@storybook/addon-viewport@npm:^7.4.2": - version: 7.4.2 - resolution: "@storybook/addon-viewport@npm:7.4.2" +"@storybook/addon-viewport@npm:7.5.3, @storybook/addon-viewport@npm:^7.4.2": + version: 7.5.3 + resolution: "@storybook/addon-viewport@npm:7.5.3" dependencies: - "@storybook/client-logger": 7.4.2 - "@storybook/components": 7.4.2 - "@storybook/core-events": 7.4.2 + "@storybook/client-logger": 7.5.3 + "@storybook/components": 7.5.3 + "@storybook/core-events": 7.5.3 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.4.2 - "@storybook/preview-api": 7.4.2 - "@storybook/theming": 7.4.2 + "@storybook/manager-api": 7.5.3 + "@storybook/preview-api": 7.5.3 + "@storybook/theming": 7.5.3 memoizerific: ^1.11.3 prop-types: ^15.7.2 peerDependencies: @@ -7931,7 +7678,7 @@ __metadata: optional: true react-dom: optional: true - checksum: 0adbf73ff0e21b5633768761aad37c8215fd5a95c4520dc666634e8525ad069726f0932ba5ab3432209b499b23db26b8f7d38170eb47343b3581462c22c97b1e + checksum: 4b324c9edcc96ba72573093934d862005e20265dbd1e3a4430f07ecab7c1ee577e01a5a7b75907e2ab89fcb59c80dede5f16e6a6795426219170529baff654af languageName: node linkType: hard @@ -7949,39 +7696,21 @@ __metadata: languageName: node linkType: hard -"@storybook/api@npm:^7.4.2": - version: 7.4.2 - resolution: "@storybook/api@npm:7.4.2" - dependencies: - "@storybook/client-logger": 7.4.2 - "@storybook/manager-api": 7.4.2 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - checksum: bd0b42e61d7c86e5cfe13a7adfabd2e94a0879add0584b11f5ad04089ecbbc9467d0e3bcf41a1fddbc2161468909bb0a5ddd20d36ec9c83b87ff1d8d54bde0db - languageName: node - linkType: hard - -"@storybook/blocks@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/blocks@npm:7.5.1" +"@storybook/blocks@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/blocks@npm:7.5.3" dependencies: - "@storybook/channels": 7.5.1 - "@storybook/client-logger": 7.5.1 - "@storybook/components": 7.5.1 - "@storybook/core-events": 7.5.1 + "@storybook/channels": 7.5.3 + "@storybook/client-logger": 7.5.3 + "@storybook/components": 7.5.3 + "@storybook/core-events": 7.5.3 "@storybook/csf": ^0.1.0 - "@storybook/docs-tools": 7.5.1 + "@storybook/docs-tools": 7.5.3 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.5.1 - "@storybook/preview-api": 7.5.1 - "@storybook/theming": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/manager-api": 7.5.3 + "@storybook/preview-api": 7.5.3 + "@storybook/theming": 7.5.3 + "@storybook/types": 7.5.3 "@types/lodash": ^4.14.167 color-convert: ^2.0.1 dequal: ^2.0.2 @@ -7997,18 +7726,18 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 9cbfca47667b8b641503cc26be4d1ba2e785250113deb9ec8ad77091222555e6724168f0186324548bf7bafdddb4b117aca77dc0250925d8017a4605ff731510 + checksum: 0b7506a52903ab319280e3af77a8e72c53d229df75187fe1d60330a903fc8926e09b7cc9debea1395afa8698c11050900f41ca24ac852bf93790e322affbfcdb languageName: node linkType: hard -"@storybook/builder-manager@npm:7.4.2": - version: 7.4.2 - resolution: "@storybook/builder-manager@npm:7.4.2" +"@storybook/builder-manager@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/builder-manager@npm:7.5.3" dependencies: "@fal-works/esbuild-plugin-global-externals": ^2.1.2 - "@storybook/core-common": 7.4.2 - "@storybook/manager": 7.4.2 - "@storybook/node-logger": 7.4.2 + "@storybook/core-common": 7.5.3 + "@storybook/manager": 7.5.3 + "@storybook/node-logger": 7.5.3 "@types/ejs": ^3.1.1 "@types/find-cache-dir": ^3.2.1 "@yarnpkg/esbuild-plugin-pnp": ^3.0.0-rc.10 @@ -8021,85 +7750,22 @@ __metadata: fs-extra: ^11.1.0 process: ^0.11.10 util: ^0.12.4 - checksum: 8bdb36071b69f61e3306f262e0edbad9c0860fa46f35d6d44e5fccea629a8e3ab288cfd5fc916a7abfffc4ded7df9712d9fbbef2549d99047341968b368fd71d + checksum: dab636019edb2c9ff350c340a8722b49a61f013f90315a616f668175c441cee39a62308909fbf1e2429c14277809dd78a8322c16d8e7a5ab1fc7c3363ff19d98 languageName: node linkType: hard -"@storybook/builder-manager@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/builder-manager@npm:7.5.1" +"@storybook/builder-vite@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/builder-vite@npm:7.5.3" dependencies: - "@fal-works/esbuild-plugin-global-externals": ^2.1.2 - "@storybook/core-common": 7.5.1 - "@storybook/manager": 7.5.1 - "@storybook/node-logger": 7.5.1 - "@types/ejs": ^3.1.1 - "@types/find-cache-dir": ^3.2.1 - "@yarnpkg/esbuild-plugin-pnp": ^3.0.0-rc.10 - browser-assert: ^1.2.1 - ejs: ^3.1.8 - esbuild: ^0.18.0 - esbuild-plugin-alias: ^0.2.1 - express: ^4.17.3 - find-cache-dir: ^3.0.0 - fs-extra: ^11.1.0 - process: ^0.11.10 - util: ^0.12.4 - checksum: e429fe5f0e21d7de302ea39b37151052f4df6115a1ff0236be817959be02a11843ddc3722bec2731e35b5ec1c677357c8c07c9d2f7456379e1a2fcc54ee6d947 - languageName: node - linkType: hard - -"@storybook/builder-vite@npm:7.4.2": - version: 7.4.2 - resolution: "@storybook/builder-vite@npm:7.4.2" - dependencies: - "@storybook/channels": 7.4.2 - "@storybook/client-logger": 7.4.2 - "@storybook/core-common": 7.4.2 - "@storybook/csf-plugin": 7.4.2 - "@storybook/mdx2-csf": ^1.0.0 - "@storybook/node-logger": 7.4.2 - "@storybook/preview": 7.4.2 - "@storybook/preview-api": 7.4.2 - "@storybook/types": 7.4.2 - "@types/find-cache-dir": ^3.2.1 - browser-assert: ^1.2.1 - es-module-lexer: ^0.9.3 - express: ^4.17.3 - find-cache-dir: ^3.0.0 - fs-extra: ^11.1.0 - magic-string: ^0.30.0 - remark-external-links: ^8.0.0 - remark-slug: ^6.0.0 - rollup: ^2.25.0 || ^3.3.0 - peerDependencies: - "@preact/preset-vite": "*" - typescript: ">= 4.3.x" - vite: ^3.0.0 || ^4.0.0 - vite-plugin-glimmerx: "*" - peerDependenciesMeta: - "@preact/preset-vite": - optional: true - typescript: - optional: true - vite-plugin-glimmerx: - optional: true - checksum: 6ea8247d9e5759ca3d88218b99a7bd7a53469e5d1f87b8d2441de40235c6f6a631b070a9b468fded7f91a34c6f2783652551ce1b3d3df9a1c99c24c03cf0f93e - languageName: node - linkType: hard - -"@storybook/builder-vite@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/builder-vite@npm:7.5.1" - dependencies: - "@storybook/channels": 7.5.1 - "@storybook/client-logger": 7.5.1 - "@storybook/core-common": 7.5.1 - "@storybook/csf-plugin": 7.5.1 - "@storybook/node-logger": 7.5.1 - "@storybook/preview": 7.5.1 - "@storybook/preview-api": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/channels": 7.5.3 + "@storybook/client-logger": 7.5.3 + "@storybook/core-common": 7.5.3 + "@storybook/csf-plugin": 7.5.3 + "@storybook/node-logger": 7.5.3 + "@storybook/preview": 7.5.3 + "@storybook/preview-api": 7.5.3 + "@storybook/types": 7.5.3 "@types/find-cache-dir": ^3.2.1 browser-assert: ^1.2.1 es-module-lexer: ^0.9.3 @@ -8120,23 +7786,23 @@ __metadata: optional: true vite-plugin-glimmerx: optional: true - checksum: 7764ba712b814b46f67fe0be665851b9c19cff900ecfe8fbf0ba848d58ef9125f09cd247dce41204d4c8225dc0c56ef830d4ec9d76dfd778fbe060dc63750671 + checksum: 5b323bfc89e6c02728224d08dacac6a8b669150ebacf97c53a28a65aed01d4a03b767c3a6b2a128cecba8718ce8636ce8e6cee6f006210d3a4acfb18d5a8d15c languageName: node linkType: hard -"@storybook/builder-webpack5@npm:^7.5.1": - version: 7.5.1 - resolution: "@storybook/builder-webpack5@npm:7.5.1" +"@storybook/builder-webpack5@npm:^7.5.2": + version: 7.5.3 + resolution: "@storybook/builder-webpack5@npm:7.5.3" dependencies: "@babel/core": ^7.22.0 - "@storybook/channels": 7.5.1 - "@storybook/client-logger": 7.5.1 - "@storybook/core-common": 7.5.1 - "@storybook/core-events": 7.5.1 - "@storybook/core-webpack": 7.5.1 - "@storybook/node-logger": 7.5.1 - "@storybook/preview": 7.5.1 - "@storybook/preview-api": 7.5.1 + "@storybook/channels": 7.5.3 + "@storybook/client-logger": 7.5.3 + "@storybook/core-common": 7.5.3 + "@storybook/core-events": 7.5.3 + "@storybook/core-webpack": 7.5.3 + "@storybook/node-logger": 7.5.3 + "@storybook/preview": 7.5.3 + "@storybook/preview-api": 7.5.3 "@swc/core": ^1.3.82 "@types/node": ^18.0.0 "@types/semver": ^7.3.4 @@ -8167,7 +7833,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: d09f2be562c020c7b2b0dee2cabd36b4959b5a25d02383140d964effe162cefe0a5e455a7494e7adfe1b30cd1afcebc278ac960715ff0cde716379e49b16a578 + checksum: 702175697c0f7e52c3c690b493fe06657cbb081c58e71567054f236e7521b7c421bef5876bcc9516d9ff99a570316477d1d57134c0fc4d0a9342bc153442207f languageName: node linkType: hard @@ -8185,36 +7851,36 @@ __metadata: languageName: node linkType: hard -"@storybook/channels@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/channels@npm:7.5.1" +"@storybook/channels@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/channels@npm:7.5.3" dependencies: - "@storybook/client-logger": 7.5.1 - "@storybook/core-events": 7.5.1 + "@storybook/client-logger": 7.5.3 + "@storybook/core-events": 7.5.3 "@storybook/global": ^5.0.0 qs: ^6.10.0 telejson: ^7.2.0 tiny-invariant: ^1.3.1 - checksum: 2f5f68caff1e84e75aa6df12192e464cd0cb370a425d4c72c72a5e15f1c1d2b64fd64a6adaa4cfffef8ecfc63edb42b4032365977705c7b10b51795f8ec55cdd + checksum: 1d354798d977b1f52dfa457e40352f38776016af7c6239dd6348cd80206df774401f9a7858bde72cb9f7be3d93e3bbc537eb3c07187a337559c60c65f962c1da languageName: node linkType: hard -"@storybook/cli@npm:^7.4.2": - version: 7.4.2 - resolution: "@storybook/cli@npm:7.4.2" +"@storybook/cli@npm:^7.4.2, @storybook/cli@npm:^7.5.2": + version: 7.5.3 + resolution: "@storybook/cli@npm:7.5.3" dependencies: "@babel/core": ^7.22.9 "@babel/preset-env": ^7.22.9 "@babel/types": ^7.22.5 "@ndelangen/get-tarball": ^3.0.7 - "@storybook/codemod": 7.4.2 - "@storybook/core-common": 7.4.2 - "@storybook/core-events": 7.4.2 - "@storybook/core-server": 7.4.2 - "@storybook/csf-tools": 7.4.2 - "@storybook/node-logger": 7.4.2 - "@storybook/telemetry": 7.4.2 - "@storybook/types": 7.4.2 + "@storybook/codemod": 7.5.3 + "@storybook/core-common": 7.5.3 + "@storybook/core-events": 7.5.3 + "@storybook/core-server": 7.5.3 + "@storybook/csf-tools": 7.5.3 + "@storybook/node-logger": 7.5.3 + "@storybook/telemetry": 7.5.3 + "@storybook/types": 7.5.3 "@types/semver": ^7.3.4 "@yarnpkg/fslib": 2.10.3 "@yarnpkg/libzip": 2.3.0 @@ -8247,59 +7913,7 @@ __metadata: bin: getstorybook: ./bin/index.js sb: ./bin/index.js - checksum: 43a6cc60aebbfab2a10c5fe48fc657c86345214b4ea25f089ecea322f898a94b89dc4a9942d39e213dc9751b898e860cb8588454b3268a2a596a81d49803f63c - languageName: node - linkType: hard - -"@storybook/cli@npm:^7.5.1": - version: 7.5.1 - resolution: "@storybook/cli@npm:7.5.1" - dependencies: - "@babel/core": ^7.22.9 - "@babel/preset-env": ^7.22.9 - "@babel/types": ^7.22.5 - "@ndelangen/get-tarball": ^3.0.7 - "@storybook/codemod": 7.5.1 - "@storybook/core-common": 7.5.1 - "@storybook/core-events": 7.5.1 - "@storybook/core-server": 7.5.1 - "@storybook/csf-tools": 7.5.1 - "@storybook/node-logger": 7.5.1 - "@storybook/telemetry": 7.5.1 - "@storybook/types": 7.5.1 - "@types/semver": ^7.3.4 - "@yarnpkg/fslib": 2.10.3 - "@yarnpkg/libzip": 2.3.0 - chalk: ^4.1.0 - commander: ^6.2.1 - cross-spawn: ^7.0.3 - detect-indent: ^6.1.0 - envinfo: ^7.7.3 - execa: ^5.0.0 - express: ^4.17.3 - find-up: ^5.0.0 - fs-extra: ^11.1.0 - get-npm-tarball-url: ^2.0.3 - get-port: ^5.1.1 - giget: ^1.0.0 - globby: ^11.0.2 - jscodeshift: ^0.14.0 - leven: ^3.1.0 - ora: ^5.4.1 - prettier: ^2.8.0 - prompts: ^2.4.0 - puppeteer-core: ^2.1.1 - read-pkg-up: ^7.0.1 - semver: ^7.3.7 - simple-update-notifier: ^2.0.0 - strip-json-comments: ^3.0.1 - tempy: ^1.0.1 - ts-dedent: ^2.0.0 - util-deprecate: ^1.0.2 - bin: - getstorybook: ./bin/index.js - sb: ./bin/index.js - checksum: 3cb3eb188bc1c0a6c7d4042136ac10a89f95cf9a724852d0f8706dd033da52ca5d36068acf1e61a32f84fda83f3589edcf26375248fb455dd058be817748ab66 + checksum: 1c65a342719e8da45dfe932c48fcfbfabb315e6c850ba0ee04193253ac766aaca9b2c8661e639c3f777d325d5bab3c80fc378f2fe20756f6512c6d960e4f9f8c languageName: node linkType: hard @@ -8322,48 +7936,26 @@ __metadata: languageName: node linkType: hard -"@storybook/client-logger@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/client-logger@npm:7.5.1" +"@storybook/client-logger@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/client-logger@npm:7.5.3" dependencies: "@storybook/global": ^5.0.0 - checksum: 9e937b933f8a0063bb31d9bb3b8374903ce9a88a77517915ac899fe6958f1aa5e256af09bbcfbc0351d9f03cd421e952cb2cb5000cb0144cdccc0949438e2784 - languageName: node - linkType: hard - -"@storybook/codemod@npm:7.4.2": - version: 7.4.2 - resolution: "@storybook/codemod@npm:7.4.2" - dependencies: - "@babel/core": ^7.22.9 - "@babel/preset-env": ^7.22.9 - "@babel/types": ^7.22.5 - "@storybook/csf": ^0.1.0 - "@storybook/csf-tools": 7.4.2 - "@storybook/node-logger": 7.4.2 - "@storybook/types": 7.4.2 - "@types/cross-spawn": ^6.0.2 - cross-spawn: ^7.0.3 - globby: ^11.0.2 - jscodeshift: ^0.14.0 - lodash: ^4.17.21 - prettier: ^2.8.0 - recast: ^0.23.1 - checksum: 648b625f30db3951faefb7a21cab047204af0d978dcaeda98072f60d074521778c3d5841014d4be6adbf22d38dd741499ce8c97631f659701290b367942b03cd + checksum: 0931daa2274f93dc1921e0c48cfb3a938b4c88843327e832c49115ea0aaa48ee5ddaeb37dc51ba0c7daac84215d62a9101befbfbf0088ce272396eb6c3f1d046 languageName: node linkType: hard -"@storybook/codemod@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/codemod@npm:7.5.1" +"@storybook/codemod@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/codemod@npm:7.5.3" dependencies: "@babel/core": ^7.22.9 "@babel/preset-env": ^7.22.9 "@babel/types": ^7.22.5 "@storybook/csf": ^0.1.0 - "@storybook/csf-tools": 7.5.1 - "@storybook/node-logger": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/csf-tools": 7.5.3 + "@storybook/node-logger": 7.5.3 + "@storybook/types": 7.5.3 "@types/cross-spawn": ^6.0.2 cross-spawn: ^7.0.3 globby: ^11.0.2 @@ -8371,110 +7963,48 @@ __metadata: lodash: ^4.17.21 prettier: ^2.8.0 recast: ^0.23.1 - checksum: a88e01d0fef12ef4a982c5f4c98dd6acd8c9d97270e192d25bf9070e07b5e83755c37ea3769ca2f15edd14dcf9704920a4a6213f4f7c7cd4a702a3271dc4b770 + checksum: e701293d237c9f05dd2237cca77528c87412eeff3df516e7ab41b19521198855bf74347bc252a19ce4966d6727d4d9b9b49482917445d53e7fa1cdb3e49f1b29 languageName: node linkType: hard -"@storybook/components@npm:7.4.2, @storybook/components@npm:^7.4.2": - version: 7.4.2 - resolution: "@storybook/components@npm:7.4.2" +"@storybook/components@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/components@npm:7.5.3" dependencies: "@radix-ui/react-select": ^1.2.2 "@radix-ui/react-toolbar": ^1.0.4 - "@storybook/client-logger": 7.4.2 + "@storybook/client-logger": 7.5.3 "@storybook/csf": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/theming": 7.4.2 - "@storybook/types": 7.4.2 - memoizerific: ^1.11.3 - use-resize-observer: ^9.1.0 - util-deprecate: ^1.0.2 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: eb7ba86f2e4142f8b1df3cc595db76c29c7813a0ae427c0b0b0555475feaa5a4b0387960a1446e105291ef813d56511e3f8e22197abe5d9526b0202d16e8b4c4 - languageName: node - linkType: hard - -"@storybook/components@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/components@npm:7.5.1" - dependencies: - "@radix-ui/react-select": ^1.2.2 - "@radix-ui/react-toolbar": ^1.0.4 - "@storybook/client-logger": 7.5.1 - "@storybook/csf": ^0.1.0 - "@storybook/global": ^5.0.0 - "@storybook/theming": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/theming": 7.5.3 + "@storybook/types": 7.5.3 memoizerific: ^1.11.3 use-resize-observer: ^9.1.0 util-deprecate: ^1.0.2 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 7af78446886f1476502cf456aacc104a226e4872cfc8b59956ac6a7ca674545e94cbe1f94953e27f533ff3f684cf53518ecd3e67b68fb83b5f7350d0eb2163eb + checksum: a73dbc33e0767b3152fa075e632635ba3bb2ab41917969ebd6c82790e47bc414832f5bd50be7d0a9f9d598b6241b96226eb0fe3f0da4c98ea2d6ccf439a86875 languageName: node linkType: hard -"@storybook/core-client@npm:7.4.2": - version: 7.4.2 - resolution: "@storybook/core-client@npm:7.4.2" +"@storybook/core-client@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/core-client@npm:7.5.3" dependencies: - "@storybook/client-logger": 7.4.2 - "@storybook/preview-api": 7.4.2 - checksum: 28b07c1a7106bfa73eca7a639f91020e5617c3e209d8c657494ffa0c9b123012d4364febc94f5767389fa20799a086e61d47ae36d953392fe6f1a93303ad4e65 + "@storybook/client-logger": 7.5.3 + "@storybook/preview-api": 7.5.3 + checksum: 9533de3f66516c223d90ba7a6a61c9aceab0cf19553d8499b9165f286fcb17a326581f5ef963161d6b18dee2640a6e0175f6ed579a0c21036e6d0993a5706a7f languageName: node linkType: hard -"@storybook/core-client@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/core-client@npm:7.5.1" +"@storybook/core-common@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/core-common@npm:7.5.3" dependencies: - "@storybook/client-logger": 7.5.1 - "@storybook/preview-api": 7.5.1 - checksum: 801cfff4df8e3dacc597641487323f6f5ee4f541e73ce0df4eb153dee8c00658cd485e3bd32ad93cc17ebebff9eef90606aa487c4cad2af61805a1c38b1ddc3e - languageName: node - linkType: hard - -"@storybook/core-common@npm:7.4.2": - version: 7.4.2 - resolution: "@storybook/core-common@npm:7.4.2" - dependencies: - "@storybook/core-events": 7.4.2 - "@storybook/node-logger": 7.4.2 - "@storybook/types": 7.4.2 - "@types/find-cache-dir": ^3.2.1 - "@types/node": ^16.0.0 - "@types/node-fetch": ^2.6.4 - "@types/pretty-hrtime": ^1.0.0 - chalk: ^4.1.0 - esbuild: ^0.18.0 - esbuild-register: ^3.4.0 - file-system-cache: 2.3.0 - find-cache-dir: ^3.0.0 - find-up: ^5.0.0 - fs-extra: ^11.1.0 - glob: ^10.0.0 - 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 - checksum: 8e3a9ba5994178de15b9fa2a4b463d039a5ffeab93b3889f3b5c1e7d93ca7edc02546c9033e5253aa0665384067783403f432ebe7051c70727bb69aa06977ccb - languageName: node - linkType: hard - -"@storybook/core-common@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/core-common@npm:7.5.1" - dependencies: - "@storybook/core-events": 7.5.1 - "@storybook/node-logger": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/core-events": 7.5.3 + "@storybook/node-logger": 7.5.3 + "@storybook/types": 7.5.3 "@types/find-cache-dir": ^3.2.1 "@types/node": ^18.0.0 "@types/node-fetch": ^2.6.4 @@ -8495,7 +8025,7 @@ __metadata: pretty-hrtime: ^1.0.3 resolve-from: ^5.0.0 ts-dedent: ^2.0.0 - checksum: 935a90cb754c15142e2029c3700f0b70ea9a1fa077f25604c7a3544b29a746d865d8cca22b8e46d93e2169d593ca528a9e0cd942a49a47087d044108c347751a + checksum: 152816728cb1c3c14038509c9f7da78331bb91fb0ab766fff25651c9c91e246617f78e9bd4ec6adae21bd3c92c2cfdfbaf5162fedf83b2e8725970a5ac3b28d4 languageName: node linkType: hard @@ -8508,84 +8038,34 @@ __metadata: languageName: node linkType: hard -"@storybook/core-events@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/core-events@npm:7.5.1" +"@storybook/core-events@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/core-events@npm:7.5.3" dependencies: ts-dedent: ^2.0.0 - checksum: 26fbb71ba1cc44a50a890377efcbc7e57f9f388174e5b37cda1fdfdb8abb266162fb18d0414535fe469fe048057c53e5b6d6c304486fc943af04ea729ce77be0 + checksum: 7f59f1fe5b5389b7f022fb68a295c80a6bf737d3bdd9233923a2efb042fd966b0a7c980467edcc2e3d5cf451ba080be54b84353f645cd868bbad9868f3c28d92 languageName: node linkType: hard -"@storybook/core-server@npm:7.4.2": - version: 7.4.2 - resolution: "@storybook/core-server@npm:7.4.2" +"@storybook/core-server@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/core-server@npm:7.5.3" dependencies: "@aw-web-design/x-default-browser": 1.4.126 "@discoveryjs/json-ext": ^0.5.3 - "@storybook/builder-manager": 7.4.2 - "@storybook/channels": 7.4.2 - "@storybook/core-common": 7.4.2 - "@storybook/core-events": 7.4.2 + "@storybook/builder-manager": 7.5.3 + "@storybook/channels": 7.5.3 + "@storybook/core-common": 7.5.3 + "@storybook/core-events": 7.5.3 "@storybook/csf": ^0.1.0 - "@storybook/csf-tools": 7.4.2 + "@storybook/csf-tools": 7.5.3 "@storybook/docs-mdx": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/manager": 7.4.2 - "@storybook/node-logger": 7.4.2 - "@storybook/preview-api": 7.4.2 - "@storybook/telemetry": 7.4.2 - "@storybook/types": 7.4.2 - "@types/detect-port": ^1.3.0 - "@types/node": ^16.0.0 - "@types/pretty-hrtime": ^1.0.0 - "@types/semver": ^7.3.4 - better-opn: ^3.0.2 - chalk: ^4.1.0 - cli-table3: ^0.6.1 - compression: ^1.7.4 - detect-port: ^1.3.0 - express: ^4.17.3 - fs-extra: ^11.1.0 - globby: ^11.0.2 - ip: ^2.0.0 - lodash: ^4.17.21 - open: ^8.4.0 - pretty-hrtime: ^1.0.3 - prompts: ^2.4.0 - read-pkg-up: ^7.0.1 - semver: ^7.3.7 - serve-favicon: ^2.5.0 - telejson: ^7.2.0 - tiny-invariant: ^1.3.1 - ts-dedent: ^2.0.0 - util: ^0.12.4 - util-deprecate: ^1.0.2 - watchpack: ^2.2.0 - ws: ^8.2.3 - checksum: 54fba1a1ff976c31f0a48544b6230460338a5d8f92f28e89d748ffa3f254ebca39e99cfdf1c757d5fadea12b19fe01468531b6c071608bd2a7b4d7f41646cefc - languageName: node - linkType: hard - -"@storybook/core-server@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/core-server@npm:7.5.1" - dependencies: - "@aw-web-design/x-default-browser": 1.4.126 - "@discoveryjs/json-ext": ^0.5.3 - "@storybook/builder-manager": 7.5.1 - "@storybook/channels": 7.5.1 - "@storybook/core-common": 7.5.1 - "@storybook/core-events": 7.5.1 - "@storybook/csf": ^0.1.0 - "@storybook/csf-tools": 7.5.1 - "@storybook/docs-mdx": ^0.1.0 - "@storybook/global": ^5.0.0 - "@storybook/manager": 7.5.1 - "@storybook/node-logger": 7.5.1 - "@storybook/preview-api": 7.5.1 - "@storybook/telemetry": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/manager": 7.5.3 + "@storybook/node-logger": 7.5.3 + "@storybook/preview-api": 7.5.3 + "@storybook/telemetry": 7.5.3 + "@storybook/types": 7.5.3 "@types/detect-port": ^1.3.0 "@types/node": ^18.0.0 "@types/pretty-hrtime": ^1.0.0 @@ -8612,74 +8092,47 @@ __metadata: util-deprecate: ^1.0.2 watchpack: ^2.2.0 ws: ^8.2.3 - checksum: d582a98c30f59f429151c2d249d4f5c626e8ce6b523b3227254b3dfb072c31f5c6e8bf788cee429f7019aa1c1bc2e1693e5571026531b70e08e7c47a15b96adf + checksum: 8d5da882230ceba7a35e769ccf5da0ac3964ad22ae14f8f2aed67ee84d916d3e4ff74dfd18e29eb59df18991a113f73f8b99ab16c772153100f57573595c3c71 languageName: node linkType: hard -"@storybook/core-webpack@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/core-webpack@npm:7.5.1" +"@storybook/core-webpack@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/core-webpack@npm:7.5.3" dependencies: - "@storybook/core-common": 7.5.1 - "@storybook/node-logger": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/core-common": 7.5.3 + "@storybook/node-logger": 7.5.3 + "@storybook/types": 7.5.3 "@types/node": ^18.0.0 ts-dedent: ^2.0.0 - checksum: f77fcbcae2da1c328f479e0c0d7136f9141070888debe19987bf687594185fcb5f4cd7445beb5305a934106486bff6cdb2168c1db2d948bb556304e7205424fa + checksum: b40bc908e4bd60fe57b6296098605c5ca5fe3fa2605a1d8ae20a69dec9e98022bdacffad59211bcba8539ed9926da57799610b7f0ec6fa1ee3858e2ef46a03ec languageName: node linkType: hard -"@storybook/csf-plugin@npm:7.4.2": - version: 7.4.2 - resolution: "@storybook/csf-plugin@npm:7.4.2" +"@storybook/csf-plugin@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/csf-plugin@npm:7.5.3" dependencies: - "@storybook/csf-tools": 7.4.2 + "@storybook/csf-tools": 7.5.3 unplugin: ^1.3.1 - checksum: adc851eb539c7fb65d501efbb1e852e2fac3a9b37a078ab4484f8dbfb1b97688f130463113147b118bd935fead5bc699d573ad9cc03ff7e32c2d2fd8b5b60a31 - languageName: node - linkType: hard - -"@storybook/csf-plugin@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/csf-plugin@npm:7.5.1" - dependencies: - "@storybook/csf-tools": 7.5.1 - unplugin: ^1.3.1 - checksum: beaea3e56b8c17c54c50d9581a09c399327e54c0368901c9063e4ccd139d2f50894718d68cdcc1ef21cfeee7dff31ec6b81b0f0559261095426dfc150ade743c - languageName: node - linkType: hard - -"@storybook/csf-tools@npm:7.4.2": - version: 7.4.2 - resolution: "@storybook/csf-tools@npm:7.4.2" - dependencies: - "@babel/generator": ^7.22.9 - "@babel/parser": ^7.22.7 - "@babel/traverse": ^7.22.8 - "@babel/types": ^7.22.5 - "@storybook/csf": ^0.1.0 - "@storybook/types": 7.4.2 - fs-extra: ^11.1.0 - recast: ^0.23.1 - ts-dedent: ^2.0.0 - checksum: c1caaeca254c330bf56377f8ecf0fce03f94eec40c449448298a3b175c0e4fd5606c97dcc9366da6d31d9edf2f6df3b2814697846cac5ac9c86e7152e5e4a808 + checksum: 3252d8834e60b73fcb81601035e48b3847a1fdbef6ccce040b2685b100ca37c9faee4789124367c97e0a4cc018db323aa4f639ca1200b7921ef450276dd5d60e languageName: node linkType: hard -"@storybook/csf-tools@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/csf-tools@npm:7.5.1" +"@storybook/csf-tools@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/csf-tools@npm:7.5.3" dependencies: "@babel/generator": ^7.22.9 "@babel/parser": ^7.22.7 "@babel/traverse": ^7.22.8 "@babel/types": ^7.22.5 "@storybook/csf": ^0.1.0 - "@storybook/types": 7.5.1 + "@storybook/types": 7.5.3 fs-extra: ^11.1.0 recast: ^0.23.1 ts-dedent: ^2.0.0 - checksum: aaa9acc1d01e823090a84df6ad0a8491c7be95ee058a800857dad498de227475979c3892b4f397b2224885b98438c90fa5ffb2cbb6c2a0b91e38f6644a9ccc92 + checksum: 32867878a588feb03701dedb1dbb65f18aaf64d464c642fb68efa4bc6ad35b0bbfdbf452fdf38b997a8139af50ee44f5dc20c27d1fb3870bc4ef66b84a41c457 languageName: node linkType: hard @@ -8708,31 +8161,17 @@ __metadata: languageName: node linkType: hard -"@storybook/docs-tools@npm:7.4.2": - version: 7.4.2 - resolution: "@storybook/docs-tools@npm:7.4.2" - dependencies: - "@storybook/core-common": 7.4.2 - "@storybook/preview-api": 7.4.2 - "@storybook/types": 7.4.2 - "@types/doctrine": ^0.0.3 - doctrine: ^3.0.0 - lodash: ^4.17.21 - checksum: de1888da72d9d9e97006fdf596898ddaddc7eb9aff2182001d2e9a626b70b627f340e59f1a2fbf9209bf943e1ff26764c31e5440ce07a41abc42362a1eedac29 - languageName: node - linkType: hard - -"@storybook/docs-tools@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/docs-tools@npm:7.5.1" +"@storybook/docs-tools@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/docs-tools@npm:7.5.3" dependencies: - "@storybook/core-common": 7.5.1 - "@storybook/preview-api": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/core-common": 7.5.3 + "@storybook/preview-api": 7.5.3 + "@storybook/types": 7.5.3 "@types/doctrine": ^0.0.3 doctrine: ^3.0.0 lodash: ^4.17.21 - checksum: e402bb1a16e0fd6e5e406167be7471d667acd4c5b99922df48737ceec5d4511089cab7e572505e4715107fdedf3e8a213bdf174c22475371abc5e9522f162895 + checksum: 27d8e55927751a0ad553e1af2b173f186f0b5ef36055a462d2e098eb79bd786844fbc45d1c6e1d98dc89506abc2138a559852f7e10ce252ee8e5bd9a8d010521 languageName: node linkType: hard @@ -8769,18 +8208,18 @@ __metadata: languageName: node linkType: hard -"@storybook/manager-api@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/manager-api@npm:7.5.1" +"@storybook/manager-api@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/manager-api@npm:7.5.3" dependencies: - "@storybook/channels": 7.5.1 - "@storybook/client-logger": 7.5.1 - "@storybook/core-events": 7.5.1 + "@storybook/channels": 7.5.3 + "@storybook/client-logger": 7.5.3 + "@storybook/core-events": 7.5.3 "@storybook/csf": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/router": 7.5.1 - "@storybook/theming": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/router": 7.5.3 + "@storybook/theming": 7.5.3 + "@storybook/types": 7.5.3 dequal: ^2.0.2 lodash: ^4.17.21 memoizerific: ^1.11.3 @@ -8791,21 +8230,14 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 85c7e66d7e6df6ba862bc2fb2a80143f1854210883cdcfd58b5e67a76c2e02e8da514346af8d3e2a9bfc81c3bc168ecc51e2ccc24dda5b5b05c39fde00175687 - languageName: node - linkType: hard - -"@storybook/manager@npm:7.4.2": - version: 7.4.2 - resolution: "@storybook/manager@npm:7.4.2" - checksum: 7f7e2abc4e6d517dbcb7519613e1f9a0e8a90792b8f71b940847a78a266d5926772a0d2ab9cefa2220d1f1e0a5f0a07e8219ed2cf2b58eb999b9740bd716620a + checksum: 82bb352a4e39f1035d969c584ff2c97c693f9b392b402ce7010507788f06c9a0024d1c23909f501a6524db0b393c26eb2361ba1c0374c62fa84c2b8a5bf2a4d5 languageName: node linkType: hard -"@storybook/manager@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/manager@npm:7.5.1" - checksum: f3f44137aac81f4f23c3bc11c323025490ab1ecac6e0e4ff783c86d599365f8a1d9e6fa6b3000833d95049a0cb9e70cb4e16b07f4904d1633d16e46888c023bb +"@storybook/manager@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/manager@npm:7.5.3" + checksum: 8f508f09a8a4bf662eeba6eea7eb0cf07e8590e1b8d2c82490bb21f5ce6e31937890de8fd9aac2b739bfc476fa5e445d3ad9d147d135d950bc9f3a9c7e638a77 languageName: node linkType: hard @@ -8816,24 +8248,17 @@ __metadata: languageName: node linkType: hard -"@storybook/node-logger@npm:7.4.2": - version: 7.4.2 - resolution: "@storybook/node-logger@npm:7.4.2" - checksum: 48da54f0f5f95a70a74e7e7d50b1aa85d600387e33e672175910e2bcd55868ec10af28579a41acc0ec331d52fb90695b4eb675918b022a166b43bbcea1847964 - languageName: node - linkType: hard - -"@storybook/node-logger@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/node-logger@npm:7.5.1" - checksum: 8c476e49a1ec19adba4c532476d4e5ccf58c8be16f7b70064a127f86a5d8bcf5c5bb947f18b0cb10c59cf3143b1f832379797009071ead5a586060afe9158760 +"@storybook/node-logger@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/node-logger@npm:7.5.3" + checksum: 9dec669a9a0d9862ca5f835a23b1b22b62eee5b74ff9a8759d323a06893baa9bdc2305c62f067ca5cbc80df017e564b8304bc9d161821780f32c77667601f76c languageName: node linkType: hard -"@storybook/postinstall@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/postinstall@npm:7.5.1" - checksum: 7a4487395bc7047d6f0b59d1662e11298bbbbb75997f243e68c07fe46ca468aef11c2ff021230ac5b37ca900664fcdb3218e8cb5db8938790cf2ec1b756adf62 +"@storybook/postinstall@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/postinstall@npm:7.5.3" + checksum: 66e54ca864449c5c436f8c3260b3f78dad8844fc3dc2e73174ad186c64dfbf0b11020993e858abdc7e411906273957e819af899c96dd507603a1566359900f57 languageName: node linkType: hard @@ -8859,16 +8284,16 @@ __metadata: languageName: node linkType: hard -"@storybook/preview-api@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/preview-api@npm:7.5.1" +"@storybook/preview-api@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/preview-api@npm:7.5.3" dependencies: - "@storybook/channels": 7.5.1 - "@storybook/client-logger": 7.5.1 - "@storybook/core-events": 7.5.1 + "@storybook/channels": 7.5.3 + "@storybook/client-logger": 7.5.3 + "@storybook/core-events": 7.5.3 "@storybook/csf": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/types": 7.5.1 + "@storybook/types": 7.5.3 "@types/qs": ^6.9.5 dequal: ^2.0.2 lodash: ^4.17.21 @@ -8877,7 +8302,7 @@ __metadata: synchronous-promise: ^2.0.15 ts-dedent: ^2.0.0 util-deprecate: ^1.0.2 - checksum: ec4b24b314109c7a726dd4f87542af80732c94af165754f11a4ea61f44d11f5bcf05cb4f75bf249cec5e5ee016a790496ea4315c409044da7f766c49ff121258 + checksum: 9e75ad27a031c4b17200ffc815452d3379c6a3ef28c21ca4c389521d433be6a217f2a84ee7c38b5562c31783c31101d939233053e2634f62fe1f30e39fd1fcde languageName: node linkType: hard @@ -8891,126 +8316,53 @@ __metadata: languageName: node linkType: hard -"@storybook/preview@npm:7.4.2": - version: 7.4.2 - resolution: "@storybook/preview@npm:7.4.2" - checksum: e7736602973823a2b516f14d7a9dbd58292c982179d2d901185f7f278fabb3462e8699375433790fe1b41f64ccc3c6387f030877670a60c825e9a9af8af283a7 - languageName: node - linkType: hard - -"@storybook/preview@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/preview@npm:7.5.1" - checksum: c996a816d0574eab36f5e383b705a784974a1413a47252baa095bfb63549cf9e9457a2d38114a814a4537a54b7c6dcb7713d04978f3d79cc9f34f67d3e44cdeb - languageName: node - linkType: hard - -"@storybook/react-dom-shim@npm:7.4.2": - version: 7.4.2 - resolution: "@storybook/react-dom-shim@npm:7.4.2" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: a8fa5acfc03fb839d54c54d7bd6e95d13e7850dc8de5db40b0ce145134f0c3e7a69c17838a97c360365956f55f516404a3e343d68f61ae96501a9c0e72c0dfd1 +"@storybook/preview@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/preview@npm:7.5.3" + checksum: 4eac804aff380e7d4e7dbdc1721595056de06bff60a9a57d2d00c9dd1ec8fb58fd97f1a346822af5294148a4fa14f3f924c26b7f672711609a5c190b2e8b7003 languageName: node linkType: hard -"@storybook/react-dom-shim@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/react-dom-shim@npm:7.5.1" +"@storybook/react-dom-shim@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/react-dom-shim@npm:7.5.3" peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 0b973a4cbe8cd3da1d33e6d6bf1f028d1ef4de54b2255286b41a0a20387426fd5c71c7025e817a48784441e46f8a039ab5fa3654b0fcd870cbb6eb03a4919cc2 + checksum: 41071d4102202d5965fb3f7068c4864160d98f63ddac67693e1bf8126de1d520968d1c094873dd8564165e7f9c35bb7c4894972047d8378f70a0b2f3c80485fe languageName: node linkType: hard -"@storybook/react-vite@npm:^7.4.2": - version: 7.4.2 - resolution: "@storybook/react-vite@npm:7.4.2" - dependencies: - "@joshwooding/vite-plugin-react-docgen-typescript": 0.2.1 - "@rollup/pluginutils": ^5.0.2 - "@storybook/builder-vite": 7.4.2 - "@storybook/react": 7.4.2 - "@vitejs/plugin-react": ^3.0.1 - ast-types: ^0.14.2 - magic-string: ^0.30.0 - react-docgen: 6.0.0-alpha.3 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - vite: ^3.0.0 || ^4.0.0 - checksum: a43ae096a888ba1e4a3ba86511e7f4b6f503fcd2214d4eaf15f8a00d9ab72e51f12491cde6d1e6cb56a81682a33fe1ad2fcdab8e3010ba787f9b148a3723c5df - languageName: node - linkType: hard - -"@storybook/react-vite@npm:^7.5.1": - version: 7.5.1 - resolution: "@storybook/react-vite@npm:7.5.1" +"@storybook/react-vite@npm:^7.4.2, @storybook/react-vite@npm:^7.5.2": + version: 7.5.3 + resolution: "@storybook/react-vite@npm:7.5.3" dependencies: "@joshwooding/vite-plugin-react-docgen-typescript": 0.3.0 "@rollup/pluginutils": ^5.0.2 - "@storybook/builder-vite": 7.5.1 - "@storybook/react": 7.5.1 + "@storybook/builder-vite": 7.5.3 + "@storybook/react": 7.5.3 "@vitejs/plugin-react": ^3.0.1 magic-string: ^0.30.0 react-docgen: ^6.0.2 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 - checksum: 2dd9fd23da1995c1aca9f99a7320ba6ee18a1a62d33e49a0c9e05b6ee744130247b3992f34654adc829e5fd0ea9a989657ddf84b47e1722b14eec63bc4db3b63 - languageName: node - linkType: hard - -"@storybook/react@npm:7.4.2, @storybook/react@npm:^7.4.2": - version: 7.4.2 - resolution: "@storybook/react@npm:7.4.2" - dependencies: - "@storybook/client-logger": 7.4.2 - "@storybook/core-client": 7.4.2 - "@storybook/docs-tools": 7.4.2 - "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.4.2 - "@storybook/react-dom-shim": 7.4.2 - "@storybook/types": 7.4.2 - "@types/escodegen": ^0.0.6 - "@types/estree": ^0.0.51 - "@types/node": ^16.0.0 - acorn: ^7.4.1 - acorn-jsx: ^5.3.1 - acorn-walk: ^7.2.0 - escodegen: ^2.1.0 - html-tags: ^3.1.0 - lodash: ^4.17.21 - prop-types: ^15.7.2 - react-element-to-jsx-string: ^15.0.0 - ts-dedent: ^2.0.0 - type-fest: ~2.19 - util-deprecate: ^1.0.2 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - typescript: "*" - peerDependenciesMeta: - typescript: - optional: true - checksum: 4e00fdc6a17576dda3aeab6c14182948aa5a74f8b52b22c97078a798e38fdbdf63e963b28291ec6c1db8778af0ca492b45b160e12fd3eac8997d6f3203dfe9c3 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + checksum: 701ae04b08e4f7c535a15dbd0e21f5d14e2826feb41dcb7b3615d2845aff5f5c57796a795a971d5b06a423b85a244311e847c8ffdc6190ba986feb4dd9939c88 languageName: node linkType: hard -"@storybook/react@npm:7.5.1, @storybook/react@npm:^7.5.1": - version: 7.5.1 - resolution: "@storybook/react@npm:7.5.1" +"@storybook/react@npm:7.5.3, @storybook/react@npm:^7.4.2, @storybook/react@npm:^7.5.2": + version: 7.5.3 + resolution: "@storybook/react@npm:7.5.3" dependencies: - "@storybook/client-logger": 7.5.1 - "@storybook/core-client": 7.5.1 - "@storybook/docs-tools": 7.5.1 + "@storybook/client-logger": 7.5.3 + "@storybook/core-client": 7.5.3 + "@storybook/docs-tools": 7.5.3 "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.5.1 - "@storybook/react-dom-shim": 7.5.1 - "@storybook/types": 7.5.1 + "@storybook/preview-api": 7.5.3 + "@storybook/react-dom-shim": 7.5.3 + "@storybook/types": 7.5.3 "@types/escodegen": ^0.0.6 "@types/estree": ^0.0.51 "@types/node": ^18.0.0 @@ -9032,7 +8384,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 1092ba0935aa153ad0a8c547c4383c9a92f83add582d16fc153461d9eb446bc402b34a6b838ff166ca739229858e6086841dd7e48c83673cc509996e79641430 + checksum: 0b931d4feb424bea501bd4977f9b61479d0bbe550998d4537e2c0370b39bc66e604f0408a063477641f9d65fde1e88702154b94ca16e00b9d023c44bc72925bf languageName: node linkType: hard @@ -9050,81 +8402,49 @@ __metadata: languageName: node linkType: hard -"@storybook/router@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/router@npm:7.5.1" +"@storybook/router@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/router@npm:7.5.3" dependencies: - "@storybook/client-logger": 7.5.1 + "@storybook/client-logger": 7.5.3 memoizerific: ^1.11.3 qs: ^6.10.0 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 833f9c041b2dc15dd7bebba182ecce4a4ae1f12c572934ae111dd7b0bd0beddf22567c5781c678b6aa09f4ef4aa6a53e1c1bef4477822391f4c4899268b352c0 - languageName: node - linkType: hard - -"@storybook/source-loader@npm:7.4.2": - version: 7.4.2 - resolution: "@storybook/source-loader@npm:7.4.2" - dependencies: - "@storybook/csf": ^0.1.0 - "@storybook/types": 7.4.2 - estraverse: ^5.2.0 - lodash: ^4.17.21 - prettier: ^2.8.0 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 9b076227e199366d1321271f69d6cdf3756a1cfd0b3d490bf7707fa4c002796135c6bd2cda615c3fbbdb4f2b4a4602df0a04abab217748651d36e2d47866854f + checksum: 7c7c9a6f6e0ff6a46ab284c94e33398364115f6c4e06bbab89df770efeb654819fced83e5f37c627af91b620134c9c09fcdc112bc24698350dd8f6e2fbeaeaf4 languageName: node linkType: hard -"@storybook/source-loader@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/source-loader@npm:7.5.1" +"@storybook/source-loader@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/source-loader@npm:7.5.3" dependencies: "@storybook/csf": ^0.1.0 - "@storybook/types": 7.5.1 + "@storybook/types": 7.5.3 estraverse: ^5.2.0 lodash: ^4.17.21 prettier: ^2.8.0 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 3966e3ad39194c5de87d6ac573e23cf8590036f4e1f48c462f929ca510b257d080e5802dc856cbd39906e6666d1871173dd7869d80b4ac2daea6b1a648fb2f7b - languageName: node - linkType: hard - -"@storybook/telemetry@npm:7.4.2": - version: 7.4.2 - resolution: "@storybook/telemetry@npm:7.4.2" - dependencies: - "@storybook/client-logger": 7.4.2 - "@storybook/core-common": 7.4.2 - "@storybook/csf-tools": 7.4.2 - chalk: ^4.1.0 - detect-package-manager: ^2.0.1 - fetch-retry: ^5.0.2 - fs-extra: ^11.1.0 - read-pkg-up: ^7.0.1 - checksum: 7c746f0eaf404b81d4ae32bebf50bef5c2bca7150026a2ad01e76e97b9aedc57138d98d1aca8fb3bec0962adef01b645a6f0fae0fb74151809469ba4b81a87c0 + checksum: 0caa5539f9ce8f323e730144cc5568f7a294684952b6238b6849958c0e22c71f6b779720d25ccbec209529d70abd8b8860f699ef6afb4b9a1a022fde59660b89 languageName: node linkType: hard -"@storybook/telemetry@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/telemetry@npm:7.5.1" +"@storybook/telemetry@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/telemetry@npm:7.5.3" dependencies: - "@storybook/client-logger": 7.5.1 - "@storybook/core-common": 7.5.1 - "@storybook/csf-tools": 7.5.1 + "@storybook/client-logger": 7.5.3 + "@storybook/core-common": 7.5.3 + "@storybook/csf-tools": 7.5.3 chalk: ^4.1.0 detect-package-manager: ^2.0.1 fetch-retry: ^5.0.2 fs-extra: ^11.1.0 read-pkg-up: ^7.0.1 - checksum: 005da0d6e20908a1adb973ab6e06df2affd36985d50323195aa45eb7775f3147df0ff375799785632a92d8470a0ac1acaafb8dd9ebdb6b05da3417dedd53134d + checksum: b031ace4e1b3c01ea43d132de01f49393007344abf98ab496e2b74bb0e15372b92bf98754fb81095ba66861ac570e730b2ed637f686e5261ece0a4ad9901db63 languageName: node linkType: hard @@ -9158,22 +8478,22 @@ __metadata: languageName: node linkType: hard -"@storybook/theming@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/theming@npm:7.5.1" +"@storybook/theming@npm:7.5.3": + version: 7.5.3 + resolution: "@storybook/theming@npm:7.5.3" dependencies: "@emotion/use-insertion-effect-with-fallbacks": ^1.0.0 - "@storybook/client-logger": 7.5.1 + "@storybook/client-logger": 7.5.3 "@storybook/global": ^5.0.0 memoizerific: ^1.11.3 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 0d2643dea9b3a9b48691131c539c76533a9ccdd46662cc30c1e2109d6bd239b5e77d56b739e30e270ae4379435a78c30c85a10ed758c2f820073af67bc59daa4 + checksum: e9769d0ad9144d47755d89fad0788ca6fa990116e2c8a3ab7c491357d71adea9feb248d1a5d6a81f4981720feaf80f42373a9ed4adb85906babc14422824fae9 languageName: node linkType: hard -"@storybook/types@npm:7.4.2, @storybook/types@npm:^7.4.2": +"@storybook/types@npm:7.4.2": version: 7.4.2 resolution: "@storybook/types@npm:7.4.2" dependencies: @@ -9185,15 +8505,15 @@ __metadata: languageName: node linkType: hard -"@storybook/types@npm:7.5.1": - version: 7.5.1 - resolution: "@storybook/types@npm:7.5.1" +"@storybook/types@npm:7.5.3, @storybook/types@npm:^7.4.2": + version: 7.5.3 + resolution: "@storybook/types@npm:7.5.3" dependencies: - "@storybook/channels": 7.5.1 + "@storybook/channels": 7.5.3 "@types/babel__core": ^7.0.0 "@types/express": ^4.7.0 file-system-cache: 2.3.0 - checksum: 9134bd288760df17c36b1d05fa856b86463460ba5de29817156230cef717a0bd836c8637a638d28a87124470919133a897b94278de00be92823d24088f63622c + checksum: f9c14fc4579260fdc014e9f759c89b2214c90b9c75a31f7bf6e11d404d47d5d350650258febf8c13467615aeabab8ac4008af8cec5fc90959639bed68ce78408 languageName: node linkType: hard @@ -9399,13 +8719,6 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.3.85": - version: 1.3.85 - resolution: "@swc/core-darwin-arm64@npm:1.3.85" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@swc/core-darwin-arm64@npm:1.3.95": version: 1.3.95 resolution: "@swc/core-darwin-arm64@npm:1.3.95" @@ -9413,13 +8726,6 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.3.85": - version: 1.3.85 - resolution: "@swc/core-darwin-x64@npm:1.3.85" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@swc/core-darwin-x64@npm:1.3.95": version: 1.3.95 resolution: "@swc/core-darwin-x64@npm:1.3.95" @@ -9427,13 +8733,6 @@ __metadata: languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.3.85": - version: 1.3.85 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.85" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - "@swc/core-linux-arm-gnueabihf@npm:1.3.95": version: 1.3.95 resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.95" @@ -9441,13 +8740,6 @@ __metadata: languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.3.85": - version: 1.3.85 - resolution: "@swc/core-linux-arm64-gnu@npm:1.3.85" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - "@swc/core-linux-arm64-gnu@npm:1.3.95": version: 1.3.95 resolution: "@swc/core-linux-arm64-gnu@npm:1.3.95" @@ -9455,13 +8747,6 @@ __metadata: languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.3.85": - version: 1.3.85 - resolution: "@swc/core-linux-arm64-musl@npm:1.3.85" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - "@swc/core-linux-arm64-musl@npm:1.3.95": version: 1.3.95 resolution: "@swc/core-linux-arm64-musl@npm:1.3.95" @@ -9469,13 +8754,6 @@ __metadata: languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.3.85": - version: 1.3.85 - resolution: "@swc/core-linux-x64-gnu@npm:1.3.85" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - "@swc/core-linux-x64-gnu@npm:1.3.95": version: 1.3.95 resolution: "@swc/core-linux-x64-gnu@npm:1.3.95" @@ -9483,13 +8761,6 @@ __metadata: languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.3.85": - version: 1.3.85 - resolution: "@swc/core-linux-x64-musl@npm:1.3.85" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - "@swc/core-linux-x64-musl@npm:1.3.95": version: 1.3.95 resolution: "@swc/core-linux-x64-musl@npm:1.3.95" @@ -9497,13 +8768,6 @@ __metadata: languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.3.85": - version: 1.3.85 - resolution: "@swc/core-win32-arm64-msvc@npm:1.3.85" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - "@swc/core-win32-arm64-msvc@npm:1.3.95": version: 1.3.95 resolution: "@swc/core-win32-arm64-msvc@npm:1.3.95" @@ -9511,13 +8775,6 @@ __metadata: languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.3.85": - version: 1.3.85 - resolution: "@swc/core-win32-ia32-msvc@npm:1.3.85" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - "@swc/core-win32-ia32-msvc@npm:1.3.95": version: 1.3.95 resolution: "@swc/core-win32-ia32-msvc@npm:1.3.95" @@ -9525,13 +8782,6 @@ __metadata: languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.3.85": - version: 1.3.85 - resolution: "@swc/core-win32-x64-msvc@npm:1.3.85" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@swc/core-win32-x64-msvc@npm:1.3.95": version: 1.3.95 resolution: "@swc/core-win32-x64-msvc@npm:1.3.95" @@ -9539,7 +8789,7 @@ __metadata: languageName: node linkType: hard -"@swc/core@npm:^1.3.82": +"@swc/core@npm:^1.3.82, @swc/core@npm:^1.3.85": version: 1.3.95 resolution: "@swc/core@npm:1.3.95" dependencies: @@ -9585,51 +8835,6 @@ __metadata: languageName: node linkType: hard -"@swc/core@npm:^1.3.85": - version: 1.3.85 - resolution: "@swc/core@npm:1.3.85" - dependencies: - "@swc/core-darwin-arm64": 1.3.85 - "@swc/core-darwin-x64": 1.3.85 - "@swc/core-linux-arm-gnueabihf": 1.3.85 - "@swc/core-linux-arm64-gnu": 1.3.85 - "@swc/core-linux-arm64-musl": 1.3.85 - "@swc/core-linux-x64-gnu": 1.3.85 - "@swc/core-linux-x64-musl": 1.3.85 - "@swc/core-win32-arm64-msvc": 1.3.85 - "@swc/core-win32-ia32-msvc": 1.3.85 - "@swc/core-win32-x64-msvc": 1.3.85 - "@swc/types": ^0.1.4 - peerDependencies: - "@swc/helpers": ^0.5.0 - dependenciesMeta: - "@swc/core-darwin-arm64": - optional: true - "@swc/core-darwin-x64": - optional: true - "@swc/core-linux-arm-gnueabihf": - optional: true - "@swc/core-linux-arm64-gnu": - optional: true - "@swc/core-linux-arm64-musl": - optional: true - "@swc/core-linux-x64-gnu": - optional: true - "@swc/core-linux-x64-musl": - optional: true - "@swc/core-win32-arm64-msvc": - optional: true - "@swc/core-win32-ia32-msvc": - optional: true - "@swc/core-win32-x64-msvc": - optional: true - peerDependenciesMeta: - "@swc/helpers": - optional: true - checksum: af9ec7d88fd9ad3dd876c8fea812b20ba734c2ed917c9f8281fd57c68ab57d5931ccb841f4467332b84c0cd522682737a770dfc8c3f9e0cc88cdce713971978c - languageName: node - linkType: hard - "@swc/counter@npm:^0.1.1": version: 0.1.2 resolution: "@swc/counter@npm:0.1.2" @@ -9655,13 +8860,6 @@ __metadata: languageName: node linkType: hard -"@swc/types@npm:^0.1.4": - version: 0.1.4 - resolution: "@swc/types@npm:0.1.4" - checksum: 9b09de7dca8e4b19bfb43f9e332c771855158cb761d26000807fe858447ecbc5342a6c257b26d9aa5497f7138fc58913693e2bee222e5042e0e8f57c2979ae66 - languageName: node - linkType: hard - "@swc/types@npm:^0.1.5": version: 0.1.5 resolution: "@swc/types@npm:0.1.5" @@ -9691,7 +8889,7 @@ __metadata: languageName: node linkType: hard -"@tanstack/react-table@npm:^8.10.7": +"@tanstack/react-table@npm:^8.10.7, @tanstack/react-table@npm:^8.9.10": version: 8.10.7 resolution: "@tanstack/react-table@npm:8.10.7" dependencies: @@ -9703,15 +8901,15 @@ __metadata: languageName: node linkType: hard -"@tanstack/react-table@npm:^8.9.10": - version: 8.9.10 - resolution: "@tanstack/react-table@npm:8.9.10" +"@tanstack/react-virtual@npm:^3.0.0-beta.68": + version: 3.0.0-beta.68 + resolution: "@tanstack/react-virtual@npm:3.0.0-beta.68" dependencies: - "@tanstack/table-core": 8.9.10 + "@tanstack/virtual-core": 3.0.0-beta.68 peerDependencies: - react: ">=16" - react-dom: ">=16" - checksum: 9ffb4c372367ffb8ecfde98c77a6a3896a34fc808966bb4da05396a379c59f80461a485e3df2a9affa250d55b7599e7c54e8abe97be778f1d3974db4ff57616b + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: e8d4110fde9eb7e27b7067a300ac8bb08622a19b7c25a3b1b313b61e76093f1c500a90723011584971a0f5c4c7832df0c90276d4cf2d43f06281199636e50c4a languageName: node linkType: hard @@ -9722,10 +8920,10 @@ __metadata: languageName: node linkType: hard -"@tanstack/table-core@npm:8.9.10": - version: 8.9.10 - resolution: "@tanstack/table-core@npm:8.9.10" - checksum: 255df38df20bc75d684afc2c11c8140c33ae13edb954c6ac91d6c590d9c9717dfd11d1189e9b00fa10c56aa6b29026a9d3df70efa795a523331e1a1182f30835 +"@tanstack/virtual-core@npm:3.0.0-beta.68": + version: 3.0.0-beta.68 + resolution: "@tanstack/virtual-core@npm:3.0.0-beta.68" + checksum: f06898afc6501e6a6240425f2bdbd0e2dc637f4f58cb4a9e13fca7e8e25b93be25543559c53b243bf70e386302844f419d9110010db964916a523495db114f51 languageName: node linkType: hard @@ -9865,29 +9063,16 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.0.0": - version: 7.20.0 - resolution: "@types/babel__core@npm:7.20.0" - dependencies: - "@babel/parser": ^7.20.7 - "@babel/types": ^7.20.7 - "@types/babel__generator": "*" - "@types/babel__template": "*" - "@types/babel__traverse": "*" - checksum: 49b601a0a7637f1f387442c8156bd086cfd10ff4b82b0e1994e73a6396643b5435366fb33d6b604eade8467cca594ef97adcbc412aede90bb112ebe88d0ad6df - languageName: node - linkType: hard - -"@types/babel__core@npm:^7.18.0": - version: 7.20.3 - resolution: "@types/babel__core@npm:7.20.3" +"@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.18.0": + version: 7.20.4 + resolution: "@types/babel__core@npm:7.20.4" dependencies: "@babel/parser": ^7.20.7 "@babel/types": ^7.20.7 "@types/babel__generator": "*" "@types/babel__template": "*" "@types/babel__traverse": "*" - checksum: 8d14acc14d99b4b8bf36c00da368f6d597bd9ae3344aa7048f83f0f701b0463fa7c7bf2e50c3e4382fdbcfd1e4187b3452a0f0888b0f3ae8fad975591f7bdb94 + checksum: 75ed6072213423d2b827740d68bbf96f5a7050ce8bd842dde0ceec8d352d06e847166bac757df4beba55525b65f8727c0432adeb5cb4f83aa42e155ac555767e languageName: node linkType: hard @@ -9910,21 +9095,12 @@ __metadata: languageName: node linkType: hard -"@types/babel__traverse@npm:*": - version: 7.17.1 - resolution: "@types/babel__traverse@npm:7.17.1" - dependencies: - "@babel/types": ^7.3.0 - checksum: 8992d8c1eaaf1c793e9184b930767883446939d2744c40ea4e9591086e79b631189dc519931ed8864f1e016742a189703c217db59b800aca84870b865009d8b4 - languageName: node - linkType: hard - -"@types/babel__traverse@npm:^7.18.0": - version: 7.20.3 - resolution: "@types/babel__traverse@npm:7.20.3" +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.18.0": + version: 7.20.4 + resolution: "@types/babel__traverse@npm:7.20.4" dependencies: "@babel/types": ^7.20.7 - checksum: 6d0f70d8972647c9b78b51a54f0b6481c4f23f0bb2699ad276e6070678bd121fede99e8e2c8c3e409d2f31a0bf83ae511abc6fefb91f0630c8d728a3a9136790 + checksum: f044ba80e00d07e46ee917c44f96cfc268fcf6d3871f7dfb8db8d3c6dab1508302f3e6bc508352a4a3ae627d2522e3fc500fa55907e0410a08e2e0902a8f3576 languageName: node linkType: hard @@ -10263,7 +9439,7 @@ __metadata: languageName: node linkType: hard -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0": version: 2.0.4 resolution: "@types/istanbul-lib-coverage@npm:2.0.4" checksum: a25d7589ee65c94d31464c16b72a9dc81dfa0bea9d3e105ae03882d616e2a0712a9c101a599ec482d297c3591e16336962878cb3eb1a0a62d5b76d277a890ce7 @@ -10440,10 +9616,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0, @types/node@npm:^18.17.16, @types/node@npm:^18.7.20": - version: 18.17.16 - resolution: "@types/node@npm:18.17.16" - checksum: 8f9dbaf4a67a14110e2a0d805f9b57f3a5cda774dbcb7b1e7973efe31d5eeea358482dbe36a5bfadb0dde99f065f1ae0531f25a032f015871aa0b2896eb3c4ae +"@types/node@npm:*, @types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0, @types/node@npm:^18.0.0, @types/node@npm:^18.17.16, @types/node@npm:^18.7.20": + version: 18.18.7 + resolution: "@types/node@npm:18.18.7" + dependencies: + undici-types: ~5.26.4 + checksum: 972f8b214f961b6c8d99f84aab8bfadc656bb71fc7ad4a543ad3405286c95f27385ee0c3844f88d612f3cf225cd4d49ce8a7d9aea05a2aba9b2524ac525040aa languageName: node linkType: hard @@ -10454,13 +9632,6 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^16.0.0": - version: 16.18.12 - resolution: "@types/node@npm:16.18.12" - checksum: fc3271182414f8593018ef8f00b4718116a92f463f619081bd399d9460e7861e1dd7eebc7cf94c23567e418ff397babed077011711aae8d47171b5a81c5bd71d - languageName: node - linkType: hard - "@types/node@npm:^17.0.19": version: 17.0.45 resolution: "@types/node@npm:17.0.45" @@ -10468,15 +9639,6 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^18.0.0": - version: 18.18.7 - resolution: "@types/node@npm:18.18.7" - dependencies: - undici-types: ~5.26.4 - checksum: 972f8b214f961b6c8d99f84aab8bfadc656bb71fc7ad4a543ad3405286c95f27385ee0c3844f88d612f3cf225cd4d49ce8a7d9aea05a2aba9b2524ac525040aa - languageName: node - linkType: hard - "@types/normalize-package-data@npm:^2.4.0": version: 2.4.1 resolution: "@types/normalize-package-data@npm:2.4.1" @@ -10576,17 +9738,10 @@ __metadata: languageName: node linkType: hard -"@types/resolve@npm:^1.17.1": - version: 1.20.2 - resolution: "@types/resolve@npm:1.20.2" - checksum: 61c2cad2499ffc8eab36e3b773945d337d848d3ac6b7b0a87c805ba814bc838ef2f262fc0f109bfd8d2e0898ff8bd80ad1025f9ff64f1f71d3d4294c9f14e5f6 - languageName: node - linkType: hard - -"@types/resolve@npm:^1.20.2": - version: 1.20.4 - resolution: "@types/resolve@npm:1.20.4" - checksum: d9ddf2a9231df86dd0e98046df531ac63d96d3a97db635d00a25f33520535d0679a2c451751fe26a2221e209c91f6d03286f8c6595bf5f71eddc3d7a7c64ee3f +"@types/resolve@npm:^1.17.1, @types/resolve@npm:^1.20.2": + version: 1.20.5 + resolution: "@types/resolve@npm:1.20.5" + checksum: 95d33b12fe1419873e415f83d1d5fcaf3a145e497763b11491fa90a4ab8c18edb2fdec6df60e290208df30244d34763c69b5fd01d63c34c986808323f3b1667e languageName: node linkType: hard @@ -11826,15 +10981,6 @@ __metadata: languageName: node linkType: hard -"ast-types@npm:^0.14.2": - version: 0.14.2 - resolution: "ast-types@npm:0.14.2" - dependencies: - tslib: ^2.0.1 - checksum: 8674a77307764979f0a0b2006b7223a4b789abffaa7acbf6a1132650a799252155170173a1ff6a7fb6897f59437fc955f2707bdfc391b0797750898876e6c9ed - languageName: node - linkType: hard - "ast-types@npm:^0.16.1": version: 0.16.1 resolution: "ast-types@npm:0.16.1" @@ -12420,28 +11566,6 @@ __metadata: languageName: node linkType: hard -"c8@npm:^7.6.0": - version: 7.11.3 - resolution: "c8@npm:7.11.3" - dependencies: - "@bcoe/v8-coverage": ^0.2.3 - "@istanbuljs/schema": ^0.1.3 - find-up: ^5.0.0 - foreground-child: ^2.0.0 - istanbul-lib-coverage: ^3.2.0 - istanbul-lib-report: ^3.0.0 - istanbul-reports: ^3.1.4 - rimraf: ^3.0.2 - test-exclude: ^6.0.0 - v8-to-istanbul: ^9.0.0 - yargs: ^16.2.0 - yargs-parser: ^20.2.9 - bin: - c8: bin/c8.js - checksum: 9f7272bb5fd3d4f7d1c2f7fb986c1025a09c3afefce168c3ba62497dd6294f887c1678d23736126485ec534263ec6b4ed9b4bd2a05aa8d1682c949c3db1f5359 - languageName: node - linkType: hard - "cac@npm:^6.7.12, cac@npm:^6.7.14": version: 6.7.14 resolution: "cac@npm:6.7.14" @@ -12796,14 +11920,14 @@ __metadata: languageName: node linkType: hard -"chromatic@npm:^6.24.1": - version: 6.24.1 - resolution: "chromatic@npm:6.24.1" +"chromatic@npm:^7.6.0": + version: 7.6.0 + resolution: "chromatic@npm:7.6.0" bin: chroma: dist/bin.js chromatic: dist/bin.js chromatic-cli: dist/bin.js - checksum: 1ca3c11ac53401e822e372c47ccbb69d06c0e6f3028a0f8d952bcfed4e1a9b9944e9d6c52d2f91b4a5cdc5296817e0430635ad44754fc5c23cfae0dcb26c9e01 + checksum: 5f473385cc2c152b43487646803a213f0dc3fcf9f7755a051040e31b5f8e67486b8a80fff3bbe0752bdb0e41851ff965b587f122938b35acf5c5eba1d3d1b9e4 languageName: node linkType: hard @@ -13478,7 +12602,7 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": +"convert-source-map@npm:^1.5.0": version: 1.8.0 resolution: "convert-source-map@npm:1.8.0" dependencies: @@ -13833,14 +12957,14 @@ __metadata: languageName: node linkType: hard -"csstype@npm:3.1.1, csstype@npm:^3.0.11, csstype@npm:^3.0.2": +"csstype@npm:3.1.1": version: 3.1.1 resolution: "csstype@npm:3.1.1" checksum: 1f7b4f5fdd955b7444b18ebdddf3f5c699159f13e9cf8ac9027ae4a60ae226aef9bbb14a6e12ca7dba3358b007cee6354b116e720262867c398de6c955ea451d languageName: node linkType: hard -"csstype@npm:3.1.2": +"csstype@npm:3.1.2, csstype@npm:^3.0.11, csstype@npm:^3.0.2": version: 3.1.2 resolution: "csstype@npm:3.1.2" checksum: e1a52e6c25c1314d6beef5168da704ab29c5186b877c07d822bd0806717d9a265e8493a2e35ca7e68d0f5d472d43fac1cdce70fd79fd0853dff81f3028d857b5 @@ -14976,17 +14100,6 @@ __metadata: languageName: node linkType: hard -"esbuild-register@npm:^3.4.0": - version: 3.4.2 - resolution: "esbuild-register@npm:3.4.2" - dependencies: - debug: ^4.3.4 - peerDependencies: - esbuild: ">=0.12 <1" - checksum: f65d1ccb58b1ccbba376efb1fc023abe22731d9b79eead1b0120e57d4413318f063696257a5af637b527fa1d3f009095aa6edb1bf6ff69d637a9ab281fb727b3 - languageName: node - linkType: hard - "esbuild-register@npm:^3.5.0": version: 3.5.0 resolution: "esbuild-register@npm:3.5.0" @@ -15538,17 +14651,6 @@ __metadata: languageName: node linkType: hard -"estree-to-babel@npm:^3.1.0": - version: 3.2.1 - resolution: "estree-to-babel@npm:3.2.1" - dependencies: - "@babel/traverse": ^7.1.6 - "@babel/types": ^7.2.0 - c8: ^7.6.0 - checksum: a4584d0c60b80ce41abe91b11052f5d48635e811c67839942c4ebd51aa33d9f9b156ad615f71ceae2a8260b5e3054f36d73db6d0d2a3b9951483f4b6187495c8 - languageName: node - linkType: hard - "estree-util-attach-comments@npm:^2.0.0": version: 2.1.1 resolution: "estree-util-attach-comments@npm:2.1.1" @@ -16220,16 +15322,6 @@ __metadata: languageName: node linkType: hard -"foreground-child@npm:^2.0.0": - version: 2.0.0 - resolution: "foreground-child@npm:2.0.0" - dependencies: - cross-spawn: ^7.0.0 - signal-exit: ^3.0.2 - checksum: f77ec9aff621abd6b754cb59e690743e7639328301fbea6ff09df27d2befaf7dd5b77cec51c32323d73a81a7d91caaf9413990d305cbe3d873eec4fe58960956 - languageName: node - linkType: hard - "foreground-child@npm:^3.1.0": version: 3.1.1 resolution: "foreground-child@npm:3.1.1" @@ -16308,7 +15400,7 @@ __metadata: languageName: node linkType: hard -"framer-motion@npm:>=4.1.17, framer-motion@npm:^10.16.4": +"framer-motion@npm:^10.16.4": version: 10.16.4 resolution: "framer-motion@npm:10.16.4" dependencies: @@ -17416,13 +16508,6 @@ __metadata: languageName: node linkType: hard -"html-escaper@npm:^2.0.0": - version: 2.0.2 - resolution: "html-escaper@npm:2.0.2" - checksum: d2df2da3ad40ca9ee3a39c5cc6475ef67c8f83c234475f24d8e9ce0dc80a2c82df8e1d6fa78ddd1e9022a586ea1bd247a615e80a5cd9273d90111ddda7d9e974 - languageName: node - linkType: hard - "html-minifier-terser@npm:^6.0.2": version: 6.1.0 resolution: "html-minifier-terser@npm:6.1.0" @@ -18605,7 +17690,7 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": +"istanbul-lib-coverage@npm:^3.2.0": version: 3.2.0 resolution: "istanbul-lib-coverage@npm:3.2.0" checksum: a2a545033b9d56da04a8571ed05c8120bf10e9bce01cf8633a3a2b0d1d83dff4ac4fe78d6d5673c27fc29b7f21a41d75f83a36be09f82a61c367b56aa73c1ff9 @@ -18625,27 +17710,6 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-report@npm:^3.0.0": - version: 3.0.0 - resolution: "istanbul-lib-report@npm:3.0.0" - dependencies: - istanbul-lib-coverage: ^3.0.0 - make-dir: ^3.0.0 - supports-color: ^7.1.0 - checksum: 3f29eb3f53c59b987386e07fe772d24c7f58c6897f34c9d7a296f4000de7ae3de9eb95c3de3df91dc65b134c84dee35c54eee572a56243e8907c48064e34ff1b - languageName: node - linkType: hard - -"istanbul-reports@npm:^3.1.4": - version: 3.1.4 - resolution: "istanbul-reports@npm:3.1.4" - dependencies: - html-escaper: ^2.0.0 - istanbul-lib-report: ^3.0.0 - checksum: 2132983355710c522f6b26808015cab9a0ee8b9f5ae0db0d3edeff40b886dd83cb670fb123cb7b32dbe59473d7c00cdde2ba6136bc0acdb20a865fccea64dfe1 - languageName: node - linkType: hard - "jackspeak@npm:^2.0.3": version: 2.2.1 resolution: "jackspeak@npm:2.2.1" @@ -21064,13 +20128,6 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.1": - version: 2.1.1 - resolution: "ms@npm:2.1.1" - checksum: 0078a23cd916a9a7435c413caa14c57d4b4f6e2470e0ab554b6964163c8a4436448ac7ae020e883685475da6b6796cc396b670f579cb275db288a21e3e57721e - languageName: node - linkType: hard - "ms@npm:2.1.2": version: 2.1.2 resolution: "ms@npm:2.1.2" @@ -21154,7 +20211,7 @@ __metadata: languageName: node linkType: hard -"neo-async@npm:^2.5.0, neo-async@npm:^2.6.0, neo-async@npm:^2.6.1, neo-async@npm:^2.6.2": +"neo-async@npm:^2.5.0, neo-async@npm:^2.6.0, neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" checksum: deac9f8d00eda7b2e5cd1b2549e26e10a0faa70adaa6fdadca701cc55f49ee9018e427f424bac0c790b7c7e2d3068db97f3093f1093975f2acb8f8818b936ed9 @@ -21326,7 +20383,7 @@ __metadata: languageName: node linkType: hard -"node-dir@npm:^0.1.10, node-dir@npm:^0.1.17": +"node-dir@npm:^0.1.17": version: 0.1.17 resolution: "node-dir@npm:0.1.17" dependencies: @@ -22167,7 +21224,7 @@ __metadata: languageName: node linkType: hard -"parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": +"parseurl@npm:~1.3.3": version: 1.3.3 resolution: "parseurl@npm:1.3.3" checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 @@ -23116,26 +22173,6 @@ __metadata: languageName: node linkType: hard -"react-docgen@npm:6.0.0-alpha.3": - version: 6.0.0-alpha.3 - resolution: "react-docgen@npm:6.0.0-alpha.3" - dependencies: - "@babel/core": ^7.7.5 - "@babel/generator": ^7.12.11 - ast-types: ^0.14.2 - commander: ^2.19.0 - doctrine: ^3.0.0 - estree-to-babel: ^3.1.0 - neo-async: ^2.6.1 - node-dir: ^0.1.10 - resolve: ^1.17.0 - strip-indent: ^3.0.0 - bin: - react-docgen: bin/react-docgen.js - checksum: db4c300910e2ef7b854ccf4f454bd701875b787d0bc0f444f89415223e7c288a5808d6cd0f7ef6346332c9de2d068d648bc801d16b6b07a1699c3e10670c4801 - languageName: node - linkType: hard - "react-docgen@npm:^6.0.2": version: 6.0.4 resolution: "react-docgen@npm:6.0.4" @@ -23154,7 +22191,7 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:>=18.0.0, react-dom@npm:^18.2.0": +"react-dom@npm:^18.2.0": version: 18.2.0 resolution: "react-dom@npm:18.2.0" dependencies: @@ -24106,7 +23143,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.22.1": +"resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.22.1": version: 1.22.1 resolution: "resolve@npm:1.22.1" dependencies: @@ -24132,7 +23169,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin": +"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin": version: 1.22.1 resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=c3c19d" dependencies: @@ -24334,16 +23371,16 @@ __metadata: dependencies: "@babel/core": ^7.23.2 "@fontsource-variable/inter": ^5.0.15 - "@storybook/addon-a11y": ^7.5.1 - "@storybook/addon-docs": ^7.5.1 - "@storybook/addon-essentials": ^7.5.1 - "@storybook/addon-storysource": ^7.5.1 - "@storybook/builder-webpack5": ^7.5.1 - "@storybook/cli": ^7.5.1 + "@storybook/addon-a11y": ^7.5.2 + "@storybook/addon-docs": ^7.5.2 + "@storybook/addon-essentials": ^7.5.2 + "@storybook/addon-storysource": ^7.5.2 + "@storybook/builder-webpack5": ^7.5.2 + "@storybook/cli": ^7.5.2 "@storybook/mdx2-csf": ^1.1.0 - "@storybook/react": ^7.5.1 - "@storybook/react-vite": ^7.5.1 - chromatic: ^6.24.1 + "@storybook/react": ^7.5.2 + "@storybook/react-vite": ^7.5.2 + chromatic: ^7.6.0 framer-motion: ^10.16.4 lucide-react: ^0.260.0 react: ^18.2.0 @@ -24375,7 +23412,7 @@ __metadata: "@emotion/react": ^11.11.1 "@emotion/styled": ^11.11.0 "@saas-ui/react": "workspace:*" - "@saas-ui/storybook-addon": "workspace:*" + "@saas-ui/storybook-addon": ^2.0.0 "@storybook/addon-a11y": ^7.4.2 "@storybook/addon-storysource": ^7.4.2 "@storybook/addon-toolbars": ^7.4.2 @@ -24408,7 +23445,7 @@ __metadata: "@dnd-kit/sortable": ^7.0.2 "@emotion/react": ^11.11.1 "@emotion/styled": ^11.11.0 - "@saas-ui-pro/react": ^0.28.0 + "@saas-ui-pro/react": ^0.29.0 "@saas-ui/react": ^2.3.1 framer-motion: ^10.16.4 lucide-react: ^0.260.0 @@ -24486,13 +23523,6 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.1.1": - version: 5.1.1 - resolution: "safe-buffer@npm:5.1.1" - checksum: 7f117b604554c9daca713be76cecc6c52932ed1dd6303638274f21319038bfd760fbfd353e526cc83f11894935bc4beb71f5b7b9478c11bf9718c0e0d94c51cb - languageName: node - linkType: hard - "safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": version: 5.1.2 resolution: "safe-buffer@npm:5.1.2" @@ -24721,19 +23751,6 @@ __metadata: languageName: node linkType: hard -"serve-favicon@npm:^2.5.0": - version: 2.5.0 - resolution: "serve-favicon@npm:2.5.0" - dependencies: - etag: ~1.8.1 - fresh: 0.5.2 - ms: 2.1.1 - parseurl: ~1.3.2 - safe-buffer: 5.1.1 - checksum: f4dd0fbee3b7e18d0a27ba6ba01d2f585f23f533010c9e8c74aad74615b19b12d8fbe714f14cb3579803f0bacecd67cdc858714cb56c6e28f8dd07ccc997aea4 - languageName: node - linkType: hard - "serve-static@npm:1.15.0": version: 1.15.0 resolution: "serve-static@npm:1.15.0" @@ -27314,17 +26331,6 @@ __metadata: languageName: node linkType: hard -"v8-to-istanbul@npm:^9.0.0": - version: 9.0.1 - resolution: "v8-to-istanbul@npm:9.0.1" - dependencies: - "@jridgewell/trace-mapping": ^0.3.12 - "@types/istanbul-lib-coverage": ^2.0.1 - convert-source-map: ^1.6.0 - checksum: a49c34bf0a3af0c11041a3952a2600913904a983bd1bc87148b5c033bc5c1d02d5a13620fcdbfa2c60bc582a2e2970185780f0c844b4c3a220abf405f8af6311 - languageName: node - linkType: hard - "validate-npm-package-license@npm:^3.0.1": version: 3.0.4 resolution: "validate-npm-package-license@npm:3.0.4" @@ -27444,9 +26450,9 @@ __metadata: languageName: node linkType: hard -"vite@npm:^3.0.0 || ^4.0.0, vite@npm:^4.4.9": - version: 4.4.9 - resolution: "vite@npm:4.4.9" +"vite@npm:^3.0.0 || ^4.0.0, vite@npm:^4.4.9, vite@npm:^4.5.0": + version: 4.5.0 + resolution: "vite@npm:4.5.0" dependencies: esbuild: ^0.18.10 fsevents: ~2.3.2 @@ -27480,7 +26486,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: c511024ceae39c68c7dbf2ac4381ee655cd7bb62cf43867a14798bc835d3320b8fa7867a336143c30825c191c1fb4e9aa3348fce831ab617e96203080d3d2908 + checksum: 06f1a4c858e4dc4c04a10466f4ccacea30c5a9f8574e5ba3deb9d03fa20e80ca6797f02dad97a988da7cdef96238dbc69c3b6a538156585c74722d996223619e languageName: node linkType: hard @@ -27524,46 +26530,6 @@ __metadata: languageName: node linkType: hard -"vite@npm:^4.5.0": - version: 4.5.0 - resolution: "vite@npm:4.5.0" - dependencies: - esbuild: ^0.18.10 - fsevents: ~2.3.2 - postcss: ^8.4.27 - rollup: ^3.27.1 - peerDependencies: - "@types/node": ">= 14" - less: "*" - lightningcss: ^1.21.0 - sass: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 - dependenciesMeta: - fsevents: - optional: true - peerDependenciesMeta: - "@types/node": - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - bin: - vite: bin/vite.js - checksum: 06f1a4c858e4dc4c04a10466f4ccacea30c5a9f8574e5ba3deb9d03fa20e80ca6797f02dad97a988da7cdef96238dbc69c3b6a538156585c74722d996223619e - languageName: node - linkType: hard - "vitest@npm:^0.34.4": version: 0.34.4 resolution: "vitest@npm:0.34.4" @@ -28467,7 +27433,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3, yargs-parser@npm:^20.2.9": +"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3": version: 20.2.9 resolution: "yargs-parser@npm:20.2.9" checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 @@ -28613,9 +27579,9 @@ __metadata: languageName: node linkType: hard -"zustand@npm:^4.4.4": - version: 4.4.4 - resolution: "zustand@npm:4.4.4" +"zustand@npm:^4.4.5": + version: 4.4.6 + resolution: "zustand@npm:4.4.6" dependencies: use-sync-external-store: 1.2.0 peerDependencies: @@ -28629,7 +27595,7 @@ __metadata: optional: true react: optional: true - checksum: 371fd842dc704ed5983c6d64a77994c9c91867338c742d162ac95c4252b5f98fc38aeb2d5a07f48311babed5ca7dbff2d2258301db0ae143d32897bcf3ae651b + checksum: da7b00cc6dbe5cf5fc2e3fbca745317da4bbaf53bf4a6909bbd3e335242704df9689027f613461aff07eb5f672d5570bc1a2ef99d0ad7bc868920a3b331613d4 languageName: node linkType: hard