{
  "schemaVersion": 1,
  "theme": "j3w1-theme",
  "version": "1.1.0",
  "component": "button",
  "variant": "default",
  "profile": "default",
  "source": {
    "algorithm": "sha256 over LF file bytes, base64",
    "files": {
      "theme.json": "sha256-FjbxWNVmq54PfYyfbDpWLo/fnejhJJ7pXq9enbf9hr4=",
      "site/recipes.json": "sha256-71h0SYIOKbPRh+V/IhtLV7ZGuX90wfmeo84Rx0sm494=",
      "scripts/lib/recipe-generator.mjs": "sha256-73WV6IUzUVgC3oyFESbgawkTU9o6mh+rKtZx8HgdZeA=",
      "scripts/lib/recipe-css.mjs": "sha256-dA/5L61Tsn+Gkmz/syAd689Z5IyuShpluZ1NfgXcZ/c=",
      "scripts/lib/recipe-markup.mjs": "sha256-pxTFKTEWI1f86ScNw0e2ZfSFkdba5Zs6a7GhmMbIUUQ=",
      "scripts/lib/markup.mjs": "sha256-/jd6ncIZAtDpNgML1FKkJn4mFJitU4mSXE9DLLvt2EI=",
      "spec/components/button.md": "sha256-BIJgU88v/JaTsHJF+I64GyX4hw1PWYyB30y+gWG1sAU=",
      "spec/components/button.demo.html": "sha256-imCfWDUkqdDOF6H8KEdGAw0qejBcHrtPrnyTMxXvpnI=",
      "site/src/styles/recipe-foundation.css": "sha256-siLjKAkNj84Wa0+Xz5Vf2yj9DT9k0K/Swy/cwHNrvYo=",
      "site/src/styles/components/button.css": "sha256-cTeJ1Xhs2PQ77A1isdwO7UPvrb+RZDEArmYJ946DLWI=",
      "LICENSE.md": "sha256-Ih5+DpqcNXGWJX6BbYgpt6psmJi9lGcXGJzuiU7elE0=",
      "tokens/primitives.tokens.json": "sha256-X/TXFVN+jV4dVkMurNeNtKLmJxQSM7qD/jYQhTwe0aQ=",
      "tokens/semantic.tokens.json": "sha256-PZV4Bw5OnUmdCmmWavhJ/vap7UW6nl9zqAWH3xIcYrc=",
      "tokens/foundations.tokens.json": "sha256-/gYmJavPwEyem7mpNRhaBa8jjyuPKnSisugGky3PdCY="
    },
    "digest": "sha256-YRFTSSp6Nbp9S/clqXYlCyZRE8qoxl+rnXzJsRg+Ym0=",
    "revisionPolicy": "Resolve these paths at the same pinned commit as this manifest. The hosted source viewer identifies its supplying commit; generated source files contain content digests, never a floating revision claim."
  },
  "dependencies": {
    "markup": "spec/components/button.demo.html",
    "styles": [
      "site/src/styles/components/button.css"
    ],
    "foundation": "site/src/styles/recipe-foundation.css",
    "behavior": []
  },
  "tokens": [
    "border.width.default",
    "color.action.destructive.border",
    "color.action.destructive.filled-bg",
    "color.action.destructive.filled-text",
    "color.action.destructive.hover-bg",
    "color.action.destructive.hover-text",
    "color.action.destructive.pressed-bg",
    "color.action.destructive.text",
    "color.action.primary.bg",
    "color.action.primary.border",
    "color.action.primary.hover-bg",
    "color.action.primary.pressed-bg",
    "color.action.primary.text",
    "color.action.secondary.bg",
    "color.action.secondary.border",
    "color.action.secondary.hover-bg",
    "color.action.secondary.pressed-bg",
    "color.action.secondary.text",
    "color.action.tertiary.hover-bg",
    "color.action.tertiary.text",
    "color.border.active",
    "color.border.disabled",
    "color.interaction.disabled.bg",
    "color.interaction.focus.ring",
    "color.interaction.focus.ring-container",
    "color.interaction.pressed.bg",
    "color.interaction.text-selection.bg",
    "color.interaction.text-selection.text",
    "color.primitive.alpha.transparent",
    "color.primitive.ink.0",
    "color.primitive.ink.30",
    "color.primitive.ink.40",
    "color.primitive.paper.100",
    "color.primitive.paper.90",
    "color.primitive.red.150",
    "color.primitive.red.200",
    "color.primitive.red.350",
    "color.primitive.red.400",
    "color.primitive.red.50",
    "color.primitive.red.550",
    "color.primitive.red.750",
    "color.primitive.red.800",
    "color.primitive.red.850",
    "color.primitive.rose.300",
    "color.primitive.rose.350",
    "color.primitive.rose.700",
    "color.primitive.rose.800",
    "color.surface.canvas",
    "color.text.default",
    "color.text.disabled",
    "density.comfortable.control-height",
    "density.comfortable.control-padding-x",
    "density.compact.control-height",
    "density.compact.control-padding-x",
    "focus.offset",
    "font.family.mono",
    "font.line-height.ui-md",
    "font.size.ui-md",
    "icon.size.md",
    "motion.duration.fast",
    "radius.none",
    "space.4"
  ],
  "roles": [
    "border.width.default",
    "color.action.destructive.border",
    "color.action.destructive.filled-bg",
    "color.action.destructive.filled-text",
    "color.action.destructive.hover-bg",
    "color.action.destructive.hover-text",
    "color.action.destructive.pressed-bg",
    "color.action.destructive.text",
    "color.action.primary.bg",
    "color.action.primary.border",
    "color.action.primary.hover-bg",
    "color.action.primary.pressed-bg",
    "color.action.primary.text",
    "color.action.secondary.bg",
    "color.action.secondary.border",
    "color.action.secondary.hover-bg",
    "color.action.secondary.pressed-bg",
    "color.action.secondary.text",
    "color.action.tertiary.hover-bg",
    "color.action.tertiary.text",
    "color.border.active",
    "color.border.disabled",
    "color.interaction.disabled.bg",
    "color.interaction.focus.ring",
    "color.interaction.focus.ring-container",
    "color.interaction.pressed.bg",
    "color.interaction.text-selection.bg",
    "color.interaction.text-selection.text",
    "color.surface.canvas",
    "color.text.default",
    "color.text.disabled",
    "density.comfortable.control-height",
    "density.comfortable.control-padding-x",
    "density.compact.control-height",
    "density.compact.control-padding-x",
    "focus.offset",
    "font.family.mono",
    "font.line-height.ui-md",
    "font.size.ui-md",
    "icon.size.md",
    "motion.duration.fast",
    "radius.none",
    "space.4"
  ],
  "eligibility": {
    "border.width.default": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.destructive.border": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.destructive.filled-bg": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.destructive.filled-text": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.destructive.hover-bg": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.destructive.hover-text": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.destructive.pressed-bg": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.destructive.text": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.primary.bg": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.primary.border": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.primary.hover-bg": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.primary.pressed-bg": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.primary.text": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.secondary.bg": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.secondary.border": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.secondary.hover-bg": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.secondary.pressed-bg": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.secondary.text": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.tertiary.hover-bg": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.action.tertiary.text": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.border.active": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.border.disabled": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.interaction.disabled.bg": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.interaction.focus.ring": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.interaction.focus.ring-container": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.interaction.pressed.bg": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.interaction.text-selection.bg": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.interaction.text-selection.text": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.surface.canvas": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.text.default": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "color.text.disabled": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "density.comfortable.control-height": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "density.comfortable.control-padding-x": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "density.compact.control-height": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "density.compact.control-padding-x": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "focus.offset": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "font.family.mono": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "font.line-height.ui-md": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "font.size.ui-md": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "icon.size.md": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "motion.duration.fast": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "radius.none": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    },
    "space.4": {
      "action": "use",
      "reason": "Use within the role's documented scope and restrictions.",
      "decisionIds": []
    }
  },
  "states": [
    "default",
    "hover",
    "focus-visible",
    "active",
    "disabled",
    "loading"
  ],
  "limitations": [
    "Native button activation only; application actions are supplied by the host.",
    "aria-busy supplies the loading appearance; the host must suppress repeated activation while busy."
  ],
  "transformations": [
    "Use the default maintained demo fragment before documentation rendering.",
    "Remove forced-state selectors and documentation notes; retain actual native pseudo-classes.",
    "Scope CSS to .j3w1-recipe; rewrite IDs and ID references together for each instance.",
    "Convert rem lengths to multiples of font.size.ui-md, preserving the canonical 13px root geometry without changing the host root."
  ],
  "licenses": {
    "markup": "CC-BY-4.0",
    "css": "MIT",
    "notice": "j3w1 theme 1.1.0. Markup adapted from j3w1 UI Theme Spec, https://github.com/j3w1/theme, CC BY 4.0: https://creativecommons.org/licenses/by/4.0/. Changes: scoped instance IDs and documentation-only content removed. CSS and generator: MIT; see LICENSE.md."
  },
  "files": {
    "markup.html": "sha256-dguvohW5A/tsDKMik5RMjlHDq2ElWKM+b/FkLFWgUig=",
    "template.html": "sha256-A0WHdEyss07i52T47N5LOWg1RXvwb8mIVOBse2Uty5M=",
    "tokens.css": "sha256-CZhg1Ui1GkmfYM393gHd9glQ45PLGSBhbRjF6Unzyjw=",
    "foundation.css": "sha256-XnPSougMR18bXbLygw4BzvGWpztDG6Tevc3aj4Hl0c8=",
    "component.css": "sha256-4R1hPC1v2+hrrNtUgaqwLkq+8XLxHwyfILwQrygQHIk=",
    "example.html": "sha256-PhfPQtrvKyv8qVREaGsuCb3REE7TIkwZmcZ8Znx23ZE=",
    "two-instances.html": "sha256-HMce1stdJIwxq0ZDX57l5l1LS9hWWTTE4cTcGP8++aI=",
    "LICENSE.md": "sha256-MJ1znn/zrFKHnYMcN32dOINis+ZRx00QVkU/dNLNFtE=",
    "README.md": "sha256-38CfA2YdG+jO879NnWOXQ4RYhmlJdvYZt/4e554gQmc="
  }
}
