{"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"]}