{
  "name": "MASKED_IMAGE_PLACEHOLDER",
  "package": "@magicblocksai/ui",
  "file": "packages/ui/src/components/MaskedImage.tsx",
  "chapterTag": "Kit chrome",
  "chapter": null,
  "sectionId": null,
  "elName": null,
  "demoUrl": null,
  "hasLiveDemo": false,
  "description": "1x1 transparent GIF data URI used as the masked-image placeholder. Matches\nwhat the inbound-email sanitiser stamps onto blocked `<img>` tags.",
  "useClient": true,
  "interactivity": "interactive",
  "namedExports": [
    {
      "name": "MaskedImage",
      "isPrincipal": false,
      "isType": false
    },
    {
      "name": "MaskedImageBlock",
      "isPrincipal": false,
      "isType": false
    },
    {
      "name": "MASKED_IMAGE_PLACEHOLDER",
      "isPrincipal": true,
      "isType": false
    },
    {
      "name": "MaskedImageProps",
      "isPrincipal": false,
      "isType": true
    },
    {
      "name": "MaskedImageBlockProps",
      "isPrincipal": false,
      "isType": true
    }
  ],
  "importStatement": "import { MASKED_IMAGE_PLACEHOLDER } from \"@magicblocksai/ui\";",
  "props": [
    {
      "name": "src",
      "optional": false,
      "type": "string",
      "doc": "The original (potentially tracking) image URL."
    },
    {
      "name": "masked",
      "optional": true,
      "type": "boolean",
      "doc": "When `true`, render the placeholder until the user clicks Show."
    },
    {
      "name": "showLabel",
      "optional": true,
      "type": "string",
      "doc": "Override the \"Show this image\" affordance label."
    }
  ],
  "classesUsed": [
    "btn-ghost",
    "btn-link",
    "masked-image",
    "masked-image-block",
    "masked-image-block-icon",
    "masked-image-placeholder",
    "masked-image-revealed",
    "masked-image-show"
  ],
  "examples": {
    "react": null,
    "html": null,
    "css": ".btn-ghost {\n  background: transparent;\n  color: var(--fg);\n  border-color: transparent;\n}\n\n.btn-link {\n  display: inline-flex; align-items: center; gap: var(--s-2);\n  color: var(--fg);\n  font: 600 14.5px/1 var(--f-display);\n  text-decoration: none;\n  padding: 2px 0;\n  border-bottom: 1px solid var(--hair);\n  transition: color var(--dur-2) var(--ease),\n              border-color var(--dur-2) var(--ease),\n              transform var(--dur-2) var(--ease);\n}\n\n.masked-image {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  padding: 4px 6px;\n  background: var(--warm-3);\n  border: 1px dashed var(--hair);\n  border-radius: var(--r-sm);\n}\n\n.masked-image-block {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  padding: 6px 10px;\n  font: 500 12.5px/1.2 var(--f-body);\n  border-radius: var(--r-sm);\n  cursor: pointer;\n}\n\n.masked-image-block-icon {\n  display: inline-flex;\n  align-items: center;\n  color: var(--fg-soft);\n}\n\n.masked-image-placeholder {\n  width: 14px;\n  height: 14px;\n  display: inline-block;\n}\n\n.masked-image-revealed {\n  max-width: 100%;\n  height: auto;\n  border-radius: var(--r-sm);\n}\n\n.masked-image-show {\n  /* Reuses .btn-link styles from the base layer. */\n  font-size: 12.5px;\n}"
  }
}
