-
@@ -55,11 +50,7 @@ const Posts = ({
subHeading?: string
}) => (
{title}
+{title}
{excerpt}
- {heading && (
-
diff --git a/frontend/app/components/SanityImage.tsx b/frontend/app/components/SanityImage.tsx
new file mode 100644
index 00000000..3d369a4f
--- /dev/null
+++ b/frontend/app/components/SanityImage.tsx
@@ -0,0 +1,12 @@
+import { SanityImage, type WrapperProps } from "sanity-image";
+
+import { dataset, projectId } from "@/sanity/lib/api";
+
+const Image = - {heading} -
- )} + {heading &&{heading}
} {subHeading &&{subHeading}
}{children}
- {settings?.description && }
+ {settings?.description && (
+
@@ -33,9 +33,12 @@ export async function generateStaticParams() {
* Generate metadata for the page.
* Learn more: https://nextjs.org/docs/app/api-reference/functions/generate-metadata#generatemetadata-function
*/
-export async function generateMetadata(props: Props, parent: ResolvingMetadata): Promise {
- const params = await props.params
- const {data: post} = await sanityFetch({
+export async function generateMetadata(
+ props: Props,
+ parent: ResolvingMetadata
+): Promise {
+ const params = await props.params;
+ const { data: post } = await sanityFetch({
query: postQuery,
params,
// Metadata should never contain stega
@@ -72,9 +75,9 @@ export default async function PostPage(props: Props) {
+
)}
diff --git a/frontend/next.config.ts b/frontend/next.config.ts
index 451313c0..41ff9ee6 100644
--- a/frontend/next.config.ts
+++ b/frontend/next.config.ts
@@ -5,6 +5,9 @@ const nextConfig: NextConfig = {
// Matches the behavior of `sanity dev` which sets styled-components to use the fastest way of inserting CSS rules in both dev and production. It's default behavior is to disable it in dev mode.
SC_DISABLE_SPEEDY: 'false',
},
-}
+ images: {
+ remotePatterns: [new URL("https://cdn.sanity.io/**")],
+ },
+};
export default nextConfig
diff --git a/frontend/package.json b/frontend/package.json
index 43f6d9da..db5d79f9 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -21,13 +21,13 @@
"autoprefixer": "^10.4.22",
"date-fns": "^4.1.0",
"next": "^15.5.7",
- "next-sanity": "^10.1.4",
+ "next-sanity": "^11.6.10",
"postcss": "^8.5.6",
"react": "^19.2.1",
"react-dom": "^19.2.1",
"sanity": "^4.20.0",
+ "sanity-image": "^1.0.0",
"sonner": "^2.0.7",
- "styled-components": "^6.1.19",
"tailwindcss": "^4.1.17"
},
"devDependencies": {
diff --git a/frontend/public/images/tile-1-white.png b/frontend/public/images/tile-1-white.png
new file mode 100644
index 00000000..28d556b7
Binary files /dev/null and b/frontend/public/images/tile-1-white.png differ
diff --git a/frontend/public/images/tile-grid-white.png b/frontend/public/images/tile-grid-white.png
new file mode 100644
index 00000000..71cef874
Binary files /dev/null and b/frontend/public/images/tile-grid-white.png differ
diff --git a/frontend/sanity.types.ts b/frontend/sanity.types.ts
index 33786da4..9ebf6562 100644
--- a/frontend/sanity.types.ts
+++ b/frontend/sanity.types.ts
@@ -15,36 +15,9 @@
// Source: schema.json
export type CallToAction = {
_type: 'callToAction'
+ eyebrow?: string
heading: string
- text?: string
- buttonText?: string
- link?: Link
-}
-
-export type Link = {
- _type: 'link'
- linkType?: 'href' | 'page' | 'post'
- href?: string
- page?: {
- _ref: string
- _type: 'reference'
- _weak?: boolean
- [internalGroqTypeReferenceTo]?: 'page'
- }
- post?: {
- _ref: string
- _type: 'reference'
- _weak?: boolean
- [internalGroqTypeReferenceTo]?: 'post'
- }
- openInNewTab?: boolean
-}
-
-export type InfoSection = {
- _type: 'infoSection'
- heading?: string
- subheading?: string
- content?: Array<{
+ body?: Array<{
children?: Array<{
marks?: Array
text?: string
@@ -54,21 +27,7 @@ export type InfoSection = {
style?: 'normal' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'blockquote'
listItem?: 'bullet' | 'number'
markDefs?: Array<{
- linkType?: 'href' | 'page' | 'post'
href?: string
- page?: {
- _ref: string
- _type: 'reference'
- _weak?: boolean
- [internalGroqTypeReferenceTo]?: 'page'
- }
- post?: {
- _ref: string
- _type: 'reference'
- _weak?: boolean
- [internalGroqTypeReferenceTo]?: 'post'
- }
- openInNewTab?: boolean
_type: 'link'
_key: string
}>
@@ -76,9 +35,77 @@ export type InfoSection = {
_type: 'block'
_key: string
}>
+ button?: Button
+ image?: {
+ asset?: {
+ _ref: string
+ _type: 'reference'
+ _weak?: boolean
+ [internalGroqTypeReferenceTo]?: 'sanity.imageAsset'
+ }
+ media?: unknown
+ hotspot?: SanityImageHotspot
+ crop?: SanityImageCrop
+ _type: 'image'
+ }
+ theme?: 'light' | 'dark'
+ contentAlignment?: 'textFirst' | 'imageFirst'
+}
+
+export type InfoSection = {
+ _type: 'infoSection'
+ heading?: string
+ subheading?: string
+ content?: Array<
+ | {
+ children?: Array<{
+ marks?: Array
+ text?: string
+ _type: 'span'
+ _key: string
+ }>
+ style?: 'normal' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'blockquote'
+ listItem?: 'bullet' | 'number'
+ markDefs?: Array<{
+ linkType?: 'href' | 'page' | 'post'
+ href?: string
+ page?: {
+ _ref: string
+ _type: 'reference'
+ _weak?: boolean
+ [internalGroqTypeReferenceTo]?: 'page'
+ }
+ post?: {
+ _ref: string
+ _type: 'reference'
+ _weak?: boolean
+ [internalGroqTypeReferenceTo]?: 'post'
+ }
+ openInNewTab?: boolean
+ _type: 'link'
+ _key: string
+ }>
+ level?: number
+ _type: 'block'
+ _key: string
+ }
+ | {
+ asset?: {
+ _ref: string
+ _type: 'reference'
+ _weak?: boolean
+ [internalGroqTypeReferenceTo]?: 'sanity.imageAsset'
+ }
+ media?: unknown
+ hotspot?: SanityImageHotspot
+ crop?: SanityImageCrop
+ _type: 'image'
+ _key: string
+ }
+ >
}
-export type BlockContent = Array<{
+export type BlockContentTextOnly = Array<{
children?: Array<{
marks?: Array
text?: string
@@ -88,21 +115,7 @@ export type BlockContent = Array<{
style?: 'normal' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'blockquote'
listItem?: 'bullet' | 'number'
markDefs?: Array<{
- linkType?: 'href' | 'page' | 'post'
href?: string
- page?: {
- _ref: string
- _type: 'reference'
- _weak?: boolean
- [internalGroqTypeReferenceTo]?: 'page'
- }
- post?: {
- _ref: string
- _type: 'reference'
- _weak?: boolean
- [internalGroqTypeReferenceTo]?: 'post'
- }
- openInNewTab?: boolean
_type: 'link'
_key: string
}>
@@ -111,6 +124,79 @@ export type BlockContent = Array<{
_key: string
}>
+export type BlockContent = Array<
+ | {
+ children?: Array<{
+ marks?: Array
+ text?: string
+ _type: 'span'
+ _key: string
+ }>
+ style?: 'normal' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'blockquote'
+ listItem?: 'bullet' | 'number'
+ markDefs?: Array<{
+ linkType?: 'href' | 'page' | 'post'
+ href?: string
+ page?: {
+ _ref: string
+ _type: 'reference'
+ _weak?: boolean
+ [internalGroqTypeReferenceTo]?: 'page'
+ }
+ post?: {
+ _ref: string
+ _type: 'reference'
+ _weak?: boolean
+ [internalGroqTypeReferenceTo]?: 'post'
+ }
+ openInNewTab?: boolean
+ _type: 'link'
+ _key: string
+ }>
+ level?: number
+ _type: 'block'
+ _key: string
+ }
+ | {
+ asset?: {
+ _ref: string
+ _type: 'reference'
+ _weak?: boolean
+ [internalGroqTypeReferenceTo]?: 'sanity.imageAsset'
+ }
+ media?: unknown
+ hotspot?: SanityImageHotspot
+ crop?: SanityImageCrop
+ _type: 'image'
+ _key: string
+ }
+>
+
+export type Button = {
+ _type: 'button'
+ buttonText?: string
+ link?: Link
+}
+
+export type Link = {
+ _type: 'link'
+ linkType?: 'href' | 'page' | 'post'
+ href?: string
+ page?: {
+ _ref: string
+ _type: 'reference'
+ _weak?: boolean
+ [internalGroqTypeReferenceTo]?: 'page'
+ }
+ post?: {
+ _ref: string
+ _type: 'reference'
+ _weak?: boolean
+ [internalGroqTypeReferenceTo]?: 'post'
+ }
+ openInNewTab?: boolean
+}
+
export type Settings = {
_id: string
_type: 'settings'
@@ -397,25 +483,25 @@ export type SanityImagePalette = {
export type SanityImageDimensions = {
_type: 'sanity.imageDimensions'
- height?: number
- width?: number
- aspectRatio?: number
+ height: number
+ width: number
+ aspectRatio: number
}
export type SanityImageHotspot = {
_type: 'sanity.imageHotspot'
- x?: number
- y?: number
- height?: number
- width?: number
+ x: number
+ y: number
+ height: number
+ width: number
}
export type SanityImageCrop = {
_type: 'sanity.imageCrop'
- top?: number
- bottom?: number
- left?: number
- right?: number
+ top: number
+ bottom: number
+ left: number
+ right: number
}
export type SanityFileAsset = {
@@ -496,9 +582,11 @@ export type SanityAssetSourceData = {
export type AllSanitySchemaTypes =
| CallToAction
- | Link
| InfoSection
+ | BlockContentTextOnly
| BlockContent
+ | Button
+ | Link
| Settings
| Page
| Post
@@ -585,7 +673,7 @@ export type SettingsQueryResult = {
}
} | null
// Variable: getPageQuery
-// Query: *[_type == 'page' && slug.current == $slug][0]{ _id, _type, name, slug, heading, subheading, "pageBuilder": pageBuilder[]{ ..., _type == "callToAction" => { link { ..., _type == "link" => { "page": page->slug.current, "post": post->slug.current } }, }, _type == "infoSection" => { content[]{ ..., markDefs[]{ ..., _type == "link" => { "page": page->slug.current, "post": post->slug.current } } } }, }, }
+// Query: *[_type == 'page' && slug.current == $slug][0]{ _id, _type, name, slug, heading, subheading, "pageBuilder": pageBuilder[]{ ..., _type == "callToAction" => { ..., button { ..., link { ..., _type == "link" => { "page": page->slug.current, "post": post->slug.current } } } }, _type == "infoSection" => { content[]{ ..., markDefs[]{ ..., _type == "link" => { "page": page->slug.current, "post": post->slug.current } } } }, }, }
export type GetPageQueryResult = {
_id: string
_type: 'page'
@@ -597,24 +685,9 @@ export type GetPageQueryResult = {
| {
_key: string
_type: 'callToAction'
+ eyebrow?: string
heading: string
- text?: string
- buttonText?: string
- link: {
- _type: 'link'
- linkType?: 'href' | 'page' | 'post'
- href?: string
- page: string | null
- post: string | null
- openInNewTab?: boolean
- } | null
- }
- | {
- _key: string
- _type: 'infoSection'
- heading?: string
- subheading?: string
- content: Array<{
+ body?: Array<{
children?: Array<{
marks?: Array
text?: string
@@ -623,19 +696,85 @@ export type GetPageQueryResult = {
}>
style?: 'blockquote' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'normal'
listItem?: 'bullet' | 'number'
- markDefs: Array<{
- linkType?: 'href' | 'page' | 'post'
+ markDefs?: Array<{
href?: string
- page: string | null
- post: string | null
- openInNewTab?: boolean
_type: 'link'
_key: string
- }> | null
+ }>
level?: number
_type: 'block'
_key: string
- }> | null
+ }>
+ button: {
+ _type: 'button'
+ buttonText?: string
+ link: {
+ _type: 'link'
+ linkType?: 'href' | 'page' | 'post'
+ href?: string
+ page: string | null
+ post: string | null
+ openInNewTab?: boolean
+ } | null
+ } | null
+ image?: {
+ asset?: {
+ _ref: string
+ _type: 'reference'
+ _weak?: boolean
+ [internalGroqTypeReferenceTo]?: 'sanity.imageAsset'
+ }
+ media?: unknown
+ hotspot?: SanityImageHotspot
+ crop?: SanityImageCrop
+ _type: 'image'
+ }
+ theme?: 'dark' | 'light'
+ contentAlignment?: 'imageFirst' | 'textFirst'
+ }
+ | {
+ _key: string
+ _type: 'infoSection'
+ heading?: string
+ subheading?: string
+ content: Array<
+ | {
+ children?: Array<{
+ marks?: Array
+ text?: string
+ _type: 'span'
+ _key: string
+ }>
+ style?: 'blockquote' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'normal'
+ listItem?: 'bullet' | 'number'
+ markDefs: Array<{
+ linkType?: 'href' | 'page' | 'post'
+ href?: string
+ page: string | null
+ post: string | null
+ openInNewTab?: boolean
+ _type: 'link'
+ _key: string
+ }> | null
+ level?: number
+ _type: 'block'
+ _key: string
+ }
+ | {
+ asset?: {
+ _ref: string
+ _type: 'reference'
+ _weak?: boolean
+ [internalGroqTypeReferenceTo]?: 'sanity.imageAsset'
+ }
+ media?: unknown
+ hotspot?: SanityImageHotspot
+ crop?: SanityImageCrop
+ _type: 'image'
+ _key: string
+ markDefs: null
+ }
+ > | null
}
> | null
} | null
@@ -736,28 +875,44 @@ export type MorePostsQueryResult = Array<{
// Variable: postQuery
// Query: *[_type == "post" && slug.current == $slug] [0] { content[]{ ..., markDefs[]{ ..., _type == "link" => { "page": page->slug.current, "post": post->slug.current } } }, _id, "status": select(_originalId in path("drafts.**") => "draft", "published"), "title": coalesce(title, "Untitled"), "slug": slug.current, excerpt, coverImage, "date": coalesce(date, _updatedAt), "author": author->{firstName, lastName, picture}, }
export type PostQueryResult = {
- content: Array<{
- children?: Array<{
- marks?: Array
- text?: string
- _type: 'span'
- _key: string
- }>
- style?: 'blockquote' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'normal'
- listItem?: 'bullet' | 'number'
- markDefs: Array<{
- linkType?: 'href' | 'page' | 'post'
- href?: string
- page: string | null
- post: string | null
- openInNewTab?: boolean
- _type: 'link'
- _key: string
- }> | null
- level?: number
- _type: 'block'
- _key: string
- }> | null
+ content: Array<
+ | {
+ children?: Array<{
+ marks?: Array
+ text?: string
+ _type: 'span'
+ _key: string
+ }>
+ style?: 'blockquote' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'normal'
+ listItem?: 'bullet' | 'number'
+ markDefs: Array<{
+ linkType?: 'href' | 'page' | 'post'
+ href?: string
+ page: string | null
+ post: string | null
+ openInNewTab?: boolean
+ _type: 'link'
+ _key: string
+ }> | null
+ level?: number
+ _type: 'block'
+ _key: string
+ }
+ | {
+ asset?: {
+ _ref: string
+ _type: 'reference'
+ _weak?: boolean
+ [internalGroqTypeReferenceTo]?: 'sanity.imageAsset'
+ }
+ media?: unknown
+ hotspot?: SanityImageHotspot
+ crop?: SanityImageCrop
+ _type: 'image'
+ _key: string
+ markDefs: null
+ }
+ > | null
_id: string
status: 'draft' | 'published'
title: string
@@ -811,7 +966,7 @@ import '@sanity/client'
declare module '@sanity/client' {
interface SanityQueries {
'*[_type == "settings"][0]': SettingsQueryResult
- '\n *[_type == \'page\' && slug.current == $slug][0]{\n _id,\n _type,\n name,\n slug,\n heading,\n subheading,\n "pageBuilder": pageBuilder[]{\n ...,\n _type == "callToAction" => {\n \n link {\n ...,\n \n _type == "link" => {\n "page": page->slug.current,\n "post": post->slug.current\n }\n\n }\n,\n },\n _type == "infoSection" => {\n content[]{\n ...,\n markDefs[]{\n ...,\n \n _type == "link" => {\n "page": page->slug.current,\n "post": post->slug.current\n }\n\n }\n }\n },\n },\n }\n': GetPageQueryResult
+ '\n *[_type == \'page\' && slug.current == $slug][0]{\n _id,\n _type,\n name,\n slug,\n heading,\n subheading,\n "pageBuilder": pageBuilder[]{\n ...,\n _type == "callToAction" => {\n ...,\n button {\n ...,\n \n link {\n ...,\n \n _type == "link" => {\n "page": page->slug.current,\n "post": post->slug.current\n }\n\n }\n\n }\n },\n _type == "infoSection" => {\n content[]{\n ...,\n markDefs[]{\n ...,\n \n _type == "link" => {\n "page": page->slug.current,\n "post": post->slug.current\n }\n\n }\n }\n },\n },\n }\n': GetPageQueryResult
'\n *[_type == "page" || _type == "post" && defined(slug.current)] | order(_type asc) {\n "slug": slug.current,\n _type,\n _updatedAt,\n }\n': SitemapDataResult
'\n *[_type == "post" && defined(slug.current)] | order(date desc, _updatedAt desc) {\n \n _id,\n "status": select(_originalId in path("drafts.**") => "draft", "published"),\n "title": coalesce(title, "Untitled"),\n "slug": slug.current,\n excerpt,\n coverImage,\n "date": coalesce(date, _updatedAt),\n "author": author->{firstName, lastName, picture},\n\n }\n': AllPostsQueryResult
'\n *[_type == "post" && _id != $skip && defined(slug.current)] | order(date desc, _updatedAt desc) [0...$limit] {\n \n _id,\n "status": select(_originalId in path("drafts.**") => "draft", "published"),\n "title": coalesce(title, "Untitled"),\n "slug": slug.current,\n excerpt,\n coverImage,\n "date": coalesce(date, _updatedAt),\n "author": author->{firstName, lastName, picture},\n\n }\n': MorePostsQueryResult
diff --git a/frontend/sanity/lib/client.ts b/frontend/sanity/lib/client.ts
index bd5e939c..d2947c25 100644
--- a/frontend/sanity/lib/client.ts
+++ b/frontend/sanity/lib/client.ts
@@ -1,25 +1,13 @@
import {createClient} from 'next-sanity'
import {apiVersion, dataset, projectId, studioUrl} from '@/sanity/lib/api'
-import {token} from './token'
+import {token} from '@/sanity/lib/token'
export const client = createClient({
projectId,
dataset,
apiVersion,
useCdn: true,
- perspective: 'published',
token, // Required if you have a private dataset
- stega: {
- studioUrl,
- // Set logger to 'console' for more verbose logging
- // logger: console,
- filter: (props) => {
- if (props.sourcePath.at(-1) === 'title') {
- return true
- }
-
- return props.filterDefault(props)
- },
- },
+ stega: {studioUrl},
})
diff --git a/frontend/sanity/lib/live.ts b/frontend/sanity/lib/live.ts
index 5c36b36b..0395e7ac 100644
--- a/frontend/sanity/lib/live.ts
+++ b/frontend/sanity/lib/live.ts
@@ -1,6 +1,6 @@
-import {defineLive} from 'next-sanity'
-import {client} from './client'
-import {token} from './token'
+import {defineLive} from 'next-sanity/live'
+import {client} from '@/sanity/lib/client'
+import {token} from '@/sanity/lib/token'
/**
* Use defineLive to enable automatic revalidation and refreshing of your fetched content
diff --git a/frontend/sanity/lib/queries.ts b/frontend/sanity/lib/queries.ts
index 5e5e05d1..6d525b06 100644
--- a/frontend/sanity/lib/queries.ts
+++ b/frontend/sanity/lib/queries.ts
@@ -38,7 +38,11 @@ export const getPageQuery = defineQuery(`
"pageBuilder": pageBuilder[]{
...,
_type == "callToAction" => {
- ${linkFields},
+ ...,
+ button {
+ ...,
+ ${linkFields}
+ }
},
_type == "infoSection" => {
content[]{
diff --git a/frontend/sanity/lib/types.ts b/frontend/sanity/lib/types.ts
new file mode 100644
index 00000000..bc6864f8
--- /dev/null
+++ b/frontend/sanity/lib/types.ts
@@ -0,0 +1,4 @@
+import { GetPageQueryResult } from "@/sanity.types";
+
+export type PageBuilderSection = NonNullable["pageBuilder"]>[number];
+export type ExtractPageBuilderType = Extract;
\ No newline at end of file
diff --git a/frontend/sanity/lib/utils.ts b/frontend/sanity/lib/utils.ts
index 80f6cefc..f2c2435e 100644
--- a/frontend/sanity/lib/utils.ts
+++ b/frontend/sanity/lib/utils.ts
@@ -1,41 +1,18 @@
-import createImageUrlBuilder from '@sanity/image-url'
-import {Link} from '@/sanity.types'
-import {dataset, projectId, studioUrl} from '@/sanity/lib/api'
-import {createDataAttribute, CreateDataAttributeProps} from 'next-sanity'
-import {getImageDimensions} from '@sanity/asset-utils'
-
-const imageBuilder = createImageUrlBuilder({
- projectId: projectId || '',
- dataset: dataset || '',
-})
-
-export const urlForImage = (source: any) => {
- // Ensure that source image contains a valid reference
- if (!source?.asset?._ref) {
- return undefined
- }
-
- const imageRef = source?.asset?._ref
- const crop = source.crop
-
- // get the image's og dimensions
- const {width, height} = getImageDimensions(imageRef)
-
- if (Boolean(crop)) {
- // compute the cropped image's area
- const croppedWidth = Math.floor(width * (1 - (crop.right + crop.left)))
-
- const croppedHeight = Math.floor(height * (1 - (crop.top + crop.bottom)))
-
- // compute the cropped image's position
- const left = Math.floor(width * crop.left)
- const top = Math.floor(height * crop.top)
-
- // gather into a url
- return imageBuilder?.image(source).rect(left, top, croppedWidth, croppedHeight).auto('format')
- }
-
- return imageBuilder?.image(source).auto('format')
+import { Link } from "@/sanity.types";
+import { dataset, projectId, studioUrl } from "@/sanity/lib/api";
+import { createDataAttribute, CreateDataAttributeProps } from "next-sanity";
+import imageUrlBuilder from "@sanity/image-url";
+import type { SanityImageSource } from "@sanity/image-url/lib/types/types";
+
+const builder = imageUrlBuilder({
+ projectId: projectId || "",
+ dataset: dataset || "",
+});
+
+// Create an image URL builder using the client
+// Export a function that can be used to get image URLs
+function urlForImage(source: SanityImageSource) {
+ return builder.image(source);
}
export function resolveOpenGraphImage(image: any, width = 1200, height = 627) {
diff --git a/frontend/tailwind.config.ts b/frontend/tailwind.config.ts
index 1d0b0616..0fe26732 100644
--- a/frontend/tailwind.config.ts
+++ b/frontend/tailwind.config.ts
@@ -95,7 +95,8 @@ export default {
},
},
fontFamily: {
- sans: ['var(--font-inter)'],
+ sans: ["var(--font-inter)"],
+ mono: ["var(--font-ibm-plex-mono)"],
},
},
},
diff --git a/package-lock.json b/package-lock.json
index 188742bb..2c20fad9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -26,13 +26,13 @@
"autoprefixer": "^10.4.22",
"date-fns": "^4.1.0",
"next": "^15.5.7",
- "next-sanity": "^10.1.4",
+ "next-sanity": "^11.6.10",
"postcss": "^8.5.6",
"react": "^19.2.1",
"react-dom": "^19.2.1",
"sanity": "^4.20.0",
+ "sanity-image": "^1.0.0",
"sonner": "^2.0.7",
- "styled-components": "^6.1.19",
"tailwindcss": "^4.1.17"
},
"devDependencies": {
@@ -45,9 +45,9 @@
}
},
"node_modules/@acemir/cssom": {
- "version": "0.9.24",
- "resolved": "https://registry.npmjs.org/@acemir/cssom/-/cssom-0.9.24.tgz",
- "integrity": "sha512-5YjgMmAiT2rjJZU7XK1SNI7iqTy92DpaYVgG6x63FxkJ11UpYfLndHJATtinWJClAXiOlW9XWaUyAQf8pMrQPg==",
+ "version": "0.9.25",
+ "resolved": "https://registry.npmjs.org/@acemir/cssom/-/cssom-0.9.25.tgz",
+ "integrity": "sha512-ZWKTnGx+py7q6W3Q1q7+ZOW0GLuhgaxjBRMytOxYu5CQwIF6YCu5iCgY7NzuTt+DkpAa4jqKfvxANuCBWTzdVg==",
"license": "MIT"
},
"node_modules/@actions/core": {
@@ -125,118 +125,124 @@
"node": ">=16"
}
},
+ "node_modules/@architect/asap/node_modules/@aws-lite/client": {
+ "version": "0.21.10",
+ "resolved": "https://registry.npmjs.org/@aws-lite/client/-/client-0.21.10.tgz",
+ "integrity": "sha512-fOn3lg1ynBAxqcELRf084bNJ6gu+GGoNyC+hwitW/hg3Vc1z1ZbK5HWWTrDw8HdM/fEQ0UN++g7GXVN1GVctdQ==",
+ "license": "Apache-2.0",
+ "workspaces": [
+ "plugins/acm",
+ "plugins/apigateway",
+ "plugins/apigatewaymanagementapi",
+ "plugins/apigatewayv2",
+ "plugins/cloudformation",
+ "plugins/cloudfront",
+ "plugins/cloudwatch-logs",
+ "plugins/dynamodb",
+ "plugins/iam",
+ "plugins/lambda",
+ "plugins/organizations",
+ "plugins/rds-data",
+ "plugins/route53",
+ "plugins/s3",
+ "plugins/sns",
+ "plugins/sqs",
+ "plugins/ssm",
+ "plugins/sts"
+ ],
+ "dependencies": {
+ "aws4": "^1.13.0"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
"node_modules/@architect/hydrate": {
- "version": "4.0.10",
- "resolved": "https://registry.npmjs.org/@architect/hydrate/-/hydrate-4.0.10.tgz",
- "integrity": "sha512-OLnfBneWfiU+xkdI5MqnMc2p3+7aurYr6Mo9seASbxoeCdh8wFOyqMRvtXZWrSkfc6K59ZZH8MIPEJ9RhOP/vA==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@architect/hydrate/-/hydrate-5.0.1.tgz",
+ "integrity": "sha512-zje5KEhjMB54qGgfEwfFrqtiJ4/w8B/pm10Z1WXmn0P9wBVjfc8uAAC8ssVrsppNtZ6I/cSQ3dvMDOc0jYgQgA==",
"license": "Apache-2.0",
"dependencies": {
- "@architect/inventory": "~4.0.5",
- "@architect/utils": "~4.0.6",
- "acorn-loose": "~8.4.0",
- "chalk": "4.1.2",
- "esquery": "~1.6.0",
- "glob": "10.4.5",
- "minimist": "~1.2.8",
- "run-series": "~1.1.9",
- "symlink-or-copy": "~1.3.1"
+ "@architect/inventory": "~5.0.0",
+ "@architect/utils": "~5.0.0",
+ "acorn-loose": "8.5.2",
+ "esquery": "1.6.0"
},
"bin": {
"arc-hydrate": "src/cli.js"
},
"engines": {
- "node": ">=16"
+ "node": ">=20"
}
},
"node_modules/@architect/inventory": {
- "version": "4.0.9",
- "resolved": "https://registry.npmjs.org/@architect/inventory/-/inventory-4.0.9.tgz",
- "integrity": "sha512-u2huwBc3JgiM0bGLPyBy0NjcF2mtnmFWwgFl7+E72jG3BcJl1QwQqXdaHygI2WblsH4BG8C19A47Er9QKOGdiw==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@architect/inventory/-/inventory-5.0.0.tgz",
+ "integrity": "sha512-Tlwo6wVFMhIZT2k5dBrU4gr21jboAXjaPvqOYsKKeEVG+1HLTdKSWLidAvKU0qDzGeT8T6oRTMH1WDlLTmhQmw==",
"license": "Apache-2.0",
"dependencies": {
"@architect/asap": "~7.0.10",
- "@architect/parser": "~7.0.1",
- "@architect/utils": "~4.0.6",
- "@aws-lite/client": "^0.21.1",
- "@aws-lite/ssm": "^0.2.3",
- "lambda-runtimes": "~2.0.5"
+ "@architect/parser": "~8.0.1",
+ "@architect/utils": "~5.0.0",
+ "@aws-lite/client": "^0.23.2",
+ "@aws-lite/ssm": "^0.2.5"
},
"engines": {
- "node": ">=16"
+ "node": ">=20"
}
},
"node_modules/@architect/parser": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/@architect/parser/-/parser-7.0.1.tgz",
- "integrity": "sha512-T4Rr/eQbtg/gPvS4HcXR7zYxLJ3gEh6pSKj0s/Y1IrvJY9QG4BDAVZgE7AYGfzqymwIF0pUI2mQ91CLi2CTnQw==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/@architect/parser/-/parser-8.0.1.tgz",
+ "integrity": "sha512-uXm4XCnMF7qeIjur69qIUiz4dq40t89M4umJW5hLZ9eEDQ2rtN/+A+kbWmbw+RV3mo2RTp4EeAb+lRnU0basew==",
"license": "Apache-2.0",
"engines": {
- "node": ">=16"
+ "node": ">=20"
}
},
"node_modules/@architect/utils": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/@architect/utils/-/utils-4.0.6.tgz",
- "integrity": "sha512-aa6gNNoHxgKpQrIFOa5zNW5fD10v46AE2VZNcjToxAvm//8itbIBoGw2wj8oF3gqHMKKkeLAtdO8K8tlKVN8ZA==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/@architect/utils/-/utils-5.0.2.tgz",
+ "integrity": "sha512-BNVXWpkXj6kDdIu6iu3Qh+Gbl1Ml0DKIDQ7s/VLaugvUBbvs+0cm7DA+N2xF6RtzBbnUm2NoyYaGvN5/0uYoEQ==",
"license": "Apache-2.0",
"dependencies": {
"@aws-lite/client": "^0.21.1",
- "chalk": "4.1.2",
- "glob": "~10.3.12",
- "path-sort": "~0.1.0",
- "restore-cursor": "3.1.0",
- "run-series": "~1.1.9",
- "run-waterfall": "~1.1.7",
- "sha": "~3.0.0"
+ "lambda-runtimes": "2.0.5"
},
"engines": {
- "node": ">=16"
- }
- },
- "node_modules/@architect/utils/node_modules/brace-expansion": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/@architect/utils/node_modules/glob": {
- "version": "10.3.16",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.16.tgz",
- "integrity": "sha512-JDKXl1DiuuHJ6fVS2FXjownaavciiHNUU4mOvV/B793RLh05vZL1rcPnCSaOgv1hDT6RDlY7AB7ZUvFYAtPgAw==",
- "license": "ISC",
- "dependencies": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^3.1.2",
- "minimatch": "^9.0.1",
- "minipass": "^7.0.4",
- "path-scurry": "^1.11.0"
- },
- "bin": {
- "glob": "dist/esm/bin.mjs"
- },
- "engines": {
- "node": ">=16 || 14 >=14.18"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">=20"
}
},
- "node_modules/@architect/utils/node_modules/minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
- "license": "ISC",
+ "node_modules/@architect/utils/node_modules/@aws-lite/client": {
+ "version": "0.21.10",
+ "resolved": "https://registry.npmjs.org/@aws-lite/client/-/client-0.21.10.tgz",
+ "integrity": "sha512-fOn3lg1ynBAxqcELRf084bNJ6gu+GGoNyC+hwitW/hg3Vc1z1ZbK5HWWTrDw8HdM/fEQ0UN++g7GXVN1GVctdQ==",
+ "license": "Apache-2.0",
+ "workspaces": [
+ "plugins/acm",
+ "plugins/apigateway",
+ "plugins/apigatewaymanagementapi",
+ "plugins/apigatewayv2",
+ "plugins/cloudformation",
+ "plugins/cloudfront",
+ "plugins/cloudwatch-logs",
+ "plugins/dynamodb",
+ "plugins/iam",
+ "plugins/lambda",
+ "plugins/organizations",
+ "plugins/rds-data",
+ "plugins/route53",
+ "plugins/s3",
+ "plugins/sns",
+ "plugins/sqs",
+ "plugins/ssm",
+ "plugins/sts"
+ ],
"dependencies": {
- "brace-expansion": "^2.0.1"
+ "aws4": "^1.13.0"
},
"engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">=16"
}
},
"node_modules/@asamuzakjp/css-color": {
@@ -287,9 +293,9 @@
"license": "MIT"
},
"node_modules/@aws-lite/client": {
- "version": "0.21.10",
- "resolved": "https://registry.npmjs.org/@aws-lite/client/-/client-0.21.10.tgz",
- "integrity": "sha512-fOn3lg1ynBAxqcELRf084bNJ6gu+GGoNyC+hwitW/hg3Vc1z1ZbK5HWWTrDw8HdM/fEQ0UN++g7GXVN1GVctdQ==",
+ "version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/@aws-lite/client/-/client-0.23.2.tgz",
+ "integrity": "sha512-K7QgDnYZfe5dTLzZPq9ZSVtpQjT3gPvowJrtzXLZxpKPPWUsyeMbUvtOgfCNemSCH2xK1YCVh7YsLNtYb6ZYtw==",
"license": "Apache-2.0",
"workspaces": [
"plugins/acm",
@@ -312,7 +318,7 @@
"plugins/sts"
],
"dependencies": {
- "aws4": "^1.13.0"
+ "aws4": "^1.13.2"
},
"engines": {
"node": ">=16"
@@ -364,7 +370,6 @@
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz",
"integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@babel/code-frame": "^7.27.1",
"@babel/generator": "^7.28.5",
@@ -2119,7 +2124,6 @@
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.38.8.tgz",
"integrity": "sha512-XcE9fcnkHCbWkjeKyi0lllwXmBLtyYb5dt89dJyx23I9+LSh5vZDIuk7OLG4VM1lgrXZQcY6cxyZyk5WVPRv/A==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@codemirror/state": "^6.5.0",
"crelt": "^1.0.6",
@@ -2211,7 +2215,6 @@
}
],
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=18"
},
@@ -2253,7 +2256,6 @@
}
],
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -2287,7 +2289,6 @@
"resolved": "https://registry.npmjs.org/@dnd-kit/core/-/core-6.3.1.tgz",
"integrity": "sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@dnd-kit/accessibility": "^3.1.1",
"@dnd-kit/utilities": "^3.2.2",
@@ -2374,7 +2375,6 @@
"resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz",
"integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@emotion/memoize": "^0.8.1"
}
@@ -4119,25 +4119,25 @@
}
},
"node_modules/@mux/mux-player": {
- "version": "3.9.2",
- "resolved": "https://registry.npmjs.org/@mux/mux-player/-/mux-player-3.9.2.tgz",
- "integrity": "sha512-QK7y1fYoxR2XHc5GO2owfpClsb94hN7k+bTNKp2+oolTAfc2PT1ygGVDq7RFUPz6VNTiZUBvDlRn62CylfxTFw==",
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/@mux/mux-player/-/mux-player-3.10.0.tgz",
+ "integrity": "sha512-p2+ZrBNtSInmlf26MaJofrGsYgZdiAc7r9Wk1tHfttKI0/U9aeTj5xufx28SsfzlNoU2qEkoHyiGQZgQKKdrnA==",
"license": "MIT",
"dependencies": {
- "@mux/mux-video": "0.28.2",
- "@mux/playback-core": "0.31.4",
+ "@mux/mux-video": "0.29.0",
+ "@mux/playback-core": "0.32.0",
"media-chrome": "~4.16.1",
"player.style": "^0.3.0"
}
},
"node_modules/@mux/mux-player-react": {
- "version": "3.9.2",
- "resolved": "https://registry.npmjs.org/@mux/mux-player-react/-/mux-player-react-3.9.2.tgz",
- "integrity": "sha512-BzTQEpjNdxyL2hlbZaUKZmSdw7m6YS00zzmrnuBAxnFDZ3m9z45lo3GrtRmnuy3v30gO0faQ1S34BTRLxGNRLQ==",
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/@mux/mux-player-react/-/mux-player-react-3.10.0.tgz",
+ "integrity": "sha512-Ec+BSCJFIdwAB3AUWKc+BBap8brgFm7c5eay7MF83TfdC25WVZqsVD8RqUq1gc0g1nZ9mlspR2TIaS/+mLXQ+Q==",
"license": "MIT",
"dependencies": {
- "@mux/mux-player": "3.9.2",
- "@mux/playback-core": "0.31.4",
+ "@mux/mux-player": "3.10.0",
+ "@mux/playback-core": "0.32.0",
"prop-types": "^15.8.1"
},
"peerDependencies": {
@@ -4155,9 +4155,9 @@
}
},
"node_modules/@mux/mux-player/node_modules/player.style": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/player.style/-/player.style-0.3.0.tgz",
- "integrity": "sha512-ny1TbqA2ZsUd6jzN+F034+UMXVK7n5SrwepsrZ2gIqVz00Hn0ohCUbbUdst/2IOFCy0oiTbaOXkSFxRw1RmSlg==",
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/player.style/-/player.style-0.3.1.tgz",
+ "integrity": "sha512-z/T8hJGaTkHT9vdXgWdOgF37eB1FV7/j52VXQZ2lgEhpru9oT8TaUWIxp6GoxTnhPBM4X6nSbpkAHrT7UTjUKg==",
"license": "MIT",
"workspaces": [
".",
@@ -4167,35 +4167,26 @@
"themes/*"
],
"dependencies": {
- "media-chrome": "~4.14.0"
- }
- },
- "node_modules/@mux/mux-player/node_modules/player.style/node_modules/media-chrome": {
- "version": "4.14.0",
- "resolved": "https://registry.npmjs.org/media-chrome/-/media-chrome-4.14.0.tgz",
- "integrity": "sha512-IEdFb4blyF15vLvQzLIn6USJBv7Kf2ne+TfLQKBYI5Z0f9VEBVZz5MKy4Uhi0iA9lStl2S9ENIujJRuJIa5OiA==",
- "license": "MIT",
- "dependencies": {
- "ce-la-react": "^0.3.0"
+ "media-chrome": "~4.16.1"
}
},
"node_modules/@mux/mux-video": {
- "version": "0.28.2",
- "resolved": "https://registry.npmjs.org/@mux/mux-video/-/mux-video-0.28.2.tgz",
- "integrity": "sha512-+ij1EOI7Tx2zYAzIXAIbZJzxqISmIIz3f7aE/R5JFt9dcPxCNIN6/iXGJikiD1JQ4S3T7Mco8bHXaf1S0CJbIQ==",
+ "version": "0.29.0",
+ "resolved": "https://registry.npmjs.org/@mux/mux-video/-/mux-video-0.29.0.tgz",
+ "integrity": "sha512-G33I58GFho6iFdD0gAmud0Q2YvbjjzLoLtbCibt8DRJQa4ULR9WAvsyTi8BM301hguGjxuHKdQjVtgH8cVa7bA==",
"license": "MIT",
"dependencies": {
"@mux/mux-data-google-ima": "0.2.8",
- "@mux/playback-core": "0.31.4",
+ "@mux/playback-core": "0.32.0",
"castable-video": "~1.1.11",
"custom-media-element": "~1.4.5",
"media-tracks": "~0.3.4"
}
},
"node_modules/@mux/playback-core": {
- "version": "0.31.4",
- "resolved": "https://registry.npmjs.org/@mux/playback-core/-/playback-core-0.31.4.tgz",
- "integrity": "sha512-qQrNAAdJ7vjr1XEObE1hOUmuYngk/fjwmtYhpzkX4jJZwUC8I0rHjeFv7LXuCQD1D/mYJlWEpuyA0gPd6Y2eQw==",
+ "version": "0.32.0",
+ "resolved": "https://registry.npmjs.org/@mux/playback-core/-/playback-core-0.32.0.tgz",
+ "integrity": "sha512-uXg7Qo/JvW7BviyDTnlHVqmLKqAxlP40wIE4+fawKQKM9MsmWSoxg6pRMW0wtMJ7pCg3jitefoox9OtKzVAy7g==",
"license": "MIT",
"dependencies": {
"hls.js": "~1.6.15",
@@ -4530,7 +4521,6 @@
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.2.tgz",
"integrity": "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@octokit/auth-token": "^4.0.0",
"@octokit/graphql": "^7.1.0",
@@ -4676,9 +4666,9 @@
}
},
"node_modules/@oxc-parser/binding-android-arm64": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm64/-/binding-android-arm64-0.97.0.tgz",
- "integrity": "sha512-oLCGuX+1zqTIUjTfCxiZO/Ad4p4wo2MksBSpjdgOC7htyfIg/Se9PK2xU2jzSXlIyzBivwK6AJFqJpcbzJlmsQ==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm64/-/binding-android-arm64-0.99.0.tgz",
+ "integrity": "sha512-V4jhmKXgQQdRnm73F+r3ZY4pUEsijQeSraFeaCGng7abSNJGs76X6l82wHnmjLGFAeY00LWtjcELs7ZmbJ9+lA==",
"cpu": [
"arm64"
],
@@ -4693,9 +4683,9 @@
}
},
"node_modules/@oxc-parser/binding-darwin-arm64": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.97.0.tgz",
- "integrity": "sha512-Rg7Yy0ICS4HiF+/ZcmjB7h67YOw23Iw06ETHP+0UHQkNuecFew9aDycGG62ohCb1/+QC5uVTW9naR4F8L3FndQ==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.99.0.tgz",
+ "integrity": "sha512-Rp41nf9zD5FyLZciS9l1GfK8PhYqrD5kEGxyTOA2esTLeAy37rZxetG2E3xteEolAkeb2WDkVrlxPtibeAncMg==",
"cpu": [
"arm64"
],
@@ -4710,9 +4700,9 @@
}
},
"node_modules/@oxc-parser/binding-darwin-x64": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-x64/-/binding-darwin-x64-0.97.0.tgz",
- "integrity": "sha512-Kr2rgG7yEnv6ivreQtwKAetGeovfWMxsWzTPlM4BMkhI6jsj10BFN+tP5kUHrES66e7eaoFs0SNepHulCpofdw==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-x64/-/binding-darwin-x64-0.99.0.tgz",
+ "integrity": "sha512-WVonp40fPPxo5Gs0POTI57iEFv485TvNKOHMwZRhigwZRhZY2accEAkYIhei9eswF4HN5B44Wybkz7Gd1Qr/5Q==",
"cpu": [
"x64"
],
@@ -4727,9 +4717,9 @@
}
},
"node_modules/@oxc-parser/binding-freebsd-x64": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-freebsd-x64/-/binding-freebsd-x64-0.97.0.tgz",
- "integrity": "sha512-kAWTFHVR3KLcYQ7oEpRQV+WtEAPWZODQ/FsIVGVNAjzIfm9myuiLh7Kys8Vh3QwATPCuPg1w7FGexIm/A1a1lQ==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-freebsd-x64/-/binding-freebsd-x64-0.99.0.tgz",
+ "integrity": "sha512-H30bjOOttPmG54gAqu6+HzbLEzuNOYO2jZYrIq4At+NtLJwvNhXz28Hf5iEAFZIH/4hMpLkM4VN7uc+5UlNW3Q==",
"cpu": [
"x64"
],
@@ -4744,9 +4734,9 @@
}
},
"node_modules/@oxc-parser/binding-linux-arm-gnueabihf": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.97.0.tgz",
- "integrity": "sha512-w4wYc5KRO6Mdxq9wXh6fAMuxB1LX7btj74+fTZG7/eP7ZiCTsxIM0GR4l7xQjRJOFd9rzlu7ZPq3LM7e9wmPTg==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.99.0.tgz",
+ "integrity": "sha512-0Z/Th0SYqzSRDPs6tk5lQdW0i73UCupnim3dgq2oW0//UdLonV/5wIZCArfKGC7w9y4h8TxgXpgtIyD1kKzzlQ==",
"cpu": [
"arm"
],
@@ -4761,9 +4751,9 @@
}
},
"node_modules/@oxc-parser/binding-linux-arm-musleabihf": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.97.0.tgz",
- "integrity": "sha512-DY+3aV2k9YyCRQ5/Zw83cG0xXvgnA6d31JSGfWkOAq9Aa22GeBE/NOzqqMw72HcxRKvYcJsCVpBwQaTICuBGIQ==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.99.0.tgz",
+ "integrity": "sha512-xo0wqNd5bpbzQVNpAIFbHk1xa+SaS/FGBABCd942SRTnrpxl6GeDj/s1BFaGcTl8MlwlKVMwOcyKrw/2Kdfquw==",
"cpu": [
"arm"
],
@@ -4778,9 +4768,9 @@
}
},
"node_modules/@oxc-parser/binding-linux-arm64-gnu": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.97.0.tgz",
- "integrity": "sha512-4B/H4CSc8LZSBTzQHMHQbbZww8B1qaQO+1iBxeKYo1LBD5ZAUZwgYCyM1VUPgqEfUY358a1/Nhn4RIwAbnEFWw==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.99.0.tgz",
+ "integrity": "sha512-u26I6LKoLTPTd4Fcpr0aoAtjnGf5/ulMllo+QUiBhupgbVCAlaj4RyXH/mvcjcsl2bVBv9E/gYJZz2JjxQWXBA==",
"cpu": [
"arm64"
],
@@ -4795,9 +4785,9 @@
}
},
"node_modules/@oxc-parser/binding-linux-arm64-musl": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.97.0.tgz",
- "integrity": "sha512-Wg8ZPEXR3HHDlzvxqFH9XVc6xfnXaEjMmAuJ9priQmMin42O4B5TwvLmBNlW5Is30faKopGXiiH/Gjmcw/x4xg==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.99.0.tgz",
+ "integrity": "sha512-qhftDo2D37SqCEl3ZTa367NqWSZNb1Ddp34CTmShLKFrnKdNiUn55RdokLnHtf1AL5ssaQlYDwBECX7XiBWOhw==",
"cpu": [
"arm64"
],
@@ -4812,9 +4802,9 @@
}
},
"node_modules/@oxc-parser/binding-linux-riscv64-gnu": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.97.0.tgz",
- "integrity": "sha512-OJNHq6KGPdOh+YVk67T3MfRzLIy9MDMZCzH1f+xgh+kKPWzC4RqlqDNuoyqYiIxjO6kAVZZUQYvx4XVSKluJxw==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.99.0.tgz",
+ "integrity": "sha512-zxn/xkf519f12FKkpL5XwJipsylfSSnm36h6c1zBDTz4fbIDMGyIhHfWfwM7uUmHo9Aqw1pLxFpY39Etv398+Q==",
"cpu": [
"riscv64"
],
@@ -4829,9 +4819,9 @@
}
},
"node_modules/@oxc-parser/binding-linux-s390x-gnu": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.97.0.tgz",
- "integrity": "sha512-yZV1kKNzewd/lwWYBw6IRy7ckbduQsUt5LisM8NXt8T0Dg+jhkyy4y7M6X57/KyvT//vHCuRvpnwTr9lk1M9IA==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.99.0.tgz",
+ "integrity": "sha512-Y1eSDKDS5E4IVC7Oxw+NbYAKRmJPMJTIjW+9xOWwteDHkFqpocKe0USxog+Q1uhzalD9M0p9eXWEWdGQCMDBMQ==",
"cpu": [
"s390x"
],
@@ -4846,9 +4836,9 @@
}
},
"node_modules/@oxc-parser/binding-linux-x64-gnu": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.97.0.tgz",
- "integrity": "sha512-Ck7cJMsZX19B0dvsl1v9a8VLeL9kEfUc0zMBjkgYmJfhVuINHcnZlQs8E5zTfD+dpP1wYzUhwgqv3o6hl9QaXA==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.99.0.tgz",
+ "integrity": "sha512-YVJMfk5cFWB8i2/nIrbk6n15bFkMHqWnMIWkVx7r2KwpTxHyFMfu2IpeVKo1ITDSmt5nBrGdLHD36QRlu2nDLg==",
"cpu": [
"x64"
],
@@ -4863,9 +4853,9 @@
}
},
"node_modules/@oxc-parser/binding-linux-x64-musl": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.97.0.tgz",
- "integrity": "sha512-COlEtnuyWfVjvylxhxoSd2HkAI85flvrQu3vGtt4Bm3+ZVdteFCNQskk3q8XfD0Cs+FdtnvDMbhApHyFKaEfsQ==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.99.0.tgz",
+ "integrity": "sha512-2+SDPrie5f90A1b9EirtVggOgsqtsYU5raZwkDYKyS1uvJzjqHCDhG/f4TwQxHmIc5YkczdQfwvN91lwmjsKYQ==",
"cpu": [
"x64"
],
@@ -4880,9 +4870,9 @@
}
},
"node_modules/@oxc-parser/binding-wasm32-wasi": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-wasm32-wasi/-/binding-wasm32-wasi-0.97.0.tgz",
- "integrity": "sha512-5Rt1uEe1VTw6aUluz8/nBNUbyCVGzwMJbXvPv+b4So+mFlkL+X2cTHb9LH8hcBgJ2TDITLT32J2TcV8Q8EPaKw==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-wasm32-wasi/-/binding-wasm32-wasi-0.99.0.tgz",
+ "integrity": "sha512-DKA4j0QerUWSMADziLM5sAyM7V53Fj95CV9SjP77bPfEfT7MnvFKnneaRMqPK1cpzjAGiQF52OBUIKyk0dwOQA==",
"cpu": [
"wasm32"
],
@@ -4897,9 +4887,9 @@
}
},
"node_modules/@oxc-parser/binding-win32-arm64-msvc": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.97.0.tgz",
- "integrity": "sha512-e2HDWO997STh7gADYJcjrZ+Fh5cSF8fwT6rRchNoV/hSwbJSC6ZpYFFFQEw2qZ2qyMeTmqQ6QVf7T9oKV18UXg==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.99.0.tgz",
+ "integrity": "sha512-EaB3AvsxqdNUhh9FOoAxRZ2L4PCRwDlDb//QXItwyOJrX7XS+uGK9B1KEUV4FZ/7rDhHsWieLt5e07wl2Ti5AQ==",
"cpu": [
"arm64"
],
@@ -4914,9 +4904,9 @@
}
},
"node_modules/@oxc-parser/binding-win32-x64-msvc": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.97.0.tgz",
- "integrity": "sha512-DQ92RUXw67ynu6fUzlFN/gr/rN3nxEQ35AC3EJYAgNKy/GFFJbNKGwFxGnmooje29XhBwibaRdxDs1OIgZBHvQ==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.99.0.tgz",
+ "integrity": "sha512-sJN1Q8h7ggFOyDn0zsHaXbP/MklAVUvhrbq0LA46Qum686P3SZQHjbATqJn9yaVEvaSKXCshgl0vQ1gWkGgpcQ==",
"cpu": [
"x64"
],
@@ -4931,9 +4921,9 @@
}
},
"node_modules/@oxc-project/types": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.97.0.tgz",
- "integrity": "sha512-lxmZK4xFrdvU0yZiDwgVQTCvh2gHWBJCBk5ALsrtsBWhs0uDIi+FTOnXRQeQfs304imdvTdaakT/lqwQ8hkOXQ==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.99.0.tgz",
+ "integrity": "sha512-LLDEhXB7g1m5J+woRSgfKsFPS3LhR9xRhTeIoEBm5WrkwMxn6eZ0Ld0c0K5eHB57ChZX6I3uSmmLjZ8pcjlRcw==",
"dev": true,
"license": "MIT",
"funding": {
@@ -5005,12 +4995,12 @@
}
},
"node_modules/@portabletext/block-tools": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/@portabletext/block-tools/-/block-tools-4.1.4.tgz",
- "integrity": "sha512-/JtaaMzMdkadJBoZ5r7OVGFswGXBsLErLA9NyfaQ5tgk6tDZWG9Q97/uZUNVSIDiH75G8T77GWBbu24jXLSlSQ==",
+ "version": "4.1.6",
+ "resolved": "https://registry.npmjs.org/@portabletext/block-tools/-/block-tools-4.1.6.tgz",
+ "integrity": "sha512-BlUGY3lbKH3dRsdxCR6jNFcgCP11tnOZxkIMZMDqzzrw4VKjuX/My2Nw152QE9sGbRqrpRZ6zDpnYYFiMm8S1A==",
"license": "MIT",
"dependencies": {
- "@portabletext/sanity-bridge": "^1.2.7",
+ "@portabletext/sanity-bridge": "^1.2.9",
"@portabletext/schema": "^2.0.0",
"lodash": "^4.17.21"
},
@@ -5018,17 +5008,16 @@
"node": ">=20.19 <22 || >=22.12"
},
"peerDependencies": {
- "@sanity/types": "^4.20.0"
+ "@sanity/types": "^4.20.3"
}
},
"node_modules/@portabletext/editor": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/@portabletext/editor/-/editor-3.2.1.tgz",
- "integrity": "sha512-JFXpuvJBn0Rp5NPZ6vQdtuQpWOeChFCPlfwSg9bPLY0kSI4DHzjVBQtTcTBKYoXgeMOAiMr9daHyvSDQPR2XdQ==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@portabletext/editor/-/editor-3.2.4.tgz",
+ "integrity": "sha512-7Rz9U3tO+Fng7uL0Riyqk7Uoajlj0PusclFJ+UyQQXprkzutuXetcWGyZU60ceIyTx5jWADALg0vBKNV1oK1qQ==",
"license": "MIT",
- "peer": true,
"dependencies": {
- "@portabletext/block-tools": "^4.1.4",
+ "@portabletext/block-tools": "^4.1.6",
"@portabletext/keyboard-shortcuts": "^2.1.0",
"@portabletext/patches": "^2.0.0",
"@portabletext/schema": "^2.0.0",
@@ -5039,18 +5028,18 @@
"lodash": "^4.17.21",
"lodash.startcase": "^4.4.0",
"react-compiler-runtime": "1.0.0",
- "slate": "0.120.0",
+ "slate": "^0.118.1",
"slate-dom": "^0.119.0",
- "slate-react": "0.120.0",
+ "slate-react": "^0.119.0",
"xstate": "^5.24.0"
},
"engines": {
"node": ">=20.19 <22 || >=22.12"
},
"peerDependencies": {
- "@portabletext/sanity-bridge": "^1.2.7",
- "@sanity/schema": "^4.20.0",
- "@sanity/types": "^4.20.0",
+ "@portabletext/sanity-bridge": "^1.2.9",
+ "@sanity/schema": "^4.20.2",
+ "@sanity/types": "^4.20.3",
"react": "^18.3 || ^19",
"rxjs": "^7.8.2"
}
@@ -5078,28 +5067,28 @@
}
},
"node_modules/@portabletext/plugin-character-pair-decorator": {
- "version": "4.0.14",
- "resolved": "https://registry.npmjs.org/@portabletext/plugin-character-pair-decorator/-/plugin-character-pair-decorator-4.0.14.tgz",
- "integrity": "sha512-ljEK5Rf/0meKYHeyS1dtcXiRvMqc6Go2EiPcAF6XQ7DwWGSLVChlXaH4Bha3zKUWZKF+IjqdFO9Fve56L0/2kg==",
+ "version": "4.0.17",
+ "resolved": "https://registry.npmjs.org/@portabletext/plugin-character-pair-decorator/-/plugin-character-pair-decorator-4.0.17.tgz",
+ "integrity": "sha512-thHhZplRkR2Erw/rdygl95yqrVU4+DybLbetMqgHUVpD3PDuzvlNchHJXfxPVROfFdxU7GFssjFHqQ3ldv5JGg==",
"license": "MIT",
"dependencies": {
"@xstate/react": "^6.0.0",
"react-compiler-runtime": "1.0.0",
- "remeda": "^2.30.0",
+ "remeda": "^2.32.0",
"xstate": "^5.24.0"
},
"engines": {
"node": ">=20.19 <22 || >=22.12"
},
"peerDependencies": {
- "@portabletext/editor": "^3.2.1",
+ "@portabletext/editor": "^3.2.4",
"react": "^18.3 || ^19"
}
},
"node_modules/@portabletext/plugin-input-rule": {
- "version": "1.0.14",
- "resolved": "https://registry.npmjs.org/@portabletext/plugin-input-rule/-/plugin-input-rule-1.0.14.tgz",
- "integrity": "sha512-RjwVBB540q9J3CuW6HcQHeFow0e+e+GFiyWwu0CHPFn3SWSytFVzpnk2Bbm+jazeULj5jEzIY8GlRTtfAAMjQw==",
+ "version": "1.0.17",
+ "resolved": "https://registry.npmjs.org/@portabletext/plugin-input-rule/-/plugin-input-rule-1.0.17.tgz",
+ "integrity": "sha512-FVjEdkIuMSh1Z8Rlkh2Thg1MGFtih0eBFgaF9f9zcT5reUBREvV2iv7HhQIMjYC1tVJlVMX8alN07AqpMwFOBg==",
"license": "MIT",
"dependencies": {
"@xstate/react": "^6.0.0",
@@ -5110,32 +5099,32 @@
"node": ">=20.19 <22 || >=22.12"
},
"peerDependencies": {
- "@portabletext/editor": "^3.2.1",
+ "@portabletext/editor": "^3.2.4",
"react": "^18.3 || ^19"
}
},
"node_modules/@portabletext/plugin-markdown-shortcuts": {
- "version": "4.0.14",
- "resolved": "https://registry.npmjs.org/@portabletext/plugin-markdown-shortcuts/-/plugin-markdown-shortcuts-4.0.14.tgz",
- "integrity": "sha512-rQjiWRD8sYeKKqNKYOw2UxPXLIIHKu3JUEg5tXmeCDTyKvc0q3PAPHOnu7S1R4SM4ibyjt3RlTOlJPMd7WSUvg==",
+ "version": "4.0.17",
+ "resolved": "https://registry.npmjs.org/@portabletext/plugin-markdown-shortcuts/-/plugin-markdown-shortcuts-4.0.17.tgz",
+ "integrity": "sha512-GigQgq/l4NtlIemixYbXqJ+20NWSGXHlOWHCsn/p2UTzOyTJ4E4WHgQngJAzbfFEzwjik9SEva577l+a4O3mrA==",
"license": "MIT",
"dependencies": {
- "@portabletext/plugin-character-pair-decorator": "^4.0.14",
- "@portabletext/plugin-input-rule": "^1.0.14",
+ "@portabletext/plugin-character-pair-decorator": "^4.0.17",
+ "@portabletext/plugin-input-rule": "^1.0.17",
"react-compiler-runtime": "1.0.0"
},
"engines": {
"node": ">=20.19 <22 || >=22.12"
},
"peerDependencies": {
- "@portabletext/editor": "^3.2.1",
+ "@portabletext/editor": "^3.2.4",
"react": "^18.3 || ^19"
}
},
"node_modules/@portabletext/plugin-one-line": {
- "version": "3.0.14",
- "resolved": "https://registry.npmjs.org/@portabletext/plugin-one-line/-/plugin-one-line-3.0.14.tgz",
- "integrity": "sha512-5tpQ9WuNHr0/rh307am1e8oKoZ80XP7WDafgMS0qtl8kwyy3pk73r3sg/x81hWzolfeG0sN9J9hCggIMsEtxvQ==",
+ "version": "3.0.17",
+ "resolved": "https://registry.npmjs.org/@portabletext/plugin-one-line/-/plugin-one-line-3.0.17.tgz",
+ "integrity": "sha512-wJFugBRAppFMOcRCyMxdjb6yFI3dVB/PvxVrqyw3m0JOPcwpf5Zro9xCmWRxisY5IwAlRflCZriSbCdNp6KIFQ==",
"license": "MIT",
"dependencies": {
"react-compiler-runtime": "1.0.0"
@@ -5144,47 +5133,47 @@
"node": ">=20.19 <22 || >=22.12"
},
"peerDependencies": {
- "@portabletext/editor": "^3.2.1",
+ "@portabletext/editor": "^3.2.4",
"react": "^18.3 || ^19"
}
},
"node_modules/@portabletext/plugin-typography": {
- "version": "4.0.14",
- "resolved": "https://registry.npmjs.org/@portabletext/plugin-typography/-/plugin-typography-4.0.14.tgz",
- "integrity": "sha512-JUPn5eaOuKuJJq20evkVqPR+UllE7K8insM50SCITDqc0bdIz63OtEUlXHfw2ZPVjhQuI/nhnngyRZDP0Vq2+Q==",
+ "version": "4.0.17",
+ "resolved": "https://registry.npmjs.org/@portabletext/plugin-typography/-/plugin-typography-4.0.17.tgz",
+ "integrity": "sha512-ib49gk5K2xR0LfAKY/vtoPE32436RP5EENsM96G5mAuUN+cIFA2oyVvUuEXP8NZUqQVU6JixgERFBmUElpNs2A==",
"license": "MIT",
"dependencies": {
- "@portabletext/plugin-input-rule": "^1.0.14",
+ "@portabletext/plugin-input-rule": "^1.0.17",
"react-compiler-runtime": "1.0.0"
},
"engines": {
"node": ">=20.19 <22 || >=22.12"
},
"peerDependencies": {
- "@portabletext/editor": "^3.2.1",
+ "@portabletext/editor": "^3.2.4",
"react": "^18.3 || ^19"
}
},
"node_modules/@portabletext/react": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/@portabletext/react/-/react-4.0.3.tgz",
- "integrity": "sha512-sdVSXbi0L5MBVb1Ch5KwbBPZjW/Oqe6s5ZkPi4LcItzHl8rqY2jB0VxsFaGywZyn8Jc47cGLaOtyBM9HkW/9Hg==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@portabletext/react/-/react-5.0.0.tgz",
+ "integrity": "sha512-ZEYhjsiUn2Dvrhyao3qAvi6C/re9ZBt2atp14dtwWtPruMNgp1uMf3p+URf0pEEhu+rMEh9JeK0A8FgNejEWCg==",
"license": "MIT",
"dependencies": {
- "@portabletext/toolkit": "^3.0.1",
- "@portabletext/types": "^2.0.15"
+ "@portabletext/toolkit": "^4.0.0",
+ "@portabletext/types": "^3.0.0"
},
"engines": {
- "node": "^14.13.1 || >=16.0.0"
+ "node": ">=20.19 <22 || >=22.12"
},
"peerDependencies": {
"react": "^18.2 || ^19"
}
},
"node_modules/@portabletext/sanity-bridge": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/@portabletext/sanity-bridge/-/sanity-bridge-1.2.7.tgz",
- "integrity": "sha512-+YLh2Qt4Sw61fBYgDB/LcvBTgvGVIeczdzQr55Ib1P3SYdyDCA+7xMOz+EXrbfYsGlyCNAPl4B8SAQ8k4Hxj+g==",
+ "version": "1.2.9",
+ "resolved": "https://registry.npmjs.org/@portabletext/sanity-bridge/-/sanity-bridge-1.2.9.tgz",
+ "integrity": "sha512-7n+kSyPIoAsFrUsmjRfoyHqIkNKjSjvTlwNTeP10R4xhed1vsRkQGcr/mkDV+vWENuB17Cjl6M6UNneDGFbhGg==",
"license": "MIT",
"dependencies": {
"@portabletext/schema": "^2.0.0",
@@ -5194,8 +5183,8 @@
"node": ">=20.19 <22 || >=22.12"
},
"peerDependencies": {
- "@sanity/schema": "^4.20.0",
- "@sanity/types": "^4.20.0"
+ "@sanity/schema": "^4.20.2",
+ "@sanity/types": "^4.20.3"
}
},
"node_modules/@portabletext/schema": {
@@ -5220,7 +5209,7 @@
"node": ">=20.19 <22 || >=22.12"
}
},
- "node_modules/@portabletext/to-html/node_modules/@portabletext/toolkit": {
+ "node_modules/@portabletext/toolkit": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@portabletext/toolkit/-/toolkit-4.0.0.tgz",
"integrity": "sha512-Jj/QIy3vzZCNcxiUGM7KjGhUhyVjch+9pOzotWRARPNe07R6nbF/cRsKL70q5Xizf+6PVtFYwks4CSXKInC+wg==",
@@ -5232,7 +5221,7 @@
"node": ">=20.19 <22 || >=22.12"
}
},
- "node_modules/@portabletext/to-html/node_modules/@portabletext/types": {
+ "node_modules/@portabletext/types": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@portabletext/types/-/types-3.0.0.tgz",
"integrity": "sha512-7U8+bFcnguNtXr4rwMDj0EvJJDRzLaaof2mQqCjUcqxuuJpAppFaATZgrKmPI1uBgtFMi4unk1nIaOOmLHrX8Q==",
@@ -5241,35 +5230,14 @@
"node": ">=20.19 <22 || >=22.12"
}
},
- "node_modules/@portabletext/toolkit": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@portabletext/toolkit/-/toolkit-3.0.3.tgz",
- "integrity": "sha512-EI59/l4E0E5wCyWUzvW1FPKWfqDsbebCnCf9ZDHjXGH95X4EORlCtnPuA79PpKaHv0LTChORy55trRzW6tYnOQ==",
- "license": "MIT",
- "dependencies": {
- "@portabletext/types": "^2.0.15"
- },
- "engines": {
- "node": "^14.13.1 || >=16.0.0"
- }
- },
- "node_modules/@portabletext/types": {
- "version": "2.0.15",
- "resolved": "https://registry.npmjs.org/@portabletext/types/-/types-2.0.15.tgz",
- "integrity": "sha512-2e6i2gSQsrA/5OL5Gm4/9bxB9MNO73Fa47zj+0mT93xkoQUCGCWX5fZh1YBJ86hszaRYlqvqG08oULxvvPPp/Q==",
- "license": "MIT",
- "engines": {
- "node": "^14.13.1 || >=16.0.0 || >=18.0.0"
- }
- },
"node_modules/@prettier/plugin-oxc": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/@prettier/plugin-oxc/-/plugin-oxc-0.0.5.tgz",
- "integrity": "sha512-A0uIVkwFrEFQJCU/Wpga6pS5t8UQDdVGB+5e7pVMtlPRw69KDmlozcAoLggwdp3FoVpzNGhngMmgfiE8KLs+BA==",
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@prettier/plugin-oxc/-/plugin-oxc-0.1.3.tgz",
+ "integrity": "sha512-aABz3zIRilpWMekbt1FL1JVBQrQLR8L4Td2SRctECrWSsXGTNn/G1BqNSKCdbvQS1LWstAXfqcXzDki7GAAJyg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "oxc-parser": "0.97.0"
+ "oxc-parser": "0.99.0"
},
"engines": {
"node": ">=14"
@@ -5607,6 +5575,12 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@sanity-image/url-builder": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@sanity-image/url-builder/-/url-builder-1.0.0.tgz",
+ "integrity": "sha512-PZ8n0FbZgHVYB4uMet8QjMvHLEqrRf+BcXoAUMMrk5OYpRQt1/Vd2hwRbkGhkoXAlD8KlQs9CFryMpXlKZu0Lg==",
+ "license": "MIT"
+ },
"node_modules/@sanity/asset-utils": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@sanity/asset-utils/-/asset-utils-2.3.0.tgz",
@@ -5672,15 +5646,15 @@
}
},
"node_modules/@sanity/cli": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@sanity/cli/-/cli-4.20.0.tgz",
- "integrity": "sha512-6Ed5nF08xOLoIQeCGtPRADFwts6F2l5okYM0gYhvRzee5eraNXyImTjg7WAjkaIN6FCFD9zXWcpbAXGELqsrBg==",
+ "version": "4.20.3",
+ "resolved": "https://registry.npmjs.org/@sanity/cli/-/cli-4.20.3.tgz",
+ "integrity": "sha512-8CWwafxWBrdECX4kcDQaTJ8zktEY1jrhu/sNZK8GR6Bu3loif+zrzvCwF3o1jYHnP68xMpgXbuU57YsJA+7g5Q==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.28.5",
"@babel/traverse": "^7.28.5",
"@sanity/client": "^7.13.1",
- "@sanity/codegen": "4.20.0",
+ "@sanity/codegen": "4.20.3",
"@sanity/runtime-cli": "^11.1.4",
"@sanity/telemetry": "^0.8.0",
"@sanity/template-validator": "^2.4.3",
@@ -5690,9 +5664,9 @@
"esbuild-register": "^3.6.0",
"get-it": "^8.6.10",
"get-latest-version": "^5.1.0",
- "groq-js": "^1.21.0",
+ "groq-js": "^1.22.0",
"pkg-dir": "^5.0.0",
- "prettier": "^3.7.2",
+ "prettier": "^3.7.3",
"semver": "^7.7.2"
},
"bin": {
@@ -5727,7 +5701,6 @@
"resolved": "https://registry.npmjs.org/@sanity/client/-/client-7.13.1.tgz",
"integrity": "sha512-Bs+Bg5Fd/2tSR7AYS3+ehUlHtHjrXgH9MwNfTaKUfke158KjAQ4jw1mJVX+jp+171BLwlaaVKYw+mfRkmOCvHw==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@sanity/eventsource": "^5.0.2",
"get-it": "^8.6.9",
@@ -5739,9 +5712,9 @@
}
},
"node_modules/@sanity/codegen": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@sanity/codegen/-/codegen-4.20.0.tgz",
- "integrity": "sha512-PKPly4g9w7E259k4ihMG2ryR/uvAv0a7E8Dk7pcMGS58j1yoWHsUt2ucNH3ZDTlDcU5TgIrK21P6hwDYyQTGaw==",
+ "version": "4.20.3",
+ "resolved": "https://registry.npmjs.org/@sanity/codegen/-/codegen-4.20.3.tgz",
+ "integrity": "sha512-qzYfuNe9Ae+TqNfP6cIJl3oIUm8/5jrzm95pnKvJuxPFjwRjqYo1JBjUVLP7l8aXVQQI3BNXeLULQtZQgje6YA==",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.28.5",
@@ -5754,8 +5727,8 @@
"@babel/types": "^7.28.5",
"debug": "^4.4.3",
"globby": "^11.1.0",
- "groq": "4.20.0",
- "groq-js": "^1.21.0",
+ "groq": "4.20.3",
+ "groq-js": "^1.22.0",
"json5": "^2.2.3",
"tsconfig-paths": "^4.2.0",
"zod": "^3.25.76"
@@ -5788,30 +5761,30 @@
}
},
"node_modules/@sanity/comlink": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@sanity/comlink/-/comlink-3.1.1.tgz",
- "integrity": "sha512-UyBJG4oWNs+VGVo5Yr5aKir5bgMzF/dnaNYjqxP2+5+iXnvhVOcI6dAtEXDj7kMmn5/ysHNKbLDlW6aVeBm7xg==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@sanity/comlink/-/comlink-4.0.1.tgz",
+ "integrity": "sha512-vdGOd6sxNjqTo2H3Q3L2/Gepy+cDBiQ1mr9ck7c/A9o4NnmBLoDliifsNHIwgNwBUz37oH4+EIz/lIjNy8hSew==",
"license": "MIT",
"dependencies": {
"rxjs": "^7.8.2",
- "uuid": "^11.1.0",
- "xstate": "^5.23.0"
+ "uuid": "^13.0.0",
+ "xstate": "^5.24.0"
},
"engines": {
- "node": ">=18"
+ "node": ">=20.19 <22 || >=22.12"
}
},
"node_modules/@sanity/comlink/node_modules/uuid": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz",
- "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==",
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz",
+ "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==",
"funding": [
"https://github.com/sponsors/broofa",
"https://github.com/sponsors/ctavan"
],
"license": "MIT",
"bin": {
- "uuid": "dist/esm/bin/uuid"
+ "uuid": "dist-node/bin/uuid"
}
},
"node_modules/@sanity/descriptors": {
@@ -5827,9 +5800,9 @@
}
},
"node_modules/@sanity/diff": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@sanity/diff/-/diff-4.20.0.tgz",
- "integrity": "sha512-+7JDGC7Z8gB/u2KzFcwv5Cvfa+6EmC6ASoZ9wWOnIaD+kOcQI15o7jA98ZorUQ7L8Y0ESOI4uOauUC1kTLi+sA==",
+ "version": "4.20.3",
+ "resolved": "https://registry.npmjs.org/@sanity/diff/-/diff-4.20.3.tgz",
+ "integrity": "sha512-28eEozA8KfO6bzocRD0bXcpyo5hneZQNI4DXlDSnwSJ03kRpdyxo48nc2snjBEEAYWl+JzvURe2mXy6CVSD98A==",
"license": "MIT",
"dependencies": {
"@sanity/diff-match-patch": "^3.2.0"
@@ -6239,9 +6212,9 @@
"license": "MIT"
},
"node_modules/@sanity/message-protocol": {
- "version": "0.17.7",
- "resolved": "https://registry.npmjs.org/@sanity/message-protocol/-/message-protocol-0.17.7.tgz",
- "integrity": "sha512-CzT8hs70M/eKYvQ8B58GSpAeznH+We9e6fARt99b+BBv52aaJpM/ogz9bCVVRgNJvumiuNyzzOYnl39uWrUBFw==",
+ "version": "0.17.8",
+ "resolved": "https://registry.npmjs.org/@sanity/message-protocol/-/message-protocol-0.17.8.tgz",
+ "integrity": "sha512-bx/NvakGt7Pm1JcHGzL5GVnPINa3XLd/YPF5JNo3NOO/yZiHMYM54+HK0u98ECZTLhlDe7+ALtok+lyQh3S+3g==",
"license": "MIT",
"dependencies": {
"@sanity/comlink": "^4.0.1"
@@ -6250,47 +6223,20 @@
"node": ">=20.0.0"
}
},
- "node_modules/@sanity/message-protocol/node_modules/@sanity/comlink": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@sanity/comlink/-/comlink-4.0.1.tgz",
- "integrity": "sha512-vdGOd6sxNjqTo2H3Q3L2/Gepy+cDBiQ1mr9ck7c/A9o4NnmBLoDliifsNHIwgNwBUz37oH4+EIz/lIjNy8hSew==",
- "license": "MIT",
- "dependencies": {
- "rxjs": "^7.8.2",
- "uuid": "^13.0.0",
- "xstate": "^5.24.0"
- },
- "engines": {
- "node": ">=20.19 <22 || >=22.12"
- }
- },
- "node_modules/@sanity/message-protocol/node_modules/uuid": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz",
- "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==",
- "funding": [
- "https://github.com/sponsors/broofa",
- "https://github.com/sponsors/ctavan"
- ],
- "license": "MIT",
- "bin": {
- "uuid": "dist-node/bin/uuid"
- }
- },
"node_modules/@sanity/migrate": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@sanity/migrate/-/migrate-4.20.0.tgz",
- "integrity": "sha512-eQLTn24zkbOxwvFW5WHfqmPI+F+uQgePhB8Ma9TNTvizXts4FymLnozhWCCHZY1zFPq5sp3IQDz3KPH8g/2aQg==",
+ "version": "4.20.3",
+ "resolved": "https://registry.npmjs.org/@sanity/migrate/-/migrate-4.20.3.tgz",
+ "integrity": "sha512-q9ZSevnJ3jEfqnSR00oENYmAHksZ15ywMOi/e9F0htzTcMhSYcrbj+cuVE6UEt2yC5xtcC3gVKWuEyjic1MVOw==",
"license": "MIT",
"dependencies": {
"@sanity/client": "^7.13.1",
"@sanity/mutate": "^0.14.0",
- "@sanity/types": "4.20.0",
- "@sanity/util": "4.20.0",
+ "@sanity/types": "4.20.3",
+ "@sanity/util": "4.20.3",
"arrify": "^2.0.1",
"debug": "^4.4.3",
"fast-fifo": "^1.3.2",
- "groq-js": "^1.21.0",
+ "groq-js": "^1.22.0",
"p-map": "^7.0.1"
},
"engines": {
@@ -6375,71 +6321,49 @@
}
},
"node_modules/@sanity/mutator": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@sanity/mutator/-/mutator-4.20.0.tgz",
- "integrity": "sha512-hw5+Y1+4JVqGkE1cqSohnOEJLMsN0FCZBfw0xwD5cU9zSxygaVBKZKBFNcpnt4QGkexY6zRe0Up+2XHrdp0fPw==",
+ "version": "4.20.3",
+ "resolved": "https://registry.npmjs.org/@sanity/mutator/-/mutator-4.20.3.tgz",
+ "integrity": "sha512-trsp21QLA/eRF/mUn4PrDMADo3rtTUvgfqCDAaiVvxgLScmjNRoQXmGWuj75PSwJyx12O+gsLWrNMJd+4KzGLA==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@sanity/diff-match-patch": "^3.2.0",
- "@sanity/types": "4.20.0",
+ "@sanity/types": "4.20.3",
"@sanity/uuid": "^3.0.2",
"debug": "^4.4.3",
"lodash": "^4.17.21"
}
},
- "node_modules/@sanity/next-loader": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@sanity/next-loader/-/next-loader-2.1.2.tgz",
- "integrity": "sha512-9vBkK9/wGfEHTCRhj9L2BxDJRsuyHKatsBwCwRsh9mgn0K6DgAxWd+OYdycCGuPnAK7WR/MHAibW0AdAXk1mOA==",
- "deprecated": "This package is deprecated. Please use 'next-sanity/live' instead.",
- "license": "MIT",
- "dependencies": {
- "@sanity/client": "^7.8.2",
- "@sanity/comlink": "^3.0.9",
- "@sanity/presentation-comlink": "^1.0.29",
- "dequal": "^2.0.3",
- "use-effect-event": "^2.0.3"
- },
- "engines": {
- "node": ">=18.18"
- },
- "peerDependencies": {
- "next": "^14.1 || ^15",
- "react": "^18.3 || ^19"
- }
- },
"node_modules/@sanity/presentation-comlink": {
- "version": "1.0.33",
- "resolved": "https://registry.npmjs.org/@sanity/presentation-comlink/-/presentation-comlink-1.0.33.tgz",
- "integrity": "sha512-8egBjVuXT3O0dChWf7C/zzvNCG5FgA8cK9hHPDArAcrtY1MbNkCqCrC04Nm7egJ/s4vZBcZx4F/dt0GPXfhYNg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@sanity/presentation-comlink/-/presentation-comlink-2.0.1.tgz",
+ "integrity": "sha512-D0S2CfVyda99cd/8SnXxQ2tsVlVuRq4CAOjxRuF53evYmBhpWezSEpWKqAa0e1lunGBKK1EroxmOzb5ofNRwMg==",
"license": "MIT",
"dependencies": {
- "@sanity/comlink": "^3.1.1",
- "@sanity/visual-editing-types": "^1.1.6"
+ "@sanity/comlink": "^4.0.1",
+ "@sanity/visual-editing-types": "^1.1.8"
},
"engines": {
- "node": ">=18"
+ "node": ">=20.19 <22 || >=22.12"
}
},
"node_modules/@sanity/prettier-config": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@sanity/prettier-config/-/prettier-config-2.0.2.tgz",
- "integrity": "sha512-JNqHc8cHJ7usSzC5DDJZOlq1mLN+uLF9ZLqtzcX5g8hZUC+Rj5vmFHJfxvOiLjGHqiFOmSS0lfyDE9DR34o3lg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@sanity/prettier-config/-/prettier-config-2.0.3.tgz",
+ "integrity": "sha512-ceKl07z8S0eHh5tcSDAZBjW1OdrYM841xO+46XZ2+ZRex6s9jbzibeupOcaHgPjGwInmqaK8NCRhzPDo2VBgYA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@prettier/plugin-oxc": "^0.0.5",
- "prettier-plugin-packagejson": "^2.5.19"
+ "@prettier/plugin-oxc": "^0.1.2",
+ "prettier-plugin-packagejson": "^2.5.20"
},
"peerDependencies": {
- "prettier": "^3.6.2"
+ "prettier": "^3.7.0"
}
},
"node_modules/@sanity/preview-url-secret": {
- "version": "2.1.16",
- "resolved": "https://registry.npmjs.org/@sanity/preview-url-secret/-/preview-url-secret-2.1.16.tgz",
- "integrity": "sha512-w8N0x8JL4iJ5BZvt9X9pTiXQcSIvBsqtN9rYp7uD5X7JEOgm7heTCxfBYFJUj3Pv5n8Z8W4d872AXZBI5stB6Q==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@sanity/preview-url-secret/-/preview-url-secret-3.0.0.tgz",
+ "integrity": "sha512-O7o6hsxbMp7y20znU9seV6h8WeTS+U4ovtqLd6j3oaSRyuriZenN/O6K39LJaKC2TZY1RUsYRvcv5/rNq7sAEQ==",
"license": "MIT",
"dependencies": {
"@sanity/uuid": "3.0.2"
@@ -6462,13 +6386,13 @@
}
},
"node_modules/@sanity/runtime-cli": {
- "version": "11.2.0",
- "resolved": "https://registry.npmjs.org/@sanity/runtime-cli/-/runtime-cli-11.2.0.tgz",
- "integrity": "sha512-cA00C4gCXn3pQpZrV1eJkZxlmpKurBVJBtm7eHZokrHWkjq+sX4UNudCeZPNhplLAtlCLeDR2QXcS5Qj9FHtag==",
+ "version": "11.2.5",
+ "resolved": "https://registry.npmjs.org/@sanity/runtime-cli/-/runtime-cli-11.2.5.tgz",
+ "integrity": "sha512-KcQdkQMpvC9GgibSGYtmKHPs64Oem/JfaFEwoNIKvRfCqCNgdS4nXAVKW13sSN3CDGRIyfgE2MT9uSjRpQU7jA==",
"license": "MIT",
"dependencies": {
- "@architect/hydrate": "^4.0.10",
- "@architect/inventory": "^4.0.9",
+ "@architect/hydrate": "^5.0.1",
+ "@architect/inventory": "^5.0.0",
"@oclif/core": "^4.8.0",
"@oclif/plugin-help": "^6.2.36",
"@sanity/blueprints-parser": "^0.3.0",
@@ -6745,16 +6669,16 @@
}
},
"node_modules/@sanity/schema": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@sanity/schema/-/schema-4.20.0.tgz",
- "integrity": "sha512-63hyzm+mPnt74dCVa2tqekIrgzBieEzQ1O6KqScmisQZfq7izNKq0WTG2AQ/bqk4gdn8XkC2TbqNTipZFOxXZw==",
+ "version": "4.20.3",
+ "resolved": "https://registry.npmjs.org/@sanity/schema/-/schema-4.20.3.tgz",
+ "integrity": "sha512-/7U5mOgwmeE1hFXjsp/by7kJ0+q9sG0SrfPLQSSlfLkvUm/Wl89MdjGaZv2xxNqfkOVYoBNpk8MBKcnsn971AQ==",
"license": "MIT",
"dependencies": {
"@sanity/descriptors": "^1.2.1",
"@sanity/generate-help-url": "^3.0.0",
- "@sanity/types": "4.20.0",
+ "@sanity/types": "4.20.3",
"arrify": "^2.0.1",
- "groq-js": "^1.21.0",
+ "groq-js": "^1.22.0",
"humanize-list": "^1.0.1",
"leven": "^3.1.0",
"lodash": "^4.17.21",
@@ -6786,6 +6710,20 @@
"node": ">=20.0.0"
}
},
+ "node_modules/@sanity/sdk/node_modules/@sanity/comlink": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@sanity/comlink/-/comlink-3.1.1.tgz",
+ "integrity": "sha512-UyBJG4oWNs+VGVo5Yr5aKir5bgMzF/dnaNYjqxP2+5+iXnvhVOcI6dAtEXDj7kMmn5/ysHNKbLDlW6aVeBm7xg==",
+ "license": "MIT",
+ "dependencies": {
+ "rxjs": "^7.8.2",
+ "uuid": "^11.1.0",
+ "xstate": "^5.23.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@sanity/sdk/node_modules/@sanity/diff-patch": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/@sanity/diff-patch/-/diff-patch-6.0.0.tgz",
@@ -6942,9 +6880,9 @@
}
},
"node_modules/@sanity/types": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@sanity/types/-/types-4.20.0.tgz",
- "integrity": "sha512-T/rpGYHFff44W+AM7v8zP/K8GilNp1xotKb2xhMj+caLpZ4eGbs+Ov8tyGzCNs60ark9e0/qoN9XowyQ2lBunA==",
+ "version": "4.20.3",
+ "resolved": "https://registry.npmjs.org/@sanity/types/-/types-4.20.3.tgz",
+ "integrity": "sha512-Vuj3JPPvfLJkoeqn0s3uXguc1Sn9uCWaCOzX2dG9qOSjsmGuVvcbA9QI3CvLUjg/TzFUg5MUXf9FoSRNzQkL9w==",
"license": "MIT",
"dependencies": {
"@sanity/client": "^7.13.1",
@@ -6981,15 +6919,15 @@
}
},
"node_modules/@sanity/util": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@sanity/util/-/util-4.20.0.tgz",
- "integrity": "sha512-U5ifvFPThIjOyNDUQ0+VqlUYzq5pltfdW6RqyuziLCCqRUgFEwR+9PUxL4EuJa89XofdXCvCk4gksbuSQD+JUA==",
+ "version": "4.20.3",
+ "resolved": "https://registry.npmjs.org/@sanity/util/-/util-4.20.3.tgz",
+ "integrity": "sha512-P3TxHa6fYc500es4vp+q6UKXmxt8tMeD1MAZ1pcChNCSbze2xqFKS7it2PPhURO8NNSj2SN3eH9YXZhsyhq9Ug==",
"license": "MIT",
"dependencies": {
"@date-fns/tz": "^1.4.1",
"@date-fns/utc": "^2.1.1",
"@sanity/client": "^7.13.1",
- "@sanity/types": "4.20.0",
+ "@sanity/types": "4.20.3",
"date-fns": "^4.1.0",
"rxjs": "^7.8.2"
},
@@ -7008,9 +6946,9 @@
}
},
"node_modules/@sanity/vision": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@sanity/vision/-/vision-4.20.0.tgz",
- "integrity": "sha512-SWM1Vh/q0jWQ3e+Y5QgXUD5KgDbPtUYreMQ9zluqKIQF1YM6LfSxKqpDbddXHMh0ljA4FFHmc6j8UsDIU6g0PA==",
+ "version": "4.20.3",
+ "resolved": "https://registry.npmjs.org/@sanity/vision/-/vision-4.20.3.tgz",
+ "integrity": "sha512-UKawdSlgZ+xZRNtkff7vtqvLTrUyiW5cSm4uOAw+l8PtDqtoVVi2vxN7bnI4tKI95nV3mmLpvEjb2Uu722gurg==",
"license": "MIT",
"dependencies": {
"@codemirror/autocomplete": "^6.20.0",
@@ -7046,18 +6984,18 @@
}
},
"node_modules/@sanity/visual-editing": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/@sanity/visual-editing/-/visual-editing-3.2.4.tgz",
- "integrity": "sha512-9tl0WycFXTlFMWH/ZciT/yMZUNUqmn9GAWCGfW+eOKLrlJouyKAJWbYD5+bit/8M7/B19f03rpXCWPgOhE03fg==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@sanity/visual-editing/-/visual-editing-4.0.2.tgz",
+ "integrity": "sha512-+xIoQrNkTbB4DsI5S1J4XfrDHf9sm5X2OK7dA3RhbubY04qGrcf/e33fESjHbKA4Om9rs/077erR+Ldq4JYmWw==",
"license": "MIT",
"dependencies": {
- "@sanity/comlink": "^3.1.1",
+ "@sanity/comlink": "^4.0.0",
"@sanity/icons": "^3.7.4",
"@sanity/insert-menu": "^2.1.0",
"@sanity/mutate": "0.11.0-canary.4",
- "@sanity/presentation-comlink": "^1.0.33",
- "@sanity/preview-url-secret": "^2.1.15",
- "@sanity/ui": "^3.1.6",
+ "@sanity/presentation-comlink": "^2.0.0",
+ "@sanity/preview-url-secret": "^3.0.0",
+ "@sanity/ui": "^3.1.10",
"@sanity/visual-editing-csm": "^2.0.26",
"@vercel/stega": "0.1.2",
"get-random-values-esm": "^1.0.2",
@@ -7072,7 +7010,7 @@
},
"peerDependencies": {
"@remix-run/react": ">= 2",
- "@sanity/client": "^7.11.2",
+ "@sanity/client": "^7.12.0",
"@sveltejs/kit": ">= 2",
"next": ">= 13 || >=14.3.0-canary.0 <14.3.0 || >=15.0.0-rc || >=16.0.0-0",
"react": "^18.3 || ^19",
@@ -7678,7 +7616,6 @@
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.25.tgz",
"integrity": "sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==",
"license": "MIT",
- "peer": true,
"dependencies": {
"undici-types": "~6.21.0"
}
@@ -7700,7 +7637,6 @@
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz",
"integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==",
"license": "MIT",
- "peer": true,
"dependencies": {
"csstype": "^3.2.2"
}
@@ -7828,7 +7764,6 @@
"integrity": "sha512-PC0PDZfJg8sP7cmKe6L3QIL8GZwU5aRvUFedqSIpw3B+QjRSUZeeITC2M5XKeMXEzL6wccN196iy3JLwKNvDVA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@typescript-eslint/scope-manager": "8.48.1",
"@typescript-eslint/types": "8.48.1",
@@ -8490,7 +8425,6 @@
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"license": "MIT",
- "peer": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -8509,12 +8443,12 @@
}
},
"node_modules/acorn-loose": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/acorn-loose/-/acorn-loose-8.4.0.tgz",
- "integrity": "sha512-M0EUka6rb+QC4l9Z3T0nJEzNOO7JcoJlYMrBlyBCiFSXRyxjLKayd4TbQs2FDRWQU1h9FR7QVNHt+PEaoNL5rQ==",
+ "version": "8.5.2",
+ "resolved": "https://registry.npmjs.org/acorn-loose/-/acorn-loose-8.5.2.tgz",
+ "integrity": "sha512-PPvV6g8UGMGgjrMu+n/f9E/tCSkNQ2Y97eFvuVdJfG11+xdIeDcLyNdC8SHcrHbRqkfwLASdplyR6B6sKM1U4A==",
"license": "MIT",
"dependencies": {
- "acorn": "^8.11.0"
+ "acorn": "^8.15.0"
},
"engines": {
"node": ">=0.4.0"
@@ -9104,9 +9038,9 @@
"license": "MIT"
},
"node_modules/baseline-browser-mapping": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.0.tgz",
- "integrity": "sha512-Mh++g+2LPfzZToywfE1BUzvZbfOY52Nil0rn9H1CPC5DJ7fX+Vir7nToBeoiSbB1zTNeGYbELEvJESujgGrzXw==",
+ "version": "2.9.2",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.2.tgz",
+ "integrity": "sha512-PxSsosKQjI38iXkmb3d0Y32efqyA0uW4s41u4IVBsLlWLhCiYNpH/AfNOVWRqCQBlD8TFJTz6OUWNd4DFJCnmw==",
"license": "Apache-2.0",
"bin": {
"baseline-browser-mapping": "dist/cli.js"
@@ -9221,7 +9155,6 @@
}
],
"license": "MIT",
- "peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.9.0",
"caniuse-lite": "^1.0.30001759",
@@ -10559,9 +10492,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.5.263",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.263.tgz",
- "integrity": "sha512-DrqJ11Knd+lo+dv+lltvfMDLU27g14LMdH2b0O3Pio4uk0x+z7OR+JrmyacTPN2M8w3BrZ7/RTwG3R9B7irPlg==",
+ "version": "1.5.265",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.265.tgz",
+ "integrity": "sha512-B7IkLR1/AE+9jR2LtVF/1/6PFhY5TlnEHnlrKmGk7PvkJibg5jr+mLXLLzq3QYl6PA1T/vLDthQPqIPAlS/PPA==",
"license": "ISC"
},
"node_modules/emoji-regex": {
@@ -10792,7 +10725,6 @@
"integrity": "sha512-jd0f4NHbD6cALCyGElNpGAOtWxSq46l9X/sWB0Nzd5er4Kz2YTm+Vl0qKFT9KUJvD8+fiO8AvoHhFvEatfVixA==",
"hasInstallScript": true,
"license": "MIT",
- "peer": true,
"bin": {
"esbuild": "bin/esbuild"
},
@@ -10867,7 +10799,6 @@
"integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1",
@@ -12140,9 +12071,9 @@
}
},
"node_modules/get-it": {
- "version": "8.6.10",
- "resolved": "https://registry.npmjs.org/get-it/-/get-it-8.6.10.tgz",
- "integrity": "sha512-27StIK860ZVp2bhsG/aTWpcoA4OrFxtMqBbesa5sR23m5OxfVQYCnpm2rPQeo3gs5qsUk0FdkISLgXRJ4HynNw==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/get-it/-/get-it-8.7.0.tgz",
+ "integrity": "sha512-uong/+jOz0GiuIWIUJXp2tnQKgQKukC99LEqOxLckPUoHYoerQbV6vC0Tu+/pSgk0tgHh1xX2aJtCk4y35LLLg==",
"license": "MIT",
"dependencies": {
"@types/follow-redirects": "^1.14.4",
@@ -12349,9 +12280,9 @@
}
},
"node_modules/glob": {
- "version": "10.4.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
- "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
+ "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
"license": "ISC",
"dependencies": {
"foreground-child": "^3.1.0",
@@ -12497,9 +12428,9 @@
"license": "MIT"
},
"node_modules/groq": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/groq/-/groq-4.20.0.tgz",
- "integrity": "sha512-OiQZWNf+V+5NG0Ehcx07NDe8SHXcxYTSmQdzeJHUeSunkhflBeUmeJOL7Hw2tmC36AjsFjJPyTGxR4qJsRQzTA==",
+ "version": "4.20.3",
+ "resolved": "https://registry.npmjs.org/groq/-/groq-4.20.3.tgz",
+ "integrity": "sha512-2x/aXTvEh1let4T0C0MFDMwwvqlg+ge33V1kUoAir9fMvFRFbF6XNzEq0yKSLZ3m07aOXZWiRGxKpnuy17cpmA==",
"license": "MIT",
"engines": {
"node": ">=20.19 <22 || >=22.12"
@@ -12826,7 +12757,6 @@
}
],
"license": "MIT",
- "peer": true,
"dependencies": {
"@babel/runtime": "^7.23.2"
}
@@ -13903,7 +13833,6 @@
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz",
"integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==",
"license": "MIT",
- "peer": true,
"dependencies": {
"cssstyle": "^4.2.1",
"data-urls": "^5.0.0",
@@ -15165,7 +15094,6 @@
"resolved": "https://registry.npmjs.org/next/-/next-15.5.7.tgz",
"integrity": "sha512-+t2/0jIJ48kUpGKkdlhgkv+zPTEOoXyr60qXe68eB/pl3CMJaLeIGjzp5D6Oqt25hCBiBTt8wEeeAzfJvUKnPQ==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@next/env": "15.5.7",
"@swc/helpers": "0.5.15",
@@ -15214,28 +15142,32 @@
}
},
"node_modules/next-sanity": {
- "version": "10.1.4",
- "resolved": "https://registry.npmjs.org/next-sanity/-/next-sanity-10.1.4.tgz",
- "integrity": "sha512-CeZSDpQRXmLbLbpzg+HbsVMRau+ZL71o2qdtYFk8uKy5o+cBc6U3q8+kS18SW55Tv0do1G8fm4srOCSTzcmeRQ==",
+ "version": "11.6.10",
+ "resolved": "https://registry.npmjs.org/next-sanity/-/next-sanity-11.6.10.tgz",
+ "integrity": "sha512-662AfTZiiPaM46zIuyOmp7E57s/415v8vFAIR16CwyZ7fSvCoFQ6WEymVXoKOSLZGvXBrLOvY6JutLP8hqynCw==",
"license": "MIT",
"dependencies": {
- "@portabletext/react": "^4.0.3",
- "@sanity/client": "^7.11.1",
- "@sanity/next-loader": "^2.1.2",
- "@sanity/preview-url-secret": "^2.1.15",
- "@sanity/visual-editing": "^3.0.5",
- "groq": "^4.7.0",
- "history": "^5.3.0"
+ "@portabletext/react": "^5.0.0",
+ "@sanity/client": "^7.13.0",
+ "@sanity/comlink": "^4.0.1",
+ "@sanity/presentation-comlink": "^2.0.1",
+ "@sanity/preview-url-secret": "^3.0.0",
+ "@sanity/visual-editing": "^4.0.2",
+ "dequal": "^2.0.3",
+ "groq": "^4.19.0",
+ "history": "^5.3.0",
+ "server-only": "^0.0.1",
+ "use-effect-event": "^2.0.3"
},
"engines": {
- "node": ">=20.19"
+ "node": ">=20.19 <22 || >=22.12"
},
"peerDependencies": {
- "@sanity/client": "^7.11.1",
- "next": "^15.1",
+ "@sanity/client": "^7.13.0",
+ "next": "^15.1.0-0 || ^16.0.0-0",
"react": "^18.3 || ^19",
"react-dom": "^18.3 || ^19",
- "sanity": "^4.7.0",
+ "sanity": "^4.19.0",
"styled-components": "^6.1"
}
},
@@ -15647,13 +15579,13 @@
}
},
"node_modules/oxc-parser": {
- "version": "0.97.0",
- "resolved": "https://registry.npmjs.org/oxc-parser/-/oxc-parser-0.97.0.tgz",
- "integrity": "sha512-gxUfidyxJY97BJ+JEN/PxiIxIU1Y1FAPyMTncgNymgd/Cb+TYprsXZqjVnVCmTUlIBoA1XVjbfP0+Iz+uAt7Ow==",
+ "version": "0.99.0",
+ "resolved": "https://registry.npmjs.org/oxc-parser/-/oxc-parser-0.99.0.tgz",
+ "integrity": "sha512-MpS1lbd2vR0NZn1v0drpgu7RUFu3x9Rd0kxExObZc2+F+DIrV0BOMval/RO3BYGwssIOerII6iS8EbbpCCZQpQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@oxc-project/types": "^0.97.0"
+ "@oxc-project/types": "^0.99.0"
},
"engines": {
"node": "^20.19.0 || >=22.12.0"
@@ -15662,21 +15594,21 @@
"url": "https://github.com/sponsors/Boshen"
},
"optionalDependencies": {
- "@oxc-parser/binding-android-arm64": "0.97.0",
- "@oxc-parser/binding-darwin-arm64": "0.97.0",
- "@oxc-parser/binding-darwin-x64": "0.97.0",
- "@oxc-parser/binding-freebsd-x64": "0.97.0",
- "@oxc-parser/binding-linux-arm-gnueabihf": "0.97.0",
- "@oxc-parser/binding-linux-arm-musleabihf": "0.97.0",
- "@oxc-parser/binding-linux-arm64-gnu": "0.97.0",
- "@oxc-parser/binding-linux-arm64-musl": "0.97.0",
- "@oxc-parser/binding-linux-riscv64-gnu": "0.97.0",
- "@oxc-parser/binding-linux-s390x-gnu": "0.97.0",
- "@oxc-parser/binding-linux-x64-gnu": "0.97.0",
- "@oxc-parser/binding-linux-x64-musl": "0.97.0",
- "@oxc-parser/binding-wasm32-wasi": "0.97.0",
- "@oxc-parser/binding-win32-arm64-msvc": "0.97.0",
- "@oxc-parser/binding-win32-x64-msvc": "0.97.0"
+ "@oxc-parser/binding-android-arm64": "0.99.0",
+ "@oxc-parser/binding-darwin-arm64": "0.99.0",
+ "@oxc-parser/binding-darwin-x64": "0.99.0",
+ "@oxc-parser/binding-freebsd-x64": "0.99.0",
+ "@oxc-parser/binding-linux-arm-gnueabihf": "0.99.0",
+ "@oxc-parser/binding-linux-arm-musleabihf": "0.99.0",
+ "@oxc-parser/binding-linux-arm64-gnu": "0.99.0",
+ "@oxc-parser/binding-linux-arm64-musl": "0.99.0",
+ "@oxc-parser/binding-linux-riscv64-gnu": "0.99.0",
+ "@oxc-parser/binding-linux-s390x-gnu": "0.99.0",
+ "@oxc-parser/binding-linux-x64-gnu": "0.99.0",
+ "@oxc-parser/binding-linux-x64-musl": "0.99.0",
+ "@oxc-parser/binding-wasm32-wasi": "0.99.0",
+ "@oxc-parser/binding-win32-arm64-msvc": "0.99.0",
+ "@oxc-parser/binding-win32-x64-msvc": "0.99.0"
}
},
"node_modules/p-finally": {
@@ -15941,12 +15873,6 @@
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
"license": "ISC"
},
- "node_modules/path-sort": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/path-sort/-/path-sort-0.1.0.tgz",
- "integrity": "sha512-70MSq7edKtbODYKkqXYzSMQxtYMjDgP3K6D15Fu4KUvpyBPlxDWPvv8JI9GjNDF2K5baPHFEtlg818dOmf2ifg==",
- "license": "MIT"
- },
"node_modules/path-to-regexp": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz",
@@ -16174,7 +16100,6 @@
}
],
"license": "MIT",
- "peer": true,
"dependencies": {
"nanoid": "^3.3.11",
"picocolors": "^1.1.1",
@@ -16232,7 +16157,6 @@
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz",
"integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==",
"license": "MIT",
- "peer": true,
"bin": {
"prettier": "bin/prettier.cjs"
},
@@ -16477,7 +16401,6 @@
"resolved": "https://registry.npmjs.org/react/-/react-19.2.1.tgz",
"integrity": "sha512-DGrYcCWK7tvYMnWh79yrPHt+vdx9tY+1gPZa7nJQtO/p8bLTDaHp4dzwEhQB7pZ4Xe3ok4XKuEPrVuc+wlpkmw==",
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -16508,7 +16431,6 @@
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.1.tgz",
"integrity": "sha512-ibrK8llX2a4eOskq1mXKu/TGZj9qzomO+sNfO98M6d9zIPOEhlBkMkBUBLd1vgS0gQsLDBzA+8jJBVXDnfHmJg==",
"license": "MIT",
- "peer": true,
"dependencies": {
"scheduler": "^0.27.0"
},
@@ -16587,8 +16509,7 @@
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/react-photo-album": {
"version": "2.4.1",
@@ -17199,46 +17120,6 @@
"queue-microtask": "^1.2.2"
}
},
- "node_modules/run-series": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/run-series/-/run-series-1.1.9.tgz",
- "integrity": "sha512-Arc4hUN896vjkqCYrUXquBFtRZdv1PfLbTYP71efP6butxyQ0kWpiNJyAgsxscmQg1cqvHY32/UCBzXedTpU2g==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/run-waterfall": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/run-waterfall/-/run-waterfall-1.1.7.tgz",
- "integrity": "sha512-iFPgh7SatHXOG1ClcpdwHI63geV3Hc/iL6crGSyBlH2PY7Rm/za+zoKz6FfY/Qlw5K7JwSol8pseO8fN6CMhhQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
"node_modules/rxjs": {
"version": "7.8.2",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
@@ -17351,11 +17232,10 @@
"license": "MIT"
},
"node_modules/sanity": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/sanity/-/sanity-4.20.0.tgz",
- "integrity": "sha512-o0zp8HOoN/sFTv6/65VpVUyl0sC881ngNe0T61B2MGMioFJsVQ6zWvijFAdVrgfZG9UWrMVUP7ArzkIM+ievpw==",
+ "version": "4.20.3",
+ "resolved": "https://registry.npmjs.org/sanity/-/sanity-4.20.3.tgz",
+ "integrity": "sha512-4mBh23jQQNqifBX0N0f8B94mt5//nuaf6sr308NaivSKSEhXQ76ko1VSKsDbCYtxFl4vVibYuTCv3POTkHDj6A==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@date-fns/tz": "^1.4.1",
"@dnd-kit/core": "^6.3.1",
@@ -17376,11 +17256,11 @@
"@rexxars/react-json-inspector": "^9.0.1",
"@sanity/asset-utils": "^2.3.0",
"@sanity/bifur-client": "^0.4.1",
- "@sanity/cli": "4.20.0",
+ "@sanity/cli": "4.20.3",
"@sanity/client": "^7.13.1",
"@sanity/color": "^3.0.6",
"@sanity/comlink": "^4.0.1",
- "@sanity/diff": "4.20.0",
+ "@sanity/diff": "4.20.3",
"@sanity/diff-match-patch": "^3.2.0",
"@sanity/diff-patch": "^5.0.0",
"@sanity/eventsource": "^5.0.2",
@@ -17393,16 +17273,16 @@
"@sanity/logos": "^2.2.2",
"@sanity/media-library-types": "^1.0.1",
"@sanity/message-protocol": "^0.17.6",
- "@sanity/migrate": "4.20.0",
- "@sanity/mutator": "4.20.0",
+ "@sanity/migrate": "4.20.3",
+ "@sanity/mutator": "4.20.3",
"@sanity/presentation-comlink": "^2.0.1",
"@sanity/preview-url-secret": "^3.0.0",
- "@sanity/schema": "4.20.0",
+ "@sanity/schema": "4.20.3",
"@sanity/sdk": "2.1.2",
"@sanity/telemetry": "^0.8.0",
- "@sanity/types": "4.20.0",
+ "@sanity/types": "4.20.3",
"@sanity/ui": "^3.1.11",
- "@sanity/util": "4.20.0",
+ "@sanity/util": "4.20.3",
"@sanity/uuid": "^3.0.2",
"@sentry/react": "^8.55.0",
"@tanstack/react-table": "^8.21.3",
@@ -17434,7 +17314,7 @@
"fast-deep-equal": "3.1.3",
"form-data": "^4.0.5",
"get-it": "^8.6.10",
- "groq-js": "^1.21.0",
+ "groq-js": "^1.22.0",
"gunzip-maybe": "^1.4.2",
"history": "^5.3.0",
"i18next": "^23.16.8",
@@ -17473,7 +17353,7 @@
"react-fast-compare": "^3.2.2",
"react-focus-lock": "^2.13.6",
"react-i18next": "15.6.1",
- "react-is": "^19.2.0",
+ "react-is": "^19.2.1",
"react-refractor": "^4.0.0",
"react-rx": "^4.2.2",
"read-pkg-up": "^7.0.1",
@@ -17515,6 +17395,21 @@
"styled-components": "^6.1.15"
}
},
+ "node_modules/sanity-image": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/sanity-image/-/sanity-image-1.0.0.tgz",
+ "integrity": "sha512-a4JlaYiU5bin7zsZwCCRlkWCyVleL88FOeigAuLkBKiNPYS3px0oAjEBleQnpJNdWs/1aikrwPwhY+VN0PRgpg==",
+ "license": "MIT",
+ "dependencies": {
+ "@sanity-image/url-builder": "1.0.0"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0 || ^19.0.0"
+ }
+ },
"node_modules/sanity-plugin-asset-source-unsplash": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/sanity-plugin-asset-source-unsplash/-/sanity-plugin-asset-source-unsplash-4.0.1.tgz",
@@ -17537,74 +17432,10 @@
"styled-components": "^6.1"
}
},
- "node_modules/sanity/node_modules/@portabletext/react": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@portabletext/react/-/react-5.0.0.tgz",
- "integrity": "sha512-ZEYhjsiUn2Dvrhyao3qAvi6C/re9ZBt2atp14dtwWtPruMNgp1uMf3p+URf0pEEhu+rMEh9JeK0A8FgNejEWCg==",
- "license": "MIT",
- "dependencies": {
- "@portabletext/toolkit": "^4.0.0",
- "@portabletext/types": "^3.0.0"
- },
- "engines": {
- "node": ">=20.19 <22 || >=22.12"
- },
- "peerDependencies": {
- "react": "^18.2 || ^19"
- }
- },
- "node_modules/sanity/node_modules/@portabletext/toolkit": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@portabletext/toolkit/-/toolkit-4.0.0.tgz",
- "integrity": "sha512-Jj/QIy3vzZCNcxiUGM7KjGhUhyVjch+9pOzotWRARPNe07R6nbF/cRsKL70q5Xizf+6PVtFYwks4CSXKInC+wg==",
- "license": "MIT",
- "dependencies": {
- "@portabletext/types": "^3.0.0"
- },
- "engines": {
- "node": ">=20.19 <22 || >=22.12"
- }
- },
- "node_modules/sanity/node_modules/@portabletext/types": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@portabletext/types/-/types-3.0.0.tgz",
- "integrity": "sha512-7U8+bFcnguNtXr4rwMDj0EvJJDRzLaaof2mQqCjUcqxuuJpAppFaATZgrKmPI1uBgtFMi4unk1nIaOOmLHrX8Q==",
- "license": "MIT",
- "engines": {
- "node": ">=20.19 <22 || >=22.12"
- }
- },
- "node_modules/sanity/node_modules/@sanity/comlink": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@sanity/comlink/-/comlink-4.0.1.tgz",
- "integrity": "sha512-vdGOd6sxNjqTo2H3Q3L2/Gepy+cDBiQ1mr9ck7c/A9o4NnmBLoDliifsNHIwgNwBUz37oH4+EIz/lIjNy8hSew==",
- "license": "MIT",
- "dependencies": {
- "rxjs": "^7.8.2",
- "uuid": "^13.0.0",
- "xstate": "^5.24.0"
- },
- "engines": {
- "node": ">=20.19 <22 || >=22.12"
- }
- },
- "node_modules/sanity/node_modules/@sanity/comlink/node_modules/uuid": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz",
- "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==",
- "funding": [
- "https://github.com/sponsors/broofa",
- "https://github.com/sponsors/ctavan"
- ],
- "license": "MIT",
- "bin": {
- "uuid": "dist-node/bin/uuid"
- }
- },
"node_modules/sanity/node_modules/@sanity/image-url": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@sanity/image-url/-/image-url-2.0.1.tgz",
- "integrity": "sha512-5PEZiWMa70cTp/+S2shkHkhdh3rKClZd86K3sNbk78tyGP86cdYWnEicA54GZA52ZJ/l4lmpmB8m/FLzR4H5wg==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@sanity/image-url/-/image-url-2.0.2.tgz",
+ "integrity": "sha512-JnwFIHATLXHGVTCKmVwV0xy3xKwGlgVfeUB9cWxu72xJZMsQUyFgGiTz4zD9gRXuncAndkmtzHeIG+2vhKgxHA==",
"license": "MIT",
"dependencies": {
"@sanity/signed-urls": "^2.0.1"
@@ -17613,44 +17444,6 @@
"node": ">=20.19.0"
}
},
- "node_modules/sanity/node_modules/@sanity/presentation-comlink": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@sanity/presentation-comlink/-/presentation-comlink-2.0.1.tgz",
- "integrity": "sha512-D0S2CfVyda99cd/8SnXxQ2tsVlVuRq4CAOjxRuF53evYmBhpWezSEpWKqAa0e1lunGBKK1EroxmOzb5ofNRwMg==",
- "license": "MIT",
- "dependencies": {
- "@sanity/comlink": "^4.0.1",
- "@sanity/visual-editing-types": "^1.1.8"
- },
- "engines": {
- "node": ">=20.19 <22 || >=22.12"
- }
- },
- "node_modules/sanity/node_modules/@sanity/preview-url-secret": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@sanity/preview-url-secret/-/preview-url-secret-3.0.0.tgz",
- "integrity": "sha512-O7o6hsxbMp7y20znU9seV6h8WeTS+U4ovtqLd6j3oaSRyuriZenN/O6K39LJaKC2TZY1RUsYRvcv5/rNq7sAEQ==",
- "license": "MIT",
- "dependencies": {
- "@sanity/uuid": "3.0.2"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@sanity/client": "^7.12.0",
- "@sanity/icons": "*",
- "sanity": "*"
- },
- "peerDependenciesMeta": {
- "@sanity/icons": {
- "optional": true
- },
- "sanity": {
- "optional": true
- }
- }
- },
"node_modules/sanity/node_modules/isexe": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
@@ -17769,6 +17562,12 @@
"semver": "bin/semver"
}
},
+ "node_modules/server-only": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz",
+ "integrity": "sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==",
+ "license": "MIT"
+ },
"node_modules/set-function-length": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
@@ -17818,15 +17617,6 @@
"node": ">= 0.4"
}
},
- "node_modules/sha": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/sha/-/sha-3.0.0.tgz",
- "integrity": "sha512-DOYnM37cNsLNSGIG/zZWch5CKIRNoLdYUQTQlcgkRkoYIUwDYjqDyye16YcDZg/OPdcbUgTKMjc4SY6TB7ZAPw==",
- "license": "(BSD-2-Clause OR MIT)",
- "dependencies": {
- "graceful-fs": "^4.1.2"
- }
- },
"node_modules/sha256-uint8array": {
"version": "0.10.7",
"resolved": "https://registry.npmjs.org/sha256-uint8array/-/sha256-uint8array-0.10.7.tgz",
@@ -18047,11 +17837,14 @@
}
},
"node_modules/slate": {
- "version": "0.120.0",
- "resolved": "https://registry.npmjs.org/slate/-/slate-0.120.0.tgz",
- "integrity": "sha512-CXK/DADGgMZb4z9RTtXylzIDOxvmNJEF9bXV2bAGkLWhQ3rm7GORY9q0H/W41YJvAGZsLbH7nnrhMYr550hWDQ==",
+ "version": "0.118.1",
+ "resolved": "https://registry.npmjs.org/slate/-/slate-0.118.1.tgz",
+ "integrity": "sha512-6H1DNgnSwAFhq/pIgf+tLvjNzH912M5XrKKhP9Frmbds2zFXdSJ6L/uFNyVKxQIkPzGWPD0m+wdDfmEuGFH5Tg==",
"license": "MIT",
- "peer": true
+ "dependencies": {
+ "immer": "^10.0.3",
+ "tiny-warning": "^1.0.3"
+ }
},
"node_modules/slate-dom": {
"version": "0.119.0",
@@ -18081,9 +17874,9 @@
}
},
"node_modules/slate-react": {
- "version": "0.120.0",
- "resolved": "https://registry.npmjs.org/slate-react/-/slate-react-0.120.0.tgz",
- "integrity": "sha512-CMEJzozriddBjVmbxNvc2erCkXUuEkgdXIdM+jEMvxWMb51z0zhIVzgoxbGprVpzwBXY8Kv7aZOUDVMomzWH/g==",
+ "version": "0.119.0",
+ "resolved": "https://registry.npmjs.org/slate-react/-/slate-react-0.119.0.tgz",
+ "integrity": "sha512-snHqhQ1NkZXyuqG4JTxywRg1accho/hnioM2JIYqziaQQcgfqLi2Pe1AHL82WIC1pLWdzPjy2O7drnSbO0DBsQ==",
"license": "MIT",
"dependencies": {
"@juggle/resize-observer": "^3.4.0",
@@ -18097,7 +17890,17 @@
"react": ">=18.2.0",
"react-dom": ">=18.2.0",
"slate": ">=0.114.0",
- "slate-dom": ">=0.119.0"
+ "slate-dom": ">=0.116.0"
+ }
+ },
+ "node_modules/slate/node_modules/immer": {
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz",
+ "integrity": "sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/immer"
}
},
"node_modules/sonner": {
@@ -18606,7 +18409,6 @@
"resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.19.tgz",
"integrity": "sha512-1v/e3Dl1BknC37cXMhwGomhO8AkYmN41CqyX9xhUDxry1ns3BFQy2lLDRQXJRdVVWB9OHemv/53xaStimvWyuA==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@emotion/is-prop-valid": "1.2.2",
"@emotion/unitless": "0.8.1",
@@ -18729,12 +18531,6 @@
"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
"license": "MIT"
},
- "node_modules/symlink-or-copy": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/symlink-or-copy/-/symlink-or-copy-1.3.1.tgz",
- "integrity": "sha512-0K91MEXFpBUaywiwSSkmKjnGcasG/rVBXFLJz5DrgGabpYD6N+3yZrfD6uUIfpuTu65DZLHi7N8CizHc07BPZA==",
- "license": "MIT"
- },
"node_modules/synckit": {
"version": "0.11.11",
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz",
@@ -18755,8 +18551,7 @@
"version": "4.1.17",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.17.tgz",
"integrity": "sha512-j9Ee2YjuQqYT9bbRTfTZht9W/ytp5H+jJpZKiYdP/bpnXARAuELt9ofP0lPnmHjbga7SNQIxdTAXCmtKVYjN+Q==",
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/tapable": {
"version": "2.3.0",
@@ -18902,6 +18697,12 @@
"integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==",
"license": "MIT"
},
+ "node_modules/tiny-warning": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
+ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==",
+ "license": "MIT"
+ },
"node_modules/tinyglobby": {
"version": "0.2.15",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
@@ -19201,9 +19002,8 @@
"version": "5.9.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
- "devOptional": true,
+ "dev": true,
"license": "Apache-2.0",
- "peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -19417,9 +19217,9 @@
}
},
"node_modules/update-browserslist-db": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.0.tgz",
- "integrity": "sha512-Dn+NlSF/7+0lVSEZ57SYQg6/E44arLzsVOGgrElBn/BlG1B8WKdbLppOocFrXwRNTkNlgdGNaBgH1o0lggDPiw==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz",
+ "integrity": "sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==",
"funding": [
{
"type": "opencollective",
@@ -19551,7 +19351,6 @@
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz",
"integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==",
"license": "MIT",
- "peer": true,
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
}
@@ -19609,7 +19408,6 @@
"resolved": "https://registry.npmjs.org/vite/-/vite-7.2.6.tgz",
"integrity": "sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==",
"license": "MIT",
- "peer": true,
"dependencies": {
"esbuild": "^0.25.0",
"fdir": "^6.5.0",
@@ -20577,7 +20375,6 @@
"resolved": "https://registry.npmjs.org/xstate/-/xstate-5.24.0.tgz",
"integrity": "sha512-h/213ThFfZbOefUWrLc9ZvYggEVBr0jrD2dNxErxNMLQfZRN19v+80TaXFho17hs8Q2E1mULtm/6nv12um0C4A==",
"license": "MIT",
- "peer": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/xstate"
diff --git a/studio/sample-data.tar.gz b/studio/sample-data.tar.gz
index 7cf28255..4d37f1a5 100644
Binary files a/studio/sample-data.tar.gz and b/studio/sample-data.tar.gz differ
diff --git a/studio/schema.json b/studio/schema.json
index e531a711..8126d1ed 100644
--- a/studio/schema.json
+++ b/studio/schema.json
@@ -12,177 +12,21 @@
"value": "callToAction"
}
},
- "heading": {
- "type": "objectAttribute",
- "value": {
- "type": "string"
- },
- "optional": false
- },
- "text": {
- "type": "objectAttribute",
- "value": {
- "type": "string"
- },
- "optional": true
- },
- "buttonText": {
- "type": "objectAttribute",
- "value": {
- "type": "string"
- },
- "optional": true
- },
- "link": {
- "type": "objectAttribute",
- "value": {
- "type": "inline",
- "name": "link"
- },
- "optional": true
- }
- }
- }
- },
- {
- "name": "link",
- "type": "type",
- "value": {
- "type": "object",
- "attributes": {
- "_type": {
- "type": "objectAttribute",
- "value": {
- "type": "string",
- "value": "link"
- }
- },
- "linkType": {
- "type": "objectAttribute",
- "value": {
- "type": "union",
- "of": [
- {
- "type": "string",
- "value": "href"
- },
- {
- "type": "string",
- "value": "page"
- },
- {
- "type": "string",
- "value": "post"
- }
- ]
- },
- "optional": true
- },
- "href": {
+ "eyebrow": {
"type": "objectAttribute",
"value": {
"type": "string"
},
"optional": true
},
- "page": {
- "type": "objectAttribute",
- "value": {
- "type": "object",
- "attributes": {
- "_ref": {
- "type": "objectAttribute",
- "value": {
- "type": "string"
- }
- },
- "_type": {
- "type": "objectAttribute",
- "value": {
- "type": "string",
- "value": "reference"
- }
- },
- "_weak": {
- "type": "objectAttribute",
- "value": {
- "type": "boolean"
- },
- "optional": true
- }
- },
- "dereferencesTo": "page"
- },
- "optional": true
- },
- "post": {
- "type": "objectAttribute",
- "value": {
- "type": "object",
- "attributes": {
- "_ref": {
- "type": "objectAttribute",
- "value": {
- "type": "string"
- }
- },
- "_type": {
- "type": "objectAttribute",
- "value": {
- "type": "string",
- "value": "reference"
- }
- },
- "_weak": {
- "type": "objectAttribute",
- "value": {
- "type": "boolean"
- },
- "optional": true
- }
- },
- "dereferencesTo": "post"
- },
- "optional": true
- },
- "openInNewTab": {
- "type": "objectAttribute",
- "value": {
- "type": "boolean"
- },
- "optional": true
- }
- }
- }
- },
- {
- "name": "infoSection",
- "type": "type",
- "value": {
- "type": "object",
- "attributes": {
- "_type": {
- "type": "objectAttribute",
- "value": {
- "type": "string",
- "value": "infoSection"
- }
- },
"heading": {
"type": "objectAttribute",
"value": {
"type": "string"
},
- "optional": true
- },
- "subheading": {
- "type": "objectAttribute",
- "value": {
- "type": "string"
- },
- "optional": true
+ "optional": false
},
- "content": {
+ "body": {
"type": "objectAttribute",
"value": {
"type": "array",
@@ -301,27 +145,6 @@
"of": {
"type": "object",
"attributes": {
- "linkType": {
- "type": "objectAttribute",
- "value": {
- "type": "union",
- "of": [
- {
- "type": "string",
- "value": "href"
- },
- {
- "type": "string",
- "value": "page"
- },
- {
- "type": "string",
- "value": "post"
- }
- ]
- },
- "optional": true
- },
"href": {
"type": "objectAttribute",
"value": {
@@ -329,73 +152,6 @@
},
"optional": true
},
- "page": {
- "type": "objectAttribute",
- "value": {
- "type": "object",
- "attributes": {
- "_ref": {
- "type": "objectAttribute",
- "value": {
- "type": "string"
- }
- },
- "_type": {
- "type": "objectAttribute",
- "value": {
- "type": "string",
- "value": "reference"
- }
- },
- "_weak": {
- "type": "objectAttribute",
- "value": {
- "type": "boolean"
- },
- "optional": true
- }
- },
- "dereferencesTo": "page"
- },
- "optional": true
- },
- "post": {
- "type": "objectAttribute",
- "value": {
- "type": "object",
- "attributes": {
- "_ref": {
- "type": "objectAttribute",
- "value": {
- "type": "string"
- }
- },
- "_type": {
- "type": "objectAttribute",
- "value": {
- "type": "string",
- "value": "reference"
- }
- },
- "_weak": {
- "type": "objectAttribute",
- "value": {
- "type": "boolean"
- },
- "optional": true
- }
- },
- "dereferencesTo": "post"
- },
- "optional": true
- },
- "openInNewTab": {
- "type": "objectAttribute",
- "value": {
- "type": "boolean"
- },
- "optional": true
- },
"_type": {
"type": "objectAttribute",
"value": {
@@ -448,45 +204,534 @@
}
},
"optional": true
- }
- }
- }
- },
- {
- "name": "blockContent",
- "type": "type",
- "value": {
- "type": "array",
- "of": {
- "type": "object",
- "attributes": {
- "children": {
- "type": "objectAttribute",
- "value": {
- "type": "array",
- "of": {
- "type": "object",
- "attributes": {
- "marks": {
- "type": "objectAttribute",
- "value": {
- "type": "array",
- "of": {
- "type": "string"
- }
- },
- "optional": true
- },
- "text": {
- "type": "objectAttribute",
- "value": {
- "type": "string"
- },
- "optional": true
- },
- "_type": {
- "type": "objectAttribute",
- "value": {
+ },
+ "button": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "inline",
+ "name": "button"
+ },
+ "optional": true
+ },
+ "image": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "object",
+ "attributes": {
+ "asset": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "object",
+ "attributes": {
+ "_ref": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ }
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "reference"
+ }
+ },
+ "_weak": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "boolean"
+ },
+ "optional": true
+ }
+ },
+ "dereferencesTo": "sanity.imageAsset"
+ },
+ "optional": true
+ },
+ "media": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "unknown"
+ },
+ "optional": true
+ },
+ "hotspot": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "inline",
+ "name": "sanity.imageHotspot"
+ },
+ "optional": true
+ },
+ "crop": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "inline",
+ "name": "sanity.imageCrop"
+ },
+ "optional": true
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "image"
+ }
+ }
+ }
+ },
+ "optional": true
+ },
+ "theme": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "union",
+ "of": [
+ {
+ "type": "string",
+ "value": "light"
+ },
+ {
+ "type": "string",
+ "value": "dark"
+ }
+ ]
+ },
+ "optional": true
+ },
+ "contentAlignment": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "union",
+ "of": [
+ {
+ "type": "string",
+ "value": "textFirst"
+ },
+ {
+ "type": "string",
+ "value": "imageFirst"
+ }
+ ]
+ },
+ "optional": true
+ }
+ }
+ }
+ },
+ {
+ "name": "infoSection",
+ "type": "type",
+ "value": {
+ "type": "object",
+ "attributes": {
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "infoSection"
+ }
+ },
+ "heading": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ },
+ "optional": true
+ },
+ "subheading": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ },
+ "optional": true
+ },
+ "content": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "array",
+ "of": {
+ "type": "union",
+ "of": [
+ {
+ "type": "object",
+ "attributes": {
+ "children": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "array",
+ "of": {
+ "type": "object",
+ "attributes": {
+ "marks": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "array",
+ "of": {
+ "type": "string"
+ }
+ },
+ "optional": true
+ },
+ "text": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ },
+ "optional": true
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "span"
+ }
+ }
+ },
+ "rest": {
+ "type": "object",
+ "attributes": {
+ "_key": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "optional": true
+ },
+ "style": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "union",
+ "of": [
+ {
+ "type": "string",
+ "value": "normal"
+ },
+ {
+ "type": "string",
+ "value": "h1"
+ },
+ {
+ "type": "string",
+ "value": "h2"
+ },
+ {
+ "type": "string",
+ "value": "h3"
+ },
+ {
+ "type": "string",
+ "value": "h4"
+ },
+ {
+ "type": "string",
+ "value": "h5"
+ },
+ {
+ "type": "string",
+ "value": "h6"
+ },
+ {
+ "type": "string",
+ "value": "blockquote"
+ }
+ ]
+ },
+ "optional": true
+ },
+ "listItem": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "union",
+ "of": [
+ {
+ "type": "string",
+ "value": "bullet"
+ },
+ {
+ "type": "string",
+ "value": "number"
+ }
+ ]
+ },
+ "optional": true
+ },
+ "markDefs": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "array",
+ "of": {
+ "type": "object",
+ "attributes": {
+ "linkType": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "union",
+ "of": [
+ {
+ "type": "string",
+ "value": "href"
+ },
+ {
+ "type": "string",
+ "value": "page"
+ },
+ {
+ "type": "string",
+ "value": "post"
+ }
+ ]
+ },
+ "optional": true
+ },
+ "href": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ },
+ "optional": true
+ },
+ "page": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "object",
+ "attributes": {
+ "_ref": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ }
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "reference"
+ }
+ },
+ "_weak": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "boolean"
+ },
+ "optional": true
+ }
+ },
+ "dereferencesTo": "page"
+ },
+ "optional": true
+ },
+ "post": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "object",
+ "attributes": {
+ "_ref": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ }
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "reference"
+ }
+ },
+ "_weak": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "boolean"
+ },
+ "optional": true
+ }
+ },
+ "dereferencesTo": "post"
+ },
+ "optional": true
+ },
+ "openInNewTab": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "boolean"
+ },
+ "optional": true
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "link"
+ }
+ }
+ },
+ "rest": {
+ "type": "object",
+ "attributes": {
+ "_key": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "optional": true
+ },
+ "level": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "number"
+ },
+ "optional": true
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "block"
+ }
+ }
+ },
+ "rest": {
+ "type": "object",
+ "attributes": {
+ "_key": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ {
+ "type": "object",
+ "attributes": {
+ "asset": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "object",
+ "attributes": {
+ "_ref": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ }
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "reference"
+ }
+ },
+ "_weak": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "boolean"
+ },
+ "optional": true
+ }
+ },
+ "dereferencesTo": "sanity.imageAsset"
+ },
+ "optional": true
+ },
+ "media": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "unknown"
+ },
+ "optional": true
+ },
+ "hotspot": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "inline",
+ "name": "sanity.imageHotspot"
+ },
+ "optional": true
+ },
+ "crop": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "inline",
+ "name": "sanity.imageCrop"
+ },
+ "optional": true
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "image"
+ }
+ }
+ },
+ "rest": {
+ "type": "object",
+ "attributes": {
+ "_key": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ },
+ "optional": true
+ }
+ }
+ }
+ },
+ {
+ "name": "blockContentTextOnly",
+ "type": "type",
+ "value": {
+ "type": "array",
+ "of": {
+ "type": "object",
+ "attributes": {
+ "children": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "array",
+ "of": {
+ "type": "object",
+ "attributes": {
+ "marks": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "array",
+ "of": {
+ "type": "string"
+ }
+ },
+ "optional": true
+ },
+ "text": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ },
+ "optional": true
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
"type": "string",
"value": "span"
}
@@ -572,149 +817,551 @@
"of": {
"type": "object",
"attributes": {
- "linkType": {
+ "href": {
"type": "objectAttribute",
"value": {
- "type": "union",
- "of": [
- {
- "type": "string",
- "value": "href"
+ "type": "string"
+ },
+ "optional": true
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "link"
+ }
+ }
+ },
+ "rest": {
+ "type": "object",
+ "attributes": {
+ "_key": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "optional": true
+ },
+ "level": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "number"
+ },
+ "optional": true
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "block"
+ }
+ }
+ },
+ "rest": {
+ "type": "object",
+ "attributes": {
+ "_key": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "name": "blockContent",
+ "type": "type",
+ "value": {
+ "type": "array",
+ "of": {
+ "type": "union",
+ "of": [
+ {
+ "type": "object",
+ "attributes": {
+ "children": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "array",
+ "of": {
+ "type": "object",
+ "attributes": {
+ "marks": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "array",
+ "of": {
+ "type": "string"
+ }
},
- {
- "type": "string",
- "value": "page"
+ "optional": true
+ },
+ "text": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
},
- {
+ "optional": true
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
"type": "string",
- "value": "post"
+ "value": "span"
}
- ]
- },
- "optional": true
- },
- "href": {
- "type": "objectAttribute",
- "value": {
- "type": "string"
+ }
},
- "optional": true
- },
- "page": {
- "type": "objectAttribute",
- "value": {
+ "rest": {
"type": "object",
"attributes": {
- "_ref": {
+ "_key": {
"type": "objectAttribute",
"value": {
"type": "string"
}
+ }
+ }
+ }
+ }
+ },
+ "optional": true
+ },
+ "style": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "union",
+ "of": [
+ {
+ "type": "string",
+ "value": "normal"
+ },
+ {
+ "type": "string",
+ "value": "h1"
+ },
+ {
+ "type": "string",
+ "value": "h2"
+ },
+ {
+ "type": "string",
+ "value": "h3"
+ },
+ {
+ "type": "string",
+ "value": "h4"
+ },
+ {
+ "type": "string",
+ "value": "h5"
+ },
+ {
+ "type": "string",
+ "value": "h6"
+ },
+ {
+ "type": "string",
+ "value": "blockquote"
+ }
+ ]
+ },
+ "optional": true
+ },
+ "listItem": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "union",
+ "of": [
+ {
+ "type": "string",
+ "value": "bullet"
+ },
+ {
+ "type": "string",
+ "value": "number"
+ }
+ ]
+ },
+ "optional": true
+ },
+ "markDefs": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "array",
+ "of": {
+ "type": "object",
+ "attributes": {
+ "linkType": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "union",
+ "of": [
+ {
+ "type": "string",
+ "value": "href"
+ },
+ {
+ "type": "string",
+ "value": "page"
+ },
+ {
+ "type": "string",
+ "value": "post"
+ }
+ ]
},
- "_type": {
- "type": "objectAttribute",
- "value": {
- "type": "string",
- "value": "reference"
- }
+ "optional": true
+ },
+ "href": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
},
- "_weak": {
- "type": "objectAttribute",
- "value": {
- "type": "boolean"
+ "optional": true
+ },
+ "page": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "object",
+ "attributes": {
+ "_ref": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ }
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "reference"
+ }
+ },
+ "_weak": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "boolean"
+ },
+ "optional": true
+ }
},
- "optional": true
- }
+ "dereferencesTo": "page"
+ },
+ "optional": true
+ },
+ "post": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "object",
+ "attributes": {
+ "_ref": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ }
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "reference"
+ }
+ },
+ "_weak": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "boolean"
+ },
+ "optional": true
+ }
+ },
+ "dereferencesTo": "post"
+ },
+ "optional": true
+ },
+ "openInNewTab": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "boolean"
+ },
+ "optional": true
},
- "dereferencesTo": "page"
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "link"
+ }
+ }
},
- "optional": true
- },
- "post": {
- "type": "objectAttribute",
- "value": {
+ "rest": {
"type": "object",
"attributes": {
- "_ref": {
+ "_key": {
"type": "objectAttribute",
"value": {
"type": "string"
}
- },
- "_type": {
- "type": "objectAttribute",
- "value": {
- "type": "string",
- "value": "reference"
- }
- },
- "_weak": {
- "type": "objectAttribute",
- "value": {
- "type": "boolean"
- },
- "optional": true
}
- },
- "dereferencesTo": "post"
- },
- "optional": true
- },
- "openInNewTab": {
- "type": "objectAttribute",
- "value": {
- "type": "boolean"
- },
- "optional": true
- },
- "_type": {
- "type": "objectAttribute",
- "value": {
- "type": "string",
- "value": "link"
+ }
}
}
},
- "rest": {
+ "optional": true
+ },
+ "level": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "number"
+ },
+ "optional": true
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "block"
+ }
+ }
+ },
+ "rest": {
+ "type": "object",
+ "attributes": {
+ "_key": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ {
+ "type": "object",
+ "attributes": {
+ "asset": {
+ "type": "objectAttribute",
+ "value": {
"type": "object",
"attributes": {
- "_key": {
+ "_ref": {
"type": "objectAttribute",
"value": {
"type": "string"
}
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "reference"
+ }
+ },
+ "_weak": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "boolean"
+ },
+ "optional": true
}
- }
+ },
+ "dereferencesTo": "sanity.imageAsset"
+ },
+ "optional": true
+ },
+ "media": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "unknown"
+ },
+ "optional": true
+ },
+ "hotspot": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "inline",
+ "name": "sanity.imageHotspot"
+ },
+ "optional": true
+ },
+ "crop": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "inline",
+ "name": "sanity.imageCrop"
+ },
+ "optional": true
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "image"
}
}
},
- "optional": true
+ "rest": {
+ "type": "object",
+ "attributes": {
+ "_key": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "button",
+ "type": "type",
+ "value": {
+ "type": "object",
+ "attributes": {
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "button"
+ }
+ },
+ "buttonText": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
},
- "level": {
- "type": "objectAttribute",
- "value": {
- "type": "number"
- },
- "optional": true
+ "optional": true
+ },
+ "link": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "inline",
+ "name": "link"
},
- "_type": {
- "type": "objectAttribute",
- "value": {
- "type": "string",
- "value": "block"
- }
+ "optional": true
+ }
+ }
+ }
+ },
+ {
+ "name": "link",
+ "type": "type",
+ "value": {
+ "type": "object",
+ "attributes": {
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "link"
}
},
- "rest": {
- "type": "object",
- "attributes": {
- "_key": {
- "type": "objectAttribute",
- "value": {
- "type": "string"
+ "linkType": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "union",
+ "of": [
+ {
+ "type": "string",
+ "value": "href"
+ },
+ {
+ "type": "string",
+ "value": "page"
+ },
+ {
+ "type": "string",
+ "value": "post"
}
- }
- }
+ ]
+ },
+ "optional": true
+ },
+ "href": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ },
+ "optional": true
+ },
+ "page": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "object",
+ "attributes": {
+ "_ref": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ }
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "reference"
+ }
+ },
+ "_weak": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "boolean"
+ },
+ "optional": true
+ }
+ },
+ "dereferencesTo": "page"
+ },
+ "optional": true
+ },
+ "post": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "object",
+ "attributes": {
+ "_ref": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string"
+ }
+ },
+ "_type": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "string",
+ "value": "reference"
+ }
+ },
+ "_weak": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "boolean"
+ },
+ "optional": true
+ }
+ },
+ "dereferencesTo": "post"
+ },
+ "optional": true
+ },
+ "openInNewTab": {
+ "type": "objectAttribute",
+ "value": {
+ "type": "boolean"
+ },
+ "optional": true
}
}
}
@@ -2361,21 +3008,21 @@
"value": {
"type": "number"
},
- "optional": true
+ "optional": false
},
"width": {
"type": "objectAttribute",
"value": {
"type": "number"
},
- "optional": true
+ "optional": false
},
"aspectRatio": {
"type": "objectAttribute",
"value": {
"type": "number"
},
- "optional": true
+ "optional": false
}
}
}
@@ -2398,28 +3045,28 @@
"value": {
"type": "number"
},
- "optional": true
+ "optional": false
},
"y": {
"type": "objectAttribute",
"value": {
"type": "number"
},
- "optional": true
+ "optional": false
},
"height": {
"type": "objectAttribute",
"value": {
"type": "number"
},
- "optional": true
+ "optional": false
},
"width": {
"type": "objectAttribute",
"value": {
"type": "number"
},
- "optional": true
+ "optional": false
}
}
}
@@ -2442,28 +3089,28 @@
"value": {
"type": "number"
},
- "optional": true
+ "optional": false
},
"bottom": {
"type": "objectAttribute",
"value": {
"type": "number"
},
- "optional": true
+ "optional": false
},
"left": {
"type": "objectAttribute",
"value": {
"type": "number"
},
- "optional": true
+ "optional": false
},
"right": {
"type": "objectAttribute",
"value": {
"type": "number"
},
- "optional": true
+ "optional": false
}
}
}
diff --git a/studio/src/schemaTypes/index.ts b/studio/src/schemaTypes/index.ts
index 4d04adde..6e39a053 100644
--- a/studio/src/schemaTypes/index.ts
+++ b/studio/src/schemaTypes/index.ts
@@ -6,6 +6,8 @@ import {infoSection} from './objects/infoSection'
import {settings} from './singletons/settings'
import {link} from './objects/link'
import {blockContent} from './objects/blockContent'
+import button from './objects/button'
+import { blockContentTextOnly } from './objects/blockContentTextOnly'
// Export an array of all the schema types. This is used in the Sanity Studio configuration. https://www.sanity.io/docs/schema-types
@@ -17,7 +19,9 @@ export const schemaTypes = [
post,
person,
// Objects
+ button,
blockContent,
+ blockContentTextOnly,
infoSection,
callToAction,
link,
diff --git a/studio/src/schemaTypes/objects/blockContent.tsx b/studio/src/schemaTypes/objects/blockContent.tsx
index 1670fa5a..d0d20dbd 100644
--- a/studio/src/schemaTypes/objects/blockContent.tsx
+++ b/studio/src/schemaTypes/objects/blockContent.tsx
@@ -92,5 +92,11 @@ export const blockContent = defineType({
],
},
}),
+ defineArrayMember({
+ type: 'image',
+ options: {
+ hotspot: true,
+ },
+ }),
],
})
diff --git a/studio/src/schemaTypes/objects/blockContentTextOnly.tsx b/studio/src/schemaTypes/objects/blockContentTextOnly.tsx
new file mode 100644
index 00000000..3b58b7ef
--- /dev/null
+++ b/studio/src/schemaTypes/objects/blockContentTextOnly.tsx
@@ -0,0 +1,12 @@
+import {defineArrayMember, defineType, defineField} from 'sanity'
+
+export const blockContentTextOnly = defineType({
+ title: 'Block Content (Simple - Text Only)',
+ name: 'blockContentTextOnly',
+ type: 'array',
+ of: [
+ defineArrayMember({
+ type: 'block',
+ }),
+ ],
+})
diff --git a/studio/src/schemaTypes/objects/button.ts b/studio/src/schemaTypes/objects/button.ts
new file mode 100644
index 00000000..2c253608
--- /dev/null
+++ b/studio/src/schemaTypes/objects/button.ts
@@ -0,0 +1,21 @@
+import {defineField, defineType} from 'sanity'
+
+export default defineType({
+ name: 'button',
+ type: 'object',
+ description: 'The button of the call to action',
+ fields: [
+ defineField({
+ name: 'buttonText',
+ title: 'Button Text',
+ type: 'string',
+ }),
+ defineField({
+ name: 'link',
+ title: 'Button Link',
+ type: 'link',
+ options:{collapsible: true, collapsed: false},
+ }),
+ ],
+ options:{collapsible: true},
+})
diff --git a/studio/src/schemaTypes/objects/callToAction.ts b/studio/src/schemaTypes/objects/callToAction.ts
index 61906183..27753cab 100644
--- a/studio/src/schemaTypes/objects/callToAction.ts
+++ b/studio/src/schemaTypes/objects/callToAction.ts
@@ -1,5 +1,11 @@
import {defineField, defineType} from 'sanity'
-import {BulbOutlineIcon} from '@sanity/icons'
+import {
+ BulbOutlineIcon,
+ ComposeSparklesIcon,
+ LinkIcon,
+ ImageIcon,
+ ControlsIcon,
+} from '@sanity/icons'
/**
* Call to action schema object. Objects are reusable schema structures document.
@@ -11,48 +17,100 @@ export const callToAction = defineType({
title: 'Call to Action',
type: 'object',
icon: BulbOutlineIcon,
- validation: (Rule) =>
- // This is a custom validation rule that requires both 'buttonText' and 'link' to be set, or neither to be set
- Rule.custom((fields) => {
- const {buttonText, link} = fields || {}
- if ((buttonText && link) || (!buttonText && !link)) {
- return true
- }
- return 'Both Button text and Button link must be set, or both must be empty'
- }),
+ groups: [
+ {
+ name: 'contents',
+ icon: ComposeSparklesIcon,
+ default: true,
+ },
+ {
+ name: 'media',
+ icon: ImageIcon,
+ },
+ {
+ name: 'button',
+ icon: LinkIcon,
+ },
+ {
+ name: 'designSystem',
+ icon: ControlsIcon,
+ },
+ ],
fields: [
+ defineField({
+ name: 'eyebrow',
+ title: 'Eyebrow',
+ type: 'string',
+ group: 'contents',
+ }),
defineField({
name: 'heading',
title: 'Heading',
type: 'string',
validation: (Rule) => Rule.required(),
+ group: 'contents',
+ }),
+ defineField({
+ name: 'body',
+ type: 'blockContentTextOnly',
+ group: 'contents',
}),
defineField({
- name: 'text',
- title: 'Text',
- type: 'text',
+ name: 'button',
+ type: 'button',
+ group: 'button',
}),
defineField({
- name: 'buttonText',
- title: 'Button text',
+ name: 'image',
+ type: 'image',
+ group: 'media',
+ options: {
+ hotspot: true,
+ },
+ }),
+ defineField({
+ name: 'theme',
type: 'string',
+ title: 'Theme',
+ options: {
+ list: [
+ {title: 'Light', value: 'light'},
+ {title: 'Dark', value: 'dark'},
+ ],
+ layout: 'radio',
+ },
+ description: 'Use dark theme with white tile grid background',
+ initialValue: 'light',
+ group: 'designSystem',
}),
defineField({
- name: 'link',
- title: 'Button link',
- type: 'link',
+ name: 'contentAlignment',
+ title: 'Content Order',
+ type: 'string',
+ initialValue: 'textFirst',
+ description: 'Does text content or image come first?',
+ options: {
+ list: [
+ {title: 'Text then Image', value: 'textFirst'},
+ {title: 'Image then Text', value: 'imageFirst'},
+ ],
+ layout: 'radio',
+ },
+ hidden: ({parent}) => !Boolean(parent?.image?.asset),
+ group: 'designSystem',
}),
],
preview: {
select: {
title: 'heading',
+ image: 'image.asset',
},
prepare(selection) {
- const {title} = selection
-
+ const {title, image} = selection
return {
title: title,
subtitle: 'Call to Action',
+ media: image || undefined,
}
},
},
diff --git a/studio/static/page-builder-thumbnails/callToAction.webp b/studio/static/page-builder-thumbnails/callToAction.webp
index cce776ea..4ec78566 100644
Binary files a/studio/static/page-builder-thumbnails/callToAction.webp and b/studio/static/page-builder-thumbnails/callToAction.webp differ
+
+
+ )}
-
+
+
+
{post.title}
-
+
{post.author && post.author.firstName && post.author.lastName && (
@@ -84,10 +87,23 @@ export default async function PostPage(props: Props) {
- {post?.coverImage && }
+ {post?.coverImage && (
+
+ )}
{post.content?.length && (
-