{
  "name": "drawer-change-plan",
  "kind": "block",
  "primary": "drawer-ui",
  "page": "/apps/saas/app/billing/billing.contents.html",
  "slots": [],
  "nested": [],
  "attrs": {
    "side": "right",
    "size": "md"
  },
  "html": "<drawer-ui id=\"drawer-change-plan\" side=\"right\" size=\"md\">\n  <header>\n    <span slot=\"icon\">\n      <avatar-ui icon=\"star\"></avatar-ui>\n    </span>\n    <span slot=\"heading\">\n      <text-ui strong>Change plan</text-ui>\n    </span>\n    <span slot=\"action\"></span>\n  </header>\n  <section>\n    <text-ui color=\"subtle\" size=\"sm\">Switch plans anytime. Credits and downgrades prorate to your next invoice.</text-ui>\n  </section>\n  <section>\n    <col-ui gap=\"4\">\n      <grid-ui columns=\"1 2@sm\" gap=\"3\">\n        <card-ui\n          ><section><stat-ui label=\"Current spend\" value=\"$49\" change=\"this month\"></stat-ui></section\n        ></card-ui>\n        <card-ui\n          ><section><stat-ui label=\"Seats used\" value=\"6 / 8\" change=\"+2 this month\" trend=\"up\"></stat-ui></section\n        ></card-ui>\n      </grid-ui>\n      <divider-ui></divider-ui>\n      <field-ui label=\"Billing interval\" hint=\"Annual plans ship with two months free.\">\n        <select-ui value=\"monthly\">\n          <option value=\"monthly\">Monthly</option>\n          <option value=\"annual\">Annual · save 17%</option>\n        </select-ui>\n      </field-ui>\n      <divider-ui></divider-ui>\n      <col-ui gap=\"3\">\n        <text-ui strong>Choose a plan</text-ui>\n        <div\n          role=\"radiogroup\"\n          aria-label=\"Plan\"\n          data-plan-picker\n          onclick=\"\n            const r = event.target.closest('card-ui')?.querySelector('radio-ui');\n            r && r.click();\n          \"\n        >\n          <list-ui divider>\n            <list-item-ui>\n              <card-ui>\n                <header>\n                  <radio-ui slot=\"icon\" name=\"plan\" value=\"pro\" checked></radio-ui>\n                  <span slot=\"heading\">\n                    <text-ui strong>Pro · $49/mo</text-ui>\n                    <badge-ui text=\"Current\" variant=\"accent\"></badge-ui>\n                  </span>\n                  <span slot=\"description\">\n                    <text-ui color=\"subtle\" size=\"sm\">Unlimited conversations, advanced charts, 100 GB storage</text-ui>\n                  </span>\n                </header>\n              </card-ui>\n            </list-item-ui>\n            <list-item-ui>\n              <card-ui>\n                <header>\n                  <radio-ui slot=\"icon\" name=\"plan\" value=\"team\"></radio-ui>\n                  <span slot=\"heading\">\n                    <text-ui strong>Team · $129/mo</text-ui>\n                  </span>\n                  <span slot=\"description\">\n                    <text-ui color=\"subtle\" size=\"sm\">Everything in Pro · SSO, audit log, role-based permissions, 1 TB storage</text-ui>\n                  </span>\n                </header>\n              </card-ui>\n            </list-item-ui>\n            <list-item-ui>\n              <card-ui>\n                <header>\n                  <radio-ui slot=\"icon\" name=\"plan\" value=\"enterprise\"></radio-ui>\n                  <span slot=\"heading\">\n                    <text-ui strong>Enterprise · custom</text-ui>\n                  </span>\n                  <span slot=\"description\">\n                    <text-ui color=\"subtle\" size=\"sm\">Dedicated support, DPA, SCIM, on-prem deployment. Talk to sales.</text-ui>\n                  </span>\n                </header>\n              </card-ui>\n            </list-item-ui>\n          </list-ui>\n        </div>\n      </col-ui>\n      <divider-ui></divider-ui>\n      <col-ui gap=\"2\">\n        <text-ui strong>What's included in every plan</text-ui>\n        <row-ui gap=\"2\" align=\"center\"><icon-ui name=\"check-circle\" color=\"success\"></icon-ui><text-ui>Unlimited workspaces</text-ui></row-ui>\n        <row-ui gap=\"2\" align=\"center\"><icon-ui name=\"check-circle\" color=\"success\"></icon-ui><text-ui>Priority email support</text-ui></row-ui>\n        <row-ui gap=\"2\" align=\"center\"><icon-ui name=\"check-circle\" color=\"success\"></icon-ui><text-ui>99.9% uptime SLA</text-ui></row-ui>\n      </col-ui>\n    </col-ui>\n  </section>\n  <footer slot=\"footer\">\n    <grid-ui>\n      <button-ui text=\"Talk to sales\" icon=\"chat-circle\" variant=\"ghost\"></button-ui>\n      <button-ui text=\"Cancel\" variant=\"ghost\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n      <button-ui text=\"Preview invoice\" variant=\"primary\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n    </grid-ui>\n  </footer>\n</drawer-ui>",
  "source": "apps/saas/app/billing/billing.contents.html",
  "metadata": {
    "domain": "settings",
    "description": "Change subscription plan drawer — plan comparison cards with upgrade/downgrade actions.",
    "keywords": [
      "drawer",
      "change",
      "plan",
      "subscription",
      "billing",
      "upgrade",
      "downgrade"
    ]
  },
  "captured_at": "2026-06-07T19:28:13.657Z",
  "template": [
    {
      "id": "avatar",
      "component": "Avatar",
      "icon": "star"
    },
    {
      "id": "text",
      "component": "Text",
      "variant": "body",
      "slot": "icon",
      "children": [
        "avatar"
      ]
    },
    {
      "id": "text-3",
      "component": "Text",
      "strong": true,
      "textContent": "Change plan"
    },
    {
      "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": "Switch plans anytime. Credits and downgrades prorate to your next invoice."
    },
    {
      "id": "section",
      "component": "Section",
      "children": [
        "text-5"
      ]
    },
    {
      "id": "stat",
      "component": "Stat",
      "change": "this month",
      "label": "Current spend",
      "value": "$49"
    },
    {
      "id": "section-3",
      "component": "Section",
      "children": [
        "column-2"
      ]
    },
    {
      "id": "column-2",
      "component": "Column",
      "children": [
        "stat"
      ]
    },
    {
      "id": "card",
      "component": "Card",
      "children": [
        "section-3"
      ]
    },
    {
      "id": "stat-2",
      "component": "Stat",
      "change": "+2 this month",
      "label": "Seats used",
      "trend": "up",
      "value": "6 / 8"
    },
    {
      "id": "section-4",
      "component": "Section",
      "children": [
        "column-3"
      ]
    },
    {
      "id": "column-3",
      "component": "Column",
      "children": [
        "stat-2"
      ]
    },
    {
      "id": "card-2",
      "component": "Card",
      "children": [
        "section-4"
      ]
    },
    {
      "id": "grid",
      "component": "Grid",
      "columns": "1 2@sm",
      "gap": "3",
      "children": [
        "card",
        "card-2"
      ]
    },
    {
      "id": "divider",
      "component": "Divider"
    },
    {
      "id": "choice-picker",
      "component": "ChoicePicker",
      "value": "monthly",
      "options": [
        {
          "value": "monthly",
          "label": "Monthly"
        },
        {
          "value": "annual",
          "label": "Annual · save 17%"
        }
      ]
    },
    {
      "id": "field",
      "component": "Field",
      "hint": "Annual plans ship with two months free.",
      "label": "Billing interval",
      "children": [
        "choice-picker"
      ]
    },
    {
      "id": "divider-2",
      "component": "Divider"
    },
    {
      "id": "text-6",
      "component": "Text",
      "strong": true,
      "textContent": "Choose a plan"
    },
    {
      "id": "radio",
      "component": "Radio",
      "slot": "icon",
      "checked": true,
      "name": "plan",
      "value": "pro"
    },
    {
      "id": "text-8",
      "component": "Text",
      "strong": true,
      "textContent": "Pro · $49/mo"
    },
    {
      "id": "badge",
      "component": "Badge",
      "text": "Current",
      "variant": "accent"
    },
    {
      "id": "text-7",
      "component": "Text",
      "variant": "body",
      "slot": "heading",
      "children": [
        "text-8",
        "badge"
      ]
    },
    {
      "id": "text-10",
      "component": "Text",
      "color": "subtle",
      "size": "sm",
      "textContent": "Unlimited conversations, advanced charts, 100 GB storage"
    },
    {
      "id": "text-9",
      "component": "Text",
      "variant": "body",
      "slot": "description",
      "children": [
        "text-10"
      ]
    },
    {
      "id": "header-2",
      "component": "Header",
      "children": [
        "radio",
        "text-7",
        "text-9"
      ]
    },
    {
      "id": "card-3",
      "component": "Card",
      "children": [
        "header-2"
      ]
    },
    {
      "id": "list-item",
      "component": "ListItem",
      "children": [
        "card-3"
      ]
    },
    {
      "id": "radio-2",
      "component": "Radio",
      "slot": "icon",
      "name": "plan",
      "value": "team"
    },
    {
      "id": "text-12",
      "component": "Text",
      "strong": true,
      "textContent": "Team · $129/mo"
    },
    {
      "id": "text-11",
      "component": "Text",
      "variant": "body",
      "slot": "heading",
      "children": [
        "text-12"
      ]
    },
    {
      "id": "text-14",
      "component": "Text",
      "color": "subtle",
      "size": "sm",
      "textContent": "Everything in Pro · SSO, audit log, role-based permissions, 1 TB storage"
    },
    {
      "id": "text-13",
      "component": "Text",
      "variant": "body",
      "slot": "description",
      "children": [
        "text-14"
      ]
    },
    {
      "id": "header-3",
      "component": "Header",
      "children": [
        "radio-2",
        "text-11",
        "text-13"
      ]
    },
    {
      "id": "card-4",
      "component": "Card",
      "children": [
        "header-3"
      ]
    },
    {
      "id": "list-item-2",
      "component": "ListItem",
      "children": [
        "card-4"
      ]
    },
    {
      "id": "radio-3",
      "component": "Radio",
      "slot": "icon",
      "name": "plan",
      "value": "enterprise"
    },
    {
      "id": "text-16",
      "component": "Text",
      "strong": true,
      "textContent": "Enterprise · custom"
    },
    {
      "id": "text-15",
      "component": "Text",
      "variant": "body",
      "slot": "heading",
      "children": [
        "text-16"
      ]
    },
    {
      "id": "text-18",
      "component": "Text",
      "color": "subtle",
      "size": "sm",
      "textContent": "Dedicated support, DPA, SCIM, on-prem deployment. Talk to sales."
    },
    {
      "id": "text-17",
      "component": "Text",
      "variant": "body",
      "slot": "description",
      "children": [
        "text-18"
      ]
    },
    {
      "id": "header-4",
      "component": "Header",
      "children": [
        "radio-3",
        "text-15",
        "text-17"
      ]
    },
    {
      "id": "card-5",
      "component": "Card",
      "children": [
        "header-4"
      ]
    },
    {
      "id": "list-item-3",
      "component": "ListItem",
      "children": [
        "card-5"
      ]
    },
    {
      "id": "list",
      "component": "List",
      "divider": true,
      "children": [
        "list-item",
        "list-item-2",
        "list-item-3"
      ]
    },
    {
      "id": "plan",
      "component": "Column",
      "data-plan-picker": "",
      "children": [
        "list"
      ]
    },
    {
      "id": "column-4",
      "component": "Column",
      "gap": "3",
      "children": [
        "text-6",
        "plan"
      ]
    },
    {
      "id": "divider-3",
      "component": "Divider"
    },
    {
      "id": "text-19",
      "component": "Text",
      "strong": true,
      "textContent": "What's included in every plan"
    },
    {
      "id": "check-circle",
      "component": "Icon",
      "name": "check-circle"
    },
    {
      "id": "text-20",
      "component": "Text",
      "textContent": "Unlimited workspaces"
    },
    {
      "id": "row",
      "component": "Row",
      "align": "center",
      "gap": "2",
      "children": [
        "check-circle",
        "text-20"
      ]
    },
    {
      "id": "icon",
      "component": "Icon",
      "name": "check-circle"
    },
    {
      "id": "text-21",
      "component": "Text",
      "textContent": "Priority email support"
    },
    {
      "id": "row-2",
      "component": "Row",
      "align": "center",
      "gap": "2",
      "children": [
        "icon",
        "text-21"
      ]
    },
    {
      "id": "icon-2",
      "component": "Icon",
      "name": "check-circle"
    },
    {
      "id": "text-22",
      "component": "Text",
      "textContent": "99.9% uptime SLA"
    },
    {
      "id": "row-3",
      "component": "Row",
      "align": "center",
      "gap": "2",
      "children": [
        "icon-2",
        "text-22"
      ]
    },
    {
      "id": "column-5",
      "component": "Column",
      "gap": "2",
      "children": [
        "text-19",
        "row",
        "row-2",
        "row-3"
      ]
    },
    {
      "id": "column",
      "component": "Column",
      "gap": "4",
      "children": [
        "grid",
        "divider",
        "field",
        "divider-2",
        "column-4",
        "divider-3",
        "column-5"
      ]
    },
    {
      "id": "section-2",
      "component": "Section",
      "children": [
        "column"
      ]
    },
    {
      "id": "button",
      "component": "Button",
      "icon": "chat-circle",
      "text": "Talk to sales",
      "variant": "ghost"
    },
    {
      "id": "button-2",
      "component": "Button",
      "text": "Cancel",
      "variant": "ghost"
    },
    {
      "id": "button-3",
      "component": "Button",
      "text": "Preview invoice",
      "variant": "primary"
    },
    {
      "id": "grid-2",
      "component": "Grid",
      "children": [
        "button",
        "button-2",
        "button-3"
      ]
    },
    {
      "id": "footer",
      "component": "Footer",
      "slot": "footer",
      "children": [
        "grid-2"
      ]
    },
    {
      "id": "root",
      "component": "Drawer",
      "side": "right",
      "size": "md",
      "children": [
        "header",
        "section",
        "section-2",
        "footer"
      ]
    }
  ]
}
