[
  {
    "id": "article-list",
    "fields": [
      {
        "component": "text",
        "label": "Title",
        "name": "title",
        "valueType": "string",
        "required": true
      },
      {
        "component": "number",
        "label": "Max Items",
        "name": "maxItems",
        "valueType": "number",
        "defaultValue": 96
      },
      {
        "component": "boolean",
        "label": "Show Images",
        "name": "showImages",
        "valueType": "boolean",
        "defaultValue": true
      },
      {
        "component": "boolean",
        "label": "Show Date",
        "name": "showDate",
        "valueType": "boolean",
        "defaultValue": true
      },
      {
        "component": "boolean",
        "label": "Show Topic",
        "name": "showTopic",
        "valueType": "boolean",
        "defaultValue": true
      },
      {
        "component": "container",
        "label": "Tabs",
        "name": "tabs",
        "valueType": "string",
        "description": "Add tabs using the plus icon.",
        "fields": []
      }
    ]
  },
  {
    "id": "article-list-tab",
    "fields": [
      {
        "component": "text",
        "label": "Tab Label",
        "name": "tabLabel",
        "valueType": "string",
        "required": true
      },
      {
        "component": "aem-content",
        "label": "Parent Page",
        "name": "pathField",
        "description": "Select the parent path used to source immediate child pages.",
        "valueType": "string",
        "required": true
      },
      {
        "component": "aem-tag",
        "label": "AEM Tag Picker",
        "name": "tags",
        "valueType": "string"
      },
      {
        "component": "select",
        "label": "Order By",
        "name": "orderBy",
        "valueType": "string",
        "defaultValue": "original-publish-date",
        "options": [
          {
            "name": "Title (A-Z)",
            "value": "title-asc"
          },
          {
            "name": "Title (Z-A)",
            "value": "title-desc"
          },
          {
            "name": "Original Publish Date (New-to-Old)",
            "value": "original-publish-date"
          },
          {
            "name": "Last Modified Date (New-to-Old)",
            "value": "last-modified-date"
          }
        ]
      }
    ]
  },
  {
    "id": "article-share",
    "fields": []
  },
  {
    "id": "article-social-media",
    "fields": [
      {
        "component": "text",
        "label": "Header",
        "name": "header",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Description",
        "name": "description",
        "valueType": "string"
      },
      {
        "component": "container",
        "label": "Social Media Items",
        "name": "items",
        "description": "Add social media items using the plus icon.",
        "valueType": "string",
        "fields": []
      }
    ]
  },
  {
    "id": "article-social-media-item",
    "fields": [
      {
        "component": "select",
        "label": "Social Media",
        "name": "socialMedia",
        "valueType": "string",
        "required": true,
        "options": [
          {
            "name": "Facebook",
            "value": "facebook"
          },
          {
            "name": "Instagram",
            "value": "instagram"
          },
          {
            "name": "LinkedIn",
            "value": "linkedin"
          },
          {
            "name": "X",
            "value": "x"
          },
          {
            "name": "YouTube",
            "value": "youtube"
          }
        ]
      },
      {
        "component": "text",
        "label": "Social Media Link",
        "name": "socialMediaLink",
        "valueType": "string",
        "required": true
      }
    ]
  },
  {
    "id": "breadcrumb",
    "fields": []
  },
  {
    "id": "image",
    "fields": [
      {
        "component": "reference",
        "label": "Image Path",
        "name": "fileReference",
        "description": "Select the image file from the DAM.",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Alt Text",
        "name": "imageAltText",
        "description": "Provide alternative text for the image for accessibility.",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Caption",
        "name": "caption",
        "description": "Provide a caption to display below the image.",
        "valueType": "string"
      },
      {
        "component": "aem-content",
        "label": "Image Link",
        "name": "imageLink",
        "description": "Provide a link for the image.",
        "valueType": "string"
      },
      {
        "component": "select",
        "label": "Link Target",
        "name": "linkTarget",
        "description": "Specify the target for the image link (e.g., _self, _blank).",
        "valueType": "string",
        "options": [
          {
            "name": "Same Window",
            "value": "_self"
          },
          {
            "name": "New Window",
            "value": "_blank"
          }
        ]
      },
      {
        "component": "boolean",
        "label": "Enable Lazy Loading",
        "name": "lazyEnabled",
        "description": "Check to enable lazy loading for the image.",
        "valueType": "boolean"
      },
      {
        "component": "number",
        "label": "Width %",
        "name": "width",
        "description": "Specify the width of the image in percentage.",
        "valueType": "number"
      },
      {
        "component": "number",
        "label": "Height (px)",
        "name": "height",
        "description": "Specify the height of the image in pixels.",
        "valueType": "number"
      }
    ]
  },
  {
    "id": "responsivegrid",
    "fields": []
  },
  {
    "id": "columncontrol",
    "fields": [
      {
        "component": "select",
        "label": "Column Layout",
        "name": "columnLayout",
        "description": "Specify the column layout.",
        "valueType": "string",
        "options": [
          {
            "name": "1 Column 100%",
            "value": "col1-100"
          },
          {
            "name": "2 Columns 50% 50%",
            "value": "col2-50-50"
          },
          {
            "name": "2 Columns 33% 67%",
            "value": "col2-33-67"
          },
          {
            "name": "2 Columns 67% 33%",
            "value": "col2-67-33"
          },
          {
            "name": "2 Columns 75% 25%",
            "value": "col2-75-25"
          },
          {
            "name": "2 Columns 25% 75%",
            "value": "col2-25-75"
          },
          {
            "name": "3 Columns 33% 33% 33%",
            "value": "col3-33-33-33"
          },
          {
            "name": "4 Columns 25% 25% 25% 25%",
            "value": "col4-25-25-25-25"
          }
        ]
      }
    ]
  },
  {
    "id": "gridcolumn",
    "fields": []
  },
  {
    "id": "hero-carousel",
    "fields": [
      {
        "component": "text",
        "label": "Global Header",
        "name": "globalHeader",
        "valueType": "string",
        "description": "Header will be static as slides change. If authored, it will replace individual slide headers."
      },
      {
        "component": "text",
        "label": "Global Description",
        "name": "globalDescription",
        "valueType": "string",
        "description": "Description will be static as slides change. If authored, it will replace individual slide descriptions."
      },
      {
        "component": "boolean",
        "label": "Enable Search",
        "name": "enableSearch",
        "valueType": "boolean",
        "description": "If this is enabled, description and CTA fields will be hidden and a search bar will be shown instead."
      },
      {
        "component": "container",
        "label": "Slides",
        "name": "slides",
        "description": "Add hero slides using the plus icon.",
        "valueType": "string",
        "fields": []
      }
    ]
  },
  {
    "id": "hero-carousel-slide",
    "fields": [
      {
        "component": "reference",
        "label": "Media",
        "name": "fileReference",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Alt Text",
        "name": "altText",
        "valueType": "string",
        "required": true
      },
      {
        "component": "reference",
        "label": "Mobile Media",
        "name": "mobileImagePath",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Mobile Alt Text",
        "name": "mobileAltText",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Header",
        "name": "header",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Description",
        "name": "description",
        "valueType": "string"
      },
      {
        "component": "container",
        "label": "CTAs",
        "name": "ctas",
        "description": "Add CTA items for this slide using the plus icon.",
        "valueType": "string",
        "fields": []
      }
    ]
  },
  {
    "id": "hero-carousel-cta",
    "fields": [
      {
        "component": "text",
        "label": "CTA Label",
        "name": "label",
        "valueType": "string"
      },
      {
        "component": "aem-content",
        "label": "CTA Link",
        "name": "link",
        "description": "Where the CTA should link to.",
        "valueType": "string",
        "required": true
      },
      {
        "component": "select",
        "label": "Target",
        "name": "target",
        "valueType": "string",
        "defaultValue": "_self",
        "options": [
          {
            "name": "Same Window",
            "value": "_self"
          },
          {
            "name": "New Window",
            "value": "_blank"
          }
        ]
      }
    ]
  },
  {
    "id": "text",
    "fields": [
      {
        "component": "richtext",
        "label": "Text",
        "name": "text",
        "valueType": "string"
      }
    ]
  },
  {
    "id": "accordion",
    "fields": [
      {
        "component": "text",
        "label": "Title",
        "name": "title",
        "valueType": "string"
      },
      {
        "component": "boolean",
        "label": "Emit FAQ Structured Data (JSON-LD)",
        "name": "isFaqAccordion",
        "valueType": "boolean",
        "description": "When enabled, the Q&A pairs in this accordion will be included in the page FAQPage schema for SEO rich results.",
        "defaultValue": false
      },
      {
        "component": "container",
        "label": "Panels",
        "name": "panels",
        "description": "To add accordion panels, select the Panels item in the Content tree and then click the plus icon.",
        "valueType": "string",
        "fields": []
      }
    ]
  },
  {
    "id": "accordion-panel",
    "fields": [
      {
        "component": "text",
        "label": "Title",
        "name": "title",
        "valueType": "string",
        "required": true
      },
      {
        "component": "richtext",
        "label": "Text",
        "name": "text",
        "valueType": "string"
      }
    ]
  },
  {
    "id": "four-color-content-card",
    "fields": [
      {
        "component": "container",
        "label": "Cards",
        "name": "cards",
        "description": "Add four color content cards using the plus icon.",
        "valueType": "string",
        "fields": []
      }
    ]
  },
  {
    "id": "four-color-content-card-item",
    "fields": [
      {
        "component": "text",
        "label": "Header",
        "name": "header",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Description",
        "name": "description",
        "valueType": "string",
        "required": true
      },
      {
        "component": "reference",
        "label": "Image",
        "name": "imagePath",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Image Alt Text",
        "name": "imageAltText",
        "valueType": "string",
        "required": true
      },
      {
        "component": "aem-content",
        "label": "Destination URL",
        "name": "destinationURL",
        "description": "Internal AEM path (e.g. /content/crs/…) or external URL (e.g. https://example.com).",
        "valueType": "string"
      },
      {
        "component": "select",
        "label": "Link Target",
        "name": "linkTarget",
        "valueType": "string",
        "options": [
          {
            "name": "Same Window",
            "value": "_self"
          },
          {
            "name": "New Window",
            "value": "_blank"
          }
        ]
      },
      {
        "component": "select",
        "label": "Background Color",
        "name": "backgroundColor",
        "valueType": "string",
        "required": true,
        "options": [
          {
            "name": "Red",
            "value": "red"
          },
          {
            "name": "Black",
            "value": "black"
          },
          {
            "name": "Gray",
            "value": "gray"
          },
          {
            "name": "Light Gray",
            "value": "light-gray"
          }
        ]
      }
    ]
  },
  {
    "id": "text-media",
    "fields": [
      {
        "component": "text",
        "label": "Title",
        "name": "title/title",
        "valueType": "string"
      },
      {
        "component": "richtext",
        "label": "Description",
        "name": "text/text",
        "valueType": "string"
      },
      {
        "component": "select",
        "label": "Style",
        "name": "style",
        "description": "It applies a variation of styles to the component.",
        "valueType": "string",
        "defaultValue": "standard",
        "options": [
          { "name": "Standard", "value": "standard" },
          { "name": "Background Image", "value": "background-image" }
        ]
      },
      {
        "component": "select",
        "label": "Background Color",
        "name": "bgcolor",
        "description": "Background color for the Standard style.",
        "valueType": "string",
        "defaultValue": "grey",
        "options": [
          { "name": "Grey", "value": "grey" },
          { "name": "White", "value": "white" }
        ]
      },
      {
        "component": "select",
        "label": "Layout",
        "name": "layout",
        "description": "Layout variation for the Standard style.",
        "valueType": "string",
        "defaultValue": "media-right",
        "options": [
          { "name": "Media Right", "value": "media-right" },
          { "name": "Media Left", "value": "media-left" }
        ]
      },
      {
        "component": "container",
        "label": "Media (Image / Video)",
        "name": "media",
        "description": "Edit media fields inside this child component.",
        "valueType": "string",
        "fields": []
      },
      {
        "component": "text",
        "label": "YouTube Video ID",
        "name": "video/videoID",
        "description": "Provide video ID, not full URL.",
        "valueType": "string"
      },
      {
        "component": "container",
        "label": "CTAs",
        "name": "ctas",
        "description": "Optional - Add up to 2 CTA items using the plus icon.",
        "valueType": "string",
        "maxItems": 2,
        "fields": []
      }
    ]
  },
  {
    "id": "common-media",
    "fields": [
      {
        "component": "reference",
        "label": "Media Path (Image or Video)",
        "name": "fileReference",
        "valueType": "string",
        "validation": {
          "rootPath": "/content/dam/crs"
        }
      },
      {
        "component": "text",
        "label": "Media Alt Text",
        "name": "altText",
        "description": "Provide when Media Path is authored.",
        "valueType": "string"
      },
      {
        "component": "reference",
        "label": "Mobile Media Path (Image or Video)",
        "name": "mobileImagePath",
        "description": "Optional - If provided, this image replaces the desktop image on mobile.",
        "valueType": "string",
        "validation": {
          "rootPath": "/content/dam/crs"
        }
      },
      {
        "component": "text",
        "label": "Mobile Media Alt Text",
        "name": "mobileAltText",
        "description": "Provide when Mobile Media Path is authored.",
        "valueType": "string"
      }
    ]
  },
  {
    "id": "common-cta",
    "fields": [
      {
        "component": "text",
        "label": "CTA Label",
        "name": "label",
        "valueType": "string",
        "required": true
      },
      {
        "component": "aem-content",
        "label": "CTA Link",
        "name": "link",
        "description": "Where the CTA should link to.",
        "valueType": "string",
        "required": true
      },
      {
        "component": "select",
        "label": "Target",
        "name": "target",
        "valueType": "string",
        "defaultValue": "_self",
        "required": true,
        "options": [
          {
            "name": "Same Window",
            "value": "_self"
          },
          {
            "name": "New Window",
            "value": "_blank"
          }
        ]
      },
      {
        "component": "select",
        "label": "Style",
        "name": "style",
        "valueType": "string",
        "defaultValue": "default",
        "required": true,
        "options": [
          {
            "name": "Default",
            "value": "default"
          },
          {
            "name": "Inline",
            "value": "inline"
          },
          {
            "name": "Ghost",
            "value": "ghost"
          }
        ]
      }
    ]
  },
  {
    "id": "title",
    "fields": [
      {
        "component": "text",
        "label": "Heading",
        "name": "title",
        "valueType": "string"
      },
      {
        "component": "select",
        "label": "Type/Size",
        "name": "type",
        "description": "The first title on the page is always rendered as an <h1>, regardless of which heading level you choose in the editor.",
        "valueType": "string",
        "options": [
          {
            "name": "H2",
            "value": "h2"
          },
          {
            "name": "H3",
            "value": "h3"
          }
        ]
      },
      {
        "component": "select",
        "label": "Text Alignment",
        "name": "textAlignment",
        "valueType": "string",
        "options": [
          {
            "name": "Left",
            "value": "left"
          },
          {
            "name": "Center",
            "value": "center"
          }
        ]
      }
    ]
  },
  {
    "id": "toprentalscarousel",
    "fields": [
      {
        "component": "text",
        "label": "Title",
        "name": "title",
        "valueType": "string"
      },
      {
        "component": "container",
        "label": "Tabs",
        "name": "items",
        "valueType": "string",
        "description": "Add tabs using the plus icon.",
        "fields": []
      }
    ]
  },
  {
    "id": "toprentalscarousel-tab",
    "fields": [
      {
        "component": "text",
        "label": "Tab Label",
        "name": "tabLabel",
        "valueType": "string",
        "required": true
      },
      {
        "component": "container",
        "label": "Product Cards",
        "description": "Add product cards using the plus icon.",
        "name": "items",
        "valueType": "string",
        "fields": []
      }
    ]
  },
  {
    "id": "toprentalscarousel-card",
    "fields": [
      {
        "component": "aem-content",
        "label": "Destination URL",
        "name": "destinationURL",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Eyebrow",
        "name": "eyebrow",
        "valueType": "string",
        "description": "These fields provide manual override options for the Product Card Name, Product Card Image, and Product Card Image Alt Text, instead of using the values automatically retrieved from the linked page's properties."
      },
      {
        "component": "text",
        "label": "Product Card Name (Override)",
        "name": "productName",
        "valueType": "string"
      },
      {
        "component": "reference",
        "label": "Product Card Image (Override)",
        "name": "productImage",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Product Card Image Alt Text (Override)",
        "name": "imageAltText",
        "valueType": "string"
      }
    ]
  },
  {
    "id": "display-article-publication-date",
    "fields": [
      {
        "component": "select",
        "label": "Date Label",
        "name": "dateLabel",
        "valueType": "string",
        "options": [
          {
            "name": "Published",
            "value": "published"
          },
          {
            "name": "Updated",
            "value": "updated"
          }
        ]
      }
    ]
  },
  {
    "id": "article-cards-carousel",
    "fields": [
      {
        "component": "text",
        "label": "Title",
        "name": "title",
        "valueType": "string"
      },
      {
        "component": "container",
        "label": "Tabs",
        "name": "tabs",
        "valueType": "string",
        "description": "Add tabs using the plus icon.",
        "fields": []
      }
    ]
  },
  {
    "id": "article-cards-3col-carousel",
    "fields": [
      {
        "component": "text",
        "label": "Title",
        "name": "title",
        "valueType": "string"
      },
      {
        "component": "container",
        "label": "Tabs",
        "name": "tabs",
        "valueType": "string",
        "description": "Add tabs using the plus icon.",
        "fields": []
      }
    ]
  },
  {
    "id": "article-carousel-tab",
    "fields": [
      {
        "component": "text",
        "label": "Tab Label",
        "name": "tabLabel",
        "valueType": "string",
        "required": true
      },
      {
        "component": "container",
        "label": "Article Cards",
        "description": "Add article cards using the plus icon.",
        "name": "articleCards",
        "valueType": "string",
        "fields": []
      }
    ]
  },
  {
    "id": "article-card-standalone",
    "fields": [
      {
        "component": "aem-content",
        "label": "Article Destination URL",
        "name": "destinationURL",
        "valueType": "string",
        "required": true,
        "description": "These fields provide manual override options for the Article Card Name, Article Card Image, and Article Card Image Alt Text, instead of using the values automatically retrieved from the linked page's properties."
      },
      {
        "component": "text",
        "label": "Article Card Name (Override)",
        "name": "articleName",
        "valueType": "string"
      },
      {
        "component": "reference",
        "label": "Article Card Image (Override)",
        "name": "imagePath",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Article Card Image Alt Text (Override)",
        "name": "imageAltText",
        "valueType": "string"
      },
      {
        "component": "select",
        "label": "Style",
        "name": "style",
        "description": "The default style is Large Rounded.",
        "value": "large-rounded",
        "valueType": "string",
        "defaultValue": "large-rounded",
        "options": [
          {
            "name": "Large Rounded",
            "value": "large-rounded"
          }
        ]
      }
    ]
  },
  {
    "id": "article-card",
    "fields": [
      {
        "component": "aem-content",
        "label": "Destination URL",
        "name": "destinationURL",
        "valueType": "string",
        "required": true,
        "description": "These fields provide manual override options for the Article Card Name, Article Card Image, and Article Card Image Alt Text, instead of using the values automatically retrieved from the linked page's properties."
      },
      {
        "component": "text",
        "label": "Article Card Name (Override)",
        "name": "articleName",
        "valueType": "string"
      },
      {
        "component": "reference",
        "label": "Article Card Image (Override)",
        "name": "articleImage",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Article Card Image Alt Text (Override)",
        "name": "imageAltText",
        "valueType": "string"
      }
    ]
  },
  {
    "id": "related-articles",
    "fields": [
      {
        "component": "text",
        "label": "Title",
        "name": "title",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "See All Label",
        "name": "seeAllLabel",
        "valueType": "string"
      },
      {
        "component": "aem-content",
        "label": "See All Link",
        "name": "seeAllLink",
        "valueType": "string"
      },
      {
        "component": "container",
        "label": "Article Cards",
        "description": "Add related article cards using the plus icon. Maximum supported on page is 4 cards.",
        "name": "items",
        "valueType": "string",
        "maxItems": 4,
        "fields": []
      }
    ]
  },
  {
    "id": "article-hero",
    "fields": [
      {
        "component": "aem-content",
        "label": "Article Destination URL",
        "name": "destinationURL",
        "description": "These fields provide manual override options for the Article Card Name, Article Card Image, and Article Card Image Alt Text, instead of using the values automatically retrieved from the linked page's properties.",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Article Card Name (Override)",
        "name": "articleName",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Marketing Text",
        "name": "marketingText",
        "valueType": "string"
      },
      {
        "component": "reference",
        "label": "Article Card Image (Override)",
        "name": "imagePath",
        "description": "Select the article hero image from the DAM.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Article Card Image Alt Text (Override)",
        "name": "imageAltText",
        "valueType": "string"
      },
      {
        "component": "reference",
        "label": "Article Card Mobile Image (Override)",
        "name": "mobileImagePath",
        "description": "Select the article hero mobile image from the DAM. This will replace the desktop image on mobile devices if provided.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Article Card Mobile Image Alt Text (Override)",
        "name": "mobileImageAltText",
        "description": "Alt text for the mobile image. This is required if a mobile image is provided.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "CTA Text",
        "name": "ctaText",
        "valueType": "string"
      }
    ]
  },
  {
    "id": "dealer-brand",
    "fields": [
      {
        "component": "text",
        "label": "Header",
        "name": "header",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Location Label",
        "name": "locationLabel",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Phone Number Label",
        "name": "phoneNumberLabel",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Phone Number",
        "name": "phoneNumber",
        "valueType": "string"
      }
    ]
  },
  {
    "id": "manage-rentals-content",
    "fields": [
      {
        "component": "text",
        "label": "Title",
        "name": "title",
        "valueType": "string"
      },
      {
        "component": "richtext",
        "label": "Description",
        "name": "description",
        "valueType": "string"
      },
      {
        "component": "reference",
        "label": "Media (Image or Video)",
        "name": "mediaPath",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Media Alt Text",
        "name": "mediaAltText",
        "valueType": "string",
        "required": true
      },
      {
        "component": "reference",
        "label": "Mobile Media Path (Image or Video)",
        "name": "mobileMediaPath",
        "description": "Optional - If provided, this media replaces the desktop media on mobile.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Mobile Media Alt Text",
        "name": "mobileMediaAltText",
        "description": "Provide when Mobile Media Path is authored.",
        "valueType": "string"
      },
      {
        "component": "select",
        "label": "Background Color",
        "name": "bgColor",
        "valueType": "string",
        "value": "grey",
        "defaultValue": "grey",
        "options": [
          {
            "name": "Grey",
            "value": "grey"
          },
          {
            "name": "White",
            "value": "white"
          }
        ]
      },
      {
        "component": "select",
        "label": "Layout",
        "name": "layout",
        "description": "Choose where the media appears relative to the text content on desktop.",
        "valueType": "string",
        "value": "right",
        "defaultValue": "right",
        "options": [
          {
            "name": "Right",
            "value": "right"
          },
          {
            "name": "Left",
            "value": "left"
          }
        ]
      }
    ]
  },
  {
    "id": "marketing-highlights",
    "fields": [
      {
        "component": "select",
        "label": "Style",
        "name": "layout",
        "description": "Select the visual style for the marketing highlights",
        "valueType": "string",
        "required": true,
        "defaultValue": "standard-media-right-bar-highlights",
        "options": [
          { "name": "Standard Media Right with \"Bar\" Highlights", "value": "standard-media-right-bar-highlights" },
          { "name": "Standard Media Left with \"Bar\" Highlights", "value": "standard-media-left-bar-highlights" },
          { "name": "No Media with \"Bar\" Highlights", "value": "no-media-bar-highlights" },
          { "name": "Flush Image Right with \"Plain\" Highlights", "value": "flush-image-right-plain-highlights" },
          { "name": "Flush Image Left with \"Plain\" Highlights", "value": "flush-image-left-plain-highlights" },
          { "name": "No Image \"Plain\" Highlights", "value": "no-image-plain-highlights" }
        ]
      },
      {
        "component": "text",
        "label": "Title",
        "name": "title",
        "description": "Title in text section.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Subhead",
        "name": "subhead",
        "description": "Subheader text.",
        "valueType": "string"
      },
      {
        "component": "reference",
        "label": "Image",
        "name": "imagePath",
        "description": "Image Path.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Alt Text",
        "name": "imageAltText",
        "description": "Alt for image.",
        "valueType": "string"
      },
      {
        "component": "reference",
        "label": "Mobile Image",
        "name": "mobileImagePath",
        "description": "Image Path.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Mobile Alt Text",
        "name": "mobileAltText",
        "description": "Alt for image.",
        "valueType": "string"
      },
      {
        "component": "aem-content",
        "label": "CTA Link 1",
        "name": "link0",
        "valueType": "string",
        "rootPath": "/content/crs/language-masters/"
      },
      {
        "component": "text",
        "label": "CTA Text 1",
        "name": "text0",
        "valueType": "string"
      },
      {
        "component": "select",
        "label": "CTA Target 1",
        "name": "target0",
        "valueType": "string",
        "defaultValue": "_self",
        "options": [
          { "name": "Same Window", "value": "_self" },
          { "name": "New Window", "value": "_blank" }
        ]
      },
      {
        "component": "aem-content",
        "label": "CTA Link 2",
        "name": "link1",
        "valueType": "string",
        "rootPath": "/content/crs/language-masters/"
      },
      {
        "component": "text",
        "label": "CTA Text 2",
        "name": "text1",
        "valueType": "string"
      },
      {
        "component": "select",
        "label": "CTA Target 2",
        "name": "target1",
        "valueType": "string",
        "defaultValue": "_self",
        "options": [
          { "name": "Same Window", "value": "_self" },
          { "name": "New Window", "value": "_blank" }
        ]
      },
      {
        "component": "container",
        "label": "Highlights",
        "name": "highlights",
        "description": "Add highlight items using the plus icon.",
        "valueType": "string",
        "fields": []
      }
    ]
  },
  {
    "id": "quick-quote-banner",
    "fields": [
      {
        "component": "text",
        "label": "Title",
        "name": "title",
        "description": "Banner title.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Description",
        "name": "description",
        "description": "Banner description.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "CTA Text",
        "name": "ctaText",
        "description": "Call to action label.",
        "valueType": "string"
      },
      {
        "component": "aem-content",
        "label": "CTA Link",
        "name": "ctaLink",
        "description": "Where the CTA should link to.",
        "valueType": "string",
        "rootPath": "/content/crs/language-masters/"
      },
      {
        "component": "reference",
        "label": "Image",
        "name": "imagePath",
        "description": "Select the image file from the DAM.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Alt Text",
        "name": "imageAltText",
        "description": "Provide alternative text for the image.",
        "valueType": "string"
      },
      {
        "component": "select",
        "label": "Image Position",
        "name": "imagePosition",
        "description": "Choose where the image appears when an image is authored.",
        "valueType": "string",
        "options": [
          {
            "name": "Left",
            "value": "left"
          },
          {
            "name": "Right",
            "value": "right"
          }
        ]
      }
    ]
  },
  {
    "id": "highlight",
    "fields": [
      {
        "component": "text",
        "label": "Highlight Title",
        "name": "title",
        "description": "Title of highlight.",
        "valueType": "string"
      },
      {
        "component": "richtext",
        "label": "Highlight Text",
        "name": "text",
        "description": "Text of highlight.",
        "valueType": "string"
      }
    ]
  },
  {
    "id": "visual-value-statement",
    "fields": [
      {
        "component": "reference",
        "label": "Background Image",
        "name": "backgroundImage",
        "description": "Select the background image from the DAM.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Image Alt Text",
        "name": "imageAltText",
        "description": "Required if Background Image is authored. Provide alternative text for accessibility.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Eyebrow",
        "name": "eyebrow",
        "description": "Small text displayed above the header.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Header",
        "name": "header",
        "description": "Main heading of the section.",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "1st Statement Sub Header",
        "name": "subHeaderOne",
        "description": "Title for the first value statement.",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "1st Statement Description",
        "name": "descriptionOne",
        "description": "Description for the first value statement.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "2nd Statement Sub Header",
        "name": "subHeaderTwo",
        "description": "Title for the second value statement.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "2nd Statement Description",
        "name": "descriptionTwo",
        "description": "Description for the second value statement.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "3rd Statement Sub Header",
        "name": "subHeaderThree",
        "description": "Title for the third value statement.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "3rd Statement Description",
        "name": "descriptionThree",
        "description": "Description for the third value statement.",
        "valueType": "string"
      }
    ]
  },
  {
    "id": "location-service-areas",
    "fields": [
      {
        "component": "text",
        "label": "Eyebrow",
        "name": "eyebrow",
        "description": "Optional small text displayed above the title.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Title",
        "name": "title",
        "description": "Main heading for the section.",
        "valueType": "string"
      },
      {
        "component": "richtext",
        "label": "Description",
        "name": "description",
        "description": "Optional supporting copy shown under the title.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Locations",
        "name": "locations",
        "description": "Enter up to 25 City, State values.  One per line.  Do not include bullet points or numbering.",
        "valueType": "string"
      }
    ]
  },
  {
    "id": "video",
    "fields": [
      {
        "component": "text",
        "label": "Caption",
        "name": "caption",
        "description": "Caption for the video.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Video ID",
        "name": "videoID",
        "description": "Unique ID for the video.",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "ARIA Label",
        "name": "ariaLabel",
        "description": "Descriptive text of the video for accessibility.",
        "valueType": "string",
        "required": true
      },
      {
        "component": "select",
        "label": "Video Player",
        "name": "player",
        "description": "Video source.",
        "valueType": "string",
        "required": true,
        "options": [
          {
            "name": "YouTube",
            "value": "youtube"
          }
        ]
      }
    ]
  },
  {
    "id": "article-search",
    "fields": [
      {
        "component": "text",
        "label": "Title",
        "name": "title",
        "description": "Title text displayed next to the search bar.",
        "valueType": "string"
      },
      {
        "component": "select",
        "label": "Type/Size",
        "name": "type",
        "description": "HTML heading level for the title.",
        "valueType": "string",
        "options": [
          {
            "name": "H1",
            "value": "h1"
          },
          {
            "name": "H2",
            "value": "h2"
          },
          {
            "name": "H3",
            "value": "h3"
          }
        ]
      },
      {
        "component": "select",
        "label": "Text Alignment",
        "name": "textAlignment",
        "description": "Alignment of the title text.",
        "valueType": "string",
        "options": [
          {
            "name": "Left",
            "value": "left"
          }
        ]
      },
      {
        "component": "text",
        "label": "Placeholder",
        "name": "placeholder",
        "description": "Placeholder text for the search input.",
        "valueType": "string",
        "required": true
      },
      {
        "component": "aem-content",
        "label": "Search Root",
        "name": "searchRoot",
        "description": "The root path in AEM where article content is stored.",
        "valueType": "string",
        "required": true
      },
      {
        "component": "aem-content",
        "label": "Results Page Path",
        "name": "targetPath",
        "description": "The page path to redirect to with the search query parameter.",
        "valueType": "string",
        "required": true
      }
    ]
  },
  {
    "id": "article-search-results",
    "fields": [
      {
        "component": "select",
        "label": "Type/Size",
        "name": "type",
        "valueType": "string",
        "defaultValue": "h1",
        "options": [
          {
            "name": "H1",
            "value": "h1"
          },
          {
            "name": "H2",
            "value": "h2"
          },
          {
            "name": "H3",
            "value": "h3"
          }
        ]
      },
      {
        "component": "select",
        "label": "Text Alignment",
        "name": "textAlignment",
        "valueType": "string",
        "options": [
          {
            "name": "Left",
            "value": "left"
          }
        ]
      },
      {
        "component": "text",
        "label": "Placeholder",
        "name": "placeholder",
        "description": "Placeholder text for the search input.",
        "valueType": "string",
        "required": true
      },
      {
        "component": "aem-content",
        "label": "Search Root",
        "name": "searchRoot",
        "description": "Root path for article search.",
        "valueType": "string",
        "required": true
      },
      {
        "component": "aem-content",
        "label": "Results Page Path",
        "name": "targetPath",
        "description": "Path to the search results page.",
        "valueType": "string",
        "required": true
      },
      {
        "component": "richtext",
        "label": "No Results Text",
        "name": "noResultsText",
        "description": "Rich text message displayed when no articles match the search criteria.",
        "valueType": "string",
        "required": true
      }
    ]
  },
  {
    "id": "content-card-responsive",
    "fields": [
      {
        "component": "select",
        "label": "Default Media Position",
        "name": "layout",
        "valueType": "string",
        "required": true,
        "defaultValue": "media-right",
        "options": [
          { "name": "Media Right of Text", "value": "media-right" },
          { "name": "Media Left of Text", "value": "media-left" },
          { "name": "Media Above Text", "value": "media-above" }
        ]
      },
      {
        "component": "select",
        "label": "Background Color",
        "name": "backgroundColor",
        "valueType": "string",
        "default": "white",
        "options": [
          { "name": "White", "value": "white" },
          { "name": "Light Gray", "value": "light-gray" }
        ]
      },
      {
        "component": "container",
        "label": "Cards",
        "name": "cards",
        "description": "Add content cards using the plus icon.",
        "valueType": "string",
        "fields": []
      }
    ]
  },
  {
    "id": "content-card-responsive-item",
    "fields": [
      {
        "component": "text",
        "label": "Header",
        "name": "header",
        "valueType": "string",
        "required": true
      },
      {
        "component": "richtext",
        "label": "Description",
        "name": "description",
        "valueType": "string"
      },
      {
        "component": "reference",
        "label": "Media",
        "name": "mediaPath",
        "description": "Select an image or video from the DAM.",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Alt Text",
        "name": "mediaAltText",
        "valueType": "string",
        "required": true
      },
      {
        "component": "reference",
        "label": "Mobile Media",
        "name": "mobileMediaPath",
        "description": "Select a mobile-specific image from the DAM.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Mobile Alt Text",
        "name": "mobileAltText",
        "description": "Required if Mobile Media is authored.",
        "valueType": "string"
      },
      {
        "component": "container",
        "label": "CTAs",
        "name": "ctas",
        "description": "Add CTA items using the plus icon.",
        "valueType": "string",
        "maxItems": 2,
        "fields": []
      },
      {
        "component": "select",
        "label": "Card Background Color",
        "name": "cardBackgroundColor",
        "valueType": "string",
        "default": "light-gray",
        "options": [
          { "name": "White", "value": "white" },
          { "name": "Light Gray", "value": "light-gray" }
        ]
      }
    ]
  },
  {
    "id": "category-title-and-text",
    "fields": [
      {
        "component": "text",
        "label": "Header",
        "name": "header",
        "description": "Category heading.",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Description",
        "name": "description",
        "description": "Descriptive text displayed below the header.",
        "valueType": "string"
      }
    ]
  },
  {
    "id": "cta-block",
    "fields": [
      {
        "component": "container",
        "label": "CTAs",
        "name": "items",
        "description": "Add up to 2 CTA items using the plus icon.",
        "valueType": "string",
        "maxItems": 2,
        "fields": []
      }
    ]
  },
  {
    "id": "product-showcase-carousel",
    "fields": [
      {
        "component": "text",
        "label": "Heading",
        "name": "heading",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Description",
        "name": "description",
        "valueType": "string"
      },
      {
        "component": "container",
        "label": "Tabs",
        "name": "tabs",
        "valueType": "string",
        "description": "Add Tabs using plus icon",
        "fields": []
      }
    ]
  },
  {
    "id": "product-showcase-carousel-tab",
    "fields": [
      {
        "component": "text",
        "label": "Tab Label",
        "name": "tabLabel",
        "valueType": "string",
        "required": true
      },
      {
        "component": "reference",
        "label": "Background Image",
        "name": "bgImage",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Background Image Alt Text",
        "name": "bgAltText",
        "valueType": "string",
        "required": true
      },
      {
        "component": "container",
        "label": "Product Cards",
        "name": "cards",
        "valueType": "string",
        "description": "Add Product cards by clicking plus icon",
        "fields": []
      }
    ]
  },
  {
    "id": "product-showcase-carousel-card",
    "fields": [
      {
        "component": "text",
        "label": "Product Header",
        "name": "productHeader",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Product Description",
        "name": "productDescription",
        "valueType": "string"
      },
      {
        "component": "reference",
        "label": "Product Image",
        "name": "productImage",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Product Image Alt Text",
        "name": "productImageAltText",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Primary CTA Label",
        "name": "primaryCtaLabel",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Primary CTA URL",
        "name": "primaryCtaUrl",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Default CTA Label",
        "name": "defaultCtaLabel",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "Default CTA URL",
        "name": "defaultCtaUrl",
        "valueType": "string"
      },
      {
        "component": "text",
        "label": "First Specification Label",
        "name": "firstSpecLabel",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "First Specification Value",
        "name": "firstSpecValue",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Second Specification Label",
        "name": "secondSpecLabel",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Second Specification Value",
        "name": "secondSpecValue",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Third Specification Label",
        "name": "thirdSpecLabel",
        "valueType": "string",
        "required": true
      },
      {
        "component": "text",
        "label": "Third Specification Value",
        "name": "thirdSpecValue",
        "valueType": "string",
        "required": true
      }
    ]
  }
]
