diff --git a/app/[locale]/experience/[...slug]/page.tsx b/app/[locale]/experience/[...slug]/page.tsx
new file mode 100644
index 0000000..1b2d8a4
--- /dev/null
+++ b/app/[locale]/experience/[...slug]/page.tsx
@@ -0,0 +1,36 @@
+import { createClient } from 'contentful';
+import { detachExperienceStyles, fetchBySlug } from '@contentful/experiences-sdk-react';
+import Experience from '#/components/Experience';
+import 'lib/studio-config';
+import { getLocaleFromPath } from '#/locales/get-locale-from-path';
+
+type PageProps = {
+ params: { slug: string[]; locale: string };
+};
+
+const client = createClient({
+ space: process.env.CONTENTFUL_SPACE!,
+ environment: process.env.CONTENTFUL_ENVIRONMENT,
+ accessToken: process.env.CONTENTFUL_DELIVERY_API!,
+});
+
+export default async function ExperiencePage({ params }: PageProps) {
+ const { locale } = params;
+ const localeCode = getLocaleFromPath(locale);
+ const experience = await fetchBySlug({
+ client,
+ experienceTypeId: process.env.CONTENTFUL_EXPERIENCE_ID!,
+ slug: params.slug[0],
+ localeCode: localeCode,
+ });
+
+ const stylesheet = experience ? detachExperienceStyles(experience) : null;
+ const experienceJSON = experience ? JSON.stringify(experience) : null;
+
+ return (
+
+ {stylesheet && }
+
+
+ );
+}
diff --git a/components/Experience.tsx b/components/Experience.tsx
new file mode 100644
index 0000000..e1e50e7
--- /dev/null
+++ b/components/Experience.tsx
@@ -0,0 +1,16 @@
+'use client';
+
+import { ExperienceRoot } from '@contentful/experiences-sdk-react';
+import React from 'react';
+import 'lib/studio-config';
+
+interface ExperienceProps {
+ experienceJSON: string | null;
+ locale: string;
+}
+
+const Experience: React.FC = ({ experienceJSON, locale }) => {
+ return ;
+};
+
+export default Experience;
diff --git a/components/hero-banner-ctf/hero-banner-ctf-client.tsx b/components/hero-banner-ctf/hero-banner-ctf-client.tsx
index 02dc82f..5a4066c 100644
--- a/components/hero-banner-ctf/hero-banner-ctf-client.tsx
+++ b/components/hero-banner-ctf/hero-banner-ctf-client.tsx
@@ -11,6 +11,9 @@ import { useComponentPreview } from '../hooks/use-component-preview';
import { getImageChildProps } from '../image-ctf';
import { getPageLinkChildProps } from '../page';
import { HeroBanner } from '../ui/hero-banner';
+import { Button } from '#/components/ui/button';
+import { Link } from '#/components/ui/link';
+import React from 'react';
export const HeroBannerCtfClient: React.FC<{
data: ResultOf;
@@ -21,17 +24,26 @@ export const HeroBannerCtfClient: React.FC<{
const analyticsInViewEvent = createAnalyticsEvent('heroBannerViewed', {
category: 'duplexViewed',
});
+
+ const cta =
+ data.targetPage &&
+ getPageLinkChildProps({
+ data: data.targetPage,
+ children: data.ctaText,
+ });
+
return (
}
- cta={
- data.targetPage &&
- getPageLinkChildProps({
- data: data.targetPage,
- children: data.ctaText,
- })
+ slotCtas={
+ cta?.href &&
+ cta?.children && (
+
+ )
}
image={
data.image &&
diff --git a/components/hero-banner-ctf/hero-banner-ctf-exp-client.tsx b/components/hero-banner-ctf/hero-banner-ctf-exp-client.tsx
new file mode 100644
index 0000000..914f087
--- /dev/null
+++ b/components/hero-banner-ctf/hero-banner-ctf-exp-client.tsx
@@ -0,0 +1,25 @@
+import { HeroBanner } from '../ui/hero-banner';
+import { ReactNode } from 'react';
+
+type HeroBannerExpProps = {
+ headline: string;
+ bodyText: string;
+ image: string;
+ size?: boolean;
+ slotCtas?: ReactNode;
+};
+
+export const HeroBannerCtfExpClient = ({ headline, bodyText, image, size, slotCtas }: HeroBannerExpProps) => {
+ return (
+
+ );
+};
diff --git a/components/ui/hero-banner/hero-banner.stories.tsx b/components/ui/hero-banner/hero-banner.stories.tsx
index e2fc64c..b2b9a58 100644
--- a/components/ui/hero-banner/hero-banner.stories.tsx
+++ b/components/ui/hero-banner/hero-banner.stories.tsx
@@ -1,6 +1,9 @@
import type { Meta, StoryObj } from '@storybook/react';
import { HeroBanner } from './hero-banner';
+import { Button } from '#/components/ui/button';
+import { Link } from '#/components/ui/link';
+import React from 'react';
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
const meta = {
@@ -53,6 +56,10 @@ export const WithReactComponent: Story = {
export const WithCta: Story = {
args: {
...defaultArgs,
- cta: { children: 'Learn more', href: 'https://google.com' },
+ slotCtas: (
+
+ ),
},
};
diff --git a/components/ui/hero-banner/hero-banner.tsx b/components/ui/hero-banner/hero-banner.tsx
index 9c897c3..110221c 100644
--- a/components/ui/hero-banner/hero-banner.tsx
+++ b/components/ui/hero-banner/hero-banner.tsx
@@ -1,20 +1,18 @@
-import { ReactNode } from 'react';
+import React, { ReactNode } from 'react';
import { cn } from '#/lib/utils';
import { getColorConfigFromPalette } from '#/theme';
-import { Button } from '../button/button';
import { Image, ImageProps } from '../image';
-import { Link, LinkProps } from '../link';
interface HeroBannerProps {
headline?: string | null;
bodyText?: ReactNode;
image?: ImageProps | null;
- cta?: LinkProps | null;
size?: boolean | null;
colorPalette?: string | null;
addAttributes?: (name: string) => object | null;
+ slotCtas?: ReactNode;
}
export function HeroBanner(props: HeroBannerProps) {
@@ -22,10 +20,10 @@ export function HeroBanner(props: HeroBannerProps) {
image,
headline,
bodyText,
- cta,
size,
colorPalette,
addAttributes = () => ({}), // Default to no-op.
+ slotCtas,
} = props;
const colorConfig = getColorConfigFromPalette(colorPalette || '');
@@ -72,13 +70,7 @@ export function HeroBanner(props: HeroBannerProps) {
{bodyText}
)}
- {cta?.href && cta?.children && (
-
-
-
- )}
+ {slotCtas && {slotCtas}
}
);
diff --git a/lib/getPageSlug.ts b/lib/getPageSlug.ts
index 69a3bc1..66cc06f 100644
--- a/lib/getPageSlug.ts
+++ b/lib/getPageSlug.ts
@@ -13,13 +13,15 @@ const getPageSlug = async (slug: string, locale: string, preview = false) => {
}
`);
- return (
- await graphqlClient(preview).query(pageSlugQuery, {
- locale,
- preview,
- slug,
- })
- ).data?.pageCollection?.items?.[0];
+ const queryResult = await graphqlClient(preview).query(pageSlugQuery, {
+ locale,
+ preview,
+ slug,
+ });
+
+ return slug.startsWith('/experience')
+ ? { slug: slug.replace('/', '') }
+ : queryResult.data?.pageCollection?.items?.[0];
};
export default getPageSlug;
diff --git a/lib/studio-config.ts b/lib/studio-config.ts
new file mode 100644
index 0000000..c3c0e7d
--- /dev/null
+++ b/lib/studio-config.ts
@@ -0,0 +1,44 @@
+import { defineComponents } from '@contentful/experiences-sdk-react';
+import { HeroBannerCtfExpClient } from '#/components/hero-banner-ctf/hero-banner-ctf-exp-client';
+
+defineComponents([
+ {
+ component: HeroBannerCtfExpClient,
+ definition: {
+ id: 'hero-banner',
+ name: 'Hero Banner',
+ category: 'Starter Kit Components',
+ children: true,
+ slots: {
+ slotCtas: {
+ displayName: 'Slot: CTA Buttons',
+ },
+ },
+ variables: {
+ headline: {
+ displayName: 'Headline',
+ type: 'Text',
+ defaultValue: 'In ut quam vitae odio',
+ },
+ bodyText: {
+ displayName: 'Body Text',
+ type: 'Text',
+ defaultValue:
+ 'Quisque id odio. Maecenas vestibulum mollis diam. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Donec id justo. Curabitur at lacus ac velit ornare lobortis.',
+ },
+ size: {
+ displayName: 'Full width',
+ type: 'Boolean',
+ },
+ colorPalette: {
+ displayName: 'Color palette',
+ type: 'Array',
+ },
+ image: {
+ displayName: 'Image',
+ type: 'Media',
+ },
+ },
+ },
+ },
+]);
diff --git a/package.json b/package.json
index c60f023..7fe8357 100644
--- a/package.json
+++ b/package.json
@@ -66,6 +66,7 @@
"@commitlint/cli": "^19.5.0",
"@commitlint/config-conventional": "^19.5.0",
"@commitlint/cz-commitlint": "^19.5.0",
+ "@contentful/experiences-sdk-react": "^1.20.1",
"@cypress/webpack-dev-server": "^3.2.1",
"@ianvs/prettier-plugin-sort-imports": "^4.2.1",
"@storybook/addon-essentials": "^8.0.4",
diff --git a/yarn.lock b/yarn.lock
index fcc72a3..b2efac8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1433,6 +1433,13 @@
resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310"
integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
+"@babel/runtime@^7.12.1", "@babel/runtime@^7.24.1":
+ version "7.26.0"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1"
+ integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==
+ dependencies:
+ regenerator-runtime "^0.14.0"
+
"@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.17.8", "@babel/runtime@^7.23.2", "@babel/runtime@^7.8.4":
version "7.23.9"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7"
@@ -1771,7 +1778,7 @@
"@types/conventional-commits-parser" "^5.0.0"
chalk "^5.3.0"
-"@contentful/content-source-maps@^0.11.5", "@contentful/content-source-maps@^0.11.6":
+"@contentful/content-source-maps@^0.11.0", "@contentful/content-source-maps@^0.11.5", "@contentful/content-source-maps@^0.11.6":
version "0.11.6"
resolved "https://registry.yarnpkg.com/@contentful/content-source-maps/-/content-source-maps-0.11.6.tgz#a547e06953495576e065aa2896295d2f8cc3be49"
integrity sha512-kiP0LcqAMj+Kvt+sLpI1KlqSh2isGkQXRulTEwKZGorXDTbSN3rWfFo/4ysHk2CvlWyF1NotNkB4Thz6LNiHTQ==
@@ -1779,6 +1786,67 @@
"@vercel/stega" "^0.1.2"
json-pointer "^0.6.2"
+"@contentful/experiences-components-react@1.20.1":
+ version "1.20.1"
+ resolved "https://registry.yarnpkg.com/@contentful/experiences-components-react/-/experiences-components-react-1.20.1.tgz#c6c73b068f5e7298f004c2947c33e611193236f4"
+ integrity sha512-KAQPifw5tdRgT+4KYIK8H1yIOkwA0qEoKzJHnANDsf5soT6Byhn1qdecOZNBsEc+KhkGNYtW+paJKrgpm9m7nw==
+ dependencies:
+ "@contentful/experiences-core" "1.20.1"
+ "@contentful/rich-text-react-renderer" "^15.17.2"
+ postcss-import "^16.0.1"
+ style-inject "^0.3.0"
+
+"@contentful/experiences-core@1.20.1":
+ version "1.20.1"
+ resolved "https://registry.yarnpkg.com/@contentful/experiences-core/-/experiences-core-1.20.1.tgz#aace5a448ada83dd423a55cd0ca797c1a0a7eb7f"
+ integrity sha512-I1V/CK8Qp80+7CQfUo6hpR0RcKQAMW3lmc6sqPjOpQIQaTtqqzB/7QW2qnFZXcnDe3eNeC44rx6xTutEaBrArg==
+ dependencies:
+ "@contentful/experiences-validators" "1.20.1"
+ "@contentful/rich-text-types" "^16.3.0"
+
+"@contentful/experiences-sdk-react@^1.20.1":
+ version "1.20.1"
+ resolved "https://registry.yarnpkg.com/@contentful/experiences-sdk-react/-/experiences-sdk-react-1.20.1.tgz#cc6044bc95b8064bf2c67c4bce77d7560684384a"
+ integrity sha512-ggXe/z4PobJY6X7d/wj8XBImNdLF3RZOkHoJUMMv70I2SHOHEdkUuf2diJDe4fbFlEP3HR/U4LiOhDOtes9WnA==
+ dependencies:
+ "@contentful/experiences-components-react" "1.20.1"
+ "@contentful/experiences-core" "1.20.1"
+ "@contentful/experiences-validators" "1.20.1"
+ "@contentful/experiences-visual-editor-react" "1.20.1"
+ "@contentful/rich-text-types" "^16.2.1"
+ classnames "^2.3.2"
+ csstype "^3.1.2"
+ immer "^10.0.3"
+ lodash-es "^4.17.21"
+ md5 "^2.3.0"
+ style-inject "^0.3.0"
+ vite-plugin-css-injected-by-js "^3.1.1"
+
+"@contentful/experiences-validators@1.20.1":
+ version "1.20.1"
+ resolved "https://registry.yarnpkg.com/@contentful/experiences-validators/-/experiences-validators-1.20.1.tgz#c79a7e6c3858cdafaced2855aa40825e6463914f"
+ integrity sha512-CQ0bDEoqUMhYQjCHHzg9zFsK+Zrz0e8w40fij7p7TLpQfq4fkKWu6NrpyCscXM2mzMNhMxAk6mkui8IH35eHCg==
+ dependencies:
+ zod "^3.22.4"
+
+"@contentful/experiences-visual-editor-react@1.20.1":
+ version "1.20.1"
+ resolved "https://registry.yarnpkg.com/@contentful/experiences-visual-editor-react/-/experiences-visual-editor-react-1.20.1.tgz#b7f736622d9fad6e57ea3556ec51b215ceede978"
+ integrity sha512-Mc2WmvxQUNWqm+jXjarwFDtJyFoR+xh4xrrCJJ2PIiD9ZrrQtgypEa4156HvX66XxoMUiLtyTkw57EUMgHj58A==
+ dependencies:
+ "@contentful/experiences-components-react" "1.20.1"
+ "@contentful/experiences-core" "1.20.1"
+ "@hello-pangea/dnd" "^16.3.0"
+ classnames "^2.3.2"
+ contentful "^10.6.14"
+ immer "^10.0.3"
+ lodash-es "^4.17.21"
+ md5 "^2.3.0"
+ style-inject "^0.3.0"
+ use-debounce "^10.0.0"
+ uuid "^9.0.1"
+ zustand "^4.4.7"
+
"@contentful/live-preview@^4.5.13":
version "4.5.13"
resolved "https://registry.yarnpkg.com/@contentful/live-preview/-/live-preview-4.5.13.tgz#2c61c1faf41c9bd05427138f7cb2e49c4e0c661b"
@@ -1798,7 +1866,14 @@
dependencies:
"@contentful/rich-text-types" "^16.3.4"
-"@contentful/rich-text-types@^16.2.0":
+"@contentful/rich-text-react-renderer@^15.17.2":
+ version "15.22.11"
+ resolved "https://registry.yarnpkg.com/@contentful/rich-text-react-renderer/-/rich-text-react-renderer-15.22.11.tgz#111859f7278a42c52b8ad1ce9ffc2f877609fc83"
+ integrity sha512-IDDdiFSab+C3G2HZRbFegTFuagl8dZpJHgWevoS9ODbatgC9GU6LcLz2hz7KKazsxuBJzgxnFsPd2v5+EtTHrg==
+ dependencies:
+ "@contentful/rich-text-types" "^16.8.5"
+
+"@contentful/rich-text-types@^16.2.0", "@contentful/rich-text-types@^16.2.1", "@contentful/rich-text-types@^16.3.0", "@contentful/rich-text-types@^16.6.1", "@contentful/rich-text-types@^16.8.5":
version "16.8.5"
resolved "https://registry.yarnpkg.com/@contentful/rich-text-types/-/rich-text-types-16.8.5.tgz#832c8b428612f5181908bc1033c6ef9f48f1ce83"
integrity sha512-q18RJuJCOuYveGiCIjE5xLCQc5lZ3L2Qgxrlg/H2YEobDFqdtmklazRi1XwEWaK3tMg6yVXBzKKkQfLB4qW14A==
@@ -2418,6 +2493,19 @@
resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861"
integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==
+"@hello-pangea/dnd@^16.3.0":
+ version "16.6.0"
+ resolved "https://registry.yarnpkg.com/@hello-pangea/dnd/-/dnd-16.6.0.tgz#7509639c7bd13f55e537b65a9dcfcd54e7c99ac7"
+ integrity sha512-vfZ4GydqbtUPXSLfAvKvXQ6xwRzIjUSjVU0Sx+70VOhc2xx6CdmJXJ8YhH70RpbTUGjxctslQTHul9sIOxCfFQ==
+ dependencies:
+ "@babel/runtime" "^7.24.1"
+ css-box-model "^1.2.1"
+ memoize-one "^6.0.0"
+ raf-schd "^4.0.3"
+ react-redux "^8.1.3"
+ redux "^4.2.1"
+ use-memo-one "^1.1.3"
+
"@humanwhocodes/config-array@^0.11.14":
version "0.11.14"
resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b"
@@ -3946,6 +4034,14 @@
dependencies:
"@types/unist" "*"
+"@types/hoist-non-react-statics@^3.3.1":
+ version "3.3.5"
+ resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494"
+ integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==
+ dependencies:
+ "@types/react" "*"
+ hoist-non-react-statics "^3.3.0"
+
"@types/html-minifier-terser@^5.0.0":
version "5.1.2"
resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz#693b316ad323ea97eed6b38ed1a3cc02b1672b57"
@@ -4175,6 +4271,11 @@
"@types/react" "*"
analytics "^0.8.1"
+"@types/use-sync-external-store@^0.0.3":
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz#b6725d5f4af24ace33b36fafd295136e75509f43"
+ integrity sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==
+
"@types/uuid@8.3.4":
version "8.3.4"
resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc"
@@ -5162,6 +5263,15 @@ axe-core@^4.6.1:
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.8.4.tgz#90db39a2b316f963f00196434d964e6e23648643"
integrity sha512-CZLSKisu/bhJ2awW4kJndluz2HLZYIHh5Uy1+ZwDRkJi69811xgIXXfdU9HSLX0Th+ILrHj8qfL/5wzamsFtQg==
+axios@^1.7.4:
+ version "1.7.7"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f"
+ integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==
+ dependencies:
+ follow-redirects "^1.15.6"
+ form-data "^4.0.0"
+ proxy-from-env "^1.1.0"
+
axobject-query@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a"
@@ -5673,6 +5783,11 @@ chardet@^0.7.0:
resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+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==
+
check-error@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694"
@@ -5772,6 +5887,11 @@ class-variance-authority@^0.7.0:
dependencies:
clsx "2.0.0"
+classnames@^2.3.2:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b"
+ integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==
+
clean-css@^4.2.3:
version "4.2.4"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178"
@@ -5959,7 +6079,7 @@ colors@1.0.3:
resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
integrity sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==
-combined-stream@^1.0.6, combined-stream@~1.0.6:
+combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
@@ -6111,6 +6231,37 @@ content-type@~1.0.4:
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
+contentful-resolve-response@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/contentful-resolve-response/-/contentful-resolve-response-1.9.0.tgz#7a89e6f332d32b98c6e98af9406ce7aa64707711"
+ integrity sha512-LtgPx/eREpHXOX82od48zFZbFhXzYw/NfUoYK4Qf1OaKpLzmYPE4cAY4aD+rxVgnMM5JN/mQaPCsofUlJRYEUA==
+ dependencies:
+ fast-copy "^2.1.7"
+
+contentful-sdk-core@^8.3.1:
+ version "8.3.2"
+ resolved "https://registry.yarnpkg.com/contentful-sdk-core/-/contentful-sdk-core-8.3.2.tgz#04807041633cc99b11065494389882185182afc5"
+ integrity sha512-L2LNWRXb1/5RLpLemCoP2Lzz6211xyE63GXh2nVXekvM4Dnswo+9N2D6JmWTne9zq89Izo88vOGAzzIAxb4Ukw==
+ dependencies:
+ fast-copy "^2.1.7"
+ lodash.isplainobject "^4.0.6"
+ lodash.isstring "^4.0.1"
+ p-throttle "^4.1.1"
+ qs "^6.11.2"
+
+contentful@^10.6.14:
+ version "10.15.2"
+ resolved "https://registry.yarnpkg.com/contentful/-/contentful-10.15.2.tgz#f36368e3b5c9e47088a7d7ec7b426c2005fe67c0"
+ integrity sha512-JJ+qFzxDtbQ4FfPdRF01OVFagy2ZGDHKakgsLTIj2sdnCRa6sAgTMW+jmbMkDX0B8nDRbUng6A7inRLRdLxHcw==
+ dependencies:
+ "@contentful/content-source-maps" "^0.11.0"
+ "@contentful/rich-text-types" "^16.6.1"
+ axios "^1.7.4"
+ contentful-resolve-response "^1.9.0"
+ contentful-sdk-core "^8.3.1"
+ json-stringify-safe "^5.0.1"
+ type-fest "^4.0.0"
+
conventional-changelog-angular@^7.0.0:
version "7.0.0"
resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz#5eec8edbff15aa9b1680a8dcfbd53e2d7eb2ba7a"
@@ -6278,6 +6429,11 @@ cross-spawn@^7.0.0, 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==
+
crypto-browserify@^3.12.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
@@ -6300,6 +6456,13 @@ crypto-random-string@^2.0.0:
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
+css-box-model@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/css-box-model/-/css-box-model-1.2.1.tgz#59951d3b81fd6b2074a62d49444415b0d2b4d7c1"
+ integrity sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==
+ dependencies:
+ tiny-invariant "^1.0.6"
+
css-loader@^6.7.1, css-loader@^6.7.3:
version "6.10.0"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.10.0.tgz#7c172b270ec7b833951b52c348861206b184a4b7"
@@ -6340,7 +6503,7 @@ cssesc@^3.0.0:
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
-csstype@^3.0.2:
+csstype@^3.0.2, csstype@^3.1.2:
version "3.1.3"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
@@ -7714,6 +7877,11 @@ extsprintf@^1.2.0:
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07"
integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==
+fast-copy@^2.1.7:
+ version "2.1.7"
+ resolved "https://registry.yarnpkg.com/fast-copy/-/fast-copy-2.1.7.tgz#affc9475cb4b555fb488572b2a44231d0c9fa39e"
+ integrity sha512-ozrGwyuCTAy7YgFCua8rmqmytECYk/JYAMXcswOcm0qvGoE3tPb7ivBeIHTOK2DiapBhDZgacIhzhQIKU5TCfA==
+
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -7966,6 +8134,11 @@ follow-redirects@^1.0.0:
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020"
integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==
+follow-redirects@^1.15.6:
+ version "1.15.9"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1"
+ integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==
+
for-each@^0.3.3:
version "0.3.3"
resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
@@ -8009,6 +8182,15 @@ fork-ts-checker-webpack-plugin@^8.0.0:
semver "^7.3.5"
tapable "^2.2.1"
+form-data@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48"
+ integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
form-data@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
@@ -8581,7 +8763,7 @@ hmac-drbg@^1.0.1:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
-hoist-non-react-statics@^3.3.2:
+hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
@@ -8827,6 +9009,11 @@ image-size@^1.0.0:
dependencies:
queue "6.0.2"
+immer@^10.0.3:
+ version "10.1.1"
+ resolved "https://registry.yarnpkg.com/immer/-/immer-10.1.1.tgz#206f344ea372d8ea176891545ee53ccc062db7bc"
+ integrity sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==
+
import-fresh@^3.2.1, import-fresh@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
@@ -9023,6 +9210,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"
@@ -9502,7 +9694,7 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
-json-stringify-safe@~5.0.1:
+json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
@@ -9760,6 +9952,11 @@ locate-path@^7.1.0, locate-path@^7.2.0:
dependencies:
p-locate "^6.0.0"
+lodash-es@^4.17.21:
+ version "4.17.21"
+ resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
+ integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
+
lodash._reinterpolate@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
@@ -9785,6 +9982,11 @@ lodash.isplainobject@^4.0.6:
resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==
+lodash.isstring@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
+ integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==
+
lodash.kebabcase@^4.1.1:
version "4.1.1"
resolved "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36"
@@ -9988,6 +10190,15 @@ md5.js@^1.3.4:
inherits "^2.0.1"
safe-buffer "^5.1.2"
+md5@^2.3.0:
+ 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"
+
media-typer@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
@@ -10000,6 +10211,11 @@ memfs@^3.4.1, memfs@^3.4.12, memfs@^3.4.3:
dependencies:
fs-monkey "^1.0.4"
+memoize-one@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045"
+ integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==
+
memoizerific@^1.11.3:
version "1.11.3"
resolved "https://registry.yarnpkg.com/memoizerific/-/memoizerific-1.11.3.tgz#7c87a4646444c32d75438570905f2dbd1b1a805a"
@@ -10791,6 +11007,11 @@ p-retry@^4.5.0:
"@types/retry" "0.12.0"
retry "^0.13.1"
+p-throttle@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/p-throttle/-/p-throttle-4.1.1.tgz#80b1fbd358af40a8bfa1667f9dc8b72b714ad692"
+ integrity sha512-TuU8Ato+pRTPJoDzYD4s7ocJYcNSEZRvlxoq3hcPI2kZDZ49IQ1Wkj7/gDJc3X7XiEAAvRGtDzdXJI0tC3IL1g==
+
p-try@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
@@ -11082,6 +11303,15 @@ postcss-import@^15.1.0:
read-cache "^1.0.0"
resolve "^1.1.7"
+postcss-import@^16.0.1:
+ version "16.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-16.1.0.tgz#258732175518129667fe1e2e2a05b19b5654b96a"
+ integrity sha512-7hsAZ4xGXl4MW+OKEWCnF6T5jqBw80/EE9aXg1r2yyn1RsVEU8EtKXbijEODa+rg7iih4bKf7vlvTGYR4CnPNg==
+ dependencies:
+ postcss-value-parser "^4.0.0"
+ read-cache "^1.0.0"
+ resolve "^1.1.7"
+
postcss-js@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2"
@@ -11319,6 +11549,11 @@ proxy-from-env@1.0.0:
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee"
integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==
+proxy-from-env@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+
psl@^1.1.33:
version "1.9.0"
resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
@@ -11419,6 +11654,11 @@ queue@6.0.2:
dependencies:
inherits "~2.0.3"
+raf-schd@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/raf-schd/-/raf-schd-4.0.3.tgz#5d6c34ef46f8b2a0e880a8fcdb743efc5bfdbc1a"
+ integrity sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ==
+
ramda@0.29.0:
version "0.29.0"
resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.29.0.tgz#fbbb67a740a754c8a4cbb41e2a6e0eb8507f55fb"
@@ -11540,6 +11780,18 @@ react-is@^18.0.0:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
+react-redux@^8.1.3:
+ version "8.1.3"
+ resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.1.3.tgz#4fdc0462d0acb59af29a13c27ffef6f49ab4df46"
+ integrity sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==
+ dependencies:
+ "@babel/runtime" "^7.12.1"
+ "@types/hoist-non-react-statics" "^3.3.1"
+ "@types/use-sync-external-store" "^0.0.3"
+ hoist-non-react-statics "^3.3.2"
+ react-is "^18.0.0"
+ use-sync-external-store "^1.0.0"
+
react-refresh@^0.14.0:
version "0.14.0"
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e"
@@ -11694,6 +11946,13 @@ redent@^3.0.0:
indent-string "^4.0.0"
strip-indent "^3.0.0"
+redux@^4.2.1:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197"
+ integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==
+ dependencies:
+ "@babel/runtime" "^7.9.2"
+
reflect-metadata@0.1.13:
version "0.1.13"
resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08"
@@ -12756,6 +13015,11 @@ strip-json-comments@~2.0.1:
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==
+style-inject@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/style-inject/-/style-inject-0.3.0.tgz#d21c477affec91811cc82355832a700d22bf8dd3"
+ integrity sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==
+
style-loader@^3.3.1:
version "3.3.4"
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.4.tgz#f30f786c36db03a45cbd55b6a70d930c479090e7"
@@ -13048,7 +13312,7 @@ tiny-case@^1.0.3:
resolved "https://registry.yarnpkg.com/tiny-case/-/tiny-case-1.0.3.tgz#d980d66bc72b5d5a9ca86fb7c9ffdb9c898ddd03"
integrity sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==
-tiny-invariant@^1.1.0, tiny-invariant@^1.3.1, tiny-invariant@^1.3.3:
+tiny-invariant@^1.0.6, tiny-invariant@^1.1.0, tiny-invariant@^1.3.1, tiny-invariant@^1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127"
integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==
@@ -13290,6 +13554,11 @@ type-fest@^2.14.0, type-fest@^2.19.0, type-fest@~2.19:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b"
integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==
+type-fest@^4.0.0:
+ version "4.26.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.26.1.tgz#a4a17fa314f976dd3e6d6675ef6c775c16d7955e"
+ integrity sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==
+
type-is@~1.6.18:
version "1.6.18"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
@@ -13535,6 +13804,16 @@ use-callback-ref@^1.3.0:
dependencies:
tslib "^2.0.0"
+use-debounce@^10.0.0:
+ version "10.0.4"
+ resolved "https://registry.yarnpkg.com/use-debounce/-/use-debounce-10.0.4.tgz#2135be498ad855416c4495cfd8e0e130bd33bb24"
+ integrity sha512-6Cf7Yr7Wk7Kdv77nnJMf6de4HuDE4dTxKij+RqE9rufDsI6zsbjyAxcH5y2ueJCQAnfgKbzXbZHYlkFwmBlWkw==
+
+use-memo-one@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/use-memo-one/-/use-memo-one-1.1.3.tgz#2fd2e43a2169eabc7496960ace8c79efef975e99"
+ integrity sha512-g66/K7ZQGYrI6dy8GLpVcMsBp4s17xNkYJVSMvTEevGy3nDxHOfE6z8BVE22+5G5x7t3+bhzrlTDB7ObrEE0cQ==
+
use-sidecar@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2"
@@ -13543,6 +13822,11 @@ use-sidecar@^1.1.2:
detect-node-es "^1.1.0"
tslib "^2.0.0"
+use-sync-external-store@1.2.2, use-sync-external-store@^1.0.0:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz#c3b6390f3a30eba13200d2302dcdf1e7b57b2ef9"
+ integrity sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==
+
util-arity@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/util-arity/-/util-arity-1.1.0.tgz#59d01af1fdb3fede0ac4e632b0ab5f6ce97c9330"
@@ -13592,7 +13876,7 @@ uuid@^8.3.2:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
-uuid@^9.0.0:
+uuid@^9.0.0, uuid@^9.0.1:
version "9.0.1"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30"
integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==
@@ -13628,6 +13912,11 @@ verror@^1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
+vite-plugin-css-injected-by-js@^3.1.1:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/vite-plugin-css-injected-by-js/-/vite-plugin-css-injected-by-js-3.5.2.tgz#1f75d16ad5c05b6b49bf18018099a189ec2e46ad"
+ integrity sha512-2MpU/Y+SCZyWUB6ua3HbJCrgnF0KACAsmzOQt1UvRVJCGF6S8xdA3ZUhWcWdM9ivG4I5az8PnQmwwrkC2CAQrQ==
+
vm-browserify@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
@@ -14067,7 +14356,14 @@ yup@1.2.0:
toposort "^2.0.2"
type-fest "^2.19.0"
-zod@^3.20.2:
+zod@^3.20.2, zod@^3.22.4:
version "3.23.8"
resolved "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz#e37b957b5d52079769fb8097099b592f0ef4067d"
integrity sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==
+
+zustand@^4.4.7:
+ version "4.5.5"
+ resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.5.5.tgz#f8c713041543715ec81a2adda0610e1dc82d4ad1"
+ integrity sha512-+0PALYNJNgK6hldkgDq2vLrw5f6g/jCInz52n9RTpropGgeAf/ioFUCdtsjCqu4gNhW9D01rUQBROoRjdzyn2Q==
+ dependencies:
+ use-sync-external-store "1.2.2"