diff --git a/.contentful/vault-secrets.yaml b/.contentful/vault-secrets.yaml new file mode 100644 index 0000000..069a541 --- /dev/null +++ b/.contentful/vault-secrets.yaml @@ -0,0 +1,7 @@ +version: 1 +services: + github-action: + policies: + - dependabot + - npm-read + diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..faee958 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,18 @@ +# EditorConfig: http://EditorConfig.org + +# top-most EditorConfig file +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false + +# Ignore paths +[/.next/**] diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..31b0011 --- /dev/null +++ b/.env.example @@ -0,0 +1,15 @@ +BUNDLE_ANALYZE=false +ENVIRONMENT_NAME=local + +# The URL for the domain your app is hosted on (used for generating the urls needed for SEO) +# If you deploy to Vercel or Netlify it is configured through the respective config files (`vercel.json` and `netlify.toml`) +NEXT_PUBLIC_BASE_URL=http://localhost:3000/ + +# Your current space ID: https://www.contentful.com/help/find-space-id/ +CONTENTFUL_SPACE_ID= + +# Your current space Content Delivery API access token: https://www.contentful.com/developers/docs/references/content-delivery-api/ +CONTENTFUL_ACCESS_TOKEN= + +# Your current space Content Preview API access token: https://www.contentful.com/developers/docs/references/content-preview-api/ +CONTENTFUL_PREVIEW_ACCESS_TOKEN= diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..f05b9c2 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +scripts/**/*.js +src/**/__generated diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..621ee41 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,117 @@ +module.exports = { + root: true, + parser: '@babel/eslint-parser', + parserOptions: { + requireConfigFile: false, + }, + env: { + browser: true, + commonjs: true, + es6: true, + jest: true, + node: true, + }, + plugins: ['react-hooks'], + settings: { + react: { + version: 'detect', + }, + }, + extends: [ + 'plugin:prettier/recommended', + 'plugin:import/errors', + 'plugin:import/warnings', + 'plugin:import/typescript', + 'plugin:@typescript-eslint/eslint-recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:react/recommended', + 'plugin:jsx-a11y/recommended', + 'plugin:@next/next/recommended', + ], + rules: { + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-use-before-define': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + '@typescript-eslint/no-unused-vars': [ + 'warn', + { + argsIgnorePattern: '^_|req|res|next|err|ctx|args|context|info', + }, + ], + '@typescript-eslint/no-object-literal-type-assertion': 'off', + '@typescript-eslint/explicit-member-accessibility': 'off', + '@typescript-eslint/camelcase': 'off', + '@typescript-eslint/no-empty-interface': 'off', + '@typescript-eslint/ban-ts-ignore': 'off', + 'prettier/prettier': 'off', + 'import/no-named-as-default': 'off', + 'import/no-named-as-default-member': 'off', + 'import/default': 'off', + 'import/named': 'off', + 'import/namespace': 'off', + 'import/order': [ + 'warn', + { + groups: ['builtin', 'external', ['parent', 'sibling'], 'index'], + 'newlines-between': 'always', + pathGroups: [ + { + pattern: '@/**', + group: 'external', + position: 'after', + }, + { + pattern: '@test/**', + group: 'external', + position: 'after', + }, + ], + alphabetize: { + order: 'asc' /* sort in ascending order. Options: ['ignore', 'asc', 'desc'] */, + caseInsensitive: true /* ignore case. Options: [true, false] */, + }, + }, + ], + 'jsx-a11y/click-events-have-key-events': 'off', + 'jsx-a11y/anchor-is-valid': 'off', + 'react/prop-types': 'off', + 'react/display-name': 'off', + 'react-hooks/rules-of-hooks': 'error', + 'react-hooks/exhaustive-deps': 'warn', + 'react/jsx-uses-react': 'off', + 'react/react-in-jsx-scope': 'off', + 'react/self-closing-comp': 'warn', + }, + overrides: [ + { + files: ['**/*.ts?(x)'], + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaVersion: 2018, + sourceType: 'module', + ecmaFeatures: { + jsx: true, + }, + // typescript-eslint specific options + warnOnUnsupportedTypeScriptVersion: true, + }, + settings: { + 'import/parsers': { + '@typescript-eslint/parser': ['.ts', '.tsx'], + }, + 'import/resolver': { + typescript: { + alwaysTryTypes: true, + }, + }, + }, + }, + ], + globals: { + React: 'writable', + }, +}; diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..922b79e --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @contentful/team-plato diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md new file mode 100644 index 0000000..953796f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -0,0 +1,38 @@ +--- +name: "\U0001F41B Bug Report" +about: Spotted a bug? Add a report to help us improve this template +title: "\U0001F41B Bug - " +labels: bug, needs triage +--- + +# Bug report + +## Summary + + + +## Environment + + + +## Steps to reproduce + + + +## Expected results + + + +## Actual results + + diff --git a/.github/ISSUE_TEMPLATE/feedback.md b/.github/ISSUE_TEMPLATE/feedback.md new file mode 100644 index 0000000..5818f82 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feedback.md @@ -0,0 +1,17 @@ +--- +name: "\U0001F4AC Give feedback on a component" +about: Give us feedback to help us improve this template +title: "\U0001F4AC Feedback - " +labels: needs triage +--- + + + +# Template feedback + + diff --git a/.github/ISSUE_TEMPLATE/proposal.md b/.github/ISSUE_TEMPLATE/proposal.md new file mode 100644 index 0000000..fec5b24 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/proposal.md @@ -0,0 +1,31 @@ +--- +name: "\U0001F4A1 Proposal" +about: Want to extend the template or modify existing functionality? Send us a proposal +title: "\U0001F4A1 Proposal - " +labels: needs review, needs triage, proposal +--- + + + +# Template contribution proposal + +## The problem + + + +## The proposed solution + + + +## Breaking changes + + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..b3f8344 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,33 @@ +## Purpose of PR + +* Stuff that is going to change +* even more interesting stuff that is going to change + + + + + +## Security + +_Before you click Merge, take a step back and think how someone could break the [Confidentiality, Integrity and Availability](https://docs.google.com/presentation/d/1YdFlYBLnbNoiSAMOKjopiF4u34StXTK2qYdOLkMsEKo/edit?usp=sharing) of the code you've just written. Are secrets secret? Is there any sensitive information disclosed in logs or error messages? How does your code ensure that information is accurate, complete and protected from modification? Will your code keep Contentful working and functioning?_ + + diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..ff25425 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,39 @@ +version: 2 + +registries: + npm-registry-registry-npmjs-org: + type: npm-registry + url: https://registry.npmjs.org + token: '${{secrets.NPM_REGISTRY_REGISTRY_NPMJS_ORG_TOKEN}}' + +updates: + - package-ecosystem: 'npm' + directory: '/' + schedule: + interval: 'daily' + time: '05:00' + timezone: UTC + commit-message: + prefix: build + include: scope + labels: + - 'dependencies' + - 'dependabot' + open-pull-requests-limit: 2 + reviewers: + - 'contentful/team-tolkien' + registries: + - npm-registry-registry-npmjs-org + allow: + - dependency-name: '@contentful/live-preview' + + - package-ecosystem: github-actions + directory: '/' + schedule: + interval: daily + time: '05:00' + timezone: UTC + open-pull-requests-limit: 15 + commit-message: + prefix: build + include: scope diff --git a/.github/workflows/auto-merge.yml b/.github/workflows/auto-merge.yml new file mode 100644 index 0000000..445ce15 --- /dev/null +++ b/.github/workflows/auto-merge.yml @@ -0,0 +1,15 @@ +name: 'dependabot approve-and-request-merge' + +on: pull_request_target + +jobs: + worker: + permissions: + contents: write + id-token: write + runs-on: ubuntu-latest + if: github.actor == 'dependabot[bot]' + steps: + - uses: contentful/github-auto-merge@v1 + with: + VAULT_URL: ${{ secrets.VAULT_URL }} diff --git a/.github/workflows/eslint-tsc.yml b/.github/workflows/eslint-tsc.yml new file mode 100644 index 0000000..f8fd2c7 --- /dev/null +++ b/.github/workflows/eslint-tsc.yml @@ -0,0 +1,45 @@ +# Workflow name +name: ESLint & TSC + +# Event for the workflow +on: [pull_request] + +# List of jobs +jobs: + eslint-tsc: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Read .nvmrc + run: echo "##[set-output name=NVMRC;]$(cat .nvmrc)" + id: nvm + + - name: Use Node.js (.nvmrc) + uses: actions/setup-node@v3 + with: + node-version: "${{ steps.nvm.outputs.NVMRC }}" + + - name: Get Yarn cache directory + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" + + - name: Use Yarn cache + uses: actions/cache@v3.2.3 + id: yarn-cache + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }} + + - name: Install dependencies + run: yarn install --frozen-lockfile --prefer-offline + # `--prefer-offline` gives cache priority + + - name: ESLint + run: yarn lint + + - name: TSC + run: yarn type-check diff --git a/.github/workflows/sast.yaml b/.github/workflows/sast.yaml new file mode 100644 index 0000000..7ac4b04 --- /dev/null +++ b/.github/workflows/sast.yaml @@ -0,0 +1,31 @@ +name: SAST (Static Application Security Testing) + +on: + push: + branches: [master, main, main-private] + pull_request: + branches: [master, main, main-private] + +jobs: + polaris: + name: polaris / code-scan + continue-on-error: true + runs-on: ubuntu-latest + if: (github.repository_owner == 'contentful') && (endsWith(github.actor, '[bot]') == false) + steps: + - name: Clone repo + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Synopsys Polaris + uses: contentful/polaris-action@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + polaris_url: ${{ secrets.POLARIS_SERVER_URL }} + polaris_access_token: ${{ secrets.POLARIS_ACCESS_TOKEN }} + debug: true + polaris_command: analyze -w --coverity-ignore-capture-failure + security_gate_filters: '{ "severity": ["High", "Medium"] }' + fail_on_error: false + report_url: "https://github.com/contentful/security-tools-config/issues/new?title=False%20positive%20in%20Polaris" diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cc362b0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,194 @@ +### Custom ### +contentful.config.secret.json +dist +.next +out +tsconfig.tsbuildinfo + + +### Paw ### +*.paw + +# Created by https://www.gitignore.io/api/linux,osx,visualstudiocode,sublimetext,intellij,node,bower + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +### OSX ### +*.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + + +### VisualStudioCode ### +.vscode/settings.json + +### SublimeText ### +# cache files for sublime text +*.tmlanguage.cache +*.tmPreferences.cache +*.stTheme.cache + +# workspace files are user-specific +*.sublime-workspace + +# project files should be checked into the repository, unless a significant +# proportion of contributors will probably not be using SublimeText +# *.sublime-project + +# sftp configuration file +sftp-config.json + +# Package control specific files +Package Control.last-run +Package Control.ca-list +Package Control.ca-bundle +Package Control.system-ca-bundle +Package Control.cache/ +Package Control.ca-certs/ +bh_unicode_properties.cache + +# Sublime-github package stores a github token in this file +# https://packagecontrol.io/packages/sublime-github +GitHub.sublime-settings + +### Intellij ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff: +.idea/workspace.xml +.idea/tasks.xml +.idea/dictionaries +.idea/vcs.xml +.idea/jsLibraryMappings.xml + +# Sensitive or high-churn files: +.idea/dataSources.ids +.idea/dataSources.xml +.idea/dataSources.local.xml +.idea/sqlDataSources.xml +.idea/dynamic.xml +.idea/uiDesigner.xml + +# Gradle: +.idea/gradle.xml +.idea/libraries + +# Mongo Explorer plugin: +.idea/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +### Intellij Patch ### +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 + +# *.iml +# modules.xml +# .idea/misc.xml +# *.ipr + +### Node ### +# Logs +logs +*.log +npm-debug.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules +jspm_packages + +# Optional npm cache directory +.npm + +# Optional REPL history +.node_repl_history + +### Bower ### +bower_components +.bower-cache +.bower-registry +.bower-tmp +/public/data/mind.json + +.env + +### Intellij ### +.idea/ + +### Install artifacts ### +package-lock.json diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..b23d309 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +yarn type-check && yarn lint-staged \ No newline at end of file diff --git a/.husky/pre-push b/.husky/pre-push new file mode 100755 index 0000000..b23d309 --- /dev/null +++ b/.husky/pre-push @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +yarn type-check && yarn lint-staged \ No newline at end of file diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..5e0828a --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v18.16.1 diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..0cc9412 --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +src/**/__generated diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..6ba3b88 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,8 @@ +{ + "printWidth": 100, + "semi": true, + "arrowParens": "avoid", + "singleQuote": true, + "trailingComma": "all", + "jsxBracketSameLine": true +} diff --git a/.vercelignore b/.vercelignore new file mode 100644 index 0000000..4c49bd7 --- /dev/null +++ b/.vercelignore @@ -0,0 +1 @@ +.env diff --git a/@types/catchify/index.d.ts b/@types/catchify/index.d.ts new file mode 100644 index 0000000..bc6e06c --- /dev/null +++ b/@types/catchify/index.d.ts @@ -0,0 +1,4 @@ +declare module 'catchify' { + function catchify(a: Promise): Promise<[E, T]>; + export default catchify; +} diff --git a/@types/mui.d.ts b/@types/mui.d.ts new file mode 100644 index 0000000..20e08ef --- /dev/null +++ b/@types/mui.d.ts @@ -0,0 +1,5 @@ +import { Theme } from '@mui/material/styles'; + +declare module '@mui/styles/defaultTheme' { + interface DefaultTheme extends Theme {} +} diff --git a/@types/next-env.d.ts b/@types/next-env.d.ts new file mode 100644 index 0000000..4f11a03 --- /dev/null +++ b/@types/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..29fa813 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,5 @@ +# CHANGELOG + +The changelog is automatically updated using +[semantic-release](https://github.com/semantic-release/semantic-release). You +can see it on the [releases page](https://github.com/contentful/template-marketing-webapp-nextjs/releases). diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..3543534 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,7 @@ +# Contentful Community Code of Conduct + +The **Contentful Community** and the **Code of Conduct** governs all interactions with the contentful community. + +The **Contentful Community** is dedicated to providing a safe, inclusive, welcoming, and harassment-free space and experience for all community participants, regardless of gender identity and expression, sexual orientation, disability, physical appearance, socioeconomic status, body size, ethnicity, nationality, level of experience, age, religion (or lack thereof), or other identity markers. + +Our **Code of Conduct** exists because of that dedication, and we do not tolerate harassment in any form. See our full Code of Conduct and reporting guidelines at this [link](https://www.contentful.com/developers/code-of-conduct/). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..a94e2f1 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,42 @@ +# Introduction + +We appreciate any community contributions to this project, whether in the form of issues or Pull Requests. + +This document outlines what we'd like you to follow in terms of commit messages and code style. + +It also explains what to do in case you want to set up the project locally. + +If you have any questions or concerns please reach out to us either by filing an issue in the relevant repository or posting in the [Contentful Community Slack](https://www.contentful.com/slack/). + +## How Can I Contribute? + +Before creating a new issue; please check out the open issues as someone might have already created one for you! Please use the recommended templates for each section as helps us resolve issues faster. + +### Reporting Bugs + +Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). If you are sure there's currently not an issue that describes the bug you're experiencing, create an issue on the repository and provide the following information by filling in [the template](https://github.com/contentful/template-marketing-webapp-nextjs/tree/main/.github/ISSUE_TEMPLATE/bug-report.md). + +> **Note:** If you find a **Closed** issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one. + +### Proposals + +Want to make an enhancement proposal, including completely new features and minor improvements to existing functionality? Please create an issue with [the proposal template](https://github.com/contentful/template-marketing-webapp-nextjs/tree/main/.github/ISSUE_TEMPLATE/proposal.md). + +### General feedback + +Not experiencing a bug or wanting to make a proposal, but still want to reach out? A lot of our colleagues are hanging out in [Contentful Community Slack](https://www.contentful.com/slack/) and might be able to help. Can't find your answer there? You can file a feedback issue through [this template](https://github.com/contentful/template-marketing-webapp-nextjs/tree/main/.github/ISSUE_TEMPLATE/feedback.md). + +## Pull Requests + +The process described here has several goals: + +- Maintain the quality of the repository +- Fix problems that are important to users +- Enable a sustainable system for the maintainers from Contentful to review contributions + +Please follow these steps to have your contribution considered by the maintainers: + +1. Follow all instructions in [the template](https://github.com/contentful/template-marketing-webapp-nextjs/tree/main/.github/PULL_REQUEST_TEMPLATE.md) +2. After you submit your pull request, verify that all [status checks](https://help.github.com/articles/about-status-checks/) are passing
What if the status checks are failing?If a status check is failing, and you believe that the failure is unrelated to your change, please leave a comment on the pull request explaining why you believe the failure is unrelated. A maintainer will re-run the status check for you. If we conclude that the failure was a false positive, then we will open an issue to track that problem with our status check suite.
+ +While the prerequisites above must be satisfied prior to having your pull request reviewed, the reviewer(s) may ask you to complete additional design work, tests, or other changes before your pull request can be ultimately accepted. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..208dcd5 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2022 Contentful + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..f4dcdf8 --- /dev/null +++ b/README.md @@ -0,0 +1,332 @@ +# Contentful Marketing Starter Template + +A Marketing Starter Template powered by Next.js & Contentful, pre-designed with optimized & adjustable pages, +components, and data management. + +![The homepage of the Marketing Starter Template](marketing-starter-template.jpg 'The homepage of the Marketing Starter Template') + +$~$ + +## What is Contentful? + +[Contentful](https://www.contentful.com/) provides content infrastructure for digital teams to power websites, apps, and +devices. Unlike a CMS, Contentful was built to integrate with the modern software stack. It offers a central hub for +structured content, powerful management, and delivery APIs, and a customizable web app that enables developers and +content creators to ship their products faster. + +$~$ + +## DISCLAIMER ⚠️ + +The Starter Templates experience is currently only available to new users. + +To benefit from this experience, please follow this link to create a new +account and select the template to install: [https://www.contentful.com/starter-templates/marketing-website/sign-up/?action=create_starter_template](https://www.contentful.com/starter-templates/marketing-website/sign-up/?action=create_starter_template&utm_source=github.com&utm_medium=referral&utm_campaign=template-marketing-webapp-nextjs). + +Alternatively, to immediately start the auto installation of this template after creating a new account, please follow this link: +[https://www.contentful.com/starter-templates/marketing-website/sign-up/?action=create_starter_template&template_name=marketing](https://www.contentful.com/starter-templates/marketing-website/sign-up/?action=create_starter_template&template_name=marketing&utm_source=github.com&utm_medium=referral&utm_campaign=template-marketing-webapp-nextjs). + +$~$ + +## Begin your journey with Contentful and the Marketing Starter Template + +Follow this [guide](https://github.com/contentful/template-marketing-webapp-nextjs/blob/main/docs/tutorials/contentful-and-the-starter-template.md/?utm_source=github.com-guide&utm_medium=referral&utm_campaign=template-marketing-webapp-nextjs) to understand the relationship between +Contentful and the Starter Template source code through guided steps: + +- Entry editing, and updates preview in the Starter Template application (online/locally) +- Content type editing in the Contentful web app, as well as in the Starter Template's code + +$~$ + +## Features + +- Composable content through powerful & flexible content modeling. +- Localization ready. +- SEO ready. +- Server-side rendering with Next.js[^1]. +- Optimized data management with React Query[^2]. +- Generation of GraphQL[^3] typed code (schema, types, and React Query hooks), in sync with the content types through + graphql-codegen[^4]. +- Enhanced Developer Experience with TypeScript[^5]. + +$~$ + +## Getting started + +To get started, read the following guidelines. + +- [Environment variables](./README.md#environment-variables) +- [Dependencies](./README.md#dependencies) +- [Development](./README.md#development) +- [Contentful API & GraphQL](./README.md#contentful-api--graphql) +- [Contentful Components](./README.md#contentful-components) +- [Deployment](./README.md#deployment) + +$~$ + +### Environment variables + +In order to authenticate the requests to the Contentful APIs, the following values are necessary: + +- Your space ID: [https://www.contentful.com/help/find-space-id/](https://www.contentful.com/help/find-space-id/) +- Contentful Delivery API + token: [https://www.contentful.com/developers/docs/references/content-delivery-api/](https://www.contentful.com/developers/docs/references/content-delivery-api/) +- Contentful Preview API + token: [https://www.contentful.com/developers/docs/references/content-preview-api/](https://www.contentful.com/developers/docs/references/content-preview-api/) + +Rename the `.env.example` file to `.env` and add the necessary values. + +$~$ + +### Dependencies + +To install the necessary dependencies, run: + +```bash +yarn +``` + +### Run the Starter Template in development mode + +```bash +yarn dev +``` + +The Starter Template should be up and running on `http://localhost:3000`. + +All necessary dependencies are installed under `node_modules` and any necessary tools can be accessed via npm scripts. + +$~$ + +## Development + +### Node + +It is recommended to use the Node version listed in the `.nvmrc` file, we recommend +using [nvm](https://github.com/nvm-sh/nvm) to easily switch between Node versions. + +$~$ + +### Husky & git hooks + +This repository makes use of [Husky](https://github.com/typicode/husky) to enforce commit hooks. + +The config for both the `pre-commit` and `pre-push` hooks can be found in the `.husky` folder, located in the root of +the project. + +--- + +#### Pre-commit + +Before allowing a commit, we require a successful result from the TypeScript compiler (`tsc`) and our `lint-staged` +script will be run. + +This ensures all ESLint and Prettier rules are enforced on the files that are staged to be committed. + +The `tsc` command is run separately from the `lint-staged` step because we require the Typescript compiler to sample +_all_ files. + +This is important to ensure that no deviating types were introduced by +the [codegen](./README.md#graphql--code-generation) for example. + +--- + +#### Pre-push + +The same two tasks are run for pre-push and for pre-commit. + +--- + +#### Overriding the Husky git hooks + +In case of wanting to bypass the `pre-commit` or `pre-push` hooks, pass a `--noVerify` flag to your Git commands. + +⚠️ Make sure you only use this if you know why you're using it. ⚠️ + +$~$ + +### Contentful API & GraphQL + +This project makes use of Contentful's [GraphQL API](https://www.contentful.com/developers/docs/references/graphql/). + +API calls made to the Contentful GraphQL endpoint are made through React Query `useQuery` hooks. + +The hooks are generated from the `.graphql` files collocated within the components, the following happens: + +1. `[folderName]/[fileName].graphql` file, containing a query, is detected by + the [codegen](./README.md#graphql--code-generation) +2. `[folderName]/__generated/[fileName].generated.ts` is generated +3. Within the generated file, a new hook is generated with the following pattern: `use[fileName]` +4. The hook can now be imported and used within the `.ts(x)` files in the component folder + +$~$ + +### GraphQL & code generation + +We use `graphql-codegen` to generate a type-safe API client, utilizing [React Query](https://tanstack.com/query/v4/) as +the "client". + +The data for the hooks is pre-fetched on the server-side. + +For more information on how this data is hydrated please +read [the official documentation](https://tanstack.com/query/v4/docs/guides/ssr#using-hydration). + +--- + +#### Commands + +In order to (re-)generate the GraphQL schema, types and hooks, please use either of the following commands: + +- `yarn graphql-codegen:generate` generates a schema, types and code to fetch data from the Contentful APIs +- `yarn graphql-codegen:watch` similar to the `generate` command, but it runs as a watch task which will rerun the steps + when changes are made in the `.graphql` files + +The first steps of the codegen generate files that contain the GraphQL schema and matching TypeScript types. +They're generated to the `src/lib/__generated` folder and ought to be committed once altered/added to the repository. + +Additionally, the codegen watches .graphql files in our `src` folder, if it runs successfully it generates +a `__generated` folder collocated in the folder where the `.graphql` file was found. + +One exception to this rule is the `src/lib/fragments` folder which contains shared GraphQL Fragments that are used in +several other queries/fragments. + +The TS types for these files are generated in the same location, in a `__generated` folder and like the other files +ought to be committed. + +--- + +#### Configuration + +The configuration for the codegen can be found in `codegen.ts`, located in the root of the project. + +$~$ + +### Contentful Components + +The term _Contentful Components_ (_ctf-components_ for short) is used for React components that have an equivalent +Contentful _content type_. + +E.g. all React components needed for rendering the _content-type_ `HeroBanner` can be found in the +folder `src/features/ctf-components/ctf-hero-banner`. + +Usually a _ctf-component_ is composed of 3 files: + +- `ctf-[contentypeName].graphql`: holding the query strings needed for the GraphQL request to fetch the components data. +- `ctf-[contentypeName]-gql.tsx`: React component which executes the GraphQL query and passes the result to a component + for rendering. +- `ctf-[contentypeName].tsx`: the React component which is actually rendering the content type. + +Optionally, a folder with TypeScript interfaces which were generated by GraphQL codegen can also be included: + +- `/__generated/`: (see [GraphQL & code generation](./README.md#graphql--code-generation)). + +$~$ + +### Component Resolver and content type mapping + +There is a _component-resolver_ (_./src/components/component-resolver.tsx_) React component, which is used to pick the +right React component for rendering a _content-type_. + +It requires as properties the _content type_ `id`, its `__typename` (used by live preview), and optionally the content. + +The **component-resolver** then uses a key map to find the right React component (`./src/mappings.ts`), where the key is +the _content type_ name and the value is the React component. + +It will check the map `componentMap` first, and if the _content type_ could be resolved it is assumed all content is +available. +The content is then passed to the React component. + +If the _content type_ could not be resolved, `componentGqlMap` will be used for resolving. +If the React component is found the _content type_ `id` and `__typename` will be passed, which is used +by the component to fetch its data. + +According to this pattern, all _ctf-components_ suffixed with `-gql` should be added to `componentGqlMap` and all +without a suffix should be added to `componentMap`. + +$~$ + +### Creating new Contentful Components + +Creating new _ctf-components_ involve the following steps: + +- Create a folder for the component files (`./src/ctf-components/ctf-[contentTypeName]`) +- Create the file for the GraphQL query strings (`./src/ctf-components/ctf-[contentTypeName].graphql`) +- Optionally, generate TypeScript interfaces for the GraphQL result by calling `yarn graphql-codegen:generate` ( + see [GraphQL & code generation](./README.md#graphql--code-generation)). +- Create the React components for rendering (`./src/ctf-components/ctf-[contentTypeName]-gql.tsx` + and `./src/ctf-components/ctf-[contentTypeName].tsx`). +- Add the component to the `componentGqlMap` in `./src/mappings.ts`. + +$~$ + +--- + +$~$ + +## Deployment + +The Starter Template can be deployed to your hosting provider of choice. + +We offer integrations with Vercel and Netlify to speed up the process by clicking one of the deploy buttons below. The GitHub repository and +the necessary environment variables keys are pre-configured in the hosting provider space. + +| Vercel | Netlify | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fcontentful%2Ftemplate-marketing-webapp-nextjs&env=CONTENTFUL_SPACE_ID,CONTENTFUL_ACCESS_TOKEN,CONTENTFUL_PREVIEW_ACCESS_TOKEN&envDescription=API%20Keys%20needed%20for%20the%20application&envLink=https%3A%2F%2Fgithub.com%2Fcontentful%2Ftemplate-marketing-webapp-nextjs%23environment-variables) | [![Deploy to Netlify Button](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https%3A%2F%2Fgithub.com%2Fcontentful%2Ftemplate-marketing-webapp-nextjs#CONTENTFUL_SPACE_ID=&CONTENTFUL_ACCESS_TOKEN=&CONTENTFUL_PREVIEW_ACCESS_TOKEN=) | +| [Environment variables docs](https://vercel.com/docs/concepts/projects/environment-variables) | [Environment variables docs](https://docs.netlify.com/environment-variables/overview/) | + +Make sure to add the necessary [environment variables values](./README.md#environment-variables) to the hosting provider +environment variables. + +--- + +### Content preview & live preview + +Once you have the Starter Template deployed on your hosting provider, you can update the Content preview URL in your +space settings. + +You can follow our guide to learn how to do +so: [https://www.contentful.com/help/setup-content-preview](https://www.contentful.com/help/setup-content-preview/?utm_source=github.com-preview-guide&utm_medium=referral&utm_campaign=template-marketing-webapp-nextjs). + +For the live preview the basic field tagging for the inspector mode and live updates are already implemented. +For custom components, you can find the instructions at our [guide](https://www.contentful.com/developers/docs/tutorials/general/live-preview/). + +$~$ + +--- + +$~$ + +## Support + +If you have a problem with this Starter Template, post a message in +our [Contentful Community Slack](https://www.contentful.com/slack/). + +Can't find your answer there? You can file a feedback issue +through [this template](https://github.com/contentful/template-marketing-webapp-nextjs/tree/main/.github/ISSUE_TEMPLATE/feedback.md). + +If you have other problems with Contentful not related to the Starter Template, you can contact +the [Customer Support](https://support.contentful.com/). + +$~$ + +## Contributing + +See [CONTRIBUTING.md](./CONTRIBUTING.md). + +$~$ + +## License + +MIT License, see [LICENSE](./LICENSE). + +$~$ + + + +[^1]: [Next.js docs](https://nextjs.org/docs/getting-started) +[^2]: [React Query](https://tanstack.com/query/v4/docs/overview) +[^3]: [GraphQL docs](https://graphql.org/learn/) +[^4]: [graphql-codegen](https://www.the-guild.dev/graphql/codegen) +[^5]: [TypeScript](https://www.typescriptlang.org/) +[^note]: [React docs](https://reactjs.org/docs/getting-started.html) diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..1bdb77c --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,32 @@ +## Security Policy + +Security at Contentful + +Security being just important to us is a huge understatement. Security is a top priority at Contentful, and we live it in our day-to-day activities. + +If you believe you have found a security vulnerability in any Contentful-owned repository, please report it to us as described below. + +## Supported Versions + +Refer to individual repositories for supported versions. + +## Reporting a Vulnerability + +Contentful engages with the community via our Responsible Disclosure Program, also known as our Bug Bounty Program. Our community plays an important role in helping us stay bug-free and secure. + +Found a vulnerability? Would you like to report a bug or something interesting that you found? The best way to reach out to us is via the submission form at the end of the [page](https://www.contentful.com/security/). + +Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: + +* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) +* Full paths of source file(s) related to the manifestation of the issue +* The location of the affected source code (tag/branch/commit or direct URL) +* Any special configuration required to reproduce the issue +* Step-by-step instructions to reproduce the issue +* Proof-of-concept or exploit code (if possible) +* Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +Report security vulnerabilities in third-party modules to the person or team maintaining the module. + diff --git a/bin/setup.sh b/bin/setup.sh new file mode 100755 index 0000000..ed35867 --- /dev/null +++ b/bin/setup.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# Check if .env file already exists +if [ -f .env ]; then + echo ".env.example file does not exist. Aborting." + exit 1 +fi + +# Check if .env.example file exists +if [ ! -f .env.example ]; then + echo ".env.example file does not exist. Aborting." + exit 1 +fi + +# Copy .env.example to .env +cp .env.example .env + +# Read the values of the variables from command-line arguments +for arg in "$@"; do + if [[ "$arg" != *"="* ]]; then + echo "Invalid argument: $arg. Arguments must be in the format KEY=VALUE. Aborting." + exit 1 + fi + + key=$(echo "$arg" | cut -d'=' -f1) + value=$(echo "$arg" | cut -d'=' -f2) + + # Sanitize inputs + if [[ "$key" != *[![:alnum:]_]* ]]; then + sed -e "s/^${key}=.*/${key}=${value}/" .env > temp && mv temp .env + else + echo "Invalid key: $key. Keys must contain only letters, numbers, and underscores. Aborting." + exit 1 + fi +done + +# install node_modules and run dev +echo Installing dependencies +yarn +yarn dev diff --git a/catalog-info.yaml b/catalog-info.yaml new file mode 100644 index 0000000..c70fc67 --- /dev/null +++ b/catalog-info.yaml @@ -0,0 +1,27 @@ +# Backstage documentation +# https://backstage.io/docs/features/software-catalog/descriptor-format/ + +apiVersion: backstage.io/v1alpha1 +kind: Template +metadata: + name: template-marketing-webapp-nextjs + description: Next.js marketing website starter template + annotations: + github.com/project-slug: contentful/template-marketing-webapp-nextjs + contentful.com/service-tier: "4" + + tags: + - starter-templates + - marketing-website + - nextjs + - graphql + - typescript + - material-ui + #need to add sast.yaml to .github/workflows and enable it in polaris dashboard + #once that is done this can be changed to sast-enabled + - sast-disabled + - tier-4 +spec: + type: template + lifecycle: production + owner: group:team-plato \ No newline at end of file diff --git a/codegen.ts b/codegen.ts new file mode 100644 index 0000000..132fffd --- /dev/null +++ b/codegen.ts @@ -0,0 +1,52 @@ +import { CodegenConfig } from '@graphql-codegen/cli'; + +import { fetchConfig } from './src/lib/fetchConfig'; + +export const config: CodegenConfig = { + overwrite: true, + ignoreNoDocuments: true, + schema: [ + { + [fetchConfig.endpoint]: fetchConfig.params, + }, + ], + generates: { + './src/lib/__generated/graphql.schema.json': { + plugins: ['introspection'], + }, + './src/lib/__generated/graphql.schema.graphql': { + plugins: ['schema-ast'], + }, + './src/lib/__generated/graphql.types.ts': { + plugins: ['typescript', 'typescript-operations'], + documents: ['./src/**/*.graphql'], + }, + './src/': { + documents: ['./src/**/*.graphql'], + preset: 'near-operation-file', + presetConfig: { + extension: '.generated.ts', + baseTypesPath: 'lib/__generated/graphql.types.ts', + folder: '__generated', + }, + plugins: [ + 'typescript-operations', + 'typescript-react-query', + ], + config: { + exposeQueryKeys: true, + exposeFetcher: true, + rawRequest: false, + inlineFragmentTypes: 'combine', + skipTypename: false, + exportFragmentSpreadSubTypes: true, + dedupeFragments: true, + preResolveTypes: true, + withHooks: true, + fetcher: '@src/lib/fetchConfig#customFetcher', + }, + }, + }, +}; + +export default config; diff --git a/config/headers.js b/config/headers.js new file mode 100644 index 0000000..b1f80c4 --- /dev/null +++ b/config/headers.js @@ -0,0 +1,40 @@ +const securityHeaders = [ + { + key: 'X-DNS-Prefetch-Control', + value: 'on', + }, + { + key: 'Strict-Transport-Security', + value: 'max-age=63072000; includeSubDomains; preload', + }, + { + key: 'X-Frame-Options', + value: 'SAMEORIGIN', + }, + { + key: 'Content-Security-Policy', + value: `frame-ancestors 'self' https://app.contentful.com https://app.eu.contentful.com`, + }, + { + key: 'X-Content-Type-Options', + value: 'nosniff', + }, + { + key: 'X-XSS-Protection', + value: '1; mode=block', + }, + { + key: 'Referrer-Policy', + value: 'no-referrer', + }, +]; + +module.exports = async () => { + return [ + { + // Apply these headers to all routes in your application. + source: '/:path*', + headers: securityHeaders, + }, + ]; +}; diff --git a/config/includePolyfills.js b/config/includePolyfills.js new file mode 100644 index 0000000..8ce0fae --- /dev/null +++ b/config/includePolyfills.js @@ -0,0 +1,13 @@ +module.exports = function includePolyfills(config) { + const originalEntry = config.entry; + + config.entry = async () => { + const entries = await originalEntry(); + + if (entries['main.js'] && !entries['main.js'].includes('./src/polyfills.ts')) { + entries['main.js'].unshift('./src/polyfills.ts'); + } + + return entries; + }; +}; diff --git a/config/plugins.js b/config/plugins.js new file mode 100644 index 0000000..6359d1f --- /dev/null +++ b/config/plugins.js @@ -0,0 +1,23 @@ +const withBundleAnalyzer = require('@next/bundle-analyzer'); +const withPWA = require('next-pwa'); + +module.exports = [ + [ + withPWA, + { + pwa: { + disable: process.env.NODE_ENV !== 'production', + dest: `public`, + register: false, + swSrc: './service-worker.js', + publicExcludes: ['!favicon/**/*'], + }, + }, + ], + [ + withBundleAnalyzer, + { + enabled: process.env.BUNDLE_ANALYZE !== 'true', + }, + ], +]; diff --git a/contentful.config.js b/contentful.config.js new file mode 100644 index 0000000..de4ac77 --- /dev/null +++ b/contentful.config.js @@ -0,0 +1,26 @@ +const url = process.env.NEXT_PUBLIC_BASE_URL; + +console.log({ env: process.env }); +module.exports = { + contentful: { + space_id: process.env.CONTENTFUL_SPACE_ID || '', + cda_token: process.env.CONTENTFUL_ACCESS_TOKEN || '', + cpa_token: process.env.CONTENTFUL_PREVIEW_ACCESS_TOKEN || '', + }, + meta: { + title: 'Digital banking for the new generation | Colorful Coin', + description: `Enjoy premium banking services wherever you go: instant transfers and best exchange rates, exclusive offers and priority customer support. Apply online at ${url + .replace('https://', '') + .replace('http://', '')}`, + url, + image: + 'https://images.ctfassets.net/w8vf7dk7f259/4bucno7z1xAyVI5MOkU6Pu/ded83d0ec1eb732ae3a81ddab7a18877/fallback-image-03.jpg', + }, + icon: { + light: + 'https://images.ctfassets.net/w8vf7dk7f259/llZXwDCnl9NqdyuVvjn1n/d20cea90225e7f53dfbf8a18a46e972d/gocoin-icon-light.svg', + dark: 'https://images.ctfassets.net/w8vf7dk7f259/i9iu6GU6dFWQJJwJzwxCT/952cc3bab415e28f521c22933072a09c/gocoin-icon.svg', + width: 66, + height: 64, + }, +}; diff --git a/marketing-starter-template.jpg b/marketing-starter-template.jpg new file mode 100644 index 0000000..00e5741 Binary files /dev/null and b/marketing-starter-template.jpg differ diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 0000000..d369e0e --- /dev/null +++ b/netlify.toml @@ -0,0 +1,2 @@ +[build] + command = "NEXT_PUBLIC_BASE_URL=\"${NEXT_PUBLIC_BASE_URL:-$URL}\" yarn build" diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 0000000..4f11a03 --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/next-i18next.config.js b/next-i18next.config.js new file mode 100644 index 0000000..a5174f8 --- /dev/null +++ b/next-i18next.config.js @@ -0,0 +1,10 @@ +const path = require('path'); + +module.exports = { + i18n: { + defaultLocale: 'en-US', + locales: ['en-US', 'de-DE'], + localeDetection: false, + localePath: path.resolve('./public/locales'), + }, +}; diff --git a/next.config.js b/next.config.js new file mode 100644 index 0000000..56ab67a --- /dev/null +++ b/next.config.js @@ -0,0 +1,93 @@ +require('dotenv').config(); +const nextComposePlugins = require('next-compose-plugins'); + +const headers = require('./config/headers'); +const includePolyfills = require('./config/includePolyfills'); +const plugins = require('./config/plugins'); +const { i18n } = require('./next-i18next.config.js'); + +/** + * https://github.com/cyrilwanner/next-compose-plugins/issues/59 + */ +const { withPlugins } = nextComposePlugins.extend(() => ({})); + +/** + * Next config + * documentation: https://nextjs.org/docs/api-reference/next.config.js/introduction + */ +module.exports = withPlugins(plugins, { + i18n, + /** + * add the environment variables you would like exposed to the client here + * documentation: https://nextjs.org/docs/api-reference/next.config.js/environment-variables + */ + env: { + ENVIRONMENT_NAME: process.env.ENVIRONMENT_NAME, + CONTENTFUL_SPACE_ID: process.env.CONTENTFUL_SPACE_ID, + CONTENTFUL_ACCESS_TOKEN: process.env.CONTENTFUL_ACCESS_TOKEN, + CONTENTFUL_PREVIEW_ACCESS_TOKEN: process.env.CONTENTFUL_PREVIEW_ACCESS_TOKEN, + }, + + /** + * The experimental option allows you to enable future/experimental options + * like React 18 concurrent features. + */ + experimental: { + // urlImports: true, + // concurrentFeatures: true, + // serverComponents: true, + }, + + /** + * SWC minification opt-in + * Please note that while not in experimental, the swcMinification may cause issues in your build. + * example: https://github.com/vercel/next.js/issues/30429 (Yup email validation causes an exception) + */ + // swcMinify: true, + + poweredByHeader: false, + reactStrictMode: false, + compress: true, + + /** + * add the headers you would like your next server to use + * documentation: https://nextjs.org/docs/api-reference/next.config.js/headers + * https://nextjs.org/docs/advanced-features/security-headers + */ + headers, + + /** + * https://nextjs.org/docs/basic-features/image-optimization + * Settings are the defaults + */ + images: { + deviceSizes: [320, 420, 768, 1024, 1200, 1600], + domains: ['images.ctfassets.net','images.eu.ctfassets.net'], + path: '/_next/image', + loader: 'default', + }, + + webpack(config, options) { + if (!options.isServer || process.env.circularDependencies) { + import('circular-dependency-plugin').then(({ default: CircularDependencyPlugin }) => { + config.plugins.push( + new CircularDependencyPlugin({ + exclude: /a\.js|node_modules/, + failOnError: false, + allowAsyncCycles: true, + cwd: process.cwd(), + }), + ); + }); + } + + config.module.rules.push({ + test: /\.svg$/, + use: ['@svgr/webpack'], + }); + + includePolyfills(config); + + return config; + }, +}); diff --git a/package.json b/package.json new file mode 100644 index 0000000..9bcd9ea --- /dev/null +++ b/package.json @@ -0,0 +1,109 @@ +{ + "name": "template-marketing-webapp-nextjs", + "description": "", + "private": true, + "version": "0.0.1", + "engines": { + "node": ">=18", + "npm": "Please use Yarn" + }, + "scripts": { + "start": "next start", + "dev": "next dev", + "build": "next build", + "export": "next build && next export", + "prepare": "husky install", + "type-check": "tsc --noEmit", + "test": "echo \"Error: no test specified\" && exit 1", + "migrate:init": "ctf-migrate init", + "migrate:content-model": "ctf-migrate up -a", + "lint": "eslint './src/**/*.{js,jsx,ts,tsx}'", + "lint-fix": "yarn lint --fix", + "graphql-codegen:generate": "graphql-codegen -r dotenv/config --config codegen.ts", + "graphql-codegen:watch": "graphql-codegen --watch -r dotenv/config --config codegen.ts", + "setup": "./bin/setup.sh" + }, + "lint-staged": { + "src/**/*.{js,jsx,ts,tsx}": [ + "eslint --quiet --fix" + ], + "src/**/*.{json,js,ts,jsx,tsx}": [ + "prettier --write" + ] + }, + "license": "MIT", + "dependencies": { + "@contentful/rich-text-react-renderer": "^15.12.1", + "@contentful/rich-text-types": "^15.12.1", + "@contentful/live-preview": "^2.11.1", + "@emotion/react": "^11.10.4", + "@emotion/styled": "^11.10.4", + "@mui/icons-material": "^5.10.9", + "@mui/material": "^5.10.9", + "@mui/styles": "^5.10.9", + "@next/bundle-analyzer": "^12.3.0", + "@svgr/webpack": "^6.3.1", + "@tanstack/react-query": "^4.3.9", + "clsx": "^1.2.1", + "dotenv": "^16.0.1", + "graphql": "^16.5.0", + "intersection-observer": "^0.12.2", + "lodash": "^4.17.21", + "next": "12.3.1", + "next-compose-plugins": "^2.2.1", + "next-i18next": "^12.0.1", + "next-pwa": "^5.6.0", + "query-string": "^7.1.1", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-kawaii": "^0.17.0", + "react-transition-group": "^4.4.5", + "rehype-parse": "^8.0.4", + "rehype-react": "^7.1.1", + "remark-breaks": "^3.0.2", + "styled-jsx": "^5.0.2" + }, + "devDependencies": { + "@babel/core": "^7.18.10", + "@babel/eslint-parser": "^7.19.1", + "@graphql-codegen/cli": "^2.12.1", + "@graphql-codegen/introspection": "2.2.1", + "@graphql-codegen/near-operation-file-preset": "^2.4.1", + "@graphql-codegen/typescript": "2.7.3", + "@graphql-codegen/typescript-operations": "2.5.3", + "@graphql-codegen/typescript-react-query": "^4.0.1", + "@tanstack/react-query-devtools": "^4.12.0", + "@types/imagesloaded": "^4.1.2", + "@types/lodash": "^4.14.182", + "@types/react": "^18.0.15", + "@types/react-transition-group": "^4.4.5", + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.32.0", + "babel-jest": "^27.0.2", + "babel-loader": "^8.2.5", + "babel-plugin-import": "^1.13.3", + "circular-dependency-plugin": "^5.2.2", + "contentful-import": "^8.3.2", + "eslint": "8.22.0", + "eslint-config-next": "^12.3.1", + "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-typescript": "^2.4.0", + "eslint-plugin-import": "^2.23.4", + "eslint-plugin-jsx-a11y": "^6.4.1", + "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-react": "^7.22.0", + "eslint-plugin-react-hooks": "^4.2.0", + "husky": "^8.0.0", + "i18next": "^21.9.2", + "lint-staged": "^13.0.3", + "postcss": "^8.4.14", + "prettier": "^2.7.1", + "react-i18next": "^11.18.6", + "typescript": "4.8.4" + }, + "resolutions": { + "**/trim": "^1.0.0", + "**/trim-newlines": "^3.0.1", + "**/glob-parent": "^5.1.2" + } +} diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png new file mode 100644 index 0000000..42e1e45 Binary files /dev/null and b/public/android-chrome-192x192.png differ diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png new file mode 100644 index 0000000..bed3a16 Binary files /dev/null and b/public/android-chrome-512x512.png differ diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000..a01bf88 Binary files /dev/null and b/public/apple-touch-icon.png differ diff --git a/public/browserconfig.xml b/public/browserconfig.xml new file mode 100644 index 0000000..f9c2e67 --- /dev/null +++ b/public/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #2b5797 + + + diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000..b2f9ef3 Binary files /dev/null and b/public/favicon-16x16.png differ diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png new file mode 100644 index 0000000..6b70dd6 Binary files /dev/null and b/public/favicon-32x32.png differ diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..c156f68 Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/locales/en-US/common.json b/public/locales/en-US/common.json new file mode 100644 index 0000000..fa3f006 --- /dev/null +++ b/public/locales/en-US/common.json @@ -0,0 +1,30 @@ +{ + "common": { + "homepage": "Homepage", + "logoImageAltText": "Logo" + }, + "price": { + "free": "Free" + }, + "navigation": { + "mobileMenuButton": "Open menu" + }, + "time": { + "month": "Month" + }, + "socials": { + "findUsOn": "Find us on", + "twitter": "Twitter", + "facebook": "Facebook", + "linkedin": "LinkedIn", + "instagram": "Instagram" + }, + "legal": { + "copyright": "© Copyright {{ year }}" + }, + "error": { + "code": "{{code}} error", + "componentNotFound": "Component not found.", + "somethingWentWrong": "Something went wrong, check your url and try again" + } +} diff --git a/public/mstile-150x150.png b/public/mstile-150x150.png new file mode 100644 index 0000000..0abfa8a Binary files /dev/null and b/public/mstile-150x150.png differ diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..e22f31f --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,3 @@ +# As soon as you are ready to go public, change the `Disallow: /` to `Allow: /` +User-agent: * +Disallow: / diff --git a/public/safari-pinned-tab.svg b/public/safari-pinned-tab.svg new file mode 100644 index 0000000..d437879 --- /dev/null +++ b/public/safari-pinned-tab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/site.webmanifest b/public/site.webmanifest new file mode 100644 index 0000000..fa99de7 --- /dev/null +++ b/public/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/src/components/features/author/author.tsx b/src/components/features/author/author.tsx new file mode 100644 index 0000000..2c33e31 --- /dev/null +++ b/src/components/features/author/author.tsx @@ -0,0 +1,37 @@ +import { Theme } from '@mui/material'; +import { makeStyles } from '@mui/styles'; + +import { Avatar } from '@src/components/features/avatar'; +import { PersonFieldsFragment } from '@src/components/features/ctf-components/ctf-person/__generated/ctf-person.generated'; + +const useStyles = makeStyles((theme: Theme) => ({ + avatar: { + display: 'inline-block', + width: '11.4rem', + }, + name: { + fontSize: '2.5rem', + lineHeight: 1.52, + marginBottom: 0, + marginTop: theme.spacing(3), + }, +})); + +interface AuthorPropsInterface extends PersonFieldsFragment {} + +export const Author = (props: AuthorPropsInterface) => { + const { name, avatar } = props; + + const classes = useStyles(); + + return ( +
+ {avatar && ( +
+ +
+ )} + {name &&

{name}

} +
+ ); +}; diff --git a/src/components/features/author/index.ts b/src/components/features/author/index.ts new file mode 100644 index 0000000..0792a63 --- /dev/null +++ b/src/components/features/author/index.ts @@ -0,0 +1 @@ +export * from './author' diff --git a/src/components/features/avatar/avatar.tsx b/src/components/features/avatar/avatar.tsx new file mode 100644 index 0000000..cc8105d --- /dev/null +++ b/src/components/features/avatar/avatar.tsx @@ -0,0 +1,37 @@ +import { Avatar as MuiAvatar } from '@mui/material'; +import { makeStyles } from '@mui/styles'; +import React, { useMemo } from 'react'; + +import { AssetFieldsFragment } from '@src/lib/__generated/graphql.types'; + +const useStyles = makeStyles(() => ({ + avatarRoot: { + width: `100%`, + height: 0, + padding: `50%`, + position: `relative`, + }, + avatar: { + width: '100%', + height: '100%', + position: `absolute`, + top: 0, + left: 0, + }, +})); + +interface AvatarPropsInterface { + asset: AssetFieldsFragment; + widthPx?: number; +} + +export const Avatar = (props: AvatarPropsInterface) => { + const { asset, widthPx = 250 } = props; + const url = useMemo(() => `${asset.url}?w=${widthPx}`, [asset.url, widthPx]); + const classes = useStyles(); + return ( +
+ +
+ ); +}; diff --git a/src/components/features/avatar/index.ts b/src/components/features/avatar/index.ts new file mode 100644 index 0000000..886c6ec --- /dev/null +++ b/src/components/features/avatar/index.ts @@ -0,0 +1 @@ +export * from './avatar' diff --git a/src/components/features/card-leadership/card-leadership.tsx b/src/components/features/card-leadership/card-leadership.tsx new file mode 100644 index 0000000..752a0ca --- /dev/null +++ b/src/components/features/card-leadership/card-leadership.tsx @@ -0,0 +1,109 @@ +import { useContentfulInspectorMode } from '@contentful/live-preview/react'; +import { Theme, Typography } from '@mui/material'; +import { makeStyles } from '@mui/styles'; +import clsx from 'clsx'; +import React from 'react'; + +import { CtfAsset } from '@src/components/features/ctf-components/ctf-asset/ctf-asset'; +import { PersonFieldsFragment } from '@src/components/features/ctf-components/ctf-person/__generated/ctf-person.generated'; +import { CtfRichtext } from '@src/components/features/ctf-components/ctf-richtext/ctf-richtext'; +import LayoutContext, { defaultLayout } from '@src/layout-context'; + +const useStyles = makeStyles((theme: Theme) => ({ + root: { + alignItems: 'flex-start', + display: 'flex', + flexDirection: 'column', + marginLeft: 'auto', + marginRight: 'auto', + maxWidth: '93.4rem', + [theme.breakpoints.up('md')]: { + flexDirection: 'row', + }, + }, + rootIncreasedSpacing: { + marginTop: theme.spacing(7), + [theme.breakpoints.up('md')]: { + marginTop: theme.spacing(10), + }, + }, + avatar: { + borderRadius: '50%', + flexShrink: 0, + marginBottom: theme.spacing(5), + marginRight: theme.spacing(10), + maxWidth: '9.8rem', + overflow: 'hidden', + [theme.breakpoints.up('md')]: { + marginBottom: 0, + }, + }, + name: { + fontSize: '2.1rem', + fontWeight: 500, + lineHeight: 1.333, + marginBottom: theme.spacing(1), + }, + role: { + fontSize: '1.8rem', + }, + bio: { + color: '#6E6E6E', + marginTop: theme.spacing(5), + '& p': { + fontSize: '1.8rem', + lineHeight: 1.333, + }, + '& .MuiContainer-root:last-child p:last-child': { + marginBottom: 0, + }, + }, +})); + +interface CardLeadershipPropsInterface extends PersonFieldsFragment { + previousComponent: string | null; +} + +export const CardLeadership = (props: CardLeadershipPropsInterface) => { + const { + name, + bio, + avatar, + previousComponent, + sys: { id: entryId }, + } = props; + const nameSplit = name?.split(', '); + + const classes = useStyles(); + const inspectorMode = useContentfulInspectorMode({ entryId }); + + return ( +
+ {avatar && ( +
+ +
+ )} +
+
+ {nameSplit && {nameSplit[0]}} + {nameSplit && nameSplit.length === 2 && ( + {nameSplit[1]} + )} +
+ {bio && ( + +
+ +
+
+ )} +
+
+ ); +}; diff --git a/src/components/features/card-leadership/index.ts b/src/components/features/card-leadership/index.ts new file mode 100644 index 0000000..de9c57c --- /dev/null +++ b/src/components/features/card-leadership/index.ts @@ -0,0 +1 @@ +export * from './card-leadership' diff --git a/src/components/features/card-person/card-person.tsx b/src/components/features/card-person/card-person.tsx new file mode 100644 index 0000000..7ca00ef --- /dev/null +++ b/src/components/features/card-person/card-person.tsx @@ -0,0 +1,55 @@ +import { Theme } from '@mui/material'; +import { makeStyles } from '@mui/styles'; + +import { Avatar } from '@src/components/features/avatar'; +import { PersonFieldsFragment } from '@src/components/features/ctf-components/ctf-person/__generated/ctf-person.generated'; +import { CtfRichtext } from '@src/components/features/ctf-components/ctf-richtext/ctf-richtext'; +import LayoutContext, { defaultLayout } from '@src/layout-context'; + +const useStyles = makeStyles((theme: Theme) => ({ + root: { + display: 'flex', + }, + avatar: { + flexShrink: 0, + marginRight: theme.spacing(13), + width: '10rem', + }, + name: { + fontSize: '1.8rem', + lineHeight: 1.333, + marginBottom: theme.spacing(2), + marginTop: 0, + }, + bio: { + color: '#797979', + '& p': { + fontSize: '1.8rem', + lineHeight: 1.333, + }, + }, +})); + +export const CardPerson = ({ name, bio, avatar }: PersonFieldsFragment) => { + const classes = useStyles(); + + return ( +
+ {avatar && ( +
+ +
+ )} +
+ {name &&

{name}

} + {bio && ( + +
+ +
+
+ )} +
+
+ ); +}; diff --git a/src/components/features/card-person/index.ts b/src/components/features/card-person/index.ts new file mode 100644 index 0000000..5a561ee --- /dev/null +++ b/src/components/features/card-person/index.ts @@ -0,0 +1 @@ +export * from './card-person' diff --git a/src/components/features/ctf-components/ctf-asset/__generated/ctf-asset.generated.ts b/src/components/features/ctf-components/ctf-asset/__generated/ctf-asset.generated.ts new file mode 100644 index 0000000..778db05 --- /dev/null +++ b/src/components/features/ctf-components/ctf-asset/__generated/ctf-asset.generated.ts @@ -0,0 +1,18 @@ +import * as Types from '../../../../../lib/__generated/graphql.types'; + +export type AssetFieldsFragment = { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } }; + +export const AssetFieldsFragmentDoc = ` + fragment AssetFields on Asset { + __typename + sys { + id + } + contentType + title + description + width + height + url +} + `; \ No newline at end of file diff --git a/src/components/features/ctf-components/ctf-asset/ctf-asset.graphql b/src/components/features/ctf-components/ctf-asset/ctf-asset.graphql new file mode 100644 index 0000000..9ebc38d --- /dev/null +++ b/src/components/features/ctf-components/ctf-asset/ctf-asset.graphql @@ -0,0 +1,12 @@ +fragment AssetFields on Asset { + __typename + sys { + id + } + contentType + title + description + width + height + url +} diff --git a/src/components/features/ctf-components/ctf-asset/ctf-asset.tsx b/src/components/features/ctf-components/ctf-asset/ctf-asset.tsx new file mode 100644 index 0000000..1444e15 --- /dev/null +++ b/src/components/features/ctf-components/ctf-asset/ctf-asset.tsx @@ -0,0 +1,46 @@ +import { ImageProps } from 'next/image'; + +import { AssetFieldsFragment } from './__generated/ctf-asset.generated'; + +import { CtfImage } from '@src/components/features/ctf-components/ctf-image/ctf-image'; +import { CtfVideo } from '@src/components/features/ctf-components/ctf-video/ctf-video'; +import { useLayoutContext } from '@src/layout-context'; + +interface CtfAssetPropsInterface + extends AssetFieldsFragment, + Pick { + className?: string; + showDescription?: boolean; + onClick?: () => any; +} + +export const CtfAsset = (props: CtfAssetPropsInterface) => { + const { contentType, url, showDescription = true, title, width, height } = props; + const layout = useLayoutContext(); + + if (!contentType || !url) { + return null; + } + + if (contentType.startsWith('image')) { + return ( + + ); + } + + if (contentType.startsWith('video')) { + return ; + } + + return null; +}; diff --git a/src/components/features/ctf-components/ctf-business-info/__generated/business-info.generated.ts b/src/components/features/ctf-components/ctf-business-info/__generated/business-info.generated.ts new file mode 100644 index 0000000..a1b60d4 --- /dev/null +++ b/src/components/features/ctf-components/ctf-business-info/__generated/business-info.generated.ts @@ -0,0 +1,130 @@ +import * as Types from '../../../../../lib/__generated/graphql.types'; + +import { AssetFieldsFragment } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { ComponentReferenceFields_ComponentCta_Fragment, ComponentReferenceFields_ComponentDuplex_Fragment, ComponentReferenceFields_ComponentHeroBanner_Fragment, ComponentReferenceFields_ComponentInfoBlock_Fragment, ComponentReferenceFields_ComponentProductTable_Fragment, ComponentReferenceFields_ComponentQuote_Fragment, ComponentReferenceFields_ComponentTextBlock_Fragment, ComponentReferenceFields_FooterMenu_Fragment, ComponentReferenceFields_MenuGroup_Fragment, ComponentReferenceFields_NavigationMenu_Fragment, ComponentReferenceFields_Page_Fragment, ComponentReferenceFields_Seo_Fragment, ComponentReferenceFields_TopicBusinessInfo_Fragment, ComponentReferenceFields_TopicPerson_Fragment, ComponentReferenceFields_TopicProduct_Fragment, ComponentReferenceFields_TopicProductFeature_Fragment } from '../../../../../lib/shared-fragments/__generated/ctf-componentMap.generated'; +import { AssetFieldsFragmentDoc } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { ComponentReferenceFieldsFragmentDoc } from '../../../../../lib/shared-fragments/__generated/ctf-componentMap.generated'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import { customFetcher } from '@src/lib/fetchConfig'; +export type BusinessInfoFieldsFragment = { __typename: 'TopicBusinessInfo', name?: string | null, shortDescription?: string | null, sys: { __typename?: 'Sys', id: string }, featuredImage?: ( + { __typename?: 'Asset' } + & AssetFieldsFragment + ) | null, body?: { __typename?: 'TopicBusinessInfoBody', json: any, links: { __typename?: 'TopicBusinessInfoBodyLinks', entries: { __typename?: 'TopicBusinessInfoBodyEntries', block: Array<( + { __typename?: 'ComponentCta' } + & ComponentReferenceFields_ComponentCta_Fragment + ) | ( + { __typename?: 'ComponentDuplex' } + & ComponentReferenceFields_ComponentDuplex_Fragment + ) | ( + { __typename?: 'ComponentHeroBanner' } + & ComponentReferenceFields_ComponentHeroBanner_Fragment + ) | ( + { __typename?: 'ComponentInfoBlock' } + & ComponentReferenceFields_ComponentInfoBlock_Fragment + ) | ( + { __typename?: 'ComponentProductTable' } + & ComponentReferenceFields_ComponentProductTable_Fragment + ) | ( + { __typename?: 'ComponentQuote' } + & ComponentReferenceFields_ComponentQuote_Fragment + ) | ( + { __typename?: 'ComponentTextBlock' } + & ComponentReferenceFields_ComponentTextBlock_Fragment + ) | ( + { __typename?: 'FooterMenu' } + & ComponentReferenceFields_FooterMenu_Fragment + ) | ( + { __typename?: 'MenuGroup' } + & ComponentReferenceFields_MenuGroup_Fragment + ) | ( + { __typename?: 'NavigationMenu' } + & ComponentReferenceFields_NavigationMenu_Fragment + ) | ( + { __typename?: 'Page' } + & ComponentReferenceFields_Page_Fragment + ) | ( + { __typename?: 'Seo' } + & ComponentReferenceFields_Seo_Fragment + ) | ( + { __typename?: 'TopicBusinessInfo' } + & ComponentReferenceFields_TopicBusinessInfo_Fragment + ) | ( + { __typename?: 'TopicPerson' } + & ComponentReferenceFields_TopicPerson_Fragment + ) | ( + { __typename?: 'TopicProduct' } + & ComponentReferenceFields_TopicProduct_Fragment + ) | ( + { __typename?: 'TopicProductFeature' } + & ComponentReferenceFields_TopicProductFeature_Fragment + ) | null> }, assets: { __typename?: 'TopicBusinessInfoBodyAssets', block: Array<( + { __typename?: 'Asset' } + & AssetFieldsFragment + ) | null> } } } | null }; + +export type CtfBusinessInfoQueryVariables = Types.Exact<{ + id: Types.Scalars['String']; + locale?: Types.InputMaybe; + preview?: Types.InputMaybe; +}>; + + +export type CtfBusinessInfoQuery = { __typename?: 'Query', topicBusinessInfo?: ( + { __typename?: 'TopicBusinessInfo' } + & BusinessInfoFieldsFragment + ) | null }; + +export const BusinessInfoFieldsFragmentDoc = ` + fragment BusinessInfoFields on TopicBusinessInfo { + __typename + sys { + id + } + name + shortDescription + featuredImage { + ...AssetFields + } + body { + json + links { + entries { + block { + ...ComponentReferenceFields + } + } + assets { + block { + ...AssetFields + } + } + } + } +} + `; +export const CtfBusinessInfoDocument = ` + query CtfBusinessInfo($id: String!, $locale: String, $preview: Boolean) { + topicBusinessInfo(id: $id, preview: $preview, locale: $locale) { + ...BusinessInfoFields + } +} + ${BusinessInfoFieldsFragmentDoc} +${AssetFieldsFragmentDoc} +${ComponentReferenceFieldsFragmentDoc}`; +export const useCtfBusinessInfoQuery = < + TData = CtfBusinessInfoQuery, + TError = unknown + >( + variables: CtfBusinessInfoQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + ['CtfBusinessInfo', variables], + customFetcher(CtfBusinessInfoDocument, variables), + options + ); + +useCtfBusinessInfoQuery.getKey = (variables: CtfBusinessInfoQueryVariables) => ['CtfBusinessInfo', variables]; +; + +useCtfBusinessInfoQuery.fetcher = (variables: CtfBusinessInfoQueryVariables, options?: RequestInit['headers']) => customFetcher(CtfBusinessInfoDocument, variables, options); \ No newline at end of file diff --git a/src/components/features/ctf-components/ctf-business-info/business-info.graphql b/src/components/features/ctf-components/ctf-business-info/business-info.graphql new file mode 100644 index 0000000..ede01ab --- /dev/null +++ b/src/components/features/ctf-components/ctf-business-info/business-info.graphql @@ -0,0 +1,32 @@ +fragment BusinessInfoFields on TopicBusinessInfo { + __typename + sys { + id + } + name + shortDescription + featuredImage { + ...AssetFields + } + body { + json + links { + entries { + block { + ...ComponentReferenceFields + } + } + assets { + block { + ...AssetFields + } + } + } + } +} + +query CtfBusinessInfo($id: String!, $locale: String, $preview: Boolean) { + topicBusinessInfo(id: $id, preview: $preview, locale: $locale) { + ...BusinessInfoFields + } +} diff --git a/src/components/features/ctf-components/ctf-business-info/ctf-business-info-gql.tsx b/src/components/features/ctf-components/ctf-business-info/ctf-business-info-gql.tsx new file mode 100644 index 0000000..67222f3 --- /dev/null +++ b/src/components/features/ctf-components/ctf-business-info/ctf-business-info-gql.tsx @@ -0,0 +1,53 @@ +import { useContentfulLiveUpdates } from '@contentful/live-preview/react'; +import { Container } from '@mui/material'; +import Head from 'next/head'; + +import { useCtfBusinessInfoQuery } from './__generated/business-info.generated'; +import CtfBusinessInfo from './ctf-business-info'; + +import { EntryNotFound } from '@src/components/features/errors/entry-not-found'; +import { useContentfulContext } from '@src/contentful-context'; + +interface CtfBusinessInfoGqlPropsInterface { + id: string; + preview?: boolean; +} + +export const CtfBusinessInfoGql = ({ preview, id }: CtfBusinessInfoGqlPropsInterface) => { + const { locale } = useContentfulContext(); + + const { data, isLoading } = useCtfBusinessInfoQuery({ + locale, + id, + preview, + }); + + const topicBusinessInfo = useContentfulLiveUpdates(data?.topicBusinessInfo); + + if (!data || isLoading) { + return null; + } + + if (!topicBusinessInfo) { + return ( + + + + ); + } + + return ( + <> + {topicBusinessInfo.featuredImage && ( + + + + )} + + + ); +}; diff --git a/src/components/features/ctf-components/ctf-business-info/ctf-business-info.tsx b/src/components/features/ctf-components/ctf-business-info/ctf-business-info.tsx new file mode 100644 index 0000000..81ac7d5 --- /dev/null +++ b/src/components/features/ctf-components/ctf-business-info/ctf-business-info.tsx @@ -0,0 +1,155 @@ +import { useContentfulInspectorMode } from '@contentful/live-preview/react'; +import { Theme, Container } from '@mui/material'; +import Typography from '@mui/material/Typography'; +import { makeStyles } from '@mui/styles'; +import clsx from 'clsx'; +import React, { useMemo } from 'react'; + +import { BusinessInfoFieldsFragment } from './__generated/business-info.generated'; + +import { CtfRichtext } from '@src/components/features/ctf-components/ctf-richtext/ctf-richtext'; + +const useStyles = makeStyles((theme: Theme) => ({ + root: { + paddingBottom: theme.spacing(18), + paddingTop: (props: BusinessInfoFieldsFragment) => + props.name || props.shortDescription ? 0 : theme.spacing(18), + '& .MuiContainer-root + .ComponentInfoBlock': { + marginTop: theme.spacing(18), + }, + '& .ComponentInfoBlock + .MuiContainer-root': { + marginTop: theme.spacing(18), + }, + }, + container: { + marginRight: 'auto', + marginLeft: 'auto', + maxWidth: '126.2rem', + }, + containerNarrow: { + marginRight: 'auto', + marginLeft: 'auto', + maxWidth: '77rem', + }, + hero: { + marginBottom: theme.spacing(18), + position: 'relative', + }, + heroBg: { + backgroundColor: '#000', + backgroundPosition: 'center center', + backgroundSize: 'cover', + bottom: 0, + left: 0, + position: 'absolute', + right: 0, + top: 0, + '&::before': { + backgroundColor: 'rgba(0, 0, 0, 0.5)', + bottom: 0, + content: '""', + display: 'block', + left: 0, + position: 'absolute', + right: 0, + top: 0, + zIndex: 1, + }, + }, + heroInner: { + alignItems: 'center', + color: '#fff', + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + maxWidth: '55rem', + paddingBottom: theme.spacing(8), + paddingTop: theme.spacing(8), + position: 'relative', + textAlign: 'center', + zIndex: 1, + [theme.breakpoints.up('md')]: { + paddingBottom: theme.spacing(16), + paddingTop: theme.spacing(16), + }, + '@media (min-height: 600px)': { + minHeight: '59rem', + }, + }, + title: { + [theme.breakpoints.up('md')]: { + fontSize: '4.5rem', + }, + }, + subtitle: { + fontSize: '2.5rem', + marginTop: theme.spacing(3), + }, +})); + +const CtfBusinessInfo = (props: BusinessInfoFieldsFragment) => { + const { + body, + name, + shortDescription, + featuredImage, + sys: { id }, + } = props; + const backgroundImage = useMemo( + () => (featuredImage ? `${featuredImage.url}?w=1920` : undefined), + [featuredImage], + ); + + const classes = useStyles(props); + const inspectorMode = useContentfulInspectorMode({ entryId: id }); + + return ( +
+ {(name || shortDescription) && ( +
+
+ +
+ {name && ( + + {name} + + )} + {shortDescription && ( + + {shortDescription} + + )} +
+
+
+ )} + {body && ( +
+ +
+ )} +
+ ); +}; + +export default CtfBusinessInfo; diff --git a/src/components/features/ctf-components/ctf-cta/__generated/ctf-cta.generated.ts b/src/components/features/ctf-components/ctf-cta/__generated/ctf-cta.generated.ts new file mode 100644 index 0000000..c40f5fe --- /dev/null +++ b/src/components/features/ctf-components/ctf-cta/__generated/ctf-cta.generated.ts @@ -0,0 +1,66 @@ +import * as Types from '../../../../../lib/__generated/graphql.types'; + +import { PageLinkFieldsFragment } from '../../../page-link/__generated/page-link.generated'; +import { PageLinkFieldsFragmentDoc } from '../../../page-link/__generated/page-link.generated'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import { customFetcher } from '@src/lib/fetchConfig'; +export type CtaFieldsFragment = { __typename: 'ComponentCta', headline?: string | null, ctaText?: string | null, urlParameters?: string | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, subline?: { __typename?: 'ComponentCtaSubline', json: any } | null, targetPage?: ( + { __typename?: 'Page' } + & PageLinkFieldsFragment + ) | null }; + +export type CtfCtaQueryVariables = Types.Exact<{ + id: Types.Scalars['String']; + locale?: Types.InputMaybe; + preview?: Types.InputMaybe; +}>; + + +export type CtfCtaQuery = { __typename?: 'Query', componentCta?: ( + { __typename?: 'ComponentCta' } + & CtaFieldsFragment + ) | null }; + +export const CtaFieldsFragmentDoc = ` + fragment CtaFields on ComponentCta { + __typename + sys { + id + } + headline + subline { + json + } + ctaText + targetPage { + ...PageLinkFields + } + urlParameters + colorPalette +} + `; +export const CtfCtaDocument = ` + query CtfCta($id: String!, $locale: String, $preview: Boolean) { + componentCta(id: $id, locale: $locale, preview: $preview) { + ...CtaFields + } +} + ${CtaFieldsFragmentDoc} +${PageLinkFieldsFragmentDoc}`; +export const useCtfCtaQuery = < + TData = CtfCtaQuery, + TError = unknown + >( + variables: CtfCtaQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + ['CtfCta', variables], + customFetcher(CtfCtaDocument, variables), + options + ); + +useCtfCtaQuery.getKey = (variables: CtfCtaQueryVariables) => ['CtfCta', variables]; +; + +useCtfCtaQuery.fetcher = (variables: CtfCtaQueryVariables, options?: RequestInit['headers']) => customFetcher(CtfCtaDocument, variables, options); \ No newline at end of file diff --git a/src/components/features/ctf-components/ctf-cta/ctf-cta-gql.tsx b/src/components/features/ctf-components/ctf-cta/ctf-cta-gql.tsx new file mode 100644 index 0000000..fd91beb --- /dev/null +++ b/src/components/features/ctf-components/ctf-cta/ctf-cta-gql.tsx @@ -0,0 +1,27 @@ +import { useContentfulLiveUpdates } from '@contentful/live-preview/react'; +import React from 'react'; + +import { useCtfCtaQuery } from './__generated/ctf-cta.generated'; +import { CtfCta } from './ctf-cta'; + +interface CtfCtaGqlPropsInterface { + id: string; + locale: string; + preview: boolean; +} + +export const CtfCtaGql = ({ id, locale, preview }: CtfCtaGqlPropsInterface) => { + const { data, isLoading } = useCtfCtaQuery({ + id, + locale, + preview, + }); + + const componentCta = useContentfulLiveUpdates(data?.componentCta); + + if (isLoading || !componentCta) { + return null; + } + + return ; +}; diff --git a/src/components/features/ctf-components/ctf-cta/ctf-cta.graphql b/src/components/features/ctf-components/ctf-cta/ctf-cta.graphql new file mode 100644 index 0000000..db671d3 --- /dev/null +++ b/src/components/features/ctf-components/ctf-cta/ctf-cta.graphql @@ -0,0 +1,22 @@ +fragment CtaFields on ComponentCta { + __typename + sys { + id + } + headline + subline { + json + } + ctaText + targetPage { + ...PageLinkFields + } + urlParameters + colorPalette +} + +query CtfCta($id: String!, $locale: String, $preview: Boolean) { + componentCta(id: $id, locale: $locale, preview: $preview) { + ...CtaFields + } +} diff --git a/src/components/features/ctf-components/ctf-cta/ctf-cta.tsx b/src/components/features/ctf-components/ctf-cta/ctf-cta.tsx new file mode 100644 index 0000000..6d12577 --- /dev/null +++ b/src/components/features/ctf-components/ctf-cta/ctf-cta.tsx @@ -0,0 +1,79 @@ +import { Container, Theme, Typography } from '@mui/material'; +import { makeStyles } from '@mui/styles'; + +import { CtaFieldsFragment } from './__generated/ctf-cta.generated'; + +import { CtfRichtext } from '@src/components/features/ctf-components/ctf-richtext/ctf-richtext'; +import { PageLink } from '@src/components/features/page-link'; +import LayoutContext, { defaultLayout } from '@src/layout-context'; +import { getColorConfigFromPalette } from '@src/theme'; +import { optimizeLineBreak } from '@src/utils'; + +const useStyles = makeStyles((theme: Theme) => ({ + root: { + textAlign: 'center', + }, + innerContainer: { + marginLeft: 'auto', + marginRight: 'auto', + maxWidth: '93.4rem', + padding: theme.spacing(19, 0, 19), + }, + headline: { + fontWeight: 'bold', + }, + subline: { + fontWeight: 400, + lineHeight: 1.52, + marginTop: theme.spacing(8), + }, + ctaContainer: { + marginTop: theme.spacing(8), + }, +})); + +export const CtfCta = (props: CtaFieldsFragment) => { + const { headline, subline, targetPage, ctaText, colorPalette, urlParameters } = props; + const colorConfig = getColorConfigFromPalette(colorPalette || ''); + const classes = useStyles(); + + return ( + +
+ {headline && ( + + {optimizeLineBreak(headline)} + + )} + {subline && ( + +
+ +
+
+ )} + {targetPage && targetPage.slug && ( +
+ + {ctaText} + +
+ )} +
+
+ ); +}; diff --git a/src/components/features/ctf-components/ctf-duplex/__generated/ctf-duplex.generated.ts b/src/components/features/ctf-components/ctf-duplex/__generated/ctf-duplex.generated.ts new file mode 100644 index 0000000..f9ac673 --- /dev/null +++ b/src/components/features/ctf-components/ctf-duplex/__generated/ctf-duplex.generated.ts @@ -0,0 +1,76 @@ +import * as Types from '../../../../../lib/__generated/graphql.types'; + +import { PageLinkFieldsFragment } from '../../../page-link/__generated/page-link.generated'; +import { AssetFieldsFragment } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { PageLinkFieldsFragmentDoc } from '../../../page-link/__generated/page-link.generated'; +import { AssetFieldsFragmentDoc } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import { customFetcher } from '@src/lib/fetchConfig'; +export type DuplexFieldsFragment = { __typename: 'ComponentDuplex', containerLayout?: boolean | null, headline?: string | null, ctaText?: string | null, imageStyle?: boolean | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, bodyText?: { __typename?: 'ComponentDuplexBodyText', json: any } | null, targetPage?: ( + { __typename?: 'Page' } + & PageLinkFieldsFragment + ) | null, image?: ( + { __typename?: 'Asset' } + & AssetFieldsFragment + ) | null }; + +export type CtfDuplexQueryVariables = Types.Exact<{ + id: Types.Scalars['String']; + locale?: Types.InputMaybe; + preview?: Types.InputMaybe; +}>; + + +export type CtfDuplexQuery = { __typename?: 'Query', componentDuplex?: ( + { __typename?: 'ComponentDuplex' } + & DuplexFieldsFragment + ) | null }; + +export const DuplexFieldsFragmentDoc = ` + fragment DuplexFields on ComponentDuplex { + __typename + sys { + id + } + containerLayout + headline + bodyText { + json + } + ctaText + targetPage { + ...PageLinkFields + } + image { + ...AssetFields + } + imageStyle + colorPalette +} + `; +export const CtfDuplexDocument = ` + query CtfDuplex($id: String!, $locale: String, $preview: Boolean) { + componentDuplex(id: $id, locale: $locale, preview: $preview) { + ...DuplexFields + } +} + ${DuplexFieldsFragmentDoc} +${PageLinkFieldsFragmentDoc} +${AssetFieldsFragmentDoc}`; +export const useCtfDuplexQuery = < + TData = CtfDuplexQuery, + TError = unknown + >( + variables: CtfDuplexQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + ['CtfDuplex', variables], + customFetcher(CtfDuplexDocument, variables), + options + ); + +useCtfDuplexQuery.getKey = (variables: CtfDuplexQueryVariables) => ['CtfDuplex', variables]; +; + +useCtfDuplexQuery.fetcher = (variables: CtfDuplexQueryVariables, options?: RequestInit['headers']) => customFetcher(CtfDuplexDocument, variables, options); \ No newline at end of file diff --git a/src/components/features/ctf-components/ctf-duplex/ctf-duplex-gql.tsx b/src/components/features/ctf-components/ctf-duplex/ctf-duplex-gql.tsx new file mode 100644 index 0000000..7c1015a --- /dev/null +++ b/src/components/features/ctf-components/ctf-duplex/ctf-duplex-gql.tsx @@ -0,0 +1,27 @@ +import { useContentfulLiveUpdates } from '@contentful/live-preview/react'; +import React from 'react'; + +import { useCtfDuplexQuery } from './__generated/ctf-duplex.generated'; +import { CtfDuplex } from './ctf-duplex'; + +interface CtfDuplexGqlPropsInterface { + id: string; + locale: string; + preview: boolean; +} + +export const CtfDuplexGql = ({ id, locale, preview }: CtfDuplexGqlPropsInterface) => { + const { data, isLoading } = useCtfDuplexQuery({ + id, + locale, + preview, + }); + + const componentDuplex = useContentfulLiveUpdates(data?.componentDuplex); + + if (isLoading || !componentDuplex) { + return null; + } + + return ; +}; diff --git a/src/components/features/ctf-components/ctf-duplex/ctf-duplex.graphql b/src/components/features/ctf-components/ctf-duplex/ctf-duplex.graphql new file mode 100644 index 0000000..c641237 --- /dev/null +++ b/src/components/features/ctf-components/ctf-duplex/ctf-duplex.graphql @@ -0,0 +1,26 @@ +fragment DuplexFields on ComponentDuplex { + __typename + sys { + id + } + containerLayout + headline + bodyText { + json + } + ctaText + targetPage { + ...PageLinkFields + } + image { + ...AssetFields + } + imageStyle + colorPalette +} + +query CtfDuplex($id: String!, $locale: String, $preview: Boolean) { + componentDuplex(id: $id, locale: $locale, preview: $preview) { + ...DuplexFields + } +} diff --git a/src/components/features/ctf-components/ctf-duplex/ctf-duplex.tsx b/src/components/features/ctf-components/ctf-duplex/ctf-duplex.tsx new file mode 100644 index 0000000..386f136 --- /dev/null +++ b/src/components/features/ctf-components/ctf-duplex/ctf-duplex.tsx @@ -0,0 +1,198 @@ +import { useContentfulInspectorMode } from '@contentful/live-preview/react'; +import { Container, Typography } from '@mui/material'; +import { Theme } from '@mui/material/styles'; +import { makeStyles } from '@mui/styles'; +import clsx from 'clsx'; + +import { DuplexFieldsFragment } from './__generated/ctf-duplex.generated'; + +import { CtfImage } from '@src/components/features/ctf-components/ctf-image/ctf-image'; +import { CtfRichtext } from '@src/components/features/ctf-components/ctf-richtext/ctf-richtext'; +import { PageLink } from '@src/components/features/page-link'; +import LayoutContext, { defaultLayout } from '@src/layout-context'; +import { getColorConfigFromPalette } from '@src/theme'; +import { optimizeLineBreak } from '@src/utils'; + +const useStyles = makeStyles((theme: Theme) => ({ + innerContainer: { + display: 'grid', + marginLeft: 'auto', + marginRight: 'auto', + maxWidth: '126rem', + padding: theme.spacing(8, 0, 8), + gap: theme.spacing(7), + + [theme.breakpoints.up('md')]: { + gridTemplateColumns: 'repeat(2, minmax(0, 1fr))', + gap: theme.spacing(14), + padding: theme.spacing(19, 0, 19), + }, + }, + contentContainer: { + margin: 'auto 0', + order: 1, + [theme.breakpoints.up('md')]: { + order: 'initial', + }, + }, + headline: { + fontSize: '3rem', + lineHeight: 1.3, + fontWeight: 700, + maxWidth: '60.4rem', + [theme.breakpoints.up('xl')]: { + fontSize: '3.5rem', + }, + }, + richText: { + fontWeight: 400, + lineHeight: 1.56, + marginTop: theme.spacing(7), + '& .MuiTypography-body1': { + fontSize: '2.5rem', + [theme.breakpoints.up('xl')]: { + fontSize: '1.8rem', + }, + }, + }, + ctaContainer: { + marginTop: theme.spacing(8), + '& svg.MuiSvgIcon-root': { + fontSize: 'inherit', + }, + }, + imageContainer: { + display: 'flex', + alignItems: 'center', + order: 0, + boxShadow: `0px 0px 0px 1px rgba(25, 37, 50, 0.1), + 0px -6px 16px -6px rgba(25, 37, 50, 0.03), + 0px 8px 16px -8px rgba(25, 37, 50, 0.2), + 0px 13px 27px -5px rgba(25, 37, 50, 0.15)`, + borderRadius: '16px', + [theme.breakpoints.up('md')]: { + order: 'initial', + }, + }, + image: { + display: 'block', + margin: 'auto 0', + maxWidth: '100%', + borderRadius: '16px', + }, + imageFull: { + width: '100%', + height: '100%', + objectFit: 'cover', + objectPosition: 'center center', + }, + nextImageContainer: { + width: '100%', + height: 'auto', + }, +})); + +const DuplexContent = (props: DuplexFieldsFragment) => { + const { headline, bodyText, targetPage, ctaText, colorPalette } = props; + + const colorConfig = getColorConfigFromPalette(colorPalette || ''); + const classes = useStyles(); + const inspectorMode = useContentfulInspectorMode({ entryId: props.sys.id }); + + return ( +
+ {headline && ( + + {optimizeLineBreak(headline)} + + )} + {bodyText && ( + +
+ +
+
+ )} + {targetPage && targetPage.slug && ( +
+ + {ctaText} + +
+ )} +
+ ); +}; + +const DuplexImage = (props: DuplexFieldsFragment) => { + const { image, imageStyle: imageStyleBoolean } = props; + const imageStyle = imageStyleBoolean ? 'fixed' : 'full'; + + const classes = useStyles(); + const inspectorMode = useContentfulInspectorMode({ entryId: props.sys.id }); + + return ( +
+ {image?.url ? ( +
+ +
+ ) : null} +
+ ); +}; + +export const CtfDuplex = (props: DuplexFieldsFragment) => { + const { colorPalette, containerLayout: containerLayoutBoolean } = props; + + const colorConfig = getColorConfigFromPalette(colorPalette || ''); + const classes = useStyles(); + + return ( + +
+ {containerLayoutBoolean ? ( + <> + + + + ) : ( + <> + + + + )} +
+
+ ); +}; diff --git a/src/components/features/ctf-components/ctf-footer/__generated/ctf-footer.generated.ts b/src/components/features/ctf-components/ctf-footer/__generated/ctf-footer.generated.ts new file mode 100644 index 0000000..fb26954 --- /dev/null +++ b/src/components/features/ctf-components/ctf-footer/__generated/ctf-footer.generated.ts @@ -0,0 +1,84 @@ +import * as Types from '../../../../../lib/__generated/graphql.types'; + +import { MenuGroupFieldsFragment } from '../../../../../lib/shared-fragments/__generated/ctf-menuGroup.generated'; +import { PageLinkFieldsFragment } from '../../../page-link/__generated/page-link.generated'; +import { MenuGroupFieldsFragmentDoc } from '../../../../../lib/shared-fragments/__generated/ctf-menuGroup.generated'; +import { PageLinkFieldsFragmentDoc } from '../../../page-link/__generated/page-link.generated'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import { customFetcher } from '@src/lib/fetchConfig'; +export type FooterFieldsFragment = { __typename?: 'FooterMenuCollection', items: Array<{ __typename: 'FooterMenu', twitterLink?: string | null, facebookLink?: string | null, linkedinLink?: string | null, instagramLink?: string | null, sys: { __typename?: 'Sys', id: string }, menuItemsCollection?: { __typename?: 'FooterMenuMenuItemsCollection', items: Array<{ __typename: 'MenuGroup', groupName?: string | null, sys: { __typename?: 'Sys', id: string }, featuredPagesCollection?: ( + { __typename?: 'MenuGroupFeaturedPagesCollection' } + & MenuGroupFieldsFragment + ) | null } | null> } | null, legalLinks?: { __typename?: 'MenuGroup', featuredPagesCollection?: ( + { __typename?: 'MenuGroupFeaturedPagesCollection' } + & MenuGroupFieldsFragment + ) | null } | null } | null> }; + +export type CtfFooterQueryVariables = Types.Exact<{ + locale?: Types.InputMaybe; + preview?: Types.InputMaybe; +}>; + + +export type CtfFooterQuery = { __typename?: 'Query', footerMenuCollection?: ( + { __typename?: 'FooterMenuCollection' } + & FooterFieldsFragment + ) | null }; + +export const FooterFieldsFragmentDoc = ` + fragment FooterFields on FooterMenuCollection { + items { + __typename + sys { + id + } + menuItemsCollection { + items { + __typename + groupName + sys { + id + } + featuredPagesCollection { + ...MenuGroupFields + } + } + } + legalLinks { + featuredPagesCollection { + ...MenuGroupFields + } + } + twitterLink + facebookLink + linkedinLink + instagramLink + } +} + `; +export const CtfFooterDocument = ` + query CtfFooter($locale: String, $preview: Boolean) { + footerMenuCollection(locale: $locale, preview: $preview, limit: 1) { + ...FooterFields + } +} + ${FooterFieldsFragmentDoc} +${MenuGroupFieldsFragmentDoc} +${PageLinkFieldsFragmentDoc}`; +export const useCtfFooterQuery = < + TData = CtfFooterQuery, + TError = unknown + >( + variables?: CtfFooterQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + variables === undefined ? ['CtfFooter'] : ['CtfFooter', variables], + customFetcher(CtfFooterDocument, variables), + options + ); + +useCtfFooterQuery.getKey = (variables?: CtfFooterQueryVariables) => variables === undefined ? ['CtfFooter'] : ['CtfFooter', variables]; +; + +useCtfFooterQuery.fetcher = (variables?: CtfFooterQueryVariables, options?: RequestInit['headers']) => customFetcher(CtfFooterDocument, variables, options); \ No newline at end of file diff --git a/src/components/features/ctf-components/ctf-footer/ctf-footer-gql.tsx b/src/components/features/ctf-components/ctf-footer/ctf-footer-gql.tsx new file mode 100644 index 0000000..482ad44 --- /dev/null +++ b/src/components/features/ctf-components/ctf-footer/ctf-footer-gql.tsx @@ -0,0 +1,22 @@ +import { useContentfulLiveUpdates } from '@contentful/live-preview/react'; +import React from 'react'; + +import { useCtfFooterQuery } from './__generated/ctf-footer.generated'; +import { CtfFooter } from './ctf-footer'; + +import { useContentfulContext } from '@src/contentful-context'; + +export const CtfFooterGql = () => { + const { locale, previewActive } = useContentfulContext(); + + const { data, isLoading } = useCtfFooterQuery({ + locale, + preview: previewActive, + }); + + const footerMenuCollection = useContentfulLiveUpdates(data?.footerMenuCollection); + + if (!footerMenuCollection || isLoading) return null; + + return ; +}; diff --git a/src/components/features/ctf-components/ctf-footer/ctf-footer.graphql b/src/components/features/ctf-components/ctf-footer/ctf-footer.graphql new file mode 100644 index 0000000..ae3fd4a --- /dev/null +++ b/src/components/features/ctf-components/ctf-footer/ctf-footer.graphql @@ -0,0 +1,35 @@ +fragment FooterFields on FooterMenuCollection { + items { + __typename + sys { + id + } + menuItemsCollection { + items { + __typename + groupName + sys { + id + } + featuredPagesCollection { + ...MenuGroupFields + } + } + } + legalLinks { + featuredPagesCollection { + ...MenuGroupFields + } + } + twitterLink + facebookLink + linkedinLink + instagramLink + } +} + +query CtfFooter($locale: String, $preview: Boolean) { + footerMenuCollection(locale: $locale, preview: $preview, limit: 1) { + ...FooterFields + } +} diff --git a/src/components/features/ctf-components/ctf-footer/ctf-footer.tsx b/src/components/features/ctf-components/ctf-footer/ctf-footer.tsx new file mode 100644 index 0000000..92a67ca --- /dev/null +++ b/src/components/features/ctf-components/ctf-footer/ctf-footer.tsx @@ -0,0 +1,369 @@ +import { useContentfulInspectorMode } from '@contentful/live-preview/react'; +import Facebook from '@mui/icons-material/Facebook'; +import Instagram from '@mui/icons-material/Instagram'; +import LinkedIn from '@mui/icons-material/LinkedIn'; +import Twitter from '@mui/icons-material/Twitter'; +import { Theme, Container, Typography } from '@mui/material'; +import { makeStyles } from '@mui/styles'; +import { useTranslation } from 'next-i18next'; + +import { FooterFieldsFragment } from './__generated/ctf-footer.generated'; + +import { + getLinkDisplayText, + getLinkHrefPrefix, +} from '@src/components/features/ctf-components/ctf-navigation/utils'; +import { Link } from '@src/components/shared/link'; +import { useContentfulContext } from '@src/contentful-context'; +import Logo from '@src/icons/logo-tagline.svg'; +import { CONTAINER_WIDTH } from '@src/theme'; + +const useStyles = makeStyles((theme: Theme) => ({ + footerContainer: { + backgroundColor: '#F4F4F4', + }, + footer: { + display: 'flex', + marginLeft: 'auto', + marginRight: 'auto', + flexWrap: 'wrap', + maxWidth: `${CONTAINER_WIDTH / 10}rem`, + paddingBottom: theme.spacing(5), + paddingTop: theme.spacing(8), + [theme.breakpoints.up('sm')]: { + paddingBottom: theme.spacing(10), + paddingTop: theme.spacing(20), + }, + }, + menuWrapper: { + alignItems: 'flex-start', + display: 'flex', + flexWrap: 'wrap', + marginLeft: theme.spacing(-8), + }, + menuColumn: { + paddingLeft: theme.spacing(8), + }, + menu: { + listStyle: 'none', + margin: theme.spacing(0, 0, 8), + padding: 0, + width: '17.2rem', + [theme.breakpoints.up('md')]: { + marginBottom: 0, + }, + }, + menuItem: { + fontSize: '1.8rem', + fontWeight: 400, + lineHeight: 1.2, + color: '#1B273A', + margin: theme.spacing(0, 0, 4), + [theme.breakpoints.up('sm')]: { + marginBottom: theme.spacing(8), + }, + }, + submenu: { + listStyle: 'none', + margin: 0, + padding: 0, + '& $menuItem': { + fontWeight: 400, + }, + }, + submenuItem: { + '& a': { + borderBottom: '1px solid transparent', + color: '#414D63', + display: 'inline-block', + minWidth: 0, + transition: 'border-bottom-color 0.2s ease-in-out', + }, + + '&:hover, &:focus, &:focus-within': { + '& > a': { + borderBottomColor: '#7C7C7C', + }, + }, + }, + footerEndSection: { + marginLeft: 'auto', + }, + footerCorporateContainer: { + backgroundColor: '#212121', + color: '#fff', + paddingBottom: theme.spacing(14), + paddingTop: theme.spacing(8), + }, + footerCorporate: { + marginLeft: 'auto', + marginRight: 'auto', + maxWidth: `${CONTAINER_WIDTH / 10}rem`, + }, + storeLogos: { + marginTop: theme.spacing(7), + }, + storeLogo: { + display: 'block', + maxWidth: '11.5rem', + '& + &': { + marginTop: theme.spacing(5), + }, + '& img': { + display: 'block', + maxWidth: '100%', + }, + }, + corporateLogoMenu: { + [theme.breakpoints.up('md')]: { + display: 'flex', + flexWrap: 'wrap', + }, + }, + corporateLogoContainer: { + flexShrink: 0, + marginBottom: theme.spacing(3), + marginTop: '0.2rem', + [theme.breakpoints.up('md')]: { + flexShrink: 0, + width: '38.4rem', + }, + }, + corporateLogo: { + display: 'block', + height: 'auto', + maxWidth: '100%', + }, + copyrightAndLegal: { + [theme.breakpoints.up('md')]: { + alignItems: 'flex-start', + display: 'flex', + }, + }, + copyright: { + fontSize: '1.8rem', + lineHeight: 1.2, + margin: theme.spacing(1, 10, 0, 0), + }, + legalMenuWrapper: {}, + legalMenu: { + listStyle: 'none', + margin: theme.spacing(5, 0, 0), + padding: 0, + [theme.breakpoints.up('md')]: { + alignItems: 'flex-start', + display: 'flex', + flexWrap: 'wrap', + marginTop: 0, + }, + }, + legalMenuItem: { + fontSize: '2rem', + marginTop: theme.spacing(2), + width: '100%', + [theme.breakpoints.up('md')]: { + marginTop: 0, + width: 'auto', + }, + '&:not(:last-child)': { + [theme.breakpoints.up('md')]: { + marginRight: theme.spacing(8), + }, + }, + '& a': { + borderBottom: '1px solid transparent', + color: '#fff', + display: 'inline-block', + transition: 'border-bottom-color 0.2s ease-in-out', + }, + + '&:hover, &:focus, &:focus-within': { + '& > a': { + borderBottomColor: '#000', + }, + }, + }, + socialDisclaimer: { + [theme.breakpoints.up('md')]: { + display: 'flex', + marginTop: theme.spacing(7), + }, + }, + socialWrapper: { + [theme.breakpoints.up('md')]: { + flexShrink: 0, + order: -1, + marginRight: theme.spacing(8), + width: '38.4rem', + }, + }, + socialTitle: { + fontSize: '1.8rem', + fontWeight: 400, + lineHeight: 1.2, + }, + social: { + display: 'flex', + flexWrap: 'wrap', + marginTop: theme.spacing(6), + '& a': { + color: 'inherit', + display: 'inline-block', + lineHeight: 1.2, + + '&:not(:first-child)': { + marginLeft: theme.spacing(6), + }, + }, + '& .MuiSvgIcon-root': { + fontSize: '3.2rem', + }, + }, +})); + +export const CtfFooter = (props: FooterFieldsFragment) => { + const footerContent = props.items[0]; + + const { t } = useTranslation(); + const { locale } = useContentfulContext(); + const inspectorMode = useContentfulInspectorMode(); + + const renderMenuGroupLinks = (menuGroup, listClassName) => { + return menuGroup?.items?.map(menuItem => { + const href = getLinkHrefPrefix(menuItem); + const linkText = getLinkDisplayText(menuItem); + return ( +
  • + + {linkText} + +
  • + ); + }); + }; + + const classes = useStyles(); + const containerProps = footerContent?.sys?.id + ? inspectorMode({ + entryId: footerContent.sys.id, + fieldId: 'menuItems', + locale, + }) + : undefined; + + return ( + <> + +
    + {footerContent?.menuItemsCollection?.items?.length && ( + + )} +
    +
    + +
    +
    +
    + +
    + +
    +

    + {t('legal.copyright', { year: new Date().getFullYear() })} +

    + {footerContent?.legalLinks?.featuredPagesCollection?.items?.length && ( + + )} +
    +
    + +
    +
    + {t('socials.findUsOn')} +
    + {footerContent?.twitterLink && ( + + + + )} + {footerContent?.facebookLink && ( + + + + )} + {footerContent?.linkedinLink && ( + + + + )} + {footerContent?.instagramLink && ( + + + + )} +
    +
    +
    +
    +
    + + ); +}; diff --git a/src/components/features/ctf-components/ctf-hero-banner/__generated/ctf-hero-banner.generated.ts b/src/components/features/ctf-components/ctf-hero-banner/__generated/ctf-hero-banner.generated.ts new file mode 100644 index 0000000..cf85aa0 --- /dev/null +++ b/src/components/features/ctf-components/ctf-hero-banner/__generated/ctf-hero-banner.generated.ts @@ -0,0 +1,76 @@ +import * as Types from '../../../../../lib/__generated/graphql.types'; + +import { PageLinkFieldsFragment } from '../../../page-link/__generated/page-link.generated'; +import { AssetFieldsFragment } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { PageLinkFieldsFragmentDoc } from '../../../page-link/__generated/page-link.generated'; +import { AssetFieldsFragmentDoc } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import { customFetcher } from '@src/lib/fetchConfig'; +export type HeroBannerFieldsFragment = { __typename: 'ComponentHeroBanner', headline?: string | null, ctaText?: string | null, imageStyle?: boolean | null, heroSize?: boolean | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, bodyText?: { __typename?: 'ComponentHeroBannerBodyText', json: any } | null, targetPage?: ( + { __typename?: 'Page' } + & PageLinkFieldsFragment + ) | null, image?: ( + { __typename?: 'Asset' } + & AssetFieldsFragment + ) | null }; + +export type CtfHeroBannerQueryVariables = Types.Exact<{ + id: Types.Scalars['String']; + locale?: Types.InputMaybe; + preview?: Types.InputMaybe; +}>; + + +export type CtfHeroBannerQuery = { __typename?: 'Query', componentHeroBanner?: ( + { __typename?: 'ComponentHeroBanner' } + & HeroBannerFieldsFragment + ) | null }; + +export const HeroBannerFieldsFragmentDoc = ` + fragment HeroBannerFields on ComponentHeroBanner { + __typename + sys { + id + } + headline + bodyText { + json + } + ctaText + targetPage { + ...PageLinkFields + } + image { + ...AssetFields + } + imageStyle + heroSize + colorPalette +} + `; +export const CtfHeroBannerDocument = ` + query CtfHeroBanner($id: String!, $locale: String, $preview: Boolean) { + componentHeroBanner(id: $id, locale: $locale, preview: $preview) { + ...HeroBannerFields + } +} + ${HeroBannerFieldsFragmentDoc} +${PageLinkFieldsFragmentDoc} +${AssetFieldsFragmentDoc}`; +export const useCtfHeroBannerQuery = < + TData = CtfHeroBannerQuery, + TError = unknown + >( + variables: CtfHeroBannerQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + ['CtfHeroBanner', variables], + customFetcher(CtfHeroBannerDocument, variables), + options + ); + +useCtfHeroBannerQuery.getKey = (variables: CtfHeroBannerQueryVariables) => ['CtfHeroBanner', variables]; +; + +useCtfHeroBannerQuery.fetcher = (variables: CtfHeroBannerQueryVariables, options?: RequestInit['headers']) => customFetcher(CtfHeroBannerDocument, variables, options); \ No newline at end of file diff --git a/src/components/features/ctf-components/ctf-hero-banner/ctf-hero-banner-gql.tsx b/src/components/features/ctf-components/ctf-hero-banner/ctf-hero-banner-gql.tsx new file mode 100644 index 0000000..7eb40ff --- /dev/null +++ b/src/components/features/ctf-components/ctf-hero-banner/ctf-hero-banner-gql.tsx @@ -0,0 +1,26 @@ +import { useContentfulLiveUpdates } from '@contentful/live-preview/react'; +import React from 'react'; + +import { useCtfHeroBannerQuery } from './__generated/ctf-hero-banner.generated'; +import { CtfHeroBanner } from './ctf-hero-banner'; + +interface CtfHeroGqlPropsInterface { + id: string; + locale: string; + preview: boolean; +} + +export const CtfHeroGql = (props: CtfHeroGqlPropsInterface) => { + const { id, locale, preview } = props; + const { data, isLoading } = useCtfHeroBannerQuery({ + id, + locale, + preview, + }); + + const componentHeroBanner = useContentfulLiveUpdates(data?.componentHeroBanner); + + if (!componentHeroBanner || isLoading) return null; + + return ; +}; diff --git a/src/components/features/ctf-components/ctf-hero-banner/ctf-hero-banner.graphql b/src/components/features/ctf-components/ctf-hero-banner/ctf-hero-banner.graphql new file mode 100644 index 0000000..1b6e6e2 --- /dev/null +++ b/src/components/features/ctf-components/ctf-hero-banner/ctf-hero-banner.graphql @@ -0,0 +1,28 @@ +fragment HeroBannerFields on ComponentHeroBanner { + __typename + sys { + id + } + # Tutorial: uncomment the line below to add the Greeting field to the query + # greeting + headline + bodyText { + json + } + ctaText + targetPage { + ...PageLinkFields + } + image { + ...AssetFields + } + imageStyle + heroSize + colorPalette +} + +query CtfHeroBanner($id: String!, $locale: String, $preview: Boolean) { + componentHeroBanner(id: $id, locale: $locale, preview: $preview) { + ...HeroBannerFields + } +} diff --git a/src/components/features/ctf-components/ctf-hero-banner/ctf-hero-banner.tsx b/src/components/features/ctf-components/ctf-hero-banner/ctf-hero-banner.tsx new file mode 100644 index 0000000..3093559 --- /dev/null +++ b/src/components/features/ctf-components/ctf-hero-banner/ctf-hero-banner.tsx @@ -0,0 +1,191 @@ +import { useContentfulInspectorMode } from '@contentful/live-preview/react'; +import { Container, Theme, Typography } from '@mui/material'; +import { makeStyles } from '@mui/styles'; +import clsx from 'clsx'; +import { useMemo } from 'react'; + +import { HeroBannerFieldsFragment } from './__generated/ctf-hero-banner.generated'; + +import { CtfRichtext } from '@src/components/features/ctf-components/ctf-richtext/ctf-richtext'; +import { PageLink } from '@src/components/features/page-link'; +import LayoutContext, { defaultLayout, useLayoutContext } from '@src/layout-context'; +import { getColorConfigFromPalette, HEADER_HEIGHT_MD, HEADER_HEIGHT } from '@src/theme'; + +const useStyles = makeStyles((theme: Theme) => ({ + root: { + alignItems: 'center', + backgroundSize: 'cover', + backgroundPosition: 'center', + display: 'flex', + overflow: 'hidden', + position: 'relative', + }, + + fullScreen: { + minHeight: `calc(100vh - ${HEADER_HEIGHT_MD})`, + [theme.breakpoints.up('md')]: { + minHeight: `calc(100vh - ${HEADER_HEIGHT})`, + }, + '@media (min-height: 91.2em)': { + minHeight: '91.2rem', + }, + }, + + innerContainer: { + marginLeft: 'auto', + marginRight: 'auto', + maxWidth: '125.8rem', + padding: theme.spacing(33, 0, 33), + position: 'relative', + width: '100%', + '@media (min-height: 91.2em)': { + padding: theme.spacing(39, 0, 39), + }, + }, + + partialBgContainer: { + display: 'none', + height: '100%', + left: '50%', + maxWidth: '192rem', + position: 'absolute', + top: 0, + transform: 'translateX(-50%)', + width: '100%', + [theme.breakpoints.up('md')]: { + display: 'block', + }, + }, + + partialBg: { + backgroundSize: 'cover', + backgroundPosition: 'center', + height: '100%', + position: 'absolute', + right: 0, + top: 0, + width: '50%', + }, + + headline: { + fontSize: '3rem', + fontWeight: 800, + lineHeight: 1.08, + maxWidth: '44rem', + [theme.breakpoints.up('xl')]: { + fontSize: '3.8rem', + }, + }, + + body: { + fontWeight: 400, + lineHeight: 1.56, + marginTop: theme.spacing(6), + maxWidth: '46.9rem', + '& p': { + fontSize: '2.5rem', + [theme.breakpoints.up('xl')]: { + fontSize: '2.5rem', + }, + }, + }, + ctaContainer: { + marginTop: theme.spacing(6), + }, +})); + +export const CtfHeroBanner = (props: HeroBannerFieldsFragment) => { + const { + image, + imageStyle: imageStyleBoolean, + headline, + // Tutorial: uncomment the line below to make the Greeting field available to render + // greeting, + bodyText, + ctaText, + targetPage, + colorPalette, + sys: { id }, + heroSize: heroSizeBoolean, + } = props; + const layout = useLayoutContext(); + + const colorConfig = getColorConfigFromPalette(colorPalette || ''); + const imageStyle = imageStyleBoolean ? 'partial' : 'full'; + const heroSize = + heroSizeBoolean === null || heroSizeBoolean === true ? 'full_screen' : 'fixed_height'; + const backgroundImage = useMemo( + () => + image + ? `${image.url}?w=${imageStyle === 'partial' ? 767 * 2 : layout.containerWidth * 2}` + : undefined, + [image, imageStyle, layout.containerWidth], + ); + const classes = useStyles(); + const inspectorMode = useContentfulInspectorMode({ entryId: id }); + + return ( + + {imageStyle === 'partial' && backgroundImage && ( +
    +
    +
    + )} +
    + {/* Tutorial: uncomment this block to render the Greeting field value + {greeting && ( + + {greeting} + + )} + */} + {headline && ( + + {headline} + + )} + {bodyText && ( + +
    + +
    +
    + )} + {targetPage && ctaText && ( +
    + + {ctaText} + +
    + )} +
    + + ); +}; diff --git a/src/components/features/ctf-components/ctf-image/ctf-image.tsx b/src/components/features/ctf-components/ctf-image/ctf-image.tsx new file mode 100644 index 0000000..56420b3 --- /dev/null +++ b/src/components/features/ctf-components/ctf-image/ctf-image.tsx @@ -0,0 +1,51 @@ +import { Box } from '@mui/material'; +import Image, { ImageProps } from 'next/image'; +import React, { useState } from 'react'; + +interface CtfImagePropsInterface extends ImageProps { + description?: string | null; + showDescription?: boolean; +} + +export const CtfImage = ({ + src, + description, + showDescription = true, + width, + height, + layout, + ...rest +}: CtfImagePropsInterface) => { + const [loaded, setLoaded] = useState(false); + + if (!src) return null; + + const blurUrl = new URL(String(src)); + blurUrl.searchParams.set('w', '100'); + + return ( + + { + setLoaded(true); + }} + src={src} + width={width} + height={height} + layout={layout} + placeholder="blur" + blurDataURL={blurUrl.toString()} + {...rest} + /> + {showDescription && description &&
    {description}
    } +
    + ); +}; diff --git a/src/components/features/ctf-components/ctf-info-block/__generated/ctf-info-block.generated.ts b/src/components/features/ctf-components/ctf-info-block/__generated/ctf-info-block.generated.ts new file mode 100644 index 0000000..3bc11df --- /dev/null +++ b/src/components/features/ctf-components/ctf-info-block/__generated/ctf-info-block.generated.ts @@ -0,0 +1,83 @@ +import * as Types from '../../../../../lib/__generated/graphql.types'; + +import { AssetFieldsFragment } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { AssetFieldsFragmentDoc } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import { customFetcher } from '@src/lib/fetchConfig'; +export type InfoBlockFieldsFragment = { __typename: 'ComponentInfoBlock', headline?: string | null, subline?: string | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, block1Image?: ( + { __typename?: 'Asset' } + & AssetFieldsFragment + ) | null, block1Body?: { __typename?: 'ComponentInfoBlockBlock1Body', json: any } | null, block2Image?: ( + { __typename?: 'Asset' } + & AssetFieldsFragment + ) | null, block2Body?: { __typename?: 'ComponentInfoBlockBlock2Body', json: any } | null, block3Image?: ( + { __typename?: 'Asset' } + & AssetFieldsFragment + ) | null, block3Body?: { __typename?: 'ComponentInfoBlockBlock3Body', json: any } | null }; + +export type CtfInfoBlockQueryVariables = Types.Exact<{ + id: Types.Scalars['String']; + locale?: Types.InputMaybe; + preview?: Types.InputMaybe; +}>; + + +export type CtfInfoBlockQuery = { __typename?: 'Query', componentInfoBlock?: ( + { __typename?: 'ComponentInfoBlock' } + & InfoBlockFieldsFragment + ) | null }; + +export const InfoBlockFieldsFragmentDoc = ` + fragment InfoBlockFields on ComponentInfoBlock { + __typename + sys { + id + } + headline + subline + block1Image { + ...AssetFields + } + block1Body { + json + } + block2Image { + ...AssetFields + } + block2Body { + json + } + block3Image { + ...AssetFields + } + block3Body { + json + } + colorPalette +} + `; +export const CtfInfoBlockDocument = ` + query CtfInfoBlock($id: String!, $locale: String, $preview: Boolean) { + componentInfoBlock(id: $id, locale: $locale, preview: $preview) { + ...InfoBlockFields + } +} + ${InfoBlockFieldsFragmentDoc} +${AssetFieldsFragmentDoc}`; +export const useCtfInfoBlockQuery = < + TData = CtfInfoBlockQuery, + TError = unknown + >( + variables: CtfInfoBlockQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + ['CtfInfoBlock', variables], + customFetcher(CtfInfoBlockDocument, variables), + options + ); + +useCtfInfoBlockQuery.getKey = (variables: CtfInfoBlockQueryVariables) => ['CtfInfoBlock', variables]; +; + +useCtfInfoBlockQuery.fetcher = (variables: CtfInfoBlockQueryVariables, options?: RequestInit['headers']) => customFetcher(CtfInfoBlockDocument, variables, options); \ No newline at end of file diff --git a/src/components/features/ctf-components/ctf-info-block/ctf-info-block-gql.tsx b/src/components/features/ctf-components/ctf-info-block/ctf-info-block-gql.tsx new file mode 100644 index 0000000..657194b --- /dev/null +++ b/src/components/features/ctf-components/ctf-info-block/ctf-info-block-gql.tsx @@ -0,0 +1,32 @@ +import { useContentfulLiveUpdates } from '@contentful/live-preview/react'; + +import { useCtfInfoBlockQuery } from './__generated/ctf-info-block.generated'; +import { CtfInfoBlock } from './ctf-info-block'; + +interface CtfInfoBlockGqlPropsInterface { + id: string; + locale: string; + preview: boolean; + previousComponent: string | null; +} + +export const CtfInfoBlockGql = ({ + id, + locale, + preview, + previousComponent, +}: CtfInfoBlockGqlPropsInterface) => { + const { isLoading, data } = useCtfInfoBlockQuery({ + id, + locale, + preview, + }); + + const componentInfoBlock = useContentfulLiveUpdates(data?.componentInfoBlock); + + if (isLoading || !componentInfoBlock) { + return null; + } + + return ; +}; diff --git a/src/components/features/ctf-components/ctf-info-block/ctf-info-block.graphql b/src/components/features/ctf-components/ctf-info-block/ctf-info-block.graphql new file mode 100644 index 0000000..83461dc --- /dev/null +++ b/src/components/features/ctf-components/ctf-info-block/ctf-info-block.graphql @@ -0,0 +1,33 @@ +fragment InfoBlockFields on ComponentInfoBlock { + __typename + sys { + id + } + headline + subline + block1Image { + ...AssetFields + } + block1Body { + json + } + block2Image { + ...AssetFields + } + block2Body { + json + } + block3Image { + ...AssetFields + } + block3Body { + json + } + colorPalette +} + +query CtfInfoBlock($id: String!, $locale: String, $preview: Boolean) { + componentInfoBlock(id: $id, locale: $locale, preview: $preview) { + ...InfoBlockFields + } +} diff --git a/src/components/features/ctf-components/ctf-info-block/ctf-info-block.tsx b/src/components/features/ctf-components/ctf-info-block/ctf-info-block.tsx new file mode 100644 index 0000000..6fae443 --- /dev/null +++ b/src/components/features/ctf-components/ctf-info-block/ctf-info-block.tsx @@ -0,0 +1,199 @@ +import { useContentfulInspectorMode } from '@contentful/live-preview/react'; +import { Theme, Container } from '@mui/material'; +import { makeStyles } from '@mui/styles'; +import clsx from 'clsx'; + +import { InfoBlockFieldsFragment } from './__generated/ctf-info-block.generated'; + +import { CtfAsset } from '@src/components/features/ctf-components/ctf-asset/ctf-asset'; +import { CtfRichtext } from '@src/components/features/ctf-components/ctf-richtext/ctf-richtext'; +import { SectionHeadlines } from '@src/components/features/section-headlines'; +import LayoutContext, { defaultLayout } from '@src/layout-context'; +import { getColorConfigFromPalette } from '@src/theme'; + +const useStyles = makeStyles((theme: Theme) => ({ + innerContainer: { + marginLeft: 'auto', + marginRight: 'auto', + maxWidth: '126rem', + padding: theme.spacing(19, 0, 19), + }, + innerContainerAfterInfoBlock: { + marginTop: theme.spacing(-19), + paddingTop: 0, + }, + sectionHeadlines: { + marginBottom: theme.spacing(12), + }, + blocksGrid: { + alignItems: 'flex-start', + display: 'flex', + justifyContent: 'center', + flexWrap: 'wrap', + marginLeft: '-5rem', + marginTop: '-5rem', + }, + block: { + marginLeft: '5rem', + marginTop: '5rem', + maxWidth: '39rem', + width: '100%', + [theme.breakpoints.up('md')]: { + width: 'calc((100% - 15rem) / 3)', + '@supports not (width: calc((100% - 15rem) / 3))': { + width: '29%', + }, + }, + }, + itemIcon: { + alignItems: 'center', + display: 'flex', + fontSize: 0, + height: '11.3rem', + justifyContent: 'center', + width: '11.3rem', + }, + itemText: { + '& .MuiContainer-root:last-child .MuiTypography-body1': { + marginBottom: 0, + }, + '& .MuiContainer-root:first-child': { + marginTop: '3rem', + }, + '& h3': { + fontSize: '1.8rem', + marginBottom: '2rem', + marginTop: '3rem', + }, + '& p': { + color: '#6f6f6f', + fontSize: '1.8rem', + lineHeight: 1.52, + }, + }, +})); + +export interface CtfInfoBlockPropsInterface extends InfoBlockFieldsFragment { + previousComponent?: string | null; +} + +export const CtfInfoBlock = (props: CtfInfoBlockPropsInterface) => { + const { + headline, + subline, + block1Image, + block1Body, + block2Image, + block2Body, + block3Image, + block3Body, + previousComponent, + colorPalette, + sys: { id }, + } = props; + const colorConfig = getColorConfigFromPalette(colorPalette || ''); + const classes = useStyles(); + const inspectorMode = useContentfulInspectorMode({ entryId: id }); + + return ( + +
    + + +
    + {block1Body && ( +
    + {block1Image && ( +
    + +
    + )} +
    + +
    +
    + )} + {block2Body && ( +
    + {block2Image && ( +
    + +
    + )} +
    + +
    +
    + )} + {block3Body && ( +
    + {block3Image && ( +
    + +
    + )} +
    + +
    +
    + )} +
    +
    +
    +
    + ); +}; diff --git a/src/components/features/ctf-components/ctf-mobile-menu/ctf-mobile-menu-gql.tsx b/src/components/features/ctf-components/ctf-mobile-menu/ctf-mobile-menu-gql.tsx new file mode 100644 index 0000000..fb550d6 --- /dev/null +++ b/src/components/features/ctf-components/ctf-mobile-menu/ctf-mobile-menu-gql.tsx @@ -0,0 +1,21 @@ +import { useContentfulLiveUpdates } from '@contentful/live-preview/react'; + +import { CtfMobileMenu } from './ctf-mobile-menu'; + +import { useCtfNavigationQuery } from '@src/components/features/ctf-components/ctf-navigation/__generated/ctf-navigation.generated'; +import { useContentfulContext } from '@src/contentful-context'; + +export const CtfMobileMenuGql = props => { + const { locale, previewActive } = useContentfulContext(); + + const { data, isLoading } = useCtfNavigationQuery({ + locale, + preview: previewActive, + }); + + const navigationMenuCollection = useContentfulLiveUpdates(data?.navigationMenuCollection); + + if (!navigationMenuCollection || isLoading) return null; + + return ; +}; diff --git a/src/components/features/ctf-components/ctf-mobile-menu/ctf-mobile-menu.tsx b/src/components/features/ctf-components/ctf-mobile-menu/ctf-mobile-menu.tsx new file mode 100644 index 0000000..270de90 --- /dev/null +++ b/src/components/features/ctf-components/ctf-mobile-menu/ctf-mobile-menu.tsx @@ -0,0 +1,101 @@ +import { Drawer } from '@mui/material'; +import { makeStyles } from '@mui/styles'; + +import { NavigationFieldsFragment } from '@src/components/features/ctf-components/ctf-navigation/__generated/ctf-navigation.generated'; +import { + getLinkDisplayText, + getLinkHrefPrefix, +} from '@src/components/features/ctf-components/ctf-navigation/utils'; +import { Link } from '@src/components/shared/link'; + +const useStyles = makeStyles(theme => ({ + menu: { + listStyle: 'none', + margin: 0, + padding: theme.spacing(4, 8), + }, + menuItem: { + cursor: 'default', + display: 'block', + fontSize: '2.1rem', + lineHeight: '1.8', + position: 'relative', + + a: { + cursor: 'pointer', + }, + }, + submenu: { + borderLeft: '1px solid #eee', + listStyle: 'none', + padding: theme.spacing(0, 0, 0, 2), + }, +})); + +interface MobileMenuPropsInterface extends NavigationFieldsFragment { + isOpen?: boolean; + onOpenChange: (isOpen: boolean) => any; +} + +export const CtfMobileMenu = (props: MobileMenuPropsInterface) => { + const classes = useStyles(); + + const { isOpen, onOpenChange } = props; + + const onCloseClick = (e, reason) => { + if (reason === 'backdropClick') { + onOpenChange(false); + } + }; + + const mobileMenuContent = props.items[0]; + + const renderMobileMenuLinks = menuGroup => { + return menuGroup?.items?.map(menuItem => { + const href = getLinkHrefPrefix(menuItem); + const linkText = getLinkDisplayText(menuItem); + return ( +
  • + + {linkText} + +
  • + ); + }); + }; + + return ( + + {mobileMenuContent?.menuItemsCollection?.items.length && ( + + )} + + ); +}; diff --git a/src/components/features/ctf-components/ctf-navigation/__generated/ctf-navigation.generated.ts b/src/components/features/ctf-components/ctf-navigation/__generated/ctf-navigation.generated.ts new file mode 100644 index 0000000..c13b7dc --- /dev/null +++ b/src/components/features/ctf-components/ctf-navigation/__generated/ctf-navigation.generated.ts @@ -0,0 +1,74 @@ +import * as Types from '../../../../../lib/__generated/graphql.types'; + +import { PageLinkFieldsFragment } from '../../../page-link/__generated/page-link.generated'; +import { MenuGroupFieldsFragment } from '../../../../../lib/shared-fragments/__generated/ctf-menuGroup.generated'; +import { PageLinkFieldsFragmentDoc } from '../../../page-link/__generated/page-link.generated'; +import { MenuGroupFieldsFragmentDoc } from '../../../../../lib/shared-fragments/__generated/ctf-menuGroup.generated'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import { customFetcher } from '@src/lib/fetchConfig'; +export type NavigationFieldsFragment = { __typename?: 'NavigationMenuCollection', items: Array<{ __typename?: 'NavigationMenu', menuItemsCollection?: { __typename?: 'NavigationMenuMenuItemsCollection', items: Array<{ __typename: 'MenuGroup', groupName?: string | null, sys: { __typename?: 'Sys', id: string }, link?: ( + { __typename?: 'Page' } + & PageLinkFieldsFragment + ) | null, children?: ( + { __typename?: 'MenuGroupFeaturedPagesCollection' } + & MenuGroupFieldsFragment + ) | null } | null> } | null } | null> }; + +export type CtfNavigationQueryVariables = Types.Exact<{ + locale?: Types.InputMaybe; + preview?: Types.InputMaybe; +}>; + + +export type CtfNavigationQuery = { __typename?: 'Query', navigationMenuCollection?: ( + { __typename?: 'NavigationMenuCollection' } + & NavigationFieldsFragment + ) | null }; + +export const NavigationFieldsFragmentDoc = ` + fragment NavigationFields on NavigationMenuCollection { + items { + menuItemsCollection { + items { + __typename + sys { + id + } + groupName + link: groupLink { + ...PageLinkFields + } + children: featuredPagesCollection { + ...MenuGroupFields + } + } + } + } +} + `; +export const CtfNavigationDocument = ` + query CtfNavigation($locale: String, $preview: Boolean) { + navigationMenuCollection(locale: $locale, preview: $preview, limit: 1) { + ...NavigationFields + } +} + ${NavigationFieldsFragmentDoc} +${PageLinkFieldsFragmentDoc} +${MenuGroupFieldsFragmentDoc}`; +export const useCtfNavigationQuery = < + TData = CtfNavigationQuery, + TError = unknown + >( + variables?: CtfNavigationQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + variables === undefined ? ['CtfNavigation'] : ['CtfNavigation', variables], + customFetcher(CtfNavigationDocument, variables), + options + ); + +useCtfNavigationQuery.getKey = (variables?: CtfNavigationQueryVariables) => variables === undefined ? ['CtfNavigation'] : ['CtfNavigation', variables]; +; + +useCtfNavigationQuery.fetcher = (variables?: CtfNavigationQueryVariables, options?: RequestInit['headers']) => customFetcher(CtfNavigationDocument, variables, options); \ No newline at end of file diff --git a/src/components/features/ctf-components/ctf-navigation/ctf-navigation-gql.tsx b/src/components/features/ctf-components/ctf-navigation/ctf-navigation-gql.tsx new file mode 100644 index 0000000..e5fd240 --- /dev/null +++ b/src/components/features/ctf-components/ctf-navigation/ctf-navigation-gql.tsx @@ -0,0 +1,21 @@ +import { useContentfulLiveUpdates } from '@contentful/live-preview/react'; + +import { useCtfNavigationQuery } from './__generated/ctf-navigation.generated'; +import { CtfNavigation } from './ctf-navigation'; + +import { useContentfulContext } from '@src/contentful-context'; + +export const CtfNavigationGql = () => { + const { locale, previewActive } = useContentfulContext(); + + const { data, isLoading } = useCtfNavigationQuery({ + locale, + preview: previewActive, + }); + + const navigationMenuCollection = useContentfulLiveUpdates(data?.navigationMenuCollection); + + if (!navigationMenuCollection || isLoading) return null; + + return ; +}; diff --git a/src/components/features/ctf-components/ctf-navigation/ctf-navigation.graphql b/src/components/features/ctf-components/ctf-navigation/ctf-navigation.graphql new file mode 100644 index 0000000..b848324 --- /dev/null +++ b/src/components/features/ctf-components/ctf-navigation/ctf-navigation.graphql @@ -0,0 +1,25 @@ +fragment NavigationFields on NavigationMenuCollection { + items { + menuItemsCollection { + items { + __typename + sys { + id + } + groupName + link: groupLink { + ...PageLinkFields + } + children: featuredPagesCollection { + ...MenuGroupFields + } + } + } + } +} + +query CtfNavigation($locale: String, $preview: Boolean) { + navigationMenuCollection(locale: $locale, preview: $preview, limit: 1) { + ...NavigationFields + } +} diff --git a/src/components/features/ctf-components/ctf-navigation/ctf-navigation.tsx b/src/components/features/ctf-components/ctf-navigation/ctf-navigation.tsx new file mode 100644 index 0000000..22fcd67 --- /dev/null +++ b/src/components/features/ctf-components/ctf-navigation/ctf-navigation.tsx @@ -0,0 +1,133 @@ +import { useContentfulInspectorMode } from '@contentful/live-preview/react'; +import { Theme } from '@mui/material'; +import { makeStyles } from '@mui/styles'; + +import { NavigationFieldsFragment } from './__generated/ctf-navigation.generated'; +import { getLinkDisplayText, getLinkHrefPrefix } from './utils'; + +import { Link } from '@src/components/shared/link'; + +const useStyles = makeStyles((theme: Theme) => ({ + menu: { + alignItems: 'center', + display: 'flex', + listStyle: 'none', + margin: 0, + padding: 0, + }, + menuItem: { + alignItems: 'center', + cursor: 'default', + display: 'inline-flex', + fontSize: '1.7rem', + fontWeight: 400, + height: '8rem', + lineHeight: 1.9, + marginRight: theme.spacing(8), + position: 'relative', + + [theme.breakpoints.up('lg')]: { + marginRight: theme.spacing(10), + }, + + '& a': { + cursor: 'pointer', + display: 'inline-block', + transition: 'transform 0.2s ease-in-out', + }, + + '&:hover, &:focus, &:focus-within': { + '& > a': { + transform: 'translateY(-4px)', + }, + '& $submenu': { + opacity: 1, + pointerEvents: 'all', + transform: 'translateY(0)', + }, + }, + }, + submenu: { + backgroundColor: '#fff', + boxShadow: '0 3px 6px #00000029', + borderRadius: '14px', + left: theme.spacing(10 * -1), + listStyle: 'none', + opacity: 0, + padding: theme.spacing(4, 10), + pointerEvents: 'none', + position: 'absolute', + top: 'calc(100% - 2rem)', + transform: 'translateY(20%)', + transition: 'all 0.3s ease-in-out', + }, + submenuItem: { + '&:hover, &:focus, &:focus-within': { + '& > a': { + transform: 'translateY(-4px)', + }, + }, + }, +})); + +export const CtfNavigation = (props: NavigationFieldsFragment) => { + const classes = useStyles(); + const inspectorMode = useContentfulInspectorMode(); + + const navigationContent = props.items[0]; + + const renderNavigationLinks = (menuGroup, listClassName) => { + return menuGroup?.items?.map(menuItem => { + const href = getLinkHrefPrefix(menuItem); + const linkText = getLinkDisplayText(menuItem); + + return ( +
  • + {linkText} +
  • + ); + }); + }; + + return ( + <> + {navigationContent?.menuItemsCollection?.items.length && ( + + )} + + ); +}; diff --git a/src/components/features/ctf-components/ctf-navigation/utils.ts b/src/components/features/ctf-components/ctf-navigation/utils.ts new file mode 100644 index 0000000..718ca22 --- /dev/null +++ b/src/components/features/ctf-components/ctf-navigation/utils.ts @@ -0,0 +1,28 @@ +export const getLinkDisplayText = menuItem => { + if ('pageName' in menuItem) { + return menuItem.pageName; + } + if ('categoryName' in menuItem) { + return menuItem.categoryName; + } + if ('postName' in menuItem) { + return menuItem.postName; + } + return menuItem.slug; +}; + +export const getLinkHrefPrefix = menuItem => { + if ('pageName' in menuItem) { + return `/${menuItem.slug}`; + } + + if ('categoryName' in menuItem) { + return `/category/${menuItem.slug}`; + } + + if ('postName' in menuItem) { + return `/post/${menuItem.slug}`; + } + + return `/${menuItem.slug}`; +}; diff --git a/src/components/features/ctf-components/ctf-page/__generated/ctf-page.generated.ts b/src/components/features/ctf-components/ctf-page/__generated/ctf-page.generated.ts new file mode 100644 index 0000000..1bc60b3 --- /dev/null +++ b/src/components/features/ctf-components/ctf-page/__generated/ctf-page.generated.ts @@ -0,0 +1,205 @@ +import * as Types from '../../../../../lib/__generated/graphql.types'; + +import { AssetFieldsFragment } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { AssetFieldsFragmentDoc } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import { customFetcher } from '@src/lib/fetchConfig'; +export type PageTopSectionFields_ComponentCta_Fragment = { __typename: 'ComponentCta' }; + +export type PageTopSectionFields_ComponentDuplex_Fragment = { __typename: 'ComponentDuplex' }; + +export type PageTopSectionFields_ComponentHeroBanner_Fragment = { __typename: 'ComponentHeroBanner' }; + +export type PageTopSectionFields_ComponentInfoBlock_Fragment = { __typename: 'ComponentInfoBlock' }; + +export type PageTopSectionFields_ComponentQuote_Fragment = { __typename: 'ComponentQuote' }; + +export type PageTopSectionFields_ComponentTextBlock_Fragment = { __typename: 'ComponentTextBlock' }; + +export type PageTopSectionFieldsFragment = PageTopSectionFields_ComponentCta_Fragment | PageTopSectionFields_ComponentDuplex_Fragment | PageTopSectionFields_ComponentHeroBanner_Fragment | PageTopSectionFields_ComponentInfoBlock_Fragment | PageTopSectionFields_ComponentQuote_Fragment | PageTopSectionFields_ComponentTextBlock_Fragment; + +export type PageContentFields_ComponentProductTable_Fragment = { __typename: 'ComponentProductTable' }; + +export type PageContentFields_TopicBusinessInfo_Fragment = { __typename: 'TopicBusinessInfo' }; + +export type PageContentFields_TopicProduct_Fragment = { __typename: 'TopicProduct' }; + +export type PageContentFieldsFragment = PageContentFields_ComponentProductTable_Fragment | PageContentFields_TopicBusinessInfo_Fragment | PageContentFields_TopicProduct_Fragment; + +export type PageExtraSectionItemFields_ComponentCta_Fragment = { __typename: 'ComponentCta' }; + +export type PageExtraSectionItemFields_ComponentDuplex_Fragment = { __typename: 'ComponentDuplex' }; + +export type PageExtraSectionItemFields_ComponentHeroBanner_Fragment = { __typename: 'ComponentHeroBanner' }; + +export type PageExtraSectionItemFields_ComponentInfoBlock_Fragment = { __typename: 'ComponentInfoBlock' }; + +export type PageExtraSectionItemFields_ComponentQuote_Fragment = { __typename: 'ComponentQuote' }; + +export type PageExtraSectionItemFields_ComponentTextBlock_Fragment = { __typename: 'ComponentTextBlock' }; + +export type PageExtraSectionItemFieldsFragment = PageExtraSectionItemFields_ComponentCta_Fragment | PageExtraSectionItemFields_ComponentDuplex_Fragment | PageExtraSectionItemFields_ComponentHeroBanner_Fragment | PageExtraSectionItemFields_ComponentInfoBlock_Fragment | PageExtraSectionItemFields_ComponentQuote_Fragment | PageExtraSectionItemFields_ComponentTextBlock_Fragment; + +export type CtfPageFieldsFragment = { __typename: 'Page', pageName?: string | null, slug?: string | null, internalName?: string | null, sys: { __typename?: 'Sys', id: string }, seo?: { __typename?: 'Seo', title?: string | null, description?: string | null, noIndex?: boolean | null, noFollow?: boolean | null, image?: ( + { __typename?: 'Asset' } + & AssetFieldsFragment + ) | null } | null, topSectionCollection?: { __typename?: 'PageTopSectionCollection', items: Array<( + { __typename: 'ComponentCta', sys: { __typename?: 'Sys', id: string } } + & PageTopSectionFields_ComponentCta_Fragment + ) | ( + { __typename: 'ComponentDuplex', sys: { __typename?: 'Sys', id: string } } + & PageTopSectionFields_ComponentDuplex_Fragment + ) | ( + { __typename: 'ComponentHeroBanner', sys: { __typename?: 'Sys', id: string } } + & PageTopSectionFields_ComponentHeroBanner_Fragment + ) | ( + { __typename: 'ComponentInfoBlock', sys: { __typename?: 'Sys', id: string } } + & PageTopSectionFields_ComponentInfoBlock_Fragment + ) | ( + { __typename: 'ComponentQuote', sys: { __typename?: 'Sys', id: string } } + & PageTopSectionFields_ComponentQuote_Fragment + ) | ( + { __typename: 'ComponentTextBlock', sys: { __typename?: 'Sys', id: string } } + & PageTopSectionFields_ComponentTextBlock_Fragment + ) | null> } | null, pageContent?: ( + { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } + & PageContentFields_ComponentProductTable_Fragment + ) | ( + { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } + & PageContentFields_TopicBusinessInfo_Fragment + ) | ( + { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } + & PageContentFields_TopicProduct_Fragment + ) | null, extraSectionCollection?: { __typename?: 'PageExtraSectionCollection', items: Array<( + { __typename: 'ComponentCta', sys: { __typename?: 'Sys', id: string } } + & PageExtraSectionItemFields_ComponentCta_Fragment + ) | ( + { __typename: 'ComponentDuplex', sys: { __typename?: 'Sys', id: string } } + & PageExtraSectionItemFields_ComponentDuplex_Fragment + ) | ( + { __typename: 'ComponentHeroBanner', sys: { __typename?: 'Sys', id: string } } + & PageExtraSectionItemFields_ComponentHeroBanner_Fragment + ) | ( + { __typename: 'ComponentInfoBlock', sys: { __typename?: 'Sys', id: string } } + & PageExtraSectionItemFields_ComponentInfoBlock_Fragment + ) | ( + { __typename: 'ComponentQuote', sys: { __typename?: 'Sys', id: string } } + & PageExtraSectionItemFields_ComponentQuote_Fragment + ) | ( + { __typename: 'ComponentTextBlock', sys: { __typename?: 'Sys', id: string } } + & PageExtraSectionItemFields_ComponentTextBlock_Fragment + ) | null> } | null }; + +export type CtfPageQueryVariables = Types.Exact<{ + slug: Types.Scalars['String']; + locale?: Types.InputMaybe; + preview?: Types.InputMaybe; +}>; + + +export type CtfPageQuery = { __typename?: 'Query', pageCollection?: { __typename?: 'PageCollection', items: Array<( + { __typename?: 'Page' } + & CtfPageFieldsFragment + ) | null> } | null }; + +export const PageTopSectionFieldsFragmentDoc = ` + fragment PageTopSectionFields on PageTopSectionItem { + __typename +} + `; +export const PageContentFieldsFragmentDoc = ` + fragment PageContentFields on PagePageContent { + __typename +} + `; +export const PageExtraSectionItemFieldsFragmentDoc = ` + fragment PageExtraSectionItemFields on PageExtraSectionItem { + __typename +} + `; +export const CtfPageFieldsFragmentDoc = ` + fragment CtfPageFields on Page { + __typename + sys { + id + } + pageName + internalName: pageName + slug + seo { + title + description + image { + ...AssetFields + } + noIndex + noFollow + } + topSectionCollection(limit: 20) { + items { + ... on Entry { + __typename + sys { + id + } + } + ...PageTopSectionFields + } + } + pageContent { + ... on Entry { + __typename + sys { + id + } + } + ...PageContentFields + } + extraSectionCollection(limit: 20) { + items { + ... on Entry { + __typename + sys { + id + } + } + ...PageExtraSectionItemFields + } + } +} + `; +export const CtfPageDocument = ` + query CtfPage($slug: String!, $locale: String, $preview: Boolean) { + pageCollection( + where: {slug: $slug} + locale: $locale + preview: $preview + limit: 1 + ) { + items { + ...CtfPageFields + } + } +} + ${CtfPageFieldsFragmentDoc} +${AssetFieldsFragmentDoc} +${PageTopSectionFieldsFragmentDoc} +${PageContentFieldsFragmentDoc} +${PageExtraSectionItemFieldsFragmentDoc}`; +export const useCtfPageQuery = < + TData = CtfPageQuery, + TError = unknown + >( + variables: CtfPageQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + ['CtfPage', variables], + customFetcher(CtfPageDocument, variables), + options + ); + +useCtfPageQuery.getKey = (variables: CtfPageQueryVariables) => ['CtfPage', variables]; +; + +useCtfPageQuery.fetcher = (variables: CtfPageQueryVariables, options?: RequestInit['headers']) => customFetcher(CtfPageDocument, variables, options); \ No newline at end of file diff --git a/src/components/features/ctf-components/ctf-page/ctf-page-gql.tsx b/src/components/features/ctf-components/ctf-page/ctf-page-gql.tsx new file mode 100644 index 0000000..46c84c8 --- /dev/null +++ b/src/components/features/ctf-components/ctf-page/ctf-page-gql.tsx @@ -0,0 +1,92 @@ +import { useContentfulLiveUpdates } from '@contentful/live-preview/react'; +import Head from 'next/head'; + +import CtfPage from './ctf-page'; + +import { useCtfPageQuery } from '@src/components/features/ctf-components/ctf-page/__generated/ctf-page.generated'; +import { PageError } from '@src/components/features/errors/page-error'; +import { useContentfulContext } from '@src/contentful-context'; +import { tryget } from '@src/utils'; +import contentfulConfig from 'contentful.config'; + +interface Props { + topic?: string; + slug: string; +} + +const CtfPageGgl = ({ slug: slugFromProps }: Props) => { + const slug = !slugFromProps || slugFromProps === '/' ? 'home' : slugFromProps; + + const { previewActive, locale } = useContentfulContext(); + + const { isLoading, data } = useCtfPageQuery({ + slug, + locale, + preview: previewActive, + }); + + const page = useContentfulLiveUpdates(tryget(() => data?.pageCollection!.items[0])); + + if (isLoading) return <>; + if (!page) { + const error = { + code: 404, + message: + 'We were not able to locate the content you were looking for, please check the url for possible typos', + }; + return ; + } + + const { seo } = page || {}; + + const metaTags = { + title: seo?.title ?? page.pageName, + description: seo?.description, + image: seo?.image, + no_index: seo?.noIndex, + no_follow: seo?.noFollow, + }; + + const robots = [ + metaTags.no_index === true ? 'noindex' : undefined, + metaTags.no_follow === true ? 'nofollow' : undefined, + ].filter((x): x is string => x !== undefined); + + return ( + <> + + {metaTags.title && ( + <> + {metaTags.title} + + + )} + {metaTags.description && ( + <> + + + + )} + {robots.length > 0 && } + {metaTags.image && ( + + )} + {page.slug && ( + + )} + + + + + ); +}; + +export default CtfPageGgl; diff --git a/src/components/features/ctf-components/ctf-page/ctf-page.graphql b/src/components/features/ctf-components/ctf-page/ctf-page.graphql new file mode 100644 index 0000000..e37f6de --- /dev/null +++ b/src/components/features/ctf-components/ctf-page/ctf-page.graphql @@ -0,0 +1,70 @@ +fragment PageTopSectionFields on PageTopSectionItem { + __typename +} + +fragment PageContentFields on PagePageContent { + __typename +} + +fragment PageExtraSectionItemFields on PageExtraSectionItem { + __typename +} + + +fragment CtfPageFields on Page { + __typename + sys { + id + } + pageName + internalName: pageName + slug + seo { + title + description + image { + ...AssetFields + } + noIndex + noFollow + } + topSectionCollection(limit: 20) { + items { + ... on Entry { + __typename + sys { + id + } + } + ...PageTopSectionFields + } + } + pageContent { + ... on Entry { + __typename + sys { + id + } + } + ...PageContentFields + } + extraSectionCollection(limit: 20) { + items { + ... on Entry { + __typename + sys { + id + } + } + ...PageExtraSectionItemFields + } + } +} + +query CtfPage($slug: String!, $locale: String, $preview: Boolean) { + pageCollection(where: { slug: $slug }, locale: $locale, preview: $preview, limit: 1) { + items { + ...CtfPageFields + } + } +} diff --git a/src/components/features/ctf-components/ctf-page/ctf-page.tsx b/src/components/features/ctf-components/ctf-page/ctf-page.tsx new file mode 100644 index 0000000..a73a7c1 --- /dev/null +++ b/src/components/features/ctf-components/ctf-page/ctf-page.tsx @@ -0,0 +1,45 @@ +import React from 'react'; + +import { CtfPageFieldsFragment } from '@src/components/features/ctf-components/ctf-page/__generated/ctf-page.generated'; +import { ComponentResolver } from '@src/components/shared/component-resolver'; +import { PageContainer } from '@src/components/templates/page-container'; +import LayoutContext, { defaultLayout } from '@src/layout-context'; + +const CtfPage = (props: CtfPageFieldsFragment) => { + const topSection = + props.topSectionCollection && props.topSectionCollection.items.filter(it => !!it); + const content = props.pageContent; + const extraSection = + props.extraSectionCollection && props.extraSectionCollection.items.filter(it => !!it); + + const layoutConfig = { + ...defaultLayout, + containerWidth: 1262, + }; + + return ( + + {topSection && + topSection.map(entry => ( + + + + ))} + + {content && ( + + + + )} + + {extraSection && + extraSection.map(entry => ( + + + + ))} + + ); +}; + +export default CtfPage; diff --git a/src/components/features/ctf-components/ctf-person/__generated/ctf-person.generated.ts b/src/components/features/ctf-components/ctf-person/__generated/ctf-person.generated.ts new file mode 100644 index 0000000..a479835 --- /dev/null +++ b/src/components/features/ctf-components/ctf-person/__generated/ctf-person.generated.ts @@ -0,0 +1,66 @@ +import * as Types from '../../../../../lib/__generated/graphql.types'; + +import { AssetFieldsFragment } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { AssetFieldsFragmentDoc } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import { customFetcher } from '@src/lib/fetchConfig'; +export type PersonFieldsFragment = { __typename: 'TopicPerson', name?: string | null, website?: string | null, location?: string | null, cardStyle?: boolean | null, sys: { __typename?: 'Sys', id: string }, bio?: { __typename?: 'TopicPersonBio', json: any } | null, avatar?: ( + { __typename?: 'Asset' } + & AssetFieldsFragment + ) | null }; + +export type CtfPersonQueryVariables = Types.Exact<{ + id: Types.Scalars['String']; + locale?: Types.InputMaybe; + preview?: Types.InputMaybe; +}>; + + +export type CtfPersonQuery = { __typename?: 'Query', topicPerson?: ( + { __typename?: 'TopicPerson' } + & PersonFieldsFragment + ) | null }; + +export const PersonFieldsFragmentDoc = ` + fragment PersonFields on TopicPerson { + __typename + sys { + id + } + name + bio { + json + } + avatar { + ...AssetFields + } + website + location + cardStyle +} + `; +export const CtfPersonDocument = ` + query CtfPerson($id: String!, $locale: String, $preview: Boolean) { + topicPerson(id: $id, preview: $preview, locale: $locale) { + ...PersonFields + } +} + ${PersonFieldsFragmentDoc} +${AssetFieldsFragmentDoc}`; +export const useCtfPersonQuery = < + TData = CtfPersonQuery, + TError = unknown + >( + variables: CtfPersonQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + ['CtfPerson', variables], + customFetcher(CtfPersonDocument, variables), + options + ); + +useCtfPersonQuery.getKey = (variables: CtfPersonQueryVariables) => ['CtfPerson', variables]; +; + +useCtfPersonQuery.fetcher = (variables: CtfPersonQueryVariables, options?: RequestInit['headers']) => customFetcher(CtfPersonDocument, variables, options); \ No newline at end of file diff --git a/src/components/features/ctf-components/ctf-person/ctf-person-gql.tsx b/src/components/features/ctf-components/ctf-person/ctf-person-gql.tsx new file mode 100644 index 0000000..b81c6c3 --- /dev/null +++ b/src/components/features/ctf-components/ctf-person/ctf-person-gql.tsx @@ -0,0 +1,30 @@ +import { useContentfulLiveUpdates } from '@contentful/live-preview/react'; + +import { CtfPerson } from './ctf-person'; + +import { useCtfPersonQuery } from '@src/components/features/ctf-components/ctf-person/__generated/ctf-person.generated'; + +interface CtfPersonGqlPropsInterface { + id: string; + locale: string; + preview: boolean; + previousComponent: string | null; +} + +export const CtfPersonGql = (props: CtfPersonGqlPropsInterface) => { + const { id, locale, preview, previousComponent } = props; + + const { isLoading, data } = useCtfPersonQuery({ + id, + locale, + preview, + }); + + const topicPerson = useContentfulLiveUpdates(data?.topicPerson); + + if (isLoading || !topicPerson) { + return null; + } + + return ; +}; diff --git a/src/components/features/ctf-components/ctf-person/ctf-person.graphql b/src/components/features/ctf-components/ctf-person/ctf-person.graphql new file mode 100644 index 0000000..884b7aa --- /dev/null +++ b/src/components/features/ctf-components/ctf-person/ctf-person.graphql @@ -0,0 +1,22 @@ +fragment PersonFields on TopicPerson { + __typename + sys { + id + } + name + bio { + json + } + avatar { + ...AssetFields + } + website + location + cardStyle +} + +query CtfPerson($id: String!, $locale: String, $preview: Boolean) { + topicPerson(id: $id, preview: $preview, locale: $locale) { + ...PersonFields + } +} diff --git a/src/components/features/ctf-components/ctf-person/ctf-person.tsx b/src/components/features/ctf-components/ctf-person/ctf-person.tsx new file mode 100644 index 0000000..c90c7b7 --- /dev/null +++ b/src/components/features/ctf-components/ctf-person/ctf-person.tsx @@ -0,0 +1,40 @@ +import { Theme, Container } from '@mui/material'; +import { makeStyles } from '@mui/styles'; + +import { PersonFieldsFragment } from './__generated/ctf-person.generated'; + +import { Author } from '@src/components/features/author'; +import { CardLeadership } from '@src/components/features/card-leadership'; +import { CardPerson } from '@src/components/features/card-person'; +import { useLayoutContext } from '@src/layout-context'; + +const useStyles = makeStyles((theme: Theme) => ({ + root: { + marginLeft: 'auto', + marginRight: 'auto', + paddingBottom: theme.spacing(3), + paddingTop: theme.spacing(3), + }, +})); + +interface CtfPersonPropsInterface extends PersonFieldsFragment { + previousComponent: string | null; +} + +export const CtfPerson = (props: CtfPersonPropsInterface) => { + const layout = useLayoutContext(); + const classes = useStyles(); + const isLeadership = props.cardStyle === false; + + return layout.parent === 'quote' ? ( +
    + +
    + ) : ( + +
    + {isLeadership ? : } +
    +
    + ); +}; diff --git a/src/components/features/ctf-components/ctf-product-feature/__generated/ctf-product-feature.generated.ts b/src/components/features/ctf-components/ctf-product-feature/__generated/ctf-product-feature.generated.ts new file mode 100644 index 0000000..9d9475a --- /dev/null +++ b/src/components/features/ctf-components/ctf-product-feature/__generated/ctf-product-feature.generated.ts @@ -0,0 +1,80 @@ +import * as Types from '../../../../../lib/__generated/graphql.types'; + +import { AssetFieldsFragment } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { AssetFieldsFragmentDoc } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import { customFetcher } from '@src/lib/fetchConfig'; +export type ProductFeatureFieldsFragment = { __typename: 'TopicProductFeature', name?: string | null, sys: { __typename?: 'Sys', id: string }, longDescription?: { __typename?: 'TopicProductFeatureLongDescription', json: any, links: { __typename?: 'TopicProductFeatureLongDescriptionLinks', assets: { __typename?: 'TopicProductFeatureLongDescriptionAssets', block: Array<( + { __typename?: 'Asset' } + & AssetFieldsFragment + ) | null> } } } | null, shortDescription?: { __typename?: 'TopicProductFeatureShortDescription', json: any, links: { __typename?: 'TopicProductFeatureShortDescriptionLinks', assets: { __typename?: 'TopicProductFeatureShortDescriptionAssets', block: Array<( + { __typename?: 'Asset' } + & AssetFieldsFragment + ) | null> } } } | null }; + +export type CtfProductFeatureQueryVariables = Types.Exact<{ + id: Types.Scalars['String']; + locale?: Types.InputMaybe; + preview?: Types.InputMaybe; +}>; + + +export type CtfProductFeatureQuery = { __typename?: 'Query', topicProductFeature?: ( + { __typename?: 'TopicProductFeature' } + & ProductFeatureFieldsFragment + ) | null }; + +export const ProductFeatureFieldsFragmentDoc = ` + fragment ProductFeatureFields on TopicProductFeature { + __typename + sys { + id + } + name + longDescription { + json + links { + assets { + block { + ...AssetFields + } + } + } + } + shortDescription { + json + links { + assets { + block { + ...AssetFields + } + } + } + } +} + `; +export const CtfProductFeatureDocument = ` + query CtfProductFeature($id: String!, $locale: String, $preview: Boolean) { + topicProductFeature(id: $id, preview: $preview, locale: $locale) { + ...ProductFeatureFields + } +} + ${ProductFeatureFieldsFragmentDoc} +${AssetFieldsFragmentDoc}`; +export const useCtfProductFeatureQuery = < + TData = CtfProductFeatureQuery, + TError = unknown + >( + variables: CtfProductFeatureQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + ['CtfProductFeature', variables], + customFetcher(CtfProductFeatureDocument, variables), + options + ); + +useCtfProductFeatureQuery.getKey = (variables: CtfProductFeatureQueryVariables) => ['CtfProductFeature', variables]; +; + +useCtfProductFeatureQuery.fetcher = (variables: CtfProductFeatureQueryVariables, options?: RequestInit['headers']) => customFetcher(CtfProductFeatureDocument, variables, options); \ No newline at end of file diff --git a/src/components/features/ctf-components/ctf-product-feature/ctf-product-feature.graphql b/src/components/features/ctf-components/ctf-product-feature/ctf-product-feature.graphql new file mode 100644 index 0000000..4a1d0e3 --- /dev/null +++ b/src/components/features/ctf-components/ctf-product-feature/ctf-product-feature.graphql @@ -0,0 +1,33 @@ +fragment ProductFeatureFields on TopicProductFeature { + __typename + sys { + id + } + name + longDescription { + json + links { + assets { + block { + ...AssetFields + } + } + } + } + shortDescription { + json + links { + assets { + block { + ...AssetFields + } + } + } + } +} + +query CtfProductFeature($id: String!, $locale: String, $preview: Boolean) { + topicProductFeature(id: $id, preview: $preview, locale: $locale) { + ...ProductFeatureFields + } +} diff --git a/src/components/features/ctf-components/ctf-product-table/__generated/ctf-product-table.generated.ts b/src/components/features/ctf-components/ctf-product-table/__generated/ctf-product-table.generated.ts new file mode 100644 index 0000000..af9db84 --- /dev/null +++ b/src/components/features/ctf-components/ctf-product-table/__generated/ctf-product-table.generated.ts @@ -0,0 +1,69 @@ +import * as Types from '../../../../../lib/__generated/graphql.types'; + +import { ProductFieldsFragment } from '../../ctf-product/__generated/ctf-product.generated'; +import { AssetFieldsFragment } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { ProductFeatureFieldsFragment } from '../../ctf-product-feature/__generated/ctf-product-feature.generated'; +import { ProductFieldsFragmentDoc } from '../../ctf-product/__generated/ctf-product.generated'; +import { AssetFieldsFragmentDoc } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { ProductFeatureFieldsFragmentDoc } from '../../ctf-product-feature/__generated/ctf-product-feature.generated'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import { customFetcher } from '@src/lib/fetchConfig'; +export type ProductTableFieldsFragment = { __typename: 'ComponentProductTable', headline?: string | null, subline?: string | null, sys: { __typename?: 'Sys', id: string }, productsCollection?: { __typename?: 'ComponentProductTableProductsCollection', items: Array<( + { __typename?: 'TopicProduct' } + & ProductFieldsFragment + ) | null> } | null }; + +export type CtfProductTableQueryVariables = Types.Exact<{ + id: Types.Scalars['String']; + locale?: Types.InputMaybe; + preview?: Types.InputMaybe; +}>; + + +export type CtfProductTableQuery = { __typename?: 'Query', componentProductTable?: ( + { __typename?: 'ComponentProductTable' } + & ProductTableFieldsFragment + ) | null }; + +export const ProductTableFieldsFragmentDoc = ` + fragment ProductTableFields on ComponentProductTable { + __typename + sys { + id + } + headline + subline + productsCollection(limit: 3) { + items { + ...ProductFields + } + } +} + `; +export const CtfProductTableDocument = ` + query CtfProductTable($id: String!, $locale: String, $preview: Boolean) { + componentProductTable(id: $id, preview: $preview, locale: $locale) { + ...ProductTableFields + } +} + ${ProductTableFieldsFragmentDoc} +${ProductFieldsFragmentDoc} +${AssetFieldsFragmentDoc} +${ProductFeatureFieldsFragmentDoc}`; +export const useCtfProductTableQuery = < + TData = CtfProductTableQuery, + TError = unknown + >( + variables: CtfProductTableQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + ['CtfProductTable', variables], + customFetcher(CtfProductTableDocument, variables), + options + ); + +useCtfProductTableQuery.getKey = (variables: CtfProductTableQueryVariables) => ['CtfProductTable', variables]; +; + +useCtfProductTableQuery.fetcher = (variables: CtfProductTableQueryVariables, options?: RequestInit['headers']) => customFetcher(CtfProductTableDocument, variables, options); \ No newline at end of file diff --git a/src/components/features/ctf-components/ctf-product-table/ctf-product-table-gql.tsx b/src/components/features/ctf-components/ctf-product-table/ctf-product-table-gql.tsx new file mode 100644 index 0000000..531c937 --- /dev/null +++ b/src/components/features/ctf-components/ctf-product-table/ctf-product-table-gql.tsx @@ -0,0 +1,37 @@ +import { useContentfulLiveUpdates } from '@contentful/live-preview/react'; +import { Container } from '@mui/material'; + +import { useCtfProductTableQuery } from './__generated/ctf-product-table.generated'; +import { CtfProductTable } from './ctf-product-table'; + +import { EntryNotFound } from '@src/components/features/errors/entry-not-found'; + +interface CtfProductTableGqlPropsInterface { + id: string; + locale: string; + preview?: boolean; +} + +export const CtfProductTableGql = (props: CtfProductTableGqlPropsInterface) => { + const { isLoading, data } = useCtfProductTableQuery({ + id: props.id, + locale: props.locale, + preview: props.preview, + }); + + const componentProductTable = useContentfulLiveUpdates(data?.componentProductTable); + + if (isLoading || !componentProductTable) { + return null; + } + + if (!componentProductTable) { + return ( + + + + ); + } + + return ; +}; diff --git a/src/components/features/ctf-components/ctf-product-table/ctf-product-table.graphql b/src/components/features/ctf-components/ctf-product-table/ctf-product-table.graphql new file mode 100644 index 0000000..a38b282 --- /dev/null +++ b/src/components/features/ctf-components/ctf-product-table/ctf-product-table.graphql @@ -0,0 +1,19 @@ +fragment ProductTableFields on ComponentProductTable { + __typename + sys { + id + } + headline + subline + productsCollection(limit: 3) { + items { + ...ProductFields + } + } +} + +query CtfProductTable($id: String!, $locale: String, $preview: Boolean) { + componentProductTable(id: $id, preview: $preview, locale: $locale) { + ...ProductTableFields + } +} diff --git a/src/components/features/ctf-components/ctf-product-table/ctf-product-table.tsx b/src/components/features/ctf-components/ctf-product-table/ctf-product-table.tsx new file mode 100644 index 0000000..f1d582c --- /dev/null +++ b/src/components/features/ctf-components/ctf-product-table/ctf-product-table.tsx @@ -0,0 +1,477 @@ +import { useContentfulInspectorMode } from '@contentful/live-preview/react'; +import { Theme, Typography, Container } from '@mui/material'; +import { makeStyles } from '@mui/styles'; +import throttle from 'lodash/throttle'; +import Image, { ImageLoader } from 'next/image'; +import { useTranslation } from 'next-i18next'; +import queryString from 'query-string'; +import { useState, useMemo, useRef, useEffect, useCallback } from 'react'; + +import { ProductTableFieldsFragment } from './__generated/ctf-product-table.generated'; + +import { CtfRichtext } from '@src/components/features/ctf-components/ctf-richtext/ctf-richtext'; +import { FormatCurrency } from '@src/components/features/format-currency'; +import { SectionHeadlines } from '@src/components/features/section-headlines'; +import LayoutContext, { defaultLayout } from '@src/layout-context'; + +const contentfulLoader: ImageLoader = ({ src, width, quality }) => { + const params: Record = {}; + + if (width) { + params.w = width; + } + + if (quality) { + params.q = quality; + } + + return queryString.stringifyUrl({ url: src, query: params }); +}; + +const useStyles = makeStyles((theme: Theme) => ({ + section: { + backgroundColor: '#FCFCFC', + }, + innerContainer: { + marginLeft: 'auto', + marginRight: 'auto', + maxWidth: '126rem', + padding: theme.spacing(19, 0, 11), + }, + sectionHeadlines: { + marginBottom: theme.spacing(12), + }, + comparisonTable: { + display: 'flex', + flexFlow: 'row wrap', + justifyContent: 'center', + marginLeft: theme.spacing(-10), + marginTop: theme.spacing(8), + '@media (max-width: 1059px)': { + '[data-columns-count="3"] & $comparisonTableColumn:nth-child(3) [data-equal-size]': { + height: 'auto !important', + }, + }, + '@media (max-width: 819px)': { + '[data-columns-count] & [data-equal-size]': { + height: 'auto !important', + }, + '[data-columns-count] & $comparisonTableColumn:not(:first-child)': { + marginTop: theme.spacing(8), + }, + }, + }, + comparisonTableColumn: { + display: 'flex', + flexDirection: 'column', + flexShrink: 0, + marginBottom: theme.spacing(4), + maxWidth: '100%', + paddingLeft: theme.spacing(10), + width: '40.5rem', + [theme.breakpoints.up('md')]: { + width: '35rem', + }, + '@media (min-width: 1320px)': { + width: '40.5rem', + }, + }, + comparisonFeaturesBreak: { + padding: theme.spacing(6, 0, 6), + [theme.breakpoints.up('md')]: { + padding: theme.spacing(11, 0, 11), + }, + }, + title: { + color: '#1B273A', + fontSize: '2rem', + fontWeight: 500, + lineHeight: 1.09, + }, + shortDescription: { + marginTop: theme.spacing(8), + paddingBottom: theme.spacing(4), + '& p': { + fontWeight: 400, + color: '#414D63', + fontSize: '1.8rem', + lineHeight: 1.55, + }, + }, + featuredImage: { + paddingBottom: theme.spacing(7), + }, + feature: { + paddingBottom: theme.spacing(2), + [theme.breakpoints.up('md')]: { + paddingBottom: theme.spacing(5), + }, + color: '#414D63', + }, + featureInner: { + overflow: 'hidden', + }, + signUp: { + marginTop: theme.spacing(6), + }, + pricingBottom: { + marginTop: 'auto', + paddingTop: theme.spacing(3), + [theme.breakpoints.up('md')]: { + marginTop: 'auto', + paddingTop: theme.spacing(8), + }, + }, + priceAddition: { + fontSize: '1.8rem', + fontWeight: 400, + color: '#414D63', + }, + priceUpper: { + fontSize: '1.8rem', + fontWeight: 400, + color: '#414D63', + '& $priceAddition': { + fontSize: '1.8rem', + fontWeight: 400, + }, + }, +})); + +export const CtfProductTable = (props: ProductTableFieldsFragment) => { + const { t } = useTranslation(); + const { + headline, + subline, + productsCollection, + sys: { id }, + } = props; + + const classes = useStyles(); + const inspectorMode = useContentfulInspectorMode(); + + // Rendering product features + const featureNames: string[] | null = useMemo(() => { + if (!productsCollection || productsCollection?.items.length === 0) { + return null; + } + + const names: string[] = []; + + productsCollection?.items.forEach(product => { + if (!product || (product.featuresCollection?.items.length || 0) === 0) { + return; + } + + product.featuresCollection!.items.forEach(feature => { + if (!feature?.name) { + return; + } + + if (names.includes(feature.name)) { + return; + } + + names.push(feature.name); + }); + }); + + return names; + }, [productsCollection]); + + const featuresGrid: Record< + string, + Record; value: any }> + > | null = useMemo(() => { + if (!featureNames || !productsCollection) { + return null; + } + + const grid = {}; + + featureNames.forEach(featureName => { + grid[featureName] = {}; + + productsCollection?.items.forEach(product => { + if (!product || (product.featuresCollection?.items.length || 0) === 0) { + return; + } + + const feature = product.featuresCollection!.items.find( + featureX => featureX?.name === featureName, + ); + + if (!feature) { + return; + } + + const fieldId: keyof typeof feature = feature.shortDescription + ? 'shortDescription' + : 'longDescription'; + + grid[featureName][product.sys.id] = { + attributes: inspectorMode({ fieldId, entryId: feature.sys.id }), + value: feature[fieldId], + }; + }); + }); + + return grid; + }, [featureNames, productsCollection, inspectorMode]); + + // Keeping the grid items the same size + const gridElement = useRef(null); + const gridColumnElements = useRef<(HTMLDivElement | null)[]>([]); + const [gridSizes, setGridSizes] = useState<{ [key: string]: number }>({}); + const resizeGridItems = useCallback( + () => + throttle(() => { + if (!gridElement.current || gridColumnElements.current.length === 0) { + return; + } + + gridElement.current.setAttribute( + 'data-columns-count', + `${gridColumnElements.current.length}`, + ); + + const children = gridElement.current.querySelectorAll('[data-equal-size]'); + + if (children.length === 0) { + return; + } + + const heightMap: { [key: string]: number } = {}; + + for (let i = 0; i < children.length; i += 1) { + const child = children[i]; + const childIndex = child.getAttribute('data-equal-size') || '0'; + const childHeight = child.scrollHeight; + + if (heightMap[`index-${childIndex}`] === undefined) { + heightMap[`index-${childIndex}`] = childHeight; + } else if (heightMap[`index-${childIndex}`] < childHeight) { + heightMap[`index-${childIndex}`] = childHeight; + } + } + + setGridSizes(heightMap); + }, 100), + [], + ); + + useEffect(() => { + if (!gridElement.current) { + return () => { + window.removeEventListener('resize', resizeGridItems); + }; + } + + window.addEventListener('resize', resizeGridItems); + resizeGridItems(); + + return () => { + window.removeEventListener('resize', resizeGridItems); + }; + }, [resizeGridItems]); + + return ( +
    + +
    + + {productsCollection && productsCollection.items.length > 0 && ( +
    + {productsCollection.items.map( + (product, j) => + product && ( +
    { + gridColumnElements.current[j] = el; + }} + {...inspectorMode({ + entryId: product.sys.id, + fieldId: 'internalName', + })} + > +
    +
    + {product.featuredImage && ( + {product.featuredImage.description + )} +
    +
    +
    + + {product.name} + +
    +
    + {product.description && ( + + + + )} +
    +
    + {!product.price || product.price === 0 ? ( + + {t('price.free')} + + ) : ( + + + /{t('time.month')} + + )} +
    + {featureNames && featuresGrid && ( + +
    +
    + {featureNames.map( + (featureName, i) => + featuresGrid[featureName][product.sys.id] && ( +
    +
    + +
    +
    + ), + )} +
    + + )} +
    + {!product.price || product.price === 0 ? ( + + {t('price.free')} + + ) : ( + + + /{t('time.month')} + + )} +
    +
    + ), + )} +
    + )} +
    + +
    + ); +}; diff --git a/src/components/features/ctf-components/ctf-product/__generated/ctf-product.generated.ts b/src/components/features/ctf-components/ctf-product/__generated/ctf-product.generated.ts new file mode 100644 index 0000000..afcaafc --- /dev/null +++ b/src/components/features/ctf-components/ctf-product/__generated/ctf-product.generated.ts @@ -0,0 +1,75 @@ +import * as Types from '../../../../../lib/__generated/graphql.types'; + +import { AssetFieldsFragment } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { ProductFeatureFieldsFragment } from '../../ctf-product-feature/__generated/ctf-product-feature.generated'; +import { AssetFieldsFragmentDoc } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { ProductFeatureFieldsFragmentDoc } from '../../ctf-product-feature/__generated/ctf-product-feature.generated'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import { customFetcher } from '@src/lib/fetchConfig'; +export type ProductFieldsFragment = { __typename: 'TopicProduct', name?: string | null, price?: number | null, sys: { __typename?: 'Sys', id: string }, featuredImage?: ( + { __typename?: 'Asset' } + & AssetFieldsFragment + ) | null, description?: { __typename?: 'TopicProductDescription', json: any } | null, featuresCollection?: { __typename?: 'TopicProductFeaturesCollection', items: Array<( + { __typename?: 'TopicProductFeature' } + & ProductFeatureFieldsFragment + ) | null> } | null }; + +export type CtfProductQueryVariables = Types.Exact<{ + id: Types.Scalars['String']; + locale?: Types.InputMaybe; + preview?: Types.InputMaybe; +}>; + + +export type CtfProductQuery = { __typename?: 'Query', topicProduct?: ( + { __typename?: 'TopicProduct' } + & ProductFieldsFragment + ) | null }; + +export const ProductFieldsFragmentDoc = ` + fragment ProductFields on TopicProduct { + __typename + sys { + id + } + name + featuredImage { + ...AssetFields + } + description { + json + } + price + featuresCollection(limit: 30) { + items { + ...ProductFeatureFields + } + } +} + `; +export const CtfProductDocument = ` + query CtfProduct($id: String!, $locale: String, $preview: Boolean) { + topicProduct(id: $id, preview: $preview, locale: $locale) { + ...ProductFields + } +} + ${ProductFieldsFragmentDoc} +${AssetFieldsFragmentDoc} +${ProductFeatureFieldsFragmentDoc}`; +export const useCtfProductQuery = < + TData = CtfProductQuery, + TError = unknown + >( + variables: CtfProductQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + ['CtfProduct', variables], + customFetcher(CtfProductDocument, variables), + options + ); + +useCtfProductQuery.getKey = (variables: CtfProductQueryVariables) => ['CtfProduct', variables]; +; + +useCtfProductQuery.fetcher = (variables: CtfProductQueryVariables, options?: RequestInit['headers']) => customFetcher(CtfProductDocument, variables, options); \ No newline at end of file diff --git a/src/components/features/ctf-components/ctf-product/ctf-product-gql.tsx b/src/components/features/ctf-components/ctf-product/ctf-product-gql.tsx new file mode 100644 index 0000000..2a67aec --- /dev/null +++ b/src/components/features/ctf-components/ctf-product/ctf-product-gql.tsx @@ -0,0 +1,51 @@ +import { useContentfulLiveUpdates } from '@contentful/live-preview/react'; +import { Container } from '@mui/material'; +import Head from 'next/head'; + +import { useCtfProductQuery } from './__generated/ctf-product.generated'; +import { CtfProduct } from './ctf-product'; + +import { EntryNotFound } from '@src/components/features/errors/entry-not-found'; + +interface CtfProductGqlPropsInterface { + id: string; + locale: string; + preview?: boolean; +} + +export const CtfProductGql = (props: CtfProductGqlPropsInterface) => { + const { isLoading, data } = useCtfProductQuery({ + id: props.id, + locale: props.locale, + preview: props.preview, + }); + + const topicProduct = useContentfulLiveUpdates(data?.topicProduct); + + if (!data || isLoading) { + return null; + } + + if (!topicProduct) { + return ( + + + + ); + } + + return ( + <> + {topicProduct?.featuredImage && ( + + + + )} + + + ); +}; diff --git a/src/components/features/ctf-components/ctf-product/ctf-product.graphql b/src/components/features/ctf-components/ctf-product/ctf-product.graphql new file mode 100644 index 0000000..29ec696 --- /dev/null +++ b/src/components/features/ctf-components/ctf-product/ctf-product.graphql @@ -0,0 +1,25 @@ +fragment ProductFields on TopicProduct { + __typename + sys { + id + } + name + featuredImage { + ...AssetFields + } + description { + json + } + price + featuresCollection(limit: 30) { + items { + ...ProductFeatureFields + } + } +} + +query CtfProduct($id: String!, $locale: String, $preview: Boolean) { + topicProduct(id: $id, preview: $preview, locale: $locale) { + ...ProductFields + } +} diff --git a/src/components/features/ctf-components/ctf-product/ctf-product.tsx b/src/components/features/ctf-components/ctf-product/ctf-product.tsx new file mode 100644 index 0000000..8110b75 --- /dev/null +++ b/src/components/features/ctf-components/ctf-product/ctf-product.tsx @@ -0,0 +1,233 @@ +import { useContentfulInspectorMode } from '@contentful/live-preview/react'; +import { Theme, Container, Typography, Box } from '@mui/material'; +import { makeStyles } from '@mui/styles'; +import { Fragment } from 'react'; + +import { ProductFieldsFragment } from './__generated/ctf-product.generated'; + +import { CtfAsset } from '@src/components/features/ctf-components/ctf-asset/ctf-asset'; +import { CtfRichtext } from '@src/components/features/ctf-components/ctf-richtext/ctf-richtext'; +import LayoutContext, { defaultLayout } from '@src/layout-context'; + +const useStyles = makeStyles((theme: Theme) => ({ + innerIntroContainer: { + display: 'flex', + flexDirection: 'column', + marginLeft: 'auto', + marginRight: 'auto', + maxWidth: '126rem', + padding: theme.spacing(19, 0, 19), + [theme.breakpoints.up('md')]: { + alignItems: 'center', + flexDirection: 'row', + justifyContent: 'space-between', + }, + }, + innerBody: { + order: 2, + width: '100%', + + [theme.breakpoints.up('md')]: { + width: 'calc(50% - 2.5rem)', + }, + }, + headline: { + fontSize: '3.2rem', + maxWidth: '60.4rem', + fontWeight: 600, + lineHeight: 1.39, + [theme.breakpoints.up('xl')]: { + fontSize: '2.375rem', + }, + }, + body: { + fontWeight: 400, + lineHeight: 1.52, + marginTop: theme.spacing(7), + maxWidth: '51rem', + + '& p': { + fontSize: '2rem', + [theme.breakpoints.up('xl')]: { + fontSize: '2.5rem', + fontWeight: 400, + lineHeight: 1.56, + }, + }, + }, + ctaContainer: { + marginTop: theme.spacing(8), + '& svg.MuiSvgIcon-root': { + fontSize: 'inherit', + }, + }, + imageContainer: { + marginBottom: theme.spacing(10), + order: 1, + width: '100%', + + [theme.breakpoints.up('md')]: { + display: 'flex', + justifyContent: 'flex-end', + marginBottom: 0, + order: 3, + width: 'calc(50% - 2.5rem)', + }, + }, + imageInner: { + maxWidth: '47rem', + }, + innerContainer: { + marginLeft: 'auto', + marginRight: 'auto', + maxWidth: '77rem', + }, + featuresSection: { + backgroundColor: '#FCFCFC', + padding: theme.spacing(19, 0, 12), + }, + featureSeparator: { + backgroundColor: '#707070', + height: '2px', + '&:first-child': { + display: 'none', + }, + }, + featureRow: { + [theme.breakpoints.up('md')]: { + display: 'flex', + }, + '&:not(:nth-child(2))': { + marginTop: theme.spacing(10), + }, + }, + featureName: { + marginBottom: theme.spacing(4), + marginTop: 0, + color: '#414D63', + [theme.breakpoints.up('md')]: { + flexGrow: 1, + flexShrink: 0, + marginBottom: theme.spacing(10), + marginRight: theme.spacing(10), + width: 'auto', + }, + }, + featureValue: { + [theme.breakpoints.up('md')]: { + flexGrow: 0, + flexShrink: 0, + width: '50rem', + }, + '& .MuiTypography-body1': { + fontSize: '1.8rem', + fontWeight: 400, + color: '#414D63', + }, + '& > div:last-child': { + marginBottom: theme.spacing(10), + }, + }, +})); + +export const CtfProduct = (props: ProductFieldsFragment) => { + const { + name, + featuredImage, + description, + featuresCollection, + sys: { id }, + } = props; + + const inspectorMode = useContentfulInspectorMode(); + const classes = useStyles(); + + return ( + <> + +
    +
    + {name && ( + + {name} + + )} + {description && ( + +
    + +
    +
    + )} +
    + {featuredImage && ( +
    + +
    + )} +
    +
    + {featuresCollection && featuresCollection.items.length > 0 && ( + +
    + +
    + + {featuresCollection.items.map( + item => + item && ( + +
    +
    + + {item.name} + + + {item.longDescription && ( +
    + +
    + )} +
    +
    + + ), + )} + +
    + +
    +
    + )} + + ); +}; diff --git a/src/components/features/ctf-components/ctf-quote/__generated/ctf-quote.generated.ts b/src/components/features/ctf-components/ctf-quote/__generated/ctf-quote.generated.ts new file mode 100644 index 0000000..739977b --- /dev/null +++ b/src/components/features/ctf-components/ctf-quote/__generated/ctf-quote.generated.ts @@ -0,0 +1,131 @@ +import * as Types from '../../../../../lib/__generated/graphql.types'; + +import { ComponentReferenceFields_ComponentCta_Fragment, ComponentReferenceFields_ComponentDuplex_Fragment, ComponentReferenceFields_ComponentHeroBanner_Fragment, ComponentReferenceFields_ComponentInfoBlock_Fragment, ComponentReferenceFields_ComponentProductTable_Fragment, ComponentReferenceFields_ComponentQuote_Fragment, ComponentReferenceFields_ComponentTextBlock_Fragment, ComponentReferenceFields_FooterMenu_Fragment, ComponentReferenceFields_MenuGroup_Fragment, ComponentReferenceFields_NavigationMenu_Fragment, ComponentReferenceFields_Page_Fragment, ComponentReferenceFields_Seo_Fragment, ComponentReferenceFields_TopicBusinessInfo_Fragment, ComponentReferenceFields_TopicPerson_Fragment, ComponentReferenceFields_TopicProduct_Fragment, ComponentReferenceFields_TopicProductFeature_Fragment } from '../../../../../lib/shared-fragments/__generated/ctf-componentMap.generated'; +import { AssetFieldsFragment } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { ComponentReferenceFieldsFragmentDoc } from '../../../../../lib/shared-fragments/__generated/ctf-componentMap.generated'; +import { AssetFieldsFragmentDoc } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import { customFetcher } from '@src/lib/fetchConfig'; +export type QuoteFieldsFragment = { __typename: 'ComponentQuote', quoteAlignment?: boolean | null, imagePosition?: boolean | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, quote?: { __typename?: 'ComponentQuoteQuote', json: any, links: { __typename?: 'ComponentQuoteQuoteLinks', entries: { __typename?: 'ComponentQuoteQuoteEntries', block: Array<( + { __typename?: 'ComponentCta' } + & ComponentReferenceFields_ComponentCta_Fragment + ) | ( + { __typename?: 'ComponentDuplex' } + & ComponentReferenceFields_ComponentDuplex_Fragment + ) | ( + { __typename?: 'ComponentHeroBanner' } + & ComponentReferenceFields_ComponentHeroBanner_Fragment + ) | ( + { __typename?: 'ComponentInfoBlock' } + & ComponentReferenceFields_ComponentInfoBlock_Fragment + ) | ( + { __typename?: 'ComponentProductTable' } + & ComponentReferenceFields_ComponentProductTable_Fragment + ) | ( + { __typename?: 'ComponentQuote' } + & ComponentReferenceFields_ComponentQuote_Fragment + ) | ( + { __typename?: 'ComponentTextBlock' } + & ComponentReferenceFields_ComponentTextBlock_Fragment + ) | ( + { __typename?: 'FooterMenu' } + & ComponentReferenceFields_FooterMenu_Fragment + ) | ( + { __typename?: 'MenuGroup' } + & ComponentReferenceFields_MenuGroup_Fragment + ) | ( + { __typename?: 'NavigationMenu' } + & ComponentReferenceFields_NavigationMenu_Fragment + ) | ( + { __typename?: 'Page' } + & ComponentReferenceFields_Page_Fragment + ) | ( + { __typename?: 'Seo' } + & ComponentReferenceFields_Seo_Fragment + ) | ( + { __typename?: 'TopicBusinessInfo' } + & ComponentReferenceFields_TopicBusinessInfo_Fragment + ) | ( + { __typename?: 'TopicPerson' } + & ComponentReferenceFields_TopicPerson_Fragment + ) | ( + { __typename?: 'TopicProduct' } + & ComponentReferenceFields_TopicProduct_Fragment + ) | ( + { __typename?: 'TopicProductFeature' } + & ComponentReferenceFields_TopicProductFeature_Fragment + ) | null> }, assets: { __typename?: 'ComponentQuoteQuoteAssets', block: Array<( + { __typename?: 'Asset' } + & AssetFieldsFragment + ) | null> } } } | null, image?: ( + { __typename?: 'Asset' } + & AssetFieldsFragment + ) | null }; + +export type CtfQuoteQueryVariables = Types.Exact<{ + id: Types.Scalars['String']; + locale?: Types.InputMaybe; + preview?: Types.InputMaybe; +}>; + + +export type CtfQuoteQuery = { __typename?: 'Query', componentQuote?: ( + { __typename?: 'ComponentQuote' } + & QuoteFieldsFragment + ) | null }; + +export const QuoteFieldsFragmentDoc = ` + fragment QuoteFields on ComponentQuote { + __typename + sys { + id + } + quote { + json + links { + entries { + block { + ...ComponentReferenceFields + } + } + assets { + block { + ...AssetFields + } + } + } + } + quoteAlignment + image { + ...AssetFields + } + imagePosition + colorPalette +} + `; +export const CtfQuoteDocument = ` + query CtfQuote($id: String!, $locale: String, $preview: Boolean) { + componentQuote(id: $id, locale: $locale, preview: $preview) { + ...QuoteFields + } +} + ${QuoteFieldsFragmentDoc} +${ComponentReferenceFieldsFragmentDoc} +${AssetFieldsFragmentDoc}`; +export const useCtfQuoteQuery = < + TData = CtfQuoteQuery, + TError = unknown + >( + variables: CtfQuoteQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + ['CtfQuote', variables], + customFetcher(CtfQuoteDocument, variables), + options + ); + +useCtfQuoteQuery.getKey = (variables: CtfQuoteQueryVariables) => ['CtfQuote', variables]; +; + +useCtfQuoteQuery.fetcher = (variables: CtfQuoteQueryVariables, options?: RequestInit['headers']) => customFetcher(CtfQuoteDocument, variables, options); \ No newline at end of file diff --git a/src/components/features/ctf-components/ctf-quote/ctf-quote-gql.tsx b/src/components/features/ctf-components/ctf-quote/ctf-quote-gql.tsx new file mode 100644 index 0000000..01af2fe --- /dev/null +++ b/src/components/features/ctf-components/ctf-quote/ctf-quote-gql.tsx @@ -0,0 +1,28 @@ +import { useContentfulLiveUpdates } from '@contentful/live-preview/react'; + +import { useCtfQuoteQuery } from './__generated/ctf-quote.generated'; +import { CtfQuote } from './ctf-quote'; + +interface CtfQuoteGqlPropsInterface { + id: string; + locale: string; + preview: boolean; +} + +export const CtfQuoteGql = (props: CtfQuoteGqlPropsInterface) => { + const { id, locale, preview } = props; + + const { isLoading, data } = useCtfQuoteQuery({ + id, + locale, + preview, + }); + + const componentQuote = useContentfulLiveUpdates(data?.componentQuote); + + if (isLoading || !componentQuote) { + return null; + } + + return ; +}; diff --git a/src/components/features/ctf-components/ctf-quote/ctf-quote.graphql b/src/components/features/ctf-components/ctf-quote/ctf-quote.graphql new file mode 100644 index 0000000..3921c1c --- /dev/null +++ b/src/components/features/ctf-components/ctf-quote/ctf-quote.graphql @@ -0,0 +1,33 @@ +fragment QuoteFields on ComponentQuote { + __typename + sys { + id + } + quote { + json + links { + entries { + block { + ...ComponentReferenceFields + } + } + assets { + block { + ...AssetFields + } + } + } + } + quoteAlignment + image { + ...AssetFields + } + imagePosition + colorPalette +} + +query CtfQuote($id: String!, $locale: String, $preview: Boolean) { + componentQuote(id: $id, locale: $locale, preview: $preview) { + ...QuoteFields + } +} diff --git a/src/components/features/ctf-components/ctf-quote/ctf-quote.tsx b/src/components/features/ctf-components/ctf-quote/ctf-quote.tsx new file mode 100644 index 0000000..adbc7fa --- /dev/null +++ b/src/components/features/ctf-components/ctf-quote/ctf-quote.tsx @@ -0,0 +1,176 @@ +import { useContentfulInspectorMode } from '@contentful/live-preview/react'; +import { Container, Theme } from '@mui/material'; +import { makeStyles } from '@mui/styles'; +import clsx from 'clsx'; +import { useMemo } from 'react'; + +import { QuoteFieldsFragment } from './__generated/ctf-quote.generated'; + +import { CtfRichtext } from '@src/components/features/ctf-components/ctf-richtext/ctf-richtext'; +import LayoutContext, { defaultLayout } from '@src/layout-context'; +import { getColorConfigFromPalette } from '@src/theme'; + +const useStyles = makeStyles((theme: Theme) => ({ + innerContainer: { + display: 'flex', + flexDirection: 'column', + marginLeft: 'auto', + marginRight: 'auto', + maxWidth: (props: QuoteFieldsFragment) => (!props.image ? '93.4rem' : '126rem'), + padding: theme.spacing(19, 0, 19), + [theme.breakpoints.up('md')]: { + alignItems: 'center', + flexDirection: 'row', + justifyContent: 'space-between', + }, + }, + innerBody: { + order: 2, + width: '100%', + + [theme.breakpoints.up('md')]: { + width: 'calc(50% - 2.5rem)', + }, + + '& p': { + fontSize: '1.563rem', + fontWeight: 400, + }, + + '& blockquote': { + borderLeftWidth: 0, + fontStyle: 'normal', + paddingLeft: 0, + color: (props: QuoteFieldsFragment) => { + const colorConfig = getColorConfigFromPalette(props.colorPalette || ''); + + return colorConfig.headlineColor; + }, + '& .MuiContainer-root': { + paddingLeft: 0, + paddingRight: 0, + }, + '& p': { + fontSize: '2.8rem', + fontWeight: 300, + lineHeight: 1.314, + color: '#414D63', + }, + }, + + '& figure': { + display: 'inline-block', + marginBottom: theme.spacing(6), + maxWidth: '24rem', + }, + }, + innerBodyFull: { + flexShrink: 0, + width: '100%', + }, + 'innerBody-imageLeft': { + [theme.breakpoints.up('md')]: { + order: 2, + }, + }, + 'innerBody-imageRight': { + [theme.breakpoints.up('md')]: { + order: 0, + }, + }, + imageContainer: { + maxWidth: '60rem', + order: 1, + width: '100%', + + [theme.breakpoints.up('md')]: { + maxWidth: '100%', + width: 'calc(50% - 2.5rem)', + }, + }, + imageFixed: { + backgroundPosition: 'center', + backgroundSize: 'cover', + marginBottom: theme.spacing(7), + borderRadius: '16px', + boxShadow: `0px 0px 0px 1px rgba(25, 37, 50, 0.1), + 0px -6px 16px -6px rgba(25, 37, 50, 0.03), + 0px 8px 16px -8px rgba(25, 37, 50, 0.2), + 0px 13px 27px -5px rgba(25, 37, 50, 0.15)`, + + [theme.breakpoints.up('md')]: { + marginBottom: 0, + }, + + '&::before': { + content: '""', + display: 'block', + paddingTop: '83.333%', + }, + }, +})); + +export const CtfQuote = (props: QuoteFieldsFragment) => { + const { + imagePosition, + image, + quote, + colorPalette, + quoteAlignment: quoteAlignmentBoolean, + sys: { id }, + } = props; + const colorConfig = getColorConfigFromPalette(colorPalette || ''); + const containerLayout = imagePosition === true ? 'imageLeft' : 'imageRight'; + const quoteAlignment = quoteAlignmentBoolean === true ? 'center' : 'left'; + const backgroundImage = useMemo(() => (image ? `${image.url}?w=${600 * 2}` : undefined), [image]); + const classes = useStyles(props); + const inspectorMode = useContentfulInspectorMode({ entryId: id }); + + return ( + + +
    +
    + {quote && ( +
    + +
    + )} +
    +
    + {backgroundImage && ( +
    + )} +
    +
    + + + ); +}; diff --git a/src/components/features/ctf-components/ctf-richtext/__generated/ctf-richtext.generated.ts b/src/components/features/ctf-components/ctf-richtext/__generated/ctf-richtext.generated.ts new file mode 100644 index 0000000..f4261ce --- /dev/null +++ b/src/components/features/ctf-components/ctf-richtext/__generated/ctf-richtext.generated.ts @@ -0,0 +1,53 @@ +import * as Types from '../../../../../lib/__generated/graphql.types'; + +import { PageLinkFieldsFragment } from '../../../page-link/__generated/page-link.generated'; +import { PageLinkFieldsFragmentDoc } from '../../../page-link/__generated/page-link.generated'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import { customFetcher } from '@src/lib/fetchConfig'; +export type RichTextHyperlinkFieldsFragment = { __typename?: 'Query', page?: ( + { __typename?: 'Page' } + & PageLinkFieldsFragment + ) | null }; + +export type CtfRichTextHyperlinkQueryVariables = Types.Exact<{ + id: Types.Scalars['String']; + locale?: Types.InputMaybe; + preview?: Types.InputMaybe; +}>; + + +export type CtfRichTextHyperlinkQuery = ( + { __typename?: 'Query' } + & RichTextHyperlinkFieldsFragment +); + +export const RichTextHyperlinkFieldsFragmentDoc = ` + fragment RichTextHyperlinkFields on Query { + page(id: $id, preview: $preview, locale: $locale) { + ...PageLinkFields + } +} + `; +export const CtfRichTextHyperlinkDocument = ` + query CtfRichTextHyperlink($id: String!, $locale: String, $preview: Boolean) { + ...RichTextHyperlinkFields +} + ${RichTextHyperlinkFieldsFragmentDoc} +${PageLinkFieldsFragmentDoc}`; +export const useCtfRichTextHyperlinkQuery = < + TData = CtfRichTextHyperlinkQuery, + TError = unknown + >( + variables: CtfRichTextHyperlinkQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + ['CtfRichTextHyperlink', variables], + customFetcher(CtfRichTextHyperlinkDocument, variables), + options + ); + +useCtfRichTextHyperlinkQuery.getKey = (variables: CtfRichTextHyperlinkQueryVariables) => ['CtfRichTextHyperlink', variables]; +; + +useCtfRichTextHyperlinkQuery.fetcher = (variables: CtfRichTextHyperlinkQueryVariables, options?: RequestInit['headers']) => customFetcher(CtfRichTextHyperlinkDocument, variables, options); \ No newline at end of file diff --git a/src/components/features/ctf-components/ctf-richtext/ctf-richtext.graphql b/src/components/features/ctf-components/ctf-richtext/ctf-richtext.graphql new file mode 100644 index 0000000..2fd29b6 --- /dev/null +++ b/src/components/features/ctf-components/ctf-richtext/ctf-richtext.graphql @@ -0,0 +1,9 @@ +fragment RichTextHyperlinkFields on Query { + page(id: $id, preview: $preview, locale: $locale) { + ...PageLinkFields + } +} + +query CtfRichTextHyperlink($id: String!, $locale: String, $preview: Boolean) { + ...RichTextHyperlinkFields +} diff --git a/src/components/features/ctf-components/ctf-richtext/ctf-richtext.tsx b/src/components/features/ctf-components/ctf-richtext/ctf-richtext.tsx new file mode 100644 index 0000000..05c54f0 --- /dev/null +++ b/src/components/features/ctf-components/ctf-richtext/ctf-richtext.tsx @@ -0,0 +1,399 @@ +import { useContentfulLiveUpdates } from '@contentful/live-preview/react'; +import { documentToReactComponents, Options } from '@contentful/rich-text-react-renderer'; +import { Block as RichtextBlock, BLOCKS, INLINES } from '@contentful/rich-text-types'; +import { Theme, Typography, Container } from '@mui/material'; +import { Variant } from '@mui/material/styles/createTypography'; +import { makeStyles } from '@mui/styles'; +import clsx from 'clsx'; +import React, { useMemo, useCallback } from 'react'; + +import { CtfAsset } from '../ctf-asset/ctf-asset'; + +import { AssetFieldsFragment } from '@src/components/features/ctf-components/ctf-asset/__generated/ctf-asset.generated'; +import { useCtfRichTextHyperlinkQuery } from '@src/components/features/ctf-components/ctf-richtext/__generated/ctf-richtext.generated'; +import { PageLink } from '@src/components/features/page-link'; +import { ComponentResolver } from '@src/components/shared/component-resolver'; +import { useContentfulContext } from '@src/contentful-context'; +import { useLayoutContext } from '@src/layout-context'; +import { OmitRecursive, tryget } from '@src/utils'; + +const useStyles = makeStyles((theme: Theme) => ({ + paragrahGridListItem: {}, + + root: { + '& > ol, > ul': { + listStylePosition: 'inside', + marginBottom: theme.spacing(6), + paddingLeft: 0, + + '& p': { + marginBottom: theme.spacing(2), + paddingLeft: theme.spacing(11), + }, + + '& $paragrahGridListItem': { + display: 'block', + '& $paragraphGridContainer': { + marginBottom: 'inherit', + }, + '& p': { + display: 'list-item', + padding: 0, + margin: '0 0 0 2rem', + }, + }, + }, + '& > ol': { + listStyleType: 'none', + + '& $paragrahGridListItem': { + '& p': { + listStyle: 'decimal outside', + }, + }, + }, + '& > ul': { + listStyleType: 'none', + + '& $paragrahGridListItem': { + '& p': { + listStyle: 'disc outside', + }, + }, + }, + '& table': { + borderSpacing: 0, + width: '100%', + tableLayout: 'auto', + textAlign: 'left', + marginTop: '1rem', + marginBottom: '1rem', + '& th': { + fontWeight: '600', + borderBottom: '1px solid #ddd', + verticalAlign: 'bottom', + paddingRight: '0.8rem', + paddingBottom: '0.8rem', + paddingLeft: '0.8rem', + borderRight: '1px solid #ddd', + }, + '& tr': { + borderBottomWidth: '1px', + }, + '& tr:last-child': { + borderBottomWidth: '0', + }, + '& td': { + verticalAlign: 'top', + paddingTop: '0.8rem', + paddingRight: '0.8rem', + paddingBottom: '0.8rem', + paddingLeft: '0.8rem', + borderRight: '1px solid #ddd', + }, + '& th:first-child': { + paddingLeft: '0', + }, + '& th:last-child': { + paddingRight: '0', + borderRight: 0, + }, + '& td:first-child': { + paddingLeft: '0', + }, + '& td:last-child': { + paddingRight: '0', + borderRight: 0, + }, + + '& .MuiContainer-root': { + paddingLeft: 0, + paddingRight: 0, + }, + '& $paragraphGridContainer p:last-child': { + marginBottom: 0, + }, + }, + }, + + embeddedEntry: { + lineHeight: 0, + }, + + paragraphGridContainer: { + '& p': { + marginBottom: theme.spacing(6), + fontSize: '1.8rem', + color: '#414D63', + }, + '& h1, h2, h3, h4, h5, h6': { + marginBottom: theme.spacing(7), + marginTop: theme.spacing(10), + }, + '& blockquote': { + borderLeft: '1px solid #000', + fontStyle: 'italic', + paddingLeft: theme.spacing(11), + }, + '& code': { + backgroundColor: '#F8F8F8', + display: 'block', + fontFamily: 'Courier, monospace', + fontSize: '2rem', + lineHeight: '1.25', + overflow: 'auto', + padding: theme.spacing(18, 10, 15, 10), + }, + '& a': { + color: 'inherit', + }, + '& hr': { + border: 0, + borderTop: '1px solid #797979', + boxShadow: 'none', + marginBottom: theme.spacing(7), + marginLeft: 0, + marginTop: theme.spacing(10), + width: '50%', + }, + '& strong, b': { + fontWeight: 600, + }, + }, +})); + +interface Block extends RichtextBlock { + __typename: string; + sys: { id: string }; +} + +type Asset = OmitRecursive; + +interface CtfRichtextPropsInterface { + json: any; + links?: { + entries?: { + block?: any; + inline?: any; + } | null; + assets?: { + block?: any; + } | null; + } | null; + className?: string; + containerClassName?: string; + gridClassName?: string; +} + +const EntryHyperlink = ({ node }) => { + const { previewActive, locale } = useContentfulContext(); + + const { isLoading, data } = useCtfRichTextHyperlinkQuery({ + locale, + id: node.data?.target.sys.id, + preview: previewActive, + }); + + const page = useContentfulLiveUpdates(data?.page); + + if (!data || isLoading) return null; + + if (page) { + return ( + + {(node.content[0] as any).value} + + ); + } + + return null; +}; + +export const CtfRichtext = (props: CtfRichtextPropsInterface) => { + const { json, links, containerClassName, gridClassName } = props; + const layout = useLayoutContext(); + + const entryBlocks = useMemo( + () => tryget(() => links!.entries!.block!.filter(b => !!b), [] as Block[])!, + [links], + ); + + const assetBlocks = useMemo( + () => tryget(() => links!.assets!.block!.filter(b => !!b), [] as Asset[])!, + [links], + ); + + const classes = useStyles(); + + const ParagraphGridContainer = useCallback( + (containerProps: { children?: any }) => { + return ( + +
    +
    + {containerProps.children} +
    +
    +
    + ); + }, + [classes.paragraphGridContainer, containerClassName, gridClassName, layout.parent], + ); + + const options = useMemo(() => { + const opts: Options = {}; + opts.renderNode = { + [INLINES.EMBEDDED_ENTRY]: node => { + const id = tryget(() => node.data.target.sys.id); + if (id) { + // NOTE: As the Ninetailed mergetag is the only inline entry used on the content model we don't have to setup the check through the links array. + // If there will come additional inline entries this needs to be done. + + return ( + + ); + } + return <>{`${node.nodeType} ${id}`}; + }, + [BLOCKS.EMBEDDED_ENTRY]: node => { + const id = tryget(() => node.data.target.sys.id); + if (id) { + const entry = entryBlocks.find(block => block!.sys.id === id); + + if (entry) { + return ; + } + } + return <>{`${node.nodeType} ${id}`}; + }, + [BLOCKS.EMBEDDED_ASSET]: node => { + const id = tryget(() => node.data.target.sys.id); + if (id) { + const asset = assetBlocks.find(block => block!.sys.id === id); + + return ( + + + + ); + } + + return <>{`${node.nodeType} ${id}`}; + }, + 'entry-hyperlink': node => { + return ; + }, + }; + + const hrRenderer = () => { + return ( + +
    +
    + ); + }; + + interface ParagraphRendererInterface { + variant?: Variant; + className?: string; + component?: React.ElementType; + } + + const paragraphRenderer = + (rendererProps: ParagraphRendererInterface = {}) => + (_node, children) => { + const { variant, className, component } = rendererProps; + + if (!variant) { + return {children}; + } + + if (component) { + return ( + + + {children} + + + ); + } + + return ( + + + {children} + + + ); + }; + + opts.renderNode![BLOCKS.PARAGRAPH] = paragraphRenderer({ + variant: 'body1', + }); + opts.renderNode![BLOCKS.HEADING_1] = paragraphRenderer({ variant: 'h1', component: 'h2' }); + opts.renderNode![BLOCKS.HEADING_2] = paragraphRenderer({ variant: 'h2', component: 'h2' }); + opts.renderNode![BLOCKS.HEADING_3] = paragraphRenderer({ variant: 'h3', component: 'h2' }); + opts.renderNode![BLOCKS.HEADING_4] = paragraphRenderer({ variant: 'h4', component: 'h2' }); + opts.renderNode![BLOCKS.HEADING_5] = paragraphRenderer({ variant: 'h5', component: 'h2' }); + opts.renderNode![BLOCKS.HEADING_6] = paragraphRenderer({ variant: 'h6', component: 'h2' }); + opts.renderNode![BLOCKS.QUOTE] = paragraphRenderer({ + component: 'blockquote', + variant: 'body1', + }); + opts.renderNode![BLOCKS.TABLE] = (_, children) => { + return ( + +
    + {children}
    +
    +
    + ); + }; + opts.renderNode![BLOCKS.HR] = hrRenderer; + opts.renderNode![BLOCKS.LIST_ITEM] = (_, children) => ( +
  • {children}
  • + ); + + opts.renderText = text => { + return text.split('\n').reduce((children, textSegment, index) => { + return [...children, index > 0 &&
    , textSegment]; + }, [] as any[]); + }; + + return opts; + }, [ + ParagraphGridContainer, + assetBlocks, + classes.embeddedEntry, + classes.paragrahGridListItem, + entryBlocks, + ]); + + return ( +
    + {documentToReactComponents(json, options)} +
    + ); +}; diff --git a/src/components/features/ctf-components/ctf-text-block/__generated/ctf-text-block.generated.ts b/src/components/features/ctf-components/ctf-text-block/__generated/ctf-text-block.generated.ts new file mode 100644 index 0000000..0ec6f68 --- /dev/null +++ b/src/components/features/ctf-components/ctf-text-block/__generated/ctf-text-block.generated.ts @@ -0,0 +1,125 @@ +import * as Types from '../../../../../lib/__generated/graphql.types'; + +import { ComponentReferenceFields_ComponentCta_Fragment, ComponentReferenceFields_ComponentDuplex_Fragment, ComponentReferenceFields_ComponentHeroBanner_Fragment, ComponentReferenceFields_ComponentInfoBlock_Fragment, ComponentReferenceFields_ComponentProductTable_Fragment, ComponentReferenceFields_ComponentQuote_Fragment, ComponentReferenceFields_ComponentTextBlock_Fragment, ComponentReferenceFields_FooterMenu_Fragment, ComponentReferenceFields_MenuGroup_Fragment, ComponentReferenceFields_NavigationMenu_Fragment, ComponentReferenceFields_Page_Fragment, ComponentReferenceFields_Seo_Fragment, ComponentReferenceFields_TopicBusinessInfo_Fragment, ComponentReferenceFields_TopicPerson_Fragment, ComponentReferenceFields_TopicProduct_Fragment, ComponentReferenceFields_TopicProductFeature_Fragment } from '../../../../../lib/shared-fragments/__generated/ctf-componentMap.generated'; +import { AssetFieldsFragment } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { ComponentReferenceFieldsFragmentDoc } from '../../../../../lib/shared-fragments/__generated/ctf-componentMap.generated'; +import { AssetFieldsFragmentDoc } from '../../ctf-asset/__generated/ctf-asset.generated'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import { customFetcher } from '@src/lib/fetchConfig'; +export type TextBlockFieldsFragment = { __typename: 'ComponentTextBlock', headline?: string | null, subline?: string | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, body?: { __typename?: 'ComponentTextBlockBody', json: any, links: { __typename?: 'ComponentTextBlockBodyLinks', entries: { __typename?: 'ComponentTextBlockBodyEntries', block: Array<( + { __typename?: 'ComponentCta' } + & ComponentReferenceFields_ComponentCta_Fragment + ) | ( + { __typename?: 'ComponentDuplex' } + & ComponentReferenceFields_ComponentDuplex_Fragment + ) | ( + { __typename?: 'ComponentHeroBanner' } + & ComponentReferenceFields_ComponentHeroBanner_Fragment + ) | ( + { __typename?: 'ComponentInfoBlock' } + & ComponentReferenceFields_ComponentInfoBlock_Fragment + ) | ( + { __typename?: 'ComponentProductTable' } + & ComponentReferenceFields_ComponentProductTable_Fragment + ) | ( + { __typename?: 'ComponentQuote' } + & ComponentReferenceFields_ComponentQuote_Fragment + ) | ( + { __typename?: 'ComponentTextBlock' } + & ComponentReferenceFields_ComponentTextBlock_Fragment + ) | ( + { __typename?: 'FooterMenu' } + & ComponentReferenceFields_FooterMenu_Fragment + ) | ( + { __typename?: 'MenuGroup' } + & ComponentReferenceFields_MenuGroup_Fragment + ) | ( + { __typename?: 'NavigationMenu' } + & ComponentReferenceFields_NavigationMenu_Fragment + ) | ( + { __typename?: 'Page' } + & ComponentReferenceFields_Page_Fragment + ) | ( + { __typename?: 'Seo' } + & ComponentReferenceFields_Seo_Fragment + ) | ( + { __typename?: 'TopicBusinessInfo' } + & ComponentReferenceFields_TopicBusinessInfo_Fragment + ) | ( + { __typename?: 'TopicPerson' } + & ComponentReferenceFields_TopicPerson_Fragment + ) | ( + { __typename?: 'TopicProduct' } + & ComponentReferenceFields_TopicProduct_Fragment + ) | ( + { __typename?: 'TopicProductFeature' } + & ComponentReferenceFields_TopicProductFeature_Fragment + ) | null> }, assets: { __typename?: 'ComponentTextBlockBodyAssets', block: Array<( + { __typename?: 'Asset' } + & AssetFieldsFragment + ) | null> } } } | null }; + +export type CtfTextBlockQueryVariables = Types.Exact<{ + id: Types.Scalars['String']; + locale?: Types.InputMaybe; + preview?: Types.InputMaybe; +}>; + + +export type CtfTextBlockQuery = { __typename?: 'Query', componentTextBlock?: ( + { __typename?: 'ComponentTextBlock' } + & TextBlockFieldsFragment + ) | null }; + +export const TextBlockFieldsFragmentDoc = ` + fragment TextBlockFields on ComponentTextBlock { + __typename + sys { + id + } + headline + subline + body { + json + links { + entries { + block { + ...ComponentReferenceFields + } + } + assets { + block { + ...AssetFields + } + } + } + } + colorPalette +} + `; +export const CtfTextBlockDocument = ` + query CtfTextBlock($id: String!, $locale: String, $preview: Boolean) { + componentTextBlock(id: $id, locale: $locale, preview: $preview) { + ...TextBlockFields + } +} + ${TextBlockFieldsFragmentDoc} +${ComponentReferenceFieldsFragmentDoc} +${AssetFieldsFragmentDoc}`; +export const useCtfTextBlockQuery = < + TData = CtfTextBlockQuery, + TError = unknown + >( + variables: CtfTextBlockQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + ['CtfTextBlock', variables], + customFetcher(CtfTextBlockDocument, variables), + options + ); + +useCtfTextBlockQuery.getKey = (variables: CtfTextBlockQueryVariables) => ['CtfTextBlock', variables]; +; + +useCtfTextBlockQuery.fetcher = (variables: CtfTextBlockQueryVariables, options?: RequestInit['headers']) => customFetcher(CtfTextBlockDocument, variables, options); \ No newline at end of file diff --git a/src/components/features/ctf-components/ctf-text-block/ctf-text-block-gql.tsx b/src/components/features/ctf-components/ctf-text-block/ctf-text-block-gql.tsx new file mode 100644 index 0000000..e776a65 --- /dev/null +++ b/src/components/features/ctf-components/ctf-text-block/ctf-text-block-gql.tsx @@ -0,0 +1,26 @@ +import { useContentfulLiveUpdates } from '@contentful/live-preview/react'; + +import { useCtfTextBlockQuery } from './__generated/ctf-text-block.generated'; +import { CtfTextBlock } from './ctf-text-block'; + +interface CtfTextBlockGqlPropsInterface { + id: string; + locale: string; + preview: boolean; +} + +export const CtfTextBlockGql = ({ id, locale, preview }: CtfTextBlockGqlPropsInterface) => { + const { isLoading, data } = useCtfTextBlockQuery({ + id, + locale, + preview, + }); + + const componentTextBlock = useContentfulLiveUpdates(data?.componentTextBlock); + + if (isLoading || !componentTextBlock) { + return null; + } + + return ; +}; diff --git a/src/components/features/ctf-components/ctf-text-block/ctf-text-block.graphql b/src/components/features/ctf-components/ctf-text-block/ctf-text-block.graphql new file mode 100644 index 0000000..dad6833 --- /dev/null +++ b/src/components/features/ctf-components/ctf-text-block/ctf-text-block.graphql @@ -0,0 +1,30 @@ +fragment TextBlockFields on ComponentTextBlock { + __typename + sys { + id + } + headline + subline + body { + json + links { + entries { + block { + ...ComponentReferenceFields + } + } + assets { + block { + ...AssetFields + } + } + } + } + colorPalette +} + +query CtfTextBlock($id: String!, $locale: String, $preview: Boolean) { + componentTextBlock(id: $id, locale: $locale, preview: $preview) { + ...TextBlockFields + } +} diff --git a/src/components/features/ctf-components/ctf-text-block/ctf-text-block.tsx b/src/components/features/ctf-components/ctf-text-block/ctf-text-block.tsx new file mode 100644 index 0000000..c8b9b91 --- /dev/null +++ b/src/components/features/ctf-components/ctf-text-block/ctf-text-block.tsx @@ -0,0 +1,60 @@ +import { Theme, Container } from '@mui/material'; +import { makeStyles } from '@mui/styles'; + +import { TextBlockFieldsFragment } from './__generated/ctf-text-block.generated'; + +import { CtfRichtext } from '@src/components/features/ctf-components/ctf-richtext/ctf-richtext'; +import { SectionHeadlines } from '@src/components/features/section-headlines'; +import { getColorConfigFromPalette } from '@src/theme'; + +const useStyles = makeStyles((theme: Theme) => ({ + innerContainer: { + marginLeft: 'auto', + marginRight: 'auto', + maxWidth: '126rem', + padding: theme.spacing(19, 0, 19), + }, + sectionHeadlines: { + marginBottom: theme.spacing(12), + }, +})); + +export const CtfTextBlock = ({ + headline, + subline, + body, + colorPalette, +}: TextBlockFieldsFragment) => { + const colorConfig = getColorConfigFromPalette(colorPalette || ''); + const classes = useStyles(); + + return ( + +
    + + {body && ( +
    + +
    + )} +
    +
    + ); +}; diff --git a/src/components/features/ctf-components/ctf-video/ctf-video.tsx b/src/components/features/ctf-components/ctf-video/ctf-video.tsx new file mode 100644 index 0000000..cb6f367 --- /dev/null +++ b/src/components/features/ctf-components/ctf-video/ctf-video.tsx @@ -0,0 +1,45 @@ +import { makeStyles } from '@mui/styles'; +import React from 'react'; + +import { AssetFieldsFragment } from '@src/components/features/ctf-components/ctf-asset/__generated/ctf-asset.generated'; + +const useStyles = makeStyles(() => ({ + image: { + width: '100%', + }, + + video: { + width: '100%', + }, + + caption: { + color: '#797979', + fontSize: '1.8rem', + fontStyle: 'italic', + lineHeight: 1.389, + marginLeft: 'auto', + marginRight: 'auto', + marginTop: '4.7rem', + maxWidth: '77rem', + textAlign: 'center', + }, +})); + +interface CtfVideoPropsInterface extends AssetFieldsFragment { + showDescription?: boolean; + autoplay?: boolean; + className?: string; +} + +export const CtfVideo = (props: CtfVideoPropsInterface) => { + const { description, url, showDescription, autoplay, className } = props; + + const classes = useStyles(); + return ( +
    + {/* eslint-disable-next-line jsx-a11y/media-has-caption */} +
    + ); +}; diff --git a/src/components/features/errors/entry-not-found.tsx b/src/components/features/errors/entry-not-found.tsx new file mode 100644 index 0000000..6d7abbd --- /dev/null +++ b/src/components/features/errors/entry-not-found.tsx @@ -0,0 +1,10 @@ +import { useTranslation } from 'next-i18next'; +import React from 'react'; + +import { ErrorBox } from '@src/components/shared/error-box'; + +export const EntryNotFound = (props: { className?: string }) => { + const { t } = useTranslation(); + + return {t('error.componentNotFound')}; +}; diff --git a/src/components/features/errors/page-error.tsx b/src/components/features/errors/page-error.tsx new file mode 100644 index 0000000..fc78b11 --- /dev/null +++ b/src/components/features/errors/page-error.tsx @@ -0,0 +1,81 @@ +import { Theme, Container, Grid, Typography } from '@mui/material'; +import { makeStyles } from '@mui/styles'; +import { useTranslation } from 'next-i18next'; +import React from 'react'; +import { File } from 'react-kawaii'; + +import { PageContainer } from '@src/components/templates/page-container'; +import colorfulTheme from '@src/theme'; + +interface PropsInterface { + error?: { + code: number; + message?: string; + }; +} + +const useStyles = makeStyles((theme: Theme) => ({ + root: { + width: '100%', + minhHeight: '100%', + color: 'black', + }, + container: { + paddingTop: theme.spacing(16), + }, + content: { + '& > *': { + marginBottom: theme.spacing(6), + }, + }, + icon: { + marginRight: theme.spacing(4), + marginBottom: theme.spacing(3), + }, + headlineWrap: { + alignItems: 'center', + display: 'flex', + }, +})); + +export const PageError = (props: PropsInterface) => { + const { t } = useTranslation(); + const classes = useStyles(); + + const error = + props.error === undefined + ? { + code: 400, + message: t('error.somethingWentWrong'), + } + : props.error; + + return ( +
    + + + + +
    + + + {t('error.code', { code: error.code })} + +
    + {error.message && ( +
    + {error.message} +
    + )} +
    +
    +
    +
    +
    + ); +}; diff --git a/src/components/features/errors/page-graphql-error.tsx b/src/components/features/errors/page-graphql-error.tsx new file mode 100644 index 0000000..1ac57c7 --- /dev/null +++ b/src/components/features/errors/page-graphql-error.tsx @@ -0,0 +1,14 @@ +import { Container, Box } from '@mui/material'; + +import { GraphqlError } from '@src/components/shared/graphql-error'; +import { PageContainer } from '@src/components/templates/page-container'; + +export const PageGraphqlError = (props: { error: any }) => ( + + + + + + + +); diff --git a/src/components/features/format-currency/format-currency.tsx b/src/components/features/format-currency/format-currency.tsx new file mode 100644 index 0000000..81f6b5f --- /dev/null +++ b/src/components/features/format-currency/format-currency.tsx @@ -0,0 +1,21 @@ +import { useContentfulContext } from '@src/contentful-context'; + +interface FormatCurrencyProps { + value: number; + locale?: string; + style?: string; + currency?: string; +} + +export const FormatCurrency = ({ + value, + locale, + style = 'currency', + currency = 'EUR', +}: FormatCurrencyProps) => { + const { locale: localeFromRouter } = useContentfulContext(); + + return ( + <>{new Intl.NumberFormat(locale || localeFromRouter, { style, currency }).format(value)} + ); +}; diff --git a/src/components/features/format-currency/index.ts b/src/components/features/format-currency/index.ts new file mode 100644 index 0000000..de2b764 --- /dev/null +++ b/src/components/features/format-currency/index.ts @@ -0,0 +1 @@ +export * from './format-currency'; diff --git a/src/components/features/markdown.tsx b/src/components/features/markdown.tsx new file mode 100644 index 0000000..909f989 --- /dev/null +++ b/src/components/features/markdown.tsx @@ -0,0 +1,52 @@ +import { Theme } from '@mui/material'; +import { makeStyles } from '@mui/styles'; +import clsx from 'clsx'; +import React from 'react'; +import parse from 'rehype-parse'; +import rehypeReact from 'rehype-react'; +import breaks from 'remark-breaks'; +import { unified } from 'unified'; + +const useStyles = makeStyles((theme: Theme) => ({ + root: { + ...theme.typography.body1, + ...theme.typography.body2, + ...theme.typography.h2, + ...theme.typography.h3, + ...theme.typography.h4, + ...theme.typography.h5, + ...theme.typography.h6, + '& p': { + ...theme.typography.body1, + }, + '& a': { + color: theme.palette.primary.main, + textDecoration: 'none', + }, + '& li': { + ...theme.typography.body1, + marginBottom: theme.spacing(3), + }, + '& strong, b': { + fontWeight: 600, + }, + }, +})); + +const renderer = unified() + .use(parse) + .use(breaks) + .use(rehypeReact, { createElement: React.createElement }); +type Props = { + text: string; + className?: string; +}; + +export const Markdown = (props: Props) => { + const classes = useStyles(); + return ( +
    + {(renderer.processSync(props.text) as any).result} +
    + ); +}; diff --git a/src/components/features/page-link/__generated/category-link.generated.ts b/src/components/features/page-link/__generated/category-link.generated.ts new file mode 100644 index 0000000..c861a99 --- /dev/null +++ b/src/components/features/page-link/__generated/category-link.generated.ts @@ -0,0 +1,15 @@ +import * as Types from '../../../../lib/__generated/graphql.types'; + +export type CategoryLinkFieldsFragment = { __typename: 'Category', slug?: string | null, categoryName?: string | null, sys: { __typename?: 'Sys', id: string } }; + +export const CategoryLinkFieldsFragmentDoc = ` + fragment CategoryLinkFields on Category { + __typename + slug + categoryName + sys { + id + } + categoryName +} + `; diff --git a/src/components/features/page-link/__generated/page-link.generated.ts b/src/components/features/page-link/__generated/page-link.generated.ts new file mode 100644 index 0000000..3aa4bdb --- /dev/null +++ b/src/components/features/page-link/__generated/page-link.generated.ts @@ -0,0 +1,22 @@ +import * as Types from '../../../../lib/__generated/graphql.types'; + +export type PageLinkFieldsFragment = { __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null }; + +export const PageLinkFieldsFragmentDoc = ` + fragment PageLinkFields on Page { + __typename + slug + sys { + id + } + pageName + pageContent(locale: $locale, preview: $preview) { + ... on Entry { + __typename + sys { + id + } + } + } +} + `; \ No newline at end of file diff --git a/src/components/features/page-link/__generated/post-link.generated.ts b/src/components/features/page-link/__generated/post-link.generated.ts new file mode 100644 index 0000000..c5ff312 --- /dev/null +++ b/src/components/features/page-link/__generated/post-link.generated.ts @@ -0,0 +1,14 @@ +import * as Types from '../../../../lib/__generated/graphql.types'; + +export type PostLinkFieldsFragment = { __typename: 'Post', slug?: string | null, postName?: string | null, sys: { __typename?: 'Sys', id: string } }; + +export const PostLinkFieldsFragmentDoc = ` + fragment PostLinkFields on Post { + __typename + slug + postName + sys { + id + } +} + `; diff --git a/src/components/features/page-link/index.ts b/src/components/features/page-link/index.ts new file mode 100644 index 0000000..f2c7466 --- /dev/null +++ b/src/components/features/page-link/index.ts @@ -0,0 +1 @@ +export * from './page-link' diff --git a/src/components/features/page-link/page-link.graphql b/src/components/features/page-link/page-link.graphql new file mode 100644 index 0000000..07f23c0 --- /dev/null +++ b/src/components/features/page-link/page-link.graphql @@ -0,0 +1,16 @@ +fragment PageLinkFields on Page { + __typename + slug + sys { + id + } + pageName + pageContent(locale: $locale, preview: $preview) { + ... on Entry { + __typename + sys { + id + } + } + } +} diff --git a/src/components/features/page-link/page-link.tsx b/src/components/features/page-link/page-link.tsx new file mode 100644 index 0000000..aec0914 --- /dev/null +++ b/src/components/features/page-link/page-link.tsx @@ -0,0 +1,30 @@ +import { ReactNode } from 'react'; + +import { PageLinkFieldsFragment } from '@src/components/features/page-link/__generated/page-link.generated'; +import { Link, LinkProps } from '@src/components/shared/link'; + +export type PageLinkProps = Omit & { + page: PageLinkFieldsFragment; + render?: (pathname?: string) => ReactNode; + children?: ReactNode; +}; + +export const PageLink = (props: PageLinkProps) => { + const pathname = props.page.slug ? `/${props.page.slug}` : ``; + + const linkProps = { + href: pathname, + className: props.className, + onClick: props.onClick, + withoutMaterial: props.withoutMaterial, + underline: props.underline, + isButton: props.isButton || false, + variant: props.variant, + size: props.size, + color: props.color, + endIcon: props.endIcon, + urlParams: props.urlParams, + }; + + return {props.render ? props.render(pathname) : props.children}; +}; diff --git a/src/components/features/section-headlines/index.ts b/src/components/features/section-headlines/index.ts new file mode 100644 index 0000000..1ad670a --- /dev/null +++ b/src/components/features/section-headlines/index.ts @@ -0,0 +1 @@ +export * from './section-headlines' diff --git a/src/components/features/section-headlines/section-headlines.tsx b/src/components/features/section-headlines/section-headlines.tsx new file mode 100644 index 0000000..138b1a7 --- /dev/null +++ b/src/components/features/section-headlines/section-headlines.tsx @@ -0,0 +1,85 @@ +import type { InspectorModeTags } from '@contentful/live-preview/dist/types'; +import { Theme, Typography, TypographyProps } from '@mui/material'; +import { makeStyles } from '@mui/styles'; +import clsx from 'clsx'; +import React from 'react'; + +import { Markdown } from '@src/components/features/markdown'; + +const useStyles = makeStyles((theme: Theme) => ({ + containerCentered: { + textAlign: 'center', + }, + headline: { + fontSize: '2.25rem', + fontWeight: 600, + lineHeight: 1.083, + }, + subline: { + fontWeight: 400, + lineHeight: 1.56, + marginTop: theme.spacing(6), + fontSize: '1.8rem', + color: '#414D63', + }, + + text: { + '& p': { + fontSize: '2.5rem', + lineHeight: 1.52, + }, + }, +})); + +interface SectionHeadlinesPropsInterface { + headline?: string | null; + headlineProps?: TypographyProps; + headlineLivePreviewProps?: InspectorModeTags; + subline?: string | null; + sublineProps?: TypographyProps; + sublineLivePreviewProps?: InspectorModeTags; + body?: string | null; + align?: 'center' | 'left'; + className?: string; +} + +export const SectionHeadlines = (props: SectionHeadlinesPropsInterface) => { + const { + headline, + headlineProps = {}, + headlineLivePreviewProps = {}, + subline, + sublineProps = {}, + sublineLivePreviewProps = {}, + body, + align = 'center', + className = '', + } = props; + + const classes = useStyles(); + const computedHeadlineProps: TypographyProps & { component?: string } = { + variant: 'h1', + component: 'h2', + ...headlineProps, + ...headlineLivePreviewProps, + className: clsx(headlineProps.className, classes.headline), + }; + const computedSublineProps: TypographyProps = { + variant: 'h3', + ...sublineProps, + ...sublineLivePreviewProps, + className: clsx(sublineProps.className, classes.subline), + }; + + if (!headline && !subline && !body) { + return null; + } + + return ( +
    + {headline && {headline}} + {subline && {subline}} + {body && } +
    + ); +}; diff --git a/src/components/features/settings/index.ts b/src/components/features/settings/index.ts new file mode 100644 index 0000000..eca32dd --- /dev/null +++ b/src/components/features/settings/index.ts @@ -0,0 +1 @@ +export * from './settings' diff --git a/src/components/features/settings/settings-form.tsx b/src/components/features/settings/settings-form.tsx new file mode 100644 index 0000000..c939f73 --- /dev/null +++ b/src/components/features/settings/settings-form.tsx @@ -0,0 +1,351 @@ +import { + Theme, + FormHelperText, + FormControl, + FormControlLabel, + Switch, + Button, + Typography, +} from '@mui/material'; +import { makeStyles } from '@mui/styles'; +import clsx from 'clsx'; +import { useRouter } from 'next/router'; +import queryString from 'query-string'; +import React, { useState } from 'react'; + +import { useContentfulContext } from '@src/contentful-context'; +import SettingsIcon from '@src/icons/settings-icon.svg'; + +const useStyles = makeStyles((theme: Theme) => ({ + root: { + backgroundColor: '#fff', + display: 'flex', + flexDirection: 'column', + height: '100%', + overflow: 'auto', + position: 'fixed', + width: '100%', + zIndex: 1150, + [theme.breakpoints.up('md')]: { + bottom: theme.spacing(28), + boxShadow: '0 2px 30px rgba(0,0,0,0.29)', + height: '70rem', + maxHeight: `calc(100vh - ${theme.spacing(29)})`, + right: theme.spacing(9), + width: '42.3rem', + }, + '& .MuiTypography-h5, & .MuiFormLabel-root, & .MuiInputBase-root, & .MuiFormHelperText-root, & .MuiTypography-body1, & .MuiButton-root': + { + fontFamily: + '-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol', + }, + }, + header: { + alignItems: 'center', + backgroundColor: '#192737', + display: 'flex', + padding: theme.spacing(5, 3), + [theme.breakpoints.up('sm')]: { + padding: theme.spacing(5, 7), + }, + }, + logo: { + display: 'block', + height: 'auto', + marginRight: theme.spacing(3), + width: '2.5rem', + }, + headerTitle: { + color: '#fff', + fontSize: '2.4rem', + fontWeight: 500, + }, + container: { + display: 'flex', + flexDirection: 'column', + flexGrow: 1, + marginLeft: 'auto', + marginRight: 'auto', + maxWidth: '42.3rem', + padding: '1.5rem 1rem 1rem', + position: 'relative', + [theme.breakpoints.up('sm')]: { + padding: '1.5rem 3rem 1rem', + }, + }, + form: { + display: 'flex', + flexDirection: 'column', + flexGrow: 1, + position: 'relative', + '& .MuiInput-root': { + backgroundColor: '#E5EBED', + }, + '& .MuiAutocomplete-input': { + color: '#2A3039', + }, + '& .MuiInput-underline::before': { + display: 'none', + }, + '& .MuiInputLabel-shrink': { + transform: 'translate(0, -0.5rem) scale(0.75)', + }, + }, + formSection: { + '& + &': { + marginTop: theme.spacing(5.5), + }, + '& .MuiFormHelperText-root': { + color: '#7496a5', + fontSize: '1.4rem', + lineHeight: 1.2, + marginTop: theme.spacing(1), + maxWidth: 'calc(100% - 4.3rem)', + opacity: 1, + }, + '& .MuiFormLabel-root': { + color: 'rgba(0, 0, 0, 0.7)', + }, + '& .MuiFormLabel-root.Mui-focused': { + color: 'rgba(0, 0, 0, 0.85)', + }, + '& .MuiInputBase-root': { + border: '1px solid rgba(195, 207, 213, 0.8)', + fontSize: '1.6rem', + paddingBottom: '0.7rem', + paddingLeft: '1rem', + paddingTop: '0.7rem', + }, + }, + formSectionTitle: { + borderBottom: '1px solid rgba(127, 145, 165, 0.5)', + color: '#2a3039', + fontSize: '1.8rem', + marginBottom: theme.spacing(1), + paddingBottom: theme.spacing(1.5), + }, + formControlLabel: { + marginLeft: 0, + marginRight: 0, + '& .MuiSwitch-root': { + height: '3.2rem', + padding: '0.6rem', + width: '5.5rem', + }, + '& .MuiSwitch-switchBase': { + padding: '0.5rem', + top: '0rem', + }, + '& .MuiSwitch-switchBase.Mui-checked': { + transform: 'translateX(2.3rem)', + }, + '& .MuiFormControlLabel-label': { + flexGrow: 1, + fontSize: '1.6rem', + }, + '& .MuiSwitch-colorSecondary + .MuiSwitch-track': { + backgroundColor: '#E5EBED', + borderRadius: '1.7rem', + height: '2rem', + opacity: 1, + }, + '& .MuiSwitch-colorSecondary.Mui-checked + .MuiSwitch-track': { + backgroundColor: '#3C80CF', + opacity: 1, + }, + '& .MuiSwitch-thumb': { + boxShadow: '0 2px 5px rgba(0,0,0,0.29)', + height: '2.2rem', + width: '2.2rem', + }, + }, + footer: { + backgroundColor: '#fff', + bottom: 0, + // boxShadow: '0px -2px 4px -2px rgba(49,49,49,0.75)', + display: 'flex', + justifyContent: 'center', + marginLeft: '-1rem', + marginTop: 'auto', + paddingBottom: theme.spacing(3), + paddingTop: theme.spacing(4), + position: 'sticky', + width: 'calc(100% + 2rem)', + zIndex: 2, + [theme.breakpoints.up('sm')]: { + marginLeft: '-3rem', + width: 'calc(100% + 6rem)', + }, + }, + footerShadowContainer: { + bottom: 0, + height: '100%', + left: 0, + pointerEvents: 'none', + position: 'absolute', + top: 0, + right: 0, + width: '100%', + '&::before': { + content: '""', + display: 'block', + height: 'calc(100% + 1rem - 75px)', + }, + }, + footerShadow: { + backgroundColor: '#fff', + bottom: 0, + boxShadow: '0px -2px 4px -2px rgba(49,49,49,0.75)', + height: '75px', + marginLeft: '-1rem', + marginTop: 'auto', + position: 'sticky', + width: 'calc(100% + 2rem)', + zIndex: 1, + [theme.breakpoints.up('sm')]: { + marginLeft: '-3rem', + width: 'calc(100% + 6rem)', + }, + }, + footerButton: { + backgroundColor: '#e5ebed', + border: '0.1rem solid #c3cfd5', + borderRadius: '0.2rem', + color: '#2d2f31', + display: 'inline-block', + fontSize: '1.4rem', + height: '4rem', + marginLeft: '0.5rem', + marginRight: '0.5rem', + padding: '0 1.4rem', + transition: 'background .2s ease-in-out,opacity .2s ease-in-out,border-color 0.2s ease-in-out', + width: 'calc(50% - 2rem)', + '&:hover, &:focus': { + backgroundColor: '#d3dce0', + transform: 'none', + }, + [theme.breakpoints.up('sm')]: { + fontSize: '1.6rem', + marginLeft: '1.5rem', + marginRight: '1.5rem', + width: 'calc(50% - 6rem)', + }, + }, + footerButtonPrimary: { + backgroundImage: 'linear-gradient(0deg, #0eb87f, #14d997)', + backgroundSize: '100% 200%', + borderColor: '#0baa75', + color: '#fff', + '&:hover, &:focus': { + backgroundPosition: '0 100%', + }, + '&.Mui-disabled': { + color: '#fff', + opacity: 0.5, + }, + }, +})); + +interface SettingsFormPropsInterface { + onClose: () => void; +} + +export const SettingsForm: React.FC = props => { + const { onClose } = props; + const router = useRouter(); + + const classes = useStyles(); + const { previewActive } = useContentfulContext(); + const [newPreviewActive, setNewPreviewActive] = useState(previewActive || false); + const [isDirty, setIsDirty] = useState(false); + + const onSubmit = async event => { + event.preventDefault(); + + if (isDirty === false) { + return; + } + + const queryParams = queryString.parse(window.location.search); + + if (previewActive !== newPreviewActive) { + if (newPreviewActive === false) { + delete queryParams.preview; + } else { + queryParams.preview = '1'; + } + } + + router.push( + `${router.pathname}?${queryString.stringify(queryParams)}`, + `${router.asPath.split('?')[0]}${ + queryString.stringify(queryParams) ? `?${queryString.stringify(queryParams)}` : '' + }`, + ); + }; + + return ( +
    +
    + + + Editorial Toolbox + +
    +
    +
    +
    + + General settings + + + + { + setNewPreviewActive(checked); + setIsDirty(true); + }} + /> + } + label="Preview mode" + /> + + View draft entries, assets and unpublished content changes. + + +
    + +
    + + +
    +
    +
    +
    + +
    +
    + ); +}; diff --git a/src/components/features/settings/settings.tsx b/src/components/features/settings/settings.tsx new file mode 100644 index 0000000..8cfbdc9 --- /dev/null +++ b/src/components/features/settings/settings.tsx @@ -0,0 +1,122 @@ +import { Theme, useTheme } from '@mui/material'; +import { makeStyles } from '@mui/styles'; +import React, { useState, useEffect } from 'react'; +import { CSSTransition } from 'react-transition-group'; + +import { SettingsForm } from '@src/components/features/settings/settings-form'; +import SettingsIcon from '@src/icons/settings-icon.svg'; + +const useStyles = makeStyles((theme: Theme) => ({ + toggle: { + alignItems: 'center', + appearance: 'none', + backgroundColor: '#192737', + border: 0, + borderRadius: '50%', + bottom: theme.spacing(3), + boxShadow: '0 2px 6px rgba(0,0,0,0.29)', + cursor: 'pointer', + display: 'flex', + height: '6rem', + justifyContent: 'center', + position: 'fixed', + right: theme.spacing(3), + width: '6rem', + zIndex: 1130, + [theme.breakpoints.up('md')]: { + bottom: theme.spacing(9), + right: theme.spacing(9), + }, + }, + toggleImage: { + display: 'block', + transform: 'translateX(-1px)', + width: '3rem', + }, + animationEnter: { + opacity: 0, + transform: 'scale(0.1)', + transformOrigin: 'bottom right', + }, + animationEnterActive: { + opacity: 1, + transform: 'translateX(0)', + transition: 'opacity 300ms, transform 300ms', + }, + animationExit: { + opacity: 1, + }, + animationExitActive: { + opacity: 0, + transform: 'scale(0.1)', + transformOrigin: 'bottom right', + transition: 'opacity 300ms, transform 300ms', + }, +})); + +export const Settings = () => { + const classes = useStyles(); + const theme = useTheme(); + const [enabled, setEnabled] = useState(false); + const [settingsOpen, setSettingsOpen] = useState(false); + + useEffect(() => { + if (settingsOpen === false) { + document.body.classList.remove('is-scroll-locked'); + return; + } + + if (window.matchMedia(theme.breakpoints.up('md').replace('@media ', '')).matches === true) { + return; + } + + document.body.classList.add('is-scroll-locked'); + }, [settingsOpen, theme.breakpoints]); + + useEffect(() => { + try { + if (window.top?.location.href === window.location.href) { + // Dont show the settings panel when embedded into an iframe (e.g. live preview) + setEnabled(true); + } + } catch (err) { + // window.top.location.href is not accessable for non same origin iframes + } + }, []); + + if (!enabled) { + return null; + } + + return ( + <> + + { + setSettingsOpen(false); + }} + /> + + + + ); +}; diff --git a/src/components/shared/component-resolver.tsx b/src/components/shared/component-resolver.tsx new file mode 100644 index 0000000..3a909d1 --- /dev/null +++ b/src/components/shared/component-resolver.tsx @@ -0,0 +1,92 @@ +import { Box } from '@mui/material'; +import React, { useMemo } from 'react'; + +import { useContentfulContext } from '@src/contentful-context'; +import { componentGqlMap, componentMap } from '@src/mappings'; + +let previousComponent: string | null = null; +interface Props { + componentProps: { + sys: { id: string }; + __typename: string; + [k: string]: any; + }; + + /** + * forces to do a graqhql request to get its content, instead + * of expecting content is provided trough `props.componentProps`: + */ + forceGql?: boolean; + + className?: string; + inline?: boolean; +} + +export const ComponentResolver = (props: Props) => { + const { componentProps, inline = false } = props; + const { previewActive } = useContentfulContext(); + + const { locale } = useContentfulContext(); + + const ComponentGql = componentGqlMap[componentProps.__typename]; + + const shouldForceGql = useMemo(() => { + if (props.forceGql === true) { + return true; + } + + if (!ComponentGql) { + return false; + } + + if (Object.keys(componentProps).length > 3) { + // We expect components with no fragments set up to only contain 2 object + // props. If there are more, it means we are providing fragments manually + return false; + } + + if (componentProps.__typename === undefined || componentProps.sys === undefined) { + // We expect exactly these keys to be present in the returned props if the + // fragment was not specified for this component + return false; + } + + return true; + }, [ComponentGql, componentProps, props.forceGql]); + + const Component = !shouldForceGql && componentMap[componentProps.__typename]; + + const previousComponentProp = previousComponent; + + previousComponent = componentProps.__typename; + + if (!Component && !ComponentGql) { + return null; + } + + return ( + + {Component ? ( + + ) : ( + + )} + + ); +}; diff --git a/src/components/shared/error-box.tsx b/src/components/shared/error-box.tsx new file mode 100644 index 0000000..73cab1f --- /dev/null +++ b/src/components/shared/error-box.tsx @@ -0,0 +1,27 @@ +import { Theme, Typography } from '@mui/material'; +import { makeStyles } from '@mui/styles'; +import clsx from 'clsx'; +import React from 'react'; + +interface Props { + className?: string; + children?: any; +} + +const useStyles = makeStyles((theme: Theme) => ({ + errorBoxRoot: { + color: theme.palette.error.dark, + border: `1px solid ${theme.palette.error.dark}`, + padding: theme.spacing(1), + margin: theme.spacing(12, 0), + }, +})); + +export const ErrorBox = (props: Props) => { + const classes = useStyles(); + return ( +
    + {props.children} +
    + ); +}; diff --git a/src/components/shared/graphql-error.tsx b/src/components/shared/graphql-error.tsx new file mode 100644 index 0000000..b93fe18 --- /dev/null +++ b/src/components/shared/graphql-error.tsx @@ -0,0 +1,44 @@ +import { Box, Theme, Typography } from '@mui/material'; +import { useTheme } from '@mui/styles'; +import React, { useMemo } from 'react'; + +import { tryget } from '@src/utils'; + +// TODO: add other errors than only `NetworkError` + +export const GraphqlError = (props: { error: any }) => { + const { error } = props; + console.error({ error }); + const theme = useTheme(); + + const networkErrors = useMemo(() => tryget(() => error.networkError.result.errors), [error]); + + return ( + + {error.message} + + {networkErrors && ( + + Network Errors + {networkErrors.map((err, i) => ( + + {err.message} + + ))} + + )} + + {error.graphQLErrors && error.graphQLErrors.length > 0 && ( + + GraphQl Errors + {error.graphQLErrors.map((err, i) => ( + + {err.message} + {`path: ${err.path.join('/')}`} + + ))} + + )} + + ); +}; diff --git a/src/components/shared/link.tsx b/src/components/shared/link.tsx new file mode 100644 index 0000000..120e120 --- /dev/null +++ b/src/components/shared/link.tsx @@ -0,0 +1,174 @@ +import MuiButton from '@mui/material/Button'; +import MuiLink from '@mui/material/Link'; +import { makeStyles } from '@mui/styles'; +import clsx from 'clsx'; +import NextLink from 'next/link'; +import { useRouter } from 'next/router'; +import queryString from 'query-string'; +import { ReactNode } from 'react'; + +const useStyles = makeStyles(() => ({ + baseAnchor: { + display: 'block', + color: 'inherit', + textDecoration: 'none', + }, +})); + +interface Props { + children: ReactNode; + href?: string; + as?: string; + target?: string; + dropUrlParams?: boolean; + className?: string; + withoutMaterial?: boolean; + underline?: boolean; + onClick?: () => any; + isButton?: boolean; + variant?: 'text' | 'outlined' | 'contained' | undefined; + size?: 'small' | 'medium' | 'large' | undefined; + color?: any; + startIcon?: any; + endIcon?: any; + urlParams?: string; + title?: string; +} +export type LinkProps = Props; + +export const Link = (props: Props) => { + const { + dropUrlParams, + className, + children, + withoutMaterial, + underline, + onClick, + isButton = false, + variant, + size, + color, + startIcon, + endIcon, + urlParams = '', + title, + } = props; + const router = useRouter(); + let href = props.href || ''; + let { as } = props; + + if (!dropUrlParams && router) { + const urlQuerystring = router.asPath.split('?')[1]; + if (urlQuerystring) { + href += href.indexOf('?') < 0 ? `?${urlQuerystring}` : `&${urlQuerystring}`; + } + } + + if (urlParams !== '') { + const parsedUrlParams = queryString.parse(urlParams); + const parsedHref = queryString.parseUrl(href); + + const mergedParsedHref = { + ...parsedHref, + query: { + ...parsedHref.query, + ...parsedUrlParams, + }, + }; + + href = queryString.stringifyUrl(mergedParsedHref); + + if (as !== undefined) { + const parsedAs = queryString.parseUrl(as); + + const mergedParsedAs = { + ...parsedAs, + query: { + ...parsedAs.query, + ...parsedUrlParams, + }, + }; + + as = queryString.stringifyUrl(mergedParsedAs); + } + } + + const classes = useStyles(); + + if (props.href === undefined || props.href === null) return <>{props.children}; + + const external = href.startsWith('http://') || href.startsWith('https://'); + const underlineStyle = underline ? 'always' : 'none'; + + if (external === true || !href) { + return isButton ? ( + onClick && onClick()} + variant={variant} + size={size} + startIcon={startIcon} + endIcon={endIcon} + title={title}> + {children} + + ) : ( + onClick && onClick()} + title={title}> + {children} + + ); + } + + if (withoutMaterial === true) { + return ( + + + {children} + + + ); + } + + if (isButton === true) { + return ( + + onClick && onClick()} + variant={variant} + size={size} + startIcon={startIcon} + endIcon={endIcon} + title={title}> + {children} + + + ); + } + + return ( + + onClick && onClick()} + title={title}> + {children} + + + ); +}; diff --git a/src/components/templates/header/header.tsx b/src/components/templates/header/header.tsx new file mode 100644 index 0000000..bc995b0 --- /dev/null +++ b/src/components/templates/header/header.tsx @@ -0,0 +1,112 @@ +import Menu from '@mui/icons-material/Menu'; +import { AppBar, Container, IconButton, Theme, Toolbar, Box } from '@mui/material'; +import { makeStyles } from '@mui/styles'; +import { useTranslation } from 'next-i18next'; + +import { CtfNavigationGql } from '@src/components/features/ctf-components/ctf-navigation/ctf-navigation-gql'; +import { Link } from '@src/components/shared/link'; +import Logo from '@src/icons/colorful-coin-logo.svg'; +import { HEADER_HEIGHT, HEADER_HEIGHT_MD, CONTAINER_WIDTH } from '@src/theme'; + +const useStyles = makeStyles((theme: Theme) => ({ + appbar: { + boxShadow: '0 2px 6px #00000021', + }, + toolbar: { + height: HEADER_HEIGHT_MD, + [theme.breakpoints.up('md')]: { + height: HEADER_HEIGHT, + }, + }, + toolbarContent: { + alignItems: 'center', + display: 'flex', + flexDirection: 'row', + height: '100%', + justifyContent: 'space-between', + }, + logo: { + display: 'block', + maxWidth: '120px', + height: 'auto', + }, + menuWrapper: { + alignItems: 'center', + display: 'flex', + }, + accountMenu: { + alignItems: 'center', + display: 'flex', + listStyle: 'none', + margin: 0, + padding: 0, + }, + + accountMenuItem: { + '& + &': { + marginLeft: theme.spacing(8), + + [theme.breakpoints.up('lg')]: { + marginLeft: theme.spacing(10), + }, + }, + '& .MuiButton-startIcon': { + marginRight: '0.4rem', + }, + '& .MuiButton-iconSizeSmall > :first-child': { + fontSize: '1.5rem', + }, + }, + corporateLogo: { + display: 'block', + height: 'auto', + width: '113px', + }, +})); + +interface HeaderPropsInterface { + isMenuOpen?: boolean; + onMenuClick?: () => any; +} + +export const Header = (props: HeaderPropsInterface) => { + const { t } = useTranslation(); + + const { onMenuClick, isMenuOpen } = props; + const classes = useStyles(); + + return ( + + + + + + + +
    + +
    +
    +
    + + {/* menu button */} + + onMenuClick?.()} + aria-controls="mobile-menu" + aria-expanded={isMenuOpen} + aria-haspopup="dialog"> + + + + + + ); +}; diff --git a/src/components/templates/header/index.ts b/src/components/templates/header/index.ts new file mode 100644 index 0000000..c73f6da --- /dev/null +++ b/src/components/templates/header/index.ts @@ -0,0 +1 @@ +export * from './header' diff --git a/src/components/templates/layout/index.ts b/src/components/templates/layout/index.ts new file mode 100644 index 0000000..626835b --- /dev/null +++ b/src/components/templates/layout/index.ts @@ -0,0 +1 @@ +export * from './layout' diff --git a/src/components/templates/layout/layout.tsx b/src/components/templates/layout/layout.tsx new file mode 100644 index 0000000..a112304 --- /dev/null +++ b/src/components/templates/layout/layout.tsx @@ -0,0 +1,68 @@ +import { CssBaseline, Theme } from '@mui/material'; +import { makeStyles } from '@mui/styles'; +import { useRouter } from 'next/router'; +import React, { useState, useEffect, ReactElement } from 'react'; + +import { Header } from '../header'; + +import { CtfFooterGql } from '@src/components/features/ctf-components/ctf-footer/ctf-footer-gql'; +import { CtfMobileMenuGql } from '@src/components/features/ctf-components/ctf-mobile-menu/ctf-mobile-menu-gql'; + +const useStyles = makeStyles((theme: Theme) => ({ + content: { + ...theme.typography.body1, + flex: '1 0 auto', + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + }, +})); + +interface LayoutPropsInterface { + preview: boolean; + children: ReactElement[]; +} + +export const Layout: React.FC = ({ children }) => { + const [isMenuOpen, setMenuOpen] = useState(false); + const classes = useStyles(); + const router = useRouter(); + + useEffect(() => { + router.events.on('routeChangeStart', () => { + setMenuOpen(false); + }); + + router.events.on('routeChangeComplete', () => { + if (document.activeElement === null) { + return; + } + + if (document.activeElement instanceof HTMLElement) { + document.activeElement.blur(); + } + }); + }, [router.events]); + + return ( + <> + + {/* header */} +
    setMenuOpen(true)} /> + + {/* content */} +
    {children}
    + + {/* footer */} + + + {/* mobile menu */} + { + setMenuOpen(newOpen); + }} + /> + + ); +}; diff --git a/src/components/templates/page-container/index.ts b/src/components/templates/page-container/index.ts new file mode 100644 index 0000000..e77f182 --- /dev/null +++ b/src/components/templates/page-container/index.ts @@ -0,0 +1 @@ +export * from './page-container' diff --git a/src/components/templates/page-container/page-container.tsx b/src/components/templates/page-container/page-container.tsx new file mode 100644 index 0000000..58c45f1 --- /dev/null +++ b/src/components/templates/page-container/page-container.tsx @@ -0,0 +1,25 @@ +import { CSSProperties } from '@mui/material/styles/createTypography'; +import { makeStyles } from '@mui/styles'; +import clsx from 'clsx'; +import React from 'react'; + +const useStyles = makeStyles(() => ({ + pageContainerRoot: { + width: '100%', + }, +})); + +type Props = { + className?: string; + style?: CSSProperties; + children?: React.ReactNode | React.ReactNode[]; +}; + +export const PageContainer = (props: Props) => { + const classes = useStyles(); + return ( +
    + {props.children} +
    + ); +}; diff --git a/src/contentful-context.tsx b/src/contentful-context.tsx new file mode 100644 index 0000000..ceac5e3 --- /dev/null +++ b/src/contentful-context.tsx @@ -0,0 +1,45 @@ +import { useContext, createContext } from 'react'; + +import contentfulConfig from 'contentful.config'; +import i18nConfig from 'next-i18next.config.js'; +const { i18n } = i18nConfig; + +export interface ContentfulContextInterface { + locale: string; + spaceIds: { + main: string; + }; + previewActive: boolean; +} + +export const contentfulContextValue: ContentfulContextInterface = { + locale: i18n.defaultLocale, + spaceIds: { + main: contentfulConfig.contentful.space_id, + }, + previewActive: false, +}; + +export const ContentfulContext = createContext(contentfulContextValue); + +export const useContentfulContext = () => useContext(ContentfulContext); + +const ContentfulContentProvider = ({ children, router }) => { + const previewActive = !!router.query.preview; + + return ( + + {children} + + ); +}; + +export { ContentfulContentProvider }; diff --git a/src/icons/colorful-coin-logo.svg b/src/icons/colorful-coin-logo.svg new file mode 100644 index 0000000..dbcc03c --- /dev/null +++ b/src/icons/colorful-coin-logo.svg @@ -0,0 +1 @@ + diff --git a/src/icons/logo-tagline.svg b/src/icons/logo-tagline.svg new file mode 100644 index 0000000..5e79c20 --- /dev/null +++ b/src/icons/logo-tagline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/settings-icon.svg b/src/icons/settings-icon.svg new file mode 100644 index 0000000..bf515e0 --- /dev/null +++ b/src/icons/settings-icon.svg @@ -0,0 +1 @@ + diff --git a/src/layout-context.ts b/src/layout-context.ts new file mode 100644 index 0000000..6c6d19b --- /dev/null +++ b/src/layout-context.ts @@ -0,0 +1,12 @@ +import React from 'react'; + +export const defaultLayout = { + containerWidth: 770, + parent: '', +}; + +const LayoutContext = React.createContext(defaultLayout); + +export const useLayoutContext = () => React.useContext(LayoutContext); + +export default LayoutContext; diff --git a/src/lib/__generated/graphql.schema.graphql b/src/lib/__generated/graphql.schema.graphql new file mode 100644 index 0000000..b463c30 --- /dev/null +++ b/src/lib/__generated/graphql.schema.graphql @@ -0,0 +1,2181 @@ +"""Represents a binary file in a space. An asset can be any file type.""" +type Asset { + contentType(locale: String): String + contentfulMetadata: ContentfulMetadata! + description(locale: String): String + fileName(locale: String): String + height(locale: String): Int + linkedFrom(allowedLocales: [String]): AssetLinkingCollections + size(locale: String): Int + sys: Sys! + title(locale: String): String + url(locale: String, transform: ImageTransformOptions): String + width(locale: String): Int +} + +type AssetCollection { + items: [Asset]! + limit: Int! + skip: Int! + total: Int! +} + +input AssetFilter { + AND: [AssetFilter] + OR: [AssetFilter] + contentType: String + contentType_contains: String + contentType_exists: Boolean + contentType_in: [String] + contentType_not: String + contentType_not_contains: String + contentType_not_in: [String] + contentfulMetadata: ContentfulMetadataFilter + description: String + description_contains: String + description_exists: Boolean + description_in: [String] + description_not: String + description_not_contains: String + description_not_in: [String] + fileName: String + fileName_contains: String + fileName_exists: Boolean + fileName_in: [String] + fileName_not: String + fileName_not_contains: String + fileName_not_in: [String] + height: Int + height_exists: Boolean + height_gt: Int + height_gte: Int + height_in: [Int] + height_lt: Int + height_lte: Int + height_not: Int + height_not_in: [Int] + size: Int + size_exists: Boolean + size_gt: Int + size_gte: Int + size_in: [Int] + size_lt: Int + size_lte: Int + size_not: Int + size_not_in: [Int] + sys: SysFilter + title: String + title_contains: String + title_exists: Boolean + title_in: [String] + title_not: String + title_not_contains: String + title_not_in: [String] + url: String + url_contains: String + url_exists: Boolean + url_in: [String] + url_not: String + url_not_contains: String + url_not_in: [String] + width: Int + width_exists: Boolean + width_gt: Int + width_gte: Int + width_in: [Int] + width_lt: Int + width_lte: Int + width_not: Int + width_not_in: [Int] +} + +type AssetLinkingCollections { + componentDuplexCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): ComponentDuplexCollection + componentHeroBannerCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): ComponentHeroBannerCollection + componentInfoBlockCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): ComponentInfoBlockCollection + componentQuoteCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): ComponentQuoteCollection + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection + seoCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): SeoCollection + topicBusinessInfoCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): TopicBusinessInfoCollection + topicPersonCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): TopicPersonCollection + topicProductCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): TopicProductCollection +} + +enum AssetOrder { + contentType_ASC + contentType_DESC + fileName_ASC + fileName_DESC + height_ASC + height_DESC + size_ASC + size_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC + url_ASC + url_DESC + width_ASC + width_DESC +} + +""" +Full-width container for creating visually distinct Calls-to-Action (CTAs) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentCta) +""" +type ComponentCta implements Entry { + colorPalette(locale: String): String + contentfulMetadata: ContentfulMetadata! + ctaText(locale: String): String + headline(locale: String): String + internalName(locale: String): String + linkedFrom(allowedLocales: [String]): ComponentCtaLinkingCollections + subline(locale: String): ComponentCtaSubline + sys: Sys! + targetPage(locale: String, preview: Boolean): ComponentCtaTargetPage + urlParameters(locale: String): String +} + +type ComponentCtaCollection { + items: [ComponentCta]! + limit: Int! + skip: Int! + total: Int! +} + +input ComponentCtaFilter { + AND: [ComponentCtaFilter] + OR: [ComponentCtaFilter] + colorPalette: String + colorPalette_contains: String + colorPalette_exists: Boolean + colorPalette_in: [String] + colorPalette_not: String + colorPalette_not_contains: String + colorPalette_not_in: [String] + contentfulMetadata: ContentfulMetadataFilter + ctaText: String + ctaText_contains: String + ctaText_exists: Boolean + ctaText_in: [String] + ctaText_not: String + ctaText_not_contains: String + ctaText_not_in: [String] + headline: String + headline_contains: String + headline_exists: Boolean + headline_in: [String] + headline_not: String + headline_not_contains: String + headline_not_in: [String] + internalName: String + internalName_contains: String + internalName_exists: Boolean + internalName_in: [String] + internalName_not: String + internalName_not_contains: String + internalName_not_in: [String] + subline_contains: String + subline_exists: Boolean + subline_not_contains: String + sys: SysFilter + targetPage_exists: Boolean + urlParameters: String + urlParameters_contains: String + urlParameters_exists: Boolean + urlParameters_in: [String] + urlParameters_not: String + urlParameters_not_contains: String + urlParameters_not_in: [String] +} + +type ComponentCtaLinkingCollections { + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection + pageCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): PageCollection +} + +enum ComponentCtaOrder { + colorPalette_ASC + colorPalette_DESC + ctaText_ASC + ctaText_DESC + headline_ASC + headline_DESC + internalName_ASC + internalName_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC + urlParameters_ASC + urlParameters_DESC +} + +type ComponentCtaSubline { + json: JSON! + links: ComponentCtaSublineLinks! +} + +type ComponentCtaSublineAssets { + block: [Asset]! + hyperlink: [Asset]! +} + +type ComponentCtaSublineEntries { + block: [Entry]! + hyperlink: [Entry]! + inline: [Entry]! +} + +type ComponentCtaSublineLinks { + assets: ComponentCtaSublineAssets! + entries: ComponentCtaSublineEntries! +} + +union ComponentCtaTargetPage = Page + +""" +Full-width container for displaying side-by-side image and copy, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentDuplex) +""" +type ComponentDuplex implements Entry { + bodyText(locale: String): ComponentDuplexBodyText + colorPalette(locale: String): String + containerLayout(locale: String): Boolean + contentfulMetadata: ContentfulMetadata! + ctaText(locale: String): String + headline(locale: String): String + image(locale: String, preview: Boolean): Asset + imageStyle(locale: String): Boolean + internalName(locale: String): String + linkedFrom(allowedLocales: [String]): ComponentDuplexLinkingCollections + sys: Sys! + targetPage(locale: String, preview: Boolean): ComponentDuplexTargetPage +} + +type ComponentDuplexBodyText { + json: JSON! + links: ComponentDuplexBodyTextLinks! +} + +type ComponentDuplexBodyTextAssets { + block: [Asset]! + hyperlink: [Asset]! +} + +type ComponentDuplexBodyTextEntries { + block: [Entry]! + hyperlink: [Entry]! + inline: [Entry]! +} + +type ComponentDuplexBodyTextLinks { + assets: ComponentDuplexBodyTextAssets! + entries: ComponentDuplexBodyTextEntries! +} + +type ComponentDuplexCollection { + items: [ComponentDuplex]! + limit: Int! + skip: Int! + total: Int! +} + +input ComponentDuplexFilter { + AND: [ComponentDuplexFilter] + OR: [ComponentDuplexFilter] + bodyText_contains: String + bodyText_exists: Boolean + bodyText_not_contains: String + colorPalette: String + colorPalette_contains: String + colorPalette_exists: Boolean + colorPalette_in: [String] + colorPalette_not: String + colorPalette_not_contains: String + colorPalette_not_in: [String] + containerLayout: Boolean + containerLayout_exists: Boolean + containerLayout_not: Boolean + contentfulMetadata: ContentfulMetadataFilter + ctaText: String + ctaText_contains: String + ctaText_exists: Boolean + ctaText_in: [String] + ctaText_not: String + ctaText_not_contains: String + ctaText_not_in: [String] + headline: String + headline_contains: String + headline_exists: Boolean + headline_in: [String] + headline_not: String + headline_not_contains: String + headline_not_in: [String] + imageStyle: Boolean + imageStyle_exists: Boolean + imageStyle_not: Boolean + image_exists: Boolean + internalName: String + internalName_contains: String + internalName_exists: Boolean + internalName_in: [String] + internalName_not: String + internalName_not_contains: String + internalName_not_in: [String] + sys: SysFilter + targetPage_exists: Boolean +} + +type ComponentDuplexLinkingCollections { + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection + pageCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): PageCollection +} + +enum ComponentDuplexOrder { + colorPalette_ASC + colorPalette_DESC + containerLayout_ASC + containerLayout_DESC + ctaText_ASC + ctaText_DESC + headline_ASC + headline_DESC + imageStyle_ASC + imageStyle_DESC + internalName_ASC + internalName_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC +} + +union ComponentDuplexTargetPage = Page + +""" +Full-width container for displaying images and snappy copy; can include an optional CTA [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentHeroBanner) +""" +type ComponentHeroBanner implements Entry { + bodyText(locale: String): ComponentHeroBannerBodyText + colorPalette(locale: String): String + contentfulMetadata: ContentfulMetadata! + ctaText(locale: String): String + headline(locale: String): String + heroSize(locale: String): Boolean + image(locale: String, preview: Boolean): Asset + imageStyle(locale: String): Boolean + internalName(locale: String): String + linkedFrom(allowedLocales: [String]): ComponentHeroBannerLinkingCollections + sys: Sys! + targetPage(locale: String, preview: Boolean): ComponentHeroBannerTargetPage +} + +type ComponentHeroBannerBodyText { + json: JSON! + links: ComponentHeroBannerBodyTextLinks! +} + +type ComponentHeroBannerBodyTextAssets { + block: [Asset]! + hyperlink: [Asset]! +} + +type ComponentHeroBannerBodyTextEntries { + block: [Entry]! + hyperlink: [Entry]! + inline: [Entry]! +} + +type ComponentHeroBannerBodyTextLinks { + assets: ComponentHeroBannerBodyTextAssets! + entries: ComponentHeroBannerBodyTextEntries! +} + +type ComponentHeroBannerCollection { + items: [ComponentHeroBanner]! + limit: Int! + skip: Int! + total: Int! +} + +input ComponentHeroBannerFilter { + AND: [ComponentHeroBannerFilter] + OR: [ComponentHeroBannerFilter] + bodyText_contains: String + bodyText_exists: Boolean + bodyText_not_contains: String + colorPalette: String + colorPalette_contains: String + colorPalette_exists: Boolean + colorPalette_in: [String] + colorPalette_not: String + colorPalette_not_contains: String + colorPalette_not_in: [String] + contentfulMetadata: ContentfulMetadataFilter + ctaText: String + ctaText_contains: String + ctaText_exists: Boolean + ctaText_in: [String] + ctaText_not: String + ctaText_not_contains: String + ctaText_not_in: [String] + headline: String + headline_contains: String + headline_exists: Boolean + headline_in: [String] + headline_not: String + headline_not_contains: String + headline_not_in: [String] + heroSize: Boolean + heroSize_exists: Boolean + heroSize_not: Boolean + imageStyle: Boolean + imageStyle_exists: Boolean + imageStyle_not: Boolean + image_exists: Boolean + internalName: String + internalName_contains: String + internalName_exists: Boolean + internalName_in: [String] + internalName_not: String + internalName_not_contains: String + internalName_not_in: [String] + sys: SysFilter + targetPage_exists: Boolean +} + +type ComponentHeroBannerLinkingCollections { + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection + pageCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): PageCollection +} + +enum ComponentHeroBannerOrder { + colorPalette_ASC + colorPalette_DESC + ctaText_ASC + ctaText_DESC + headline_ASC + headline_DESC + heroSize_ASC + heroSize_DESC + imageStyle_ASC + imageStyle_DESC + internalName_ASC + internalName_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC +} + +union ComponentHeroBannerTargetPage = Page + +""" +Full-width container for displaying short bits of generic information with optional icons/visuals [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentInfoBlock) +""" +type ComponentInfoBlock implements Entry { + block1Body(locale: String): ComponentInfoBlockBlock1Body + block1Image(locale: String, preview: Boolean): Asset + block2Body(locale: String): ComponentInfoBlockBlock2Body + block2Image(locale: String, preview: Boolean): Asset + block3Body(locale: String): ComponentInfoBlockBlock3Body + block3Image(locale: String, preview: Boolean): Asset + colorPalette(locale: String): String + contentfulMetadata: ContentfulMetadata! + headline(locale: String): String + internalName(locale: String): String + linkedFrom(allowedLocales: [String]): ComponentInfoBlockLinkingCollections + subline(locale: String): String + sys: Sys! +} + +type ComponentInfoBlockBlock1Body { + json: JSON! + links: ComponentInfoBlockBlock1BodyLinks! +} + +type ComponentInfoBlockBlock1BodyAssets { + block: [Asset]! + hyperlink: [Asset]! +} + +type ComponentInfoBlockBlock1BodyEntries { + block: [Entry]! + hyperlink: [Entry]! + inline: [Entry]! +} + +type ComponentInfoBlockBlock1BodyLinks { + assets: ComponentInfoBlockBlock1BodyAssets! + entries: ComponentInfoBlockBlock1BodyEntries! +} + +type ComponentInfoBlockBlock2Body { + json: JSON! + links: ComponentInfoBlockBlock2BodyLinks! +} + +type ComponentInfoBlockBlock2BodyAssets { + block: [Asset]! + hyperlink: [Asset]! +} + +type ComponentInfoBlockBlock2BodyEntries { + block: [Entry]! + hyperlink: [Entry]! + inline: [Entry]! +} + +type ComponentInfoBlockBlock2BodyLinks { + assets: ComponentInfoBlockBlock2BodyAssets! + entries: ComponentInfoBlockBlock2BodyEntries! +} + +type ComponentInfoBlockBlock3Body { + json: JSON! + links: ComponentInfoBlockBlock3BodyLinks! +} + +type ComponentInfoBlockBlock3BodyAssets { + block: [Asset]! + hyperlink: [Asset]! +} + +type ComponentInfoBlockBlock3BodyEntries { + block: [Entry]! + hyperlink: [Entry]! + inline: [Entry]! +} + +type ComponentInfoBlockBlock3BodyLinks { + assets: ComponentInfoBlockBlock3BodyAssets! + entries: ComponentInfoBlockBlock3BodyEntries! +} + +type ComponentInfoBlockCollection { + items: [ComponentInfoBlock]! + limit: Int! + skip: Int! + total: Int! +} + +input ComponentInfoBlockFilter { + AND: [ComponentInfoBlockFilter] + OR: [ComponentInfoBlockFilter] + block1Body_contains: String + block1Body_exists: Boolean + block1Body_not_contains: String + block1Image_exists: Boolean + block2Body_contains: String + block2Body_exists: Boolean + block2Body_not_contains: String + block2Image_exists: Boolean + block3Body_contains: String + block3Body_exists: Boolean + block3Body_not_contains: String + block3Image_exists: Boolean + colorPalette: String + colorPalette_contains: String + colorPalette_exists: Boolean + colorPalette_in: [String] + colorPalette_not: String + colorPalette_not_contains: String + colorPalette_not_in: [String] + contentfulMetadata: ContentfulMetadataFilter + headline: String + headline_contains: String + headline_exists: Boolean + headline_in: [String] + headline_not: String + headline_not_contains: String + headline_not_in: [String] + internalName: String + internalName_contains: String + internalName_exists: Boolean + internalName_in: [String] + internalName_not: String + internalName_not_contains: String + internalName_not_in: [String] + subline: String + subline_contains: String + subline_exists: Boolean + subline_in: [String] + subline_not: String + subline_not_contains: String + subline_not_in: [String] + sys: SysFilter +} + +type ComponentInfoBlockLinkingCollections { + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection + pageCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): PageCollection +} + +enum ComponentInfoBlockOrder { + colorPalette_ASC + colorPalette_DESC + headline_ASC + headline_DESC + internalName_ASC + internalName_DESC + subline_ASC + subline_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC +} + +""" +Component that renders products in a table enabling a side-by-side comparison [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentProductTable) +""" +type ComponentProductTable implements Entry { + contentfulMetadata: ContentfulMetadata! + headline(locale: String): String + internalName(locale: String): String + linkedFrom(allowedLocales: [String]): ComponentProductTableLinkingCollections + productsCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): ComponentProductTableProductsCollection + subline(locale: String): String + sys: Sys! +} + +type ComponentProductTableCollection { + items: [ComponentProductTable]! + limit: Int! + skip: Int! + total: Int! +} + +input ComponentProductTableFilter { + AND: [ComponentProductTableFilter] + OR: [ComponentProductTableFilter] + contentfulMetadata: ContentfulMetadataFilter + headline: String + headline_contains: String + headline_exists: Boolean + headline_in: [String] + headline_not: String + headline_not_contains: String + headline_not_in: [String] + internalName: String + internalName_contains: String + internalName_exists: Boolean + internalName_in: [String] + internalName_not: String + internalName_not_contains: String + internalName_not_in: [String] + products: cfTopicProductNestedFilter + productsCollection_exists: Boolean + subline: String + subline_contains: String + subline_exists: Boolean + subline_in: [String] + subline_not: String + subline_not_contains: String + subline_not_in: [String] + sys: SysFilter +} + +type ComponentProductTableLinkingCollections { + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection + pageCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): PageCollection +} + +enum ComponentProductTableOrder { + headline_ASC + headline_DESC + internalName_ASC + internalName_DESC + subline_ASC + subline_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC +} + +type ComponentProductTableProductsCollection { + items: [TopicProduct]! + limit: Int! + skip: Int! + total: Int! +} + +""" +Full-width component for quotes, reviews and testimonials, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentQuote) +""" +type ComponentQuote implements Entry { + colorPalette(locale: String): String + contentfulMetadata: ContentfulMetadata! + image(locale: String, preview: Boolean): Asset + imagePosition(locale: String): Boolean + internalName(locale: String): String + linkedFrom(allowedLocales: [String]): ComponentQuoteLinkingCollections + quote(locale: String): ComponentQuoteQuote + quoteAlignment(locale: String): Boolean + sys: Sys! +} + +type ComponentQuoteCollection { + items: [ComponentQuote]! + limit: Int! + skip: Int! + total: Int! +} + +input ComponentQuoteFilter { + AND: [ComponentQuoteFilter] + OR: [ComponentQuoteFilter] + colorPalette: String + colorPalette_contains: String + colorPalette_exists: Boolean + colorPalette_in: [String] + colorPalette_not: String + colorPalette_not_contains: String + colorPalette_not_in: [String] + contentfulMetadata: ContentfulMetadataFilter + imagePosition: Boolean + imagePosition_exists: Boolean + imagePosition_not: Boolean + image_exists: Boolean + internalName: String + internalName_contains: String + internalName_exists: Boolean + internalName_in: [String] + internalName_not: String + internalName_not_contains: String + internalName_not_in: [String] + quoteAlignment: Boolean + quoteAlignment_exists: Boolean + quoteAlignment_not: Boolean + quote_contains: String + quote_exists: Boolean + quote_not_contains: String + sys: SysFilter +} + +type ComponentQuoteLinkingCollections { + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection + pageCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): PageCollection +} + +enum ComponentQuoteOrder { + colorPalette_ASC + colorPalette_DESC + imagePosition_ASC + imagePosition_DESC + internalName_ASC + internalName_DESC + quoteAlignment_ASC + quoteAlignment_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC +} + +type ComponentQuoteQuote { + json: JSON! + links: ComponentQuoteQuoteLinks! +} + +type ComponentQuoteQuoteAssets { + block: [Asset]! + hyperlink: [Asset]! +} + +type ComponentQuoteQuoteEntries { + block: [Entry]! + hyperlink: [Entry]! + inline: [Entry]! +} + +type ComponentQuoteQuoteLinks { + assets: ComponentQuoteQuoteAssets! + entries: ComponentQuoteQuoteEntries! +} + +""" +Constrained-width component for displaying ad-hoc paragraphs of text (FAQs, intros, descriptions) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentTextBlock) +""" +type ComponentTextBlock implements Entry { + body(locale: String): ComponentTextBlockBody + colorPalette(locale: String): String + contentfulMetadata: ContentfulMetadata! + headline(locale: String): String + internalName(locale: String): String + linkedFrom(allowedLocales: [String]): ComponentTextBlockLinkingCollections + subline(locale: String): String + sys: Sys! +} + +type ComponentTextBlockBody { + json: JSON! + links: ComponentTextBlockBodyLinks! +} + +type ComponentTextBlockBodyAssets { + block: [Asset]! + hyperlink: [Asset]! +} + +type ComponentTextBlockBodyEntries { + block: [Entry]! + hyperlink: [Entry]! + inline: [Entry]! +} + +type ComponentTextBlockBodyLinks { + assets: ComponentTextBlockBodyAssets! + entries: ComponentTextBlockBodyEntries! +} + +type ComponentTextBlockCollection { + items: [ComponentTextBlock]! + limit: Int! + skip: Int! + total: Int! +} + +input ComponentTextBlockFilter { + AND: [ComponentTextBlockFilter] + OR: [ComponentTextBlockFilter] + body_contains: String + body_exists: Boolean + body_not_contains: String + colorPalette: String + colorPalette_contains: String + colorPalette_exists: Boolean + colorPalette_in: [String] + colorPalette_not: String + colorPalette_not_contains: String + colorPalette_not_in: [String] + contentfulMetadata: ContentfulMetadataFilter + headline: String + headline_contains: String + headline_exists: Boolean + headline_in: [String] + headline_not: String + headline_not_contains: String + headline_not_in: [String] + internalName: String + internalName_contains: String + internalName_exists: Boolean + internalName_in: [String] + internalName_not: String + internalName_not_contains: String + internalName_not_in: [String] + subline: String + subline_contains: String + subline_exists: Boolean + subline_in: [String] + subline_not: String + subline_not_contains: String + subline_not_in: [String] + sys: SysFilter +} + +type ComponentTextBlockLinkingCollections { + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection + pageCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): PageCollection +} + +enum ComponentTextBlockOrder { + colorPalette_ASC + colorPalette_DESC + headline_ASC + headline_DESC + internalName_ASC + internalName_DESC + subline_ASC + subline_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC +} + +type ContentfulMetadata { + tags: [ContentfulTag]! +} + +input ContentfulMetadataFilter { + tags: ContentfulMetadataTagsFilter + tags_exists: Boolean +} + +input ContentfulMetadataTagsFilter { + id_contains_all: [String] + id_contains_none: [String] + id_contains_some: [String] +} + +""" +Represents a tag entity for finding and organizing content easily. + Find out more here: https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/content-tags +""" +type ContentfulTag { + id: String + name: String +} + +""" +A date-time string at UTC, such as 2007-12-03T10:15:30Z, + compliant with the 'date-time' format outlined in section 5.6 of + the RFC 3339 profile of the ISO 8601 standard for representation + of dates and times using the Gregorian calendar. +""" +scalar DateTime + +""" +The 'Dimension' type represents dimensions as whole numeric values between `1` and `4000`. +""" +scalar Dimension + +interface Entry { + contentfulMetadata: ContentfulMetadata! + sys: Sys! +} + +type EntryCollection { + items: [Entry]! + limit: Int! + skip: Int! + total: Int! +} + +input EntryFilter { + AND: [EntryFilter] + OR: [EntryFilter] + contentfulMetadata: ContentfulMetadataFilter + sys: SysFilter +} + +enum EntryOrder { + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC +} + +""" +Navigation content type used for powering the Footer menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/footerMenu) +""" +type FooterMenu implements Entry { + contentfulMetadata: ContentfulMetadata! + facebookLink(locale: String): String + instagramLink(locale: String): String + internalName(locale: String): String + legalLinks(locale: String, preview: Boolean): MenuGroup + linkedFrom(allowedLocales: [String]): FooterMenuLinkingCollections + linkedinLink(locale: String): String + menuItemsCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): FooterMenuMenuItemsCollection + sys: Sys! + twitterLink(locale: String): String +} + +type FooterMenuCollection { + items: [FooterMenu]! + limit: Int! + skip: Int! + total: Int! +} + +input FooterMenuFilter { + AND: [FooterMenuFilter] + OR: [FooterMenuFilter] + contentfulMetadata: ContentfulMetadataFilter + facebookLink: String + facebookLink_contains: String + facebookLink_exists: Boolean + facebookLink_in: [String] + facebookLink_not: String + facebookLink_not_contains: String + facebookLink_not_in: [String] + instagramLink: String + instagramLink_contains: String + instagramLink_exists: Boolean + instagramLink_in: [String] + instagramLink_not: String + instagramLink_not_contains: String + instagramLink_not_in: [String] + internalName: String + internalName_contains: String + internalName_exists: Boolean + internalName_in: [String] + internalName_not: String + internalName_not_contains: String + internalName_not_in: [String] + legalLinks: cfMenuGroupNestedFilter + legalLinks_exists: Boolean + linkedinLink: String + linkedinLink_contains: String + linkedinLink_exists: Boolean + linkedinLink_in: [String] + linkedinLink_not: String + linkedinLink_not_contains: String + linkedinLink_not_in: [String] + menuItems: cfMenuGroupNestedFilter + menuItemsCollection_exists: Boolean + sys: SysFilter + twitterLink: String + twitterLink_contains: String + twitterLink_exists: Boolean + twitterLink_in: [String] + twitterLink_not: String + twitterLink_not_contains: String + twitterLink_not_in: [String] +} + +type FooterMenuLinkingCollections { + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection +} + +type FooterMenuMenuItemsCollection { + items: [MenuGroup]! + limit: Int! + skip: Int! + total: Int! +} + +enum FooterMenuOrder { + facebookLink_ASC + facebookLink_DESC + instagramLink_ASC + instagramLink_DESC + internalName_ASC + internalName_DESC + linkedinLink_ASC + linkedinLink_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC + twitterLink_ASC + twitterLink_DESC +} + +"""The 'HexColor' type represents color in `rgb:ffffff` string format.""" +scalar HexColor + +enum ImageFormat { + AVIF + + """JPG image format.""" + JPG + + """ + Progressive JPG format stores multiple passes of an image in progressively higher detail. + When a progressive image is loading, the viewer will first see a lower quality pixelated version which + will gradually improve in detail, until the image is fully downloaded. This is to display an image as + early as possible to make the layout look as designed. + """ + JPG_PROGRESSIVE + + """PNG image format""" + PNG + + """ + 8-bit PNG images support up to 256 colors and weigh less than the standard 24-bit PNG equivalent. + The 8-bit PNG format is mostly used for simple images, such as icons or logos. + """ + PNG8 + + """WebP image format.""" + WEBP +} + +enum ImageResizeFocus { + """Focus the resizing on the bottom.""" + BOTTOM + + """Focus the resizing on the bottom left.""" + BOTTOM_LEFT + + """Focus the resizing on the bottom right.""" + BOTTOM_RIGHT + + """Focus the resizing on the center.""" + CENTER + + """Focus the resizing on the largest face.""" + FACE + + """Focus the resizing on the area containing all the faces.""" + FACES + + """Focus the resizing on the left.""" + LEFT + + """Focus the resizing on the right.""" + RIGHT + + """Focus the resizing on the top.""" + TOP + + """Focus the resizing on the top left.""" + TOP_LEFT + + """Focus the resizing on the top right.""" + TOP_RIGHT +} + +enum ImageResizeStrategy { + """ + Crops a part of the original image to fit into the specified dimensions. + """ + CROP + + """ + Resizes the image to the specified dimensions, cropping the image if needed. + """ + FILL + + """Resizes the image to fit into the specified dimensions.""" + FIT + + """ + Resizes the image to the specified dimensions, padding the image if needed. + Uses desired background color as padding color. + """ + PAD + + """ + Resizes the image to the specified dimensions, changing the original aspect ratio if needed. + """ + SCALE + + """Creates a thumbnail from the image.""" + THUMB +} + +input ImageTransformOptions { + """ + Desired background color, used with corner radius or `PAD` resize strategy. + Defaults to transparent (for `PNG`, `PNG8` and `WEBP`) or white (for `JPG` and `JPG_PROGRESSIVE`). + """ + backgroundColor: HexColor + + """ + Desired corner radius in pixels. + Results in an image with rounded corners (pass `-1` for a full circle/ellipse). + Defaults to `0`. Uses desired background color as padding color, + unless the format is `JPG` or `JPG_PROGRESSIVE` and resize strategy is `PAD`, then defaults to white. + """ + cornerRadius: Int + + """Desired image format. Defaults to the original image format.""" + format: ImageFormat + + """Desired height in pixels. Defaults to the original image height.""" + height: Dimension + + """ + Desired quality of the image in percents. + Used for `PNG8`, `JPG`, `JPG_PROGRESSIVE` and `WEBP` formats. + """ + quality: Quality + + """Desired resize focus area. Defaults to `CENTER`.""" + resizeFocus: ImageResizeFocus + + """Desired resize strategy. Defaults to `FIT`.""" + resizeStrategy: ImageResizeStrategy + + """Desired width in pixels. Defaults to the original image width.""" + width: Dimension +} + +""" +The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). +""" +scalar JSON + +""" +A group of items making up a section in the navigation menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/menuGroup) +""" +type MenuGroup implements Entry { + contentfulMetadata: ContentfulMetadata! + featuredPagesCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): MenuGroupFeaturedPagesCollection + groupLink(locale: String, preview: Boolean): MenuGroupGroupLink + groupName(locale: String): String + internalTitle(locale: String): String + linkedFrom(allowedLocales: [String]): MenuGroupLinkingCollections + sys: Sys! +} + +type MenuGroupCollection { + items: [MenuGroup]! + limit: Int! + skip: Int! + total: Int! +} + +type MenuGroupFeaturedPagesCollection { + items: [MenuGroupFeaturedPagesItem]! + limit: Int! + skip: Int! + total: Int! +} + +union MenuGroupFeaturedPagesItem = Page + +input MenuGroupFilter { + AND: [MenuGroupFilter] + OR: [MenuGroupFilter] + contentfulMetadata: ContentfulMetadataFilter + featuredPagesCollection_exists: Boolean + groupLink_exists: Boolean + groupName: String + groupName_contains: String + groupName_exists: Boolean + groupName_in: [String] + groupName_not: String + groupName_not_contains: String + groupName_not_in: [String] + internalTitle: String + internalTitle_contains: String + internalTitle_exists: Boolean + internalTitle_in: [String] + internalTitle_not: String + internalTitle_not_contains: String + internalTitle_not_in: [String] + sys: SysFilter +} + +union MenuGroupGroupLink = Page + +type MenuGroupLinkingCollections { + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection + footerMenuCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): FooterMenuCollection + navigationMenuCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): NavigationMenuCollection +} + +enum MenuGroupOrder { + groupName_ASC + groupName_DESC + internalTitle_ASC + internalTitle_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC +} + +""" +Navigation menu in the header [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/navigationMenu) +""" +type NavigationMenu implements Entry { + contentfulMetadata: ContentfulMetadata! + internalName(locale: String): String + linkedFrom(allowedLocales: [String]): NavigationMenuLinkingCollections + menuItemsCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): NavigationMenuMenuItemsCollection + sys: Sys! +} + +type NavigationMenuCollection { + items: [NavigationMenu]! + limit: Int! + skip: Int! + total: Int! +} + +input NavigationMenuFilter { + AND: [NavigationMenuFilter] + OR: [NavigationMenuFilter] + contentfulMetadata: ContentfulMetadataFilter + internalName: String + internalName_contains: String + internalName_exists: Boolean + internalName_in: [String] + internalName_not: String + internalName_not_contains: String + internalName_not_in: [String] + menuItems: cfMenuGroupNestedFilter + menuItemsCollection_exists: Boolean + sys: SysFilter +} + +type NavigationMenuLinkingCollections { + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection +} + +type NavigationMenuMenuItemsCollection { + items: [MenuGroup]! + limit: Int! + skip: Int! + total: Int! +} + +enum NavigationMenuOrder { + internalName_ASC + internalName_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC +} + +""" +Container that enables editors to publish a page, define its slug, select & arrange its content [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/page) +""" +type Page implements Entry { + contentfulMetadata: ContentfulMetadata! + extraSectionCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): PageExtraSectionCollection + internalName(locale: String): String + linkedFrom(allowedLocales: [String]): PageLinkingCollections + pageContent(locale: String, preview: Boolean): PagePageContent + pageName(locale: String): String + seo(locale: String, preview: Boolean): Seo + slug(locale: String): String + sys: Sys! + topSectionCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): PageTopSectionCollection +} + +type PageCollection { + items: [Page]! + limit: Int! + skip: Int! + total: Int! +} + +type PageExtraSectionCollection { + items: [PageExtraSectionItem]! + limit: Int! + skip: Int! + total: Int! +} + +union PageExtraSectionItem = ComponentCta | ComponentDuplex | ComponentHeroBanner | ComponentInfoBlock | ComponentQuote | ComponentTextBlock + +input PageFilter { + AND: [PageFilter] + OR: [PageFilter] + contentfulMetadata: ContentfulMetadataFilter + extraSectionCollection_exists: Boolean + internalName: String + internalName_contains: String + internalName_exists: Boolean + internalName_in: [String] + internalName_not: String + internalName_not_contains: String + internalName_not_in: [String] + pageContent_exists: Boolean + pageName: String + pageName_contains: String + pageName_exists: Boolean + pageName_in: [String] + pageName_not: String + pageName_not_contains: String + pageName_not_in: [String] + seo: cfSeoNestedFilter + seo_exists: Boolean + slug: String + slug_contains: String + slug_exists: Boolean + slug_in: [String] + slug_not: String + slug_not_contains: String + slug_not_in: [String] + sys: SysFilter + topSectionCollection_exists: Boolean +} + +type PageLinkingCollections { + componentCtaCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): ComponentCtaCollection + componentDuplexCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): ComponentDuplexCollection + componentHeroBannerCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): ComponentHeroBannerCollection + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection + menuGroupCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): MenuGroupCollection +} + +enum PageOrder { + internalName_ASC + internalName_DESC + pageName_ASC + pageName_DESC + slug_ASC + slug_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC +} + +union PagePageContent = ComponentProductTable | TopicBusinessInfo | TopicProduct + +type PageTopSectionCollection { + items: [PageTopSectionItem]! + limit: Int! + skip: Int! + total: Int! +} + +union PageTopSectionItem = ComponentCta | ComponentDuplex | ComponentHeroBanner | ComponentInfoBlock | ComponentQuote | ComponentTextBlock + +""" +The 'Quality' type represents quality as whole numeric values between `1` and `100`. +""" +scalar Quality + +type Query { + asset(id: String!, locale: String, preview: Boolean): Asset + assetCollection(limit: Int = 100, locale: String, order: [AssetOrder], preview: Boolean, skip: Int = 0, where: AssetFilter): AssetCollection + componentCta(id: String!, locale: String, preview: Boolean): ComponentCta + componentCtaCollection(limit: Int = 100, locale: String, order: [ComponentCtaOrder], preview: Boolean, skip: Int = 0, where: ComponentCtaFilter): ComponentCtaCollection + componentDuplex(id: String!, locale: String, preview: Boolean): ComponentDuplex + componentDuplexCollection(limit: Int = 100, locale: String, order: [ComponentDuplexOrder], preview: Boolean, skip: Int = 0, where: ComponentDuplexFilter): ComponentDuplexCollection + componentHeroBanner(id: String!, locale: String, preview: Boolean): ComponentHeroBanner + componentHeroBannerCollection(limit: Int = 100, locale: String, order: [ComponentHeroBannerOrder], preview: Boolean, skip: Int = 0, where: ComponentHeroBannerFilter): ComponentHeroBannerCollection + componentInfoBlock(id: String!, locale: String, preview: Boolean): ComponentInfoBlock + componentInfoBlockCollection(limit: Int = 100, locale: String, order: [ComponentInfoBlockOrder], preview: Boolean, skip: Int = 0, where: ComponentInfoBlockFilter): ComponentInfoBlockCollection + componentProductTable(id: String!, locale: String, preview: Boolean): ComponentProductTable + componentProductTableCollection(limit: Int = 100, locale: String, order: [ComponentProductTableOrder], preview: Boolean, skip: Int = 0, where: ComponentProductTableFilter): ComponentProductTableCollection + componentQuote(id: String!, locale: String, preview: Boolean): ComponentQuote + componentQuoteCollection(limit: Int = 100, locale: String, order: [ComponentQuoteOrder], preview: Boolean, skip: Int = 0, where: ComponentQuoteFilter): ComponentQuoteCollection + componentTextBlock(id: String!, locale: String, preview: Boolean): ComponentTextBlock + componentTextBlockCollection(limit: Int = 100, locale: String, order: [ComponentTextBlockOrder], preview: Boolean, skip: Int = 0, where: ComponentTextBlockFilter): ComponentTextBlockCollection + entryCollection(limit: Int = 100, locale: String, order: [EntryOrder], preview: Boolean, skip: Int = 0, where: EntryFilter): EntryCollection + footerMenu(id: String!, locale: String, preview: Boolean): FooterMenu + footerMenuCollection(limit: Int = 100, locale: String, order: [FooterMenuOrder], preview: Boolean, skip: Int = 0, where: FooterMenuFilter): FooterMenuCollection + menuGroup(id: String!, locale: String, preview: Boolean): MenuGroup + menuGroupCollection(limit: Int = 100, locale: String, order: [MenuGroupOrder], preview: Boolean, skip: Int = 0, where: MenuGroupFilter): MenuGroupCollection + navigationMenu(id: String!, locale: String, preview: Boolean): NavigationMenu + navigationMenuCollection(limit: Int = 100, locale: String, order: [NavigationMenuOrder], preview: Boolean, skip: Int = 0, where: NavigationMenuFilter): NavigationMenuCollection + page(id: String!, locale: String, preview: Boolean): Page + pageCollection(limit: Int = 100, locale: String, order: [PageOrder], preview: Boolean, skip: Int = 0, where: PageFilter): PageCollection + seo(id: String!, locale: String, preview: Boolean): Seo + seoCollection(limit: Int = 100, locale: String, order: [SeoOrder], preview: Boolean, skip: Int = 0, where: SeoFilter): SeoCollection + topicBusinessInfo(id: String!, locale: String, preview: Boolean): TopicBusinessInfo + topicBusinessInfoCollection(limit: Int = 100, locale: String, order: [TopicBusinessInfoOrder], preview: Boolean, skip: Int = 0, where: TopicBusinessInfoFilter): TopicBusinessInfoCollection + topicPerson(id: String!, locale: String, preview: Boolean): TopicPerson + topicPersonCollection(limit: Int = 100, locale: String, order: [TopicPersonOrder], preview: Boolean, skip: Int = 0, where: TopicPersonFilter): TopicPersonCollection + topicProduct(id: String!, locale: String, preview: Boolean): TopicProduct + topicProductCollection(limit: Int = 100, locale: String, order: [TopicProductOrder], preview: Boolean, skip: Int = 0, where: TopicProductFilter): TopicProductCollection + topicProductFeature(id: String!, locale: String, preview: Boolean): TopicProductFeature + topicProductFeatureCollection(limit: Int = 100, locale: String, order: [TopicProductFeatureOrder], preview: Boolean, skip: Int = 0, where: TopicProductFeatureFilter): TopicProductFeatureCollection +} + +""" +Open Graph (OG) meta tags for optimizing SEO visibility [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/seo) +""" +type Seo implements Entry { + contentfulMetadata: ContentfulMetadata! + description(locale: String): String + image(locale: String, preview: Boolean): Asset + linkedFrom(allowedLocales: [String]): SeoLinkingCollections + name(locale: String): String + noFollow(locale: String): Boolean + noIndex(locale: String): Boolean + sys: Sys! + title(locale: String): String +} + +type SeoCollection { + items: [Seo]! + limit: Int! + skip: Int! + total: Int! +} + +input SeoFilter { + AND: [SeoFilter] + OR: [SeoFilter] + contentfulMetadata: ContentfulMetadataFilter + description: String + description_contains: String + description_exists: Boolean + description_in: [String] + description_not: String + description_not_contains: String + description_not_in: [String] + image_exists: Boolean + name: String + name_contains: String + name_exists: Boolean + name_in: [String] + name_not: String + name_not_contains: String + name_not_in: [String] + noFollow: Boolean + noFollow_exists: Boolean + noFollow_not: Boolean + noIndex: Boolean + noIndex_exists: Boolean + noIndex_not: Boolean + sys: SysFilter + title: String + title_contains: String + title_exists: Boolean + title_in: [String] + title_not: String + title_not_contains: String + title_not_in: [String] +} + +type SeoLinkingCollections { + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection + pageCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): PageCollection +} + +enum SeoOrder { + description_ASC + description_DESC + name_ASC + name_DESC + noFollow_ASC + noFollow_DESC + noIndex_ASC + noIndex_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC + title_ASC + title_DESC +} + +type Sys { + environmentId: String! + firstPublishedAt: DateTime + id: String! + publishedAt: DateTime + publishedVersion: Int + spaceId: String! +} + +input SysFilter { + firstPublishedAt: DateTime + firstPublishedAt_exists: Boolean + firstPublishedAt_gt: DateTime + firstPublishedAt_gte: DateTime + firstPublishedAt_in: [DateTime] + firstPublishedAt_lt: DateTime + firstPublishedAt_lte: DateTime + firstPublishedAt_not: DateTime + firstPublishedAt_not_in: [DateTime] + id: String + id_contains: String + id_exists: Boolean + id_in: [String] + id_not: String + id_not_contains: String + id_not_in: [String] + publishedAt: DateTime + publishedAt_exists: Boolean + publishedAt_gt: DateTime + publishedAt_gte: DateTime + publishedAt_in: [DateTime] + publishedAt_lt: DateTime + publishedAt_lte: DateTime + publishedAt_not: DateTime + publishedAt_not_in: [DateTime] + publishedVersion: Float + publishedVersion_exists: Boolean + publishedVersion_gt: Float + publishedVersion_gte: Float + publishedVersion_in: [Float] + publishedVersion_lt: Float + publishedVersion_lte: Float + publishedVersion_not: Float + publishedVersion_not_in: [Float] +} + +""" +Container for ever-green content like About us, Career pages, FAQ, Knowledge base & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicBusinessInfo) +""" +type TopicBusinessInfo implements Entry { + body(locale: String): TopicBusinessInfoBody + contentfulMetadata: ContentfulMetadata! + featuredImage(locale: String, preview: Boolean): Asset + internalName(locale: String): String + linkedFrom(allowedLocales: [String]): TopicBusinessInfoLinkingCollections + name(locale: String): String + shortDescription(locale: String): String + sys: Sys! +} + +type TopicBusinessInfoBody { + json: JSON! + links: TopicBusinessInfoBodyLinks! +} + +type TopicBusinessInfoBodyAssets { + block: [Asset]! + hyperlink: [Asset]! +} + +type TopicBusinessInfoBodyEntries { + block: [Entry]! + hyperlink: [Entry]! + inline: [Entry]! +} + +type TopicBusinessInfoBodyLinks { + assets: TopicBusinessInfoBodyAssets! + entries: TopicBusinessInfoBodyEntries! +} + +type TopicBusinessInfoCollection { + items: [TopicBusinessInfo]! + limit: Int! + skip: Int! + total: Int! +} + +input TopicBusinessInfoFilter { + AND: [TopicBusinessInfoFilter] + OR: [TopicBusinessInfoFilter] + body_contains: String + body_exists: Boolean + body_not_contains: String + contentfulMetadata: ContentfulMetadataFilter + featuredImage_exists: Boolean + internalName: String + internalName_contains: String + internalName_exists: Boolean + internalName_in: [String] + internalName_not: String + internalName_not_contains: String + internalName_not_in: [String] + name: String + name_contains: String + name_exists: Boolean + name_in: [String] + name_not: String + name_not_contains: String + name_not_in: [String] + shortDescription: String + shortDescription_contains: String + shortDescription_exists: Boolean + shortDescription_in: [String] + shortDescription_not: String + shortDescription_not_contains: String + shortDescription_not_in: [String] + sys: SysFilter +} + +type TopicBusinessInfoLinkingCollections { + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection + pageCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): PageCollection +} + +enum TopicBusinessInfoOrder { + internalName_ASC + internalName_DESC + name_ASC + name_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC +} + +""" +Container for holding info about people (article authors, company leadership, quoted customers, etc.) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicPerson) +""" +type TopicPerson implements Entry { + avatar(locale: String, preview: Boolean): Asset + bio(locale: String): TopicPersonBio + cardStyle(locale: String): Boolean + contentfulMetadata: ContentfulMetadata! + internalName(locale: String): String + linkedFrom(allowedLocales: [String]): TopicPersonLinkingCollections + location(locale: String): String + name(locale: String): String + sys: Sys! + website(locale: String): String +} + +type TopicPersonBio { + json: JSON! + links: TopicPersonBioLinks! +} + +type TopicPersonBioAssets { + block: [Asset]! + hyperlink: [Asset]! +} + +type TopicPersonBioEntries { + block: [Entry]! + hyperlink: [Entry]! + inline: [Entry]! +} + +type TopicPersonBioLinks { + assets: TopicPersonBioAssets! + entries: TopicPersonBioEntries! +} + +type TopicPersonCollection { + items: [TopicPerson]! + limit: Int! + skip: Int! + total: Int! +} + +input TopicPersonFilter { + AND: [TopicPersonFilter] + OR: [TopicPersonFilter] + avatar_exists: Boolean + bio_contains: String + bio_exists: Boolean + bio_not_contains: String + cardStyle: Boolean + cardStyle_exists: Boolean + cardStyle_not: Boolean + contentfulMetadata: ContentfulMetadataFilter + internalName: String + internalName_contains: String + internalName_exists: Boolean + internalName_in: [String] + internalName_not: String + internalName_not_contains: String + internalName_not_in: [String] + location: String + location_contains: String + location_exists: Boolean + location_in: [String] + location_not: String + location_not_contains: String + location_not_in: [String] + name: String + name_contains: String + name_exists: Boolean + name_in: [String] + name_not: String + name_not_contains: String + name_not_in: [String] + sys: SysFilter + website: String + website_contains: String + website_exists: Boolean + website_in: [String] + website_not: String + website_not_contains: String + website_not_in: [String] +} + +type TopicPersonLinkingCollections { + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection +} + +enum TopicPersonOrder { + cardStyle_ASC + cardStyle_DESC + internalName_ASC + internalName_DESC + location_ASC + location_DESC + name_ASC + name_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC + website_ASC + website_DESC +} + +""" +Container for product-specific information like card definitions, features, benefits, prices & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProduct) +""" +type TopicProduct implements Entry { + contentfulMetadata: ContentfulMetadata! + description(locale: String): TopicProductDescription + featuredImage(locale: String, preview: Boolean): Asset + featuresCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): TopicProductFeaturesCollection + internalName(locale: String): String + linkedFrom(allowedLocales: [String]): TopicProductLinkingCollections + name(locale: String): String + price(locale: String): Float + sys: Sys! +} + +type TopicProductCollection { + items: [TopicProduct]! + limit: Int! + skip: Int! + total: Int! +} + +type TopicProductDescription { + json: JSON! + links: TopicProductDescriptionLinks! +} + +type TopicProductDescriptionAssets { + block: [Asset]! + hyperlink: [Asset]! +} + +type TopicProductDescriptionEntries { + block: [Entry]! + hyperlink: [Entry]! + inline: [Entry]! +} + +type TopicProductDescriptionLinks { + assets: TopicProductDescriptionAssets! + entries: TopicProductDescriptionEntries! +} + +""" +Sub-container for product features enabling re-use of generic features across different products [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProductFeature) +""" +type TopicProductFeature implements Entry { + contentfulMetadata: ContentfulMetadata! + internalName(locale: String): String + linkedFrom(allowedLocales: [String]): TopicProductFeatureLinkingCollections + longDescription(locale: String): TopicProductFeatureLongDescription + name(locale: String): String + shortDescription(locale: String): TopicProductFeatureShortDescription + sys: Sys! +} + +type TopicProductFeatureCollection { + items: [TopicProductFeature]! + limit: Int! + skip: Int! + total: Int! +} + +input TopicProductFeatureFilter { + AND: [TopicProductFeatureFilter] + OR: [TopicProductFeatureFilter] + contentfulMetadata: ContentfulMetadataFilter + internalName: String + internalName_contains: String + internalName_exists: Boolean + internalName_in: [String] + internalName_not: String + internalName_not_contains: String + internalName_not_in: [String] + longDescription_contains: String + longDescription_exists: Boolean + longDescription_not_contains: String + name: String + name_contains: String + name_exists: Boolean + name_in: [String] + name_not: String + name_not_contains: String + name_not_in: [String] + shortDescription_contains: String + shortDescription_exists: Boolean + shortDescription_not_contains: String + sys: SysFilter +} + +type TopicProductFeatureLinkingCollections { + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection + topicProductCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): TopicProductCollection +} + +type TopicProductFeatureLongDescription { + json: JSON! + links: TopicProductFeatureLongDescriptionLinks! +} + +type TopicProductFeatureLongDescriptionAssets { + block: [Asset]! + hyperlink: [Asset]! +} + +type TopicProductFeatureLongDescriptionEntries { + block: [Entry]! + hyperlink: [Entry]! + inline: [Entry]! +} + +type TopicProductFeatureLongDescriptionLinks { + assets: TopicProductFeatureLongDescriptionAssets! + entries: TopicProductFeatureLongDescriptionEntries! +} + +enum TopicProductFeatureOrder { + internalName_ASC + internalName_DESC + name_ASC + name_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC +} + +type TopicProductFeatureShortDescription { + json: JSON! + links: TopicProductFeatureShortDescriptionLinks! +} + +type TopicProductFeatureShortDescriptionAssets { + block: [Asset]! + hyperlink: [Asset]! +} + +type TopicProductFeatureShortDescriptionEntries { + block: [Entry]! + hyperlink: [Entry]! + inline: [Entry]! +} + +type TopicProductFeatureShortDescriptionLinks { + assets: TopicProductFeatureShortDescriptionAssets! + entries: TopicProductFeatureShortDescriptionEntries! +} + +type TopicProductFeaturesCollection { + items: [TopicProductFeature]! + limit: Int! + skip: Int! + total: Int! +} + +input TopicProductFilter { + AND: [TopicProductFilter] + OR: [TopicProductFilter] + contentfulMetadata: ContentfulMetadataFilter + description_contains: String + description_exists: Boolean + description_not_contains: String + featuredImage_exists: Boolean + features: cfTopicProductFeatureNestedFilter + featuresCollection_exists: Boolean + internalName: String + internalName_contains: String + internalName_exists: Boolean + internalName_in: [String] + internalName_not: String + internalName_not_contains: String + internalName_not_in: [String] + name: String + name_contains: String + name_exists: Boolean + name_in: [String] + name_not: String + name_not_contains: String + name_not_in: [String] + price: Float + price_exists: Boolean + price_gt: Float + price_gte: Float + price_in: [Float] + price_lt: Float + price_lte: Float + price_not: Float + price_not_in: [Float] + sys: SysFilter +} + +type TopicProductLinkingCollections { + componentProductTableCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): ComponentProductTableCollection + entryCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): EntryCollection + pageCollection(limit: Int = 100, locale: String, preview: Boolean, skip: Int = 0): PageCollection +} + +enum TopicProductOrder { + internalName_ASC + internalName_DESC + name_ASC + name_DESC + price_ASC + price_DESC + sys_firstPublishedAt_ASC + sys_firstPublishedAt_DESC + sys_id_ASC + sys_id_DESC + sys_publishedAt_ASC + sys_publishedAt_DESC + sys_publishedVersion_ASC + sys_publishedVersion_DESC +} + +input cfMenuGroupNestedFilter { + AND: [cfMenuGroupNestedFilter] + OR: [cfMenuGroupNestedFilter] + contentfulMetadata: ContentfulMetadataFilter + featuredPagesCollection_exists: Boolean + groupLink_exists: Boolean + groupName: String + groupName_contains: String + groupName_exists: Boolean + groupName_in: [String] + groupName_not: String + groupName_not_contains: String + groupName_not_in: [String] + internalTitle: String + internalTitle_contains: String + internalTitle_exists: Boolean + internalTitle_in: [String] + internalTitle_not: String + internalTitle_not_contains: String + internalTitle_not_in: [String] + sys: SysFilter +} + +input cfSeoNestedFilter { + AND: [cfSeoNestedFilter] + OR: [cfSeoNestedFilter] + contentfulMetadata: ContentfulMetadataFilter + description: String + description_contains: String + description_exists: Boolean + description_in: [String] + description_not: String + description_not_contains: String + description_not_in: [String] + image_exists: Boolean + name: String + name_contains: String + name_exists: Boolean + name_in: [String] + name_not: String + name_not_contains: String + name_not_in: [String] + noFollow: Boolean + noFollow_exists: Boolean + noFollow_not: Boolean + noIndex: Boolean + noIndex_exists: Boolean + noIndex_not: Boolean + sys: SysFilter + title: String + title_contains: String + title_exists: Boolean + title_in: [String] + title_not: String + title_not_contains: String + title_not_in: [String] +} + +input cfTopicProductFeatureNestedFilter { + AND: [cfTopicProductFeatureNestedFilter] + OR: [cfTopicProductFeatureNestedFilter] + contentfulMetadata: ContentfulMetadataFilter + internalName: String + internalName_contains: String + internalName_exists: Boolean + internalName_in: [String] + internalName_not: String + internalName_not_contains: String + internalName_not_in: [String] + longDescription_contains: String + longDescription_exists: Boolean + longDescription_not_contains: String + name: String + name_contains: String + name_exists: Boolean + name_in: [String] + name_not: String + name_not_contains: String + name_not_in: [String] + shortDescription_contains: String + shortDescription_exists: Boolean + shortDescription_not_contains: String + sys: SysFilter +} + +input cfTopicProductNestedFilter { + AND: [cfTopicProductNestedFilter] + OR: [cfTopicProductNestedFilter] + contentfulMetadata: ContentfulMetadataFilter + description_contains: String + description_exists: Boolean + description_not_contains: String + featuredImage_exists: Boolean + featuresCollection_exists: Boolean + internalName: String + internalName_contains: String + internalName_exists: Boolean + internalName_in: [String] + internalName_not: String + internalName_not_contains: String + internalName_not_in: [String] + name: String + name_contains: String + name_exists: Boolean + name_in: [String] + name_not: String + name_not_contains: String + name_not_in: [String] + price: Float + price_exists: Boolean + price_gt: Float + price_gte: Float + price_in: [Float] + price_lt: Float + price_lte: Float + price_not: Float + price_not_in: [Float] + sys: SysFilter +} \ No newline at end of file diff --git a/src/lib/__generated/graphql.schema.json b/src/lib/__generated/graphql.schema.json new file mode 100644 index 0000000..cc6df78 --- /dev/null +++ b/src/lib/__generated/graphql.schema.json @@ -0,0 +1,28134 @@ +{ + "__schema": { + "queryType": { + "name": "Query" + }, + "mutationType": null, + "subscriptionType": null, + "types": [ + { + "kind": "OBJECT", + "name": "Asset", + "description": "Represents a binary file in a space. An asset can be any file type.", + "fields": [ + { + "name": "contentType", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "height", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AssetLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transform", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ImageTransformOptions", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AssetCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AssetFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AssetFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AssetFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentType", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentType_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentType_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentType_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentType_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentType_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentType_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "height", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "height_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "height_gt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "height_gte", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "height_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "height_lt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "height_lte", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "height_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "height_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size_gt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size_gte", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size_lt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size_lte", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width_gt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width_gte", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width_lt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width_lte", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AssetLinkingCollections", + "description": null, + "fields": [ + { + "name": "componentDuplexCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentDuplexCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentHeroBannerCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentHeroBannerCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentInfoBlockCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentInfoBlockCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentQuoteCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentQuoteCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "seoCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SeoCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topicBusinessInfoCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicBusinessInfoCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topicPersonCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicPersonCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topicProductCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicProductCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AssetOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "contentType_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentType_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "height_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "height_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Boolean", + "description": "The `Boolean` scalar type represents `true` or `false`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentCta", + "description": "Full-width container for creating visually distinct Calls-to-Action (CTAs) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentCta)", + "fields": [ + { + "name": "colorPalette", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentCtaLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentCtaSubline", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetPage", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "UNION", + "name": "ComponentCtaTargetPage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlParameters", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentCtaCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentCta", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ComponentCtaFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ComponentCtaFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ComponentCtaFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetPage_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlParameters", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlParameters_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlParameters_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlParameters_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlParameters_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlParameters_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlParameters_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentCtaLinkingCollections", + "description": null, + "fields": [ + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ComponentCtaOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "colorPalette_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlParameters_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlParameters_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentCtaSubline", + "description": null, + "fields": [ + { + "name": "json", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentCtaSublineLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentCtaSublineAssets", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentCtaSublineEntries", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inline", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentCtaSublineLinks", + "description": null, + "fields": [ + { + "name": "assets", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentCtaSublineAssets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entries", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentCtaSublineEntries", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "ComponentCtaTargetPage", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Page", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "ComponentDuplex", + "description": "Full-width container for displaying side-by-side image and copy, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentDuplex)", + "fields": [ + { + "name": "bodyText", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentDuplexBodyText", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerLayout", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageStyle", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentDuplexLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetPage", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "UNION", + "name": "ComponentDuplexTargetPage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentDuplexBodyText", + "description": null, + "fields": [ + { + "name": "json", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentDuplexBodyTextLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentDuplexBodyTextAssets", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentDuplexBodyTextEntries", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inline", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentDuplexBodyTextLinks", + "description": null, + "fields": [ + { + "name": "assets", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentDuplexBodyTextAssets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entries", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentDuplexBodyTextEntries", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentDuplexCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentDuplex", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ComponentDuplexFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ComponentDuplexFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ComponentDuplexFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bodyText_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bodyText_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bodyText_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerLayout", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerLayout_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerLayout_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageStyle", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageStyle_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageStyle_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetPage_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentDuplexLinkingCollections", + "description": null, + "fields": [ + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ComponentDuplexOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "colorPalette_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerLayout_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerLayout_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageStyle_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageStyle_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "ComponentDuplexTargetPage", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Page", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "ComponentHeroBanner", + "description": "Full-width container for displaying images and snappy copy; can include an optional CTA [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentHeroBanner)", + "fields": [ + { + "name": "bodyText", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentHeroBannerBodyText", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "heroSize", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageStyle", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentHeroBannerLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetPage", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "UNION", + "name": "ComponentHeroBannerTargetPage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentHeroBannerBodyText", + "description": null, + "fields": [ + { + "name": "json", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentHeroBannerBodyTextLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentHeroBannerBodyTextAssets", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentHeroBannerBodyTextEntries", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inline", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentHeroBannerBodyTextLinks", + "description": null, + "fields": [ + { + "name": "assets", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentHeroBannerBodyTextAssets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entries", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentHeroBannerBodyTextEntries", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentHeroBannerCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentHeroBanner", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ComponentHeroBannerFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ComponentHeroBannerFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ComponentHeroBannerFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bodyText_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bodyText_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bodyText_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "heroSize", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "heroSize_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "heroSize_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageStyle", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageStyle_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageStyle_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetPage_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentHeroBannerLinkingCollections", + "description": null, + "fields": [ + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ComponentHeroBannerOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "colorPalette_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ctaText_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "heroSize_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "heroSize_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageStyle_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageStyle_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "ComponentHeroBannerTargetPage", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Page", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlock", + "description": "Full-width container for displaying short bits of generic information with optional icons/visuals [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentInfoBlock)", + "fields": [ + { + "name": "block1Body", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock1Body", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block1Image", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block2Body", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock2Body", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block2Image", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block3Body", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock3Body", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block3Image", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentInfoBlockLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock1Body", + "description": null, + "fields": [ + { + "name": "json", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock1BodyLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock1BodyAssets", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock1BodyEntries", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inline", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock1BodyLinks", + "description": null, + "fields": [ + { + "name": "assets", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock1BodyAssets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entries", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock1BodyEntries", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock2Body", + "description": null, + "fields": [ + { + "name": "json", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock2BodyLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock2BodyAssets", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock2BodyEntries", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inline", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock2BodyLinks", + "description": null, + "fields": [ + { + "name": "assets", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock2BodyAssets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entries", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock2BodyEntries", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock3Body", + "description": null, + "fields": [ + { + "name": "json", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock3BodyLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock3BodyAssets", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock3BodyEntries", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inline", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock3BodyLinks", + "description": null, + "fields": [ + { + "name": "assets", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock3BodyAssets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entries", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentInfoBlockBlock3BodyEntries", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlockCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentInfoBlock", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ComponentInfoBlockFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ComponentInfoBlockFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ComponentInfoBlockFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block1Body_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block1Body_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block1Body_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block1Image_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block2Body_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block2Body_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block2Body_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block2Image_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block3Body_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block3Body_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block3Body_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "block3Image_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlockLinkingCollections", + "description": null, + "fields": [ + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ComponentInfoBlockOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "colorPalette_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentProductTable", + "description": "Component that renders products in a table enabling a side-by-side comparison [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentProductTable)", + "fields": [ + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentProductTableLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productsCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentProductTableProductsCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentProductTableCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentProductTable", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ComponentProductTableFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ComponentProductTableFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ComponentProductTableFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "products", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "cfTopicProductNestedFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productsCollection_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentProductTableLinkingCollections", + "description": null, + "fields": [ + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ComponentProductTableOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "headline_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentProductTableProductsCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicProduct", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentQuote", + "description": "Full-width component for quotes, reviews and testimonials, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentQuote)", + "fields": [ + { + "name": "colorPalette", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imagePosition", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentQuoteLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quote", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentQuoteQuote", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quoteAlignment", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentQuoteCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentQuote", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ComponentQuoteFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ComponentQuoteFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ComponentQuoteFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imagePosition", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imagePosition_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imagePosition_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quoteAlignment", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quoteAlignment_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quoteAlignment_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quote_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quote_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quote_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentQuoteLinkingCollections", + "description": null, + "fields": [ + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ComponentQuoteOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "colorPalette_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imagePosition_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imagePosition_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quoteAlignment_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quoteAlignment_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentQuoteQuote", + "description": null, + "fields": [ + { + "name": "json", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentQuoteQuoteLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentQuoteQuoteAssets", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentQuoteQuoteEntries", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inline", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentQuoteQuoteLinks", + "description": null, + "fields": [ + { + "name": "assets", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentQuoteQuoteAssets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entries", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentQuoteQuoteEntries", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentTextBlock", + "description": "Constrained-width component for displaying ad-hoc paragraphs of text (FAQs, intros, descriptions) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentTextBlock)", + "fields": [ + { + "name": "body", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentTextBlockBody", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentTextBlockLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentTextBlockBody", + "description": null, + "fields": [ + { + "name": "json", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentTextBlockBodyLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentTextBlockBodyAssets", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentTextBlockBodyEntries", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inline", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentTextBlockBodyLinks", + "description": null, + "fields": [ + { + "name": "assets", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentTextBlockBodyAssets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entries", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentTextBlockBodyEntries", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentTextBlockCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComponentTextBlock", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ComponentTextBlockFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ComponentTextBlockFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ComponentTextBlockFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "body_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "body_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "body_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentTextBlockLinkingCollections", + "description": null, + "fields": [ + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ComponentTextBlockOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "colorPalette_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorPalette_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headline_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subline_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "description": null, + "fields": [ + { + "name": "tags", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulTag", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "tags", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataTagsFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataTagsFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "id_contains_all", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_contains_none", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_contains_some", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContentfulTag", + "description": "Represents a tag entity for finding and organizing content easily.\n Find out more here: https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/content-tags", + "fields": [ + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DateTime", + "description": "A date-time string at UTC, such as 2007-12-03T10:15:30Z,\n compliant with the 'date-time' format outlined in section 5.6 of\n the RFC 3339 profile of the ISO 8601 standard for representation\n of dates and times using the Gregorian calendar.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Dimension", + "description": "The 'Dimension' type represents dimensions as whole numeric values between `1` and `4000`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Entry", + "description": null, + "fields": [ + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ComponentCta", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ComponentDuplex", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ComponentHeroBanner", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlock", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ComponentProductTable", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ComponentQuote", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ComponentTextBlock", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FooterMenu", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MenuGroup", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NavigationMenu", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Page", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Seo", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TopicBusinessInfo", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TopicPerson", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TopicProduct", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TopicProductFeature", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "EntryCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EntryFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EntryFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EntryFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "EntryOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Float", + "description": "The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FooterMenu", + "description": "Navigation content type used for powering the Footer menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/footerMenu)", + "fields": [ + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "facebookLink", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instagramLink", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legalLinks", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MenuGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FooterMenuLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedinLink", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "menuItemsCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FooterMenuMenuItemsCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitterLink", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FooterMenuCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FooterMenu", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FooterMenuFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FooterMenuFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FooterMenuFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "facebookLink", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "facebookLink_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "facebookLink_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "facebookLink_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "facebookLink_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "facebookLink_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "facebookLink_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instagramLink", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instagramLink_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instagramLink_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instagramLink_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instagramLink_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instagramLink_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instagramLink_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legalLinks", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "cfMenuGroupNestedFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legalLinks_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedinLink", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedinLink_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedinLink_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedinLink_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedinLink_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedinLink_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedinLink_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "menuItems", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "cfMenuGroupNestedFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "menuItemsCollection_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitterLink", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitterLink_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitterLink_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitterLink_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitterLink_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitterLink_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitterLink_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FooterMenuLinkingCollections", + "description": null, + "fields": [ + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FooterMenuMenuItemsCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MenuGroup", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FooterMenuOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "facebookLink_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "facebookLink_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instagramLink_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instagramLink_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedinLink_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedinLink_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitterLink_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitterLink_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "HexColor", + "description": "The 'HexColor' type represents color in `rgb:ffffff` string format.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ImageFormat", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AVIF", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JPG", + "description": "JPG image format.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JPG_PROGRESSIVE", + "description": "Progressive JPG format stores multiple passes of an image in progressively higher detail.\n When a progressive image is loading, the viewer will first see a lower quality pixelated version which\n will gradually improve in detail, until the image is fully downloaded. This is to display an image as\n early as possible to make the layout look as designed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PNG", + "description": "PNG image format", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PNG8", + "description": "8-bit PNG images support up to 256 colors and weigh less than the standard 24-bit PNG equivalent.\n The 8-bit PNG format is mostly used for simple images, such as icons or logos.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEBP", + "description": "WebP image format.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ImageResizeFocus", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BOTTOM", + "description": "Focus the resizing on the bottom.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BOTTOM_LEFT", + "description": "Focus the resizing on the bottom left.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BOTTOM_RIGHT", + "description": "Focus the resizing on the bottom right.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CENTER", + "description": "Focus the resizing on the center.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FACE", + "description": "Focus the resizing on the largest face.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FACES", + "description": "Focus the resizing on the area containing all the faces.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LEFT", + "description": "Focus the resizing on the left.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RIGHT", + "description": "Focus the resizing on the right.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOP", + "description": "Focus the resizing on the top.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOP_LEFT", + "description": "Focus the resizing on the top left.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOP_RIGHT", + "description": "Focus the resizing on the top right.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ImageResizeStrategy", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CROP", + "description": "Crops a part of the original image to fit into the specified dimensions.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILL", + "description": "Resizes the image to the specified dimensions, cropping the image if needed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIT", + "description": "Resizes the image to fit into the specified dimensions.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAD", + "description": "Resizes the image to the specified dimensions, padding the image if needed.\n Uses desired background color as padding color.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCALE", + "description": "Resizes the image to the specified dimensions, changing the original aspect ratio if needed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THUMB", + "description": "Creates a thumbnail from the image.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ImageTransformOptions", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "backgroundColor", + "description": "Desired background color, used with corner radius or `PAD` resize strategy.\n Defaults to transparent (for `PNG`, `PNG8` and `WEBP`) or white (for `JPG` and `JPG_PROGRESSIVE`).", + "type": { + "kind": "SCALAR", + "name": "HexColor", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cornerRadius", + "description": "Desired corner radius in pixels.\n Results in an image with rounded corners (pass `-1` for a full circle/ellipse).\n Defaults to `0`. Uses desired background color as padding color,\n unless the format is `JPG` or `JPG_PROGRESSIVE` and resize strategy is `PAD`, then defaults to white.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "format", + "description": "Desired image format. Defaults to the original image format.", + "type": { + "kind": "ENUM", + "name": "ImageFormat", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "height", + "description": "Desired height in pixels. Defaults to the original image height.", + "type": { + "kind": "SCALAR", + "name": "Dimension", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quality", + "description": "Desired quality of the image in percents.\n Used for `PNG8`, `JPG`, `JPG_PROGRESSIVE` and `WEBP` formats.", + "type": { + "kind": "SCALAR", + "name": "Quality", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resizeFocus", + "description": "Desired resize focus area. Defaults to `CENTER`.", + "type": { + "kind": "ENUM", + "name": "ImageResizeFocus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resizeStrategy", + "description": "Desired resize strategy. Defaults to `FIT`.", + "type": { + "kind": "ENUM", + "name": "ImageResizeStrategy", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width", + "description": "Desired width in pixels. Defaults to the original image width.", + "type": { + "kind": "SCALAR", + "name": "Dimension", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Int", + "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "JSON", + "description": "The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MenuGroup", + "description": "A group of items making up a section in the navigation menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/menuGroup)", + "fields": [ + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "featuredPagesCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MenuGroupFeaturedPagesCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupLink", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "UNION", + "name": "MenuGroupGroupLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MenuGroupLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MenuGroupCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MenuGroup", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MenuGroupFeaturedPagesCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "UNION", + "name": "MenuGroupFeaturedPagesItem", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "MenuGroupFeaturedPagesItem", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Page", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "MenuGroupFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MenuGroupFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MenuGroupFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "featuredPagesCollection_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupLink_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "MenuGroupGroupLink", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Page", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "MenuGroupLinkingCollections", + "description": null, + "fields": [ + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "footerMenuCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FooterMenuCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "navigationMenuCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NavigationMenuCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MenuGroupOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "groupName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NavigationMenu", + "description": "Navigation menu in the header [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/navigationMenu)", + "fields": [ + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NavigationMenuLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "menuItemsCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NavigationMenuMenuItemsCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NavigationMenuCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NavigationMenu", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NavigationMenuFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "NavigationMenuFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "NavigationMenuFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "menuItems", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "cfMenuGroupNestedFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "menuItemsCollection_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NavigationMenuLinkingCollections", + "description": null, + "fields": [ + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NavigationMenuMenuItemsCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MenuGroup", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "NavigationMenuOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "internalName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Page", + "description": "Container that enables editors to publish a page, define its slug, select & arrange its content [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/page)", + "fields": [ + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "extraSectionCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageExtraSectionCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageContent", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "UNION", + "name": "PagePageContent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "seo", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Seo", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topSectionCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageTopSectionCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Page", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageExtraSectionCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "UNION", + "name": "PageExtraSectionItem", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "PageExtraSectionItem", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ComponentCta", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ComponentDuplex", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ComponentHeroBanner", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlock", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ComponentQuote", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ComponentTextBlock", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "PageFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PageFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PageFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "extraSectionCollection_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageContent_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "seo", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "cfSeoNestedFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "seo_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topSectionCollection_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageLinkingCollections", + "description": null, + "fields": [ + { + "name": "componentCtaCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentCtaCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentDuplexCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentDuplexCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentHeroBannerCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentHeroBannerCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "menuGroupCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MenuGroupCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PageOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "internalName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "PagePageContent", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ComponentProductTable", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TopicBusinessInfo", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TopicProduct", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "PageTopSectionCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "UNION", + "name": "PageTopSectionItem", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "PageTopSectionItem", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ComponentCta", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ComponentDuplex", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ComponentHeroBanner", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ComponentInfoBlock", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ComponentQuote", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ComponentTextBlock", + "ofType": null + } + ] + }, + { + "kind": "SCALAR", + "name": "Quality", + "description": "The 'Quality' type represents quality as whole numeric values between `1` and `100`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Query", + "description": null, + "fields": [ + { + "name": "asset", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assetCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AssetOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "AssetFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AssetCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentCta", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentCta", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentCtaCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ComponentCtaOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ComponentCtaFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentCtaCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentDuplex", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentDuplex", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentDuplexCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ComponentDuplexOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ComponentDuplexFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentDuplexCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentHeroBanner", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentHeroBanner", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentHeroBannerCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ComponentHeroBannerOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ComponentHeroBannerFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentHeroBannerCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentInfoBlock", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentInfoBlock", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentInfoBlockCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ComponentInfoBlockOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ComponentInfoBlockFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentInfoBlockCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentProductTable", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentProductTable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentProductTableCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ComponentProductTableOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ComponentProductTableFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentProductTableCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentQuote", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentQuote", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentQuoteCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ComponentQuoteOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ComponentQuoteFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentQuoteCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentTextBlock", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentTextBlock", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentTextBlockCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ComponentTextBlockOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ComponentTextBlockFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentTextBlockCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EntryOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "EntryFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "footerMenu", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FooterMenu", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "footerMenuCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FooterMenuOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "FooterMenuFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FooterMenuCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "menuGroup", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MenuGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "menuGroupCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MenuGroupOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "MenuGroupFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MenuGroupCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "navigationMenu", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NavigationMenu", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "navigationMenuCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "NavigationMenuOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "NavigationMenuFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NavigationMenuCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Page", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PageOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "PageFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "seo", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Seo", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "seoCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SeoOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SeoFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SeoCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topicBusinessInfo", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicBusinessInfo", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topicBusinessInfoCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TopicBusinessInfoOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "TopicBusinessInfoFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicBusinessInfoCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topicPerson", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicPerson", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topicPersonCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TopicPersonOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "TopicPersonFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicPersonCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topicProduct", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicProduct", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topicProductCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TopicProductOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "TopicProductFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicProductCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topicProductFeature", + "description": null, + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicProductFeature", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topicProductFeatureCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TopicProductFeatureOrder", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "where", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "TopicProductFeatureFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicProductFeatureCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Seo", + "description": "Open Graph (OG) meta tags for optimizing SEO visibility [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/seo)", + "fields": [ + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SeoLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noFollow", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noIndex", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SeoCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Seo", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SeoFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SeoFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SeoFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noFollow", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noFollow_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noFollow_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noIndex", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noIndex_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noIndex_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SeoLinkingCollections", + "description": null, + "fields": [ + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SeoOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "description_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noFollow_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noFollow_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noIndex_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noIndex_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "String", + "description": "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.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Sys", + "description": null, + "fields": [ + { + "name": "environmentId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstPublishedAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedVersion", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "spaceId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "firstPublishedAt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstPublishedAt_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstPublishedAt_gt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstPublishedAt_gte", + "description": null, + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstPublishedAt_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstPublishedAt_lt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstPublishedAt_lte", + "description": null, + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstPublishedAt_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstPublishedAt_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedAt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedAt_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedAt_gt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedAt_gte", + "description": null, + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedAt_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedAt_lt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedAt_lte", + "description": null, + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedAt_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedAt_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedVersion", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedVersion_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedVersion_gt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedVersion_gte", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedVersion_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedVersion_lt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedVersion_lte", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedVersion_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedVersion_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicBusinessInfo", + "description": "Container for ever-green content like About us, Career pages, FAQ, Knowledge base & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicBusinessInfo)", + "fields": [ + { + "name": "body", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicBusinessInfoBody", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "featuredImage", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicBusinessInfoLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortDescription", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicBusinessInfoBody", + "description": null, + "fields": [ + { + "name": "json", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicBusinessInfoBodyLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicBusinessInfoBodyAssets", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicBusinessInfoBodyEntries", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inline", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicBusinessInfoBodyLinks", + "description": null, + "fields": [ + { + "name": "assets", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicBusinessInfoBodyAssets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entries", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicBusinessInfoBodyEntries", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicBusinessInfoCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicBusinessInfo", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TopicBusinessInfoFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TopicBusinessInfoFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TopicBusinessInfoFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "body_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "body_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "body_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "featuredImage_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortDescription", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortDescription_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortDescription_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortDescription_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortDescription_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortDescription_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortDescription_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicBusinessInfoLinkingCollections", + "description": null, + "fields": [ + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TopicBusinessInfoOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "internalName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicPerson", + "description": "Container for holding info about people (article authors, company leadership, quoted customers, etc.) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicPerson)", + "fields": [ + { + "name": "avatar", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bio", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicPersonBio", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cardStyle", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicPersonLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "website", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicPersonBio", + "description": null, + "fields": [ + { + "name": "json", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicPersonBioLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicPersonBioAssets", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicPersonBioEntries", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inline", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicPersonBioLinks", + "description": null, + "fields": [ + { + "name": "assets", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicPersonBioAssets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entries", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicPersonBioEntries", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicPersonCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicPerson", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TopicPersonFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TopicPersonFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TopicPersonFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatar_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bio_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bio_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bio_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cardStyle", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cardStyle_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cardStyle_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "website", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "website_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "website_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "website_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "website_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "website_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "website_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicPersonLinkingCollections", + "description": null, + "fields": [ + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TopicPersonOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "cardStyle_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cardStyle_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "website_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "website_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProduct", + "description": "Container for product-specific information like card definitions, features, benefits, prices & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProduct)", + "fields": [ + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicProductDescription", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "featuredImage", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "featuresCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicProductFeaturesCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicProductLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicProduct", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductDescription", + "description": null, + "fields": [ + { + "name": "json", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicProductDescriptionLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductDescriptionAssets", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductDescriptionEntries", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inline", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductDescriptionLinks", + "description": null, + "fields": [ + { + "name": "assets", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicProductDescriptionAssets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entries", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicProductDescriptionEntries", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductFeature", + "description": "Sub-container for product features enabling re-use of generic features across different products [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProductFeature)", + "fields": [ + { + "name": "contentfulMetadata", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContentfulMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedFrom", + "description": null, + "args": [ + { + "name": "allowedLocales", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicProductFeatureLinkingCollections", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "longDescription", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicProductFeatureLongDescription", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortDescription", + "description": null, + "args": [ + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicProductFeatureShortDescription", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Sys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductFeatureCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicProductFeature", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TopicProductFeatureFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TopicProductFeatureFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TopicProductFeatureFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "longDescription_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "longDescription_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "longDescription_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortDescription_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortDescription_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortDescription_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductFeatureLinkingCollections", + "description": null, + "fields": [ + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topicProductCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicProductCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductFeatureLongDescription", + "description": null, + "fields": [ + { + "name": "json", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicProductFeatureLongDescriptionLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductFeatureLongDescriptionAssets", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductFeatureLongDescriptionEntries", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inline", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductFeatureLongDescriptionLinks", + "description": null, + "fields": [ + { + "name": "assets", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicProductFeatureLongDescriptionAssets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entries", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicProductFeatureLongDescriptionEntries", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TopicProductFeatureOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "internalName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductFeatureShortDescription", + "description": null, + "fields": [ + { + "name": "json", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicProductFeatureShortDescriptionLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductFeatureShortDescriptionAssets", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductFeatureShortDescriptionEntries", + "description": null, + "fields": [ + { + "name": "block", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hyperlink", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inline", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductFeatureShortDescriptionLinks", + "description": null, + "fields": [ + { + "name": "assets", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicProductFeatureShortDescriptionAssets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entries", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicProductFeatureShortDescriptionEntries", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductFeaturesCollection", + "description": null, + "fields": [ + { + "name": "items", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicProductFeature", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TopicProductFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TopicProductFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TopicProductFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "featuredImage_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "features", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "cfTopicProductFeatureNestedFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "featuresCollection_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_gt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_gte", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_lt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_lte", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicProductLinkingCollections", + "description": null, + "fields": [ + { + "name": "componentProductTableCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComponentProductTableCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entryCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EntryCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCollection", + "description": null, + "args": [ + { + "name": "limit", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "100", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "0", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TopicProductOrder", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "internalName_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_firstPublishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_id_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedAt_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_ASC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys_publishedVersion_DESC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Directive", + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isRepeatable", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locations", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__DirectiveLocation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "args", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "__DirectiveLocation", + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "QUERY", + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MUTATION", + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION", + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD", + "description": "Location adjacent to a field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAGMENT_DEFINITION", + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAGMENT_SPREAD", + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INLINE_FRAGMENT", + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIABLE_DEFINITION", + "description": "Location adjacent to a variable definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEMA", + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCALAR", + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT", + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD_DEFINITION", + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ARGUMENT_DEFINITION", + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERFACE", + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNION", + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM", + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM_VALUE", + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_OBJECT", + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_FIELD_DEFINITION", + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__EnumValue", + "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Field", + "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "args", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__InputValue", + "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultValue", + "description": "A GraphQL-formatted string representing the default value for this input value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Schema", + "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.", + "fields": [ + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "types", + "description": "A list of all types supported by this server.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryType", + "description": "The type that query operations will be rooted at.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationType", + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionType", + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "directives", + "description": "A list of all directives supported by this server.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Directive", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Type", + "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.", + "fields": [ + { + "name": "kind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "specifiedByURL", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fields", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interfaces", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "possibleTypes", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enumValues", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inputFields", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ofType", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "__TypeKind", + "description": "An enum describing what kind of type a given `__Type` is.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SCALAR", + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT", + "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERFACE", + "description": "Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNION", + "description": "Indicates this type is a union. `possibleTypes` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM", + "description": "Indicates this type is an enum. `enumValues` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_OBJECT", + "description": "Indicates this type is an input object. `inputFields` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIST", + "description": "Indicates this type is a list. `ofType` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NON_NULL", + "description": "Indicates this type is a non-null. `ofType` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "cfMenuGroupNestedFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "cfMenuGroupNestedFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "cfMenuGroupNestedFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "featuredPagesCollection_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupLink_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalTitle_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "cfSeoNestedFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "cfSeoNestedFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "cfSeoNestedFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noFollow", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noFollow_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noFollow_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noIndex", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noIndex_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noIndex_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "cfTopicProductFeatureNestedFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "cfTopicProductFeatureNestedFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "cfTopicProductFeatureNestedFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "longDescription_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "longDescription_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "longDescription_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortDescription_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortDescription_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortDescription_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "cfTopicProductNestedFilter", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "AND", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "cfTopicProductNestedFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "cfTopicProductNestedFilter", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentfulMetadata", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "ContentfulMetadataFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "featuredImage_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "featuresCollection_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalName_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not_contains", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_exists", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_gt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_gte", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_lt", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_lte", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_not", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price_not_in", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sys", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "SysFilter", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + } + ], + "directives": [ + { + "name": "deprecated", + "description": "Marks an element of a GraphQL schema as no longer supported.", + "isRepeatable": false, + "locations": [ + "ARGUMENT_DEFINITION", + "ENUM_VALUE", + "FIELD_DEFINITION", + "INPUT_FIELD_DEFINITION" + ], + "args": [ + { + "name": "reason", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"No longer supported\"", + "isDeprecated": false, + "deprecationReason": null + } + ] + }, + { + "name": "include", + "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", + "isRepeatable": false, + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "args": [ + { + "name": "if", + "description": "Included when true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ] + }, + { + "name": "skip", + "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", + "isRepeatable": false, + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "args": [ + { + "name": "if", + "description": "Skipped when true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ] + }, + { + "name": "specifiedBy", + "description": "Exposes a URL that specifies the behavior of this scalar.", + "isRepeatable": false, + "locations": [ + "SCALAR" + ], + "args": [ + { + "name": "url", + "description": "The URL that specifies the behavior of this scalar.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ] + } + ] + } +} \ No newline at end of file diff --git a/src/lib/__generated/graphql.types.ts b/src/lib/__generated/graphql.types.ts new file mode 100644 index 0000000..0d66a6c --- /dev/null +++ b/src/lib/__generated/graphql.types.ts @@ -0,0 +1,3883 @@ +export type Maybe = T | null; +export type InputMaybe = Maybe; +export type Exact = { [K in keyof T]: T[K] }; +export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; +export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; +/** All built-in and custom scalars, mapped to their actual values */ +export type Scalars = { + ID: string; + String: string; + Boolean: boolean; + Int: number; + Float: number; + DateTime: any; + Dimension: any; + HexColor: any; + JSON: any; + Quality: any; +}; + +/** Represents a binary file in a space. An asset can be any file type. */ +export type Asset = { + __typename?: 'Asset'; + contentType?: Maybe; + contentfulMetadata: ContentfulMetadata; + description?: Maybe; + fileName?: Maybe; + height?: Maybe; + linkedFrom?: Maybe; + size?: Maybe; + sys: Sys; + title?: Maybe; + url?: Maybe; + width?: Maybe; +}; + + +/** Represents a binary file in a space. An asset can be any file type. */ +export type AssetContentTypeArgs = { + locale?: InputMaybe; +}; + + +/** Represents a binary file in a space. An asset can be any file type. */ +export type AssetDescriptionArgs = { + locale?: InputMaybe; +}; + + +/** Represents a binary file in a space. An asset can be any file type. */ +export type AssetFileNameArgs = { + locale?: InputMaybe; +}; + + +/** Represents a binary file in a space. An asset can be any file type. */ +export type AssetHeightArgs = { + locale?: InputMaybe; +}; + + +/** Represents a binary file in a space. An asset can be any file type. */ +export type AssetLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + + +/** Represents a binary file in a space. An asset can be any file type. */ +export type AssetSizeArgs = { + locale?: InputMaybe; +}; + + +/** Represents a binary file in a space. An asset can be any file type. */ +export type AssetTitleArgs = { + locale?: InputMaybe; +}; + + +/** Represents a binary file in a space. An asset can be any file type. */ +export type AssetUrlArgs = { + locale?: InputMaybe; + transform?: InputMaybe; +}; + + +/** Represents a binary file in a space. An asset can be any file type. */ +export type AssetWidthArgs = { + locale?: InputMaybe; +}; + +export type AssetCollection = { + __typename?: 'AssetCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type AssetFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + contentType?: InputMaybe; + contentType_contains?: InputMaybe; + contentType_exists?: InputMaybe; + contentType_in?: InputMaybe>>; + contentType_not?: InputMaybe; + contentType_not_contains?: InputMaybe; + contentType_not_in?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + description?: InputMaybe; + description_contains?: InputMaybe; + description_exists?: InputMaybe; + description_in?: InputMaybe>>; + description_not?: InputMaybe; + description_not_contains?: InputMaybe; + description_not_in?: InputMaybe>>; + fileName?: InputMaybe; + fileName_contains?: InputMaybe; + fileName_exists?: InputMaybe; + fileName_in?: InputMaybe>>; + fileName_not?: InputMaybe; + fileName_not_contains?: InputMaybe; + fileName_not_in?: InputMaybe>>; + height?: InputMaybe; + height_exists?: InputMaybe; + height_gt?: InputMaybe; + height_gte?: InputMaybe; + height_in?: InputMaybe>>; + height_lt?: InputMaybe; + height_lte?: InputMaybe; + height_not?: InputMaybe; + height_not_in?: InputMaybe>>; + size?: InputMaybe; + size_exists?: InputMaybe; + size_gt?: InputMaybe; + size_gte?: InputMaybe; + size_in?: InputMaybe>>; + size_lt?: InputMaybe; + size_lte?: InputMaybe; + size_not?: InputMaybe; + size_not_in?: InputMaybe>>; + sys?: InputMaybe; + title?: InputMaybe; + title_contains?: InputMaybe; + title_exists?: InputMaybe; + title_in?: InputMaybe>>; + title_not?: InputMaybe; + title_not_contains?: InputMaybe; + title_not_in?: InputMaybe>>; + url?: InputMaybe; + url_contains?: InputMaybe; + url_exists?: InputMaybe; + url_in?: InputMaybe>>; + url_not?: InputMaybe; + url_not_contains?: InputMaybe; + url_not_in?: InputMaybe>>; + width?: InputMaybe; + width_exists?: InputMaybe; + width_gt?: InputMaybe; + width_gte?: InputMaybe; + width_in?: InputMaybe>>; + width_lt?: InputMaybe; + width_lte?: InputMaybe; + width_not?: InputMaybe; + width_not_in?: InputMaybe>>; +}; + +export type AssetLinkingCollections = { + __typename?: 'AssetLinkingCollections'; + componentDuplexCollection?: Maybe; + componentHeroBannerCollection?: Maybe; + componentInfoBlockCollection?: Maybe; + componentQuoteCollection?: Maybe; + entryCollection?: Maybe; + seoCollection?: Maybe; + topicBusinessInfoCollection?: Maybe; + topicPersonCollection?: Maybe; + topicProductCollection?: Maybe; +}; + + +export type AssetLinkingCollectionsComponentDuplexCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type AssetLinkingCollectionsComponentHeroBannerCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type AssetLinkingCollectionsComponentInfoBlockCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type AssetLinkingCollectionsComponentQuoteCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type AssetLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type AssetLinkingCollectionsSeoCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type AssetLinkingCollectionsTopicBusinessInfoCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type AssetLinkingCollectionsTopicPersonCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type AssetLinkingCollectionsTopicProductCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export enum AssetOrder { + ContentTypeAsc = 'contentType_ASC', + ContentTypeDesc = 'contentType_DESC', + FileNameAsc = 'fileName_ASC', + FileNameDesc = 'fileName_DESC', + HeightAsc = 'height_ASC', + HeightDesc = 'height_DESC', + SizeAsc = 'size_ASC', + SizeDesc = 'size_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC', + UrlAsc = 'url_ASC', + UrlDesc = 'url_DESC', + WidthAsc = 'width_ASC', + WidthDesc = 'width_DESC' +} + +/** Full-width container for creating visually distinct Calls-to-Action (CTAs) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentCta) */ +export type ComponentCta = Entry & { + __typename?: 'ComponentCta'; + colorPalette?: Maybe; + contentfulMetadata: ContentfulMetadata; + ctaText?: Maybe; + headline?: Maybe; + internalName?: Maybe; + linkedFrom?: Maybe; + subline?: Maybe; + sys: Sys; + targetPage?: Maybe; + urlParameters?: Maybe; +}; + + +/** Full-width container for creating visually distinct Calls-to-Action (CTAs) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentCta) */ +export type ComponentCtaColorPaletteArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for creating visually distinct Calls-to-Action (CTAs) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentCta) */ +export type ComponentCtaCtaTextArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for creating visually distinct Calls-to-Action (CTAs) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentCta) */ +export type ComponentCtaHeadlineArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for creating visually distinct Calls-to-Action (CTAs) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentCta) */ +export type ComponentCtaInternalNameArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for creating visually distinct Calls-to-Action (CTAs) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentCta) */ +export type ComponentCtaLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + + +/** Full-width container for creating visually distinct Calls-to-Action (CTAs) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentCta) */ +export type ComponentCtaSublineArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for creating visually distinct Calls-to-Action (CTAs) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentCta) */ +export type ComponentCtaTargetPageArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +/** Full-width container for creating visually distinct Calls-to-Action (CTAs) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentCta) */ +export type ComponentCtaUrlParametersArgs = { + locale?: InputMaybe; +}; + +export type ComponentCtaCollection = { + __typename?: 'ComponentCtaCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type ComponentCtaFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + colorPalette?: InputMaybe; + colorPalette_contains?: InputMaybe; + colorPalette_exists?: InputMaybe; + colorPalette_in?: InputMaybe>>; + colorPalette_not?: InputMaybe; + colorPalette_not_contains?: InputMaybe; + colorPalette_not_in?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + ctaText?: InputMaybe; + ctaText_contains?: InputMaybe; + ctaText_exists?: InputMaybe; + ctaText_in?: InputMaybe>>; + ctaText_not?: InputMaybe; + ctaText_not_contains?: InputMaybe; + ctaText_not_in?: InputMaybe>>; + headline?: InputMaybe; + headline_contains?: InputMaybe; + headline_exists?: InputMaybe; + headline_in?: InputMaybe>>; + headline_not?: InputMaybe; + headline_not_contains?: InputMaybe; + headline_not_in?: InputMaybe>>; + internalName?: InputMaybe; + internalName_contains?: InputMaybe; + internalName_exists?: InputMaybe; + internalName_in?: InputMaybe>>; + internalName_not?: InputMaybe; + internalName_not_contains?: InputMaybe; + internalName_not_in?: InputMaybe>>; + subline_contains?: InputMaybe; + subline_exists?: InputMaybe; + subline_not_contains?: InputMaybe; + sys?: InputMaybe; + targetPage_exists?: InputMaybe; + urlParameters?: InputMaybe; + urlParameters_contains?: InputMaybe; + urlParameters_exists?: InputMaybe; + urlParameters_in?: InputMaybe>>; + urlParameters_not?: InputMaybe; + urlParameters_not_contains?: InputMaybe; + urlParameters_not_in?: InputMaybe>>; +}; + +export type ComponentCtaLinkingCollections = { + __typename?: 'ComponentCtaLinkingCollections'; + entryCollection?: Maybe; + pageCollection?: Maybe; +}; + + +export type ComponentCtaLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type ComponentCtaLinkingCollectionsPageCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export enum ComponentCtaOrder { + ColorPaletteAsc = 'colorPalette_ASC', + ColorPaletteDesc = 'colorPalette_DESC', + CtaTextAsc = 'ctaText_ASC', + CtaTextDesc = 'ctaText_DESC', + HeadlineAsc = 'headline_ASC', + HeadlineDesc = 'headline_DESC', + InternalNameAsc = 'internalName_ASC', + InternalNameDesc = 'internalName_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC', + UrlParametersAsc = 'urlParameters_ASC', + UrlParametersDesc = 'urlParameters_DESC' +} + +export type ComponentCtaSubline = { + __typename?: 'ComponentCtaSubline'; + json: Scalars['JSON']; + links: ComponentCtaSublineLinks; +}; + +export type ComponentCtaSublineAssets = { + __typename?: 'ComponentCtaSublineAssets'; + block: Array>; + hyperlink: Array>; +}; + +export type ComponentCtaSublineEntries = { + __typename?: 'ComponentCtaSublineEntries'; + block: Array>; + hyperlink: Array>; + inline: Array>; +}; + +export type ComponentCtaSublineLinks = { + __typename?: 'ComponentCtaSublineLinks'; + assets: ComponentCtaSublineAssets; + entries: ComponentCtaSublineEntries; +}; + +export type ComponentCtaTargetPage = Page; + +/** Full-width container for displaying side-by-side image and copy, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentDuplex) */ +export type ComponentDuplex = Entry & { + __typename?: 'ComponentDuplex'; + bodyText?: Maybe; + colorPalette?: Maybe; + containerLayout?: Maybe; + contentfulMetadata: ContentfulMetadata; + ctaText?: Maybe; + headline?: Maybe; + image?: Maybe; + imageStyle?: Maybe; + internalName?: Maybe; + linkedFrom?: Maybe; + sys: Sys; + targetPage?: Maybe; +}; + + +/** Full-width container for displaying side-by-side image and copy, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentDuplex) */ +export type ComponentDuplexBodyTextArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying side-by-side image and copy, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentDuplex) */ +export type ComponentDuplexColorPaletteArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying side-by-side image and copy, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentDuplex) */ +export type ComponentDuplexContainerLayoutArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying side-by-side image and copy, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentDuplex) */ +export type ComponentDuplexCtaTextArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying side-by-side image and copy, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentDuplex) */ +export type ComponentDuplexHeadlineArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying side-by-side image and copy, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentDuplex) */ +export type ComponentDuplexImageArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +/** Full-width container for displaying side-by-side image and copy, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentDuplex) */ +export type ComponentDuplexImageStyleArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying side-by-side image and copy, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentDuplex) */ +export type ComponentDuplexInternalNameArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying side-by-side image and copy, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentDuplex) */ +export type ComponentDuplexLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + + +/** Full-width container for displaying side-by-side image and copy, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentDuplex) */ +export type ComponentDuplexTargetPageArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + +export type ComponentDuplexBodyText = { + __typename?: 'ComponentDuplexBodyText'; + json: Scalars['JSON']; + links: ComponentDuplexBodyTextLinks; +}; + +export type ComponentDuplexBodyTextAssets = { + __typename?: 'ComponentDuplexBodyTextAssets'; + block: Array>; + hyperlink: Array>; +}; + +export type ComponentDuplexBodyTextEntries = { + __typename?: 'ComponentDuplexBodyTextEntries'; + block: Array>; + hyperlink: Array>; + inline: Array>; +}; + +export type ComponentDuplexBodyTextLinks = { + __typename?: 'ComponentDuplexBodyTextLinks'; + assets: ComponentDuplexBodyTextAssets; + entries: ComponentDuplexBodyTextEntries; +}; + +export type ComponentDuplexCollection = { + __typename?: 'ComponentDuplexCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type ComponentDuplexFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + bodyText_contains?: InputMaybe; + bodyText_exists?: InputMaybe; + bodyText_not_contains?: InputMaybe; + colorPalette?: InputMaybe; + colorPalette_contains?: InputMaybe; + colorPalette_exists?: InputMaybe; + colorPalette_in?: InputMaybe>>; + colorPalette_not?: InputMaybe; + colorPalette_not_contains?: InputMaybe; + colorPalette_not_in?: InputMaybe>>; + containerLayout?: InputMaybe; + containerLayout_exists?: InputMaybe; + containerLayout_not?: InputMaybe; + contentfulMetadata?: InputMaybe; + ctaText?: InputMaybe; + ctaText_contains?: InputMaybe; + ctaText_exists?: InputMaybe; + ctaText_in?: InputMaybe>>; + ctaText_not?: InputMaybe; + ctaText_not_contains?: InputMaybe; + ctaText_not_in?: InputMaybe>>; + headline?: InputMaybe; + headline_contains?: InputMaybe; + headline_exists?: InputMaybe; + headline_in?: InputMaybe>>; + headline_not?: InputMaybe; + headline_not_contains?: InputMaybe; + headline_not_in?: InputMaybe>>; + imageStyle?: InputMaybe; + imageStyle_exists?: InputMaybe; + imageStyle_not?: InputMaybe; + image_exists?: InputMaybe; + internalName?: InputMaybe; + internalName_contains?: InputMaybe; + internalName_exists?: InputMaybe; + internalName_in?: InputMaybe>>; + internalName_not?: InputMaybe; + internalName_not_contains?: InputMaybe; + internalName_not_in?: InputMaybe>>; + sys?: InputMaybe; + targetPage_exists?: InputMaybe; +}; + +export type ComponentDuplexLinkingCollections = { + __typename?: 'ComponentDuplexLinkingCollections'; + entryCollection?: Maybe; + pageCollection?: Maybe; +}; + + +export type ComponentDuplexLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type ComponentDuplexLinkingCollectionsPageCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export enum ComponentDuplexOrder { + ColorPaletteAsc = 'colorPalette_ASC', + ColorPaletteDesc = 'colorPalette_DESC', + ContainerLayoutAsc = 'containerLayout_ASC', + ContainerLayoutDesc = 'containerLayout_DESC', + CtaTextAsc = 'ctaText_ASC', + CtaTextDesc = 'ctaText_DESC', + HeadlineAsc = 'headline_ASC', + HeadlineDesc = 'headline_DESC', + ImageStyleAsc = 'imageStyle_ASC', + ImageStyleDesc = 'imageStyle_DESC', + InternalNameAsc = 'internalName_ASC', + InternalNameDesc = 'internalName_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC' +} + +export type ComponentDuplexTargetPage = Page; + +/** Full-width container for displaying images and snappy copy; can include an optional CTA [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentHeroBanner) */ +export type ComponentHeroBanner = Entry & { + __typename?: 'ComponentHeroBanner'; + bodyText?: Maybe; + colorPalette?: Maybe; + contentfulMetadata: ContentfulMetadata; + ctaText?: Maybe; + headline?: Maybe; + heroSize?: Maybe; + image?: Maybe; + imageStyle?: Maybe; + internalName?: Maybe; + linkedFrom?: Maybe; + sys: Sys; + targetPage?: Maybe; +}; + + +/** Full-width container for displaying images and snappy copy; can include an optional CTA [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentHeroBanner) */ +export type ComponentHeroBannerBodyTextArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying images and snappy copy; can include an optional CTA [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentHeroBanner) */ +export type ComponentHeroBannerColorPaletteArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying images and snappy copy; can include an optional CTA [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentHeroBanner) */ +export type ComponentHeroBannerCtaTextArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying images and snappy copy; can include an optional CTA [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentHeroBanner) */ +export type ComponentHeroBannerHeadlineArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying images and snappy copy; can include an optional CTA [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentHeroBanner) */ +export type ComponentHeroBannerHeroSizeArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying images and snappy copy; can include an optional CTA [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentHeroBanner) */ +export type ComponentHeroBannerImageArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +/** Full-width container for displaying images and snappy copy; can include an optional CTA [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentHeroBanner) */ +export type ComponentHeroBannerImageStyleArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying images and snappy copy; can include an optional CTA [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentHeroBanner) */ +export type ComponentHeroBannerInternalNameArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying images and snappy copy; can include an optional CTA [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentHeroBanner) */ +export type ComponentHeroBannerLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + + +/** Full-width container for displaying images and snappy copy; can include an optional CTA [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentHeroBanner) */ +export type ComponentHeroBannerTargetPageArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + +export type ComponentHeroBannerBodyText = { + __typename?: 'ComponentHeroBannerBodyText'; + json: Scalars['JSON']; + links: ComponentHeroBannerBodyTextLinks; +}; + +export type ComponentHeroBannerBodyTextAssets = { + __typename?: 'ComponentHeroBannerBodyTextAssets'; + block: Array>; + hyperlink: Array>; +}; + +export type ComponentHeroBannerBodyTextEntries = { + __typename?: 'ComponentHeroBannerBodyTextEntries'; + block: Array>; + hyperlink: Array>; + inline: Array>; +}; + +export type ComponentHeroBannerBodyTextLinks = { + __typename?: 'ComponentHeroBannerBodyTextLinks'; + assets: ComponentHeroBannerBodyTextAssets; + entries: ComponentHeroBannerBodyTextEntries; +}; + +export type ComponentHeroBannerCollection = { + __typename?: 'ComponentHeroBannerCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type ComponentHeroBannerFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + bodyText_contains?: InputMaybe; + bodyText_exists?: InputMaybe; + bodyText_not_contains?: InputMaybe; + colorPalette?: InputMaybe; + colorPalette_contains?: InputMaybe; + colorPalette_exists?: InputMaybe; + colorPalette_in?: InputMaybe>>; + colorPalette_not?: InputMaybe; + colorPalette_not_contains?: InputMaybe; + colorPalette_not_in?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + ctaText?: InputMaybe; + ctaText_contains?: InputMaybe; + ctaText_exists?: InputMaybe; + ctaText_in?: InputMaybe>>; + ctaText_not?: InputMaybe; + ctaText_not_contains?: InputMaybe; + ctaText_not_in?: InputMaybe>>; + headline?: InputMaybe; + headline_contains?: InputMaybe; + headline_exists?: InputMaybe; + headline_in?: InputMaybe>>; + headline_not?: InputMaybe; + headline_not_contains?: InputMaybe; + headline_not_in?: InputMaybe>>; + heroSize?: InputMaybe; + heroSize_exists?: InputMaybe; + heroSize_not?: InputMaybe; + imageStyle?: InputMaybe; + imageStyle_exists?: InputMaybe; + imageStyle_not?: InputMaybe; + image_exists?: InputMaybe; + internalName?: InputMaybe; + internalName_contains?: InputMaybe; + internalName_exists?: InputMaybe; + internalName_in?: InputMaybe>>; + internalName_not?: InputMaybe; + internalName_not_contains?: InputMaybe; + internalName_not_in?: InputMaybe>>; + sys?: InputMaybe; + targetPage_exists?: InputMaybe; +}; + +export type ComponentHeroBannerLinkingCollections = { + __typename?: 'ComponentHeroBannerLinkingCollections'; + entryCollection?: Maybe; + pageCollection?: Maybe; +}; + + +export type ComponentHeroBannerLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type ComponentHeroBannerLinkingCollectionsPageCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export enum ComponentHeroBannerOrder { + ColorPaletteAsc = 'colorPalette_ASC', + ColorPaletteDesc = 'colorPalette_DESC', + CtaTextAsc = 'ctaText_ASC', + CtaTextDesc = 'ctaText_DESC', + HeadlineAsc = 'headline_ASC', + HeadlineDesc = 'headline_DESC', + HeroSizeAsc = 'heroSize_ASC', + HeroSizeDesc = 'heroSize_DESC', + ImageStyleAsc = 'imageStyle_ASC', + ImageStyleDesc = 'imageStyle_DESC', + InternalNameAsc = 'internalName_ASC', + InternalNameDesc = 'internalName_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC' +} + +export type ComponentHeroBannerTargetPage = Page; + +/** Full-width container for displaying short bits of generic information with optional icons/visuals [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentInfoBlock) */ +export type ComponentInfoBlock = Entry & { + __typename?: 'ComponentInfoBlock'; + block1Body?: Maybe; + block1Image?: Maybe; + block2Body?: Maybe; + block2Image?: Maybe; + block3Body?: Maybe; + block3Image?: Maybe; + colorPalette?: Maybe; + contentfulMetadata: ContentfulMetadata; + headline?: Maybe; + internalName?: Maybe; + linkedFrom?: Maybe; + subline?: Maybe; + sys: Sys; +}; + + +/** Full-width container for displaying short bits of generic information with optional icons/visuals [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentInfoBlock) */ +export type ComponentInfoBlockBlock1BodyArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying short bits of generic information with optional icons/visuals [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentInfoBlock) */ +export type ComponentInfoBlockBlock1ImageArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +/** Full-width container for displaying short bits of generic information with optional icons/visuals [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentInfoBlock) */ +export type ComponentInfoBlockBlock2BodyArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying short bits of generic information with optional icons/visuals [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentInfoBlock) */ +export type ComponentInfoBlockBlock2ImageArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +/** Full-width container for displaying short bits of generic information with optional icons/visuals [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentInfoBlock) */ +export type ComponentInfoBlockBlock3BodyArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying short bits of generic information with optional icons/visuals [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentInfoBlock) */ +export type ComponentInfoBlockBlock3ImageArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +/** Full-width container for displaying short bits of generic information with optional icons/visuals [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentInfoBlock) */ +export type ComponentInfoBlockColorPaletteArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying short bits of generic information with optional icons/visuals [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentInfoBlock) */ +export type ComponentInfoBlockHeadlineArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying short bits of generic information with optional icons/visuals [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentInfoBlock) */ +export type ComponentInfoBlockInternalNameArgs = { + locale?: InputMaybe; +}; + + +/** Full-width container for displaying short bits of generic information with optional icons/visuals [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentInfoBlock) */ +export type ComponentInfoBlockLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + + +/** Full-width container for displaying short bits of generic information with optional icons/visuals [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentInfoBlock) */ +export type ComponentInfoBlockSublineArgs = { + locale?: InputMaybe; +}; + +export type ComponentInfoBlockBlock1Body = { + __typename?: 'ComponentInfoBlockBlock1Body'; + json: Scalars['JSON']; + links: ComponentInfoBlockBlock1BodyLinks; +}; + +export type ComponentInfoBlockBlock1BodyAssets = { + __typename?: 'ComponentInfoBlockBlock1BodyAssets'; + block: Array>; + hyperlink: Array>; +}; + +export type ComponentInfoBlockBlock1BodyEntries = { + __typename?: 'ComponentInfoBlockBlock1BodyEntries'; + block: Array>; + hyperlink: Array>; + inline: Array>; +}; + +export type ComponentInfoBlockBlock1BodyLinks = { + __typename?: 'ComponentInfoBlockBlock1BodyLinks'; + assets: ComponentInfoBlockBlock1BodyAssets; + entries: ComponentInfoBlockBlock1BodyEntries; +}; + +export type ComponentInfoBlockBlock2Body = { + __typename?: 'ComponentInfoBlockBlock2Body'; + json: Scalars['JSON']; + links: ComponentInfoBlockBlock2BodyLinks; +}; + +export type ComponentInfoBlockBlock2BodyAssets = { + __typename?: 'ComponentInfoBlockBlock2BodyAssets'; + block: Array>; + hyperlink: Array>; +}; + +export type ComponentInfoBlockBlock2BodyEntries = { + __typename?: 'ComponentInfoBlockBlock2BodyEntries'; + block: Array>; + hyperlink: Array>; + inline: Array>; +}; + +export type ComponentInfoBlockBlock2BodyLinks = { + __typename?: 'ComponentInfoBlockBlock2BodyLinks'; + assets: ComponentInfoBlockBlock2BodyAssets; + entries: ComponentInfoBlockBlock2BodyEntries; +}; + +export type ComponentInfoBlockBlock3Body = { + __typename?: 'ComponentInfoBlockBlock3Body'; + json: Scalars['JSON']; + links: ComponentInfoBlockBlock3BodyLinks; +}; + +export type ComponentInfoBlockBlock3BodyAssets = { + __typename?: 'ComponentInfoBlockBlock3BodyAssets'; + block: Array>; + hyperlink: Array>; +}; + +export type ComponentInfoBlockBlock3BodyEntries = { + __typename?: 'ComponentInfoBlockBlock3BodyEntries'; + block: Array>; + hyperlink: Array>; + inline: Array>; +}; + +export type ComponentInfoBlockBlock3BodyLinks = { + __typename?: 'ComponentInfoBlockBlock3BodyLinks'; + assets: ComponentInfoBlockBlock3BodyAssets; + entries: ComponentInfoBlockBlock3BodyEntries; +}; + +export type ComponentInfoBlockCollection = { + __typename?: 'ComponentInfoBlockCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type ComponentInfoBlockFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + block1Body_contains?: InputMaybe; + block1Body_exists?: InputMaybe; + block1Body_not_contains?: InputMaybe; + block1Image_exists?: InputMaybe; + block2Body_contains?: InputMaybe; + block2Body_exists?: InputMaybe; + block2Body_not_contains?: InputMaybe; + block2Image_exists?: InputMaybe; + block3Body_contains?: InputMaybe; + block3Body_exists?: InputMaybe; + block3Body_not_contains?: InputMaybe; + block3Image_exists?: InputMaybe; + colorPalette?: InputMaybe; + colorPalette_contains?: InputMaybe; + colorPalette_exists?: InputMaybe; + colorPalette_in?: InputMaybe>>; + colorPalette_not?: InputMaybe; + colorPalette_not_contains?: InputMaybe; + colorPalette_not_in?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + headline?: InputMaybe; + headline_contains?: InputMaybe; + headline_exists?: InputMaybe; + headline_in?: InputMaybe>>; + headline_not?: InputMaybe; + headline_not_contains?: InputMaybe; + headline_not_in?: InputMaybe>>; + internalName?: InputMaybe; + internalName_contains?: InputMaybe; + internalName_exists?: InputMaybe; + internalName_in?: InputMaybe>>; + internalName_not?: InputMaybe; + internalName_not_contains?: InputMaybe; + internalName_not_in?: InputMaybe>>; + subline?: InputMaybe; + subline_contains?: InputMaybe; + subline_exists?: InputMaybe; + subline_in?: InputMaybe>>; + subline_not?: InputMaybe; + subline_not_contains?: InputMaybe; + subline_not_in?: InputMaybe>>; + sys?: InputMaybe; +}; + +export type ComponentInfoBlockLinkingCollections = { + __typename?: 'ComponentInfoBlockLinkingCollections'; + entryCollection?: Maybe; + pageCollection?: Maybe; +}; + + +export type ComponentInfoBlockLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type ComponentInfoBlockLinkingCollectionsPageCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export enum ComponentInfoBlockOrder { + ColorPaletteAsc = 'colorPalette_ASC', + ColorPaletteDesc = 'colorPalette_DESC', + HeadlineAsc = 'headline_ASC', + HeadlineDesc = 'headline_DESC', + InternalNameAsc = 'internalName_ASC', + InternalNameDesc = 'internalName_DESC', + SublineAsc = 'subline_ASC', + SublineDesc = 'subline_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC' +} + +/** Component that renders products in a table enabling a side-by-side comparison [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentProductTable) */ +export type ComponentProductTable = Entry & { + __typename?: 'ComponentProductTable'; + contentfulMetadata: ContentfulMetadata; + headline?: Maybe; + internalName?: Maybe; + linkedFrom?: Maybe; + productsCollection?: Maybe; + subline?: Maybe; + sys: Sys; +}; + + +/** Component that renders products in a table enabling a side-by-side comparison [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentProductTable) */ +export type ComponentProductTableHeadlineArgs = { + locale?: InputMaybe; +}; + + +/** Component that renders products in a table enabling a side-by-side comparison [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentProductTable) */ +export type ComponentProductTableInternalNameArgs = { + locale?: InputMaybe; +}; + + +/** Component that renders products in a table enabling a side-by-side comparison [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentProductTable) */ +export type ComponentProductTableLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + + +/** Component that renders products in a table enabling a side-by-side comparison [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentProductTable) */ +export type ComponentProductTableProductsCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +/** Component that renders products in a table enabling a side-by-side comparison [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentProductTable) */ +export type ComponentProductTableSublineArgs = { + locale?: InputMaybe; +}; + +export type ComponentProductTableCollection = { + __typename?: 'ComponentProductTableCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type ComponentProductTableFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + headline?: InputMaybe; + headline_contains?: InputMaybe; + headline_exists?: InputMaybe; + headline_in?: InputMaybe>>; + headline_not?: InputMaybe; + headline_not_contains?: InputMaybe; + headline_not_in?: InputMaybe>>; + internalName?: InputMaybe; + internalName_contains?: InputMaybe; + internalName_exists?: InputMaybe; + internalName_in?: InputMaybe>>; + internalName_not?: InputMaybe; + internalName_not_contains?: InputMaybe; + internalName_not_in?: InputMaybe>>; + products?: InputMaybe; + productsCollection_exists?: InputMaybe; + subline?: InputMaybe; + subline_contains?: InputMaybe; + subline_exists?: InputMaybe; + subline_in?: InputMaybe>>; + subline_not?: InputMaybe; + subline_not_contains?: InputMaybe; + subline_not_in?: InputMaybe>>; + sys?: InputMaybe; +}; + +export type ComponentProductTableLinkingCollections = { + __typename?: 'ComponentProductTableLinkingCollections'; + entryCollection?: Maybe; + pageCollection?: Maybe; +}; + + +export type ComponentProductTableLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type ComponentProductTableLinkingCollectionsPageCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export enum ComponentProductTableOrder { + HeadlineAsc = 'headline_ASC', + HeadlineDesc = 'headline_DESC', + InternalNameAsc = 'internalName_ASC', + InternalNameDesc = 'internalName_DESC', + SublineAsc = 'subline_ASC', + SublineDesc = 'subline_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC' +} + +export type ComponentProductTableProductsCollection = { + __typename?: 'ComponentProductTableProductsCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +/** Full-width component for quotes, reviews and testimonials, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentQuote) */ +export type ComponentQuote = Entry & { + __typename?: 'ComponentQuote'; + colorPalette?: Maybe; + contentfulMetadata: ContentfulMetadata; + image?: Maybe; + imagePosition?: Maybe; + internalName?: Maybe; + linkedFrom?: Maybe; + quote?: Maybe; + quoteAlignment?: Maybe; + sys: Sys; +}; + + +/** Full-width component for quotes, reviews and testimonials, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentQuote) */ +export type ComponentQuoteColorPaletteArgs = { + locale?: InputMaybe; +}; + + +/** Full-width component for quotes, reviews and testimonials, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentQuote) */ +export type ComponentQuoteImageArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +/** Full-width component for quotes, reviews and testimonials, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentQuote) */ +export type ComponentQuoteImagePositionArgs = { + locale?: InputMaybe; +}; + + +/** Full-width component for quotes, reviews and testimonials, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentQuote) */ +export type ComponentQuoteInternalNameArgs = { + locale?: InputMaybe; +}; + + +/** Full-width component for quotes, reviews and testimonials, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentQuote) */ +export type ComponentQuoteLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + + +/** Full-width component for quotes, reviews and testimonials, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentQuote) */ +export type ComponentQuoteQuoteArgs = { + locale?: InputMaybe; +}; + + +/** Full-width component for quotes, reviews and testimonials, includes multiple layout options [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentQuote) */ +export type ComponentQuoteQuoteAlignmentArgs = { + locale?: InputMaybe; +}; + +export type ComponentQuoteCollection = { + __typename?: 'ComponentQuoteCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type ComponentQuoteFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + colorPalette?: InputMaybe; + colorPalette_contains?: InputMaybe; + colorPalette_exists?: InputMaybe; + colorPalette_in?: InputMaybe>>; + colorPalette_not?: InputMaybe; + colorPalette_not_contains?: InputMaybe; + colorPalette_not_in?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + imagePosition?: InputMaybe; + imagePosition_exists?: InputMaybe; + imagePosition_not?: InputMaybe; + image_exists?: InputMaybe; + internalName?: InputMaybe; + internalName_contains?: InputMaybe; + internalName_exists?: InputMaybe; + internalName_in?: InputMaybe>>; + internalName_not?: InputMaybe; + internalName_not_contains?: InputMaybe; + internalName_not_in?: InputMaybe>>; + quoteAlignment?: InputMaybe; + quoteAlignment_exists?: InputMaybe; + quoteAlignment_not?: InputMaybe; + quote_contains?: InputMaybe; + quote_exists?: InputMaybe; + quote_not_contains?: InputMaybe; + sys?: InputMaybe; +}; + +export type ComponentQuoteLinkingCollections = { + __typename?: 'ComponentQuoteLinkingCollections'; + entryCollection?: Maybe; + pageCollection?: Maybe; +}; + + +export type ComponentQuoteLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type ComponentQuoteLinkingCollectionsPageCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export enum ComponentQuoteOrder { + ColorPaletteAsc = 'colorPalette_ASC', + ColorPaletteDesc = 'colorPalette_DESC', + ImagePositionAsc = 'imagePosition_ASC', + ImagePositionDesc = 'imagePosition_DESC', + InternalNameAsc = 'internalName_ASC', + InternalNameDesc = 'internalName_DESC', + QuoteAlignmentAsc = 'quoteAlignment_ASC', + QuoteAlignmentDesc = 'quoteAlignment_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC' +} + +export type ComponentQuoteQuote = { + __typename?: 'ComponentQuoteQuote'; + json: Scalars['JSON']; + links: ComponentQuoteQuoteLinks; +}; + +export type ComponentQuoteQuoteAssets = { + __typename?: 'ComponentQuoteQuoteAssets'; + block: Array>; + hyperlink: Array>; +}; + +export type ComponentQuoteQuoteEntries = { + __typename?: 'ComponentQuoteQuoteEntries'; + block: Array>; + hyperlink: Array>; + inline: Array>; +}; + +export type ComponentQuoteQuoteLinks = { + __typename?: 'ComponentQuoteQuoteLinks'; + assets: ComponentQuoteQuoteAssets; + entries: ComponentQuoteQuoteEntries; +}; + +/** Constrained-width component for displaying ad-hoc paragraphs of text (FAQs, intros, descriptions) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentTextBlock) */ +export type ComponentTextBlock = Entry & { + __typename?: 'ComponentTextBlock'; + body?: Maybe; + colorPalette?: Maybe; + contentfulMetadata: ContentfulMetadata; + headline?: Maybe; + internalName?: Maybe; + linkedFrom?: Maybe; + subline?: Maybe; + sys: Sys; +}; + + +/** Constrained-width component for displaying ad-hoc paragraphs of text (FAQs, intros, descriptions) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentTextBlock) */ +export type ComponentTextBlockBodyArgs = { + locale?: InputMaybe; +}; + + +/** Constrained-width component for displaying ad-hoc paragraphs of text (FAQs, intros, descriptions) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentTextBlock) */ +export type ComponentTextBlockColorPaletteArgs = { + locale?: InputMaybe; +}; + + +/** Constrained-width component for displaying ad-hoc paragraphs of text (FAQs, intros, descriptions) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentTextBlock) */ +export type ComponentTextBlockHeadlineArgs = { + locale?: InputMaybe; +}; + + +/** Constrained-width component for displaying ad-hoc paragraphs of text (FAQs, intros, descriptions) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentTextBlock) */ +export type ComponentTextBlockInternalNameArgs = { + locale?: InputMaybe; +}; + + +/** Constrained-width component for displaying ad-hoc paragraphs of text (FAQs, intros, descriptions) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentTextBlock) */ +export type ComponentTextBlockLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + + +/** Constrained-width component for displaying ad-hoc paragraphs of text (FAQs, intros, descriptions) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/componentTextBlock) */ +export type ComponentTextBlockSublineArgs = { + locale?: InputMaybe; +}; + +export type ComponentTextBlockBody = { + __typename?: 'ComponentTextBlockBody'; + json: Scalars['JSON']; + links: ComponentTextBlockBodyLinks; +}; + +export type ComponentTextBlockBodyAssets = { + __typename?: 'ComponentTextBlockBodyAssets'; + block: Array>; + hyperlink: Array>; +}; + +export type ComponentTextBlockBodyEntries = { + __typename?: 'ComponentTextBlockBodyEntries'; + block: Array>; + hyperlink: Array>; + inline: Array>; +}; + +export type ComponentTextBlockBodyLinks = { + __typename?: 'ComponentTextBlockBodyLinks'; + assets: ComponentTextBlockBodyAssets; + entries: ComponentTextBlockBodyEntries; +}; + +export type ComponentTextBlockCollection = { + __typename?: 'ComponentTextBlockCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type ComponentTextBlockFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + body_contains?: InputMaybe; + body_exists?: InputMaybe; + body_not_contains?: InputMaybe; + colorPalette?: InputMaybe; + colorPalette_contains?: InputMaybe; + colorPalette_exists?: InputMaybe; + colorPalette_in?: InputMaybe>>; + colorPalette_not?: InputMaybe; + colorPalette_not_contains?: InputMaybe; + colorPalette_not_in?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + headline?: InputMaybe; + headline_contains?: InputMaybe; + headline_exists?: InputMaybe; + headline_in?: InputMaybe>>; + headline_not?: InputMaybe; + headline_not_contains?: InputMaybe; + headline_not_in?: InputMaybe>>; + internalName?: InputMaybe; + internalName_contains?: InputMaybe; + internalName_exists?: InputMaybe; + internalName_in?: InputMaybe>>; + internalName_not?: InputMaybe; + internalName_not_contains?: InputMaybe; + internalName_not_in?: InputMaybe>>; + subline?: InputMaybe; + subline_contains?: InputMaybe; + subline_exists?: InputMaybe; + subline_in?: InputMaybe>>; + subline_not?: InputMaybe; + subline_not_contains?: InputMaybe; + subline_not_in?: InputMaybe>>; + sys?: InputMaybe; +}; + +export type ComponentTextBlockLinkingCollections = { + __typename?: 'ComponentTextBlockLinkingCollections'; + entryCollection?: Maybe; + pageCollection?: Maybe; +}; + + +export type ComponentTextBlockLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type ComponentTextBlockLinkingCollectionsPageCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export enum ComponentTextBlockOrder { + ColorPaletteAsc = 'colorPalette_ASC', + ColorPaletteDesc = 'colorPalette_DESC', + HeadlineAsc = 'headline_ASC', + HeadlineDesc = 'headline_DESC', + InternalNameAsc = 'internalName_ASC', + InternalNameDesc = 'internalName_DESC', + SublineAsc = 'subline_ASC', + SublineDesc = 'subline_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC' +} + +export type ContentfulMetadata = { + __typename?: 'ContentfulMetadata'; + tags: Array>; +}; + +export type ContentfulMetadataFilter = { + tags?: InputMaybe; + tags_exists?: InputMaybe; +}; + +export type ContentfulMetadataTagsFilter = { + id_contains_all?: InputMaybe>>; + id_contains_none?: InputMaybe>>; + id_contains_some?: InputMaybe>>; +}; + +/** + * Represents a tag entity for finding and organizing content easily. + * Find out more here: https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/content-tags + */ +export type ContentfulTag = { + __typename?: 'ContentfulTag'; + id?: Maybe; + name?: Maybe; +}; + +export type Entry = { + contentfulMetadata: ContentfulMetadata; + sys: Sys; +}; + +export type EntryCollection = { + __typename?: 'EntryCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type EntryFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + sys?: InputMaybe; +}; + +export enum EntryOrder { + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC' +} + +/** Navigation content type used for powering the Footer menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/footerMenu) */ +export type FooterMenu = Entry & { + __typename?: 'FooterMenu'; + contentfulMetadata: ContentfulMetadata; + facebookLink?: Maybe; + instagramLink?: Maybe; + internalName?: Maybe; + legalLinks?: Maybe; + linkedFrom?: Maybe; + linkedinLink?: Maybe; + menuItemsCollection?: Maybe; + sys: Sys; + twitterLink?: Maybe; +}; + + +/** Navigation content type used for powering the Footer menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/footerMenu) */ +export type FooterMenuFacebookLinkArgs = { + locale?: InputMaybe; +}; + + +/** Navigation content type used for powering the Footer menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/footerMenu) */ +export type FooterMenuInstagramLinkArgs = { + locale?: InputMaybe; +}; + + +/** Navigation content type used for powering the Footer menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/footerMenu) */ +export type FooterMenuInternalNameArgs = { + locale?: InputMaybe; +}; + + +/** Navigation content type used for powering the Footer menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/footerMenu) */ +export type FooterMenuLegalLinksArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +/** Navigation content type used for powering the Footer menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/footerMenu) */ +export type FooterMenuLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + + +/** Navigation content type used for powering the Footer menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/footerMenu) */ +export type FooterMenuLinkedinLinkArgs = { + locale?: InputMaybe; +}; + + +/** Navigation content type used for powering the Footer menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/footerMenu) */ +export type FooterMenuMenuItemsCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +/** Navigation content type used for powering the Footer menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/footerMenu) */ +export type FooterMenuTwitterLinkArgs = { + locale?: InputMaybe; +}; + +export type FooterMenuCollection = { + __typename?: 'FooterMenuCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type FooterMenuFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + facebookLink?: InputMaybe; + facebookLink_contains?: InputMaybe; + facebookLink_exists?: InputMaybe; + facebookLink_in?: InputMaybe>>; + facebookLink_not?: InputMaybe; + facebookLink_not_contains?: InputMaybe; + facebookLink_not_in?: InputMaybe>>; + instagramLink?: InputMaybe; + instagramLink_contains?: InputMaybe; + instagramLink_exists?: InputMaybe; + instagramLink_in?: InputMaybe>>; + instagramLink_not?: InputMaybe; + instagramLink_not_contains?: InputMaybe; + instagramLink_not_in?: InputMaybe>>; + internalName?: InputMaybe; + internalName_contains?: InputMaybe; + internalName_exists?: InputMaybe; + internalName_in?: InputMaybe>>; + internalName_not?: InputMaybe; + internalName_not_contains?: InputMaybe; + internalName_not_in?: InputMaybe>>; + legalLinks?: InputMaybe; + legalLinks_exists?: InputMaybe; + linkedinLink?: InputMaybe; + linkedinLink_contains?: InputMaybe; + linkedinLink_exists?: InputMaybe; + linkedinLink_in?: InputMaybe>>; + linkedinLink_not?: InputMaybe; + linkedinLink_not_contains?: InputMaybe; + linkedinLink_not_in?: InputMaybe>>; + menuItems?: InputMaybe; + menuItemsCollection_exists?: InputMaybe; + sys?: InputMaybe; + twitterLink?: InputMaybe; + twitterLink_contains?: InputMaybe; + twitterLink_exists?: InputMaybe; + twitterLink_in?: InputMaybe>>; + twitterLink_not?: InputMaybe; + twitterLink_not_contains?: InputMaybe; + twitterLink_not_in?: InputMaybe>>; +}; + +export type FooterMenuLinkingCollections = { + __typename?: 'FooterMenuLinkingCollections'; + entryCollection?: Maybe; +}; + + +export type FooterMenuLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export type FooterMenuMenuItemsCollection = { + __typename?: 'FooterMenuMenuItemsCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export enum FooterMenuOrder { + FacebookLinkAsc = 'facebookLink_ASC', + FacebookLinkDesc = 'facebookLink_DESC', + InstagramLinkAsc = 'instagramLink_ASC', + InstagramLinkDesc = 'instagramLink_DESC', + InternalNameAsc = 'internalName_ASC', + InternalNameDesc = 'internalName_DESC', + LinkedinLinkAsc = 'linkedinLink_ASC', + LinkedinLinkDesc = 'linkedinLink_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC', + TwitterLinkAsc = 'twitterLink_ASC', + TwitterLinkDesc = 'twitterLink_DESC' +} + +export enum ImageFormat { + Avif = 'AVIF', + /** JPG image format. */ + Jpg = 'JPG', + /** + * Progressive JPG format stores multiple passes of an image in progressively higher detail. + * When a progressive image is loading, the viewer will first see a lower quality pixelated version which + * will gradually improve in detail, until the image is fully downloaded. This is to display an image as + * early as possible to make the layout look as designed. + */ + JpgProgressive = 'JPG_PROGRESSIVE', + /** PNG image format */ + Png = 'PNG', + /** + * 8-bit PNG images support up to 256 colors and weigh less than the standard 24-bit PNG equivalent. + * The 8-bit PNG format is mostly used for simple images, such as icons or logos. + */ + Png8 = 'PNG8', + /** WebP image format. */ + Webp = 'WEBP' +} + +export enum ImageResizeFocus { + /** Focus the resizing on the bottom. */ + Bottom = 'BOTTOM', + /** Focus the resizing on the bottom left. */ + BottomLeft = 'BOTTOM_LEFT', + /** Focus the resizing on the bottom right. */ + BottomRight = 'BOTTOM_RIGHT', + /** Focus the resizing on the center. */ + Center = 'CENTER', + /** Focus the resizing on the largest face. */ + Face = 'FACE', + /** Focus the resizing on the area containing all the faces. */ + Faces = 'FACES', + /** Focus the resizing on the left. */ + Left = 'LEFT', + /** Focus the resizing on the right. */ + Right = 'RIGHT', + /** Focus the resizing on the top. */ + Top = 'TOP', + /** Focus the resizing on the top left. */ + TopLeft = 'TOP_LEFT', + /** Focus the resizing on the top right. */ + TopRight = 'TOP_RIGHT' +} + +export enum ImageResizeStrategy { + /** Crops a part of the original image to fit into the specified dimensions. */ + Crop = 'CROP', + /** Resizes the image to the specified dimensions, cropping the image if needed. */ + Fill = 'FILL', + /** Resizes the image to fit into the specified dimensions. */ + Fit = 'FIT', + /** + * Resizes the image to the specified dimensions, padding the image if needed. + * Uses desired background color as padding color. + */ + Pad = 'PAD', + /** Resizes the image to the specified dimensions, changing the original aspect ratio if needed. */ + Scale = 'SCALE', + /** Creates a thumbnail from the image. */ + Thumb = 'THUMB' +} + +export type ImageTransformOptions = { + /** + * Desired background color, used with corner radius or `PAD` resize strategy. + * Defaults to transparent (for `PNG`, `PNG8` and `WEBP`) or white (for `JPG` and `JPG_PROGRESSIVE`). + */ + backgroundColor?: InputMaybe; + /** + * Desired corner radius in pixels. + * Results in an image with rounded corners (pass `-1` for a full circle/ellipse). + * Defaults to `0`. Uses desired background color as padding color, + * unless the format is `JPG` or `JPG_PROGRESSIVE` and resize strategy is `PAD`, then defaults to white. + */ + cornerRadius?: InputMaybe; + /** Desired image format. Defaults to the original image format. */ + format?: InputMaybe; + /** Desired height in pixels. Defaults to the original image height. */ + height?: InputMaybe; + /** + * Desired quality of the image in percents. + * Used for `PNG8`, `JPG`, `JPG_PROGRESSIVE` and `WEBP` formats. + */ + quality?: InputMaybe; + /** Desired resize focus area. Defaults to `CENTER`. */ + resizeFocus?: InputMaybe; + /** Desired resize strategy. Defaults to `FIT`. */ + resizeStrategy?: InputMaybe; + /** Desired width in pixels. Defaults to the original image width. */ + width?: InputMaybe; +}; + +/** A group of items making up a section in the navigation menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/menuGroup) */ +export type MenuGroup = Entry & { + __typename?: 'MenuGroup'; + contentfulMetadata: ContentfulMetadata; + featuredPagesCollection?: Maybe; + groupLink?: Maybe; + groupName?: Maybe; + internalTitle?: Maybe; + linkedFrom?: Maybe; + sys: Sys; +}; + + +/** A group of items making up a section in the navigation menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/menuGroup) */ +export type MenuGroupFeaturedPagesCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +/** A group of items making up a section in the navigation menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/menuGroup) */ +export type MenuGroupGroupLinkArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +/** A group of items making up a section in the navigation menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/menuGroup) */ +export type MenuGroupGroupNameArgs = { + locale?: InputMaybe; +}; + + +/** A group of items making up a section in the navigation menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/menuGroup) */ +export type MenuGroupInternalTitleArgs = { + locale?: InputMaybe; +}; + + +/** A group of items making up a section in the navigation menu [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/menuGroup) */ +export type MenuGroupLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + +export type MenuGroupCollection = { + __typename?: 'MenuGroupCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type MenuGroupFeaturedPagesCollection = { + __typename?: 'MenuGroupFeaturedPagesCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type MenuGroupFeaturedPagesItem = Page; + +export type MenuGroupFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + featuredPagesCollection_exists?: InputMaybe; + groupLink_exists?: InputMaybe; + groupName?: InputMaybe; + groupName_contains?: InputMaybe; + groupName_exists?: InputMaybe; + groupName_in?: InputMaybe>>; + groupName_not?: InputMaybe; + groupName_not_contains?: InputMaybe; + groupName_not_in?: InputMaybe>>; + internalTitle?: InputMaybe; + internalTitle_contains?: InputMaybe; + internalTitle_exists?: InputMaybe; + internalTitle_in?: InputMaybe>>; + internalTitle_not?: InputMaybe; + internalTitle_not_contains?: InputMaybe; + internalTitle_not_in?: InputMaybe>>; + sys?: InputMaybe; +}; + +export type MenuGroupGroupLink = Page; + +export type MenuGroupLinkingCollections = { + __typename?: 'MenuGroupLinkingCollections'; + entryCollection?: Maybe; + footerMenuCollection?: Maybe; + navigationMenuCollection?: Maybe; +}; + + +export type MenuGroupLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type MenuGroupLinkingCollectionsFooterMenuCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type MenuGroupLinkingCollectionsNavigationMenuCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export enum MenuGroupOrder { + GroupNameAsc = 'groupName_ASC', + GroupNameDesc = 'groupName_DESC', + InternalTitleAsc = 'internalTitle_ASC', + InternalTitleDesc = 'internalTitle_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC' +} + +/** Navigation menu in the header [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/navigationMenu) */ +export type NavigationMenu = Entry & { + __typename?: 'NavigationMenu'; + contentfulMetadata: ContentfulMetadata; + internalName?: Maybe; + linkedFrom?: Maybe; + menuItemsCollection?: Maybe; + sys: Sys; +}; + + +/** Navigation menu in the header [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/navigationMenu) */ +export type NavigationMenuInternalNameArgs = { + locale?: InputMaybe; +}; + + +/** Navigation menu in the header [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/navigationMenu) */ +export type NavigationMenuLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + + +/** Navigation menu in the header [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/navigationMenu) */ +export type NavigationMenuMenuItemsCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export type NavigationMenuCollection = { + __typename?: 'NavigationMenuCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type NavigationMenuFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + internalName?: InputMaybe; + internalName_contains?: InputMaybe; + internalName_exists?: InputMaybe; + internalName_in?: InputMaybe>>; + internalName_not?: InputMaybe; + internalName_not_contains?: InputMaybe; + internalName_not_in?: InputMaybe>>; + menuItems?: InputMaybe; + menuItemsCollection_exists?: InputMaybe; + sys?: InputMaybe; +}; + +export type NavigationMenuLinkingCollections = { + __typename?: 'NavigationMenuLinkingCollections'; + entryCollection?: Maybe; +}; + + +export type NavigationMenuLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export type NavigationMenuMenuItemsCollection = { + __typename?: 'NavigationMenuMenuItemsCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export enum NavigationMenuOrder { + InternalNameAsc = 'internalName_ASC', + InternalNameDesc = 'internalName_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC' +} + +/** Container that enables editors to publish a page, define its slug, select & arrange its content [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/page) */ +export type Page = Entry & { + __typename?: 'Page'; + contentfulMetadata: ContentfulMetadata; + extraSectionCollection?: Maybe; + internalName?: Maybe; + linkedFrom?: Maybe; + pageContent?: Maybe; + pageName?: Maybe; + seo?: Maybe; + slug?: Maybe; + sys: Sys; + topSectionCollection?: Maybe; +}; + + +/** Container that enables editors to publish a page, define its slug, select & arrange its content [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/page) */ +export type PageExtraSectionCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +/** Container that enables editors to publish a page, define its slug, select & arrange its content [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/page) */ +export type PageInternalNameArgs = { + locale?: InputMaybe; +}; + + +/** Container that enables editors to publish a page, define its slug, select & arrange its content [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/page) */ +export type PageLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + + +/** Container that enables editors to publish a page, define its slug, select & arrange its content [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/page) */ +export type PagePageContentArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +/** Container that enables editors to publish a page, define its slug, select & arrange its content [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/page) */ +export type PagePageNameArgs = { + locale?: InputMaybe; +}; + + +/** Container that enables editors to publish a page, define its slug, select & arrange its content [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/page) */ +export type PageSeoArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +/** Container that enables editors to publish a page, define its slug, select & arrange its content [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/page) */ +export type PageSlugArgs = { + locale?: InputMaybe; +}; + + +/** Container that enables editors to publish a page, define its slug, select & arrange its content [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/page) */ +export type PageTopSectionCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export type PageCollection = { + __typename?: 'PageCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type PageExtraSectionCollection = { + __typename?: 'PageExtraSectionCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type PageExtraSectionItem = ComponentCta | ComponentDuplex | ComponentHeroBanner | ComponentInfoBlock | ComponentQuote | ComponentTextBlock; + +export type PageFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + extraSectionCollection_exists?: InputMaybe; + internalName?: InputMaybe; + internalName_contains?: InputMaybe; + internalName_exists?: InputMaybe; + internalName_in?: InputMaybe>>; + internalName_not?: InputMaybe; + internalName_not_contains?: InputMaybe; + internalName_not_in?: InputMaybe>>; + pageContent_exists?: InputMaybe; + pageName?: InputMaybe; + pageName_contains?: InputMaybe; + pageName_exists?: InputMaybe; + pageName_in?: InputMaybe>>; + pageName_not?: InputMaybe; + pageName_not_contains?: InputMaybe; + pageName_not_in?: InputMaybe>>; + seo?: InputMaybe; + seo_exists?: InputMaybe; + slug?: InputMaybe; + slug_contains?: InputMaybe; + slug_exists?: InputMaybe; + slug_in?: InputMaybe>>; + slug_not?: InputMaybe; + slug_not_contains?: InputMaybe; + slug_not_in?: InputMaybe>>; + sys?: InputMaybe; + topSectionCollection_exists?: InputMaybe; +}; + +export type PageLinkingCollections = { + __typename?: 'PageLinkingCollections'; + componentCtaCollection?: Maybe; + componentDuplexCollection?: Maybe; + componentHeroBannerCollection?: Maybe; + entryCollection?: Maybe; + menuGroupCollection?: Maybe; +}; + + +export type PageLinkingCollectionsComponentCtaCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type PageLinkingCollectionsComponentDuplexCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type PageLinkingCollectionsComponentHeroBannerCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type PageLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type PageLinkingCollectionsMenuGroupCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export enum PageOrder { + InternalNameAsc = 'internalName_ASC', + InternalNameDesc = 'internalName_DESC', + PageNameAsc = 'pageName_ASC', + PageNameDesc = 'pageName_DESC', + SlugAsc = 'slug_ASC', + SlugDesc = 'slug_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC' +} + +export type PagePageContent = ComponentProductTable | TopicBusinessInfo | TopicProduct; + +export type PageTopSectionCollection = { + __typename?: 'PageTopSectionCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type PageTopSectionItem = ComponentCta | ComponentDuplex | ComponentHeroBanner | ComponentInfoBlock | ComponentQuote | ComponentTextBlock; + +export type Query = { + __typename?: 'Query'; + asset?: Maybe; + assetCollection?: Maybe; + componentCta?: Maybe; + componentCtaCollection?: Maybe; + componentDuplex?: Maybe; + componentDuplexCollection?: Maybe; + componentHeroBanner?: Maybe; + componentHeroBannerCollection?: Maybe; + componentInfoBlock?: Maybe; + componentInfoBlockCollection?: Maybe; + componentProductTable?: Maybe; + componentProductTableCollection?: Maybe; + componentQuote?: Maybe; + componentQuoteCollection?: Maybe; + componentTextBlock?: Maybe; + componentTextBlockCollection?: Maybe; + entryCollection?: Maybe; + footerMenu?: Maybe; + footerMenuCollection?: Maybe; + menuGroup?: Maybe; + menuGroupCollection?: Maybe; + navigationMenu?: Maybe; + navigationMenuCollection?: Maybe; + page?: Maybe; + pageCollection?: Maybe; + seo?: Maybe; + seoCollection?: Maybe; + topicBusinessInfo?: Maybe; + topicBusinessInfoCollection?: Maybe; + topicPerson?: Maybe; + topicPersonCollection?: Maybe; + topicProduct?: Maybe; + topicProductCollection?: Maybe; + topicProductFeature?: Maybe; + topicProductFeatureCollection?: Maybe; +}; + + +export type QueryAssetArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QueryAssetCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QueryComponentCtaArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QueryComponentCtaCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QueryComponentDuplexArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QueryComponentDuplexCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QueryComponentHeroBannerArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QueryComponentHeroBannerCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QueryComponentInfoBlockArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QueryComponentInfoBlockCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QueryComponentProductTableArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QueryComponentProductTableCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QueryComponentQuoteArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QueryComponentQuoteCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QueryComponentTextBlockArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QueryComponentTextBlockCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QueryEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QueryFooterMenuArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QueryFooterMenuCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QueryMenuGroupArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QueryMenuGroupCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QueryNavigationMenuArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QueryNavigationMenuCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QueryPageArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QueryPageCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QuerySeoArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QuerySeoCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QueryTopicBusinessInfoArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QueryTopicBusinessInfoCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QueryTopicPersonArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QueryTopicPersonCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QueryTopicProductArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QueryTopicProductCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + + +export type QueryTopicProductFeatureArgs = { + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +export type QueryTopicProductFeatureCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + order?: InputMaybe>>; + preview?: InputMaybe; + skip?: InputMaybe; + where?: InputMaybe; +}; + +/** Open Graph (OG) meta tags for optimizing SEO visibility [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/seo) */ +export type Seo = Entry & { + __typename?: 'Seo'; + contentfulMetadata: ContentfulMetadata; + description?: Maybe; + image?: Maybe; + linkedFrom?: Maybe; + name?: Maybe; + noFollow?: Maybe; + noIndex?: Maybe; + sys: Sys; + title?: Maybe; +}; + + +/** Open Graph (OG) meta tags for optimizing SEO visibility [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/seo) */ +export type SeoDescriptionArgs = { + locale?: InputMaybe; +}; + + +/** Open Graph (OG) meta tags for optimizing SEO visibility [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/seo) */ +export type SeoImageArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +/** Open Graph (OG) meta tags for optimizing SEO visibility [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/seo) */ +export type SeoLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + + +/** Open Graph (OG) meta tags for optimizing SEO visibility [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/seo) */ +export type SeoNameArgs = { + locale?: InputMaybe; +}; + + +/** Open Graph (OG) meta tags for optimizing SEO visibility [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/seo) */ +export type SeoNoFollowArgs = { + locale?: InputMaybe; +}; + + +/** Open Graph (OG) meta tags for optimizing SEO visibility [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/seo) */ +export type SeoNoIndexArgs = { + locale?: InputMaybe; +}; + + +/** Open Graph (OG) meta tags for optimizing SEO visibility [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/seo) */ +export type SeoTitleArgs = { + locale?: InputMaybe; +}; + +export type SeoCollection = { + __typename?: 'SeoCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type SeoFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + description?: InputMaybe; + description_contains?: InputMaybe; + description_exists?: InputMaybe; + description_in?: InputMaybe>>; + description_not?: InputMaybe; + description_not_contains?: InputMaybe; + description_not_in?: InputMaybe>>; + image_exists?: InputMaybe; + name?: InputMaybe; + name_contains?: InputMaybe; + name_exists?: InputMaybe; + name_in?: InputMaybe>>; + name_not?: InputMaybe; + name_not_contains?: InputMaybe; + name_not_in?: InputMaybe>>; + noFollow?: InputMaybe; + noFollow_exists?: InputMaybe; + noFollow_not?: InputMaybe; + noIndex?: InputMaybe; + noIndex_exists?: InputMaybe; + noIndex_not?: InputMaybe; + sys?: InputMaybe; + title?: InputMaybe; + title_contains?: InputMaybe; + title_exists?: InputMaybe; + title_in?: InputMaybe>>; + title_not?: InputMaybe; + title_not_contains?: InputMaybe; + title_not_in?: InputMaybe>>; +}; + +export type SeoLinkingCollections = { + __typename?: 'SeoLinkingCollections'; + entryCollection?: Maybe; + pageCollection?: Maybe; +}; + + +export type SeoLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type SeoLinkingCollectionsPageCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export enum SeoOrder { + DescriptionAsc = 'description_ASC', + DescriptionDesc = 'description_DESC', + NameAsc = 'name_ASC', + NameDesc = 'name_DESC', + NoFollowAsc = 'noFollow_ASC', + NoFollowDesc = 'noFollow_DESC', + NoIndexAsc = 'noIndex_ASC', + NoIndexDesc = 'noIndex_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC', + TitleAsc = 'title_ASC', + TitleDesc = 'title_DESC' +} + +export type Sys = { + __typename?: 'Sys'; + environmentId: Scalars['String']; + firstPublishedAt?: Maybe; + id: Scalars['String']; + publishedAt?: Maybe; + publishedVersion?: Maybe; + spaceId: Scalars['String']; +}; + +export type SysFilter = { + firstPublishedAt?: InputMaybe; + firstPublishedAt_exists?: InputMaybe; + firstPublishedAt_gt?: InputMaybe; + firstPublishedAt_gte?: InputMaybe; + firstPublishedAt_in?: InputMaybe>>; + firstPublishedAt_lt?: InputMaybe; + firstPublishedAt_lte?: InputMaybe; + firstPublishedAt_not?: InputMaybe; + firstPublishedAt_not_in?: InputMaybe>>; + id?: InputMaybe; + id_contains?: InputMaybe; + id_exists?: InputMaybe; + id_in?: InputMaybe>>; + id_not?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_in?: InputMaybe>>; + publishedAt?: InputMaybe; + publishedAt_exists?: InputMaybe; + publishedAt_gt?: InputMaybe; + publishedAt_gte?: InputMaybe; + publishedAt_in?: InputMaybe>>; + publishedAt_lt?: InputMaybe; + publishedAt_lte?: InputMaybe; + publishedAt_not?: InputMaybe; + publishedAt_not_in?: InputMaybe>>; + publishedVersion?: InputMaybe; + publishedVersion_exists?: InputMaybe; + publishedVersion_gt?: InputMaybe; + publishedVersion_gte?: InputMaybe; + publishedVersion_in?: InputMaybe>>; + publishedVersion_lt?: InputMaybe; + publishedVersion_lte?: InputMaybe; + publishedVersion_not?: InputMaybe; + publishedVersion_not_in?: InputMaybe>>; +}; + +/** Container for ever-green content like About us, Career pages, FAQ, Knowledge base & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicBusinessInfo) */ +export type TopicBusinessInfo = Entry & { + __typename?: 'TopicBusinessInfo'; + body?: Maybe; + contentfulMetadata: ContentfulMetadata; + featuredImage?: Maybe; + internalName?: Maybe; + linkedFrom?: Maybe; + name?: Maybe; + shortDescription?: Maybe; + sys: Sys; +}; + + +/** Container for ever-green content like About us, Career pages, FAQ, Knowledge base & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicBusinessInfo) */ +export type TopicBusinessInfoBodyArgs = { + locale?: InputMaybe; +}; + + +/** Container for ever-green content like About us, Career pages, FAQ, Knowledge base & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicBusinessInfo) */ +export type TopicBusinessInfoFeaturedImageArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +/** Container for ever-green content like About us, Career pages, FAQ, Knowledge base & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicBusinessInfo) */ +export type TopicBusinessInfoInternalNameArgs = { + locale?: InputMaybe; +}; + + +/** Container for ever-green content like About us, Career pages, FAQ, Knowledge base & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicBusinessInfo) */ +export type TopicBusinessInfoLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + + +/** Container for ever-green content like About us, Career pages, FAQ, Knowledge base & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicBusinessInfo) */ +export type TopicBusinessInfoNameArgs = { + locale?: InputMaybe; +}; + + +/** Container for ever-green content like About us, Career pages, FAQ, Knowledge base & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicBusinessInfo) */ +export type TopicBusinessInfoShortDescriptionArgs = { + locale?: InputMaybe; +}; + +export type TopicBusinessInfoBody = { + __typename?: 'TopicBusinessInfoBody'; + json: Scalars['JSON']; + links: TopicBusinessInfoBodyLinks; +}; + +export type TopicBusinessInfoBodyAssets = { + __typename?: 'TopicBusinessInfoBodyAssets'; + block: Array>; + hyperlink: Array>; +}; + +export type TopicBusinessInfoBodyEntries = { + __typename?: 'TopicBusinessInfoBodyEntries'; + block: Array>; + hyperlink: Array>; + inline: Array>; +}; + +export type TopicBusinessInfoBodyLinks = { + __typename?: 'TopicBusinessInfoBodyLinks'; + assets: TopicBusinessInfoBodyAssets; + entries: TopicBusinessInfoBodyEntries; +}; + +export type TopicBusinessInfoCollection = { + __typename?: 'TopicBusinessInfoCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type TopicBusinessInfoFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + body_contains?: InputMaybe; + body_exists?: InputMaybe; + body_not_contains?: InputMaybe; + contentfulMetadata?: InputMaybe; + featuredImage_exists?: InputMaybe; + internalName?: InputMaybe; + internalName_contains?: InputMaybe; + internalName_exists?: InputMaybe; + internalName_in?: InputMaybe>>; + internalName_not?: InputMaybe; + internalName_not_contains?: InputMaybe; + internalName_not_in?: InputMaybe>>; + name?: InputMaybe; + name_contains?: InputMaybe; + name_exists?: InputMaybe; + name_in?: InputMaybe>>; + name_not?: InputMaybe; + name_not_contains?: InputMaybe; + name_not_in?: InputMaybe>>; + shortDescription?: InputMaybe; + shortDescription_contains?: InputMaybe; + shortDescription_exists?: InputMaybe; + shortDescription_in?: InputMaybe>>; + shortDescription_not?: InputMaybe; + shortDescription_not_contains?: InputMaybe; + shortDescription_not_in?: InputMaybe>>; + sys?: InputMaybe; +}; + +export type TopicBusinessInfoLinkingCollections = { + __typename?: 'TopicBusinessInfoLinkingCollections'; + entryCollection?: Maybe; + pageCollection?: Maybe; +}; + + +export type TopicBusinessInfoLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type TopicBusinessInfoLinkingCollectionsPageCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export enum TopicBusinessInfoOrder { + InternalNameAsc = 'internalName_ASC', + InternalNameDesc = 'internalName_DESC', + NameAsc = 'name_ASC', + NameDesc = 'name_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC' +} + +/** Container for holding info about people (article authors, company leadership, quoted customers, etc.) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicPerson) */ +export type TopicPerson = Entry & { + __typename?: 'TopicPerson'; + avatar?: Maybe; + bio?: Maybe; + cardStyle?: Maybe; + contentfulMetadata: ContentfulMetadata; + internalName?: Maybe; + linkedFrom?: Maybe; + location?: Maybe; + name?: Maybe; + sys: Sys; + website?: Maybe; +}; + + +/** Container for holding info about people (article authors, company leadership, quoted customers, etc.) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicPerson) */ +export type TopicPersonAvatarArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +/** Container for holding info about people (article authors, company leadership, quoted customers, etc.) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicPerson) */ +export type TopicPersonBioArgs = { + locale?: InputMaybe; +}; + + +/** Container for holding info about people (article authors, company leadership, quoted customers, etc.) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicPerson) */ +export type TopicPersonCardStyleArgs = { + locale?: InputMaybe; +}; + + +/** Container for holding info about people (article authors, company leadership, quoted customers, etc.) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicPerson) */ +export type TopicPersonInternalNameArgs = { + locale?: InputMaybe; +}; + + +/** Container for holding info about people (article authors, company leadership, quoted customers, etc.) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicPerson) */ +export type TopicPersonLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + + +/** Container for holding info about people (article authors, company leadership, quoted customers, etc.) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicPerson) */ +export type TopicPersonLocationArgs = { + locale?: InputMaybe; +}; + + +/** Container for holding info about people (article authors, company leadership, quoted customers, etc.) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicPerson) */ +export type TopicPersonNameArgs = { + locale?: InputMaybe; +}; + + +/** Container for holding info about people (article authors, company leadership, quoted customers, etc.) [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicPerson) */ +export type TopicPersonWebsiteArgs = { + locale?: InputMaybe; +}; + +export type TopicPersonBio = { + __typename?: 'TopicPersonBio'; + json: Scalars['JSON']; + links: TopicPersonBioLinks; +}; + +export type TopicPersonBioAssets = { + __typename?: 'TopicPersonBioAssets'; + block: Array>; + hyperlink: Array>; +}; + +export type TopicPersonBioEntries = { + __typename?: 'TopicPersonBioEntries'; + block: Array>; + hyperlink: Array>; + inline: Array>; +}; + +export type TopicPersonBioLinks = { + __typename?: 'TopicPersonBioLinks'; + assets: TopicPersonBioAssets; + entries: TopicPersonBioEntries; +}; + +export type TopicPersonCollection = { + __typename?: 'TopicPersonCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type TopicPersonFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + avatar_exists?: InputMaybe; + bio_contains?: InputMaybe; + bio_exists?: InputMaybe; + bio_not_contains?: InputMaybe; + cardStyle?: InputMaybe; + cardStyle_exists?: InputMaybe; + cardStyle_not?: InputMaybe; + contentfulMetadata?: InputMaybe; + internalName?: InputMaybe; + internalName_contains?: InputMaybe; + internalName_exists?: InputMaybe; + internalName_in?: InputMaybe>>; + internalName_not?: InputMaybe; + internalName_not_contains?: InputMaybe; + internalName_not_in?: InputMaybe>>; + location?: InputMaybe; + location_contains?: InputMaybe; + location_exists?: InputMaybe; + location_in?: InputMaybe>>; + location_not?: InputMaybe; + location_not_contains?: InputMaybe; + location_not_in?: InputMaybe>>; + name?: InputMaybe; + name_contains?: InputMaybe; + name_exists?: InputMaybe; + name_in?: InputMaybe>>; + name_not?: InputMaybe; + name_not_contains?: InputMaybe; + name_not_in?: InputMaybe>>; + sys?: InputMaybe; + website?: InputMaybe; + website_contains?: InputMaybe; + website_exists?: InputMaybe; + website_in?: InputMaybe>>; + website_not?: InputMaybe; + website_not_contains?: InputMaybe; + website_not_in?: InputMaybe>>; +}; + +export type TopicPersonLinkingCollections = { + __typename?: 'TopicPersonLinkingCollections'; + entryCollection?: Maybe; +}; + + +export type TopicPersonLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export enum TopicPersonOrder { + CardStyleAsc = 'cardStyle_ASC', + CardStyleDesc = 'cardStyle_DESC', + InternalNameAsc = 'internalName_ASC', + InternalNameDesc = 'internalName_DESC', + LocationAsc = 'location_ASC', + LocationDesc = 'location_DESC', + NameAsc = 'name_ASC', + NameDesc = 'name_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC', + WebsiteAsc = 'website_ASC', + WebsiteDesc = 'website_DESC' +} + +/** Container for product-specific information like card definitions, features, benefits, prices & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProduct) */ +export type TopicProduct = Entry & { + __typename?: 'TopicProduct'; + contentfulMetadata: ContentfulMetadata; + description?: Maybe; + featuredImage?: Maybe; + featuresCollection?: Maybe; + internalName?: Maybe; + linkedFrom?: Maybe; + name?: Maybe; + price?: Maybe; + sys: Sys; +}; + + +/** Container for product-specific information like card definitions, features, benefits, prices & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProduct) */ +export type TopicProductDescriptionArgs = { + locale?: InputMaybe; +}; + + +/** Container for product-specific information like card definitions, features, benefits, prices & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProduct) */ +export type TopicProductFeaturedImageArgs = { + locale?: InputMaybe; + preview?: InputMaybe; +}; + + +/** Container for product-specific information like card definitions, features, benefits, prices & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProduct) */ +export type TopicProductFeaturesCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +/** Container for product-specific information like card definitions, features, benefits, prices & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProduct) */ +export type TopicProductInternalNameArgs = { + locale?: InputMaybe; +}; + + +/** Container for product-specific information like card definitions, features, benefits, prices & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProduct) */ +export type TopicProductLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + + +/** Container for product-specific information like card definitions, features, benefits, prices & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProduct) */ +export type TopicProductNameArgs = { + locale?: InputMaybe; +}; + + +/** Container for product-specific information like card definitions, features, benefits, prices & more [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProduct) */ +export type TopicProductPriceArgs = { + locale?: InputMaybe; +}; + +export type TopicProductCollection = { + __typename?: 'TopicProductCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type TopicProductDescription = { + __typename?: 'TopicProductDescription'; + json: Scalars['JSON']; + links: TopicProductDescriptionLinks; +}; + +export type TopicProductDescriptionAssets = { + __typename?: 'TopicProductDescriptionAssets'; + block: Array>; + hyperlink: Array>; +}; + +export type TopicProductDescriptionEntries = { + __typename?: 'TopicProductDescriptionEntries'; + block: Array>; + hyperlink: Array>; + inline: Array>; +}; + +export type TopicProductDescriptionLinks = { + __typename?: 'TopicProductDescriptionLinks'; + assets: TopicProductDescriptionAssets; + entries: TopicProductDescriptionEntries; +}; + +/** Sub-container for product features enabling re-use of generic features across different products [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProductFeature) */ +export type TopicProductFeature = Entry & { + __typename?: 'TopicProductFeature'; + contentfulMetadata: ContentfulMetadata; + internalName?: Maybe; + linkedFrom?: Maybe; + longDescription?: Maybe; + name?: Maybe; + shortDescription?: Maybe; + sys: Sys; +}; + + +/** Sub-container for product features enabling re-use of generic features across different products [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProductFeature) */ +export type TopicProductFeatureInternalNameArgs = { + locale?: InputMaybe; +}; + + +/** Sub-container for product features enabling re-use of generic features across different products [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProductFeature) */ +export type TopicProductFeatureLinkedFromArgs = { + allowedLocales?: InputMaybe>>; +}; + + +/** Sub-container for product features enabling re-use of generic features across different products [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProductFeature) */ +export type TopicProductFeatureLongDescriptionArgs = { + locale?: InputMaybe; +}; + + +/** Sub-container for product features enabling re-use of generic features across different products [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProductFeature) */ +export type TopicProductFeatureNameArgs = { + locale?: InputMaybe; +}; + + +/** Sub-container for product features enabling re-use of generic features across different products [See type definition](https://app.contentful.com/spaces/c586i03gpxi9/content_types/topicProductFeature) */ +export type TopicProductFeatureShortDescriptionArgs = { + locale?: InputMaybe; +}; + +export type TopicProductFeatureCollection = { + __typename?: 'TopicProductFeatureCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type TopicProductFeatureFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + internalName?: InputMaybe; + internalName_contains?: InputMaybe; + internalName_exists?: InputMaybe; + internalName_in?: InputMaybe>>; + internalName_not?: InputMaybe; + internalName_not_contains?: InputMaybe; + internalName_not_in?: InputMaybe>>; + longDescription_contains?: InputMaybe; + longDescription_exists?: InputMaybe; + longDescription_not_contains?: InputMaybe; + name?: InputMaybe; + name_contains?: InputMaybe; + name_exists?: InputMaybe; + name_in?: InputMaybe>>; + name_not?: InputMaybe; + name_not_contains?: InputMaybe; + name_not_in?: InputMaybe>>; + shortDescription_contains?: InputMaybe; + shortDescription_exists?: InputMaybe; + shortDescription_not_contains?: InputMaybe; + sys?: InputMaybe; +}; + +export type TopicProductFeatureLinkingCollections = { + __typename?: 'TopicProductFeatureLinkingCollections'; + entryCollection?: Maybe; + topicProductCollection?: Maybe; +}; + + +export type TopicProductFeatureLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type TopicProductFeatureLinkingCollectionsTopicProductCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export type TopicProductFeatureLongDescription = { + __typename?: 'TopicProductFeatureLongDescription'; + json: Scalars['JSON']; + links: TopicProductFeatureLongDescriptionLinks; +}; + +export type TopicProductFeatureLongDescriptionAssets = { + __typename?: 'TopicProductFeatureLongDescriptionAssets'; + block: Array>; + hyperlink: Array>; +}; + +export type TopicProductFeatureLongDescriptionEntries = { + __typename?: 'TopicProductFeatureLongDescriptionEntries'; + block: Array>; + hyperlink: Array>; + inline: Array>; +}; + +export type TopicProductFeatureLongDescriptionLinks = { + __typename?: 'TopicProductFeatureLongDescriptionLinks'; + assets: TopicProductFeatureLongDescriptionAssets; + entries: TopicProductFeatureLongDescriptionEntries; +}; + +export enum TopicProductFeatureOrder { + InternalNameAsc = 'internalName_ASC', + InternalNameDesc = 'internalName_DESC', + NameAsc = 'name_ASC', + NameDesc = 'name_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC' +} + +export type TopicProductFeatureShortDescription = { + __typename?: 'TopicProductFeatureShortDescription'; + json: Scalars['JSON']; + links: TopicProductFeatureShortDescriptionLinks; +}; + +export type TopicProductFeatureShortDescriptionAssets = { + __typename?: 'TopicProductFeatureShortDescriptionAssets'; + block: Array>; + hyperlink: Array>; +}; + +export type TopicProductFeatureShortDescriptionEntries = { + __typename?: 'TopicProductFeatureShortDescriptionEntries'; + block: Array>; + hyperlink: Array>; + inline: Array>; +}; + +export type TopicProductFeatureShortDescriptionLinks = { + __typename?: 'TopicProductFeatureShortDescriptionLinks'; + assets: TopicProductFeatureShortDescriptionAssets; + entries: TopicProductFeatureShortDescriptionEntries; +}; + +export type TopicProductFeaturesCollection = { + __typename?: 'TopicProductFeaturesCollection'; + items: Array>; + limit: Scalars['Int']; + skip: Scalars['Int']; + total: Scalars['Int']; +}; + +export type TopicProductFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + description_contains?: InputMaybe; + description_exists?: InputMaybe; + description_not_contains?: InputMaybe; + featuredImage_exists?: InputMaybe; + features?: InputMaybe; + featuresCollection_exists?: InputMaybe; + internalName?: InputMaybe; + internalName_contains?: InputMaybe; + internalName_exists?: InputMaybe; + internalName_in?: InputMaybe>>; + internalName_not?: InputMaybe; + internalName_not_contains?: InputMaybe; + internalName_not_in?: InputMaybe>>; + name?: InputMaybe; + name_contains?: InputMaybe; + name_exists?: InputMaybe; + name_in?: InputMaybe>>; + name_not?: InputMaybe; + name_not_contains?: InputMaybe; + name_not_in?: InputMaybe>>; + price?: InputMaybe; + price_exists?: InputMaybe; + price_gt?: InputMaybe; + price_gte?: InputMaybe; + price_in?: InputMaybe>>; + price_lt?: InputMaybe; + price_lte?: InputMaybe; + price_not?: InputMaybe; + price_not_in?: InputMaybe>>; + sys?: InputMaybe; +}; + +export type TopicProductLinkingCollections = { + __typename?: 'TopicProductLinkingCollections'; + componentProductTableCollection?: Maybe; + entryCollection?: Maybe; + pageCollection?: Maybe; +}; + + +export type TopicProductLinkingCollectionsComponentProductTableCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type TopicProductLinkingCollectionsEntryCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + + +export type TopicProductLinkingCollectionsPageCollectionArgs = { + limit?: InputMaybe; + locale?: InputMaybe; + preview?: InputMaybe; + skip?: InputMaybe; +}; + +export enum TopicProductOrder { + InternalNameAsc = 'internalName_ASC', + InternalNameDesc = 'internalName_DESC', + NameAsc = 'name_ASC', + NameDesc = 'name_DESC', + PriceAsc = 'price_ASC', + PriceDesc = 'price_DESC', + SysFirstPublishedAtAsc = 'sys_firstPublishedAt_ASC', + SysFirstPublishedAtDesc = 'sys_firstPublishedAt_DESC', + SysIdAsc = 'sys_id_ASC', + SysIdDesc = 'sys_id_DESC', + SysPublishedAtAsc = 'sys_publishedAt_ASC', + SysPublishedAtDesc = 'sys_publishedAt_DESC', + SysPublishedVersionAsc = 'sys_publishedVersion_ASC', + SysPublishedVersionDesc = 'sys_publishedVersion_DESC' +} + +export type CfMenuGroupNestedFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + featuredPagesCollection_exists?: InputMaybe; + groupLink_exists?: InputMaybe; + groupName?: InputMaybe; + groupName_contains?: InputMaybe; + groupName_exists?: InputMaybe; + groupName_in?: InputMaybe>>; + groupName_not?: InputMaybe; + groupName_not_contains?: InputMaybe; + groupName_not_in?: InputMaybe>>; + internalTitle?: InputMaybe; + internalTitle_contains?: InputMaybe; + internalTitle_exists?: InputMaybe; + internalTitle_in?: InputMaybe>>; + internalTitle_not?: InputMaybe; + internalTitle_not_contains?: InputMaybe; + internalTitle_not_in?: InputMaybe>>; + sys?: InputMaybe; +}; + +export type CfSeoNestedFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + description?: InputMaybe; + description_contains?: InputMaybe; + description_exists?: InputMaybe; + description_in?: InputMaybe>>; + description_not?: InputMaybe; + description_not_contains?: InputMaybe; + description_not_in?: InputMaybe>>; + image_exists?: InputMaybe; + name?: InputMaybe; + name_contains?: InputMaybe; + name_exists?: InputMaybe; + name_in?: InputMaybe>>; + name_not?: InputMaybe; + name_not_contains?: InputMaybe; + name_not_in?: InputMaybe>>; + noFollow?: InputMaybe; + noFollow_exists?: InputMaybe; + noFollow_not?: InputMaybe; + noIndex?: InputMaybe; + noIndex_exists?: InputMaybe; + noIndex_not?: InputMaybe; + sys?: InputMaybe; + title?: InputMaybe; + title_contains?: InputMaybe; + title_exists?: InputMaybe; + title_in?: InputMaybe>>; + title_not?: InputMaybe; + title_not_contains?: InputMaybe; + title_not_in?: InputMaybe>>; +}; + +export type CfTopicProductFeatureNestedFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + internalName?: InputMaybe; + internalName_contains?: InputMaybe; + internalName_exists?: InputMaybe; + internalName_in?: InputMaybe>>; + internalName_not?: InputMaybe; + internalName_not_contains?: InputMaybe; + internalName_not_in?: InputMaybe>>; + longDescription_contains?: InputMaybe; + longDescription_exists?: InputMaybe; + longDescription_not_contains?: InputMaybe; + name?: InputMaybe; + name_contains?: InputMaybe; + name_exists?: InputMaybe; + name_in?: InputMaybe>>; + name_not?: InputMaybe; + name_not_contains?: InputMaybe; + name_not_in?: InputMaybe>>; + shortDescription_contains?: InputMaybe; + shortDescription_exists?: InputMaybe; + shortDescription_not_contains?: InputMaybe; + sys?: InputMaybe; +}; + +export type CfTopicProductNestedFilter = { + AND?: InputMaybe>>; + OR?: InputMaybe>>; + contentfulMetadata?: InputMaybe; + description_contains?: InputMaybe; + description_exists?: InputMaybe; + description_not_contains?: InputMaybe; + featuredImage_exists?: InputMaybe; + featuresCollection_exists?: InputMaybe; + internalName?: InputMaybe; + internalName_contains?: InputMaybe; + internalName_exists?: InputMaybe; + internalName_in?: InputMaybe>>; + internalName_not?: InputMaybe; + internalName_not_contains?: InputMaybe; + internalName_not_in?: InputMaybe>>; + name?: InputMaybe; + name_contains?: InputMaybe; + name_exists?: InputMaybe; + name_in?: InputMaybe>>; + name_not?: InputMaybe; + name_not_contains?: InputMaybe; + name_not_in?: InputMaybe>>; + price?: InputMaybe; + price_exists?: InputMaybe; + price_gt?: InputMaybe; + price_gte?: InputMaybe; + price_in?: InputMaybe>>; + price_lt?: InputMaybe; + price_lte?: InputMaybe; + price_not?: InputMaybe; + price_not_in?: InputMaybe>>; + sys?: InputMaybe; +}; + +export type AssetFieldsFragment = { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } }; + +export type BusinessInfoFieldsFragment = { __typename: 'TopicBusinessInfo', name?: string | null, shortDescription?: string | null, sys: { __typename?: 'Sys', id: string }, featuredImage?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null, body?: { __typename?: 'TopicBusinessInfoBody', json: any, links: { __typename?: 'TopicBusinessInfoBodyLinks', entries: { __typename?: 'TopicBusinessInfoBodyEntries', block: Array<{ __typename: 'ComponentCta', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentDuplex', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentHeroBanner', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentInfoBlock', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentQuote', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentTextBlock', sys: { __typename?: 'Sys', id: string } } | { __typename: 'FooterMenu', sys: { __typename?: 'Sys', id: string } } | { __typename: 'MenuGroup', sys: { __typename?: 'Sys', id: string } } | { __typename: 'NavigationMenu', sys: { __typename?: 'Sys', id: string } } | { __typename: 'Page', sys: { __typename?: 'Sys', id: string } } | { __typename: 'Seo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicPerson', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProductFeature', sys: { __typename?: 'Sys', id: string } } | null> }, assets: { __typename?: 'TopicBusinessInfoBodyAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null }; + +export type CtfBusinessInfoQueryVariables = Exact<{ + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}>; + + +export type CtfBusinessInfoQuery = { __typename?: 'Query', topicBusinessInfo?: { __typename: 'TopicBusinessInfo', name?: string | null, shortDescription?: string | null, sys: { __typename?: 'Sys', id: string }, featuredImage?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null, body?: { __typename?: 'TopicBusinessInfoBody', json: any, links: { __typename?: 'TopicBusinessInfoBodyLinks', entries: { __typename?: 'TopicBusinessInfoBodyEntries', block: Array<{ __typename: 'ComponentCta', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentDuplex', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentHeroBanner', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentInfoBlock', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentQuote', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentTextBlock', sys: { __typename?: 'Sys', id: string } } | { __typename: 'FooterMenu', sys: { __typename?: 'Sys', id: string } } | { __typename: 'MenuGroup', sys: { __typename?: 'Sys', id: string } } | { __typename: 'NavigationMenu', sys: { __typename?: 'Sys', id: string } } | { __typename: 'Page', sys: { __typename?: 'Sys', id: string } } | { __typename: 'Seo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicPerson', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProductFeature', sys: { __typename?: 'Sys', id: string } } | null> }, assets: { __typename?: 'TopicBusinessInfoBodyAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null } | null }; + +export type CtaFieldsFragment = { __typename: 'ComponentCta', headline?: string | null, ctaText?: string | null, urlParameters?: string | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, subline?: { __typename?: 'ComponentCtaSubline', json: any } | null, targetPage?: { __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null }; + +export type CtfCtaQueryVariables = Exact<{ + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}>; + + +export type CtfCtaQuery = { __typename?: 'Query', componentCta?: { __typename: 'ComponentCta', headline?: string | null, ctaText?: string | null, urlParameters?: string | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, subline?: { __typename?: 'ComponentCtaSubline', json: any } | null, targetPage?: { __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null } | null }; + +export type DuplexFieldsFragment = { __typename: 'ComponentDuplex', containerLayout?: boolean | null, headline?: string | null, ctaText?: string | null, imageStyle?: boolean | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, bodyText?: { __typename?: 'ComponentDuplexBodyText', json: any } | null, targetPage?: { __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null, image?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null }; + +export type CtfDuplexQueryVariables = Exact<{ + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}>; + + +export type CtfDuplexQuery = { __typename?: 'Query', componentDuplex?: { __typename: 'ComponentDuplex', containerLayout?: boolean | null, headline?: string | null, ctaText?: string | null, imageStyle?: boolean | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, bodyText?: { __typename?: 'ComponentDuplexBodyText', json: any } | null, targetPage?: { __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null, image?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null } | null }; + +export type FooterFieldsFragment = { __typename?: 'FooterMenuCollection', items: Array<{ __typename: 'FooterMenu', twitterLink?: string | null, facebookLink?: string | null, linkedinLink?: string | null, instagramLink?: string | null, sys: { __typename?: 'Sys', id: string }, menuItemsCollection?: { __typename?: 'FooterMenuMenuItemsCollection', items: Array<{ __typename: 'MenuGroup', groupName?: string | null, sys: { __typename?: 'Sys', id: string }, featuredPagesCollection?: { __typename?: 'MenuGroupFeaturedPagesCollection', items: Array<{ __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null> } | null } | null> } | null, legalLinks?: { __typename?: 'MenuGroup', featuredPagesCollection?: { __typename?: 'MenuGroupFeaturedPagesCollection', items: Array<{ __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null> } | null } | null } | null> }; + +export type CtfFooterQueryVariables = Exact<{ + locale?: InputMaybe; + preview?: InputMaybe; +}>; + + +export type CtfFooterQuery = { __typename?: 'Query', footerMenuCollection?: { __typename?: 'FooterMenuCollection', items: Array<{ __typename: 'FooterMenu', twitterLink?: string | null, facebookLink?: string | null, linkedinLink?: string | null, instagramLink?: string | null, sys: { __typename?: 'Sys', id: string }, menuItemsCollection?: { __typename?: 'FooterMenuMenuItemsCollection', items: Array<{ __typename: 'MenuGroup', groupName?: string | null, sys: { __typename?: 'Sys', id: string }, featuredPagesCollection?: { __typename?: 'MenuGroupFeaturedPagesCollection', items: Array<{ __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null> } | null } | null> } | null, legalLinks?: { __typename?: 'MenuGroup', featuredPagesCollection?: { __typename?: 'MenuGroupFeaturedPagesCollection', items: Array<{ __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null> } | null } | null } | null> } | null }; + +export type HeroBannerFieldsFragment = { __typename: 'ComponentHeroBanner', headline?: string | null, ctaText?: string | null, imageStyle?: boolean | null, heroSize?: boolean | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, bodyText?: { __typename?: 'ComponentHeroBannerBodyText', json: any } | null, targetPage?: { __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null, image?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null }; + +export type CtfHeroBannerQueryVariables = Exact<{ + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}>; + + +export type CtfHeroBannerQuery = { __typename?: 'Query', componentHeroBanner?: { __typename: 'ComponentHeroBanner', headline?: string | null, ctaText?: string | null, imageStyle?: boolean | null, heroSize?: boolean | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, bodyText?: { __typename?: 'ComponentHeroBannerBodyText', json: any } | null, targetPage?: { __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null, image?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null } | null }; + +export type InfoBlockFieldsFragment = { __typename: 'ComponentInfoBlock', headline?: string | null, subline?: string | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, block1Image?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null, block1Body?: { __typename?: 'ComponentInfoBlockBlock1Body', json: any } | null, block2Image?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null, block2Body?: { __typename?: 'ComponentInfoBlockBlock2Body', json: any } | null, block3Image?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null, block3Body?: { __typename?: 'ComponentInfoBlockBlock3Body', json: any } | null }; + +export type CtfInfoBlockQueryVariables = Exact<{ + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}>; + + +export type CtfInfoBlockQuery = { __typename?: 'Query', componentInfoBlock?: { __typename: 'ComponentInfoBlock', headline?: string | null, subline?: string | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, block1Image?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null, block1Body?: { __typename?: 'ComponentInfoBlockBlock1Body', json: any } | null, block2Image?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null, block2Body?: { __typename?: 'ComponentInfoBlockBlock2Body', json: any } | null, block3Image?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null, block3Body?: { __typename?: 'ComponentInfoBlockBlock3Body', json: any } | null } | null }; + +export type NavigationFieldsFragment = { __typename?: 'NavigationMenuCollection', items: Array<{ __typename?: 'NavigationMenu', menuItemsCollection?: { __typename?: 'NavigationMenuMenuItemsCollection', items: Array<{ __typename: 'MenuGroup', groupName?: string | null, sys: { __typename?: 'Sys', id: string }, link?: { __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null, children?: { __typename?: 'MenuGroupFeaturedPagesCollection', items: Array<{ __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null> } | null } | null> } | null } | null> }; + +export type CtfNavigationQueryVariables = Exact<{ + locale?: InputMaybe; + preview?: InputMaybe; +}>; + + +export type CtfNavigationQuery = { __typename?: 'Query', navigationMenuCollection?: { __typename?: 'NavigationMenuCollection', items: Array<{ __typename?: 'NavigationMenu', menuItemsCollection?: { __typename?: 'NavigationMenuMenuItemsCollection', items: Array<{ __typename: 'MenuGroup', groupName?: string | null, sys: { __typename?: 'Sys', id: string }, link?: { __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null, children?: { __typename?: 'MenuGroupFeaturedPagesCollection', items: Array<{ __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null> } | null } | null> } | null } | null> } | null }; + +type PageTopSectionFields_ComponentCta_Fragment = { __typename: 'ComponentCta' }; + +type PageTopSectionFields_ComponentDuplex_Fragment = { __typename: 'ComponentDuplex' }; + +type PageTopSectionFields_ComponentHeroBanner_Fragment = { __typename: 'ComponentHeroBanner' }; + +type PageTopSectionFields_ComponentInfoBlock_Fragment = { __typename: 'ComponentInfoBlock' }; + +type PageTopSectionFields_ComponentQuote_Fragment = { __typename: 'ComponentQuote' }; + +type PageTopSectionFields_ComponentTextBlock_Fragment = { __typename: 'ComponentTextBlock' }; + +export type PageTopSectionFieldsFragment = PageTopSectionFields_ComponentCta_Fragment | PageTopSectionFields_ComponentDuplex_Fragment | PageTopSectionFields_ComponentHeroBanner_Fragment | PageTopSectionFields_ComponentInfoBlock_Fragment | PageTopSectionFields_ComponentQuote_Fragment | PageTopSectionFields_ComponentTextBlock_Fragment; + +type PageContentFields_ComponentProductTable_Fragment = { __typename: 'ComponentProductTable' }; + +type PageContentFields_TopicBusinessInfo_Fragment = { __typename: 'TopicBusinessInfo' }; + +type PageContentFields_TopicProduct_Fragment = { __typename: 'TopicProduct' }; + +export type PageContentFieldsFragment = PageContentFields_ComponentProductTable_Fragment | PageContentFields_TopicBusinessInfo_Fragment | PageContentFields_TopicProduct_Fragment; + +type PageExtraSectionItemFields_ComponentCta_Fragment = { __typename: 'ComponentCta' }; + +type PageExtraSectionItemFields_ComponentDuplex_Fragment = { __typename: 'ComponentDuplex' }; + +type PageExtraSectionItemFields_ComponentHeroBanner_Fragment = { __typename: 'ComponentHeroBanner' }; + +type PageExtraSectionItemFields_ComponentInfoBlock_Fragment = { __typename: 'ComponentInfoBlock' }; + +type PageExtraSectionItemFields_ComponentQuote_Fragment = { __typename: 'ComponentQuote' }; + +type PageExtraSectionItemFields_ComponentTextBlock_Fragment = { __typename: 'ComponentTextBlock' }; + +export type PageExtraSectionItemFieldsFragment = PageExtraSectionItemFields_ComponentCta_Fragment | PageExtraSectionItemFields_ComponentDuplex_Fragment | PageExtraSectionItemFields_ComponentHeroBanner_Fragment | PageExtraSectionItemFields_ComponentInfoBlock_Fragment | PageExtraSectionItemFields_ComponentQuote_Fragment | PageExtraSectionItemFields_ComponentTextBlock_Fragment; + +export type CtfPageFieldsFragment = { __typename: 'Page', pageName?: string | null, slug?: string | null, internalName?: string | null, sys: { __typename?: 'Sys', id: string }, seo?: { __typename?: 'Seo', title?: string | null, description?: string | null, noIndex?: boolean | null, noFollow?: boolean | null, image?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null } | null, topSectionCollection?: { __typename?: 'PageTopSectionCollection', items: Array<{ __typename: 'ComponentCta', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentDuplex', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentHeroBanner', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentInfoBlock', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentQuote', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentTextBlock', sys: { __typename?: 'Sys', id: string } } | null> } | null, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null, extraSectionCollection?: { __typename?: 'PageExtraSectionCollection', items: Array<{ __typename: 'ComponentCta', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentDuplex', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentHeroBanner', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentInfoBlock', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentQuote', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentTextBlock', sys: { __typename?: 'Sys', id: string } } | null> } | null }; + +export type CtfPageQueryVariables = Exact<{ + slug: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}>; + + +export type CtfPageQuery = { __typename?: 'Query', pageCollection?: { __typename?: 'PageCollection', items: Array<{ __typename: 'Page', pageName?: string | null, slug?: string | null, internalName?: string | null, sys: { __typename?: 'Sys', id: string }, seo?: { __typename?: 'Seo', title?: string | null, description?: string | null, noIndex?: boolean | null, noFollow?: boolean | null, image?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null } | null, topSectionCollection?: { __typename?: 'PageTopSectionCollection', items: Array<{ __typename: 'ComponentCta', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentDuplex', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentHeroBanner', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentInfoBlock', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentQuote', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentTextBlock', sys: { __typename?: 'Sys', id: string } } | null> } | null, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null, extraSectionCollection?: { __typename?: 'PageExtraSectionCollection', items: Array<{ __typename: 'ComponentCta', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentDuplex', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentHeroBanner', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentInfoBlock', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentQuote', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentTextBlock', sys: { __typename?: 'Sys', id: string } } | null> } | null } | null> } | null }; + +export type PersonFieldsFragment = { __typename: 'TopicPerson', name?: string | null, website?: string | null, location?: string | null, cardStyle?: boolean | null, sys: { __typename?: 'Sys', id: string }, bio?: { __typename?: 'TopicPersonBio', json: any } | null, avatar?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null }; + +export type CtfPersonQueryVariables = Exact<{ + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}>; + + +export type CtfPersonQuery = { __typename?: 'Query', topicPerson?: { __typename: 'TopicPerson', name?: string | null, website?: string | null, location?: string | null, cardStyle?: boolean | null, sys: { __typename?: 'Sys', id: string }, bio?: { __typename?: 'TopicPersonBio', json: any } | null, avatar?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null } | null }; + +export type ProductFeatureFieldsFragment = { __typename: 'TopicProductFeature', name?: string | null, sys: { __typename?: 'Sys', id: string }, longDescription?: { __typename?: 'TopicProductFeatureLongDescription', json: any, links: { __typename?: 'TopicProductFeatureLongDescriptionLinks', assets: { __typename?: 'TopicProductFeatureLongDescriptionAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null, shortDescription?: { __typename?: 'TopicProductFeatureShortDescription', json: any, links: { __typename?: 'TopicProductFeatureShortDescriptionLinks', assets: { __typename?: 'TopicProductFeatureShortDescriptionAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null }; + +export type CtfProductFeatureQueryVariables = Exact<{ + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}>; + + +export type CtfProductFeatureQuery = { __typename?: 'Query', topicProductFeature?: { __typename: 'TopicProductFeature', name?: string | null, sys: { __typename?: 'Sys', id: string }, longDescription?: { __typename?: 'TopicProductFeatureLongDescription', json: any, links: { __typename?: 'TopicProductFeatureLongDescriptionLinks', assets: { __typename?: 'TopicProductFeatureLongDescriptionAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null, shortDescription?: { __typename?: 'TopicProductFeatureShortDescription', json: any, links: { __typename?: 'TopicProductFeatureShortDescriptionLinks', assets: { __typename?: 'TopicProductFeatureShortDescriptionAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null } | null }; + +export type ProductTableFieldsFragment = { __typename: 'ComponentProductTable', headline?: string | null, subline?: string | null, sys: { __typename?: 'Sys', id: string }, productsCollection?: { __typename?: 'ComponentProductTableProductsCollection', items: Array<{ __typename: 'TopicProduct', name?: string | null, price?: number | null, sys: { __typename?: 'Sys', id: string }, featuredImage?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null, description?: { __typename?: 'TopicProductDescription', json: any } | null, featuresCollection?: { __typename?: 'TopicProductFeaturesCollection', items: Array<{ __typename: 'TopicProductFeature', name?: string | null, sys: { __typename?: 'Sys', id: string }, longDescription?: { __typename?: 'TopicProductFeatureLongDescription', json: any, links: { __typename?: 'TopicProductFeatureLongDescriptionLinks', assets: { __typename?: 'TopicProductFeatureLongDescriptionAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null, shortDescription?: { __typename?: 'TopicProductFeatureShortDescription', json: any, links: { __typename?: 'TopicProductFeatureShortDescriptionLinks', assets: { __typename?: 'TopicProductFeatureShortDescriptionAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null } | null> } | null } | null> } | null }; + +export type CtfProductTableQueryVariables = Exact<{ + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}>; + + +export type CtfProductTableQuery = { __typename?: 'Query', componentProductTable?: { __typename: 'ComponentProductTable', headline?: string | null, subline?: string | null, sys: { __typename?: 'Sys', id: string }, productsCollection?: { __typename?: 'ComponentProductTableProductsCollection', items: Array<{ __typename: 'TopicProduct', name?: string | null, price?: number | null, sys: { __typename?: 'Sys', id: string }, featuredImage?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null, description?: { __typename?: 'TopicProductDescription', json: any } | null, featuresCollection?: { __typename?: 'TopicProductFeaturesCollection', items: Array<{ __typename: 'TopicProductFeature', name?: string | null, sys: { __typename?: 'Sys', id: string }, longDescription?: { __typename?: 'TopicProductFeatureLongDescription', json: any, links: { __typename?: 'TopicProductFeatureLongDescriptionLinks', assets: { __typename?: 'TopicProductFeatureLongDescriptionAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null, shortDescription?: { __typename?: 'TopicProductFeatureShortDescription', json: any, links: { __typename?: 'TopicProductFeatureShortDescriptionLinks', assets: { __typename?: 'TopicProductFeatureShortDescriptionAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null } | null> } | null } | null> } | null } | null }; + +export type ProductFieldsFragment = { __typename: 'TopicProduct', name?: string | null, price?: number | null, sys: { __typename?: 'Sys', id: string }, featuredImage?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null, description?: { __typename?: 'TopicProductDescription', json: any } | null, featuresCollection?: { __typename?: 'TopicProductFeaturesCollection', items: Array<{ __typename: 'TopicProductFeature', name?: string | null, sys: { __typename?: 'Sys', id: string }, longDescription?: { __typename?: 'TopicProductFeatureLongDescription', json: any, links: { __typename?: 'TopicProductFeatureLongDescriptionLinks', assets: { __typename?: 'TopicProductFeatureLongDescriptionAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null, shortDescription?: { __typename?: 'TopicProductFeatureShortDescription', json: any, links: { __typename?: 'TopicProductFeatureShortDescriptionLinks', assets: { __typename?: 'TopicProductFeatureShortDescriptionAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null } | null> } | null }; + +export type CtfProductQueryVariables = Exact<{ + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}>; + + +export type CtfProductQuery = { __typename?: 'Query', topicProduct?: { __typename: 'TopicProduct', name?: string | null, price?: number | null, sys: { __typename?: 'Sys', id: string }, featuredImage?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null, description?: { __typename?: 'TopicProductDescription', json: any } | null, featuresCollection?: { __typename?: 'TopicProductFeaturesCollection', items: Array<{ __typename: 'TopicProductFeature', name?: string | null, sys: { __typename?: 'Sys', id: string }, longDescription?: { __typename?: 'TopicProductFeatureLongDescription', json: any, links: { __typename?: 'TopicProductFeatureLongDescriptionLinks', assets: { __typename?: 'TopicProductFeatureLongDescriptionAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null, shortDescription?: { __typename?: 'TopicProductFeatureShortDescription', json: any, links: { __typename?: 'TopicProductFeatureShortDescriptionLinks', assets: { __typename?: 'TopicProductFeatureShortDescriptionAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null } | null> } | null } | null }; + +export type QuoteFieldsFragment = { __typename: 'ComponentQuote', quoteAlignment?: boolean | null, imagePosition?: boolean | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, quote?: { __typename?: 'ComponentQuoteQuote', json: any, links: { __typename?: 'ComponentQuoteQuoteLinks', entries: { __typename?: 'ComponentQuoteQuoteEntries', block: Array<{ __typename: 'ComponentCta', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentDuplex', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentHeroBanner', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentInfoBlock', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentQuote', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentTextBlock', sys: { __typename?: 'Sys', id: string } } | { __typename: 'FooterMenu', sys: { __typename?: 'Sys', id: string } } | { __typename: 'MenuGroup', sys: { __typename?: 'Sys', id: string } } | { __typename: 'NavigationMenu', sys: { __typename?: 'Sys', id: string } } | { __typename: 'Page', sys: { __typename?: 'Sys', id: string } } | { __typename: 'Seo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicPerson', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProductFeature', sys: { __typename?: 'Sys', id: string } } | null> }, assets: { __typename?: 'ComponentQuoteQuoteAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null, image?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null }; + +export type CtfQuoteQueryVariables = Exact<{ + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}>; + + +export type CtfQuoteQuery = { __typename?: 'Query', componentQuote?: { __typename: 'ComponentQuote', quoteAlignment?: boolean | null, imagePosition?: boolean | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, quote?: { __typename?: 'ComponentQuoteQuote', json: any, links: { __typename?: 'ComponentQuoteQuoteLinks', entries: { __typename?: 'ComponentQuoteQuoteEntries', block: Array<{ __typename: 'ComponentCta', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentDuplex', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentHeroBanner', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentInfoBlock', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentQuote', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentTextBlock', sys: { __typename?: 'Sys', id: string } } | { __typename: 'FooterMenu', sys: { __typename?: 'Sys', id: string } } | { __typename: 'MenuGroup', sys: { __typename?: 'Sys', id: string } } | { __typename: 'NavigationMenu', sys: { __typename?: 'Sys', id: string } } | { __typename: 'Page', sys: { __typename?: 'Sys', id: string } } | { __typename: 'Seo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicPerson', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProductFeature', sys: { __typename?: 'Sys', id: string } } | null> }, assets: { __typename?: 'ComponentQuoteQuoteAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null, image?: { __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null } | null }; + +export type RichTextHyperlinkFieldsFragment = { __typename?: 'Query', page?: { __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null }; + +export type CtfRichTextHyperlinkQueryVariables = Exact<{ + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}>; + + +export type CtfRichTextHyperlinkQuery = { __typename?: 'Query', page?: { __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null }; + +export type TextBlockFieldsFragment = { __typename: 'ComponentTextBlock', headline?: string | null, subline?: string | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, body?: { __typename?: 'ComponentTextBlockBody', json: any, links: { __typename?: 'ComponentTextBlockBodyLinks', entries: { __typename?: 'ComponentTextBlockBodyEntries', block: Array<{ __typename: 'ComponentCta', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentDuplex', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentHeroBanner', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentInfoBlock', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentQuote', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentTextBlock', sys: { __typename?: 'Sys', id: string } } | { __typename: 'FooterMenu', sys: { __typename?: 'Sys', id: string } } | { __typename: 'MenuGroup', sys: { __typename?: 'Sys', id: string } } | { __typename: 'NavigationMenu', sys: { __typename?: 'Sys', id: string } } | { __typename: 'Page', sys: { __typename?: 'Sys', id: string } } | { __typename: 'Seo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicPerson', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProductFeature', sys: { __typename?: 'Sys', id: string } } | null> }, assets: { __typename?: 'ComponentTextBlockBodyAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null }; + +export type CtfTextBlockQueryVariables = Exact<{ + id: Scalars['String']; + locale?: InputMaybe; + preview?: InputMaybe; +}>; + + +export type CtfTextBlockQuery = { __typename?: 'Query', componentTextBlock?: { __typename: 'ComponentTextBlock', headline?: string | null, subline?: string | null, colorPalette?: string | null, sys: { __typename?: 'Sys', id: string }, body?: { __typename?: 'ComponentTextBlockBody', json: any, links: { __typename?: 'ComponentTextBlockBodyLinks', entries: { __typename?: 'ComponentTextBlockBodyEntries', block: Array<{ __typename: 'ComponentCta', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentDuplex', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentHeroBanner', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentInfoBlock', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentQuote', sys: { __typename?: 'Sys', id: string } } | { __typename: 'ComponentTextBlock', sys: { __typename?: 'Sys', id: string } } | { __typename: 'FooterMenu', sys: { __typename?: 'Sys', id: string } } | { __typename: 'MenuGroup', sys: { __typename?: 'Sys', id: string } } | { __typename: 'NavigationMenu', sys: { __typename?: 'Sys', id: string } } | { __typename: 'Page', sys: { __typename?: 'Sys', id: string } } | { __typename: 'Seo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicPerson', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProductFeature', sys: { __typename?: 'Sys', id: string } } | null> }, assets: { __typename?: 'ComponentTextBlockBodyAssets', block: Array<{ __typename: 'Asset', contentType?: string | null, title?: string | null, description?: string | null, width?: number | null, height?: number | null, url?: string | null, sys: { __typename?: 'Sys', id: string } } | null> } } } | null } | null }; + +export type PageLinkFieldsFragment = { __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null }; + +type ComponentReferenceFields_ComponentCta_Fragment = { __typename: 'ComponentCta', sys: { __typename?: 'Sys', id: string } }; + +type ComponentReferenceFields_ComponentDuplex_Fragment = { __typename: 'ComponentDuplex', sys: { __typename?: 'Sys', id: string } }; + +type ComponentReferenceFields_ComponentHeroBanner_Fragment = { __typename: 'ComponentHeroBanner', sys: { __typename?: 'Sys', id: string } }; + +type ComponentReferenceFields_ComponentInfoBlock_Fragment = { __typename: 'ComponentInfoBlock', sys: { __typename?: 'Sys', id: string } }; + +type ComponentReferenceFields_ComponentProductTable_Fragment = { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } }; + +type ComponentReferenceFields_ComponentQuote_Fragment = { __typename: 'ComponentQuote', sys: { __typename?: 'Sys', id: string } }; + +type ComponentReferenceFields_ComponentTextBlock_Fragment = { __typename: 'ComponentTextBlock', sys: { __typename?: 'Sys', id: string } }; + +type ComponentReferenceFields_FooterMenu_Fragment = { __typename: 'FooterMenu', sys: { __typename?: 'Sys', id: string } }; + +type ComponentReferenceFields_MenuGroup_Fragment = { __typename: 'MenuGroup', sys: { __typename?: 'Sys', id: string } }; + +type ComponentReferenceFields_NavigationMenu_Fragment = { __typename: 'NavigationMenu', sys: { __typename?: 'Sys', id: string } }; + +type ComponentReferenceFields_Page_Fragment = { __typename: 'Page', sys: { __typename?: 'Sys', id: string } }; + +type ComponentReferenceFields_Seo_Fragment = { __typename: 'Seo', sys: { __typename?: 'Sys', id: string } }; + +type ComponentReferenceFields_TopicBusinessInfo_Fragment = { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } }; + +type ComponentReferenceFields_TopicPerson_Fragment = { __typename: 'TopicPerson', sys: { __typename?: 'Sys', id: string } }; + +type ComponentReferenceFields_TopicProduct_Fragment = { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } }; + +type ComponentReferenceFields_TopicProductFeature_Fragment = { __typename: 'TopicProductFeature', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFieldsFragment = ComponentReferenceFields_ComponentCta_Fragment | ComponentReferenceFields_ComponentDuplex_Fragment | ComponentReferenceFields_ComponentHeroBanner_Fragment | ComponentReferenceFields_ComponentInfoBlock_Fragment | ComponentReferenceFields_ComponentProductTable_Fragment | ComponentReferenceFields_ComponentQuote_Fragment | ComponentReferenceFields_ComponentTextBlock_Fragment | ComponentReferenceFields_FooterMenu_Fragment | ComponentReferenceFields_MenuGroup_Fragment | ComponentReferenceFields_NavigationMenu_Fragment | ComponentReferenceFields_Page_Fragment | ComponentReferenceFields_Seo_Fragment | ComponentReferenceFields_TopicBusinessInfo_Fragment | ComponentReferenceFields_TopicPerson_Fragment | ComponentReferenceFields_TopicProduct_Fragment | ComponentReferenceFields_TopicProductFeature_Fragment; + +export type MenuGroupFieldsFragment = { __typename?: 'MenuGroupFeaturedPagesCollection', items: Array<{ __typename: 'Page', slug?: string | null, pageName?: string | null, sys: { __typename?: 'Sys', id: string }, pageContent?: { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } } | { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } } | null } | null> }; diff --git a/src/lib/fetchConfig.ts b/src/lib/fetchConfig.ts new file mode 100644 index 0000000..7380462 --- /dev/null +++ b/src/lib/fetchConfig.ts @@ -0,0 +1,42 @@ +export const fetchConfig = { + endpoint: `https://graphql.contentful.com/content/v1/spaces/${String( + process.env.CONTENTFUL_SPACE_ID, + )}`, + params: { + headers: { + 'Content-Type': 'application/json', + Authorization: `Bearer ${process.env.CONTENTFUL_ACCESS_TOKEN}`, + }, + }, + previewParams: { + headers: { + 'Content-Type': 'application/json', + Authorization: `Bearer ${process.env.CONTENTFUL_PREVIEW_ACCESS_TOKEN}`, + }, + }, +}; + +export function customFetcher( + query: string, + variables?: TVariables, + options?: RequestInit['headers'], +) { + return async (): Promise => { + const res = await fetch(fetchConfig.endpoint as string, { + method: 'POST', + ...options, + ...(variables?.preview ? fetchConfig.previewParams : fetchConfig.params), + body: JSON.stringify({ query, variables }), + }); + + const json = await res.json(); + + if (json.errors) { + const { message } = json.errors[0]; + + throw new Error(message); + } + + return json.data; + }; +} diff --git a/src/lib/get-serverside-translations.ts b/src/lib/get-serverside-translations.ts new file mode 100644 index 0000000..dbfc8ce --- /dev/null +++ b/src/lib/get-serverside-translations.ts @@ -0,0 +1,9 @@ +import { serverSideTranslations } from 'next-i18next/serverSideTranslations'; + +import i18nConfig from 'next-i18next.config'; + +const { i18n } = i18nConfig; + +export const getServerSideTranslations = (locale?: string) => { + return serverSideTranslations(locale || i18n.defaultLocale, ['common']); +}; diff --git a/src/lib/gql-client.ts b/src/lib/gql-client.ts new file mode 100644 index 0000000..0e987f4 --- /dev/null +++ b/src/lib/gql-client.ts @@ -0,0 +1,18 @@ +import { QueryCache } from '@tanstack/query-core'; +import Router from 'next/router'; + +export const queryConfig = { + queryCache: new QueryCache({ + onError: () => { + Router.push({ pathname: '/404' }); + }, + }), + defaultOptions: { + queries: { + retry: false, + refetchOnMount: false, + refetchIntervalInBackground: false, + refetchOnWindowFocus: false, + }, + }, +}; diff --git a/src/lib/prefetch-mappings.ts b/src/lib/prefetch-mappings.ts new file mode 100644 index 0000000..9fd333c --- /dev/null +++ b/src/lib/prefetch-mappings.ts @@ -0,0 +1,33 @@ +import { useCtfBusinessInfoQuery } from '@src/components/features/ctf-components/ctf-business-info/__generated/business-info.generated'; +import { useCtfCtaQuery } from '@src/components/features/ctf-components/ctf-cta/__generated/ctf-cta.generated'; +import { useCtfDuplexQuery } from '@src/components/features/ctf-components/ctf-duplex/__generated/ctf-duplex.generated'; +import { useCtfHeroBannerQuery } from '@src/components/features/ctf-components/ctf-hero-banner/__generated/ctf-hero-banner.generated'; +import { useCtfInfoBlockQuery } from '@src/components/features/ctf-components/ctf-info-block/__generated/ctf-info-block.generated'; +import { useCtfPersonQuery } from '@src/components/features/ctf-components/ctf-person/__generated/ctf-person.generated'; +import { useCtfProductQuery } from '@src/components/features/ctf-components/ctf-product/__generated/ctf-product.generated'; +import { useCtfProductTableQuery } from '@src/components/features/ctf-components/ctf-product-table/__generated/ctf-product-table.generated'; +import { useCtfQuoteQuery } from '@src/components/features/ctf-components/ctf-quote/__generated/ctf-quote.generated'; +import { useCtfTextBlockQuery } from '@src/components/features/ctf-components/ctf-text-block/__generated/ctf-text-block.generated'; +import { + CtfBusinessInfoQuery, + CtfPersonQuery, + CtfProductQuery, +} from '@src/lib/__generated/graphql.types'; + +export type PrefetchMappingTypeFetcher = CtfBusinessInfoQuery | CtfPersonQuery | CtfProductQuery; + +/** + * This map is used to match a generated GQL query to a Contentful model's __typename. The query is used to prefetch the data through React Query's prefetchQuery method + */ +export const prefetchMap = { + ComponentCta: useCtfCtaQuery, + ComponentHeroBanner: useCtfHeroBannerQuery, + ComponentDuplex: useCtfDuplexQuery, + ComponentInfoBlock: useCtfInfoBlockQuery, + ComponentTextBlock: useCtfTextBlockQuery, + ComponentQuote: useCtfQuoteQuery, + ComponentProductTable: useCtfProductTableQuery, + TopicBusinessInfo: useCtfBusinessInfoQuery, + TopicProduct: useCtfProductQuery, + TopicPerson: useCtfPersonQuery, +}; diff --git a/src/lib/prefetch-promise-array.ts b/src/lib/prefetch-promise-array.ts new file mode 100644 index 0000000..c9c4a60 --- /dev/null +++ b/src/lib/prefetch-promise-array.ts @@ -0,0 +1,25 @@ +import { prefetchMap } from '@src/lib/prefetch-mappings'; + +/** + * Create an array of prefetchQuery functions that can be awaited in our pages to prefetch React Query calls + * @param inputArr + * @param queryClient + * @param locale + */ +export const prefetchPromiseArr = ({ inputArr, queryClient, locale }) => + inputArr?.map(item => { + if (!item) return; + + const { __typename, sys } = item; + + if (!__typename) return; + + const query = prefetchMap?.[__typename]; + + if (!query) return; + + return queryClient.prefetchQuery( + query.getKey({ id: sys.id, locale, preview: false }), + query.fetcher({ id: sys.id, locale, preview: false }), + ); + }) || []; diff --git a/src/lib/shared-fragments/__generated/ctf-componentMap.generated.ts b/src/lib/shared-fragments/__generated/ctf-componentMap.generated.ts new file mode 100644 index 0000000..acadf79 --- /dev/null +++ b/src/lib/shared-fragments/__generated/ctf-componentMap.generated.ts @@ -0,0 +1,44 @@ +import * as Types from '../../__generated/graphql.types'; + +export type ComponentReferenceFields_ComponentCta_Fragment = { __typename: 'ComponentCta', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFields_ComponentDuplex_Fragment = { __typename: 'ComponentDuplex', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFields_ComponentHeroBanner_Fragment = { __typename: 'ComponentHeroBanner', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFields_ComponentInfoBlock_Fragment = { __typename: 'ComponentInfoBlock', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFields_ComponentProductTable_Fragment = { __typename: 'ComponentProductTable', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFields_ComponentQuote_Fragment = { __typename: 'ComponentQuote', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFields_ComponentTextBlock_Fragment = { __typename: 'ComponentTextBlock', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFields_FooterMenu_Fragment = { __typename: 'FooterMenu', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFields_MenuGroup_Fragment = { __typename: 'MenuGroup', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFields_NavigationMenu_Fragment = { __typename: 'NavigationMenu', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFields_Page_Fragment = { __typename: 'Page', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFields_Seo_Fragment = { __typename: 'Seo', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFields_TopicBusinessInfo_Fragment = { __typename: 'TopicBusinessInfo', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFields_TopicPerson_Fragment = { __typename: 'TopicPerson', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFields_TopicProduct_Fragment = { __typename: 'TopicProduct', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFields_TopicProductFeature_Fragment = { __typename: 'TopicProductFeature', sys: { __typename?: 'Sys', id: string } }; + +export type ComponentReferenceFieldsFragment = ComponentReferenceFields_ComponentCta_Fragment | ComponentReferenceFields_ComponentDuplex_Fragment | ComponentReferenceFields_ComponentHeroBanner_Fragment | ComponentReferenceFields_ComponentInfoBlock_Fragment | ComponentReferenceFields_ComponentProductTable_Fragment | ComponentReferenceFields_ComponentQuote_Fragment | ComponentReferenceFields_ComponentTextBlock_Fragment | ComponentReferenceFields_FooterMenu_Fragment | ComponentReferenceFields_MenuGroup_Fragment | ComponentReferenceFields_NavigationMenu_Fragment | ComponentReferenceFields_Page_Fragment | ComponentReferenceFields_Seo_Fragment | ComponentReferenceFields_TopicBusinessInfo_Fragment | ComponentReferenceFields_TopicPerson_Fragment | ComponentReferenceFields_TopicProduct_Fragment | ComponentReferenceFields_TopicProductFeature_Fragment; + +export const ComponentReferenceFieldsFragmentDoc = ` + fragment ComponentReferenceFields on Entry { + __typename + sys { + id + } +} + `; \ No newline at end of file diff --git a/src/lib/shared-fragments/__generated/ctf-menuGroup.generated.ts b/src/lib/shared-fragments/__generated/ctf-menuGroup.generated.ts new file mode 100644 index 0000000..70d9bad --- /dev/null +++ b/src/lib/shared-fragments/__generated/ctf-menuGroup.generated.ts @@ -0,0 +1,16 @@ +import * as Types from '../../__generated/graphql.types'; + +import { PageLinkFieldsFragment } from '../../../components/features/page-link/__generated/page-link.generated'; +import { PageLinkFieldsFragmentDoc } from '../../../components/features/page-link/__generated/page-link.generated'; +export type MenuGroupFieldsFragment = { __typename?: 'MenuGroupFeaturedPagesCollection', items: Array<( + { __typename?: 'Page' } + & PageLinkFieldsFragment + ) | null> }; + +export const MenuGroupFieldsFragmentDoc = ` + fragment MenuGroupFields on MenuGroupFeaturedPagesCollection { + items { + ...PageLinkFields + } +} + `; \ No newline at end of file diff --git a/src/lib/shared-fragments/ctf-componentMap.graphql b/src/lib/shared-fragments/ctf-componentMap.graphql new file mode 100644 index 0000000..302dadc --- /dev/null +++ b/src/lib/shared-fragments/ctf-componentMap.graphql @@ -0,0 +1,6 @@ +fragment ComponentReferenceFields on Entry { + __typename + sys { + id + } +} diff --git a/src/lib/shared-fragments/ctf-menuGroup.graphql b/src/lib/shared-fragments/ctf-menuGroup.graphql new file mode 100644 index 0000000..c355e98 --- /dev/null +++ b/src/lib/shared-fragments/ctf-menuGroup.graphql @@ -0,0 +1,5 @@ +fragment MenuGroupFields on MenuGroupFeaturedPagesCollection { + items { + ...PageLinkFields + } +} diff --git a/src/mappings.ts b/src/mappings.ts new file mode 100644 index 0000000..0471eab --- /dev/null +++ b/src/mappings.ts @@ -0,0 +1,75 @@ +import dynamic from 'next/dynamic'; + +const pageTopicMap = { + TopicProduct: dynamic(() => + import('@src/components/features/ctf-components/ctf-product/ctf-product-gql').then(module => module.CtfProductGql), + ), + TopicBusinessInfo: dynamic(() => + import('@src/components/features/ctf-components/ctf-business-info/ctf-business-info-gql').then( + module => module.CtfBusinessInfoGql, + ), + ), + ComponentProductTable: dynamic(() => + import('@src/components/features/ctf-components/ctf-product-table/ctf-product-table-gql').then( + module => module.CtfProductTableGql, + ), + ), +}; + +export const componentMap = { + ComponentCta: dynamic(() => + import('@src/components/features/ctf-components/ctf-cta/ctf-cta').then(module => module.CtfCta), + ), + ComponentDuplex: dynamic(() => + import('@src/components/features/ctf-components/ctf-duplex/ctf-duplex').then(module => module.CtfDuplex), + ), + ComponentHeroBanner: dynamic(() => + import('@src/components/features/ctf-components/ctf-hero-banner/ctf-hero-banner').then(module => module.CtfHeroBanner), + ), + ComponentInfoBlock: dynamic(() => + import('@src/components/features/ctf-components/ctf-info-block/ctf-info-block').then(module => module.CtfInfoBlock), + ), + ComponentQuote: dynamic(() => + import('@src/components/features/ctf-components/ctf-quote/ctf-quote').then(module => module.CtfQuote), + ), + ComponentTextBlock: dynamic(() => + import('@src/components/features/ctf-components/ctf-text-block/ctf-text-block').then(module => module.CtfTextBlock), + ), + TopicPerson: dynamic(() => + import('@src/components/features/ctf-components/ctf-person/ctf-person').then(module => module.CtfPerson), + ), +}; + +export const componentGqlMap = { + ...pageTopicMap, + ComponentCta: dynamic(() => + import('@src/components/features/ctf-components/ctf-cta/ctf-cta-gql').then(module => module.CtfCtaGql), + ), + ComponentDuplex: dynamic(() => + import('@src/components/features/ctf-components/ctf-duplex/ctf-duplex-gql').then(module => module.CtfDuplexGql), + ), + ComponentHeroBanner: dynamic(() => + import('@src/components/features/ctf-components/ctf-hero-banner/ctf-hero-banner-gql').then( + module => module.CtfHeroGql, + ), + ), + ComponentInfoBlock: dynamic(() => + import('@src/components/features/ctf-components/ctf-info-block/ctf-info-block-gql').then( + module => module.CtfInfoBlockGql, + ), + ), + ComponentQuote: dynamic(() => + import('@src/components/features/ctf-components/ctf-quote/ctf-quote-gql').then(module => module.CtfQuoteGql), + ), + ComponentTextBlock: dynamic(() => + import('@src/components/features/ctf-components/ctf-text-block/ctf-text-block-gql').then( + module => module.CtfTextBlockGql, + ), + ), + TopicPerson: dynamic(() => + import('@src/components/features/ctf-components/ctf-person/ctf-person-gql').then(module => module.CtfPersonGql), + ), + ComponentFooter: dynamic(() => + import('@src/components/features/ctf-components/ctf-footer/ctf-footer-gql').then(module => module.CtfFooterGql), + ), +}; diff --git a/src/pages/404.tsx b/src/pages/404.tsx new file mode 100644 index 0000000..0218d37 --- /dev/null +++ b/src/pages/404.tsx @@ -0,0 +1,33 @@ +import { dehydrate, QueryClient } from '@tanstack/react-query'; +import { GetStaticProps } from 'next'; + +import { useCtfFooterQuery } from '@src/components/features/ctf-components/ctf-footer/__generated/ctf-footer.generated'; +import { useCtfNavigationQuery } from '@src/components/features/ctf-components/ctf-navigation/__generated/ctf-navigation.generated'; +import { PageError } from '@src/components/features/errors/page-error'; +import { getServerSideTranslations } from '@src/lib/get-serverside-translations'; + +const ErrorPage404 = () => { + return ; +}; + +export const getStaticProps: GetStaticProps = async ({ locale }) => { + const queryClient = new QueryClient(); + + await queryClient.prefetchQuery( + useCtfNavigationQuery.getKey({ locale, preview: false }), + useCtfNavigationQuery.fetcher({ locale, preview: false }), + ); + await queryClient.prefetchQuery( + useCtfFooterQuery.getKey({ locale, preview: false }), + useCtfFooterQuery.fetcher({ locale, preview: false }), + ); + + return { + props: { + ...(await getServerSideTranslations(locale)), + dehydratedState: dehydrate(queryClient), + }, + }; +}; + +export default ErrorPage404; diff --git a/src/pages/[slug].tsx b/src/pages/[slug].tsx new file mode 100644 index 0000000..4e6352c --- /dev/null +++ b/src/pages/[slug].tsx @@ -0,0 +1,123 @@ +import { dehydrate, QueryClient } from '@tanstack/react-query'; +import { NextPage, NextPageContext } from 'next'; +import { useRouter } from 'next/router'; + +import { useCtfFooterQuery } from '@src/components/features/ctf-components/ctf-footer/__generated/ctf-footer.generated'; +import { useCtfNavigationQuery } from '@src/components/features/ctf-components/ctf-navigation/__generated/ctf-navigation.generated'; +import { useCtfPageQuery } from '@src/components/features/ctf-components/ctf-page/__generated/ctf-page.generated'; +import CtfPageGgl from '@src/components/features/ctf-components/ctf-page/ctf-page-gql'; +import { ComponentReferenceFieldsFragment } from '@src/lib/__generated/graphql.types'; +import { getServerSideTranslations } from '@src/lib/get-serverside-translations'; +import { prefetchMap, PrefetchMappingTypeFetcher } from '@src/lib/prefetch-mappings'; +import { prefetchPromiseArr } from '@src/lib/prefetch-promise-array'; + +const SlugPage: NextPage = () => { + const router = useRouter(); + const slug = (router?.query.slug as string) || ''; + + return ; +}; + +export interface CustomNextPageContext extends NextPageContext { + params: { + slug: string; + }; + id: string; +} + +export const getServerSideProps = async ({ locale, params, query }: CustomNextPageContext) => { + const slug = params.slug; + const preview = Boolean(query.preview); + + try { + const queryClient = new QueryClient(); + + // Default queries + await queryClient.prefetchQuery( + useCtfPageQuery.getKey({ slug, locale, preview }), + useCtfPageQuery.fetcher({ slug, locale, preview }), + ); + await queryClient.prefetchQuery( + useCtfNavigationQuery.getKey({ locale, preview }), + useCtfNavigationQuery.fetcher({ locale, preview }), + ); + await queryClient.prefetchQuery( + useCtfFooterQuery.getKey({ locale, preview }), + useCtfFooterQuery.fetcher({ locale, preview }), + ); + + // Dynamic queries + const pageData = await useCtfPageQuery.fetcher({ slug, locale, preview })(); + const page = pageData.pageCollection?.items[0]; + + const topSection = page?.topSectionCollection?.items; + const extraSection = page?.extraSectionCollection?.items; + const content: ComponentReferenceFieldsFragment | undefined | null = page?.pageContent; + + await Promise.all([ + ...prefetchPromiseArr({ inputArr: topSection, locale, queryClient }), + ...prefetchPromiseArr({ inputArr: extraSection, locale, queryClient }), + ...prefetchPromiseArr({ inputArr: [content], locale, queryClient }), + ]); + + if (content) { + const { __typename, sys } = content; + + if (!__typename) + return { + notFound: true, + }; + + const query = prefetchMap?.[__typename]; + + if (!query) + return { + notFound: true, + }; + + const data: PrefetchMappingTypeFetcher = await query.fetcher({ + id: sys.id, + locale, + preview, + })(); + + // Different data structured can be returned, this function makes sure the correct data is returned + const inputArr = (__typename => { + if ('topicBusinessInfo' in data) { + return data?.topicBusinessInfo?.body?.links.entries.block; + } + + if ('topicPerson' in data) { + return [data?.topicPerson]; + } + + if ('topicProduct' in data) { + return [data?.topicProduct]; + } + + return []; + })(); + + await Promise.all([ + ...prefetchPromiseArr({ + inputArr, + locale, + queryClient, + }), + ]); + } + + return { + props: { + ...(await getServerSideTranslations(locale)), + dehydratedState: dehydrate(queryClient), + }, + }; + } catch { + return { + notFound: true, + }; + } +}; + +export default SlugPage; diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx new file mode 100644 index 0000000..88d7773 --- /dev/null +++ b/src/pages/_app.tsx @@ -0,0 +1,102 @@ +import { ContentfulLivePreviewProvider } from '@contentful/live-preview/react'; +import { ThemeProvider, StyledEngineProvider } from '@mui/material/styles'; +import { DehydratedState, Hydrate, QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; +import { AppProps } from 'next/app'; +import Head from 'next/head'; +import { appWithTranslation, SSRConfig } from 'next-i18next'; +import { useEffect, useState } from 'react'; +import '@contentful/live-preview/style.css'; + +import { Settings } from '@src/components/features/settings'; +import { Layout } from '@src/components/templates/layout/layout'; +import { useContentfulContext, ContentfulContentProvider } from '@src/contentful-context'; +import { queryConfig } from '@src/lib/gql-client'; +import colorfulTheme from '@src/theme'; +import contentfulConfig from 'contentful.config'; +import nextI18nConfig from 'next-i18next.config'; + +const LivePreviewProvider = ({ children }) => { + const { previewActive, locale } = useContentfulContext(); + + return ( + + {children} + + ); +}; + +type CustomPageProps = SSRConfig & { dehydratedState: DehydratedState; err: Error }; + +const CustomApp = ({ + Component, + router, + pageProps: originalPageProps, +}: AppProps) => { + const [queryClient] = useState(() => new QueryClient(queryConfig)); + const { dehydratedState, err, ...pageProps } = originalPageProps; + const { previewActive } = useContentfulContext(); + + useEffect(() => { + // when component is mounting we remove server side rendered css: + const jssStyles = document.querySelector('#jss-server-side'); + + if (jssStyles && jssStyles.parentNode) { + jssStyles.parentNode.removeChild(jssStyles); + } + + router.events.on('routeChangeComplete', () => null); + + return () => { + router.events.off('routeChangeComplete', () => null); + }; + }, [router.events]); + + return ( + <> + + + {contentfulConfig.meta.title} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +}; + +export default appWithTranslation(CustomApp, nextI18nConfig); diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx new file mode 100644 index 0000000..e0529cf --- /dev/null +++ b/src/pages/_document.tsx @@ -0,0 +1,86 @@ +/* eslint-disable react/no-danger */ +// eslint-disable-next-line import/no-extraneous-dependencies +import { ServerStyleSheets } from '@mui/styles'; +import Document, { DocumentContext, Head, Main, NextScript, Html } from 'next/document'; +import React from 'react'; +// eslint-disable-next-line import/no-extraneous-dependencies +import flush from 'styled-jsx'; + +import colorfulTheme from '@src/theme'; + +export default class CustomDocument extends Document { + render() { + return ( + + + + + + {/* PWA primary color */} + + + + + + + + + + +
    + + + + ); + } +} + +// eslint-disable-next-line func-names +CustomDocument.getInitialProps = async function (ctx: DocumentContext) { + // Resolution order + // + // On the server: + // 1. app.getInitialProps + // 2. page.getInitialProps + // 3. document.getInitialProps + // 4. app.render + // 5. page.render + // 6. document.render + // + // On the server with error: + // 1. document.getInitialProps + // 2. app.render + // 3. page.render + // 4. document.render + // + // On the client + // 1. app.getInitialProps + // 2. page.getInitialProps + // 3. app.render + // 4. page.render + + // Render app and page and get the context of the page with collected side effects. + const sheets = new ServerStyleSheets(); + const originalRenderPage = ctx.renderPage; + + ctx.renderPage = () => + originalRenderPage({ + enhanceApp: App => props => sheets.collect(), + }); + + const initialProps = await Document.getInitialProps(ctx); + + return { + ...initialProps, + locale: ctx.locale, + styles: ( + <> + {sheets.getStyleElement()} + {flush.createStyleRegistry().styles() || null} + + ), + }; +}; diff --git a/src/pages/_error.tsx b/src/pages/_error.tsx new file mode 100644 index 0000000..3452040 --- /dev/null +++ b/src/pages/_error.tsx @@ -0,0 +1,150 @@ +import { IncomingMessage } from 'http'; + +import { NextPage, NextPageContext } from 'next'; +import NextErrorComponent, { ErrorProps } from 'next/error'; +import React from 'react'; + +import { PageError } from '@src/components/features/errors/page-error'; +import { tryget } from '@src/utils'; + +export interface NextPageErrorRequest extends IncomingMessage { + query: { + [key: string]: string | string[]; + }; + cookies: { + [key: string]: string; + }; + body: any; +} + +interface ErrorPagePropsInterface { + statusCode: number; + hasGetInitialPropsRun?: boolean; + err?: Error; + code?: number; + message?: string; + req?: Pick; +} + +const getStatusAndMessageFromError = ( + err: Error, + statusCode = 500, +): { code: number; message: string } => { + let error = { + code: statusCode, + message: '', + }; + + const errorMessage = tryget(() => (err as any).networkError.result.errors[0].message, ''); + + const errorStatus = tryget(() => (err as any).networkError.statusCode, statusCode); + + const isEnvironmentNotFoundError = tryget( + () => errorMessage.includes('The access token you provided is invalid'), + false, + ); + + const isMissingContentTypeError = tryget(() => errorMessage.includes('Unknown type "'), false); + + if (isEnvironmentNotFoundError) { + error = { + code: errorStatus, + message: + 'Either environment was not found, or your access token is incorrect. If your default environment works, then it is possible that you misspelled your environment, or you did not enable it in the API Key settings.', + }; + } else if (isMissingContentTypeError) { + const missingContentType = errorMessage.split('"')[1]; + + error = { + code: errorStatus, + message: `Could not find "${missingContentType}" Content Type. Make sure you have installed the necessary apps and that you did not rename or delete any of the core content types.`, + }; + } else if (errorMessage !== '') { + error = { + code: errorStatus, + message: errorMessage, + }; + } else { + error = { + code: errorStatus, + message: err.message, + }; + } + + return error; +}; + +const ErrorPage: NextPage = ({ statusCode, err, code, message }) => { + if (code !== undefined && message !== undefined) { + return ; + } + + if (err !== undefined) { + return ; + } + + return ; +}; + +ErrorPage.getInitialProps = async ({ + req, + res, + err, + pathname, + query, + AppTree, +}: NextPageContext & { + req: NextPageErrorRequest; +}) => { + const errorInitialProps: ErrorProps & { + hasGetInitialPropsRun?: boolean; + } = await NextErrorComponent.getInitialProps({ + res, + err, + pathname, + query, + AppTree, + }); + + // Workaround for https://github.com/vercel/next.js/issues/8592, mark when + // getInitialProps has run + errorInitialProps.hasGetInitialPropsRun = true; + + // Running on the server, the response object (`res`) is available. + // + // Next.js will pass an err on the server if a page's data fetching methods + // threw or returned a Promise that rejected + // + // Running on the client (browser), Next.js will provide an err if: + // + // - a page's `getInitialProps` threw or returned a Promise that rejected + // - an exception was thrown somewhere in the React lifecycle (render, + // componentDidMount, etc) that was caught by Next.js's React Error + // Boundary. Read more about what types of exceptions are caught by Error + // Boundaries: https://reactjs.org/docs/error-boundaries.html + + if (res?.statusCode === 404) { + return { statusCode: 404 }; + } + + if (err) { + return { + ...errorInitialProps, + ...getStatusAndMessageFromError(err, res?.statusCode), + req: req + ? { + url: req.url, + method: req.method, + query: req.query, + cookies: req.cookies, + body: req.body, + headers: req.headers, + } + : undefined, + }; + } + + return errorInitialProps; +}; + +export default ErrorPage; diff --git a/src/pages/index.tsx b/src/pages/index.tsx new file mode 100644 index 0000000..c40fd67 --- /dev/null +++ b/src/pages/index.tsx @@ -0,0 +1,61 @@ +import { dehydrate, QueryClient } from '@tanstack/react-query'; +import { NextPage, NextPageContext } from 'next'; + +import { useCtfFooterQuery } from '@src/components/features/ctf-components/ctf-footer/__generated/ctf-footer.generated'; +import { useCtfNavigationQuery } from '@src/components/features/ctf-components/ctf-navigation/__generated/ctf-navigation.generated'; +import { useCtfPageQuery } from '@src/components/features/ctf-components/ctf-page/__generated/ctf-page.generated'; +import CtfPageGgl from '@src/components/features/ctf-components/ctf-page/ctf-page-gql'; +import { getServerSideTranslations } from '@src/lib/get-serverside-translations'; +import { prefetchPromiseArr } from '@src/lib/prefetch-promise-array'; + +const LangPage: NextPage = () => { + return ; +}; + +export const getServerSideProps = async ({ locale, query }: NextPageContext) => { + try { + const preview = Boolean(query.preview); + const queryClient = new QueryClient(); + + // Default queries + await queryClient.prefetchQuery( + useCtfPageQuery.getKey({ slug: 'home', locale, preview }), + useCtfPageQuery.fetcher({ slug: 'home', locale, preview }), + ); + await queryClient.prefetchQuery( + useCtfNavigationQuery.getKey({ locale, preview }), + useCtfNavigationQuery.fetcher({ locale, preview }), + ); + await queryClient.prefetchQuery( + useCtfFooterQuery.getKey({ locale, preview }), + useCtfFooterQuery.fetcher({ locale, preview }), + ); + + // Dynamic queries + const pageData = await useCtfPageQuery.fetcher({ slug: 'home', locale, preview })(); + const page = pageData.pageCollection?.items[0]; + + const topSection = page?.topSectionCollection?.items; + const content = page?.pageContent; + const extraSection = page?.extraSectionCollection?.items; + + await Promise.all([ + ...prefetchPromiseArr({ inputArr: topSection, locale, queryClient }), + ...prefetchPromiseArr({ inputArr: extraSection, locale, queryClient }), + ...prefetchPromiseArr({ inputArr: [content], locale, queryClient }), + ]); + + return { + props: { + ...(await getServerSideTranslations(locale)), + dehydratedState: dehydrate(queryClient), + }, + }; + } catch { + return { + notFound: true, + }; + } +}; + +export default LangPage; diff --git a/src/polyfills.ts b/src/polyfills.ts new file mode 100644 index 0000000..78faf3e --- /dev/null +++ b/src/polyfills.ts @@ -0,0 +1,7 @@ +/** + * Add global polyfills for application + * Next.js adds corejs (babel-polyfill), the URL api and fetch by default so you dont have to include those + * intersection-observer: https://github.com/GoogleChromeLabs/intersection-observer + */ + +import 'intersection-observer'; diff --git a/src/theme.ts b/src/theme.ts new file mode 100644 index 0000000..b03560f --- /dev/null +++ b/src/theme.ts @@ -0,0 +1,273 @@ +import { createTheme } from '@mui/material/styles'; +import { TypographyStyleOptions } from '@mui/material/styles/createTypography'; + +export const CONTAINER_WIDTH = 1260; +export const SPACER = 5; +export const HEADER_HEIGHT = '9rem'; +export const HEADER_HEIGHT_MD = '8rem'; + +interface ColorConfigInterface { + headlineColor: string; + textColor: string; + backgroundColor: string; + buttonColor: 'primary' | 'secondary'; +} + +const colorConfigs: { [key: string]: ColorConfigInterface } = { + 'palette-1. White (#FFFFFF)': { + headlineColor: '#1B273A', + textColor: '#414D63', + backgroundColor: '#fff', + buttonColor: 'primary', + }, + 'palette-7. Black (#000000)': { + headlineColor: '#fff', + textColor: '#bbb', + backgroundColor: '#000', + buttonColor: 'secondary', + }, + 'palette-2. White Smoke (#FCFCFC)': { + headlineColor: '#1B273A', + textColor: '#414D63', + backgroundColor: '#fcfcfc', + buttonColor: 'primary', + }, + 'palette-3. Light Gray (#F4F4F4)': { + headlineColor: '#000', + textColor: '#000', + backgroundColor: '#f4f4f4', + buttonColor: 'primary', + }, + 'palette-4. Gray (#EAEAEA)': { + headlineColor: '#000', + textColor: '#000', + backgroundColor: '#eaeaea', + buttonColor: 'primary', + }, + 'palette-5. Steel Gray (#BBBBBB)': { + headlineColor: '#000', + textColor: '#000', + backgroundColor: '#bbbbbb', + buttonColor: 'primary', + }, + 'palette-6. Dark Gray (#797979)': { + headlineColor: '#fff', + textColor: '#fff', + backgroundColor: '#797979', + buttonColor: 'secondary', + }, +}; + +export const getColorConfigFromPalette = (palette: string): ColorConfigInterface => { + if (colorConfigs[`palette-${palette}`] === undefined) { + return colorConfigs['palette-1. White (#FFFFFF)']; + } + + return colorConfigs[`palette-${palette}`]; +}; + +const colorfulTheme = createTheme({ + spacing: SPACER, + typography: { + fontFamily: `'Red Hat Display', sans-serif`, + htmlFontSize: 10, + caption: { + fontSize: '1.5rem', + opacity: 0.6, + } as TypographyStyleOptions & { opacity: number }, + }, + palette: { + text: { + primary: '#000', + }, + primary: { + main: '#000', + }, + secondary: { + main: '#fff', + }, + background: { + default: 'white', + }, + }, + + components: { + MuiToolbar: { + styleOverrides: { + gutters: { + '@media (min-width: 600px)': { + paddingLeft: '30px', + paddingRight: '30px', + }, + '@media (min-width: 1280px)': { + paddingLeft: '75px', + paddingRight: '75px', + }, + }, + }, + }, + MuiLink: { + styleOverrides: { + underlineHover: { + '&:hover': { + textDecoration: 'underline', + }, + }, + }, + }, + MuiButton: { + styleOverrides: { + root: { + textTransform: 'none', + textDecoration: 'none', + boxShadow: 'none', + fontSize: '2.1rem', + lineHeight: 1.52, + fontWeight: 500, + transition: + 'transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out', + }, + contained: { + borderRadius: '9px', + boxShadow: 'none', + padding: '1.1rem 2.4rem', + + '&:hover, &:focus': { + boxShadow: '0px 3px 6px #00000029', + transform: 'translateY(-4px)', + }, + }, + + containedSecondary: { + '&:hover, &:focus': { + backgroundColor: '#fff', + }, + }, + + containedSizeSmall: { + fontSize: '1.8rem', + lineHeight: 1.801, + padding: '0 1.4rem', + }, + + text: { + padding: 0, + + '&:hover, &:focus': { + backgroundColor: 'transparent', + transform: 'translateY(-4px)', + }, + }, + + textPrimary: { + '&:hover, &:focus': { + backgroundColor: 'transparent', + }, + }, + + textSecondary: { + '&:hover, &:focus': { + backgroundColor: 'transparent', + }, + }, + + textSizeSmall: { + fontSize: '1.8rem', + lineHeight: 1.801, + padding: 0, + }, + }, + }, + MuiTextField: { + styleOverrides: { + root: { + '& .MuiOutlinedInput-input': { + padding: `1.35rem 1.4rem`, + }, + }, + }, + }, + MuiChip: { + styleOverrides: { + root: { + backgroundColor: '#f2f2f2', + }, + }, + }, + MuiCssBaseline: { + styleOverrides: { + html: { + fontSize: '10px', + minHeight: '100%', + }, + body: { + minHeight: '100%', + '.is-scroll-locked': { + overflow: 'hidden', + }, + '#__next': { + display: 'flex', + flexDirection: 'column', + } + }, + } + } + }, +}); + +colorfulTheme.typography.body1 = { + ...colorfulTheme.typography.body1, + fontSize: '1.8rem', + lineHeight: 1.571, +}; +colorfulTheme.typography.body2 = { + ...colorfulTheme.typography.body2, + fontSize: '2rem', + lineHeight: 1.571, +}; + +colorfulTheme.typography.h1 = { + ...colorfulTheme.typography.h1, + fontSize: '3.8rem', + lineHeight: 1.089, + fontWeight: 600, +}; +colorfulTheme.typography.h2 = { + ...colorfulTheme.typography.h2, + fontSize: '3rem', + lineHeight: 1.086, + fontWeight: 600, +}; +colorfulTheme.typography.h3 = { + ...colorfulTheme.typography.h3, + fontSize: '2.1rem', + lineHeight: 1.08, + fontWeight: 600, +}; +colorfulTheme.typography.h4 = { + ...colorfulTheme.typography.h4, + fontSize: '2.1rem', + lineHeight: 1.08, + fontWeight: 600, +}; +colorfulTheme.typography.h5 = { + ...colorfulTheme.typography.h5, + fontSize: '2.1rem', + lineHeight: 1.08, + fontWeight: 600, +}; +colorfulTheme.typography.h6 = { + ...colorfulTheme.typography.h6, + fontSize: '2.1rem', + lineHeight: 1.08, + fontWeight: 600, +}; +colorfulTheme.mixins.toolbar = { + ...colorfulTheme.mixins.toolbar, + height: HEADER_HEIGHT_MD, + [colorfulTheme.breakpoints.up('md')]: { + height: '9rem', + }, +}; + +export default colorfulTheme; diff --git a/src/utils.ts b/src/utils.ts new file mode 100644 index 0000000..7eabc7e --- /dev/null +++ b/src/utils.ts @@ -0,0 +1,33 @@ +type OmitCustom = Pick>; +export type OmitDistributive = T extends any + ? T extends object + ? Id> + : T + : never; +export type Id = Record & { [P in keyof T]: T[P] }; // Cosmetic use only makes the tooltips expand the type can be removed +export type OmitRecursive = OmitCustom<{ [P in keyof T]: OmitDistributive }, K>; + +// eslint-disable-next-line arrow-parens +export const tryget = (exp: () => T, d: T | undefined | null = undefined) => { + try { + const val = exp(); + if (val != null) { + return val; + } + } catch { + /* noop */ + } + return d; +}; + +export const optimizeLineBreak = (str: string): string => { + const tokens = str.split(' '); + + if (tokens.length < 3) { + return str; + } + + const lastToken = tokens.pop(); + + return `${tokens.join(' ')}\u00A0${lastToken}`; +}; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..e2ba4f7 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,33 @@ +{ + "compilerOptions": { + "allowJs": true, + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, + "jsx": "preserve", + "module": "esnext", + "moduleResolution": "node", + "noEmit": true, + "preserveConstEnums": true, + "removeComments": false, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "noImplicitAny": false, + "target": "esnext", + "baseUrl": "./", + "paths": { + "@public/*": ["./public/*"], + "@pages/*": ["./pages/*"], + "@src/*": ["./src/*"], + "@ctf-components/*": ["./src/ctf-components/*"] + }, + "typeRoots": ["./@types", "./node_modules/@types"], + "lib": ["dom", "dom.iterable", "esnext"], + "forceConsistentCasingInFileNames": true, + "esModuleInterop": true, + "isolatedModules": true, + "incremental": true + }, + "exclude": ["node_modules"], + "include": ["**/*.ts", "**/*.tsx", "@types/**/*.d.ts"] +} diff --git a/vercel.json b/vercel.json new file mode 100644 index 0000000..90fe854 --- /dev/null +++ b/vercel.json @@ -0,0 +1,3 @@ +{ + "buildCommand": "NEXT_PUBLIC_BASE_URL=\"${NEXT_PUBLIC_BASE_URL:-https://$NEXT_PUBLIC_VERCEL_URL}\" yarn build" +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..6e4f253 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,8643 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.2.0": + version "2.2.0" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@apideck/better-ajv-errors@^0.3.1": + version "0.3.6" + resolved "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz" + integrity sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA== + dependencies: + json-schema "^0.4.0" + jsonpointer "^5.0.0" + leven "^3.1.0" + +"@ardatan/relay-compiler@12.0.0": + version "12.0.0" + resolved "https://registry.npmjs.org/@ardatan/relay-compiler/-/relay-compiler-12.0.0.tgz" + integrity sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q== + dependencies: + "@babel/core" "^7.14.0" + "@babel/generator" "^7.14.0" + "@babel/parser" "^7.14.0" + "@babel/runtime" "^7.0.0" + "@babel/traverse" "^7.14.0" + "@babel/types" "^7.0.0" + babel-preset-fbjs "^3.4.0" + chalk "^4.0.0" + fb-watchman "^2.0.0" + fbjs "^3.0.0" + glob "^7.1.1" + immutable "~3.7.6" + invariant "^2.2.4" + nullthrows "^1.1.1" + relay-runtime "12.0.0" + signedsource "^1.0.0" + yargs "^15.3.1" + +"@ardatan/sync-fetch@^0.0.1": + version "0.0.1" + resolved "https://registry.npmjs.org/@ardatan/sync-fetch/-/sync-fetch-0.0.1.tgz" + integrity sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA== + dependencies: + node-fetch "^2.6.1" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz" + integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== + +"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.14.0", "@babel/core@^7.18.10", "@babel/core@^7.19.6": + version "7.21.3" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz" + integrity sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.21.3" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.21.2" + "@babel/helpers" "^7.21.0" + "@babel/parser" "^7.21.3" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.3" + "@babel/types" "^7.21.3" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" + +"@babel/eslint-parser@^7.19.1": + version "7.21.3" + resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.21.3.tgz" + integrity sha512-kfhmPimwo6k4P8zxNs8+T7yR44q1LdpsZdE1NkCsVlfiuTPRfnGgjaF8Qgug9q9Pou17u6wneYF0lDCZJATMFg== + dependencies: + "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" + eslint-visitor-keys "^2.1.0" + semver "^6.3.0" + +"@babel/generator@^7.14.0", "@babel/generator@^7.18.13", "@babel/generator@^7.21.3": + version "7.21.3" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz" + integrity sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA== + dependencies: + "@babel/types" "^7.21.3" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz" + integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.18.6" + "@babel/types" "^7.18.9" + +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz" + integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz" + integrity sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-member-expression-to-functions" "^7.21.0" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/helper-split-export-declaration" "^7.18.6" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.0.tgz" + integrity sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + regexpu-core "^5.3.1" + +"@babel/helper-define-polyfill-provider@^0.3.3": + version "0.3.3" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz" + integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== + dependencies: + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + +"@babel/helper-explode-assignable-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz" + integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0", "@babel/helper-function-name@^7.21.0": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz" + integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== + dependencies: + "@babel/template" "^7.20.7" + "@babel/types" "^7.21.0" + +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-member-expression-to-functions@^7.20.7", "@babel/helper-member-expression-to-functions@^7.21.0": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz" + integrity sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q== + dependencies: + "@babel/types" "^7.21.0" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.2": + version "7.21.2" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz" + integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.2" + "@babel/types" "^7.21.2" + +"@babel/helper-optimise-call-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" + integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.20.2" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== + +"@babel/helper-remap-async-to-generator@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz" + integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-wrap-function" "^7.18.9" + "@babel/types" "^7.18.9" + +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz" + integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.20.7" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/helper-simple-access@^7.20.2": + version "7.20.2" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== + dependencies: + "@babel/types" "^7.20.2" + +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": + version "7.20.0" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz" + integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== + dependencies: + "@babel/types" "^7.20.0" + +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.21.0": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz" + integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== + +"@babel/helper-wrap-function@^7.18.9": + version "7.20.5" + resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz" + integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== + dependencies: + "@babel/helper-function-name" "^7.19.0" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" + +"@babel/helpers@^7.21.0": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz" + integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== + dependencies: + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.0" + "@babel/types" "^7.21.0" + +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.8", "@babel/parser@^7.20.7", "@babel/parser@^7.21.3": + version "7.21.3" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz" + integrity sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz" + integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz" + integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/plugin-proposal-optional-chaining" "^7.20.7" + +"@babel/plugin-proposal-async-generator-functions@^7.20.1": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz" + integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-class-static-block@^7.18.6": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz" + integrity sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.21.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-dynamic-import@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz" + integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz" + integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz" + integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz" + integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.20.2": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz" + integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.20.7" + +"@babel/plugin-proposal-optional-catch-binding@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" + integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz" + integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz" + integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-private-property-in-object@^7.18.6": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz" + integrity sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.21.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" + integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.0.0", "@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz" + integrity sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-import-assertions@^7.20.0", "@babel/plugin-syntax-import-assertions@7.20.0": + version "7.20.0" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz" + integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz" + integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.20.0": + version "7.20.0" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz" + integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + +"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.18.6": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz" + integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-async-to-generator@^7.18.6": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz" + integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== + dependencies: + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" + +"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz" + integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.20.2": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz" + integrity sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.20.2": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz" + integrity sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-split-export-declaration" "^7.18.6" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.18.9": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz" + integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/template" "^7.20.7" + +"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.20.2": + version "7.21.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz" + integrity sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz" + integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-duplicate-keys@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz" + integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-exponentiation-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz" + integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-flow-strip-types@^7.0.0": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.21.0.tgz" + integrity sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-flow" "^7.18.6" + +"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.18.8": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz" + integrity sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz" + integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== + dependencies: + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz" + integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz" + integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-modules-amd@^7.19.6": + version "7.20.11" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz" + integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== + dependencies: + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.19.6": + version "7.21.2" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz" + integrity sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA== + dependencies: + "@babel/helper-module-transforms" "^7.21.2" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-simple-access" "^7.20.2" + +"@babel/plugin-transform-modules-systemjs@^7.19.6": + version "7.20.11" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz" + integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== + dependencies: + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-identifier" "^7.19.1" + +"@babel/plugin-transform-modules-umd@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz" + integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== + dependencies: + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": + version "7.20.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz" + integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.20.5" + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-new-target@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz" + integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz" + integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.6" + +"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": + version "7.21.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz" + integrity sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz" + integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-react-constant-elements@^7.18.12": + version "7.21.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.21.3.tgz" + integrity sha512-4DVcFeWe/yDYBLp0kBmOGFJ6N2UYg7coGid1gdxb4co62dy/xISDMaYBXBVXEDhfgMk7qkbcYiGtwd5Q/hwDDQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-react-display-name@^7.0.0", "@babel/plugin-transform-react-display-name@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz" + integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-react-jsx-development@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz" + integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.18.6" + +"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.18.6": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.21.0.tgz" + integrity sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-jsx" "^7.18.6" + "@babel/types" "^7.21.0" + +"@babel/plugin-transform-react-pure-annotations@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz" + integrity sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-regenerator@^7.18.6": + version "7.20.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz" + integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + regenerator-transform "^0.15.1" + +"@babel/plugin-transform-reserved-words@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz" + integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz" + integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.19.0": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz" + integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + +"@babel/plugin-transform-sticky-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz" + integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz" + integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-typeof-symbol@^7.18.9": + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz" + integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-typescript@^7.21.0": + version "7.21.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz" + integrity sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.21.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-typescript" "^7.20.0" + +"@babel/plugin-transform-unicode-escapes@^7.18.10": + version "7.18.10" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz" + integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + +"@babel/plugin-transform-unicode-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz" + integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.19.4": + version "7.20.2" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz" + integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== + dependencies: + "@babel/compat-data" "^7.20.1" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-async-generator-functions" "^7.20.1" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.18.6" + "@babel/plugin-proposal-dynamic-import" "^7.18.6" + "@babel/plugin-proposal-export-namespace-from" "^7.18.9" + "@babel/plugin-proposal-json-strings" "^7.18.6" + "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" + "@babel/plugin-proposal-numeric-separator" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.20.2" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.18.6" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.20.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-transform-arrow-functions" "^7.18.6" + "@babel/plugin-transform-async-to-generator" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.20.2" + "@babel/plugin-transform-classes" "^7.20.2" + "@babel/plugin-transform-computed-properties" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.20.2" + "@babel/plugin-transform-dotall-regex" "^7.18.6" + "@babel/plugin-transform-duplicate-keys" "^7.18.9" + "@babel/plugin-transform-exponentiation-operator" "^7.18.6" + "@babel/plugin-transform-for-of" "^7.18.8" + "@babel/plugin-transform-function-name" "^7.18.9" + "@babel/plugin-transform-literals" "^7.18.9" + "@babel/plugin-transform-member-expression-literals" "^7.18.6" + "@babel/plugin-transform-modules-amd" "^7.19.6" + "@babel/plugin-transform-modules-commonjs" "^7.19.6" + "@babel/plugin-transform-modules-systemjs" "^7.19.6" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.20.1" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.18.6" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.19.0" + "@babel/plugin-transform-sticky-regex" "^7.18.6" + "@babel/plugin-transform-template-literals" "^7.18.9" + "@babel/plugin-transform-typeof-symbol" "^7.18.9" + "@babel/plugin-transform-unicode-escapes" "^7.18.10" + "@babel/plugin-transform-unicode-regex" "^7.18.6" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.20.2" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + core-js-compat "^3.25.1" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.5": + version "0.1.5" + resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz" + integrity sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-transform-react-display-name" "^7.18.6" + "@babel/plugin-transform-react-jsx" "^7.18.6" + "@babel/plugin-transform-react-jsx-development" "^7.18.6" + "@babel/plugin-transform-react-pure-annotations" "^7.18.6" + +"@babel/preset-typescript@^7.18.6": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.21.0.tgz" + integrity sha512-myc9mpoVA5m1rF8K8DgLEatOYFDpwC+RkMkjZ0Du6uI62YvDe8uxIEYVs/VCdSJ097nlALiU/yBC7//3nI+hNg== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-option" "^7.21.0" + "@babel/plugin-transform-typescript" "^7.21.0" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz" + integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== + dependencies: + regenerator-runtime "^0.13.11" + +"@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/traverse@^7.14.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.3": + version "7.21.3" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz" + integrity sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.21.3" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.21.3" + "@babel/types" "^7.21.3" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.16.8", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.3", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.21.3" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz" + integrity sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@contentful/live-preview@^2.11.1": + version "2.11.1" + resolved "https://registry.npmjs.org/@contentful/live-preview/-/live-preview-2.11.1.tgz" + integrity sha512-Oh7soO3IYq/PGdOdxdAa9+ecc1kx9jnUaZ2/n+uPP6YRFgMCr1+OAlRhyWHYVkqa2TFBoaROiiZR5RpzauWFMA== + dependencies: + "@contentful/rich-text-types" "^16.2.0" + "@contentful/visual-sdk" "^1.0.0-alpha.21" + lodash.isequal "^4.5.0" + +"@contentful/rich-text-react-renderer@^15.12.1": + version "15.16.3" + resolved "https://registry.npmjs.org/@contentful/rich-text-react-renderer/-/rich-text-react-renderer-15.16.3.tgz" + integrity sha512-aFtgKn8Yt19qpsez9RdV65/khPhy7GnWXhjhiCMSDVY9vDwyPIPfoKkInt+vePAk7rxlleXds5s7ba6Sm5zKQg== + dependencies: + "@contentful/rich-text-types" "^16.0.3" + +"@contentful/rich-text-types@^15.12.1": + version "15.15.1" + resolved "https://registry.npmjs.org/@contentful/rich-text-types/-/rich-text-types-15.15.1.tgz" + integrity sha512-oheW0vkxWDuKBIIXDeJfZaRYo+NzKbC4gETMhH+MGJd4nfL9cqrOvtRxZBgnhICN4vDpH4my/zUIZGKcFqGSjQ== + +"@contentful/rich-text-types@^16.0.3": + version "16.0.3" + resolved "https://registry.npmjs.org/@contentful/rich-text-types/-/rich-text-types-16.0.3.tgz" + integrity sha512-BsUtXj93jo5XUt0YeUwfCkMWRoZIzJDPUIY4vMy9SwGIO9olTsMoQKadjA2ktlmK+Gg6710WH3eFKZxj2q39Iw== + +"@contentful/rich-text-types@^16.2.0": + version "16.3.0" + resolved "https://registry.npmjs.org/@contentful/rich-text-types/-/rich-text-types-16.3.0.tgz" + integrity sha512-OfQmAu5bxE0CgQA3WlUleVej+ifFG/iXmB2DmUl4EyWyFue1aiIvfjxQhcDRSH4n1jUNMJ6L1wInZL8uV5m3TQ== + +"@contentful/visual-sdk@^1.0.0-alpha.21": + version "1.0.0-alpha.21" + resolved "https://registry.npmjs.org/@contentful/visual-sdk/-/visual-sdk-1.0.0-alpha.21.tgz" + integrity sha512-mqq9t42msPo3hXHdiRmqbjkwgOFMhyXRONyyeesPTCXNgyIIRV8DY+zkrn4p36JNc3L1W3u9lic2d9vY6LfWNQ== + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@discoveryjs/json-ext@^0.5.7": + version "0.5.7" + resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@emotion/babel-plugin@^11.10.6": + version "11.10.6" + resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.6.tgz" + integrity sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.0" + "@emotion/memoize" "^0.8.0" + "@emotion/serialize" "^1.1.1" + babel-plugin-macros "^3.1.0" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.1.3" + +"@emotion/cache@^11.10.5": + version "11.10.5" + resolved "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz" + integrity sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA== + dependencies: + "@emotion/memoize" "^0.8.0" + "@emotion/sheet" "^1.2.1" + "@emotion/utils" "^1.2.0" + "@emotion/weak-memoize" "^0.3.0" + stylis "4.1.3" + +"@emotion/hash@^0.9.0": + version "0.9.0" + resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz" + integrity sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ== + +"@emotion/is-prop-valid@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz" + integrity sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg== + dependencies: + "@emotion/memoize" "^0.8.0" + +"@emotion/memoize@^0.8.0": + version "0.8.0" + resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz" + integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA== + +"@emotion/react@^11.10.4": + version "11.10.6" + resolved "https://registry.npmjs.org/@emotion/react/-/react-11.10.6.tgz" + integrity sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.10.6" + "@emotion/cache" "^11.10.5" + "@emotion/serialize" "^1.1.1" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" + "@emotion/utils" "^1.2.0" + "@emotion/weak-memoize" "^0.3.0" + hoist-non-react-statics "^3.3.1" + +"@emotion/serialize@^1.1.1": + version "1.1.1" + resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz" + integrity sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA== + dependencies: + "@emotion/hash" "^0.9.0" + "@emotion/memoize" "^0.8.0" + "@emotion/unitless" "^0.8.0" + "@emotion/utils" "^1.2.0" + csstype "^3.0.2" + +"@emotion/sheet@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz" + integrity sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA== + +"@emotion/styled@^11.10.4": + version "11.10.6" + resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.6.tgz" + integrity sha512-OXtBzOmDSJo5Q0AFemHCfl+bUueT8BIcPSxu0EGTpGk6DmI5dnhSzQANm1e1ze0YZL7TDyAyy6s/b/zmGOS3Og== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.10.6" + "@emotion/is-prop-valid" "^1.2.0" + "@emotion/serialize" "^1.1.1" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" + "@emotion/utils" "^1.2.0" + +"@emotion/unitless@^0.8.0": + version "0.8.0" + resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz" + integrity sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw== + +"@emotion/use-insertion-effect-with-fallbacks@^1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz" + integrity sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A== + +"@emotion/utils@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz" + integrity sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw== + +"@emotion/weak-memoize@^0.3.0": + version "0.3.0" + resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz" + integrity sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg== + +"@eslint-community/eslint-utils@^4.2.0": + version "4.3.0" + resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.3.0.tgz" + integrity sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0": + version "4.4.0" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.4.0.tgz" + integrity sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ== + +"@eslint/eslintrc@^1.3.0": + version "1.4.1" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz" + integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.4.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@graphql-codegen/add@^3.2.1": + version "3.2.3" + resolved "https://registry.npmjs.org/@graphql-codegen/add/-/add-3.2.3.tgz" + integrity sha512-sQOnWpMko4JLeykwyjFTxnhqjd/3NOG2OyMuvK76Wnnwh8DRrNf2VEs2kmSvLl7MndMlOj7Kh5U154dVcvhmKQ== + dependencies: + "@graphql-codegen/plugin-helpers" "^3.1.1" + tslib "~2.4.0" + +"@graphql-codegen/cli@^2.12.1": + version "2.16.5" + resolved "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-2.16.5.tgz" + integrity sha512-XYPIp+q7fB0xAGSAoRykiTe4oY80VU+z+dw5nuv4mLY0+pv7+pa2C6Nwhdw7a65lXOhFviBApWCCZeqd54SMnA== + dependencies: + "@babel/generator" "^7.18.13" + "@babel/template" "^7.18.10" + "@babel/types" "^7.18.13" + "@graphql-codegen/core" "^2.6.8" + "@graphql-codegen/plugin-helpers" "^3.1.2" + "@graphql-tools/apollo-engine-loader" "^7.3.6" + "@graphql-tools/code-file-loader" "^7.3.13" + "@graphql-tools/git-loader" "^7.2.13" + "@graphql-tools/github-loader" "^7.3.20" + "@graphql-tools/graphql-file-loader" "^7.5.0" + "@graphql-tools/json-file-loader" "^7.4.1" + "@graphql-tools/load" "^7.8.0" + "@graphql-tools/prisma-loader" "^7.2.49" + "@graphql-tools/url-loader" "^7.13.2" + "@graphql-tools/utils" "^9.0.0" + "@whatwg-node/fetch" "^0.6.0" + chalk "^4.1.0" + chokidar "^3.5.2" + cosmiconfig "^7.0.0" + cosmiconfig-typescript-loader "^4.3.0" + debounce "^1.2.0" + detect-indent "^6.0.0" + graphql-config "^4.4.0" + inquirer "^8.0.0" + is-glob "^4.0.1" + json-to-pretty-yaml "^1.2.2" + listr2 "^4.0.5" + log-symbols "^4.0.0" + shell-quote "^1.7.3" + string-env-interpolation "^1.0.1" + ts-log "^2.2.3" + ts-node "^10.9.1" + tslib "^2.4.0" + yaml "^1.10.0" + yargs "^17.0.0" + +"@graphql-codegen/core@^2.6.8": + version "2.6.8" + resolved "https://registry.npmjs.org/@graphql-codegen/core/-/core-2.6.8.tgz" + integrity sha512-JKllNIipPrheRgl+/Hm/xuWMw9++xNQ12XJR/OHHgFopOg4zmN3TdlRSyYcv/K90hCFkkIwhlHFUQTfKrm8rxQ== + dependencies: + "@graphql-codegen/plugin-helpers" "^3.1.1" + "@graphql-tools/schema" "^9.0.0" + "@graphql-tools/utils" "^9.1.1" + tslib "~2.4.0" + +"@graphql-codegen/introspection@2.2.1": + version "2.2.1" + resolved "https://registry.npmjs.org/@graphql-codegen/introspection/-/introspection-2.2.1.tgz" + integrity sha512-083tu9rSLL0k9LrAyGt1AjGQI/O9gX3w1UliaufLc3mofDSt7iV04tT9VJRuk4IoBvyPZ/8YCs5zIpmt/GexPA== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.6.2" + "@graphql-codegen/visitor-plugin-common" "^2.12.1" + tslib "~2.4.0" + +"@graphql-codegen/near-operation-file-preset@^2.4.1": + version "2.5.0" + resolved "https://registry.npmjs.org/@graphql-codegen/near-operation-file-preset/-/near-operation-file-preset-2.5.0.tgz" + integrity sha512-S9PNJP5tTkUWBQ6inbviOsTREzsMxYVqJGrtPcIdMWkKLZAAItAfAb60klB1T64vt6Oru+nUf8IYUNrchJ8MYg== + dependencies: + "@graphql-codegen/add" "^3.2.1" + "@graphql-codegen/plugin-helpers" "^2.7.2" + "@graphql-codegen/visitor-plugin-common" "2.13.1" + "@graphql-tools/utils" "^8.8.0" + parse-filepath "^1.0.2" + tslib "~2.4.0" + +"@graphql-codegen/plugin-helpers@^2.6.2": + version "2.7.2" + resolved "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.7.2.tgz" + integrity sha512-kln2AZ12uii6U59OQXdjLk5nOlh1pHis1R98cDZGFnfaiAbX9V3fxcZ1MMJkB7qFUymTALzyjZoXXdyVmPMfRg== + dependencies: + "@graphql-tools/utils" "^8.8.0" + change-case-all "1.0.14" + common-tags "1.8.2" + import-from "4.0.0" + lodash "~4.17.0" + tslib "~2.4.0" + +"@graphql-codegen/plugin-helpers@^2.7.2": + version "2.7.2" + resolved "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.7.2.tgz" + integrity sha512-kln2AZ12uii6U59OQXdjLk5nOlh1pHis1R98cDZGFnfaiAbX9V3fxcZ1MMJkB7qFUymTALzyjZoXXdyVmPMfRg== + dependencies: + "@graphql-tools/utils" "^8.8.0" + change-case-all "1.0.14" + common-tags "1.8.2" + import-from "4.0.0" + lodash "~4.17.0" + tslib "~2.4.0" + +"@graphql-codegen/plugin-helpers@^3.0.0", "@graphql-codegen/plugin-helpers@^3.1.1", "@graphql-codegen/plugin-helpers@^3.1.2": + version "3.1.2" + resolved "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-3.1.2.tgz" + integrity sha512-emOQiHyIliVOIjKVKdsI5MXj312zmRDwmHpyUTZMjfpvxq/UVAHUJIVdVf+lnjjrI+LXBTgMlTWTgHQfmICxjg== + dependencies: + "@graphql-tools/utils" "^9.0.0" + change-case-all "1.0.15" + common-tags "1.8.2" + import-from "4.0.0" + lodash "~4.17.0" + tslib "~2.4.0" + +"@graphql-codegen/schema-ast@^2.5.1": + version "2.6.1" + resolved "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-2.6.1.tgz" + integrity sha512-5TNW3b1IHJjCh07D2yQNGDQzUpUl2AD+GVe1Dzjqyx/d2Fn0TPMxLsHsKPS4Plg4saO8FK/QO70wLsP7fdbQ1w== + dependencies: + "@graphql-codegen/plugin-helpers" "^3.1.2" + "@graphql-tools/utils" "^9.0.0" + tslib "~2.4.0" + +"@graphql-codegen/typescript-operations@2.5.3": + version "2.5.3" + resolved "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-2.5.3.tgz" + integrity sha512-s+pA+Erm0HeBb/D5cNrflwRM5KWhkiA5cbz4uA99l3fzFPveoQBPfRCBu0XAlJLP/kBDy64+o4B8Nfc7wdRtmA== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.6.2" + "@graphql-codegen/typescript" "^2.7.3" + "@graphql-codegen/visitor-plugin-common" "2.12.1" + auto-bind "~4.0.0" + tslib "~2.4.0" + +"@graphql-codegen/typescript-react-query@^4.0.1": + version "4.1.0" + resolved "https://registry.npmjs.org/@graphql-codegen/typescript-react-query/-/typescript-react-query-4.1.0.tgz" + integrity sha512-+3Hk+ws6HfCAZl7+5Q4LBkFh3y+2ISuahMYRHIqzqpwNnrthftg8xNx11VH5sabqqjqEmjY3UaP8glP93itPWQ== + dependencies: + "@graphql-codegen/plugin-helpers" "^3.0.0" + "@graphql-codegen/visitor-plugin-common" "2.13.1" + auto-bind "~4.0.0" + change-case-all "1.0.15" + tslib "~2.4.0" + +"@graphql-codegen/typescript@^2.7.3", "@graphql-codegen/typescript@2.7.3": + version "2.7.3" + resolved "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-2.7.3.tgz" + integrity sha512-EzX/acijXtbG/AwPzho2ZZWaNo00+xAbsRDP+vnT2PwQV3AYq3/5bFvjq1XfAGWbTntdmlYlIwC9hf5bI85WVA== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.6.2" + "@graphql-codegen/schema-ast" "^2.5.1" + "@graphql-codegen/visitor-plugin-common" "2.12.1" + auto-bind "~4.0.0" + tslib "~2.4.0" + +"@graphql-codegen/visitor-plugin-common@^2.12.1": + version "2.13.8" + resolved "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.13.8.tgz" + integrity sha512-IQWu99YV4wt8hGxIbBQPtqRuaWZhkQRG2IZKbMoSvh0vGeWb3dB0n0hSgKaOOxDY+tljtOf9MTcUYvJslQucMQ== + dependencies: + "@graphql-codegen/plugin-helpers" "^3.1.2" + "@graphql-tools/optimize" "^1.3.0" + "@graphql-tools/relay-operation-optimizer" "^6.5.0" + "@graphql-tools/utils" "^9.0.0" + auto-bind "~4.0.0" + change-case-all "1.0.15" + dependency-graph "^0.11.0" + graphql-tag "^2.11.0" + parse-filepath "^1.0.2" + tslib "~2.4.0" + +"@graphql-codegen/visitor-plugin-common@2.12.1": + version "2.12.1" + resolved "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.12.1.tgz" + integrity sha512-dIUrX4+i/uazyPQqXyQ8cqykgNFe1lknjnfDWFo0gnk2W8+ruuL2JpSrj/7efzFHxbYGMQrCABDCUTVLi3DcVA== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.6.2" + "@graphql-tools/optimize" "^1.3.0" + "@graphql-tools/relay-operation-optimizer" "^6.5.0" + "@graphql-tools/utils" "^8.8.0" + auto-bind "~4.0.0" + change-case-all "1.0.14" + dependency-graph "^0.11.0" + graphql-tag "^2.11.0" + parse-filepath "^1.0.2" + tslib "~2.4.0" + +"@graphql-codegen/visitor-plugin-common@2.13.1": + version "2.13.1" + resolved "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.13.1.tgz" + integrity sha512-mD9ufZhDGhyrSaWQGrU1Q1c5f01TeWtSWy/cDwXYjJcHIj1Y/DG2x0tOflEfCvh5WcnmHNIw4lzDsg1W7iFJEg== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.7.2" + "@graphql-tools/optimize" "^1.3.0" + "@graphql-tools/relay-operation-optimizer" "^6.5.0" + "@graphql-tools/utils" "^8.8.0" + auto-bind "~4.0.0" + change-case-all "1.0.14" + dependency-graph "^0.11.0" + graphql-tag "^2.11.0" + parse-filepath "^1.0.2" + tslib "~2.4.0" + +"@graphql-tools/apollo-engine-loader@^7.3.6": + version "7.3.26" + resolved "https://registry.npmjs.org/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-7.3.26.tgz" + integrity sha512-h1vfhdJFjnCYn9b5EY1Z91JTF0KB3hHVJNQIsiUV2mpQXZdeOXQoaWeYEKaiI5R6kwBw5PP9B0fv3jfUIG8LyQ== + dependencies: + "@ardatan/sync-fetch" "^0.0.1" + "@graphql-tools/utils" "^9.2.1" + "@whatwg-node/fetch" "^0.8.0" + tslib "^2.4.0" + +"@graphql-tools/batch-execute@^8.5.18": + version "8.5.18" + resolved "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-8.5.18.tgz" + integrity sha512-mNv5bpZMLLwhkmPA6+RP81A6u3KF4CSKLf3VX9hbomOkQR4db8pNs8BOvpZU54wKsUzMzdlws/2g/Dabyb2Vsg== + dependencies: + "@graphql-tools/utils" "9.2.1" + dataloader "2.2.2" + tslib "^2.4.0" + value-or-promise "1.0.12" + +"@graphql-tools/code-file-loader@^7.3.13": + version "7.3.21" + resolved "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-7.3.21.tgz" + integrity sha512-dj+OLnz1b8SYkXcuiy0CUQ25DWnOEyandDlOcdBqU3WVwh5EEVbn0oXUYm90fDlq2/uut00OrtC5Wpyhi3tAvA== + dependencies: + "@graphql-tools/graphql-tag-pluck" "7.5.0" + "@graphql-tools/utils" "9.2.1" + globby "^11.0.3" + tslib "^2.4.0" + unixify "^1.0.0" + +"@graphql-tools/delegate@^9.0.27", "@graphql-tools/delegate@9.0.28": + version "9.0.28" + resolved "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-9.0.28.tgz" + integrity sha512-8j23JCs2mgXqnp+5K0v4J3QBQU/5sXd9miaLvMfRf/6963DznOXTECyS9Gcvj1VEeR5CXIw6+aX/BvRDKDdN1g== + dependencies: + "@graphql-tools/batch-execute" "^8.5.18" + "@graphql-tools/executor" "^0.0.15" + "@graphql-tools/schema" "^9.0.16" + "@graphql-tools/utils" "^9.2.1" + dataloader "^2.2.2" + tslib "^2.5.0" + value-or-promise "^1.0.12" + +"@graphql-tools/executor-graphql-ws@^0.0.12": + version "0.0.12" + resolved "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-0.0.12.tgz" + integrity sha512-aFD79i9l282Ob5dOZ7JsyhhXXP1o8eQh0prYkSSVo/OU2ndzWigfANz4DJgWgS3LwBjLDlMcmaXPZZeXt3m4Tg== + dependencies: + "@graphql-tools/utils" "9.2.1" + "@repeaterjs/repeater" "3.0.4" + "@types/ws" "^8.0.0" + graphql-ws "5.12.0" + isomorphic-ws "5.0.0" + tslib "^2.4.0" + ws "8.12.1" + +"@graphql-tools/executor-http@^0.1.7": + version "0.1.9" + resolved "https://registry.npmjs.org/@graphql-tools/executor-http/-/executor-http-0.1.9.tgz" + integrity sha512-tNzMt5qc1ptlHKfpSv9wVBVKCZ7gks6Yb/JcYJluxZIT4qRV+TtOFjpptfBU63usgrGVOVcGjzWc/mt7KhmmpQ== + dependencies: + "@graphql-tools/utils" "^9.2.1" + "@repeaterjs/repeater" "^3.0.4" + "@whatwg-node/fetch" "^0.8.1" + dset "^3.1.2" + extract-files "^11.0.0" + meros "^1.2.1" + tslib "^2.4.0" + value-or-promise "^1.0.12" + +"@graphql-tools/executor-legacy-ws@^0.0.9": + version "0.0.9" + resolved "https://registry.npmjs.org/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-0.0.9.tgz" + integrity sha512-L7oDv7R5yoXzMH+KLKDB2WHVijfVW4dB2H+Ae1RdW3MFvwbYjhnIB6QzHqKEqksjp/FndtxZkbuTIuAOsYGTYw== + dependencies: + "@graphql-tools/utils" "9.2.1" + "@types/ws" "^8.0.0" + isomorphic-ws "5.0.0" + tslib "^2.4.0" + ws "8.12.1" + +"@graphql-tools/executor@^0.0.15": + version "0.0.15" + resolved "https://registry.npmjs.org/@graphql-tools/executor/-/executor-0.0.15.tgz" + integrity sha512-6U7QLZT8cEUxAMXDP4xXVplLi6RBwx7ih7TevlBto66A/qFp3PDb6o/VFo07yBKozr8PGMZ4jMfEWBGxmbGdxA== + dependencies: + "@graphql-tools/utils" "9.2.1" + "@graphql-typed-document-node/core" "3.1.2" + "@repeaterjs/repeater" "3.0.4" + tslib "^2.4.0" + value-or-promise "1.0.12" + +"@graphql-tools/git-loader@^7.2.13": + version "7.2.20" + resolved "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-7.2.20.tgz" + integrity sha512-D/3uwTzlXxG50HI8BEixqirT4xiUp6AesTdfotRXAs2d4CT9wC6yuIWOHkSBqgI1cwKWZb6KXZr467YPS5ob1w== + dependencies: + "@graphql-tools/graphql-tag-pluck" "7.5.0" + "@graphql-tools/utils" "9.2.1" + is-glob "4.0.3" + micromatch "^4.0.4" + tslib "^2.4.0" + unixify "^1.0.0" + +"@graphql-tools/github-loader@^7.3.20": + version "7.3.27" + resolved "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-7.3.27.tgz" + integrity sha512-fFFC35qenyhjb8pfcYXKknAt0CXP5CkQYtLfJXgTXSgBjIsfAVMrqxQ/Y0ejeM19XNF/C3VWJ7rE308yOX6ywA== + dependencies: + "@ardatan/sync-fetch" "^0.0.1" + "@graphql-tools/graphql-tag-pluck" "^7.4.6" + "@graphql-tools/utils" "^9.2.1" + "@whatwg-node/fetch" "^0.8.0" + tslib "^2.4.0" + +"@graphql-tools/graphql-file-loader@^7.3.7", "@graphql-tools/graphql-file-loader@^7.5.0": + version "7.5.16" + resolved "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.5.16.tgz" + integrity sha512-lK1N3Y2I634FS12nd4bu7oAJbai3bUc28yeX+boT+C83KTO4ujGHm+6hPC8X/FRGwhKOnZBxUM7I5nvb3HiUxw== + dependencies: + "@graphql-tools/import" "6.7.17" + "@graphql-tools/utils" "9.2.1" + globby "^11.0.3" + tslib "^2.4.0" + unixify "^1.0.0" + +"@graphql-tools/graphql-tag-pluck@^7.4.6", "@graphql-tools/graphql-tag-pluck@7.5.0": + version "7.5.0" + resolved "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.5.0.tgz" + integrity sha512-76SYzhSlH50ZWkhWH6OI94qrxa8Ww1ZeOU04MdtpSeQZVT2rjGWeTb3xM3kjTVWQJsr/YJBhDeNPGlwNUWfX4Q== + dependencies: + "@babel/parser" "^7.16.8" + "@babel/plugin-syntax-import-assertions" "7.20.0" + "@babel/traverse" "^7.16.8" + "@babel/types" "^7.16.8" + "@graphql-tools/utils" "9.2.1" + tslib "^2.4.0" + +"@graphql-tools/import@6.7.17": + version "6.7.17" + resolved "https://registry.npmjs.org/@graphql-tools/import/-/import-6.7.17.tgz" + integrity sha512-bn9SgrECXq3WIasgNP7ful/uON51wBajPXtxdY+z/ce7jLWaFE6lzwTDB/GAgiZ+jo7nb0ravlxteSAz2qZmuA== + dependencies: + "@graphql-tools/utils" "9.2.1" + resolve-from "5.0.0" + tslib "^2.4.0" + +"@graphql-tools/json-file-loader@^7.3.7", "@graphql-tools/json-file-loader@^7.4.1": + version "7.4.17" + resolved "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.4.17.tgz" + integrity sha512-KOSTP43nwjPfXgas90rLHAFgbcSep4nmiYyR9xRVz4ZAmw8VYHcKhOLTSGylCAzi7KUfyBXajoW+6Z7dQwdn3g== + dependencies: + "@graphql-tools/utils" "9.2.1" + globby "^11.0.3" + tslib "^2.4.0" + unixify "^1.0.0" + +"@graphql-tools/load@^7.5.5", "@graphql-tools/load@^7.8.0": + version "7.8.13" + resolved "https://registry.npmjs.org/@graphql-tools/load/-/load-7.8.13.tgz" + integrity sha512-c97/GuUl81Wpa38cx3E6nMz8gUrvVcFokoPfDOaA5uTWSTXA1UxaF4KrvM9P5rNFaKVAtF9f6nMIusRE5B0mag== + dependencies: + "@graphql-tools/schema" "9.0.17" + "@graphql-tools/utils" "9.2.1" + p-limit "3.1.0" + tslib "^2.4.0" + +"@graphql-tools/merge@^8.2.6", "@graphql-tools/merge@8.4.0": + version "8.4.0" + resolved "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.0.tgz" + integrity sha512-3XYCWe0d3I4F1azNj1CdShlbHfTIfiDgj00R9uvFH8tHKh7i1IWN3F7QQYovcHKhayaR6zPok3YYMESYQcBoaA== + dependencies: + "@graphql-tools/utils" "9.2.1" + tslib "^2.4.0" + +"@graphql-tools/optimize@^1.3.0": + version "1.3.1" + resolved "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-1.3.1.tgz" + integrity sha512-5j5CZSRGWVobt4bgRRg7zhjPiSimk+/zIuColih8E8DxuFOaJ+t0qu7eZS5KXWBkjcd4BPNuhUPpNlEmHPqVRQ== + dependencies: + tslib "^2.4.0" + +"@graphql-tools/prisma-loader@^7.2.49": + version "7.2.65" + resolved "https://registry.npmjs.org/@graphql-tools/prisma-loader/-/prisma-loader-7.2.65.tgz" + integrity sha512-MuX4XrJEuOE6qYbjR9WhSInPX8iji07wA6K72hVgkvG2UBXBUAcVC/1H6iOFbs1d7rLLU2r6aWsYnD6zwzw+eA== + dependencies: + "@graphql-tools/url-loader" "7.17.14" + "@graphql-tools/utils" "9.2.1" + "@types/js-yaml" "^4.0.0" + "@types/json-stable-stringify" "^1.0.32" + chalk "^4.1.0" + debug "^4.3.1" + dotenv "^16.0.0" + graphql-request "^5.0.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + isomorphic-fetch "^3.0.0" + jose "^4.11.4" + js-yaml "^4.0.0" + json-stable-stringify "^1.0.1" + lodash "^4.17.20" + scuid "^1.1.0" + tslib "^2.4.0" + yaml-ast-parser "^0.0.43" + +"@graphql-tools/relay-operation-optimizer@^6.5.0": + version "6.5.17" + resolved "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.5.17.tgz" + integrity sha512-hHPEX6ccRF3+9kfVz0A3In//Dej7QrHOLGZEokBmPDMDqn9CS7qUjpjyGzclbOX0tRBtLfuFUZ68ABSac3P1nA== + dependencies: + "@ardatan/relay-compiler" "12.0.0" + "@graphql-tools/utils" "9.2.1" + tslib "^2.4.0" + +"@graphql-tools/schema@^9.0.0", "@graphql-tools/schema@^9.0.16", "@graphql-tools/schema@9.0.17": + version "9.0.17" + resolved "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.17.tgz" + integrity sha512-HVLq0ecbkuXhJlpZ50IHP5nlISqH2GbNgjBJhhRzHeXhfwlUOT4ISXGquWTmuq61K0xSaO0aCjMpxe4QYbKTng== + dependencies: + "@graphql-tools/merge" "8.4.0" + "@graphql-tools/utils" "9.2.1" + tslib "^2.4.0" + value-or-promise "1.0.12" + +"@graphql-tools/url-loader@^7.13.2", "@graphql-tools/url-loader@^7.9.7", "@graphql-tools/url-loader@7.17.14": + version "7.17.14" + resolved "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.17.14.tgz" + integrity sha512-7boEmrZlbViqQSSvu2VFCGi9YAY7E0BCVObiv1sLYbFR+62mo825As0haU5l7wlx1zCDyUlOleNz+X2jVvBbSQ== + dependencies: + "@ardatan/sync-fetch" "^0.0.1" + "@graphql-tools/delegate" "^9.0.27" + "@graphql-tools/executor-graphql-ws" "^0.0.12" + "@graphql-tools/executor-http" "^0.1.7" + "@graphql-tools/executor-legacy-ws" "^0.0.9" + "@graphql-tools/utils" "^9.2.1" + "@graphql-tools/wrap" "^9.3.8" + "@types/ws" "^8.0.0" + "@whatwg-node/fetch" "^0.8.0" + isomorphic-ws "^5.0.0" + tslib "^2.4.0" + value-or-promise "^1.0.11" + ws "^8.12.0" + +"@graphql-tools/utils@^8.8.0": + version "8.13.1" + resolved "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.13.1.tgz" + integrity sha512-qIh9yYpdUFmctVqovwMdheVNJqFh+DQNWIhX87FJStfXYnmweBUDATok9fWPleKeFwxnW8IapKmY8m8toJEkAw== + dependencies: + tslib "^2.4.0" + +"@graphql-tools/utils@^9.0.0", "@graphql-tools/utils@^9.1.1", "@graphql-tools/utils@^9.2.1", "@graphql-tools/utils@9.2.1": + version "9.2.1" + resolved "https://registry.npmjs.org/@graphql-tools/utils/-/utils-9.2.1.tgz" + integrity sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A== + dependencies: + "@graphql-typed-document-node/core" "^3.1.1" + tslib "^2.4.0" + +"@graphql-tools/wrap@^9.3.8": + version "9.3.8" + resolved "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-9.3.8.tgz" + integrity sha512-MGsExYPiILMw4Qff7HcvE9MMSYdjb/tr5IQYJbxJIU4/TrBHox1/smne8HG+Bd7kmDlTTj7nU/Z8sxmoRd0hOQ== + dependencies: + "@graphql-tools/delegate" "9.0.28" + "@graphql-tools/schema" "9.0.17" + "@graphql-tools/utils" "9.2.1" + tslib "^2.4.0" + value-or-promise "1.0.12" + +"@graphql-typed-document-node/core@^3.1.1", "@graphql-typed-document-node/core@3.1.2": + version "3.1.2" + resolved "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.2.tgz" + integrity sha512-9anpBMM9mEgZN4wr2v8wHJI2/u5TnnggewRN6OlvXTTnuVyoY19X6rOv9XTqKRw6dcGKwZsBi8n0kDE2I5i4VA== + +"@hapi/hoek@^9.0.0": + version "9.3.0" + resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== + +"@hapi/topo@^5.0.0": + version "5.1.0" + resolved "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@humanwhocodes/config-array@^0.10.4": + version "0.10.7" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz" + integrity sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/gitignore-to-minimatch@^1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz" + integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/transform@^27.5.1": + version "27.5.1" + resolved "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz" + integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^27.5.1" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-regex-util "^27.5.1" + jest-util "^27.5.1" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^27.5.1": + version "27.5.1" + resolved "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz" + integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.0": + version "0.3.2" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.2": + version "0.3.2" + resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz" + integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@1.4.14": + version "1.4.14" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.17" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@mapbox/hast-util-table-cell-style@^0.2.0": + version "0.2.0" + resolved "https://registry.npmjs.org/@mapbox/hast-util-table-cell-style/-/hast-util-table-cell-style-0.2.0.tgz" + integrity sha512-gqaTIGC8My3LVSnU38IwjHVKJC94HSonjvFHDk8/aSrApL8v4uWgm8zJkK7MJIIbHuNOr/+Mv2KkQKcxs6LEZA== + dependencies: + unist-util-visit "^1.4.1" + +"@mui/base@5.0.0-alpha.121": + version "5.0.0-alpha.121" + resolved "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.121.tgz" + integrity sha512-8nJRY76UqlJV+q/Yzo0tgGfPWEOa+4N9rjO81fMmcJqP0I6m54hLDXsjvMg4tvelY5eKHXUK6Tb7en+GHfTqZA== + dependencies: + "@babel/runtime" "^7.21.0" + "@emotion/is-prop-valid" "^1.2.0" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.13" + "@popperjs/core" "^2.11.6" + clsx "^1.2.1" + prop-types "^15.8.1" + react-is "^18.2.0" + +"@mui/core-downloads-tracker@^5.11.13": + version "5.11.13" + resolved "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.13.tgz" + integrity sha512-lx+GXBR9h/ApZsEP728tl0pyZyuajto+VnBgsoAzw1d5+CbmOo8ZWieKwVUGxZlPT1wMYNUYS5NtKzCli0xYjw== + +"@mui/icons-material@^5.10.9": + version "5.11.11" + resolved "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.11.11.tgz" + integrity sha512-Eell3ADmQVE8HOpt/LZ3zIma8JSvPh3XgnhwZLT0k5HRqZcd6F/QDHc7xsWtgz09t+UEFvOYJXjtrwKmLdwwpw== + dependencies: + "@babel/runtime" "^7.21.0" + +"@mui/material@^5.10.9": + version "5.11.13" + resolved "https://registry.npmjs.org/@mui/material/-/material-5.11.13.tgz" + integrity sha512-2CnSj43F+159LbGmTLLQs5xbGYMiYlpTByQhP7c7cMX6opbScctBFE1PuyElpAmwW8Ag9ysfZH1d1MFAmJQkjg== + dependencies: + "@babel/runtime" "^7.21.0" + "@mui/base" "5.0.0-alpha.121" + "@mui/core-downloads-tracker" "^5.11.13" + "@mui/system" "^5.11.13" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.13" + "@types/react-transition-group" "^4.4.5" + clsx "^1.2.1" + csstype "^3.1.1" + prop-types "^15.8.1" + react-is "^18.2.0" + react-transition-group "^4.4.5" + +"@mui/private-theming@^5.11.13": + version "5.11.13" + resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.11.13.tgz" + integrity sha512-PJnYNKzW5LIx3R+Zsp6WZVPs6w5sEKJ7mgLNnUXuYB1zo5aX71FVLtV7geyPXRcaN2tsoRNK7h444ED0t7cIjA== + dependencies: + "@babel/runtime" "^7.21.0" + "@mui/utils" "^5.11.13" + prop-types "^15.8.1" + +"@mui/styled-engine@^5.11.11": + version "5.11.11" + resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.11.11.tgz" + integrity sha512-wV0UgW4lN5FkDBXefN8eTYeuE9sjyQdg5h94vtwZCUamGQEzmCOtir4AakgmbWMy0x8OLjdEUESn9wnf5J9MOg== + dependencies: + "@babel/runtime" "^7.21.0" + "@emotion/cache" "^11.10.5" + csstype "^3.1.1" + prop-types "^15.8.1" + +"@mui/styles@^5.10.9": + version "5.11.13" + resolved "https://registry.npmjs.org/@mui/styles/-/styles-5.11.13.tgz" + integrity sha512-7NQTTdl8Z54qQBRPLi4cR9LG8tvXQdQE0kVEYVYc5A3e+IFH6xfGzNCNa0X4zz0f9JGaS8e6kK3YYOS2+KyJHg== + dependencies: + "@babel/runtime" "^7.21.0" + "@emotion/hash" "^0.9.0" + "@mui/private-theming" "^5.11.13" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.13" + clsx "^1.2.1" + csstype "^3.1.1" + hoist-non-react-statics "^3.3.2" + jss "^10.10.0" + jss-plugin-camel-case "^10.10.0" + jss-plugin-default-unit "^10.10.0" + jss-plugin-global "^10.10.0" + jss-plugin-nested "^10.10.0" + jss-plugin-props-sort "^10.10.0" + jss-plugin-rule-value-function "^10.10.0" + jss-plugin-vendor-prefixer "^10.10.0" + prop-types "^15.8.1" + +"@mui/system@^5.11.13": + version "5.11.13" + resolved "https://registry.npmjs.org/@mui/system/-/system-5.11.13.tgz" + integrity sha512-OWP0Alp6C8ufnGm9+CZcl3d+OoRXL2PnrRT5ohaMLxvGL9OfNcL2t4JOjMmA0k1UAGd6E/Ygbu5lEPrZSDlvCg== + dependencies: + "@babel/runtime" "^7.21.0" + "@mui/private-theming" "^5.11.13" + "@mui/styled-engine" "^5.11.11" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.13" + clsx "^1.2.1" + csstype "^3.1.1" + prop-types "^15.8.1" + +"@mui/types@^7.2.3": + version "7.2.3" + resolved "https://registry.npmjs.org/@mui/types/-/types-7.2.3.tgz" + integrity sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw== + +"@mui/utils@^5.11.13": + version "5.11.13" + resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.11.13.tgz" + integrity sha512-5ltA58MM9euOuUcnvwFJqpLdEugc9XFsRR8Gt4zZNb31XzMfSKJPR4eumulyhsOTK1rWf7K4D63NKFPfX0AxqA== + dependencies: + "@babel/runtime" "^7.21.0" + "@types/prop-types" "^15.7.5" + "@types/react-is" "^16.7.1 || ^17.0.0" + prop-types "^15.8.1" + react-is "^18.2.0" + +"@next/bundle-analyzer@^12.3.0": + version "12.3.4" + resolved "https://registry.npmjs.org/@next/bundle-analyzer/-/bundle-analyzer-12.3.4.tgz" + integrity sha512-eKjgRICzbLTmod0UnJcArFVs5uEAiuZwB6NCf84m+btW7jdylUVoOYf1wi5tA14xk5L9Lho7Prm6/XJ8gxYzfQ== + dependencies: + webpack-bundle-analyzer "4.3.0" + +"@next/env@12.3.1": + version "12.3.1" + resolved "https://registry.npmjs.org/@next/env/-/env-12.3.1.tgz" + integrity sha512-9P9THmRFVKGKt9DYqeC2aKIxm8rlvkK38V1P1sRE7qyoPBIs8l9oo79QoSdPtOWfzkbDAVUqvbQGgTMsb8BtJg== + +"@next/eslint-plugin-next@12.3.4": + version "12.3.4" + resolved "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-12.3.4.tgz" + integrity sha512-BFwj8ykJY+zc1/jWANsDprDIu2MgwPOIKxNVnrKvPs+f5TPegrVnem8uScND+1veT4B7F6VeqgaNLFW1Hzl9Og== + dependencies: + glob "7.1.7" + +"@next/swc-darwin-arm64@12.3.1": + version "12.3.1" + resolved "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.3.1.tgz" + integrity sha512-hT/EBGNcu0ITiuWDYU9ur57Oa4LybD5DOQp4f22T6zLfpoBMfBibPtR8XktXmOyFHrL/6FC2p9ojdLZhWhvBHg== + +"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": + version "5.1.1-v1" + resolved "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz" + integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== + dependencies: + eslint-scope "5.1.1" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@peculiar/asn1-schema@^2.1.6", "@peculiar/asn1-schema@^2.3.0": + version "2.3.6" + resolved "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz" + integrity sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA== + dependencies: + asn1js "^3.0.5" + pvtsutils "^1.3.2" + tslib "^2.4.0" + +"@peculiar/json-schema@^1.1.12": + version "1.1.12" + resolved "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz" + integrity sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w== + dependencies: + tslib "^2.0.0" + +"@peculiar/webcrypto@^1.4.0": + version "1.4.1" + resolved "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.1.tgz" + integrity sha512-eK4C6WTNYxoI7JOabMoZICiyqRRtJB220bh0Mbj5RwRycleZf9BPyZoxsTvpP0FpmVS2aS13NKOuh5/tN3sIRw== + dependencies: + "@peculiar/asn1-schema" "^2.3.0" + "@peculiar/json-schema" "^1.1.12" + pvtsutils "^1.3.2" + tslib "^2.4.1" + webcrypto-core "^1.7.4" + +"@polka/url@^1.0.0-next.20": + version "1.0.0-next.21" + resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz" + integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== + +"@popperjs/core@^2.11.6": + version "2.11.6" + resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz" + integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== + +"@repeaterjs/repeater@^3.0.4", "@repeaterjs/repeater@3.0.4": + version "3.0.4" + resolved "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.4.tgz" + integrity sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA== + +"@rollup/plugin-babel@^5.2.0": + version "5.3.1" + resolved "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz" + integrity sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@rollup/pluginutils" "^3.1.0" + +"@rollup/plugin-node-resolve@^11.2.1": + version "11.2.1" + resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz" + integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg== + dependencies: + "@rollup/pluginutils" "^3.1.0" + "@types/resolve" "1.17.1" + builtin-modules "^3.1.0" + deepmerge "^4.2.2" + is-module "^1.0.0" + resolve "^1.19.0" + +"@rollup/plugin-replace@^2.4.1": + version "2.4.2" + resolved "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz" + integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== + dependencies: + "@rollup/pluginutils" "^3.1.0" + magic-string "^0.25.7" + +"@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + +"@rushstack/eslint-patch@^1.1.3": + version "1.2.0" + resolved "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz" + integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg== + +"@samverschueren/stream-to-observable@^0.3.0": + version "0.3.1" + resolved "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz" + integrity sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ== + dependencies: + any-observable "^0.3.0" + +"@sideway/address@^4.1.3": + version "4.1.4" + resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz" + integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@sideway/formula@^3.0.1": + version "3.0.1" + resolved "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz" + integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== + +"@sideway/pinpoint@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== + +"@surma/rollup-plugin-off-main-thread@^2.2.3": + version "2.2.3" + resolved "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz" + integrity sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ== + dependencies: + ejs "^3.1.6" + json5 "^2.2.0" + magic-string "^0.25.0" + string.prototype.matchall "^4.0.6" + +"@svgr/babel-plugin-add-jsx-attribute@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz" + integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ== + +"@svgr/babel-plugin-remove-jsx-attribute@*": + version "6.5.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.5.0.tgz" + integrity sha512-8zYdkym7qNyfXpWvu4yq46k41pyNM9SOstoWhKlm+IfdCE1DdnRKeMUPsWIEO/DEkaWxJ8T9esNdG3QwQ93jBA== + +"@svgr/babel-plugin-remove-jsx-empty-expression@*": + version "6.5.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.5.0.tgz" + integrity sha512-NFdxMq3xA42Kb1UbzCVxplUc0iqSyM9X8kopImvFnB+uSDdzIHOdbs1op8ofAvVRtbg4oZiyRl3fTYeKcOe9Iw== + +"@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz" + integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg== + +"@svgr/babel-plugin-svg-dynamic-title@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz" + integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw== + +"@svgr/babel-plugin-svg-em-dimensions@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz" + integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA== + +"@svgr/babel-plugin-transform-react-native-svg@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz" + integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg== + +"@svgr/babel-plugin-transform-svg-component@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz" + integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ== + +"@svgr/babel-preset@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz" + integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1" + "@svgr/babel-plugin-remove-jsx-attribute" "*" + "@svgr/babel-plugin-remove-jsx-empty-expression" "*" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.5.1" + "@svgr/babel-plugin-svg-dynamic-title" "^6.5.1" + "@svgr/babel-plugin-svg-em-dimensions" "^6.5.1" + "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" + "@svgr/babel-plugin-transform-svg-component" "^6.5.1" + +"@svgr/core@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz" + integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== + dependencies: + "@babel/core" "^7.19.6" + "@svgr/babel-preset" "^6.5.1" + "@svgr/plugin-jsx" "^6.5.1" + camelcase "^6.2.0" + cosmiconfig "^7.0.1" + +"@svgr/hast-util-to-babel-ast@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz" + integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw== + dependencies: + "@babel/types" "^7.20.0" + entities "^4.4.0" + +"@svgr/plugin-jsx@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz" + integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw== + dependencies: + "@babel/core" "^7.19.6" + "@svgr/babel-preset" "^6.5.1" + "@svgr/hast-util-to-babel-ast" "^6.5.1" + svg-parser "^2.0.4" + +"@svgr/plugin-svgo@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz" + integrity sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ== + dependencies: + cosmiconfig "^7.0.1" + deepmerge "^4.2.2" + svgo "^2.8.0" + +"@svgr/webpack@^6.3.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz" + integrity sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA== + dependencies: + "@babel/core" "^7.19.6" + "@babel/plugin-transform-react-constant-elements" "^7.18.12" + "@babel/preset-env" "^7.19.4" + "@babel/preset-react" "^7.18.6" + "@babel/preset-typescript" "^7.18.6" + "@svgr/core" "^6.5.1" + "@svgr/plugin-jsx" "^6.5.1" + "@svgr/plugin-svgo" "^6.5.1" + +"@swc/helpers@0.4.11": + version "0.4.11" + resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz" + integrity sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw== + dependencies: + tslib "^2.4.0" + +"@tanstack/match-sorter-utils@^8.7.0": + version "8.7.6" + resolved "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.7.6.tgz" + integrity sha512-2AMpRiA6QivHOUiBpQAVxjiHAA68Ei23ZUMNaRJrN6omWiSFLoYrxGcT6BXtuzp0Jw4h6HZCmGGIM/gbwebO2A== + dependencies: + remove-accents "0.4.2" + +"@tanstack/query-core@4.26.1": + version "4.26.1" + resolved "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.26.1.tgz" + integrity sha512-Zrx2pVQUP4ndnsu6+K/m8zerXSVY8QM+YSbxA1/jbBY21GeCd5oKfYl92oXPK0hPEUtoNuunIdiq0ZMqLos+Zg== + +"@tanstack/react-query-devtools@^4.12.0": + version "4.26.1" + resolved "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-4.26.1.tgz" + integrity sha512-ts2mA+fyFYFRi3Cee4xBk8Fx6waSFOM+yCkFqwJfGQRGjjTIMYMZPJv4wkv7vy12IVi1SYhL8au22LRKlXS1Zg== + dependencies: + "@tanstack/match-sorter-utils" "^8.7.0" + superjson "^1.10.0" + use-sync-external-store "^1.2.0" + +"@tanstack/react-query@^4.3.9": + version "4.26.1" + resolved "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.26.1.tgz" + integrity sha512-i3dnz4TOARGIXrXQ5P7S25Zfi4noii/bxhcwPurh2nrf5EUCcAt/95TB2HSmMweUBx206yIMWUMEQ7ptd6zwDg== + dependencies: + "@tanstack/query-core" "4.26.1" + use-sync-external-store "^1.2.0" + +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.3" + resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz" + integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": + version "7.20.0" + resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz" + integrity sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.4" + resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.18.3" + resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz" + integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== + dependencies: + "@babel/types" "^7.3.0" + +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + +"@types/glob@^7.1.1": + version "7.2.0" + resolved "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/graceful-fs@^4.1.2": + version "4.1.6" + resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz" + integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== + dependencies: + "@types/node" "*" + +"@types/hast@^2.0.0": + version "2.3.4" + resolved "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz" + integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g== + dependencies: + "@types/unist" "*" + +"@types/hoist-non-react-statics@^3.3.1": + version "3.3.1" + resolved "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz" + integrity sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA== + dependencies: + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + +"@types/imagesloaded@^4.1.2": + version "4.1.2" + resolved "https://registry.npmjs.org/@types/imagesloaded/-/imagesloaded-4.1.2.tgz" + integrity sha512-QxpoYhaYgv1qXwwPd6EnQFLkzrRZaecIafPsY51fnrsr+qIh0wrPVaOQirBaFl+FjFHk5BMfpf+6QHy0lRrcNw== + dependencies: + "@types/jquery" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.4" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jquery@*": + version "3.5.16" + resolved "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.16.tgz" + integrity sha512-bsI7y4ZgeMkmpG9OM710RRzDFp+w4P1RGiIt30C1mSBT+ExCleeh4HObwgArnDFELmRrOpXgSYN9VF1hj+f1lw== + dependencies: + "@types/sizzle" "*" + +"@types/js-yaml@^4.0.0": + version "4.0.5" + resolved "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz" + integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA== + +"@types/json-patch@0.0.30": + version "0.0.30" + resolved "https://registry.npmjs.org/@types/json-patch/-/json-patch-0.0.30.tgz" + integrity sha512-MhCUjojzDhVLnZnxwPwa+rETFRDQ0ffjxYdrqOP6TBO2O0/Z64PV5tNeYApo4bc4y4frbWOrRwv/eEkXlI13Rw== + +"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.11" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + +"@types/json-stable-stringify@^1.0.32": + version "1.0.34" + resolved "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz" + integrity sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/lodash@^4.14.182": + version "4.14.191" + resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz" + integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== + +"@types/mdast@^3.0.0": + version "3.0.10" + resolved "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz" + integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA== + dependencies: + "@types/unist" "*" + +"@types/minimatch@*": + version "5.1.2" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== + +"@types/node@*": + version "18.15.3" + resolved "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz" + integrity sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prop-types@*", "@types/prop-types@^15.7.5": + version "15.7.5" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" + integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== + +"@types/react-is@^16.7.1 || ^17.0.0": + version "17.0.3" + resolved "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz" + integrity sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw== + dependencies: + "@types/react" "*" + +"@types/react-transition-group@^4.4.5": + version "4.4.5" + resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz" + integrity sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@^18.0.15": + version "18.0.28" + resolved "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz" + integrity sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/resolve@1.17.1": + version "1.17.1" + resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz" + integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== + dependencies: + "@types/node" "*" + +"@types/scheduler@*": + version "0.16.2" + resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz" + integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== + +"@types/semver@^7.3.12": + version "7.3.13" + resolved "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz" + integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== + +"@types/sizzle@*": + version "2.3.3" + resolved "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz" + integrity sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ== + +"@types/trusted-types@^2.0.2": + version "2.0.3" + resolved "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz" + integrity sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g== + +"@types/unist@*", "@types/unist@^2.0.0": + version "2.0.6" + resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz" + integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== + +"@types/ws@^8.0.0": + version "8.5.4" + resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz" + integrity sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg== + dependencies: + "@types/node" "*" + +"@types/yargs-parser@*": + version "21.0.0" + resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + +"@types/yargs@^16.0.0": + version "16.0.5" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz" + integrity sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^5.0.0": + version "5.55.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.55.0.tgz" + integrity sha512-IZGc50rtbjk+xp5YQoJvmMPmJEYoC53SiKPXyqWfv15XoD2Y5Kju6zN0DwlmaGJp1Iw33JsWJcQ7nw0lGCGjVg== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.55.0" + "@typescript-eslint/type-utils" "5.55.0" + "@typescript-eslint/utils" "5.55.0" + debug "^4.3.4" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.21.0", "@typescript-eslint/parser@^5.32.0": + version "5.55.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.55.0.tgz" + integrity sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw== + dependencies: + "@typescript-eslint/scope-manager" "5.55.0" + "@typescript-eslint/types" "5.55.0" + "@typescript-eslint/typescript-estree" "5.55.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.55.0": + version "5.55.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.55.0.tgz" + integrity sha512-OK+cIO1ZGhJYNCL//a3ROpsd83psf4dUJ4j7pdNVzd5DmIk+ffkuUIX2vcZQbEW/IR41DYsfJTB19tpCboxQuw== + dependencies: + "@typescript-eslint/types" "5.55.0" + "@typescript-eslint/visitor-keys" "5.55.0" + +"@typescript-eslint/type-utils@5.55.0": + version "5.55.0" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.55.0.tgz" + integrity sha512-ObqxBgHIXj8rBNm0yh8oORFrICcJuZPZTqtAFh0oZQyr5DnAHZWfyw54RwpEEH+fD8suZaI0YxvWu5tYE/WswA== + dependencies: + "@typescript-eslint/typescript-estree" "5.55.0" + "@typescript-eslint/utils" "5.55.0" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.55.0": + version "5.55.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.55.0.tgz" + integrity sha512-M4iRh4AG1ChrOL6Y+mETEKGeDnT7Sparn6fhZ5LtVJF1909D5O4uqK+C5NPbLmpfZ0XIIxCdwzKiijpZUOvOug== + +"@typescript-eslint/typescript-estree@5.55.0": + version "5.55.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.55.0.tgz" + integrity sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ== + dependencies: + "@typescript-eslint/types" "5.55.0" + "@typescript-eslint/visitor-keys" "5.55.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.55.0": + version "5.55.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.55.0.tgz" + integrity sha512-FkW+i2pQKcpDC3AY6DU54yl8Lfl14FVGYDgBTyGKB75cCwV3KpkpTMFi9d9j2WAJ4271LR2HeC5SEWF/CZmmfw== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.55.0" + "@typescript-eslint/types" "5.55.0" + "@typescript-eslint/typescript-estree" "5.55.0" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.55.0": + version "5.55.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.55.0.tgz" + integrity sha512-q2dlHHwWgirKh1D3acnuApXG+VNXpEY5/AwRxDVuEQpxWaB0jCDe0jFMVMALJ3ebSfuOVE8/rMS+9ZOYGg1GWw== + dependencies: + "@typescript-eslint/types" "5.55.0" + eslint-visitor-keys "^3.3.0" + +"@whatwg-node/events@^0.0.2": + version "0.0.2" + resolved "https://registry.npmjs.org/@whatwg-node/events/-/events-0.0.2.tgz" + integrity sha512-WKj/lI4QjnLuPrim0cfO7i+HsDSXHxNv1y0CrJhdntuO3hxWZmnXCwNDnwOvry11OjRin6cgWNF+j/9Pn8TN4w== + +"@whatwg-node/fetch@^0.6.0": + version "0.6.9" + resolved "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.6.9.tgz" + integrity sha512-JfrBCJdMu9n9OARc0e/hPHcD98/8Nz1CKSdGYDg6VbObDkV/Ys30xe5i/wPOatYbxuvatj1kfWeHf7iNX3i17w== + dependencies: + "@peculiar/webcrypto" "^1.4.0" + "@whatwg-node/node-fetch" "^0.0.5" + busboy "^1.6.0" + urlpattern-polyfill "^6.0.2" + web-streams-polyfill "^3.2.1" + +"@whatwg-node/fetch@^0.8.0": + version "0.8.2" + resolved "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.8.2.tgz" + integrity sha512-6u1xGzFZvskJpQXhWreR9s1/4nsuY4iFRsTb4BC3NiDHmzgj/Hu1Ovt4iHs5KAjLzbnsjaQOI5f5bQPucqvPsQ== + dependencies: + "@peculiar/webcrypto" "^1.4.0" + "@whatwg-node/node-fetch" "^0.3.1" + busboy "^1.6.0" + urlpattern-polyfill "^6.0.2" + web-streams-polyfill "^3.2.1" + +"@whatwg-node/fetch@^0.8.1": + version "0.8.2" + resolved "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.8.2.tgz" + integrity sha512-6u1xGzFZvskJpQXhWreR9s1/4nsuY4iFRsTb4BC3NiDHmzgj/Hu1Ovt4iHs5KAjLzbnsjaQOI5f5bQPucqvPsQ== + dependencies: + "@peculiar/webcrypto" "^1.4.0" + "@whatwg-node/node-fetch" "^0.3.1" + busboy "^1.6.0" + urlpattern-polyfill "^6.0.2" + web-streams-polyfill "^3.2.1" + +"@whatwg-node/node-fetch@^0.0.5": + version "0.0.5" + resolved "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.0.5.tgz" + integrity sha512-hbccmaSZaItdsRuBKBEEhLoO+5oXJPxiyd0kG2xXd0Dh3Rt+vZn4pADHxuSiSHLd9CM+S2z4+IxlEGbWUgiz9g== + dependencies: + "@whatwg-node/events" "^0.0.2" + busboy "^1.6.0" + tslib "^2.3.1" + +"@whatwg-node/node-fetch@^0.3.1": + version "0.3.2" + resolved "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.3.2.tgz" + integrity sha512-MFPehIybgtPJG7vN4+wNk2i5ek4/qIl+1hzchGCdq7gObWsXWH+L+rvyazIoj8lo8Mt8EZeES8Cg+aPsl+7gPw== + dependencies: + "@whatwg-node/events" "^0.0.2" + busboy "^1.6.0" + fast-querystring "^1.1.1" + fast-url-parser "^1.1.3" + tslib "^2.3.1" + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.0.0, acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^8.0.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.8.0: + version "8.8.2" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== + +agent-base@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz" + integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== + dependencies: + es6-promisify "^5.0.0" + +agent-base@6: + version "6.0.2" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.6.0: + version "8.12.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-escapes@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: + version "4.3.2" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== + +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" + integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.0.0: + version "6.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +any-observable@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz" + integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog== + +anymatch@^3.0.3, anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +aria-query@^5.1.3: + version "5.1.3" + resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== + dependencies: + deep-equal "^2.0.5" + +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + +array-includes@^3.1.5, array-includes@^3.1.6: + version "3.1.6" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" + integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + is-string "^1.0.7" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" + integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== + dependencies: + array-uniq "^1.0.1" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" + integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== + +array.prototype.flat@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz" + integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz" + integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz" + integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.1.3" + +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +asn1js@^3.0.1, asn1js@^3.0.5: + version "3.0.5" + resolved "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz" + integrity sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ== + dependencies: + pvtsutils "^1.3.2" + pvutils "^1.1.3" + tslib "^2.4.0" + +ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" + integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async@^3.2.3: + version "3.2.4" + resolved "https://registry.npmjs.org/async/-/async-3.2.4.tgz" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +auto-bind@~4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz" + integrity sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +axe-core@^4.6.2: + version "4.6.3" + resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz" + integrity sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg== + +axios@^0.27.1: + version "0.27.2" + resolved "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz" + integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== + dependencies: + follow-redirects "^1.14.9" + form-data "^4.0.0" + +axobject-query@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz" + integrity sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg== + dependencies: + deep-equal "^2.0.5" + +babel-jest@^27.0.2: + version "27.5.1" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz" + integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== + dependencies: + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^27.5.1" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-loader@^8.2.5: + version "8.3.0" + resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz" + integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^2.0.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-import@^1.13.3: + version "1.13.6" + resolved "https://registry.npmjs.org/babel-plugin-import/-/babel-plugin-import-1.13.6.tgz" + integrity sha512-N7FYnGh0DFsvDRkAPsvFq/metVfVD7P2h1rokOPpEH4cZbdRHCW+2jbXt0nnuqowkm/xhh2ww1anIdEpfYa7ZA== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz" + integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + +babel-plugin-polyfill-corejs2@^0.3.3: + version "0.3.3" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz" + integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== + dependencies: + "@babel/compat-data" "^7.17.7" + "@babel/helper-define-polyfill-provider" "^0.3.3" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz" + integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.3" + core-js-compat "^3.25.1" + +babel-plugin-polyfill-regenerator@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz" + integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.3" + +babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0: + version "7.0.0-beta.0" + resolved "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz" + integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ== + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-fbjs@^3.4.0: + version "3.4.0" + resolved "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz" + integrity sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow== + dependencies: + "@babel/plugin-proposal-class-properties" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0" + "@babel/plugin-syntax-class-properties" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-block-scoped-functions" "^7.0.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.0.0" + "@babel/plugin-transform-flow-strip-types" "^7.0.0" + "@babel/plugin-transform-for-of" "^7.0.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-member-expression-literals" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-object-super" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-property-literals" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-template-literals" "^7.0.0" + babel-plugin-syntax-trailing-function-commas "^7.0.0-beta.0" + +babel-preset-jest@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz" + integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== + dependencies: + babel-plugin-jest-hoist "^27.5.1" + babel-preset-current-node-syntax "^1.0.0" + +bail@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz" + integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bfj@^7.0.2: + version "7.0.2" + resolved "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz" + integrity sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw== + dependencies: + bluebird "^3.5.5" + check-types "^11.1.1" + hoopy "^0.1.4" + tryer "^1.0.1" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +bluebird@^3.5.1, bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.21.3, browserslist@^4.21.5: + version "4.21.5" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz" + integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== + dependencies: + caniuse-lite "^1.0.30001449" + electron-to-chromium "^1.4.284" + node-releases "^2.0.8" + update-browserslist-db "^1.0.10" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +builtin-modules@^3.1.0: + version "3.3.0" + resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + +busboy@^1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== + dependencies: + streamsearch "^1.1.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001449: + version "1.0.30001467" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001467.tgz" + integrity sha512-cEdN/5e+RPikvl9AHm4uuLXxeCNq8rFsQ+lPHTfe/OtypP3WwnVVbjn+6uBV7PaFL6xUFzTh+sSCOz1rKhcO+Q== + +capital-case@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz" + integrity sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + upper-case-first "^2.0.2" + +chalk@^1.0.0, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.4.1: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.2: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.1.1: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz" + integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== + +change-case-all@1.0.14: + version "1.0.14" + resolved "https://registry.npmjs.org/change-case-all/-/change-case-all-1.0.14.tgz" + integrity sha512-CWVm2uT7dmSHdO/z1CXT/n47mWonyypzBbuCy5tN7uMg22BsfkhwT6oHmFCAk+gL1LOOxhdbB9SZz3J1KTY3gA== + dependencies: + change-case "^4.1.2" + is-lower-case "^2.0.2" + is-upper-case "^2.0.2" + lower-case "^2.0.2" + lower-case-first "^2.0.2" + sponge-case "^1.0.1" + swap-case "^2.0.2" + title-case "^3.0.3" + upper-case "^2.0.2" + upper-case-first "^2.0.2" + +change-case-all@1.0.15: + version "1.0.15" + resolved "https://registry.npmjs.org/change-case-all/-/change-case-all-1.0.15.tgz" + integrity sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ== + dependencies: + change-case "^4.1.2" + is-lower-case "^2.0.2" + is-upper-case "^2.0.2" + lower-case "^2.0.2" + lower-case-first "^2.0.2" + sponge-case "^1.0.1" + swap-case "^2.0.2" + title-case "^3.0.3" + upper-case "^2.0.2" + upper-case-first "^2.0.2" + +change-case@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz" + integrity sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A== + dependencies: + camel-case "^4.1.2" + capital-case "^1.0.4" + constant-case "^3.0.4" + dot-case "^3.0.4" + header-case "^2.0.4" + no-case "^3.0.4" + param-case "^3.0.4" + pascal-case "^3.1.2" + path-case "^3.0.4" + sentence-case "^3.0.4" + snake-case "^3.0.4" + tslib "^2.0.3" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +check-types@^11.1.1: + version "11.2.2" + resolved "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz" + integrity sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA== + +chokidar@^3.5.2: + version "3.5.3" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +ci-info@^3.2.0: + version "3.8.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz" + integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== + +circular-dependency-plugin@^5.2.2: + version "5.2.2" + resolved "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz" + integrity sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ== + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +clean-webpack-plugin@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz" + integrity sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w== + dependencies: + del "^4.1.1" + +cli-cursor@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" + integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" + integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^2.5.0: + version "2.7.0" + resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz" + integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== + +cli-table3@^0.6.0: + version "0.6.3" + resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +cli-truncate@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz" + integrity sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg== + dependencies: + slice-ansi "0.0.4" + string-width "^1.0.1" + +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + +cli-truncate@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz" + integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== + dependencies: + slice-ansi "^5.0.0" + string-width "^5.0.0" + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +client-only@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz" + integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +clsx@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" + integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +colorette@^2.0.16, colorette@^2.0.19: + version "2.0.19" + resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz" + integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +comma-separated-tokens@^2.0.0: + version "2.0.3" + resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" + integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== + +commander@^10.0.0: + version "10.0.0" + resolved "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz" + integrity sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^6.2.0: + version "6.2.1" + resolved "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +common-tags@^1.8.0, common-tags@1.8.2: + version "1.8.2" + resolved "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +constant-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz" + integrity sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + upper-case "^2.0.2" + +contentful-batch-libs@^9.4.2: + version "9.4.2" + resolved "https://registry.npmjs.org/contentful-batch-libs/-/contentful-batch-libs-9.4.2.tgz" + integrity sha512-G58ykBrAycBnfGEawyU2xvVnbPt32EghJ6kZo/JrKdGXYAWm+FnpeJJV0lpABvApExzoWc3ChH6eHU8X+M/w4g== + dependencies: + bfj "^7.0.2" + date-fns "^2.28.0" + figures "^3.2.0" + https-proxy-agent "^3.0.0" + lodash.clonedeep "^4.5.0" + uuid "^8.3.2" + +contentful-import@^8.3.2: + version "8.5.35" + resolved "https://registry.npmjs.org/contentful-import/-/contentful-import-8.5.35.tgz" + integrity sha512-LbQ6RLIfP5/FTP8K0ji6YbPm+YvR4F7A/djj2xemLVytvH2MN3dBVWL0qA/CBBpeorSZD3uufNZhIrrybuUjoA== + dependencies: + "@discoveryjs/json-ext" "^0.5.7" + bluebird "^3.5.1" + cli-table3 "^0.6.0" + contentful-batch-libs "^9.4.2" + contentful-management "^10.30.0" + date-fns "^2.29.3" + joi "^17.8.3" + listr "^0.14.1" + listr-update-renderer "^0.5.0" + listr-verbose-renderer "^0.6.0" + lodash "^4.17.10" + p-queue "^6.6.2" + yargs "^17.7.1" + +contentful-management@^10.30.0: + version "10.30.0" + resolved "https://registry.npmjs.org/contentful-management/-/contentful-management-10.30.0.tgz" + integrity sha512-CYeZqezYP7q++EuHgCHKakemsJqCHC784uOWyYp00Rc6+iMw5glK8GjwksbgUsbnZFfCywGyZCj4Xsd4lZ0ZaQ== + dependencies: + "@types/json-patch" "0.0.30" + axios "^0.27.1" + contentful-sdk-core "^7.0.1" + fast-copy "^3.0.0" + lodash.isplainobject "^4.0.6" + type-fest "^3.0.0" + +contentful-sdk-core@^7.0.1: + version "7.0.6" + resolved "https://registry.npmjs.org/contentful-sdk-core/-/contentful-sdk-core-7.0.6.tgz" + integrity sha512-xG4+a4p7VGCuxxUWh8t3O3V6gEcPP/aSE/KkvPRMYkm8PbxWYTAYG3c5pn5lmtj1QKcsY7yjiLWRXtP4qzem3Q== + dependencies: + fast-copy "^2.1.7" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + p-throttle "^4.1.1" + qs "^6.9.4" + +convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +copy-anything@^3.0.2: + version "3.0.3" + resolved "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.3.tgz" + integrity sha512-fpW2W/BqEzqPp29QS+MwwfisHCQZtiduTe/m8idFo0xbti9fIZ2WVhAsCv4ggFVH3AgCkVdpoOCtQC6gBrdhjw== + dependencies: + is-what "^4.1.8" + +core-js-compat@^3.25.1: + version "3.29.1" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.29.1.tgz" + integrity sha512-QmchCua884D8wWskMX8tW5ydINzd8oSJVx38lx/pVkFGqztxt73GYre3pm/hyYq8bPf+MW5In4I/uRShFDsbrA== + dependencies: + browserslist "^4.21.5" + +core-js@^3: + version "3.29.1" + resolved "https://registry.npmjs.org/core-js/-/core-js-3.29.1.tgz" + integrity sha512-+jwgnhg6cQxKYIIjGtAHq2nwUOolo9eoFZ4sHfUH09BLXBgxnH4gA0zEd+t+BO2cNB8idaBtZFcFTRjQJRJmAw== + +cosmiconfig-typescript-loader@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz" + integrity sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q== + +cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: + version "7.1.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cosmiconfig@8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.0.0.tgz" + integrity sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ== + dependencies: + import-fresh "^3.2.1" + js-yaml "^4.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-fetch@^3.1.5: + version "3.1.5" + resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== + dependencies: + node-fetch "2.6.7" + +cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" + integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-vendor@^2.0.8: + version "2.0.8" + resolved "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz" + integrity sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ== + dependencies: + "@babel/runtime" "^7.8.3" + is-in-browser "^1.0.2" + +css-what@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +csso@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +csstype@^3.0.2, csstype@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz" + integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== + +damerau-levenshtein@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + +dataloader@^2.2.2, dataloader@2.2.2: + version "2.2.2" + resolved "https://registry.npmjs.org/dataloader/-/dataloader-2.2.2.tgz" + integrity sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g== + +date-fns@^1.27.2: + version "1.30.1" + resolved "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz" + integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== + +date-fns@^2.0.1, date-fns@^2.28.0, date-fns@^2.29.3: + version "2.29.3" + resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz" + integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA== + +debounce@^1.2.0: + version "1.2.1" + resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz" + integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== + +debug@^3.1.0: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decode-uri-component@^0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +deep-equal@^2.0.5: + version "2.2.0" + resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz" + integrity sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw== + dependencies: + call-bind "^1.0.2" + es-get-iterator "^1.1.2" + get-intrinsic "^1.1.3" + is-arguments "^1.1.1" + is-array-buffer "^3.0.1" + is-date-object "^1.0.5" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + isarray "^2.0.5" + object-is "^1.1.5" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + side-channel "^1.0.4" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.9" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +define-properties@^1.1.3, define-properties@^1.1.4: + version "1.2.0" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +del@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/del/-/del-4.1.1.tgz" + integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== + dependencies: + "@types/glob" "^7.1.1" + globby "^6.1.0" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +dependency-graph@^0.11.0: + version "0.11.0" + resolved "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz" + integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg== + +detect-indent@^6.0.0: + version "6.1.0" + resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" + integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-helpers@^5.0.1: + version "5.2.1" + resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dotenv@^16.0.0, dotenv@^16.0.1: + version "16.0.3" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz" + integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== + +dset@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/dset/-/dset-3.1.2.tgz" + integrity sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q== + +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +ejs@^3.1.6: + version "3.1.9" + resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz" + integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== + dependencies: + jake "^10.8.5" + +electron-to-chromium@^1.4.284: + version "1.4.332" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.332.tgz" + integrity sha512-c1Vbv5tuUlBFp0mb3mCIjw+REEsgthRgNE8BlbEDKmvzb8rxjcVki6OkQP83vLN34s0XCxpSkq7AZNep1a6xhw== + +elegant-spinner@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz" + integrity sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +entities@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz" + integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.19.0, es-abstract@^1.20.4: + version "1.21.2" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz" + integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== + dependencies: + array-buffer-byte-length "^1.0.0" + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.2.0" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.10" + is-weakref "^1.0.2" + object-inspect "^1.12.3" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.7" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.9" + +es-get-iterator@^1.1.2: + version "1.1.3" + resolved "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz" + integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + is-arguments "^1.1.1" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.7" + isarray "^2.0.5" + stop-iteration-iterator "^1.0.0" + +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-promise@^4.0.3: + version "4.2.8" + resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz" + integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== + dependencies: + es6-promise "^4.0.3" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-next@^12.3.1: + version "12.3.4" + resolved "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-12.3.4.tgz" + integrity sha512-WuT3gvgi7Bwz00AOmKGhOeqnyA5P29Cdyr0iVjLyfDbk+FANQKcOjFUTZIdyYfe5Tq1x4TGcmoe4CwctGvFjHQ== + dependencies: + "@next/eslint-plugin-next" "12.3.4" + "@rushstack/eslint-patch" "^1.1.3" + "@typescript-eslint/parser" "^5.21.0" + eslint-import-resolver-node "^0.3.6" + eslint-import-resolver-typescript "^2.7.1" + eslint-plugin-import "^2.26.0" + eslint-plugin-jsx-a11y "^6.5.1" + eslint-plugin-react "^7.31.7" + eslint-plugin-react-hooks "^4.5.0" + +eslint-config-prettier@^8.3.0: + version "8.7.0" + resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.7.0.tgz" + integrity sha512-HHVXLSlVUhMSmyW4ZzEuvjpwqamgmlfkutD53cYXLikh4pt/modINRcCIApJ84czDxM4GZInwUrromsDdTImTA== + +eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.7: + version "0.3.7" + resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz" + integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== + dependencies: + debug "^3.2.7" + is-core-module "^2.11.0" + resolve "^1.22.1" + +eslint-import-resolver-typescript@^2.4.0, eslint-import-resolver-typescript@^2.7.1: + version "2.7.1" + resolved "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz" + integrity sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ== + dependencies: + debug "^4.3.4" + glob "^7.2.0" + is-glob "^4.0.3" + resolve "^1.22.0" + tsconfig-paths "^3.14.1" + +eslint-module-utils@^2.7.4: + version "2.7.4" + resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz" + integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== + dependencies: + debug "^3.2.7" + +eslint-plugin-import@^2.23.4, eslint-plugin-import@^2.26.0: + version "2.27.5" + resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz" + integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + array.prototype.flatmap "^1.3.1" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.7" + eslint-module-utils "^2.7.4" + has "^1.0.3" + is-core-module "^2.11.0" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.values "^1.1.6" + resolve "^1.22.1" + semver "^6.3.0" + tsconfig-paths "^3.14.1" + +eslint-plugin-jsx-a11y@^6.4.1, eslint-plugin-jsx-a11y@^6.5.1: + version "6.7.1" + resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz" + integrity sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA== + dependencies: + "@babel/runtime" "^7.20.7" + aria-query "^5.1.3" + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + ast-types-flow "^0.0.7" + axe-core "^4.6.2" + axobject-query "^3.1.1" + damerau-levenshtein "^1.0.8" + emoji-regex "^9.2.2" + has "^1.0.3" + jsx-ast-utils "^3.3.3" + language-tags "=1.0.5" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + semver "^6.3.0" + +eslint-plugin-prettier@^3.4.0: + version "3.4.1" + resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz" + integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-react-hooks@^4.2.0, eslint-plugin-react-hooks@^4.5.0: + version "4.6.0" + resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" + integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== + +eslint-plugin-react@^7.22.0, eslint-plugin-react@^7.31.7: + version "7.32.2" + resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz" + integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== + dependencies: + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" + prop-types "^15.8.1" + resolve "^2.0.0-next.4" + semver "^6.3.0" + string.prototype.matchall "^4.0.8" + +eslint-scope@^5.1.1, eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.1.1: + version "7.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint@8.22.0: + version "8.22.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.22.0.tgz" + integrity sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA== + dependencies: + "@eslint/eslintrc" "^1.3.0" + "@humanwhocodes/config-array" "^0.10.4" + "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.3.3" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + functional-red-black-tree "^1.0.1" + glob-parent "^6.0.1" + globals "^13.15.0" + globby "^11.1.0" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.1" + regexpp "^3.2.0" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^9.3.3, espree@^9.4.0: + version "9.5.0" + resolved "https://registry.npmjs.org/espree/-/espree-9.5.0.tgz" + integrity sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw== + dependencies: + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.3.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + version "1.5.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eventemitter3@^4.0.4: + version "4.0.7" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +execa@^7.0.0: + version "7.1.1" + resolved "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz" + integrity sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.1" + human-signals "^4.3.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^3.0.7" + strip-final-newline "^3.0.0" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extract-files@^11.0.0: + version "11.0.0" + resolved "https://registry.npmjs.org/extract-files/-/extract-files-11.0.0.tgz" + integrity sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ== + +extract-files@^9.0.0: + version "9.0.0" + resolved "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz" + integrity sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ== + +fast-copy@^2.1.7: + version "2.1.7" + resolved "https://registry.npmjs.org/fast-copy/-/fast-copy-2.1.7.tgz" + integrity sha512-ozrGwyuCTAy7YgFCua8rmqmytECYk/JYAMXcswOcm0qvGoE3tPb7ivBeIHTOK2DiapBhDZgacIhzhQIKU5TCfA== + +fast-copy@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.1.tgz" + integrity sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA== + +fast-decode-uri-component@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz" + integrity sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + +fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-querystring@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.1.tgz" + integrity sha512-qR2r+e3HvhEFmpdHMv//U8FnFlnYjaC6QKDuaXALDkw2kvHO8WDjxH+f/rHGR4Me4pnk8p9JAkRNTjYHAKRn2Q== + dependencies: + fast-decode-uri-component "^1.0.1" + +fast-url-parser@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz" + integrity sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ== + dependencies: + punycode "^1.3.2" + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +fbjs-css-vars@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz" + integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== + +fbjs@^3.0.0: + version "3.0.4" + resolved "https://registry.npmjs.org/fbjs/-/fbjs-3.0.4.tgz" + integrity sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ== + dependencies: + cross-fetch "^3.1.5" + fbjs-css-vars "^1.0.0" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.30" + +figures@^1.7.0: + version "1.7.0" + resolved "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" + integrity sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ== + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz" + integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== + dependencies: + escape-string-regexp "^1.0.5" + +figures@^3.0.0, figures@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +filelist@^1.0.1: + version "1.0.4" + resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +follow-redirects@^1.14.9: + version "1.15.2" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fs-extra@^9.0.1: + version "9.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.3.2, fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz" + integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +glob-parent@^5.1.2, glob-parent@^6.0.1, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.0.3, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@7.1.7: + version "7.1.7" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.15.0: + version "13.20.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + dependencies: + type-fest "^0.20.2" + +globals@^13.19.0: + version "13.20.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^11.0.3, globby@^11.0.4, globby@^11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz" + integrity sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw== + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +graphql-config@^4.4.0: + version "4.5.0" + resolved "https://registry.npmjs.org/graphql-config/-/graphql-config-4.5.0.tgz" + integrity sha512-x6D0/cftpLUJ0Ch1e5sj1TZn6Wcxx4oMfmhaG9shM0DKajA9iR+j1z86GSTQ19fShbGvrSSvbIQsHku6aQ6BBw== + dependencies: + "@graphql-tools/graphql-file-loader" "^7.3.7" + "@graphql-tools/json-file-loader" "^7.3.7" + "@graphql-tools/load" "^7.5.5" + "@graphql-tools/merge" "^8.2.6" + "@graphql-tools/url-loader" "^7.9.7" + "@graphql-tools/utils" "^9.0.0" + cosmiconfig "8.0.0" + jiti "1.17.1" + minimatch "4.2.3" + string-env-interpolation "1.0.1" + tslib "^2.4.0" + +graphql-request@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/graphql-request/-/graphql-request-5.2.0.tgz" + integrity sha512-pLhKIvnMyBERL0dtFI3medKqWOz/RhHdcgbZ+hMMIb32mEPa5MJSzS4AuXxfI4sRAu6JVVk5tvXuGfCWl9JYWQ== + dependencies: + "@graphql-typed-document-node/core" "^3.1.1" + cross-fetch "^3.1.5" + extract-files "^9.0.0" + form-data "^3.0.0" + +graphql-tag@^2.11.0: + version "2.12.6" + resolved "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz" + integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== + dependencies: + tslib "^2.1.0" + +graphql-ws@5.12.0: + version "5.12.0" + resolved "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.12.0.tgz" + integrity sha512-PA3ImUp8utrpEjoxBMhvxsjkStvFEdU0E1gEBREt8HZIWkxOUymwJBhFnBL7t/iHhUq1GVPeZevPinkZFENxTw== + +graphql@^16.5.0: + version "16.6.0" + resolved "https://registry.npmjs.org/graphql/-/graphql-16.6.0.tgz" + integrity sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw== + +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hast-to-hyperscript@^10.0.0: + version "10.0.3" + resolved "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-10.0.3.tgz" + integrity sha512-NuBoUStp4fRwmvlfbidlEiRSTk0gSHm+97q4Xn9CJ10HO+Py7nlTuDi6RhM1qLOureukGrCXLG7AAxaGqqyslQ== + dependencies: + "@types/unist" "^2.0.0" + comma-separated-tokens "^2.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + style-to-object "^0.4.1" + web-namespaces "^2.0.0" + +hast-util-from-parse5@^7.0.0: + version "7.1.2" + resolved "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz" + integrity sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw== + dependencies: + "@types/hast" "^2.0.0" + "@types/unist" "^2.0.0" + hastscript "^7.0.0" + property-information "^6.0.0" + vfile "^5.0.0" + vfile-location "^4.0.0" + web-namespaces "^2.0.0" + +hast-util-parse-selector@^3.0.0: + version "3.1.1" + resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz" + integrity sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA== + dependencies: + "@types/hast" "^2.0.0" + +hast-util-whitespace@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz" + integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== + +hastscript@^7.0.0: + version "7.2.0" + resolved "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz" + integrity sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw== + dependencies: + "@types/hast" "^2.0.0" + comma-separated-tokens "^2.0.0" + hast-util-parse-selector "^3.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + +header-case@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz" + integrity sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q== + dependencies: + capital-case "^1.0.4" + tslib "^2.0.3" + +hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +hoopy@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz" + integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== + +html-parse-stringify@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz" + integrity sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg== + dependencies: + void-elements "3.1.0" + +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + +https-proxy-agent@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz" + integrity sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg== + dependencies: + agent-base "^4.3.0" + debug "^3.1.0" + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-4.3.0.tgz" + integrity sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ== + +husky@^8.0.0: + version "8.0.3" + resolved "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz" + integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== + +hyphenate-style-name@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz" + integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== + +i18next-fs-backend@^1.1.5: + version "1.2.0" + resolved "https://registry.npmjs.org/i18next-fs-backend/-/i18next-fs-backend-1.2.0.tgz" + integrity sha512-pUx3AcgXCbur0jpFA7U67Z2RJflAcIi698Y8VL+phdOqUchahxriV3Cs+M6UkPNQSS/zPEzWLfdJ8EgjB7HVxg== + +i18next@^21.9.1, i18next@^21.9.2: + version "21.10.0" + resolved "https://registry.npmjs.org/i18next/-/i18next-21.10.0.tgz" + integrity sha512-YeuIBmFsGjUfO3qBmMOc0rQaun4mIpGKET5WDwvu8lU7gvwpcariZLNtL0Fzj+zazcHUrlXHiptcFhBMFaxzfg== + dependencies: + "@babel/runtime" "^7.17.2" + +iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +idb@^7.0.1: + version "7.1.1" + resolved "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz" + integrity sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ== + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +immutable@~3.7.6: + version "3.7.6" + resolved "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz" + integrity sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/import-from/-/import-from-4.0.0.tgz" + integrity sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ== + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz" + integrity sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@^2.0.3, inherits@^2.0.4, inherits@2: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inline-style-parser@0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" + integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== + +inquirer@^8.0.0: + version "8.2.5" + resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz" + integrity sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^7.0.0" + +internal-slot@^1.0.3, internal-slot@^1.0.4, internal-slot@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== + dependencies: + get-intrinsic "^1.2.0" + has "^1.0.3" + side-channel "^1.0.4" + +intersection-observer@^0.12.2: + version "0.12.2" + resolved "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.12.2.tgz" + integrity sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg== + +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + +is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^2.0.0: + version "2.0.5" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.11.0, is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-fullwidth-code-point@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" + integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1, is-glob@4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-in-browser@^1.0.2, is-in-browser@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz" + integrity sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g== + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/is-lower-case/-/is-lower-case-2.0.2.tgz" + integrity sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ== + dependencies: + tslib "^2.0.3" + +is-map@^2.0.1, is-map@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz" + integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== + +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz" + integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" + integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== + +is-observable@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz" + integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA== + dependencies: + symbol-observable "^1.1.0" + +is-path-cwd@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz" + integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz" + integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== + dependencies: + path-is-inside "^1.0.2" + +is-plain-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== + +is-promise@^2.1.0: + version "2.2.2" + resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" + integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== + +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + +is-set@^2.0.1, is-set@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz" + integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.9: + version "1.1.10" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz" + integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-upper-case@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/is-upper-case/-/is-upper-case-2.0.2.tgz" + integrity sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ== + dependencies: + tslib "^2.0.3" + +is-weakmap@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz" + integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-weakset@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz" + integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +is-what@^4.1.8: + version "4.1.8" + resolved "https://registry.npmjs.org/is-what/-/is-what-4.1.8.tgz" + integrity sha512-yq8gMao5upkPoGEU9LsB2P+K3Kt8Q3fQFCGyNCWOAnJAMzEXVV9drYb0TXr42TTliLLhKIBvulgAXgtLLnwzGA== + +is-windows@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isomorphic-fetch@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz" + integrity sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA== + dependencies: + node-fetch "^2.6.1" + whatwg-fetch "^3.4.1" + +isomorphic-ws@^5.0.0, isomorphic-ws@5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz" + integrity sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== + +istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +jake@^10.8.5: + version "10.8.5" + resolved "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz" + integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.1" + minimatch "^3.0.4" + +jest-haste-map@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz" + integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== + dependencies: + "@jest/types" "^27.5.1" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^27.5.1" + jest-serializer "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.3.2" + +jest-regex-util@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz" + integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== + +jest-serializer@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz" + integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.9" + +jest-util@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz" + integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-worker@^26.2.1: + version "26.6.2" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest-worker@^27.4.5, jest-worker@^27.5.1: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jiti@1.17.1: + version "1.17.1" + resolved "https://registry.npmjs.org/jiti/-/jiti-1.17.1.tgz" + integrity sha512-NZIITw8uZQFuzQimqjUxIrIcEdxYDFIe/0xYfIlVXTkiBjjyBEvgasj5bb0/cHtPRD/NziPbT312sFrkI5ALpw== + +joi@^17.8.3: + version "17.8.4" + resolved "https://registry.npmjs.org/joi/-/joi-17.8.4.tgz" + integrity sha512-jjdRHb5WtL+KgSHvOULQEPPv4kcl+ixd1ybOFQq3rWLgEEqc03QMmilodL0GVJE14U/SQDXkUhQUSZANGDH/AA== + dependencies: + "@hapi/hoek" "^9.0.0" + "@hapi/topo" "^5.0.0" + "@sideway/address" "^4.1.3" + "@sideway/formula" "^3.0.1" + "@sideway/pinpoint" "^2.0.0" + +jose@^4.11.4: + version "4.13.1" + resolved "https://registry.npmjs.org/jose/-/jose-4.13.1.tgz" + integrity sha512-MSJQC5vXco5Br38mzaQKiq9mwt7lwj2eXpgpRyQYNHYt2lq1PjkWa7DLXX0WVcQLE9HhMh3jPiufS7fhJf+CLQ== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.0.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stable-stringify@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz" + integrity sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g== + dependencies: + jsonify "^0.0.1" + +json-to-pretty-yaml@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/json-to-pretty-yaml/-/json-to-pretty-yaml-1.2.2.tgz" + integrity sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A== + dependencies: + remedial "^1.0.7" + remove-trailing-spaces "^1.0.6" + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2, json5@^2.2.0, json5@^2.2.2: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@^0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz" + integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== + +jsonpointer@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz" + integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== + +jss-plugin-camel-case@^10.10.0: + version "10.10.0" + resolved "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz" + integrity sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw== + dependencies: + "@babel/runtime" "^7.3.1" + hyphenate-style-name "^1.0.3" + jss "10.10.0" + +jss-plugin-default-unit@^10.10.0: + version "10.10.0" + resolved "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz" + integrity sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.10.0" + +jss-plugin-global@^10.10.0: + version "10.10.0" + resolved "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz" + integrity sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.10.0" + +jss-plugin-nested@^10.10.0: + version "10.10.0" + resolved "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz" + integrity sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.10.0" + tiny-warning "^1.0.2" + +jss-plugin-props-sort@^10.10.0: + version "10.10.0" + resolved "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz" + integrity sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.10.0" + +jss-plugin-rule-value-function@^10.10.0: + version "10.10.0" + resolved "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz" + integrity sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g== + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.10.0" + tiny-warning "^1.0.2" + +jss-plugin-vendor-prefixer@^10.10.0: + version "10.10.0" + resolved "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz" + integrity sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg== + dependencies: + "@babel/runtime" "^7.3.1" + css-vendor "^2.0.8" + jss "10.10.0" + +jss@^10.10.0, jss@10.10.0: + version "10.10.0" + resolved "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz" + integrity sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw== + dependencies: + "@babel/runtime" "^7.3.1" + csstype "^3.0.2" + is-in-browser "^1.1.3" + tiny-warning "^1.0.2" + +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3: + version "3.3.3" + resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz" + integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== + dependencies: + array-includes "^3.1.5" + object.assign "^4.1.3" + +language-subtag-registry@~0.3.2: + version "0.3.22" + resolved "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz" + integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== + +language-tags@=1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz" + integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== + dependencies: + language-subtag-registry "~0.3.2" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lilconfig@2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +lint-staged@^13.0.3: + version "13.2.0" + resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-13.2.0.tgz" + integrity sha512-GbyK5iWinax5Dfw5obm2g2ccUiZXNGtAS4mCbJ0Lv4rq6iEtfBSjOYdcbOtAIFtM114t0vdpViDDetjVTSd8Vw== + dependencies: + chalk "5.2.0" + cli-truncate "^3.1.0" + commander "^10.0.0" + debug "^4.3.4" + execa "^7.0.0" + lilconfig "2.1.0" + listr2 "^5.0.7" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-inspect "^1.12.3" + pidtree "^0.6.0" + string-argv "^0.3.1" + yaml "^2.2.1" + +listr-silent-renderer@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz" + integrity sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA== + +listr-update-renderer@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz" + integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA== + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + elegant-spinner "^1.0.1" + figures "^1.7.0" + indent-string "^3.0.0" + log-symbols "^1.0.2" + log-update "^2.3.0" + strip-ansi "^3.0.1" + +listr-verbose-renderer@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz" + integrity sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw== + dependencies: + chalk "^2.4.1" + cli-cursor "^2.1.0" + date-fns "^1.27.2" + figures "^2.0.0" + +listr-verbose-renderer@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.6.0.tgz" + integrity sha512-P3bA/giMu432bs3gHiKXKOIHlWanCIlRhbhCfgKNgCoyvTvZsdbfkgX1BvThYXhm36cS8pOX3Z5vxXBFZC+NQw== + dependencies: + chalk "^2.4.1" + cli-cursor "^2.1.0" + date-fns "^2.0.1" + figures "^2.0.0" + +listr@^0.14.1: + version "0.14.3" + resolved "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz" + integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA== + dependencies: + "@samverschueren/stream-to-observable" "^0.3.0" + is-observable "^1.1.0" + is-promise "^2.1.0" + is-stream "^1.1.0" + listr-silent-renderer "^1.1.1" + listr-update-renderer "^0.5.0" + listr-verbose-renderer "^0.5.0" + p-map "^2.0.0" + rxjs "^6.3.3" + +listr2@^4.0.5: + version "4.0.5" + resolved "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz" + integrity sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.16" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.5.5" + through "^2.3.8" + wrap-ansi "^7.0.0" + +listr2@^5.0.7: + version "5.0.8" + resolved "https://registry.npmjs.org/listr2/-/listr2-5.0.8.tgz" + integrity sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.19" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.8.0" + through "^2.3.8" + wrap-ansi "^7.0.0" + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" + integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz" + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + +lodash@^4.17.10, lodash@^4.17.20, lodash@^4.17.21, lodash@~4.17.0: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz" + integrity sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ== + dependencies: + chalk "^1.0.0" + +log-symbols@^4.0.0, log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-update@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz" + integrity sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg== + dependencies: + ansi-escapes "^3.0.0" + cli-cursor "^2.0.0" + wrap-ansi "^3.0.1" + +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== + dependencies: + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case-first@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/lower-case-first/-/lower-case-first-2.0.2.tgz" + integrity sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg== + dependencies: + tslib "^2.0.3" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +magic-string@^0.25.0, magic-string@^0.25.7: + version "0.25.9" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz" + integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== + dependencies: + sourcemap-codec "^1.4.8" + +make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +map-cache@^0.2.0: + version "0.2.2" + resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" + integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +meros@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/meros/-/meros-1.2.1.tgz" + integrity sha512-R2f/jxYqCAGI19KhAvaxSOxALBMkaXWH2a7rOyqQw+ZmizX5bKkEYWLzdhC+U82ZVVPVp6MCXe3EkVligh+12g== + +micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-4.2.3.tgz" + integrity sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mrmime@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz" + integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== + +ms@^2.1.1, ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +nanoid@^3.3.4: + version "3.3.4" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +next-compose-plugins@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/next-compose-plugins/-/next-compose-plugins-2.2.1.tgz" + integrity sha512-OjJ+fV15FXO2uQXQagLD4C0abYErBjyjE0I0FHpOEIB8upw0hg1ldFP6cqHTJBH1cZqy96OeR3u1dJ+Ez2D4Bg== + +next-i18next@^12.0.1: + version "12.1.0" + resolved "https://registry.npmjs.org/next-i18next/-/next-i18next-12.1.0.tgz" + integrity sha512-rhos/PVULmZPdC0jpec2MDBQMXdGZ3+Mbh/tZfrDtjgnVN3ucdq7k8BlwsJNww6FnqC8AC31n6dSYuqVzYsGsw== + dependencies: + "@babel/runtime" "^7.18.9" + "@types/hoist-non-react-statics" "^3.3.1" + core-js "^3" + hoist-non-react-statics "^3.3.2" + i18next "^21.9.1" + i18next-fs-backend "^1.1.5" + react-i18next "^11.18.4" + +next-pwa@^5.6.0: + version "5.6.0" + resolved "https://registry.npmjs.org/next-pwa/-/next-pwa-5.6.0.tgz" + integrity sha512-XV8g8C6B7UmViXU8askMEYhWwQ4qc/XqJGnexbLV68hzKaGHZDMtHsm2TNxFcbR7+ypVuth/wwpiIlMwpRJJ5A== + dependencies: + babel-loader "^8.2.5" + clean-webpack-plugin "^4.0.0" + globby "^11.0.4" + terser-webpack-plugin "^5.3.3" + workbox-webpack-plugin "^6.5.4" + workbox-window "^6.5.4" + +next@12.3.1: + version "12.3.1" + resolved "https://registry.npmjs.org/next/-/next-12.3.1.tgz" + integrity sha512-l7bvmSeIwX5lp07WtIiP9u2ytZMv7jIeB8iacR28PuUEFG5j0HGAPnMqyG5kbZNBG2H7tRsrQ4HCjuMOPnANZw== + dependencies: + "@next/env" "12.3.1" + "@swc/helpers" "0.4.11" + caniuse-lite "^1.0.30001406" + postcss "8.4.14" + styled-jsx "5.0.7" + use-sync-external-store "1.2.0" + optionalDependencies: + "@next/swc-android-arm-eabi" "12.3.1" + "@next/swc-android-arm64" "12.3.1" + "@next/swc-darwin-arm64" "12.3.1" + "@next/swc-darwin-x64" "12.3.1" + "@next/swc-freebsd-x64" "12.3.1" + "@next/swc-linux-arm-gnueabihf" "12.3.1" + "@next/swc-linux-arm64-gnu" "12.3.1" + "@next/swc-linux-arm64-musl" "12.3.1" + "@next/swc-linux-x64-gnu" "12.3.1" + "@next/swc-linux-x64-musl" "12.3.1" + "@next/swc-win32-arm64-msvc" "12.3.1" + "@next/swc-win32-ia32-msvc" "12.3.1" + "@next/swc-win32-x64-msvc" "12.3.1" + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-fetch@^2.6.1: + version "2.6.9" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz" + integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== + dependencies: + whatwg-url "^5.0.0" + +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-releases@^2.0.8: + version "2.0.10" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz" + integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" + integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz" + integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== + dependencies: + path-key "^4.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +nullthrows@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz" + integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" + integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.12.3, object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-is@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.3, object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz" + integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.fromentries@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz" + integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.hasown@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz" + integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== + dependencies: + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.values@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" + integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2, p-limit@3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-queue@^6.6.2: + version "6.6.2" + resolved "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz" + integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== + dependencies: + eventemitter3 "^4.0.4" + p-timeout "^3.2.0" + +p-throttle@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/p-throttle/-/p-throttle-4.1.1.tgz" + integrity sha512-TuU8Ato+pRTPJoDzYD4s7ocJYcNSEZRvlxoq3hcPI2kZDZ49IQ1Wkj7/gDJc3X7XiEAAvRGtDzdXJI0tC3IL1g== + +p-timeout@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz" + integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== + dependencies: + p-finally "^1.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +param-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-filepath@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz" + integrity sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q== + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse5@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +path-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz" + integrity sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" + integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz" + integrity sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ== + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz" + integrity sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg== + dependencies: + path-root-regex "^0.1.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pidtree@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz" + integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== + +pirates@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +postcss@^8.4.14: + version "8.4.21" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz" + integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +postcss@8.4.14: + version "8.4.14" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz" + integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@^2.7.1: + version "2.8.4" + resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz" + integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== + +pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: + version "5.6.0" + resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" + integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== + +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + +prop-types@^15.6.2, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +property-information@^6.0.0: + version "6.2.0" + resolved "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz" + integrity sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg== + +punycode@^1.3.2: + version "1.4.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +pvtsutils@^1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.2.tgz" + integrity sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ== + dependencies: + tslib "^2.4.0" + +pvutils@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz" + integrity sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ== + +qs@^6.9.4: + version "6.11.1" + resolved "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz" + integrity sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ== + dependencies: + side-channel "^1.0.4" + +query-string@^7.1.1: + version "7.1.3" + resolved "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz" + integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== + dependencies: + decode-uri-component "^0.2.2" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +react-dom@^18.2.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + +react-i18next@^11.18.4, react-i18next@^11.18.6: + version "11.18.6" + resolved "https://registry.npmjs.org/react-i18next/-/react-i18next-11.18.6.tgz" + integrity sha512-yHb2F9BiT0lqoQDt8loZ5gWP331GwctHz9tYQ8A2EIEUu+CcEdjBLQWli1USG3RdWQt3W+jqQLg/d4rrQR96LA== + dependencies: + "@babel/runtime" "^7.14.5" + html-parse-stringify "^3.0.1" + +react-is@^16.13.1: + version "16.13.1" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^18.2.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +react-kawaii@^0.17.0: + version "0.17.0" + resolved "https://registry.npmjs.org/react-kawaii/-/react-kawaii-0.17.0.tgz" + integrity sha512-BP2FCZC5IH2P3bXBAdoikMapRQEBu4ncLW5P2TKZjDYfsaq3kiSbU8DXqIH7UDWpAdI5ofhWJ62F6LqKD5TLFQ== + dependencies: + prop-types "^15.6.2" + +react-transition-group@^4.4.5: + version "4.4.5" + resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz" + integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + +react@^18.2.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + +readable-stream@^3.4.0: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +regenerate-unicode-properties@^10.1.0: + version "10.1.0" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz" + integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regenerator-transform@^0.15.1: + version "0.15.1" + resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz" + integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== + dependencies: + "@babel/runtime" "^7.8.4" + +regexp.prototype.flags@^1.4.3: + version "1.4.3" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + +regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +rehype-parse@^8.0.4: + version "8.0.4" + resolved "https://registry.npmjs.org/rehype-parse/-/rehype-parse-8.0.4.tgz" + integrity sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg== + dependencies: + "@types/hast" "^2.0.0" + hast-util-from-parse5 "^7.0.0" + parse5 "^6.0.0" + unified "^10.0.0" + +rehype-react@^7.1.1: + version "7.1.2" + resolved "https://registry.npmjs.org/rehype-react/-/rehype-react-7.1.2.tgz" + integrity sha512-IWsFMS2M4NTbvWzumBBKhdb39ElV+r5YQHA2HafDDRrH84bEryJA2YPPNbF9he4QzAFOssaMJ9buSC6cDcJTLw== + dependencies: + "@mapbox/hast-util-table-cell-style" "^0.2.0" + "@types/hast" "^2.0.0" + hast-to-hyperscript "^10.0.0" + hast-util-whitespace "^2.0.0" + unified "^10.0.0" + +relay-runtime@12.0.0: + version "12.0.0" + resolved "https://registry.npmjs.org/relay-runtime/-/relay-runtime-12.0.0.tgz" + integrity sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug== + dependencies: + "@babel/runtime" "^7.0.0" + fbjs "^3.0.0" + invariant "^2.2.4" + +remark-breaks@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/remark-breaks/-/remark-breaks-3.0.2.tgz" + integrity sha512-x96YDJ9X+Ry0/JNZFKfr1hpcAKvGYWfUTszxY9RbxKEqq6uzPPoLCuHdZsLPZZUdAv3nCROyc7FPrQLWr2rxyw== + dependencies: + "@types/mdast" "^3.0.0" + unified "^10.0.0" + unist-util-visit "^4.0.0" + +remedial@^1.0.7: + version "1.0.8" + resolved "https://registry.npmjs.org/remedial/-/remedial-1.0.8.tgz" + integrity sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg== + +remove-accents@0.4.2: + version "0.4.2" + resolved "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz" + integrity sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA== + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" + integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== + +remove-trailing-spaces@^1.0.6: + version "1.0.8" + resolved "https://registry.npmjs.org/remove-trailing-spaces/-/remove-trailing-spaces-1.0.8.tgz" + integrity sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0, resolve-from@5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve@^1.14.2, resolve@^1.19.0, resolve@^1.22.0, resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.4: + version "2.0.0-next.4" + resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz" + integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" + integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rfdc@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + +rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rollup-plugin-terser@^7.0.0: + version "7.0.2" + resolved "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz" + integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== + dependencies: + "@babel/code-frame" "^7.10.4" + jest-worker "^26.2.1" + serialize-javascript "^4.0.0" + terser "^5.0.0" + +rollup@^2.43.1: + version "2.79.1" + resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz" + integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== + optionalDependencies: + fsevents "~2.3.2" + +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rxjs@^6.3.3: + version "6.6.7" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +rxjs@^7.5.5, rxjs@^7.8.0: + version "7.8.0" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz" + integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== + dependencies: + tslib "^2.1.0" + +safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +schema-utils@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +scuid@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/scuid/-/scuid-1.1.0.tgz" + integrity sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg== + +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.3.7: + version "7.3.8" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + +sentence-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz" + integrity sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + upper-case-first "^2.0.2" + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz" + integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== + dependencies: + randombytes "^2.1.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.7.3: + version "1.8.0" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.0.tgz" + integrity sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.2, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signedsource@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/signedsource/-/signedsource-1.0.0.tgz" + integrity sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww== + +sirv@^1.0.7: + version "1.0.19" + resolved "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz" + integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ== + dependencies: + "@polka/url" "^1.0.0-next.20" + mrmime "^1.0.0" + totalist "^1.0.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz" + integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== + dependencies: + ansi-styles "^6.0.0" + is-fullwidth-code-point "^4.0.0" + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz" + integrity sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw== + +snake-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz" + integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.8.0-beta.0: + version "0.8.0-beta.0" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz" + integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== + dependencies: + whatwg-url "^7.0.0" + +source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + +space-separated-tokens@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" + integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== + +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + +sponge-case@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/sponge-case/-/sponge-case-1.0.1.tgz" + integrity sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA== + dependencies: + tslib "^2.0.3" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz" + integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + dependencies: + internal-slot "^1.0.4" + +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== + +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string-argv@^0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +string-env-interpolation@^1.0.1, string-env-interpolation@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz" + integrity sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg== + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" + integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.0: + version "5.1.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string.prototype.matchall@^4.0.6, string.prototype.matchall@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz" + integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.4.3" + side-channel "^1.0.4" + +string.prototype.trim@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz" + integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz" + integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-comments@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz" + integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw== + +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +style-to-object@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz" + integrity sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw== + dependencies: + inline-style-parser "0.1.1" + +styled-jsx@^5.0.2: + version "5.1.2" + resolved "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.2.tgz" + integrity sha512-FI5r0a5ED2/+DSdG2ZRz3a4FtNQnKPLadauU5v76a9QsscwZrWggQKOmyxGGP5EWKbyY3bsuWAJYzyKaDAVAcw== + dependencies: + client-only "0.0.1" + +styled-jsx@5.0.7: + version "5.0.7" + resolved "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.7.tgz" + integrity sha512-b3sUzamS086YLRuvnaDigdAewz1/EFYlHpYBP5mZovKEdQQOIIYq8lApylub3HHZ6xFjV051kkGU7cudJmrXEA== + +stylis@4.1.3: + version "4.1.3" + resolved "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz" + integrity sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA== + +superjson@^1.10.0: + version "1.12.2" + resolved "https://registry.npmjs.org/superjson/-/superjson-1.12.2.tgz" + integrity sha512-ugvUo9/WmvWOjstornQhsN/sR9mnGtWGYeTxFuqLb4AiT4QdUavjGFRALCPKWWnAiUJ4HTpytj5e0t5HoMRkXg== + dependencies: + copy-anything "^3.0.2" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svg-parser@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" + integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + +svgo@^2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" + csso "^4.2.0" + picocolors "^1.0.0" + stable "^0.1.8" + +swap-case@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/swap-case/-/swap-case-2.0.2.tgz" + integrity sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw== + dependencies: + tslib "^2.0.3" + +symbol-observable@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + +temp-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz" + integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== + +tempy@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz" + integrity sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw== + dependencies: + is-stream "^2.0.0" + temp-dir "^2.0.0" + type-fest "^0.16.0" + unique-string "^2.0.0" + +terser-webpack-plugin@^5.3.3: + version "5.3.7" + resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz" + integrity sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.17" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.16.5" + +terser@^5.0.0, terser@^5.16.5: + version "5.16.6" + resolved "https://registry.npmjs.org/terser/-/terser-5.16.6.tgz" + integrity sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +through@^2.3.6, through@^2.3.8: + version "2.3.8" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +tiny-warning@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + +title-case@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/title-case/-/title-case-3.0.3.tgz" + integrity sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA== + dependencies: + tslib "^2.0.3" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +totalist@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz" + integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" + integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== + dependencies: + punycode "^2.1.0" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +trough@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz" + integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== + +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz" + integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== + +ts-log@^2.2.3: + version "2.2.5" + resolved "https://registry.npmjs.org/ts-log/-/ts-log-2.2.5.tgz" + integrity sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA== + +ts-node@^10.9.1: + version "10.9.1" + resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tsconfig-paths@^3.14.1: + version "3.14.2" + resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz" + integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.4.1, tslib@^2.5.0: + version "2.5.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + +tslib@~2.4.0: + version "2.4.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz" + integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.16.0: + version "0.16.0" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" + integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^3.0.0: + version "3.6.1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-3.6.1.tgz" + integrity sha512-htXWckxlT6U4+ilVgweNliPqlsVSSucbxVexRYllyMVJDtf5rTjv6kF/s+qAd4QSL1BZcnJPEJavYBPQiWuZDA== + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@4.8.4: + version "4.8.4" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz" + integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== + +ua-parser-js@^0.7.30: + version "0.7.34" + resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.34.tgz" + integrity sha512-cJMeh/eOILyGu0ejgTKB95yKT3zOenSe9UGE3vj6WfiOwgGYnmATUsnDixMFvdU+rNMvWih83hrUP8VwhF9yXQ== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz" + integrity sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +unified@^10.0.0: + version "10.1.2" + resolved "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz" + integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== + dependencies: + "@types/unist" "^2.0.0" + bail "^2.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^4.0.0" + trough "^2.0.0" + vfile "^5.0.0" + +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + dependencies: + crypto-random-string "^2.0.0" + +unist-util-is@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz" + integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A== + +unist-util-is@^5.0.0: + version "5.2.1" + resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz" + integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw== + dependencies: + "@types/unist" "^2.0.0" + +unist-util-stringify-position@^3.0.0: + version "3.0.3" + resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz" + integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== + dependencies: + "@types/unist" "^2.0.0" + +unist-util-visit-parents@^2.0.0: + version "2.1.2" + resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz" + integrity sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g== + dependencies: + unist-util-is "^3.0.0" + +unist-util-visit-parents@^5.1.1: + version "5.1.3" + resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz" + integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + +unist-util-visit@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz" + integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw== + dependencies: + unist-util-visit-parents "^2.0.0" + +unist-util-visit@^4.0.0: + version "4.1.2" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz" + integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + unist-util-visit-parents "^5.1.1" + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unixify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz" + integrity sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg== + dependencies: + normalize-path "^2.1.1" + +upath@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +update-browserslist-db@^1.0.10: + version "1.0.10" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +upper-case-first@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz" + integrity sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg== + dependencies: + tslib "^2.0.3" + +upper-case@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz" + integrity sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg== + dependencies: + tslib "^2.0.3" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urlpattern-polyfill@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-6.0.2.tgz" + integrity sha512-5vZjFlH9ofROmuWmXM9yj2wljYKgWstGwe8YTyiqM7hVum/g9LyCizPZtb3UqsuppVwety9QJmfc42VggLpTgg== + dependencies: + braces "^3.0.2" + +use-sync-external-store@^1.2.0, use-sync-external-store@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz" + integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +value-or-promise@^1.0.11, value-or-promise@^1.0.12, value-or-promise@1.0.12: + version "1.0.12" + resolved "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.12.tgz" + integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== + +vfile-location@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz" + integrity sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw== + dependencies: + "@types/unist" "^2.0.0" + vfile "^5.0.0" + +vfile-message@^3.0.0: + version "3.1.4" + resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz" + integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^3.0.0" + +vfile@^5.0.0: + version "5.3.7" + resolved "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz" + integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== + dependencies: + "@types/unist" "^2.0.0" + is-buffer "^2.0.0" + unist-util-stringify-position "^3.0.0" + vfile-message "^3.0.0" + +void-elements@3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz" + integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== + +walker@^1.0.7: + version "1.0.8" + resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +web-namespaces@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz" + integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== + +web-streams-polyfill@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz" + integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== + +webcrypto-core@^1.7.4: + version "1.7.6" + resolved "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.6.tgz" + integrity sha512-TBPiewB4Buw+HI3EQW+Bexm19/W4cP/qZG/02QJCXN+iN+T5sl074vZ3rJcle/ZtDBQSgjkbsQO/1eFcxnSBUA== + dependencies: + "@peculiar/asn1-schema" "^2.1.6" + "@peculiar/json-schema" "^1.1.12" + asn1js "^3.0.1" + pvtsutils "^1.3.2" + tslib "^2.4.0" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + +webpack-bundle-analyzer@4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.3.0.tgz" + integrity sha512-J3TPm54bPARx6QG8z4cKBszahnUglcv70+N+8gUqv2I5KOFHJbzBiLx+pAp606so0X004fxM7hqRu10MLjJifA== + dependencies: + acorn "^8.0.4" + acorn-walk "^8.0.0" + chalk "^4.1.0" + commander "^6.2.0" + gzip-size "^6.0.0" + lodash "^4.17.20" + opener "^1.5.2" + sirv "^1.0.7" + ws "^7.3.1" + +webpack-sources@^1.4.3: + version "1.4.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +whatwg-fetch@^3.4.1: + version "3.6.2" + resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz" + integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-collection@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz" + integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== + dependencies: + is-map "^2.0.1" + is-set "^2.0.1" + is-weakmap "^2.0.1" + is-weakset "^2.0.1" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" + integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== + +which-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.10" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +workbox-background-sync@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz" + integrity sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g== + dependencies: + idb "^7.0.1" + workbox-core "6.5.4" + +workbox-broadcast-update@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz" + integrity sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw== + dependencies: + workbox-core "6.5.4" + +workbox-build@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz" + integrity sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA== + dependencies: + "@apideck/better-ajv-errors" "^0.3.1" + "@babel/core" "^7.11.1" + "@babel/preset-env" "^7.11.0" + "@babel/runtime" "^7.11.2" + "@rollup/plugin-babel" "^5.2.0" + "@rollup/plugin-node-resolve" "^11.2.1" + "@rollup/plugin-replace" "^2.4.1" + "@surma/rollup-plugin-off-main-thread" "^2.2.3" + ajv "^8.6.0" + common-tags "^1.8.0" + fast-json-stable-stringify "^2.1.0" + fs-extra "^9.0.1" + glob "^7.1.6" + lodash "^4.17.20" + pretty-bytes "^5.3.0" + rollup "^2.43.1" + rollup-plugin-terser "^7.0.0" + source-map "^0.8.0-beta.0" + stringify-object "^3.3.0" + strip-comments "^2.0.1" + tempy "^0.6.0" + upath "^1.2.0" + workbox-background-sync "6.5.4" + workbox-broadcast-update "6.5.4" + workbox-cacheable-response "6.5.4" + workbox-core "6.5.4" + workbox-expiration "6.5.4" + workbox-google-analytics "6.5.4" + workbox-navigation-preload "6.5.4" + workbox-precaching "6.5.4" + workbox-range-requests "6.5.4" + workbox-recipes "6.5.4" + workbox-routing "6.5.4" + workbox-strategies "6.5.4" + workbox-streams "6.5.4" + workbox-sw "6.5.4" + workbox-window "6.5.4" + +workbox-cacheable-response@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz" + integrity sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug== + dependencies: + workbox-core "6.5.4" + +workbox-core@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz" + integrity sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q== + +workbox-expiration@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz" + integrity sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ== + dependencies: + idb "^7.0.1" + workbox-core "6.5.4" + +workbox-google-analytics@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz" + integrity sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg== + dependencies: + workbox-background-sync "6.5.4" + workbox-core "6.5.4" + workbox-routing "6.5.4" + workbox-strategies "6.5.4" + +workbox-navigation-preload@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz" + integrity sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng== + dependencies: + workbox-core "6.5.4" + +workbox-precaching@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz" + integrity sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg== + dependencies: + workbox-core "6.5.4" + workbox-routing "6.5.4" + workbox-strategies "6.5.4" + +workbox-range-requests@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz" + integrity sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg== + dependencies: + workbox-core "6.5.4" + +workbox-recipes@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz" + integrity sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA== + dependencies: + workbox-cacheable-response "6.5.4" + workbox-core "6.5.4" + workbox-expiration "6.5.4" + workbox-precaching "6.5.4" + workbox-routing "6.5.4" + workbox-strategies "6.5.4" + +workbox-routing@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz" + integrity sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg== + dependencies: + workbox-core "6.5.4" + +workbox-strategies@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz" + integrity sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw== + dependencies: + workbox-core "6.5.4" + +workbox-streams@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz" + integrity sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg== + dependencies: + workbox-core "6.5.4" + workbox-routing "6.5.4" + +workbox-sw@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz" + integrity sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA== + +workbox-webpack-plugin@^6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz" + integrity sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg== + dependencies: + fast-json-stable-stringify "^2.1.0" + pretty-bytes "^5.4.1" + upath "^1.2.0" + webpack-sources "^1.4.3" + workbox-build "6.5.4" + +workbox-window@^6.5.4, workbox-window@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz" + integrity sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug== + dependencies: + "@types/trusted-types" "^2.0.2" + workbox-core "6.5.4" + +wrap-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz" + integrity sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ== + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.3.1: + version "7.5.9" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +ws@^8.12.0: + version "8.13.0" + resolved "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz" + integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== + +ws@8.12.1: + version "8.12.1" + resolved "https://registry.npmjs.org/ws/-/ws-8.12.1.tgz" + integrity sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml-ast-parser@^0.0.43: + version "0.0.43" + resolved "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz" + integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A== + +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yaml@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz" + integrity sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yargs@^17.0.0, yargs@^17.7.1: + version "17.7.1" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz" + integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==