{
  "name": "drawer-gcal",
  "kind": "block",
  "primary": "drawer-ui",
  "page": "/apps/saas/app/integrations/integrations.contents.html",
  "slots": [],
  "nested": [],
  "attrs": {
    "side": "right",
    "size": "md"
  },
  "html": "<drawer-ui id=\"drawer-gcal\" side=\"right\" size=\"md\">\n  <header>\n    <span slot=\"icon\">\n      <avatar-ui icon=\"calendar\"></avatar-ui>\n    </span>\n    <span slot=\"heading\">\n      <text-ui strong>Google Calendar</text-ui>\n    </span>\n    <span slot=\"action\"></span>\n  </header>\n  <section>\n    <text-ui color=\"subtle\" size=\"sm\">Sync events, attendees, and reminders into Acme</text-ui>\n  </section>\n  <section>\n    <col-ui gap=\"4\">\n      <alert-ui\n        variant=\"info\"\n        icon=\"info\"\n        text=\"Sign in to select which calendars to sync. You can change scopes later in your Google account settings.\"\n      ></alert-ui>\n      <divider-ui></divider-ui>\n      <field-ui label=\"Google account\">\n        <input-ui value=\"kim@acme.com\" readonly prefix=\"@\"></input-ui>\n      </field-ui>\n      <field-ui label=\"Sync direction\">\n        <select-ui value=\"one-way\">\n          <option value=\"one-way\">One-way (Google → Acme)</option>\n          <option value=\"two-way\">Two-way sync</option>\n          <option value=\"acme-to-google\">Acme → Google only</option>\n        </select-ui>\n      </field-ui>\n      <divider-ui></divider-ui>\n      <col-ui gap=\"3\">\n        <text-ui strong>Calendars to sync</text-ui>\n        <field-ui label=\"Kim Granlund · Primary\" inline>\n          <check-ui checked></check-ui>\n        </field-ui>\n        <field-ui label=\"Acme · Engineering team\" inline>\n          <check-ui checked></check-ui>\n        </field-ui>\n        <field-ui label=\"Acme · Design reviews\" inline>\n          <check-ui checked></check-ui>\n        </field-ui>\n        <field-ui label=\"Acme · Company-wide\" inline>\n          <check-ui></check-ui>\n        </field-ui>\n        <field-ui label=\"Kim Granlund · Focus time\" inline>\n          <check-ui></check-ui>\n        </field-ui>\n        <field-ui label=\"Holidays in United States\" inline>\n          <check-ui></check-ui>\n        </field-ui>\n      </col-ui>\n      <divider-ui></divider-ui>\n      <col-ui gap=\"3\">\n        <text-ui strong>Event fields we'll read</text-ui>\n        <field-ui label=\"Titles and times\" inline>\n          <check-ui checked></check-ui>\n        </field-ui>\n        <field-ui label=\"Attendee list\" inline>\n          <check-ui checked></check-ui>\n        </field-ui>\n        <field-ui label=\"Descriptions\" inline>\n          <check-ui></check-ui>\n        </field-ui>\n        <field-ui label=\"Attached files and links\" inline>\n          <check-ui></check-ui>\n        </field-ui>\n        <field-ui label=\"Meeting recording links\" inline>\n          <check-ui></check-ui>\n        </field-ui>\n      </col-ui>\n      <divider-ui></divider-ui>\n      <col-ui gap=\"3\">\n        <text-ui strong>Window</text-ui>\n        <row-ui gap=\"2\">\n          <range-ui label=\"Look-ahead (days)\" value=\"30\" min=\"1\" max=\"90\" grow></range-ui>\n          <range-ui label=\"Look-back (days)\" value=\"7\" min=\"0\" max=\"30\" grow></range-ui>\n        </row-ui>\n        <field-ui label=\"Respect 'Working hours' from Google\" inline>\n          <switch-ui checked></switch-ui>\n        </field-ui>\n        <field-ui label=\"Skip private events\" inline>\n          <switch-ui></switch-ui>\n        </field-ui>\n      </col-ui>\n    </col-ui>\n  </section>\n  <footer slot=\"footer\">\n    <grid-ui>\n      <button-ui text=\"Cancel\" variant=\"ghost\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n      <button-ui text=\"Sign in with Google\" icon=\"arrow-square-out\" variant=\"primary\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n    </grid-ui>\n  </footer>\n</drawer-ui>",
  "source": "apps/saas/app/integrations/integrations.contents.html",
  "metadata": {
    "domain": "settings",
    "description": "Google Calendar integration setup drawer — OAuth connect with permission scope list.",
    "keywords": [
      "drawer",
      "google",
      "calendar",
      "integration",
      "connect",
      "oauth",
      "sync",
      "events"
    ]
  },
  "captured_at": "2026-06-07T19:28:13.657Z",
  "template": [
    {
      "id": "avatar",
      "component": "Avatar",
      "icon": "calendar"
    },
    {
      "id": "text",
      "component": "Text",
      "variant": "body",
      "slot": "icon",
      "children": [
        "avatar"
      ]
    },
    {
      "id": "text-3",
      "component": "Text",
      "strong": true,
      "textContent": "Google Calendar"
    },
    {
      "id": "text-2",
      "component": "Text",
      "variant": "body",
      "slot": "heading",
      "children": [
        "text-3"
      ]
    },
    {
      "id": "text-4",
      "component": "Text",
      "variant": "body",
      "slot": "action"
    },
    {
      "id": "header",
      "component": "Header",
      "children": [
        "text",
        "text-2",
        "text-4"
      ]
    },
    {
      "id": "text-5",
      "component": "Text",
      "color": "subtle",
      "size": "sm",
      "textContent": "Sync events, attendees, and reminders into Acme"
    },
    {
      "id": "section",
      "component": "Section",
      "children": [
        "text-5"
      ]
    },
    {
      "id": "alert",
      "component": "Alert",
      "icon": "info",
      "text": "Sign in to select which calendars to sync. You can change scopes later in your Google account settings.",
      "variant": "info"
    },
    {
      "id": "divider",
      "component": "Divider"
    },
    {
      "id": "input",
      "component": "Input",
      "prefix": "@",
      "readonly": true,
      "value": "kim@acme.com"
    },
    {
      "id": "field",
      "component": "Field",
      "label": "Google account",
      "children": [
        "input"
      ]
    },
    {
      "id": "choice-picker",
      "component": "ChoicePicker",
      "value": "one-way",
      "options": [
        {
          "value": "one-way",
          "label": "One-way (Google → Acme)"
        },
        {
          "value": "two-way",
          "label": "Two-way sync"
        },
        {
          "value": "acme-to-google",
          "label": "Acme → Google only"
        }
      ]
    },
    {
      "id": "field-2",
      "component": "Field",
      "label": "Sync direction",
      "children": [
        "choice-picker"
      ]
    },
    {
      "id": "divider-2",
      "component": "Divider"
    },
    {
      "id": "text-6",
      "component": "Text",
      "strong": true,
      "textContent": "Calendars to sync"
    },
    {
      "id": "check-box",
      "component": "CheckBox",
      "checked": true
    },
    {
      "id": "field-3",
      "component": "Field",
      "inline": true,
      "label": "Kim Granlund · Primary",
      "children": [
        "check-box"
      ]
    },
    {
      "id": "check-box-2",
      "component": "CheckBox",
      "checked": true
    },
    {
      "id": "field-4",
      "component": "Field",
      "inline": true,
      "label": "Acme · Engineering team",
      "children": [
        "check-box-2"
      ]
    },
    {
      "id": "check-box-3",
      "component": "CheckBox",
      "checked": true
    },
    {
      "id": "field-5",
      "component": "Field",
      "inline": true,
      "label": "Acme · Design reviews",
      "children": [
        "check-box-3"
      ]
    },
    {
      "id": "check-box-4",
      "component": "CheckBox"
    },
    {
      "id": "field-6",
      "component": "Field",
      "inline": true,
      "label": "Acme · Company-wide",
      "children": [
        "check-box-4"
      ]
    },
    {
      "id": "check-box-5",
      "component": "CheckBox"
    },
    {
      "id": "field-7",
      "component": "Field",
      "inline": true,
      "label": "Kim Granlund · Focus time",
      "children": [
        "check-box-5"
      ]
    },
    {
      "id": "check-box-6",
      "component": "CheckBox"
    },
    {
      "id": "field-8",
      "component": "Field",
      "inline": true,
      "label": "Holidays in United States",
      "children": [
        "check-box-6"
      ]
    },
    {
      "id": "column-2",
      "component": "Column",
      "gap": "3",
      "children": [
        "text-6",
        "field-3",
        "field-4",
        "field-5",
        "field-6",
        "field-7",
        "field-8"
      ]
    },
    {
      "id": "divider-3",
      "component": "Divider"
    },
    {
      "id": "text-7",
      "component": "Text",
      "strong": true,
      "textContent": "Event fields we'll read"
    },
    {
      "id": "check-box-7",
      "component": "CheckBox",
      "checked": true
    },
    {
      "id": "field-9",
      "component": "Field",
      "inline": true,
      "label": "Titles and times",
      "children": [
        "check-box-7"
      ]
    },
    {
      "id": "check-box-8",
      "component": "CheckBox",
      "checked": true
    },
    {
      "id": "field-10",
      "component": "Field",
      "inline": true,
      "label": "Attendee list",
      "children": [
        "check-box-8"
      ]
    },
    {
      "id": "check-box-9",
      "component": "CheckBox"
    },
    {
      "id": "field-11",
      "component": "Field",
      "inline": true,
      "label": "Descriptions",
      "children": [
        "check-box-9"
      ]
    },
    {
      "id": "check-box-10",
      "component": "CheckBox"
    },
    {
      "id": "field-12",
      "component": "Field",
      "inline": true,
      "label": "Attached files and links",
      "children": [
        "check-box-10"
      ]
    },
    {
      "id": "check-box-11",
      "component": "CheckBox"
    },
    {
      "id": "field-13",
      "component": "Field",
      "inline": true,
      "label": "Meeting recording links",
      "children": [
        "check-box-11"
      ]
    },
    {
      "id": "column-3",
      "component": "Column",
      "gap": "3",
      "children": [
        "text-7",
        "field-9",
        "field-10",
        "field-11",
        "field-12",
        "field-13"
      ]
    },
    {
      "id": "divider-4",
      "component": "Divider"
    },
    {
      "id": "text-8",
      "component": "Text",
      "strong": true,
      "textContent": "Window"
    },
    {
      "id": "range",
      "component": "Range",
      "label": "Look-ahead (days)",
      "max": 90,
      "min": 1,
      "value": 30
    },
    {
      "id": "range-2",
      "component": "Range",
      "label": "Look-back (days)",
      "max": 30,
      "min": 0,
      "value": 7
    },
    {
      "id": "row",
      "component": "Row",
      "gap": "2",
      "children": [
        "range",
        "range-2"
      ]
    },
    {
      "id": "toggle",
      "component": "Toggle",
      "checked": true
    },
    {
      "id": "field-14",
      "component": "Field",
      "inline": true,
      "label": "Respect 'Working hours' from Google",
      "children": [
        "toggle"
      ]
    },
    {
      "id": "toggle-2",
      "component": "Toggle"
    },
    {
      "id": "field-15",
      "component": "Field",
      "inline": true,
      "label": "Skip private events",
      "children": [
        "toggle-2"
      ]
    },
    {
      "id": "column-4",
      "component": "Column",
      "gap": "3",
      "children": [
        "text-8",
        "row",
        "field-14",
        "field-15"
      ]
    },
    {
      "id": "column",
      "component": "Column",
      "gap": "4",
      "children": [
        "alert",
        "divider",
        "field",
        "field-2",
        "divider-2",
        "column-2",
        "divider-3",
        "column-3",
        "divider-4",
        "column-4"
      ]
    },
    {
      "id": "section-2",
      "component": "Section",
      "children": [
        "column"
      ]
    },
    {
      "id": "button",
      "component": "Button",
      "text": "Cancel",
      "variant": "ghost"
    },
    {
      "id": "button-2",
      "component": "Button",
      "icon": "arrow-square-out",
      "text": "Sign in with Google",
      "variant": "primary"
    },
    {
      "id": "grid",
      "component": "Grid",
      "children": [
        "button",
        "button-2"
      ]
    },
    {
      "id": "footer",
      "component": "Footer",
      "slot": "footer",
      "children": [
        "grid"
      ]
    },
    {
      "id": "root",
      "component": "Drawer",
      "side": "right",
      "size": "md",
      "children": [
        "header",
        "section",
        "section-2",
        "footer"
      ]
    }
  ]
}
