UNPKG

@metamask/snaps-sdk

Version:

A library containing the core functionality for building MetaMask Snaps

1 lines 8.58 kB
{"version":3,"file":"Icon.cjs","sourceRoot":"","sources":["../../../src/jsx/components/Icon.ts"],"names":[],"mappings":"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","sourcesContent":["import { createSnapComponent } from '../component';\n\n// Copied from https://github.com/MetaMask/metamask-extension/blob/main/ui/components/component-library/icon/icon.types.ts\n// Currently requires manual syncing when new icon is added.\nexport enum IconName {\n AddSquare = 'add-square',\n Add = 'add',\n Arrow2Down = 'arrow-2-down',\n Arrow2Left = 'arrow-2-left',\n Arrow2Right = 'arrow-2-right',\n Arrow2Up = 'arrow-2-up',\n Arrow2UpRight = 'arrow-2-up-right',\n ArrowDoubleLeft = 'arrow-double-left',\n ArrowDoubleRight = 'arrow-double-right',\n ArrowDown = 'arrow-down',\n ArrowLeft = 'arrow-left',\n ArrowRight = 'arrow-right',\n ArrowUp = 'arrow-up',\n BankToken = 'bank-token',\n Bank = 'bank',\n Book = 'book',\n Bookmark = 'bookmark',\n Bridge = 'bridge',\n Calculator = 'calculator',\n CardPos = 'card-pos',\n CardToken = 'card-token',\n Card = 'card',\n Category = 'category',\n Chart = 'chart',\n CheckBold = 'check-bold',\n Check = 'check',\n Clock = 'clock',\n Close = 'close',\n CodeCircle = 'code-circle',\n Coin = 'coin',\n Confirmation = 'confirmation',\n Connect = 'connect',\n CopySuccess = 'copy-success',\n Copy = 'copy',\n Customize = 'customize',\n Danger = 'danger',\n Dark = 'dark',\n Data = 'data',\n Diagram = 'diagram',\n DocumentCode = 'document-code',\n DragDrop = 'drag-drop',\n DraggingAnimation = 'dragging-animation',\n PinningAnimation = 'pinning-animation',\n Edit = 'edit',\n Eraser = 'eraser',\n Ethereum = 'ethereum',\n Expand = 'expand',\n Explore = 'explore',\n Export = 'export',\n EyeSlash = 'eye-slash',\n Eye = 'eye',\n Filter = 'filter',\n Flag = 'flag',\n FlashSlash = 'flash-slash',\n Flash = 'flash',\n FullCircle = 'full-circle',\n Gas = 'gas',\n GlobalSearch = 'global-search',\n Global = 'global',\n Graph = 'graph',\n Hardware = 'hardware',\n Heart = 'heart',\n Hierarchy = 'hierarchy',\n Home = 'home',\n Import = 'import',\n Info = 'info',\n Key = 'key',\n Light = 'light',\n Link = 'link',\n Loading = 'loading',\n LockCircle = 'lock-circle',\n LockSlash = 'lock-slash',\n Lock = 'lock',\n Login = 'login',\n Logout = 'logout',\n Menu = 'menu',\n MessageQuestion = 'message-question',\n Messages = 'messages',\n MinusBold = 'minus-bold',\n MinusSquare = 'minus-square',\n Minus = 'minus',\n Mobile = 'mobile',\n Money = 'money',\n Monitor = 'monitor',\n MoreHorizontal = 'more-horizontal',\n MoreVertical = 'more-vertical',\n NotificationCircle = 'notification-circle',\n Notification = 'notification',\n PasswordCheck = 'password-check',\n People = 'people',\n Pin = 'pin',\n ProgrammingArrows = 'programming-arrows',\n Custody = 'custody',\n Question = 'question',\n Received = 'received',\n Refresh = 'refresh',\n Save = 'save',\n ScanBarcode = 'scan-barcode',\n ScanFocus = 'scan-focus',\n Scan = 'scan',\n Scroll = 'scroll',\n Search = 'search',\n SecurityCard = 'security-card',\n SecurityCross = 'security-cross',\n SecurityKey = 'security-key',\n SecuritySearch = 'security-search',\n SecuritySlash = 'security-slash',\n SecurityTick = 'security-tick',\n SecurityTime = 'security-time',\n SecurityUser = 'security-user',\n Security = 'security',\n Send1 = 'send-1',\n Send2 = 'send-2',\n Setting = 'setting',\n Slash = 'slash',\n SnapsMobile = 'snaps-mobile',\n SnapsPlus = 'snaps-plus',\n Snaps = 'snaps',\n Speedometer = 'speedometer',\n Star = 'star',\n Stake = 'stake',\n Student = 'student',\n SwapHorizontal = 'swap-horizontal',\n SwapVertical = 'swap-vertical',\n Tag = 'tag',\n Tilde = 'tilde',\n Timer = 'timer',\n Trash = 'trash',\n TrendDown = 'trend-down',\n TrendUp = 'trend-up',\n UserCircleAdd = 'user-circle-add',\n UserCircleLink = 'user-circle-link',\n UserCircleRemove = 'user-circle-remove',\n UserCircle = 'user-circle',\n User = 'user',\n WalletCard = 'wallet-card',\n WalletMoney = 'wallet-money',\n Wallet = 'wallet',\n Warning = 'warning',\n Twitter = 'twitter',\n QrCode = 'qr-code',\n UserCheck = 'user-check',\n Unpin = 'unpin',\n Ban = 'ban',\n Bold = 'bold',\n CircleX = 'circle-x',\n Download = 'download',\n FileIcon = 'file',\n Flask = 'flask',\n Plug = 'plug',\n Share = 'share',\n Square = 'square',\n Tint = 'tint',\n Upload = 'upload',\n Usb = 'usb',\n Wifi = 'wifi',\n PlusMinus = 'plus-minus',\n}\n\n/**\n * The props of the {@link Icon} component.\n *\n * @property name - The name of the icon to display from a pre-defined list.\n * @property color - The color of the displayed icon.\n * @property size - The size of the displayed icon. Use `inherit` to size it the same as the text.\n */\nexport type IconProps = {\n name: `${IconName}`;\n color?: 'default' | 'primary' | 'muted' | undefined;\n size?: 'md' | 'inherit' | undefined;\n};\n\nconst TYPE = 'Icon';\n\n/**\n * An icon component which is used to display an icon from a pre-defined list.\n *\n * @param props - The props of the component.\n * @param props.name - The name of the icon to display from a pre-defined list.\n * @param props.color - The color of the displayed icon.\n * @param props.size - The size of the displayed icon. Use `inherit` to size it the same as the text.\n * @returns An icon element.\n * @example\n * <Icon name=\"warning\" color=\"warning\" size=\"md\" />\n */\nexport const Icon = createSnapComponent<IconProps, typeof TYPE>(TYPE);\n\n/**\n * An icon element.\n *\n * @see Icon\n */\nexport type IconElement = ReturnType<typeof Icon>;\n"]}