{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/cloudcannon-configuration-collections/latest.json",
  "title": "",
  "x-lintel": {
    "source": "https://github.com/cloudcannon/configuration-types/releases/latest/download/cloudcannon-collections.schema.json",
    "sourceSha256": "ef3ff932411826ca02b6828d1dad48df91d0e199f363df21a8a4228ee1c14d12",
    "invalid": true,
    "fileMatch": [
      "cloudcannon.collections.yml",
      "cloudcannon.collections.yaml",
      "cloudcannon.collections.json",
      "*.cloudcannon.collections.yml",
      "*.cloudcannon.collections.yaml",
      "*.cloudcannon.collections.json"
    ],
    "parsers": [
      "json",
      "yaml"
    ]
  },
  "documented": false,
  "$defs": {
    "collections_config.*": {
      "type": "object",
      "properties": {
        "path": {
          "$ref": "#/$defs/path"
        },
        "glob": {
          "$ref": "#/$defs/glob"
        },
        "url": {
          "description": "This key defines the output URL for files in a given Collection. CloudCannon uses the output URL in the Visual Editor, and when linking to your Testing Domain and Custom Domain.",
          "type": "string"
        },
        "disable_url": {
          "description": "This key toggles whether CloudCannon will generate an output URL for a given Collection.",
          "default": false,
          "type": "boolean"
        },
        "include_developer_files": {
          "description": "This key toggles whether CloudCannon removes developer files from your _Collection browser_.",
          "default": false,
          "type": "boolean"
        },
        "name": {
          "description": "This key defines the display name for a Collection. The name appears in the _Site Navigation_ and at the top of the _Collection browser_.",
          "type": "string"
        },
        "description": {
          "description": "This key defines the description text that appears on the _Collection browser_ page. Collection descriptions are useful for adding extra context for your team members.",
          "type": "string"
        },
        "icon": {
          "description": "This key defines the icon for a Collection. Collection icons appear in the _Site Navigation_ and are the default icon for Collection file Cards if you have not defined `preview.icon`.",
          "default": "notes",
          "allOf": [
            {
              "$ref": "#/$defs/icon"
            }
          ]
        },
        "documentation": {
          "description": "This key defines the documentation link at the top of a _Collection browser_. Collection documentation is useful for assisting your team members.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "sort_options": {
          "description": "This key defines the options for the Sort dropdown in a _Collection browser_. The first option listed is used as the default sort.",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "label": {
                "description": "The text to display in the sort option list. Defaults to a generated label from key and order.",
                "type": "string"
              },
              "key": {
                "type": "string",
                "description": "Defines what field contains the value to sort on inside each collection item's data."
              },
              "order": {
                "description": "Controls which sort values come first.",
                "default": "ascending",
                "type": "string",
                "enum": [
                  "ascending",
                  "descending",
                  "asc",
                  "desc"
                ]
              }
            },
            "required": [
              "key"
            ],
            "description": "A sort option for a Collection.",
            "title": "SortOption",
            "additionalProperties": false
          }
        },
        "view_options": {
          "uniqueItems": true,
          "description": "This key defines the options for the View dropdown in a _Collection browser_. The first option listed is used as the default view.",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "card",
              "list",
              "gallery"
            ]
          }
        },
        "singular_name": {
          "description": "This key defines the singular noun for your Collection name. CloudCannon uses the singular noun in the _+ Add_ button in the top right of the _Collection browser_.",
          "type": "string"
        },
        "add_options": {
          "description": "This key defines the options available in the _+ Add_ button dropdown at the top right of your _Collection browser_.",
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "name": {
                    "description": "The text displayed for the menu item. Defaults to using name from the matching schema if set.",
                    "type": "string"
                  },
                  "icon": {
                    "description": "The icon next to the text in the menu item. Defaults to using icon from the matching schema if set, then falls back to add.",
                    "allOf": [
                      {
                        "$ref": "#/$defs/icon"
                      }
                    ]
                  },
                  "editor": {
                    "description": "The editor to open the new file in. Defaults to an appropriate editor for new file's type if possible. If no default editor can be calculated, or the editor does not support the new file type, a warning is shown in place of the editor.",
                    "allOf": [
                      {
                        "$ref": "#/$defs/EditorKey"
                      }
                    ]
                  },
                  "base_path": {
                    "description": "Enforces a path for new files to be created in, regardless of path the user is currently navigated to within the collection file list. Relative to the path of the collection defined in collection. Defaults to the path within the collection the user is currently navigated to.",
                    "type": "string"
                  },
                  "collection": {
                    "description": "Sets which collection this action is creating a file in. This is used when matching the value for schema. Defaults to the containing collection these `add_options` are configured in.",
                    "type": "string"
                  },
                  "schema": {
                    "description": "The schema that new files are created from with this action. This schema is not restricted to the containing collection, and is instead relative to the collection specified with collection. Defaults to default if schemas are configured for the collection.",
                    "type": "string"
                  },
                  "default_content_file": {
                    "description": "The path to a file used to populate the initial contents of a new file if no schemas are configured. We recommend using schemas, and this is ignored if a schema is available.",
                    "type": "string"
                  }
                },
                "description": "An option for the add menu.",
                "title": "Add Option",
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "name": {
                    "description": "The text displayed for the menu item.",
                    "type": "string"
                  },
                  "icon": {
                    "description": "The icon next to the text in the menu item.",
                    "default": "add",
                    "allOf": [
                      {
                        "$ref": "#/$defs/icon"
                      }
                    ]
                  },
                  "href": {
                    "type": "string",
                    "description": "The link that opens when the option is clicked. Can either be an external or internal link. If internal, the link is relative to the current site."
                  }
                },
                "required": [
                  "href"
                ],
                "description": "An option for the add menu that opens a link.",
                "title": "HREF Add Option",
                "additionalProperties": false
              }
            ]
          }
        },
        "create": {
          "allOf": [
            {
              "$ref": "#/$defs/type.create"
            }
          ]
        },
        "disable_add": {
          "description": "This key toggles whether team members can use the _+ Add_ button in the top right of the _Collection browser_ to add files to a Collection.",
          "default": false,
          "type": "boolean"
        },
        "disable_add_folder": {
          "description": "This key toggles whether team members can use the _+ Add_ button in the top right of the _Collection browser_ to add subfolders to a Collection.",
          "default": false,
          "type": "boolean"
        },
        "disable_file_actions": {
          "description": "This key toggles whether team members can use the _+ Add_ button in the top right of the _Collection browser_ to add files to a Collection.",
          "default": false,
          "type": "boolean"
        },
        "new_preview_url": {
          "description": "This key defines a new URL for previewing your unbuilt pages in the Visual Editor.",
          "type": "string"
        },
        "schemas": {
          "description": "This key defines which Schemas are available to populate files in this Collection.",
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "object",
            "properties": {
              "path": {
                "type": "string",
                "description": "The path to the schema file. Relative to the root folder of the site."
              },
              "name": {
                "description": "Displayed in the add menu when creating new files. Defaults to a formatted version of the key.",
                "type": "string"
              },
              "icon": {
                "description": "Displayed in the add menu when creating new files; also used as the icon for collection files if no other preview is found.",
                "default": "notes",
                "allOf": [
                  {
                    "$ref": "#/$defs/icon"
                  }
                ]
              },
              "create": {
                "allOf": [
                  {
                    "$ref": "#/$defs/type.create"
                  }
                ]
              },
              "new_preview_url": {
                "description": "Preview your unbuilt pages (e.g. drafts) to another page's output URL. The Visual Editor will load that URL, where Data Bindings and Previews are available to render your new page without saving.",
                "type": "string"
              },
              "reorder_inputs": {
                "description": "If true, inputs are sorted to match when editing. Extra inputs are ordered after expected inputs, unless `remove_extra_inputs` is true.",
                "default": true,
                "type": "boolean"
              },
              "hide_extra_inputs": {
                "description": "Hides unexpected inputs when editing. Has no effect if `remove_extra_inputs` is true. Defaults to false.",
                "default": false,
                "type": "boolean"
              },
              "remove_empty_inputs": {
                "description": "If checked, empty inputs are removed from the source file on save. Removed inputs will be available for editing again, provided they are in the matching schema/structure.",
                "default": false,
                "type": "boolean"
              },
              "remove_extra_inputs": {
                "description": "If checked, extra inputs are removed when editing.",
                "default": true,
                "type": "boolean"
              },
              "preview": {
                "allOf": [
                  {
                    "$ref": "#/$defs/type.preview"
                  }
                ]
              },
              "_inputs": {
                "allOf": [
                  {
                    "$ref": "#/$defs/type._inputs"
                  }
                ]
              },
              "_inputs_from_glob": {
                "allOf": [
                  {
                    "$ref": "#/$defs/type._inputs_from_glob"
                  }
                ]
              },
              "_select_data": {
                "allOf": [
                  {
                    "$ref": "#/$defs/type._select_data"
                  }
                ]
              },
              "_structures": {
                "allOf": [
                  {
                    "$ref": "#/$defs/type._structures"
                  }
                ]
              },
              "_structures_from_glob": {
                "allOf": [
                  {
                    "$ref": "#/$defs/type._structures_from_glob"
                  }
                ]
              },
              "_enabled_editors": {
                "$ref": "#/$defs/type._enabled_editors"
              },
              "_editables": {
                "$ref": "#/$defs/type._editables"
              },
              "_editables_from_glob": {
                "allOf": [
                  {
                    "$ref": "#/$defs/type._editables_from_glob"
                  }
                ]
              }
            },
            "required": [
              "path"
            ],
            "description": "Definitions for your schemas, which are the structured data formats for your content files.",
            "title": "Schema",
            "additionalProperties": false
          }
        },
        "schemas_from_glob": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "schema_key": {
          "description": "This key defines the name for the structured data key that references the Schema a file uses.",
          "type": "string"
        },
        "preview": {
          "allOf": [
            {
              "$ref": "#/$defs/type.preview"
            }
          ]
        },
        "_inputs": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs"
            }
          ]
        },
        "_inputs_from_glob": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs_from_glob"
            }
          ]
        },
        "_select_data": {
          "allOf": [
            {
              "$ref": "#/$defs/type._select_data"
            }
          ]
        },
        "_structures": {
          "allOf": [
            {
              "$ref": "#/$defs/type._structures"
            }
          ]
        },
        "_structures_from_glob": {
          "allOf": [
            {
              "$ref": "#/$defs/type._structures_from_glob"
            }
          ]
        },
        "_enabled_editors": {
          "$ref": "#/$defs/type._enabled_editors"
        },
        "_editables": {
          "$ref": "#/$defs/type._editables"
        },
        "_editables_from_glob": {
          "allOf": [
            {
              "$ref": "#/$defs/type._editables_from_glob"
            }
          ]
        }
      },
      "required": [
        "path"
      ],
      "$id": "collections_config.*",
      "title": "Collection Config",
      "additionalProperties": false
    },
    "path": {
      "type": "string",
      "description": "This key defines the folder path for the collection key in which it is nested. The value for this key is relative to your Site `source`. Each Collection must have a unique path.",
      "$id": "path"
    },
    "glob": {
      "anyOf": [
        {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "Glob Array"
        },
        {
          "type": "string",
          "title": "Glob"
        }
      ],
      "description": "This key defines globs which filter the files visible in the _Collection browser_ for a given Collection. Values in this array are relative to the Collection `path`.",
      "$id": "glob"
    },
    "icon": {
      "type": "string",
      "enum": [
        "123",
        "360",
        "10k",
        "10mp",
        "11mp",
        "12mp",
        "13mp",
        "14mp",
        "15mp",
        "16mp",
        "17mp",
        "18_up_rating",
        "18mp",
        "19mp",
        "1k",
        "1k_plus",
        "1x_mobiledata",
        "1x_mobiledata_badge",
        "20mp",
        "21mp",
        "22mp",
        "23mp",
        "24fps_select",
        "24mp",
        "2d",
        "2k",
        "2k_plus",
        "2mp",
        "30fps",
        "30fps_select",
        "3d",
        "3d_rotation",
        "3g_mobiledata",
        "3g_mobiledata_badge",
        "3k",
        "3k_plus",
        "3mp",
        "3p",
        "4g_mobiledata",
        "4g_mobiledata_badge",
        "4g_plus_mobiledata",
        "4k",
        "4k_plus",
        "4mp",
        "50mp",
        "5g",
        "5g_mobiledata_badge",
        "5k",
        "5k_plus",
        "5mp",
        "60fps",
        "60fps_select",
        "6_ft_apart",
        "6k",
        "6k_plus",
        "6mp",
        "7k",
        "7k_plus",
        "7mp",
        "8k",
        "8k_plus",
        "8mp",
        "9k",
        "9k_plus",
        "9mp",
        "abc",
        "ac_unit",
        "accessibility",
        "accessibility_new",
        "accessible",
        "accessible_forward",
        "accessible_menu",
        "account_balance",
        "account_balance_wallet",
        "account_box",
        "account_child",
        "account_child_invert",
        "account_circle",
        "account_circle_off",
        "account_tree",
        "action_key",
        "activity_zone",
        "acute",
        "ad",
        "ad_group",
        "ad_group_off",
        "ad_off",
        "ad_units",
        "adaptive_audio_mic",
        "adaptive_audio_mic_off",
        "adb",
        "add",
        "add_2",
        "add_a_photo",
        "add_ad",
        "add_alert",
        "add_box",
        "add_business",
        "add_call",
        "add_card",
        "add_chart",
        "add_circle",
        "add_column_left",
        "add_column_right",
        "add_comment",
        "add_diamond",
        "add_home",
        "add_home_work",
        "add_link",
        "add_location",
        "add_location_alt",
        "add_moderator",
        "add_notes",
        "add_photo_alternate",
        "add_reaction",
        "add_road",
        "add_row_above",
        "add_row_below",
        "add_shopping_cart",
        "add_task",
        "add_to_drive",
        "add_to_home_screen",
        "add_to_queue",
        "add_triangle",
        "adf_scanner",
        "adjust",
        "admin_meds",
        "admin_panel_settings",
        "ads_click",
        "agender",
        "agriculture",
        "air",
        "air_freshener",
        "air_purifier",
        "air_purifier_gen",
        "airline_seat_flat",
        "airline_seat_flat_angled",
        "airline_seat_individual_suite",
        "airline_seat_legroom_extra",
        "airline_seat_legroom_normal",
        "airline_seat_legroom_reduced",
        "airline_seat_recline_extra",
        "airline_seat_recline_normal",
        "airline_stops",
        "airlines",
        "airplane_ticket",
        "airplanemode_inactive",
        "airplay",
        "airport_shuttle",
        "airware",
        "airwave",
        "alarm",
        "alarm_add",
        "alarm_off",
        "alarm_on",
        "alarm_pause",
        "alarm_smart_wake",
        "album",
        "align_center",
        "align_end",
        "align_flex_center",
        "align_flex_end",
        "align_flex_start",
        "align_horizontal_center",
        "align_horizontal_left",
        "align_horizontal_right",
        "align_items_stretch",
        "align_justify_center",
        "align_justify_flex_end",
        "align_justify_flex_start",
        "align_justify_space_around",
        "align_justify_space_between",
        "align_justify_space_even",
        "align_justify_stretch",
        "align_self_stretch",
        "align_space_around",
        "align_space_between",
        "align_space_even",
        "align_start",
        "align_stretch",
        "align_vertical_bottom",
        "align_vertical_center",
        "align_vertical_top",
        "all_inbox",
        "all_inclusive",
        "all_match",
        "all_out",
        "allergies",
        "allergy",
        "alt_route",
        "alternate_email",
        "altitude",
        "ambulance",
        "amend",
        "amp_stories",
        "analytics",
        "anchor",
        "android",
        "animated_images",
        "animation",
        "aod",
        "aod_tablet",
        "aod_watch",
        "apartment",
        "api",
        "apk_document",
        "apk_install",
        "app_badging",
        "app_blocking",
        "app_registration",
        "apparel",
        "approval",
        "approval_delegation",
        "apps",
        "apps_outage",
        "aq",
        "aq_indoor",
        "ar_on_you",
        "ar_stickers",
        "architecture",
        "archive",
        "area_chart",
        "arming_countdown",
        "arrow_and_edge",
        "arrow_back",
        "arrow_back_2",
        "arrow_back_ios",
        "arrow_back_ios_new",
        "arrow_circle_down",
        "arrow_circle_left",
        "arrow_circle_right",
        "arrow_circle_up",
        "arrow_cool_down",
        "arrow_downward",
        "arrow_downward_alt",
        "arrow_drop_down",
        "arrow_drop_down_circle",
        "arrow_drop_up",
        "arrow_forward",
        "arrow_forward_ios",
        "arrow_insert",
        "arrow_left",
        "arrow_left_alt",
        "arrow_menu_close",
        "arrow_menu_open",
        "arrow_or_edge",
        "arrow_outward",
        "arrow_range",
        "arrow_right",
        "arrow_right_alt",
        "arrow_selector_tool",
        "arrow_split",
        "arrow_top_left",
        "arrow_top_right",
        "arrow_upload_progress",
        "arrow_upload_ready",
        "arrow_upward",
        "arrow_upward_alt",
        "arrow_warm_up",
        "arrows_input",
        "arrows_more_down",
        "arrows_more_up",
        "arrows_output",
        "arrows_outward",
        "art_track",
        "article",
        "article_person",
        "article_shortcut",
        "artist",
        "aspect_ratio",
        "assignment",
        "assignment_add",
        "assignment_ind",
        "assignment_late",
        "assignment_return",
        "assignment_returned",
        "assignment_turned_in",
        "assist_walker",
        "assistant_device",
        "assistant_direction",
        "assistant_navigation",
        "assistant_on_hub",
        "assured_workload",
        "asterisk",
        "atm",
        "atr",
        "attach_email",
        "attach_file",
        "attach_file_add",
        "attach_file_off",
        "attach_money",
        "attachment",
        "attractions",
        "attribution",
        "audio_description",
        "audio_file",
        "audio_video_receiver",
        "auto_awesome_mosaic",
        "auto_awesome_motion",
        "auto_delete",
        "auto_read_pause",
        "auto_read_play",
        "auto_stories",
        "auto_towing",
        "auto_transmission",
        "autofps_select",
        "automation",
        "autopause",
        "autoplay",
        "autorenew",
        "autostop",
        "av1",
        "av_timer",
        "avc",
        "avg_pace",
        "avg_time",
        "award_star",
        "azm",
        "baby_changing_station",
        "back_hand",
        "back_to_tab",
        "background_dot_large",
        "background_dot_small",
        "background_grid_small",
        "background_replace",
        "backlight_high",
        "backlight_high_off",
        "backlight_low",
        "backpack",
        "backspace",
        "backup",
        "backup_table",
        "badge",
        "badge_critical_battery",
        "bakery_dining",
        "balance",
        "balcony",
        "ballot",
        "bar_chart",
        "bar_chart_4_bars",
        "bar_chart_off",
        "barcode",
        "barcode_reader",
        "barcode_scanner",
        "barefoot",
        "batch_prediction",
        "bath_outdoor",
        "bath_private",
        "bath_public_large",
        "bathroom",
        "bathtub",
        "battery_0_bar",
        "battery_1_bar",
        "battery_2_bar",
        "battery_3_bar",
        "battery_4_bar",
        "battery_5_bar",
        "battery_6_bar",
        "battery_alert",
        "battery_android_0",
        "battery_android_1",
        "battery_android_2",
        "battery_android_3",
        "battery_android_4",
        "battery_android_5",
        "battery_android_6",
        "battery_android_alert",
        "battery_android_bolt",
        "battery_android_full",
        "battery_android_plus",
        "battery_android_question",
        "battery_android_share",
        "battery_android_shield",
        "battery_change",
        "battery_charging_20",
        "battery_charging_30",
        "battery_charging_50",
        "battery_charging_60",
        "battery_charging_80",
        "battery_charging_90",
        "battery_charging_full",
        "battery_error",
        "battery_full",
        "battery_full_alt",
        "battery_horiz_000",
        "battery_horiz_050",
        "battery_horiz_075",
        "battery_low",
        "battery_plus",
        "battery_profile",
        "battery_saver",
        "battery_share",
        "battery_status_good",
        "battery_unknown",
        "battery_very_low",
        "beach_access",
        "bed",
        "bedroom_baby",
        "bedroom_child",
        "bedroom_parent",
        "bedtime",
        "bedtime_off",
        "beenhere",
        "bento",
        "bia",
        "bid_landscape",
        "bid_landscape_disabled",
        "bigtop_updates",
        "bike_dock",
        "bike_lane",
        "bike_scooter",
        "biotech",
        "blanket",
        "blender",
        "blind",
        "blinds",
        "blinds_closed",
        "block",
        "blood_pressure",
        "bloodtype",
        "bluetooth",
        "bluetooth_connected",
        "bluetooth_disabled",
        "bluetooth_drive",
        "bluetooth_searching",
        "blur_circular",
        "blur_linear",
        "blur_medium",
        "blur_off",
        "blur_on",
        "blur_short",
        "boat_bus",
        "boat_railway",
        "body_fat",
        "body_system",
        "bolt",
        "bomb",
        "book",
        "book_2",
        "book_3",
        "book_4",
        "book_5",
        "book_6",
        "book_online",
        "book_ribbon",
        "bookmark",
        "bookmark_add",
        "bookmark_added",
        "bookmark_bag",
        "bookmark_check",
        "bookmark_flag",
        "bookmark_heart",
        "bookmark_manager",
        "bookmark_remove",
        "bookmark_star",
        "bookmarks",
        "books_movies_and_music",
        "border_all",
        "border_bottom",
        "border_clear",
        "border_color",
        "border_horizontal",
        "border_inner",
        "border_left",
        "border_outer",
        "border_right",
        "border_style",
        "border_top",
        "border_vertical",
        "borg",
        "bottom_app_bar",
        "bottom_drawer",
        "bottom_navigation",
        "bottom_panel_close",
        "bottom_panel_open",
        "bottom_right_click",
        "bottom_sheets",
        "box",
        "box_add",
        "box_edit",
        "boy",
        "brand_awareness",
        "brand_family",
        "branding_watermark",
        "breakfast_dining",
        "breaking_news",
        "breaking_news_alt_1",
        "breastfeeding",
        "brick",
        "brightness_1",
        "brightness_2",
        "brightness_3",
        "brightness_4",
        "brightness_5",
        "brightness_6",
        "brightness_7",
        "brightness_alert",
        "brightness_auto",
        "brightness_empty",
        "brightness_medium",
        "bring_your_own_ip",
        "broadcast_on_home",
        "broadcast_on_personal",
        "broken_image",
        "browse",
        "browse_activity",
        "browse_gallery",
        "browser_updated",
        "brunch_dining",
        "brush",
        "bubble",
        "bubble_chart",
        "bubbles",
        "bug_report",
        "build",
        "build_circle",
        "bungalow",
        "burst_mode",
        "bus_alert",
        "bus_railway",
        "business_center",
        "business_chip",
        "business_messages",
        "buttons_alt",
        "cabin",
        "cable",
        "cable_car",
        "cached",
        "cadence",
        "cake",
        "cake_add",
        "calculate",
        "calendar_add_on",
        "calendar_apps_script",
        "calendar_clock",
        "calendar_month",
        "calendar_today",
        "calendar_view_day",
        "calendar_view_month",
        "calendar_view_week",
        "call",
        "call_end",
        "call_log",
        "call_made",
        "call_merge",
        "call_missed",
        "call_missed_outgoing",
        "call_quality",
        "call_received",
        "call_split",
        "call_to_action",
        "camera",
        "camera_front",
        "camera_indoor",
        "camera_outdoor",
        "camera_rear",
        "camera_roll",
        "camera_video",
        "cameraswitch",
        "campaign",
        "camping",
        "cancel",
        "cancel_presentation",
        "cancel_schedule_send",
        "candle",
        "candlestick_chart",
        "cannabis",
        "captive_portal",
        "capture",
        "car_crash",
        "car_defrost_left",
        "car_defrost_low_left",
        "car_defrost_low_right",
        "car_defrost_mid_low_left",
        "car_defrost_mid_right",
        "car_defrost_right",
        "car_fan_low_left",
        "car_fan_low_mid_left",
        "car_fan_low_right",
        "car_fan_mid_left",
        "car_fan_mid_low_right",
        "car_fan_mid_right",
        "car_fan_recirculate",
        "car_gear",
        "car_lock",
        "car_mirror_heat",
        "car_rental",
        "car_repair",
        "car_tag",
        "card_membership",
        "card_travel",
        "cardio_load",
        "cardiology",
        "cards",
        "cards_star",
        "carpenter",
        "carry_on_bag",
        "carry_on_bag_checked",
        "carry_on_bag_inactive",
        "carry_on_bag_question",
        "cases",
        "casino",
        "cast",
        "cast_connected",
        "cast_for_education",
        "cast_pause",
        "cast_warning",
        "castle",
        "category",
        "category_search",
        "celebration",
        "cell_merge",
        "cell_tower",
        "cell_wifi",
        "center_focus_strong",
        "center_focus_weak",
        "chair",
        "chair_alt",
        "chalet",
        "change_circle",
        "change_history",
        "charger",
        "charging_station",
        "chart_data",
        "chat",
        "chat_add_on",
        "chat_apps_script",
        "chat_bubble",
        "chat_error",
        "chat_info",
        "chat_paste_go",
        "chat_paste_go_2",
        "check",
        "check_box",
        "check_box_outline_blank",
        "check_circle",
        "check_in_out",
        "check_indeterminate_small",
        "check_small",
        "checkbook",
        "checked_bag",
        "checked_bag_question",
        "checklist",
        "checklist_rtl",
        "checkroom",
        "cheer",
        "chef_hat",
        "chess",
        "chess_pawn",
        "chevron_backward",
        "chevron_forward",
        "chevron_left",
        "chevron_right",
        "child_care",
        "child_friendly",
        "chip_extraction",
        "chips",
        "chrome_reader_mode",
        "chromecast_2",
        "chromecast_device",
        "chronic",
        "church",
        "cinematic_blur",
        "circle",
        "circle_notifications",
        "circles",
        "circles_ext",
        "clarify",
        "clean_hands",
        "cleaning",
        "cleaning_bucket",
        "cleaning_services",
        "clear_all",
        "clear_day",
        "climate_mini_split",
        "clinical_notes",
        "clock_arrow_down",
        "clock_arrow_up",
        "clock_loader_10",
        "clock_loader_20",
        "clock_loader_40",
        "clock_loader_60",
        "clock_loader_80",
        "clock_loader_90",
        "close",
        "close_fullscreen",
        "close_small",
        "closed_caption",
        "closed_caption_add",
        "closed_caption_disabled",
        "cloud",
        "cloud_alert",
        "cloud_circle",
        "cloud_done",
        "cloud_download",
        "cloud_lock",
        "cloud_off",
        "cloud_sync",
        "cloud_upload",
        "co2",
        "co_present",
        "code",
        "code_blocks",
        "code_off",
        "coffee",
        "coffee_maker",
        "cognition",
        "cognition_2",
        "collapse_all",
        "collapse_content",
        "collections_bookmark",
        "colorize",
        "colors",
        "combine_columns",
        "comedy_mask",
        "comic_bubble",
        "comment",
        "comment_bank",
        "comments_disabled",
        "commit",
        "communication",
        "communities",
        "commute",
        "compare",
        "compare_arrows",
        "compass_calibration",
        "component_exchange",
        "compost",
        "compress",
        "computer",
        "computer_arrow_up",
        "computer_cancel",
        "concierge",
        "conditions",
        "confirmation_number",
        "congenital",
        "connect_without_contact",
        "connected_tv",
        "connecting_airports",
        "construction",
        "contact_emergency",
        "contact_mail",
        "contact_page",
        "contact_phone",
        "contact_support",
        "contactless",
        "contactless_off",
        "contacts",
        "contacts_product",
        "content_copy",
        "content_cut",
        "content_paste",
        "content_paste_go",
        "content_paste_off",
        "content_paste_search",
        "contextual_token",
        "contextual_token_add",
        "contract",
        "contract_delete",
        "contract_edit",
        "contrast",
        "contrast_circle",
        "contrast_rtl_off",
        "contrast_square",
        "control_camera",
        "control_point_duplicate",
        "controller_gen",
        "conversion_path",
        "conversion_path_off",
        "convert_to_text",
        "conveyor_belt",
        "cookie",
        "cookie_off",
        "cooking",
        "cool_to_dry",
        "copy_all",
        "copyright",
        "coronavirus",
        "corporate_fare",
        "cottage",
        "counter_0",
        "counter_1",
        "counter_2",
        "counter_3",
        "counter_4",
        "counter_5",
        "counter_6",
        "counter_7",
        "counter_8",
        "counter_9",
        "countertops",
        "create_new_folder",
        "credit_card",
        "credit_card_clock",
        "credit_card_gear",
        "credit_card_heart",
        "credit_card_off",
        "credit_score",
        "crib",
        "crisis_alert",
        "crop",
        "crop_16_9",
        "crop_3_2",
        "crop_5_4",
        "crop_7_5",
        "crop_9_16",
        "crop_free",
        "crop_landscape",
        "crop_portrait",
        "crop_rotate",
        "crop_square",
        "crossword",
        "crowdsource",
        "crown",
        "cruelty_free",
        "css",
        "csv",
        "currency_bitcoin",
        "currency_exchange",
        "currency_franc",
        "currency_lira",
        "currency_pound",
        "currency_ruble",
        "currency_rupee",
        "currency_rupee_circle",
        "currency_yen",
        "currency_yuan",
        "curtains",
        "curtains_closed",
        "custom_typography",
        "cycle",
        "cyclone",
        "dangerous",
        "dark_mode",
        "dashboard",
        "dashboard_2",
        "dashboard_customize",
        "data_alert",
        "data_array",
        "data_check",
        "data_exploration",
        "data_info_alert",
        "data_loss_prevention",
        "data_object",
        "data_saver_on",
        "data_table",
        "data_thresholding",
        "data_usage",
        "database",
        "database_off",
        "database_search",
        "database_upload",
        "dataset",
        "dataset_linked",
        "date_range",
        "deblur",
        "deceased",
        "decimal_decrease",
        "decimal_increase",
        "deck",
        "dehaze",
        "delete",
        "delete_forever",
        "delete_history",
        "delete_sweep",
        "delivery_truck_bolt",
        "delivery_truck_speed",
        "demography",
        "density_large",
        "density_medium",
        "density_small",
        "dentistry",
        "departure_board",
        "deployed_code",
        "deployed_code_account",
        "deployed_code_alert",
        "deployed_code_history",
        "deployed_code_update",
        "dermatology",
        "description",
        "deselect",
        "design_services",
        "desk",
        "deskphone",
        "desktop_access_disabled",
        "desktop_cloud",
        "desktop_cloud_stack",
        "desktop_landscape",
        "desktop_landscape_add",
        "desktop_mac",
        "desktop_portrait",
        "desktop_windows",
        "destruction",
        "details",
        "detection_and_zone",
        "detector",
        "detector_alarm",
        "detector_battery",
        "detector_co",
        "detector_offline",
        "detector_smoke",
        "detector_status",
        "developer_board",
        "developer_board_off",
        "developer_guide",
        "developer_mode",
        "developer_mode_tv",
        "device_band",
        "device_hub",
        "device_thermostat",
        "device_unknown",
        "devices",
        "devices_fold",
        "devices_fold_2",
        "devices_off",
        "devices_other",
        "devices_wearables",
        "dew_point",
        "diagnosis",
        "diagonal_line",
        "dialer_sip",
        "dialogs",
        "dialpad",
        "diamond",
        "dictionary",
        "difference",
        "digital_out_of_home",
        "digital_wellbeing",
        "dining",
        "dinner_dining",
        "directions",
        "directions_alt",
        "directions_alt_off",
        "directions_bike",
        "directions_boat",
        "directions_bus",
        "directions_car",
        "directions_off",
        "directions_railway",
        "directions_railway_2",
        "directions_run",
        "directions_subway",
        "directions_walk",
        "directory_sync",
        "dirty_lens",
        "disabled_by_default",
        "disabled_visible",
        "disc_full",
        "discover_tune",
        "dishwasher",
        "dishwasher_gen",
        "display_external_input",
        "display_settings",
        "distance",
        "diversity_1",
        "diversity_2",
        "diversity_3",
        "diversity_4",
        "dns",
        "do_not_disturb_off",
        "do_not_disturb_on",
        "do_not_disturb_on_total_silence",
        "do_not_step",
        "do_not_touch",
        "dock",
        "dock_to_bottom",
        "dock_to_left",
        "dock_to_right",
        "docs",
        "docs_add_on",
        "docs_apps_script",
        "document_scanner",
        "document_search",
        "domain",
        "domain_add",
        "domain_disabled",
        "domain_verification",
        "domain_verification_off",
        "domino_mask",
        "done_all",
        "done_outline",
        "donut_large",
        "donut_small",
        "door_back",
        "door_front",
        "door_open",
        "door_sensor",
        "door_sliding",
        "doorbell",
        "doorbell_3p",
        "doorbell_chime",
        "double_arrow",
        "downhill_skiing",
        "download",
        "download_2",
        "download_done",
        "download_for_offline",
        "downloading",
        "draft",
        "draft_orders",
        "drafts",
        "drag_click",
        "drag_handle",
        "drag_indicator",
        "drag_pan",
        "draw",
        "draw_abstract",
        "draw_collage",
        "dresser",
        "drive_export",
        "drive_file_move",
        "drive_folder_upload",
        "dropdown",
        "dropper_eye",
        "dry",
        "dry_cleaning",
        "dual_screen",
        "duo",
        "dvr",
        "dynamic_feed",
        "dynamic_form",
        "e911_avatar",
        "e911_emergency",
        "e_mobiledata",
        "e_mobiledata_badge",
        "ear_sound",
        "earbud_case",
        "earbud_left",
        "earbud_right",
        "earbuds",
        "earbuds_2",
        "earbuds_battery",
        "early_on",
        "earthquake",
        "east",
        "ecg",
        "ecg_heart",
        "eco",
        "eda",
        "edgesensor_high",
        "edgesensor_low",
        "edit",
        "edit_arrow_down",
        "edit_arrow_up",
        "edit_attributes",
        "edit_audio",
        "edit_calendar",
        "edit_document",
        "edit_location",
        "edit_location_alt",
        "edit_note",
        "edit_notifications",
        "edit_off",
        "edit_road",
        "edit_square",
        "editor_choice",
        "egg",
        "egg_alt",
        "eject",
        "elderly",
        "elderly_woman",
        "electric_bike",
        "electric_bolt",
        "electric_car",
        "electric_meter",
        "electric_moped",
        "electric_rickshaw",
        "electric_scooter",
        "electrical_services",
        "elevation",
        "elevator",
        "emergency",
        "emergency_heat",
        "emergency_heat_2",
        "emergency_home",
        "emergency_recording",
        "emergency_share",
        "emergency_share_off",
        "emoji_food_beverage",
        "emoji_language",
        "emoji_nature",
        "emoji_objects",
        "emoji_people",
        "emoji_symbols",
        "emoji_transportation",
        "emoticon",
        "empty_dashboard",
        "enable",
        "encrypted",
        "encrypted_add",
        "encrypted_add_circle",
        "encrypted_minus_circle",
        "encrypted_off",
        "endocrinology",
        "energy",
        "energy_program_saving",
        "energy_program_time_used",
        "energy_savings_leaf",
        "engineering",
        "enhanced_encryption",
        "ent",
        "enterprise",
        "enterprise_off",
        "equal",
        "equalizer",
        "eraser_size_1",
        "eraser_size_2",
        "eraser_size_3",
        "eraser_size_4",
        "eraser_size_5",
        "error",
        "error_med",
        "escalator",
        "escalator_warning",
        "euro",
        "euro_symbol",
        "ev_mobiledata_badge",
        "ev_shadow",
        "ev_shadow_add",
        "ev_shadow_minus",
        "ev_station",
        "event",
        "event_available",
        "event_busy",
        "event_list",
        "event_note",
        "event_repeat",
        "event_seat",
        "event_upcoming",
        "exclamation",
        "exercise",
        "exit_to_app",
        "expand",
        "expand_all",
        "expand_circle_down",
        "expand_circle_right",
        "expand_circle_up",
        "expand_content",
        "expansion_panels",
        "experiment",
        "explicit",
        "explore",
        "explore_nearby",
        "explore_off",
        "explosion",
        "export_notes",
        "exposure",
        "exposure_neg_1",
        "exposure_neg_2",
        "exposure_plus_1",
        "exposure_plus_2",
        "exposure_zero",
        "extension",
        "extension_off",
        "eye_tracking",
        "eyeglasses",
        "eyeglasses_2",
        "face",
        "face_2",
        "face_3",
        "face_4",
        "face_5",
        "face_6",
        "face_down",
        "face_left",
        "face_nod",
        "face_retouching_off",
        "face_right",
        "face_shake",
        "face_up",
        "fact_check",
        "factory",
        "falling",
        "familiar_face_and_zone",
        "family_history",
        "family_home",
        "family_link",
        "family_restroom",
        "family_star",
        "fan_focus",
        "fan_indirect",
        "farsight_digital",
        "fast_forward",
        "fast_rewind",
        "fastfood",
        "faucet",
        "favorite",
        "fax",
        "feature_search",
        "featured_play_list",
        "featured_seasonal_and_gifts",
        "featured_video",
        "feedback",
        "female",
        "femur",
        "femur_alt",
        "fence",
        "fertile",
        "festival",
        "fiber_dvr",
        "fiber_manual_record",
        "fiber_new",
        "fiber_pin",
        "fiber_smart_record",
        "file_copy",
        "file_copy_off",
        "file_download_off",
        "file_export",
        "file_json",
        "file_map",
        "file_map_stack",
        "file_open",
        "file_png",
        "file_present",
        "file_save",
        "file_save_off",
        "file_upload_off",
        "files",
        "filter",
        "filter_1",
        "filter_2",
        "filter_3",
        "filter_4",
        "filter_5",
        "filter_6",
        "filter_7",
        "filter_8",
        "filter_9",
        "filter_9_plus",
        "filter_alt",
        "filter_alt_off",
        "filter_arrow_right",
        "filter_b_and_w",
        "filter_center_focus",
        "filter_drama",
        "filter_frames",
        "filter_hdr",
        "filter_list",
        "filter_list_off",
        "filter_none",
        "filter_retrolux",
        "filter_tilt_shift",
        "filter_vintage",
        "finance",
        "finance_chip",
        "finance_mode",
        "find_in_page",
        "find_replace",
        "fingerprint",
        "fingerprint_off",
        "fire_extinguisher",
        "fire_hydrant",
        "fire_truck",
        "fireplace",
        "first_page",
        "fit_page",
        "fit_page_height",
        "fit_page_width",
        "fit_screen",
        "fit_width",
        "fitness_center",
        "fitness_tracker",
        "flag",
        "flag_2",
        "flag_check",
        "flag_circle",
        "flaky",
        "flare",
        "flash_auto",
        "flash_off",
        "flash_on",
        "flashlight_off",
        "flashlight_on",
        "flatware",
        "flex_direction",
        "flex_no_wrap",
        "flex_wrap",
        "flight",
        "flight_class",
        "flight_land",
        "flight_takeoff",
        "flights_and_hotels",
        "flip",
        "flip_camera_android",
        "flip_camera_ios",
        "flip_to_back",
        "flip_to_front",
        "float_landscape_2",
        "float_portrait_2",
        "flood",
        "floor",
        "floor_lamp",
        "flowchart",
        "flowsheet",
        "fluid",
        "fluid_balance",
        "fluid_med",
        "fluorescent",
        "flutter",
        "flutter_dash",
        "flyover",
        "fmd_bad",
        "foggy",
        "folded_hands",
        "folder",
        "folder_check",
        "folder_check_2",
        "folder_code",
        "folder_copy",
        "folder_data",
        "folder_delete",
        "folder_eye",
        "folder_info",
        "folder_limited",
        "folder_managed",
        "folder_match",
        "folder_off",
        "folder_open",
        "folder_shared",
        "folder_special",
        "folder_supervised",
        "folder_zip",
        "follow_the_signs",
        "font_download",
        "font_download_off",
        "food_bank",
        "foot_bones",
        "footprint",
        "for_you",
        "forest",
        "fork_left",
        "fork_right",
        "fork_spoon",
        "forklift",
        "format_align_center",
        "format_align_justify",
        "format_align_left",
        "format_align_right",
        "format_bold",
        "format_clear",
        "format_color_fill",
        "format_color_reset",
        "format_color_text",
        "format_h1",
        "format_h2",
        "format_h3",
        "format_h4",
        "format_h5",
        "format_h6",
        "format_image_left",
        "format_image_right",
        "format_indent_decrease",
        "format_indent_increase",
        "format_ink_highlighter",
        "format_italic",
        "format_letter_spacing",
        "format_letter_spacing_2",
        "format_letter_spacing_standard",
        "format_letter_spacing_wide",
        "format_letter_spacing_wider",
        "format_line_spacing",
        "format_list_bulleted",
        "format_list_bulleted_add",
        "format_list_numbered",
        "format_list_numbered_rtl",
        "format_overline",
        "format_paint",
        "format_paragraph",
        "format_quote",
        "format_quote_off",
        "format_shapes",
        "format_size",
        "format_strikethrough",
        "format_text_clip",
        "format_text_overflow",
        "format_text_wrap",
        "format_textdirection_l_to_r",
        "format_textdirection_r_to_l",
        "format_textdirection_vertical",
        "format_underlined",
        "format_underlined_squiggle",
        "forms_add_on",
        "forms_apps_script",
        "fort",
        "forum",
        "forward",
        "forward_10",
        "forward_30",
        "forward_5",
        "forward_circle",
        "forward_media",
        "forward_to_inbox",
        "foundation",
        "fragrance",
        "frame_inspect",
        "frame_person",
        "frame_person_mic",
        "frame_person_off",
        "frame_reload",
        "frame_source",
        "free_cancellation",
        "front_hand",
        "front_loader",
        "full_coverage",
        "full_hd",
        "full_stacked_bar_chart",
        "fullscreen",
        "fullscreen_exit",
        "fullscreen_portrait",
        "function",
        "functions",
        "funicular",
        "g_mobiledata",
        "g_mobiledata_badge",
        "g_translate",
        "gallery_thumbnail",
        "gamepad",
        "garage",
        "garage_door",
        "garage_home",
        "garden_cart",
        "gas_meter",
        "gastroenterology",
        "gate",
        "gavel",
        "general_device",
        "genetics",
        "genres",
        "gesture",
        "gesture_select",
        "gif",
        "gif_2",
        "gif_box",
        "girl",
        "gite",
        "glass_cup",
        "globe",
        "globe_asia",
        "globe_book",
        "globe_location_pin",
        "globe_uk",
        "glucose",
        "glyphs",
        "go_to_line",
        "golf_course",
        "gondola_lift",
        "google_home_devices",
        "google_tv_remote",
        "google_wifi",
        "gpp_bad",
        "gpp_maybe",
        "gradient",
        "grading",
        "grain",
        "graph_1",
        "graph_2",
        "graph_3",
        "graph_4",
        "graph_5",
        "graph_6",
        "graph_7",
        "graphic_eq",
        "grass",
        "grid_3x3",
        "grid_3x3_off",
        "grid_4x4",
        "grid_goldenratio",
        "grid_guides",
        "grid_off",
        "grid_on",
        "grid_view",
        "grocery",
        "group",
        "group_add",
        "group_off",
        "group_remove",
        "group_search",
        "group_work",
        "grouped_bar_chart",
        "groups",
        "groups_2",
        "groups_3",
        "guardian",
        "gynecology",
        "h_mobiledata",
        "h_mobiledata_badge",
        "h_plus_mobiledata",
        "h_plus_mobiledata_badge",
        "hail",
        "hallway",
        "hand_bones",
        "hand_gesture",
        "hand_gesture_off",
        "handheld_controller",
        "handshake",
        "handyman",
        "hangout_video",
        "hangout_video_off",
        "hard_disk",
        "hard_drive",
        "hard_drive_2",
        "hardware",
        "hd",
        "hdr_auto",
        "hdr_auto_select",
        "hdr_enhanced_select",
        "hdr_off",
        "hdr_off_select",
        "hdr_on",
        "hdr_on_select",
        "hdr_plus",
        "hdr_plus_off",
        "hdr_strong",
        "hdr_weak",
        "head_mounted_device",
        "headphones",
        "headphones_battery",
        "headset_mic",
        "headset_off",
        "healing",
        "health_and_beauty",
        "health_and_safety",
        "health_metrics",
        "heap_snapshot_large",
        "heap_snapshot_multiple",
        "heap_snapshot_thumbnail",
        "hearing",
        "hearing_aid",
        "hearing_aid_disabled",
        "hearing_aid_disabled_left",
        "hearing_aid_left",
        "hearing_disabled",
        "heart_broken",
        "heart_check",
        "heart_minus",
        "heart_plus",
        "heat",
        "heat_pump",
        "heat_pump_balance",
        "height",
        "helicopter",
        "help",
        "help_center",
        "help_clinic",
        "hematology",
        "hevc",
        "hexagon",
        "hide",
        "hide_image",
        "hide_source",
        "high_density",
        "high_quality",
        "high_res",
        "highlight",
        "highlight_keyboard_focus",
        "highlight_mouse_cursor",
        "highlight_text_cursor",
        "highlighter_size_1",
        "highlighter_size_2",
        "highlighter_size_3",
        "highlighter_size_4",
        "highlighter_size_5",
        "hiking",
        "history",
        "history_2",
        "history_edu",
        "history_off",
        "history_toggle_off",
        "hive",
        "hls",
        "hls_off",
        "holiday_village",
        "home",
        "home_and_garden",
        "home_app_logo",
        "home_health",
        "home_improvement_and_tools",
        "home_iot_device",
        "home_max",
        "home_max_dots",
        "home_mini",
        "home_pin",
        "home_repair_service",
        "home_speaker",
        "home_storage",
        "home_work",
        "horizontal_distribute",
        "horizontal_rule",
        "horizontal_split",
        "host",
        "hot_tub",
        "hotel",
        "hotel_class",
        "hourglass",
        "hourglass_arrow_down",
        "hourglass_arrow_up",
        "hourglass_bottom",
        "hourglass_disabled",
        "hourglass_empty",
        "hourglass_pause",
        "hourglass_top",
        "house",
        "house_siding",
        "house_with_shield",
        "houseboat",
        "household_supplies",
        "hov",
        "how_to_reg",
        "how_to_vote",
        "hr_resting",
        "html",
        "http",
        "hub",
        "humerus",
        "humerus_alt",
        "humidity_high",
        "humidity_indoor",
        "humidity_low",
        "humidity_mid",
        "humidity_percentage",
        "hvac",
        "hvac_max_defrost",
        "ice_skating",
        "icecream",
        "id_card",
        "identity_aware_proxy",
        "identity_platform",
        "ifl",
        "iframe",
        "iframe_off",
        "image",
        "image_arrow_up",
        "image_aspect_ratio",
        "image_search",
        "imagesearch_roller",
        "imagesmode",
        "immunology",
        "import_contacts",
        "important_devices",
        "in_home_mode",
        "inactive_order",
        "inbox",
        "inbox_customize",
        "inbox_text",
        "inbox_text_asterisk",
        "inbox_text_person",
        "inbox_text_share",
        "incomplete_circle",
        "indeterminate_check_box",
        "indeterminate_question_box",
        "info",
        "info_i",
        "infrared",
        "ink_eraser",
        "ink_eraser_off",
        "ink_highlighter",
        "ink_highlighter_move",
        "ink_marker",
        "ink_pen",
        "ink_selection",
        "inpatient",
        "input",
        "input_circle",
        "insert_chart",
        "insert_page_break",
        "insert_text",
        "install_desktop",
        "instant_mix",
        "integration_instructions",
        "interactive_space",
        "interests",
        "interpreter_mode",
        "inventory",
        "inventory_2",
        "invert_colors",
        "invert_colors_off",
        "ios",
        "ios_share",
        "iron",
        "jamboard_kiosk",
        "javascript",
        "join",
        "join_inner",
        "join_left",
        "join_right",
        "joystick",
        "jump_to_element",
        "kayaking",
        "kebab_dining",
        "keep",
        "keep_off",
        "keep_public",
        "kettle",
        "key",
        "key_off",
        "key_vertical",
        "key_visualizer",
        "keyboard",
        "keyboard_alt",
        "keyboard_arrow_down",
        "keyboard_arrow_left",
        "keyboard_arrow_right",
        "keyboard_arrow_up",
        "keyboard_backspace",
        "keyboard_capslock",
        "keyboard_capslock_badge",
        "keyboard_command_key",
        "keyboard_control_key",
        "keyboard_double_arrow_down",
        "keyboard_double_arrow_left",
        "keyboard_double_arrow_right",
        "keyboard_double_arrow_up",
        "keyboard_external_input",
        "keyboard_full",
        "keyboard_hide",
        "keyboard_keys",
        "keyboard_lock",
        "keyboard_lock_off",
        "keyboard_off",
        "keyboard_onscreen",
        "keyboard_option_key",
        "keyboard_previous_language",
        "keyboard_return",
        "keyboard_tab",
        "keyboard_tab_rtl",
        "kid_star",
        "king_bed",
        "kitchen",
        "kitesurfing",
        "lab_panel",
        "lab_profile",
        "lab_research",
        "label",
        "label_important",
        "label_off",
        "labs",
        "lan",
        "landscape",
        "landscape_2",
        "landscape_2_edit",
        "landscape_2_off",
        "landslide",
        "language",
        "language_chinese_array",
        "language_chinese_cangjie",
        "language_chinese_dayi",
        "language_chinese_pinyin",
        "language_chinese_quick",
        "language_chinese_wubi",
        "language_french",
        "language_gb_english",
        "language_international",
        "language_japanese_kana",
        "language_korean_latin",
        "language_pinyin",
        "language_spanish",
        "language_us",
        "language_us_colemak",
        "language_us_dvorak",
        "laps",
        "laptop_car",
        "laptop_chromebook",
        "laptop_mac",
        "laptop_windows",
        "lasso_select",
        "last_page",
        "laundry",
        "layers",
        "layers_clear",
        "lda",
        "leaderboard",
        "leak_add",
        "leak_remove",
        "left_click",
        "left_panel_close",
        "left_panel_open",
        "legend_toggle",
        "lens_blur",
        "letter_switch",
        "library_add",
        "library_add_check",
        "library_books",
        "library_music",
        "license",
        "lift_to_talk",
        "light",
        "light_group",
        "light_mode",
        "light_off",
        "lightbulb",
        "lightbulb_2",
        "lightbulb_circle",
        "lightning_stand",
        "line_axis",
        "line_curve",
        "line_end",
        "line_end_arrow",
        "line_end_arrow_notch",
        "line_end_circle",
        "line_end_diamond",
        "line_end_square",
        "line_start",
        "line_start_arrow",
        "line_start_arrow_notch",
        "line_start_circle",
        "line_start_diamond",
        "line_start_square",
        "line_style",
        "line_weight",
        "linear_scale",
        "link",
        "link_off",
        "linked_camera",
        "linked_services",
        "liquor",
        "list",
        "list_alt",
        "list_alt_add",
        "list_alt_check",
        "lists",
        "live_help",
        "live_tv",
        "living",
        "local_activity",
        "local_atm",
        "local_bar",
        "local_cafe",
        "local_car_wash",
        "local_convenience_store",
        "local_dining",
        "local_drink",
        "local_fire_department",
        "local_florist",
        "local_gas_station",
        "local_hospital",
        "local_laundry_service",
        "local_library",
        "local_mall",
        "local_parking",
        "local_pharmacy",
        "local_pizza",
        "local_police",
        "local_post_office",
        "local_see",
        "local_shipping",
        "local_taxi",
        "location_away",
        "location_chip",
        "location_city",
        "location_disabled",
        "location_home",
        "location_off",
        "location_on",
        "location_searching",
        "lock",
        "lock_clock",
        "lock_open",
        "lock_open_circle",
        "lock_open_right",
        "lock_person",
        "lock_reset",
        "login",
        "logo_dev",
        "logout",
        "looks",
        "looks_3",
        "looks_4",
        "looks_5",
        "looks_6",
        "looks_one",
        "looks_two",
        "loupe",
        "low_density",
        "low_priority",
        "lowercase",
        "loyalty",
        "lte_mobiledata",
        "lte_mobiledata_badge",
        "lte_plus_mobiledata",
        "lte_plus_mobiledata_badge",
        "luggage",
        "lunch_dining",
        "lyrics",
        "macro_auto",
        "macro_off",
        "magnification_large",
        "magnification_small",
        "magnify_docked",
        "magnify_fullscreen",
        "mail",
        "mail_lock",
        "mail_off",
        "male",
        "man",
        "man_2",
        "man_3",
        "man_4",
        "manage_accounts",
        "manage_history",
        "manage_search",
        "manga",
        "manufacturing",
        "map",
        "map_search",
        "maps_ugc",
        "margin",
        "mark_as_unread",
        "mark_chat_read",
        "mark_chat_unread",
        "mark_email_read",
        "mark_email_unread",
        "mark_unread_chat_alt",
        "markdown",
        "markdown_copy",
        "markdown_paste",
        "markunread_mailbox",
        "masked_transitions",
        "masked_transitions_add",
        "masks",
        "match_case",
        "match_case_off",
        "match_word",
        "matter",
        "maximize",
        "measuring_tape",
        "media_bluetooth_off",
        "media_bluetooth_on",
        "media_link",
        "media_output",
        "media_output_off",
        "mediation",
        "medical_information",
        "medical_mask",
        "medical_services",
        "medication",
        "medication_liquid",
        "meeting_room",
        "memory",
        "memory_alt",
        "menstrual_health",
        "menu",
        "menu_book",
        "menu_open",
        "merge",
        "merge_type",
        "metabolism",
        "metro",
        "mfg_nest_yale_lock",
        "mic",
        "mic_alert",
        "mic_double",
        "mic_external_off",
        "mic_external_on",
        "mic_off",
        "microbiology",
        "microwave",
        "microwave_gen",
        "military_tech",
        "mimo",
        "mimo_disconnect",
        "mindfulness",
        "minimize",
        "minor_crash",
        "mintmark",
        "missed_video_call",
        "missing_controller",
        "mist",
        "mitre",
        "mixture_med",
        "mms",
        "mobile_hand",
        "mobile_hand_left",
        "mobile_hand_left_off",
        "mobile_hand_off",
        "mobile_loupe",
        "mobile_off",
        "mobile_screen_share",
        "mobile_screensaver",
        "mobile_sound_2",
        "mobile_speaker",
        "mobiledata_off",
        "mode_comment",
        "mode_cool",
        "mode_cool_off",
        "mode_dual",
        "mode_fan",
        "mode_fan_off",
        "mode_heat",
        "mode_heat_cool",
        "mode_heat_off",
        "mode_night",
        "mode_of_travel",
        "mode_off_on",
        "mode_standby",
        "model_training",
        "modeling",
        "money",
        "money_bag",
        "money_off",
        "monitor",
        "monitor_heart",
        "monitor_weight",
        "monitor_weight_gain",
        "monitor_weight_loss",
        "monitoring",
        "monochrome_photos",
        "monorail",
        "mood",
        "mood_bad",
        "moon_stars",
        "mop",
        "moped",
        "more",
        "more_down",
        "more_horiz",
        "more_time",
        "more_up",
        "more_vert",
        "mosque",
        "motion_blur",
        "motion_mode",
        "motion_photos_auto",
        "motion_photos_off",
        "motion_photos_on",
        "motion_photos_paused",
        "motion_play",
        "motion_sensor_active",
        "motion_sensor_alert",
        "motion_sensor_idle",
        "motion_sensor_urgent",
        "motorcycle",
        "mountain_flag",
        "mouse",
        "mouse_lock",
        "mouse_lock_off",
        "move",
        "move_down",
        "move_group",
        "move_item",
        "move_location",
        "move_selection_down",
        "move_selection_left",
        "move_selection_right",
        "move_selection_up",
        "move_to_inbox",
        "move_up",
        "moved_location",
        "movie",
        "movie_edit",
        "movie_info",
        "movie_off",
        "moving",
        "moving_beds",
        "moving_ministry",
        "mp",
        "multicooker",
        "multiline_chart",
        "multimodal_hand_eye",
        "multiple_airports",
        "multiple_stop",
        "museum",
        "music_cast",
        "music_note",
        "music_note_add",
        "music_off",
        "music_video",
        "my_location",
        "mystery",
        "nat",
        "nature",
        "nature_people",
        "navigation",
        "near_me",
        "near_me_disabled",
        "nearby",
        "nearby_error",
        "nearby_off",
        "nephrology",
        "nest_audio",
        "nest_cam_floodlight",
        "nest_cam_indoor",
        "nest_cam_iq",
        "nest_cam_iq_outdoor",
        "nest_cam_magnet_mount",
        "nest_cam_outdoor",
        "nest_cam_stand",
        "nest_cam_wall_mount",
        "nest_cam_wired_stand",
        "nest_clock_farsight_analog",
        "nest_clock_farsight_digital",
        "nest_connect",
        "nest_detect",
        "nest_display",
        "nest_display_max",
        "nest_doorbell_visitor",
        "nest_eco_leaf",
        "nest_farsight_weather",
        "nest_found_savings",
        "nest_heat_link_e",
        "nest_heat_link_gen_3",
        "nest_hello_doorbell",
        "nest_mini",
        "nest_multi_room",
        "nest_protect",
        "nest_remote",
        "nest_remote_comfort_sensor",
        "nest_secure_alarm",
        "nest_sunblock",
        "nest_tag",
        "nest_thermostat",
        "nest_thermostat_e_eu",
        "nest_thermostat_gen_3",
        "nest_thermostat_sensor",
        "nest_thermostat_sensor_eu",
        "nest_thermostat_zirconium_eu",
        "nest_true_radiant",
        "nest_wake_on_approach",
        "nest_wake_on_press",
        "nest_wifi_point",
        "nest_wifi_pro",
        "nest_wifi_pro_2",
        "nest_wifi_router",
        "network_cell",
        "network_check",
        "network_intel_node",
        "network_intelligence",
        "network_intelligence_history",
        "network_intelligence_update",
        "network_locked",
        "network_manage",
        "network_node",
        "network_ping",
        "network_wifi",
        "network_wifi_1_bar",
        "network_wifi_1_bar_locked",
        "network_wifi_2_bar",
        "network_wifi_2_bar_locked",
        "network_wifi_3_bar",
        "network_wifi_3_bar_locked",
        "network_wifi_locked",
        "neurology",
        "new_label",
        "new_window",
        "news",
        "newsmode",
        "newspaper",
        "newsstand",
        "next_plan",
        "next_week",
        "nfc",
        "nfc_off",
        "night_shelter",
        "night_sight_auto",
        "night_sight_auto_off",
        "night_sight_max",
        "nightlife",
        "nightlight",
        "nights_stay",
        "no_accounts",
        "no_adult_content",
        "no_backpack",
        "no_crash",
        "no_drinks",
        "no_encryption",
        "no_flash",
        "no_food",
        "no_luggage",
        "no_meals",
        "no_meeting_room",
        "no_photography",
        "no_sim",
        "no_sound",
        "no_stroller",
        "no_transfer",
        "noise_aware",
        "noise_control_off",
        "noise_control_on",
        "nordic_walking",
        "north",
        "north_east",
        "north_west",
        "not_accessible",
        "not_accessible_forward",
        "not_listed_location",
        "not_started",
        "note_add",
        "note_alt",
        "note_stack",
        "note_stack_add",
        "notes",
        "notification_add",
        "notification_important",
        "notification_multiple",
        "notification_settings",
        "notification_sound",
        "notifications",
        "notifications_active",
        "notifications_off",
        "notifications_paused",
        "notifications_unread",
        "numbers",
        "nutrition",
        "ods",
        "odt",
        "offline_bolt",
        "offline_pin",
        "offline_pin_off",
        "offline_share",
        "oil_barrel",
        "on_device_training",
        "on_hub_device",
        "oncology",
        "online_prediction",
        "onsen",
        "opacity",
        "open_in_browser",
        "open_in_full",
        "open_in_new",
        "open_in_new_down",
        "open_in_new_off",
        "open_jam",
        "open_run",
        "open_with",
        "ophthalmology",
        "oral_disease",
        "orbit",
        "order_approve",
        "order_play",
        "orders",
        "orthopedics",
        "other_admission",
        "other_houses",
        "outbound",
        "outbox",
        "outbox_alt",
        "outdoor_garden",
        "outdoor_grill",
        "outgoing_mail",
        "outlet",
        "outpatient",
        "outpatient_med",
        "output",
        "output_circle",
        "oven",
        "oven_gen",
        "overview",
        "overview_key",
        "owl",
        "oxygen_saturation",
        "p2p",
        "pace",
        "pacemaker",
        "package",
        "package_2",
        "padding",
        "page_control",
        "page_footer",
        "page_header",
        "page_info",
        "pageless",
        "pages",
        "pageview",
        "paid",
        "palette",
        "pallet",
        "pan_tool",
        "pan_tool_alt",
        "pan_zoom",
        "panorama",
        "panorama_horizontal",
        "panorama_photosphere",
        "panorama_vertical",
        "panorama_wide_angle",
        "paragliding",
        "park",
        "partly_cloudy_day",
        "partly_cloudy_night",
        "partner_exchange",
        "partner_reports",
        "party_mode",
        "passkey",
        "password",
        "password_2",
        "password_2_off",
        "patient_list",
        "pattern",
        "pause",
        "pause_circle",
        "pause_presentation",
        "payments",
        "pedal_bike",
        "pediatrics",
        "pen_size_1",
        "pen_size_2",
        "pen_size_3",
        "pen_size_4",
        "pen_size_5",
        "pending",
        "pending_actions",
        "pentagon",
        "percent",
        "pergola",
        "perm_camera_mic",
        "perm_contact_calendar",
        "perm_data_setting",
        "perm_device_information",
        "perm_media",
        "perm_phone_msg",
        "perm_scan_wifi",
        "person",
        "person_2",
        "person_3",
        "person_4",
        "person_add",
        "person_add_disabled",
        "person_alert",
        "person_apron",
        "person_book",
        "person_cancel",
        "person_celebrate",
        "person_check",
        "person_edit",
        "person_off",
        "person_pin",
        "person_pin_circle",
        "person_play",
        "person_raised_hand",
        "person_remove",
        "person_search",
        "person_shield",
        "personal_bag",
        "personal_bag_off",
        "personal_bag_question",
        "personal_injury",
        "personal_places",
        "pest_control",
        "pest_control_rodent",
        "pet_supplies",
        "pets",
        "phishing",
        "phone_android",
        "phone_bluetooth_speaker",
        "phone_callback",
        "phone_disabled",
        "phone_enabled",
        "phone_forwarded",
        "phone_in_talk",
        "phone_iphone",
        "phone_locked",
        "phone_missed",
        "phone_paused",
        "phonelink_erase",
        "phonelink_ring",
        "phonelink_ring_off",
        "phonelink_setup",
        "photo",
        "photo_album",
        "photo_auto_merge",
        "photo_camera",
        "photo_camera_back",
        "photo_camera_front",
        "photo_frame",
        "photo_library",
        "photo_prints",
        "photo_size_select_large",
        "photo_size_select_small",
        "php",
        "physical_therapy",
        "piano",
        "piano_off",
        "picture_as_pdf",
        "picture_in_picture",
        "picture_in_picture_alt",
        "picture_in_picture_center",
        "picture_in_picture_large",
        "picture_in_picture_medium",
        "picture_in_picture_mobile",
        "picture_in_picture_off",
        "picture_in_picture_small",
        "pie_chart",
        "pill",
        "pill_off",
        "pin",
        "pin_drop",
        "pin_end",
        "pin_invoke",
        "pinboard",
        "pinboard_unread",
        "pinch",
        "pinch_zoom_in",
        "pinch_zoom_out",
        "pip",
        "pip_exit",
        "pivot_table_chart",
        "place_item",
        "plagiarism",
        "planet",
        "planner_banner_ad_pt",
        "planner_review",
        "play_arrow",
        "play_circle",
        "play_disabled",
        "play_for_work",
        "play_lesson",
        "play_pause",
        "playing_cards",
        "playlist_add",
        "playlist_add_check",
        "playlist_add_check_circle",
        "playlist_add_circle",
        "playlist_play",
        "playlist_remove",
        "plug_connect",
        "plumbing",
        "podcasts",
        "podiatry",
        "podium",
        "point_of_sale",
        "point_scan",
        "poker_chip",
        "policy",
        "policy_alert",
        "polyline",
        "polymer",
        "pool",
        "portable_wifi_off",
        "position_bottom_left",
        "position_bottom_right",
        "position_top_right",
        "post",
        "post_add",
        "potted_plant",
        "power",
        "power_input",
        "power_off",
        "power_settings_circle",
        "power_settings_new",
        "prayer_times",
        "precision_manufacturing",
        "pregnancy",
        "pregnant_woman",
        "preliminary",
        "prescriptions",
        "present_to_all",
        "preview",
        "preview_off",
        "price_change",
        "price_check",
        "print",
        "print_add",
        "print_connect",
        "print_disabled",
        "print_error",
        "print_lock",
        "priority",
        "priority_high",
        "privacy",
        "privacy_tip",
        "private_connectivity",
        "problem",
        "procedure",
        "process_chart",
        "production_quantity_limits",
        "productivity",
        "progress_activity",
        "prompt_suggestion",
        "propane",
        "propane_tank",
        "psychiatry",
        "psychology",
        "psychology_alt",
        "public",
        "public_off",
        "publish",
        "published_with_changes",
        "pulmonology",
        "pulse_alert",
        "punch_clock",
        "qr_code",
        "qr_code_2",
        "qr_code_2_add",
        "qr_code_scanner",
        "query_stats",
        "question_exchange",
        "question_mark",
        "queue_music",
        "queue_play_next",
        "quick_phrases",
        "quick_reference",
        "quick_reference_all",
        "quick_reorder",
        "quickreply",
        "quiz",
        "r_mobiledata",
        "radar",
        "radio",
        "radio_button_checked",
        "radio_button_partial",
        "radio_button_unchecked",
        "radiology",
        "railway_alert",
        "railway_alert_2",
        "rainy",
        "rainy_heavy",
        "rainy_light",
        "rainy_snow",
        "ramen_dining",
        "ramp_left",
        "ramp_right",
        "range_hood",
        "rate_review",
        "raven",
        "raw_off",
        "raw_on",
        "read_more",
        "readiness_score",
        "real_estate_agent",
        "rear_camera",
        "rebase",
        "rebase_edit",
        "receipt",
        "receipt_long",
        "receipt_long_off",
        "recent_actors",
        "recent_patient",
        "recenter",
        "recommend",
        "record_voice_over",
        "rectangle",
        "recycling",
        "redeem",
        "redo",
        "reduce_capacity",
        "refresh",
        "regular_expression",
        "relax",
        "release_alert",
        "remember_me",
        "reminder",
        "remote_gen",
        "remove",
        "remove_done",
        "remove_from_queue",
        "remove_moderator",
        "remove_road",
        "remove_selection",
        "remove_shopping_cart",
        "reopen_window",
        "reorder",
        "repartition",
        "repeat",
        "repeat_on",
        "repeat_one",
        "repeat_one_on",
        "replace_audio",
        "replace_image",
        "replace_video",
        "replay",
        "replay_10",
        "replay_30",
        "replay_5",
        "reply",
        "reply_all",
        "report",
        "report_off",
        "request_page",
        "request_quote",
        "reset_brightness",
        "reset_focus",
        "reset_image",
        "reset_iso",
        "reset_settings",
        "reset_shadow",
        "reset_shutter_speed",
        "reset_tv",
        "reset_white_balance",
        "reset_wrench",
        "resize",
        "respiratory_rate",
        "responsive_layout",
        "restart_alt",
        "restaurant",
        "restore_from_trash",
        "restore_page",
        "resume",
        "reviews",
        "rewarded_ads",
        "rheumatology",
        "rib_cage",
        "rice_bowl",
        "right_click",
        "right_panel_close",
        "right_panel_open",
        "ring_volume",
        "ripples",
        "road",
        "robot",
        "robot_2",
        "rocket",
        "rocket_launch",
        "roller_shades",
        "roller_shades_closed",
        "roller_skating",
        "roofing",
        "room_preferences",
        "room_service",
        "rotate_90_degrees_ccw",
        "rotate_90_degrees_cw",
        "rotate_auto",
        "rotate_left",
        "rotate_right",
        "roundabout_left",
        "roundabout_right",
        "rounded_corner",
        "route",
        "router",
        "router_off",
        "routine",
        "rowing",
        "rss_feed",
        "rsvp",
        "rtt",
        "rubric",
        "rule",
        "rule_folder",
        "rule_settings",
        "run_circle",
        "running_with_errors",
        "rv_hookup",
        "safety_check",
        "safety_check_off",
        "safety_divider",
        "sailing",
        "salinity",
        "sanitizer",
        "satellite",
        "satellite_alt",
        "sauna",
        "save",
        "save_as",
        "save_clock",
        "saved_search",
        "savings",
        "scale",
        "scan",
        "scan_delete",
        "scanner",
        "scatter_plot",
        "scene",
        "schedule",
        "schedule_send",
        "schema",
        "school",
        "science",
        "science_off",
        "scooter",
        "score",
        "scoreboard",
        "screen_lock_landscape",
        "screen_lock_portrait",
        "screen_lock_rotation",
        "screen_record",
        "screen_rotation",
        "screen_rotation_alt",
        "screen_rotation_up",
        "screen_search_desktop",
        "screen_share",
        "screenshot",
        "screenshot_frame",
        "screenshot_frame_2",
        "screenshot_keyboard",
        "screenshot_monitor",
        "screenshot_region",
        "screenshot_tablet",
        "script",
        "scrollable_header",
        "scuba_diving",
        "sd",
        "sd_card",
        "sd_card_alert",
        "sdk",
        "search",
        "search_activity",
        "search_check",
        "search_check_2",
        "search_hands_free",
        "search_insights",
        "search_off",
        "seat_cool_left",
        "seat_cool_right",
        "seat_heat_left",
        "seat_heat_right",
        "seat_vent_left",
        "seat_vent_right",
        "security",
        "security_key",
        "security_update_good",
        "security_update_warning",
        "segment",
        "select",
        "select_all",
        "select_check_box",
        "select_to_speak",
        "select_window",
        "select_window_2",
        "select_window_off",
        "self_care",
        "self_improvement",
        "sell",
        "send",
        "send_and_archive",
        "send_money",
        "send_time_extension",
        "send_to_mobile",
        "sensor_door",
        "sensor_occupied",
        "sensor_window",
        "sensors",
        "sensors_krx",
        "sensors_krx_off",
        "sensors_off",
        "sentiment_calm",
        "sentiment_content",
        "sentiment_dissatisfied",
        "sentiment_excited",
        "sentiment_extremely_dissatisfied",
        "sentiment_frustrated",
        "sentiment_neutral",
        "sentiment_sad",
        "sentiment_satisfied",
        "sentiment_stressed",
        "sentiment_very_dissatisfied",
        "sentiment_very_satisfied",
        "sentiment_worried",
        "serif",
        "server_person",
        "service_toolbox",
        "set_meal",
        "settings",
        "settings_accessibility",
        "settings_account_box",
        "settings_alert",
        "settings_applications",
        "settings_b_roll",
        "settings_backup_restore",
        "settings_bluetooth",
        "settings_brightness",
        "settings_cell",
        "settings_cinematic_blur",
        "settings_ethernet",
        "settings_heart",
        "settings_input_antenna",
        "settings_input_component",
        "settings_input_hdmi",
        "settings_input_svideo",
        "settings_motion_mode",
        "settings_night_sight",
        "settings_overscan",
        "settings_panorama",
        "settings_phone",
        "settings_photo_camera",
        "settings_power",
        "settings_remote",
        "settings_slow_motion",
        "settings_system_daydream",
        "settings_timelapse",
        "settings_video_camera",
        "settings_voice",
        "settop_component",
        "severe_cold",
        "shadow",
        "shadow_add",
        "shadow_minus",
        "shape_line",
        "shapes",
        "share",
        "share_eta",
        "share_location",
        "share_off",
        "share_reviews",
        "share_windows",
        "sheets_rtl",
        "shelf_auto_hide",
        "shelf_position",
        "shelves",
        "shield",
        "shield_lock",
        "shield_locked",
        "shield_moon",
        "shield_person",
        "shield_question",
        "shield_watch",
        "shield_with_heart",
        "shield_with_house",
        "shift",
        "shift_lock",
        "shift_lock_off",
        "shop",
        "shop_two",
        "shopping_bag",
        "shopping_bag_speed",
        "shopping_basket",
        "shopping_cart",
        "shopping_cart_checkout",
        "shopping_cart_off",
        "shoppingmode",
        "short_stay",
        "short_text",
        "show_chart",
        "shower",
        "shuffle",
        "shuffle_on",
        "shutter_speed",
        "shutter_speed_add",
        "shutter_speed_minus",
        "sick",
        "side_navigation",
        "sign_language",
        "signal_cellular_0_bar",
        "signal_cellular_1_bar",
        "signal_cellular_2_bar",
        "signal_cellular_3_bar",
        "signal_cellular_4_bar",
        "signal_cellular_add",
        "signal_cellular_alt",
        "signal_cellular_alt_1_bar",
        "signal_cellular_alt_2_bar",
        "signal_cellular_connected_no_internet_0_bar",
        "signal_cellular_connected_no_internet_4_bar",
        "signal_cellular_nodata",
        "signal_cellular_null",
        "signal_cellular_off",
        "signal_cellular_pause",
        "signal_disconnected",
        "signal_wifi_0_bar",
        "signal_wifi_4_bar",
        "signal_wifi_bad",
        "signal_wifi_off",
        "signal_wifi_statusbar_not_connected",
        "signal_wifi_statusbar_null",
        "signature",
        "signpost",
        "sim_card",
        "sim_card_download",
        "simulation",
        "single_bed",
        "sip",
        "siren",
        "siren_check",
        "siren_open",
        "siren_question",
        "skateboarding",
        "skeleton",
        "skillet",
        "skillet_cooktop",
        "skip_next",
        "skip_previous",
        "skull",
        "skull_list",
        "slab_serif",
        "sledding",
        "sleep_score",
        "slide_library",
        "sliders",
        "slideshow",
        "slow_motion_video",
        "smart_card_reader",
        "smart_card_reader_off",
        "smart_display",
        "smart_outlet",
        "smart_screen",
        "smart_toy",
        "smartphone",
        "smartphone_camera",
        "smb_share",
        "smoke_free",
        "smoking_rooms",
        "sms",
        "snippet_folder",
        "snooze",
        "snowboarding",
        "snowing",
        "snowing_heavy",
        "snowmobile",
        "snowshoeing",
        "soap",
        "social_distance",
        "social_leaderboard",
        "solar_power",
        "sort",
        "sort_by_alpha",
        "sos",
        "sound_detection_dog_barking",
        "sound_detection_glass_break",
        "sound_detection_loud_sound",
        "sound_sampler",
        "soup_kitchen",
        "source_environment",
        "source_notes",
        "south",
        "south_america",
        "south_east",
        "south_west",
        "spa",
        "space_bar",
        "space_dashboard",
        "spatial_audio",
        "spatial_audio_off",
        "spatial_speaker",
        "spatial_tracking",
        "speaker",
        "speaker_group",
        "speaker_notes",
        "speaker_notes_off",
        "speaker_phone",
        "special_character",
        "specific_gravity",
        "speech_to_text",
        "speed",
        "speed_0_25",
        "speed_0_2x",
        "speed_0_5",
        "speed_0_5x",
        "speed_0_75",
        "speed_0_7x",
        "speed_1_2",
        "speed_1_25",
        "speed_1_2x",
        "speed_1_5",
        "speed_1_5x",
        "speed_1_75",
        "speed_1_7x",
        "speed_2x",
        "speed_camera",
        "spellcheck",
        "split_scene",
        "split_scene_down",
        "split_scene_left",
        "split_scene_right",
        "split_scene_up",
        "splitscreen",
        "splitscreen_add",
        "splitscreen_bottom",
        "splitscreen_landscape",
        "splitscreen_left",
        "splitscreen_portrait",
        "splitscreen_right",
        "splitscreen_top",
        "splitscreen_vertical_add",
        "spo2",
        "spoke",
        "sports",
        "sports_and_outdoors",
        "sports_bar",
        "sports_baseball",
        "sports_basketball",
        "sports_cricket",
        "sports_esports",
        "sports_football",
        "sports_golf",
        "sports_gymnastics",
        "sports_handball",
        "sports_hockey",
        "sports_kabaddi",
        "sports_martial_arts",
        "sports_mma",
        "sports_motorsports",
        "sports_rugby",
        "sports_score",
        "sports_soccer",
        "sports_tennis",
        "sports_volleyball",
        "sprinkler",
        "sprint",
        "square",
        "square_dot",
        "square_foot",
        "ssid_chart",
        "stack",
        "stack_group",
        "stack_hexagon",
        "stack_off",
        "stack_star",
        "stacked_bar_chart",
        "stacked_email",
        "stacked_inbox",
        "stacked_line_chart",
        "stacks",
        "stadia_controller",
        "stadium",
        "stairs",
        "stairs_2",
        "star",
        "star_half",
        "star_rate",
        "star_rate_half",
        "star_shine",
        "stars",
        "stars_2",
        "start",
        "stat_0",
        "stat_1",
        "stat_2",
        "stat_3",
        "stat_minus_1",
        "stat_minus_2",
        "stat_minus_3",
        "stay_current_landscape",
        "steering_wheel_heat",
        "step",
        "step_into",
        "step_out",
        "step_over",
        "steppers",
        "steps",
        "stethoscope",
        "stethoscope_arrow",
        "stethoscope_check",
        "sticky_note",
        "sticky_note_2",
        "stock_media",
        "stockpot",
        "stop",
        "stop_circle",
        "stop_screen_share",
        "storage",
        "store",
        "storefront",
        "storm",
        "straight",
        "straighten",
        "strategy",
        "stream",
        "stream_apps",
        "streetview",
        "stress_management",
        "strikethrough_s",
        "stroke_full",
        "stroke_partial",
        "stroller",
        "style",
        "styler",
        "stylus",
        "stylus_brush",
        "stylus_fountain_pen",
        "stylus_highlighter",
        "stylus_laser_pointer",
        "stylus_note",
        "stylus_pen",
        "stylus_pencil",
        "subdirectory_arrow_left",
        "subdirectory_arrow_right",
        "subheader",
        "subject",
        "subscript",
        "subscriptions",
        "subtitles",
        "subtitles_gear",
        "subtitles_off",
        "subway",
        "summarize",
        "sunny",
        "sunny_snowing",
        "superscript",
        "supervised_user_circle",
        "supervised_user_circle_off",
        "supervisor_account",
        "support",
        "support_agent",
        "surfing",
        "surgical",
        "surround_sound",
        "swap_calls",
        "swap_driving_apps",
        "swap_driving_apps_wheel",
        "swap_horiz",
        "swap_horizontal_circle",
        "swap_vert",
        "swap_vertical_circle",
        "sweep",
        "swipe",
        "swipe_down",
        "swipe_down_alt",
        "swipe_left",
        "swipe_left_alt",
        "swipe_right",
        "swipe_right_alt",
        "swipe_up",
        "swipe_up_alt",
        "swipe_vertical",
        "switch",
        "switch_access",
        "switch_access_2",
        "switch_access_3",
        "switch_access_shortcut",
        "switch_access_shortcut_add",
        "switch_account",
        "switch_camera",
        "switch_left",
        "switch_right",
        "switch_video",
        "switches",
        "sword_rose",
        "swords",
        "symptoms",
        "synagogue",
        "sync",
        "sync_alt",
        "sync_arrow_down",
        "sync_arrow_up",
        "sync_desktop",
        "sync_disabled",
        "sync_lock",
        "sync_problem",
        "sync_saved_locally",
        "syringe",
        "system_update",
        "system_update_alt",
        "tab",
        "tab_close",
        "tab_close_inactive",
        "tab_close_right",
        "tab_duplicate",
        "tab_group",
        "tab_inactive",
        "tab_move",
        "tab_new_right",
        "tab_recent",
        "tab_search",
        "tab_unselected",
        "table",
        "table_bar",
        "table_chart",
        "table_chart_view",
        "table_convert",
        "table_edit",
        "table_eye",
        "table_lamp",
        "table_restaurant",
        "table_rows",
        "table_rows_narrow",
        "table_view",
        "tablet",
        "tablet_android",
        "tablet_camera",
        "tablet_mac",
        "tabs",
        "tactic",
        "tag",
        "takeout_dining",
        "tamper_detection_off",
        "tamper_detection_on",
        "tap_and_play",
        "tapas",
        "target",
        "task",
        "task_alt",
        "taunt",
        "taxi_alert",
        "team_dashboard",
        "temp_preferences_eco",
        "temple_buddhist",
        "temple_hindu",
        "tenancy",
        "terminal",
        "text_ad",
        "text_compare",
        "text_decrease",
        "text_fields",
        "text_fields_alt",
        "text_format",
        "text_increase",
        "text_rotate_up",
        "text_rotate_vertical",
        "text_rotation_angledown",
        "text_rotation_angleup",
        "text_rotation_down",
        "text_rotation_none",
        "text_select_end",
        "text_select_jump_to_beginning",
        "text_select_jump_to_end",
        "text_select_move_back_character",
        "text_select_move_back_word",
        "text_select_move_down",
        "text_select_move_forward_character",
        "text_select_move_forward_word",
        "text_select_move_up",
        "text_select_start",
        "text_snippet",
        "text_to_speech",
        "text_up",
        "texture",
        "texture_add",
        "texture_minus",
        "theater_comedy",
        "theaters",
        "thermometer",
        "thermometer_add",
        "thermometer_gain",
        "thermometer_loss",
        "thermometer_minus",
        "thermostat",
        "thermostat_arrow_down",
        "thermostat_arrow_up",
        "thermostat_auto",
        "thermostat_carbon",
        "things_to_do",
        "thread_unread",
        "threat_intelligence",
        "thumb_down",
        "thumb_up",
        "thumbnail_bar",
        "thumbs_up_down",
        "thunderstorm",
        "tibia",
        "tibia_alt",
        "tile_large",
        "tile_medium",
        "tile_small",
        "time_auto",
        "timelapse",
        "timeline",
        "timer",
        "timer_10",
        "timer_10_alt_1",
        "timer_10_select",
        "timer_3",
        "timer_3_alt_1",
        "timer_3_select",
        "timer_5",
        "timer_5_shutter",
        "timer_arrow_down",
        "timer_arrow_up",
        "timer_off",
        "timer_pause",
        "timer_play",
        "tire_repair",
        "title",
        "titlecase",
        "toast",
        "toc",
        "today",
        "toggle_off",
        "toggle_on",
        "token",
        "toll",
        "tonality",
        "toolbar",
        "tools_flat_head",
        "tools_installation_kit",
        "tools_ladder",
        "tools_level",
        "tools_phillips",
        "tools_pliers_wire_stripper",
        "tools_power_drill",
        "tooltip",
        "tooltip_2",
        "top_panel_close",
        "top_panel_open",
        "topic",
        "tornado",
        "total_dissolved_solids",
        "touch_app",
        "touch_double",
        "touch_long",
        "touch_triple",
        "touchpad_mouse",
        "touchpad_mouse_off",
        "tour",
        "toys",
        "toys_and_games",
        "toys_fan",
        "track_changes",
        "trackpad_input",
        "trackpad_input_2",
        "trackpad_input_3",
        "traffic",
        "traffic_jam",
        "trail_length",
        "trail_length_medium",
        "trail_length_short",
        "train",
        "tram",
        "transcribe",
        "transfer_within_a_station",
        "transform",
        "transgender",
        "transit_enterexit",
        "transit_ticket",
        "transition_chop",
        "transition_dissolve",
        "transition_fade",
        "transition_push",
        "transition_slide",
        "translate",
        "transportation",
        "travel",
        "travel_explore",
        "travel_luggage_and_bags",
        "trending_down",
        "trending_flat",
        "trending_up",
        "trip",
        "trip_origin",
        "trolley",
        "trolley_cable_car",
        "trophy",
        "troubleshoot",
        "tsunami",
        "tsv",
        "tty",
        "tune",
        "turn_left",
        "turn_right",
        "turn_sharp_left",
        "turn_sharp_right",
        "turn_slight_left",
        "turn_slight_right",
        "tv",
        "tv_displays",
        "tv_gen",
        "tv_guide",
        "tv_next",
        "tv_off",
        "tv_options_edit_channels",
        "tv_options_input_settings",
        "tv_remote",
        "tv_signin",
        "tv_with_assistant",
        "two_pager",
        "two_pager_store",
        "two_wheeler",
        "type_specimen",
        "u_turn_left",
        "u_turn_right",
        "ulna_radius",
        "ulna_radius_alt",
        "umbrella",
        "unarchive",
        "undo",
        "unfold_less",
        "unfold_less_double",
        "unfold_more",
        "unfold_more_double",
        "ungroup",
        "universal_currency",
        "universal_currency_alt",
        "universal_local",
        "unknown_2",
        "unknown_5",
        "unknown_7",
        "unknown_document",
        "unknown_med",
        "unlicense",
        "unpaved_road",
        "unpublished",
        "unsubscribe",
        "upcoming",
        "update",
        "update_disabled",
        "upgrade",
        "upi_pay",
        "upload",
        "upload_2",
        "upload_file",
        "uppercase",
        "urology",
        "usb",
        "usb_off",
        "user_attributes",
        "vaccines",
        "vacuum",
        "valve",
        "vape_free",
        "vaping_rooms",
        "variable_add",
        "variable_insert",
        "variable_remove",
        "variables",
        "ventilator",
        "verified",
        "verified_off",
        "verified_user",
        "vertical_align_bottom",
        "vertical_align_center",
        "vertical_align_top",
        "vertical_distribute",
        "vertical_shades",
        "vertical_shades_closed",
        "vertical_split",
        "vibration",
        "video_call",
        "video_camera_back",
        "video_camera_back_add",
        "video_camera_front",
        "video_camera_front_off",
        "video_chat",
        "video_file",
        "video_label",
        "video_library",
        "video_search",
        "video_settings",
        "video_stable",
        "videocam",
        "videocam_alert",
        "videocam_off",
        "videogame_asset",
        "videogame_asset_off",
        "view_agenda",
        "view_apps",
        "view_array",
        "view_carousel",
        "view_column",
        "view_column_2",
        "view_comfy",
        "view_comfy_alt",
        "view_compact",
        "view_compact_alt",
        "view_cozy",
        "view_day",
        "view_headline",
        "view_in_ar",
        "view_in_ar_off",
        "view_kanban",
        "view_list",
        "view_module",
        "view_object_track",
        "view_quilt",
        "view_real_size",
        "view_sidebar",
        "view_stream",
        "view_timeline",
        "view_week",
        "vignette",
        "villa",
        "visibility",
        "visibility_lock",
        "visibility_off",
        "vital_signs",
        "vo2_max",
        "voice_chat",
        "voice_over_off",
        "voice_selection",
        "voice_selection_off",
        "voicemail",
        "voicemail_2",
        "volcano",
        "volume_down",
        "volume_down_alt",
        "volume_mute",
        "volume_off",
        "volume_up",
        "volunteer_activism",
        "voting_chip",
        "vpn_key",
        "vpn_key_alert",
        "vpn_key_off",
        "vpn_lock",
        "vpn_lock_2",
        "vr180_create2d",
        "vr180_create2d_off",
        "vrpano",
        "wall_art",
        "wall_lamp",
        "wallet",
        "wallpaper",
        "wallpaper_slideshow",
        "wand_shine",
        "wand_stars",
        "ward",
        "warehouse",
        "warning",
        "warning_off",
        "wash",
        "watch",
        "watch_arrow",
        "watch_button_press",
        "watch_check",
        "watch_off",
        "watch_screentime",
        "watch_vibration",
        "watch_wake",
        "water",
        "water_bottle",
        "water_bottle_large",
        "water_damage",
        "water_do",
        "water_drop",
        "water_ec",
        "water_full",
        "water_heater",
        "water_lock",
        "water_loss",
        "water_lux",
        "water_medium",
        "water_orp",
        "water_ph",
        "water_pump",
        "water_voc",
        "waterfall_chart",
        "waves",
        "waving_hand",
        "wb_auto",
        "wb_incandescent",
        "wb_iridescent",
        "wb_shade",
        "wb_sunny",
        "wb_twilight",
        "wc",
        "weather_hail",
        "weather_mix",
        "weather_snowy",
        "web",
        "web_asset",
        "web_asset_off",
        "web_stories",
        "web_traffic",
        "webhook",
        "weekend",
        "weight",
        "west",
        "whatshot",
        "wheelchair_pickup",
        "where_to_vote",
        "widget_medium",
        "widget_small",
        "widget_width",
        "widgets",
        "width_full",
        "width_normal",
        "width_wide",
        "wifi",
        "wifi_1_bar",
        "wifi_2_bar",
        "wifi_add",
        "wifi_calling",
        "wifi_calling_bar_1",
        "wifi_calling_bar_2",
        "wifi_calling_bar_3",
        "wifi_channel",
        "wifi_find",
        "wifi_home",
        "wifi_lock",
        "wifi_notification",
        "wifi_off",
        "wifi_password",
        "wifi_protected_setup",
        "wifi_proxy",
        "wifi_tethering",
        "wifi_tethering_error",
        "wifi_tethering_off",
        "wind_power",
        "window",
        "window_closed",
        "window_open",
        "window_sensor",
        "windshield_defrost_front",
        "windshield_defrost_rear",
        "windshield_heat_front",
        "wine_bar",
        "woman",
        "woman_2",
        "work",
        "work_alert",
        "work_history",
        "work_update",
        "workspace_premium",
        "workspaces",
        "wounds_injuries",
        "wrap_text",
        "wrist",
        "wrong_location",
        "wysiwyg",
        "yard",
        "your_trips",
        "youtube_activity",
        "youtube_searched_for",
        "zone_person_alert",
        "zone_person_idle",
        "zone_person_urgent",
        "zoom_in",
        "zoom_in_map",
        "zoom_out",
        "zoom_out_map"
      ],
      "description": "Material Symbol icon names available in CloudCannon for UI elements and content previews.",
      "title": "Icon",
      "$id": "icon"
    },
    "type.documentation": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "description": "The \"href\" value of the link."
        },
        "text": {
          "description": "The visible text used in the link.",
          "type": "string"
        },
        "icon": {
          "description": "The icon displayed next to the link.",
          "default": "auto_stories",
          "allOf": [
            {
              "$ref": "#/$defs/icon"
            }
          ]
        }
      },
      "required": [
        "url"
      ],
      "$id": "type.documentation",
      "description": "Configuration for documentation links displayed in the CloudCannon interface.",
      "title": "Documentation",
      "additionalProperties": false
    },
    "EditorKey": {
      "type": "string",
      "enum": [
        "visual",
        "content",
        "data"
      ],
      "description": "The available editors in CloudCannon: visual, content, and data editors.",
      "title": "Editor Key",
      "$id": "EditorKey"
    },
    "type.create": {
      "type": "object",
      "properties": {
        "path": {
          "description": "The raw template to be processed when creating files. Relative to the containing collection's path.",
          "type": "string"
        },
        "extra_data": {
          "description": "Adds to the available data placeholders coming from the file. Entry values follow the same format as path, and are processed sequentially before path. These values are not saved back to your file.",
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "string"
          }
        },
        "publish_to": {
          "description": "Defines a target collection when publishing. When a file is published, the target collection's create definition is used instead.",
          "type": "string"
        },
        "_inputs": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs"
            }
          ]
        },
        "_inputs_from_glob": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs_from_glob"
            }
          ]
        },
        "_select_data": {
          "allOf": [
            {
              "$ref": "#/$defs/type._select_data"
            }
          ]
        },
        "_structures": {
          "allOf": [
            {
              "$ref": "#/$defs/type._structures"
            }
          ]
        },
        "_structures_from_glob": {
          "allOf": [
            {
              "$ref": "#/$defs/type._structures_from_glob"
            }
          ]
        }
      },
      "$id": "type.create",
      "description": "Controls where new files are saved.",
      "title": "Create",
      "additionalProperties": false
    },
    "type._inputs": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "$id": "type._inputs",
      "description": "Controls the behavior and appearance of your inputs in all data editing interfaces.",
      "title": "Inputs",
      "additionalProperties": {
        "$ref": "#/$defs/Input"
      }
    },
    "Input": {
      "anyOf": [
        {
          "oneOf": [
            {
              "$ref": "#/$defs/TextInput"
            },
            {
              "$ref": "#/$defs/TextareaInput"
            },
            {
              "$ref": "#/$defs/CodeInput"
            },
            {
              "$ref": "#/$defs/ColorInput"
            },
            {
              "$ref": "#/$defs/BooleanInput"
            },
            {
              "$ref": "#/$defs/NumberInput"
            },
            {
              "$ref": "#/$defs/RangeInput"
            },
            {
              "$ref": "#/$defs/RichTextInput"
            },
            {
              "$ref": "#/$defs/DateInput"
            },
            {
              "$ref": "#/$defs/TimeInput"
            },
            {
              "$ref": "#/$defs/FileInput"
            },
            {
              "$ref": "#/$defs/UrlInput"
            },
            {
              "$ref": "#/$defs/SelectInput"
            },
            {
              "$ref": "#/$defs/MultiselectInput"
            },
            {
              "$ref": "#/$defs/ChoiceInput"
            },
            {
              "$ref": "#/$defs/MultichoiceInput"
            },
            {
              "$ref": "#/$defs/ObjectInput"
            },
            {
              "$ref": "#/$defs/ArrayInput"
            },
            {
              "$ref": "#/$defs/AutoInput"
            }
          ],
          "title": "Known Input",
          "description": "A union of all input types that are known to the CloudCannon configuration schema."
        },
        {
          "$ref": "#/$defs/UnknownInput"
        }
      ],
      "title": "Input",
      "$id": "Input"
    },
    "TextInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "enum": [
            "text",
            "email",
            "disabled",
            "pinterest",
            "facebook",
            "twitter",
            "github",
            "instagram"
          ],
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "max_length": {
              "$ref": "#/$defs/type._inputs.*.options.max_length"
            },
            "max_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_length_message"
            },
            "min_length": {
              "$ref": "#/$defs/type._inputs.*.options.min_length"
            },
            "min_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_length_message"
            },
            "max_words": {
              "$ref": "#/$defs/type._inputs.*.options.max_words"
            },
            "max_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_words_message"
            },
            "min_words": {
              "$ref": "#/$defs/type._inputs.*.options.min_words"
            },
            "min_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_words_message"
            },
            "max_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes"
            },
            "max_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes_message"
            },
            "min_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes"
            },
            "min_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes_message"
            },
            "locale": {
              "$ref": "#/$defs/type._inputs.*.options.locale"
            },
            "pattern": {
              "$ref": "#/$defs/type._inputs.*.options.pattern"
            },
            "pattern_message": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_message"
            },
            "pattern_flags": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_flags"
            },
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(text)"
                }
              ]
            },
            "placeholder": {
              "description": "Text shown when this input has no value.",
              "type": "string"
            },
            "icon": {
              "description": "Icon shown beside the input.",
              "allOf": [
                {
                  "$ref": "#/$defs/icon"
                }
              ]
            },
            "icon_color": {
              "allOf": [
                {
                  "$ref": "#/$defs/PreviewEntries"
                }
              ]
            },
            "icon_background_color": {
              "allOf": [
                {
                  "$ref": "#/$defs/PreviewEntries"
                }
              ]
            }
          },
          "description": "Options that are specific to Text Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "TextInput",
      "description": "Provides a simple editing interface for plain text.",
      "title": "Text Input",
      "additionalProperties": false
    },
    "type._inputs.*.comment": {
      "type": "string",
      "description": "Changes the subtext below the _Label_. Has no default. Supports a limited set of Markdown: links, bold, italic, subscript, superscript, and inline code elements are allowed.",
      "$id": "type._inputs.*.comment"
    },
    "type._inputs.*.context": {
      "type": "object",
      "properties": {
        "content": {
          "description": "The rich text content shown when opened. Supports a limited set of Markdown.",
          "type": "string"
        },
        "open": {
          "description": "Makes the content visible initially.",
          "default": false,
          "type": "boolean"
        },
        "title": {
          "description": "The text shown when not open. Defaults to \"Context\" if unset.",
          "type": "string"
        },
        "icon": {
          "description": "The icon shown when not open. Defaults to \"auto_stories\" if unset.",
          "allOf": [
            {
              "$ref": "#/$defs/icon"
            }
          ]
        }
      },
      "$id": "type._inputs.*.context",
      "description": "Adds an expandable section of rich text below the input.",
      "additionalProperties": false
    },
    "type._inputs.*.label": {
      "type": "string",
      "description": "Optionally changes the text above this input.",
      "$id": "type._inputs.*.label"
    },
    "type._inputs.*.hidden": {
      "anyOf": [
        {
          "type": "boolean",
          "title": "Boolean"
        },
        {
          "type": "string",
          "title": "Query String"
        }
      ],
      "description": "Toggles the visibility of this input.",
      "default": false,
      "$id": "type._inputs.*.hidden"
    },
    "type._inputs.*.disabled": {
      "anyOf": [
        {
          "type": "boolean",
          "title": "Boolean"
        },
        {
          "type": "string",
          "title": "Query String"
        }
      ],
      "description": "Toggles if this input can be edited.",
      "default": false,
      "$id": "type._inputs.*.disabled"
    },
    "type._inputs.*.instance_value": {
      "enum": [
        "UUID",
        "NOW"
      ],
      "title": "Instance Value",
      "description": "Controls if and how the value of this input is instantiated when created. This occurs when creating files, or adding array items containing the configured input.",
      "type": "string",
      "$id": "type._inputs.*.instance_value"
    },
    "type._inputs.*.disable_instance_value_rehydration": {
      "type": "boolean",
      "description": "Prevents the default where inputs configured with an `instance_value` are rehydrated with a new value when duplicated in the CMS.",
      "default": false,
      "$id": "type._inputs.*.disable_instance_value_rehydration"
    },
    "type._inputs.*.cascade": {
      "type": "boolean",
      "description": "Specifies whether or not this input configuration should be merged with any matching, less specific configuration.",
      "default": true,
      "$id": "type._inputs.*.cascade"
    },
    "type._inputs.*.options.max_length": {
      "type": "number",
      "description": "This key defines the maximum string length, in characters, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
      "$id": "type._inputs.*.options.max_length"
    },
    "type._inputs.*.options.max_length_message": {
      "type": "string",
      "description": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_length`.",
      "$id": "type._inputs.*.options.max_length_message"
    },
    "type._inputs.*.options.min_length": {
      "type": "number",
      "description": "This key defines the minimum string length, in characters, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
      "$id": "type._inputs.*.options.min_length"
    },
    "type._inputs.*.options.min_length_message": {
      "type": "string",
      "description": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_length`.",
      "$id": "type._inputs.*.options.min_length_message"
    },
    "type._inputs.*.options.max_words": {
      "type": "number",
      "description": "This key defines the maximum string length, in words, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
      "$id": "type._inputs.*.options.max_words"
    },
    "type._inputs.*.options.max_words_message": {
      "type": "string",
      "description": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_words.",
      "$id": "type._inputs.*.options.max_words_message"
    },
    "type._inputs.*.options.min_words": {
      "type": "number",
      "description": "This key defines the minimum string length, in words, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
      "$id": "type._inputs.*.options.min_words"
    },
    "type._inputs.*.options.min_words_message": {
      "type": "string",
      "description": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_words`.",
      "$id": "type._inputs.*.options.min_words_message"
    },
    "type._inputs.*.options.max_graphemes": {
      "type": "number",
      "description": "This key defines the maximum string length, in graphemes, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
      "$id": "type._inputs.*.options.max_graphemes"
    },
    "type._inputs.*.options.max_graphemes_message": {
      "type": "string",
      "description": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_graphemes.",
      "$id": "type._inputs.*.options.max_graphemes_message"
    },
    "type._inputs.*.options.min_graphemes": {
      "type": "number",
      "description": "This key defines the minimum string length, in graphemes, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
      "$id": "type._inputs.*.options.min_graphemes"
    },
    "type._inputs.*.options.min_graphemes_message": {
      "type": "string",
      "description": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_graphemes`.",
      "$id": "type._inputs.*.options.min_graphemes_message"
    },
    "type._inputs.*.options.locale": {
      "type": "string",
      "description": "This key defines the locale that CloudCannon uses to determine the number of words or graphemes in this Input, if you have `max_words`, `min_words`, `max_graphemes`, or `min_graphemes` configured.",
      "$id": "type._inputs.*.options.locale"
    },
    "type._inputs.*.options.pattern": {
      "type": "string",
      "description": "This key defines a regular expression that the Input value must match. When configured, CloudCannon will require you to enter a value that matches the REGEX pattern. If the Input already contains an invalid value, CloudCannon will require you to enter a valid string to save your changes, or discard your unsaved changes.",
      "$id": "type._inputs.*.options.pattern"
    },
    "type._inputs.*.options.pattern_message": {
      "type": "string",
      "description": "This key defines the message that explains which regular expression an Input will accept. This key requires you to define `options.pattern`.",
      "$id": "type._inputs.*.options.pattern_message"
    },
    "type._inputs.*.options.pattern_flags": {
      "$id": "type._inputs.*.options.pattern_flags",
      "description": "This key defines the flags (e.g. case-insensitive searching) for the regular expression set in `options.pattern`.",
      "type": "object",
      "properties": {
        "global": {
          "description": "`g` - Search globally.",
          "default": false,
          "type": "boolean"
        },
        "ignore_case": {
          "description": "`i` - Case-insensitive.",
          "default": false,
          "type": "boolean"
        },
        "multiline": {
          "description": "`m` - `^` and `$` match the start and end of each line rather than the entire string.",
          "default": false,
          "type": "boolean"
        },
        "dot_all": {
          "description": "`s` - `.` matches newline characters.",
          "default": false,
          "type": "boolean"
        },
        "unicode": {
          "description": "`u` - Pattern is treated as a sequence of Unicode code points.",
          "default": false,
          "type": "boolean"
        },
        "unicode_sets": {
          "description": "`v` - Extended `unicode` mode.",
          "default": false,
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "type._inputs.*.options.required": {
      "type": "boolean",
      "description": "This key toggles whether CloudCannon requires this Input to have a value. If set to true, CloudCannon will require you to enter a value to save your changes, or discard your unsaved changes.",
      "default": false,
      "$id": "type._inputs.*.options.required"
    },
    "type._inputs.*.options.required_message": {
      "type": "string",
      "description": "This key defines the message that explains why an Input is required. This key requires you to define `options.required`.",
      "$id": "type._inputs.*.options.required_message"
    },
    "type._inputs.*.options.empty_type(text)": {
      "default": "null",
      "enum": [
        "null",
        "string"
      ],
      "description": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
      "type": "string",
      "$id": "type._inputs.*.options.empty_type(text)"
    },
    "PreviewEntries": {
      "anyOf": [
        {
          "$ref": "#/$defs/type.preview-entry.(array)"
        },
        {
          "$ref": "#/$defs/type.preview-entry.(raw-text)"
        },
        {
          "$ref": "#/$defs/type.preview-entry.(false)"
        }
      ],
      "$id": "PreviewEntries"
    },
    "type.preview-entry.(array)": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/type.preview-entry"
      },
      "title": "Array",
      "$id": "type.preview-entry.(array)"
    },
    "type.preview-entry": {
      "anyOf": [
        {
          "$ref": "#/$defs/type.preview-entry.(key)"
        },
        {
          "$ref": "#/$defs/type.preview-entry.(template)"
        },
        {
          "$ref": "#/$defs/type.preview-entry.(text)"
        },
        {
          "$ref": "#/$defs/type.preview-entry.(raw-text)"
        },
        {
          "$ref": "#/$defs/type.preview-entry.(false)"
        }
      ],
      "title": "Preview Entry",
      "$id": "type.preview-entry"
    },
    "type.preview-entry.(key)": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "title": "Key Value"
        }
      },
      "required": [
        "key"
      ],
      "$id": "type.preview-entry.(key)",
      "title": "Key",
      "additionalProperties": false
    },
    "type.preview-entry.(template)": {
      "type": "object",
      "properties": {
        "template": {
          "type": "string",
          "title": "Template Value"
        }
      },
      "required": [
        "template"
      ],
      "$id": "type.preview-entry.(template)",
      "title": "Template",
      "additionalProperties": false
    },
    "type.preview-entry.(text)": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string",
          "title": "Text Value"
        }
      },
      "required": [
        "text"
      ],
      "$id": "type.preview-entry.(text)",
      "title": "Text",
      "additionalProperties": false
    },
    "type.preview-entry.(raw-text)": {
      "type": "string",
      "title": "Raw Text",
      "$id": "type.preview-entry.(raw-text)"
    },
    "type.preview-entry.(false)": {
      "type": "boolean",
      "const": false,
      "title": "False",
      "$id": "type.preview-entry.(false)"
    },
    "TextareaInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "const": "textarea",
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "max_length": {
              "$ref": "#/$defs/type._inputs.*.options.max_length"
            },
            "max_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_length_message"
            },
            "min_length": {
              "$ref": "#/$defs/type._inputs.*.options.min_length"
            },
            "min_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_length_message"
            },
            "max_words": {
              "$ref": "#/$defs/type._inputs.*.options.max_words"
            },
            "max_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_words_message"
            },
            "min_words": {
              "$ref": "#/$defs/type._inputs.*.options.min_words"
            },
            "min_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_words_message"
            },
            "max_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes"
            },
            "max_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes_message"
            },
            "min_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes"
            },
            "min_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes_message"
            },
            "locale": {
              "$ref": "#/$defs/type._inputs.*.options.locale"
            },
            "pattern": {
              "$ref": "#/$defs/type._inputs.*.options.pattern"
            },
            "pattern_message": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_message"
            },
            "pattern_flags": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_flags"
            },
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(text)"
                }
              ]
            },
            "placeholder": {
              "description": "Text shown when this input has no value.",
              "type": "string"
            },
            "show_count": {
              "description": "Shows a character counter below the input if enabled.",
              "default": false,
              "type": "boolean"
            }
          },
          "description": "Options that are specific to Textarea Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "TextareaInput",
      "description": "Provides an editing interface for plain text.",
      "title": "Textarea Input",
      "additionalProperties": false
    },
    "CodeInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "const": "code",
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "tab_size": {
              "default": 2,
              "type": "number"
            },
            "theme": {
              "default": "basic_dark",
              "allOf": [
                {
                  "$ref": "#/$defs/Theme"
                }
              ]
            },
            "show_gutter": {
              "default": true,
              "type": "boolean"
            },
            "soft_wrap": {
              "default": false,
              "type": "boolean"
            },
            "max_length": {
              "$ref": "#/$defs/type._inputs.*.options.max_length"
            },
            "max_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_length_message"
            },
            "min_length": {
              "$ref": "#/$defs/type._inputs.*.options.min_length"
            },
            "min_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_length_message"
            },
            "max_words": {
              "$ref": "#/$defs/type._inputs.*.options.max_words"
            },
            "max_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_words_message"
            },
            "min_words": {
              "$ref": "#/$defs/type._inputs.*.options.min_words"
            },
            "min_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_words_message"
            },
            "max_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes"
            },
            "max_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes_message"
            },
            "min_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes"
            },
            "min_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes_message"
            },
            "locale": {
              "$ref": "#/$defs/type._inputs.*.options.locale"
            },
            "pattern": {
              "$ref": "#/$defs/type._inputs.*.options.pattern"
            },
            "pattern_message": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_message"
            },
            "pattern_flags": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_flags"
            },
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(text)"
                }
              ]
            },
            "max_visible_lines": {
              "description": "Sets the maximum number of visible lines for this input, effectively controlling maximum height. When the containing text exceeds this number, the input becomes a scroll area.",
              "type": "number"
            },
            "min_visible_lines": {
              "description": "Sets the minimum number of visible lines for this input, effectively controlling initial height. When the containing text exceeds this number, the input grows line by line to the lines defined by `max_visible_lines`.",
              "type": "number"
            },
            "syntax": {
              "description": "Changes how the editor parses your content for syntax highlighting. Should be set to the language of the code going into the input.",
              "allOf": [
                {
                  "$ref": "#/$defs/Syntax"
                }
              ]
            }
          },
          "description": "Options that are specific to Code Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "CodeInput",
      "description": "Provides an editing interface for code or mono-spaced plain text content.",
      "title": "Code Input",
      "additionalProperties": false
    },
    "Theme": {
      "type": "string",
      "enum": [
        "atomone",
        "basic_dark",
        "basic_light",
        "darcula",
        "dracula",
        "duotone_dark",
        "duotone_light",
        "eclipse",
        "github_dark",
        "github_light",
        "gruvbox_dark",
        "gruvbox_light",
        "material_dark",
        "material_light",
        "solarized_dark",
        "solarized_light",
        "sublime",
        "tokyo_night",
        "tokyo_night_day",
        "tokyo_night_storm",
        "tomorrow_night_blue",
        "vscode_dark",
        "vscode_light",
        "xcode_dark",
        "xcode_light"
      ],
      "$id": "Theme"
    },
    "Syntax": {
      "type": "string",
      "enum": [
        "c_cpp",
        "clojure",
        "cobol",
        "coffee",
        "csharp",
        "css",
        "d",
        "dart",
        "diff",
        "dockerfile",
        "eiffel",
        "elm",
        "erlang",
        "forth",
        "fortran",
        "fsharp",
        "gherkin",
        "golang",
        "groovy",
        "haskell",
        "haskell_cabal",
        "haxe",
        "html",
        "java",
        "javascript",
        "json",
        "julia",
        "kotlin",
        "less",
        "liquid",
        "livescript",
        "lua",
        "markdown",
        "mysql",
        "nginx",
        "nsis",
        "objectivec",
        "ocaml",
        "pascal",
        "pgsql",
        "pig",
        "powershell",
        "properties",
        "protobuf",
        "puppet",
        "python",
        "r",
        "ruby",
        "rust",
        "sass",
        "scala",
        "scheme",
        "scss",
        "sh",
        "sql",
        "stylus",
        "swift",
        "tcl",
        "toml",
        "turtle",
        "typescript",
        "vbscript",
        "velocity",
        "verilog",
        "vhdl",
        "xml",
        "xquery",
        "yaml"
      ],
      "description": "Available syntax highlighting languages for code editors in CloudCannon.",
      "title": "Syntax",
      "$id": "Syntax"
    },
    "ColorInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "const": "color",
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "max_length": {
              "$ref": "#/$defs/type._inputs.*.options.max_length"
            },
            "max_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_length_message"
            },
            "min_length": {
              "$ref": "#/$defs/type._inputs.*.options.min_length"
            },
            "min_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_length_message"
            },
            "max_words": {
              "$ref": "#/$defs/type._inputs.*.options.max_words"
            },
            "max_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_words_message"
            },
            "min_words": {
              "$ref": "#/$defs/type._inputs.*.options.min_words"
            },
            "min_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_words_message"
            },
            "max_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes"
            },
            "max_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes_message"
            },
            "min_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes"
            },
            "min_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes_message"
            },
            "locale": {
              "$ref": "#/$defs/type._inputs.*.options.locale"
            },
            "pattern": {
              "$ref": "#/$defs/type._inputs.*.options.pattern"
            },
            "pattern_message": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_message"
            },
            "pattern_flags": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_flags"
            },
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(text)"
                }
              ]
            },
            "format": {
              "description": "Sets what format the color value is saved as. Defaults to the naming convention, or HEX if that is unset.",
              "type": "string",
              "enum": [
                "rgb",
                "hex",
                "hsl",
                "hsv"
              ]
            },
            "alpha": {
              "description": "Toggles showing a control for adjusting the transparency of the selected color. Defaults to using the naming convention, enabled if the input key ends with \"a\".",
              "type": "boolean"
            },
            "palette": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "hide_picker": {
              "default": false,
              "type": "boolean"
            }
          },
          "description": "Options that are specific to Color Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "ColorInput",
      "description": "Provides an editing interface for color values.",
      "title": "Color Input",
      "additionalProperties": false
    },
    "BooleanInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "enum": [
            "checkbox",
            "switch"
          ],
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        }
      },
      "required": [
        "type"
      ],
      "$id": "BooleanInput",
      "description": "Provides an editing interface for true or false values.",
      "title": "Boolean Input",
      "additionalProperties": false
    },
    "NumberInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "const": "number",
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(number)"
                }
              ]
            },
            "min": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.min"
                }
              ]
            },
            "max": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.max"
                }
              ]
            },
            "step": {
              "$ref": "#/$defs/type._inputs.*.options.step"
            },
            "min_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_message"
            },
            "max_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_message"
            }
          },
          "description": "Options that are specific to Number Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "NumberInput",
      "description": "Provides an editing interface for numeric values.",
      "title": "Number Input",
      "additionalProperties": false
    },
    "type._inputs.*.options.empty_type(number)": {
      "default": "null",
      "enum": [
        "null",
        "number"
      ],
      "description": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
      "type": "string",
      "$id": "type._inputs.*.options.empty_type(number)"
    },
    "type._inputs.*.options.min": {
      "type": "number",
      "description": "This key defines the minimum numerical value CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from entering a lesser numerical value. If the Input already contains a lesser numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your unsaved changes.",
      "$id": "type._inputs.*.options.min"
    },
    "type._inputs.*.options.max": {
      "type": "number",
      "description": "This key defines the maximum numerical value CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from entering a greater numerical value. If the Input already contains a greater numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your unsaved changes.",
      "$id": "type._inputs.*.options.max"
    },
    "type._inputs.*.options.step": {
      "type": "number",
      "description": "A number that specifies the granularity that the value must adhere to, or the special value any, which allows any decimal value between `max` and `min`.",
      "$id": "type._inputs.*.options.step"
    },
    "type._inputs.*.options.min_message": {
      "type": "string",
      "description": "This key defines the message that explains why an Input needs to have a minimum numerical value. This key requires you to define `options.min`.",
      "$id": "type._inputs.*.options.min_message"
    },
    "type._inputs.*.options.max_message": {
      "type": "string",
      "description": "This key defines the message that explains why an Input needs to have a maximum numerical value. This key requires you to define `options.max`.",
      "$id": "type._inputs.*.options.max_message"
    },
    "RangeInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "const": "range",
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(number)"
                }
              ]
            },
            "min": {
              "$ref": "#/$defs/type._inputs.*.options.min"
            },
            "max": {
              "$ref": "#/$defs/type._inputs.*.options.max"
            },
            "step": {
              "$ref": "#/$defs/type._inputs.*.options.step"
            },
            "min_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_message"
            },
            "max_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_message"
            }
          },
          "required": [
            "min",
            "max"
          ],
          "description": "Options that are specific to Range Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "RangeInput",
      "description": "Provides a slider interface for selecting a numeric value.",
      "title": "Range Input",
      "additionalProperties": false
    },
    "RichTextInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "enum": [
            "html",
            "markdown"
          ],
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "mime_type": {
              "$ref": "#/$defs/type._inputs.*.options.mime_type"
            },
            "resize_style": {
              "$ref": "#/$defs/type._inputs.*.options.resize_style"
            },
            "width": {
              "$ref": "#/$defs/type._inputs.*.options.width"
            },
            "height": {
              "$ref": "#/$defs/type._inputs.*.options.height"
            },
            "expandable": {
              "$ref": "#/$defs/type._inputs.*.options.expandable"
            },
            "image_size_attributes": {
              "$ref": "#/$defs/type._inputs.*.options.image_size_attributes"
            },
            "allowed_sources": {
              "$ref": "#/$defs/type._inputs.*.options.allowed_sources"
            },
            "prevent_resize_existing_files": {
              "$ref": "#/$defs/type._inputs.*.options.prevent_resize_existing_files"
            },
            "sizes": {
              "$ref": "#/$defs/type._inputs.*.options.sizes"
            },
            "paths": {
              "allOf": [
                {
                  "$ref": "#/$defs/type.paths"
                }
              ]
            },
            "bold": {
              "$ref": "#/$defs/type._editables.*.bold"
            },
            "copyformatting": {
              "$ref": "#/$defs/type._editables.*.copyformatting"
            },
            "italic": {
              "$ref": "#/$defs/type._editables.*.italic"
            },
            "link": {
              "$ref": "#/$defs/type._editables.*.link"
            },
            "redo": {
              "$ref": "#/$defs/type._editables.*.redo"
            },
            "removeformat": {
              "$ref": "#/$defs/type._editables.*.removeformat"
            },
            "strike": {
              "$ref": "#/$defs/type._editables.*.strike"
            },
            "subscript": {
              "$ref": "#/$defs/type._editables.*.subscript"
            },
            "superscript": {
              "$ref": "#/$defs/type._editables.*.superscript"
            },
            "underline": {
              "$ref": "#/$defs/type._editables.*.underline"
            },
            "undo": {
              "$ref": "#/$defs/type._editables.*.undo"
            },
            "remove_custom_markup": {
              "$ref": "#/$defs/type._editables.*.remove_custom_markup"
            },
            "allow_custom_markup": {
              "$ref": "#/$defs/type._editables.*.allow_custom_markup"
            },
            "blockquote": {
              "$ref": "#/$defs/type._editables.*.blockquote"
            },
            "bulletedlist": {
              "$ref": "#/$defs/type._editables.*.bulletedlist"
            },
            "center": {
              "$ref": "#/$defs/type._editables.*.center"
            },
            "code_inline": {
              "$ref": "#/$defs/type._editables.*.code_inline"
            },
            "code_block": {
              "$ref": "#/$defs/type._editables.*.code_block"
            },
            "code": {
              "$ref": "#/$defs/type._editables.*.code"
            },
            "embed": {
              "$ref": "#/$defs/type._editables.*.embed"
            },
            "format": {
              "$ref": "#/$defs/type._editables.*.format"
            },
            "horizontalrule": {
              "$ref": "#/$defs/type._editables.*.horizontalrule"
            },
            "image": {
              "$ref": "#/$defs/type._editables.*.image"
            },
            "indent": {
              "$ref": "#/$defs/type._editables.*.indent"
            },
            "justify": {
              "$ref": "#/$defs/type._editables.*.justify"
            },
            "left": {
              "$ref": "#/$defs/type._editables.*.left"
            },
            "numberedlist": {
              "$ref": "#/$defs/type._editables.*.numberedlist"
            },
            "outdent": {
              "$ref": "#/$defs/type._editables.*.outdent"
            },
            "right": {
              "$ref": "#/$defs/type._editables.*.right"
            },
            "snippet": {
              "$ref": "#/$defs/type._editables.*.snippet"
            },
            "styles": {
              "$ref": "#/$defs/type._editables.*.styles"
            },
            "table": {
              "$ref": "#/$defs/type._editables.*.table"
            },
            "join_above": {
              "$ref": "#/$defs/type._editables.*.join_above"
            },
            "join_below": {
              "$ref": "#/$defs/type._editables.*.join_below"
            },
            "max_length": {
              "$ref": "#/$defs/type._inputs.*.options.max_length"
            },
            "max_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_length_message"
            },
            "min_length": {
              "$ref": "#/$defs/type._inputs.*.options.min_length"
            },
            "min_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_length_message"
            },
            "max_words": {
              "$ref": "#/$defs/type._inputs.*.options.max_words"
            },
            "max_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_words_message"
            },
            "min_words": {
              "$ref": "#/$defs/type._inputs.*.options.min_words"
            },
            "min_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_words_message"
            },
            "max_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes"
            },
            "max_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes_message"
            },
            "min_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes"
            },
            "min_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes_message"
            },
            "locale": {
              "$ref": "#/$defs/type._inputs.*.options.locale"
            },
            "pattern": {
              "$ref": "#/$defs/type._inputs.*.options.pattern"
            },
            "pattern_message": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_message"
            },
            "pattern_flags": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_flags"
            },
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(text)"
                }
              ]
            },
            "allow_resize": {
              "deprecated": true,
              "type": "boolean"
            },
            "prevent_resize": {
              "description": "Hides the resize handler to vertically resize the input.",
              "default": false,
              "type": "boolean"
            },
            "initial_height": {
              "description": "Defines the initial height of this input in pixels (px).",
              "type": "number"
            }
          },
          "description": "Options that are specific to Rich Text Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "RichTextInput",
      "description": "Provides an editing interface for HTML markup content.",
      "title": "Rich Text Input",
      "additionalProperties": false
    },
    "type._inputs.*.options.mime_type": {
      "enum": [
        "image/jpeg",
        "image/png",
        "image/webp"
      ],
      "title": "Mime Type",
      "description": "Sets the format images are converted to prior to upload. The extension of the file is updated to match. Defaults to keeping the mime type of the uploaded file.",
      "type": "string",
      "$id": "type._inputs.*.options.mime_type"
    },
    "type._inputs.*.options.resize_style": {
      "enum": [
        "cover",
        "contain",
        "stretch",
        "crop"
      ],
      "title": "Resize Style",
      "description": "Sets how uploaded image files are resized with a bounding box defined by width and height prior to upload. Has no effect when selecting existing images, or if width and height are unset.",
      "default": "contain",
      "type": "string",
      "$id": "type._inputs.*.options.resize_style"
    },
    "type._inputs.*.options.width": {
      "type": "number",
      "title": "Width",
      "description": "Defines the width of the bounding box used in the image resizing process defined with resize_style.",
      "$id": "type._inputs.*.options.width"
    },
    "type._inputs.*.options.height": {
      "type": "number",
      "title": "Height",
      "description": "Defines the height of the bounding box used in the image resizing process defined with resize_style.",
      "$id": "type._inputs.*.options.height"
    },
    "type._inputs.*.options.expandable": {
      "type": "boolean",
      "title": "Expandable",
      "description": "Controls whether or not images can be upscaled to fit the bounding box during resize prior to upload. Has no effect if files are not resized.",
      "default": false,
      "$id": "type._inputs.*.options.expandable"
    },
    "type._inputs.*.options.image_size_attributes": {
      "type": "boolean",
      "title": "Image Size Attributes",
      "description": "Instructs the editor to save `width` and `height` attributes on the image elements. This can prevent pop-in as a page loads.",
      "default": true,
      "$id": "type._inputs.*.options.image_size_attributes"
    },
    "type._inputs.*.options.allowed_sources": {
      "items": {
        "type": "string"
      },
      "title": "Allowed Sources",
      "description": "If you have one or more DAMs connected to your site, you can use this key to list which asset sources can be uploaded to and selected from.",
      "type": "array",
      "$id": "type._inputs.*.options.allowed_sources"
    },
    "type._inputs.*.options.prevent_resize_existing_files": {
      "type": "boolean",
      "title": "Prevent Resize Existing Files",
      "description": "Enable to skip the image resizing process configured for this input when selecting existing images.",
      "default": false,
      "$id": "type._inputs.*.options.prevent_resize_existing_files"
    },
    "type._inputs.*.options.sizes": {
      "items": {
        "type": "object",
        "properties": {
          "size": {
            "type": "string",
            "description": "A number suffixed with \"x\" (relative size) or \"w\" (fixed width) for setting the dimensions of the image (e.g. 2x, 3x, 100w, 360w)."
          },
          "target": {
            "description": "A reference to another input that is given the path to this additional image file.",
            "type": "string"
          }
        },
        "required": [
          "size"
        ],
        "additionalProperties": false
      },
      "title": "Sizes",
      "description": "Definitions for creating additional images of different sizes when uploading or selecting existing files.",
      "type": "array",
      "$id": "type._inputs.*.options.sizes"
    },
    "type.paths": {
      "type": "object",
      "properties": {
        "static": {
          "$ref": "#/$defs/paths.static"
        },
        "uploads": {
          "$ref": "#/$defs/paths.uploads"
        },
        "uploads_filename": {
          "$ref": "#/$defs/paths.uploads_filename"
        },
        "dam_uploads": {
          "$ref": "#/$defs/paths.dam_uploads"
        },
        "dam_uploads_filename": {
          "$ref": "#/$defs/paths.dam_uploads_filename"
        },
        "dam_static": {
          "$ref": "#/$defs/paths.dam_static"
        },
        "uploads_use_relative_path": {
          "$ref": "#/$defs/paths.uploads_use_relative_path"
        }
      },
      "$id": "type.paths",
      "title": "Paths",
      "additionalProperties": false
    },
    "paths.static": {
      "type": "string",
      "$id": "paths.static"
    },
    "paths.uploads": {
      "type": "string",
      "default": "uploads",
      "$id": "paths.uploads"
    },
    "paths.uploads_filename": {
      "type": "string",
      "$id": "paths.uploads_filename"
    },
    "paths.dam_uploads": {
      "type": "string",
      "$id": "paths.dam_uploads"
    },
    "paths.dam_uploads_filename": {
      "type": "string",
      "$id": "paths.dam_uploads_filename"
    },
    "paths.dam_static": {
      "type": "string",
      "$id": "paths.dam_static"
    },
    "paths.uploads_use_relative_path": {
      "type": "boolean",
      "default": false,
      "$id": "paths.uploads_use_relative_path"
    },
    "type._editables.*.bold": {
      "type": "boolean",
      "description": "Enables a control to set selected text to bold.",
      "default": true,
      "$id": "type._editables.*.bold"
    },
    "type._editables.*.copyformatting": {
      "type": "boolean",
      "description": "Enables a control to copy formatting from text to other text. Only applies to formatting from `bold`, `italic`, `underline`, `strike`, `subscript`, and `superscript`. Does not copy other styles or formatting.",
      "default": false,
      "$id": "type._editables.*.copyformatting"
    },
    "type._editables.*.italic": {
      "type": "boolean",
      "description": "Enables a control to italicize selected text.",
      "default": true,
      "$id": "type._editables.*.italic"
    },
    "type._editables.*.link": {
      "type": "boolean",
      "description": "Enables a control to create hyperlinks around selected text.",
      "default": true,
      "$id": "type._editables.*.link"
    },
    "type._editables.*.redo": {
      "type": "boolean",
      "description": "Enables a control to redo recent edits undone with undo. Redo is always enabled through standard OS-specific keyboard shortcuts.",
      "default": false,
      "$id": "type._editables.*.redo"
    },
    "type._editables.*.removeformat": {
      "type": "boolean",
      "description": "Enables the control to remove formatting from text. Applies to formatting from `bold`, `italic`, `underline`, `strike`, `subscript`, and `superscript`. Does not remove other styles or formatting.",
      "default": true,
      "$id": "type._editables.*.removeformat"
    },
    "type._editables.*.strike": {
      "type": "boolean",
      "description": "Enables a control to strike selected text.",
      "default": false,
      "$id": "type._editables.*.strike"
    },
    "type._editables.*.subscript": {
      "type": "boolean",
      "description": "Enables a control to set selected text to subscript.",
      "default": false,
      "$id": "type._editables.*.subscript"
    },
    "type._editables.*.superscript": {
      "type": "boolean",
      "description": "Enables a control to set selected text to superscript.",
      "default": false,
      "$id": "type._editables.*.superscript"
    },
    "type._editables.*.underline": {
      "type": "boolean",
      "description": "Enables a control to underline selected text.",
      "default": false,
      "$id": "type._editables.*.underline"
    },
    "type._editables.*.undo": {
      "type": "boolean",
      "description": "Enables a control to undo recent edits. Undo is always enabled through standard OS-specific keyboard shortcuts.",
      "default": false,
      "$id": "type._editables.*.undo"
    },
    "type._editables.*.remove_custom_markup": {
      "type": "boolean",
      "description": "Defines if the content should be stripped of \"custom markup\". It is recommended to have this option turned on once you have all of your rich text options configured. Having `allow_custom_markup` turned on disables this option. Defaults to false.",
      "$id": "type._editables.*.remove_custom_markup"
    },
    "type._editables.*.allow_custom_markup": {
      "type": "boolean",
      "description": "Defines if the content can contain \"custom markup\". It is not recommended to have this option turned on. Defaults to true for non-content editable regions, false otherwise.",
      "$id": "type._editables.*.allow_custom_markup"
    },
    "type._editables.*.blockquote": {
      "type": "boolean",
      "description": "Enables a control to wrap blocks of text in block quotes.",
      "default": true,
      "$id": "type._editables.*.blockquote"
    },
    "type._editables.*.bulletedlist": {
      "type": "boolean",
      "description": "Enables a control to insert an unordered list, or to convert selected blocks of text into a unordered list.",
      "default": true,
      "$id": "type._editables.*.bulletedlist"
    },
    "type._editables.*.center": {
      "type": "string",
      "description": "Enables a control to center align text by toggling a class name for a block of text. The value is the class name the editor should add to align the text. The styles for this class need to be listed in the `styles` file to take effect outside of the input.",
      "$id": "type._editables.*.center"
    },
    "type._editables.*.code_inline": {
      "type": "boolean",
      "description": "Enables a control to create an inline code element, containing any selected text.",
      "default": false,
      "$id": "type._editables.*.code_inline"
    },
    "type._editables.*.code_block": {
      "type": "boolean",
      "description": "Enables a control to insert a code block.",
      "default": false,
      "$id": "type._editables.*.code_block"
    },
    "type._editables.*.code": {
      "type": "boolean",
      "description": "Enables both block and inline code controls: `code_block` and `code_inline`.",
      "default": false,
      "$id": "type._editables.*.code"
    },
    "type._editables.*.embed": {
      "type": "boolean",
      "description": "Enables a control to insert a region of raw HTML, including YouTube, Vimeo, Tweets, and other media. Embedded content is sanitized to mitigate XSS risks, which includes removing style tags. Embeds containing script tags are not loaded in the editor.",
      "default": false,
      "$id": "type._editables.*.embed"
    },
    "type._editables.*.format": {
      "type": "string",
      "description": "Enables a drop down menu for structured text. Has options for \"p\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\". Set as space separated options (e.g. \"p h1 h2\").",
      "default": "p h1 h2 h3 h4 h5 h6",
      "$id": "type._editables.*.format"
    },
    "type._editables.*.horizontalrule": {
      "type": "boolean",
      "description": "Enables a control to insert a horizontal rule.",
      "default": false,
      "$id": "type._editables.*.horizontalrule"
    },
    "type._editables.*.image": {
      "type": "boolean",
      "description": "Enables a control to insert an image. The image can be uploaded, existing or an external link.",
      "default": true,
      "$id": "type._editables.*.image"
    },
    "type._editables.*.indent": {
      "type": "boolean",
      "description": "Enables a control to increase indentation for numbered and unordered lists.",
      "default": false,
      "$id": "type._editables.*.indent"
    },
    "type._editables.*.justify": {
      "type": "string",
      "description": "Enables a control to justify text by toggling a class name for a block of text. The value is the class name the editor should add to justify the text. The styles for this class need to be listed in the `styles` file to take effect outside of the input.",
      "$id": "type._editables.*.justify"
    },
    "type._editables.*.left": {
      "type": "string",
      "description": "Enables a control to left align text by toggling a class name for a block of text. The value is the class name the editor should add to align the text. The styles for this class need to be listed in the `styles` file to take effect outside of the input.",
      "$id": "type._editables.*.left"
    },
    "type._editables.*.numberedlist": {
      "type": "boolean",
      "description": "Enables a control to insert a numbered list, or to convert selected blocks of text into a numbered list.",
      "default": true,
      "$id": "type._editables.*.numberedlist"
    },
    "type._editables.*.outdent": {
      "type": "boolean",
      "description": "Enables a control to reduce indentation for numbered and unordered lists.",
      "default": false,
      "$id": "type._editables.*.outdent"
    },
    "type._editables.*.right": {
      "type": "string",
      "description": "Enables a control to right align text by toggling a class name for a block of text. The value is the class name the editor should add to align the text. The styles for this class need to be listed in the `styles` file to take effect outside of the input.",
      "$id": "type._editables.*.right"
    },
    "type._editables.*.snippet": {
      "type": "boolean",
      "description": "Enables a control to insert snippets, if any are available.",
      "default": true,
      "$id": "type._editables.*.snippet"
    },
    "type._editables.*.styles": {
      "type": "string",
      "description": "Enables a drop down menu for editors to style selected text or blocks or text. Styles are the combination of an element and class name. The value for this option is the path (either source or build output) to the CSS file containing the styles.",
      "$id": "type._editables.*.styles"
    },
    "type._editables.*.table": {
      "type": "boolean",
      "description": "Enables a control to insert a table. Further options for table cells are available in the context menu for cells within the editor.",
      "default": false,
      "$id": "type._editables.*.table"
    },
    "type._editables.*.join_above": {
      "type": "boolean",
      "description": "Enables a control to join the selected block with the block above it.",
      "default": false,
      "$id": "type._editables.*.join_above"
    },
    "type._editables.*.join_below": {
      "type": "boolean",
      "description": "Enables a control to join the selected block with the block below it.",
      "default": false,
      "$id": "type._editables.*.join_below"
    },
    "DateInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "enum": [
            "date",
            "datetime"
          ],
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(text)"
                }
              ]
            },
            "timezone": {
              "description": "Specifies the time zone that dates are displayed and edited in. Also changes the suffix the date is persisted to the file with. Defaults to the global `timezone`.",
              "allOf": [
                {
                  "$ref": "#/$defs/type.timezone"
                }
              ]
            },
            "start_from": {
              "description": "This key defines the earliest date and time, inclusive, that CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from selecting an earlier date and time. If the Input already contains an earlier date and time, CloudCannon will require you to change it to a valid value to save your changes, or discard your unsaved changes. Value must be in ISO8601 format. If `options.end_before` is also configured, this key cannot be a later date and time.",
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z||([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                  "title": "ISO8601 String"
                },
                {
                  "title": "Date"
                }
              ]
            },
            "start_from_message": {
              "description": "This key defines the message that explains why an Input needs to have a start date. This key requires you to define `options.start_from`.",
              "type": "string"
            },
            "end_before": {
              "description": "This key defines the date and time, exclusive, that CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from selecting a later date and time. If the Input already contains a later date and time, CloudCannon will require you to change it to a valid value to save your changes, or discard your unsaved changes. Value must be in ISO8601 format. If options.start_from is also configured, this key cannot be an earlier date and time. This key has no default.",
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z||([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
                  "title": "ISO8601 String"
                },
                {
                  "title": "Date"
                }
              ]
            },
            "end_before_message": {
              "description": "This key defines the message that explains why an Input needs to have an end date. This key requires you to define `options.end_before`. This key has no default.",
              "type": "string"
            }
          },
          "description": "Options that are specific to Date Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "DateInput",
      "description": "Provides an editing interface for date and/or time values.",
      "title": "Date Input",
      "additionalProperties": false
    },
    "type.timezone": {
      "type": "string",
      "enum": [
        "Africa/Abidjan",
        "Africa/Accra",
        "Africa/Addis_Ababa",
        "Africa/Algiers",
        "Africa/Asmara",
        "Africa/Asmera",
        "Africa/Bamako",
        "Africa/Bangui",
        "Africa/Banjul",
        "Africa/Bissau",
        "Africa/Blantyre",
        "Africa/Brazzaville",
        "Africa/Bujumbura",
        "Africa/Cairo",
        "Africa/Casablanca",
        "Africa/Ceuta",
        "Africa/Conakry",
        "Africa/Dakar",
        "Africa/Dar_es_Salaam",
        "Africa/Djibouti",
        "Africa/Douala",
        "Africa/El_Aaiun",
        "Africa/Freetown",
        "Africa/Gaborone",
        "Africa/Harare",
        "Africa/Johannesburg",
        "Africa/Juba",
        "Africa/Kampala",
        "Africa/Khartoum",
        "Africa/Kigali",
        "Africa/Kinshasa",
        "Africa/Lagos",
        "Africa/Libreville",
        "Africa/Lome",
        "Africa/Luanda",
        "Africa/Lubumbashi",
        "Africa/Lusaka",
        "Africa/Malabo",
        "Africa/Maputo",
        "Africa/Maseru",
        "Africa/Mbabane",
        "Africa/Mogadishu",
        "Africa/Monrovia",
        "Africa/Nairobi",
        "Africa/Ndjamena",
        "Africa/Niamey",
        "Africa/Nouakchott",
        "Africa/Ouagadougou",
        "Africa/Porto-Novo",
        "Africa/Sao_Tome",
        "Africa/Timbuktu",
        "Africa/Tripoli",
        "Africa/Tunis",
        "Africa/Windhoek",
        "America/Adak",
        "America/Anchorage",
        "America/Anguilla",
        "America/Antigua",
        "America/Araguaina",
        "America/Argentina/Buenos_Aires",
        "America/Argentina/Catamarca",
        "America/Argentina/ComodRivadavia",
        "America/Argentina/Cordoba",
        "America/Argentina/Jujuy",
        "America/Argentina/La_Rioja",
        "America/Argentina/Mendoza",
        "America/Argentina/Rio_Gallegos",
        "America/Argentina/Salta",
        "America/Argentina/San_Juan",
        "America/Argentina/San_Luis",
        "America/Argentina/Tucuman",
        "America/Argentina/Ushuaia",
        "America/Aruba",
        "America/Asuncion",
        "America/Atikokan",
        "America/Atka",
        "America/Bahia",
        "America/Bahia_Banderas",
        "America/Barbados",
        "America/Belem",
        "America/Belize",
        "America/Blanc-Sablon",
        "America/Boa_Vista",
        "America/Bogota",
        "America/Boise",
        "America/Buenos_Aires",
        "America/Cambridge_Bay",
        "America/Campo_Grande",
        "America/Cancun",
        "America/Caracas",
        "America/Catamarca",
        "America/Cayenne",
        "America/Cayman",
        "America/Chicago",
        "America/Chihuahua",
        "America/Coral_Harbour",
        "America/Cordoba",
        "America/Costa_Rica",
        "America/Creston",
        "America/Cuiaba",
        "America/Curacao",
        "America/Danmarkshavn",
        "America/Dawson",
        "America/Dawson_Creek",
        "America/Denver",
        "America/Detroit",
        "America/Dominica",
        "America/Edmonton",
        "America/Eirunepe",
        "America/El_Salvador",
        "America/Ensenada",
        "America/Fort_Nelson",
        "America/Fort_Wayne",
        "America/Fortaleza",
        "America/Glace_Bay",
        "America/Godthab",
        "America/Goose_Bay",
        "America/Grand_Turk",
        "America/Grenada",
        "America/Guadeloupe",
        "America/Guatemala",
        "America/Guayaquil",
        "America/Guyana",
        "America/Halifax",
        "America/Havana",
        "America/Hermosillo",
        "America/Indiana/Indianapolis",
        "America/Indiana/Knox",
        "America/Indiana/Marengo",
        "America/Indiana/Petersburg",
        "America/Indiana/Tell_City",
        "America/Indiana/Vevay",
        "America/Indiana/Vincennes",
        "America/Indiana/Winamac",
        "America/Indianapolis",
        "America/Inuvik",
        "America/Iqaluit",
        "America/Jamaica",
        "America/Jujuy",
        "America/Juneau",
        "America/Kentucky/Louisville",
        "America/Kentucky/Monticello",
        "America/Knox_IN",
        "America/Kralendijk",
        "America/La_Paz",
        "America/Lima",
        "America/Los_Angeles",
        "America/Louisville",
        "America/Lower_Princes",
        "America/Maceio",
        "America/Managua",
        "America/Manaus",
        "America/Marigot",
        "America/Martinique",
        "America/Matamoros",
        "America/Mazatlan",
        "America/Mendoza",
        "America/Menominee",
        "America/Merida",
        "America/Metlakatla",
        "America/Mexico_City",
        "America/Miquelon",
        "America/Moncton",
        "America/Monterrey",
        "America/Montevideo",
        "America/Montreal",
        "America/Montserrat",
        "America/Nassau",
        "America/New_York",
        "America/Nipigon",
        "America/Nome",
        "America/Noronha",
        "America/North_Dakota/Beulah",
        "America/North_Dakota/Center",
        "America/North_Dakota/New_Salem",
        "America/Nuuk",
        "America/Ojinaga",
        "America/Panama",
        "America/Pangnirtung",
        "America/Paramaribo",
        "America/Phoenix",
        "America/Port_of_Spain",
        "America/Port-au-Prince",
        "America/Porto_Acre",
        "America/Porto_Velho",
        "America/Puerto_Rico",
        "America/Punta_Arenas",
        "America/Rainy_River",
        "America/Rankin_Inlet",
        "America/Recife",
        "America/Regina",
        "America/Resolute",
        "America/Rio_Branco",
        "America/Rosario",
        "America/Santa_Isabel",
        "America/Santarem",
        "America/Santiago",
        "America/Santo_Domingo",
        "America/Sao_Paulo",
        "America/Scoresbysund",
        "America/Shiprock",
        "America/Sitka",
        "America/St_Barthelemy",
        "America/St_Johns",
        "America/St_Kitts",
        "America/St_Lucia",
        "America/St_Thomas",
        "America/St_Vincent",
        "America/Swift_Current",
        "America/Tegucigalpa",
        "America/Thule",
        "America/Thunder_Bay",
        "America/Tijuana",
        "America/Toronto",
        "America/Tortola",
        "America/Vancouver",
        "America/Virgin",
        "America/Whitehorse",
        "America/Winnipeg",
        "America/Yakutat",
        "America/Yellowknife",
        "Antarctica/Casey",
        "Antarctica/Davis",
        "Antarctica/DumontDUrville",
        "Antarctica/Macquarie",
        "Antarctica/Mawson",
        "Antarctica/McMurdo",
        "Antarctica/Palmer",
        "Antarctica/Rothera",
        "Antarctica/South_Pole",
        "Antarctica/Syowa",
        "Antarctica/Troll",
        "Antarctica/Vostok",
        "Arctic/Longyearbyen",
        "Asia/Aden",
        "Asia/Almaty",
        "Asia/Amman",
        "Asia/Anadyr",
        "Asia/Aqtau",
        "Asia/Aqtobe",
        "Asia/Ashgabat",
        "Asia/Ashkhabad",
        "Asia/Atyrau",
        "Asia/Baghdad",
        "Asia/Bahrain",
        "Asia/Baku",
        "Asia/Bangkok",
        "Asia/Barnaul",
        "Asia/Beirut",
        "Asia/Bishkek",
        "Asia/Brunei",
        "Asia/Calcutta",
        "Asia/Chita",
        "Asia/Choibalsan",
        "Asia/Chongqing",
        "Asia/Chungking",
        "Asia/Colombo",
        "Asia/Dacca",
        "Asia/Damascus",
        "Asia/Dhaka",
        "Asia/Dili",
        "Asia/Dubai",
        "Asia/Dushanbe",
        "Asia/Famagusta",
        "Asia/Gaza",
        "Asia/Harbin",
        "Asia/Hebron",
        "Asia/Ho_Chi_Minh",
        "Asia/Hong_Kong",
        "Asia/Hovd",
        "Asia/Irkutsk",
        "Asia/Istanbul",
        "Asia/Jakarta",
        "Asia/Jayapura",
        "Asia/Jerusalem",
        "Asia/Kabul",
        "Asia/Kamchatka",
        "Asia/Karachi",
        "Asia/Kashgar",
        "Asia/Kathmandu",
        "Asia/Katmandu",
        "Asia/Khandyga",
        "Asia/Kolkata",
        "Asia/Krasnoyarsk",
        "Asia/Kuala_Lumpur",
        "Asia/Kuching",
        "Asia/Kuwait",
        "Asia/Macao",
        "Asia/Macau",
        "Asia/Magadan",
        "Asia/Makassar",
        "Asia/Manila",
        "Asia/Muscat",
        "Asia/Nicosia",
        "Asia/Novokuznetsk",
        "Asia/Novosibirsk",
        "Asia/Omsk",
        "Asia/Oral",
        "Asia/Phnom_Penh",
        "Asia/Pontianak",
        "Asia/Pyongyang",
        "Asia/Qatar",
        "Asia/Qostanay",
        "Asia/Qyzylorda",
        "Asia/Rangoon",
        "Asia/Riyadh",
        "Asia/Saigon",
        "Asia/Sakhalin",
        "Asia/Samarkand",
        "Asia/Seoul",
        "Asia/Shanghai",
        "Asia/Singapore",
        "Asia/Srednekolymsk",
        "Asia/Taipei",
        "Asia/Tashkent",
        "Asia/Tbilisi",
        "Asia/Tehran",
        "Asia/Tel_Aviv",
        "Asia/Thimbu",
        "Asia/Thimphu",
        "Asia/Tokyo",
        "Asia/Tomsk",
        "Asia/Ujung_Pandang",
        "Asia/Ulaanbaatar",
        "Asia/Ulan_Bator",
        "Asia/Urumqi",
        "Asia/Ust-Nera",
        "Asia/Vientiane",
        "Asia/Vladivostok",
        "Asia/Yakutsk",
        "Asia/Yangon",
        "Asia/Yekaterinburg",
        "Asia/Yerevan",
        "Atlantic/Azores",
        "Atlantic/Bermuda",
        "Atlantic/Canary",
        "Atlantic/Cape_Verde",
        "Atlantic/Faeroe",
        "Atlantic/Faroe",
        "Atlantic/Jan_Mayen",
        "Atlantic/Madeira",
        "Atlantic/Reykjavik",
        "Atlantic/South_Georgia",
        "Atlantic/St_Helena",
        "Atlantic/Stanley",
        "Australia/ACT",
        "Australia/Adelaide",
        "Australia/Brisbane",
        "Australia/Broken_Hill",
        "Australia/Canberra",
        "Australia/Currie",
        "Australia/Darwin",
        "Australia/Eucla",
        "Australia/Hobart",
        "Australia/LHI",
        "Australia/Lindeman",
        "Australia/Lord_Howe",
        "Australia/Melbourne",
        "Australia/North",
        "Australia/NSW",
        "Australia/Perth",
        "Australia/Queensland",
        "Australia/South",
        "Australia/Sydney",
        "Australia/Tasmania",
        "Australia/Victoria",
        "Australia/West",
        "Australia/Yancowinna",
        "Brazil/Acre",
        "Brazil/DeNoronha",
        "Brazil/East",
        "Brazil/West",
        "Canada/Atlantic",
        "Canada/Central",
        "Canada/Eastern",
        "Canada/Mountain",
        "Canada/Newfoundland",
        "Canada/Pacific",
        "Canada/Saskatchewan",
        "Canada/Yukon",
        "CET",
        "Chile/Continental",
        "Chile/EasterIsland",
        "CST6CDT",
        "Cuba",
        "EET",
        "Egypt",
        "Eire",
        "EST",
        "EST5EDT",
        "Etc/GMT",
        "Etc/GMT-0",
        "Etc/GMT-1",
        "Etc/GMT-10",
        "Etc/GMT-11",
        "Etc/GMT-12",
        "Etc/GMT-13",
        "Etc/GMT-14",
        "Etc/GMT-2",
        "Etc/GMT-3",
        "Etc/GMT-4",
        "Etc/GMT-5",
        "Etc/GMT-6",
        "Etc/GMT-7",
        "Etc/GMT-8",
        "Etc/GMT-9",
        "Etc/GMT+0",
        "Etc/GMT+1",
        "Etc/GMT+10",
        "Etc/GMT+11",
        "Etc/GMT+12",
        "Etc/GMT+2",
        "Etc/GMT+3",
        "Etc/GMT+4",
        "Etc/GMT+5",
        "Etc/GMT+6",
        "Etc/GMT+7",
        "Etc/GMT+8",
        "Etc/GMT+9",
        "Etc/GMT0",
        "Etc/Greenwich",
        "Etc/UCT",
        "Etc/Universal",
        "Etc/UTC",
        "Etc/Zulu",
        "Europe/Amsterdam",
        "Europe/Andorra",
        "Europe/Astrakhan",
        "Europe/Athens",
        "Europe/Belfast",
        "Europe/Belgrade",
        "Europe/Berlin",
        "Europe/Bratislava",
        "Europe/Brussels",
        "Europe/Bucharest",
        "Europe/Budapest",
        "Europe/Busingen",
        "Europe/Chisinau",
        "Europe/Copenhagen",
        "Europe/Dublin",
        "Europe/Gibraltar",
        "Europe/Guernsey",
        "Europe/Helsinki",
        "Europe/Isle_of_Man",
        "Europe/Istanbul",
        "Europe/Jersey",
        "Europe/Kaliningrad",
        "Europe/Kiev",
        "Europe/Kirov",
        "Europe/Kyiv",
        "Europe/Lisbon",
        "Europe/Ljubljana",
        "Europe/London",
        "Europe/Luxembourg",
        "Europe/Madrid",
        "Europe/Malta",
        "Europe/Mariehamn",
        "Europe/Minsk",
        "Europe/Monaco",
        "Europe/Moscow",
        "Europe/Nicosia",
        "Europe/Oslo",
        "Europe/Paris",
        "Europe/Podgorica",
        "Europe/Prague",
        "Europe/Riga",
        "Europe/Rome",
        "Europe/Samara",
        "Europe/San_Marino",
        "Europe/Sarajevo",
        "Europe/Saratov",
        "Europe/Simferopol",
        "Europe/Skopje",
        "Europe/Sofia",
        "Europe/Stockholm",
        "Europe/Tallinn",
        "Europe/Tirane",
        "Europe/Tiraspol",
        "Europe/Ulyanovsk",
        "Europe/Uzhgorod",
        "Europe/Vaduz",
        "Europe/Vatican",
        "Europe/Vienna",
        "Europe/Vilnius",
        "Europe/Volgograd",
        "Europe/Warsaw",
        "Europe/Zagreb",
        "Europe/Zaporozhye",
        "Europe/Zurich",
        "GB",
        "GB-Eire",
        "GMT",
        "GMT-0",
        "GMT+0",
        "GMT0",
        "Greenwich",
        "Hongkong",
        "HST",
        "Iceland",
        "Indian/Antananarivo",
        "Indian/Chagos",
        "Indian/Christmas",
        "Indian/Cocos",
        "Indian/Comoro",
        "Indian/Kerguelen",
        "Indian/Mahe",
        "Indian/Maldives",
        "Indian/Mauritius",
        "Indian/Mayotte",
        "Indian/Reunion",
        "Iran",
        "Israel",
        "Jamaica",
        "Japan",
        "Kwajalein",
        "Libya",
        "MET",
        "Mexico/BajaNorte",
        "Mexico/BajaSur",
        "Mexico/General",
        "MST",
        "MST7MDT",
        "Navajo",
        "NZ",
        "NZ-CHAT",
        "Pacific/Apia",
        "Pacific/Auckland",
        "Pacific/Bougainville",
        "Pacific/Chatham",
        "Pacific/Chuuk",
        "Pacific/Easter",
        "Pacific/Efate",
        "Pacific/Enderbury",
        "Pacific/Fakaofo",
        "Pacific/Fiji",
        "Pacific/Funafuti",
        "Pacific/Galapagos",
        "Pacific/Gambier",
        "Pacific/Guadalcanal",
        "Pacific/Guam",
        "Pacific/Honolulu",
        "Pacific/Johnston",
        "Pacific/Kanton",
        "Pacific/Kiritimati",
        "Pacific/Kosrae",
        "Pacific/Kwajalein",
        "Pacific/Majuro",
        "Pacific/Marquesas",
        "Pacific/Midway",
        "Pacific/Nauru",
        "Pacific/Niue",
        "Pacific/Norfolk",
        "Pacific/Noumea",
        "Pacific/Pago_Pago",
        "Pacific/Palau",
        "Pacific/Pitcairn",
        "Pacific/Pohnpei",
        "Pacific/Ponape",
        "Pacific/Port_Moresby",
        "Pacific/Rarotonga",
        "Pacific/Saipan",
        "Pacific/Samoa",
        "Pacific/Tahiti",
        "Pacific/Tarawa",
        "Pacific/Tongatapu",
        "Pacific/Truk",
        "Pacific/Wake",
        "Pacific/Wallis",
        "Pacific/Yap",
        "Poland",
        "Portugal",
        "PRC",
        "PST8PDT",
        "ROC",
        "ROK",
        "Singapore",
        "Turkey",
        "UCT",
        "Universal",
        "US/Alaska",
        "US/Aleutian",
        "US/Arizona",
        "US/Central",
        "US/East-Indiana",
        "US/Eastern",
        "US/Hawaii",
        "US/Indiana-Starke",
        "US/Michigan",
        "US/Mountain",
        "US/Pacific",
        "US/Samoa",
        "UTC",
        "W-SU",
        "WET",
        "Zulu"
      ],
      "title": "Timezone",
      "$id": "type.timezone"
    },
    "TimeInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "const": "time",
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(text)"
                }
              ]
            }
          },
          "description": "Options that are specific to Time Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "TimeInput",
      "description": "Provides an editing interface for time values only.",
      "title": "Time Input",
      "additionalProperties": false
    },
    "FileInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "enum": [
            "file",
            "document",
            "image"
          ],
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "mime_type": {
              "$ref": "#/$defs/type._inputs.*.options.mime_type"
            },
            "resize_style": {
              "$ref": "#/$defs/type._inputs.*.options.resize_style"
            },
            "width": {
              "$ref": "#/$defs/type._inputs.*.options.width"
            },
            "height": {
              "$ref": "#/$defs/type._inputs.*.options.height"
            },
            "expandable": {
              "$ref": "#/$defs/type._inputs.*.options.expandable"
            },
            "image_size_attributes": {
              "$ref": "#/$defs/type._inputs.*.options.image_size_attributes"
            },
            "allowed_sources": {
              "$ref": "#/$defs/type._inputs.*.options.allowed_sources"
            },
            "prevent_resize_existing_files": {
              "$ref": "#/$defs/type._inputs.*.options.prevent_resize_existing_files"
            },
            "sizes": {
              "$ref": "#/$defs/type._inputs.*.options.sizes"
            },
            "max_length": {
              "$ref": "#/$defs/type._inputs.*.options.max_length"
            },
            "max_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_length_message"
            },
            "min_length": {
              "$ref": "#/$defs/type._inputs.*.options.min_length"
            },
            "min_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_length_message"
            },
            "max_words": {
              "$ref": "#/$defs/type._inputs.*.options.max_words"
            },
            "max_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_words_message"
            },
            "min_words": {
              "$ref": "#/$defs/type._inputs.*.options.min_words"
            },
            "min_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_words_message"
            },
            "max_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes"
            },
            "max_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes_message"
            },
            "min_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes"
            },
            "min_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes_message"
            },
            "locale": {
              "$ref": "#/$defs/type._inputs.*.options.locale"
            },
            "pattern": {
              "$ref": "#/$defs/type._inputs.*.options.pattern"
            },
            "pattern_message": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_message"
            },
            "pattern_flags": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_flags"
            },
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(text)"
                }
              ]
            },
            "paths": {
              "allOf": [
                {
                  "$ref": "#/$defs/type.paths"
                }
              ]
            },
            "accepts_mime_types": {
              "$ref": "#/$defs/type._inputs.*.options.accepts_mime_types"
            },
            "max_file_size": {
              "$ref": "#/$defs/type._inputs.*.options.max_file_size"
            },
            "max_file_size_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_file_size_message"
            },
            "disable_upload_file": {
              "$ref": "#/$defs/type._inputs.*.options.disable_upload_file"
            },
            "disable_direct_input": {
              "$ref": "#/$defs/type._inputs.*.options.disable_direct_input"
            },
            "disable_upload_file_in_file_browser": {
              "$ref": "#/$defs/type._inputs.*.options.disable_upload_file_in_file_browser"
            }
          },
          "description": "Options that are specific to File Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "FileInput",
      "description": "Provides an editing interface for uploading files to your repository or DAM and browsing existing assets.",
      "title": "File Input",
      "additionalProperties": false
    },
    "type._inputs.*.options.accepts_mime_types": {
      "anyOf": [
        {
          "type": "string",
          "title": "Comma Separated"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/$defs/MimeType"
          },
          "title": "Array"
        }
      ],
      "description": "Restricts which file types are available to select or upload to this input. Accepted format is an array or comma-separated string of MIME types. The special value \"*\" means any type is accepted.",
      "$id": "type._inputs.*.options.accepts_mime_types"
    },
    "MimeType": {
      "type": "string",
      "enum": [
        "x-world/x-3dmf",
        "application/x-authorware-bin",
        "application/x-authorware-map",
        "application/x-authorware-seg",
        "text/vnd.abc",
        "video/animaflex",
        "application/postscript",
        "audio/aiff",
        "audio/x-aiff",
        "application/x-aim",
        "text/x-audiosoft-intra",
        "application/x-navi-animation",
        "application/x-nokia-9000-communicator-add-on-software",
        "application/mime",
        "application/arj",
        "image/x-jg",
        "video/x-ms-asf",
        "text/x-asm",
        "text/asp",
        "application/x-mplayer2",
        "video/x-ms-asf-plugin",
        "audio/basic",
        "audio/x-au",
        "application/x-troff-msvideo",
        "video/avi",
        "video/msvideo",
        "video/x-msvideo",
        "video/avs-video",
        "application/x-bcpio",
        "application/mac-binary",
        "application/macbinary",
        "application/x-binary",
        "application/x-macbinary",
        "image/bmp",
        "image/x-windows-bmp",
        "application/book",
        "application/x-bsh",
        "application/x-bzip",
        "application/x-bzip2",
        "text/plain",
        "text/x-c",
        "application/vnd.ms-pki.seccat",
        "application/clariscad",
        "application/x-cocoa",
        "application/cdf",
        "application/x-cdf",
        "application/x-netcdf",
        "application/pkix-cert",
        "application/x-x509-ca-cert",
        "application/x-chat",
        "application/java",
        "application/java-byte-code",
        "application/x-java-class",
        "application/x-cpio",
        "application/mac-compactpro",
        "application/x-compactpro",
        "application/x-cpt",
        "application/pkcs-crl",
        "application/pkix-crl",
        "application/x-x509-user-cert",
        "application/x-csh",
        "text/x-script.csh",
        "application/x-pointplus",
        "text/css",
        "text/csv",
        "application/x-director",
        "application/x-deepv",
        "video/x-dv",
        "video/dl",
        "video/x-dl",
        "application/msword",
        "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
        "application/commonground",
        "application/drafting",
        "application/x-dvi",
        "drawing/x-dwf (old)",
        "model/vnd.dwf",
        "application/acad",
        "image/vnd.dwg",
        "image/x-dwg",
        "application/dxf",
        "text/x-script.elisp",
        "application/x-bytecode.elisp (compiled elisp)",
        "application/x-elc",
        "application/x-envoy",
        "application/x-esrehber",
        "text/x-setext",
        "application/envoy",
        "text/x-fortran",
        "application/vnd.fdf",
        "application/fractals",
        "image/fif",
        "video/fli",
        "video/x-fli",
        "image/florian",
        "text/vnd.fmi.flexstor",
        "video/x-atomic3d-feature",
        "image/vnd.fpx",
        "image/vnd.net-fpx",
        "application/freeloader",
        "audio/make",
        "image/g3fax",
        "image/gif",
        "video/gl",
        "video/x-gl",
        "audio/x-gsm",
        "application/x-gsp",
        "application/x-gss",
        "application/x-gtar",
        "application/x-compressed",
        "application/x-gzip",
        "multipart/x-gzip",
        "text/x-h",
        "application/x-hdf",
        "application/x-helpfile",
        "application/vnd.hp-hpgl",
        "text/x-script",
        "application/hlp",
        "application/x-winhelp",
        "application/binhex",
        "application/binhex4",
        "application/mac-binhex",
        "application/mac-binhex40",
        "application/x-binhex40",
        "application/x-mac-binhex40",
        "application/hta",
        "text/x-component",
        "text/html",
        "text/webviewhtml",
        "x-conference/x-cooltalk",
        "image/x-icon",
        "image/ief",
        "application/iges",
        "model/iges",
        "application/x-ima",
        "application/x-httpd-imap",
        "application/inf",
        "application/x-internett-signup",
        "application/x-ip2",
        "video/x-isvideo",
        "audio/it",
        "application/x-inventor",
        "i-world/i-vrml",
        "application/x-livescreen",
        "audio/x-jam",
        "text/x-java-source",
        "application/x-java-commerce",
        "image/jpeg",
        "image/pjpeg",
        "image/x-jps",
        "application/x-javascript",
        "application/javascript",
        "application/ecmascript",
        "text/javascript",
        "text/ecmascript",
        "application/json",
        "image/jutvision",
        "music/x-karaoke",
        "application/x-ksh",
        "text/x-script.ksh",
        "audio/nspaudio",
        "audio/x-nspaudio",
        "audio/x-liveaudio",
        "application/x-latex",
        "application/lha",
        "application/x-lha",
        "application/x-lisp",
        "text/x-script.lisp",
        "text/x-la-asf",
        "application/x-lzh",
        "application/lzx",
        "application/x-lzx",
        "text/x-m",
        "audio/mpeg",
        "audio/x-mpequrl",
        "audio/m4a",
        "audio/x-m4a",
        "application/x-troff-man",
        "application/x-navimap",
        "application/mbedlet",
        "application/x-magic-cap-package-1.0",
        "application/mcad",
        "application/x-mathcad",
        "image/vasa",
        "text/mcf",
        "application/netmc",
        "text/markdown",
        "application/x-troff-me",
        "message/rfc822",
        "application/x-midi",
        "audio/midi",
        "audio/x-mid",
        "audio/x-midi",
        "music/crescendo",
        "x-music/x-midi",
        "application/x-frame",
        "application/x-mif",
        "www/mime",
        "audio/x-vnd.audioexplosion.mjuicemediafile",
        "video/x-motion-jpeg",
        "application/base64",
        "application/x-meme",
        "audio/mod",
        "audio/x-mod",
        "video/quicktime",
        "video/x-sgi-movie",
        "audio/x-mpeg",
        "video/x-mpeg",
        "video/x-mpeq2a",
        "audio/mpeg3",
        "audio/x-mpeg-3",
        "video/mp4",
        "application/x-project",
        "video/mpeg",
        "application/vnd.ms-project",
        "application/marc",
        "application/x-troff-ms",
        "application/x-vnd.audioexplosion.mzz",
        "image/naplps",
        "application/vnd.nokia.configuration-message",
        "image/x-niff",
        "application/x-mix-transfer",
        "application/x-conference",
        "application/x-navidoc",
        "application/octet-stream",
        "application/oda",
        "audio/ogg",
        "application/ogg",
        "video/ogg",
        "application/x-omc",
        "application/x-omcdatamaker",
        "application/x-omcregerator",
        "text/x-pascal",
        "application/pkcs10",
        "application/x-pkcs10",
        "application/pkcs-12",
        "application/x-pkcs12",
        "application/x-pkcs7-signature",
        "application/pkcs7-mime",
        "application/x-pkcs7-mime",
        "application/x-pkcs7-certreqresp",
        "application/pkcs7-signature",
        "application/pro_eng",
        "text/pascal",
        "image/x-portable-bitmap",
        "application/vnd.hp-pcl",
        "application/x-pcl",
        "image/x-pict",
        "image/x-pcx",
        "chemical/x-pdb",
        "application/pdf",
        "audio/make.my.funk",
        "image/x-portable-graymap",
        "image/x-portable-greymap",
        "image/pict",
        "application/x-newton-compatible-pkg",
        "application/vnd.ms-pki.pko",
        "text/x-script.perl",
        "application/x-pixclscript",
        "image/x-xpixmap",
        "text/x-script.perl-module",
        "application/x-pagemaker",
        "image/png",
        "application/x-portable-anymap",
        "image/x-portable-anymap",
        "model/x-pov",
        "image/x-portable-pixmap",
        "application/mspowerpoint",
        "application/powerpoint",
        "application/vnd.ms-powerpoint",
        "application/x-mspowerpoint",
        "application/vnd.openxmlformats-officedocument.presentationml.presentation",
        "application/x-freelance",
        "paleovu/x-pv",
        "text/x-script.phyton",
        "application/x-bytecode.python",
        "audio/vnd.qcelp",
        "image/x-quicktime",
        "video/x-qtc",
        "audio/x-pn-realaudio",
        "audio/x-pn-realaudio-plugin",
        "audio/x-realaudio",
        "application/x-cmu-raster",
        "image/cmu-raster",
        "image/x-cmu-raster",
        "text/x-script.rexx",
        "image/vnd.rn-realflash",
        "image/x-rgb",
        "application/vnd.rn-realmedia",
        "audio/mid",
        "application/ringing-tones",
        "application/vnd.nokia.ringing-tone",
        "application/vnd.rn-realplayer",
        "application/x-troff",
        "image/vnd.rn-realpix",
        "application/x-rtf",
        "text/richtext",
        "application/rtf",
        "video/vnd.rn-realvideo",
        "audio/s3m",
        "application/x-tbook",
        "application/x-lotusscreencam",
        "text/x-script.guile",
        "text/x-script.scheme",
        "video/x-scm",
        "application/sdp",
        "application/x-sdp",
        "application/sounder",
        "application/sea",
        "application/x-sea",
        "application/set",
        "text/sgml",
        "text/x-sgml",
        "application/x-sh",
        "application/x-shar",
        "text/x-script.sh",
        "text/x-server-parsed-html",
        "audio/x-psid",
        "application/x-sit",
        "application/x-stuffit",
        "application/x-koan",
        "application/x-seelogo",
        "application/smil",
        "audio/x-adpcm",
        "application/solids",
        "application/x-pkcs7-certificates",
        "text/x-speech",
        "application/futuresplash",
        "application/x-sprite",
        "application/x-wais-source",
        "application/streamingmedia",
        "application/vnd.ms-pki.certstore",
        "application/step",
        "application/sla",
        "application/vnd.ms-pki.stl",
        "application/x-navistyle",
        "application/x-sv4cpio",
        "application/x-sv4crc",
        "image/svg+xml",
        "application/x-world",
        "x-world/x-svr",
        "application/x-shockwave-flash",
        "application/x-tar",
        "application/toolbook",
        "application/x-tcl",
        "text/x-script.tcl",
        "text/x-script.tcsh",
        "application/x-tex",
        "application/x-texinfo",
        "application/plain",
        "application/gnutar",
        "image/tiff",
        "image/x-tiff",
        "application/toml",
        "audio/tsp-audio",
        "application/dsptype",
        "audio/tsplayer",
        "text/tab-separated-values",
        "application/i-deas",
        "text/uri-list",
        "application/x-ustar",
        "multipart/x-ustar",
        "text/x-uuencode",
        "application/x-cdlink",
        "text/x-vcalendar",
        "application/vda",
        "video/vdo",
        "application/groupwise",
        "video/vivo",
        "video/vnd.vivo",
        "application/vocaltec-media-desc",
        "application/vocaltec-media-file",
        "audio/voc",
        "audio/x-voc",
        "video/vosaic",
        "audio/voxware",
        "audio/x-twinvq-plugin",
        "audio/x-twinvq",
        "application/x-vrml",
        "model/vrml",
        "x-world/x-vrml",
        "x-world/x-vrt",
        "application/x-visio",
        "application/wordperfect6.0",
        "application/wordperfect6.1",
        "audio/wav",
        "audio/x-wav",
        "application/x-qpro",
        "image/vnd.wap.wbmp",
        "application/vnd.xara",
        "video/webm",
        "audio/webm",
        "image/webp",
        "application/x-123",
        "windows/metafile",
        "text/vnd.wap.wml",
        "application/vnd.wap.wmlc",
        "text/vnd.wap.wmlscript",
        "application/vnd.wap.wmlscriptc",
        "video/x-ms-wmv",
        "application/wordperfect",
        "application/x-wpwin",
        "application/x-lotus",
        "application/mswrite",
        "application/x-wri",
        "text/scriplet",
        "application/x-wintalk",
        "image/x-xbitmap",
        "image/x-xbm",
        "image/xbm",
        "video/x-amt-demorun",
        "xgl/drawing",
        "image/vnd.xiff",
        "application/excel",
        "application/vnd.ms-excel",
        "application/x-excel",
        "application/x-msexcel",
        "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
        "audio/xm",
        "application/xml",
        "text/xml",
        "xgl/movie",
        "application/x-vnd.ls-xpix",
        "image/xpm",
        "video/x-amt-showrun",
        "image/x-xwd",
        "image/x-xwindowdump",
        "text/vnd.yaml",
        "application/x-compress",
        "application/x-zip-compressed",
        "application/zip",
        "multipart/x-zip",
        "text/x-script.zsh"
      ],
      "description": "MIME type identifiers for file type validation and handling in CloudCannon.",
      "title": "Mime Type",
      "$id": "MimeType"
    },
    "type._inputs.*.options.max_file_size": {
      "type": "number",
      "description": "This key defines the maximum file size, in kilobytes, that CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from uploading a file larger than the specified size. If the Input already contains a file larger than the specified size, CloudCannon will require you to change it to a valid value to save your changes, or discard your unsaved changes. Value can be any positive integer.",
      "$id": "type._inputs.*.options.max_file_size"
    },
    "type._inputs.*.options.max_file_size_message": {
      "type": "string",
      "description": "This key defines the message that explains why an Input needs to have a maximum file size. This key requires you to define `options.max_file_size`. This key has no default.",
      "$id": "type._inputs.*.options.max_file_size_message"
    },
    "type._inputs.*.options.disable_upload_file": {
      "type": "boolean",
      "description": "Disables the context menu option and the drop area for uploading files.",
      "default": false,
      "$id": "type._inputs.*.options.disable_upload_file"
    },
    "type._inputs.*.options.disable_direct_input": {
      "type": "boolean",
      "description": "Prevents typing into the text input, while still allowing context menu options to change the value.",
      "default": false,
      "$id": "type._inputs.*.options.disable_direct_input"
    },
    "type._inputs.*.options.disable_upload_file_in_file_browser": {
      "type": "boolean",
      "description": "Prevents file uploads inside the \"Select existing file/image\" file browser modal window.",
      "default": false,
      "$id": "type._inputs.*.options.disable_upload_file_in_file_browser"
    },
    "UrlInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "const": "url",
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "mime_type": {
              "$ref": "#/$defs/type._inputs.*.options.mime_type"
            },
            "resize_style": {
              "$ref": "#/$defs/type._inputs.*.options.resize_style"
            },
            "width": {
              "$ref": "#/$defs/type._inputs.*.options.width"
            },
            "height": {
              "$ref": "#/$defs/type._inputs.*.options.height"
            },
            "expandable": {
              "$ref": "#/$defs/type._inputs.*.options.expandable"
            },
            "image_size_attributes": {
              "$ref": "#/$defs/type._inputs.*.options.image_size_attributes"
            },
            "allowed_sources": {
              "$ref": "#/$defs/type._inputs.*.options.allowed_sources"
            },
            "prevent_resize_existing_files": {
              "$ref": "#/$defs/type._inputs.*.options.prevent_resize_existing_files"
            },
            "sizes": {
              "$ref": "#/$defs/type._inputs.*.options.sizes"
            },
            "max_length": {
              "$ref": "#/$defs/type._inputs.*.options.max_length"
            },
            "max_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_length_message"
            },
            "min_length": {
              "$ref": "#/$defs/type._inputs.*.options.min_length"
            },
            "min_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_length_message"
            },
            "max_words": {
              "$ref": "#/$defs/type._inputs.*.options.max_words"
            },
            "max_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_words_message"
            },
            "min_words": {
              "$ref": "#/$defs/type._inputs.*.options.min_words"
            },
            "min_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_words_message"
            },
            "max_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes"
            },
            "max_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes_message"
            },
            "min_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes"
            },
            "min_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes_message"
            },
            "locale": {
              "$ref": "#/$defs/type._inputs.*.options.locale"
            },
            "pattern": {
              "$ref": "#/$defs/type._inputs.*.options.pattern"
            },
            "pattern_message": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_message"
            },
            "pattern_flags": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_flags"
            },
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(text)"
                }
              ]
            },
            "paths": {
              "allOf": [
                {
                  "$ref": "#/$defs/type.paths"
                }
              ]
            },
            "accepts_mime_types": {
              "$ref": "#/$defs/type._inputs.*.options.accepts_mime_types"
            },
            "max_file_size": {
              "$ref": "#/$defs/type._inputs.*.options.max_file_size"
            },
            "max_file_size_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_file_size_message"
            },
            "disable_upload_file": {
              "$ref": "#/$defs/type._inputs.*.options.disable_upload_file"
            },
            "disable_direct_input": {
              "$ref": "#/$defs/type._inputs.*.options.disable_direct_input"
            },
            "disable_upload_file_in_file_browser": {
              "$ref": "#/$defs/type._inputs.*.options.disable_upload_file_in_file_browser"
            },
            "hide_link_to_file": {
              "description": "Hides the options to link to an existing file, and upload a new file. This does not prevent typing a file path in the input.",
              "default": false,
              "type": "boolean"
            },
            "hide_link_to_page": {
              "description": "Hides the option to link to a page. This does not prevent typing a file's output URL in the input.",
              "default": false,
              "type": "boolean"
            },
            "hide_link_to_email_address": {
              "description": "Hides the option to link to an email address. This does not prevent typing a `mailto:` link in the input.",
              "default": false,
              "type": "boolean"
            },
            "hide_link_to_telephone": {
              "description": "Hides the option to link to a telephone number. This does not prevent typing a `tel:` link in the input.",
              "default": false,
              "type": "boolean"
            }
          },
          "description": "Options that are specific to URL Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "UrlInput",
      "description": "Provides an editing interface for relative, absolute, and fully qualified URLs.",
      "title": "URL Input",
      "additionalProperties": false
    },
    "SelectInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "const": "select",
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "preview": {
              "allOf": [
                {
                  "$ref": "#/$defs/type.preview"
                }
              ]
            },
            "picker_preview": {
              "allOf": [
                {
                  "$ref": "#/$defs/type.picker_preview"
                }
              ]
            },
            "allow_create": {
              "$ref": "#/$defs/type._inputs.*.options.allow_create"
            },
            "allow_empty": {
              "$ref": "#/$defs/type._inputs.*.options.allow_empty"
            },
            "values": {
              "$ref": "#/$defs/type._inputs.*.options.values"
            },
            "value_key": {
              "$ref": "#/$defs/type._inputs.*.options.value_key"
            },
            "view": {
              "$ref": "#/$defs/type._inputs.*.options.view"
            },
            "picker_view": {
              "$ref": "#/$defs/type._inputs.*.options.picker_view"
            },
            "max_length": {
              "$ref": "#/$defs/type._inputs.*.options.max_length"
            },
            "max_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_length_message"
            },
            "min_length": {
              "$ref": "#/$defs/type._inputs.*.options.min_length"
            },
            "min_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_length_message"
            },
            "max_words": {
              "$ref": "#/$defs/type._inputs.*.options.max_words"
            },
            "max_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_words_message"
            },
            "min_words": {
              "$ref": "#/$defs/type._inputs.*.options.min_words"
            },
            "min_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_words_message"
            },
            "max_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes"
            },
            "max_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes_message"
            },
            "min_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes"
            },
            "min_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes_message"
            },
            "locale": {
              "$ref": "#/$defs/type._inputs.*.options.locale"
            },
            "pattern": {
              "$ref": "#/$defs/type._inputs.*.options.pattern"
            },
            "pattern_message": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_message"
            },
            "pattern_flags": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_flags"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(text)"
                }
              ]
            }
          },
          "description": "Options that are specific to Select Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "SelectInput",
      "description": "Provides an editing interface for data with multiple predefined options. Select inputs only allow one value.",
      "title": "Select Input",
      "additionalProperties": false
    },
    "type.preview": {
      "type": "object",
      "properties": {
        "text": {
          "$ref": "#/$defs/type.preview.text"
        },
        "subtext": {
          "$ref": "#/$defs/type.preview.subtext"
        },
        "image": {
          "$ref": "#/$defs/type.preview.image"
        },
        "icon": {
          "$ref": "#/$defs/type.preview.icon"
        },
        "icon_color": {
          "$ref": "#/$defs/type.preview.icon_color"
        },
        "icon_background_color": {
          "$ref": "#/$defs/type.preview.icon_background_color"
        },
        "tags": {
          "$ref": "#/$defs/type.preview.tags"
        },
        "metadata": {
          "$ref": "#/$defs/type.preview.metadata"
        },
        "gallery": {
          "$ref": "#/$defs/type.preview.gallery"
        }
      },
      "$id": "type.preview",
      "title": "Preview",
      "additionalProperties": false
    },
    "type.preview.text": {
      "allOf": [
        {
          "$ref": "#/$defs/PreviewEntries"
        }
      ],
      "$id": "type.preview.text"
    },
    "type.preview.subtext": {
      "allOf": [
        {
          "$ref": "#/$defs/PreviewEntries"
        }
      ],
      "$id": "type.preview.subtext"
    },
    "type.preview.image": {
      "allOf": [
        {
          "$ref": "#/$defs/PreviewEntries"
        }
      ],
      "$id": "type.preview.image"
    },
    "type.preview.icon": {
      "allOf": [
        {
          "$ref": "#/$defs/PreviewEntries"
        }
      ],
      "$id": "type.preview.icon"
    },
    "type.preview.icon_color": {
      "allOf": [
        {
          "$ref": "#/$defs/PreviewEntries"
        }
      ],
      "$id": "type.preview.icon_color"
    },
    "type.preview.icon_background_color": {
      "allOf": [
        {
          "$ref": "#/$defs/PreviewEntries"
        }
      ],
      "$id": "type.preview.icon_background_color"
    },
    "type.preview.tags": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "$id": "type.preview.tags"
    },
    "type.preview.metadata": {
      "items": {
        "$ref": "#/$defs/PreviewMetadataEntry"
      },
      "type": "array",
      "$id": "type.preview.metadata"
    },
    "PreviewMetadataEntry": {
      "type": "object",
      "properties": {
        "text": {
          "$ref": "#/$defs/type.preview.text"
        },
        "image": {
          "$ref": "#/$defs/type.preview.image"
        },
        "icon": {
          "$ref": "#/$defs/type.preview.icon"
        },
        "icon_color": {
          "$ref": "#/$defs/type.preview.icon_color"
        },
        "icon_background_color": {
          "$ref": "#/$defs/type.preview.icon_background_color"
        }
      },
      "$id": "PreviewMetadataEntry",
      "additionalProperties": false
    },
    "type.preview.gallery": {
      "$id": "type.preview.gallery",
      "type": "object",
      "properties": {
        "text": {
          "$ref": "#/$defs/type.preview.text"
        },
        "image": {
          "$ref": "#/$defs/type.preview.image"
        },
        "icon": {
          "$ref": "#/$defs/type.preview.icon"
        },
        "icon_color": {
          "$ref": "#/$defs/type.preview.icon_color"
        },
        "icon_background_color": {
          "$ref": "#/$defs/type.preview.icon_background_color"
        },
        "fit": {
          "$ref": "#/$defs/preview.gallery.fit"
        },
        "background_color": {
          "$ref": "#/$defs/type.preview.gallery.background_color"
        }
      },
      "additionalProperties": false
    },
    "preview.gallery.fit": {
      "enum": [
        "padded",
        "cover",
        "contain",
        "cover-top"
      ],
      "default": "padded",
      "type": "string",
      "$id": "preview.gallery.fit"
    },
    "type.preview.gallery.background_color": {
      "allOf": [
        {
          "$ref": "#/$defs/PreviewEntries"
        }
      ],
      "$id": "type.preview.gallery.background_color"
    },
    "type.picker_preview": {
      "title": "Picker Preview",
      "allOf": [
        {
          "$ref": "#/$defs/type.preview"
        }
      ],
      "$id": "type.picker_preview"
    },
    "type._inputs.*.options.allow_create": {
      "type": "boolean",
      "description": "Allows new text values to be created at edit time.",
      "default": false,
      "$id": "type._inputs.*.options.allow_create"
    },
    "type._inputs.*.options.allow_empty": {
      "type": "boolean",
      "deprecated": true,
      "description": "Provides an empty option alongside the options provided by values.",
      "$id": "type._inputs.*.options.allow_empty"
    },
    "type._inputs.*.options.values": {
      "anyOf": [
        {
          "type": "string",
          "title": "Dataset Reference",
          "description": "Reference to a dataset."
        },
        {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "string"
              },
              "title": "Text Array"
            },
            {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "title": "Text Object",
              "additionalProperties": {
                "type": "string"
              }
            },
            {
              "type": "array",
              "items": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              "title": "Object Array"
            },
            {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "title": "Object",
              "additionalProperties": {}
            }
          ],
          "description": "Data formats for populating select and multiselect input options, supporting arrays and objects."
        }
      ],
      "description": "Defines the values available to choose from. Optional, defaults to fetching values from the naming convention (e.g. colors or my_colors for data set colors).",
      "$id": "type._inputs.*.options.values"
    },
    "type._inputs.*.options.value_key": {
      "type": "string",
      "description": "Defines the key used for mapping between saved values and objects in values. This changes how the input saves selected values to match. Defaults to checking for \"id\", \"uuid\", \"path\", \"title\", then \"name\". Has no effect unless values is an array of objects, the key is used instead for objects, and the value itself is used for primitive types.",
      "$id": "type._inputs.*.options.value_key"
    },
    "type._inputs.*.options.view": {
      "enum": [
        "card",
        "text",
        "gallery",
        "gallery-left"
      ],
      "description": "Controls how selected items are rendered.",
      "type": "string",
      "$id": "type._inputs.*.options.view"
    },
    "type._inputs.*.options.picker_view": {
      "enum": [
        "card",
        "text",
        "gallery",
        "gallery-left"
      ],
      "description": "Controls how selectable options are rendered.",
      "type": "string",
      "$id": "type._inputs.*.options.picker_view"
    },
    "MultiselectInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "const": "multiselect",
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "preview": {
              "allOf": [
                {
                  "$ref": "#/$defs/type.preview"
                }
              ]
            },
            "picker_preview": {
              "allOf": [
                {
                  "$ref": "#/$defs/type.picker_preview"
                }
              ]
            },
            "allow_create": {
              "$ref": "#/$defs/type._inputs.*.options.allow_create"
            },
            "allow_empty": {
              "$ref": "#/$defs/type._inputs.*.options.allow_empty"
            },
            "values": {
              "$ref": "#/$defs/type._inputs.*.options.values"
            },
            "value_key": {
              "$ref": "#/$defs/type._inputs.*.options.value_key"
            },
            "view": {
              "$ref": "#/$defs/type._inputs.*.options.view"
            },
            "picker_view": {
              "$ref": "#/$defs/type._inputs.*.options.picker_view"
            },
            "max_items": {
              "$ref": "#/$defs/type._inputs.*.options.max_items"
            },
            "max_items_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_items_message"
            },
            "min_items": {
              "$ref": "#/$defs/type._inputs.*.options.min_items"
            },
            "min_items_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_items_message"
            },
            "unique_on": {
              "$ref": "#/$defs/type._inputs.*.options.unique_on"
            },
            "unique_on_message": {
              "$ref": "#/$defs/type._inputs.*.options.unique_on_message"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(array)"
                }
              ]
            }
          },
          "description": "Options that are specific to Multiselect Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "MultiselectInput",
      "description": "Provides an editing interface for data with multiple predefined options. Multiselect inputs allow several values.",
      "title": "Multiselect Input",
      "additionalProperties": false
    },
    "type._inputs.*.options.max_items": {
      "type": "number",
      "description": "This key defines the maximum number of items CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from adding more items to this Input. If the Input already contains more items, CloudCannon will require you to remove items until the Input contains a valid number to save your changes, or discard your unsaved changes.",
      "$id": "type._inputs.*.options.max_items"
    },
    "type._inputs.*.options.max_items_message": {
      "type": "string",
      "description": "This key defines the message that explains why an Input needs to have a maximum number of items. This key requires you to define `options.max_items`.",
      "$id": "type._inputs.*.options.max_items_message"
    },
    "type._inputs.*.options.min_items": {
      "type": "number",
      "description": "This key defines the minimum number of items CloudCannon will allow in an Input. When configured, CloudCannon will prevent you from removing items from this Input below this value. If the Input already contains fewer items, CloudCannon will require you to add items until the Input contains a valid number to save your changes, or discard your unsaved changes.",
      "$id": "type._inputs.*.options.min_items"
    },
    "type._inputs.*.options.min_items_message": {
      "type": "string",
      "description": "This key defines the message that explains why an Input needs to have a minimum number of items. This key requires you to define `options.min_items`.",
      "$id": "type._inputs.*.options.min_items_message"
    },
    "type._inputs.*.options.unique_on": {
      "type": "string",
      "description": "This key defines the JSON Path selector that CloudCannon should use to determine if the value of an Input is unique. When configured, CloudCannon will require the value of the Input to be unique compared to the value defined on the JSON Path. If the Input already contains a non-unique value, CloudCannon will require you to change it to a valid value to save your changes, or discard your unsaved changes.",
      "$id": "type._inputs.*.options.unique_on"
    },
    "type._inputs.*.options.unique_on_message": {
      "type": "string",
      "description": "This key defines the message that explains why an Input needs to be unique. This key requires you to define `options.unique_on`.",
      "$id": "type._inputs.*.options.unique_on_message"
    },
    "type._inputs.*.options.empty_type(array)": {
      "default": "null",
      "enum": [
        "null",
        "array"
      ],
      "description": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
      "type": "string",
      "$id": "type._inputs.*.options.empty_type(array)"
    },
    "ChoiceInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "const": "choice",
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "preview": {
              "allOf": [
                {
                  "$ref": "#/$defs/type.preview"
                }
              ]
            },
            "picker_preview": {
              "allOf": [
                {
                  "$ref": "#/$defs/type.picker_preview"
                }
              ]
            },
            "allow_empty": {
              "$ref": "#/$defs/type._inputs.*.options.allow_empty"
            },
            "values": {
              "$ref": "#/$defs/type._inputs.*.options.values"
            },
            "value_key": {
              "$ref": "#/$defs/type._inputs.*.options.value_key"
            },
            "view": {
              "$ref": "#/$defs/type._inputs.*.options.view"
            },
            "picker_view": {
              "$ref": "#/$defs/type._inputs.*.options.picker_view"
            },
            "max_length": {
              "$ref": "#/$defs/type._inputs.*.options.max_length"
            },
            "max_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_length_message"
            },
            "min_length": {
              "$ref": "#/$defs/type._inputs.*.options.min_length"
            },
            "min_length_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_length_message"
            },
            "max_words": {
              "$ref": "#/$defs/type._inputs.*.options.max_words"
            },
            "max_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_words_message"
            },
            "min_words": {
              "$ref": "#/$defs/type._inputs.*.options.min_words"
            },
            "min_words_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_words_message"
            },
            "max_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes"
            },
            "max_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_graphemes_message"
            },
            "min_graphemes": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes"
            },
            "min_graphemes_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_graphemes_message"
            },
            "locale": {
              "$ref": "#/$defs/type._inputs.*.options.locale"
            },
            "pattern": {
              "$ref": "#/$defs/type._inputs.*.options.pattern"
            },
            "pattern_message": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_message"
            },
            "pattern_flags": {
              "$ref": "#/$defs/type._inputs.*.options.pattern_flags"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(text)"
                }
              ]
            }
          },
          "description": "Options that are specific to Choice Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "ChoiceInput",
      "description": "Provides an editing interface for data with multiple predefined options. Choice inputs only allow one value.",
      "title": "Choice Input",
      "additionalProperties": false
    },
    "MultichoiceInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "const": "multichoice",
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "preview": {
              "allOf": [
                {
                  "$ref": "#/$defs/type.preview"
                }
              ]
            },
            "picker_preview": {
              "allOf": [
                {
                  "$ref": "#/$defs/type.picker_preview"
                }
              ]
            },
            "allow_empty": {
              "$ref": "#/$defs/type._inputs.*.options.allow_empty"
            },
            "values": {
              "$ref": "#/$defs/type._inputs.*.options.values"
            },
            "value_key": {
              "$ref": "#/$defs/type._inputs.*.options.value_key"
            },
            "view": {
              "$ref": "#/$defs/type._inputs.*.options.view"
            },
            "picker_view": {
              "$ref": "#/$defs/type._inputs.*.options.picker_view"
            },
            "max_items": {
              "$ref": "#/$defs/type._inputs.*.options.max_items"
            },
            "max_items_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_items_message"
            },
            "min_items": {
              "$ref": "#/$defs/type._inputs.*.options.min_items"
            },
            "min_items_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_items_message"
            },
            "unique_on": {
              "$ref": "#/$defs/type._inputs.*.options.unique_on"
            },
            "unique_on_message": {
              "$ref": "#/$defs/type._inputs.*.options.unique_on_message"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(array)"
                }
              ]
            }
          },
          "description": "Options that are specific to Multichoice Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "MultichoiceInput",
      "description": "Provides an editing interface for data with multiple predefined options. Multichoice inputs allow several values.",
      "title": "Multichoice Input",
      "additionalProperties": false
    },
    "ObjectInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "const": "object",
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(object)"
                }
              ]
            },
            "preview": {
              "allOf": [
                {
                  "$ref": "#/$defs/type.preview"
                }
              ]
            },
            "subtype": {
              "description": "Changes the appearance and behavior of the input.",
              "type": "string",
              "enum": [
                "object",
                "mutable",
                "tabbed"
              ]
            },
            "entries": {
              "description": "Contains options for the \"mutable\" subtype.",
              "type": "object",
              "properties": {
                "allowed_keys": {
                  "description": "Defines a limited set of keys that can exist on the data within an object input. This set is used when entries are added and renamed with `allow_create` enabled. Has no effect if `allow_create` is not enabled.",
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "assigned_structures": {
                  "description": "Provides data formats when adding entries to the data within this object input. When adding an entry, team members are prompted to choose from a number of values you have defined. Has no effect if `allow_create` is false. `entries.structures` applies to the entries within the object.",
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "structures": {
                  "description": "Provides data formats for value of this object. When choosing an item, team members are prompted to choose from a number of values you have defined. `structures` applies to the object itself.",
                  "anyOf": [
                    {
                      "$ref": "#/$defs/type.structure-reference"
                    },
                    {
                      "$ref": "#/$defs/type.structure"
                    }
                  ]
                },
                "comment": {
                  "$ref": "#/$defs/entries_comment"
                },
                "documentation": {
                  "description": "Provides a custom link for documentation for editors shown above the key input when adding/renaming within a mutable object input.",
                  "allOf": [
                    {
                      "$ref": "#/$defs/type.documentation"
                    }
                  ]
                }
              },
              "additionalProperties": false
            },
            "groups": {
              "description": "Allows you to group the inputs inside this object together without changing the data structure.",
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "heading": {
                    "description": "The main text for the group shown when collapsed or expanded.",
                    "type": "string"
                  },
                  "comment": {
                    "description": "Changes the subtext below the `heading`. Has no default. Supports a limited set of Markdown: links, bold, italic, subscript, superscript, and inline code elements are allowed.",
                    "type": "string"
                  },
                  "collapsed": {
                    "description": "Controls if this group is collapsed or expanded when first viewed.",
                    "default": false,
                    "type": "boolean"
                  },
                  "inputs": {
                    "description": "The keys of each input in this group.",
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "documentation": {
                    "description": "Provides a custom link for documentation for editors shown above the collection file list.",
                    "allOf": [
                      {
                        "$ref": "#/$defs/type.documentation"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "place_groups_below": {
              "description": "Controls which order input groups and ungrouped inputs appear in.",
              "default": false,
              "type": "boolean"
            },
            "allow_label_formatting": {
              "description": "Controls whether or not labels on mutable object entries are formatted.",
              "default": false,
              "type": "boolean"
            },
            "view": {
              "description": "Controls how object previews are rendered.",
              "type": "string",
              "enum": [
                "card",
                "gallery",
                "gallery-left"
              ]
            },
            "structures": {
              "description": "Provides data formats for value of this object. When choosing an item, team members are prompted to choose from a number of values you have defined. `structures` applies to the object itself.",
              "anyOf": [
                {
                  "$ref": "#/$defs/type.structure-reference"
                },
                {
                  "$ref": "#/$defs/type.structure"
                }
              ]
            }
          },
          "description": "Options that are specific to Object Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "ObjectInput",
      "description": "Provides a user interface for a group of inputs.",
      "title": "Object Input",
      "additionalProperties": false
    },
    "type._inputs.*.options.empty_type(object)": {
      "default": "null",
      "enum": [
        "null",
        "object"
      ],
      "description": "Set how an ‘empty’ value will be saved. Does not apply to existing empty values.",
      "type": "string",
      "$id": "type._inputs.*.options.empty_type(object)"
    },
    "type.structure-reference": {
      "type": "string",
      "description": "A reference to an existing structure.",
      "title": "Structure Reference",
      "$id": "type.structure-reference"
    },
    "type.structure": {
      "type": "object",
      "properties": {
        "reorder_inputs": {
          "description": "If true, inputs are sorted to match when editing. Extra inputs are ordered after expected inputs, unless `remove_extra_inputs` is true. Defaults to true.",
          "default": true,
          "type": "boolean"
        },
        "hide_extra_inputs": {
          "description": "Hides unexpected inputs when editing. Has no effect if `remove_extra_inputs` is true. Defaults to false.",
          "default": false,
          "type": "boolean"
        },
        "remove_empty_inputs": {
          "description": "If checked, empty inputs are removed from the source file on save. Removed inputs will be available for editing again, provided they are in the matching schema/structure. Defaults to false.",
          "default": false,
          "type": "boolean"
        },
        "remove_extra_inputs": {
          "description": "If checked, extra inputs are removed when editing. Defaults to true.",
          "default": true,
          "type": "boolean"
        },
        "values": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/type.structure.values.%5B*%5D"
          },
          "description": "Defines what values are available to add when using this structure."
        },
        "values_from_glob": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "id_key": {
          "description": "Defines what key should be used to detect which structure an item is. If this key is not found in the existing structure, a comparison of key names is used. Defaults to \"_type\".",
          "default": "_type",
          "type": "string"
        },
        "style": {
          "description": "Defines whether options are shown to your editors in a select menu (select, default) or a modal pop up window (modal) when adding a new item.",
          "default": "select",
          "type": "string",
          "enum": [
            "select",
            "modal"
          ]
        }
      },
      "required": [
        "values"
      ],
      "$id": "type.structure",
      "description": "Provides data formats when adding new items to arrays and objects, with options for how editors choose from available values.",
      "title": "Structure",
      "additionalProperties": false
    },
    "type.structure.values.[*]": {
      "type": "object",
      "properties": {
        "reorder_inputs": {
          "description": "If true, inputs are sorted to match when editing. Extra inputs are ordered after expected inputs, unless `remove_extra_inputs` is true. Defaults to true.",
          "default": true,
          "type": "boolean"
        },
        "hide_extra_inputs": {
          "description": "Hides unexpected inputs when editing. Has no effect if `remove_extra_inputs` is true. Defaults to false.",
          "default": false,
          "type": "boolean"
        },
        "remove_empty_inputs": {
          "description": "If checked, empty inputs are removed from the source file on save. Removed inputs will be available for editing again, provided they are in the matching schema/structure. Defaults to false.",
          "default": false,
          "type": "boolean"
        },
        "remove_extra_inputs": {
          "description": "If checked, extra inputs are removed when editing. Defaults to true.",
          "default": true,
          "type": "boolean"
        },
        "preview": {
          "allOf": [
            {
              "$ref": "#/$defs/type.preview"
            }
          ]
        },
        "picker_preview": {
          "allOf": [
            {
              "$ref": "#/$defs/type.picker_preview"
            }
          ]
        },
        "_inputs": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs"
            }
          ]
        },
        "_inputs_from_glob": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs_from_glob"
            }
          ]
        },
        "_select_data": {
          "allOf": [
            {
              "$ref": "#/$defs/type._select_data"
            }
          ]
        },
        "_structures": {
          "allOf": [
            {
              "$ref": "#/$defs/type._structures"
            }
          ]
        },
        "_structures_from_glob": {
          "allOf": [
            {
              "$ref": "#/$defs/type._structures_from_glob"
            }
          ]
        },
        "id": {
          "description": "A unique reference value used when referring to this structure value from the Object input's assigned_structures option.",
          "type": "string"
        },
        "default": {
          "description": "If set to true, this item will be considered the default type for this structure. If the type of a value within a structure cannot be inferred based on its id_key or matching fields, then it will fall back to this item. If multiple items have default set to true, only the first item will be used.",
          "default": false,
          "type": "boolean"
        },
        "icon": {
          "description": "An icon used when displaying the structure (defaults to either format_list_bulleted for items in arrays, or notes otherwise).",
          "allOf": [
            {
              "$ref": "#/$defs/icon"
            }
          ]
        },
        "image": {
          "description": "Path to an image in your source files used when displaying the structure. Can be either a source (has priority) or output path.",
          "type": "string"
        },
        "label": {
          "description": "Used as the main text in the interface for this value.",
          "type": "string"
        },
        "tags": {
          "description": "Used to group and filter items when selecting from a modal.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "groups": {
          "description": "Allows you to group the inputs inside this object together without changing the data structure.",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "heading": {
                "description": "The main text for the group shown when collapsed or expanded.",
                "type": "string"
              },
              "comment": {
                "description": "Changes the subtext below the `heading`. Has no default. Supports a limited set of Markdown: links, bold, italic, subscript, superscript, and inline code elements are allowed.",
                "type": "string"
              },
              "collapsed": {
                "description": "Controls if this group is collapsed or expanded when first viewed.",
                "default": false,
                "type": "boolean"
              },
              "inputs": {
                "description": "The keys of each input in this group.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "documentation": {
                "description": "Provides a custom link for documentation for editors shown above the collection file list.",
                "allOf": [
                  {
                    "$ref": "#/$defs/type.documentation"
                  }
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "place_groups_below": {
          "description": "Controls which order input groups and ungrouped inputs appear in.",
          "default": false,
          "type": "boolean"
        },
        "tabbed": {
          "description": "Show nested objects as tabs. Requires all top-level keys to be objects.",
          "default": false,
          "type": "boolean"
        },
        "value": {
          "description": "The actual value used when items are added after selection."
        },
        "description": {
          "description": "Provides short descriptive text for editors shown in the Data Editor for expanded values matching this Structure value. Has no default. Supports a limited set of Markdown: links, bold, italic, subscript, superscript, and inline code elements are allowed.",
          "type": "string"
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown in the Data Editor for expanded values matching this Structure value. Has no default.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        }
      },
      "required": [
        "value"
      ],
      "$id": "type.structure.values.[*]",
      "description": "A single value option within a structure, defining the data format and appearance for content editors.",
      "title": "Structure Value",
      "additionalProperties": false
    },
    "type._inputs_from_glob": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "$id": "type._inputs_from_glob"
    },
    "type._select_data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "$id": "type._select_data",
      "description": "Fixed datasets that can be referenced by the _Values_ configuration for _Select_ and _Multiselect_ inputs.",
      "title": "Select Data",
      "additionalProperties": {
        "anyOf": [
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Text Array"
          },
          {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "title": "Text Object",
            "additionalProperties": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "items": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            },
            "title": "Object Array"
          },
          {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "title": "Object",
            "additionalProperties": {}
          }
        ],
        "description": "Data formats for populating select and multiselect input options, supporting arrays and objects."
      }
    },
    "type._structures": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "$id": "type._structures",
      "description": "Structured values for editors adding new items to arrays and objects. Entries here can be referenced in the configuration for `array` or `object` inputs.",
      "title": "Structures",
      "additionalProperties": {
        "$ref": "#/$defs/type.structure"
      }
    },
    "type._structures_from_glob": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "$id": "type._structures_from_glob"
    },
    "entries_comment": {
      "type": "string",
      "description": "Used to supply help text above the key input when adding/renaming within a mutable object input. Has no default. Supports a limited set of Markdown: links, bold, italic, subscript, superscript and inline code elements are allowed.",
      "$id": "entries_comment"
    },
    "ArrayInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "const": "array",
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "type": "object",
          "properties": {
            "required": {
              "$ref": "#/$defs/type._inputs.*.options.required"
            },
            "required_message": {
              "$ref": "#/$defs/type._inputs.*.options.required_message"
            },
            "max_items": {
              "$ref": "#/$defs/type._inputs.*.options.max_items"
            },
            "max_items_message": {
              "$ref": "#/$defs/type._inputs.*.options.max_items_message"
            },
            "min_items": {
              "$ref": "#/$defs/type._inputs.*.options.min_items"
            },
            "min_items_message": {
              "$ref": "#/$defs/type._inputs.*.options.min_items_message"
            },
            "unique_on": {
              "$ref": "#/$defs/type._inputs.*.options.unique_on"
            },
            "unique_on_message": {
              "$ref": "#/$defs/type._inputs.*.options.unique_on_message"
            },
            "disable_add": {
              "$ref": "#/$defs/ArrayInput.disable_add"
            },
            "disable_remove": {
              "$ref": "#/$defs/disable_remove"
            },
            "disable_reorder": {
              "$ref": "#/$defs/disable_reorder"
            },
            "empty_type": {
              "allOf": [
                {
                  "$ref": "#/$defs/type._inputs.*.options.empty_type(array)"
                }
              ]
            },
            "structures": {
              "description": "Provides data formats for value of this object. When choosing an item, team members are prompted to choose from a number of values you have defined.",
              "anyOf": [
                {
                  "$ref": "#/$defs/type.structure-reference"
                },
                {
                  "$ref": "#/$defs/type.structure"
                }
              ]
            }
          },
          "description": "Options that are specific to Array Inputs.",
          "additionalProperties": false
        }
      },
      "required": [
        "type"
      ],
      "$id": "ArrayInput",
      "description": "Provides a user interface for lists of inputs or input groups.",
      "title": "Array Input",
      "additionalProperties": false
    },
    "ArrayInput.disable_add": {
      "type": "boolean",
      "description": "Hides the add button, and context menu actions on each item for adding new items to this Input.",
      "default": false,
      "$id": "ArrayInput.disable_add"
    },
    "disable_remove": {
      "type": "boolean",
      "description": "Hides the context menu actions on each item for removing them.",
      "default": false,
      "$id": "disable_remove"
    },
    "disable_reorder": {
      "type": "boolean",
      "description": "Hides the controls on each item for moving them.",
      "default": false,
      "$id": "disable_reorder"
    },
    "AutoInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "type": {
          "type": "string",
          "const": "auto",
          "title": "Type",
          "description": "Sets an input type, which controls how this input appears and behaves."
        },
        "options": {
          "description": "Options that are specific to this `type` of input."
        }
      },
      "required": [
        "type"
      ],
      "$id": "AutoInput",
      "excludeFromDocumentation": true,
      "title": "Automatic Input",
      "description": "Provides a default user interface based on the data contained.",
      "additionalProperties": false
    },
    "UnknownInput": {
      "type": "object",
      "properties": {
        "comment": {
          "$ref": "#/$defs/type._inputs.*.comment"
        },
        "context": {
          "allOf": [
            {
              "$ref": "#/$defs/type._inputs.*.context"
            }
          ]
        },
        "documentation": {
          "description": "Provides a custom link for documentation for editors shown above input.",
          "allOf": [
            {
              "$ref": "#/$defs/type.documentation"
            }
          ]
        },
        "label": {
          "$ref": "#/$defs/type._inputs.*.label"
        },
        "hidden": {
          "$ref": "#/$defs/type._inputs.*.hidden"
        },
        "disabled": {
          "$ref": "#/$defs/type._inputs.*.disabled"
        },
        "instance_value": {
          "$ref": "#/$defs/type._inputs.*.instance_value"
        },
        "disable_instance_value_rehydration": {
          "$ref": "#/$defs/type._inputs.*.disable_instance_value_rehydration"
        },
        "cascade": {
          "$ref": "#/$defs/type._inputs.*.cascade"
        },
        "options": {
          "description": "Options that are specific to this `type` of input."
        }
      },
      "$id": "UnknownInput",
      "excludeFromDocumentation": true,
      "title": "Unknown Input",
      "description": "Provides a default user interface based on the data contained.",
      "additionalProperties": false
    },
    "type._enabled_editors": {
      "items": {
        "$ref": "#/$defs/EditorKey"
      },
      "title": "Enabled Editors",
      "description": "Set a preferred editor and/or disable the others. The first value sets which editor opens by default, and the following values specify which editors are accessible.",
      "uniqueItems": true,
      "type": "array",
      "$id": "type._enabled_editors"
    },
    "type._editables": {
      "$id": "type._editables",
      "title": "Editables",
      "description": "Configuration for editable regions in the Visual Editor, including content, block, link, image, and text editing options.",
      "type": "object",
      "properties": {
        "content": {
          "$ref": "#/$defs/ContentEditable"
        },
        "block": {
          "$ref": "#/$defs/BlockEditable"
        },
        "link": {
          "$ref": "#/$defs/LinkEditable"
        },
        "image": {
          "$ref": "#/$defs/ImageEditable"
        },
        "text": {
          "$ref": "#/$defs/TextEditable"
        }
      },
      "additionalProperties": false
    },
    "ContentEditable": {
      "$id": "ContentEditable",
      "title": "Content Editable",
      "description": "Contains input options for the Content Editor.",
      "type": "object",
      "properties": {
        "mime_type": {
          "$ref": "#/$defs/type._inputs.*.options.mime_type"
        },
        "resize_style": {
          "$ref": "#/$defs/type._inputs.*.options.resize_style"
        },
        "width": {
          "$ref": "#/$defs/type._inputs.*.options.width"
        },
        "height": {
          "$ref": "#/$defs/type._inputs.*.options.height"
        },
        "expandable": {
          "$ref": "#/$defs/type._inputs.*.options.expandable"
        },
        "image_size_attributes": {
          "$ref": "#/$defs/type._inputs.*.options.image_size_attributes"
        },
        "allowed_sources": {
          "$ref": "#/$defs/type._inputs.*.options.allowed_sources"
        },
        "prevent_resize_existing_files": {
          "$ref": "#/$defs/type._inputs.*.options.prevent_resize_existing_files"
        },
        "sizes": {
          "$ref": "#/$defs/type._inputs.*.options.sizes"
        },
        "paths": {
          "allOf": [
            {
              "$ref": "#/$defs/type.paths"
            }
          ]
        },
        "bold": {
          "$ref": "#/$defs/type._editables.*.bold"
        },
        "copyformatting": {
          "$ref": "#/$defs/type._editables.*.copyformatting"
        },
        "italic": {
          "$ref": "#/$defs/type._editables.*.italic"
        },
        "link": {
          "$ref": "#/$defs/type._editables.*.link"
        },
        "redo": {
          "$ref": "#/$defs/type._editables.*.redo"
        },
        "removeformat": {
          "$ref": "#/$defs/type._editables.*.removeformat"
        },
        "strike": {
          "$ref": "#/$defs/type._editables.*.strike"
        },
        "subscript": {
          "$ref": "#/$defs/type._editables.*.subscript"
        },
        "superscript": {
          "$ref": "#/$defs/type._editables.*.superscript"
        },
        "underline": {
          "$ref": "#/$defs/type._editables.*.underline"
        },
        "undo": {
          "$ref": "#/$defs/type._editables.*.undo"
        },
        "remove_custom_markup": {
          "$ref": "#/$defs/type._editables.*.remove_custom_markup"
        },
        "allow_custom_markup": {
          "$ref": "#/$defs/type._editables.*.allow_custom_markup"
        },
        "blockquote": {
          "$ref": "#/$defs/type._editables.*.blockquote"
        },
        "bulletedlist": {
          "$ref": "#/$defs/type._editables.*.bulletedlist"
        },
        "center": {
          "$ref": "#/$defs/type._editables.*.center"
        },
        "code_inline": {
          "$ref": "#/$defs/type._editables.*.code_inline"
        },
        "code_block": {
          "$ref": "#/$defs/type._editables.*.code_block"
        },
        "code": {
          "$ref": "#/$defs/type._editables.*.code"
        },
        "embed": {
          "$ref": "#/$defs/type._editables.*.embed"
        },
        "format": {
          "$ref": "#/$defs/type._editables.*.format"
        },
        "horizontalrule": {
          "$ref": "#/$defs/type._editables.*.horizontalrule"
        },
        "image": {
          "$ref": "#/$defs/type._editables.*.image"
        },
        "indent": {
          "$ref": "#/$defs/type._editables.*.indent"
        },
        "justify": {
          "$ref": "#/$defs/type._editables.*.justify"
        },
        "left": {
          "$ref": "#/$defs/type._editables.*.left"
        },
        "numberedlist": {
          "$ref": "#/$defs/type._editables.*.numberedlist"
        },
        "outdent": {
          "$ref": "#/$defs/type._editables.*.outdent"
        },
        "right": {
          "$ref": "#/$defs/type._editables.*.right"
        },
        "snippet": {
          "$ref": "#/$defs/type._editables.*.snippet"
        },
        "styles": {
          "$ref": "#/$defs/type._editables.*.styles"
        },
        "table": {
          "$ref": "#/$defs/type._editables.*.table"
        },
        "join_above": {
          "$ref": "#/$defs/type._editables.*.join_above"
        },
        "join_below": {
          "$ref": "#/$defs/type._editables.*.join_below"
        }
      },
      "additionalProperties": false
    },
    "BlockEditable": {
      "$id": "BlockEditable",
      "title": "Block Editable",
      "description": "Contains input options for block Editable Regions.",
      "type": "object",
      "properties": {
        "mime_type": {
          "$ref": "#/$defs/type._inputs.*.options.mime_type"
        },
        "resize_style": {
          "$ref": "#/$defs/type._inputs.*.options.resize_style"
        },
        "width": {
          "$ref": "#/$defs/type._inputs.*.options.width"
        },
        "height": {
          "$ref": "#/$defs/type._inputs.*.options.height"
        },
        "expandable": {
          "$ref": "#/$defs/type._inputs.*.options.expandable"
        },
        "image_size_attributes": {
          "$ref": "#/$defs/type._inputs.*.options.image_size_attributes"
        },
        "allowed_sources": {
          "$ref": "#/$defs/type._inputs.*.options.allowed_sources"
        },
        "prevent_resize_existing_files": {
          "$ref": "#/$defs/type._inputs.*.options.prevent_resize_existing_files"
        },
        "sizes": {
          "$ref": "#/$defs/type._inputs.*.options.sizes"
        },
        "paths": {
          "allOf": [
            {
              "$ref": "#/$defs/type.paths"
            }
          ]
        },
        "bold": {
          "$ref": "#/$defs/type._editables.*.bold"
        },
        "copyformatting": {
          "$ref": "#/$defs/type._editables.*.copyformatting"
        },
        "italic": {
          "$ref": "#/$defs/type._editables.*.italic"
        },
        "link": {
          "$ref": "#/$defs/type._editables.*.link"
        },
        "redo": {
          "$ref": "#/$defs/type._editables.*.redo"
        },
        "removeformat": {
          "$ref": "#/$defs/type._editables.*.removeformat"
        },
        "strike": {
          "$ref": "#/$defs/type._editables.*.strike"
        },
        "subscript": {
          "$ref": "#/$defs/type._editables.*.subscript"
        },
        "superscript": {
          "$ref": "#/$defs/type._editables.*.superscript"
        },
        "underline": {
          "$ref": "#/$defs/type._editables.*.underline"
        },
        "undo": {
          "$ref": "#/$defs/type._editables.*.undo"
        },
        "remove_custom_markup": {
          "$ref": "#/$defs/type._editables.*.remove_custom_markup"
        },
        "allow_custom_markup": {
          "$ref": "#/$defs/type._editables.*.allow_custom_markup"
        },
        "blockquote": {
          "$ref": "#/$defs/type._editables.*.blockquote"
        },
        "bulletedlist": {
          "$ref": "#/$defs/type._editables.*.bulletedlist"
        },
        "center": {
          "$ref": "#/$defs/type._editables.*.center"
        },
        "code_inline": {
          "$ref": "#/$defs/type._editables.*.code_inline"
        },
        "code_block": {
          "$ref": "#/$defs/type._editables.*.code_block"
        },
        "code": {
          "$ref": "#/$defs/type._editables.*.code"
        },
        "embed": {
          "$ref": "#/$defs/type._editables.*.embed"
        },
        "format": {
          "$ref": "#/$defs/type._editables.*.format"
        },
        "horizontalrule": {
          "$ref": "#/$defs/type._editables.*.horizontalrule"
        },
        "image": {
          "$ref": "#/$defs/type._editables.*.image"
        },
        "indent": {
          "$ref": "#/$defs/type._editables.*.indent"
        },
        "justify": {
          "$ref": "#/$defs/type._editables.*.justify"
        },
        "left": {
          "$ref": "#/$defs/type._editables.*.left"
        },
        "numberedlist": {
          "$ref": "#/$defs/type._editables.*.numberedlist"
        },
        "outdent": {
          "$ref": "#/$defs/type._editables.*.outdent"
        },
        "right": {
          "$ref": "#/$defs/type._editables.*.right"
        },
        "snippet": {
          "$ref": "#/$defs/type._editables.*.snippet"
        },
        "styles": {
          "$ref": "#/$defs/type._editables.*.styles"
        },
        "table": {
          "$ref": "#/$defs/type._editables.*.table"
        },
        "join_above": {
          "$ref": "#/$defs/type._editables.*.join_above"
        },
        "join_below": {
          "$ref": "#/$defs/type._editables.*.join_below"
        }
      },
      "additionalProperties": false
    },
    "LinkEditable": {
      "$id": "LinkEditable",
      "title": "Link Editable",
      "description": "Contains input options for link Editable Regions.",
      "type": "object",
      "properties": {
        "paths": {
          "allOf": [
            {
              "$ref": "#/$defs/type.paths"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "ImageEditable": {
      "$id": "ImageEditable",
      "title": "Image Editable",
      "description": "Contains input options for image Editable Regions.",
      "type": "object",
      "properties": {
        "mime_type": {
          "$ref": "#/$defs/type._inputs.*.options.mime_type"
        },
        "resize_style": {
          "$ref": "#/$defs/type._inputs.*.options.resize_style"
        },
        "width": {
          "$ref": "#/$defs/type._inputs.*.options.width"
        },
        "height": {
          "$ref": "#/$defs/type._inputs.*.options.height"
        },
        "expandable": {
          "$ref": "#/$defs/type._inputs.*.options.expandable"
        },
        "image_size_attributes": {
          "$ref": "#/$defs/type._inputs.*.options.image_size_attributes"
        },
        "allowed_sources": {
          "$ref": "#/$defs/type._inputs.*.options.allowed_sources"
        },
        "prevent_resize_existing_files": {
          "$ref": "#/$defs/type._inputs.*.options.prevent_resize_existing_files"
        },
        "sizes": {
          "$ref": "#/$defs/type._inputs.*.options.sizes"
        },
        "paths": {
          "allOf": [
            {
              "$ref": "#/$defs/type.paths"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "TextEditable": {
      "$id": "TextEditable",
      "title": "Text Editable",
      "description": "Contains input options for text Editable Regions.",
      "type": "object",
      "properties": {
        "paths": {
          "allOf": [
            {
              "$ref": "#/$defs/type.paths"
            }
          ]
        },
        "bold": {
          "$ref": "#/$defs/type._editables.*.bold"
        },
        "copyformatting": {
          "$ref": "#/$defs/type._editables.*.copyformatting"
        },
        "italic": {
          "$ref": "#/$defs/type._editables.*.italic"
        },
        "link": {
          "$ref": "#/$defs/type._editables.*.link"
        },
        "redo": {
          "$ref": "#/$defs/type._editables.*.redo"
        },
        "removeformat": {
          "$ref": "#/$defs/type._editables.*.removeformat"
        },
        "strike": {
          "$ref": "#/$defs/type._editables.*.strike"
        },
        "subscript": {
          "$ref": "#/$defs/type._editables.*.subscript"
        },
        "superscript": {
          "$ref": "#/$defs/type._editables.*.superscript"
        },
        "underline": {
          "$ref": "#/$defs/type._editables.*.underline"
        },
        "undo": {
          "$ref": "#/$defs/type._editables.*.undo"
        },
        "remove_custom_markup": {
          "$ref": "#/$defs/type._editables.*.remove_custom_markup"
        },
        "allow_custom_markup": {
          "$ref": "#/$defs/type._editables.*.allow_custom_markup"
        }
      },
      "additionalProperties": false
    },
    "type._editables_from_glob": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "$id": "type._editables_from_glob"
    },
    "collections_config": {
      "$id": "collections_config",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "$ref": "#/$defs/collections_config.*"
      }
    }
  },
  "$ref": "#/$defs/collections_config"
}
