diff --git a/data/gallery/DSC02615-2.jpg b/data/gallery/DSC02615-2.jpg new file mode 100644 index 0000000..6d1e930 --- /dev/null +++ b/data/gallery/DSC02615-2.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fc7732d53b04fb568ea628f4675d771d4e9105dc9b787c0ff2bd3e4192ae873 +size 798647 diff --git a/package.json b/package.json index e41c68b..f68c3ff 100644 --- a/package.json +++ b/package.json @@ -62,6 +62,7 @@ "ramda": "^0.27.1", "react": "^17.0.1", "react-cool-dimensions": "^2.0.7", + "react-div-100vh": "^0.7.0", "react-dom": "^17.0.1", "react-helmet": "^6.1.0", "sass": "^1.34.0", diff --git a/src/components/Nav.tsx b/src/components/Nav.tsx index 8ccfa6e..7a147f9 100644 --- a/src/components/Nav.tsx +++ b/src/components/Nav.tsx @@ -13,7 +13,7 @@ const ExternalLinks = ({ isVertical }: { isVertical: boolean }) => ( className={classnames( "z-30 bg-vibrant-dark rounded-xl overflow-hidden", isVertical - ? "inline-flex flex-wrap justify-center" + ? "inline-flex flex-wrap justify-center bg-vibrant-dark rounded-xl" : "absolute rounded-md top-[40px] border border-vibrant-light" )} > diff --git a/src/gatsby-types.d.ts b/src/gatsby-types.d.ts index f74d414..e69de29 100644 --- a/src/gatsby-types.d.ts +++ b/src/gatsby-types.d.ts @@ -1,4529 +0,0 @@ -/* eslint-disable */ - -/* THIS FILE IS AUTOGENERATED. CHANGES WILL BE LOST ON SUBSEQUENT RUNS. */ - -declare namespace Queries { - -type Maybe = T | null; -type InputMaybe = T | null; -type Exact = { [K in keyof T]: T[K] }; -type MakeOptional = Omit & { [SubKey in K]?: Maybe }; -type MakeMaybe = Omit & { [SubKey in K]: Maybe }; -/** All built-in and custom scalars, mapped to their actual values */ -type Scalars = { - /** The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID. */ - ID: string; - /** The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text. */ - String: string; - /** The `Boolean` scalar type represents `true` or `false`. */ - Boolean: boolean; - /** The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. */ - Int: number; - /** The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point). */ - Float: number; - /** A date string, such as 2007-12-03, compliant with the ISO 8601 standard for representation of dates and times using the Gregorian calendar. */ - Date: string; - GatsbyImageData: import('gatsby-plugin-image').IGatsbyImageData; - /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ - JSON: Record; -}; - -type AVIFOptions = { - readonly lossless: InputMaybe; - readonly quality: InputMaybe; - readonly speed: InputMaybe; -}; - -type BlurredOptions = { - /** Force the output format for the low-res preview. Default is to use the same format as the input. You should rarely need to change this */ - readonly toFormat: InputMaybe; - /** Width of the generated low-res preview. Default is 20px */ - readonly width: InputMaybe; -}; - -type BooleanQueryOperatorInput = { - readonly eq: InputMaybe; - readonly in: InputMaybe>>; - readonly ne: InputMaybe; - readonly nin: InputMaybe>>; -}; - -type DateQueryOperatorInput = { - readonly eq: InputMaybe; - readonly gt: InputMaybe; - readonly gte: InputMaybe; - readonly in: InputMaybe>>; - readonly lt: InputMaybe; - readonly lte: InputMaybe; - readonly ne: InputMaybe; - readonly nin: InputMaybe>>; -}; - -type Directory = Node & { - readonly absolutePath: Scalars['String']; - readonly accessTime: Scalars['Date']; - readonly atime: Scalars['Date']; - readonly atimeMs: Scalars['Float']; - readonly base: Scalars['String']; - readonly birthTime: Scalars['Date']; - /** @deprecated Use `birthTime` instead */ - readonly birthtime: Maybe; - /** @deprecated Use `birthTime` instead */ - readonly birthtimeMs: Maybe; - readonly changeTime: Scalars['Date']; - readonly children: ReadonlyArray; - readonly ctime: Scalars['Date']; - readonly ctimeMs: Scalars['Float']; - readonly dev: Scalars['Int']; - readonly dir: Scalars['String']; - readonly ext: Scalars['String']; - readonly extension: Scalars['String']; - readonly gid: Scalars['Int']; - readonly id: Scalars['ID']; - readonly ino: Scalars['Float']; - readonly internal: Internal; - readonly mode: Scalars['Int']; - readonly modifiedTime: Scalars['Date']; - readonly mtime: Scalars['Date']; - readonly mtimeMs: Scalars['Float']; - readonly name: Scalars['String']; - readonly nlink: Scalars['Int']; - readonly parent: Maybe; - readonly prettySize: Scalars['String']; - readonly rdev: Scalars['Int']; - readonly relativeDirectory: Scalars['String']; - readonly relativePath: Scalars['String']; - readonly root: Scalars['String']; - readonly size: Scalars['Int']; - readonly sourceInstanceName: Scalars['String']; - readonly uid: Scalars['Int']; -}; - - -type Directory_accessTimeArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type Directory_atimeArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type Directory_birthTimeArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type Directory_changeTimeArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type Directory_ctimeArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type Directory_modifiedTimeArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type Directory_mtimeArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - -type DirectoryConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type DirectoryConnection_distinctArgs = { - field: DirectoryFieldsEnum; -}; - - -type DirectoryConnection_groupArgs = { - field: DirectoryFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type DirectoryConnection_maxArgs = { - field: DirectoryFieldsEnum; -}; - - -type DirectoryConnection_minArgs = { - field: DirectoryFieldsEnum; -}; - - -type DirectoryConnection_sumArgs = { - field: DirectoryFieldsEnum; -}; - -type DirectoryEdge = { - readonly next: Maybe; - readonly node: Directory; - readonly previous: Maybe; -}; - -type DirectoryFieldsEnum = - | 'absolutePath' - | 'accessTime' - | 'atime' - | 'atimeMs' - | 'base' - | 'birthTime' - | 'birthtime' - | 'birthtimeMs' - | 'changeTime' - | 'children' - | 'children.children' - | 'children.children.children' - | 'children.children.children.children' - | 'children.children.children.id' - | 'children.children.id' - | 'children.children.internal.content' - | 'children.children.internal.contentDigest' - | 'children.children.internal.contentFilePath' - | 'children.children.internal.description' - | 'children.children.internal.fieldOwners' - | 'children.children.internal.ignoreType' - | 'children.children.internal.mediaType' - | 'children.children.internal.owner' - | 'children.children.internal.type' - | 'children.children.parent.children' - | 'children.children.parent.id' - | 'children.id' - | 'children.internal.content' - | 'children.internal.contentDigest' - | 'children.internal.contentFilePath' - | 'children.internal.description' - | 'children.internal.fieldOwners' - | 'children.internal.ignoreType' - | 'children.internal.mediaType' - | 'children.internal.owner' - | 'children.internal.type' - | 'children.parent.children' - | 'children.parent.children.children' - | 'children.parent.children.id' - | 'children.parent.id' - | 'children.parent.internal.content' - | 'children.parent.internal.contentDigest' - | 'children.parent.internal.contentFilePath' - | 'children.parent.internal.description' - | 'children.parent.internal.fieldOwners' - | 'children.parent.internal.ignoreType' - | 'children.parent.internal.mediaType' - | 'children.parent.internal.owner' - | 'children.parent.internal.type' - | 'children.parent.parent.children' - | 'children.parent.parent.id' - | 'ctime' - | 'ctimeMs' - | 'dev' - | 'dir' - | 'ext' - | 'extension' - | 'gid' - | 'id' - | 'ino' - | 'internal.content' - | 'internal.contentDigest' - | 'internal.contentFilePath' - | 'internal.description' - | 'internal.fieldOwners' - | 'internal.ignoreType' - | 'internal.mediaType' - | 'internal.owner' - | 'internal.type' - | 'mode' - | 'modifiedTime' - | 'mtime' - | 'mtimeMs' - | 'name' - | 'nlink' - | 'parent.children' - | 'parent.children.children' - | 'parent.children.children.children' - | 'parent.children.children.id' - | 'parent.children.id' - | 'parent.children.internal.content' - | 'parent.children.internal.contentDigest' - | 'parent.children.internal.contentFilePath' - | 'parent.children.internal.description' - | 'parent.children.internal.fieldOwners' - | 'parent.children.internal.ignoreType' - | 'parent.children.internal.mediaType' - | 'parent.children.internal.owner' - | 'parent.children.internal.type' - | 'parent.children.parent.children' - | 'parent.children.parent.id' - | 'parent.id' - | 'parent.internal.content' - | 'parent.internal.contentDigest' - | 'parent.internal.contentFilePath' - | 'parent.internal.description' - | 'parent.internal.fieldOwners' - | 'parent.internal.ignoreType' - | 'parent.internal.mediaType' - | 'parent.internal.owner' - | 'parent.internal.type' - | 'parent.parent.children' - | 'parent.parent.children.children' - | 'parent.parent.children.id' - | 'parent.parent.id' - | 'parent.parent.internal.content' - | 'parent.parent.internal.contentDigest' - | 'parent.parent.internal.contentFilePath' - | 'parent.parent.internal.description' - | 'parent.parent.internal.fieldOwners' - | 'parent.parent.internal.ignoreType' - | 'parent.parent.internal.mediaType' - | 'parent.parent.internal.owner' - | 'parent.parent.internal.type' - | 'parent.parent.parent.children' - | 'parent.parent.parent.id' - | 'prettySize' - | 'rdev' - | 'relativeDirectory' - | 'relativePath' - | 'root' - | 'size' - | 'sourceInstanceName' - | 'uid'; - -type DirectoryFilterInput = { - readonly absolutePath: InputMaybe; - readonly accessTime: InputMaybe; - readonly atime: InputMaybe; - readonly atimeMs: InputMaybe; - readonly base: InputMaybe; - readonly birthTime: InputMaybe; - readonly birthtime: InputMaybe; - readonly birthtimeMs: InputMaybe; - readonly changeTime: InputMaybe; - readonly children: InputMaybe; - readonly ctime: InputMaybe; - readonly ctimeMs: InputMaybe; - readonly dev: InputMaybe; - readonly dir: InputMaybe; - readonly ext: InputMaybe; - readonly extension: InputMaybe; - readonly gid: InputMaybe; - readonly id: InputMaybe; - readonly ino: InputMaybe; - readonly internal: InputMaybe; - readonly mode: InputMaybe; - readonly modifiedTime: InputMaybe; - readonly mtime: InputMaybe; - readonly mtimeMs: InputMaybe; - readonly name: InputMaybe; - readonly nlink: InputMaybe; - readonly parent: InputMaybe; - readonly prettySize: InputMaybe; - readonly rdev: InputMaybe; - readonly relativeDirectory: InputMaybe; - readonly relativePath: InputMaybe; - readonly root: InputMaybe; - readonly size: InputMaybe; - readonly sourceInstanceName: InputMaybe; - readonly uid: InputMaybe; -}; - -type DirectoryGroupConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly field: Scalars['String']; - readonly fieldValue: Maybe; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type DirectoryGroupConnection_distinctArgs = { - field: DirectoryFieldsEnum; -}; - - -type DirectoryGroupConnection_groupArgs = { - field: DirectoryFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type DirectoryGroupConnection_maxArgs = { - field: DirectoryFieldsEnum; -}; - - -type DirectoryGroupConnection_minArgs = { - field: DirectoryFieldsEnum; -}; - - -type DirectoryGroupConnection_sumArgs = { - field: DirectoryFieldsEnum; -}; - -type DirectorySortInput = { - readonly fields: InputMaybe>>; - readonly order: InputMaybe>>; -}; - -type DuotoneGradient = { - readonly highlight: Scalars['String']; - readonly opacity: InputMaybe; - readonly shadow: Scalars['String']; -}; - -type File = Node & { - readonly absolutePath: Scalars['String']; - readonly accessTime: Scalars['Date']; - readonly atime: Scalars['Date']; - readonly atimeMs: Scalars['Float']; - readonly base: Scalars['String']; - readonly birthTime: Scalars['Date']; - /** @deprecated Use `birthTime` instead */ - readonly birthtime: Maybe; - /** @deprecated Use `birthTime` instead */ - readonly birthtimeMs: Maybe; - readonly blksize: Maybe; - readonly blocks: Maybe; - readonly changeTime: Scalars['Date']; - /** Returns the first child node of type ImageSharp or null if there are no children of given type on this node */ - readonly childImageSharp: Maybe; - readonly children: ReadonlyArray; - /** Returns all children nodes filtered by type ImageSharp */ - readonly childrenImageSharp: Maybe>>; - readonly ctime: Scalars['Date']; - readonly ctimeMs: Scalars['Float']; - readonly dev: Scalars['Int']; - readonly dir: Scalars['String']; - readonly ext: Scalars['String']; - readonly extension: Scalars['String']; - readonly fields: Maybe; - readonly gid: Scalars['Int']; - readonly id: Scalars['ID']; - readonly ino: Scalars['Float']; - readonly internal: Internal; - readonly mode: Scalars['Int']; - readonly modifiedTime: Scalars['Date']; - readonly mtime: Scalars['Date']; - readonly mtimeMs: Scalars['Float']; - readonly name: Scalars['String']; - readonly nlink: Scalars['Int']; - readonly parent: Maybe; - readonly prettySize: Scalars['String']; - /** Copy file to static directory and return public url to it */ - readonly publicURL: Maybe; - readonly rdev: Scalars['Int']; - readonly relativeDirectory: Scalars['String']; - readonly relativePath: Scalars['String']; - readonly root: Scalars['String']; - readonly size: Scalars['Int']; - readonly sourceInstanceName: Scalars['String']; - readonly uid: Scalars['Int']; -}; - - -type File_accessTimeArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type File_atimeArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type File_birthTimeArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type File_changeTimeArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type File_ctimeArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type File_modifiedTimeArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type File_mtimeArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - -type FileConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type FileConnection_distinctArgs = { - field: FileFieldsEnum; -}; - - -type FileConnection_groupArgs = { - field: FileFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type FileConnection_maxArgs = { - field: FileFieldsEnum; -}; - - -type FileConnection_minArgs = { - field: FileFieldsEnum; -}; - - -type FileConnection_sumArgs = { - field: FileFieldsEnum; -}; - -type FileEdge = { - readonly next: Maybe; - readonly node: File; - readonly previous: Maybe; -}; - -type FileFields = { - readonly imageMeta: Maybe; -}; - -type FileFieldsEnum = - | 'absolutePath' - | 'accessTime' - | 'atime' - | 'atimeMs' - | 'base' - | 'birthTime' - | 'birthtime' - | 'birthtimeMs' - | 'blksize' - | 'blocks' - | 'changeTime' - | 'childImageSharp.children' - | 'childImageSharp.children.children' - | 'childImageSharp.children.children.children' - | 'childImageSharp.children.children.id' - | 'childImageSharp.children.id' - | 'childImageSharp.children.internal.content' - | 'childImageSharp.children.internal.contentDigest' - | 'childImageSharp.children.internal.contentFilePath' - | 'childImageSharp.children.internal.description' - | 'childImageSharp.children.internal.fieldOwners' - | 'childImageSharp.children.internal.ignoreType' - | 'childImageSharp.children.internal.mediaType' - | 'childImageSharp.children.internal.owner' - | 'childImageSharp.children.internal.type' - | 'childImageSharp.children.parent.children' - | 'childImageSharp.children.parent.id' - | 'childImageSharp.fixed.aspectRatio' - | 'childImageSharp.fixed.base64' - | 'childImageSharp.fixed.height' - | 'childImageSharp.fixed.originalName' - | 'childImageSharp.fixed.src' - | 'childImageSharp.fixed.srcSet' - | 'childImageSharp.fixed.srcSetWebp' - | 'childImageSharp.fixed.srcWebp' - | 'childImageSharp.fixed.tracedSVG' - | 'childImageSharp.fixed.width' - | 'childImageSharp.fluid.aspectRatio' - | 'childImageSharp.fluid.base64' - | 'childImageSharp.fluid.originalImg' - | 'childImageSharp.fluid.originalName' - | 'childImageSharp.fluid.presentationHeight' - | 'childImageSharp.fluid.presentationWidth' - | 'childImageSharp.fluid.sizes' - | 'childImageSharp.fluid.src' - | 'childImageSharp.fluid.srcSet' - | 'childImageSharp.fluid.srcSetWebp' - | 'childImageSharp.fluid.srcWebp' - | 'childImageSharp.fluid.tracedSVG' - | 'childImageSharp.gatsbyImageData' - | 'childImageSharp.id' - | 'childImageSharp.internal.content' - | 'childImageSharp.internal.contentDigest' - | 'childImageSharp.internal.contentFilePath' - | 'childImageSharp.internal.description' - | 'childImageSharp.internal.fieldOwners' - | 'childImageSharp.internal.ignoreType' - | 'childImageSharp.internal.mediaType' - | 'childImageSharp.internal.owner' - | 'childImageSharp.internal.type' - | 'childImageSharp.original.height' - | 'childImageSharp.original.src' - | 'childImageSharp.original.width' - | 'childImageSharp.parent.children' - | 'childImageSharp.parent.children.children' - | 'childImageSharp.parent.children.id' - | 'childImageSharp.parent.id' - | 'childImageSharp.parent.internal.content' - | 'childImageSharp.parent.internal.contentDigest' - | 'childImageSharp.parent.internal.contentFilePath' - | 'childImageSharp.parent.internal.description' - | 'childImageSharp.parent.internal.fieldOwners' - | 'childImageSharp.parent.internal.ignoreType' - | 'childImageSharp.parent.internal.mediaType' - | 'childImageSharp.parent.internal.owner' - | 'childImageSharp.parent.internal.type' - | 'childImageSharp.parent.parent.children' - | 'childImageSharp.parent.parent.id' - | 'childImageSharp.resize.aspectRatio' - | 'childImageSharp.resize.height' - | 'childImageSharp.resize.originalName' - | 'childImageSharp.resize.src' - | 'childImageSharp.resize.tracedSVG' - | 'childImageSharp.resize.width' - | 'children' - | 'childrenImageSharp' - | 'childrenImageSharp.children' - | 'childrenImageSharp.children.children' - | 'childrenImageSharp.children.children.children' - | 'childrenImageSharp.children.children.id' - | 'childrenImageSharp.children.id' - | 'childrenImageSharp.children.internal.content' - | 'childrenImageSharp.children.internal.contentDigest' - | 'childrenImageSharp.children.internal.contentFilePath' - | 'childrenImageSharp.children.internal.description' - | 'childrenImageSharp.children.internal.fieldOwners' - | 'childrenImageSharp.children.internal.ignoreType' - | 'childrenImageSharp.children.internal.mediaType' - | 'childrenImageSharp.children.internal.owner' - | 'childrenImageSharp.children.internal.type' - | 'childrenImageSharp.children.parent.children' - | 'childrenImageSharp.children.parent.id' - | 'childrenImageSharp.fixed.aspectRatio' - | 'childrenImageSharp.fixed.base64' - | 'childrenImageSharp.fixed.height' - | 'childrenImageSharp.fixed.originalName' - | 'childrenImageSharp.fixed.src' - | 'childrenImageSharp.fixed.srcSet' - | 'childrenImageSharp.fixed.srcSetWebp' - | 'childrenImageSharp.fixed.srcWebp' - | 'childrenImageSharp.fixed.tracedSVG' - | 'childrenImageSharp.fixed.width' - | 'childrenImageSharp.fluid.aspectRatio' - | 'childrenImageSharp.fluid.base64' - | 'childrenImageSharp.fluid.originalImg' - | 'childrenImageSharp.fluid.originalName' - | 'childrenImageSharp.fluid.presentationHeight' - | 'childrenImageSharp.fluid.presentationWidth' - | 'childrenImageSharp.fluid.sizes' - | 'childrenImageSharp.fluid.src' - | 'childrenImageSharp.fluid.srcSet' - | 'childrenImageSharp.fluid.srcSetWebp' - | 'childrenImageSharp.fluid.srcWebp' - | 'childrenImageSharp.fluid.tracedSVG' - | 'childrenImageSharp.gatsbyImageData' - | 'childrenImageSharp.id' - | 'childrenImageSharp.internal.content' - | 'childrenImageSharp.internal.contentDigest' - | 'childrenImageSharp.internal.contentFilePath' - | 'childrenImageSharp.internal.description' - | 'childrenImageSharp.internal.fieldOwners' - | 'childrenImageSharp.internal.ignoreType' - | 'childrenImageSharp.internal.mediaType' - | 'childrenImageSharp.internal.owner' - | 'childrenImageSharp.internal.type' - | 'childrenImageSharp.original.height' - | 'childrenImageSharp.original.src' - | 'childrenImageSharp.original.width' - | 'childrenImageSharp.parent.children' - | 'childrenImageSharp.parent.children.children' - | 'childrenImageSharp.parent.children.id' - | 'childrenImageSharp.parent.id' - | 'childrenImageSharp.parent.internal.content' - | 'childrenImageSharp.parent.internal.contentDigest' - | 'childrenImageSharp.parent.internal.contentFilePath' - | 'childrenImageSharp.parent.internal.description' - | 'childrenImageSharp.parent.internal.fieldOwners' - | 'childrenImageSharp.parent.internal.ignoreType' - | 'childrenImageSharp.parent.internal.mediaType' - | 'childrenImageSharp.parent.internal.owner' - | 'childrenImageSharp.parent.internal.type' - | 'childrenImageSharp.parent.parent.children' - | 'childrenImageSharp.parent.parent.id' - | 'childrenImageSharp.resize.aspectRatio' - | 'childrenImageSharp.resize.height' - | 'childrenImageSharp.resize.originalName' - | 'childrenImageSharp.resize.src' - | 'childrenImageSharp.resize.tracedSVG' - | 'childrenImageSharp.resize.width' - | 'children.children' - | 'children.children.children' - | 'children.children.children.children' - | 'children.children.children.id' - | 'children.children.id' - | 'children.children.internal.content' - | 'children.children.internal.contentDigest' - | 'children.children.internal.contentFilePath' - | 'children.children.internal.description' - | 'children.children.internal.fieldOwners' - | 'children.children.internal.ignoreType' - | 'children.children.internal.mediaType' - | 'children.children.internal.owner' - | 'children.children.internal.type' - | 'children.children.parent.children' - | 'children.children.parent.id' - | 'children.id' - | 'children.internal.content' - | 'children.internal.contentDigest' - | 'children.internal.contentFilePath' - | 'children.internal.description' - | 'children.internal.fieldOwners' - | 'children.internal.ignoreType' - | 'children.internal.mediaType' - | 'children.internal.owner' - | 'children.internal.type' - | 'children.parent.children' - | 'children.parent.children.children' - | 'children.parent.children.id' - | 'children.parent.id' - | 'children.parent.internal.content' - | 'children.parent.internal.contentDigest' - | 'children.parent.internal.contentFilePath' - | 'children.parent.internal.description' - | 'children.parent.internal.fieldOwners' - | 'children.parent.internal.ignoreType' - | 'children.parent.internal.mediaType' - | 'children.parent.internal.owner' - | 'children.parent.internal.type' - | 'children.parent.parent.children' - | 'children.parent.parent.id' - | 'ctime' - | 'ctimeMs' - | 'dev' - | 'dir' - | 'ext' - | 'extension' - | 'fields.imageMeta.dateTaken' - | 'fields.imageMeta.dominantHue' - | 'fields.imageMeta.meta.AlreadyApplied' - | 'fields.imageMeta.meta.ApertureValue' - | 'fields.imageMeta.meta.ApplicationRecordVersion' - | 'fields.imageMeta.meta.Artist' - | 'fields.imageMeta.meta.AutoLateralCA' - | 'fields.imageMeta.meta.AutoToneDigest' - | 'fields.imageMeta.meta.AutoToneDigestNoSat' - | 'fields.imageMeta.meta.AutoWhiteVersion' - | 'fields.imageMeta.meta.Blacks2012' - | 'fields.imageMeta.meta.BlueHue' - | 'fields.imageMeta.meta.BlueSaturation' - | 'fields.imageMeta.meta.BrightnessValue' - | 'fields.imageMeta.meta.Byline' - | 'fields.imageMeta.meta.CameraProfile' - | 'fields.imageMeta.meta.CameraProfileDigest' - | 'fields.imageMeta.meta.Caption' - | 'fields.imageMeta.meta.City' - | 'fields.imageMeta.meta.Clarity2012' - | 'fields.imageMeta.meta.ColorGradeBlending' - | 'fields.imageMeta.meta.ColorGradeGlobalHue' - | 'fields.imageMeta.meta.ColorGradeGlobalLum' - | 'fields.imageMeta.meta.ColorGradeGlobalSat' - | 'fields.imageMeta.meta.ColorGradeHighlightLum' - | 'fields.imageMeta.meta.ColorGradeMidtoneHue' - | 'fields.imageMeta.meta.ColorGradeMidtoneLum' - | 'fields.imageMeta.meta.ColorGradeMidtoneSat' - | 'fields.imageMeta.meta.ColorGradeShadowLum' - | 'fields.imageMeta.meta.ColorNoiseReduction' - | 'fields.imageMeta.meta.ColorNoiseReductionDetail' - | 'fields.imageMeta.meta.ColorNoiseReductionSmoothness' - | 'fields.imageMeta.meta.ColorSpace' - | 'fields.imageMeta.meta.Contrast' - | 'fields.imageMeta.meta.Contrast2012' - | 'fields.imageMeta.meta.ConvertToGrayscale' - | 'fields.imageMeta.meta.Country' - | 'fields.imageMeta.meta.CreateDate' - | 'fields.imageMeta.meta.CreatorTool' - | 'fields.imageMeta.meta.CropAngle' - | 'fields.imageMeta.meta.CropBottom' - | 'fields.imageMeta.meta.CropConstrainToWarp' - | 'fields.imageMeta.meta.CropLeft' - | 'fields.imageMeta.meta.CropRight' - | 'fields.imageMeta.meta.CropTop' - | 'fields.imageMeta.meta.CustomRendered' - | 'fields.imageMeta.meta.DateCreated' - | 'fields.imageMeta.meta.DateTimeOriginal' - | 'fields.imageMeta.meta.DefringeGreenAmount' - | 'fields.imageMeta.meta.DefringeGreenHueHi' - | 'fields.imageMeta.meta.DefringeGreenHueLo' - | 'fields.imageMeta.meta.DefringePurpleAmount' - | 'fields.imageMeta.meta.DefringePurpleHueHi' - | 'fields.imageMeta.meta.DefringePurpleHueLo' - | 'fields.imageMeta.meta.Dehaze' - | 'fields.imageMeta.meta.DigitalCreationDate' - | 'fields.imageMeta.meta.DigitalCreationTime' - | 'fields.imageMeta.meta.DigitalZoomRatio' - | 'fields.imageMeta.meta.DistortionCorrectionAlreadyApplied' - | 'fields.imageMeta.meta.DocumentID' - | 'fields.imageMeta.meta.EnhanceDetailsAlreadyApplied' - | 'fields.imageMeta.meta.EnhanceDetailsVersion' - | 'fields.imageMeta.meta.EnhanceSuperResolutionAlreadyApplied' - | 'fields.imageMeta.meta.EnhanceSuperResolutionScale' - | 'fields.imageMeta.meta.EnhanceSuperResolutionVersion' - | 'fields.imageMeta.meta.ExifImageHeight' - | 'fields.imageMeta.meta.ExifImageWidth' - | 'fields.imageMeta.meta.ExifVersion' - | 'fields.imageMeta.meta.Exposure2012' - | 'fields.imageMeta.meta.ExposureCompensation' - | 'fields.imageMeta.meta.ExposureMode' - | 'fields.imageMeta.meta.ExposureProgram' - | 'fields.imageMeta.meta.ExposureTime' - | 'fields.imageMeta.meta.FNumber' - | 'fields.imageMeta.meta.FileSource' - | 'fields.imageMeta.meta.Flash' - | 'fields.imageMeta.meta.FlashpixVersion' - | 'fields.imageMeta.meta.FocalLength' - | 'fields.imageMeta.meta.FocalLengthIn35mmFormat' - | 'fields.imageMeta.meta.FocalPlaneResolutionUnit' - | 'fields.imageMeta.meta.FocalPlaneXResolution' - | 'fields.imageMeta.meta.FocalPlaneYResolution' - | 'fields.imageMeta.meta.GPSAltitude' - | 'fields.imageMeta.meta.GPSDOP' - | 'fields.imageMeta.meta.GPSDateStamp' - | 'fields.imageMeta.meta.GPSDifferential' - | 'fields.imageMeta.meta.GPSHPositioningError' - | 'fields.imageMeta.meta.GPSLatitude' - | 'fields.imageMeta.meta.GPSLatitudeRef' - | 'fields.imageMeta.meta.GPSLongitude' - | 'fields.imageMeta.meta.GPSLongitudeRef' - | 'fields.imageMeta.meta.GPSMapDatum' - | 'fields.imageMeta.meta.GPSMeasureMode' - | 'fields.imageMeta.meta.GPSSpeed' - | 'fields.imageMeta.meta.GPSSpeedRef' - | 'fields.imageMeta.meta.GPSStatus' - | 'fields.imageMeta.meta.GPSTimeStamp' - | 'fields.imageMeta.meta.GPSTrack' - | 'fields.imageMeta.meta.GPSTrackRef' - | 'fields.imageMeta.meta.GPSVersionID' - | 'fields.imageMeta.meta.GrainAmount' - | 'fields.imageMeta.meta.GrainFrequency' - | 'fields.imageMeta.meta.GrainSeed' - | 'fields.imageMeta.meta.GrainSize' - | 'fields.imageMeta.meta.GrayMixerAqua' - | 'fields.imageMeta.meta.GrayMixerBlue' - | 'fields.imageMeta.meta.GrayMixerGreen' - | 'fields.imageMeta.meta.GrayMixerMagenta' - | 'fields.imageMeta.meta.GrayMixerOrange' - | 'fields.imageMeta.meta.GrayMixerPurple' - | 'fields.imageMeta.meta.GrayMixerRed' - | 'fields.imageMeta.meta.GrayMixerYellow' - | 'fields.imageMeta.meta.GreenHue' - | 'fields.imageMeta.meta.GreenSaturation' - | 'fields.imageMeta.meta.HasCrop' - | 'fields.imageMeta.meta.HasSettings' - | 'fields.imageMeta.meta.Highlights2012' - | 'fields.imageMeta.meta.History' - | 'fields.imageMeta.meta.HueAdjustmentAqua' - | 'fields.imageMeta.meta.HueAdjustmentBlue' - | 'fields.imageMeta.meta.HueAdjustmentGreen' - | 'fields.imageMeta.meta.HueAdjustmentMagenta' - | 'fields.imageMeta.meta.HueAdjustmentOrange' - | 'fields.imageMeta.meta.HueAdjustmentPurple' - | 'fields.imageMeta.meta.HueAdjustmentRed' - | 'fields.imageMeta.meta.HueAdjustmentYellow' - | 'fields.imageMeta.meta.ISO' - | 'fields.imageMeta.meta.ImageDescription' - | 'fields.imageMeta.meta.IncrementalTemperature' - | 'fields.imageMeta.meta.IncrementalTint' - | 'fields.imageMeta.meta.InstanceID' - | 'fields.imageMeta.meta.Keywords' - | 'fields.imageMeta.meta.LateralChromaticAberrationCorrectionAlreadyApplied' - | 'fields.imageMeta.meta.Lens' - | 'fields.imageMeta.meta.LensDistortInfo' - | 'fields.imageMeta.meta.LensID' - | 'fields.imageMeta.meta.LensInfo' - | 'fields.imageMeta.meta.LensMake' - | 'fields.imageMeta.meta.LensManualDistortionAmount' - | 'fields.imageMeta.meta.LensModel' - | 'fields.imageMeta.meta.LensProfileDigest' - | 'fields.imageMeta.meta.LensProfileDistortionScale' - | 'fields.imageMeta.meta.LensProfileEnable' - | 'fields.imageMeta.meta.LensProfileFilename' - | 'fields.imageMeta.meta.LensProfileIsEmbedded' - | 'fields.imageMeta.meta.LensProfileName' - | 'fields.imageMeta.meta.LensProfileSetup' - | 'fields.imageMeta.meta.LensProfileVignettingScale' - | 'fields.imageMeta.meta.LightSource' - | 'fields.imageMeta.meta.Location' - | 'fields.imageMeta.meta.LuminanceAdjustmentAqua' - | 'fields.imageMeta.meta.LuminanceAdjustmentBlue' - | 'fields.imageMeta.meta.LuminanceAdjustmentGreen' - | 'fields.imageMeta.meta.LuminanceAdjustmentMagenta' - | 'fields.imageMeta.meta.LuminanceAdjustmentOrange' - | 'fields.imageMeta.meta.LuminanceAdjustmentPurple' - | 'fields.imageMeta.meta.LuminanceAdjustmentRed' - | 'fields.imageMeta.meta.LuminanceAdjustmentYellow' - | 'fields.imageMeta.meta.LuminanceNoiseReductionContrast' - | 'fields.imageMeta.meta.LuminanceNoiseReductionDetail' - | 'fields.imageMeta.meta.LuminanceSmoothing' - | 'fields.imageMeta.meta.Make' - | 'fields.imageMeta.meta.MaxApertureValue' - | 'fields.imageMeta.meta.MetadataDate' - | 'fields.imageMeta.meta.MeteringMode' - | 'fields.imageMeta.meta.Model' - | 'fields.imageMeta.meta.ModifyDate' - | 'fields.imageMeta.meta.ObjectName' - | 'fields.imageMeta.meta.OffsetTime' - | 'fields.imageMeta.meta.OffsetTimeDigitized' - | 'fields.imageMeta.meta.OffsetTimeOriginal' - | 'fields.imageMeta.meta.Orientation' - | 'fields.imageMeta.meta.OriginalDocumentID' - | 'fields.imageMeta.meta.OverrideLookVignette' - | 'fields.imageMeta.meta.ParametricDarks' - | 'fields.imageMeta.meta.ParametricHighlightSplit' - | 'fields.imageMeta.meta.ParametricHighlights' - | 'fields.imageMeta.meta.ParametricLights' - | 'fields.imageMeta.meta.ParametricMidtoneSplit' - | 'fields.imageMeta.meta.ParametricShadowSplit' - | 'fields.imageMeta.meta.ParametricShadows' - | 'fields.imageMeta.meta.PerspectiveAspect' - | 'fields.imageMeta.meta.PerspectiveHorizontal' - | 'fields.imageMeta.meta.PerspectiveRotate' - | 'fields.imageMeta.meta.PerspectiveScale' - | 'fields.imageMeta.meta.PerspectiveUpright' - | 'fields.imageMeta.meta.PerspectiveVertical' - | 'fields.imageMeta.meta.PerspectiveX' - | 'fields.imageMeta.meta.PerspectiveY' - | 'fields.imageMeta.meta.PostCropVignetteAmount' - | 'fields.imageMeta.meta.PostCropVignetteFeather' - | 'fields.imageMeta.meta.PostCropVignetteHighlightContrast' - | 'fields.imageMeta.meta.PostCropVignetteMidpoint' - | 'fields.imageMeta.meta.PostCropVignetteRoundness' - | 'fields.imageMeta.meta.PostCropVignetteStyle' - | 'fields.imageMeta.meta.PreservedFileName' - | 'fields.imageMeta.meta.ProcessVersion' - | 'fields.imageMeta.meta.Rating' - | 'fields.imageMeta.meta.RawFileName' - | 'fields.imageMeta.meta.RecommendedExposureIndex' - | 'fields.imageMeta.meta.RedHue' - | 'fields.imageMeta.meta.RedSaturation' - | 'fields.imageMeta.meta.ResolutionUnit' - | 'fields.imageMeta.meta.SaturationAdjustmentAqua' - | 'fields.imageMeta.meta.SaturationAdjustmentBlue' - | 'fields.imageMeta.meta.SaturationAdjustmentGreen' - | 'fields.imageMeta.meta.SaturationAdjustmentMagenta' - | 'fields.imageMeta.meta.SaturationAdjustmentOrange' - | 'fields.imageMeta.meta.SaturationAdjustmentPurple' - | 'fields.imageMeta.meta.SaturationAdjustmentRed' - | 'fields.imageMeta.meta.SaturationAdjustmentYellow' - | 'fields.imageMeta.meta.SceneCaptureType' - | 'fields.imageMeta.meta.SceneType' - | 'fields.imageMeta.meta.SensingMethod' - | 'fields.imageMeta.meta.SensitivityType' - | 'fields.imageMeta.meta.ShadowTint' - | 'fields.imageMeta.meta.Shadows2012' - | 'fields.imageMeta.meta.SharpenDetail' - | 'fields.imageMeta.meta.SharpenEdgeMasking' - | 'fields.imageMeta.meta.SharpenRadius' - | 'fields.imageMeta.meta.ShutterSpeedValue' - | 'fields.imageMeta.meta.Software' - | 'fields.imageMeta.meta.SplitToningBalance' - | 'fields.imageMeta.meta.SplitToningHighlightHue' - | 'fields.imageMeta.meta.SplitToningHighlightSaturation' - | 'fields.imageMeta.meta.SplitToningShadowHue' - | 'fields.imageMeta.meta.SplitToningShadowSaturation' - | 'fields.imageMeta.meta.State' - | 'fields.imageMeta.meta.SubSecTimeDigitized' - | 'fields.imageMeta.meta.SubSecTimeOriginal' - | 'fields.imageMeta.meta.Sublocation' - | 'fields.imageMeta.meta.Temperature' - | 'fields.imageMeta.meta.Texture' - | 'fields.imageMeta.meta.TimeCreated' - | 'fields.imageMeta.meta.Tint' - | 'fields.imageMeta.meta.ToneCurveName2012' - | 'fields.imageMeta.meta.ToneCurvePV2012' - | 'fields.imageMeta.meta.ToneCurvePV2012Blue' - | 'fields.imageMeta.meta.ToneCurvePV2012Green' - | 'fields.imageMeta.meta.ToneCurvePV2012Red' - | 'fields.imageMeta.meta.UprightCenterMode' - | 'fields.imageMeta.meta.UprightCenterNormX' - | 'fields.imageMeta.meta.UprightCenterNormY' - | 'fields.imageMeta.meta.UprightDependentDigest' - | 'fields.imageMeta.meta.UprightFocalLength35mm' - | 'fields.imageMeta.meta.UprightFocalMode' - | 'fields.imageMeta.meta.UprightPreview' - | 'fields.imageMeta.meta.UprightTransformCount' - | 'fields.imageMeta.meta.UprightVersion' - | 'fields.imageMeta.meta.Version' - | 'fields.imageMeta.meta.Vibrance' - | 'fields.imageMeta.meta.VignetteAmount' - | 'fields.imageMeta.meta.VignetteCorrectionAlreadyApplied' - | 'fields.imageMeta.meta.WhiteBalance' - | 'fields.imageMeta.meta.Whites2012' - | 'fields.imageMeta.meta.XResolution' - | 'fields.imageMeta.meta.YCbCrPositioning' - | 'fields.imageMeta.meta.YResolution' - | 'fields.imageMeta.meta.creator' - | 'fields.imageMeta.meta.format' - | 'fields.imageMeta.meta.good' - | 'fields.imageMeta.meta.latitude' - | 'fields.imageMeta.meta.longitude' - | 'fields.imageMeta.vibrantHue' - | 'fields.imageMeta.vibrant.DarkMuted' - | 'fields.imageMeta.vibrant.DarkVibrant' - | 'fields.imageMeta.vibrant.LightMuted' - | 'fields.imageMeta.vibrant.LightVibrant' - | 'fields.imageMeta.vibrant.Muted' - | 'fields.imageMeta.vibrant.Vibrant' - | 'gid' - | 'id' - | 'ino' - | 'internal.content' - | 'internal.contentDigest' - | 'internal.contentFilePath' - | 'internal.description' - | 'internal.fieldOwners' - | 'internal.ignoreType' - | 'internal.mediaType' - | 'internal.owner' - | 'internal.type' - | 'mode' - | 'modifiedTime' - | 'mtime' - | 'mtimeMs' - | 'name' - | 'nlink' - | 'parent.children' - | 'parent.children.children' - | 'parent.children.children.children' - | 'parent.children.children.id' - | 'parent.children.id' - | 'parent.children.internal.content' - | 'parent.children.internal.contentDigest' - | 'parent.children.internal.contentFilePath' - | 'parent.children.internal.description' - | 'parent.children.internal.fieldOwners' - | 'parent.children.internal.ignoreType' - | 'parent.children.internal.mediaType' - | 'parent.children.internal.owner' - | 'parent.children.internal.type' - | 'parent.children.parent.children' - | 'parent.children.parent.id' - | 'parent.id' - | 'parent.internal.content' - | 'parent.internal.contentDigest' - | 'parent.internal.contentFilePath' - | 'parent.internal.description' - | 'parent.internal.fieldOwners' - | 'parent.internal.ignoreType' - | 'parent.internal.mediaType' - | 'parent.internal.owner' - | 'parent.internal.type' - | 'parent.parent.children' - | 'parent.parent.children.children' - | 'parent.parent.children.id' - | 'parent.parent.id' - | 'parent.parent.internal.content' - | 'parent.parent.internal.contentDigest' - | 'parent.parent.internal.contentFilePath' - | 'parent.parent.internal.description' - | 'parent.parent.internal.fieldOwners' - | 'parent.parent.internal.ignoreType' - | 'parent.parent.internal.mediaType' - | 'parent.parent.internal.owner' - | 'parent.parent.internal.type' - | 'parent.parent.parent.children' - | 'parent.parent.parent.id' - | 'prettySize' - | 'publicURL' - | 'rdev' - | 'relativeDirectory' - | 'relativePath' - | 'root' - | 'size' - | 'sourceInstanceName' - | 'uid'; - -type FileFieldsFilterInput = { - readonly imageMeta: InputMaybe; -}; - -type FileFieldsImageMeta = { - readonly dateTaken: Maybe; - readonly dominantHue: Maybe>>; - readonly meta: Maybe; - readonly vibrant: Maybe; - readonly vibrantHue: Maybe; -}; - - -type FileFieldsImageMeta_dateTakenArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - -type FileFieldsImageMetaFilterInput = { - readonly dateTaken: InputMaybe; - readonly dominantHue: InputMaybe; - readonly meta: InputMaybe; - readonly vibrant: InputMaybe; - readonly vibrantHue: InputMaybe; -}; - -type FileFieldsImageMetaMeta = { - readonly AlreadyApplied: Maybe; - readonly ApertureValue: Maybe; - readonly ApplicationRecordVersion: Maybe; - readonly Artist: Maybe; - readonly AutoLateralCA: Maybe; - readonly AutoToneDigest: Maybe; - readonly AutoToneDigestNoSat: Maybe; - readonly AutoWhiteVersion: Maybe; - readonly Blacks2012: Maybe; - readonly BlueHue: Maybe; - readonly BlueSaturation: Maybe; - readonly BrightnessValue: Maybe; - readonly Byline: Maybe; - readonly CameraProfile: Maybe; - readonly CameraProfileDigest: Maybe; - readonly Caption: Maybe; - readonly City: Maybe; - readonly Clarity2012: Maybe; - readonly ColorGradeBlending: Maybe; - readonly ColorGradeGlobalHue: Maybe; - readonly ColorGradeGlobalLum: Maybe; - readonly ColorGradeGlobalSat: Maybe; - readonly ColorGradeHighlightLum: Maybe; - readonly ColorGradeMidtoneHue: Maybe; - readonly ColorGradeMidtoneLum: Maybe; - readonly ColorGradeMidtoneSat: Maybe; - readonly ColorGradeShadowLum: Maybe; - readonly ColorNoiseReduction: Maybe; - readonly ColorNoiseReductionDetail: Maybe; - readonly ColorNoiseReductionSmoothness: Maybe; - readonly ColorSpace: Maybe; - readonly Contrast: Maybe; - readonly Contrast2012: Maybe; - readonly ConvertToGrayscale: Maybe; - readonly Country: Maybe; - readonly CreateDate: Maybe; - readonly CreatorTool: Maybe; - readonly CropAngle: Maybe; - readonly CropBottom: Maybe; - readonly CropConstrainToWarp: Maybe; - readonly CropLeft: Maybe; - readonly CropRight: Maybe; - readonly CropTop: Maybe; - readonly CustomRendered: Maybe; - readonly DateCreated: Maybe; - readonly DateTimeOriginal: Maybe; - readonly DefringeGreenAmount: Maybe; - readonly DefringeGreenHueHi: Maybe; - readonly DefringeGreenHueLo: Maybe; - readonly DefringePurpleAmount: Maybe; - readonly DefringePurpleHueHi: Maybe; - readonly DefringePurpleHueLo: Maybe; - readonly Dehaze: Maybe; - readonly DerivedFrom: Maybe; - readonly DigitalCreationDate: Maybe; - readonly DigitalCreationTime: Maybe; - readonly DigitalZoomRatio: Maybe; - readonly DistortionCorrectionAlreadyApplied: Maybe; - readonly DocumentID: Maybe; - readonly EnhanceDetailsAlreadyApplied: Maybe; - readonly EnhanceDetailsVersion: Maybe; - readonly EnhanceSuperResolutionAlreadyApplied: Maybe; - readonly EnhanceSuperResolutionScale: Maybe; - readonly EnhanceSuperResolutionVersion: Maybe; - readonly ExifImageHeight: Maybe; - readonly ExifImageWidth: Maybe; - readonly ExifVersion: Maybe; - readonly Exposure2012: Maybe; - readonly ExposureCompensation: Maybe; - readonly ExposureMode: Maybe; - readonly ExposureProgram: Maybe; - readonly ExposureTime: Maybe; - readonly FNumber: Maybe; - readonly FileSource: Maybe; - readonly Flash: Maybe; - readonly FlashpixVersion: Maybe; - readonly FocalLength: Maybe; - readonly FocalLengthIn35mmFormat: Maybe; - readonly FocalPlaneResolutionUnit: Maybe; - readonly FocalPlaneXResolution: Maybe; - readonly FocalPlaneYResolution: Maybe; - readonly GPSAltitude: Maybe; - readonly GPSDOP: Maybe; - readonly GPSDateStamp: Maybe; - readonly GPSDifferential: Maybe; - readonly GPSHPositioningError: Maybe; - readonly GPSLatitude: Maybe>>; - readonly GPSLatitudeRef: Maybe; - readonly GPSLongitude: Maybe>>; - readonly GPSLongitudeRef: Maybe; - readonly GPSMapDatum: Maybe; - readonly GPSMeasureMode: Maybe; - readonly GPSSpeed: Maybe; - readonly GPSSpeedRef: Maybe; - readonly GPSStatus: Maybe; - readonly GPSTimeStamp: Maybe; - readonly GPSTrack: Maybe; - readonly GPSTrackRef: Maybe; - readonly GPSVersionID: Maybe; - readonly GrainAmount: Maybe; - readonly GrainFrequency: Maybe; - readonly GrainSeed: Maybe; - readonly GrainSize: Maybe; - readonly GrayMixerAqua: Maybe; - readonly GrayMixerBlue: Maybe; - readonly GrayMixerGreen: Maybe; - readonly GrayMixerMagenta: Maybe; - readonly GrayMixerOrange: Maybe; - readonly GrayMixerPurple: Maybe; - readonly GrayMixerRed: Maybe; - readonly GrayMixerYellow: Maybe; - readonly GreenHue: Maybe; - readonly GreenSaturation: Maybe; - readonly HasCrop: Maybe; - readonly HasSettings: Maybe; - readonly Highlights2012: Maybe; - readonly History: Maybe>>; - readonly HueAdjustmentAqua: Maybe; - readonly HueAdjustmentBlue: Maybe; - readonly HueAdjustmentGreen: Maybe; - readonly HueAdjustmentMagenta: Maybe; - readonly HueAdjustmentOrange: Maybe; - readonly HueAdjustmentPurple: Maybe; - readonly HueAdjustmentRed: Maybe; - readonly HueAdjustmentYellow: Maybe; - readonly ISO: Maybe; - readonly ImageDescription: Maybe; - readonly IncrementalTemperature: Maybe; - readonly IncrementalTint: Maybe; - readonly InstanceID: Maybe; - readonly Keywords: Maybe>>; - readonly LateralChromaticAberrationCorrectionAlreadyApplied: Maybe; - readonly Lens: Maybe; - readonly LensDistortInfo: Maybe; - readonly LensID: Maybe; - readonly LensInfo: Maybe>>; - readonly LensMake: Maybe; - readonly LensManualDistortionAmount: Maybe; - readonly LensModel: Maybe; - readonly LensProfileDigest: Maybe; - readonly LensProfileDistortionScale: Maybe; - readonly LensProfileEnable: Maybe; - readonly LensProfileFilename: Maybe; - readonly LensProfileIsEmbedded: Maybe; - readonly LensProfileName: Maybe; - readonly LensProfileSetup: Maybe; - readonly LensProfileVignettingScale: Maybe; - readonly LightSource: Maybe; - readonly Location: Maybe; - readonly Look: Maybe; - readonly LuminanceAdjustmentAqua: Maybe; - readonly LuminanceAdjustmentBlue: Maybe; - readonly LuminanceAdjustmentGreen: Maybe; - readonly LuminanceAdjustmentMagenta: Maybe; - readonly LuminanceAdjustmentOrange: Maybe; - readonly LuminanceAdjustmentPurple: Maybe; - readonly LuminanceAdjustmentRed: Maybe; - readonly LuminanceAdjustmentYellow: Maybe; - readonly LuminanceNoiseReductionContrast: Maybe; - readonly LuminanceNoiseReductionDetail: Maybe; - readonly LuminanceSmoothing: Maybe; - readonly Make: Maybe; - readonly MaxApertureValue: Maybe; - readonly MetadataDate: Maybe; - readonly MeteringMode: Maybe; - readonly Model: Maybe; - readonly ModifyDate: Maybe; - readonly ObjectName: Maybe; - readonly OffsetTime: Maybe; - readonly OffsetTimeDigitized: Maybe; - readonly OffsetTimeOriginal: Maybe; - readonly Orientation: Maybe; - readonly OriginalDocumentID: Maybe; - readonly OverrideLookVignette: Maybe; - readonly ParametricDarks: Maybe; - readonly ParametricHighlightSplit: Maybe; - readonly ParametricHighlights: Maybe; - readonly ParametricLights: Maybe; - readonly ParametricMidtoneSplit: Maybe; - readonly ParametricShadowSplit: Maybe; - readonly ParametricShadows: Maybe; - readonly PerspectiveAspect: Maybe; - readonly PerspectiveHorizontal: Maybe; - readonly PerspectiveRotate: Maybe; - readonly PerspectiveScale: Maybe; - readonly PerspectiveUpright: Maybe; - readonly PerspectiveVertical: Maybe; - readonly PerspectiveX: Maybe; - readonly PerspectiveY: Maybe; - readonly PostCropVignetteAmount: Maybe; - readonly PostCropVignetteFeather: Maybe; - readonly PostCropVignetteHighlightContrast: Maybe; - readonly PostCropVignetteMidpoint: Maybe; - readonly PostCropVignetteRoundness: Maybe; - readonly PostCropVignetteStyle: Maybe; - readonly PreservedFileName: Maybe; - readonly ProcessVersion: Maybe; - readonly Rating: Maybe; - readonly RawFileName: Maybe; - readonly RecommendedExposureIndex: Maybe; - readonly RedHue: Maybe; - readonly RedSaturation: Maybe; - readonly ResolutionUnit: Maybe; - readonly SaturationAdjustmentAqua: Maybe; - readonly SaturationAdjustmentBlue: Maybe; - readonly SaturationAdjustmentGreen: Maybe; - readonly SaturationAdjustmentMagenta: Maybe; - readonly SaturationAdjustmentOrange: Maybe; - readonly SaturationAdjustmentPurple: Maybe; - readonly SaturationAdjustmentRed: Maybe; - readonly SaturationAdjustmentYellow: Maybe; - readonly SceneCaptureType: Maybe; - readonly SceneType: Maybe; - readonly SensingMethod: Maybe; - readonly SensitivityType: Maybe; - readonly ShadowTint: Maybe; - readonly Shadows2012: Maybe; - readonly SharpenDetail: Maybe; - readonly SharpenEdgeMasking: Maybe; - readonly SharpenRadius: Maybe; - readonly ShutterSpeedValue: Maybe; - readonly Software: Maybe; - readonly SplitToningBalance: Maybe; - readonly SplitToningHighlightHue: Maybe; - readonly SplitToningHighlightSaturation: Maybe; - readonly SplitToningShadowHue: Maybe; - readonly SplitToningShadowSaturation: Maybe; - readonly State: Maybe; - readonly SubSecTimeDigitized: Maybe; - readonly SubSecTimeOriginal: Maybe; - readonly Sublocation: Maybe; - readonly Temperature: Maybe; - readonly Texture: Maybe; - readonly TimeCreated: Maybe; - readonly Tint: Maybe; - readonly ToneCurveName2012: Maybe; - readonly ToneCurvePV2012: Maybe>>; - readonly ToneCurvePV2012Blue: Maybe>>; - readonly ToneCurvePV2012Green: Maybe>>; - readonly ToneCurvePV2012Red: Maybe>>; - readonly UprightCenterMode: Maybe; - readonly UprightCenterNormX: Maybe; - readonly UprightCenterNormY: Maybe; - readonly UprightDependentDigest: Maybe; - readonly UprightFocalLength35mm: Maybe; - readonly UprightFocalMode: Maybe; - readonly UprightPreview: Maybe; - readonly UprightTransformCount: Maybe; - readonly UprightVersion: Maybe; - readonly Version: Maybe; - readonly Vibrance: Maybe; - readonly VignetteAmount: Maybe; - readonly VignetteCorrectionAlreadyApplied: Maybe; - readonly WhiteBalance: Maybe; - readonly Whites2012: Maybe; - readonly XResolution: Maybe; - readonly YCbCrPositioning: Maybe; - readonly YResolution: Maybe; - readonly creator: Maybe; - readonly description: Maybe; - readonly format: Maybe; - readonly good: Maybe; - readonly latitude: Maybe; - readonly longitude: Maybe; - readonly title: Maybe; -}; - - -type FileFieldsImageMetaMeta_CreateDateArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type FileFieldsImageMetaMeta_DateCreatedArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type FileFieldsImageMetaMeta_DateTimeOriginalArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type FileFieldsImageMetaMeta_DigitalCreationDateArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type FileFieldsImageMetaMeta_MetadataDateArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - - -type FileFieldsImageMetaMeta_ModifyDateArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - -type FileFieldsImageMetaMetaDerivedFrom = { - readonly documentID: Maybe; - readonly instanceID: Maybe; - readonly originalDocumentID: Maybe; -}; - -type FileFieldsImageMetaMetaDerivedFromFilterInput = { - readonly documentID: InputMaybe; - readonly instanceID: InputMaybe; - readonly originalDocumentID: InputMaybe; -}; - -type FileFieldsImageMetaMetaDescription = { - readonly lang: Maybe; - readonly value: Maybe; -}; - -type FileFieldsImageMetaMetaDescriptionFilterInput = { - readonly lang: InputMaybe; - readonly value: InputMaybe; -}; - -type FileFieldsImageMetaMetaFilterInput = { - readonly AlreadyApplied: InputMaybe; - readonly ApertureValue: InputMaybe; - readonly ApplicationRecordVersion: InputMaybe; - readonly Artist: InputMaybe; - readonly AutoLateralCA: InputMaybe; - readonly AutoToneDigest: InputMaybe; - readonly AutoToneDigestNoSat: InputMaybe; - readonly AutoWhiteVersion: InputMaybe; - readonly Blacks2012: InputMaybe; - readonly BlueHue: InputMaybe; - readonly BlueSaturation: InputMaybe; - readonly BrightnessValue: InputMaybe; - readonly Byline: InputMaybe; - readonly CameraProfile: InputMaybe; - readonly CameraProfileDigest: InputMaybe; - readonly Caption: InputMaybe; - readonly City: InputMaybe; - readonly Clarity2012: InputMaybe; - readonly ColorGradeBlending: InputMaybe; - readonly ColorGradeGlobalHue: InputMaybe; - readonly ColorGradeGlobalLum: InputMaybe; - readonly ColorGradeGlobalSat: InputMaybe; - readonly ColorGradeHighlightLum: InputMaybe; - readonly ColorGradeMidtoneHue: InputMaybe; - readonly ColorGradeMidtoneLum: InputMaybe; - readonly ColorGradeMidtoneSat: InputMaybe; - readonly ColorGradeShadowLum: InputMaybe; - readonly ColorNoiseReduction: InputMaybe; - readonly ColorNoiseReductionDetail: InputMaybe; - readonly ColorNoiseReductionSmoothness: InputMaybe; - readonly ColorSpace: InputMaybe; - readonly Contrast: InputMaybe; - readonly Contrast2012: InputMaybe; - readonly ConvertToGrayscale: InputMaybe; - readonly Country: InputMaybe; - readonly CreateDate: InputMaybe; - readonly CreatorTool: InputMaybe; - readonly CropAngle: InputMaybe; - readonly CropBottom: InputMaybe; - readonly CropConstrainToWarp: InputMaybe; - readonly CropLeft: InputMaybe; - readonly CropRight: InputMaybe; - readonly CropTop: InputMaybe; - readonly CustomRendered: InputMaybe; - readonly DateCreated: InputMaybe; - readonly DateTimeOriginal: InputMaybe; - readonly DefringeGreenAmount: InputMaybe; - readonly DefringeGreenHueHi: InputMaybe; - readonly DefringeGreenHueLo: InputMaybe; - readonly DefringePurpleAmount: InputMaybe; - readonly DefringePurpleHueHi: InputMaybe; - readonly DefringePurpleHueLo: InputMaybe; - readonly Dehaze: InputMaybe; - readonly DerivedFrom: InputMaybe; - readonly DigitalCreationDate: InputMaybe; - readonly DigitalCreationTime: InputMaybe; - readonly DigitalZoomRatio: InputMaybe; - readonly DistortionCorrectionAlreadyApplied: InputMaybe; - readonly DocumentID: InputMaybe; - readonly EnhanceDetailsAlreadyApplied: InputMaybe; - readonly EnhanceDetailsVersion: InputMaybe; - readonly EnhanceSuperResolutionAlreadyApplied: InputMaybe; - readonly EnhanceSuperResolutionScale: InputMaybe; - readonly EnhanceSuperResolutionVersion: InputMaybe; - readonly ExifImageHeight: InputMaybe; - readonly ExifImageWidth: InputMaybe; - readonly ExifVersion: InputMaybe; - readonly Exposure2012: InputMaybe; - readonly ExposureCompensation: InputMaybe; - readonly ExposureMode: InputMaybe; - readonly ExposureProgram: InputMaybe; - readonly ExposureTime: InputMaybe; - readonly FNumber: InputMaybe; - readonly FileSource: InputMaybe; - readonly Flash: InputMaybe; - readonly FlashpixVersion: InputMaybe; - readonly FocalLength: InputMaybe; - readonly FocalLengthIn35mmFormat: InputMaybe; - readonly FocalPlaneResolutionUnit: InputMaybe; - readonly FocalPlaneXResolution: InputMaybe; - readonly FocalPlaneYResolution: InputMaybe; - readonly GPSAltitude: InputMaybe; - readonly GPSDOP: InputMaybe; - readonly GPSDateStamp: InputMaybe; - readonly GPSDifferential: InputMaybe; - readonly GPSHPositioningError: InputMaybe; - readonly GPSLatitude: InputMaybe; - readonly GPSLatitudeRef: InputMaybe; - readonly GPSLongitude: InputMaybe; - readonly GPSLongitudeRef: InputMaybe; - readonly GPSMapDatum: InputMaybe; - readonly GPSMeasureMode: InputMaybe; - readonly GPSSpeed: InputMaybe; - readonly GPSSpeedRef: InputMaybe; - readonly GPSStatus: InputMaybe; - readonly GPSTimeStamp: InputMaybe; - readonly GPSTrack: InputMaybe; - readonly GPSTrackRef: InputMaybe; - readonly GPSVersionID: InputMaybe; - readonly GrainAmount: InputMaybe; - readonly GrainFrequency: InputMaybe; - readonly GrainSeed: InputMaybe; - readonly GrainSize: InputMaybe; - readonly GrayMixerAqua: InputMaybe; - readonly GrayMixerBlue: InputMaybe; - readonly GrayMixerGreen: InputMaybe; - readonly GrayMixerMagenta: InputMaybe; - readonly GrayMixerOrange: InputMaybe; - readonly GrayMixerPurple: InputMaybe; - readonly GrayMixerRed: InputMaybe; - readonly GrayMixerYellow: InputMaybe; - readonly GreenHue: InputMaybe; - readonly GreenSaturation: InputMaybe; - readonly HasCrop: InputMaybe; - readonly HasSettings: InputMaybe; - readonly Highlights2012: InputMaybe; - readonly History: InputMaybe; - readonly HueAdjustmentAqua: InputMaybe; - readonly HueAdjustmentBlue: InputMaybe; - readonly HueAdjustmentGreen: InputMaybe; - readonly HueAdjustmentMagenta: InputMaybe; - readonly HueAdjustmentOrange: InputMaybe; - readonly HueAdjustmentPurple: InputMaybe; - readonly HueAdjustmentRed: InputMaybe; - readonly HueAdjustmentYellow: InputMaybe; - readonly ISO: InputMaybe; - readonly ImageDescription: InputMaybe; - readonly IncrementalTemperature: InputMaybe; - readonly IncrementalTint: InputMaybe; - readonly InstanceID: InputMaybe; - readonly Keywords: InputMaybe; - readonly LateralChromaticAberrationCorrectionAlreadyApplied: InputMaybe; - readonly Lens: InputMaybe; - readonly LensDistortInfo: InputMaybe; - readonly LensID: InputMaybe; - readonly LensInfo: InputMaybe; - readonly LensMake: InputMaybe; - readonly LensManualDistortionAmount: InputMaybe; - readonly LensModel: InputMaybe; - readonly LensProfileDigest: InputMaybe; - readonly LensProfileDistortionScale: InputMaybe; - readonly LensProfileEnable: InputMaybe; - readonly LensProfileFilename: InputMaybe; - readonly LensProfileIsEmbedded: InputMaybe; - readonly LensProfileName: InputMaybe; - readonly LensProfileSetup: InputMaybe; - readonly LensProfileVignettingScale: InputMaybe; - readonly LightSource: InputMaybe; - readonly Location: InputMaybe; - readonly Look: InputMaybe; - readonly LuminanceAdjustmentAqua: InputMaybe; - readonly LuminanceAdjustmentBlue: InputMaybe; - readonly LuminanceAdjustmentGreen: InputMaybe; - readonly LuminanceAdjustmentMagenta: InputMaybe; - readonly LuminanceAdjustmentOrange: InputMaybe; - readonly LuminanceAdjustmentPurple: InputMaybe; - readonly LuminanceAdjustmentRed: InputMaybe; - readonly LuminanceAdjustmentYellow: InputMaybe; - readonly LuminanceNoiseReductionContrast: InputMaybe; - readonly LuminanceNoiseReductionDetail: InputMaybe; - readonly LuminanceSmoothing: InputMaybe; - readonly Make: InputMaybe; - readonly MaxApertureValue: InputMaybe; - readonly MetadataDate: InputMaybe; - readonly MeteringMode: InputMaybe; - readonly Model: InputMaybe; - readonly ModifyDate: InputMaybe; - readonly ObjectName: InputMaybe; - readonly OffsetTime: InputMaybe; - readonly OffsetTimeDigitized: InputMaybe; - readonly OffsetTimeOriginal: InputMaybe; - readonly Orientation: InputMaybe; - readonly OriginalDocumentID: InputMaybe; - readonly OverrideLookVignette: InputMaybe; - readonly ParametricDarks: InputMaybe; - readonly ParametricHighlightSplit: InputMaybe; - readonly ParametricHighlights: InputMaybe; - readonly ParametricLights: InputMaybe; - readonly ParametricMidtoneSplit: InputMaybe; - readonly ParametricShadowSplit: InputMaybe; - readonly ParametricShadows: InputMaybe; - readonly PerspectiveAspect: InputMaybe; - readonly PerspectiveHorizontal: InputMaybe; - readonly PerspectiveRotate: InputMaybe; - readonly PerspectiveScale: InputMaybe; - readonly PerspectiveUpright: InputMaybe; - readonly PerspectiveVertical: InputMaybe; - readonly PerspectiveX: InputMaybe; - readonly PerspectiveY: InputMaybe; - readonly PostCropVignetteAmount: InputMaybe; - readonly PostCropVignetteFeather: InputMaybe; - readonly PostCropVignetteHighlightContrast: InputMaybe; - readonly PostCropVignetteMidpoint: InputMaybe; - readonly PostCropVignetteRoundness: InputMaybe; - readonly PostCropVignetteStyle: InputMaybe; - readonly PreservedFileName: InputMaybe; - readonly ProcessVersion: InputMaybe; - readonly Rating: InputMaybe; - readonly RawFileName: InputMaybe; - readonly RecommendedExposureIndex: InputMaybe; - readonly RedHue: InputMaybe; - readonly RedSaturation: InputMaybe; - readonly ResolutionUnit: InputMaybe; - readonly SaturationAdjustmentAqua: InputMaybe; - readonly SaturationAdjustmentBlue: InputMaybe; - readonly SaturationAdjustmentGreen: InputMaybe; - readonly SaturationAdjustmentMagenta: InputMaybe; - readonly SaturationAdjustmentOrange: InputMaybe; - readonly SaturationAdjustmentPurple: InputMaybe; - readonly SaturationAdjustmentRed: InputMaybe; - readonly SaturationAdjustmentYellow: InputMaybe; - readonly SceneCaptureType: InputMaybe; - readonly SceneType: InputMaybe; - readonly SensingMethod: InputMaybe; - readonly SensitivityType: InputMaybe; - readonly ShadowTint: InputMaybe; - readonly Shadows2012: InputMaybe; - readonly SharpenDetail: InputMaybe; - readonly SharpenEdgeMasking: InputMaybe; - readonly SharpenRadius: InputMaybe; - readonly ShutterSpeedValue: InputMaybe; - readonly Software: InputMaybe; - readonly SplitToningBalance: InputMaybe; - readonly SplitToningHighlightHue: InputMaybe; - readonly SplitToningHighlightSaturation: InputMaybe; - readonly SplitToningShadowHue: InputMaybe; - readonly SplitToningShadowSaturation: InputMaybe; - readonly State: InputMaybe; - readonly SubSecTimeDigitized: InputMaybe; - readonly SubSecTimeOriginal: InputMaybe; - readonly Sublocation: InputMaybe; - readonly Temperature: InputMaybe; - readonly Texture: InputMaybe; - readonly TimeCreated: InputMaybe; - readonly Tint: InputMaybe; - readonly ToneCurveName2012: InputMaybe; - readonly ToneCurvePV2012: InputMaybe; - readonly ToneCurvePV2012Blue: InputMaybe; - readonly ToneCurvePV2012Green: InputMaybe; - readonly ToneCurvePV2012Red: InputMaybe; - readonly UprightCenterMode: InputMaybe; - readonly UprightCenterNormX: InputMaybe; - readonly UprightCenterNormY: InputMaybe; - readonly UprightDependentDigest: InputMaybe; - readonly UprightFocalLength35mm: InputMaybe; - readonly UprightFocalMode: InputMaybe; - readonly UprightPreview: InputMaybe; - readonly UprightTransformCount: InputMaybe; - readonly UprightVersion: InputMaybe; - readonly Version: InputMaybe; - readonly Vibrance: InputMaybe; - readonly VignetteAmount: InputMaybe; - readonly VignetteCorrectionAlreadyApplied: InputMaybe; - readonly WhiteBalance: InputMaybe; - readonly Whites2012: InputMaybe; - readonly XResolution: InputMaybe; - readonly YCbCrPositioning: InputMaybe; - readonly YResolution: InputMaybe; - readonly creator: InputMaybe; - readonly description: InputMaybe; - readonly format: InputMaybe; - readonly good: InputMaybe; - readonly latitude: InputMaybe; - readonly longitude: InputMaybe; - readonly title: InputMaybe; -}; - -type FileFieldsImageMetaMetaHistory = { - readonly action: Maybe; - readonly changed: Maybe; - readonly instanceID: Maybe; - readonly parameters: Maybe; - readonly softwareAgent: Maybe; - readonly when: Maybe; -}; - - -type FileFieldsImageMetaMetaHistory_whenArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - -type FileFieldsImageMetaMetaHistoryFilterInput = { - readonly action: InputMaybe; - readonly changed: InputMaybe; - readonly instanceID: InputMaybe; - readonly parameters: InputMaybe; - readonly softwareAgent: InputMaybe; - readonly when: InputMaybe; -}; - -type FileFieldsImageMetaMetaHistoryFilterListInput = { - readonly elemMatch: InputMaybe; -}; - -type FileFieldsImageMetaMetaLook = { - readonly Description: Maybe; -}; - -type FileFieldsImageMetaMetaLookDescription = { - readonly Amount: Maybe; - readonly Cluster: Maybe; - readonly Copyright: Maybe; - readonly Group: Maybe; - readonly Name: Maybe; - readonly Parameters: Maybe; - readonly SupportsAmount: Maybe; - readonly SupportsMonochrome: Maybe; - readonly SupportsOutputReferred: Maybe; - readonly UUID: Maybe; -}; - -type FileFieldsImageMetaMetaLookDescriptionFilterInput = { - readonly Amount: InputMaybe; - readonly Cluster: InputMaybe; - readonly Copyright: InputMaybe; - readonly Group: InputMaybe; - readonly Name: InputMaybe; - readonly Parameters: InputMaybe; - readonly SupportsAmount: InputMaybe; - readonly SupportsMonochrome: InputMaybe; - readonly SupportsOutputReferred: InputMaybe; - readonly UUID: InputMaybe; -}; - -type FileFieldsImageMetaMetaLookDescriptionGroup = { - readonly lang: Maybe; - readonly value: Maybe; -}; - -type FileFieldsImageMetaMetaLookDescriptionGroupFilterInput = { - readonly lang: InputMaybe; - readonly value: InputMaybe; -}; - -type FileFieldsImageMetaMetaLookDescriptionParameters = { - readonly ConvertToGrayscale: Maybe; - readonly Description: Maybe; - readonly LookTable: Maybe; - readonly ProcessVersion: Maybe; - readonly RGBTable: Maybe; - readonly RGBTableAmount: Maybe; - readonly Version: Maybe; -}; - -type FileFieldsImageMetaMetaLookDescriptionParametersDescription = { - readonly Blacks2012: Maybe; - readonly CameraProfile: Maybe; - readonly Clarity2012: Maybe; - readonly ColorGradeBlending: Maybe; - readonly ColorGradeGlobalHue: Maybe; - readonly ColorGradeGlobalLum: Maybe; - readonly ColorGradeGlobalSat: Maybe; - readonly ColorGradeHighlightLum: Maybe; - readonly ColorGradeMidtoneHue: Maybe; - readonly ColorGradeMidtoneLum: Maybe; - readonly ColorGradeMidtoneSat: Maybe; - readonly ColorGradeShadowLum: Maybe; - readonly Contrast2012: Maybe; - readonly ConvertToGrayscale: Maybe; - readonly Exposure2012: Maybe; - readonly Highlights2012: Maybe; - readonly HueAdjustmentBlue: Maybe; - readonly HueAdjustmentGreen: Maybe; - readonly HueAdjustmentOrange: Maybe; - readonly HueAdjustmentRed: Maybe; - readonly HueAdjustmentYellow: Maybe; - readonly LookTable: Maybe; - readonly LuminanceAdjustmentBlue: Maybe; - readonly LuminanceAdjustmentGreen: Maybe; - readonly LuminanceAdjustmentOrange: Maybe; - readonly LuminanceAdjustmentRed: Maybe; - readonly LuminanceAdjustmentYellow: Maybe; - readonly ParametricDarks: Maybe; - readonly ParametricHighlightSplit: Maybe; - readonly ParametricHighlights: Maybe; - readonly ParametricLights: Maybe; - readonly ParametricMidtoneSplit: Maybe; - readonly ParametricShadowSplit: Maybe; - readonly ParametricShadows: Maybe; - readonly ProcessVersion: Maybe; - readonly RGBTable: Maybe; - readonly RGBTableAmount: Maybe; - readonly SaturationAdjustmentBlue: Maybe; - readonly SaturationAdjustmentGreen: Maybe; - readonly SaturationAdjustmentOrange: Maybe; - readonly SaturationAdjustmentPurple: Maybe; - readonly SaturationAdjustmentRed: Maybe; - readonly SaturationAdjustmentYellow: Maybe; - readonly Shadows2012: Maybe; - readonly SplitToningBalance: Maybe; - readonly SplitToningHighlightHue: Maybe; - readonly SplitToningHighlightSaturation: Maybe; - readonly SplitToningShadowHue: Maybe; - readonly SplitToningShadowSaturation: Maybe; - readonly Texture: Maybe; - readonly ToneCurvePV2012: Maybe>>; - readonly ToneCurvePV2012Blue: Maybe>>; - readonly ToneCurvePV2012Green: Maybe>>; - readonly ToneCurvePV2012Red: Maybe>>; - readonly Version: Maybe; - readonly Whites2012: Maybe; -}; - -type FileFieldsImageMetaMetaLookDescriptionParametersDescriptionFilterInput = { - readonly Blacks2012: InputMaybe; - readonly CameraProfile: InputMaybe; - readonly Clarity2012: InputMaybe; - readonly ColorGradeBlending: InputMaybe; - readonly ColorGradeGlobalHue: InputMaybe; - readonly ColorGradeGlobalLum: InputMaybe; - readonly ColorGradeGlobalSat: InputMaybe; - readonly ColorGradeHighlightLum: InputMaybe; - readonly ColorGradeMidtoneHue: InputMaybe; - readonly ColorGradeMidtoneLum: InputMaybe; - readonly ColorGradeMidtoneSat: InputMaybe; - readonly ColorGradeShadowLum: InputMaybe; - readonly Contrast2012: InputMaybe; - readonly ConvertToGrayscale: InputMaybe; - readonly Exposure2012: InputMaybe; - readonly Highlights2012: InputMaybe; - readonly HueAdjustmentBlue: InputMaybe; - readonly HueAdjustmentGreen: InputMaybe; - readonly HueAdjustmentOrange: InputMaybe; - readonly HueAdjustmentRed: InputMaybe; - readonly HueAdjustmentYellow: InputMaybe; - readonly LookTable: InputMaybe; - readonly LuminanceAdjustmentBlue: InputMaybe; - readonly LuminanceAdjustmentGreen: InputMaybe; - readonly LuminanceAdjustmentOrange: InputMaybe; - readonly LuminanceAdjustmentRed: InputMaybe; - readonly LuminanceAdjustmentYellow: InputMaybe; - readonly ParametricDarks: InputMaybe; - readonly ParametricHighlightSplit: InputMaybe; - readonly ParametricHighlights: InputMaybe; - readonly ParametricLights: InputMaybe; - readonly ParametricMidtoneSplit: InputMaybe; - readonly ParametricShadowSplit: InputMaybe; - readonly ParametricShadows: InputMaybe; - readonly ProcessVersion: InputMaybe; - readonly RGBTable: InputMaybe; - readonly RGBTableAmount: InputMaybe; - readonly SaturationAdjustmentBlue: InputMaybe; - readonly SaturationAdjustmentGreen: InputMaybe; - readonly SaturationAdjustmentOrange: InputMaybe; - readonly SaturationAdjustmentPurple: InputMaybe; - readonly SaturationAdjustmentRed: InputMaybe; - readonly SaturationAdjustmentYellow: InputMaybe; - readonly Shadows2012: InputMaybe; - readonly SplitToningBalance: InputMaybe; - readonly SplitToningHighlightHue: InputMaybe; - readonly SplitToningHighlightSaturation: InputMaybe; - readonly SplitToningShadowHue: InputMaybe; - readonly SplitToningShadowSaturation: InputMaybe; - readonly Texture: InputMaybe; - readonly ToneCurvePV2012: InputMaybe; - readonly ToneCurvePV2012Blue: InputMaybe; - readonly ToneCurvePV2012Green: InputMaybe; - readonly ToneCurvePV2012Red: InputMaybe; - readonly Version: InputMaybe; - readonly Whites2012: InputMaybe; -}; - -type FileFieldsImageMetaMetaLookDescriptionParametersFilterInput = { - readonly ConvertToGrayscale: InputMaybe; - readonly Description: InputMaybe; - readonly LookTable: InputMaybe; - readonly ProcessVersion: InputMaybe; - readonly RGBTable: InputMaybe; - readonly RGBTableAmount: InputMaybe; - readonly Version: InputMaybe; -}; - -type FileFieldsImageMetaMetaLookFilterInput = { - readonly Description: InputMaybe; -}; - -type FileFieldsImageMetaMetaTitle = { - readonly lang: Maybe; - readonly value: Maybe; -}; - -type FileFieldsImageMetaMetaTitleFilterInput = { - readonly lang: InputMaybe; - readonly value: InputMaybe; -}; - -type FileFieldsImageMetaVibrant = { - readonly DarkMuted: Maybe>>; - readonly DarkVibrant: Maybe>>; - readonly LightMuted: Maybe>>; - readonly LightVibrant: Maybe>>; - readonly Muted: Maybe>>; - readonly Vibrant: Maybe>>; -}; - -type FileFieldsImageMetaVibrantFilterInput = { - readonly DarkMuted: InputMaybe; - readonly DarkVibrant: InputMaybe; - readonly LightMuted: InputMaybe; - readonly LightVibrant: InputMaybe; - readonly Muted: InputMaybe; - readonly Vibrant: InputMaybe; -}; - -type FileFilterInput = { - readonly absolutePath: InputMaybe; - readonly accessTime: InputMaybe; - readonly atime: InputMaybe; - readonly atimeMs: InputMaybe; - readonly base: InputMaybe; - readonly birthTime: InputMaybe; - readonly birthtime: InputMaybe; - readonly birthtimeMs: InputMaybe; - readonly blksize: InputMaybe; - readonly blocks: InputMaybe; - readonly changeTime: InputMaybe; - readonly childImageSharp: InputMaybe; - readonly children: InputMaybe; - readonly childrenImageSharp: InputMaybe; - readonly ctime: InputMaybe; - readonly ctimeMs: InputMaybe; - readonly dev: InputMaybe; - readonly dir: InputMaybe; - readonly ext: InputMaybe; - readonly extension: InputMaybe; - readonly fields: InputMaybe; - readonly gid: InputMaybe; - readonly id: InputMaybe; - readonly ino: InputMaybe; - readonly internal: InputMaybe; - readonly mode: InputMaybe; - readonly modifiedTime: InputMaybe; - readonly mtime: InputMaybe; - readonly mtimeMs: InputMaybe; - readonly name: InputMaybe; - readonly nlink: InputMaybe; - readonly parent: InputMaybe; - readonly prettySize: InputMaybe; - readonly publicURL: InputMaybe; - readonly rdev: InputMaybe; - readonly relativeDirectory: InputMaybe; - readonly relativePath: InputMaybe; - readonly root: InputMaybe; - readonly size: InputMaybe; - readonly sourceInstanceName: InputMaybe; - readonly uid: InputMaybe; -}; - -type FileGroupConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly field: Scalars['String']; - readonly fieldValue: Maybe; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type FileGroupConnection_distinctArgs = { - field: FileFieldsEnum; -}; - - -type FileGroupConnection_groupArgs = { - field: FileFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type FileGroupConnection_maxArgs = { - field: FileFieldsEnum; -}; - - -type FileGroupConnection_minArgs = { - field: FileFieldsEnum; -}; - - -type FileGroupConnection_sumArgs = { - field: FileFieldsEnum; -}; - -type FileSortInput = { - readonly fields: InputMaybe>>; - readonly order: InputMaybe>>; -}; - -type FloatQueryOperatorInput = { - readonly eq: InputMaybe; - readonly gt: InputMaybe; - readonly gte: InputMaybe; - readonly in: InputMaybe>>; - readonly lt: InputMaybe; - readonly lte: InputMaybe; - readonly ne: InputMaybe; - readonly nin: InputMaybe>>; -}; - -type GatsbyImageDataQueryOperatorInput = { - readonly eq: InputMaybe; - readonly in: InputMaybe>>; - readonly ne: InputMaybe; - readonly nin: InputMaybe>>; -}; - -type GatsbyImageFormat = - | 'auto' - | 'avif' - | 'jpg' - | 'NO_CHANGE' - | 'png' - | 'webp'; - -type GatsbyImageLayout = - | 'constrained' - | 'fixed' - | 'fullWidth'; - -type GatsbyImagePlaceholder = - | 'blurred' - | 'dominantColor' - | 'none' - | 'tracedSVG'; - -type HeadingsMdx = - | 'h1' - | 'h2' - | 'h3' - | 'h4' - | 'h5' - | 'h6'; - -type ImageCropFocus = - | 17 - | 'CENTER' - | 2 - | 16 - | 1 - | 5 - | 8 - | 3 - | 6 - | 7 - | 4; - -type ImageFit = - | 'contain' - | 'cover' - | 'fill' - | 'inside' - | 'outside'; - -type ImageFormat = - | 'AUTO' - | 'avif' - | 'jpg' - | 'NO_CHANGE' - | 'png' - | 'webp'; - -type ImageLayout = - | 'constrained' - | 'fixed' - | 'fullWidth'; - -type ImagePlaceholder = - | 'blurred' - | 'dominantColor' - | 'none' - | 'tracedSVG'; - -type ImageSharp = Node & { - readonly children: ReadonlyArray; - readonly fixed: Maybe; - readonly fluid: Maybe; - readonly gatsbyImageData: Scalars['GatsbyImageData']; - readonly id: Scalars['ID']; - readonly internal: Internal; - readonly original: Maybe; - readonly parent: Maybe; - readonly resize: Maybe; -}; - - -type ImageSharp_fixedArgs = { - background?: InputMaybe; - base64Width: InputMaybe; - cropFocus?: InputMaybe; - duotone: InputMaybe; - fit?: InputMaybe; - grayscale?: InputMaybe; - height: InputMaybe; - jpegProgressive?: InputMaybe; - jpegQuality: InputMaybe; - pngCompressionSpeed?: InputMaybe; - pngQuality: InputMaybe; - quality: InputMaybe; - rotate?: InputMaybe; - toFormat?: InputMaybe; - toFormatBase64?: InputMaybe; - traceSVG: InputMaybe; - trim?: InputMaybe; - webpQuality: InputMaybe; - width: InputMaybe; -}; - - -type ImageSharp_fluidArgs = { - background?: InputMaybe; - base64Width: InputMaybe; - cropFocus?: InputMaybe; - duotone: InputMaybe; - fit?: InputMaybe; - grayscale?: InputMaybe; - jpegProgressive?: InputMaybe; - jpegQuality: InputMaybe; - maxHeight: InputMaybe; - maxWidth: InputMaybe; - pngCompressionSpeed?: InputMaybe; - pngQuality: InputMaybe; - quality: InputMaybe; - rotate?: InputMaybe; - sizes?: InputMaybe; - srcSetBreakpoints?: InputMaybe>>; - toFormat?: InputMaybe; - toFormatBase64?: InputMaybe; - traceSVG: InputMaybe; - trim?: InputMaybe; - webpQuality: InputMaybe; -}; - - -type ImageSharp_gatsbyImageDataArgs = { - aspectRatio: InputMaybe; - avifOptions: InputMaybe; - backgroundColor: InputMaybe; - blurredOptions: InputMaybe; - breakpoints: InputMaybe>>; - formats: InputMaybe>>; - height: InputMaybe; - jpgOptions: InputMaybe; - layout?: InputMaybe; - outputPixelDensities: InputMaybe>>; - placeholder: InputMaybe; - pngOptions: InputMaybe; - quality: InputMaybe; - sizes: InputMaybe; - tracedSVGOptions: InputMaybe; - transformOptions: InputMaybe; - webpOptions: InputMaybe; - width: InputMaybe; -}; - - -type ImageSharp_resizeArgs = { - background?: InputMaybe; - base64?: InputMaybe; - cropFocus?: InputMaybe; - duotone: InputMaybe; - fit?: InputMaybe; - grayscale?: InputMaybe; - height: InputMaybe; - jpegProgressive?: InputMaybe; - jpegQuality: InputMaybe; - pngCompressionLevel?: InputMaybe; - pngCompressionSpeed?: InputMaybe; - pngQuality: InputMaybe; - quality: InputMaybe; - rotate?: InputMaybe; - toFormat?: InputMaybe; - traceSVG: InputMaybe; - trim?: InputMaybe; - webpQuality: InputMaybe; - width: InputMaybe; -}; - -type ImageSharpConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type ImageSharpConnection_distinctArgs = { - field: ImageSharpFieldsEnum; -}; - - -type ImageSharpConnection_groupArgs = { - field: ImageSharpFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type ImageSharpConnection_maxArgs = { - field: ImageSharpFieldsEnum; -}; - - -type ImageSharpConnection_minArgs = { - field: ImageSharpFieldsEnum; -}; - - -type ImageSharpConnection_sumArgs = { - field: ImageSharpFieldsEnum; -}; - -type ImageSharpEdge = { - readonly next: Maybe; - readonly node: ImageSharp; - readonly previous: Maybe; -}; - -type ImageSharpFieldsEnum = - | 'children' - | 'children.children' - | 'children.children.children' - | 'children.children.children.children' - | 'children.children.children.id' - | 'children.children.id' - | 'children.children.internal.content' - | 'children.children.internal.contentDigest' - | 'children.children.internal.contentFilePath' - | 'children.children.internal.description' - | 'children.children.internal.fieldOwners' - | 'children.children.internal.ignoreType' - | 'children.children.internal.mediaType' - | 'children.children.internal.owner' - | 'children.children.internal.type' - | 'children.children.parent.children' - | 'children.children.parent.id' - | 'children.id' - | 'children.internal.content' - | 'children.internal.contentDigest' - | 'children.internal.contentFilePath' - | 'children.internal.description' - | 'children.internal.fieldOwners' - | 'children.internal.ignoreType' - | 'children.internal.mediaType' - | 'children.internal.owner' - | 'children.internal.type' - | 'children.parent.children' - | 'children.parent.children.children' - | 'children.parent.children.id' - | 'children.parent.id' - | 'children.parent.internal.content' - | 'children.parent.internal.contentDigest' - | 'children.parent.internal.contentFilePath' - | 'children.parent.internal.description' - | 'children.parent.internal.fieldOwners' - | 'children.parent.internal.ignoreType' - | 'children.parent.internal.mediaType' - | 'children.parent.internal.owner' - | 'children.parent.internal.type' - | 'children.parent.parent.children' - | 'children.parent.parent.id' - | 'fixed.aspectRatio' - | 'fixed.base64' - | 'fixed.height' - | 'fixed.originalName' - | 'fixed.src' - | 'fixed.srcSet' - | 'fixed.srcSetWebp' - | 'fixed.srcWebp' - | 'fixed.tracedSVG' - | 'fixed.width' - | 'fluid.aspectRatio' - | 'fluid.base64' - | 'fluid.originalImg' - | 'fluid.originalName' - | 'fluid.presentationHeight' - | 'fluid.presentationWidth' - | 'fluid.sizes' - | 'fluid.src' - | 'fluid.srcSet' - | 'fluid.srcSetWebp' - | 'fluid.srcWebp' - | 'fluid.tracedSVG' - | 'gatsbyImageData' - | 'id' - | 'internal.content' - | 'internal.contentDigest' - | 'internal.contentFilePath' - | 'internal.description' - | 'internal.fieldOwners' - | 'internal.ignoreType' - | 'internal.mediaType' - | 'internal.owner' - | 'internal.type' - | 'original.height' - | 'original.src' - | 'original.width' - | 'parent.children' - | 'parent.children.children' - | 'parent.children.children.children' - | 'parent.children.children.id' - | 'parent.children.id' - | 'parent.children.internal.content' - | 'parent.children.internal.contentDigest' - | 'parent.children.internal.contentFilePath' - | 'parent.children.internal.description' - | 'parent.children.internal.fieldOwners' - | 'parent.children.internal.ignoreType' - | 'parent.children.internal.mediaType' - | 'parent.children.internal.owner' - | 'parent.children.internal.type' - | 'parent.children.parent.children' - | 'parent.children.parent.id' - | 'parent.id' - | 'parent.internal.content' - | 'parent.internal.contentDigest' - | 'parent.internal.contentFilePath' - | 'parent.internal.description' - | 'parent.internal.fieldOwners' - | 'parent.internal.ignoreType' - | 'parent.internal.mediaType' - | 'parent.internal.owner' - | 'parent.internal.type' - | 'parent.parent.children' - | 'parent.parent.children.children' - | 'parent.parent.children.id' - | 'parent.parent.id' - | 'parent.parent.internal.content' - | 'parent.parent.internal.contentDigest' - | 'parent.parent.internal.contentFilePath' - | 'parent.parent.internal.description' - | 'parent.parent.internal.fieldOwners' - | 'parent.parent.internal.ignoreType' - | 'parent.parent.internal.mediaType' - | 'parent.parent.internal.owner' - | 'parent.parent.internal.type' - | 'parent.parent.parent.children' - | 'parent.parent.parent.id' - | 'resize.aspectRatio' - | 'resize.height' - | 'resize.originalName' - | 'resize.src' - | 'resize.tracedSVG' - | 'resize.width'; - -type ImageSharpFilterInput = { - readonly children: InputMaybe; - readonly fixed: InputMaybe; - readonly fluid: InputMaybe; - readonly gatsbyImageData: InputMaybe; - readonly id: InputMaybe; - readonly internal: InputMaybe; - readonly original: InputMaybe; - readonly parent: InputMaybe; - readonly resize: InputMaybe; -}; - -type ImageSharpFilterListInput = { - readonly elemMatch: InputMaybe; -}; - -type ImageSharpFixed = { - readonly aspectRatio: Maybe; - readonly base64: Maybe; - readonly height: Scalars['Float']; - readonly originalName: Maybe; - readonly src: Scalars['String']; - readonly srcSet: Scalars['String']; - readonly srcSetWebp: Maybe; - readonly srcWebp: Maybe; - readonly tracedSVG: Maybe; - readonly width: Scalars['Float']; -}; - -type ImageSharpFixedFilterInput = { - readonly aspectRatio: InputMaybe; - readonly base64: InputMaybe; - readonly height: InputMaybe; - readonly originalName: InputMaybe; - readonly src: InputMaybe; - readonly srcSet: InputMaybe; - readonly srcSetWebp: InputMaybe; - readonly srcWebp: InputMaybe; - readonly tracedSVG: InputMaybe; - readonly width: InputMaybe; -}; - -type ImageSharpFluid = { - readonly aspectRatio: Scalars['Float']; - readonly base64: Maybe; - readonly originalImg: Maybe; - readonly originalName: Maybe; - readonly presentationHeight: Scalars['Int']; - readonly presentationWidth: Scalars['Int']; - readonly sizes: Scalars['String']; - readonly src: Scalars['String']; - readonly srcSet: Scalars['String']; - readonly srcSetWebp: Maybe; - readonly srcWebp: Maybe; - readonly tracedSVG: Maybe; -}; - -type ImageSharpFluidFilterInput = { - readonly aspectRatio: InputMaybe; - readonly base64: InputMaybe; - readonly originalImg: InputMaybe; - readonly originalName: InputMaybe; - readonly presentationHeight: InputMaybe; - readonly presentationWidth: InputMaybe; - readonly sizes: InputMaybe; - readonly src: InputMaybe; - readonly srcSet: InputMaybe; - readonly srcSetWebp: InputMaybe; - readonly srcWebp: InputMaybe; - readonly tracedSVG: InputMaybe; -}; - -type ImageSharpGroupConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly field: Scalars['String']; - readonly fieldValue: Maybe; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type ImageSharpGroupConnection_distinctArgs = { - field: ImageSharpFieldsEnum; -}; - - -type ImageSharpGroupConnection_groupArgs = { - field: ImageSharpFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type ImageSharpGroupConnection_maxArgs = { - field: ImageSharpFieldsEnum; -}; - - -type ImageSharpGroupConnection_minArgs = { - field: ImageSharpFieldsEnum; -}; - - -type ImageSharpGroupConnection_sumArgs = { - field: ImageSharpFieldsEnum; -}; - -type ImageSharpOriginal = { - readonly height: Maybe; - readonly src: Maybe; - readonly width: Maybe; -}; - -type ImageSharpOriginalFilterInput = { - readonly height: InputMaybe; - readonly src: InputMaybe; - readonly width: InputMaybe; -}; - -type ImageSharpResize = { - readonly aspectRatio: Maybe; - readonly height: Maybe; - readonly originalName: Maybe; - readonly src: Maybe; - readonly tracedSVG: Maybe; - readonly width: Maybe; -}; - -type ImageSharpResizeFilterInput = { - readonly aspectRatio: InputMaybe; - readonly height: InputMaybe; - readonly originalName: InputMaybe; - readonly src: InputMaybe; - readonly tracedSVG: InputMaybe; - readonly width: InputMaybe; -}; - -type ImageSharpSortInput = { - readonly fields: InputMaybe>>; - readonly order: InputMaybe>>; -}; - -type IntQueryOperatorInput = { - readonly eq: InputMaybe; - readonly gt: InputMaybe; - readonly gte: InputMaybe; - readonly in: InputMaybe>>; - readonly lt: InputMaybe; - readonly lte: InputMaybe; - readonly ne: InputMaybe; - readonly nin: InputMaybe>>; -}; - -type Internal = { - readonly content: Maybe; - readonly contentDigest: Scalars['String']; - readonly contentFilePath: Maybe; - readonly description: Maybe; - readonly fieldOwners: Maybe>>; - readonly ignoreType: Maybe; - readonly mediaType: Maybe; - readonly owner: Scalars['String']; - readonly type: Scalars['String']; -}; - -type InternalFilterInput = { - readonly content: InputMaybe; - readonly contentDigest: InputMaybe; - readonly contentFilePath: InputMaybe; - readonly description: InputMaybe; - readonly fieldOwners: InputMaybe; - readonly ignoreType: InputMaybe; - readonly mediaType: InputMaybe; - readonly owner: InputMaybe; - readonly type: InputMaybe; -}; - -type JPGOptions = { - readonly progressive: InputMaybe; - readonly quality: InputMaybe; -}; - -type JSONQueryOperatorInput = { - readonly eq: InputMaybe; - readonly glob: InputMaybe; - readonly in: InputMaybe>>; - readonly ne: InputMaybe; - readonly nin: InputMaybe>>; - readonly regex: InputMaybe; -}; - -type Mdx = Node & { - readonly body: Scalars['String']; - readonly children: ReadonlyArray; - readonly excerpt: Scalars['String']; - readonly fileAbsolutePath: Scalars['String']; - readonly frontmatter: Maybe; - readonly headings: Maybe>>; - readonly html: Maybe; - readonly id: Scalars['ID']; - readonly internal: Internal; - readonly mdxAST: Maybe; - readonly parent: Maybe; - readonly rawBody: Scalars['String']; - readonly slug: Maybe; - readonly tableOfContents: Maybe; - readonly timeToRead: Maybe; - readonly wordCount: Maybe; -}; - - -type Mdx_excerptArgs = { - pruneLength?: InputMaybe; - truncate?: InputMaybe; -}; - - -type Mdx_headingsArgs = { - depth: InputMaybe; -}; - - -type Mdx_tableOfContentsArgs = { - maxDepth: InputMaybe; -}; - -type MdxConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type MdxConnection_distinctArgs = { - field: MdxFieldsEnum; -}; - - -type MdxConnection_groupArgs = { - field: MdxFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type MdxConnection_maxArgs = { - field: MdxFieldsEnum; -}; - - -type MdxConnection_minArgs = { - field: MdxFieldsEnum; -}; - - -type MdxConnection_sumArgs = { - field: MdxFieldsEnum; -}; - -type MdxEdge = { - readonly next: Maybe; - readonly node: Mdx; - readonly previous: Maybe; -}; - -type MdxFieldsEnum = - | 'body' - | 'children' - | 'children.children' - | 'children.children.children' - | 'children.children.children.children' - | 'children.children.children.id' - | 'children.children.id' - | 'children.children.internal.content' - | 'children.children.internal.contentDigest' - | 'children.children.internal.contentFilePath' - | 'children.children.internal.description' - | 'children.children.internal.fieldOwners' - | 'children.children.internal.ignoreType' - | 'children.children.internal.mediaType' - | 'children.children.internal.owner' - | 'children.children.internal.type' - | 'children.children.parent.children' - | 'children.children.parent.id' - | 'children.id' - | 'children.internal.content' - | 'children.internal.contentDigest' - | 'children.internal.contentFilePath' - | 'children.internal.description' - | 'children.internal.fieldOwners' - | 'children.internal.ignoreType' - | 'children.internal.mediaType' - | 'children.internal.owner' - | 'children.internal.type' - | 'children.parent.children' - | 'children.parent.children.children' - | 'children.parent.children.id' - | 'children.parent.id' - | 'children.parent.internal.content' - | 'children.parent.internal.contentDigest' - | 'children.parent.internal.contentFilePath' - | 'children.parent.internal.description' - | 'children.parent.internal.fieldOwners' - | 'children.parent.internal.ignoreType' - | 'children.parent.internal.mediaType' - | 'children.parent.internal.owner' - | 'children.parent.internal.type' - | 'children.parent.parent.children' - | 'children.parent.parent.id' - | 'excerpt' - | 'fileAbsolutePath' - | 'frontmatter.title' - | 'headings' - | 'headings.depth' - | 'headings.value' - | 'html' - | 'id' - | 'internal.content' - | 'internal.contentDigest' - | 'internal.contentFilePath' - | 'internal.description' - | 'internal.fieldOwners' - | 'internal.ignoreType' - | 'internal.mediaType' - | 'internal.owner' - | 'internal.type' - | 'mdxAST' - | 'parent.children' - | 'parent.children.children' - | 'parent.children.children.children' - | 'parent.children.children.id' - | 'parent.children.id' - | 'parent.children.internal.content' - | 'parent.children.internal.contentDigest' - | 'parent.children.internal.contentFilePath' - | 'parent.children.internal.description' - | 'parent.children.internal.fieldOwners' - | 'parent.children.internal.ignoreType' - | 'parent.children.internal.mediaType' - | 'parent.children.internal.owner' - | 'parent.children.internal.type' - | 'parent.children.parent.children' - | 'parent.children.parent.id' - | 'parent.id' - | 'parent.internal.content' - | 'parent.internal.contentDigest' - | 'parent.internal.contentFilePath' - | 'parent.internal.description' - | 'parent.internal.fieldOwners' - | 'parent.internal.ignoreType' - | 'parent.internal.mediaType' - | 'parent.internal.owner' - | 'parent.internal.type' - | 'parent.parent.children' - | 'parent.parent.children.children' - | 'parent.parent.children.id' - | 'parent.parent.id' - | 'parent.parent.internal.content' - | 'parent.parent.internal.contentDigest' - | 'parent.parent.internal.contentFilePath' - | 'parent.parent.internal.description' - | 'parent.parent.internal.fieldOwners' - | 'parent.parent.internal.ignoreType' - | 'parent.parent.internal.mediaType' - | 'parent.parent.internal.owner' - | 'parent.parent.internal.type' - | 'parent.parent.parent.children' - | 'parent.parent.parent.id' - | 'rawBody' - | 'slug' - | 'tableOfContents' - | 'timeToRead' - | 'wordCount.paragraphs' - | 'wordCount.sentences' - | 'wordCount.words'; - -type MdxFilterInput = { - readonly body: InputMaybe; - readonly children: InputMaybe; - readonly excerpt: InputMaybe; - readonly fileAbsolutePath: InputMaybe; - readonly frontmatter: InputMaybe; - readonly headings: InputMaybe; - readonly html: InputMaybe; - readonly id: InputMaybe; - readonly internal: InputMaybe; - readonly mdxAST: InputMaybe; - readonly parent: InputMaybe; - readonly rawBody: InputMaybe; - readonly slug: InputMaybe; - readonly tableOfContents: InputMaybe; - readonly timeToRead: InputMaybe; - readonly wordCount: InputMaybe; -}; - -type MdxFrontmatter = { - readonly title: Scalars['String']; -}; - -type MdxFrontmatterFilterInput = { - readonly title: InputMaybe; -}; - -type MdxGroupConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly field: Scalars['String']; - readonly fieldValue: Maybe; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type MdxGroupConnection_distinctArgs = { - field: MdxFieldsEnum; -}; - - -type MdxGroupConnection_groupArgs = { - field: MdxFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type MdxGroupConnection_maxArgs = { - field: MdxFieldsEnum; -}; - - -type MdxGroupConnection_minArgs = { - field: MdxFieldsEnum; -}; - - -type MdxGroupConnection_sumArgs = { - field: MdxFieldsEnum; -}; - -type MdxHeadingMdx = { - readonly depth: Maybe; - readonly value: Maybe; -}; - -type MdxHeadingMdxFilterInput = { - readonly depth: InputMaybe; - readonly value: InputMaybe; -}; - -type MdxHeadingMdxFilterListInput = { - readonly elemMatch: InputMaybe; -}; - -type MdxSortInput = { - readonly fields: InputMaybe>>; - readonly order: InputMaybe>>; -}; - -type MdxWordCount = { - readonly paragraphs: Maybe; - readonly sentences: Maybe; - readonly words: Maybe; -}; - -type MdxWordCountFilterInput = { - readonly paragraphs: InputMaybe; - readonly sentences: InputMaybe; - readonly words: InputMaybe; -}; - -/** Node Interface */ -type Node = { - readonly children: ReadonlyArray; - readonly id: Scalars['ID']; - readonly internal: Internal; - readonly parent: Maybe; -}; - -type NodeFilterInput = { - readonly children: InputMaybe; - readonly id: InputMaybe; - readonly internal: InputMaybe; - readonly parent: InputMaybe; -}; - -type NodeFilterListInput = { - readonly elemMatch: InputMaybe; -}; - -type PNGOptions = { - readonly compressionSpeed: InputMaybe; - readonly quality: InputMaybe; -}; - -type PageInfo = { - readonly currentPage: Scalars['Int']; - readonly hasNextPage: Scalars['Boolean']; - readonly hasPreviousPage: Scalars['Boolean']; - readonly itemCount: Scalars['Int']; - readonly pageCount: Scalars['Int']; - readonly perPage: Maybe; - readonly totalCount: Scalars['Int']; -}; - -type Potrace = { - readonly alphaMax: InputMaybe; - readonly background: InputMaybe; - readonly blackOnWhite: InputMaybe; - readonly color: InputMaybe; - readonly optCurve: InputMaybe; - readonly optTolerance: InputMaybe; - readonly threshold: InputMaybe; - readonly turdSize: InputMaybe; - readonly turnPolicy: InputMaybe; -}; - -type PotraceTurnPolicy = - | 'black' - | 'left' - | 'majority' - | 'minority' - | 'right' - | 'white'; - -type Query = { - readonly allDirectory: DirectoryConnection; - readonly allFile: FileConnection; - readonly allImageSharp: ImageSharpConnection; - readonly allMdx: MdxConnection; - readonly allSite: SiteConnection; - readonly allSiteBuildMetadata: SiteBuildMetadataConnection; - readonly allSiteFunction: SiteFunctionConnection; - readonly allSitePage: SitePageConnection; - readonly allSitePlugin: SitePluginConnection; - readonly directory: Maybe; - readonly file: Maybe; - readonly imageSharp: Maybe; - readonly mdx: Maybe; - readonly site: Maybe; - readonly siteBuildMetadata: Maybe; - readonly siteFunction: Maybe; - readonly sitePage: Maybe; - readonly sitePlugin: Maybe; -}; - - -type Query_allDirectoryArgs = { - filter: InputMaybe; - limit: InputMaybe; - skip: InputMaybe; - sort: InputMaybe; -}; - - -type Query_allFileArgs = { - filter: InputMaybe; - limit: InputMaybe; - skip: InputMaybe; - sort: InputMaybe; -}; - - -type Query_allImageSharpArgs = { - filter: InputMaybe; - limit: InputMaybe; - skip: InputMaybe; - sort: InputMaybe; -}; - - -type Query_allMdxArgs = { - filter: InputMaybe; - limit: InputMaybe; - skip: InputMaybe; - sort: InputMaybe; -}; - - -type Query_allSiteArgs = { - filter: InputMaybe; - limit: InputMaybe; - skip: InputMaybe; - sort: InputMaybe; -}; - - -type Query_allSiteBuildMetadataArgs = { - filter: InputMaybe; - limit: InputMaybe; - skip: InputMaybe; - sort: InputMaybe; -}; - - -type Query_allSiteFunctionArgs = { - filter: InputMaybe; - limit: InputMaybe; - skip: InputMaybe; - sort: InputMaybe; -}; - - -type Query_allSitePageArgs = { - filter: InputMaybe; - limit: InputMaybe; - skip: InputMaybe; - sort: InputMaybe; -}; - - -type Query_allSitePluginArgs = { - filter: InputMaybe; - limit: InputMaybe; - skip: InputMaybe; - sort: InputMaybe; -}; - - -type Query_directoryArgs = { - absolutePath: InputMaybe; - accessTime: InputMaybe; - atime: InputMaybe; - atimeMs: InputMaybe; - base: InputMaybe; - birthTime: InputMaybe; - birthtime: InputMaybe; - birthtimeMs: InputMaybe; - changeTime: InputMaybe; - children: InputMaybe; - ctime: InputMaybe; - ctimeMs: InputMaybe; - dev: InputMaybe; - dir: InputMaybe; - ext: InputMaybe; - extension: InputMaybe; - gid: InputMaybe; - id: InputMaybe; - ino: InputMaybe; - internal: InputMaybe; - mode: InputMaybe; - modifiedTime: InputMaybe; - mtime: InputMaybe; - mtimeMs: InputMaybe; - name: InputMaybe; - nlink: InputMaybe; - parent: InputMaybe; - prettySize: InputMaybe; - rdev: InputMaybe; - relativeDirectory: InputMaybe; - relativePath: InputMaybe; - root: InputMaybe; - size: InputMaybe; - sourceInstanceName: InputMaybe; - uid: InputMaybe; -}; - - -type Query_fileArgs = { - absolutePath: InputMaybe; - accessTime: InputMaybe; - atime: InputMaybe; - atimeMs: InputMaybe; - base: InputMaybe; - birthTime: InputMaybe; - birthtime: InputMaybe; - birthtimeMs: InputMaybe; - blksize: InputMaybe; - blocks: InputMaybe; - changeTime: InputMaybe; - childImageSharp: InputMaybe; - children: InputMaybe; - childrenImageSharp: InputMaybe; - ctime: InputMaybe; - ctimeMs: InputMaybe; - dev: InputMaybe; - dir: InputMaybe; - ext: InputMaybe; - extension: InputMaybe; - fields: InputMaybe; - gid: InputMaybe; - id: InputMaybe; - ino: InputMaybe; - internal: InputMaybe; - mode: InputMaybe; - modifiedTime: InputMaybe; - mtime: InputMaybe; - mtimeMs: InputMaybe; - name: InputMaybe; - nlink: InputMaybe; - parent: InputMaybe; - prettySize: InputMaybe; - publicURL: InputMaybe; - rdev: InputMaybe; - relativeDirectory: InputMaybe; - relativePath: InputMaybe; - root: InputMaybe; - size: InputMaybe; - sourceInstanceName: InputMaybe; - uid: InputMaybe; -}; - - -type Query_imageSharpArgs = { - children: InputMaybe; - fixed: InputMaybe; - fluid: InputMaybe; - gatsbyImageData: InputMaybe; - id: InputMaybe; - internal: InputMaybe; - original: InputMaybe; - parent: InputMaybe; - resize: InputMaybe; -}; - - -type Query_mdxArgs = { - body: InputMaybe; - children: InputMaybe; - excerpt: InputMaybe; - fileAbsolutePath: InputMaybe; - frontmatter: InputMaybe; - headings: InputMaybe; - html: InputMaybe; - id: InputMaybe; - internal: InputMaybe; - mdxAST: InputMaybe; - parent: InputMaybe; - rawBody: InputMaybe; - slug: InputMaybe; - tableOfContents: InputMaybe; - timeToRead: InputMaybe; - wordCount: InputMaybe; -}; - - -type Query_siteArgs = { - buildTime: InputMaybe; - children: InputMaybe; - graphqlTypegen: InputMaybe; - host: InputMaybe; - id: InputMaybe; - internal: InputMaybe; - jsxRuntime: InputMaybe; - parent: InputMaybe; - pathPrefix: InputMaybe; - polyfill: InputMaybe; - port: InputMaybe; - siteMetadata: InputMaybe; - trailingSlash: InputMaybe; -}; - - -type Query_siteBuildMetadataArgs = { - buildTime: InputMaybe; - children: InputMaybe; - id: InputMaybe; - internal: InputMaybe; - parent: InputMaybe; -}; - - -type Query_siteFunctionArgs = { - absoluteCompiledFilePath: InputMaybe; - children: InputMaybe; - functionRoute: InputMaybe; - id: InputMaybe; - internal: InputMaybe; - matchPath: InputMaybe; - originalAbsoluteFilePath: InputMaybe; - originalRelativeFilePath: InputMaybe; - parent: InputMaybe; - pluginName: InputMaybe; - relativeCompiledFilePath: InputMaybe; -}; - - -type Query_sitePageArgs = { - children: InputMaybe; - component: InputMaybe; - componentChunkName: InputMaybe; - id: InputMaybe; - internal: InputMaybe; - internalComponentName: InputMaybe; - matchPath: InputMaybe; - pageContext: InputMaybe; - parent: InputMaybe; - path: InputMaybe; - pluginCreator: InputMaybe; -}; - - -type Query_sitePluginArgs = { - browserAPIs: InputMaybe; - children: InputMaybe; - id: InputMaybe; - internal: InputMaybe; - name: InputMaybe; - nodeAPIs: InputMaybe; - packageJson: InputMaybe; - parent: InputMaybe; - pluginFilepath: InputMaybe; - pluginOptions: InputMaybe; - resolve: InputMaybe; - ssrAPIs: InputMaybe; - version: InputMaybe; -}; - -type Site = Node & { - readonly buildTime: Maybe; - readonly children: ReadonlyArray; - readonly graphqlTypegen: Maybe; - readonly host: Maybe; - readonly id: Scalars['ID']; - readonly internal: Internal; - readonly jsxRuntime: Maybe; - readonly parent: Maybe; - readonly pathPrefix: Maybe; - readonly polyfill: Maybe; - readonly port: Maybe; - readonly siteMetadata: Maybe; - readonly trailingSlash: Maybe; -}; - - -type Site_buildTimeArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - -type SiteBuildMetadata = Node & { - readonly buildTime: Maybe; - readonly children: ReadonlyArray; - readonly id: Scalars['ID']; - readonly internal: Internal; - readonly parent: Maybe; -}; - - -type SiteBuildMetadata_buildTimeArgs = { - difference: InputMaybe; - formatString: InputMaybe; - fromNow: InputMaybe; - locale: InputMaybe; -}; - -type SiteBuildMetadataConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type SiteBuildMetadataConnection_distinctArgs = { - field: SiteBuildMetadataFieldsEnum; -}; - - -type SiteBuildMetadataConnection_groupArgs = { - field: SiteBuildMetadataFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type SiteBuildMetadataConnection_maxArgs = { - field: SiteBuildMetadataFieldsEnum; -}; - - -type SiteBuildMetadataConnection_minArgs = { - field: SiteBuildMetadataFieldsEnum; -}; - - -type SiteBuildMetadataConnection_sumArgs = { - field: SiteBuildMetadataFieldsEnum; -}; - -type SiteBuildMetadataEdge = { - readonly next: Maybe; - readonly node: SiteBuildMetadata; - readonly previous: Maybe; -}; - -type SiteBuildMetadataFieldsEnum = - | 'buildTime' - | 'children' - | 'children.children' - | 'children.children.children' - | 'children.children.children.children' - | 'children.children.children.id' - | 'children.children.id' - | 'children.children.internal.content' - | 'children.children.internal.contentDigest' - | 'children.children.internal.contentFilePath' - | 'children.children.internal.description' - | 'children.children.internal.fieldOwners' - | 'children.children.internal.ignoreType' - | 'children.children.internal.mediaType' - | 'children.children.internal.owner' - | 'children.children.internal.type' - | 'children.children.parent.children' - | 'children.children.parent.id' - | 'children.id' - | 'children.internal.content' - | 'children.internal.contentDigest' - | 'children.internal.contentFilePath' - | 'children.internal.description' - | 'children.internal.fieldOwners' - | 'children.internal.ignoreType' - | 'children.internal.mediaType' - | 'children.internal.owner' - | 'children.internal.type' - | 'children.parent.children' - | 'children.parent.children.children' - | 'children.parent.children.id' - | 'children.parent.id' - | 'children.parent.internal.content' - | 'children.parent.internal.contentDigest' - | 'children.parent.internal.contentFilePath' - | 'children.parent.internal.description' - | 'children.parent.internal.fieldOwners' - | 'children.parent.internal.ignoreType' - | 'children.parent.internal.mediaType' - | 'children.parent.internal.owner' - | 'children.parent.internal.type' - | 'children.parent.parent.children' - | 'children.parent.parent.id' - | 'id' - | 'internal.content' - | 'internal.contentDigest' - | 'internal.contentFilePath' - | 'internal.description' - | 'internal.fieldOwners' - | 'internal.ignoreType' - | 'internal.mediaType' - | 'internal.owner' - | 'internal.type' - | 'parent.children' - | 'parent.children.children' - | 'parent.children.children.children' - | 'parent.children.children.id' - | 'parent.children.id' - | 'parent.children.internal.content' - | 'parent.children.internal.contentDigest' - | 'parent.children.internal.contentFilePath' - | 'parent.children.internal.description' - | 'parent.children.internal.fieldOwners' - | 'parent.children.internal.ignoreType' - | 'parent.children.internal.mediaType' - | 'parent.children.internal.owner' - | 'parent.children.internal.type' - | 'parent.children.parent.children' - | 'parent.children.parent.id' - | 'parent.id' - | 'parent.internal.content' - | 'parent.internal.contentDigest' - | 'parent.internal.contentFilePath' - | 'parent.internal.description' - | 'parent.internal.fieldOwners' - | 'parent.internal.ignoreType' - | 'parent.internal.mediaType' - | 'parent.internal.owner' - | 'parent.internal.type' - | 'parent.parent.children' - | 'parent.parent.children.children' - | 'parent.parent.children.id' - | 'parent.parent.id' - | 'parent.parent.internal.content' - | 'parent.parent.internal.contentDigest' - | 'parent.parent.internal.contentFilePath' - | 'parent.parent.internal.description' - | 'parent.parent.internal.fieldOwners' - | 'parent.parent.internal.ignoreType' - | 'parent.parent.internal.mediaType' - | 'parent.parent.internal.owner' - | 'parent.parent.internal.type' - | 'parent.parent.parent.children' - | 'parent.parent.parent.id'; - -type SiteBuildMetadataFilterInput = { - readonly buildTime: InputMaybe; - readonly children: InputMaybe; - readonly id: InputMaybe; - readonly internal: InputMaybe; - readonly parent: InputMaybe; -}; - -type SiteBuildMetadataGroupConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly field: Scalars['String']; - readonly fieldValue: Maybe; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type SiteBuildMetadataGroupConnection_distinctArgs = { - field: SiteBuildMetadataFieldsEnum; -}; - - -type SiteBuildMetadataGroupConnection_groupArgs = { - field: SiteBuildMetadataFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type SiteBuildMetadataGroupConnection_maxArgs = { - field: SiteBuildMetadataFieldsEnum; -}; - - -type SiteBuildMetadataGroupConnection_minArgs = { - field: SiteBuildMetadataFieldsEnum; -}; - - -type SiteBuildMetadataGroupConnection_sumArgs = { - field: SiteBuildMetadataFieldsEnum; -}; - -type SiteBuildMetadataSortInput = { - readonly fields: InputMaybe>>; - readonly order: InputMaybe>>; -}; - -type SiteConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type SiteConnection_distinctArgs = { - field: SiteFieldsEnum; -}; - - -type SiteConnection_groupArgs = { - field: SiteFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type SiteConnection_maxArgs = { - field: SiteFieldsEnum; -}; - - -type SiteConnection_minArgs = { - field: SiteFieldsEnum; -}; - - -type SiteConnection_sumArgs = { - field: SiteFieldsEnum; -}; - -type SiteEdge = { - readonly next: Maybe; - readonly node: Site; - readonly previous: Maybe; -}; - -type SiteFieldsEnum = - | 'buildTime' - | 'children' - | 'children.children' - | 'children.children.children' - | 'children.children.children.children' - | 'children.children.children.id' - | 'children.children.id' - | 'children.children.internal.content' - | 'children.children.internal.contentDigest' - | 'children.children.internal.contentFilePath' - | 'children.children.internal.description' - | 'children.children.internal.fieldOwners' - | 'children.children.internal.ignoreType' - | 'children.children.internal.mediaType' - | 'children.children.internal.owner' - | 'children.children.internal.type' - | 'children.children.parent.children' - | 'children.children.parent.id' - | 'children.id' - | 'children.internal.content' - | 'children.internal.contentDigest' - | 'children.internal.contentFilePath' - | 'children.internal.description' - | 'children.internal.fieldOwners' - | 'children.internal.ignoreType' - | 'children.internal.mediaType' - | 'children.internal.owner' - | 'children.internal.type' - | 'children.parent.children' - | 'children.parent.children.children' - | 'children.parent.children.id' - | 'children.parent.id' - | 'children.parent.internal.content' - | 'children.parent.internal.contentDigest' - | 'children.parent.internal.contentFilePath' - | 'children.parent.internal.description' - | 'children.parent.internal.fieldOwners' - | 'children.parent.internal.ignoreType' - | 'children.parent.internal.mediaType' - | 'children.parent.internal.owner' - | 'children.parent.internal.type' - | 'children.parent.parent.children' - | 'children.parent.parent.id' - | 'graphqlTypegen.generateOnBuild' - | 'graphqlTypegen.typesOutputPath' - | 'host' - | 'id' - | 'internal.content' - | 'internal.contentDigest' - | 'internal.contentFilePath' - | 'internal.description' - | 'internal.fieldOwners' - | 'internal.ignoreType' - | 'internal.mediaType' - | 'internal.owner' - | 'internal.type' - | 'jsxRuntime' - | 'parent.children' - | 'parent.children.children' - | 'parent.children.children.children' - | 'parent.children.children.id' - | 'parent.children.id' - | 'parent.children.internal.content' - | 'parent.children.internal.contentDigest' - | 'parent.children.internal.contentFilePath' - | 'parent.children.internal.description' - | 'parent.children.internal.fieldOwners' - | 'parent.children.internal.ignoreType' - | 'parent.children.internal.mediaType' - | 'parent.children.internal.owner' - | 'parent.children.internal.type' - | 'parent.children.parent.children' - | 'parent.children.parent.id' - | 'parent.id' - | 'parent.internal.content' - | 'parent.internal.contentDigest' - | 'parent.internal.contentFilePath' - | 'parent.internal.description' - | 'parent.internal.fieldOwners' - | 'parent.internal.ignoreType' - | 'parent.internal.mediaType' - | 'parent.internal.owner' - | 'parent.internal.type' - | 'parent.parent.children' - | 'parent.parent.children.children' - | 'parent.parent.children.id' - | 'parent.parent.id' - | 'parent.parent.internal.content' - | 'parent.parent.internal.contentDigest' - | 'parent.parent.internal.contentFilePath' - | 'parent.parent.internal.description' - | 'parent.parent.internal.fieldOwners' - | 'parent.parent.internal.ignoreType' - | 'parent.parent.internal.mediaType' - | 'parent.parent.internal.owner' - | 'parent.parent.internal.type' - | 'parent.parent.parent.children' - | 'parent.parent.parent.id' - | 'pathPrefix' - | 'polyfill' - | 'port' - | 'siteMetadata.description' - | 'siteMetadata.siteUrl' - | 'siteMetadata.title' - | 'trailingSlash'; - -type SiteFilterInput = { - readonly buildTime: InputMaybe; - readonly children: InputMaybe; - readonly graphqlTypegen: InputMaybe; - readonly host: InputMaybe; - readonly id: InputMaybe; - readonly internal: InputMaybe; - readonly jsxRuntime: InputMaybe; - readonly parent: InputMaybe; - readonly pathPrefix: InputMaybe; - readonly polyfill: InputMaybe; - readonly port: InputMaybe; - readonly siteMetadata: InputMaybe; - readonly trailingSlash: InputMaybe; -}; - -type SiteFunction = Node & { - readonly absoluteCompiledFilePath: Scalars['String']; - readonly children: ReadonlyArray; - readonly functionRoute: Scalars['String']; - readonly id: Scalars['ID']; - readonly internal: Internal; - readonly matchPath: Maybe; - readonly originalAbsoluteFilePath: Scalars['String']; - readonly originalRelativeFilePath: Scalars['String']; - readonly parent: Maybe; - readonly pluginName: Scalars['String']; - readonly relativeCompiledFilePath: Scalars['String']; -}; - -type SiteFunctionConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type SiteFunctionConnection_distinctArgs = { - field: SiteFunctionFieldsEnum; -}; - - -type SiteFunctionConnection_groupArgs = { - field: SiteFunctionFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type SiteFunctionConnection_maxArgs = { - field: SiteFunctionFieldsEnum; -}; - - -type SiteFunctionConnection_minArgs = { - field: SiteFunctionFieldsEnum; -}; - - -type SiteFunctionConnection_sumArgs = { - field: SiteFunctionFieldsEnum; -}; - -type SiteFunctionEdge = { - readonly next: Maybe; - readonly node: SiteFunction; - readonly previous: Maybe; -}; - -type SiteFunctionFieldsEnum = - | 'absoluteCompiledFilePath' - | 'children' - | 'children.children' - | 'children.children.children' - | 'children.children.children.children' - | 'children.children.children.id' - | 'children.children.id' - | 'children.children.internal.content' - | 'children.children.internal.contentDigest' - | 'children.children.internal.contentFilePath' - | 'children.children.internal.description' - | 'children.children.internal.fieldOwners' - | 'children.children.internal.ignoreType' - | 'children.children.internal.mediaType' - | 'children.children.internal.owner' - | 'children.children.internal.type' - | 'children.children.parent.children' - | 'children.children.parent.id' - | 'children.id' - | 'children.internal.content' - | 'children.internal.contentDigest' - | 'children.internal.contentFilePath' - | 'children.internal.description' - | 'children.internal.fieldOwners' - | 'children.internal.ignoreType' - | 'children.internal.mediaType' - | 'children.internal.owner' - | 'children.internal.type' - | 'children.parent.children' - | 'children.parent.children.children' - | 'children.parent.children.id' - | 'children.parent.id' - | 'children.parent.internal.content' - | 'children.parent.internal.contentDigest' - | 'children.parent.internal.contentFilePath' - | 'children.parent.internal.description' - | 'children.parent.internal.fieldOwners' - | 'children.parent.internal.ignoreType' - | 'children.parent.internal.mediaType' - | 'children.parent.internal.owner' - | 'children.parent.internal.type' - | 'children.parent.parent.children' - | 'children.parent.parent.id' - | 'functionRoute' - | 'id' - | 'internal.content' - | 'internal.contentDigest' - | 'internal.contentFilePath' - | 'internal.description' - | 'internal.fieldOwners' - | 'internal.ignoreType' - | 'internal.mediaType' - | 'internal.owner' - | 'internal.type' - | 'matchPath' - | 'originalAbsoluteFilePath' - | 'originalRelativeFilePath' - | 'parent.children' - | 'parent.children.children' - | 'parent.children.children.children' - | 'parent.children.children.id' - | 'parent.children.id' - | 'parent.children.internal.content' - | 'parent.children.internal.contentDigest' - | 'parent.children.internal.contentFilePath' - | 'parent.children.internal.description' - | 'parent.children.internal.fieldOwners' - | 'parent.children.internal.ignoreType' - | 'parent.children.internal.mediaType' - | 'parent.children.internal.owner' - | 'parent.children.internal.type' - | 'parent.children.parent.children' - | 'parent.children.parent.id' - | 'parent.id' - | 'parent.internal.content' - | 'parent.internal.contentDigest' - | 'parent.internal.contentFilePath' - | 'parent.internal.description' - | 'parent.internal.fieldOwners' - | 'parent.internal.ignoreType' - | 'parent.internal.mediaType' - | 'parent.internal.owner' - | 'parent.internal.type' - | 'parent.parent.children' - | 'parent.parent.children.children' - | 'parent.parent.children.id' - | 'parent.parent.id' - | 'parent.parent.internal.content' - | 'parent.parent.internal.contentDigest' - | 'parent.parent.internal.contentFilePath' - | 'parent.parent.internal.description' - | 'parent.parent.internal.fieldOwners' - | 'parent.parent.internal.ignoreType' - | 'parent.parent.internal.mediaType' - | 'parent.parent.internal.owner' - | 'parent.parent.internal.type' - | 'parent.parent.parent.children' - | 'parent.parent.parent.id' - | 'pluginName' - | 'relativeCompiledFilePath'; - -type SiteFunctionFilterInput = { - readonly absoluteCompiledFilePath: InputMaybe; - readonly children: InputMaybe; - readonly functionRoute: InputMaybe; - readonly id: InputMaybe; - readonly internal: InputMaybe; - readonly matchPath: InputMaybe; - readonly originalAbsoluteFilePath: InputMaybe; - readonly originalRelativeFilePath: InputMaybe; - readonly parent: InputMaybe; - readonly pluginName: InputMaybe; - readonly relativeCompiledFilePath: InputMaybe; -}; - -type SiteFunctionGroupConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly field: Scalars['String']; - readonly fieldValue: Maybe; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type SiteFunctionGroupConnection_distinctArgs = { - field: SiteFunctionFieldsEnum; -}; - - -type SiteFunctionGroupConnection_groupArgs = { - field: SiteFunctionFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type SiteFunctionGroupConnection_maxArgs = { - field: SiteFunctionFieldsEnum; -}; - - -type SiteFunctionGroupConnection_minArgs = { - field: SiteFunctionFieldsEnum; -}; - - -type SiteFunctionGroupConnection_sumArgs = { - field: SiteFunctionFieldsEnum; -}; - -type SiteFunctionSortInput = { - readonly fields: InputMaybe>>; - readonly order: InputMaybe>>; -}; - -type SiteGraphqlTypegen = { - readonly generateOnBuild: Maybe; - readonly typesOutputPath: Maybe; -}; - -type SiteGraphqlTypegenFilterInput = { - readonly generateOnBuild: InputMaybe; - readonly typesOutputPath: InputMaybe; -}; - -type SiteGroupConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly field: Scalars['String']; - readonly fieldValue: Maybe; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type SiteGroupConnection_distinctArgs = { - field: SiteFieldsEnum; -}; - - -type SiteGroupConnection_groupArgs = { - field: SiteFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type SiteGroupConnection_maxArgs = { - field: SiteFieldsEnum; -}; - - -type SiteGroupConnection_minArgs = { - field: SiteFieldsEnum; -}; - - -type SiteGroupConnection_sumArgs = { - field: SiteFieldsEnum; -}; - -type SitePage = Node & { - readonly children: ReadonlyArray; - readonly component: Scalars['String']; - readonly componentChunkName: Scalars['String']; - readonly id: Scalars['ID']; - readonly internal: Internal; - readonly internalComponentName: Scalars['String']; - readonly matchPath: Maybe; - readonly pageContext: Maybe; - readonly parent: Maybe; - readonly path: Scalars['String']; - readonly pluginCreator: Maybe; -}; - -type SitePageConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type SitePageConnection_distinctArgs = { - field: SitePageFieldsEnum; -}; - - -type SitePageConnection_groupArgs = { - field: SitePageFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type SitePageConnection_maxArgs = { - field: SitePageFieldsEnum; -}; - - -type SitePageConnection_minArgs = { - field: SitePageFieldsEnum; -}; - - -type SitePageConnection_sumArgs = { - field: SitePageFieldsEnum; -}; - -type SitePageEdge = { - readonly next: Maybe; - readonly node: SitePage; - readonly previous: Maybe; -}; - -type SitePageFieldsEnum = - | 'children' - | 'children.children' - | 'children.children.children' - | 'children.children.children.children' - | 'children.children.children.id' - | 'children.children.id' - | 'children.children.internal.content' - | 'children.children.internal.contentDigest' - | 'children.children.internal.contentFilePath' - | 'children.children.internal.description' - | 'children.children.internal.fieldOwners' - | 'children.children.internal.ignoreType' - | 'children.children.internal.mediaType' - | 'children.children.internal.owner' - | 'children.children.internal.type' - | 'children.children.parent.children' - | 'children.children.parent.id' - | 'children.id' - | 'children.internal.content' - | 'children.internal.contentDigest' - | 'children.internal.contentFilePath' - | 'children.internal.description' - | 'children.internal.fieldOwners' - | 'children.internal.ignoreType' - | 'children.internal.mediaType' - | 'children.internal.owner' - | 'children.internal.type' - | 'children.parent.children' - | 'children.parent.children.children' - | 'children.parent.children.id' - | 'children.parent.id' - | 'children.parent.internal.content' - | 'children.parent.internal.contentDigest' - | 'children.parent.internal.contentFilePath' - | 'children.parent.internal.description' - | 'children.parent.internal.fieldOwners' - | 'children.parent.internal.ignoreType' - | 'children.parent.internal.mediaType' - | 'children.parent.internal.owner' - | 'children.parent.internal.type' - | 'children.parent.parent.children' - | 'children.parent.parent.id' - | 'component' - | 'componentChunkName' - | 'id' - | 'internalComponentName' - | 'internal.content' - | 'internal.contentDigest' - | 'internal.contentFilePath' - | 'internal.description' - | 'internal.fieldOwners' - | 'internal.ignoreType' - | 'internal.mediaType' - | 'internal.owner' - | 'internal.type' - | 'matchPath' - | 'pageContext' - | 'parent.children' - | 'parent.children.children' - | 'parent.children.children.children' - | 'parent.children.children.id' - | 'parent.children.id' - | 'parent.children.internal.content' - | 'parent.children.internal.contentDigest' - | 'parent.children.internal.contentFilePath' - | 'parent.children.internal.description' - | 'parent.children.internal.fieldOwners' - | 'parent.children.internal.ignoreType' - | 'parent.children.internal.mediaType' - | 'parent.children.internal.owner' - | 'parent.children.internal.type' - | 'parent.children.parent.children' - | 'parent.children.parent.id' - | 'parent.id' - | 'parent.internal.content' - | 'parent.internal.contentDigest' - | 'parent.internal.contentFilePath' - | 'parent.internal.description' - | 'parent.internal.fieldOwners' - | 'parent.internal.ignoreType' - | 'parent.internal.mediaType' - | 'parent.internal.owner' - | 'parent.internal.type' - | 'parent.parent.children' - | 'parent.parent.children.children' - | 'parent.parent.children.id' - | 'parent.parent.id' - | 'parent.parent.internal.content' - | 'parent.parent.internal.contentDigest' - | 'parent.parent.internal.contentFilePath' - | 'parent.parent.internal.description' - | 'parent.parent.internal.fieldOwners' - | 'parent.parent.internal.ignoreType' - | 'parent.parent.internal.mediaType' - | 'parent.parent.internal.owner' - | 'parent.parent.internal.type' - | 'parent.parent.parent.children' - | 'parent.parent.parent.id' - | 'path' - | 'pluginCreator.browserAPIs' - | 'pluginCreator.children' - | 'pluginCreator.children.children' - | 'pluginCreator.children.children.children' - | 'pluginCreator.children.children.id' - | 'pluginCreator.children.id' - | 'pluginCreator.children.internal.content' - | 'pluginCreator.children.internal.contentDigest' - | 'pluginCreator.children.internal.contentFilePath' - | 'pluginCreator.children.internal.description' - | 'pluginCreator.children.internal.fieldOwners' - | 'pluginCreator.children.internal.ignoreType' - | 'pluginCreator.children.internal.mediaType' - | 'pluginCreator.children.internal.owner' - | 'pluginCreator.children.internal.type' - | 'pluginCreator.children.parent.children' - | 'pluginCreator.children.parent.id' - | 'pluginCreator.id' - | 'pluginCreator.internal.content' - | 'pluginCreator.internal.contentDigest' - | 'pluginCreator.internal.contentFilePath' - | 'pluginCreator.internal.description' - | 'pluginCreator.internal.fieldOwners' - | 'pluginCreator.internal.ignoreType' - | 'pluginCreator.internal.mediaType' - | 'pluginCreator.internal.owner' - | 'pluginCreator.internal.type' - | 'pluginCreator.name' - | 'pluginCreator.nodeAPIs' - | 'pluginCreator.packageJson' - | 'pluginCreator.parent.children' - | 'pluginCreator.parent.children.children' - | 'pluginCreator.parent.children.id' - | 'pluginCreator.parent.id' - | 'pluginCreator.parent.internal.content' - | 'pluginCreator.parent.internal.contentDigest' - | 'pluginCreator.parent.internal.contentFilePath' - | 'pluginCreator.parent.internal.description' - | 'pluginCreator.parent.internal.fieldOwners' - | 'pluginCreator.parent.internal.ignoreType' - | 'pluginCreator.parent.internal.mediaType' - | 'pluginCreator.parent.internal.owner' - | 'pluginCreator.parent.internal.type' - | 'pluginCreator.parent.parent.children' - | 'pluginCreator.parent.parent.id' - | 'pluginCreator.pluginFilepath' - | 'pluginCreator.pluginOptions' - | 'pluginCreator.resolve' - | 'pluginCreator.ssrAPIs' - | 'pluginCreator.version'; - -type SitePageFilterInput = { - readonly children: InputMaybe; - readonly component: InputMaybe; - readonly componentChunkName: InputMaybe; - readonly id: InputMaybe; - readonly internal: InputMaybe; - readonly internalComponentName: InputMaybe; - readonly matchPath: InputMaybe; - readonly pageContext: InputMaybe; - readonly parent: InputMaybe; - readonly path: InputMaybe; - readonly pluginCreator: InputMaybe; -}; - -type SitePageGroupConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly field: Scalars['String']; - readonly fieldValue: Maybe; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type SitePageGroupConnection_distinctArgs = { - field: SitePageFieldsEnum; -}; - - -type SitePageGroupConnection_groupArgs = { - field: SitePageFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type SitePageGroupConnection_maxArgs = { - field: SitePageFieldsEnum; -}; - - -type SitePageGroupConnection_minArgs = { - field: SitePageFieldsEnum; -}; - - -type SitePageGroupConnection_sumArgs = { - field: SitePageFieldsEnum; -}; - -type SitePageSortInput = { - readonly fields: InputMaybe>>; - readonly order: InputMaybe>>; -}; - -type SitePlugin = Node & { - readonly browserAPIs: Maybe>>; - readonly children: ReadonlyArray; - readonly id: Scalars['ID']; - readonly internal: Internal; - readonly name: Maybe; - readonly nodeAPIs: Maybe>>; - readonly packageJson: Maybe; - readonly parent: Maybe; - readonly pluginFilepath: Maybe; - readonly pluginOptions: Maybe; - readonly resolve: Maybe; - readonly ssrAPIs: Maybe>>; - readonly version: Maybe; -}; - -type SitePluginConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type SitePluginConnection_distinctArgs = { - field: SitePluginFieldsEnum; -}; - - -type SitePluginConnection_groupArgs = { - field: SitePluginFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type SitePluginConnection_maxArgs = { - field: SitePluginFieldsEnum; -}; - - -type SitePluginConnection_minArgs = { - field: SitePluginFieldsEnum; -}; - - -type SitePluginConnection_sumArgs = { - field: SitePluginFieldsEnum; -}; - -type SitePluginEdge = { - readonly next: Maybe; - readonly node: SitePlugin; - readonly previous: Maybe; -}; - -type SitePluginFieldsEnum = - | 'browserAPIs' - | 'children' - | 'children.children' - | 'children.children.children' - | 'children.children.children.children' - | 'children.children.children.id' - | 'children.children.id' - | 'children.children.internal.content' - | 'children.children.internal.contentDigest' - | 'children.children.internal.contentFilePath' - | 'children.children.internal.description' - | 'children.children.internal.fieldOwners' - | 'children.children.internal.ignoreType' - | 'children.children.internal.mediaType' - | 'children.children.internal.owner' - | 'children.children.internal.type' - | 'children.children.parent.children' - | 'children.children.parent.id' - | 'children.id' - | 'children.internal.content' - | 'children.internal.contentDigest' - | 'children.internal.contentFilePath' - | 'children.internal.description' - | 'children.internal.fieldOwners' - | 'children.internal.ignoreType' - | 'children.internal.mediaType' - | 'children.internal.owner' - | 'children.internal.type' - | 'children.parent.children' - | 'children.parent.children.children' - | 'children.parent.children.id' - | 'children.parent.id' - | 'children.parent.internal.content' - | 'children.parent.internal.contentDigest' - | 'children.parent.internal.contentFilePath' - | 'children.parent.internal.description' - | 'children.parent.internal.fieldOwners' - | 'children.parent.internal.ignoreType' - | 'children.parent.internal.mediaType' - | 'children.parent.internal.owner' - | 'children.parent.internal.type' - | 'children.parent.parent.children' - | 'children.parent.parent.id' - | 'id' - | 'internal.content' - | 'internal.contentDigest' - | 'internal.contentFilePath' - | 'internal.description' - | 'internal.fieldOwners' - | 'internal.ignoreType' - | 'internal.mediaType' - | 'internal.owner' - | 'internal.type' - | 'name' - | 'nodeAPIs' - | 'packageJson' - | 'parent.children' - | 'parent.children.children' - | 'parent.children.children.children' - | 'parent.children.children.id' - | 'parent.children.id' - | 'parent.children.internal.content' - | 'parent.children.internal.contentDigest' - | 'parent.children.internal.contentFilePath' - | 'parent.children.internal.description' - | 'parent.children.internal.fieldOwners' - | 'parent.children.internal.ignoreType' - | 'parent.children.internal.mediaType' - | 'parent.children.internal.owner' - | 'parent.children.internal.type' - | 'parent.children.parent.children' - | 'parent.children.parent.id' - | 'parent.id' - | 'parent.internal.content' - | 'parent.internal.contentDigest' - | 'parent.internal.contentFilePath' - | 'parent.internal.description' - | 'parent.internal.fieldOwners' - | 'parent.internal.ignoreType' - | 'parent.internal.mediaType' - | 'parent.internal.owner' - | 'parent.internal.type' - | 'parent.parent.children' - | 'parent.parent.children.children' - | 'parent.parent.children.id' - | 'parent.parent.id' - | 'parent.parent.internal.content' - | 'parent.parent.internal.contentDigest' - | 'parent.parent.internal.contentFilePath' - | 'parent.parent.internal.description' - | 'parent.parent.internal.fieldOwners' - | 'parent.parent.internal.ignoreType' - | 'parent.parent.internal.mediaType' - | 'parent.parent.internal.owner' - | 'parent.parent.internal.type' - | 'parent.parent.parent.children' - | 'parent.parent.parent.id' - | 'pluginFilepath' - | 'pluginOptions' - | 'resolve' - | 'ssrAPIs' - | 'version'; - -type SitePluginFilterInput = { - readonly browserAPIs: InputMaybe; - readonly children: InputMaybe; - readonly id: InputMaybe; - readonly internal: InputMaybe; - readonly name: InputMaybe; - readonly nodeAPIs: InputMaybe; - readonly packageJson: InputMaybe; - readonly parent: InputMaybe; - readonly pluginFilepath: InputMaybe; - readonly pluginOptions: InputMaybe; - readonly resolve: InputMaybe; - readonly ssrAPIs: InputMaybe; - readonly version: InputMaybe; -}; - -type SitePluginGroupConnection = { - readonly distinct: ReadonlyArray; - readonly edges: ReadonlyArray; - readonly field: Scalars['String']; - readonly fieldValue: Maybe; - readonly group: ReadonlyArray; - readonly max: Maybe; - readonly min: Maybe; - readonly nodes: ReadonlyArray; - readonly pageInfo: PageInfo; - readonly sum: Maybe; - readonly totalCount: Scalars['Int']; -}; - - -type SitePluginGroupConnection_distinctArgs = { - field: SitePluginFieldsEnum; -}; - - -type SitePluginGroupConnection_groupArgs = { - field: SitePluginFieldsEnum; - limit: InputMaybe; - skip: InputMaybe; -}; - - -type SitePluginGroupConnection_maxArgs = { - field: SitePluginFieldsEnum; -}; - - -type SitePluginGroupConnection_minArgs = { - field: SitePluginFieldsEnum; -}; - - -type SitePluginGroupConnection_sumArgs = { - field: SitePluginFieldsEnum; -}; - -type SitePluginSortInput = { - readonly fields: InputMaybe>>; - readonly order: InputMaybe>>; -}; - -type SiteSiteMetadata = { - readonly description: Maybe; - readonly siteUrl: Maybe; - readonly title: Maybe; -}; - -type SiteSiteMetadataFilterInput = { - readonly description: InputMaybe; - readonly siteUrl: InputMaybe; - readonly title: InputMaybe; -}; - -type SiteSortInput = { - readonly fields: InputMaybe>>; - readonly order: InputMaybe>>; -}; - -type SortOrderEnum = - | 'ASC' - | 'DESC'; - -type StringQueryOperatorInput = { - readonly eq: InputMaybe; - readonly glob: InputMaybe; - readonly in: InputMaybe>>; - readonly ne: InputMaybe; - readonly nin: InputMaybe>>; - readonly regex: InputMaybe; -}; - -type TransformOptions = { - readonly cropFocus: InputMaybe; - readonly duotone: InputMaybe; - readonly fit: InputMaybe; - readonly grayscale: InputMaybe; - readonly rotate: InputMaybe; - readonly trim: InputMaybe; -}; - -type WebPOptions = { - readonly quality: InputMaybe; -}; - -type GalleryImageQueryVariables = Exact<{ - imageFilename: InputMaybe; -}>; - - -type GalleryImageQuery = { readonly file: { readonly base: string, readonly publicURL: string | null, readonly childImageSharp: { readonly gatsbyImageData: import('gatsby-plugin-image').IGatsbyImageData, readonly fluid: { readonly aspectRatio: number } | null } | null, readonly fields: { readonly imageMeta: { readonly dateTaken: string | null, readonly meta: { readonly Make: string | null, readonly Model: string | null, readonly ExposureTime: number | null, readonly FNumber: number | null, readonly ISO: number | null, readonly DateTimeOriginal: string | null, readonly CreateDate: string | null, readonly ShutterSpeedValue: number | null, readonly ApertureValue: number | null, readonly FocalLength: number | null, readonly LensModel: string | null, readonly ObjectName: string | null, readonly Caption: string | null, readonly City: string | null, readonly State: string | null } | null, readonly vibrant: { readonly DarkMuted: ReadonlyArray | null, readonly DarkVibrant: ReadonlyArray | null, readonly LightMuted: ReadonlyArray | null, readonly LightVibrant: ReadonlyArray | null, readonly Vibrant: ReadonlyArray | null, readonly Muted: ReadonlyArray | null } | null } | null } | null } | null }; - -type GalleryPageQueryQueryVariables = Exact<{ [key: string]: never; }>; - - -type GalleryPageQueryQuery = { readonly allFile: { readonly nodes: ReadonlyArray<{ readonly relativePath: string, readonly base: string, readonly childImageSharp: { readonly gatsbyImageData: import('gatsby-plugin-image').IGatsbyImageData, readonly fluid: { readonly aspectRatio: number } | null } | null, readonly fields: { readonly imageMeta: { readonly vibrantHue: number | null, readonly dominantHue: ReadonlyArray | null, readonly dateTaken: string | null, readonly meta: { readonly Keywords: ReadonlyArray | null, readonly Rating: number | null, readonly ObjectName: string | null } | null, readonly vibrant: { readonly Vibrant: ReadonlyArray | null } | null } | null } | null }> } }; - -type GatsbyImageSharpFixedFragment = { readonly base64: string | null, readonly width: number, readonly height: number, readonly src: string, readonly srcSet: string }; - -type GatsbyImageSharpFixed_noBase64Fragment = { readonly width: number, readonly height: number, readonly src: string, readonly srcSet: string }; - -type GatsbyImageSharpFixed_tracedSVGFragment = { readonly tracedSVG: string | null, readonly width: number, readonly height: number, readonly src: string, readonly srcSet: string }; - -type GatsbyImageSharpFixed_withWebpFragment = { readonly base64: string | null, readonly width: number, readonly height: number, readonly src: string, readonly srcSet: string, readonly srcWebp: string | null, readonly srcSetWebp: string | null }; - -type GatsbyImageSharpFixed_withWebp_noBase64Fragment = { readonly width: number, readonly height: number, readonly src: string, readonly srcSet: string, readonly srcWebp: string | null, readonly srcSetWebp: string | null }; - -type GatsbyImageSharpFixed_withWebp_tracedSVGFragment = { readonly tracedSVG: string | null, readonly width: number, readonly height: number, readonly src: string, readonly srcSet: string, readonly srcWebp: string | null, readonly srcSetWebp: string | null }; - -type GatsbyImageSharpFluidFragment = { readonly base64: string | null, readonly aspectRatio: number, readonly src: string, readonly srcSet: string, readonly sizes: string }; - -type GatsbyImageSharpFluid_noBase64Fragment = { readonly aspectRatio: number, readonly src: string, readonly srcSet: string, readonly sizes: string }; - -type GatsbyImageSharpFluid_tracedSVGFragment = { readonly tracedSVG: string | null, readonly aspectRatio: number, readonly src: string, readonly srcSet: string, readonly sizes: string }; - -type GatsbyImageSharpFluid_withWebpFragment = { readonly base64: string | null, readonly aspectRatio: number, readonly src: string, readonly srcSet: string, readonly srcWebp: string | null, readonly srcSetWebp: string | null, readonly sizes: string }; - -type GatsbyImageSharpFluid_withWebp_noBase64Fragment = { readonly aspectRatio: number, readonly src: string, readonly srcSet: string, readonly srcWebp: string | null, readonly srcSetWebp: string | null, readonly sizes: string }; - -type GatsbyImageSharpFluid_withWebp_tracedSVGFragment = { readonly tracedSVG: string | null, readonly aspectRatio: number, readonly src: string, readonly srcSet: string, readonly srcWebp: string | null, readonly srcSetWebp: string | null, readonly sizes: string }; - -type GatsbyImageSharpFluidLimitPresentationSizeFragment = { readonly maxHeight: number, readonly maxWidth: number }; - -type VibrantColorsFragment = { readonly DarkMuted: ReadonlyArray | null, readonly DarkVibrant: ReadonlyArray | null, readonly LightMuted: ReadonlyArray | null, readonly LightVibrant: ReadonlyArray | null, readonly Vibrant: ReadonlyArray | null, readonly Muted: ReadonlyArray | null }; - -type GalleryImagesNodeQueryVariables = Exact<{ [key: string]: never; }>; - - -type GalleryImagesNodeQuery = { readonly allFile: { readonly edges: ReadonlyArray<{ readonly node: { readonly relativePath: string, readonly base: string, readonly fields: { readonly imageMeta: { readonly dateTaken: string | null } | null } | null } }> } }; - - -} diff --git a/src/pages/index.tsx b/src/pages/index.tsx index f191eb2..3bcd441 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,251 +1,288 @@ import * as React from "react"; -import * as R from "ramda"; import { graphql, PageProps } from "gatsby"; +import { GatsbyImage, getImage } from "gatsby-plugin-image"; import { Helmet } from "react-helmet"; -import { Picker, Item } from "@adobe/react-spectrum"; +import { take } from "ramda"; +import classnames from "classnames"; -import MasonryGallery from "../components/MasonryGallery"; -import KeywordsPicker from "../components/KeywordsPicker"; -import { getGalleryPageUrl, getHelmetSafeBodyStyle } from "../utils"; +import { getHelmetSafeBodyStyle, getVibrant, getAspectRatio } from "../utils"; import Nav from "../components/Nav"; +import ActionButtons from "../components/index/ActionButtons"; +import { use100vh } from "react-div-100vh"; +import { useMediaQuery } from "../useMediaQuery"; -const SORT_KEYS = { - hue: ["fields", "imageMeta", "vibrantHue"], - rating: ["fields", "imageMeta", "meta", "Rating"], - hue_debug: ["fields", "imageMeta", "dominantHue", 0], - date: [], -} as const; +const env = + process.env.GATSBY_ACTIVE_ENV || process.env.NODE_ENV || "development"; -export type GalleryImage = - Queries.GalleryPageQueryQuery["allFile"]["nodes"][number]; +export type HomepageImage = Queries.IndexPageQuery["allFile"]["nodes"][number]; -const GalleryPage = ({ data }: PageProps) => { - const hash = - typeof window !== "undefined" ? window.location.hash.replace("#", "") : ""; +const getDifferentRand = ( + range: number, + lastNs: number[], + iterations = 0 +): number => { + const n = Math.floor(Math.random() * range); + if (lastNs.findIndex((x) => x === n) > -1 && iterations < 5) { + console.log("got dupe, trying again", n); + return getDifferentRand(range, lastNs, iterations + 1); + } + return n; +}; - const [hashCleared, setHashCleared] = React.useState(false); // eslint-disable-line no-unused-vars - // ^ used just to force a re-render with the cleared hash value (I know, it's a smell for sure) - const [filterKeyword, _setKeyword] = React.useState(null as string | null); - const [sortKey, _setSortKey] = React.useState("rating" as string); - const showDebug = - typeof window !== "undefined" && - window.location.search.includes("debug=true"); +const IndexPage = ({ + data: { + allFile: { nodes: images }, + }, +}: PageProps) => { + const [isClient, setIsClient] = React.useState(false); + const [imageIndex, setImageIndex] = React.useState(0); + const image = React.useMemo(() => { + return images[imageIndex]; + }, [images, imageIndex]); - const setKeyword = React.useCallback( - (newKeyword: string | null) => { - if (newKeyword) { + const shuffleImage = React.useCallback( + (currentImage?: typeof images[number]) => { + const lastThreeImages = + JSON.parse(localStorage.getItem("lastHeros") ?? "[]") || []; + if (env === "production") { try { - window.plausible("Filter Keyword", { - props: { keyword: newKeyword }, + window.plausible("Shuffle", { + props: { currentImage: currentImage?.base }, }); } catch (e) { - // do nothing + /* do nothing */ } } - _setKeyword(newKeyword); - window.history.replaceState( - null, - "", - getGalleryPageUrl({ keyword: newKeyword, sortKey }, hash) + const index = getDifferentRand(images.length, lastThreeImages); + localStorage.setItem( + "lastHeros", + JSON.stringify(take(3, [index, ...lastThreeImages])) ); + setImageIndex(index); }, - [_setKeyword, sortKey, hash] + [images.length] ); - const setSortKey = React.useCallback( - (newSortKey: string) => { - try { - window.plausible("Sort Gallery", { - props: { key: newSortKey }, - }); - } catch (e) { - // do nothing - } - _setSortKey(newSortKey); - window.history.replaceState( - null, - "", - getGalleryPageUrl({ sortKey: newSortKey, keyword: filterKeyword }, hash) - ); - }, - [_setSortKey, filterKeyword, hash] - ); - - const removeHash = React.useCallback(() => { - const url = new URL( - typeof window !== "undefined" - ? window.location.href.toString() - : "https://chuckdries.com/photogallery/" - ); - - url.hash = ""; - window.history.replaceState(null, "", url.href.toString()); - window.removeEventListener("wheel", removeHash); - setHashCleared(true); - }, []); - - const scrollIntoView = React.useCallback(() => { - if (!hash) { - return; - } - const el = document.getElementById(hash); - if (!el) { - return; - } - el.scrollIntoView({ - block: "center", - }); - window.addEventListener("wheel", removeHash); - }, [hash, removeHash]); - + // pick random image on page hydration React.useEffect(() => { - const url = new URL(window.location.toString()); - - const sortKeyFromUrl = url.searchParams.get("sort"); - if (sortKeyFromUrl) { - _setSortKey(sortKeyFromUrl); + if (!isClient) { + setIsClient(true); + shuffleImage(image); } + }, [isClient, imageIndex, image, shuffleImage]); - const filterKeyFromUrl = url.searchParams.get("filter"); - if (filterKeyFromUrl) { - _setKeyword(filterKeyFromUrl); - } + // React.useEffect(() => { + // const keyListener = (e: KeyboardEvent) => { + // switch (e.code) { + // case "Space": { + // shuffleImage(image); + // return; + // } + // case "ArrowRight": { + // if (imageIndex === images.length - 1) { + // setImageIndex(0); + // return; + // } + // setImageIndex(imageIndex + 1); + // return; + // } - // hacky but it works for now - setTimeout(() => { - // don't scroll into view if user got here with back button - scrollIntoView(); - }, 100); - }, [setSortKey, setKeyword, scrollIntoView]); + // case "ArrowLeft": { + // if (imageIndex === 0) { + // setImageIndex(images.length - 1); + // return; + // } + // setImageIndex(imageIndex - 1); + // return; + // } + // } + // }; + // document.addEventListener("keydown", keyListener); + // return () => { + // document.removeEventListener("keydown", keyListener); + // }; + // }, [imageIndex, images.length, image, shuffleImage]); - const images: GalleryImage[] = React.useMemo(() => { - const sort = - sortKey === "date" - ? R.sort((node1: typeof data["allFile"]["nodes"][number], node2) => { - const date1 = new Date( - R.pathOr("", ["fields", "imageMeta", "dateTaken"], node1) - ); - const date2 = new Date( - R.pathOr("", ["fields", "imageMeta", "dateTaken"], node2) - ); - return -1 * (date1.getTime() - date2.getTime()); - }) - : R.sort( - // @ts-ignore - R.descend(R.path(SORT_KEYS[sortKey])) - ); + const browserIsLandscape = useMediaQuery("(orientation: landscape)"); - const filter = filterKeyword - ? R.filter((image) => - R.includes( - filterKeyword, - R.pathOr([], ["fields", "imageMeta", "meta", "Keywords"], image) - ) - ) - : R.identity; + const vibrant = getVibrant(image); + const ar = getAspectRatio(image); - try { - const ret = R.pipe( - // @ts-ignore - sort, - filter - )(data.allFile.nodes) as any; - return ret; - } catch (e) { - console.log("caught images!", e); - return []; - } - }, [data, sortKey, filterKeyword]); + const screenHeight = use100vh(); + const imageIsLandscape = isClient ? ar > 1 : true; + + // @ts-ignore + const img = getImage(image); return ( <> {/* @ts-ignore */} - Photo Gallery | Chuck Dries + Chuck Dries -
-
+
+
-
- -
- +
- Curated - Date - Hue - +

+ Chuck Dries +

+

+ Full Stack Software Engineer & Photographer +

+
+
+
+
-
- + {isClient && img ? ( + + ) : ( +
+ )} + {imageIsLandscape && ( +
+ +
+ )} + ); }; export const query = graphql` - query GalleryPageQuery { + query IndexPage { allFile( - filter: { sourceInstanceName: { eq: "gallery" } } - sort: { fields: fields___imageMeta___dateTaken, order: DESC } + filter: { + sourceInstanceName: { eq: "gallery" } + base: { + in: [ + # "DSC06616.jpg" # B&W abstract ## KEEP ON TOP + # "20160530-DSC09108.jpg" # portrait red flowers + # # "DSC00201.jpg" # duck + # "DSC04905.jpg" # purple layers + # "DSC05761.jpg" # monument valley + # "DSC05851.jpg" # utahn highway sunset + # # "DSC06245.jpg" # snowy milky way + # # # "DSC08521.jpg" # firepit bloom j&e + # # "DSC07490.jpg" # house on prairie + # # "DSC02538.jpg" # portrait pink cactus bloom + # # "20190624-DSC00771.jpg" # glacier forest fog + # # # "DSC00237.jpg" # cotton candy clouds + # "_DSC6062.jpg" # field of wildflowers + # # "_DSC6060.jpg" # edge of the world + # "_DSC6219.jpg" # whihte/yellow rosebush + # # "_DSC6243.jpg" # bright rose in darkness + # # "_DSC6400-2.jpg" # Horsetail falls + # # "_DSC6798.jpg" # Japanese zen garden + # # "_DSC6481.jpg" # Mt Hood from Powell Butte + # # "_DSC5916.jpg" # blue dart stinger + # # "_DSC0286.jpg" # god rays + # # "_DSC8998.jpg" # forest road + # # "DSC01169.jpg" # ferris wheel reflection + # "DSC01800.jpg" # cherry blossom landscape sunny sky + # "DSC01772.jpg" # cherry blossom portrait sunny sky + # # "DSC06201.jpg" # Wheatland snowy hills + # "DSC01924.jpg" # cherry blossom sea + # # "DSC03157.jpg" # constellation of flowers + # "DSC02610.jpg" # peter iredale portrait + # "DSC02615.jpg" # rori iredale beach field camera + "DSC02615-2.jpg" # same but red + # "DSC06490.jpg" # Japanese garden steps + # "DSC06687.jpg" # Multnomah Falls long exposure + # "DSC09932.jpg" # milky way + # "DSC09944.jpg" # milky way rori + # "DSC03725.jpg" # oregon coast lighthouse + # "DSC03750.jpg" + # "DSC03804.jpg" + # "DSC04122.jpg" # shoot the light wheel hallway + ] + } + } + sort: { order: DESC, fields: fields___imageMeta___dateTaken } ) { nodes { relativePath @@ -255,23 +292,15 @@ export const query = graphql` aspectRatio } gatsbyImageData( - layout: CONSTRAINED - height: 550 - placeholder: DOMINANT_COLOR + layout: FULL_WIDTH + placeholder: NONE + breakpoints: [750, 1080, 1366, 1920, 2560, 3840] ) } fields { imageMeta { - vibrantHue - dominantHue - dateTaken - meta { - Keywords - Rating - ObjectName - } vibrant { - Vibrant + ...VibrantColors } } } @@ -280,4 +309,4 @@ export const query = graphql` } `; -export default GalleryPage; +export default IndexPage; diff --git a/src/pages/photogallery.tsx b/src/pages/photogallery.tsx index 30dcef7..f191eb2 100644 --- a/src/pages/photogallery.tsx +++ b/src/pages/photogallery.tsx @@ -1,10 +1,283 @@ -import { navigate } from 'gatsby'; -import React, { useEffect } from 'react'; +import * as React from "react"; +import * as R from "ramda"; +import { graphql, PageProps } from "gatsby"; +import { Helmet } from "react-helmet"; +import { Picker, Item } from "@adobe/react-spectrum"; -export default function RedirectGallery() { - useEffect(() => { - navigate('/'); +import MasonryGallery from "../components/MasonryGallery"; +import KeywordsPicker from "../components/KeywordsPicker"; +import { getGalleryPageUrl, getHelmetSafeBodyStyle } from "../utils"; +import Nav from "../components/Nav"; + +const SORT_KEYS = { + hue: ["fields", "imageMeta", "vibrantHue"], + rating: ["fields", "imageMeta", "meta", "Rating"], + hue_debug: ["fields", "imageMeta", "dominantHue", 0], + date: [], +} as const; + +export type GalleryImage = + Queries.GalleryPageQueryQuery["allFile"]["nodes"][number]; + +const GalleryPage = ({ data }: PageProps) => { + const hash = + typeof window !== "undefined" ? window.location.hash.replace("#", "") : ""; + + const [hashCleared, setHashCleared] = React.useState(false); // eslint-disable-line no-unused-vars + // ^ used just to force a re-render with the cleared hash value (I know, it's a smell for sure) + const [filterKeyword, _setKeyword] = React.useState(null as string | null); + const [sortKey, _setSortKey] = React.useState("rating" as string); + const showDebug = + typeof window !== "undefined" && + window.location.search.includes("debug=true"); + + const setKeyword = React.useCallback( + (newKeyword: string | null) => { + if (newKeyword) { + try { + window.plausible("Filter Keyword", { + props: { keyword: newKeyword }, + }); + } catch (e) { + // do nothing + } + } + _setKeyword(newKeyword); + window.history.replaceState( + null, + "", + getGalleryPageUrl({ keyword: newKeyword, sortKey }, hash) + ); + }, + [_setKeyword, sortKey, hash] + ); + + const setSortKey = React.useCallback( + (newSortKey: string) => { + try { + window.plausible("Sort Gallery", { + props: { key: newSortKey }, + }); + } catch (e) { + // do nothing + } + _setSortKey(newSortKey); + window.history.replaceState( + null, + "", + getGalleryPageUrl({ sortKey: newSortKey, keyword: filterKeyword }, hash) + ); + }, + [_setSortKey, filterKeyword, hash] + ); + + const removeHash = React.useCallback(() => { + const url = new URL( + typeof window !== "undefined" + ? window.location.href.toString() + : "https://chuckdries.com/photogallery/" + ); + + url.hash = ""; + window.history.replaceState(null, "", url.href.toString()); + window.removeEventListener("wheel", removeHash); + setHashCleared(true); }, []); - return null; -} \ No newline at end of file + const scrollIntoView = React.useCallback(() => { + if (!hash) { + return; + } + const el = document.getElementById(hash); + if (!el) { + return; + } + el.scrollIntoView({ + block: "center", + }); + window.addEventListener("wheel", removeHash); + }, [hash, removeHash]); + + React.useEffect(() => { + const url = new URL(window.location.toString()); + + const sortKeyFromUrl = url.searchParams.get("sort"); + if (sortKeyFromUrl) { + _setSortKey(sortKeyFromUrl); + } + + const filterKeyFromUrl = url.searchParams.get("filter"); + if (filterKeyFromUrl) { + _setKeyword(filterKeyFromUrl); + } + + // hacky but it works for now + setTimeout(() => { + // don't scroll into view if user got here with back button + scrollIntoView(); + }, 100); + }, [setSortKey, setKeyword, scrollIntoView]); + + const images: GalleryImage[] = React.useMemo(() => { + const sort = + sortKey === "date" + ? R.sort((node1: typeof data["allFile"]["nodes"][number], node2) => { + const date1 = new Date( + R.pathOr("", ["fields", "imageMeta", "dateTaken"], node1) + ); + const date2 = new Date( + R.pathOr("", ["fields", "imageMeta", "dateTaken"], node2) + ); + return -1 * (date1.getTime() - date2.getTime()); + }) + : R.sort( + // @ts-ignore + R.descend(R.path(SORT_KEYS[sortKey])) + ); + + const filter = filterKeyword + ? R.filter((image) => + R.includes( + filterKeyword, + R.pathOr([], ["fields", "imageMeta", "meta", "Keywords"], image) + ) + ) + : R.identity; + + try { + const ret = R.pipe( + // @ts-ignore + sort, + filter + )(data.allFile.nodes) as any; + return ret; + } catch (e) { + console.log("caught images!", e); + return []; + } + }, [data, sortKey, filterKeyword]); + + return ( + <> + {/* @ts-ignore */} + + Photo Gallery | Chuck Dries + + +
+
+
+
+ +
+ + Curated + Date + Hue + +
+
+
+ + + ); +}; + +export const query = graphql` + query GalleryPageQuery { + allFile( + filter: { sourceInstanceName: { eq: "gallery" } } + sort: { fields: fields___imageMeta___dateTaken, order: DESC } + ) { + nodes { + relativePath + base + childImageSharp { + fluid { + aspectRatio + } + gatsbyImageData( + layout: CONSTRAINED + height: 550 + placeholder: DOMINANT_COLOR + ) + } + fields { + imageMeta { + vibrantHue + dominantHue + dateTaken + meta { + Keywords + Rating + ObjectName + } + vibrant { + Vibrant + } + } + } + } + } + } +`; + +export default GalleryPage; diff --git a/yarn.lock b/yarn.lock index 8e147eb..f7b3da0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11914,6 +11914,11 @@ react-dev-utils@^12.0.1: strip-ansi "^6.0.1" text-table "^0.2.0" +react-div-100vh@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/react-div-100vh/-/react-div-100vh-0.7.0.tgz#b3bec03a833fa40e406f36ed2e23a35a59d1068f" + integrity sha512-I3d77tQyaSlOx/6vurDDLk7upb5GA2ldEtVXkk7Kn5cy+tLlS0KlqDK14xUxlxh7jz4StjgKcwFyrpymsPpomA== + react-dom@^17.0.1: version "17.0.2" resolved "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz"