@sveltia/cms 0.119.2 → 0.120.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"$schema":"http://json-schema.org/draft-07/schema#","$ref":"#/definitions/CmsConfig","definitions":{"CmsConfig":{"type":"object","properties":{"load_config_file":{"type":"boolean","description":"Whether to load YAML/JSON CMS configuration file(s) when [manually initializing the CMS](https://decapcms.org/docs/manual-initialization/). This works only in the `CMS.init()` method’s `config` option. Default: `true`.","markdownDescription":"Whether to load YAML/JSON CMS configuration file(s) when [manually initializing the CMS](https://decapcms.org/docs/manual-initialization/). This works only in the `CMS.init()` method’s `config` option. Default: `true`."},"backend":{"$ref":"#/definitions/Backend","description":"Backend options.","markdownDescription":"Backend options."},"publish_mode":{"type":"string","enum":["","simple","editorial_workflow"],"description":"Publish mode. An empty string is the same as `simple`. Default: `simple`.","markdownDescription":"Publish mode. An empty string is the same as `simple`. Default: `simple`."},"media_folder":{"type":"string","description":"Global internal media folder path, relative to the project’s root directory. Required unless a cloud media library is configured.","markdownDescription":"Global internal media folder path, relative to the project’s root directory. Required unless a cloud media library is configured."},"public_folder":{"type":"string","description":"Global public media folder path, relative to the project’s public URL. It must be an absolute path starting with `/`. Default: `media_folder` option value.","markdownDescription":"Global public media folder path, relative to the project’s public URL. It must be an absolute path starting with `/`. Default: `media_folder` option value."},"media_library":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"config":{"$ref":"#/definitions/DefaultMediaLibraryConfig","description":"Configuration for the default media library.","markdownDescription":"Configuration for the default media library."}},"required":["name"]},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"output_filename_only":{"type":"boolean","description":"Whether to output a file name instead of a full URL. Default: `false`.","markdownDescription":"Whether to output a file name instead of a full URL. Default: `false`."},"use_transformations":{"type":"boolean","description":"Whether to include transformation segments in an output URL. Default: `true`.","markdownDescription":"Whether to include transformation segments in an output URL. Default: `true`."},"config":{"type":"object","description":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget.","markdownDescription":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget."}},"required":["name"]},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"config":{"type":"object","description":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader.","markdownDescription":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader."},"settings":{"$ref":"#/definitions/UploadcareMediaLibrarySettings","description":"Integration settings.","markdownDescription":"Integration settings."}},"required":["name"]},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"providers":{"type":"array","items":{"$ref":"#/definitions/StockAssetProviderName"},"description":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers.","markdownDescription":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers."}},"required":["name"]}],"description":"Legacy media library option that allows only one library. This overrides the global `media_library` option. Use `media_libraries` instead to support multiple libraries.","markdownDescription":"Legacy media library option that allows only one library. This overrides the global `media_library` option. Use `media_libraries` instead to support multiple libraries."},"media_libraries":{"$ref":"#/definitions/MediaLibraries","description":"Unified media library option that supports multiple libraries. See our [README](https://github.com/sveltia/sveltia-cms#configuring-multiple-media-libraries) for details.","markdownDescription":"Unified media library option that supports multiple libraries. See our [README](https://github.com/sveltia/sveltia-cms#configuring-multiple-media-libraries) for details."},"site_url":{"type":"string","description":"Site URL. Default: current site’s origin ([`location.origin`](https://developer.mozilla.org/en-US/docs/Web/API/Location/origin)).","markdownDescription":"Site URL. Default: current site’s origin ([`location.origin`](https://developer.mozilla.org/en-US/docs/Web/API/Location/origin))."},"display_url":{"type":"string","description":"Site URL linked from the UI. Default: `site_url` option value.","markdownDescription":"Site URL linked from the UI. Default: `site_url` option value."},"logo_url":{"type":"string","description":"Absolute URL or absolute path to the site logo that will be displayed on the entrance page and the browser’s tab (favicon). A square image works best. Default: Sveltia logo.","markdownDescription":"Absolute URL or absolute path to the site logo that will be displayed on the entrance page and the browser’s tab (favicon). A square image works best. Default: Sveltia logo.","deprecated":true,"deprecationMessage":"This option is superseded by the new `logo.src` option. See the Decap CMS doc https://decapcms.org/docs/configuration-options/#custom-logo for details."},"logo":{"$ref":"#/definitions/LogoOptions","description":"Site logo options.","markdownDescription":"Site logo options."},"logout_redirect_url":{"type":"string","description":"URL to redirect users to after logging out.","markdownDescription":"URL to redirect users to after logging out."},"show_preview_links":{"type":"boolean","description":"Whether to show site preview links. Default: `true`.","markdownDescription":"Whether to show site preview links. Default: `true`."},"slug":{"$ref":"#/definitions/SlugOptions","description":"Entry slug options.","markdownDescription":"Entry slug options."},"collections":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/Collection"},{"$ref":"#/definitions/CollectionDivider"}]},"description":"Set of collections. The list can also contain dividers, which are used to group collections in the collection list. Either `collections` or `singletons` option must be defined.","markdownDescription":"Set of collections. The list can also contain dividers, which are used to group collections in the collection list. Either `collections` or `singletons` option must be defined."},"singletons":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/CollectionFile"},{"$ref":"#/definitions/CollectionDivider"}]},"description":"Set of singleton files, such as the CMS configuration file or the homepage file. They are not part of any collection and can be accessed directly through the collection list. The list can also contain dividers. See our [README](https://github.com/sveltia/sveltia-cms#using-singletons) for details.","markdownDescription":"Set of singleton files, such as the CMS configuration file or the homepage file. They are not part of any collection and can be accessed directly through the collection list. The list can also contain dividers. See our [README](https://github.com/sveltia/sveltia-cms#using-singletons) for details."},"i18n":{"$ref":"#/definitions/I18nOptions","description":"Global i18n options.","markdownDescription":"Global i18n options."},"editor":{"$ref":"#/definitions/EditorOptions","description":"Editor view options.","markdownDescription":"Editor view options."},"output":{"$ref":"#/definitions/OutputOptions","description":"Data output options. See our [README](https://github.com/sveltia/sveltia-cms#controlling-data-output) for details.","markdownDescription":"Data output options. See our [README](https://github.com/sveltia/sveltia-cms#controlling-data-output) for details."},"$schema":{"type":"string","format":"uri"}},"required":["backend"],"additionalProperties":false,"description":"CMS configuration.","markdownDescription":"CMS configuration.","oneOf":[{"required":["collections"]},{"required":["singletons"]}]},"Backend":{"anyOf":[{"$ref":"#/definitions/GitBackend"},{"$ref":"#/definitions/TestBackend"}],"description":"Backend options.","markdownDescription":"Backend options."},"GitBackend":{"anyOf":[{"$ref":"#/definitions/GitHubBackend"},{"$ref":"#/definitions/GitLabBackend"},{"$ref":"#/definitions/GiteaBackend"}],"description":"Git-based backend.","markdownDescription":"Git-based backend."},"GitHubBackend":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","const":"github","description":"Backend name.","markdownDescription":"Backend name."},"repo":{"type":"string","description":"Repository identifier: organization/user name and repository name joined by a slash, e.g. `owner/repo`.","markdownDescription":"Repository identifier: organization/user name and repository name joined by a slash, e.g. `owner/repo`."},"api_root":{"type":"string","description":"REST API endpoint for the backend. Required when using GitHub Enterprise Server. Default: `https://api.github.com`.","markdownDescription":"REST API endpoint for the backend. Required when using GitHub Enterprise Server. Default: `https://api.github.com`."},"graphql_api_root":{"type":"string","description":"GraphQL API endpoint for the backend. Default: inferred from `api_root` option value.","markdownDescription":"GraphQL API endpoint for the backend. Default: inferred from `api_root` option value."},"base_url":{"type":"string","description":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://api.netlify.com`.","markdownDescription":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://api.netlify.com`."},"auth_type":{"type":"string","enum":["","pkce"],"description":"OAuth grant type. The default is an empty string, which is authorization code grant. `pkce` is not yet supported.","markdownDescription":"OAuth grant type. The default is an empty string, which is authorization code grant. `pkce` is not yet supported."},"auth_endpoint":{"type":"string","description":"OAuth base URL path. Default: `auth`.","markdownDescription":"OAuth base URL path. Default: `auth`."},"app_id":{"type":"string","description":"OAuth application ID. Required when using PKCE authorization.","markdownDescription":"OAuth application ID. Required when using PKCE authorization."},"cms_label_prefix":{"type":"string","description":"Pull request label prefix for Editorial Workflow. Default: `sveltia-cms/`.","markdownDescription":"Pull request label prefix for Editorial Workflow. Default: `sveltia-cms/`."},"squash_merges":{"type":"boolean","description":"Whether to use squash marge for Editorial Workflow. Default: `false`.","markdownDescription":"Whether to use squash marge for Editorial Workflow. Default: `false`."},"preview_context":{"type":"string","description":"Deploy preview link context.","markdownDescription":"Deploy preview link context."},"open_authoring":{"type":"boolean","description":"Whether to use Open Authoring. Default: `false`.","markdownDescription":"Whether to use Open Authoring. Default: `false`."},"auth_scope":{"type":"string","enum":["repo","public_repo"],"description":"Authentication scope for Open Authoring.","markdownDescription":"Authentication scope for Open Authoring."},"branch":{"type":"string","description":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used.","markdownDescription":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used."},"site_domain":{"type":"string","description":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`).","markdownDescription":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`)."},"commit_messages":{"$ref":"#/definitions/CommitMessages","description":"Custom commit messages.","markdownDescription":"Custom commit messages."},"automatic_deployments":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","deprecated":true,"deprecationMessage":"Use the new `skip_ci` option instead, which is more intuitive. `automatic_deployments: false` is equivalent to `skip_ci: true`, and `automatic_deployments: true` is equivalent to `skip_ci: false`. See our README https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments for details."},"skip_ci":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See our [README](https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments) for details.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See our [README](https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments) for details."}},"required":["name","repo"],"description":"GitHub backend.","markdownDescription":"GitHub backend."},"CommitMessages":{"type":"object","properties":{"create":{"type":"string","description":"Message to be used when a new entry is created.","markdownDescription":"Message to be used when a new entry is created."},"update":{"type":"string","description":"Message to be used when existing entries are updated.","markdownDescription":"Message to be used when existing entries are updated."},"delete":{"type":"string","description":"Message to be used when existing entries are deleted.","markdownDescription":"Message to be used when existing entries are deleted."},"uploadMedia":{"type":"string","description":"Message to be used when new files are uploaded/updated.","markdownDescription":"Message to be used when new files are uploaded/updated."},"deleteMedia":{"type":"string","description":"Message to be used when existing files are deleted.","markdownDescription":"Message to be used when existing files are deleted."},"openAuthoring":{"type":"string","description":"Message to be used when committed via a forked repository.","markdownDescription":"Message to be used when committed via a forked repository."}},"additionalProperties":false,"description":"Custom commit messages.","markdownDescription":"Custom commit messages."},"GitLabBackend":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","const":"gitlab","description":"Backend name.","markdownDescription":"Backend name."},"repo":{"type":"string","description":"Repository identifier: namespace and project name joined by a slash, e.g. `group/project` or `group/subgroup/project`.","markdownDescription":"Repository identifier: namespace and project name joined by a slash, e.g. `group/project` or `group/subgroup/project`."},"api_root":{"type":"string","description":"REST API endpoint for the backend. Required when using a self-hosted GitLab instance. Default: `https://gitlab.com/api/v4`.","markdownDescription":"REST API endpoint for the backend. Required when using a self-hosted GitLab instance. Default: `https://gitlab.com/api/v4`."},"graphql_api_root":{"type":"string","description":"GraphQL API endpoint for the backend. Default: inferred from `api_root` option value.","markdownDescription":"GraphQL API endpoint for the backend. Default: inferred from `api_root` option value."},"base_url":{"type":"string","description":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://gitlab.com`.","markdownDescription":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://gitlab.com`."},"auth_type":{"type":"string","enum":["","pkce"],"description":"OAuth grant type. The default is an empty string, which is authorization code grant. `pkce` is recommended for better security and easier setup. `implicit` is not supported in Sveltia CMS.","markdownDescription":"OAuth grant type. The default is an empty string, which is authorization code grant. `pkce` is recommended for better security and easier setup. `implicit` is not supported in Sveltia CMS."},"auth_endpoint":{"type":"string","description":"OAuth base URL path. Default: `oauth/authorize`.","markdownDescription":"OAuth base URL path. Default: `oauth/authorize`."},"app_id":{"type":"string","description":"OAuth application ID. Required when using PKCE authorization.","markdownDescription":"OAuth application ID. Required when using PKCE authorization."},"cms_label_prefix":{"type":"string","description":"Pull request label prefix for Editorial Workflow. Default: `sveltia-cms/`.","markdownDescription":"Pull request label prefix for Editorial Workflow. Default: `sveltia-cms/`."},"branch":{"type":"string","description":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used.","markdownDescription":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used."},"site_domain":{"type":"string","description":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`).","markdownDescription":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`)."},"commit_messages":{"$ref":"#/definitions/CommitMessages","description":"Custom commit messages.","markdownDescription":"Custom commit messages."},"automatic_deployments":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","deprecated":true,"deprecationMessage":"Use the new `skip_ci` option instead, which is more intuitive. `automatic_deployments: false` is equivalent to `skip_ci: true`, and `automatic_deployments: true` is equivalent to `skip_ci: false`. See our README https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments for details."},"skip_ci":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See our [README](https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments) for details.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See our [README](https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments) for details."}},"required":["name","repo"],"description":"GitLab backend.","markdownDescription":"GitLab backend."},"GiteaBackend":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","const":"gitea","description":"Backend name.","markdownDescription":"Backend name."},"repo":{"type":"string","description":"Repository identifier: organization/user name and repository name joined by a slash, e.g. `owner/repo`.","markdownDescription":"Repository identifier: organization/user name and repository name joined by a slash, e.g. `owner/repo`."},"api_root":{"type":"string","description":"REST API endpoint for the backend. Required when using a self-hosted Gitea/Forgejo instance. Default: `https://gitea.com/api/v1`.","markdownDescription":"REST API endpoint for the backend. Required when using a self-hosted Gitea/Forgejo instance. Default: `https://gitea.com/api/v1`."},"base_url":{"type":"string","description":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://gitea.com/`.","markdownDescription":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://gitea.com/`."},"auth_endpoint":{"type":"string","description":"OAuth base URL path. Default: `login/oauth/authorize`.","markdownDescription":"OAuth base URL path. Default: `login/oauth/authorize`."},"app_id":{"type":"string","description":"OAuth application ID.","markdownDescription":"OAuth application ID."},"branch":{"type":"string","description":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used.","markdownDescription":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used."},"site_domain":{"type":"string","description":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`).","markdownDescription":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`)."},"commit_messages":{"$ref":"#/definitions/CommitMessages","description":"Custom commit messages.","markdownDescription":"Custom commit messages."},"automatic_deployments":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","deprecated":true,"deprecationMessage":"Use the new `skip_ci` option instead, which is more intuitive. `automatic_deployments: false` is equivalent to `skip_ci: true`, and `automatic_deployments: true` is equivalent to `skip_ci: false`. See our README https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments for details."},"skip_ci":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See our [README](https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments) for details.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See our [README](https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments) for details."}},"required":["app_id","name","repo"],"description":"Gitea/Forgejo backend.","markdownDescription":"Gitea/Forgejo backend."},"TestBackend":{"type":"object","properties":{"name":{"type":"string","const":"test-repo","description":"Backend name.","markdownDescription":"Backend name."}},"required":["name"],"additionalProperties":false,"description":"Test backend.","markdownDescription":"Test backend."},"MediaLibraryName":{"anyOf":[{"type":"string","const":"default"},{"$ref":"#/definitions/CloudMediaLibraryName"},{"type":"string","const":"stock_assets"}],"description":"Supported media library name.","markdownDescription":"Supported media library name."},"CloudMediaLibraryName":{"type":"string","enum":["cloudinary","uploadcare"],"description":"Cloud media library name.","markdownDescription":"Cloud media library name."},"DefaultMediaLibraryConfig":{"type":"object","properties":{"multiple":{"type":"boolean","description":"Whether to allow multiple file selection in the media library. This option is available for compatibility with the Cloudinary and Uploadcare media libraries, but you can simply use the `multiple` option for the File/Image widgets instead.","markdownDescription":"Whether to allow multiple file selection in the media library. This option is available for compatibility with the Cloudinary and Uploadcare media libraries, but you can simply use the `multiple` option for the File/Image widgets instead."},"max_file_size":{"type":"number","description":"Maximum file size in bytes that can be accepted for uploading.","markdownDescription":"Maximum file size in bytes that can be accepted for uploading."},"slugify_filename":{"type":"boolean","description":"Whether to rename an original asset file when saving it, according to the global `slug` option. Default: `false`, meaning that the original file name is kept by default, while Netlify/Decap CMS forces to slugify file names. If set to `true`, for example, `Hello World (1).webp` would be `hello-world-1.webp`.","markdownDescription":"Whether to rename an original asset file when saving it, according to the global `slug` option. Default: `false`, meaning that the original file name is kept by default, while Netlify/Decap CMS forces to slugify file names. If set to `true`, for example, `Hello World (1).webp` would be `hello-world-1.webp`."},"transformations":{"$ref":"#/definitions/FileTransformations","description":"File transformation option map. The key is an original format like `png` or `jpeg`. It can also be `raster_image` that matches any supported raster image format. See our [README](https://github.com/sveltia/sveltia-cms#optimizing-images-for-upload) for details.","markdownDescription":"File transformation option map. The key is an original format like `png` or `jpeg`. It can also be `raster_image` that matches any supported raster image format. See our [README](https://github.com/sveltia/sveltia-cms#optimizing-images-for-upload) for details."}},"additionalProperties":false,"description":"Configuration for the default media library.","markdownDescription":"Configuration for the default media library."},"FileTransformations":{"$ref":"#/definitions/ImageTransformations","description":"File transformation option map.","markdownDescription":"File transformation option map."},"ImageTransformations":{"type":"object","additionalProperties":false,"properties":{"svg":{"$ref":"#/definitions/VectorImageTransformationOptions","description":"SVG image transformation options.","markdownDescription":"SVG image transformation options."},"raster_image":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"Raster image transformation options that apply to any supported raster image format.","markdownDescription":"Raster image transformation options that apply to any supported raster image format."},"avif":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"AVIF image transformation options.","markdownDescription":"AVIF image transformation options."},"gif":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"GIF image transformation options.","markdownDescription":"GIF image transformation options."},"jpeg":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"JPEG image transformation options.","markdownDescription":"JPEG image transformation options."},"png":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"PNG image transformation options.","markdownDescription":"PNG image transformation options."},"webp":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"WebP image transformation options.","markdownDescription":"WebP image transformation options."}},"description":"Image transformation option map.","markdownDescription":"Image transformation option map."},"VectorImageTransformationOptions":{"type":"object","properties":{"optimize":{"type":"boolean","description":"Whether to optimize the image.","markdownDescription":"Whether to optimize the image."}},"additionalProperties":false,"description":"Vector image transformation option map.","markdownDescription":"Vector image transformation option map."},"RasterImageTransformationOptions":{"type":"object","properties":{"format":{"$ref":"#/definitions/RasterImageConversionFormat","description":"New format. Default: `webp`.","markdownDescription":"New format. Default: `webp`."},"quality":{"type":"number","description":"Image quality between 0 and 100. Default: `85`.","markdownDescription":"Image quality between 0 and 100. Default: `85`."},"width":{"type":"number","description":"Max width. Default: original width.","markdownDescription":"Max width. Default: original width."},"height":{"type":"number","description":"Max height. Default: original height.","markdownDescription":"Max height. Default: original height."}},"additionalProperties":false,"description":"Raster image transformation options. See our [README](https://github.com/sveltia/sveltia-cms#optimizing-images-for-upload) for details.","markdownDescription":"Raster image transformation options. See our [README](https://github.com/sveltia/sveltia-cms#optimizing-images-for-upload) for details."},"RasterImageConversionFormat":{"type":"string","const":"webp","description":"Supported raster image conversion format. We don’t support AVIF at this time because no browser supports AVIF encoding natively and `@jsquash/avif` is slow. Meanwhile, browsers other than Safari support WebP encoding and `@jsquash/webp` is relatively fast.","markdownDescription":"Supported raster image conversion format. We don’t support AVIF at this time because no browser supports AVIF encoding natively and `@jsquash/avif` is slow. Meanwhile, browsers other than Safari support WebP encoding and `@jsquash/webp` is relatively fast."},"UploadcareMediaLibrarySettings":{"type":"object","properties":{"autoFilename":{"type":"boolean","description":"Whether to append a file name to an output URL. Default: `false`.","markdownDescription":"Whether to append a file name to an output URL. Default: `false`."},"defaultOperations":{"type":"string","description":"Transformation operations to be included in an output URL. Default: empty string.","markdownDescription":"Transformation operations to be included in an output URL. Default: empty string."}},"additionalProperties":false,"description":"Settings for the [Uploadcare media library](https://decapcms.org/docs/uploadcare/).","markdownDescription":"Settings for the [Uploadcare media library](https://decapcms.org/docs/uploadcare/)."},"StockAssetProviderName":{"type":"string","enum":["pexels","pixabay","unsplash"],"description":"Name of supported stock photo/video provider.","markdownDescription":"Name of supported stock photo/video provider."},"MediaLibraries":{"type":"object","properties":{"default":{"$ref":"#/definitions/DefaultMediaLibrary","description":"Options for the default media library.","markdownDescription":"Options for the default media library."},"cloudinary":{"$ref":"#/definitions/CloudinaryMediaLibrary","description":"Options for the Cloudinary media library.","markdownDescription":"Options for the Cloudinary media library."},"uploadcare":{"$ref":"#/definitions/UploadcareMediaLibrary","description":"Options for the Uploadcare media library.","markdownDescription":"Options for the Uploadcare media library."},"stock_assets":{"$ref":"#/definitions/StockAssetMediaLibrary","description":"Options for the unified stock photo/video media library.","markdownDescription":"Options for the unified stock photo/video media library."}},"additionalProperties":false,"description":"Unified media library option that supports multiple libraries. See our [README](https://github.com/sveltia/sveltia-cms#configuring-multiple-media-libraries) for details.","markdownDescription":"Unified media library option that supports multiple libraries. See our [README](https://github.com/sveltia/sveltia-cms#configuring-multiple-media-libraries) for details."},"DefaultMediaLibrary":{"type":"object","properties":{"config":{"$ref":"#/definitions/DefaultMediaLibraryConfig","description":"Configuration for the default media library.","markdownDescription":"Configuration for the default media library."}},"additionalProperties":false,"description":"Options for the default media library.","markdownDescription":"Options for the default media library."},"CloudinaryMediaLibrary":{"type":"object","properties":{"output_filename_only":{"type":"boolean","description":"Whether to output a file name instead of a full URL. Default: `false`.","markdownDescription":"Whether to output a file name instead of a full URL. Default: `false`."},"use_transformations":{"type":"boolean","description":"Whether to include transformation segments in an output URL. Default: `true`.","markdownDescription":"Whether to include transformation segments in an output URL. Default: `true`."},"config":{"type":"object","description":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget.","markdownDescription":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget."}},"additionalProperties":false,"description":"Options for the [Cloudinary media library](https://decapcms.org/docs/cloudinary/).","markdownDescription":"Options for the [Cloudinary media library](https://decapcms.org/docs/cloudinary/)."},"UploadcareMediaLibrary":{"type":"object","properties":{"config":{"type":"object","description":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader.","markdownDescription":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader."},"settings":{"$ref":"#/definitions/UploadcareMediaLibrarySettings","description":"Integration settings.","markdownDescription":"Integration settings."}},"additionalProperties":false,"description":"Options for the [Uploadcare media library](https://decapcms.org/docs/uploadcare/).","markdownDescription":"Options for the [Uploadcare media library](https://decapcms.org/docs/uploadcare/)."},"StockAssetMediaLibrary":{"type":"object","properties":{"providers":{"type":"array","items":{"$ref":"#/definitions/StockAssetProviderName"},"description":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers.","markdownDescription":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers."}},"additionalProperties":false,"description":"Options for the unified stock photo/video media library.","markdownDescription":"Options for the unified stock photo/video media library."},"LogoOptions":{"type":"object","properties":{"src":{"type":"string","description":"Absolute URL or absolute path to the site logo that will be displayed on the entrance page and the browser’s tab (favicon). A square image works best.","markdownDescription":"Absolute URL or absolute path to the site logo that will be displayed on the entrance page and the browser’s tab (favicon). A square image works best."},"show_in_header":{"type":"boolean","description":"Whether to show the logo in the header. Default: `true`.","markdownDescription":"Whether to show the logo in the header. Default: `true`."}},"required":["src"],"additionalProperties":false,"description":"Custom logo options.","markdownDescription":"Custom logo options."},"SlugOptions":{"type":"object","properties":{"encoding":{"type":"string","enum":["unicode","ascii"],"description":"Encoding option. Default: `unicode`.","markdownDescription":"Encoding option. Default: `unicode`."},"clean_accents":{"type":"boolean","description":"Whether to remove accents. Default: `false`.","markdownDescription":"Whether to remove accents. Default: `false`."},"sanitize_replacement":{"type":"string","description":"String to replace sanitized characters. Default: `-`.","markdownDescription":"String to replace sanitized characters. Default: `-`."},"trim":{"type":"boolean","description":"Whether to trim leading and trailing replacement characters. Default: `true`.","markdownDescription":"Whether to trim leading and trailing replacement characters. Default: `true`."}},"additionalProperties":false,"description":"Entry slug options.","markdownDescription":"Entry slug options."},"Collection":{"anyOf":[{"$ref":"#/definitions/EntryCollection"},{"$ref":"#/definitions/FileCollection"}],"description":"Collection definition.","markdownDescription":"Collection definition."},"EntryCollection":{"type":"object","additionalProperties":false,"properties":{"folder":{"type":"string","description":"Base folder path relative to the project root. It can contain slashes to create subfolders.","markdownDescription":"Base folder path relative to the project root. It can contain slashes to create subfolders."},"fields":{"type":"array","items":{"$ref":"#/definitions/Field"},"description":"Set of fields to be included in entries.","markdownDescription":"Set of fields to be included in entries."},"path":{"type":"string","description":"File path relative to `folder`, without a file extension. It can contain slashes to create subfolders. Default: `{{slug}}`. To use Hugo’s page bundle, set this to `{{slug}}/index`.","markdownDescription":"File path relative to `folder`, without a file extension. It can contain slashes to create subfolders. Default: `{{slug}}`. To use Hugo’s page bundle, set this to `{{slug}}/index`."},"filter":{"$ref":"#/definitions/CollectionFilter","description":"Entry filter.","markdownDescription":"Entry filter."},"create":{"type":"boolean","description":"Whether to allow users to create entries in the collection. Default: `false`.","markdownDescription":"Whether to allow users to create entries in the collection. Default: `false`."},"delete":{"type":"boolean","description":"Whether to allow users to delete entries in the collection. Default: `true`.","markdownDescription":"Whether to allow users to delete entries in the collection. Default: `true`."},"extension":{"$ref":"#/definitions/FileExtension","description":"File extension. Default: `md`.","markdownDescription":"File extension. Default: `md`."},"identifier_field":{"$ref":"#/definitions/FieldKeyPath","description":"Field name to be used as the title and slug of an entry. Default: `title`.","markdownDescription":"Field name to be used as the title and slug of an entry. Default: `title`."},"slug":{"type":"string","description":"Item slug template. Default: `identifier_field` option value. It cannot contain slashes; to organize entries in subfolders, use the `path` option instead. It’s possible to [localize the slug](https://github.com/sveltia/sveltia-cms#localizing-entry-slugs) or [use a random ID](https://github.com/sveltia/sveltia-cms#using-a-random-id-for-an-entry-slug). Also, it’s possible to show a special slug editor field in initial entry drafts by using `{{fields._slug}}` (with an underscore prefix) or `{{fields._slug | localize}}` (to localize the slug).","markdownDescription":"Item slug template. Default: `identifier_field` option value. It cannot contain slashes; to organize entries in subfolders, use the `path` option instead. It’s possible to [localize the slug](https://github.com/sveltia/sveltia-cms#localizing-entry-slugs) or [use a random ID](https://github.com/sveltia/sveltia-cms#using-a-random-id-for-an-entry-slug). Also, it’s possible to show a special slug editor field in initial entry drafts by using `{{fields._slug}}` (with an underscore prefix) or `{{fields._slug | localize}}` (to localize the slug)."},"slug_length":{"type":"number","description":"The maximum number of characters allowed for an entry slug. Default: `Infinity`.","markdownDescription":"The maximum number of characters allowed for an entry slug. Default: `Infinity`."},"summary":{"type":"string","description":"Entry summary template. Default: `identifier_field`.","markdownDescription":"Entry summary template. Default: `identifier_field`."},"sortable_fields":{"anyOf":[{"type":"array","items":{"$ref":"#/definitions/FieldKeyPath"}},{"$ref":"#/definitions/SortableFields"}],"description":"Custom sortable fields. Default: `title`, `name`, `date`, `author` and `description`. For a Git backend, commit author and commit date are also included by default. See our [README](https://github.com/sveltia/sveltia-cms#specifying-default-sort-field-and-direction) for details.","markdownDescription":"Custom sortable fields. Default: `title`, `name`, `date`, `author` and `description`. For a Git backend, commit author and commit date are also included by default. See our [README](https://github.com/sveltia/sveltia-cms#specifying-default-sort-field-and-direction) for details."},"view_filters":{"anyOf":[{"type":"array","items":{"$ref":"#/definitions/ViewFilter"}},{"$ref":"#/definitions/ViewFilters"}],"description":"View filters to be used in the entry list.","markdownDescription":"View filters to be used in the entry list."},"view_groups":{"anyOf":[{"type":"array","items":{"$ref":"#/definitions/ViewGroup"}},{"$ref":"#/definitions/ViewGroups"}],"description":"View groups to be used in the entry list.","markdownDescription":"View groups to be used in the entry list."},"nested":{"$ref":"#/definitions/NestedCollectionOptions","description":"Options for a nested collection.","markdownDescription":"Options for a nested collection."},"meta":{"$ref":"#/definitions/CollectionMetaData","description":"Meta data for a nested collection.","markdownDescription":"Meta data for a nested collection."},"index_file":{"anyOf":[{"$ref":"#/definitions/CollectionIndexFile"},{"type":"boolean"}],"description":"Index file inclusion options. If `true`, the default index file name is `_index`, which is used for Hugo’s special index file. See our [README](https://github.com/sveltia/sveltia-cms#including-hugos-special-index-file-in-a-folder-collection) for details.","markdownDescription":"Index file inclusion options. If `true`, the default index file name is `_index`, which is used for Hugo’s special index file. See our [README](https://github.com/sveltia/sveltia-cms#including-hugos-special-index-file-in-a-folder-collection) for details."},"thumbnail":{"anyOf":[{"type":"boolean"},{"$ref":"#/definitions/FieldKeyPath"},{"type":"array","items":{"$ref":"#/definitions/FieldKeyPath"}}],"description":"Whether to show entry thumbnails in the entry list. Default: `true` (auto-detect image/file fields). Set to `false` to disable, or provide a field key path (e.g., `heroImage.src`) or an array of paths for fallbacks. Supports nested fields with dot notation and wildcards (e.g., `images.*.src`). An empty array equals `false`.","markdownDescription":"Whether to show entry thumbnails in the entry list. Default: `true` (auto-detect image/file fields). Set to `false` to disable, or provide a field key path (e.g., `heroImage.src`) or an array of paths for fallbacks. Supports nested fields with dot notation and wildcards (e.g., `images.*.src`). An empty array equals `false`."},"limit":{"type":"number","description":"The maximum number of entries that can be created in the collection. Default: `Infinity`.","markdownDescription":"The maximum number of entries that can be created in the collection. Default: `Infinity`."},"name":{"type":"string","description":"Unique identifier for the collection.","markdownDescription":"Unique identifier for the collection."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` option value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` option value."},"label_singular":{"type":"string","description":"Singular UI label. It will be Blog Post if the `label` is Blog Posts, for example. Default: `label` option value.","markdownDescription":"Singular UI label. It will be Blog Post if the `label` is Blog Posts, for example. Default: `label` option value."},"description":{"type":"string","description":"Short description of the collection to be displayed in the editor UI.","markdownDescription":"Short description of the collection to be displayed in the editor UI."},"icon":{"type":"string","description":"Name of a [Material Symbols icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the collection list.","markdownDescription":"Name of a [Material Symbols icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the collection list."},"media_folder":{"type":"string","description":"Internal media folder path for the collection. This overrides the global `media_folder` option. It can be a relative path from the project root if it starts with a slash. Otherwise it’s a path relative to the entry. If this option is omitted, the global `media_folder` option value is used. See our [README](https://github.com/sveltia/sveltia-cms#using-a-custom-media-folder-for-a-collection) for details.","markdownDescription":"Internal media folder path for the collection. This overrides the global `media_folder` option. It can be a relative path from the project root if it starts with a slash. Otherwise it’s a path relative to the entry. If this option is omitted, the global `media_folder` option value is used. See our [README](https://github.com/sveltia/sveltia-cms#using-a-custom-media-folder-for-a-collection) for details."},"public_folder":{"type":"string","description":"Public media folder path for an entry collection. This overrides the global `public_folder` option. Default: `media_folder` option value.","markdownDescription":"Public media folder path for an entry collection. This overrides the global `public_folder` option. Default: `media_folder` option value."},"hide":{"type":"boolean","description":"Whether to hide the collection in the UI. Default: `false`.","markdownDescription":"Whether to hide the collection in the UI. Default: `false`."},"publish":{"type":"boolean","description":"Whether to show the publishing control UI for Editorial Workflow. Default: `true`.","markdownDescription":"Whether to show the publishing control UI for Editorial Workflow. Default: `true`."},"format":{"$ref":"#/definitions/FileFormat","description":"File format. It should match the file extension. Default: `yaml-frontmatter`.","markdownDescription":"File format. It should match the file extension. Default: `yaml-frontmatter`."},"frontmatter_delimiter":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Delimiters to be used for the front matter format. Default: depends on the front matter type.","markdownDescription":"Delimiters to be used for the front matter format. Default: depends on the front matter type."},"i18n":{"anyOf":[{"$ref":"#/definitions/I18nOptions"},{"type":"boolean"}],"description":"I18n options. Default: `false`.","markdownDescription":"I18n options. Default: `false`."},"preview_path":{"type":"string","description":"Preview URL path template.","markdownDescription":"Preview URL path template."},"preview_path_date_field":{"type":"string","description":"Date field name used for `preview_path`.","markdownDescription":"Date field name used for `preview_path`."},"editor":{"$ref":"#/definitions/EditorOptions","description":"Editor view options.","markdownDescription":"Editor view options."},"yaml_quote":{"type":"boolean","description":"Whether to double-quote all the strings values if the YAML format is used for file output. Default: `false`.","markdownDescription":"Whether to double-quote all the strings values if the YAML format is used for file output. Default: `false`.","deprecated":true,"deprecationMessage":"Use the global YAML format options. `yaml_quote: true` is equivalent to `quote: double`. See our README https://github.com/sveltia/sveltia-cms#controlling-data-output for details."}},"required":["fields","folder","name"],"description":"Entry collection definition. In Netlify/Decap CMS, an entry collection is called a folder collection.","markdownDescription":"Entry collection definition. In Netlify/Decap CMS, an entry collection is called a folder collection."},"Field":{"anyOf":[{"$ref":"#/definitions/StandardField"},{"$ref":"#/definitions/CustomField"}],"description":"Entry field.","markdownDescription":"Entry field."},"StandardField":{"anyOf":[{"$ref":"#/definitions/BooleanField"},{"$ref":"#/definitions/CodeField"},{"$ref":"#/definitions/ColorField"},{"$ref":"#/definitions/ComputeField"},{"$ref":"#/definitions/DateTimeField"},{"$ref":"#/definitions/FileField"},{"$ref":"#/definitions/HiddenField"},{"$ref":"#/definitions/ImageField"},{"$ref":"#/definitions/KeyValueField"},{"$ref":"#/definitions/ListField"},{"$ref":"#/definitions/MapField"},{"$ref":"#/definitions/MarkdownField"},{"$ref":"#/definitions/NumberField"},{"$ref":"#/definitions/ObjectField"},{"$ref":"#/definitions/RelationField"},{"$ref":"#/definitions/SelectField"},{"$ref":"#/definitions/StringField"},{"$ref":"#/definitions/TextField"},{"$ref":"#/definitions/UuidField"}],"description":"Entry field using a built-in widget.","markdownDescription":"Entry field using a built-in widget."},"BooleanField":{"type":"object","additionalProperties":false,"properties":{"before_input":{"type":"string","description":"An extra label to be displayed before the input UI. Markdown is supported. Default: empty string.","markdownDescription":"An extra label to be displayed before the input UI. Markdown is supported. Default: empty string."},"after_input":{"type":"string","description":"An extra label to be displayed after the input UI. Markdown is supported. Default: empty string.","markdownDescription":"An extra label to be displayed after the input UI. Markdown is supported. Default: empty string."},"widget":{"type":"string","const":"boolean","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"boolean","description":"Default value. Accepts `true` or `false`.","markdownDescription":"Default value. Accepts `true` or `false`."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Boolean field definition.","markdownDescription":"Boolean field definition."},"LocaleCode":{"type":"string","description":"Standard [IETF locale tag](https://en.wikipedia.org/wiki/IETF_language_tag) like `en` or `en-US`.","markdownDescription":"Standard [IETF locale tag](https://en.wikipedia.org/wiki/IETF_language_tag) like `en` or `en-US`."},"CodeField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"code","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{"type":"string"}}],"description":"Default value. It must be a string if `output_code_only` is `false`. Otherwise it must be an object that match the `keys` option.","markdownDescription":"Default value. It must be a string if `output_code_only` is `false`. Otherwise it must be an object that match the `keys` option."},"default_language":{"type":"string","description":"Default language to be selected, like `js`. See the [Prism documentation](https://prismjs.com/#supported-languages) for a list of supported languages. Default: empty string, which is plaintext.","markdownDescription":"Default language to be selected, like `js`. See the [Prism documentation](https://prismjs.com/#supported-languages) for a list of supported languages. Default: empty string, which is plaintext."},"allow_language_selection":{"type":"boolean","description":"Whether to show a language switcher so that users can change the language mode. Default: `true` (the Decap CMS document is wrong).","markdownDescription":"Whether to show a language switcher so that users can change the language mode. Default: `true` (the Decap CMS document is wrong)."},"output_code_only":{"type":"boolean","description":"Whether to output code snippet only. Default: `false`.","markdownDescription":"Whether to output code snippet only. Default: `false`."},"keys":{"type":"object","properties":{"code":{"type":"string"},"lang":{"type":"string"}},"required":["code","lang"],"additionalProperties":false,"description":"Output property names. It has no effect if `output_code_only` is `true`. Default: `{ code: 'code', lang: 'lang' }`.","markdownDescription":"Output property names. It has no effect if `output_code_only` is `true`. Default: `{ code: 'code', lang: 'lang' }`."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Code field definition.","markdownDescription":"Code field definition."},"ColorField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"color","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"string","description":"Default value. Accepts a Hex color code in the six-value (`#RRGGBB`) or eight-value (`#RRGGBBAA`) syntax.","markdownDescription":"Default value. Accepts a Hex color code in the six-value (`#RRGGBB`) or eight-value (`#RRGGBBAA`) syntax."},"allowInput":{"type":"boolean","description":"Whether to show a textbox that allows users to manually edit the value. Default: `false`.","markdownDescription":"Whether to show a textbox that allows users to manually edit the value. Default: `false`."},"enableAlpha":{"type":"boolean","description":"Whether to edit/save the alpha channel value. Default: `false`.","markdownDescription":"Whether to edit/save the alpha channel value. Default: `false`."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Color field definition.","markdownDescription":"Color field definition."},"ComputeField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"compute","description":"Widget name.","markdownDescription":"Widget name."},"value":{"type":"string","description":"Value template, like `posts-{{fields.slug}}`.","markdownDescription":"Value template, like `posts-{{fields.slug}}`."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","value","widget"],"description":"Compute field definition.","markdownDescription":"Compute field definition."},"DateTimeField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"datetime","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"string","description":"Default value. Accepts a date/time string that matches the `format`, or `{{now}}` to populate the current date/time. Default: empty string.","markdownDescription":"Default value. Accepts a date/time string that matches the `format`, or `{{now}}` to populate the current date/time. Default: empty string."},"format":{"type":"string","description":"Storage format written in [Day.js tokens](https://day.js.org/docs/en/display/format). Default: ISO 8601 format.","markdownDescription":"Storage format written in [Day.js tokens](https://day.js.org/docs/en/display/format). Default: ISO 8601 format."},"date_format":{"type":["string","boolean"],"description":"Date storage format written in [Day.js tokens](https://day.js.org/docs/en/display/format) if the value is a string and the `format` option is not defined. If `true`, ISO 8601 format is used unless the `format` option is defined. If `false`, date input/output is disabled.","markdownDescription":"Date storage format written in [Day.js tokens](https://day.js.org/docs/en/display/format) if the value is a string and the `format` option is not defined. If `true`, ISO 8601 format is used unless the `format` option is defined. If `false`, date input/output is disabled."},"time_format":{"type":["string","boolean"],"description":"Time storage format written in [Day.js tokens](https://day.js.org/docs/en/display/format) if the value is a string and the `format` option is not defined. If `true`, ISO 8601 format is used unless the `format` option is defined. If `false`, time input/output is disabled.","markdownDescription":"Time storage format written in [Day.js tokens](https://day.js.org/docs/en/display/format) if the value is a string and the `format` option is not defined. If `true`, ISO 8601 format is used unless the `format` option is defined. If `false`, time input/output is disabled."},"picker_utc":{"type":"boolean","description":"Whether to make the date input/output UTC. Default: `false`.","markdownDescription":"Whether to make the date input/output UTC. Default: `false`."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"DateTime field definition.","markdownDescription":"DateTime field definition."},"FileField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"file","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Default value. Accepts a file path or complete URL. If the `multiple` option is set to `true`, it accepts an array of file paths or URLs.","markdownDescription":"Default value. Accepts a file path or complete URL. If the `multiple` option is set to `true`, it accepts an array of file paths or URLs."},"multiple":{"type":"boolean","description":"Whether to allow multiple file selection for the field. Default: `false`.","markdownDescription":"Whether to allow multiple file selection for the field. Default: `false`."},"min":{"type":"number","description":"Minimum number of files that can be selected. Ignored unless the `multiple` option is set to `true`. Default: `0`.","markdownDescription":"Minimum number of files that can be selected. Ignored unless the `multiple` option is set to `true`. Default: `0`."},"max":{"type":"number","description":"Maximum number of files that can be selected. Ignored unless the `multiple` option is set to `true`. Default: `Infinity`.","markdownDescription":"Maximum number of files that can be selected. Ignored unless the `multiple` option is set to `true`. Default: `Infinity`."},"accept":{"type":"string","description":"File types that the field should accept. The value would be a comma-separated list of unique file type specifiers, the format used for the HTML [`accept`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/accept) attribute.","markdownDescription":"File types that the field should accept. The value would be a comma-separated list of unique file type specifiers, the format used for the HTML [`accept`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/accept) attribute."},"choose_url":{"type":"boolean","description":"Whether to show the URL input UI. Default: `true`.","markdownDescription":"Whether to show the URL input UI. Default: `true`."},"media_folder":{"type":"string","description":"Internal media folder path for the field. Default: global or collection-level `media_folder` value.","markdownDescription":"Internal media folder path for the field. Default: global or collection-level `media_folder` value."},"public_folder":{"type":"string","description":"Public media folder path for the field. Default: `media_folder` option value.","markdownDescription":"Public media folder path for the field. Default: `media_folder` option value."},"media_library":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"config":{"$ref":"#/definitions/DefaultMediaLibraryConfig","description":"Configuration for the default media library.","markdownDescription":"Configuration for the default media library."}}},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"output_filename_only":{"type":"boolean","description":"Whether to output a file name instead of a full URL. Default: `false`.","markdownDescription":"Whether to output a file name instead of a full URL. Default: `false`."},"use_transformations":{"type":"boolean","description":"Whether to include transformation segments in an output URL. Default: `true`.","markdownDescription":"Whether to include transformation segments in an output URL. Default: `true`."},"config":{"type":"object","description":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget.","markdownDescription":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget."}}},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"config":{"type":"object","description":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader.","markdownDescription":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader."},"settings":{"$ref":"#/definitions/UploadcareMediaLibrarySettings","description":"Integration settings.","markdownDescription":"Integration settings."}}},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"providers":{"type":"array","items":{"$ref":"#/definitions/StockAssetProviderName"},"description":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers.","markdownDescription":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers."}}}],"description":"Legacy media library option that allows only one library. This overrides the global `media_library` option. Use `media_libraries` instead to support multiple libraries.","markdownDescription":"Legacy media library option that allows only one library. This overrides the global `media_library` option. Use `media_libraries` instead to support multiple libraries."},"media_libraries":{"$ref":"#/definitions/MediaLibraries","description":"Unified media library option that supports multiple libraries. This overrides the global `media_libraries` option.","markdownDescription":"Unified media library option that supports multiple libraries. This overrides the global `media_libraries` option."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"File field definition.","markdownDescription":"File field definition."},"HiddenField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"hidden","description":"Widget name.","markdownDescription":"Widget name."},"default":{"description":"Default value. Accepts any data type that can be stored with the configured file format.","markdownDescription":"Default value. Accepts any data type that can be stored with the configured file format."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Hidden field definition.","markdownDescription":"Hidden field definition."},"ImageField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"image","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Default value. Accepts a file path or complete URL. If the `multiple` option is set to `true`, it accepts an array of file paths or URLs.","markdownDescription":"Default value. Accepts a file path or complete URL. If the `multiple` option is set to `true`, it accepts an array of file paths or URLs."},"multiple":{"type":"boolean","description":"Whether to allow multiple file selection for the field. Default: `false`.","markdownDescription":"Whether to allow multiple file selection for the field. Default: `false`."},"min":{"type":"number","description":"Minimum number of files that can be selected. Ignored unless the `multiple` option is set to `true`. Default: `0`.","markdownDescription":"Minimum number of files that can be selected. Ignored unless the `multiple` option is set to `true`. Default: `0`."},"max":{"type":"number","description":"Maximum number of files that can be selected. Ignored unless the `multiple` option is set to `true`. Default: `Infinity`.","markdownDescription":"Maximum number of files that can be selected. Ignored unless the `multiple` option is set to `true`. Default: `Infinity`."},"accept":{"type":"string","description":"File types that the field should accept. The value would be a comma-separated list of unique file type specifiers, the format used for the HTML [`accept`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/accept) attribute.","markdownDescription":"File types that the field should accept. The value would be a comma-separated list of unique file type specifiers, the format used for the HTML [`accept`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/accept) attribute."},"choose_url":{"type":"boolean","description":"Whether to show the URL input UI. Default: `true`.","markdownDescription":"Whether to show the URL input UI. Default: `true`."},"media_folder":{"type":"string","description":"Internal media folder path for the field. Default: global or collection-level `media_folder` value.","markdownDescription":"Internal media folder path for the field. Default: global or collection-level `media_folder` value."},"public_folder":{"type":"string","description":"Public media folder path for the field. Default: `media_folder` option value.","markdownDescription":"Public media folder path for the field. Default: `media_folder` option value."},"media_library":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"config":{"$ref":"#/definitions/DefaultMediaLibraryConfig","description":"Configuration for the default media library.","markdownDescription":"Configuration for the default media library."}}},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"output_filename_only":{"type":"boolean","description":"Whether to output a file name instead of a full URL. Default: `false`.","markdownDescription":"Whether to output a file name instead of a full URL. Default: `false`."},"use_transformations":{"type":"boolean","description":"Whether to include transformation segments in an output URL. Default: `true`.","markdownDescription":"Whether to include transformation segments in an output URL. Default: `true`."},"config":{"type":"object","description":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget.","markdownDescription":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget."}}},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"config":{"type":"object","description":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader.","markdownDescription":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader."},"settings":{"$ref":"#/definitions/UploadcareMediaLibrarySettings","description":"Integration settings.","markdownDescription":"Integration settings."}}},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"providers":{"type":"array","items":{"$ref":"#/definitions/StockAssetProviderName"},"description":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers.","markdownDescription":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers."}}}],"description":"Legacy media library option that allows only one library. This overrides the global `media_library` option. Use `media_libraries` instead to support multiple libraries.","markdownDescription":"Legacy media library option that allows only one library. This overrides the global `media_library` option. Use `media_libraries` instead to support multiple libraries."},"media_libraries":{"$ref":"#/definitions/MediaLibraries","description":"Unified media library option that supports multiple libraries. This overrides the global `media_libraries` option.","markdownDescription":"Unified media library option that supports multiple libraries. This overrides the global `media_libraries` option."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Image field definition.","markdownDescription":"Image field definition."},"KeyValueField":{"type":"object","additionalProperties":false,"properties":{"min":{"type":"number","description":"Minimum number of items that can be added. Default: `0`.","markdownDescription":"Minimum number of items that can be added. Default: `0`."},"max":{"type":"number","description":"Maximum number of items that can be added. Default: `Infinity`.","markdownDescription":"Maximum number of items that can be added. Default: `Infinity`."},"widget":{"type":"string","const":"keyvalue","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"object","additionalProperties":{"type":"string"},"description":"Default key-value pairs.","markdownDescription":"Default key-value pairs."},"key_label":{"type":"string","description":"Label for the key column. Default: Key.","markdownDescription":"Label for the key column. Default: Key."},"value_label":{"type":"string","description":"Label for the value column. Default: Value.","markdownDescription":"Label for the value column. Default: Value."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"KeyValue field definition.","markdownDescription":"KeyValue field definition."},"ListField":{"anyOf":[{"$ref":"#/definitions/SimpleListField"},{"$ref":"#/definitions/ComplexListField"}],"description":"List field definition.","markdownDescription":"List field definition."},"SimpleListField":{"type":"object","additionalProperties":false,"properties":{"min":{"type":"number","description":"Minimum number of items that can be added. Default: `0`.","markdownDescription":"Minimum number of items that can be added. Default: `0`."},"max":{"type":"number","description":"Maximum number of items that can be added. Default: `Infinity`.","markdownDescription":"Maximum number of items that can be added. Default: `Infinity`."},"widget":{"type":"string","const":"list","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"object"}},{"type":"object"}],"description":"Default value. The format depends on how the field is configured, with or without `field`, `fields` or `types`. See the document for details.","markdownDescription":"Default value. The format depends on how the field is configured, with or without `field`, `fields` or `types`. See the document for details."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Simple List field definition with primitive item types.","markdownDescription":"Simple List field definition with primitive item types."},"ComplexListField":{"anyOf":[{"$ref":"#/definitions/ListFieldWithSubField"},{"$ref":"#/definitions/ListFieldWithSubFields"},{"$ref":"#/definitions/ListFieldWithTypes"}],"description":"List field definition with complex items.","markdownDescription":"List field definition with complex items."},"ListFieldWithSubField":{"type":"object","additionalProperties":false,"properties":{"field":{"$ref":"#/definitions/Field","description":"Single field to be included in a list item.","markdownDescription":"Single field to be included in a list item."},"allow_add":{"type":"boolean","description":"Whether to allow users to add new items to the list. Default: `true`.","markdownDescription":"Whether to allow users to add new items to the list. Default: `true`."},"allow_remove":{"type":"boolean","description":"Whether to allow users to remove items from the list. Default: `true`.","markdownDescription":"Whether to allow users to remove items from the list. Default: `true`."},"allow_reorder":{"type":"boolean","description":"Whether to allow users to reorder items in the list. Default: `true`.","markdownDescription":"Whether to allow users to reorder items in the list. Default: `true`."},"add_to_top":{"type":"boolean","description":"Whether to add new items to the top of the list instead of the bottom. Default: `false`.","markdownDescription":"Whether to add new items to the top of the list instead of the bottom. Default: `false`."},"label_singular":{"type":"string","description":"Label to be displayed on the Add button. Default: `label` field value.","markdownDescription":"Label to be displayed on the Add button. Default: `label` field value."},"summary":{"type":"string","description":"Template of a label to be displayed on a collapsed list item.","markdownDescription":"Template of a label to be displayed on a collapsed list item."},"thumbnail":{"type":"string","description":"Subfield name to be used as a thumbnail image for a list item. It will be displayed along with the summary label when the item is collapsed. The subfield must be an Image field. Default: none.","markdownDescription":"Subfield name to be used as a thumbnail image for a list item. It will be displayed along with the summary label when the item is collapsed. The subfield must be an Image field. Default: none."},"collapsed":{"anyOf":[{"type":"boolean"},{"type":"string","const":"auto"}],"description":"Whether to collapse the list items by default. Default: `false`. If set to `auto`, the UI is collapsed if the item has any filled subfields and expanded if all the subfields are empty.","markdownDescription":"Whether to collapse the list items by default. Default: `false`. If set to `auto`, the UI is collapsed if the item has any filled subfields and expanded if all the subfields are empty."},"minimize_collapsed":{"anyOf":[{"type":"boolean"},{"type":"string","const":"auto"}],"description":"Whether to collapse the entire list. Default: `false`. If set to `auto`, the UI is collapsed if the list has any items and expanded if it’s empty.","markdownDescription":"Whether to collapse the entire list. Default: `false`. If set to `auto`, the UI is collapsed if the list has any items and expanded if it’s empty."},"root":{"type":"boolean","description":"Whether to save the field value at the top-level of the data file without the field name. If the `single_file` i18n structure is enabled, the lists will still be saved under locale keys. Default: `false`. See our [README](https://github.com/sveltia/sveltia-cms#editing-data-files-with-a-top-level-list) for details.","markdownDescription":"Whether to save the field value at the top-level of the data file without the field name. If the `single_file` i18n structure is enabled, the lists will still be saved under locale keys. Default: `false`. See our [README](https://github.com/sveltia/sveltia-cms#editing-data-files-with-a-top-level-list) for details."},"min":{"type":"number","description":"Minimum number of items that can be added. Default: `0`.","markdownDescription":"Minimum number of items that can be added. Default: `0`."},"max":{"type":"number","description":"Maximum number of items that can be added. Default: `Infinity`.","markdownDescription":"Maximum number of items that can be added. Default: `Infinity`."},"widget":{"type":"string","const":"list","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"object"}},{"type":"object"}],"description":"Default value. The format depends on how the field is configured, with or without `field`, `fields` or `types`. See the document for details.","markdownDescription":"Default value. The format depends on how the field is configured, with or without `field`, `fields` or `types`. See the document for details."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["field","name","widget"],"description":"List field definition with a single subfield.","markdownDescription":"List field definition with a single subfield."},"ListFieldWithSubFields":{"type":"object","additionalProperties":false,"properties":{"fields":{"type":"array","items":{"$ref":"#/definitions/Field"},"description":"Set of fields to be included in a list item.","markdownDescription":"Set of fields to be included in a list item."},"allow_add":{"type":"boolean","description":"Whether to allow users to add new items to the list. Default: `true`.","markdownDescription":"Whether to allow users to add new items to the list. Default: `true`."},"allow_remove":{"type":"boolean","description":"Whether to allow users to remove items from the list. Default: `true`.","markdownDescription":"Whether to allow users to remove items from the list. Default: `true`."},"allow_reorder":{"type":"boolean","description":"Whether to allow users to reorder items in the list. Default: `true`.","markdownDescription":"Whether to allow users to reorder items in the list. Default: `true`."},"add_to_top":{"type":"boolean","description":"Whether to add new items to the top of the list instead of the bottom. Default: `false`.","markdownDescription":"Whether to add new items to the top of the list instead of the bottom. Default: `false`."},"label_singular":{"type":"string","description":"Label to be displayed on the Add button. Default: `label` field value.","markdownDescription":"Label to be displayed on the Add button. Default: `label` field value."},"summary":{"type":"string","description":"Template of a label to be displayed on a collapsed list item.","markdownDescription":"Template of a label to be displayed on a collapsed list item."},"thumbnail":{"type":"string","description":"Subfield name to be used as a thumbnail image for a list item. It will be displayed along with the summary label when the item is collapsed. The subfield must be an Image field. Default: none.","markdownDescription":"Subfield name to be used as a thumbnail image for a list item. It will be displayed along with the summary label when the item is collapsed. The subfield must be an Image field. Default: none."},"collapsed":{"anyOf":[{"type":"boolean"},{"type":"string","const":"auto"}],"description":"Whether to collapse the list items by default. Default: `false`. If set to `auto`, the UI is collapsed if the item has any filled subfields and expanded if all the subfields are empty.","markdownDescription":"Whether to collapse the list items by default. Default: `false`. If set to `auto`, the UI is collapsed if the item has any filled subfields and expanded if all the subfields are empty."},"minimize_collapsed":{"anyOf":[{"type":"boolean"},{"type":"string","const":"auto"}],"description":"Whether to collapse the entire list. Default: `false`. If set to `auto`, the UI is collapsed if the list has any items and expanded if it’s empty.","markdownDescription":"Whether to collapse the entire list. Default: `false`. If set to `auto`, the UI is collapsed if the list has any items and expanded if it’s empty."},"root":{"type":"boolean","description":"Whether to save the field value at the top-level of the data file without the field name. If the `single_file` i18n structure is enabled, the lists will still be saved under locale keys. Default: `false`. See our [README](https://github.com/sveltia/sveltia-cms#editing-data-files-with-a-top-level-list) for details.","markdownDescription":"Whether to save the field value at the top-level of the data file without the field name. If the `single_file` i18n structure is enabled, the lists will still be saved under locale keys. Default: `false`. See our [README](https://github.com/sveltia/sveltia-cms#editing-data-files-with-a-top-level-list) for details."},"min":{"type":"number","description":"Minimum number of items that can be added. Default: `0`.","markdownDescription":"Minimum number of items that can be added. Default: `0`."},"max":{"type":"number","description":"Maximum number of items that can be added. Default: `Infinity`.","markdownDescription":"Maximum number of items that can be added. Default: `Infinity`."},"widget":{"type":"string","const":"list","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"object"}},{"type":"object"}],"description":"Default value. The format depends on how the field is configured, with or without `field`, `fields` or `types`. See the document for details.","markdownDescription":"Default value. The format depends on how the field is configured, with or without `field`, `fields` or `types`. See the document for details."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["fields","name","widget"],"description":"List field definition with multiple subfields.","markdownDescription":"List field definition with multiple subfields."},"ListFieldWithTypes":{"type":"object","additionalProperties":false,"properties":{"types":{"type":"array","items":{"$ref":"#/definitions/VariableFieldType"},"description":"Set of nested Object fields to be selected or added.","markdownDescription":"Set of nested Object fields to be selected or added."},"typeKey":{"type":"string","description":"Property name to store the type name in nested objects. Default: `type`.","markdownDescription":"Property name to store the type name in nested objects. Default: `type`."},"allow_add":{"type":"boolean","description":"Whether to allow users to add new items to the list. Default: `true`.","markdownDescription":"Whether to allow users to add new items to the list. Default: `true`."},"allow_remove":{"type":"boolean","description":"Whether to allow users to remove items from the list. Default: `true`.","markdownDescription":"Whether to allow users to remove items from the list. Default: `true`."},"allow_reorder":{"type":"boolean","description":"Whether to allow users to reorder items in the list. Default: `true`.","markdownDescription":"Whether to allow users to reorder items in the list. Default: `true`."},"add_to_top":{"type":"boolean","description":"Whether to add new items to the top of the list instead of the bottom. Default: `false`.","markdownDescription":"Whether to add new items to the top of the list instead of the bottom. Default: `false`."},"label_singular":{"type":"string","description":"Label to be displayed on the Add button. Default: `label` field value.","markdownDescription":"Label to be displayed on the Add button. Default: `label` field value."},"summary":{"type":"string","description":"Template of a label to be displayed on a collapsed list item.","markdownDescription":"Template of a label to be displayed on a collapsed list item."},"thumbnail":{"type":"string","description":"Subfield name to be used as a thumbnail image for a list item. It will be displayed along with the summary label when the item is collapsed. The subfield must be an Image field. Default: none.","markdownDescription":"Subfield name to be used as a thumbnail image for a list item. It will be displayed along with the summary label when the item is collapsed. The subfield must be an Image field. Default: none."},"collapsed":{"anyOf":[{"type":"boolean"},{"type":"string","const":"auto"}],"description":"Whether to collapse the list items by default. Default: `false`. If set to `auto`, the UI is collapsed if the item has any filled subfields and expanded if all the subfields are empty.","markdownDescription":"Whether to collapse the list items by default. Default: `false`. If set to `auto`, the UI is collapsed if the item has any filled subfields and expanded if all the subfields are empty."},"minimize_collapsed":{"anyOf":[{"type":"boolean"},{"type":"string","const":"auto"}],"description":"Whether to collapse the entire list. Default: `false`. If set to `auto`, the UI is collapsed if the list has any items and expanded if it’s empty.","markdownDescription":"Whether to collapse the entire list. Default: `false`. If set to `auto`, the UI is collapsed if the list has any items and expanded if it’s empty."},"root":{"type":"boolean","description":"Whether to save the field value at the top-level of the data file without the field name. If the `single_file` i18n structure is enabled, the lists will still be saved under locale keys. Default: `false`. See our [README](https://github.com/sveltia/sveltia-cms#editing-data-files-with-a-top-level-list) for details.","markdownDescription":"Whether to save the field value at the top-level of the data file without the field name. If the `single_file` i18n structure is enabled, the lists will still be saved under locale keys. Default: `false`. See our [README](https://github.com/sveltia/sveltia-cms#editing-data-files-with-a-top-level-list) for details."},"min":{"type":"number","description":"Minimum number of items that can be added. Default: `0`.","markdownDescription":"Minimum number of items that can be added. Default: `0`."},"max":{"type":"number","description":"Maximum number of items that can be added. Default: `Infinity`.","markdownDescription":"Maximum number of items that can be added. Default: `Infinity`."},"widget":{"type":"string","const":"list","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"object"}},{"type":"object"}],"description":"Default value. The format depends on how the field is configured, with or without `field`, `fields` or `types`. See the document for details.","markdownDescription":"Default value. The format depends on how the field is configured, with or without `field`, `fields` or `types`. See the document for details."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","types","widget"],"description":"List field definition with variable types.","markdownDescription":"List field definition with variable types."},"VariableFieldType":{"type":"object","properties":{"name":{"type":"string","description":"Unique identifier for the type.","markdownDescription":"Unique identifier for the type."},"label":{"type":"string","description":"Label of the type to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the type to be displayed in the editor UI. Default: `name` field value."},"widget":{"type":"string","const":"object","description":"Widget name. Values other than `object` are ignored.","markdownDescription":"Widget name. Values other than `object` are ignored."},"summary":{"type":"string","description":"Template of a label to be displayed on a collapsed object.","markdownDescription":"Template of a label to be displayed on a collapsed object."},"fields":{"type":"array","items":{"$ref":"#/definitions/Field"},"description":"Set of subfields. This option can be omitted; in that case, only the `type` property will be saved.","markdownDescription":"Set of subfields. This option can be omitted; in that case, only the `type` property will be saved."}},"required":["name"],"additionalProperties":false,"description":"Variable type for List/Object fields.","markdownDescription":"Variable type for List/Object fields."},"MapField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"map","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"string","description":"Default value. Accepts a stringified single [GeoJSON](https://geojson.org/) geometry object that contains `type` and `coordinates` properties.","markdownDescription":"Default value. Accepts a stringified single [GeoJSON](https://geojson.org/) geometry object that contains `type` and `coordinates` properties."},"decimals":{"type":"number","description":"Precision of coordinates to be saved. Default: `7`.","markdownDescription":"Precision of coordinates to be saved. Default: `7`."},"type":{"type":"string","enum":["Point","LineString","Polygon"],"description":"Geometry type. Default: `Point`.","markdownDescription":"Geometry type. Default: `Point`."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Map field definition.","markdownDescription":"Map field definition."},"MarkdownField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"markdown","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"string","description":"Default value.","markdownDescription":"Default value."},"minimal":{"type":"boolean","description":"Whether to minimize the toolbar height.","markdownDescription":"Whether to minimize the toolbar height."},"buttons":{"type":"array","items":{"$ref":"#/definitions/RichTextEditorButtonName"},"description":"Names of formatting buttons and menu items to be enabled in the editor UI. Default: all the supported button names.","markdownDescription":"Names of formatting buttons and menu items to be enabled in the editor UI. Default: all the supported button names."},"editor_components":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/RichTextEditorComponentName"},{"type":"string"}]},"description":"Names of components to be enabled in the editor UI. This may include custom component names. Default: all the built-in component names.","markdownDescription":"Names of components to be enabled in the editor UI. This may include custom component names. Default: all the built-in component names."},"modes":{"type":"array","items":{"$ref":"#/definitions/RichTextEditorMode"},"description":"Editor modes to be enabled. If it’s `[raw, rich_text]`, rich text mode is disabled by default. Default: `[rich_text, raw]`.","markdownDescription":"Editor modes to be enabled. If it’s `[raw, rich_text]`, rich text mode is disabled by default. Default: `[rich_text, raw]`."},"sanitize_preview":{"type":"boolean","description":"Whether to sanitize the preview HTML. Default: `true`. Note that Sveltia CMS has changed the default value from `false` to `true` to enhance security, whereas Netlify/Decap CMS keeps it as `false`. We recommend keeping this option enabled unless disabling it fixes a broken preview and you fully trust all users of your CMS.","markdownDescription":"Whether to sanitize the preview HTML. Default: `true`. Note that Sveltia CMS has changed the default value from `false` to `true` to enhance security, whereas Netlify/Decap CMS keeps it as `false`. We recommend keeping this option enabled unless disabling it fixes a broken preview and you fully trust all users of your CMS."},"linked_images":{"type":"boolean","description":"Whether to enable the linked images feature for the built-in `image` component. Default: `true`. When enabled, the image component provides an additional text field for specifying a URL to wrap the image as a link. The resulting Markdown output will be in the format `[![alt](src)](link)`, where clicking the image navigates to the provided link. This feature can be disabled if it causes conflicts with certain frameworks.","markdownDescription":"Whether to enable the linked images feature for the built-in `image` component. Default: `true`. When enabled, the image component provides an additional text field for specifying a URL to wrap the image as a link. The resulting Markdown output will be in the format `[![alt](src)](link)`, where clicking the image navigates to the provided link. This feature can be disabled if it causes conflicts with certain frameworks."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Markdown field definition.","markdownDescription":"Markdown field definition."},"RichTextEditorButtonName":{"type":"string","enum":["bold","italic","strikethrough","code","link","heading-one","heading-two","heading-three","heading-four","heading-five","heading-six","quote","bulleted-list","numbered-list"],"description":"Supported button name for the rich text editor.","markdownDescription":"Supported button name for the rich text editor."},"RichTextEditorComponentName":{"type":"string","enum":["code-block","image"],"description":"Built-in editor component name for the rich text editor.","markdownDescription":"Built-in editor component name for the rich text editor."},"RichTextEditorMode":{"type":"string","enum":["rich_text","raw"],"description":"Supported mode name for the rich text editor.","markdownDescription":"Supported mode name for the rich text editor."},"NumberField":{"type":"object","additionalProperties":false,"properties":{"before_input":{"type":"string","description":"An extra label to be displayed before the input UI. Markdown is supported. Default: empty string.","markdownDescription":"An extra label to be displayed before the input UI. Markdown is supported. Default: empty string."},"after_input":{"type":"string","description":"An extra label to be displayed after the input UI. Markdown is supported. Default: empty string.","markdownDescription":"An extra label to be displayed after the input UI. Markdown is supported. Default: empty string."},"widget":{"type":"string","const":"number","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":["number","string"],"description":"Default value.","markdownDescription":"Default value."},"value_type":{"type":"string","description":"Type of value to be saved. Default: `int`.","markdownDescription":"Type of value to be saved. Default: `int`."},"min":{"type":"number","description":"Minimum value that can be entered in the input. Default: `-Infinity`.","markdownDescription":"Minimum value that can be entered in the input. Default: `-Infinity`."},"max":{"type":"number","description":"Maximum value that can be entered in the input. Default: `Infinity`.","markdownDescription":"Maximum value that can be entered in the input. Default: `Infinity`."},"step":{"type":"number","description":"Number to increase/decrease with the arrow key/button. Default: `1`.","markdownDescription":"Number to increase/decrease with the arrow key/button. Default: `1`."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Number field definition.","markdownDescription":"Number field definition."},"ObjectField":{"anyOf":[{"$ref":"#/definitions/ObjectFieldWithSubFields"},{"$ref":"#/definitions/ObjectFieldWithTypes"}],"description":"Object field definition.","markdownDescription":"Object field definition."},"ObjectFieldWithSubFields":{"type":"object","additionalProperties":false,"properties":{"fields":{"type":"array","items":{"$ref":"#/definitions/Field"},"description":"Set of fields to be included.","markdownDescription":"Set of fields to be included."},"widget":{"type":"string","const":"object","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"object","description":"Default values.","markdownDescription":"Default values."},"collapsed":{"anyOf":[{"type":"boolean"},{"type":"string","const":"auto"}],"description":"Whether to collapse the object by default. Default: `false`. If set to `auto`, the UI is collapsed if the object has any filled subfields and expanded if all the subfields are empty.","markdownDescription":"Whether to collapse the object by default. Default: `false`. If set to `auto`, the UI is collapsed if the object has any filled subfields and expanded if all the subfields are empty."},"summary":{"type":"string","description":"Template of a label to be displayed on a collapsed object.","markdownDescription":"Template of a label to be displayed on a collapsed object."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["fields","name","widget"],"description":"Object field definition with multiple subfields.","markdownDescription":"Object field definition with multiple subfields."},"ObjectFieldWithTypes":{"type":"object","additionalProperties":false,"properties":{"types":{"type":"array","items":{"$ref":"#/definitions/VariableFieldType"},"description":"Set of nested Object fields to be selected or added.","markdownDescription":"Set of nested Object fields to be selected or added."},"typeKey":{"type":"string","description":"Property name to store the type name in nested objects. Default: `type`.","markdownDescription":"Property name to store the type name in nested objects. Default: `type`."},"widget":{"type":"string","const":"object","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"object","description":"Default values.","markdownDescription":"Default values."},"collapsed":{"anyOf":[{"type":"boolean"},{"type":"string","const":"auto"}],"description":"Whether to collapse the object by default. Default: `false`. If set to `auto`, the UI is collapsed if the object has any filled subfields and expanded if all the subfields are empty.","markdownDescription":"Whether to collapse the object by default. Default: `false`. If set to `auto`, the UI is collapsed if the object has any filled subfields and expanded if all the subfields are empty."},"summary":{"type":"string","description":"Template of a label to be displayed on a collapsed object.","markdownDescription":"Template of a label to be displayed on a collapsed object."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","types","widget"],"description":"Object field definition with variable types.","markdownDescription":"Object field definition with variable types."},"RelationField":{"type":"object","additionalProperties":false,"properties":{"multiple":{"type":"boolean","description":"Whether to accept multiple values. Default: `false`.","markdownDescription":"Whether to accept multiple values. Default: `false`."},"min":{"type":"number","description":"Minimum number of items that can be selected. Ignored if `multiple` is `false`. Default: `0`.","markdownDescription":"Minimum number of items that can be selected. Ignored if `multiple` is `false`. Default: `0`."},"max":{"type":"number","description":"Maximum number of items that can be selected. Ignored if `multiple` is `false`. Default: `Infinity`.","markdownDescription":"Maximum number of items that can be selected. Ignored if `multiple` is `false`. Default: `Infinity`."},"dropdown_threshold":{"type":"number","description":"Maximum number of options to be displayed as radio buttons (single-select) or checkboxes (multi-select) rather than a dropdown list. Default: `5`.","markdownDescription":"Maximum number of options to be displayed as radio buttons (single-select) or checkboxes (multi-select) rather than a dropdown list. Default: `5`."},"widget":{"type":"string","const":"relation","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{},{"type":"array","items":{}}],"description":"Default value(s), which should match the options. When `multiple` is `false`, it should be a single value that matches the `value_field` option.","markdownDescription":"Default value(s), which should match the options. When `multiple` is `false`, it should be a single value that matches the `value_field` option."},"collection":{"type":"string","description":"Referenced collection name. Use `_singletons` for the singleton collection.","markdownDescription":"Referenced collection name. Use `_singletons` for the singleton collection."},"file":{"type":"string","description":"Referenced file identifier for a file/singleton collection. Required if the `collection` is defined.","markdownDescription":"Referenced file identifier for a file/singleton collection. Required if the `collection` is defined."},"value_field":{"anyOf":[{"$ref":"#/definitions/FieldKeyPath"},{"type":"string"}],"description":"Field name to be stored as the value, or `{{slug}}` (entry slug). It can contain a locale prefix like `{{locale}}/{{slug}}` if i18n is enabled. Default: `{{slug}}`.","markdownDescription":"Field name to be stored as the value, or `{{slug}}` (entry slug). It can contain a locale prefix like `{{locale}}/{{slug}}` if i18n is enabled. Default: `{{slug}}`."},"display_fields":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/FieldKeyPath"},{"type":"string"}]},"description":"Name of fields to be displayed. It can contain string templates. Default: `value_field` field value or the referenced collection’s `identifier_field`, which is `title` by default.","markdownDescription":"Name of fields to be displayed. It can contain string templates. Default: `value_field` field value or the referenced collection’s `identifier_field`, which is `title` by default."},"search_fields":{"type":"array","items":{"$ref":"#/definitions/FieldKeyPath"},"description":"Name of fields to be searched. Default: `display_fields` field value.","markdownDescription":"Name of fields to be searched. Default: `display_fields` field value."},"filters":{"type":"array","items":{"$ref":"#/definitions/RelationFieldFilterOptions"},"description":"Entry filter options.","markdownDescription":"Entry filter options."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["collection","name","widget"],"description":"Relation field definition.","markdownDescription":"Relation field definition."},"FieldKeyPath":{"type":"string","description":"An entry field name. It can be written in dot notation like `author.name` if the field is nested with an Object field. For a List subfield, a wildcard can be used like `authors.*.name`. We call this a key path, which is derived from the [IndexedDB API terminology](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Basic_Terminology#key_path), and use it everywhere, as entry data is managed as a [flatten object](https://www.npmjs.com/package/flat) for easier access.","markdownDescription":"An entry field name. It can be written in dot notation like `author.name` if the field is nested with an Object field. For a List subfield, a wildcard can be used like `authors.*.name`. We call this a key path, which is derived from the [IndexedDB API terminology](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Basic_Terminology#key_path), and use it everywhere, as entry data is managed as a [flatten object](https://www.npmjs.com/package/flat) for easier access."},"RelationFieldFilterOptions":{"type":"object","properties":{"field":{"$ref":"#/definitions/FieldKeyPath","description":"Field name.","markdownDescription":"Field name."},"values":{"type":"array","items":{},"description":"One or more values to be matched.","markdownDescription":"One or more values to be matched."}},"required":["field","values"],"additionalProperties":false,"description":"Entry filter options for a Relation field.","markdownDescription":"Entry filter options for a Relation field."},"SelectField":{"type":"object","additionalProperties":false,"properties":{"multiple":{"type":"boolean","description":"Whether to accept multiple values. Default: `false`.","markdownDescription":"Whether to accept multiple values. Default: `false`."},"min":{"type":"number","description":"Minimum number of items that can be selected. Ignored if `multiple` is `false`. Default: `0`.","markdownDescription":"Minimum number of items that can be selected. Ignored if `multiple` is `false`. Default: `0`."},"max":{"type":"number","description":"Maximum number of items that can be selected. Ignored if `multiple` is `false`. Default: `Infinity`.","markdownDescription":"Maximum number of items that can be selected. Ignored if `multiple` is `false`. Default: `Infinity`."},"dropdown_threshold":{"type":"number","description":"Maximum number of options to be displayed as radio buttons (single-select) or checkboxes (multi-select) rather than a dropdown list. Default: `5`.","markdownDescription":"Maximum number of options to be displayed as radio buttons (single-select) or checkboxes (multi-select) rather than a dropdown list. Default: `5`."},"widget":{"type":"string","const":"select","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{"$ref":"#/definitions/SelectFieldValue"},{"type":"array","items":{"$ref":"#/definitions/SelectFieldValue"}}],"description":"Default value that matches one of the options. When `multiple` is `true`, it should be an array of valid values.","markdownDescription":"Default value that matches one of the options. When `multiple` is `true`, it should be an array of valid values."},"options":{"anyOf":[{"type":"array","items":{"$ref":"#/definitions/SelectFieldValue"}},{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"$ref":"#/definitions/SelectFieldValue"}},"required":["label","value"],"additionalProperties":false}}],"description":"Options.","markdownDescription":"Options."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","options","widget"],"description":"Select field definition.","markdownDescription":"Select field definition."},"SelectFieldValue":{"type":["string","number","null"],"description":"Select field option value.","markdownDescription":"Select field option value."},"StringField":{"type":"object","additionalProperties":false,"properties":{"minlength":{"type":"number","description":"Minimum number of characters that can be entered in the input. Default: `0`.","markdownDescription":"Minimum number of characters that can be entered in the input. Default: `0`."},"maxlength":{"type":"number","description":"Maximum number of characters that can be entered in the input. Default: `Infinity`.","markdownDescription":"Maximum number of characters that can be entered in the input. Default: `Infinity`."},"before_input":{"type":"string","description":"An extra label to be displayed before the input UI. Markdown is supported. Default: empty string.","markdownDescription":"An extra label to be displayed before the input UI. Markdown is supported. Default: empty string."},"after_input":{"type":"string","description":"An extra label to be displayed after the input UI. Markdown is supported. Default: empty string.","markdownDescription":"An extra label to be displayed after the input UI. Markdown is supported. Default: empty string."},"widget":{"type":"string","const":"string","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"string","description":"Default value.","markdownDescription":"Default value."},"type":{"type":"string","enum":["text","url","email"],"description":"Data type. It’s useful when the input value needs a validation. Default: `text`.","markdownDescription":"Data type. It’s useful when the input value needs a validation. Default: `text`."},"prefix":{"type":"string","description":"A string to be prepended to the value. Default: empty string.","markdownDescription":"A string to be prepended to the value. Default: empty string."},"suffix":{"type":"string","description":"A string to be appended to the value. Default: empty string.","markdownDescription":"A string to be appended to the value. Default: empty string."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name"],"description":"String field definition.","markdownDescription":"String field definition."},"TextField":{"type":"object","additionalProperties":false,"properties":{"minlength":{"type":"number","description":"Minimum number of characters that can be entered in the input. Default: `0`.","markdownDescription":"Minimum number of characters that can be entered in the input. Default: `0`."},"maxlength":{"type":"number","description":"Maximum number of characters that can be entered in the input. Default: `Infinity`.","markdownDescription":"Maximum number of characters that can be entered in the input. Default: `Infinity`."},"widget":{"type":"string","const":"text","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"string","description":"Default value.","markdownDescription":"Default value."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Text field definition.","markdownDescription":"Text field definition."},"UuidField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"uuid","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"string","description":"Default value.","markdownDescription":"Default value."},"prefix":{"type":"string","description":"A string to be prepended to the value. Default: empty string.","markdownDescription":"A string to be prepended to the value. Default: empty string."},"use_b32_encoding":{"type":"boolean","description":"Whether to encode the value with Base32. Default: `false`.","markdownDescription":"Whether to encode the value with Base32. Default: `false`."},"read_only":{"type":"boolean","description":"Whether to make the field read-only. Default: `true`.","markdownDescription":"Whether to make the field read-only. Default: `true`.","deprecated":true,"deprecationMessage":"Use the `readonly` common field option instead, which defaults to `true` for the UUID widget."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"UUID field definition.","markdownDescription":"UUID field definition."},"CustomField":{"type":"object","properties":{"widget":{"type":"string","description":"Widget name.","markdownDescription":"Widget name.","minLength":1,"not":{"enum":["boolean","code","color","compute","datetime","file","hidden","image","keyvalue","list","map","markdown","number","object","relation","select","string","text","uuid"]}},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Entry field using a custom widget.","markdownDescription":"Entry field using a custom widget."},"CollectionFilter":{"type":"object","properties":{"field":{"$ref":"#/definitions/FieldKeyPath","description":"Field name.","markdownDescription":"Field name."},"value":{"anyOf":[{},{"type":"array","items":{}}],"description":"Field value. `null` can be used to match an undefined field. Multiple values can be defined with an array. This option or `pattern` is required.","markdownDescription":"Field value. `null` can be used to match an undefined field. Multiple values can be defined with an array. This option or `pattern` is required."},"pattern":{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}],"description":"Regular expression matching pattern.","markdownDescription":"Regular expression matching pattern."}},"required":["field"],"additionalProperties":false,"description":"Collection filter options.","markdownDescription":"Collection filter options."},"FileExtension":{"type":"string","description":"Supported file extension. Actually it can be any string.","markdownDescription":"Supported file extension. Actually it can be any string."},"SortableFields":{"type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/definitions/FieldKeyPath"},"description":"A list of sortable field names.","markdownDescription":"A list of sortable field names."},"default":{"$ref":"#/definitions/SortableFieldsDefaultOptions","description":"Default sort settings. See our [README](https://github.com/sveltia/sveltia-cms#specifying-default-sort-field-and-direction) for details.","markdownDescription":"Default sort settings. See our [README](https://github.com/sveltia/sveltia-cms#specifying-default-sort-field-and-direction) for details."}},"required":["fields"],"additionalProperties":false,"description":"A collection’s advanced sortable fields definition, which is compatible with Static CMS.","markdownDescription":"A collection’s advanced sortable fields definition, which is compatible with Static CMS."},"SortableFieldsDefaultOptions":{"type":"object","properties":{"field":{"$ref":"#/definitions/FieldKeyPath","description":"A field name to be sorted by default.","markdownDescription":"A field name to be sorted by default."},"direction":{"type":"string","enum":["ascending","descending","Ascending","Descending","None"],"description":"Default sort direction. Title case values are supported for Static CMS compatibility. However, `None` is the same as `ascending`. Default: `ascending`.","markdownDescription":"Default sort direction. Title case values are supported for Static CMS compatibility. However, `None` is the same as `ascending`. Default: `ascending`."}},"required":["field"],"additionalProperties":false,"description":"The default options for the sortable fields.","markdownDescription":"The default options for the sortable fields."},"ViewFilter":{"type":"object","properties":{"name":{"type":"string","description":"Unique identifier for the filter.","markdownDescription":"Unique identifier for the filter."},"label":{"type":"string","description":"Label.","markdownDescription":"Label."},"field":{"$ref":"#/definitions/FieldKeyPath","description":"Field name.","markdownDescription":"Field name."},"pattern":{"anyOf":[{"type":"string"},{"type":"string","format":"regex"},{"type":"boolean"}],"description":"Regular expression matching pattern or exact value.","markdownDescription":"Regular expression matching pattern or exact value."}},"required":["label","field","pattern"],"additionalProperties":false,"description":"View filter.","markdownDescription":"View filter."},"ViewFilters":{"type":"object","properties":{"filters":{"type":"array","items":{"$ref":"#/definitions/ViewFilter"},"description":"A list of view filters.","markdownDescription":"A list of view filters."},"default":{"type":"string","description":"Default filter name.","markdownDescription":"Default filter name."}},"required":["filters"],"additionalProperties":false,"description":"A collection’s advanced filter definition, which is compatible with Static CMS.","markdownDescription":"A collection’s advanced filter definition, which is compatible with Static CMS."},"ViewGroup":{"type":"object","properties":{"name":{"type":"string","description":"Unique identifier for the group.","markdownDescription":"Unique identifier for the group."},"label":{"type":"string","description":"Label.","markdownDescription":"Label."},"field":{"$ref":"#/definitions/FieldKeyPath","description":"Field name.","markdownDescription":"Field name."},"pattern":{"anyOf":[{"type":"string"},{"type":"string","format":"regex"},{"type":"boolean"}],"description":"Regular expression matching pattern or exact value.","markdownDescription":"Regular expression matching pattern or exact value."}},"required":["label","field"],"additionalProperties":false,"description":"View group.","markdownDescription":"View group."},"ViewGroups":{"type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/definitions/ViewGroup"},"description":"A list of view groups.","markdownDescription":"A list of view groups."},"default":{"type":"string","description":"Default group name.","markdownDescription":"Default group name."}},"required":["groups"],"additionalProperties":false,"description":"A collection’s advanced group definition, which is compatible with Static CMS.","markdownDescription":"A collection’s advanced group definition, which is compatible with Static CMS."},"NestedCollectionOptions":{"type":"object","properties":{"depth":{"type":"number","description":"Maximum depth to show nested items in the collection tree. Default: `Infinity`.","markdownDescription":"Maximum depth to show nested items in the collection tree. Default: `Infinity`."},"summary":{"type":"string","description":"Summary template for a tree item. Default: `{{title}}`.","markdownDescription":"Summary template for a tree item. Default: `{{title}}`."},"subfolders":{"type":"boolean","description":"Whether to include subfolders. Default: `true`.","markdownDescription":"Whether to include subfolders. Default: `true`."}},"additionalProperties":false,"description":"Nested collection options.","markdownDescription":"Nested collection options."},"CollectionMetaData":{"type":"object","properties":{"path":{"$ref":"#/definitions/CollectionMetaDataPath","description":"Entry path options.","markdownDescription":"Entry path options."}},"additionalProperties":false,"description":"Collection meta data.","markdownDescription":"Collection meta data."},"CollectionMetaDataPath":{"type":"object","properties":{"widget":{"type":"string","const":"string","description":"Widget for editing the path name.","markdownDescription":"Widget for editing the path name."},"label":{"type":"string","description":"Label for the path editor.","markdownDescription":"Label for the path editor."},"index_file":{"type":"string","description":"Index file name to be used.","markdownDescription":"Index file name to be used."}},"additionalProperties":false,"description":"Collection meta data’s path options.","markdownDescription":"Collection meta data’s path options."},"CollectionIndexFile":{"type":"object","properties":{"name":{"type":"string","description":"Index file name without a locale or file extension. Default: `_index`, which is used for Hugo’s special index file.","markdownDescription":"Index file name without a locale or file extension. Default: `_index`, which is used for Hugo’s special index file."},"label":{"type":"string","description":"Label to be displayed in the editor UI. Default: Index File or its localized version.","markdownDescription":"Label to be displayed in the editor UI. Default: Index File or its localized version."},"icon":{"type":"string","description":"Name of a [Material Symbols icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the editor UI. Default: `home`.","markdownDescription":"Name of a [Material Symbols icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the editor UI. Default: `home`."},"fields":{"type":"array","items":{"$ref":"#/definitions/Field"},"description":"Set of fields for the index file. If omitted, the regular entry collection `fields` will be used instead.","markdownDescription":"Set of fields for the index file. If omitted, the regular entry collection `fields` will be used instead."},"editor":{"$ref":"#/definitions/EditorOptions","description":"Editor view options.","markdownDescription":"Editor view options."}},"additionalProperties":false,"description":"Index file inclusion options. See our [README](https://github.com/sveltia/sveltia-cms#including-hugos-special-index-file-in-a-folder-collection) for details.","markdownDescription":"Index file inclusion options. See our [README](https://github.com/sveltia/sveltia-cms#including-hugos-special-index-file-in-a-folder-collection) for details."},"EditorOptions":{"type":"object","properties":{"preview":{"type":"boolean","description":"Whether to show the preview pane. Default: `true`.","markdownDescription":"Whether to show the preview pane. Default: `true`."}},"required":["preview"],"additionalProperties":false,"description":"Editor options.","markdownDescription":"Editor options."},"FileFormat":{"anyOf":[{"type":"string","const":"yml"},{"type":"string","const":"yaml"},{"type":"string","const":"toml"},{"type":"string","const":"json"},{"type":"string","const":"frontmatter"},{"$ref":"#/definitions/FrontMatterFormat"}],"description":"Supported file format.","markdownDescription":"Supported file format."},"FrontMatterFormat":{"type":"string","enum":["yaml-frontmatter","toml-frontmatter","json-frontmatter"],"description":"Supported Markdown front matter format.","markdownDescription":"Supported Markdown front matter format."},"I18nOptions":{"type":"object","properties":{"structure":{"$ref":"#/definitions/I18nFileStructure","description":"File structure for entry collections. File/singleton collection must define the structure using `{{locale}}` in the `file` option.","markdownDescription":"File structure for entry collections. File/singleton collection must define the structure using `{{locale}}` in the `file` option."},"locales":{"type":"array","items":{"$ref":"#/definitions/LocaleCode"},"description":"List of all available locales.","markdownDescription":"List of all available locales."},"default_locale":{"$ref":"#/definitions/LocaleCode","description":"Default locale. Default: first locale in the `locales` option.","markdownDescription":"Default locale. Default: first locale in the `locales` option."},"initial_locales":{"anyOf":[{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}},{"type":"string","const":"all"},{"type":"string","const":"default"}],"description":"Locales to be enabled when creating a new entry draft. If this option is used, users will be able to disable the output of non-default locales through the UI. See our [README](https://github.com/sveltia/sveltia-cms#disabling-non-default-locale-content) for details.","markdownDescription":"Locales to be enabled when creating a new entry draft. If this option is used, users will be able to disable the output of non-default locales through the UI. See our [README](https://github.com/sveltia/sveltia-cms#disabling-non-default-locale-content) for details."},"save_all_locales":{"type":"boolean","description":"Whether to save collection entries in all the locales. Default: `true`.","markdownDescription":"Whether to save collection entries in all the locales. Default: `true`.","deprecated":true,"deprecationMessage":"Use the `initial_locales` option instead, which provides more flexibility. `save_all_locales: false` is equivalent to `initial_locales: all`. See our README https://github.com/sveltia/sveltia-cms#disabling-non-default-locale-content for details."},"canonical_slug":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"description":"Property name and value template used to add a canonical slug to entry files, which helps Sveltia CMS and some frameworks to link localized files when entry slugs are localized. The default property name is `translationKey` used in Hugo’s multilingual support, and the default value is the default locale’s slug. See our [README](https://github.com/sveltia/sveltia-cms#localizing-entry-slugs) for details.","markdownDescription":"Property name and value template used to add a canonical slug to entry files, which helps Sveltia CMS and some frameworks to link localized files when entry slugs are localized. The default property name is `translationKey` used in Hugo’s multilingual support, and the default value is the default locale’s slug. See our [README](https://github.com/sveltia/sveltia-cms#localizing-entry-slugs) for details."},"omit_default_locale_from_filename":{"type":"boolean","description":"Whether to exclude the default locale from entry filenames. Default: `false`. This option applies to entry collections with the `multiple_files` i18n structure enabled, as well as to file/singleton collection items with the `file` path ending with `.{{locale}}.<extension>`, aiming to support [Zola’s multilingual sites](https://www.getzola.org/documentation/content/multilingual/).","markdownDescription":"Whether to exclude the default locale from entry filenames. Default: `false`. This option applies to entry collections with the `multiple_files` i18n structure enabled, as well as to file/singleton collection items with the `file` path ending with `.{{locale}}.<extension>`, aiming to support [Zola’s multilingual sites](https://www.getzola.org/documentation/content/multilingual/)."}},"required":["structure","locales"],"additionalProperties":false,"description":"Global, collection-level or collection file-level i18n options.","markdownDescription":"Global, collection-level or collection file-level i18n options."},"I18nFileStructure":{"type":"string","enum":["single_file","multiple_files","multiple_folders","multiple_folders_i18n_root"],"description":"Internationalization (i18n) file structure type.","markdownDescription":"Internationalization (i18n) file structure type."},"FileCollection":{"type":"object","additionalProperties":false,"properties":{"files":{"type":"array","items":{"$ref":"#/definitions/CollectionFile"},"description":"A set of files.","markdownDescription":"A set of files."},"name":{"type":"string","description":"Unique identifier for the collection.","markdownDescription":"Unique identifier for the collection."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` option value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` option value."},"label_singular":{"type":"string","description":"Singular UI label. It will be Blog Post if the `label` is Blog Posts, for example. Default: `label` option value.","markdownDescription":"Singular UI label. It will be Blog Post if the `label` is Blog Posts, for example. Default: `label` option value."},"description":{"type":"string","description":"Short description of the collection to be displayed in the editor UI.","markdownDescription":"Short description of the collection to be displayed in the editor UI."},"icon":{"type":"string","description":"Name of a [Material Symbols icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the collection list.","markdownDescription":"Name of a [Material Symbols icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the collection list."},"media_folder":{"type":"string","description":"Internal media folder path for the collection. This overrides the global `media_folder` option. It can be a relative path from the project root if it starts with a slash. Otherwise it’s a path relative to the entry. If this option is omitted, the global `media_folder` option value is used. See our [README](https://github.com/sveltia/sveltia-cms#using-a-custom-media-folder-for-a-collection) for details.","markdownDescription":"Internal media folder path for the collection. This overrides the global `media_folder` option. It can be a relative path from the project root if it starts with a slash. Otherwise it’s a path relative to the entry. If this option is omitted, the global `media_folder` option value is used. See our [README](https://github.com/sveltia/sveltia-cms#using-a-custom-media-folder-for-a-collection) for details."},"public_folder":{"type":"string","description":"Public media folder path for an entry collection. This overrides the global `public_folder` option. Default: `media_folder` option value.","markdownDescription":"Public media folder path for an entry collection. This overrides the global `public_folder` option. Default: `media_folder` option value."},"hide":{"type":"boolean","description":"Whether to hide the collection in the UI. Default: `false`.","markdownDescription":"Whether to hide the collection in the UI. Default: `false`."},"publish":{"type":"boolean","description":"Whether to show the publishing control UI for Editorial Workflow. Default: `true`.","markdownDescription":"Whether to show the publishing control UI for Editorial Workflow. Default: `true`."},"format":{"$ref":"#/definitions/FileFormat","description":"File format. It should match the file extension. Default: `yaml-frontmatter`.","markdownDescription":"File format. It should match the file extension. Default: `yaml-frontmatter`."},"frontmatter_delimiter":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Delimiters to be used for the front matter format. Default: depends on the front matter type.","markdownDescription":"Delimiters to be used for the front matter format. Default: depends on the front matter type."},"i18n":{"anyOf":[{"$ref":"#/definitions/I18nOptions"},{"type":"boolean"}],"description":"I18n options. Default: `false`.","markdownDescription":"I18n options. Default: `false`."},"preview_path":{"type":"string","description":"Preview URL path template.","markdownDescription":"Preview URL path template."},"preview_path_date_field":{"type":"string","description":"Date field name used for `preview_path`.","markdownDescription":"Date field name used for `preview_path`."},"editor":{"$ref":"#/definitions/EditorOptions","description":"Editor view options.","markdownDescription":"Editor view options."},"yaml_quote":{"type":"boolean","description":"Whether to double-quote all the strings values if the YAML format is used for file output. Default: `false`.","markdownDescription":"Whether to double-quote all the strings values if the YAML format is used for file output. Default: `false`.","deprecated":true,"deprecationMessage":"Use the global YAML format options. `yaml_quote: true` is equivalent to `quote: double`. See our README https://github.com/sveltia/sveltia-cms#controlling-data-output for details."}},"required":["files","name"],"description":"File collection definition.","markdownDescription":"File collection definition."},"CollectionFile":{"type":"object","properties":{"name":{"type":"string","description":"Unique identifier for the file.","markdownDescription":"Unique identifier for the file."},"label":{"type":"string","description":"Label to be displayed in the editor UI. Default: `name` option value.","markdownDescription":"Label to be displayed in the editor UI. Default: `name` option value."},"icon":{"type":"string","description":"Name of a [Material Symbols icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the collection file list and other places. See our [README](https://github.com/sveltia/sveltia-cms#using-a-custom-icon-for-a-collection) for details.","markdownDescription":"Name of a [Material Symbols icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the collection file list and other places. See our [README](https://github.com/sveltia/sveltia-cms#using-a-custom-icon-for-a-collection) for details."},"file":{"type":"string","description":"File path relative to the project root.","markdownDescription":"File path relative to the project root."},"fields":{"type":"array","items":{"$ref":"#/definitions/Field"},"description":"Set of fields to be included in the file.","markdownDescription":"Set of fields to be included in the file."},"media_folder":{"type":"string","description":"Internal media folder path for the collection. This overrides the global or collection-level `media_folder` option.","markdownDescription":"Internal media folder path for the collection. This overrides the global or collection-level `media_folder` option."},"public_folder":{"type":"string","description":"Public media folder path for an entry collection. This overrides the global or collection-level `public_folder` option. Default: `media_folder` option value.","markdownDescription":"Public media folder path for an entry collection. This overrides the global or collection-level `public_folder` option. Default: `media_folder` option value."},"format":{"$ref":"#/definitions/FileFormat","description":"File format. This overrides the collection-level `format` option. Default: `yaml-frontmatter`.","markdownDescription":"File format. This overrides the collection-level `format` option. Default: `yaml-frontmatter`."},"frontmatter_delimiter":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Delimiters to be used for the front matter format. This overrides the collection-level `frontmatter_delimiter` option. Default: depends on the front matter type.","markdownDescription":"Delimiters to be used for the front matter format. This overrides the collection-level `frontmatter_delimiter` option. Default: depends on the front matter type."},"i18n":{"anyOf":[{"$ref":"#/definitions/I18nOptions"},{"type":"boolean"}],"description":"I18n options. Default: `false`.","markdownDescription":"I18n options. Default: `false`."},"preview_path":{"type":"string","description":"Preview URL path template.","markdownDescription":"Preview URL path template."},"preview_path_date_field":{"$ref":"#/definitions/FieldKeyPath","description":"Date field name used for `preview_path`.","markdownDescription":"Date field name used for `preview_path`."},"editor":{"$ref":"#/definitions/EditorOptions","description":"Editor view options.","markdownDescription":"Editor view options."}},"required":["name","file","fields"],"additionalProperties":false,"description":"Single file in a file/singleton collection.","markdownDescription":"Single file in a file/singleton collection."},"CollectionDivider":{"type":"object","properties":{"name":{"type":"string","description":"Unique identifier for the divider. Can be omitted, but it must be unique across all the collections and singletons. This property is included here because in the previous version of Sveltia CMS, a divider was defined as a collection with the `divider` option set to `true`, and the `name` option was required.","markdownDescription":"Unique identifier for the divider. Can be omitted, but it must be unique across all the collections and singletons. This property is included here because in the previous version of Sveltia CMS, a divider was defined as a collection with the `divider` option set to `true`, and the `name` option was required."},"divider":{"type":"boolean","description":"Whether to make this collection a divider UI in the collection list. It must be `true` to be used as a divider.","markdownDescription":"Whether to make this collection a divider UI in the collection list. It must be `true` to be used as a divider."}},"required":["divider"],"additionalProperties":false,"description":"A divider in the collection list and singleton list. See our [README](https://github.com/sveltia/sveltia-cms#adding-dividers-to-the-collection-list) for details.","markdownDescription":"A divider in the collection list and singleton list. See our [README](https://github.com/sveltia/sveltia-cms#adding-dividers-to-the-collection-list) for details."},"OutputOptions":{"type":"object","properties":{"omit_empty_optional_fields":{"type":"boolean","description":"Whether to prevent fields with `required: false` and an empty value from being included in entry data output. Default: `false`.","markdownDescription":"Whether to prevent fields with `required: false` and an empty value from being included in entry data output. Default: `false`."},"encode_file_path":{"type":"boolean","description":"Whether to encode the file path in File/Image fields. Default: `false`. This is useful when a file path contains special characters that need to be URL-encoded, such as spaces and parentheses. For example, `Hello World (1).webp` would be `Hello%20World%20%281%29.webp`. In general, File/Image fields should contain the original file path, and web-specific encoding should be done in the front-end code.","markdownDescription":"Whether to encode the file path in File/Image fields. Default: `false`. This is useful when a file path contains special characters that need to be URL-encoded, such as spaces and parentheses. For example, `Hello World (1).webp` would be `Hello%20World%20%281%29.webp`. In general, File/Image fields should contain the original file path, and web-specific encoding should be done in the front-end code."},"json":{"$ref":"#/definitions/JsonFormatOptions","description":"JSON format options.","markdownDescription":"JSON format options."},"yaml":{"$ref":"#/definitions/YamlFormatOptions","description":"YAML format options.","markdownDescription":"YAML format options."}},"additionalProperties":false,"description":"Data output options.","markdownDescription":"Data output options."},"JsonFormatOptions":{"type":"object","properties":{"indent_style":{"type":"string","enum":["space","tab"],"description":"Indent style. Default: 'space'.","markdownDescription":"Indent style. Default: 'space'."},"indent_size":{"type":"number","description":"Indent size. Default: `2`.","markdownDescription":"Indent size. Default: `2`."}},"additionalProperties":false,"description":"JSON format options.","markdownDescription":"JSON format options."},"YamlFormatOptions":{"type":"object","properties":{"indent_size":{"type":"number","description":"Indent size. Default: `2`.","markdownDescription":"Indent size. Default: `2`."},"indent_sequences":{"type":"boolean","description":"Whether to indent block sequences. Default: `true`.","markdownDescription":"Whether to indent block sequences. Default: `true`."},"quote":{"type":"string","enum":["none","single","double"],"description":"String value’s default quote type. Default: 'none'.","markdownDescription":"String value’s default quote type. Default: 'none'."}},"additionalProperties":false,"description":"YAML format options.","markdownDescription":"YAML format options."}},"title":"Sveltia CMS Configuration","description":"Sveltia CMS configuration file"}
1
+ {"$schema":"http://json-schema.org/draft-07/schema#","$ref":"#/definitions/CmsConfig","definitions":{"CmsConfig":{"type":"object","properties":{"load_config_file":{"type":"boolean","description":"Whether to load YAML/JSON CMS configuration file(s) when [manually initializing the CMS](https://decapcms.org/docs/manual-initialization/). This works only in the `CMS.init()` method’s `config` option. Default: `true`.","markdownDescription":"Whether to load YAML/JSON CMS configuration file(s) when [manually initializing the CMS](https://decapcms.org/docs/manual-initialization/). This works only in the `CMS.init()` method’s `config` option. Default: `true`."},"backend":{"$ref":"#/definitions/Backend","description":"Backend options.","markdownDescription":"Backend options."},"publish_mode":{"type":"string","enum":["","simple","editorial_workflow"],"description":"Publish mode. An empty string is the same as `simple`. Default: `simple`.","markdownDescription":"Publish mode. An empty string is the same as `simple`. Default: `simple`."},"media_folder":{"type":"string","description":"Global internal media folder path, relative to the project’s root directory. Required unless a cloud media library is configured.","markdownDescription":"Global internal media folder path, relative to the project’s root directory. Required unless a cloud media library is configured."},"public_folder":{"type":"string","description":"Global public media folder path, relative to the project’s public URL. It must be an absolute path starting with `/`. Default: `media_folder` option value.","markdownDescription":"Global public media folder path, relative to the project’s public URL. It must be an absolute path starting with `/`. Default: `media_folder` option value."},"media_library":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"config":{"$ref":"#/definitions/DefaultMediaLibraryConfig","description":"Configuration for the default media library.","markdownDescription":"Configuration for the default media library."}},"required":["name"]},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"output_filename_only":{"type":"boolean","description":"Whether to output a file name instead of a full URL. Default: `false`.","markdownDescription":"Whether to output a file name instead of a full URL. Default: `false`."},"use_transformations":{"type":"boolean","description":"Whether to include transformation segments in an output URL. Default: `true`.","markdownDescription":"Whether to include transformation segments in an output URL. Default: `true`."},"config":{"type":"object","description":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget.","markdownDescription":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget."}},"required":["name"]},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"config":{"type":"object","description":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader.","markdownDescription":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader."},"settings":{"$ref":"#/definitions/UploadcareMediaLibrarySettings","description":"Integration settings.","markdownDescription":"Integration settings."}},"required":["name"]},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"providers":{"type":"array","items":{"$ref":"#/definitions/StockAssetProviderName"},"description":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers.","markdownDescription":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers."}},"required":["name"]}],"description":"Legacy media library option that allows only one library. This overrides the global `media_library` option. Use `media_libraries` instead to support multiple libraries.","markdownDescription":"Legacy media library option that allows only one library. This overrides the global `media_library` option. Use `media_libraries` instead to support multiple libraries."},"media_libraries":{"$ref":"#/definitions/MediaLibraries","description":"Unified media library option that supports multiple libraries. See our [README](https://github.com/sveltia/sveltia-cms#configuring-multiple-media-libraries) for details.","markdownDescription":"Unified media library option that supports multiple libraries. See our [README](https://github.com/sveltia/sveltia-cms#configuring-multiple-media-libraries) for details."},"site_url":{"type":"string","description":"Site URL. Default: current site’s origin ([`location.origin`](https://developer.mozilla.org/en-US/docs/Web/API/Location/origin)).","markdownDescription":"Site URL. Default: current site’s origin ([`location.origin`](https://developer.mozilla.org/en-US/docs/Web/API/Location/origin))."},"display_url":{"type":"string","description":"Site URL linked from the UI. Default: `site_url` option value.","markdownDescription":"Site URL linked from the UI. Default: `site_url` option value."},"logo_url":{"type":"string","description":"Absolute URL or absolute path to the site logo that will be displayed on the entrance page and the browser’s tab (favicon). A square image works best. Default: Sveltia logo.","markdownDescription":"Absolute URL or absolute path to the site logo that will be displayed on the entrance page and the browser’s tab (favicon). A square image works best. Default: Sveltia logo.","deprecated":true,"deprecationMessage":"This option is superseded by the new `logo.src` option. See the Decap CMS doc https://decapcms.org/docs/configuration-options/#custom-logo for details."},"logo":{"$ref":"#/definitions/LogoOptions","description":"Site logo options.","markdownDescription":"Site logo options."},"logout_redirect_url":{"type":"string","description":"URL to redirect users to after logging out.","markdownDescription":"URL to redirect users to after logging out."},"show_preview_links":{"type":"boolean","description":"Whether to show site preview links. Default: `true`.","markdownDescription":"Whether to show site preview links. Default: `true`."},"slug":{"$ref":"#/definitions/SlugOptions","description":"Entry slug options.","markdownDescription":"Entry slug options."},"collections":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/Collection"},{"$ref":"#/definitions/CollectionDivider"}]},"description":"Set of collections. The list can also contain dividers, which are used to group collections in the collection list. Either `collections` or `singletons` option must be defined.","markdownDescription":"Set of collections. The list can also contain dividers, which are used to group collections in the collection list. Either `collections` or `singletons` option must be defined."},"singletons":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/CollectionFile"},{"$ref":"#/definitions/CollectionDivider"}]},"description":"Set of singleton files, such as the CMS configuration file or the homepage file. They are not part of any collection and can be accessed directly through the collection list. The list can also contain dividers. See our [README](https://github.com/sveltia/sveltia-cms#using-singletons) for details.","markdownDescription":"Set of singleton files, such as the CMS configuration file or the homepage file. They are not part of any collection and can be accessed directly through the collection list. The list can also contain dividers. See our [README](https://github.com/sveltia/sveltia-cms#using-singletons) for details."},"i18n":{"$ref":"#/definitions/I18nOptions","description":"Global i18n options.","markdownDescription":"Global i18n options."},"editor":{"$ref":"#/definitions/EditorOptions","description":"Editor view options.","markdownDescription":"Editor view options."},"output":{"$ref":"#/definitions/OutputOptions","description":"Data output options. See our [README](https://github.com/sveltia/sveltia-cms#controlling-data-output) for details.","markdownDescription":"Data output options. See our [README](https://github.com/sveltia/sveltia-cms#controlling-data-output) for details."},"$schema":{"type":"string","format":"uri"}},"required":["backend"],"additionalProperties":false,"description":"CMS configuration.","markdownDescription":"CMS configuration.","oneOf":[{"required":["collections"]},{"required":["singletons"]}]},"Backend":{"anyOf":[{"$ref":"#/definitions/GitBackend"},{"$ref":"#/definitions/TestBackend"}],"description":"Backend options.","markdownDescription":"Backend options."},"GitBackend":{"anyOf":[{"$ref":"#/definitions/GitHubBackend"},{"$ref":"#/definitions/GitLabBackend"},{"$ref":"#/definitions/GiteaBackend"}],"description":"Git-based backend.","markdownDescription":"Git-based backend."},"GitHubBackend":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","const":"github","description":"Backend name.","markdownDescription":"Backend name."},"repo":{"type":"string","description":"Repository identifier: organization/user name and repository name joined by a slash, e.g. `owner/repo`.","markdownDescription":"Repository identifier: organization/user name and repository name joined by a slash, e.g. `owner/repo`."},"api_root":{"type":"string","description":"REST API endpoint for the backend. Required when using GitHub Enterprise Server. Default: `https://api.github.com`.","markdownDescription":"REST API endpoint for the backend. Required when using GitHub Enterprise Server. Default: `https://api.github.com`."},"graphql_api_root":{"type":"string","description":"GraphQL API endpoint for the backend. Default: inferred from `api_root` option value.","markdownDescription":"GraphQL API endpoint for the backend. Default: inferred from `api_root` option value."},"base_url":{"type":"string","description":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://api.netlify.com`.","markdownDescription":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://api.netlify.com`."},"auth_type":{"type":"string","enum":["","pkce"],"description":"OAuth grant type. The default is an empty string, which is authorization code grant. `pkce` is not yet supported.","markdownDescription":"OAuth grant type. The default is an empty string, which is authorization code grant. `pkce` is not yet supported."},"auth_endpoint":{"type":"string","description":"OAuth base URL path. Default: `auth`.","markdownDescription":"OAuth base URL path. Default: `auth`."},"app_id":{"type":"string","description":"OAuth application ID. Required when using PKCE authorization.","markdownDescription":"OAuth application ID. Required when using PKCE authorization."},"cms_label_prefix":{"type":"string","description":"Pull request label prefix for Editorial Workflow. Default: `sveltia-cms/`.","markdownDescription":"Pull request label prefix for Editorial Workflow. Default: `sveltia-cms/`."},"squash_merges":{"type":"boolean","description":"Whether to use squash marge for Editorial Workflow. Default: `false`.","markdownDescription":"Whether to use squash marge for Editorial Workflow. Default: `false`."},"preview_context":{"type":"string","description":"Deploy preview link context.","markdownDescription":"Deploy preview link context."},"open_authoring":{"type":"boolean","description":"Whether to use Open Authoring. Default: `false`.","markdownDescription":"Whether to use Open Authoring. Default: `false`."},"auth_scope":{"type":"string","enum":["repo","public_repo"],"description":"Authentication scope for Open Authoring.","markdownDescription":"Authentication scope for Open Authoring."},"branch":{"type":"string","description":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used.","markdownDescription":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used."},"site_domain":{"type":"string","description":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`).","markdownDescription":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`)."},"commit_messages":{"$ref":"#/definitions/CommitMessages","description":"Custom commit messages.","markdownDescription":"Custom commit messages."},"automatic_deployments":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","deprecated":true,"deprecationMessage":"Use the new `skip_ci` option instead, which is more intuitive. `automatic_deployments: false` is equivalent to `skip_ci: true`, and `automatic_deployments: true` is equivalent to `skip_ci: false`. See our README https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments for details."},"skip_ci":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See our [README](https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments) for details.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See our [README](https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments) for details."}},"required":["name","repo"],"description":"GitHub backend.","markdownDescription":"GitHub backend."},"CommitMessages":{"type":"object","properties":{"create":{"type":"string","description":"Message to be used when a new entry is created.","markdownDescription":"Message to be used when a new entry is created."},"update":{"type":"string","description":"Message to be used when existing entries are updated.","markdownDescription":"Message to be used when existing entries are updated."},"delete":{"type":"string","description":"Message to be used when existing entries are deleted.","markdownDescription":"Message to be used when existing entries are deleted."},"uploadMedia":{"type":"string","description":"Message to be used when new files are uploaded/updated.","markdownDescription":"Message to be used when new files are uploaded/updated."},"deleteMedia":{"type":"string","description":"Message to be used when existing files are deleted.","markdownDescription":"Message to be used when existing files are deleted."},"openAuthoring":{"type":"string","description":"Message to be used when committed via a forked repository.","markdownDescription":"Message to be used when committed via a forked repository."}},"additionalProperties":false,"description":"Custom commit messages.","markdownDescription":"Custom commit messages."},"GitLabBackend":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","const":"gitlab","description":"Backend name.","markdownDescription":"Backend name."},"repo":{"type":"string","description":"Repository identifier: namespace and project name joined by a slash, e.g. `group/project` or `group/subgroup/project`.","markdownDescription":"Repository identifier: namespace and project name joined by a slash, e.g. `group/project` or `group/subgroup/project`."},"api_root":{"type":"string","description":"REST API endpoint for the backend. Required when using a self-hosted GitLab instance. Default: `https://gitlab.com/api/v4`.","markdownDescription":"REST API endpoint for the backend. Required when using a self-hosted GitLab instance. Default: `https://gitlab.com/api/v4`."},"graphql_api_root":{"type":"string","description":"GraphQL API endpoint for the backend. Default: inferred from `api_root` option value.","markdownDescription":"GraphQL API endpoint for the backend. Default: inferred from `api_root` option value."},"base_url":{"type":"string","description":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://gitlab.com`.","markdownDescription":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://gitlab.com`."},"auth_type":{"type":"string","enum":["","pkce"],"description":"OAuth grant type. The default is an empty string, which is authorization code grant. `pkce` is recommended for better security and easier setup. `implicit` is not supported in Sveltia CMS.","markdownDescription":"OAuth grant type. The default is an empty string, which is authorization code grant. `pkce` is recommended for better security and easier setup. `implicit` is not supported in Sveltia CMS."},"auth_endpoint":{"type":"string","description":"OAuth base URL path. Default: `oauth/authorize`.","markdownDescription":"OAuth base URL path. Default: `oauth/authorize`."},"app_id":{"type":"string","description":"OAuth application ID. Required when using PKCE authorization.","markdownDescription":"OAuth application ID. Required when using PKCE authorization."},"cms_label_prefix":{"type":"string","description":"Pull request label prefix for Editorial Workflow. Default: `sveltia-cms/`.","markdownDescription":"Pull request label prefix for Editorial Workflow. Default: `sveltia-cms/`."},"branch":{"type":"string","description":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used.","markdownDescription":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used."},"site_domain":{"type":"string","description":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`).","markdownDescription":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`)."},"commit_messages":{"$ref":"#/definitions/CommitMessages","description":"Custom commit messages.","markdownDescription":"Custom commit messages."},"automatic_deployments":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","deprecated":true,"deprecationMessage":"Use the new `skip_ci` option instead, which is more intuitive. `automatic_deployments: false` is equivalent to `skip_ci: true`, and `automatic_deployments: true` is equivalent to `skip_ci: false`. See our README https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments for details."},"skip_ci":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See our [README](https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments) for details.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See our [README](https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments) for details."}},"required":["name","repo"],"description":"GitLab backend.","markdownDescription":"GitLab backend."},"GiteaBackend":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","const":"gitea","description":"Backend name.","markdownDescription":"Backend name."},"repo":{"type":"string","description":"Repository identifier: organization/user name and repository name joined by a slash, e.g. `owner/repo`.","markdownDescription":"Repository identifier: organization/user name and repository name joined by a slash, e.g. `owner/repo`."},"api_root":{"type":"string","description":"REST API endpoint for the backend. Required when using a self-hosted Gitea/Forgejo instance. Default: `https://gitea.com/api/v1`.","markdownDescription":"REST API endpoint for the backend. Required when using a self-hosted Gitea/Forgejo instance. Default: `https://gitea.com/api/v1`."},"base_url":{"type":"string","description":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://gitea.com/`.","markdownDescription":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://gitea.com/`."},"auth_endpoint":{"type":"string","description":"OAuth base URL path. Default: `login/oauth/authorize`.","markdownDescription":"OAuth base URL path. Default: `login/oauth/authorize`."},"app_id":{"type":"string","description":"OAuth application ID.","markdownDescription":"OAuth application ID."},"branch":{"type":"string","description":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used.","markdownDescription":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used."},"site_domain":{"type":"string","description":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`).","markdownDescription":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`)."},"commit_messages":{"$ref":"#/definitions/CommitMessages","description":"Custom commit messages.","markdownDescription":"Custom commit messages."},"automatic_deployments":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","deprecated":true,"deprecationMessage":"Use the new `skip_ci` option instead, which is more intuitive. `automatic_deployments: false` is equivalent to `skip_ci: true`, and `automatic_deployments: true` is equivalent to `skip_ci: false`. See our README https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments for details."},"skip_ci":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See our [README](https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments) for details.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See our [README](https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments) for details."}},"required":["app_id","name","repo"],"description":"Gitea/Forgejo backend.","markdownDescription":"Gitea/Forgejo backend."},"TestBackend":{"type":"object","properties":{"name":{"type":"string","const":"test-repo","description":"Backend name.","markdownDescription":"Backend name."}},"required":["name"],"additionalProperties":false,"description":"Test backend.","markdownDescription":"Test backend."},"MediaLibraryName":{"anyOf":[{"type":"string","const":"default"},{"$ref":"#/definitions/CloudMediaLibraryName"},{"type":"string","const":"stock_assets"}],"description":"Supported media library name.","markdownDescription":"Supported media library name."},"CloudMediaLibraryName":{"type":"string","enum":["cloudinary","uploadcare"],"description":"Cloud media library name.","markdownDescription":"Cloud media library name."},"DefaultMediaLibraryConfig":{"type":"object","properties":{"multiple":{"type":"boolean","description":"Whether to allow multiple file selection in the media library. This option is available for compatibility with the Cloudinary and Uploadcare media libraries, but you can simply use the `multiple` option for the File/Image widgets instead.","markdownDescription":"Whether to allow multiple file selection in the media library. This option is available for compatibility with the Cloudinary and Uploadcare media libraries, but you can simply use the `multiple` option for the File/Image widgets instead."},"max_file_size":{"type":"number","description":"Maximum file size in bytes that can be accepted for uploading.","markdownDescription":"Maximum file size in bytes that can be accepted for uploading."},"slugify_filename":{"type":"boolean","description":"Whether to rename an original asset file when saving it, according to the global `slug` option. Default: `false`, meaning that the original file name is kept by default, while Netlify/Decap CMS forces to slugify file names. If set to `true`, for example, `Hello World (1).webp` would be `hello-world-1.webp`.","markdownDescription":"Whether to rename an original asset file when saving it, according to the global `slug` option. Default: `false`, meaning that the original file name is kept by default, while Netlify/Decap CMS forces to slugify file names. If set to `true`, for example, `Hello World (1).webp` would be `hello-world-1.webp`."},"transformations":{"$ref":"#/definitions/FileTransformations","description":"File transformation option map. The key is an original format like `png` or `jpeg`. It can also be `raster_image` that matches any supported raster image format. See our [README](https://github.com/sveltia/sveltia-cms#optimizing-images-for-upload) for details.","markdownDescription":"File transformation option map. The key is an original format like `png` or `jpeg`. It can also be `raster_image` that matches any supported raster image format. See our [README](https://github.com/sveltia/sveltia-cms#optimizing-images-for-upload) for details."}},"additionalProperties":false,"description":"Configuration for the default media library.","markdownDescription":"Configuration for the default media library."},"FileTransformations":{"$ref":"#/definitions/ImageTransformations","description":"File transformation option map.","markdownDescription":"File transformation option map."},"ImageTransformations":{"type":"object","additionalProperties":false,"properties":{"svg":{"$ref":"#/definitions/VectorImageTransformationOptions","description":"SVG image transformation options.","markdownDescription":"SVG image transformation options."},"raster_image":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"Raster image transformation options that apply to any supported raster image format.","markdownDescription":"Raster image transformation options that apply to any supported raster image format."},"avif":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"AVIF image transformation options.","markdownDescription":"AVIF image transformation options."},"gif":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"GIF image transformation options.","markdownDescription":"GIF image transformation options."},"jpeg":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"JPEG image transformation options.","markdownDescription":"JPEG image transformation options."},"png":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"PNG image transformation options.","markdownDescription":"PNG image transformation options."},"webp":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"WebP image transformation options.","markdownDescription":"WebP image transformation options."}},"description":"Image transformation option map.","markdownDescription":"Image transformation option map."},"VectorImageTransformationOptions":{"type":"object","properties":{"optimize":{"type":"boolean","description":"Whether to optimize the image.","markdownDescription":"Whether to optimize the image."}},"additionalProperties":false,"description":"Vector image transformation option map.","markdownDescription":"Vector image transformation option map."},"RasterImageTransformationOptions":{"type":"object","properties":{"format":{"$ref":"#/definitions/RasterImageConversionFormat","description":"New format. Default: `webp`.","markdownDescription":"New format. Default: `webp`."},"quality":{"type":"number","description":"Image quality between 0 and 100. Default: `85`.","markdownDescription":"Image quality between 0 and 100. Default: `85`."},"width":{"type":"number","description":"Max width. Default: original width.","markdownDescription":"Max width. Default: original width."},"height":{"type":"number","description":"Max height. Default: original height.","markdownDescription":"Max height. Default: original height."}},"additionalProperties":false,"description":"Raster image transformation options. See our [README](https://github.com/sveltia/sveltia-cms#optimizing-images-for-upload) for details.","markdownDescription":"Raster image transformation options. See our [README](https://github.com/sveltia/sveltia-cms#optimizing-images-for-upload) for details."},"RasterImageConversionFormat":{"type":"string","const":"webp","description":"Supported raster image conversion format. We don’t support AVIF at this time because no browser supports AVIF encoding natively and `@jsquash/avif` is slow. Meanwhile, browsers other than Safari support WebP encoding and `@jsquash/webp` is relatively fast.","markdownDescription":"Supported raster image conversion format. We don’t support AVIF at this time because no browser supports AVIF encoding natively and `@jsquash/avif` is slow. Meanwhile, browsers other than Safari support WebP encoding and `@jsquash/webp` is relatively fast."},"UploadcareMediaLibrarySettings":{"type":"object","properties":{"autoFilename":{"type":"boolean","description":"Whether to append a file name to an output URL. Default: `false`.","markdownDescription":"Whether to append a file name to an output URL. Default: `false`."},"defaultOperations":{"type":"string","description":"Transformation operations to be included in an output URL. Default: empty string.","markdownDescription":"Transformation operations to be included in an output URL. Default: empty string."}},"additionalProperties":false,"description":"Settings for the [Uploadcare media library](https://decapcms.org/docs/uploadcare/).","markdownDescription":"Settings for the [Uploadcare media library](https://decapcms.org/docs/uploadcare/)."},"StockAssetProviderName":{"type":"string","enum":["pexels","pixabay","unsplash"],"description":"Name of supported stock photo/video provider.","markdownDescription":"Name of supported stock photo/video provider."},"MediaLibraries":{"type":"object","properties":{"default":{"$ref":"#/definitions/DefaultMediaLibrary","description":"Options for the default media library.","markdownDescription":"Options for the default media library."},"cloudinary":{"$ref":"#/definitions/CloudinaryMediaLibrary","description":"Options for the Cloudinary media library.","markdownDescription":"Options for the Cloudinary media library."},"uploadcare":{"$ref":"#/definitions/UploadcareMediaLibrary","description":"Options for the Uploadcare media library.","markdownDescription":"Options for the Uploadcare media library."},"stock_assets":{"$ref":"#/definitions/StockAssetMediaLibrary","description":"Options for the unified stock photo/video media library.","markdownDescription":"Options for the unified stock photo/video media library."}},"additionalProperties":false,"description":"Unified media library option that supports multiple libraries. See our [README](https://github.com/sveltia/sveltia-cms#configuring-multiple-media-libraries) for details.","markdownDescription":"Unified media library option that supports multiple libraries. See our [README](https://github.com/sveltia/sveltia-cms#configuring-multiple-media-libraries) for details."},"DefaultMediaLibrary":{"type":"object","properties":{"config":{"$ref":"#/definitions/DefaultMediaLibraryConfig","description":"Configuration for the default media library.","markdownDescription":"Configuration for the default media library."}},"additionalProperties":false,"description":"Options for the default media library.","markdownDescription":"Options for the default media library."},"CloudinaryMediaLibrary":{"type":"object","properties":{"output_filename_only":{"type":"boolean","description":"Whether to output a file name instead of a full URL. Default: `false`.","markdownDescription":"Whether to output a file name instead of a full URL. Default: `false`."},"use_transformations":{"type":"boolean","description":"Whether to include transformation segments in an output URL. Default: `true`.","markdownDescription":"Whether to include transformation segments in an output URL. Default: `true`."},"config":{"type":"object","description":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget.","markdownDescription":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget."}},"additionalProperties":false,"description":"Options for the [Cloudinary media library](https://decapcms.org/docs/cloudinary/).","markdownDescription":"Options for the [Cloudinary media library](https://decapcms.org/docs/cloudinary/)."},"UploadcareMediaLibrary":{"type":"object","properties":{"config":{"type":"object","description":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader.","markdownDescription":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader."},"settings":{"$ref":"#/definitions/UploadcareMediaLibrarySettings","description":"Integration settings.","markdownDescription":"Integration settings."}},"additionalProperties":false,"description":"Options for the [Uploadcare media library](https://decapcms.org/docs/uploadcare/).","markdownDescription":"Options for the [Uploadcare media library](https://decapcms.org/docs/uploadcare/)."},"StockAssetMediaLibrary":{"type":"object","properties":{"providers":{"type":"array","items":{"$ref":"#/definitions/StockAssetProviderName"},"description":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers.","markdownDescription":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers."}},"additionalProperties":false,"description":"Options for the unified stock photo/video media library.","markdownDescription":"Options for the unified stock photo/video media library."},"LogoOptions":{"type":"object","properties":{"src":{"type":"string","description":"Absolute URL or absolute path to the site logo that will be displayed on the entrance page and the browser’s tab (favicon). A square image works best.","markdownDescription":"Absolute URL or absolute path to the site logo that will be displayed on the entrance page and the browser’s tab (favicon). A square image works best."},"show_in_header":{"type":"boolean","description":"Whether to show the logo in the header. Default: `true`.","markdownDescription":"Whether to show the logo in the header. Default: `true`."}},"required":["src"],"additionalProperties":false,"description":"Custom logo options.","markdownDescription":"Custom logo options."},"SlugOptions":{"type":"object","properties":{"encoding":{"type":"string","enum":["unicode","ascii"],"description":"Encoding option. Default: `unicode`.","markdownDescription":"Encoding option. Default: `unicode`."},"clean_accents":{"type":"boolean","description":"Whether to remove accents. Default: `false`.","markdownDescription":"Whether to remove accents. Default: `false`."},"sanitize_replacement":{"type":"string","description":"String to replace sanitized characters. Default: `-`.","markdownDescription":"String to replace sanitized characters. Default: `-`."},"trim":{"type":"boolean","description":"Whether to trim leading and trailing replacement characters. Default: `true`.","markdownDescription":"Whether to trim leading and trailing replacement characters. Default: `true`."}},"additionalProperties":false,"description":"Entry slug options.","markdownDescription":"Entry slug options."},"Collection":{"anyOf":[{"$ref":"#/definitions/EntryCollection"},{"$ref":"#/definitions/FileCollection"}],"description":"Collection definition.","markdownDescription":"Collection definition."},"EntryCollection":{"type":"object","additionalProperties":false,"properties":{"folder":{"type":"string","description":"Base folder path relative to the project root. It can contain slashes to create subfolders.","markdownDescription":"Base folder path relative to the project root. It can contain slashes to create subfolders."},"fields":{"type":"array","items":{"$ref":"#/definitions/Field"},"description":"Set of fields to be included in entries.","markdownDescription":"Set of fields to be included in entries."},"path":{"type":"string","description":"File path relative to `folder`, without a file extension. It can contain slashes to create subfolders. Default: `{{slug}}`. To use Hugo’s page bundle, set this to `{{slug}}/index`.","markdownDescription":"File path relative to `folder`, without a file extension. It can contain slashes to create subfolders. Default: `{{slug}}`. To use Hugo’s page bundle, set this to `{{slug}}/index`."},"filter":{"$ref":"#/definitions/CollectionFilter","description":"Entry filter.","markdownDescription":"Entry filter."},"create":{"type":"boolean","description":"Whether to allow users to create entries in the collection. Default: `false`.","markdownDescription":"Whether to allow users to create entries in the collection. Default: `false`."},"delete":{"type":"boolean","description":"Whether to allow users to delete entries in the collection. Default: `true`.","markdownDescription":"Whether to allow users to delete entries in the collection. Default: `true`."},"extension":{"$ref":"#/definitions/FileExtension","description":"File extension. Default: `md`.","markdownDescription":"File extension. Default: `md`."},"identifier_field":{"$ref":"#/definitions/FieldKeyPath","description":"Field name to be used as the title and slug of an entry. Default: `title`.","markdownDescription":"Field name to be used as the title and slug of an entry. Default: `title`."},"slug":{"type":"string","description":"Item slug template. Default: `identifier_field` option value. It cannot contain slashes; to organize entries in subfolders, use the `path` option instead. It’s possible to [localize the slug](https://github.com/sveltia/sveltia-cms#localizing-entry-slugs) or [use a random ID](https://github.com/sveltia/sveltia-cms#using-a-random-id-for-an-entry-slug). Also, it’s possible to show a special slug editor field in initial entry drafts by using `{{fields._slug}}` (with an underscore prefix) or `{{fields._slug | localize}}` (to localize the slug).","markdownDescription":"Item slug template. Default: `identifier_field` option value. It cannot contain slashes; to organize entries in subfolders, use the `path` option instead. It’s possible to [localize the slug](https://github.com/sveltia/sveltia-cms#localizing-entry-slugs) or [use a random ID](https://github.com/sveltia/sveltia-cms#using-a-random-id-for-an-entry-slug). Also, it’s possible to show a special slug editor field in initial entry drafts by using `{{fields._slug}}` (with an underscore prefix) or `{{fields._slug | localize}}` (to localize the slug)."},"slug_length":{"type":"number","description":"The maximum number of characters allowed for an entry slug. Default: `Infinity`.","markdownDescription":"The maximum number of characters allowed for an entry slug. Default: `Infinity`."},"summary":{"type":"string","description":"Entry summary template. Default: `identifier_field`.","markdownDescription":"Entry summary template. Default: `identifier_field`."},"sortable_fields":{"anyOf":[{"type":"array","items":{"$ref":"#/definitions/FieldKeyPath"}},{"$ref":"#/definitions/SortableFields"}],"description":"Custom sortable fields. Default: `title`, `name`, `date`, `author` and `description`. For a Git backend, commit author and commit date are also included by default. See our [README](https://github.com/sveltia/sveltia-cms#specifying-default-sort-field-and-direction) for details.","markdownDescription":"Custom sortable fields. Default: `title`, `name`, `date`, `author` and `description`. For a Git backend, commit author and commit date are also included by default. See our [README](https://github.com/sveltia/sveltia-cms#specifying-default-sort-field-and-direction) for details."},"view_filters":{"anyOf":[{"type":"array","items":{"$ref":"#/definitions/ViewFilter"}},{"$ref":"#/definitions/ViewFilters"}],"description":"View filters to be used in the entry list.","markdownDescription":"View filters to be used in the entry list."},"view_groups":{"anyOf":[{"type":"array","items":{"$ref":"#/definitions/ViewGroup"}},{"$ref":"#/definitions/ViewGroups"}],"description":"View groups to be used in the entry list.","markdownDescription":"View groups to be used in the entry list."},"nested":{"$ref":"#/definitions/NestedCollectionOptions","description":"Options for a nested collection.","markdownDescription":"Options for a nested collection."},"meta":{"$ref":"#/definitions/CollectionMetaData","description":"Meta data for a nested collection.","markdownDescription":"Meta data for a nested collection."},"index_file":{"anyOf":[{"$ref":"#/definitions/CollectionIndexFile"},{"type":"boolean"}],"description":"Index file inclusion options. If `true`, the default index file name is `_index`, which is used for Hugo’s special index file. See our [README](https://github.com/sveltia/sveltia-cms#including-hugos-special-index-file-in-a-folder-collection) for details.","markdownDescription":"Index file inclusion options. If `true`, the default index file name is `_index`, which is used for Hugo’s special index file. See our [README](https://github.com/sveltia/sveltia-cms#including-hugos-special-index-file-in-a-folder-collection) for details."},"thumbnail":{"anyOf":[{"type":"boolean"},{"$ref":"#/definitions/FieldKeyPath"},{"type":"array","items":{"$ref":"#/definitions/FieldKeyPath"}}],"description":"Whether to show entry thumbnails in the entry list. Default: `true` (auto-detect image/file fields). Set to `false` to disable, or provide a field key path (e.g., `heroImage.src`) or an array of paths for fallbacks. Supports nested fields with dot notation and wildcards (e.g., `images.*.src`). An empty array equals `false`.","markdownDescription":"Whether to show entry thumbnails in the entry list. Default: `true` (auto-detect image/file fields). Set to `false` to disable, or provide a field key path (e.g., `heroImage.src`) or an array of paths for fallbacks. Supports nested fields with dot notation and wildcards (e.g., `images.*.src`). An empty array equals `false`."},"limit":{"type":"number","description":"The maximum number of entries that can be created in the collection. Default: `Infinity`.","markdownDescription":"The maximum number of entries that can be created in the collection. Default: `Infinity`."},"name":{"type":"string","description":"Unique identifier for the collection.","markdownDescription":"Unique identifier for the collection."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` option value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` option value."},"label_singular":{"type":"string","description":"Singular UI label. It will be Blog Post if the `label` is Blog Posts, for example. Default: `label` option value.","markdownDescription":"Singular UI label. It will be Blog Post if the `label` is Blog Posts, for example. Default: `label` option value."},"description":{"type":"string","description":"Short description of the collection to be displayed in the editor UI.","markdownDescription":"Short description of the collection to be displayed in the editor UI."},"icon":{"type":"string","description":"Name of a [Material Symbols icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the collection list.","markdownDescription":"Name of a [Material Symbols icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the collection list."},"media_folder":{"type":"string","description":"Internal media folder path for the collection. This overrides the global `media_folder` option. It can be a relative path from the project root if it starts with a slash. Otherwise it’s a path relative to the entry. If this option is omitted, the global `media_folder` option value is used. See our [README](https://github.com/sveltia/sveltia-cms#using-a-custom-media-folder-for-a-collection) for details.","markdownDescription":"Internal media folder path for the collection. This overrides the global `media_folder` option. It can be a relative path from the project root if it starts with a slash. Otherwise it’s a path relative to the entry. If this option is omitted, the global `media_folder` option value is used. See our [README](https://github.com/sveltia/sveltia-cms#using-a-custom-media-folder-for-a-collection) for details."},"public_folder":{"type":"string","description":"Public media folder path for an entry collection. This overrides the global `public_folder` option. Default: `media_folder` option value.","markdownDescription":"Public media folder path for an entry collection. This overrides the global `public_folder` option. Default: `media_folder` option value."},"hide":{"type":"boolean","description":"Whether to hide the collection in the UI. Default: `false`.","markdownDescription":"Whether to hide the collection in the UI. Default: `false`."},"publish":{"type":"boolean","description":"Whether to show the publishing control UI for Editorial Workflow. Default: `true`.","markdownDescription":"Whether to show the publishing control UI for Editorial Workflow. Default: `true`."},"format":{"$ref":"#/definitions/FileFormat","description":"File format. It should match the file extension. Default: `yaml-frontmatter`.","markdownDescription":"File format. It should match the file extension. Default: `yaml-frontmatter`."},"frontmatter_delimiter":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Delimiters to be used for the front matter format. Default: depends on the front matter type.","markdownDescription":"Delimiters to be used for the front matter format. Default: depends on the front matter type."},"i18n":{"anyOf":[{"$ref":"#/definitions/I18nOptions"},{"type":"boolean"}],"description":"I18n options. Default: `false`.","markdownDescription":"I18n options. Default: `false`."},"preview_path":{"type":"string","description":"Preview URL path template.","markdownDescription":"Preview URL path template."},"preview_path_date_field":{"type":"string","description":"Date field name used for `preview_path`.","markdownDescription":"Date field name used for `preview_path`."},"editor":{"$ref":"#/definitions/EditorOptions","description":"Editor view options.","markdownDescription":"Editor view options."},"yaml_quote":{"type":"boolean","description":"Whether to double-quote all the strings values if the YAML format is used for file output. Default: `false`.","markdownDescription":"Whether to double-quote all the strings values if the YAML format is used for file output. Default: `false`.","deprecated":true,"deprecationMessage":"Use the global YAML format options. `yaml_quote: true` is equivalent to `quote: double`. See our README https://github.com/sveltia/sveltia-cms#controlling-data-output for details."}},"required":["fields","folder","name"],"description":"Entry collection definition. In Netlify/Decap CMS, an entry collection is called a folder collection.","markdownDescription":"Entry collection definition. In Netlify/Decap CMS, an entry collection is called a folder collection."},"Field":{"anyOf":[{"$ref":"#/definitions/StandardField"},{"$ref":"#/definitions/CustomField"}],"description":"Entry field.","markdownDescription":"Entry field."},"StandardField":{"anyOf":[{"$ref":"#/definitions/BooleanField"},{"$ref":"#/definitions/CodeField"},{"$ref":"#/definitions/ColorField"},{"$ref":"#/definitions/ComputeField"},{"$ref":"#/definitions/DateTimeField"},{"$ref":"#/definitions/FileField"},{"$ref":"#/definitions/HiddenField"},{"$ref":"#/definitions/ImageField"},{"$ref":"#/definitions/KeyValueField"},{"$ref":"#/definitions/ListField"},{"$ref":"#/definitions/MapField"},{"$ref":"#/definitions/MarkdownField"},{"$ref":"#/definitions/NumberField"},{"$ref":"#/definitions/ObjectField"},{"$ref":"#/definitions/RelationField"},{"$ref":"#/definitions/SelectField"},{"$ref":"#/definitions/StringField"},{"$ref":"#/definitions/TextField"},{"$ref":"#/definitions/UuidField"}],"description":"Entry field using a built-in widget.","markdownDescription":"Entry field using a built-in widget."},"BooleanField":{"type":"object","additionalProperties":false,"properties":{"before_input":{"type":"string","description":"An extra label to be displayed before the input UI. Markdown is supported. Default: empty string.","markdownDescription":"An extra label to be displayed before the input UI. Markdown is supported. Default: empty string."},"after_input":{"type":"string","description":"An extra label to be displayed after the input UI. Markdown is supported. Default: empty string.","markdownDescription":"An extra label to be displayed after the input UI. Markdown is supported. Default: empty string."},"widget":{"type":"string","const":"boolean","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"boolean","description":"Default value. Accepts `true` or `false`.","markdownDescription":"Default value. Accepts `true` or `false`."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Boolean field definition.","markdownDescription":"Boolean field definition."},"LocaleCode":{"type":"string","description":"Standard [IETF locale tag](https://en.wikipedia.org/wiki/IETF_language_tag) like `en` or `en-US`.","markdownDescription":"Standard [IETF locale tag](https://en.wikipedia.org/wiki/IETF_language_tag) like `en` or `en-US`."},"CodeField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"code","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":{"type":"string"}}],"description":"Default value. It must be a string if `output_code_only` is `false`. Otherwise it must be an object that match the `keys` option.","markdownDescription":"Default value. It must be a string if `output_code_only` is `false`. Otherwise it must be an object that match the `keys` option."},"default_language":{"type":"string","description":"Default language to be selected, like `js`. See the [Prism documentation](https://prismjs.com/#supported-languages) for a list of supported languages. Default: empty string, which is plaintext.","markdownDescription":"Default language to be selected, like `js`. See the [Prism documentation](https://prismjs.com/#supported-languages) for a list of supported languages. Default: empty string, which is plaintext."},"allow_language_selection":{"type":"boolean","description":"Whether to show a language switcher so that users can change the language mode. Default: `true` (the Decap CMS document is wrong).","markdownDescription":"Whether to show a language switcher so that users can change the language mode. Default: `true` (the Decap CMS document is wrong)."},"output_code_only":{"type":"boolean","description":"Whether to output code snippet only. Default: `false`.","markdownDescription":"Whether to output code snippet only. Default: `false`."},"keys":{"type":"object","properties":{"code":{"type":"string"},"lang":{"type":"string"}},"required":["code","lang"],"additionalProperties":false,"description":"Output property names. It has no effect if `output_code_only` is `true`. Default: `{ code: 'code', lang: 'lang' }`.","markdownDescription":"Output property names. It has no effect if `output_code_only` is `true`. Default: `{ code: 'code', lang: 'lang' }`."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Code field definition.","markdownDescription":"Code field definition."},"ColorField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"color","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"string","description":"Default value. Accepts a Hex color code in the six-value (`#RRGGBB`) or eight-value (`#RRGGBBAA`) syntax.","markdownDescription":"Default value. Accepts a Hex color code in the six-value (`#RRGGBB`) or eight-value (`#RRGGBBAA`) syntax."},"allowInput":{"type":"boolean","description":"Whether to show a textbox that allows users to manually edit the value. Default: `false`.","markdownDescription":"Whether to show a textbox that allows users to manually edit the value. Default: `false`."},"enableAlpha":{"type":"boolean","description":"Whether to edit/save the alpha channel value. Default: `false`.","markdownDescription":"Whether to edit/save the alpha channel value. Default: `false`."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Color field definition.","markdownDescription":"Color field definition."},"ComputeField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"compute","description":"Widget name.","markdownDescription":"Widget name."},"value":{"type":"string","description":"Value template, like `posts-{{fields.slug}}`.","markdownDescription":"Value template, like `posts-{{fields.slug}}`."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","value","widget"],"description":"Compute field definition.","markdownDescription":"Compute field definition."},"DateTimeField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"datetime","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"string","description":"Default value. Accepts a date/time string that matches the `format`, or `{{now}}` to populate the current date/time. Default: empty string.","markdownDescription":"Default value. Accepts a date/time string that matches the `format`, or `{{now}}` to populate the current date/time. Default: empty string."},"format":{"type":"string","description":"Storage format written in [Day.js tokens](https://day.js.org/docs/en/display/format). Default: ISO 8601 format.","markdownDescription":"Storage format written in [Day.js tokens](https://day.js.org/docs/en/display/format). Default: ISO 8601 format."},"date_format":{"type":["string","boolean"],"description":"Date storage format written in [Day.js tokens](https://day.js.org/docs/en/display/format) if the value is a string and the `format` option is not defined. If `true`, ISO 8601 format is used unless the `format` option is defined. If `false`, date input/output is disabled.","markdownDescription":"Date storage format written in [Day.js tokens](https://day.js.org/docs/en/display/format) if the value is a string and the `format` option is not defined. If `true`, ISO 8601 format is used unless the `format` option is defined. If `false`, date input/output is disabled."},"time_format":{"type":["string","boolean"],"description":"Time storage format written in [Day.js tokens](https://day.js.org/docs/en/display/format) if the value is a string and the `format` option is not defined. If `true`, ISO 8601 format is used unless the `format` option is defined. If `false`, time input/output is disabled.","markdownDescription":"Time storage format written in [Day.js tokens](https://day.js.org/docs/en/display/format) if the value is a string and the `format` option is not defined. If `true`, ISO 8601 format is used unless the `format` option is defined. If `false`, time input/output is disabled."},"picker_utc":{"type":"boolean","description":"Whether to make the date input/output UTC. Default: `false`.","markdownDescription":"Whether to make the date input/output UTC. Default: `false`."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"DateTime field definition.","markdownDescription":"DateTime field definition."},"FileField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"file","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Default value. Accepts a file path or complete URL. If the `multiple` option is set to `true`, it accepts an array of file paths or URLs.","markdownDescription":"Default value. Accepts a file path or complete URL. If the `multiple` option is set to `true`, it accepts an array of file paths or URLs."},"multiple":{"type":"boolean","description":"Whether to allow multiple file selection for the field. Default: `false`.","markdownDescription":"Whether to allow multiple file selection for the field. Default: `false`."},"min":{"type":"number","description":"Minimum number of files that can be selected. Ignored unless the `multiple` option is set to `true`. Default: `0`.","markdownDescription":"Minimum number of files that can be selected. Ignored unless the `multiple` option is set to `true`. Default: `0`."},"max":{"type":"number","description":"Maximum number of files that can be selected. Ignored unless the `multiple` option is set to `true`. Default: `Infinity`.","markdownDescription":"Maximum number of files that can be selected. Ignored unless the `multiple` option is set to `true`. Default: `Infinity`."},"accept":{"type":"string","description":"File types that the field should accept. The value would be a comma-separated list of unique file type specifiers, the format used for the HTML [`accept`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/accept) attribute.","markdownDescription":"File types that the field should accept. The value would be a comma-separated list of unique file type specifiers, the format used for the HTML [`accept`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/accept) attribute."},"choose_url":{"type":"boolean","description":"Whether to show the URL input UI. Default: `true`.","markdownDescription":"Whether to show the URL input UI. Default: `true`."},"media_folder":{"type":"string","description":"Internal media folder path for the field. Default: global or collection-level `media_folder` value.","markdownDescription":"Internal media folder path for the field. Default: global or collection-level `media_folder` value."},"public_folder":{"type":"string","description":"Public media folder path for the field. Default: `media_folder` option value.","markdownDescription":"Public media folder path for the field. Default: `media_folder` option value."},"media_library":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"config":{"$ref":"#/definitions/DefaultMediaLibraryConfig","description":"Configuration for the default media library.","markdownDescription":"Configuration for the default media library."}}},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"output_filename_only":{"type":"boolean","description":"Whether to output a file name instead of a full URL. Default: `false`.","markdownDescription":"Whether to output a file name instead of a full URL. Default: `false`."},"use_transformations":{"type":"boolean","description":"Whether to include transformation segments in an output URL. Default: `true`.","markdownDescription":"Whether to include transformation segments in an output URL. Default: `true`."},"config":{"type":"object","description":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget.","markdownDescription":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget."}}},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"config":{"type":"object","description":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader.","markdownDescription":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader."},"settings":{"$ref":"#/definitions/UploadcareMediaLibrarySettings","description":"Integration settings.","markdownDescription":"Integration settings."}}},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"providers":{"type":"array","items":{"$ref":"#/definitions/StockAssetProviderName"},"description":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers.","markdownDescription":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers."}}}],"description":"Legacy media library option that allows only one library. This overrides the global `media_library` option. Use `media_libraries` instead to support multiple libraries.","markdownDescription":"Legacy media library option that allows only one library. This overrides the global `media_library` option. Use `media_libraries` instead to support multiple libraries."},"media_libraries":{"$ref":"#/definitions/MediaLibraries","description":"Unified media library option that supports multiple libraries. This overrides the global `media_libraries` option.","markdownDescription":"Unified media library option that supports multiple libraries. This overrides the global `media_libraries` option."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"File field definition.","markdownDescription":"File field definition."},"HiddenField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"hidden","description":"Widget name.","markdownDescription":"Widget name."},"default":{"description":"Default value. Accepts any data type that can be stored with the configured file format.","markdownDescription":"Default value. Accepts any data type that can be stored with the configured file format."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Hidden field definition.","markdownDescription":"Hidden field definition."},"ImageField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"image","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Default value. Accepts a file path or complete URL. If the `multiple` option is set to `true`, it accepts an array of file paths or URLs.","markdownDescription":"Default value. Accepts a file path or complete URL. If the `multiple` option is set to `true`, it accepts an array of file paths or URLs."},"multiple":{"type":"boolean","description":"Whether to allow multiple file selection for the field. Default: `false`.","markdownDescription":"Whether to allow multiple file selection for the field. Default: `false`."},"min":{"type":"number","description":"Minimum number of files that can be selected. Ignored unless the `multiple` option is set to `true`. Default: `0`.","markdownDescription":"Minimum number of files that can be selected. Ignored unless the `multiple` option is set to `true`. Default: `0`."},"max":{"type":"number","description":"Maximum number of files that can be selected. Ignored unless the `multiple` option is set to `true`. Default: `Infinity`.","markdownDescription":"Maximum number of files that can be selected. Ignored unless the `multiple` option is set to `true`. Default: `Infinity`."},"accept":{"type":"string","description":"File types that the field should accept. The value would be a comma-separated list of unique file type specifiers, the format used for the HTML [`accept`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/accept) attribute.","markdownDescription":"File types that the field should accept. The value would be a comma-separated list of unique file type specifiers, the format used for the HTML [`accept`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/accept) attribute."},"choose_url":{"type":"boolean","description":"Whether to show the URL input UI. Default: `true`.","markdownDescription":"Whether to show the URL input UI. Default: `true`."},"media_folder":{"type":"string","description":"Internal media folder path for the field. Default: global or collection-level `media_folder` value.","markdownDescription":"Internal media folder path for the field. Default: global or collection-level `media_folder` value."},"public_folder":{"type":"string","description":"Public media folder path for the field. Default: `media_folder` option value.","markdownDescription":"Public media folder path for the field. Default: `media_folder` option value."},"media_library":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"config":{"$ref":"#/definitions/DefaultMediaLibraryConfig","description":"Configuration for the default media library.","markdownDescription":"Configuration for the default media library."}}},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"output_filename_only":{"type":"boolean","description":"Whether to output a file name instead of a full URL. Default: `false`.","markdownDescription":"Whether to output a file name instead of a full URL. Default: `false`."},"use_transformations":{"type":"boolean","description":"Whether to include transformation segments in an output URL. Default: `true`.","markdownDescription":"Whether to include transformation segments in an output URL. Default: `true`."},"config":{"type":"object","description":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget.","markdownDescription":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget."}}},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"config":{"type":"object","description":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader.","markdownDescription":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader."},"settings":{"$ref":"#/definitions/UploadcareMediaLibrarySettings","description":"Integration settings.","markdownDescription":"Integration settings."}}},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"providers":{"type":"array","items":{"$ref":"#/definitions/StockAssetProviderName"},"description":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers.","markdownDescription":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers."}}}],"description":"Legacy media library option that allows only one library. This overrides the global `media_library` option. Use `media_libraries` instead to support multiple libraries.","markdownDescription":"Legacy media library option that allows only one library. This overrides the global `media_library` option. Use `media_libraries` instead to support multiple libraries."},"media_libraries":{"$ref":"#/definitions/MediaLibraries","description":"Unified media library option that supports multiple libraries. This overrides the global `media_libraries` option.","markdownDescription":"Unified media library option that supports multiple libraries. This overrides the global `media_libraries` option."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Image field definition.","markdownDescription":"Image field definition."},"KeyValueField":{"type":"object","additionalProperties":false,"properties":{"min":{"type":"number","description":"Minimum number of items that can be added. Default: `0`.","markdownDescription":"Minimum number of items that can be added. Default: `0`."},"max":{"type":"number","description":"Maximum number of items that can be added. Default: `Infinity`.","markdownDescription":"Maximum number of items that can be added. Default: `Infinity`."},"widget":{"type":"string","const":"keyvalue","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"object","additionalProperties":{"type":"string"},"description":"Default key-value pairs.","markdownDescription":"Default key-value pairs."},"key_label":{"type":"string","description":"Label for the key column. Default: Key.","markdownDescription":"Label for the key column. Default: Key."},"value_label":{"type":"string","description":"Label for the value column. Default: Value.","markdownDescription":"Label for the value column. Default: Value."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"KeyValue field definition.","markdownDescription":"KeyValue field definition."},"ListField":{"anyOf":[{"$ref":"#/definitions/SimpleListField"},{"$ref":"#/definitions/ComplexListField"}],"description":"List field definition.","markdownDescription":"List field definition."},"SimpleListField":{"type":"object","additionalProperties":false,"properties":{"min":{"type":"number","description":"Minimum number of items that can be added. Default: `0`.","markdownDescription":"Minimum number of items that can be added. Default: `0`."},"max":{"type":"number","description":"Maximum number of items that can be added. Default: `Infinity`.","markdownDescription":"Maximum number of items that can be added. Default: `Infinity`."},"widget":{"type":"string","const":"list","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"object"}},{"type":"object"}],"description":"Default value. The format depends on how the field is configured, with or without `field`, `fields` or `types`. See the document for details.","markdownDescription":"Default value. The format depends on how the field is configured, with or without `field`, `fields` or `types`. See the document for details."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Simple List field definition with primitive item types.","markdownDescription":"Simple List field definition with primitive item types."},"ComplexListField":{"anyOf":[{"$ref":"#/definitions/ListFieldWithSubField"},{"$ref":"#/definitions/ListFieldWithSubFields"},{"$ref":"#/definitions/ListFieldWithTypes"}],"description":"List field definition with complex items.","markdownDescription":"List field definition with complex items."},"ListFieldWithSubField":{"type":"object","additionalProperties":false,"properties":{"field":{"$ref":"#/definitions/Field","description":"Single field to be included in a list item.","markdownDescription":"Single field to be included in a list item."},"allow_add":{"type":"boolean","description":"Whether to allow users to add new items to the list. Default: `true`.","markdownDescription":"Whether to allow users to add new items to the list. Default: `true`."},"allow_remove":{"type":"boolean","description":"Whether to allow users to remove items from the list. Default: `true`.","markdownDescription":"Whether to allow users to remove items from the list. Default: `true`."},"allow_reorder":{"type":"boolean","description":"Whether to allow users to reorder items in the list. Default: `true`.","markdownDescription":"Whether to allow users to reorder items in the list. Default: `true`."},"add_to_top":{"type":"boolean","description":"Whether to add new items to the top of the list instead of the bottom. Default: `false`.","markdownDescription":"Whether to add new items to the top of the list instead of the bottom. Default: `false`."},"label_singular":{"type":"string","description":"Label to be displayed on the Add button. Default: `label` field value.","markdownDescription":"Label to be displayed on the Add button. Default: `label` field value."},"summary":{"type":"string","description":"Template of a label to be displayed on a collapsed list item.","markdownDescription":"Template of a label to be displayed on a collapsed list item."},"thumbnail":{"type":"string","description":"Subfield name to be used as a thumbnail image for a list item. It will be displayed along with the summary label when the item is collapsed. The subfield must be an Image field. Default: none.","markdownDescription":"Subfield name to be used as a thumbnail image for a list item. It will be displayed along with the summary label when the item is collapsed. The subfield must be an Image field. Default: none."},"collapsed":{"anyOf":[{"type":"boolean"},{"type":"string","const":"auto"}],"description":"Whether to collapse the list items by default. Default: `false`. If set to `auto`, the UI is collapsed if the item has any filled subfields and expanded if all the subfields are empty.","markdownDescription":"Whether to collapse the list items by default. Default: `false`. If set to `auto`, the UI is collapsed if the item has any filled subfields and expanded if all the subfields are empty."},"minimize_collapsed":{"anyOf":[{"type":"boolean"},{"type":"string","const":"auto"}],"description":"Whether to collapse the entire list. Default: `false`. If set to `auto`, the UI is collapsed if the list has any items and expanded if it’s empty.","markdownDescription":"Whether to collapse the entire list. Default: `false`. If set to `auto`, the UI is collapsed if the list has any items and expanded if it’s empty."},"root":{"type":"boolean","description":"Whether to save the field value at the top-level of the data file without the field name. If the `single_file` i18n structure is enabled, the lists will still be saved under locale keys. Default: `false`. See our [README](https://github.com/sveltia/sveltia-cms#editing-data-files-with-a-top-level-list) for details.","markdownDescription":"Whether to save the field value at the top-level of the data file without the field name. If the `single_file` i18n structure is enabled, the lists will still be saved under locale keys. Default: `false`. See our [README](https://github.com/sveltia/sveltia-cms#editing-data-files-with-a-top-level-list) for details."},"min":{"type":"number","description":"Minimum number of items that can be added. Default: `0`.","markdownDescription":"Minimum number of items that can be added. Default: `0`."},"max":{"type":"number","description":"Maximum number of items that can be added. Default: `Infinity`.","markdownDescription":"Maximum number of items that can be added. Default: `Infinity`."},"widget":{"type":"string","const":"list","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"object"}},{"type":"object"}],"description":"Default value. The format depends on how the field is configured, with or without `field`, `fields` or `types`. See the document for details.","markdownDescription":"Default value. The format depends on how the field is configured, with or without `field`, `fields` or `types`. See the document for details."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["field","name","widget"],"description":"List field definition with a single subfield.","markdownDescription":"List field definition with a single subfield."},"ListFieldWithSubFields":{"type":"object","additionalProperties":false,"properties":{"fields":{"type":"array","items":{"$ref":"#/definitions/Field"},"description":"Set of fields to be included in a list item.","markdownDescription":"Set of fields to be included in a list item."},"allow_add":{"type":"boolean","description":"Whether to allow users to add new items to the list. Default: `true`.","markdownDescription":"Whether to allow users to add new items to the list. Default: `true`."},"allow_remove":{"type":"boolean","description":"Whether to allow users to remove items from the list. Default: `true`.","markdownDescription":"Whether to allow users to remove items from the list. Default: `true`."},"allow_reorder":{"type":"boolean","description":"Whether to allow users to reorder items in the list. Default: `true`.","markdownDescription":"Whether to allow users to reorder items in the list. Default: `true`."},"add_to_top":{"type":"boolean","description":"Whether to add new items to the top of the list instead of the bottom. Default: `false`.","markdownDescription":"Whether to add new items to the top of the list instead of the bottom. Default: `false`."},"label_singular":{"type":"string","description":"Label to be displayed on the Add button. Default: `label` field value.","markdownDescription":"Label to be displayed on the Add button. Default: `label` field value."},"summary":{"type":"string","description":"Template of a label to be displayed on a collapsed list item.","markdownDescription":"Template of a label to be displayed on a collapsed list item."},"thumbnail":{"type":"string","description":"Subfield name to be used as a thumbnail image for a list item. It will be displayed along with the summary label when the item is collapsed. The subfield must be an Image field. Default: none.","markdownDescription":"Subfield name to be used as a thumbnail image for a list item. It will be displayed along with the summary label when the item is collapsed. The subfield must be an Image field. Default: none."},"collapsed":{"anyOf":[{"type":"boolean"},{"type":"string","const":"auto"}],"description":"Whether to collapse the list items by default. Default: `false`. If set to `auto`, the UI is collapsed if the item has any filled subfields and expanded if all the subfields are empty.","markdownDescription":"Whether to collapse the list items by default. Default: `false`. If set to `auto`, the UI is collapsed if the item has any filled subfields and expanded if all the subfields are empty."},"minimize_collapsed":{"anyOf":[{"type":"boolean"},{"type":"string","const":"auto"}],"description":"Whether to collapse the entire list. Default: `false`. If set to `auto`, the UI is collapsed if the list has any items and expanded if it’s empty.","markdownDescription":"Whether to collapse the entire list. Default: `false`. If set to `auto`, the UI is collapsed if the list has any items and expanded if it’s empty."},"root":{"type":"boolean","description":"Whether to save the field value at the top-level of the data file without the field name. If the `single_file` i18n structure is enabled, the lists will still be saved under locale keys. Default: `false`. See our [README](https://github.com/sveltia/sveltia-cms#editing-data-files-with-a-top-level-list) for details.","markdownDescription":"Whether to save the field value at the top-level of the data file without the field name. If the `single_file` i18n structure is enabled, the lists will still be saved under locale keys. Default: `false`. See our [README](https://github.com/sveltia/sveltia-cms#editing-data-files-with-a-top-level-list) for details."},"min":{"type":"number","description":"Minimum number of items that can be added. Default: `0`.","markdownDescription":"Minimum number of items that can be added. Default: `0`."},"max":{"type":"number","description":"Maximum number of items that can be added. Default: `Infinity`.","markdownDescription":"Maximum number of items that can be added. Default: `Infinity`."},"widget":{"type":"string","const":"list","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"object"}},{"type":"object"}],"description":"Default value. The format depends on how the field is configured, with or without `field`, `fields` or `types`. See the document for details.","markdownDescription":"Default value. The format depends on how the field is configured, with or without `field`, `fields` or `types`. See the document for details."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["fields","name","widget"],"description":"List field definition with multiple subfields.","markdownDescription":"List field definition with multiple subfields."},"ListFieldWithTypes":{"type":"object","additionalProperties":false,"properties":{"types":{"type":"array","items":{"$ref":"#/definitions/VariableFieldType"},"description":"Set of nested Object fields to be selected or added.","markdownDescription":"Set of nested Object fields to be selected or added."},"typeKey":{"type":"string","description":"Property name to store the type name in nested objects. Default: `type`.","markdownDescription":"Property name to store the type name in nested objects. Default: `type`."},"allow_add":{"type":"boolean","description":"Whether to allow users to add new items to the list. Default: `true`.","markdownDescription":"Whether to allow users to add new items to the list. Default: `true`."},"allow_remove":{"type":"boolean","description":"Whether to allow users to remove items from the list. Default: `true`.","markdownDescription":"Whether to allow users to remove items from the list. Default: `true`."},"allow_reorder":{"type":"boolean","description":"Whether to allow users to reorder items in the list. Default: `true`.","markdownDescription":"Whether to allow users to reorder items in the list. Default: `true`."},"add_to_top":{"type":"boolean","description":"Whether to add new items to the top of the list instead of the bottom. Default: `false`.","markdownDescription":"Whether to add new items to the top of the list instead of the bottom. Default: `false`."},"label_singular":{"type":"string","description":"Label to be displayed on the Add button. Default: `label` field value.","markdownDescription":"Label to be displayed on the Add button. Default: `label` field value."},"summary":{"type":"string","description":"Template of a label to be displayed on a collapsed list item.","markdownDescription":"Template of a label to be displayed on a collapsed list item."},"thumbnail":{"type":"string","description":"Subfield name to be used as a thumbnail image for a list item. It will be displayed along with the summary label when the item is collapsed. The subfield must be an Image field. Default: none.","markdownDescription":"Subfield name to be used as a thumbnail image for a list item. It will be displayed along with the summary label when the item is collapsed. The subfield must be an Image field. Default: none."},"collapsed":{"anyOf":[{"type":"boolean"},{"type":"string","const":"auto"}],"description":"Whether to collapse the list items by default. Default: `false`. If set to `auto`, the UI is collapsed if the item has any filled subfields and expanded if all the subfields are empty.","markdownDescription":"Whether to collapse the list items by default. Default: `false`. If set to `auto`, the UI is collapsed if the item has any filled subfields and expanded if all the subfields are empty."},"minimize_collapsed":{"anyOf":[{"type":"boolean"},{"type":"string","const":"auto"}],"description":"Whether to collapse the entire list. Default: `false`. If set to `auto`, the UI is collapsed if the list has any items and expanded if it’s empty.","markdownDescription":"Whether to collapse the entire list. Default: `false`. If set to `auto`, the UI is collapsed if the list has any items and expanded if it’s empty."},"root":{"type":"boolean","description":"Whether to save the field value at the top-level of the data file without the field name. If the `single_file` i18n structure is enabled, the lists will still be saved under locale keys. Default: `false`. See our [README](https://github.com/sveltia/sveltia-cms#editing-data-files-with-a-top-level-list) for details.","markdownDescription":"Whether to save the field value at the top-level of the data file without the field name. If the `single_file` i18n structure is enabled, the lists will still be saved under locale keys. Default: `false`. See our [README](https://github.com/sveltia/sveltia-cms#editing-data-files-with-a-top-level-list) for details."},"min":{"type":"number","description":"Minimum number of items that can be added. Default: `0`.","markdownDescription":"Minimum number of items that can be added. Default: `0`."},"max":{"type":"number","description":"Maximum number of items that can be added. Default: `Infinity`.","markdownDescription":"Maximum number of items that can be added. Default: `Infinity`."},"widget":{"type":"string","const":"list","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"object"}},{"type":"object"}],"description":"Default value. The format depends on how the field is configured, with or without `field`, `fields` or `types`. See the document for details.","markdownDescription":"Default value. The format depends on how the field is configured, with or without `field`, `fields` or `types`. See the document for details."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","types","widget"],"description":"List field definition with variable types.","markdownDescription":"List field definition with variable types."},"VariableFieldType":{"type":"object","properties":{"name":{"type":"string","description":"Unique identifier for the type.","markdownDescription":"Unique identifier for the type."},"label":{"type":"string","description":"Label of the type to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the type to be displayed in the editor UI. Default: `name` field value."},"widget":{"type":"string","const":"object","description":"Widget name. Values other than `object` are ignored.","markdownDescription":"Widget name. Values other than `object` are ignored."},"summary":{"type":"string","description":"Template of a label to be displayed on a collapsed object.","markdownDescription":"Template of a label to be displayed on a collapsed object."},"fields":{"type":"array","items":{"$ref":"#/definitions/Field"},"description":"Set of subfields. This option can be omitted; in that case, only the `type` property will be saved.","markdownDescription":"Set of subfields. This option can be omitted; in that case, only the `type` property will be saved."}},"required":["name"],"additionalProperties":false,"description":"Variable type for List/Object fields.","markdownDescription":"Variable type for List/Object fields."},"MapField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"map","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"string","description":"Default value. Accepts a stringified single [GeoJSON](https://geojson.org/) geometry object that contains `type` and `coordinates` properties.","markdownDescription":"Default value. Accepts a stringified single [GeoJSON](https://geojson.org/) geometry object that contains `type` and `coordinates` properties."},"decimals":{"type":"number","description":"Precision of coordinates to be saved. Default: `7`.","markdownDescription":"Precision of coordinates to be saved. Default: `7`."},"type":{"type":"string","enum":["Point","LineString","Polygon"],"description":"Geometry type. Default: `Point`.","markdownDescription":"Geometry type. Default: `Point`."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Map field definition.","markdownDescription":"Map field definition."},"MarkdownField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"markdown","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"string","description":"Default value.","markdownDescription":"Default value."},"minimal":{"type":"boolean","description":"Whether to minimize the toolbar height.","markdownDescription":"Whether to minimize the toolbar height."},"buttons":{"type":"array","items":{"$ref":"#/definitions/RichTextEditorButtonName"},"description":"Names of formatting buttons and menu items to be enabled in the editor UI. Default: all the supported button names.","markdownDescription":"Names of formatting buttons and menu items to be enabled in the editor UI. Default: all the supported button names."},"editor_components":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/RichTextEditorComponentName"},{"type":"string"}]},"description":"Names of components to be enabled in the editor UI. This may include custom component names. Default: all the built-in component names.","markdownDescription":"Names of components to be enabled in the editor UI. This may include custom component names. Default: all the built-in component names."},"modes":{"type":"array","items":{"$ref":"#/definitions/RichTextEditorMode"},"description":"Editor modes to be enabled. If it’s `[raw, rich_text]`, rich text mode is disabled by default. Default: `[rich_text, raw]`.","markdownDescription":"Editor modes to be enabled. If it’s `[raw, rich_text]`, rich text mode is disabled by default. Default: `[rich_text, raw]`."},"sanitize_preview":{"type":"boolean","description":"Whether to sanitize the preview HTML. Default: `true`. Note that Sveltia CMS has changed the default value from `false` to `true` to enhance security, whereas Netlify/Decap CMS keeps it as `false`. We recommend keeping this option enabled unless disabling it fixes a broken preview and you fully trust all users of your CMS.","markdownDescription":"Whether to sanitize the preview HTML. Default: `true`. Note that Sveltia CMS has changed the default value from `false` to `true` to enhance security, whereas Netlify/Decap CMS keeps it as `false`. We recommend keeping this option enabled unless disabling it fixes a broken preview and you fully trust all users of your CMS."},"linked_images":{"type":"boolean","description":"Whether to enable the linked images feature for the built-in `image` component. Default: `true`. When enabled, the image component provides an additional text field for specifying a URL to wrap the image as a link. The resulting Markdown output will be in the format `[![alt](src)](link)`, where clicking the image navigates to the provided link. This feature can be disabled if it causes conflicts with certain frameworks.","markdownDescription":"Whether to enable the linked images feature for the built-in `image` component. Default: `true`. When enabled, the image component provides an additional text field for specifying a URL to wrap the image as a link. The resulting Markdown output will be in the format `[![alt](src)](link)`, where clicking the image navigates to the provided link. This feature can be disabled if it causes conflicts with certain frameworks."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Markdown field definition.","markdownDescription":"Markdown field definition."},"RichTextEditorButtonName":{"type":"string","enum":["bold","italic","strikethrough","code","link","heading-one","heading-two","heading-three","heading-four","heading-five","heading-six","quote","bulleted-list","numbered-list"],"description":"Supported button name for the rich text editor.","markdownDescription":"Supported button name for the rich text editor."},"RichTextEditorComponentName":{"type":"string","enum":["code-block","image"],"description":"Built-in editor component name for the rich text editor.","markdownDescription":"Built-in editor component name for the rich text editor."},"RichTextEditorMode":{"type":"string","enum":["rich_text","raw"],"description":"Supported mode name for the rich text editor.","markdownDescription":"Supported mode name for the rich text editor."},"NumberField":{"type":"object","additionalProperties":false,"properties":{"before_input":{"type":"string","description":"An extra label to be displayed before the input UI. Markdown is supported. Default: empty string.","markdownDescription":"An extra label to be displayed before the input UI. Markdown is supported. Default: empty string."},"after_input":{"type":"string","description":"An extra label to be displayed after the input UI. Markdown is supported. Default: empty string.","markdownDescription":"An extra label to be displayed after the input UI. Markdown is supported. Default: empty string."},"widget":{"type":"string","const":"number","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":["number","string"],"description":"Default value.","markdownDescription":"Default value."},"value_type":{"type":"string","description":"Type of value to be saved. Default: `int`.","markdownDescription":"Type of value to be saved. Default: `int`."},"min":{"type":"number","description":"Minimum value that can be entered in the input. Default: `-Infinity`.","markdownDescription":"Minimum value that can be entered in the input. Default: `-Infinity`."},"max":{"type":"number","description":"Maximum value that can be entered in the input. Default: `Infinity`.","markdownDescription":"Maximum value that can be entered in the input. Default: `Infinity`."},"step":{"type":"number","description":"Number to increase/decrease with the arrow key/button. Default: `1`.","markdownDescription":"Number to increase/decrease with the arrow key/button. Default: `1`."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Number field definition.","markdownDescription":"Number field definition."},"ObjectField":{"anyOf":[{"$ref":"#/definitions/ObjectFieldWithSubFields"},{"$ref":"#/definitions/ObjectFieldWithTypes"}],"description":"Object field definition.","markdownDescription":"Object field definition."},"ObjectFieldWithSubFields":{"type":"object","additionalProperties":false,"properties":{"fields":{"type":"array","items":{"$ref":"#/definitions/Field"},"description":"Set of fields to be included.","markdownDescription":"Set of fields to be included."},"widget":{"type":"string","const":"object","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"object","description":"Default values.","markdownDescription":"Default values."},"collapsed":{"anyOf":[{"type":"boolean"},{"type":"string","const":"auto"}],"description":"Whether to collapse the object by default. Default: `false`. If set to `auto`, the UI is collapsed if the object has any filled subfields and expanded if all the subfields are empty.","markdownDescription":"Whether to collapse the object by default. Default: `false`. If set to `auto`, the UI is collapsed if the object has any filled subfields and expanded if all the subfields are empty."},"summary":{"type":"string","description":"Template of a label to be displayed on a collapsed object.","markdownDescription":"Template of a label to be displayed on a collapsed object."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["fields","name","widget"],"description":"Object field definition with multiple subfields.","markdownDescription":"Object field definition with multiple subfields."},"ObjectFieldWithTypes":{"type":"object","additionalProperties":false,"properties":{"types":{"type":"array","items":{"$ref":"#/definitions/VariableFieldType"},"description":"Set of nested Object fields to be selected or added.","markdownDescription":"Set of nested Object fields to be selected or added."},"typeKey":{"type":"string","description":"Property name to store the type name in nested objects. Default: `type`.","markdownDescription":"Property name to store the type name in nested objects. Default: `type`."},"widget":{"type":"string","const":"object","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"object","description":"Default values.","markdownDescription":"Default values."},"collapsed":{"anyOf":[{"type":"boolean"},{"type":"string","const":"auto"}],"description":"Whether to collapse the object by default. Default: `false`. If set to `auto`, the UI is collapsed if the object has any filled subfields and expanded if all the subfields are empty.","markdownDescription":"Whether to collapse the object by default. Default: `false`. If set to `auto`, the UI is collapsed if the object has any filled subfields and expanded if all the subfields are empty."},"summary":{"type":"string","description":"Template of a label to be displayed on a collapsed object.","markdownDescription":"Template of a label to be displayed on a collapsed object."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","types","widget"],"description":"Object field definition with variable types.","markdownDescription":"Object field definition with variable types."},"RelationField":{"type":"object","additionalProperties":false,"properties":{"multiple":{"type":"boolean","description":"Whether to accept multiple values. Default: `false`.","markdownDescription":"Whether to accept multiple values. Default: `false`."},"min":{"type":"number","description":"Minimum number of items that can be selected. Ignored if `multiple` is `false`. Default: `0`.","markdownDescription":"Minimum number of items that can be selected. Ignored if `multiple` is `false`. Default: `0`."},"max":{"type":"number","description":"Maximum number of items that can be selected. Ignored if `multiple` is `false`. Default: `Infinity`.","markdownDescription":"Maximum number of items that can be selected. Ignored if `multiple` is `false`. Default: `Infinity`."},"dropdown_threshold":{"type":"number","description":"Maximum number of options to be displayed as radio buttons (single-select) or checkboxes (multi-select) rather than a dropdown list. Default: `5`.","markdownDescription":"Maximum number of options to be displayed as radio buttons (single-select) or checkboxes (multi-select) rather than a dropdown list. Default: `5`."},"widget":{"type":"string","const":"relation","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{},{"type":"array","items":{}}],"description":"Default value(s), which should match the options. When `multiple` is `false`, it should be a single value that matches the `value_field` option.","markdownDescription":"Default value(s), which should match the options. When `multiple` is `false`, it should be a single value that matches the `value_field` option."},"collection":{"type":"string","description":"Referenced collection name. Use `_singletons` for the singleton collection.","markdownDescription":"Referenced collection name. Use `_singletons` for the singleton collection."},"file":{"type":"string","description":"Referenced file identifier for a file/singleton collection. Required if the `collection` is defined.","markdownDescription":"Referenced file identifier for a file/singleton collection. Required if the `collection` is defined."},"value_field":{"anyOf":[{"$ref":"#/definitions/FieldKeyPath"},{"type":"string"}],"description":"Field name to be stored as the value, or `{{slug}}` (entry slug). It can contain a locale prefix like `{{locale}}/{{slug}}` if i18n is enabled. Default: `{{slug}}`.","markdownDescription":"Field name to be stored as the value, or `{{slug}}` (entry slug). It can contain a locale prefix like `{{locale}}/{{slug}}` if i18n is enabled. Default: `{{slug}}`."},"display_fields":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/FieldKeyPath"},{"type":"string"}]},"description":"Name of fields to be displayed. It can contain string templates. Default: `value_field` field value or the referenced collection’s `identifier_field`, which is `title` by default.","markdownDescription":"Name of fields to be displayed. It can contain string templates. Default: `value_field` field value or the referenced collection’s `identifier_field`, which is `title` by default."},"search_fields":{"type":"array","items":{"$ref":"#/definitions/FieldKeyPath"},"description":"Name of fields to be searched. Default: `display_fields` field value.","markdownDescription":"Name of fields to be searched. Default: `display_fields` field value."},"filters":{"type":"array","items":{"$ref":"#/definitions/RelationFieldFilterOptions"},"description":"Entry filter options.","markdownDescription":"Entry filter options."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["collection","name","widget"],"description":"Relation field definition.","markdownDescription":"Relation field definition."},"FieldKeyPath":{"type":"string","description":"An entry field name. It can be written in dot notation like `author.name` if the field is nested with an Object field. For a List subfield, a wildcard can be used like `authors.*.name`. We call this a key path, which is derived from the [IndexedDB API terminology](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Basic_Terminology#key_path), and use it everywhere, as entry data is managed as a [flatten object](https://www.npmjs.com/package/flat) for easier access.","markdownDescription":"An entry field name. It can be written in dot notation like `author.name` if the field is nested with an Object field. For a List subfield, a wildcard can be used like `authors.*.name`. We call this a key path, which is derived from the [IndexedDB API terminology](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Basic_Terminology#key_path), and use it everywhere, as entry data is managed as a [flatten object](https://www.npmjs.com/package/flat) for easier access."},"RelationFieldFilterOptions":{"type":"object","properties":{"field":{"$ref":"#/definitions/FieldKeyPath","description":"Field name.","markdownDescription":"Field name."},"values":{"type":"array","items":{},"description":"One or more values to be matched.","markdownDescription":"One or more values to be matched."}},"required":["field","values"],"additionalProperties":false,"description":"Entry filter options for a Relation field.","markdownDescription":"Entry filter options for a Relation field."},"SelectField":{"type":"object","additionalProperties":false,"properties":{"multiple":{"type":"boolean","description":"Whether to accept multiple values. Default: `false`.","markdownDescription":"Whether to accept multiple values. Default: `false`."},"min":{"type":"number","description":"Minimum number of items that can be selected. Ignored if `multiple` is `false`. Default: `0`.","markdownDescription":"Minimum number of items that can be selected. Ignored if `multiple` is `false`. Default: `0`."},"max":{"type":"number","description":"Maximum number of items that can be selected. Ignored if `multiple` is `false`. Default: `Infinity`.","markdownDescription":"Maximum number of items that can be selected. Ignored if `multiple` is `false`. Default: `Infinity`."},"dropdown_threshold":{"type":"number","description":"Maximum number of options to be displayed as radio buttons (single-select) or checkboxes (multi-select) rather than a dropdown list. Default: `5`.","markdownDescription":"Maximum number of options to be displayed as radio buttons (single-select) or checkboxes (multi-select) rather than a dropdown list. Default: `5`."},"widget":{"type":"string","const":"select","description":"Widget name.","markdownDescription":"Widget name."},"default":{"anyOf":[{"$ref":"#/definitions/SelectFieldValue"},{"type":"array","items":{"$ref":"#/definitions/SelectFieldValue"}}],"description":"Default value that matches one of the options. When `multiple` is `true`, it should be an array of valid values.","markdownDescription":"Default value that matches one of the options. When `multiple` is `true`, it should be an array of valid values."},"options":{"anyOf":[{"type":"array","items":{"$ref":"#/definitions/SelectFieldValue"}},{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"$ref":"#/definitions/SelectFieldValue"}},"required":["label","value"],"additionalProperties":false}}],"description":"Options.","markdownDescription":"Options."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","options","widget"],"description":"Select field definition.","markdownDescription":"Select field definition."},"SelectFieldValue":{"type":["string","number","null"],"description":"Select field option value.","markdownDescription":"Select field option value."},"StringField":{"type":"object","additionalProperties":false,"properties":{"minlength":{"type":"number","description":"Minimum number of characters that can be entered in the input. Default: `0`.","markdownDescription":"Minimum number of characters that can be entered in the input. Default: `0`."},"maxlength":{"type":"number","description":"Maximum number of characters that can be entered in the input. Default: `Infinity`.","markdownDescription":"Maximum number of characters that can be entered in the input. Default: `Infinity`."},"before_input":{"type":"string","description":"An extra label to be displayed before the input UI. Markdown is supported. Default: empty string.","markdownDescription":"An extra label to be displayed before the input UI. Markdown is supported. Default: empty string."},"after_input":{"type":"string","description":"An extra label to be displayed after the input UI. Markdown is supported. Default: empty string.","markdownDescription":"An extra label to be displayed after the input UI. Markdown is supported. Default: empty string."},"widget":{"type":"string","const":"string","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"string","description":"Default value.","markdownDescription":"Default value."},"type":{"type":"string","enum":["text","url","email"],"description":"Data type. It’s useful when the input value needs a validation. Default: `text`.","markdownDescription":"Data type. It’s useful when the input value needs a validation. Default: `text`."},"prefix":{"type":"string","description":"A string to be prepended to the value. Default: empty string.","markdownDescription":"A string to be prepended to the value. Default: empty string."},"suffix":{"type":"string","description":"A string to be appended to the value. Default: empty string.","markdownDescription":"A string to be appended to the value. Default: empty string."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name"],"description":"String field definition.","markdownDescription":"String field definition."},"TextField":{"type":"object","additionalProperties":false,"properties":{"minlength":{"type":"number","description":"Minimum number of characters that can be entered in the input. Default: `0`.","markdownDescription":"Minimum number of characters that can be entered in the input. Default: `0`."},"maxlength":{"type":"number","description":"Maximum number of characters that can be entered in the input. Default: `Infinity`.","markdownDescription":"Maximum number of characters that can be entered in the input. Default: `Infinity`."},"widget":{"type":"string","const":"text","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"string","description":"Default value.","markdownDescription":"Default value."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Text field definition.","markdownDescription":"Text field definition."},"UuidField":{"type":"object","additionalProperties":false,"properties":{"widget":{"type":"string","const":"uuid","description":"Widget name.","markdownDescription":"Widget name."},"default":{"type":"string","description":"Default value.","markdownDescription":"Default value."},"prefix":{"type":"string","description":"A string to be prepended to the value. Default: empty string.","markdownDescription":"A string to be prepended to the value. Default: empty string."},"use_b32_encoding":{"type":"boolean","description":"Whether to encode the value with Base32. Default: `false`.","markdownDescription":"Whether to encode the value with Base32. Default: `false`."},"read_only":{"type":"boolean","description":"Whether to make the field read-only. Default: `true`.","markdownDescription":"Whether to make the field read-only. Default: `true`.","deprecated":true,"deprecationMessage":"Use the `readonly` common field option instead, which defaults to `true` for the UUID widget."},"required":{"anyOf":[{"type":"boolean"},{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}}],"description":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean.","markdownDescription":"Whether to make data input on the field required. Default: `true`. This option also affects data output if the `omit_empty_optional_fields` global output option is `true`. If i18n is enabled and the field doesn’t require input in all locales, required locale codes can be passed as an array like `[en, fr]` instead of a boolean."},"readonly":{"type":"boolean","description":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users.","markdownDescription":"Whether to make the field read-only. Default: `false`. This is useful when a `default` value is provided and the field should not be editable by users."},"pattern":{"type":"array","minItems":2,"items":[{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}]},{"type":"string"}],"maxItems":2,"description":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields.","markdownDescription":"Validation format. The first argument is a regular expression matching pattern for a valid input value, and the second argument is an error message. This option has no effect on a List or Object field with subfields."},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"UUID field definition.","markdownDescription":"UUID field definition."},"CustomField":{"type":"object","properties":{"widget":{"type":"string","description":"Widget name.","markdownDescription":"Widget name.","minLength":1,"not":{"enum":["boolean","code","color","compute","datetime","file","hidden","image","keyvalue","list","map","markdown","number","object","relation","select","string","text","uuid"]}},"name":{"type":"string","description":"Unique identifier for the field. It cannot include periods and spaces.","markdownDescription":"Unique identifier for the field. It cannot include periods and spaces."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` field value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` field value."},"comment":{"type":"string","description":"Short description of the field to be displayed in the editor UI.","markdownDescription":"Short description of the field to be displayed in the editor UI."},"hint":{"type":"string","description":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links.","markdownDescription":"Help message to be displayed below the input UI. Limited Markdown formatting is supported: bold, italic, strikethrough and links."},"preview":{"type":"boolean","description":"Whether to show the preview of the field. Default: `true`.","markdownDescription":"Whether to show the preview of the field. Default: `true`."},"i18n":{"anyOf":[{"type":"boolean"},{"type":"string","const":"duplicate"},{"type":"string","const":"translate"},{"type":"string","const":"none"}],"description":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option.","markdownDescription":"Whether to enable the editor UI in locales other than the default locale. Default: `false`. `duplicate` disables the UI in non-default like `false` but automatically copies the default locale’s value to other locales. `translate` and `none` are aliases of `true` and `false`, respectively. This option only works when i18n is set up with the global and collection-level `i18n` option."}},"required":["name","widget"],"description":"Entry field using a custom widget.","markdownDescription":"Entry field using a custom widget."},"CollectionFilter":{"type":"object","properties":{"field":{"$ref":"#/definitions/FieldKeyPath","description":"Field name.","markdownDescription":"Field name."},"value":{"anyOf":[{},{"type":"array","items":{}}],"description":"Field value. `null` can be used to match an undefined field. Multiple values can be defined with an array. This option or `pattern` is required.","markdownDescription":"Field value. `null` can be used to match an undefined field. Multiple values can be defined with an array. This option or `pattern` is required."},"pattern":{"anyOf":[{"type":"string"},{"type":"string","format":"regex"}],"description":"Regular expression matching pattern.","markdownDescription":"Regular expression matching pattern."}},"required":["field"],"additionalProperties":false,"description":"Collection filter options.","markdownDescription":"Collection filter options."},"FileExtension":{"type":"string","description":"Supported file extension. Actually it can be any string.","markdownDescription":"Supported file extension. Actually it can be any string."},"SortableFields":{"type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/definitions/FieldKeyPath"},"description":"A list of sortable field names.","markdownDescription":"A list of sortable field names."},"default":{"$ref":"#/definitions/SortableFieldsDefaultOptions","description":"Default sort settings. See our [README](https://github.com/sveltia/sveltia-cms#specifying-default-sort-field-and-direction) for details.","markdownDescription":"Default sort settings. See our [README](https://github.com/sveltia/sveltia-cms#specifying-default-sort-field-and-direction) for details."}},"required":["fields"],"additionalProperties":false,"description":"A collection’s advanced sortable fields definition, which is compatible with Static CMS.","markdownDescription":"A collection’s advanced sortable fields definition, which is compatible with Static CMS."},"SortableFieldsDefaultOptions":{"type":"object","properties":{"field":{"$ref":"#/definitions/FieldKeyPath","description":"A field name to be sorted by default.","markdownDescription":"A field name to be sorted by default."},"direction":{"type":"string","enum":["ascending","descending","Ascending","Descending","None"],"description":"Default sort direction. Title case values are supported for Static CMS compatibility. However, `None` is the same as `ascending`. Default: `ascending`.","markdownDescription":"Default sort direction. Title case values are supported for Static CMS compatibility. However, `None` is the same as `ascending`. Default: `ascending`."}},"required":["field"],"additionalProperties":false,"description":"The default options for the sortable fields.","markdownDescription":"The default options for the sortable fields."},"ViewFilter":{"type":"object","properties":{"name":{"type":"string","description":"Unique identifier for the filter.","markdownDescription":"Unique identifier for the filter."},"label":{"type":"string","description":"Label.","markdownDescription":"Label."},"field":{"$ref":"#/definitions/FieldKeyPath","description":"Field name.","markdownDescription":"Field name."},"pattern":{"anyOf":[{"type":"string"},{"type":"string","format":"regex"},{"type":"boolean"}],"description":"Regular expression matching pattern or exact value.","markdownDescription":"Regular expression matching pattern or exact value."}},"required":["label","field","pattern"],"additionalProperties":false,"description":"View filter.","markdownDescription":"View filter."},"ViewFilters":{"type":"object","properties":{"filters":{"type":"array","items":{"$ref":"#/definitions/ViewFilter"},"description":"A list of view filters.","markdownDescription":"A list of view filters."},"default":{"type":"string","description":"Default filter name.","markdownDescription":"Default filter name."}},"required":["filters"],"additionalProperties":false,"description":"A collection’s advanced filter definition, which is compatible with Static CMS.","markdownDescription":"A collection’s advanced filter definition, which is compatible with Static CMS."},"ViewGroup":{"type":"object","properties":{"name":{"type":"string","description":"Unique identifier for the group.","markdownDescription":"Unique identifier for the group."},"label":{"type":"string","description":"Label.","markdownDescription":"Label."},"field":{"$ref":"#/definitions/FieldKeyPath","description":"Field name.","markdownDescription":"Field name."},"pattern":{"anyOf":[{"type":"string"},{"type":"string","format":"regex"},{"type":"boolean"}],"description":"Regular expression matching pattern or exact value.","markdownDescription":"Regular expression matching pattern or exact value."}},"required":["label","field"],"additionalProperties":false,"description":"View group.","markdownDescription":"View group."},"ViewGroups":{"type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/definitions/ViewGroup"},"description":"A list of view groups.","markdownDescription":"A list of view groups."},"default":{"type":"string","description":"Default group name.","markdownDescription":"Default group name."}},"required":["groups"],"additionalProperties":false,"description":"A collection’s advanced group definition, which is compatible with Static CMS.","markdownDescription":"A collection’s advanced group definition, which is compatible with Static CMS."},"NestedCollectionOptions":{"type":"object","properties":{"depth":{"type":"number","description":"Maximum depth to show nested items in the collection tree. Default: `Infinity`.","markdownDescription":"Maximum depth to show nested items in the collection tree. Default: `Infinity`."},"summary":{"type":"string","description":"Summary template for a tree item. Default: `{{title}}`.","markdownDescription":"Summary template for a tree item. Default: `{{title}}`."},"subfolders":{"type":"boolean","description":"Whether to include subfolders. Default: `true`.","markdownDescription":"Whether to include subfolders. Default: `true`."}},"additionalProperties":false,"description":"Nested collection options.","markdownDescription":"Nested collection options."},"CollectionMetaData":{"type":"object","properties":{"path":{"$ref":"#/definitions/CollectionMetaDataPath","description":"Entry path options.","markdownDescription":"Entry path options."}},"additionalProperties":false,"description":"Collection meta data.","markdownDescription":"Collection meta data."},"CollectionMetaDataPath":{"type":"object","properties":{"widget":{"type":"string","const":"string","description":"Widget for editing the path name.","markdownDescription":"Widget for editing the path name."},"label":{"type":"string","description":"Label for the path editor.","markdownDescription":"Label for the path editor."},"index_file":{"type":"string","description":"Index file name to be used.","markdownDescription":"Index file name to be used."}},"additionalProperties":false,"description":"Collection meta data’s path options.","markdownDescription":"Collection meta data’s path options."},"CollectionIndexFile":{"type":"object","properties":{"name":{"type":"string","description":"Index file name without a locale or file extension. Default: `_index`, which is used for Hugo’s special index file.","markdownDescription":"Index file name without a locale or file extension. Default: `_index`, which is used for Hugo’s special index file."},"label":{"type":"string","description":"Label to be displayed in the editor UI. Default: Index File or its localized version.","markdownDescription":"Label to be displayed in the editor UI. Default: Index File or its localized version."},"icon":{"type":"string","description":"Name of a [Material Symbols icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the editor UI. Default: `home`.","markdownDescription":"Name of a [Material Symbols icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the editor UI. Default: `home`."},"fields":{"type":"array","items":{"$ref":"#/definitions/Field"},"description":"Set of fields for the index file. If omitted, the regular entry collection `fields` will be used instead.","markdownDescription":"Set of fields for the index file. If omitted, the regular entry collection `fields` will be used instead."},"editor":{"$ref":"#/definitions/EditorOptions","description":"Editor view options.","markdownDescription":"Editor view options."}},"additionalProperties":false,"description":"Index file inclusion options. See our [README](https://github.com/sveltia/sveltia-cms#including-hugos-special-index-file-in-a-folder-collection) for details.","markdownDescription":"Index file inclusion options. See our [README](https://github.com/sveltia/sveltia-cms#including-hugos-special-index-file-in-a-folder-collection) for details."},"EditorOptions":{"type":"object","properties":{"preview":{"type":"boolean","description":"Whether to show the preview pane. Default: `true`.","markdownDescription":"Whether to show the preview pane. Default: `true`."}},"required":["preview"],"additionalProperties":false,"description":"Editor options.","markdownDescription":"Editor options."},"FileFormat":{"anyOf":[{"type":"string","const":"yml"},{"type":"string","const":"yaml"},{"type":"string","const":"toml"},{"type":"string","const":"json"},{"type":"string","const":"frontmatter"},{"$ref":"#/definitions/FrontMatterFormat"},{"type":"string"}],"description":"Supported file format. Actually it can be any string because of custom formats.","markdownDescription":"Supported file format. Actually it can be any string because of custom formats."},"FrontMatterFormat":{"type":"string","enum":["yaml-frontmatter","toml-frontmatter","json-frontmatter"],"description":"Supported Markdown front matter format.","markdownDescription":"Supported Markdown front matter format."},"I18nOptions":{"type":"object","properties":{"structure":{"$ref":"#/definitions/I18nFileStructure","description":"File structure for entry collections. File/singleton collection must define the structure using `{{locale}}` in the `file` option.","markdownDescription":"File structure for entry collections. File/singleton collection must define the structure using `{{locale}}` in the `file` option."},"locales":{"type":"array","items":{"$ref":"#/definitions/LocaleCode"},"description":"List of all available locales.","markdownDescription":"List of all available locales."},"default_locale":{"$ref":"#/definitions/LocaleCode","description":"Default locale. Default: first locale in the `locales` option.","markdownDescription":"Default locale. Default: first locale in the `locales` option."},"initial_locales":{"anyOf":[{"type":"array","items":{"$ref":"#/definitions/LocaleCode"}},{"type":"string","const":"all"},{"type":"string","const":"default"}],"description":"Locales to be enabled when creating a new entry draft. If this option is used, users will be able to disable the output of non-default locales through the UI. See our [README](https://github.com/sveltia/sveltia-cms#disabling-non-default-locale-content) for details.","markdownDescription":"Locales to be enabled when creating a new entry draft. If this option is used, users will be able to disable the output of non-default locales through the UI. See our [README](https://github.com/sveltia/sveltia-cms#disabling-non-default-locale-content) for details."},"save_all_locales":{"type":"boolean","description":"Whether to save collection entries in all the locales. Default: `true`.","markdownDescription":"Whether to save collection entries in all the locales. Default: `true`.","deprecated":true,"deprecationMessage":"Use the `initial_locales` option instead, which provides more flexibility. `save_all_locales: false` is equivalent to `initial_locales: all`. See our README https://github.com/sveltia/sveltia-cms#disabling-non-default-locale-content for details."},"canonical_slug":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"description":"Property name and value template used to add a canonical slug to entry files, which helps Sveltia CMS and some frameworks to link localized files when entry slugs are localized. The default property name is `translationKey` used in Hugo’s multilingual support, and the default value is the default locale’s slug. See our [README](https://github.com/sveltia/sveltia-cms#localizing-entry-slugs) for details.","markdownDescription":"Property name and value template used to add a canonical slug to entry files, which helps Sveltia CMS and some frameworks to link localized files when entry slugs are localized. The default property name is `translationKey` used in Hugo’s multilingual support, and the default value is the default locale’s slug. See our [README](https://github.com/sveltia/sveltia-cms#localizing-entry-slugs) for details."},"omit_default_locale_from_filename":{"type":"boolean","description":"Whether to exclude the default locale from entry filenames. Default: `false`. This option applies to entry collections with the `multiple_files` i18n structure enabled, as well as to file/singleton collection items with the `file` path ending with `.{{locale}}.<extension>`, aiming to support [Zola’s multilingual sites](https://www.getzola.org/documentation/content/multilingual/).","markdownDescription":"Whether to exclude the default locale from entry filenames. Default: `false`. This option applies to entry collections with the `multiple_files` i18n structure enabled, as well as to file/singleton collection items with the `file` path ending with `.{{locale}}.<extension>`, aiming to support [Zola’s multilingual sites](https://www.getzola.org/documentation/content/multilingual/)."}},"required":["structure","locales"],"additionalProperties":false,"description":"Global, collection-level or collection file-level i18n options.","markdownDescription":"Global, collection-level or collection file-level i18n options."},"I18nFileStructure":{"type":"string","enum":["single_file","multiple_files","multiple_folders","multiple_folders_i18n_root"],"description":"Internationalization (i18n) file structure type.","markdownDescription":"Internationalization (i18n) file structure type."},"FileCollection":{"type":"object","additionalProperties":false,"properties":{"files":{"type":"array","items":{"$ref":"#/definitions/CollectionFile"},"description":"A set of files.","markdownDescription":"A set of files."},"name":{"type":"string","description":"Unique identifier for the collection.","markdownDescription":"Unique identifier for the collection."},"label":{"type":"string","description":"Label of the field to be displayed in the editor UI. Default: `name` option value.","markdownDescription":"Label of the field to be displayed in the editor UI. Default: `name` option value."},"label_singular":{"type":"string","description":"Singular UI label. It will be Blog Post if the `label` is Blog Posts, for example. Default: `label` option value.","markdownDescription":"Singular UI label. It will be Blog Post if the `label` is Blog Posts, for example. Default: `label` option value."},"description":{"type":"string","description":"Short description of the collection to be displayed in the editor UI.","markdownDescription":"Short description of the collection to be displayed in the editor UI."},"icon":{"type":"string","description":"Name of a [Material Symbols icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the collection list.","markdownDescription":"Name of a [Material Symbols icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the collection list."},"media_folder":{"type":"string","description":"Internal media folder path for the collection. This overrides the global `media_folder` option. It can be a relative path from the project root if it starts with a slash. Otherwise it’s a path relative to the entry. If this option is omitted, the global `media_folder` option value is used. See our [README](https://github.com/sveltia/sveltia-cms#using-a-custom-media-folder-for-a-collection) for details.","markdownDescription":"Internal media folder path for the collection. This overrides the global `media_folder` option. It can be a relative path from the project root if it starts with a slash. Otherwise it’s a path relative to the entry. If this option is omitted, the global `media_folder` option value is used. See our [README](https://github.com/sveltia/sveltia-cms#using-a-custom-media-folder-for-a-collection) for details."},"public_folder":{"type":"string","description":"Public media folder path for an entry collection. This overrides the global `public_folder` option. Default: `media_folder` option value.","markdownDescription":"Public media folder path for an entry collection. This overrides the global `public_folder` option. Default: `media_folder` option value."},"hide":{"type":"boolean","description":"Whether to hide the collection in the UI. Default: `false`.","markdownDescription":"Whether to hide the collection in the UI. Default: `false`."},"publish":{"type":"boolean","description":"Whether to show the publishing control UI for Editorial Workflow. Default: `true`.","markdownDescription":"Whether to show the publishing control UI for Editorial Workflow. Default: `true`."},"format":{"$ref":"#/definitions/FileFormat","description":"File format. It should match the file extension. Default: `yaml-frontmatter`.","markdownDescription":"File format. It should match the file extension. Default: `yaml-frontmatter`."},"frontmatter_delimiter":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Delimiters to be used for the front matter format. Default: depends on the front matter type.","markdownDescription":"Delimiters to be used for the front matter format. Default: depends on the front matter type."},"i18n":{"anyOf":[{"$ref":"#/definitions/I18nOptions"},{"type":"boolean"}],"description":"I18n options. Default: `false`.","markdownDescription":"I18n options. Default: `false`."},"preview_path":{"type":"string","description":"Preview URL path template.","markdownDescription":"Preview URL path template."},"preview_path_date_field":{"type":"string","description":"Date field name used for `preview_path`.","markdownDescription":"Date field name used for `preview_path`."},"editor":{"$ref":"#/definitions/EditorOptions","description":"Editor view options.","markdownDescription":"Editor view options."},"yaml_quote":{"type":"boolean","description":"Whether to double-quote all the strings values if the YAML format is used for file output. Default: `false`.","markdownDescription":"Whether to double-quote all the strings values if the YAML format is used for file output. Default: `false`.","deprecated":true,"deprecationMessage":"Use the global YAML format options. `yaml_quote: true` is equivalent to `quote: double`. See our README https://github.com/sveltia/sveltia-cms#controlling-data-output for details."}},"required":["files","name"],"description":"File collection definition.","markdownDescription":"File collection definition."},"CollectionFile":{"type":"object","properties":{"name":{"type":"string","description":"Unique identifier for the file.","markdownDescription":"Unique identifier for the file."},"label":{"type":"string","description":"Label to be displayed in the editor UI. Default: `name` option value.","markdownDescription":"Label to be displayed in the editor UI. Default: `name` option value."},"icon":{"type":"string","description":"Name of a [Material Symbols icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the collection file list and other places. See our [README](https://github.com/sveltia/sveltia-cms#using-a-custom-icon-for-a-collection) for details.","markdownDescription":"Name of a [Material Symbols icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the collection file list and other places. See our [README](https://github.com/sveltia/sveltia-cms#using-a-custom-icon-for-a-collection) for details."},"file":{"type":"string","description":"File path relative to the project root.","markdownDescription":"File path relative to the project root."},"fields":{"type":"array","items":{"$ref":"#/definitions/Field"},"description":"Set of fields to be included in the file.","markdownDescription":"Set of fields to be included in the file."},"media_folder":{"type":"string","description":"Internal media folder path for the collection. This overrides the global or collection-level `media_folder` option.","markdownDescription":"Internal media folder path for the collection. This overrides the global or collection-level `media_folder` option."},"public_folder":{"type":"string","description":"Public media folder path for an entry collection. This overrides the global or collection-level `public_folder` option. Default: `media_folder` option value.","markdownDescription":"Public media folder path for an entry collection. This overrides the global or collection-level `public_folder` option. Default: `media_folder` option value."},"format":{"$ref":"#/definitions/FileFormat","description":"File format. This overrides the collection-level `format` option. Default: `yaml-frontmatter`.","markdownDescription":"File format. This overrides the collection-level `format` option. Default: `yaml-frontmatter`."},"frontmatter_delimiter":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Delimiters to be used for the front matter format. This overrides the collection-level `frontmatter_delimiter` option. Default: depends on the front matter type.","markdownDescription":"Delimiters to be used for the front matter format. This overrides the collection-level `frontmatter_delimiter` option. Default: depends on the front matter type."},"i18n":{"anyOf":[{"$ref":"#/definitions/I18nOptions"},{"type":"boolean"}],"description":"I18n options. Default: `false`.","markdownDescription":"I18n options. Default: `false`."},"preview_path":{"type":"string","description":"Preview URL path template.","markdownDescription":"Preview URL path template."},"preview_path_date_field":{"$ref":"#/definitions/FieldKeyPath","description":"Date field name used for `preview_path`.","markdownDescription":"Date field name used for `preview_path`."},"editor":{"$ref":"#/definitions/EditorOptions","description":"Editor view options.","markdownDescription":"Editor view options."}},"required":["name","file","fields"],"additionalProperties":false,"description":"Single file in a file/singleton collection.","markdownDescription":"Single file in a file/singleton collection."},"CollectionDivider":{"type":"object","properties":{"name":{"type":"string","description":"Unique identifier for the divider. Can be omitted, but it must be unique across all the collections and singletons. This property is included here because in the previous version of Sveltia CMS, a divider was defined as a collection with the `divider` option set to `true`, and the `name` option was required.","markdownDescription":"Unique identifier for the divider. Can be omitted, but it must be unique across all the collections and singletons. This property is included here because in the previous version of Sveltia CMS, a divider was defined as a collection with the `divider` option set to `true`, and the `name` option was required."},"divider":{"type":"boolean","description":"Whether to make this collection a divider UI in the collection list. It must be `true` to be used as a divider.","markdownDescription":"Whether to make this collection a divider UI in the collection list. It must be `true` to be used as a divider."}},"required":["divider"],"additionalProperties":false,"description":"A divider in the collection list and singleton list. See our [README](https://github.com/sveltia/sveltia-cms#adding-dividers-to-the-collection-list) for details.","markdownDescription":"A divider in the collection list and singleton list. See our [README](https://github.com/sveltia/sveltia-cms#adding-dividers-to-the-collection-list) for details."},"OutputOptions":{"type":"object","properties":{"omit_empty_optional_fields":{"type":"boolean","description":"Whether to prevent fields with `required: false` and an empty value from being included in entry data output. Default: `false`.","markdownDescription":"Whether to prevent fields with `required: false` and an empty value from being included in entry data output. Default: `false`."},"encode_file_path":{"type":"boolean","description":"Whether to encode the file path in File/Image fields. Default: `false`. This is useful when a file path contains special characters that need to be URL-encoded, such as spaces and parentheses. For example, `Hello World (1).webp` would be `Hello%20World%20%281%29.webp`. In general, File/Image fields should contain the original file path, and web-specific encoding should be done in the front-end code.","markdownDescription":"Whether to encode the file path in File/Image fields. Default: `false`. This is useful when a file path contains special characters that need to be URL-encoded, such as spaces and parentheses. For example, `Hello World (1).webp` would be `Hello%20World%20%281%29.webp`. In general, File/Image fields should contain the original file path, and web-specific encoding should be done in the front-end code."},"json":{"$ref":"#/definitions/JsonFormatOptions","description":"JSON format options.","markdownDescription":"JSON format options."},"yaml":{"$ref":"#/definitions/YamlFormatOptions","description":"YAML format options.","markdownDescription":"YAML format options."}},"additionalProperties":false,"description":"Data output options.","markdownDescription":"Data output options."},"JsonFormatOptions":{"type":"object","properties":{"indent_style":{"type":"string","enum":["space","tab"],"description":"Indent style. Default: 'space'.","markdownDescription":"Indent style. Default: 'space'."},"indent_size":{"type":"number","description":"Indent size. Default: `2`.","markdownDescription":"Indent size. Default: `2`."}},"additionalProperties":false,"description":"JSON format options.","markdownDescription":"JSON format options."},"YamlFormatOptions":{"type":"object","properties":{"indent_size":{"type":"number","description":"Indent size. Default: `2`.","markdownDescription":"Indent size. Default: `2`."},"indent_sequences":{"type":"boolean","description":"Whether to indent block sequences. Default: `true`.","markdownDescription":"Whether to indent block sequences. Default: `true`."},"quote":{"type":"string","enum":["none","single","double"],"description":"String value’s default quote type. Default: 'none'.","markdownDescription":"String value’s default quote type. Default: 'none'."}},"additionalProperties":false,"description":"YAML format options.","markdownDescription":"YAML format options."}},"title":"Sveltia CMS Configuration","description":"Sveltia CMS configuration file"}