From 455c17b83df9291dd1713d8dffd302c8bb5d9010 Mon Sep 17 00:00:00 2001 From: amirhouieh Date: Fri, 12 May 2023 18:12:49 +0200 Subject: [PATCH] fix type errors --- next.config.js | 10 +- package.json | 2 + .../Article/Footer/Article.Footer.tsx | 13 +-- src/components/ContentBlock/ImageBlock.tsx | 2 - src/components/Grid/Grid.tsx | 1 - src/components/Main/Main.tsx | 5 +- src/components/Navbar/Navbar.tsx | 4 +- src/components/PostList/PostList.tsx | 14 ++- .../ResponsiveImage/ResponsiveImage.tsx | 22 ++++ src/components/Searchbar/Searchbar.tsx | 9 +- .../Searchbar/SearchbarContainer.tsx | 5 +- src/components/Section/Section.tsx | 5 +- src/configs/ui.configs.ts | 1 + src/context/article.context.tsx | 2 +- src/lib/unbody/unbody-content.types.ts | 2 +- src/pages/_app.tsx | 5 + src/pages/_document.tsx | 1 + src/pages/article/[slug].tsx | 1 - src/pages/search.tsx | 1 + src/utils/data.utils.ts | 4 +- yarn.lock | 101 +++++++++++++++++- 21 files changed, 175 insertions(+), 35 deletions(-) create mode 100644 src/components/ResponsiveImage/ResponsiveImage.tsx diff --git a/next.config.js b/next.config.js index 50a1f01..6c4ac1c 100644 --- a/next.config.js +++ b/next.config.js @@ -1,9 +1,11 @@ /** @type {import('next').NextConfig} */ const nextConfig = { - reactStrictMode: true, - images: { - domains: ['images.cdn.unbody.io'], - }, + reactStrictMode: true, + images: { + domains: ['images.cdn.unbody.io'], + // loader: 'imgix', + // path: 'https://images.cdn.unbody.io', + } } module.exports = nextConfig diff --git a/package.json b/package.json index d3d655d..84533f1 100644 --- a/package.json +++ b/package.json @@ -39,9 +39,11 @@ "next": "13.3.0", "react": "18.2.0", "react-dom": "18.2.0", + "react-imgix": "^9.7.0", "typescript": "5.0.4" }, "devDependencies": { + "@types/react-imgix": "^9.5.0", "husky": "^8.0.3", "lint-staged": "^13.2.1", "prettier": "^2.8.7" diff --git a/src/components/Article/Footer/Article.Footer.tsx b/src/components/Article/Footer/Article.Footer.tsx index cd7a7d5..0faa0f4 100644 --- a/src/components/Article/Footer/Article.Footer.tsx +++ b/src/components/Article/Footer/Article.Footer.tsx @@ -10,14 +10,11 @@ const ArticleFooter = ({ data }: { data: ArticlePostData }) => { const { article, relatedArticles, articlesFromSameAuthors } = data const footnotes = useMemo(() => { - return ( - article.blocks - // @ts-ignore - .flatMap((b) => - b.__typename === UnbodyGraphQl.UnbodyDocumentTypeNames.TextBlock - ? b.footnotes - : [], - ) + return article.blocks.flatMap((b) => + // @ts-ignore + b.__typename === UnbodyGraphQl.UnbodyDocumentTypeNames.TextBlock + ? b.footnotes + : [], ) }, [article]) diff --git a/src/components/ContentBlock/ImageBlock.tsx b/src/components/ContentBlock/ImageBlock.tsx index 42bdf1e..dc3793c 100644 --- a/src/components/ContentBlock/ImageBlock.tsx +++ b/src/components/ContentBlock/ImageBlock.tsx @@ -22,8 +22,6 @@ const ImageBlock = ({ doc }: Props) => { { } const Container = styled.main` - display: flex; - justify-content: center; - max-width: 1440px; + //display: flex; + //justify-content: center; margin-block: ${uiConfigs.postSectionMargin}px; margin-left: auto; margin-right: auto; diff --git a/src/components/Navbar/Navbar.tsx b/src/components/Navbar/Navbar.tsx index 9a07e77..f0221a7 100644 --- a/src/components/Navbar/Navbar.tsx +++ b/src/components/Navbar/Navbar.tsx @@ -4,6 +4,7 @@ import { LogosIcon } from '../Icons/LogosIcon' import { SunIcon } from '../Icons/SunIcon' import { MoonIcon } from '../Icons/MoonIcon' import { useRouter } from 'next/router' +import { uiConfigs } from '@/configs/ui.configs' interface NavbarProps { isDark: boolean @@ -37,7 +38,8 @@ const Container = styled.nav` border-bottom: 1px solid rgb(var(--lsd-theme-primary)); position: fixed; top: 0; - width: calc(100% - 16px); + width: calc(100% + 16px); + max-width: ${uiConfigs.maxContainerWidth + 16}px; background: rgb(var(--lsd-surface-primary)); z-index: 100; diff --git a/src/components/PostList/PostList.tsx b/src/components/PostList/PostList.tsx index 59bd9e1..5e5cad0 100644 --- a/src/components/PostList/PostList.tsx +++ b/src/components/PostList/PostList.tsx @@ -8,11 +8,21 @@ type Props = { posts: PostDataProps[] } +const getGridItemWidth = (index: number) => { + // Each cycle consists of 6 indices: 4 for "w-4" and 2 for "w-8" + const cycleLength = 6 + + // Determine which part of the cycle this index falls into + const positionInCycle = index % cycleLength + + // If the index is in the first 4 positions, return "w-4" + // Otherwise, return "w-8" + return positionInCycle < 4 ? 'w-4' : 'w-8' +} + export const PostsList = (props: Props) => { const [posts, setPosts] = useState(props.posts) - //TODO pagination - return ( {posts.map((post, index) => ( diff --git a/src/components/ResponsiveImage/ResponsiveImage.tsx b/src/components/ResponsiveImage/ResponsiveImage.tsx new file mode 100644 index 0000000..d57fa48 --- /dev/null +++ b/src/components/ResponsiveImage/ResponsiveImage.tsx @@ -0,0 +1,22 @@ +import React from 'react' +import Image from 'next/image' +import { UnbodyImageBlock } from '@/lib/unbody/unbody.types' +import Imgix from 'react-imgix' + +type Props = { + data: UnbodyImageBlock +} + +export const ResponsiveImage = ({ data }: Props) => { + return ( +
+ +
+ ) +} diff --git a/src/components/Searchbar/Searchbar.tsx b/src/components/Searchbar/Searchbar.tsx index 47ea192..87d3bfb 100644 --- a/src/components/Searchbar/Searchbar.tsx +++ b/src/components/Searchbar/Searchbar.tsx @@ -125,7 +125,14 @@ export default function Searchbar(props: SearchbarProps) { : copyConfigs.search.searchbarPlaceholders.article() return ( - setActive(false)}> + { + setActive(false) + if (router.query.query && router.query.query.length > 0) { + setQuery(router.query.query as string) + } + }} + > ` display: block; - width: 100%; + width: calc(100% - 16px); background: rgb(var(--lsd-surface-primary)); border-bottom: 1px solid rgb(var(--lsd-border-primary)); border-top: 1px solid rgb(var(--lsd-border-primary)); - transition: all 0.2s ease-in-out; + transition: top 0.2s ease-in-out; position: relative; overflow: hidden; diff --git a/src/components/Section/Section.tsx b/src/components/Section/Section.tsx index 3e30ced..66a5fd5 100644 --- a/src/components/Section/Section.tsx +++ b/src/components/Section/Section.tsx @@ -9,7 +9,7 @@ type Props = PropsWithChildren<{ export const Section = ({ title, matches, children, ...props }: Props) => { return ( -
+
{title} @@ -32,5 +32,6 @@ const Container = styled.div` display: flex; align-items: center; gap: 8px; - padding: 0 16px; + //padding: 0 16px; + width: 100%; ` diff --git a/src/configs/ui.configs.ts b/src/configs/ui.configs.ts index 8968f9f..65bd184 100644 --- a/src/configs/ui.configs.ts +++ b/src/configs/ui.configs.ts @@ -1,4 +1,5 @@ export const uiConfigs = { navbarRenderedHeight: 45, postSectionMargin: 78, + maxContainerWidth: 1400, } diff --git a/src/context/article.context.tsx b/src/context/article.context.tsx index bf95b5c..bad7403 100644 --- a/src/context/article.context.tsx +++ b/src/context/article.context.tsx @@ -6,7 +6,7 @@ import { createContext, useContext, useState } from 'react' import { useSearchBarContext } from './searchbar.context' type ArticleContext = SearchHook & { - onSearch: (query: string, filters: string[], title: string) => void + onSearch: (query: string, filters: string[]) => void onReset: () => void } diff --git a/src/lib/unbody/unbody-content.types.ts b/src/lib/unbody/unbody-content.types.ts index f02df56..831df86 100644 --- a/src/lib/unbody/unbody-content.types.ts +++ b/src/lib/unbody/unbody-content.types.ts @@ -211,7 +211,7 @@ export namespace UnbodyGraphQl { summary: string title: string updatedAt: string - + modifiedAt: string attachments: Array } diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 8787d05..7eb851a 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -48,6 +48,11 @@ export default function App({ Component, pageProps }: AppLayoutProps) { width: 100%; height: 100%; } + #__next { + max-width: 1440px; + margin-left: auto; + margin-right: auto; + } :root { --lpe-nav-rendered-height: ${uiConfigs.navbarRenderedHeight}px; } diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index 54e8bf3..6b6ac76 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -1,3 +1,4 @@ +import { uiConfigs } from '@/configs/ui.configs' import { Html, Head, Main, NextScript } from 'next/document' export default function Document() { diff --git a/src/pages/article/[slug].tsx b/src/pages/article/[slug].tsx index a1e1006..93f05d5 100644 --- a/src/pages/article/[slug].tsx +++ b/src/pages/article/[slug].tsx @@ -14,7 +14,6 @@ type ArticleProps = { const ArticlePage = ({ data, errors }: ArticleProps) => { if (errors) return
{errors}
- return ( <> diff --git a/src/pages/search.tsx b/src/pages/search.tsx index 8e7b757..47d6b5e 100644 --- a/src/pages/search.tsx +++ b/src/pages/search.tsx @@ -16,6 +16,7 @@ import { ReactNode, useEffect, useRef, useState } from 'react' import { SearchLayout } from '@/layouts/SearchLayout' import { RelatedArticles } from '@/components/RelatedArticles' import { RelatedContent } from '@/components/RelatedContent' +import { useSearchBarContext } from '@/context/searchbar.context' interface SearchPageProps { articles: SearchResultItem[] diff --git a/src/utils/data.utils.ts b/src/utils/data.utils.ts index c10e64d..e33597f 100644 --- a/src/utils/data.utils.ts +++ b/src/utils/data.utils.ts @@ -33,7 +33,7 @@ export const getBodyBlocks = ({ const isTitle = classNames.includes('title') const isSubtitle = classNames.includes('subtitle') const isCoverImage = - b.order === 5 && + b.order === 4 && b.__typename === UnbodyGraphQl.UnbodyDocumentTypeNames.ImageBlock const isAuthor = b.__typename === UnbodyGraphQl.UnbodyDocumentTypeNames.TextBlock && @@ -69,7 +69,7 @@ export const getArticleCover = ( return ( ((blocks || []).find( (b) => - b.order === 5 && + b.order === 4 && b.__typename === UnbodyGraphQl.UnbodyDocumentTypeNames.ImageBlock, ) as UnbodyImageBlock) || null ) diff --git a/yarn.lock b/yarn.lock index 2a1620c..c77a9d8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -55,6 +55,13 @@ dependencies: regenerator-runtime "^0.13.11" +"@babel/runtime@^7.2.0": + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.5.tgz#8492dddda9644ae3bda3b45eabe87382caee7200" + integrity sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q== + dependencies: + regenerator-runtime "^0.13.11" + "@babel/types@^7.21.4": version "7.21.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.4.tgz#2d5d6bb7908699b3b416409ffd3b5daa25b030d4" @@ -232,6 +239,15 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@imgix/js-core@^3.1.3": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@imgix/js-core/-/js-core-3.8.0.tgz#630bc4fba8cb968d8c0e8298a2be71e39d75b8b8" + integrity sha512-kvLmsODQq7W17UuhDIffimlKN+AUTgtQCgD8kpPN0gglvaqR1VZKXl4gB5eAUXgrwNgi5hRDl5XYAMFRPIUztw== + dependencies: + js-base64 "~3.7.0" + md5 "^2.2.1" + ufo "^1.0.0" + "@next/env@13.3.0": version "13.3.0" resolved "https://registry.yarnpkg.com/@next/env/-/env-13.3.0.tgz#cc2e49f03060a4684ce7ec7fd617a21bc5b9edba" @@ -392,6 +408,13 @@ dependencies: "@types/react" "*" +"@types/react-imgix@^9.5.0": + version "9.5.0" + resolved "https://registry.yarnpkg.com/@types/react-imgix/-/react-imgix-9.5.0.tgz#5a3f17ffb6b5d7db9efe74bc9b077312091043c2" + integrity sha512-QNtxzFd9PEr5dyWcs1TWW4kRfGTvUAJ4Lb/OfAX9ZHVCFAimXSFgTVJU4zDAoMEH3lz+lqHP8FszqTn9X7HNYQ== + dependencies: + "@types/react" "*" + "@types/react@*", "@types/react@18.0.35": version "18.0.35" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.35.tgz#192061cb1044fe01f2d3a94272cd35dd50502741" @@ -722,6 +745,11 @@ chalk@^4.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +charenc@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" + integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== + clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -845,6 +873,11 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +crypt@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" + integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== + css-background-parser@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/css-background-parser/-/css-background-parser-0.1.0.tgz#48a17f7fe6d4d4f1bca3177ddf16c5617950741b" @@ -1476,6 +1509,11 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@ has "^1.0.3" has-symbols "^1.0.3" +get-node-dimensions@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/get-node-dimensions/-/get-node-dimensions-1.2.1.tgz#fb7b4bb57060fb4247dd51c9d690dfbec56b0823" + integrity sha512-2MSPMu7S1iOTL+BOa6K1S62hB2zUAYNF/lV0gSVlOaacd087lc6nR1H1r0e3B1CerTo+RceOmi1iJW+vp21xcQ== + get-stream@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" @@ -1772,6 +1810,11 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-buffer@~1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" @@ -1932,6 +1975,11 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +js-base64@~3.7.0: + version "3.7.5" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-3.7.5.tgz#21e24cf6b886f76d6f5f165bfcd69cc55b9e3fca" + integrity sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA== + js-cookie@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" @@ -2082,7 +2130,7 @@ log-update@^4.0.0: slice-ansi "^4.0.0" wrap-ansi "^6.2.0" -loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -2096,6 +2144,15 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +md5@^2.2.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" + integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== + dependencies: + charenc "0.0.2" + crypt "0.0.2" + is-buffer "~1.1.6" + mdn-data@2.0.14: version "2.0.14" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" @@ -2458,7 +2515,7 @@ prettier@^2.8.7: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450" integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw== -prop-types@^15.8.1: +prop-types@^15.6.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -2490,11 +2547,32 @@ react-dom@18.2.0, react-dom@^18.2.0: loose-envify "^1.1.0" scheduler "^0.23.0" +react-imgix@^9.7.0: + version "9.7.0" + resolved "https://registry.yarnpkg.com/react-imgix/-/react-imgix-9.7.0.tgz#944f63693daf6524d07898aaf7d1cbbe59e5edca" + integrity sha512-unov/PlBrwJ9ahlNwB3Eu3KksfFBMZZEsBdwmdwHzck8jbIRVwsMSR0DQ/2RZvQWxxRUGJymODrmKsZHmSOnwQ== + dependencies: + "@imgix/js-core" "^3.1.3" + prop-types "^15.8.1" + react-measure "^2.3.0" + shallowequal "^1.1.0" + warning "^4.0.1" + react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== +react-measure@^2.3.0: + version "2.5.2" + resolved "https://registry.yarnpkg.com/react-measure/-/react-measure-2.5.2.tgz#4ffc410e8b9cb836d9455a9ff18fc1f0fca67f89" + integrity sha512-M+rpbTLWJ3FD6FXvYV6YEGvQ5tMayQ3fGrZhRPHrE9bVlBYfDCLuDcgNttYfk8IqfOI03jz6cbpqMRTUclQnaA== + dependencies: + "@babel/runtime" "^7.2.0" + get-node-dimensions "^1.2.1" + prop-types "^15.6.2" + resize-observer-polyfill "^1.5.0" + react-universal-interface@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/react-universal-interface/-/react-universal-interface-0.6.2.tgz#5e8d438a01729a4dbbcbeeceb0b86be146fe2b3b" @@ -2541,7 +2619,7 @@ regexp.prototype.flags@^1.4.3: define-properties "^1.1.3" functions-have-names "^1.2.2" -resize-observer-polyfill@^1.5.1: +resize-observer-polyfill@^1.5.0, resize-observer-polyfill@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== @@ -2677,6 +2755,11 @@ set-harmonic-interval@^1.0.1: resolved "https://registry.yarnpkg.com/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz#e1773705539cdfb80ce1c3d99e7f298bb3995249" integrity sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g== +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -3060,6 +3143,11 @@ typescript@5.0.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== +ufo@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.1.2.tgz#d0d9e0fa09dece0c31ffd57bd363f030a35cfe76" + integrity sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ== + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -3090,6 +3178,13 @@ use-sync-external-store@^1.2.0: resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== +warning@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== + dependencies: + loose-envify "^1.0.0" + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"