mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2025-11-01 02:46:04 +01:00
1389 lines
42 KiB
JavaScript
Vendored
1389 lines
42 KiB
JavaScript
Vendored
/*!
|
|
* ForkAwesome to FontAwesome 7 JavaScript Shim
|
|
* Version: 1.0.0
|
|
*
|
|
* This JavaScript shim provides runtime compatibility for ForkAwesome 1.1.5
|
|
* when migrating to FontAwesome 7
|
|
*/
|
|
|
|
(function() {
|
|
'use strict';
|
|
|
|
// Icon mapping database - loaded from external JSON or embedded
|
|
const iconMappings = {
|
|
// Direct mappings (icon name changes)
|
|
'home': 'house',
|
|
'warning': 'triangle-exclamation',
|
|
'close': 'xmark',
|
|
'remove': 'xmark',
|
|
'trash-o': 'trash-can',
|
|
'file-text-o': 'file-lines',
|
|
'gear': 'gear',
|
|
'gears': 'gears',
|
|
'exclamation-triangle': 'triangle-exclamation',
|
|
'exclamation-circle': 'circle-exclamation',
|
|
'check-circle': 'circle-check',
|
|
'times-circle': 'circle-xmark',
|
|
'chevron-circle-left': 'circle-chevron-left',
|
|
'chevron-circle-right': 'circle-chevron-right',
|
|
'chevron-circle-up': 'circle-chevron-up',
|
|
'chevron-circle-down': 'circle-chevron-down',
|
|
'arrow-circle-left': 'circle-arrow-left',
|
|
'arrow-circle-right': 'circle-arrow-right',
|
|
'arrow-circle-up': 'circle-arrow-up',
|
|
'arrow-circle-down': 'circle-arrow-down',
|
|
'mail-forward': 'share',
|
|
'mail-reply': 'reply',
|
|
'mail-reply-all': 'reply-all',
|
|
'chain': 'link',
|
|
'chain-broken': 'link-slash',
|
|
'external-link': 'up-right-from-square',
|
|
'level-up': 'turn-up',
|
|
'level-down': 'turn-down',
|
|
'pencil-square-o': 'pen-to-square',
|
|
'ticket': 'ticket-simple',
|
|
'diamond': 'gem',
|
|
'bank': 'building-columns',
|
|
'institution': 'building-columns',
|
|
'university': 'building-columns',
|
|
'mortar-board': 'graduation-cap',
|
|
'graduation-cap': 'graduation-cap',
|
|
'euro': 'euro-sign',
|
|
'eur': 'euro-sign',
|
|
'dollar': 'dollar-sign',
|
|
'usd': 'dollar-sign',
|
|
'rupee': 'indian-rupee-sign',
|
|
'inr': 'indian-rupee-sign',
|
|
'cny': 'yen-sign',
|
|
'rmb': 'yen-sign',
|
|
'yen': 'yen-sign',
|
|
'jpy': 'yen-sign',
|
|
'ruble': 'ruble-sign',
|
|
'rouble': 'ruble-sign',
|
|
'rub': 'ruble-sign',
|
|
'won': 'won-sign',
|
|
'krw': 'won-sign',
|
|
'bitcoin': 'bitcoin',
|
|
'btc': 'bitcoin',
|
|
'youtube-play': 'youtube',
|
|
'television': 'tv',
|
|
'tv': 'tv',
|
|
'calendar': 'calendar',
|
|
'calendar-o': 'calendar',
|
|
'arrows': 'arrows-up-down-left-right',
|
|
'arrows-alt': 'maximize',
|
|
'arrows-h': 'arrows-left-right',
|
|
'arrows-v': 'arrows-up-down',
|
|
'bar-chart': 'chart-column',
|
|
'bar-chart-o': 'chart-bar',
|
|
'line-chart': 'chart-line',
|
|
'pie-chart': 'chart-pie',
|
|
'battery': 'battery-full',
|
|
'battery-4': 'battery-full',
|
|
'battery-3': 'battery-three-quarters',
|
|
'battery-2': 'battery-half',
|
|
'battery-1': 'battery-quarter',
|
|
'battery-0': 'battery-empty',
|
|
'sign-in': 'right-to-bracket',
|
|
'sign-out': 'right-from-bracket',
|
|
'sign-in-alt': 'right-to-bracket',
|
|
'sign-out-alt': 'right-from-bracket',
|
|
'map-marker': 'location-dot',
|
|
'map-marker-alt': 'location-dot',
|
|
'refresh': 'rotate',
|
|
'shield': 'shield',
|
|
'shield-alt': 'shield-halved',
|
|
'shopping-cart': 'cart-shopping',
|
|
'shopping-bag': 'bag-shopping',
|
|
'trash': 'trash',
|
|
'angle-double-down': 'angles-down',
|
|
'angle-double-left': 'angles-left',
|
|
'angle-double-right': 'angles-right',
|
|
'angle-double-up': 'angles-up',
|
|
'long-arrow-down': 'arrow-down-long',
|
|
'long-arrow-up': 'arrow-up-long',
|
|
'long-arrow-left': 'arrow-left-long',
|
|
'long-arrow-right': 'arrow-right-long',
|
|
'magic': 'wand-magic-sparkles',
|
|
'envelope': 'envelope',
|
|
'envelope-o': 'envelope',
|
|
'cloud-download': 'cloud-arrow-down',
|
|
'cloud-upload': 'cloud-arrow-up',
|
|
'reply': 'reply',
|
|
'reply-all': 'reply-all',
|
|
'forward': 'forward',
|
|
'paper-plane': 'paper-plane',
|
|
'paper-plane-o': 'paper-plane',
|
|
'send': 'paper-plane',
|
|
'send-o': 'paper-plane',
|
|
'history': 'clock-rotate-left',
|
|
'circle-thin': 'circle',
|
|
'header': 'heading',
|
|
'sliders': 'sliders',
|
|
'list-ul': 'list-ul',
|
|
'list-ol': 'list-ol',
|
|
'th-large': 'table-cells-large',
|
|
'th-list': 'table-list',
|
|
'th': 'table-cells',
|
|
'check': 'check',
|
|
'times': 'xmark',
|
|
'search-plus': 'magnifying-glass-plus',
|
|
'search-minus': 'magnifying-glass-minus',
|
|
'search': 'magnifying-glass',
|
|
'power-off': 'power-off',
|
|
'signal': 'signal',
|
|
'cog': 'gear',
|
|
'cogs': 'gears',
|
|
'home': 'house',
|
|
'clock-o': 'clock',
|
|
'road': 'road',
|
|
'download': 'download',
|
|
'inbox': 'inbox',
|
|
'repeat': 'repeat',
|
|
'rotate': 'rotate',
|
|
'retweet': 'retweet',
|
|
'lock': 'lock',
|
|
'unlock': 'unlock',
|
|
'flag': 'flag',
|
|
'flag-o': 'flag',
|
|
'headphones': 'headphones',
|
|
'volume-off': 'volume-xmark',
|
|
'volume-down': 'volume-low',
|
|
'volume-up': 'volume-high',
|
|
'qrcode': 'qrcode',
|
|
'barcode': 'barcode',
|
|
'tag': 'tag',
|
|
'tags': 'tags',
|
|
'book': 'book',
|
|
'bookmark': 'bookmark',
|
|
'bookmark-o': 'bookmark',
|
|
'print': 'print',
|
|
'camera': 'camera',
|
|
'font': 'font',
|
|
'bold': 'bold',
|
|
'italic': 'italic',
|
|
'text-height': 'text-height',
|
|
'text-width': 'text-width',
|
|
'align-left': 'align-left',
|
|
'align-center': 'align-center',
|
|
'align-right': 'align-right',
|
|
'align-justify': 'align-justify',
|
|
'list': 'list',
|
|
'dedent': 'outdent',
|
|
'outdent': 'outdent',
|
|
'indent': 'indent',
|
|
'video': 'video',
|
|
'image': 'image',
|
|
'photo': 'image',
|
|
'picture': 'image',
|
|
'picture-o': 'image',
|
|
'pencil': 'pencil',
|
|
'map-marker': 'location-dot',
|
|
'adjust': 'circle-half-stroke',
|
|
'tint': 'droplet',
|
|
'edit': 'pen-to-square',
|
|
'pencil-square': 'pen-to-square',
|
|
'share-square-o': 'share-from-square',
|
|
'check-square-o': 'square-check',
|
|
'arrows': 'arrows-up-down-left-right',
|
|
'step-backward': 'backward-step',
|
|
'fast-backward': 'backward-fast',
|
|
'backward': 'backward',
|
|
'play': 'play',
|
|
'pause': 'pause',
|
|
'stop': 'stop',
|
|
'forward': 'forward',
|
|
'fast-forward': 'forward-fast',
|
|
'step-forward': 'forward-step',
|
|
'eject': 'eject',
|
|
'chevron-left': 'chevron-left',
|
|
'chevron-right': 'chevron-right',
|
|
'plus-circle': 'circle-plus',
|
|
'minus-circle': 'circle-minus',
|
|
'times-circle-o': 'circle-xmark',
|
|
'check-circle-o': 'circle-check',
|
|
'question-circle': 'circle-question',
|
|
'question-circle-o': 'circle-question',
|
|
'info-circle': 'circle-info',
|
|
'crosshairs': 'crosshairs',
|
|
'ban': 'ban',
|
|
'arrow-left': 'arrow-left',
|
|
'arrow-right': 'arrow-right',
|
|
'arrow-up': 'arrow-up',
|
|
'arrow-down': 'arrow-down',
|
|
'share': 'share',
|
|
'expand': 'expand',
|
|
'compress': 'compress',
|
|
'plus': 'plus',
|
|
'minus': 'minus',
|
|
'asterisk': 'asterisk',
|
|
'exclamation': 'exclamation',
|
|
'gift': 'gift',
|
|
'leaf': 'leaf',
|
|
'fire': 'fire',
|
|
'eye': 'eye',
|
|
'eye-slash': 'eye-slash',
|
|
'exclamation-triangle': 'triangle-exclamation',
|
|
'plane': 'plane',
|
|
'random': 'shuffle',
|
|
'magnet': 'magnet',
|
|
'chevron-up': 'chevron-up',
|
|
'chevron-down': 'chevron-down',
|
|
'retweet': 'retweet',
|
|
'folder': 'folder',
|
|
'folder-open': 'folder-open',
|
|
'folder-o': 'folder',
|
|
'folder-open-o': 'folder-open',
|
|
'bar-chart': 'chart-column',
|
|
'bar-chart-o': 'chart-bar',
|
|
'caret-down': 'caret-down',
|
|
'caret-up': 'caret-up',
|
|
'caret-left': 'caret-left',
|
|
'caret-right': 'caret-right',
|
|
'sort': 'sort',
|
|
'sort-down': 'sort-down',
|
|
'sort-desc': 'sort-down',
|
|
'sort-up': 'sort-up',
|
|
'sort-asc': 'sort-up',
|
|
'envelope': 'envelope',
|
|
'linkedin-in': 'linkedin-in',
|
|
'rotate-left': 'rotate-left',
|
|
'undo': 'rotate-left',
|
|
'gavel': 'gavel',
|
|
'legal': 'gavel',
|
|
'tachometer': 'gauge-high',
|
|
'dashboard': 'gauge-high',
|
|
'comment-o': 'comment',
|
|
'comments-o': 'comments',
|
|
'flash': 'bolt',
|
|
'bolt': 'bolt',
|
|
'sitemap': 'sitemap',
|
|
'umbrella': 'umbrella',
|
|
'lightbulb': 'lightbulb',
|
|
'lightbulb-o': 'lightbulb',
|
|
'exchange': 'arrow-right-arrow-left',
|
|
'cloud-download-alt': 'cloud-arrow-down',
|
|
'cloud-upload-alt': 'cloud-arrow-up',
|
|
'user-md': 'user-doctor',
|
|
'stethoscope': 'stethoscope',
|
|
'suitcase': 'suitcase',
|
|
'bell-o': 'bell',
|
|
'coffee': 'mug-hot',
|
|
'cutlery': 'utensils',
|
|
'file-text-o': 'file-lines',
|
|
'building-o': 'building',
|
|
'hospital-o': 'hospital',
|
|
'ambulance': 'truck-medical',
|
|
'medkit': 'suitcase-medical',
|
|
'fighter-jet': 'jet-fighter',
|
|
'beer': 'beer-mug-empty',
|
|
'h-square': 'square-h',
|
|
'plus-square-o': 'square-plus',
|
|
'angle-double-left': 'angles-left',
|
|
'angle-double-right': 'angles-right',
|
|
'angle-double-up': 'angles-up',
|
|
'angle-double-down': 'angles-down',
|
|
'angle-left': 'angle-left',
|
|
'angle-right': 'angle-right',
|
|
'angle-up': 'angle-up',
|
|
'angle-down': 'angle-down',
|
|
'desktop': 'desktop',
|
|
'laptop': 'laptop',
|
|
'tablet': 'tablet-screen-button',
|
|
'mobile': 'mobile-screen-button',
|
|
'mobile-phone': 'mobile-screen-button',
|
|
'circle-o': 'circle',
|
|
'quote-left': 'quote-left',
|
|
'quote-right': 'quote-right',
|
|
'spinner': 'spinner',
|
|
'circle': 'circle',
|
|
'mail-reply': 'reply',
|
|
'github-alt': 'github-alt',
|
|
'folder-o': 'folder',
|
|
'folder-open-o': 'folder-open',
|
|
'smile-o': 'face-smile',
|
|
'frown-o': 'face-frown',
|
|
'meh-o': 'face-meh',
|
|
'gamepad': 'gamepad',
|
|
'keyboard': 'keyboard',
|
|
'keyboard-o': 'keyboard',
|
|
'flag-checkered': 'flag-checkered',
|
|
'terminal': 'terminal',
|
|
'code': 'code',
|
|
'mail-reply-all': 'reply-all',
|
|
'star-half-o': 'star-half',
|
|
'location-arrow': 'location-arrow',
|
|
'crop': 'crop-simple',
|
|
'code-fork': 'code-branch',
|
|
'chain-broken': 'link-slash',
|
|
'unlink': 'link-slash',
|
|
'question': 'question',
|
|
'info': 'info',
|
|
'exclamation': 'exclamation',
|
|
'superscript': 'superscript',
|
|
'subscript': 'subscript',
|
|
'eraser': 'eraser',
|
|
'puzzle-piece': 'puzzle-piece',
|
|
'microphone': 'microphone',
|
|
'microphone-slash': 'microphone-slash',
|
|
'shield': 'shield',
|
|
'calendar-o': 'calendar',
|
|
'fire-extinguisher': 'fire-extinguisher',
|
|
'rocket': 'rocket',
|
|
'maxcdn': 'maxcdn',
|
|
'chevron-circle-left': 'circle-chevron-left',
|
|
'chevron-circle-right': 'circle-chevron-right',
|
|
'chevron-circle-up': 'circle-chevron-up',
|
|
'chevron-circle-down': 'circle-chevron-down',
|
|
'html5': 'html5',
|
|
'css3': 'css3',
|
|
'anchor': 'anchor',
|
|
'unlock-alt': 'unlock-keyhole',
|
|
'bullseye': 'bullseye',
|
|
'ellipsis-h': 'ellipsis',
|
|
'ellipsis-v': 'ellipsis-vertical',
|
|
'rss-square': 'square-rss',
|
|
'play-circle-o': 'circle-play',
|
|
'minus-square-o': 'square-minus',
|
|
'check-square': 'square-check',
|
|
'pen-square': 'pen-to-square',
|
|
'share-square': 'share-from-square',
|
|
'compass': 'compass',
|
|
'caret-square-o-down': 'square-caret-down',
|
|
'toggle-down': 'square-caret-down',
|
|
'caret-square-o-up': 'square-caret-up',
|
|
'toggle-up': 'square-caret-up',
|
|
'caret-square-o-right': 'square-caret-right',
|
|
'toggle-right': 'square-caret-right',
|
|
'eur': 'euro-sign',
|
|
'euro': 'euro-sign',
|
|
'gbp': 'sterling-sign',
|
|
'usd': 'dollar-sign',
|
|
'dollar': 'dollar-sign',
|
|
'inr': 'indian-rupee-sign',
|
|
'rupee': 'indian-rupee-sign',
|
|
'jpy': 'yen-sign',
|
|
'cny': 'yen-sign',
|
|
'rmb': 'yen-sign',
|
|
'yen': 'yen-sign',
|
|
'rub': 'ruble-sign',
|
|
'ruble': 'ruble-sign',
|
|
'rouble': 'ruble-sign',
|
|
'krw': 'won-sign',
|
|
'won': 'won-sign',
|
|
'bitcoin': 'bitcoin',
|
|
'btc': 'bitcoin',
|
|
'file': 'file',
|
|
'file-o': 'file',
|
|
'file-text': 'file-lines',
|
|
'sort-alpha-asc': 'arrow-down-a-z',
|
|
'sort-alpha-desc': 'arrow-down-z-a',
|
|
'sort-amount-asc': 'arrow-down-short-wide',
|
|
'sort-amount-desc': 'arrow-down-wide-short',
|
|
'sort-numeric-asc': 'arrow-down-1-9',
|
|
'sort-numeric-desc': 'arrow-down-9-1',
|
|
'thumbs-up': 'thumbs-up',
|
|
'thumbs-down': 'thumbs-down',
|
|
'thumbs-o-up': 'thumbs-up',
|
|
'thumbs-o-down': 'thumbs-down',
|
|
'heart-o': 'heart',
|
|
'lemon-o': 'lemon',
|
|
'phone-square': 'square-phone',
|
|
'twitter-square': 'square-x-twitter',
|
|
'facebook-square': 'square-facebook',
|
|
'github-square': 'square-github',
|
|
'credit-card': 'credit-card',
|
|
'credit-card-o': 'credit-card',
|
|
'rss': 'rss',
|
|
'hdd-o': 'hard-drive',
|
|
'bullhorn': 'bullhorn',
|
|
'bell': 'bell',
|
|
'certificate': 'certificate',
|
|
'hand-o-right': 'hand-point-right',
|
|
'hand-o-left': 'hand-point-left',
|
|
'hand-o-up': 'hand-point-up',
|
|
'hand-o-down': 'hand-point-down',
|
|
'arrow-circle-left': 'circle-arrow-left',
|
|
'arrow-circle-right': 'circle-arrow-right',
|
|
'arrow-circle-up': 'circle-arrow-up',
|
|
'arrow-circle-down': 'circle-arrow-down',
|
|
'globe': 'globe',
|
|
'wrench': 'wrench',
|
|
'tasks': 'list-check',
|
|
'filter': 'filter',
|
|
'briefcase': 'briefcase',
|
|
'arrows-alt': 'maximize',
|
|
'group': 'users',
|
|
'users': 'users',
|
|
'link': 'link',
|
|
'cloud': 'cloud',
|
|
'flask': 'flask',
|
|
'cut': 'scissors',
|
|
'scissors': 'scissors',
|
|
'copy': 'copy',
|
|
'files-o': 'copy',
|
|
'paperclip': 'paperclip',
|
|
'floppy-o': 'floppy-disk',
|
|
'save': 'floppy-disk',
|
|
'square': 'square',
|
|
'square-o': 'square',
|
|
'navicon': 'bars',
|
|
'reorder': 'bars',
|
|
'bars': 'bars',
|
|
'list-ul': 'list-ul',
|
|
'list-ol': 'list-ol',
|
|
'strikethrough': 'strikethrough',
|
|
'underline': 'underline',
|
|
'table': 'table',
|
|
'magic': 'wand-magic-sparkles',
|
|
'truck': 'truck',
|
|
'pinterest-square': 'square-pinterest',
|
|
'google-plus-square': 'square-google-plus',
|
|
'google-plus': 'google-plus',
|
|
'money': 'money-bill',
|
|
'caret-down': 'caret-down',
|
|
'caret-up': 'caret-up',
|
|
'caret-left': 'caret-left',
|
|
'caret-right': 'caret-right',
|
|
'columns': 'columns',
|
|
'sort': 'sort',
|
|
'sort-down': 'sort-down',
|
|
'sort-desc': 'sort-down',
|
|
'sort-up': 'sort-up',
|
|
'sort-asc': 'sort-up',
|
|
'envelope': 'envelope',
|
|
'undo': 'rotate-left',
|
|
'gavel': 'gavel',
|
|
'legal': 'gavel',
|
|
'tachometer': 'gauge-high',
|
|
'dashboard': 'gauge-high',
|
|
'comment-o': 'comment',
|
|
'comments-o': 'comments',
|
|
'flash': 'bolt',
|
|
'bolt': 'bolt',
|
|
'sitemap': 'sitemap',
|
|
'umbrella': 'umbrella',
|
|
'paste': 'clipboard',
|
|
'clipboard': 'clipboard',
|
|
'lightbulb-o': 'lightbulb',
|
|
'exchange': 'arrow-right-arrow-left',
|
|
'cloud-download': 'cloud-arrow-down',
|
|
'cloud-upload': 'cloud-arrow-up',
|
|
'user-md': 'user-doctor',
|
|
'stethoscope': 'stethoscope',
|
|
'suitcase': 'suitcase',
|
|
'bell-o': 'bell',
|
|
'coffee': 'mug-hot',
|
|
'cutlery': 'utensils',
|
|
'file-text-o': 'file-lines',
|
|
'building-o': 'building',
|
|
'hospital-o': 'hospital',
|
|
'ambulance': 'truck-medical',
|
|
'medkit': 'suitcase-medical',
|
|
'fighter-jet': 'jet-fighter',
|
|
'beer': 'beer-mug-empty',
|
|
'h-square': 'square-h',
|
|
'plus-square': 'square-plus',
|
|
'angle-double-left': 'angles-left',
|
|
'angle-double-right': 'angles-right',
|
|
'angle-double-up': 'angles-up',
|
|
'angle-double-down': 'angles-down',
|
|
'angle-left': 'angle-left',
|
|
'angle-right': 'angle-right',
|
|
'angle-up': 'angle-up',
|
|
'angle-down': 'angle-down',
|
|
'desktop': 'desktop',
|
|
'laptop': 'laptop',
|
|
'tablet': 'tablet-screen-button',
|
|
'mobile': 'mobile-screen-button',
|
|
'mobile-phone': 'mobile-screen-button',
|
|
'circle-o': 'circle',
|
|
'quote-left': 'quote-left',
|
|
'quote-right': 'quote-right',
|
|
'spinner': 'spinner',
|
|
'circle': 'circle',
|
|
'smile-o': 'face-smile',
|
|
'frown-o': 'face-frown',
|
|
'meh-o': 'face-meh',
|
|
'gamepad': 'gamepad',
|
|
'keyboard-o': 'keyboard',
|
|
'flag-checkered': 'flag-checkered',
|
|
'terminal': 'terminal',
|
|
'code': 'code',
|
|
'star-half': 'star-half',
|
|
'star-half-empty': 'star-half',
|
|
'star-half-o': 'star-half',
|
|
'star-half-full': 'star-half',
|
|
'location-arrow': 'location-arrow',
|
|
'crop': 'crop-simple',
|
|
'code-fork': 'code-branch',
|
|
'chain-broken': 'link-slash',
|
|
'unlink': 'link-slash',
|
|
'question': 'question',
|
|
'info': 'info',
|
|
'exclamation': 'exclamation',
|
|
'superscript': 'superscript',
|
|
'subscript': 'subscript',
|
|
'eraser': 'eraser',
|
|
'puzzle-piece': 'puzzle-piece',
|
|
'microphone': 'microphone',
|
|
'microphone-slash': 'microphone-slash',
|
|
'shield': 'shield',
|
|
'calendar-o': 'calendar',
|
|
'fire-extinguisher': 'fire-extinguisher',
|
|
'rocket': 'rocket',
|
|
'maxcdn': 'maxcdn',
|
|
'chevron-circle-left': 'circle-chevron-left',
|
|
'chevron-circle-right': 'circle-chevron-right',
|
|
'chevron-circle-up': 'circle-chevron-up',
|
|
'chevron-circle-down': 'circle-chevron-down',
|
|
'html5': 'html5',
|
|
'css3': 'css3',
|
|
'anchor': 'anchor',
|
|
'unlock-alt': 'unlock-keyhole',
|
|
'bullseye': 'bullseye',
|
|
'ellipsis-h': 'ellipsis',
|
|
'ellipsis-v': 'ellipsis-vertical',
|
|
'rss-square': 'square-rss',
|
|
'play-circle': 'circle-play',
|
|
'minus-square': 'square-minus',
|
|
'check-square': 'square-check',
|
|
'pen-square': 'pen-to-square',
|
|
'share-square': 'share-from-square',
|
|
'cc': 'closed-captioning',
|
|
'dedent': 'outdent',
|
|
'outdent': 'outdent',
|
|
'indent': 'indent',
|
|
'video-camera': 'video',
|
|
'picture-o': 'image',
|
|
'pencil': 'pencil',
|
|
'map-marker': 'location-dot',
|
|
'adjust': 'circle-half-stroke',
|
|
'tint': 'droplet',
|
|
'pencil-square': 'pen-to-square',
|
|
'share-square-o': 'share-from-square',
|
|
'check-square-o': 'square-check',
|
|
'arrows': 'arrows-up-down-left-right',
|
|
'step-backward': 'backward-step',
|
|
'fast-backward': 'backward-fast',
|
|
'backward': 'backward',
|
|
'play': 'play',
|
|
'pause': 'pause',
|
|
'stop': 'stop',
|
|
'forward': 'forward',
|
|
'fast-forward': 'forward-fast',
|
|
'step-forward': 'forward-step',
|
|
'eject': 'eject',
|
|
'chevron-left': 'chevron-left',
|
|
'chevron-right': 'chevron-right',
|
|
'plus-circle': 'circle-plus',
|
|
'minus-circle': 'circle-minus',
|
|
'times-circle': 'circle-xmark',
|
|
'check-circle': 'circle-check',
|
|
'question-circle': 'circle-question',
|
|
'info-circle': 'circle-info',
|
|
'screenshot': 'crosshairs',
|
|
'remove-circle': 'circle-xmark',
|
|
'ok-circle': 'circle-check',
|
|
'ban-circle': 'ban',
|
|
'mail-forward': 'share',
|
|
'resize-full': 'maximize',
|
|
'resize-small': 'minimize',
|
|
'plus': 'plus',
|
|
'minus': 'minus',
|
|
'asterisk': 'asterisk',
|
|
'exclamation-sign': 'exclamation',
|
|
'gift': 'gift',
|
|
'leaf': 'leaf',
|
|
'fire': 'fire',
|
|
'eye-open': 'eye',
|
|
'eye-close': 'eye-slash',
|
|
'warning-sign': 'triangle-exclamation',
|
|
'plane': 'plane',
|
|
'random': 'shuffle',
|
|
'comment': 'comment',
|
|
'chevron-up': 'chevron-up',
|
|
'chevron-down': 'chevron-down',
|
|
'shopping-cart': 'cart-shopping',
|
|
'bar-chart': 'chart-column',
|
|
'bar-chart-o': 'chart-bar',
|
|
'facebook-official': 'facebook',
|
|
'pinterest-p': 'pinterest-p',
|
|
'whatsapp': 'whatsapp',
|
|
'server': 'server',
|
|
'user-plus': 'user-plus',
|
|
'user-times': 'user-xmark',
|
|
'bed': 'bed',
|
|
'train': 'train',
|
|
'subway': 'train-subway',
|
|
'battery-full': 'battery-full',
|
|
'battery-three-quarters': 'battery-three-quarters',
|
|
'battery-half': 'battery-half',
|
|
'battery-quarter': 'battery-quarter',
|
|
'battery-empty': 'battery-empty',
|
|
'mouse-pointer': 'arrow-pointer',
|
|
'i-cursor': 'i-cursor',
|
|
'object-group': 'object-group',
|
|
'object-ungroup': 'object-ungroup',
|
|
'sticky-note': 'note-sticky',
|
|
'sticky-note-o': 'note-sticky',
|
|
'clone': 'clone',
|
|
'hourglass-o': 'hourglass',
|
|
'hourglass-start': 'hourglass-start',
|
|
'hourglass-1': 'hourglass-start',
|
|
'hourglass-half': 'hourglass-half',
|
|
'hourglass-2': 'hourglass-half',
|
|
'hourglass-end': 'hourglass-end',
|
|
'hourglass-3': 'hourglass-end',
|
|
'hand-rock-o': 'hand-back-fist',
|
|
'hand-grab-o': 'hand',
|
|
'hand-stop-o': 'hand',
|
|
'hand-paper-o': 'hand',
|
|
'hand-scissors-o': 'hand-scissors',
|
|
'hand-lizard-o': 'hand-lizard',
|
|
'hand-spock-o': 'hand-spock',
|
|
'hand-pointer-o': 'hand-pointer',
|
|
'hand-peace-o': 'hand-peace',
|
|
'registered': 'registered',
|
|
'creative-commons': 'creative-commons',
|
|
'television': 'tv',
|
|
'contao': 'contao',
|
|
'paypal': 'paypal',
|
|
'industry': 'industry',
|
|
'map-pin': 'map-pin',
|
|
'map-signs': 'signs-post',
|
|
'map-o': 'map',
|
|
'map': 'map',
|
|
'commenting': 'comment-dots',
|
|
'commenting-o': 'comment-dots',
|
|
'houzz': 'houzz',
|
|
'vimeo': 'vimeo-v',
|
|
'black-tie': 'black-tie',
|
|
'fonticons': 'fonticons',
|
|
'reddit-alien': 'reddit-alien',
|
|
'edge': 'edge',
|
|
'codiepie': 'codiepie',
|
|
'modx': 'modx',
|
|
'fort-awesome': 'fort-awesome',
|
|
'usb': 'usb',
|
|
'product-hunt': 'product-hunt',
|
|
'mixcloud': 'mixcloud',
|
|
'scribd': 'scribd',
|
|
'pause-circle': 'circle-pause',
|
|
'pause-circle-o': 'circle-pause',
|
|
'stop-circle': 'circle-stop',
|
|
'stop-circle-o': 'circle-stop',
|
|
'bluetooth': 'bluetooth',
|
|
'bluetooth-b': 'bluetooth-b',
|
|
'gitlab': 'gitlab',
|
|
'wpbeginner': 'wpbeginner',
|
|
'wpforms': 'wpforms',
|
|
'envira': 'envira',
|
|
'universal-access': 'universal-access',
|
|
'wheelchair-alt': 'accessible-icon',
|
|
'question-circle': 'circle-question',
|
|
'blind': 'person-walking-with-cane',
|
|
'audio-description': 'audio-description',
|
|
'volume-control-phone': 'phone-volume',
|
|
'phone-volume': 'phone-volume',
|
|
'braille': 'braille',
|
|
'assistive-listening-systems': 'assistive-listening-systems',
|
|
'american-sign-language-interpreting': 'hands-asl-interpreting',
|
|
'asl-interpreting': 'hands-asl-interpreting',
|
|
'deaf': 'ear-deaf',
|
|
'deafness': 'ear-deaf',
|
|
'hard-of-hearing': 'ear-deaf',
|
|
'glide': 'glide',
|
|
'glide-g': 'glide-g',
|
|
'sign-language': 'hands',
|
|
'signing': 'hands',
|
|
'viadeo': 'viadeo',
|
|
'viadeo-square': 'square-viadeo',
|
|
'snapchat': 'snapchat',
|
|
'snapchat-ghost': 'snapchat',
|
|
'snapchat-square': 'square-snapchat',
|
|
'pied-piper': 'pied-piper',
|
|
'first-order': 'first-order',
|
|
'yoast': 'yoast',
|
|
'themeisle': 'themeisle',
|
|
'google-plus-official': 'google-plus',
|
|
'google-plus-circle': 'google-plus',
|
|
'font-awesome': 'font-awesome',
|
|
'fa': 'font-awesome',
|
|
'shower': 'shower',
|
|
'bath': 'bath',
|
|
'bathtub': 'bath',
|
|
's15': 'bath',
|
|
'bandcamp': 'bandcamp',
|
|
'grav': 'grav',
|
|
'etsy': 'etsy',
|
|
'imdb': 'imdb',
|
|
'ravelry': 'ravelry',
|
|
'eercast': 'sellcast',
|
|
'snowflake-o': 'snowflake',
|
|
'superpowers': 'superpowers',
|
|
'wpexplorer': 'wpexplorer',
|
|
'meetup': 'meetup',
|
|
'linode': 'linode',
|
|
'angellist': 'angellist',
|
|
'bitbucket': 'bitbucket',
|
|
'drupal': 'drupal',
|
|
'joomla': 'joomla',
|
|
'behance': 'behance',
|
|
'behance-square': 'square-behance',
|
|
'steam': 'steam',
|
|
'steam-square': 'square-steam',
|
|
'spotify': 'spotify',
|
|
'deviantart': 'deviantart',
|
|
'soundcloud': 'soundcloud',
|
|
'vine': 'vine',
|
|
'codepen': 'codepen',
|
|
'jsfiddle': 'jsfiddle',
|
|
'rebel': 'rebel',
|
|
'ra': 'rebel',
|
|
'resistance': 'rebel',
|
|
'empire': 'empire',
|
|
'ge': 'empire',
|
|
'git-square': 'square-git',
|
|
'git': 'git',
|
|
'hacker-news': 'hacker-news',
|
|
'yc-square': 'hacker-news',
|
|
'y-combinator-square': 'hacker-news',
|
|
'tencent-weibo': 'tencent-weibo',
|
|
'qq': 'qq',
|
|
'weixin': 'weixin',
|
|
'wechat': 'weixin',
|
|
'slideshare': 'slideshare',
|
|
'twitch': 'twitch',
|
|
'yelp': 'yelp',
|
|
'paypal': 'paypal',
|
|
'google-wallet': 'google-wallet',
|
|
'cc-visa': 'cc-visa',
|
|
'cc-mastercard': 'cc-mastercard',
|
|
'cc-discover': 'cc-discover',
|
|
'cc-amex': 'cc-amex',
|
|
'cc-paypal': 'cc-paypal',
|
|
'cc-stripe': 'cc-stripe',
|
|
'bell-slash': 'bell-slash',
|
|
'bell-slash-o': 'bell-slash',
|
|
'meanpath': 'font-awesome',
|
|
'buysellads': 'buysellads',
|
|
'connectdevelop': 'connectdevelop',
|
|
'dashcube': 'dashcube',
|
|
'forumbee': 'forumbee',
|
|
'leanpub': 'leanpub',
|
|
'sellsy': 'sellsy',
|
|
'shirtsinbulk': 'shirtsinbulk',
|
|
'simplybuilt': 'simplybuilt',
|
|
'skyatlas': 'skyatlas',
|
|
'pinterest-p': 'pinterest-p',
|
|
'viacoin': 'viacoin',
|
|
'medium': 'medium',
|
|
'y-combinator': 'y-combinator',
|
|
'yc': 'y-combinator',
|
|
'optin-monster': 'optin-monster',
|
|
'opencart': 'opencart',
|
|
'expeditedssl': 'expeditedssl',
|
|
'cc-jcb': 'cc-jcb',
|
|
'cc-diners-club': 'cc-diners-club',
|
|
'creative-commons': 'creative-commons',
|
|
'gg': 'gg',
|
|
'gg-circle': 'gg-circle',
|
|
'odnoklassniki': 'odnoklassniki',
|
|
'odnoklassniki-square': 'square-odnoklassniki',
|
|
'get-pocket': 'get-pocket',
|
|
'wikipedia-w': 'wikipedia-w',
|
|
'safari': 'safari',
|
|
'chrome': 'chrome',
|
|
'firefox': 'firefox',
|
|
'opera': 'opera',
|
|
'internet-explorer': 'internet-explorer',
|
|
'amazon': 'amazon',
|
|
'reddit': 'reddit',
|
|
'reddit-square': 'square-reddit',
|
|
'stumbleupon-circle': 'stumbleupon-circle',
|
|
'stumbleupon': 'stumbleupon',
|
|
'delicious': 'delicious',
|
|
'digg': 'digg',
|
|
'drupal': 'drupal',
|
|
'joomla': 'joomla',
|
|
'behance': 'behance',
|
|
'behance-square': 'square-behance',
|
|
'steam': 'steam',
|
|
'steam-square': 'square-steam',
|
|
'spotify': 'spotify',
|
|
'deviantart': 'deviantart',
|
|
'soundcloud': 'soundcloud',
|
|
'vine': 'vine',
|
|
'codepen': 'codepen',
|
|
'jsfiddle': 'jsfiddle',
|
|
'rebel': 'rebel',
|
|
'empire': 'empire',
|
|
'git-square': 'square-git',
|
|
'git': 'git',
|
|
'hacker-news': 'hacker-news',
|
|
'tencent-weibo': 'tencent-weibo',
|
|
'qq': 'qq',
|
|
'weixin': 'weixin',
|
|
'slideshare': 'slideshare',
|
|
'twitch': 'twitch',
|
|
'yelp': 'yelp',
|
|
'lastfm': 'lastfm',
|
|
'lastfm-square': 'square-lastfm',
|
|
'ioxhost': 'ioxhost',
|
|
'angellist': 'angellist',
|
|
'meanpath': 'font-awesome',
|
|
'pagelines': 'pagelines',
|
|
'stack-exchange': 'stack-exchange',
|
|
'stack-overflow': 'stack-overflow',
|
|
'pinterest': 'pinterest',
|
|
'pinterest-square': 'square-pinterest',
|
|
'maxcdn': 'maxcdn',
|
|
'adn': 'adn',
|
|
'behance': 'behance',
|
|
'behance-square': 'square-behance',
|
|
'bitbucket': 'bitbucket',
|
|
'bitbucket-square': 'bitbucket',
|
|
'tumblr': 'tumblr',
|
|
'tumblr-square': 'square-tumblr',
|
|
'apple': 'apple',
|
|
'windows': 'windows',
|
|
'android': 'android',
|
|
'linux': 'linux',
|
|
'dribbble': 'dribbble',
|
|
'skype': 'skype',
|
|
'foursquare': 'foursquare',
|
|
'trello': 'trello',
|
|
'gratipay': 'gratipay',
|
|
'gittip': 'gratipay',
|
|
'star': 'star',
|
|
'star-o': 'star',
|
|
'sun-o': 'sun',
|
|
'moon-o': 'moon',
|
|
'vk': 'vk',
|
|
'weibo': 'weibo',
|
|
'renren': 'renren',
|
|
'pagelines': 'pagelines',
|
|
'stack-exchange': 'stack-exchange',
|
|
'arrow-circle-o-right': 'circle-right',
|
|
'arrow-circle-o-left': 'circle-left',
|
|
'arrow-circle-o-up': 'circle-up',
|
|
'arrow-circle-o-down': 'circle-down',
|
|
'caret-square-o-left': 'square-caret-left',
|
|
'toggle-left': 'square-caret-left',
|
|
'dot-circle-o': 'circle-dot',
|
|
'vimeo-square': 'square-vimeo',
|
|
'try': 'turkish-lira-sign',
|
|
'turkish-lira': 'turkish-lira-sign',
|
|
'slack': 'slack',
|
|
'wordpress': 'wordpress',
|
|
'openid': 'openid',
|
|
'yahoo': 'yahoo',
|
|
'google': 'google',
|
|
'reddit': 'reddit',
|
|
'reddit-square': 'square-reddit',
|
|
'stumbleupon-circle': 'stumbleupon-circle',
|
|
'stumbleupon': 'stumbleupon',
|
|
'delicious': 'delicious',
|
|
'digg': 'digg',
|
|
'pied-piper-pp': 'pied-piper-pp',
|
|
'pied-piper-alt': 'pied-piper-alt',
|
|
'drupal': 'drupal',
|
|
'joomla': 'joomla',
|
|
'fax': 'fax',
|
|
'child': 'child',
|
|
'paw': 'paw',
|
|
'cube': 'cube',
|
|
'cubes': 'cubes',
|
|
'recycle': 'recycle',
|
|
'car': 'car',
|
|
'automobile': 'car',
|
|
'cab': 'taxi',
|
|
'taxi': 'taxi',
|
|
'tree': 'tree',
|
|
'database': 'database',
|
|
'file-pdf-o': 'file-pdf',
|
|
'file-word-o': 'file-word',
|
|
'file-excel-o': 'file-excel',
|
|
'file-powerpoint-o': 'file-powerpoint',
|
|
'file-image-o': 'file-image',
|
|
'file-photo-o': 'file-image',
|
|
'file-picture-o': 'file-image',
|
|
'file-archive-o': 'file-zipper',
|
|
'file-zip-o': 'file-zipper',
|
|
'file-audio-o': 'file-audio',
|
|
'file-sound-o': 'file-audio',
|
|
'file-video-o': 'file-video',
|
|
'file-movie-o': 'file-video',
|
|
'file-code-o': 'file-code',
|
|
'life-ring': 'life-ring',
|
|
'life-bouy': 'life-ring',
|
|
'life-buoy': 'life-ring',
|
|
'life-saver': 'life-ring',
|
|
'support': 'life-ring',
|
|
'circle-o-notch': 'circle-notch',
|
|
'rebel': 'rebel',
|
|
'ra': 'rebel',
|
|
'resistance': 'rebel',
|
|
'empire': 'empire',
|
|
'ge': 'empire',
|
|
'git-square': 'square-git',
|
|
'git': 'git',
|
|
'hacker-news': 'hacker-news',
|
|
'yc-square': 'hacker-news',
|
|
'y-combinator-square': 'hacker-news',
|
|
'tencent-weibo': 'tencent-weibo',
|
|
'qq': 'qq',
|
|
'weixin': 'weixin',
|
|
'wechat': 'weixin',
|
|
'paper-plane': 'paper-plane',
|
|
'paper-plane-o': 'paper-plane',
|
|
'send': 'paper-plane',
|
|
'send-o': 'paper-plane',
|
|
'circle-thin': 'circle',
|
|
'futbol-o': 'futbol',
|
|
'soccer-ball-o': 'futbol',
|
|
'tty': 'tty',
|
|
'binoculars': 'binoculars',
|
|
'plug': 'plug',
|
|
'newspaper-o': 'newspaper',
|
|
'wifi': 'wifi',
|
|
'calculator': 'calculator',
|
|
'cc': 'closed-captioning',
|
|
'ils': 'shekel-sign',
|
|
'shekel': 'shekel-sign',
|
|
'sheqel': 'shekel-sign',
|
|
'transgender': 'mars-and-venus',
|
|
'intersex': 'mars-and-venus',
|
|
'transgender-alt': 'transgender',
|
|
'venus-double': 'venus-double',
|
|
'mars-double': 'mars-double',
|
|
'venus-mars': 'venus-mars',
|
|
'mars-stroke': 'mars-stroke',
|
|
'mars-stroke-v': 'mars-stroke-up',
|
|
'mars-stroke-h': 'mars-stroke-right',
|
|
'neuter': 'neuter',
|
|
'genderless': 'genderless',
|
|
'user-plus': 'user-plus',
|
|
'user-times': 'user-xmark',
|
|
'user-circle': 'circle-user',
|
|
'user-circle-o': 'circle-user',
|
|
'bed': 'bed',
|
|
'vcard': 'address-card',
|
|
'vcard-o': 'address-card',
|
|
'facebook-official': 'facebook',
|
|
'pinterest-p': 'pinterest-p',
|
|
'whatsapp': 'whatsapp',
|
|
'server': 'server',
|
|
'balance-scale': 'scale-balanced',
|
|
'balance-scale-left': 'scale-unbalanced',
|
|
'balance-scale-right': 'scale-unbalanced-flip',
|
|
'hourglass': 'hourglass',
|
|
'hourglass-o': 'hourglass',
|
|
'hourglass-1': 'hourglass-start',
|
|
'hourglass-start': 'hourglass-start',
|
|
'hourglass-2': 'hourglass-half',
|
|
'hourglass-half': 'hourglass-half',
|
|
'hourglass-3': 'hourglass-end',
|
|
'hourglass-end': 'hourglass-end',
|
|
'hand-grab-o': 'hand',
|
|
'hand-rock-o': 'hand-back-fist',
|
|
'hand-paper-o': 'hand',
|
|
'hand-stop-o': 'hand',
|
|
'hand-scissors-o': 'hand-scissors',
|
|
'hand-lizard-o': 'hand-lizard',
|
|
'hand-spock-o': 'hand-spock',
|
|
'hand-pointer-o': 'hand-pointer',
|
|
'hand-peace-o': 'hand-peace',
|
|
'500px': '500px',
|
|
'adn': 'adn',
|
|
'bitbucket': 'bitbucket',
|
|
'bitbucket-square': 'bitbucket',
|
|
'tumblr': 'tumblr',
|
|
'tumblr-square': 'square-tumblr',
|
|
'apple': 'apple',
|
|
'windows': 'windows',
|
|
'android': 'android',
|
|
'linux': 'linux',
|
|
'dribbble': 'dribbble',
|
|
'skype': 'skype',
|
|
'foursquare': 'foursquare',
|
|
'trello': 'trello',
|
|
'female': 'person-dress',
|
|
'male': 'person',
|
|
'gratipay': 'gratipay',
|
|
'gittip': 'gratipay',
|
|
'sun-o': 'sun',
|
|
'moon-o': 'moon',
|
|
'vk': 'vk',
|
|
'weibo': 'weibo',
|
|
'renren': 'renren',
|
|
'pagelines': 'pagelines',
|
|
'stack-exchange': 'stack-exchange',
|
|
'arrow-circle-o-right': 'circle-right',
|
|
'arrow-circle-o-left': 'circle-left',
|
|
'caret-square-o-left': 'square-caret-left',
|
|
'toggle-left': 'square-caret-left',
|
|
'dot-circle-o': 'circle-dot',
|
|
'vimeo-square': 'square-vimeo',
|
|
'try': 'turkish-lira-sign',
|
|
'turkish-lira': 'turkish-lira-sign',
|
|
'plus-square-o': 'square-plus',
|
|
};
|
|
|
|
// Outline icons (-o suffix) mappings to regular style
|
|
const outlineIcons = {
|
|
'address-book-o': 'address-book',
|
|
'address-card-o': 'address-card',
|
|
'arrow-circle-o-down': 'circle-down',
|
|
'arrow-circle-o-left': 'circle-left',
|
|
'arrow-circle-o-right': 'circle-right',
|
|
'arrow-circle-o-up': 'circle-up',
|
|
'bar-chart-o': 'chart-bar',
|
|
'bell-o': 'bell',
|
|
'bell-slash-o': 'bell-slash',
|
|
'bookmark-o': 'bookmark',
|
|
'building-o': 'building',
|
|
'calendar-check-o': 'calendar-check',
|
|
'calendar-minus-o': 'calendar-minus',
|
|
'calendar-o': 'calendar',
|
|
'calendar-plus-o': 'calendar-plus',
|
|
'calendar-times-o': 'calendar-xmark',
|
|
'caret-square-o-down': 'square-caret-down',
|
|
'caret-square-o-left': 'square-caret-left',
|
|
'caret-square-o-right': 'square-caret-right',
|
|
'caret-square-o-up': 'square-caret-up',
|
|
'cc-o': 'closed-captioning',
|
|
'check-circle-o': 'circle-check',
|
|
'check-square-o': 'square-check',
|
|
'circle-o': 'circle',
|
|
'clock-o': 'clock',
|
|
'clone-o': 'clone',
|
|
'comment-o': 'comment',
|
|
'commenting-o': 'comment-dots',
|
|
'comments-o': 'comments',
|
|
'copy-o': 'copy',
|
|
'copyright-o': 'copyright',
|
|
'credit-card-o': 'credit-card',
|
|
'dot-circle-o': 'circle-dot',
|
|
'envelope-o': 'envelope',
|
|
'envelope-open-o': 'envelope-open',
|
|
'eye-o': 'eye',
|
|
'file-archive-o': 'file-zipper',
|
|
'file-audio-o': 'file-audio',
|
|
'file-code-o': 'file-code',
|
|
'file-excel-o': 'file-excel',
|
|
'file-image-o': 'file-image',
|
|
'file-o': 'file',
|
|
'file-pdf-o': 'file-pdf',
|
|
'file-photo-o': 'file-image',
|
|
'file-powerpoint-o': 'file-powerpoint',
|
|
'file-text-o': 'file-lines',
|
|
'file-video-o': 'file-video',
|
|
'file-word-o': 'file-word',
|
|
'files-o': 'copy',
|
|
'flag-o': 'flag',
|
|
'floppy-o': 'floppy-disk',
|
|
'folder-o': 'folder',
|
|
'folder-open-o': 'folder-open',
|
|
'frown-o': 'face-frown',
|
|
'futbol-o': 'futbol',
|
|
'gem-o': 'gem',
|
|
'hand-lizard-o': 'hand-lizard',
|
|
'hand-o-down': 'hand-point-down',
|
|
'hand-o-left': 'hand-point-left',
|
|
'hand-o-right': 'hand-point-right',
|
|
'hand-o-up': 'hand-point-up',
|
|
'hand-paper-o': 'hand',
|
|
'hand-peace-o': 'hand-peace',
|
|
'hand-pointer-o': 'hand-pointer',
|
|
'hand-rock-o': 'hand-back-fist',
|
|
'hand-scissors-o': 'hand-scissors',
|
|
'hand-spock-o': 'hand-spock',
|
|
'handshake-o': 'handshake',
|
|
'hdd-o': 'hard-drive',
|
|
'heart-o': 'heart',
|
|
'hospital-o': 'hospital',
|
|
'hourglass-o': 'hourglass',
|
|
'id-badge-o': 'id-badge',
|
|
'id-card-o': 'id-card',
|
|
'image-o': 'image',
|
|
'keyboard-o': 'keyboard',
|
|
'lemon-o': 'lemon',
|
|
'life-ring-o': 'life-ring',
|
|
'lightbulb-o': 'lightbulb',
|
|
'map-o': 'map',
|
|
'meh-o': 'face-meh',
|
|
'minus-square-o': 'square-minus',
|
|
'money-o': 'money-bill',
|
|
'moon-o': 'moon',
|
|
'newspaper-o': 'newspaper',
|
|
'object-group-o': 'object-group',
|
|
'object-ungroup-o': 'object-ungroup',
|
|
'paper-plane-o': 'paper-plane',
|
|
'pause-circle-o': 'circle-pause',
|
|
'pencil-square-o': 'pen-to-square',
|
|
'picture-o': 'image',
|
|
'play-circle-o': 'circle-play',
|
|
'plus-square-o': 'square-plus',
|
|
'question-circle-o': 'circle-question',
|
|
'registered-o': 'registered',
|
|
'share-square-o': 'share-from-square',
|
|
'smile-o': 'face-smile',
|
|
'snowflake-o': 'snowflake',
|
|
'square-o': 'square',
|
|
'star-half-o': 'star-half',
|
|
'star-o': 'star',
|
|
'sticky-note-o': 'note-sticky',
|
|
'stop-circle-o': 'circle-stop',
|
|
'sun-o': 'sun',
|
|
'thumbs-down-o': 'thumbs-down',
|
|
'thumbs-o-down': 'thumbs-down',
|
|
'thumbs-o-up': 'thumbs-up',
|
|
'thumbs-up-o': 'thumbs-up',
|
|
'times-circle-o': 'circle-xmark',
|
|
'trash-o': 'trash-can',
|
|
'user-circle-o': 'circle-user',
|
|
'user-o': 'user',
|
|
'window-close-o': 'rectangle-xmark',
|
|
'window-maximize-o': 'window-maximize',
|
|
'window-minimize-o': 'window-minimize',
|
|
'window-restore-o': 'window-restore'
|
|
};
|
|
|
|
// Brand icons that need explicit font-family
|
|
const brandIcons = [
|
|
'500px', 'adn', 'amazon', 'android', 'angellist', 'apple', 'bandcamp', 'behance',
|
|
'bitbucket', 'bitcoin', 'black-tie', 'bluetooth', 'bluetooth-b', 'buysellads',
|
|
'cc-amex', 'cc-diners-club', 'cc-discover', 'cc-jcb', 'cc-mastercard', 'cc-paypal',
|
|
'cc-stripe', 'cc-visa', 'chrome', 'codepen', 'codiepie', 'connectdevelop', 'contao',
|
|
'css3', 'dashcube', 'delicious', 'deviantart', 'digg', 'dribbble', 'dropbox', 'drupal',
|
|
'edge', 'empire', 'envira', 'etsy', 'expeditedssl', 'facebook', 'facebook-f',
|
|
'firefox', 'flickr', 'fonticons', 'fort-awesome', 'forumbee', 'foursquare',
|
|
'free-code-camp', 'get-pocket', 'gg', 'gg-circle', 'git', 'github', 'github-alt',
|
|
'gitlab', 'glide', 'glide-g', 'google', 'google-plus', 'google-wallet', 'gratipay',
|
|
'grav', 'hacker-news', 'houzz', 'html5', 'imdb', 'instagram', 'internet-explorer',
|
|
'ioxhost', 'joomla', 'jsfiddle', 'lastfm', 'leanpub', 'linkedin', 'linode', 'linux',
|
|
'maxcdn', 'meanpath', 'medium', 'meetup', 'mixcloud', 'modx', 'odnoklassniki',
|
|
'opencart', 'openid', 'opera', 'optin-monster', 'pagelines', 'paypal', 'pied-piper',
|
|
'pied-piper-alt', 'pied-piper-pp', 'pinterest', 'pinterest-p', 'product-hunt', 'qq',
|
|
'quora', 'ravelry', 'rebel', 'reddit', 'reddit-alien', 'renren', 'safari', 'scribd',
|
|
'sellsy', 'shirtsinbulk', 'simplybuilt', 'skyatlas', 'skype', 'slack', 'slideshare',
|
|
'snapchat', 'soundcloud', 'spotify', 'stack-exchange', 'stack-overflow', 'steam',
|
|
'stumbleupon', 'stumbleupon-circle', 'superpowers', 'telegram', 'tencent-weibo',
|
|
'themeisle', 'trello', 'tumblr', 'twitch', 'twitter', 'usb', 'viacoin', 'viadeo',
|
|
'vimeo', 'vine', 'vk', 'weibo', 'weixin', 'whatsapp', 'wikipedia-w', 'windows',
|
|
'wordpress', 'wpbeginner', 'wpexplorer', 'wpforms', 'xing', 'y-combinator', 'yahoo',
|
|
'yelp', 'yoast', 'youtube'
|
|
];
|
|
|
|
// Fork Awesome specific icons fallback mappings
|
|
const forkSpecificIcons = {
|
|
'activitypub': 'share-nodes',
|
|
'archive-org': 'building-columns',
|
|
'artstation': 'artstation',
|
|
'bell-slash-o': 'bell-slash',
|
|
'biometric': 'fingerprint',
|
|
'c': 'c',
|
|
'cc-by': 'creative-commons-by',
|
|
'cc-nc': 'creative-commons-nc',
|
|
'cc-nc-eu': 'creative-commons-nc-eu',
|
|
'cc-nc-jp': 'creative-commons-nc-jp',
|
|
'cc-nd': 'creative-commons-nd',
|
|
'cc-pd': 'creative-commons-pd',
|
|
'cc-remix': 'creative-commons-remix',
|
|
'cc-sa': 'creative-commons-sa',
|
|
'cc-share': 'creative-commons-share',
|
|
'cc-zero': 'creative-commons-zero',
|
|
'commenting': 'comment-dots',
|
|
'commenting-o': 'comment-dots',
|
|
'dat': 'database',
|
|
'diaspora': 'asterisk',
|
|
'digitalocean': 'digital-ocean',
|
|
'discord': 'discord',
|
|
'emby': 'circle-play',
|
|
'ethereum': 'ethereum',
|
|
'f-droid': 'android',
|
|
'facebook-messenger': 'facebook-messenger',
|
|
'foster': 'hands-holding-child',
|
|
'friendica': 'users',
|
|
'galaxy': 'rocket',
|
|
'gimp': 'palette',
|
|
'gitea': 'mug-hot',
|
|
'gnu-social': 'gnu',
|
|
'google-auth': 'shield',
|
|
'hackaday': 'wrench',
|
|
'hackster': 'microchip',
|
|
'inkscape': 'pen-nib',
|
|
'jirafeau': 'share',
|
|
'joplin': 'book',
|
|
'jsdelivr': 'truck-fast',
|
|
'keybase': 'key',
|
|
'laravel': 'laravel',
|
|
'liberapay': 'hand-holding-heart',
|
|
'libreoffice': 'file-word',
|
|
'line-graph': 'chart-line',
|
|
'mastodon': 'mastodon',
|
|
'matrix-org': 'comment-dots',
|
|
'nextcloud': 'cloud',
|
|
'nodejs': 'node-js',
|
|
'orcid': 'orcid',
|
|
'patreon': 'patreon',
|
|
'peertube': 'video',
|
|
'php': 'php',
|
|
'pi-hole': 'shield-halved',
|
|
'pixelfed': 'camera-retro',
|
|
'plume': 'feather',
|
|
'postgresql': 'database',
|
|
'python': 'python',
|
|
'react': 'react',
|
|
'researchgate': 'researchgate',
|
|
'riot': 'comments',
|
|
'scuttlebutt': 'fish',
|
|
'signal': 'signal-messenger',
|
|
'sketchfab': 'cube',
|
|
'snowdrift': 'snowflake',
|
|
'social-home': 'house-user',
|
|
'syncthing': 'arrows-rotate',
|
|
'tex': 'code',
|
|
'tor': 'user-secret',
|
|
'unsplash': 'unsplash',
|
|
'vagrant': 'v',
|
|
'vscode': 'code',
|
|
'xmpp': 'comment',
|
|
'zotero': 'bookmark'
|
|
};
|
|
|
|
// Determine if an icon needs regular style
|
|
function isRegularIcon(iconName) {
|
|
return iconName in outlineIcons || iconName.endsWith('-o');
|
|
}
|
|
|
|
// Determine if an icon is a brand icon
|
|
function isBrandIcon(iconName) {
|
|
return brandIcons.includes(iconName) || iconName in forkSpecificIcons;
|
|
}
|
|
|
|
// Get the mapped icon name and style
|
|
function getMappedIcon(iconName) {
|
|
// Check direct mappings first
|
|
if (iconName in iconMappings) {
|
|
return { name: iconMappings[iconName], style: 'solid' };
|
|
}
|
|
|
|
// Check outline icons
|
|
if (iconName in outlineIcons) {
|
|
return { name: outlineIcons[iconName], style: 'regular' };
|
|
}
|
|
|
|
// Check Fork-specific icons
|
|
if (iconName in forkSpecificIcons) {
|
|
const mappedName = forkSpecificIcons[iconName];
|
|
const style = isBrandIcon(mappedName) ? 'brands' : 'solid';
|
|
return { name: mappedName, style: style };
|
|
}
|
|
|
|
// Default: return as-is
|
|
return { name: iconName, style: 'solid' };
|
|
}
|
|
|
|
// Transform icon classes
|
|
function transformIconClasses(element) {
|
|
if (!element || !element.classList) return;
|
|
|
|
const classList = element.classList;
|
|
let iconClass = null;
|
|
let hasFA = false;
|
|
|
|
// Check if element has 'fa' class
|
|
for (let i = 0; i < classList.length; i++) {
|
|
if (classList[i] === 'fa') {
|
|
hasFA = true;
|
|
} else if (classList[i].startsWith('fa-') && !classList[i].match(/^fa-(fw|spin|pulse|rotate|flip|stack|inverse|border|pull|li|lg|2x|3x|4x|5x)/)) {
|
|
iconClass = classList[i].substring(3); // Remove 'fa-' prefix
|
|
}
|
|
}
|
|
|
|
if (!hasFA || !iconClass) return;
|
|
|
|
// Get mapped icon
|
|
const mapped = getMappedIcon(iconClass);
|
|
|
|
// Remove old icon class
|
|
classList.remove('fa-' + iconClass);
|
|
|
|
// Add new icon class
|
|
classList.add('fa-' + mapped.name);
|
|
|
|
// Handle style-specific classes
|
|
if (mapped.style === 'regular') {
|
|
classList.add('far');
|
|
classList.remove('fas', 'fab');
|
|
} else if (mapped.style === 'brands') {
|
|
classList.add('fab');
|
|
classList.remove('fas', 'far');
|
|
} else {
|
|
classList.add('fas');
|
|
classList.remove('far', 'fab');
|
|
}
|
|
}
|
|
|
|
// Process all icons on the page
|
|
function processAllIcons() {
|
|
const icons = document.querySelectorAll('.fa');
|
|
for (let i = 0; i < icons.length; i++) {
|
|
transformIconClasses(icons[i]);
|
|
}
|
|
}
|
|
|
|
// MutationObserver to handle dynamically added icons
|
|
function observeDynamicIcons() {
|
|
const observer = new MutationObserver(function(mutations) {
|
|
mutations.forEach(function(mutation) {
|
|
mutation.addedNodes.forEach(function(node) {
|
|
if (node.nodeType === 1) { // Element node
|
|
if (node.classList && node.classList.contains('fa')) {
|
|
transformIconClasses(node);
|
|
}
|
|
// Check child nodes
|
|
const childIcons = node.querySelectorAll('.fa');
|
|
for (let i = 0; i < childIcons.length; i++) {
|
|
transformIconClasses(childIcons[i]);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
observer.observe(document.body, {
|
|
childList: true,
|
|
subtree: true
|
|
});
|
|
}
|
|
|
|
// Initialize shim
|
|
function init() {
|
|
// Process existing icons
|
|
if (document.readyState === 'loading') {
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
processAllIcons();
|
|
observeDynamicIcons();
|
|
});
|
|
} else {
|
|
processAllIcons();
|
|
observeDynamicIcons();
|
|
}
|
|
}
|
|
|
|
// Expose API
|
|
window.ForkAwesomeShim = {
|
|
init: init,
|
|
processAllIcons: processAllIcons,
|
|
transformIconClasses: transformIconClasses,
|
|
getMappedIcon: getMappedIcon
|
|
};
|
|
|
|
// Auto-initialize
|
|
init();
|
|
|
|
})(); |