@metamask/snaps-sdk
Version:
A library containing the core functionality for building MetaMask Snaps
1 lines • 1.78 kB
Source Map (JSON)
{"version":3,"file":"image.cjs","sourceRoot":"","sources":["../../../src/ui/components/image.ts"],"names":[],"mappings":";;;AACA,uDAAuD;AAEvD,yDAA+C;AAC/C,4CAA2C;AAC3C,wCAAgD;AAEnC,QAAA,WAAW,GAAG,IAAA,oBAAM,EAC/B,kBAAU,EACV,IAAA,oBAAM,EAAC;IACL,IAAI,EAAE,IAAA,mBAAO,EAAC,gBAAQ,CAAC,KAAK,CAAC;IAC7B,KAAK,EAAE,IAAA,eAAG,GAAE;CACb,CAAC,CACH,CAAC;AAUF;;;;;;;;;;;;;GAaG;AACU,QAAA,KAAK,GAAG,IAAA,uBAAa,EAAC,gBAAQ,CAAC,KAAK,EAAE,mBAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC","sourcesContent":["import type { Infer } from '@metamask/superstruct';\nimport { assign, object } from '@metamask/superstruct';\n\nimport { svg, literal } from '../../internals';\nimport { createBuilder } from '../builder';\nimport { NodeStruct, NodeType } from '../nodes';\n\nexport const ImageStruct = assign(\n NodeStruct,\n object({\n type: literal(NodeType.Image),\n value: svg(),\n }),\n);\n\n/**\n * An image node, that renders an SVG image.\n *\n * @property type - The type of the node. Must be the string `image`.\n * @property value - The SVG image to be rendered.\n */\nexport type Image = Infer<typeof ImageStruct>;\n\n/**\n * Create an {@link Image} node.\n *\n * @param args - The node arguments. This can either be a string, or an object\n * with the `value` property.\n * @param args.value - The SVG image to be rendered. Must be a valid SVG string.\n * @returns The image node as object. Other image formats are supported by\n * embedding them as data URLs in the SVG.\n * @deprecated Snaps component functions are deprecated, in favor of the new JSX\n * components. This function will be removed in a future release.\n * @example\n * const node = image({ value: '<svg />' });\n * const node = image('<svg />');\n */\nexport const image = createBuilder(NodeType.Image, ImageStruct, ['value']);\n"]}