Skip to content

Commit

Permalink
Merge pull request #702 from w3bdesign/dev
Browse files Browse the repository at this point in the history
✨ feat[types]: add sanity typescript type definitions
  • Loading branch information
w3bdesign authored Feb 12, 2025
2 parents de50911 + a4731a0 commit fd42a07
Show file tree
Hide file tree
Showing 2 changed files with 603 additions and 37 deletions.
309 changes: 309 additions & 0 deletions studio/sanity.types.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,309 @@
/**
* ---------------------------------------------------------------------------------
* This file has been generated by Sanity TypeGen.
* Command: `sanity typegen generate`
*
* Any modifications made directly to this file will be overwritten the next time
* the TypeScript definitions are generated. Please make changes to the Sanity
* schema definitions and/or GROQ queries if you need to update these types.
*
* For more information on how to use Sanity TypeGen, visit the official documentation:
* https://www.sanity.io/docs/sanity-typegen
* ---------------------------------------------------------------------------------
*/

// Source: schema.json
export type SanityImagePaletteSwatch = {
_type: 'sanity.imagePaletteSwatch'
background?: string
foreground?: string
population?: number
title?: string
}

export type SanityImagePalette = {
_type: 'sanity.imagePalette'
darkMuted?: SanityImagePaletteSwatch
lightVibrant?: SanityImagePaletteSwatch
darkVibrant?: SanityImagePaletteSwatch
vibrant?: SanityImagePaletteSwatch
dominant?: SanityImagePaletteSwatch
lightMuted?: SanityImagePaletteSwatch
muted?: SanityImagePaletteSwatch
}

export type SanityImageDimensions = {
_type: 'sanity.imageDimensions'
height?: number
width?: number
aspectRatio?: number
}

export type SanityFileAsset = {
_id: string
_type: 'sanity.fileAsset'
_createdAt: string
_updatedAt: string
_rev: string
originalFilename?: string
label?: string
title?: string
description?: string
altText?: string
sha1hash?: string
extension?: string
mimeType?: string
size?: number
assetId?: string
uploadId?: string
path?: string
url?: string
source?: SanityAssetSourceData
}

export type Geopoint = {
_type: 'geopoint'
lat?: number
lng?: number
alt?: number
}

export type Slug = {
_type: 'slug'
current?: string
source?: string
}

export type Herocontent = {
_type: 'herocontent'
text?: string
}

export type Pagecontent = {
_type: 'pagecontent'
id?: number
title?: string
text?: Array<{
children?: Array<{
marks?: Array<string>
text?: string
_type: 'span'
_key: string
}>
style?: 'normal' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'blockquote'
listItem?: 'bullet' | 'number'
markDefs?: Array<{
href?: string
_type: 'link'
_key: string
}>
level?: number
_type: 'block'
_key: string
}>
}

export type Link = {
_type: 'link'
title?: string
url?: string
external?: boolean
}

export type Navigation = {
_id: string
_type: 'navigation'
_createdAt: string
_updatedAt: string
_rev: string
title?: string
links?: Array<{
title?: string
name?: string
hash?: string
href?: string
externalLink?: boolean
icon?: 'RiHome4Line' | 'RiProjectorLine' | 'RiFileList3Line' | 'RiGithubLine' | 'RiMailLine'
_key: string
}>
}

export type Cv = {
_id: string
_type: 'cv'
_createdAt: string
_updatedAt: string
_rev: string
keyQualifications?: Array<string>
experience?: Array<{
period?: string
company?: string
role?: string
description?: string
_key: string
}>
education?: Array<{
period?: string
institution?: string
degree?: string
description?: string
_key: string
}>
volunteerWork?: Array<{
period?: string
organization?: string
role?: string
description?: string
_key: string
}>
}

export type Page = {
_id: string
_type: 'page'
_createdAt: string
_updatedAt: string
_rev: string
title?: string
header?: string
hero?: Array<
{
_key: string
} & Herocontent
>
content?: Array<
{
_key: string
} & Pagecontent
>
}

export type Project = {
_id: string
_type: 'project'
_createdAt: string
_updatedAt: string
_rev: string
id?: number
name?: string
description?: string
subdescription?: string
projectcategory?: {
_ref: string
_type: 'reference'
_weak?: boolean
[internalGroqTypeReferenceTo]?: 'category'
}
urlwww?: Array<
{
_key: string
} & Link
>
urlgithub?: Array<
{
_key: string
} & Link
>
projectimage?: {
asset?: {
_ref: string
_type: 'reference'
_weak?: boolean
[internalGroqTypeReferenceTo]?: 'sanity.imageAsset'
}
hotspot?: SanityImageHotspot
crop?: SanityImageCrop
_type: 'image'
}
featured?: boolean
featureOrder?: number
}

export type SanityImageCrop = {
_type: 'sanity.imageCrop'
top?: number
bottom?: number
left?: number
right?: number
}

export type SanityImageHotspot = {
_type: 'sanity.imageHotspot'
x?: number
y?: number
height?: number
width?: number
}

export type SanityImageAsset = {
_id: string
_type: 'sanity.imageAsset'
_createdAt: string
_updatedAt: string
_rev: string
originalFilename?: string
label?: string
title?: string
description?: string
altText?: string
sha1hash?: string
extension?: string
mimeType?: string
size?: number
assetId?: string
uploadId?: string
path?: string
url?: string
metadata?: SanityImageMetadata
source?: SanityAssetSourceData
}

export type SanityAssetSourceData = {
_type: 'sanity.assetSourceData'
name?: string
id?: string
url?: string
}

export type SanityImageMetadata = {
_type: 'sanity.imageMetadata'
location?: Geopoint
dimensions?: SanityImageDimensions
palette?: SanityImagePalette
lqip?: string
blurHash?: string
hasAlpha?: boolean
isOpaque?: boolean
}

export type Category = {
_id: string
_type: 'category'
_createdAt: string
_updatedAt: string
_rev: string
id?: number
name?: string
}

export type AllSanitySchemaTypes =
| SanityImagePaletteSwatch
| SanityImagePalette
| SanityImageDimensions
| SanityFileAsset
| Geopoint
| Slug
| Herocontent
| Pagecontent
| Link
| Navigation
| Cv
| Page
| Project
| SanityImageCrop
| SanityImageHotspot
| SanityImageAsset
| SanityAssetSourceData
| SanityImageMetadata
| Category
export declare const internalGroqTypeReferenceTo: unique symbol
Loading

0 comments on commit fd42a07

Please sign in to comment.