jekyll-theme-marketing 0.5.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (232) hide show
  1. checksums.yaml +5 -5
  2. data/{LICENSE.txt → LICENSE} +1 -1
  3. data/README.md +6 -1
  4. data/_includes/components/analytics/google.js +13 -0
  5. data/_includes/components/assets/file-downloads.html +15 -0
  6. data/_includes/components/breadcrumbs/bootstrap.html +35 -0
  7. data/_includes/components/breadcrumbs/bootstrap.js +11 -0
  8. data/_includes/components/bullets/fontawesome.html +4 -0
  9. data/_includes/components/cards/bootstrap-h.html +20 -0
  10. data/_includes/components/cards/bootstrap-v.html +16 -0
  11. data/_includes/components/contact-cards/phone-card.html +6 -0
  12. data/_includes/components/contact-cards/phone-directory.html +22 -0
  13. data/_includes/components/copyrights/progressive.html +19 -0
  14. data/_includes/components/exchange-rates/progressive.html +6 -0
  15. data/_includes/{body/header/exchange-rates/usd.html → components/exchange-rates/progressive.js} +1 -6
  16. data/_includes/components/filters/isotope.html +32 -0
  17. data/_includes/components/filters/isotope.js +47 -0
  18. data/_includes/components/firebase/sdk.html +17 -0
  19. data/_includes/components/firebase/special-offers.html +28 -0
  20. data/_includes/components/firebase/ui.html +15 -0
  21. data/_includes/components/firebase/ui.js +33 -0
  22. data/_includes/{head/fonts.html → components/fonts/google.html} +0 -0
  23. data/_includes/components/footers/progressive/custom-item.liquid +1 -0
  24. data/_includes/components/footers/progressive/custom-title.liquid +1 -0
  25. data/_includes/components/footers/progressive/footer.html +43 -0
  26. data/_includes/components/footers/progressive/top.html +27 -0
  27. data/_includes/components/forms/formspree.html +59 -0
  28. data/_includes/components/forms/formspree.js +35 -0
  29. data/_includes/components/forms/google-forms.css +5 -0
  30. data/_includes/components/forms/google-forms.html +76 -0
  31. data/_includes/components/forms/google-forms.js +31 -0
  32. data/_includes/components/generators/pdf/special-offers.html +51 -0
  33. data/_includes/components/icons/bootstrap.html +14 -0
  34. data/_includes/components/icons/progressive.html +29 -0
  35. data/_includes/components/icons/progressive.js +5 -0
  36. data/_includes/components/info-cards/card-deck.html +16 -0
  37. data/_includes/components/info-cards/progressive.html +20 -0
  38. data/_includes/components/info-cards/search-results.html +38 -0
  39. data/_includes/components/jumbotron/bootstrap.html +5 -0
  40. data/_includes/components/lang-switchers/two-langs.html +27 -0
  41. data/_includes/components/login/progressive.html +89 -0
  42. data/_includes/components/logos/motorola.html +3 -0
  43. data/_includes/components/logos/progressive.html +3 -0
  44. data/_includes/components/maps/google-maps.html +2 -0
  45. data/_includes/components/maps/google-maps.js +96 -0
  46. data/_includes/components/maps/image-map.html +21 -0
  47. data/_includes/components/megamenu/progressive.html +35 -0
  48. data/_includes/{head/meta.html → components/meta/progressive.html} +5 -1
  49. data/_includes/components/modals/bootstrap.html +124 -0
  50. data/_includes/components/modals/bootstrap.js +26 -0
  51. data/_includes/components/nav-items/bootstrap.html +23 -0
  52. data/_includes/components/nav-tabs/product-nav-tab.html +48 -0
  53. data/_includes/components/nav-tabs/product-nav-tab.js +38 -0
  54. data/_includes/components/navbars/bootstrap.html +16 -0
  55. data/_includes/components/navbars/common.liquid +14 -0
  56. data/_includes/components/navbars/progressive.html +33 -0
  57. data/_includes/components/navbars/progressive.js +18 -0
  58. data/_includes/components/panels/brands.html +12 -0
  59. data/_includes/{body → components}/product-cards/3d-space.html +5 -5
  60. data/_includes/components/product-cards/featured-product.html +15 -0
  61. data/_includes/components/product-cards/product-details.html +48 -0
  62. data/_includes/components/product-cards/product-generals.html +54 -0
  63. data/_includes/components/product-cards/progressive.html +57 -0
  64. data/_includes/components/scripts/body.js +41 -0
  65. data/_includes/components/scripts/head.js +14 -0
  66. data/_includes/components/scroll-to-tops/progressive.html +3 -0
  67. data/_includes/components/search-engines/lunr.html +19 -0
  68. data/_includes/components/search-engines/lunr.js +119 -0
  69. data/_includes/components/searchbars/progressive.html +14 -0
  70. data/_includes/components/sidenavs/material/dependencies.html +2 -2
  71. data/_includes/components/sliders/bootstrap.html +37 -0
  72. data/_includes/components/sliders/lightslider.html +35 -0
  73. data/_includes/components/sliders/lightslider.js +12 -0
  74. data/_includes/components/sliders/revolution-slider.html +67 -0
  75. data/_includes/components/social-media/facebook.html +18 -0
  76. data/_includes/components/social-media/progressive.html +9 -0
  77. data/_includes/components/spinners/bootstrap.html +5 -0
  78. data/_includes/components/stylesheets/progressive.html +47 -0
  79. data/_includes/components/timelines/9.html +27 -0
  80. data/_includes/components/topbars/progressive.html +36 -0
  81. data/_includes/components/topbars/progressive.js +5 -0
  82. data/_includes/components/videos/background.html +22 -0
  83. data/_includes/components/videos/youtube.html +23 -0
  84. data/_includes/components/zendesk/script.js +9 -0
  85. data/_includes/pages/footer/grupopv/our-offices.js +22 -0
  86. data/_layouts/default.html +30 -12
  87. data/_layouts/grid.html +34 -28
  88. data/_layouts/page.html +4 -48
  89. data/_layouts/product.html +29 -174
  90. data/_sass/common/_common.scss +32 -0
  91. data/_sass/components/breadcrumbs/_bootstrap.scss +2 -3
  92. data/_sass/components/contact-cards/_location.scss +14 -0
  93. data/_sass/components/contact-cards/_phone-card.scss +17 -0
  94. data/_sass/components/footers/_vg_progressive.scss +72 -0
  95. data/_sass/components/forms/_formspree.scss +5 -0
  96. data/_sass/components/forms/_google-forms.scss +29 -0
  97. data/_sass/components/icons/bootstrap.scss +21 -0
  98. data/_sass/components/info-cards/_card-deck.scss +12 -0
  99. data/_sass/components/info-cards/search-results.scss +9 -0
  100. data/_sass/components/jumbotron/bootstrap.scss +5 -0
  101. data/_sass/components/lang-switchers/_toogle-lang.scss +0 -1
  102. data/_sass/components/login/progressive.scss +13 -0
  103. data/_sass/components/logos/progressive.scss +12 -0
  104. data/_sass/components/maps/google-maps.scss +13 -0
  105. data/_sass/components/megamenu/progressive.scss +9 -0
  106. data/_sass/components/nav-items/bootstrap.scss +26 -0
  107. data/_sass/components/navbars/bootstrap.scss +8 -0
  108. data/_sass/components/navbars/progressive.scss +94 -0
  109. data/_sass/components/product-cards/_3d-space.scss +12 -12
  110. data/_sass/components/product-cards/_product-details.scss +6 -0
  111. data/_sass/components/product-cards/_product-generals.scss +13 -0
  112. data/_sass/components/product-cards/_progressive.scss +30 -0
  113. data/_sass/components/product-cards/featured-product.scss +12 -0
  114. data/_sass/components/searchbars/progressive.scss +8 -0
  115. data/_sass/components/sidenavs/_material.scss +160 -0
  116. data/_sass/components/sliders/_lightslider.scss +33 -0
  117. data/_sass/components/social-media/_progressive.scss +25 -0
  118. data/_sass/components/timelines/9.scss +152 -0
  119. data/_sass/components/videos/background.scss +22 -0
  120. data/_sass/grupopv/_navbar.scss +22 -0
  121. data/_sass/layouts/_404.scss +39 -0
  122. data/_sass/layouts/_default.scss +3 -0
  123. data/_sass/layouts/_page.scss +70 -0
  124. data/_sass/layouts/_product.scss +56 -0
  125. data/assets/css/main.min.scss +88 -0
  126. data/assets/img/common/favicon.png +0 -0
  127. data/assets/js/firebase/firebase-account-controller.js +42 -0
  128. data/assets/js/firebase/firebase-login.js +4 -4
  129. data/assets/js/firebase/firebase-sdk.js +19 -0
  130. data/assets/js/firebase/firebase-special-offers.js +41 -0
  131. data/assets/node_modules/@fortawesome/fontawesome-free-brands/index.js +1221 -0
  132. data/assets/node_modules/@fortawesome/fontawesome-free-regular/index.js +489 -0
  133. data/assets/node_modules/@fortawesome/fontawesome-free-solid/index.js +2013 -0
  134. data/assets/node_modules/@fortawesome/fontawesome/index.js +1823 -0
  135. data/assets/node_modules/@fortawesome/fontawesome/styles.css +345 -0
  136. data/assets/node_modules/bootstrap/dist/css/bootstrap.min.css +5 -3
  137. data/assets/node_modules/bootstrap/dist/css/bootstrap.min.css.map +1 -0
  138. data/assets/node_modules/bootstrap/dist/js/bootstrap.min.js +6 -5
  139. data/assets/node_modules/bootstrap/dist/js/bootstrap.min.js.map +1 -0
  140. data/assets/node_modules/bootstrap/scss/_badge.scss +54 -0
  141. data/assets/node_modules/bootstrap/scss/_buttons.scss +139 -0
  142. data/assets/node_modules/bootstrap/scss/_functions.scss +134 -0
  143. data/assets/node_modules/bootstrap/scss/_nav.scss +120 -0
  144. data/assets/node_modules/bootstrap/scss/_reboot.scss +482 -0
  145. data/assets/node_modules/bootstrap/scss/_variables.scss +1143 -0
  146. data/assets/node_modules/bootstrap/scss/mixins/_background-variant.scss +22 -0
  147. data/assets/node_modules/bootstrap/scss/mixins/_badge.scss +17 -0
  148. data/assets/node_modules/bootstrap/scss/mixins/_border-radius.scss +63 -0
  149. data/assets/node_modules/bootstrap/scss/mixins/_box-shadow.scss +20 -0
  150. data/assets/node_modules/bootstrap/scss/mixins/_breakpoints.scss +123 -0
  151. data/assets/node_modules/bootstrap/scss/mixins/_buttons.scss +110 -0
  152. data/assets/node_modules/bootstrap/scss/mixins/_deprecate.scss +10 -0
  153. data/assets/node_modules/bootstrap/scss/mixins/_gradients.scss +45 -0
  154. data/assets/node_modules/bootstrap/scss/mixins/_hover.scss +37 -0
  155. data/assets/node_modules/bootstrap/scss/mixins/_text-emphasis.scss +17 -0
  156. data/assets/node_modules/bootstrap/scss/mixins/_text-hide.scss +11 -0
  157. data/assets/node_modules/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  158. data/assets/node_modules/bootstrap/scss/mixins/_transition.scss +16 -0
  159. data/assets/node_modules/bootstrap/scss/utilities/_background.scss +19 -0
  160. data/assets/node_modules/bootstrap/scss/utilities/_text.scss +72 -0
  161. data/assets/node_modules/bootstrap/scss/vendor/_rfs.scss +204 -0
  162. data/assets/node_modules/firebase/firebase-app.js +2 -0
  163. data/assets/node_modules/firebase/firebase-app.js.map +1 -0
  164. data/assets/node_modules/firebase/firebase-auth.js +2 -0
  165. data/assets/node_modules/firebase/firebase-auth.js.map +1 -0
  166. data/assets/node_modules/firebase/firebase-firestore.js +2 -0
  167. data/assets/node_modules/firebase/firebase-firestore.js.map +1 -0
  168. data/assets/node_modules/flag-icon-css/flags/1x1/br.svg +41 -41
  169. data/assets/node_modules/flag-icon-css/flags/1x1/mx.svg +371 -378
  170. data/assets/node_modules/flag-icon-css/flags/1x1/us.svg +2 -2
  171. data/assets/node_modules/flag-icon-css/sass/_flag-icon-list.scss +265 -249
  172. data/assets/node_modules/flag-icon-css/sass/_variables.scss +1 -1
  173. data/assets/node_modules/flag-icon-css/sass/flag-icon.scss +3 -4
  174. data/assets/node_modules/isotope-layout/dist/isotope.pkgd.min.js +12 -0
  175. data/assets/node_modules/jquery.stellar/jquery.stellar.min.js +9 -0
  176. data/assets/node_modules/jquery/dist/jquery.min.js +2 -0
  177. data/assets/node_modules/jquery/dist/jquery.min.map +1 -0
  178. data/assets/node_modules/jspdf/dist/jspdf.min.js +149 -88
  179. data/assets/node_modules/lightslider/dist/css/lightslider.min.css +3 -0
  180. data/assets/node_modules/lightslider/dist/img/controls.png +0 -0
  181. data/assets/node_modules/lightslider/dist/js/lightslider.min.js +4 -0
  182. data/assets/node_modules/lunr/lunr.min.js +6 -0
  183. data/assets/node_modules/vue/dist/vue.min.js +3 -3
  184. data/assets/vendors/revolution-slider/assets/coloredbg.png +0 -0
  185. data/assets/vendors/revolution-slider/assets/shadow3.png +0 -0
  186. data/assets/vendors/revolution-slider/css/settings.css +1480 -0
  187. data/assets/vendors/revolution-slider/font/revicons.svg +54 -0
  188. data/assets/vendors/revolution-slider/font/revicons.woff +0 -0
  189. data/assets/vendors/revolution-slider/js/jquery.themepunch.revolution.min.js +11 -0
  190. data/assets/vendors/revolution-slider/js/jquery.themepunch.tools.min.js +138 -0
  191. data/assets/vendors/revolution-slider/js/settings.js +110 -0
  192. data/assets/vendors/themeforest/fonts/social-icons.eot +0 -0
  193. data/assets/vendors/themeforest/fonts/social-icons.svg +403 -0
  194. data/assets/vendors/themeforest/fonts/social-icons.ttf +0 -0
  195. data/assets/vendors/themeforest/fonts/social-icons.woff +0 -0
  196. data/assets/vendors/themeforest/progressive/css/animate.css +1582 -0
  197. data/assets/vendors/themeforest/progressive/css/base.css +278 -0
  198. data/assets/vendors/themeforest/progressive/css/buttons.css +272 -0
  199. data/assets/vendors/themeforest/progressive/css/cms.css +289 -0
  200. data/assets/vendors/themeforest/progressive/css/responsive.css +2111 -0
  201. data/assets/vendors/themeforest/progressive/css/social-icons.css +130 -0
  202. data/assets/vendors/themeforest/progressive/css/style.css +9521 -0
  203. data/assets/vendors/themeforest/progressive/images/svg/loader.svg +34 -0
  204. data/assets/vendors/themeforest/progressive/js/jquery.appear.js +150 -0
  205. data/assets/vendors/themeforest/progressive/js/main.js +2176 -0
  206. metadata +189 -40
  207. data/_includes/body/footer.html +0 -0
  208. data/_includes/body/footer/buttons.html +0 -40
  209. data/_includes/body/header.html +0 -0
  210. data/_includes/body/header/logo.html +0 -5
  211. data/_includes/body/header/search-contact-phone-buttons.html +0 -29
  212. data/_includes/body/header/top-bar.html +0 -20
  213. data/_includes/body/scripts.html +0 -41
  214. data/_includes/head/firebase/sdk.html +0 -4
  215. data/_includes/head/google-analytics.html +0 -0
  216. data/_includes/head/scripts.html +0 -9
  217. data/_includes/head/style.html +0 -50
  218. data/_sass/components/navbars/_vg_progressive.scss +0 -44
  219. data/_sass/layouts/_grid.scss +0 -13
  220. data/assets/css/main.scss +0 -23
  221. data/assets/js/bootstrap/nav-tabs.js +0 -36
  222. data/assets/node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +0 -229
  223. data/assets/node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  224. data/assets/node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  225. data/assets/node_modules/flag-icon-css/sass/_flag-icon-more.scss +0 -7
  226. data/assets/node_modules/font-awesome/css/font-awesome.min.css +0 -4
  227. data/assets/node_modules/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  228. data/assets/node_modules/font-awesome/fonts/fontawesome-webfont.svg +0 -2671
  229. data/assets/node_modules/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  230. data/assets/node_modules/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  231. data/assets/node_modules/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  232. data/assets/node_modules/jquery/dist/cdn/jquery.min.js +0 -4
@@ -0,0 +1,1823 @@
1
+ /*!
2
+ * Font Awesome Free 5.0.13 by @fontawesome - https://fontawesome.com
3
+ * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4
+ */
5
+ (function (global, factory) {
6
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
7
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
8
+ (factory((global.fontawesome = {})));
9
+ }(this, (function (exports) { 'use strict';
10
+
11
+ var noop = function noop() {};
12
+
13
+ var _WINDOW = {};
14
+ var _DOCUMENT = {};
15
+ var _MUTATION_OBSERVER$1 = null;
16
+ var _PERFORMANCE = { mark: noop, measure: noop };
17
+
18
+ try {
19
+ if (typeof window !== 'undefined') _WINDOW = window;
20
+ if (typeof document !== 'undefined') _DOCUMENT = document;
21
+ if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER$1 = MutationObserver;
22
+ if (typeof performance !== 'undefined') _PERFORMANCE = performance;
23
+ } catch (e) {}
24
+
25
+ var _ref = _WINDOW.navigator || {};
26
+ var _ref$userAgent = _ref.userAgent;
27
+ var userAgent = _ref$userAgent === undefined ? '' : _ref$userAgent;
28
+
29
+ var WINDOW = _WINDOW;
30
+ var DOCUMENT = _DOCUMENT;
31
+ var MUTATION_OBSERVER = _MUTATION_OBSERVER$1;
32
+ var PERFORMANCE = _PERFORMANCE;
33
+ var IS_BROWSER = !!WINDOW.document;
34
+ var IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';
35
+ var IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');
36
+
37
+ var NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';
38
+ var UNITS_IN_GRID = 16;
39
+ var DEFAULT_FAMILY_PREFIX = 'fa';
40
+ var DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';
41
+ var DATA_FA_I2SVG = 'data-fa-i2svg';
42
+ var DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';
43
+ var HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';
44
+
45
+ var PRODUCTION = function () {
46
+ try {
47
+ return process.env.NODE_ENV === 'production';
48
+ } catch (e) {
49
+ return false;
50
+ }
51
+ }();
52
+
53
+ var oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
54
+ var oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);
55
+
56
+ var ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];
57
+
58
+ var RESERVED_CLASSES = ['xs', 'sm', 'lg', 'fw', 'ul', 'li', 'border', 'pull-left', 'pull-right', 'spin', 'pulse', 'rotate-90', 'rotate-180', 'rotate-270', 'flip-horizontal', 'flip-vertical', 'stack', 'stack-1x', 'stack-2x', 'inverse', 'layers', 'layers-text', 'layers-counter'].concat(oneToTen.map(function (n) {
59
+ return n + 'x';
60
+ })).concat(oneToTwenty.map(function (n) {
61
+ return 'w-' + n;
62
+ }));
63
+
64
+ var classCallCheck = function (instance, Constructor) {
65
+ if (!(instance instanceof Constructor)) {
66
+ throw new TypeError("Cannot call a class as a function");
67
+ }
68
+ };
69
+
70
+ var createClass = function () {
71
+ function defineProperties(target, props) {
72
+ for (var i = 0; i < props.length; i++) {
73
+ var descriptor = props[i];
74
+ descriptor.enumerable = descriptor.enumerable || false;
75
+ descriptor.configurable = true;
76
+ if ("value" in descriptor) descriptor.writable = true;
77
+ Object.defineProperty(target, descriptor.key, descriptor);
78
+ }
79
+ }
80
+
81
+ return function (Constructor, protoProps, staticProps) {
82
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
83
+ if (staticProps) defineProperties(Constructor, staticProps);
84
+ return Constructor;
85
+ };
86
+ }();
87
+
88
+
89
+
90
+ var _extends = Object.assign || function (target) {
91
+ for (var i = 1; i < arguments.length; i++) {
92
+ var source = arguments[i];
93
+
94
+ for (var key in source) {
95
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
96
+ target[key] = source[key];
97
+ }
98
+ }
99
+ }
100
+
101
+ return target;
102
+ };
103
+
104
+
105
+
106
+ var toConsumableArray = function (arr) {
107
+ if (Array.isArray(arr)) {
108
+ for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
109
+
110
+ return arr2;
111
+ } else {
112
+ return Array.from(arr);
113
+ }
114
+ };
115
+
116
+ var initial = WINDOW.FontAwesomeConfig || {};
117
+ var initialKeys = Object.keys(initial);
118
+
119
+ var _default = _extends({
120
+ familyPrefix: DEFAULT_FAMILY_PREFIX,
121
+ replacementClass: DEFAULT_REPLACEMENT_CLASS,
122
+ autoReplaceSvg: true,
123
+ autoAddCss: true,
124
+ autoA11y: true,
125
+ searchPseudoElements: false,
126
+ observeMutations: true,
127
+ keepOriginalSource: true,
128
+ measurePerformance: false,
129
+ showMissingIcons: true
130
+ }, initial);
131
+
132
+ if (!_default.autoReplaceSvg) _default.observeMutations = false;
133
+
134
+ var config$1 = _extends({}, _default);
135
+
136
+ WINDOW.FontAwesomeConfig = config$1;
137
+
138
+ function update(newConfig) {
139
+ var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
140
+ var _params$asNewDefault = params.asNewDefault,
141
+ asNewDefault = _params$asNewDefault === undefined ? false : _params$asNewDefault;
142
+
143
+ var validKeys = Object.keys(config$1);
144
+ var ok = asNewDefault ? function (k) {
145
+ return ~validKeys.indexOf(k) && !~initialKeys.indexOf(k);
146
+ } : function (k) {
147
+ return ~validKeys.indexOf(k);
148
+ };
149
+
150
+ Object.keys(newConfig).forEach(function (configKey) {
151
+ if (ok(configKey)) config$1[configKey] = newConfig[configKey];
152
+ });
153
+ }
154
+
155
+ function auto(value) {
156
+ update({
157
+ autoReplaceSvg: value,
158
+ observeMutations: value
159
+ });
160
+ }
161
+
162
+ var w = WINDOW || {};
163
+
164
+ if (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};
165
+ if (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};
166
+ if (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};
167
+ if (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];
168
+
169
+ var namespace = w[NAMESPACE_IDENTIFIER];
170
+
171
+ var functions = [];
172
+ var listener = function listener() {
173
+ DOCUMENT.removeEventListener('DOMContentLoaded', listener);
174
+ loaded = 1;
175
+ functions.map(function (fn) {
176
+ return fn();
177
+ });
178
+ };
179
+
180
+ var loaded = false;
181
+
182
+ if (IS_DOM) {
183
+ loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);
184
+
185
+ if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);
186
+ }
187
+
188
+ var domready = function (fn) {
189
+ if (!IS_DOM) return;
190
+ loaded ? setTimeout(fn, 0) : functions.push(fn);
191
+ };
192
+
193
+ var d = UNITS_IN_GRID;
194
+
195
+ var meaninglessTransform = {
196
+ size: 16,
197
+ x: 0,
198
+ y: 0,
199
+ rotate: 0,
200
+ flipX: false,
201
+ flipY: false
202
+ };
203
+
204
+ function isReserved(name) {
205
+ return ~RESERVED_CLASSES.indexOf(name);
206
+ }
207
+
208
+ function bunker(fn) {
209
+ try {
210
+ fn();
211
+ } catch (e) {
212
+ if (!PRODUCTION) {
213
+ throw e;
214
+ }
215
+ }
216
+ }
217
+
218
+ function insertCss(css) {
219
+ if (!css || !IS_DOM) {
220
+ return;
221
+ }
222
+
223
+ var style = DOCUMENT.createElement('style');
224
+ style.setAttribute('type', 'text/css');
225
+ style.innerHTML = css;
226
+
227
+ var headChildren = DOCUMENT.head.childNodes;
228
+ var beforeChild = null;
229
+
230
+ for (var i = headChildren.length - 1; i > -1; i--) {
231
+ var child = headChildren[i];
232
+ var tagName = (child.tagName || '').toUpperCase();
233
+ if (['STYLE', 'LINK'].indexOf(tagName) > -1) {
234
+ beforeChild = child;
235
+ }
236
+ }
237
+
238
+ DOCUMENT.head.insertBefore(style, beforeChild);
239
+
240
+ return css;
241
+ }
242
+
243
+ var _uniqueId = 0;
244
+
245
+ function nextUniqueId() {
246
+ _uniqueId++;
247
+
248
+ return _uniqueId;
249
+ }
250
+
251
+ function toArray(obj) {
252
+ var array = [];
253
+
254
+ for (var i = (obj || []).length >>> 0; i--;) {
255
+ array[i] = obj[i];
256
+ }
257
+
258
+ return array;
259
+ }
260
+
261
+ function classArray(node) {
262
+ if (node.classList) {
263
+ return toArray(node.classList);
264
+ } else {
265
+ return (node.getAttribute('class') || '').split(' ').filter(function (i) {
266
+ return i;
267
+ });
268
+ }
269
+ }
270
+
271
+ function getIconName(familyPrefix, cls) {
272
+ var parts = cls.split('-');
273
+ var prefix = parts[0];
274
+ var iconName = parts.slice(1).join('-');
275
+
276
+ if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {
277
+ return iconName;
278
+ } else {
279
+ return null;
280
+ }
281
+ }
282
+
283
+ function htmlEscape(str) {
284
+ return ('' + str).replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/'/g, '&#39;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
285
+ }
286
+
287
+ function joinAttributes(attributes) {
288
+ return Object.keys(attributes || {}).reduce(function (acc, attributeName) {
289
+ return acc + (attributeName + '="' + htmlEscape(attributes[attributeName]) + '" ');
290
+ }, '').trim();
291
+ }
292
+
293
+ function joinStyles(styles) {
294
+ return Object.keys(styles || {}).reduce(function (acc, styleName) {
295
+ return acc + (styleName + ': ' + styles[styleName] + ';');
296
+ }, '');
297
+ }
298
+
299
+ function transformIsMeaningful(transform) {
300
+ return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;
301
+ }
302
+
303
+ function transformForSvg(_ref) {
304
+ var transform = _ref.transform,
305
+ containerWidth = _ref.containerWidth,
306
+ iconWidth = _ref.iconWidth;
307
+
308
+ var outer = {
309
+ transform: 'translate(' + containerWidth / 2 + ' 256)'
310
+ };
311
+ var innerTranslate = 'translate(' + transform.x * 32 + ', ' + transform.y * 32 + ') ';
312
+ var innerScale = 'scale(' + transform.size / 16 * (transform.flipX ? -1 : 1) + ', ' + transform.size / 16 * (transform.flipY ? -1 : 1) + ') ';
313
+ var innerRotate = 'rotate(' + transform.rotate + ' 0 0)';
314
+ var inner = {
315
+ transform: innerTranslate + ' ' + innerScale + ' ' + innerRotate
316
+ };
317
+ var path = {
318
+ transform: 'translate(' + iconWidth / 2 * -1 + ' -256)'
319
+ };
320
+ return {
321
+ outer: outer,
322
+ inner: inner,
323
+ path: path
324
+ };
325
+ }
326
+
327
+ function transformForCss(_ref2) {
328
+ var transform = _ref2.transform,
329
+ _ref2$width = _ref2.width,
330
+ width = _ref2$width === undefined ? UNITS_IN_GRID : _ref2$width,
331
+ _ref2$height = _ref2.height,
332
+ height = _ref2$height === undefined ? UNITS_IN_GRID : _ref2$height,
333
+ _ref2$startCentered = _ref2.startCentered,
334
+ startCentered = _ref2$startCentered === undefined ? false : _ref2$startCentered;
335
+
336
+ var val = '';
337
+
338
+ if (startCentered && IS_IE) {
339
+ val += 'translate(' + (transform.x / d - width / 2) + 'em, ' + (transform.y / d - height / 2) + 'em) ';
340
+ } else if (startCentered) {
341
+ val += 'translate(calc(-50% + ' + transform.x / d + 'em), calc(-50% + ' + transform.y / d + 'em)) ';
342
+ } else {
343
+ val += 'translate(' + transform.x / d + 'em, ' + transform.y / d + 'em) ';
344
+ }
345
+
346
+ val += 'scale(' + transform.size / d * (transform.flipX ? -1 : 1) + ', ' + transform.size / d * (transform.flipY ? -1 : 1) + ') ';
347
+ val += 'rotate(' + transform.rotate + 'deg) ';
348
+
349
+ return val;
350
+ }
351
+
352
+ var ALL_SPACE = {
353
+ x: 0,
354
+ y: 0,
355
+ width: '100%',
356
+ height: '100%'
357
+ };
358
+
359
+ var makeIconMasking = function (_ref) {
360
+ var children = _ref.children,
361
+ attributes = _ref.attributes,
362
+ main = _ref.main,
363
+ mask = _ref.mask,
364
+ transform = _ref.transform;
365
+ var mainWidth = main.width,
366
+ mainPath = main.icon;
367
+ var maskWidth = mask.width,
368
+ maskPath = mask.icon;
369
+
370
+
371
+ var trans = transformForSvg({ transform: transform, containerWidth: maskWidth, iconWidth: mainWidth });
372
+
373
+ var maskRect = {
374
+ tag: 'rect',
375
+ attributes: _extends({}, ALL_SPACE, {
376
+ fill: 'white'
377
+ })
378
+ };
379
+ var maskInnerGroup = {
380
+ tag: 'g',
381
+ attributes: _extends({}, trans.inner),
382
+ children: [{ tag: 'path', attributes: _extends({}, mainPath.attributes, trans.path, { fill: 'black' }) }]
383
+ };
384
+ var maskOuterGroup = {
385
+ tag: 'g',
386
+ attributes: _extends({}, trans.outer),
387
+ children: [maskInnerGroup]
388
+ };
389
+ var maskId = 'mask-' + nextUniqueId();
390
+ var clipId = 'clip-' + nextUniqueId();
391
+ var maskTag = {
392
+ tag: 'mask',
393
+ attributes: _extends({}, ALL_SPACE, {
394
+ id: maskId,
395
+ maskUnits: 'userSpaceOnUse',
396
+ maskContentUnits: 'userSpaceOnUse'
397
+ }),
398
+ children: [maskRect, maskOuterGroup]
399
+ };
400
+ var defs = {
401
+ tag: 'defs',
402
+ children: [{ tag: 'clipPath', attributes: { id: clipId }, children: [maskPath] }, maskTag]
403
+ };
404
+
405
+ children.push(defs, { tag: 'rect', attributes: _extends({ fill: 'currentColor', 'clip-path': 'url(#' + clipId + ')', mask: 'url(#' + maskId + ')' }, ALL_SPACE) });
406
+
407
+ return {
408
+ children: children,
409
+ attributes: attributes
410
+ };
411
+ };
412
+
413
+ var makeIconStandard = function (_ref) {
414
+ var children = _ref.children,
415
+ attributes = _ref.attributes,
416
+ main = _ref.main,
417
+ transform = _ref.transform,
418
+ styles = _ref.styles;
419
+
420
+ var styleString = joinStyles(styles);
421
+
422
+ if (styleString.length > 0) {
423
+ attributes['style'] = styleString;
424
+ }
425
+
426
+ if (transformIsMeaningful(transform)) {
427
+ var trans = transformForSvg({ transform: transform, containerWidth: main.width, iconWidth: main.width });
428
+ children.push({
429
+ tag: 'g',
430
+ attributes: _extends({}, trans.outer),
431
+ children: [{
432
+ tag: 'g',
433
+ attributes: _extends({}, trans.inner),
434
+ children: [{
435
+ tag: main.icon.tag,
436
+ children: main.icon.children,
437
+ attributes: _extends({}, main.icon.attributes, trans.path)
438
+ }]
439
+ }]
440
+ });
441
+ } else {
442
+ children.push(main.icon);
443
+ }
444
+
445
+ return {
446
+ children: children,
447
+ attributes: attributes
448
+ };
449
+ };
450
+
451
+ var asIcon = function (_ref) {
452
+ var children = _ref.children,
453
+ main = _ref.main,
454
+ mask = _ref.mask,
455
+ attributes = _ref.attributes,
456
+ styles = _ref.styles,
457
+ transform = _ref.transform;
458
+
459
+ if (transformIsMeaningful(transform) && main.found && !mask.found) {
460
+ var width = main.width,
461
+ height = main.height;
462
+
463
+ var offset = {
464
+ x: width / height / 2,
465
+ y: 0.5
466
+ };
467
+ attributes['style'] = joinStyles(_extends({}, styles, {
468
+ 'transform-origin': offset.x + transform.x / 16 + 'em ' + (offset.y + transform.y / 16) + 'em'
469
+ }));
470
+ }
471
+
472
+ return [{
473
+ tag: 'svg',
474
+ attributes: attributes,
475
+ children: children
476
+ }];
477
+ };
478
+
479
+ var asSymbol = function (_ref) {
480
+ var prefix = _ref.prefix,
481
+ iconName = _ref.iconName,
482
+ children = _ref.children,
483
+ attributes = _ref.attributes,
484
+ symbol = _ref.symbol;
485
+
486
+ var id = symbol === true ? prefix + '-' + config$1.familyPrefix + '-' + iconName : symbol;
487
+
488
+ return [{
489
+ tag: 'svg',
490
+ attributes: {
491
+ style: 'display: none;'
492
+ },
493
+ children: [{
494
+ tag: 'symbol',
495
+ attributes: _extends({}, attributes, { id: id }),
496
+ children: children
497
+ }]
498
+ }];
499
+ };
500
+
501
+ function makeInlineSvgAbstract(params) {
502
+ var _params$icons = params.icons,
503
+ main = _params$icons.main,
504
+ mask = _params$icons.mask,
505
+ prefix = params.prefix,
506
+ iconName = params.iconName,
507
+ transform = params.transform,
508
+ symbol = params.symbol,
509
+ title = params.title,
510
+ extra = params.extra,
511
+ _params$watchable = params.watchable,
512
+ watchable = _params$watchable === undefined ? false : _params$watchable;
513
+
514
+ var _ref = mask.found ? mask : main,
515
+ width = _ref.width,
516
+ height = _ref.height;
517
+
518
+ var widthClass = 'fa-w-' + Math.ceil(width / height * 16);
519
+ var attrClass = [config$1.replacementClass, iconName ? config$1.familyPrefix + '-' + iconName : '', widthClass].concat(extra.classes).join(' ');
520
+
521
+ var content = {
522
+ children: [],
523
+ attributes: _extends({}, extra.attributes, {
524
+ 'data-prefix': prefix,
525
+ 'data-icon': iconName,
526
+ 'class': attrClass,
527
+ 'role': 'img',
528
+ 'xmlns': 'http://www.w3.org/2000/svg',
529
+ 'viewBox': '0 0 ' + width + ' ' + height
530
+ })
531
+ };
532
+
533
+ if (watchable) {
534
+ content.attributes[DATA_FA_I2SVG] = '';
535
+ }
536
+
537
+ if (title) content.children.push({ tag: 'title', attributes: { id: content.attributes['aria-labelledby'] || 'title-' + nextUniqueId() }, children: [title] });
538
+
539
+ var args = _extends({}, content, {
540
+ prefix: prefix,
541
+ iconName: iconName,
542
+ main: main,
543
+ mask: mask,
544
+ transform: transform,
545
+ symbol: symbol,
546
+ styles: extra.styles
547
+ });
548
+
549
+ var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),
550
+ children = _ref2.children,
551
+ attributes = _ref2.attributes;
552
+
553
+ args.children = children;
554
+ args.attributes = attributes;
555
+
556
+ if (symbol) {
557
+ return asSymbol(args);
558
+ } else {
559
+ return asIcon(args);
560
+ }
561
+ }
562
+
563
+ function makeLayersTextAbstract(params) {
564
+ var content = params.content,
565
+ width = params.width,
566
+ height = params.height,
567
+ transform = params.transform,
568
+ title = params.title,
569
+ extra = params.extra,
570
+ _params$watchable2 = params.watchable,
571
+ watchable = _params$watchable2 === undefined ? false : _params$watchable2;
572
+
573
+
574
+ var attributes = _extends({}, extra.attributes, title ? { 'title': title } : {}, {
575
+ 'class': extra.classes.join(' ')
576
+ });
577
+
578
+ if (watchable) {
579
+ attributes[DATA_FA_I2SVG] = '';
580
+ }
581
+
582
+ var styles = _extends({}, extra.styles);
583
+
584
+ if (transformIsMeaningful(transform)) {
585
+ styles['transform'] = transformForCss({ transform: transform, startCentered: true, width: width, height: height });
586
+ styles['-webkit-transform'] = styles['transform'];
587
+ }
588
+
589
+ var styleString = joinStyles(styles);
590
+
591
+ if (styleString.length > 0) {
592
+ attributes['style'] = styleString;
593
+ }
594
+
595
+ var val = [];
596
+
597
+ val.push({
598
+ tag: 'span',
599
+ attributes: attributes,
600
+ children: [content]
601
+ });
602
+
603
+ if (title) {
604
+ val.push({ tag: 'span', attributes: { class: 'sr-only' }, children: [title] });
605
+ }
606
+
607
+ return val;
608
+ }
609
+
610
+ var noop$2 = function noop() {};
611
+ var p = config$1.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : { mark: noop$2, measure: noop$2 };
612
+ var preamble = 'FA "5.0.13"';
613
+
614
+ var begin = function begin(name) {
615
+ p.mark(preamble + ' ' + name + ' begins');
616
+ return function () {
617
+ return end(name);
618
+ };
619
+ };
620
+
621
+ var end = function end(name) {
622
+ p.mark(preamble + ' ' + name + ' ends');
623
+ p.measure(preamble + ' ' + name, preamble + ' ' + name + ' begins', preamble + ' ' + name + ' ends');
624
+ };
625
+
626
+ var perf = { begin: begin, end: end };
627
+
628
+ 'use strict';
629
+
630
+ /**
631
+ * Internal helper to bind a function known to have 4 arguments
632
+ * to a given context.
633
+ */
634
+ var bindInternal4 = function bindInternal4 (func, thisContext) {
635
+ return function (a, b, c, d) {
636
+ return func.call(thisContext, a, b, c, d);
637
+ };
638
+ };
639
+
640
+ 'use strict';
641
+
642
+
643
+
644
+ /**
645
+ * # Reduce
646
+ *
647
+ * A fast object `.reduce()` implementation.
648
+ *
649
+ * @param {Object} subject The object to reduce over.
650
+ * @param {Function} fn The reducer function.
651
+ * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].
652
+ * @param {Object} thisContext The context for the reducer.
653
+ * @return {mixed} The final result.
654
+ */
655
+ var reduce = function fastReduceObject (subject, fn, initialValue, thisContext) {
656
+ var keys = Object.keys(subject),
657
+ length = keys.length,
658
+ iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,
659
+ i, key, result;
660
+
661
+ if (initialValue === undefined) {
662
+ i = 1;
663
+ result = subject[keys[0]];
664
+ }
665
+ else {
666
+ i = 0;
667
+ result = initialValue;
668
+ }
669
+
670
+ for (; i < length; i++) {
671
+ key = keys[i];
672
+ result = iterator(result, subject[key], key, subject);
673
+ }
674
+
675
+ return result;
676
+ };
677
+
678
+ var styles$2 = namespace.styles;
679
+ var shims = namespace.shims;
680
+
681
+
682
+ var _byUnicode = {};
683
+ var _byLigature = {};
684
+ var _byOldName = {};
685
+
686
+ var build = function build() {
687
+ var lookup = function lookup(reducer) {
688
+ return reduce(styles$2, function (o, style, prefix) {
689
+ o[prefix] = reduce(style, reducer, {});
690
+ return o;
691
+ }, {});
692
+ };
693
+
694
+ _byUnicode = lookup(function (acc, icon, iconName) {
695
+ acc[icon[3]] = iconName;
696
+
697
+ return acc;
698
+ });
699
+
700
+ _byLigature = lookup(function (acc, icon, iconName) {
701
+ var ligatures = icon[2];
702
+
703
+ acc[iconName] = iconName;
704
+
705
+ ligatures.forEach(function (ligature) {
706
+ acc[ligature] = iconName;
707
+ });
708
+
709
+ return acc;
710
+ });
711
+
712
+ var hasRegular = 'far' in styles$2;
713
+
714
+ _byOldName = reduce(shims, function (acc, shim) {
715
+ var oldName = shim[0];
716
+ var prefix = shim[1];
717
+ var iconName = shim[2];
718
+
719
+ if (prefix === 'far' && !hasRegular) {
720
+ prefix = 'fas';
721
+ }
722
+
723
+ acc[oldName] = { prefix: prefix, iconName: iconName };
724
+
725
+ return acc;
726
+ }, {});
727
+ };
728
+
729
+ build();
730
+
731
+ function byUnicode(prefix, unicode) {
732
+ return _byUnicode[prefix][unicode];
733
+ }
734
+
735
+ function byLigature(prefix, ligature) {
736
+ return _byLigature[prefix][ligature];
737
+ }
738
+
739
+ function byOldName(name) {
740
+ return _byOldName[name] || { prefix: null, iconName: null };
741
+ }
742
+
743
+ var styles$1 = namespace.styles;
744
+
745
+
746
+ var emptyCanonicalIcon = function emptyCanonicalIcon() {
747
+ return { prefix: null, iconName: null, rest: [] };
748
+ };
749
+
750
+ function getCanonicalIcon(values) {
751
+ return values.reduce(function (acc, cls) {
752
+ var iconName = getIconName(config$1.familyPrefix, cls);
753
+
754
+ if (styles$1[cls]) {
755
+ acc.prefix = cls;
756
+ } else if (iconName) {
757
+ var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};
758
+
759
+ acc.iconName = shim.iconName || iconName;
760
+ acc.prefix = shim.prefix || acc.prefix;
761
+ } else if (cls !== config$1.replacementClass && cls.indexOf('fa-w-') !== 0) {
762
+ acc.rest.push(cls);
763
+ }
764
+
765
+ return acc;
766
+ }, emptyCanonicalIcon());
767
+ }
768
+
769
+ function iconFromMapping(mapping, prefix, iconName) {
770
+ if (mapping && mapping[prefix] && mapping[prefix][iconName]) {
771
+ return {
772
+ prefix: prefix,
773
+ iconName: iconName,
774
+ icon: mapping[prefix][iconName]
775
+ };
776
+ }
777
+ }
778
+
779
+ function toHtml(abstractNodes) {
780
+ var tag = abstractNodes.tag,
781
+ _abstractNodes$attrib = abstractNodes.attributes,
782
+ attributes = _abstractNodes$attrib === undefined ? {} : _abstractNodes$attrib,
783
+ _abstractNodes$childr = abstractNodes.children,
784
+ children = _abstractNodes$childr === undefined ? [] : _abstractNodes$childr;
785
+
786
+
787
+ if (typeof abstractNodes === 'string') {
788
+ return htmlEscape(abstractNodes);
789
+ } else {
790
+ return '<' + tag + ' ' + joinAttributes(attributes) + '>' + children.map(toHtml).join('') + '</' + tag + '>';
791
+ }
792
+ }
793
+
794
+ var noop$1 = function noop() {};
795
+
796
+ function isWatched(node) {
797
+ var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;
798
+
799
+ return typeof i2svg === 'string';
800
+ }
801
+
802
+ function getMutator() {
803
+ if (config$1.autoReplaceSvg === true) {
804
+ return mutators.replace;
805
+ }
806
+
807
+ var mutator = mutators[config$1.autoReplaceSvg];
808
+
809
+ return mutator || mutators.replace;
810
+ }
811
+
812
+ var mutators = {
813
+ replace: function replace(mutation) {
814
+ var node = mutation[0];
815
+ var abstract = mutation[1];
816
+ var newOuterHTML = abstract.map(function (a) {
817
+ return toHtml(a);
818
+ }).join('\n');
819
+
820
+ if (node.parentNode && node.outerHTML) {
821
+ node.outerHTML = newOuterHTML + (config$1.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? '<!-- ' + node.outerHTML + ' -->' : '');
822
+ } else if (node.parentNode) {
823
+ var newNode = document.createElement('span');
824
+ node.parentNode.replaceChild(newNode, node);
825
+ newNode.outerHTML = newOuterHTML;
826
+ }
827
+ },
828
+ nest: function nest(mutation) {
829
+ var node = mutation[0];
830
+ var abstract = mutation[1];
831
+
832
+ // If we already have a replaced node we do not want to continue nesting within it.
833
+ // Short-circuit to the standard replacement
834
+ if (~classArray(node).indexOf(config$1.replacementClass)) {
835
+ return mutators.replace(mutation);
836
+ }
837
+
838
+ var forSvg = new RegExp(config$1.familyPrefix + '-.*');
839
+
840
+ delete abstract[0].attributes.style;
841
+
842
+ var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {
843
+ if (cls === config$1.replacementClass || cls.match(forSvg)) {
844
+ acc.toSvg.push(cls);
845
+ } else {
846
+ acc.toNode.push(cls);
847
+ }
848
+
849
+ return acc;
850
+ }, { toNode: [], toSvg: [] });
851
+
852
+ abstract[0].attributes.class = splitClasses.toSvg.join(' ');
853
+
854
+ var newInnerHTML = abstract.map(function (a) {
855
+ return toHtml(a);
856
+ }).join('\n');
857
+ node.setAttribute('class', splitClasses.toNode.join(' '));
858
+ node.setAttribute(DATA_FA_I2SVG, '');
859
+ node.innerHTML = newInnerHTML;
860
+ }
861
+ };
862
+
863
+ function perform(mutations, callback) {
864
+ var callbackFunction = typeof callback === 'function' ? callback : noop$1;
865
+
866
+ if (mutations.length === 0) {
867
+ callbackFunction();
868
+ } else {
869
+ var frame = WINDOW.requestAnimationFrame || function (op) {
870
+ return op();
871
+ };
872
+
873
+ frame(function () {
874
+ var mutator = getMutator();
875
+ var mark = perf.begin('mutate');
876
+
877
+ mutations.map(mutator);
878
+
879
+ mark();
880
+
881
+ callbackFunction();
882
+ });
883
+ }
884
+ }
885
+
886
+ var disabled = false;
887
+
888
+ function disableObservation(operation) {
889
+ disabled = true;
890
+ operation();
891
+ disabled = false;
892
+ }
893
+
894
+ var mo = null;
895
+
896
+ function observe(options) {
897
+ if (!MUTATION_OBSERVER) return;
898
+
899
+ var treeCallback = options.treeCallback,
900
+ nodeCallback = options.nodeCallback,
901
+ pseudoElementsCallback = options.pseudoElementsCallback;
902
+
903
+
904
+ mo = new MUTATION_OBSERVER(function (objects) {
905
+ if (disabled) return;
906
+
907
+ toArray(objects).forEach(function (mutationRecord) {
908
+ if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {
909
+ if (config$1.searchPseudoElements) {
910
+ pseudoElementsCallback(mutationRecord.target);
911
+ }
912
+
913
+ treeCallback(mutationRecord.target);
914
+ }
915
+
916
+ if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config$1.searchPseudoElements) {
917
+ pseudoElementsCallback(mutationRecord.target.parentNode);
918
+ }
919
+
920
+ if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {
921
+ if (mutationRecord.attributeName === 'class') {
922
+ var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),
923
+ prefix = _getCanonicalIcon.prefix,
924
+ iconName = _getCanonicalIcon.iconName;
925
+
926
+ if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);
927
+ if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);
928
+ } else {
929
+ nodeCallback(mutationRecord.target);
930
+ }
931
+ }
932
+ });
933
+ });
934
+
935
+ if (!IS_DOM) return;
936
+
937
+ mo.observe(DOCUMENT.getElementsByTagName('body')[0], {
938
+ childList: true, attributes: true, characterData: true, subtree: true
939
+ });
940
+ }
941
+
942
+ function disconnect() {
943
+ if (!mo) return;
944
+
945
+ mo.disconnect();
946
+ }
947
+
948
+ var styleParser = function (node) {
949
+ var style = node.getAttribute('style');
950
+
951
+ var val = [];
952
+
953
+ if (style) {
954
+ val = style.split(';').reduce(function (acc, style) {
955
+ var styles = style.split(':');
956
+ var prop = styles[0];
957
+ var value = styles.slice(1);
958
+
959
+ if (prop && value.length > 0) {
960
+ acc[prop] = value.join(':').trim();
961
+ }
962
+
963
+ return acc;
964
+ }, {});
965
+ }
966
+
967
+ return val;
968
+ };
969
+
970
+ function toHex(unicode) {
971
+ var result = '';
972
+
973
+ for (var i = 0; i < unicode.length; i++) {
974
+ var hex = unicode.charCodeAt(i).toString(16);
975
+ result += ('000' + hex).slice(-4);
976
+ }
977
+
978
+ return result;
979
+ }
980
+
981
+ var classParser = function (node) {
982
+ var existingPrefix = node.getAttribute('data-prefix');
983
+ var existingIconName = node.getAttribute('data-icon');
984
+ var innerText = node.innerText !== undefined ? node.innerText.trim() : '';
985
+
986
+ var val = getCanonicalIcon(classArray(node));
987
+
988
+ if (existingPrefix && existingIconName) {
989
+ val.prefix = existingPrefix;
990
+ val.iconName = existingIconName;
991
+ }
992
+
993
+ if (val.prefix && innerText.length > 1) {
994
+ val.iconName = byLigature(val.prefix, node.innerText);
995
+ } else if (val.prefix && innerText.length === 1) {
996
+ val.iconName = byUnicode(val.prefix, toHex(node.innerText));
997
+ }
998
+
999
+ return val;
1000
+ };
1001
+
1002
+ var parseTransformString = function parseTransformString(transformString) {
1003
+ var transform = {
1004
+ size: 16,
1005
+ x: 0,
1006
+ y: 0,
1007
+ flipX: false,
1008
+ flipY: false,
1009
+ rotate: 0
1010
+ };
1011
+
1012
+ if (!transformString) {
1013
+ return transform;
1014
+ } else {
1015
+ return transformString.toLowerCase().split(' ').reduce(function (acc, n) {
1016
+ var parts = n.toLowerCase().split('-');
1017
+ var first = parts[0];
1018
+ var rest = parts.slice(1).join('-');
1019
+
1020
+ if (first && rest === 'h') {
1021
+ acc.flipX = true;
1022
+ return acc;
1023
+ }
1024
+
1025
+ if (first && rest === 'v') {
1026
+ acc.flipY = true;
1027
+ return acc;
1028
+ }
1029
+
1030
+ rest = parseFloat(rest);
1031
+
1032
+ if (isNaN(rest)) {
1033
+ return acc;
1034
+ }
1035
+
1036
+ switch (first) {
1037
+ case 'grow':
1038
+ acc.size = acc.size + rest;
1039
+ break;
1040
+ case 'shrink':
1041
+ acc.size = acc.size - rest;
1042
+ break;
1043
+ case 'left':
1044
+ acc.x = acc.x - rest;
1045
+ break;
1046
+ case 'right':
1047
+ acc.x = acc.x + rest;
1048
+ break;
1049
+ case 'up':
1050
+ acc.y = acc.y - rest;
1051
+ break;
1052
+ case 'down':
1053
+ acc.y = acc.y + rest;
1054
+ break;
1055
+ case 'rotate':
1056
+ acc.rotate = acc.rotate + rest;
1057
+ break;
1058
+ }
1059
+
1060
+ return acc;
1061
+ }, transform);
1062
+ }
1063
+ };
1064
+
1065
+ var transformParser = function (node) {
1066
+ return parseTransformString(node.getAttribute('data-fa-transform'));
1067
+ };
1068
+
1069
+ var symbolParser = function (node) {
1070
+ var symbol = node.getAttribute('data-fa-symbol');
1071
+
1072
+ return symbol === null ? false : symbol === '' ? true : symbol;
1073
+ };
1074
+
1075
+ var attributesParser = function (node) {
1076
+ var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {
1077
+ if (acc.name !== 'class' && acc.name !== 'style') {
1078
+ acc[attr.name] = attr.value;
1079
+ }
1080
+ return acc;
1081
+ }, {});
1082
+
1083
+ var title = node.getAttribute('title');
1084
+
1085
+ if (config$1.autoA11y) {
1086
+ if (title) {
1087
+ extraAttributes['aria-labelledby'] = config$1.replacementClass + '-title-' + nextUniqueId();
1088
+ } else {
1089
+ extraAttributes['aria-hidden'] = 'true';
1090
+ }
1091
+ }
1092
+
1093
+ return extraAttributes;
1094
+ };
1095
+
1096
+ var maskParser = function (node) {
1097
+ var mask = node.getAttribute('data-fa-mask');
1098
+
1099
+ if (!mask) {
1100
+ return emptyCanonicalIcon();
1101
+ } else {
1102
+ return getCanonicalIcon(mask.split(' ').map(function (i) {
1103
+ return i.trim();
1104
+ }));
1105
+ }
1106
+ };
1107
+
1108
+ function parseMeta(node) {
1109
+ var _classParser = classParser(node),
1110
+ iconName = _classParser.iconName,
1111
+ prefix = _classParser.prefix,
1112
+ extraClasses = _classParser.rest;
1113
+
1114
+ var extraStyles = styleParser(node);
1115
+ var transform = transformParser(node);
1116
+ var symbol = symbolParser(node);
1117
+ var extraAttributes = attributesParser(node);
1118
+ var mask = maskParser(node);
1119
+
1120
+ return {
1121
+ iconName: iconName,
1122
+ title: node.getAttribute('title'),
1123
+ prefix: prefix,
1124
+ transform: transform,
1125
+ symbol: symbol,
1126
+ mask: mask,
1127
+ extra: {
1128
+ classes: extraClasses,
1129
+ styles: extraStyles,
1130
+ attributes: extraAttributes
1131
+ }
1132
+ };
1133
+ }
1134
+
1135
+ function MissingIcon(error) {
1136
+ this.name = 'MissingIcon';
1137
+ this.message = error || 'Icon unavailable';
1138
+ this.stack = new Error().stack;
1139
+ }
1140
+
1141
+ MissingIcon.prototype = Object.create(Error.prototype);
1142
+ MissingIcon.prototype.constructor = MissingIcon;
1143
+
1144
+ var FILL = { fill: 'currentColor' };
1145
+ var ANIMATION_BASE = {
1146
+ attributeType: 'XML',
1147
+ repeatCount: 'indefinite',
1148
+ dur: '2s'
1149
+ };
1150
+ var RING = {
1151
+ tag: 'path',
1152
+ attributes: _extends({}, FILL, {
1153
+ d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'
1154
+ })
1155
+ };
1156
+ var OPACITY_ANIMATE = _extends({}, ANIMATION_BASE, {
1157
+ attributeName: 'opacity'
1158
+ });
1159
+ var DOT = {
1160
+ tag: 'circle',
1161
+ attributes: _extends({}, FILL, {
1162
+ cx: '256',
1163
+ cy: '364',
1164
+ r: '28'
1165
+ }),
1166
+ children: [{ tag: 'animate', attributes: _extends({}, ANIMATION_BASE, { attributeName: 'r', values: '28;14;28;28;14;28;' }) }, { tag: 'animate', attributes: _extends({}, OPACITY_ANIMATE, { values: '1;0;1;1;0;1;' }) }]
1167
+ };
1168
+ var QUESTION = {
1169
+ tag: 'path',
1170
+ attributes: _extends({}, FILL, {
1171
+ opacity: '1',
1172
+ d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'
1173
+ }),
1174
+ children: [{ tag: 'animate', attributes: _extends({}, OPACITY_ANIMATE, { values: '1;0;0;0;0;1;' }) }]
1175
+ };
1176
+ var EXCLAMATION = {
1177
+ tag: 'path',
1178
+ attributes: _extends({}, FILL, {
1179
+ opacity: '0',
1180
+ d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'
1181
+ }),
1182
+ children: [{ tag: 'animate', attributes: _extends({}, OPACITY_ANIMATE, { values: '0;0;1;1;0;0;' }) }]
1183
+ };
1184
+
1185
+ var missing = { tag: 'g', children: [RING, DOT, QUESTION, EXCLAMATION] };
1186
+
1187
+ var styles = namespace.styles;
1188
+
1189
+ var LAYERS_TEXT_CLASSNAME = 'fa-layers-text';
1190
+ var FONT_FAMILY_PATTERN = /Font Awesome 5 (Solid|Regular|Light|Brands)/;
1191
+ var STYLE_TO_PREFIX = {
1192
+ 'Solid': 'fas',
1193
+ 'Regular': 'far',
1194
+ 'Light': 'fal',
1195
+ 'Brands': 'fab'
1196
+ };
1197
+
1198
+ function findIcon(iconName, prefix) {
1199
+ var val = {
1200
+ found: false,
1201
+ width: 512,
1202
+ height: 512,
1203
+ icon: missing
1204
+ };
1205
+
1206
+ if (iconName && prefix && styles[prefix] && styles[prefix][iconName]) {
1207
+ var icon = styles[prefix][iconName];
1208
+ var width = icon[0];
1209
+ var height = icon[1];
1210
+ var vectorData = icon.slice(4);
1211
+
1212
+ val = {
1213
+ found: true,
1214
+ width: width,
1215
+ height: height,
1216
+ icon: { tag: 'path', attributes: { fill: 'currentColor', d: vectorData[0] } }
1217
+ };
1218
+ } else if (iconName && prefix && !config$1.showMissingIcons) {
1219
+ throw new MissingIcon('Icon is missing for prefix ' + prefix + ' with icon name ' + iconName);
1220
+ }
1221
+
1222
+ return val;
1223
+ }
1224
+
1225
+ function generateSvgReplacementMutation(node, nodeMeta) {
1226
+ var iconName = nodeMeta.iconName,
1227
+ title = nodeMeta.title,
1228
+ prefix = nodeMeta.prefix,
1229
+ transform = nodeMeta.transform,
1230
+ symbol = nodeMeta.symbol,
1231
+ mask = nodeMeta.mask,
1232
+ extra = nodeMeta.extra;
1233
+
1234
+
1235
+ return [node, makeInlineSvgAbstract({
1236
+ icons: {
1237
+ main: findIcon(iconName, prefix),
1238
+ mask: findIcon(mask.iconName, mask.prefix)
1239
+ },
1240
+ prefix: prefix,
1241
+ iconName: iconName,
1242
+ transform: transform,
1243
+ symbol: symbol,
1244
+ mask: mask,
1245
+ title: title,
1246
+ extra: extra,
1247
+ watchable: true
1248
+ })];
1249
+ }
1250
+
1251
+ function generateLayersText(node, nodeMeta) {
1252
+ var title = nodeMeta.title,
1253
+ transform = nodeMeta.transform,
1254
+ extra = nodeMeta.extra;
1255
+
1256
+
1257
+ var width = null;
1258
+ var height = null;
1259
+
1260
+ if (IS_IE) {
1261
+ var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);
1262
+ var boundingClientRect = node.getBoundingClientRect();
1263
+ width = boundingClientRect.width / computedFontSize;
1264
+ height = boundingClientRect.height / computedFontSize;
1265
+ }
1266
+
1267
+ if (config$1.autoA11y && !title) {
1268
+ extra.attributes['aria-hidden'] = 'true';
1269
+ }
1270
+
1271
+ return [node, makeLayersTextAbstract({
1272
+ content: node.innerHTML,
1273
+ width: width,
1274
+ height: height,
1275
+ transform: transform,
1276
+ title: title,
1277
+ extra: extra,
1278
+ watchable: true
1279
+ })];
1280
+ }
1281
+
1282
+ function generateMutation(node) {
1283
+ var nodeMeta = parseMeta(node);
1284
+
1285
+ if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {
1286
+ return generateLayersText(node, nodeMeta);
1287
+ } else {
1288
+ return generateSvgReplacementMutation(node, nodeMeta);
1289
+ }
1290
+ }
1291
+
1292
+ function remove(node) {
1293
+ if (typeof node.remove === 'function') {
1294
+ node.remove();
1295
+ } else if (node && node.parentNode) {
1296
+ node.parentNode.removeChild(node);
1297
+ }
1298
+ }
1299
+
1300
+ function searchPseudoElements(root) {
1301
+ if (!IS_DOM) return;
1302
+
1303
+ var end = perf.begin('searchPseudoElements');
1304
+
1305
+ disableObservation(function () {
1306
+ toArray(root.querySelectorAll('*')).forEach(function (node) {
1307
+ [':before', ':after'].forEach(function (pos) {
1308
+ var styles = WINDOW.getComputedStyle(node, pos);
1309
+ var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);
1310
+ var children = toArray(node.children);
1311
+ var pseudoElement = children.filter(function (c) {
1312
+ return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === pos;
1313
+ })[0];
1314
+
1315
+ if (pseudoElement) {
1316
+ if (pseudoElement.nextSibling && pseudoElement.nextSibling.textContent.indexOf(DATA_FA_PSEUDO_ELEMENT) > -1) {
1317
+ remove(pseudoElement.nextSibling);
1318
+ }
1319
+ remove(pseudoElement);
1320
+ pseudoElement = null;
1321
+ }
1322
+
1323
+ if (fontFamily && !pseudoElement) {
1324
+ var content = styles.getPropertyValue('content');
1325
+ var i = DOCUMENT.createElement('i');
1326
+ i.setAttribute('class', '' + STYLE_TO_PREFIX[fontFamily[1]]);
1327
+ i.setAttribute(DATA_FA_PSEUDO_ELEMENT, pos);
1328
+ i.innerText = content.length === 3 ? content.substr(1, 1) : content;
1329
+ if (pos === ':before') {
1330
+ node.insertBefore(i, node.firstChild);
1331
+ } else {
1332
+ node.appendChild(i);
1333
+ }
1334
+ }
1335
+ });
1336
+ });
1337
+ });
1338
+
1339
+ end();
1340
+ }
1341
+
1342
+ function onTree(root) {
1343
+ var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1344
+
1345
+ if (!IS_DOM) return;
1346
+
1347
+ var htmlClassList = DOCUMENT.documentElement.classList;
1348
+ var hclAdd = function hclAdd(suffix) {
1349
+ return htmlClassList.add(HTML_CLASS_I2SVG_BASE_CLASS + '-' + suffix);
1350
+ };
1351
+ var hclRemove = function hclRemove(suffix) {
1352
+ return htmlClassList.remove(HTML_CLASS_I2SVG_BASE_CLASS + '-' + suffix);
1353
+ };
1354
+ var prefixes = Object.keys(styles);
1355
+ var prefixesDomQuery = ['.' + LAYERS_TEXT_CLASSNAME + ':not([' + DATA_FA_I2SVG + '])'].concat(prefixes.map(function (p) {
1356
+ return '.' + p + ':not([' + DATA_FA_I2SVG + '])';
1357
+ })).join(', ');
1358
+
1359
+ if (prefixesDomQuery.length === 0) {
1360
+ return;
1361
+ }
1362
+
1363
+ var candidates = toArray(root.querySelectorAll(prefixesDomQuery));
1364
+
1365
+ if (candidates.length > 0) {
1366
+ hclAdd('pending');
1367
+ hclRemove('complete');
1368
+ } else {
1369
+ return;
1370
+ }
1371
+
1372
+ var mark = perf.begin('onTree');
1373
+
1374
+ var mutations = candidates.reduce(function (acc, node) {
1375
+ try {
1376
+ var mutation = generateMutation(node);
1377
+
1378
+ if (mutation) {
1379
+ acc.push(mutation);
1380
+ }
1381
+ } catch (e) {
1382
+ if (!PRODUCTION) {
1383
+ if (e instanceof MissingIcon) {
1384
+ console.error(e);
1385
+ }
1386
+ }
1387
+ }
1388
+
1389
+ return acc;
1390
+ }, []);
1391
+
1392
+ mark();
1393
+
1394
+ perform(mutations, function () {
1395
+ hclAdd('active');
1396
+ hclAdd('complete');
1397
+ hclRemove('pending');
1398
+
1399
+ if (typeof callback === 'function') callback();
1400
+ });
1401
+ }
1402
+
1403
+ function onNode(node) {
1404
+ var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1405
+
1406
+ var mutation = generateMutation(node);
1407
+
1408
+ if (mutation) {
1409
+ perform([mutation], callback);
1410
+ }
1411
+ }
1412
+
1413
+ var baseStyles = "svg:not(:root).svg-inline--fa {\n overflow: visible; }\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -.125em; }\n .svg-inline--fa.fa-lg {\n vertical-align: -.225em; }\n .svg-inline--fa.fa-w-1 {\n width: 0.0625em; }\n .svg-inline--fa.fa-w-2 {\n width: 0.125em; }\n .svg-inline--fa.fa-w-3 {\n width: 0.1875em; }\n .svg-inline--fa.fa-w-4 {\n width: 0.25em; }\n .svg-inline--fa.fa-w-5 {\n width: 0.3125em; }\n .svg-inline--fa.fa-w-6 {\n width: 0.375em; }\n .svg-inline--fa.fa-w-7 {\n width: 0.4375em; }\n .svg-inline--fa.fa-w-8 {\n width: 0.5em; }\n .svg-inline--fa.fa-w-9 {\n width: 0.5625em; }\n .svg-inline--fa.fa-w-10 {\n width: 0.625em; }\n .svg-inline--fa.fa-w-11 {\n width: 0.6875em; }\n .svg-inline--fa.fa-w-12 {\n width: 0.75em; }\n .svg-inline--fa.fa-w-13 {\n width: 0.8125em; }\n .svg-inline--fa.fa-w-14 {\n width: 0.875em; }\n .svg-inline--fa.fa-w-15 {\n width: 0.9375em; }\n .svg-inline--fa.fa-w-16 {\n width: 1em; }\n .svg-inline--fa.fa-w-17 {\n width: 1.0625em; }\n .svg-inline--fa.fa-w-18 {\n width: 1.125em; }\n .svg-inline--fa.fa-w-19 {\n width: 1.1875em; }\n .svg-inline--fa.fa-w-20 {\n width: 1.25em; }\n .svg-inline--fa.fa-pull-left {\n margin-right: .3em;\n width: auto; }\n .svg-inline--fa.fa-pull-right {\n margin-left: .3em;\n width: auto; }\n .svg-inline--fa.fa-border {\n height: 1.5em; }\n .svg-inline--fa.fa-li {\n width: 2em; }\n .svg-inline--fa.fa-fw {\n width: 1.25em; }\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0; }\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -.125em;\n width: 1em; }\n .fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n\n.fa-layers-text, .fa-layers-counter {\n display: inline-block;\n position: absolute;\n text-align: center; }\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center; }\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: .25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right; }\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right; }\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left; }\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right; }\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left; }\n\n.fa-lg {\n font-size: 1.33333em;\n line-height: 0.75em;\n vertical-align: -.0667em; }\n\n.fa-xs {\n font-size: .75em; }\n\n.fa-sm {\n font-size: .875em; }\n\n.fa-1x {\n font-size: 1em; }\n\n.fa-2x {\n font-size: 2em; }\n\n.fa-3x {\n font-size: 3em; }\n\n.fa-4x {\n font-size: 4em; }\n\n.fa-5x {\n font-size: 5em; }\n\n.fa-6x {\n font-size: 6em; }\n\n.fa-7x {\n font-size: 7em; }\n\n.fa-8x {\n font-size: 8em; }\n\n.fa-9x {\n font-size: 9em; }\n\n.fa-10x {\n font-size: 10em; }\n\n.fa-fw {\n text-align: center;\n width: 1.25em; }\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0; }\n .fa-ul > li {\n position: relative; }\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit; }\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: .1em;\n padding: .2em .25em .15em; }\n\n.fa-pull-left {\n float: left; }\n\n.fa-pull-right {\n float: right; }\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: .3em; }\n\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: .3em; }\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear; }\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8); }\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg); }\n\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg); }\n\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg); }\n\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1); }\n\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1); }\n\n.fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1); }\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n -webkit-filter: none;\n filter: none; }\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2em; }\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0; }\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1em; }\n\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2em; }\n\n.fa-inverse {\n color: #fff; }\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto; }\n";
1414
+
1415
+ var css = function () {
1416
+ var dfp = DEFAULT_FAMILY_PREFIX;
1417
+ var drc = DEFAULT_REPLACEMENT_CLASS;
1418
+ var fp = config$1.familyPrefix;
1419
+ var rc = config$1.replacementClass;
1420
+ var s = baseStyles;
1421
+
1422
+ if (fp !== dfp || rc !== drc) {
1423
+ var dPatt = new RegExp('\\.' + dfp + '\\-', 'g');
1424
+ var rPatt = new RegExp('\\.' + drc, 'g');
1425
+
1426
+ s = s.replace(dPatt, '.' + fp + '-').replace(rPatt, '.' + rc);
1427
+ }
1428
+
1429
+ return s;
1430
+ };
1431
+
1432
+ function define(prefix, icons) {
1433
+ var normalized = Object.keys(icons).reduce(function (acc, iconName) {
1434
+ var icon = icons[iconName];
1435
+ var expanded = !!icon.icon;
1436
+
1437
+ if (expanded) {
1438
+ acc[icon.iconName] = icon.icon;
1439
+ } else {
1440
+ acc[iconName] = icon;
1441
+ }
1442
+ return acc;
1443
+ }, {});
1444
+
1445
+ if (typeof namespace.hooks.addPack === 'function') {
1446
+ namespace.hooks.addPack(prefix, normalized);
1447
+ } else {
1448
+ namespace.styles[prefix] = _extends({}, namespace.styles[prefix] || {}, normalized);
1449
+ }
1450
+
1451
+ /**
1452
+ * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction
1453
+ * of new styles we needed to differentiate between them. Prefix `fa` is now an alias
1454
+ * for `fas` so we'll easy the upgrade process for our users by automatically defining
1455
+ * this as well.
1456
+ */
1457
+ if (prefix === 'fas') {
1458
+ define('fa', icons);
1459
+ }
1460
+ }
1461
+
1462
+ var Library = function () {
1463
+ function Library() {
1464
+ classCallCheck(this, Library);
1465
+
1466
+ this.definitions = {};
1467
+ }
1468
+
1469
+ createClass(Library, [{
1470
+ key: 'add',
1471
+ value: function add() {
1472
+ var _this = this;
1473
+
1474
+ for (var _len = arguments.length, definitions = Array(_len), _key = 0; _key < _len; _key++) {
1475
+ definitions[_key] = arguments[_key];
1476
+ }
1477
+
1478
+ var additions = definitions.reduce(this._pullDefinitions, {});
1479
+
1480
+ Object.keys(additions).forEach(function (key) {
1481
+ _this.definitions[key] = _extends({}, _this.definitions[key] || {}, additions[key]);
1482
+ define(key, additions[key]);
1483
+ });
1484
+ }
1485
+ }, {
1486
+ key: 'reset',
1487
+ value: function reset() {
1488
+ this.definitions = {};
1489
+ }
1490
+ }, {
1491
+ key: '_pullDefinitions',
1492
+ value: function _pullDefinitions(additions, definition) {
1493
+ var normalized = definition.prefix && definition.iconName && definition.icon ? { 0: definition } : definition;
1494
+
1495
+ Object.keys(normalized).map(function (key) {
1496
+ var _normalized$key = normalized[key],
1497
+ prefix = _normalized$key.prefix,
1498
+ iconName = _normalized$key.iconName,
1499
+ icon = _normalized$key.icon;
1500
+
1501
+
1502
+ if (!additions[prefix]) additions[prefix] = {};
1503
+
1504
+ additions[prefix][iconName] = icon;
1505
+ });
1506
+
1507
+ return additions;
1508
+ }
1509
+ }]);
1510
+ return Library;
1511
+ }();
1512
+
1513
+ function prepIcon(icon) {
1514
+ var width = icon[0];
1515
+ var height = icon[1];
1516
+ var vectorData = icon.slice(4);
1517
+
1518
+ return {
1519
+ found: true,
1520
+ width: width,
1521
+ height: height,
1522
+ icon: { tag: 'path', attributes: { fill: 'currentColor', d: vectorData[0] } }
1523
+ };
1524
+ }
1525
+
1526
+ var _cssInserted = false;
1527
+
1528
+ function ensureCss() {
1529
+ if (!config$1.autoAddCss) {
1530
+ return;
1531
+ }
1532
+
1533
+ if (!_cssInserted) {
1534
+ insertCss(css());
1535
+ }
1536
+
1537
+ _cssInserted = true;
1538
+ }
1539
+
1540
+ function apiObject(val, abstractCreator) {
1541
+ Object.defineProperty(val, 'abstract', {
1542
+ get: abstractCreator
1543
+ });
1544
+
1545
+ Object.defineProperty(val, 'html', {
1546
+ get: function get() {
1547
+ return val.abstract.map(function (a) {
1548
+ return toHtml(a);
1549
+ });
1550
+ }
1551
+ });
1552
+
1553
+ Object.defineProperty(val, 'node', {
1554
+ get: function get() {
1555
+ if (!IS_DOM) return;
1556
+
1557
+ var container = DOCUMENT.createElement('div');
1558
+ container.innerHTML = val.html;
1559
+ return container.children;
1560
+ }
1561
+ });
1562
+
1563
+ return val;
1564
+ }
1565
+
1566
+ function findIconDefinition(params) {
1567
+ var _params$prefix = params.prefix,
1568
+ prefix = _params$prefix === undefined ? 'fa' : _params$prefix,
1569
+ iconName = params.iconName;
1570
+
1571
+
1572
+ if (!iconName) return;
1573
+
1574
+ return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);
1575
+ }
1576
+
1577
+ function resolveIcons(next) {
1578
+ return function (maybeIconDefinition) {
1579
+ var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1580
+
1581
+ var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});
1582
+
1583
+ var mask = params.mask;
1584
+
1585
+
1586
+ if (mask) {
1587
+ mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});
1588
+ }
1589
+
1590
+ return next(iconDefinition, _extends({}, params, { mask: mask }));
1591
+ };
1592
+ }
1593
+
1594
+ var library = new Library();
1595
+
1596
+ var noAuto = function noAuto() {
1597
+ auto(false);
1598
+ disconnect();
1599
+ };
1600
+
1601
+ var dom = {
1602
+ i2svg: function i2svg() {
1603
+ var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1604
+
1605
+ if (IS_DOM) {
1606
+ ensureCss();
1607
+
1608
+ var _params$node = params.node,
1609
+ node = _params$node === undefined ? DOCUMENT : _params$node,
1610
+ _params$callback = params.callback,
1611
+ callback = _params$callback === undefined ? function () {} : _params$callback;
1612
+
1613
+
1614
+ if (config$1.searchPseudoElements) {
1615
+ searchPseudoElements(node);
1616
+ }
1617
+
1618
+ onTree(node, callback);
1619
+ }
1620
+ },
1621
+
1622
+ css: css,
1623
+
1624
+ insertCss: function insertCss$$1() {
1625
+ insertCss(css());
1626
+ }
1627
+ };
1628
+
1629
+ var parse = {
1630
+ transform: function transform(transformString) {
1631
+ return parseTransformString(transformString);
1632
+ }
1633
+ };
1634
+
1635
+ var icon = resolveIcons(function (iconDefinition) {
1636
+ var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1637
+ var _params$transform = params.transform,
1638
+ transform = _params$transform === undefined ? meaninglessTransform : _params$transform,
1639
+ _params$symbol = params.symbol,
1640
+ symbol = _params$symbol === undefined ? false : _params$symbol,
1641
+ _params$mask = params.mask,
1642
+ mask = _params$mask === undefined ? null : _params$mask,
1643
+ _params$title = params.title,
1644
+ title = _params$title === undefined ? null : _params$title,
1645
+ _params$classes = params.classes,
1646
+ classes = _params$classes === undefined ? [] : _params$classes,
1647
+ _params$attributes = params.attributes,
1648
+ attributes = _params$attributes === undefined ? {} : _params$attributes,
1649
+ _params$styles = params.styles,
1650
+ styles = _params$styles === undefined ? {} : _params$styles;
1651
+
1652
+
1653
+ if (!iconDefinition) return;
1654
+
1655
+ var prefix = iconDefinition.prefix,
1656
+ iconName = iconDefinition.iconName,
1657
+ icon = iconDefinition.icon;
1658
+
1659
+
1660
+ return apiObject(_extends({ type: 'icon' }, iconDefinition), function () {
1661
+ ensureCss();
1662
+
1663
+ if (config$1.autoA11y) {
1664
+ if (title) {
1665
+ attributes['aria-labelledby'] = config$1.replacementClass + '-title-' + nextUniqueId();
1666
+ } else {
1667
+ attributes['aria-hidden'] = 'true';
1668
+ }
1669
+ }
1670
+
1671
+ return makeInlineSvgAbstract({
1672
+ icons: {
1673
+ main: prepIcon(icon),
1674
+ mask: mask ? prepIcon(mask.icon) : { found: false, width: null, height: null, icon: {} }
1675
+ },
1676
+ prefix: prefix,
1677
+ iconName: iconName,
1678
+ transform: _extends({}, meaninglessTransform, transform),
1679
+ symbol: symbol,
1680
+ title: title,
1681
+ extra: {
1682
+ attributes: attributes,
1683
+ styles: styles,
1684
+ classes: classes
1685
+ }
1686
+ });
1687
+ });
1688
+ });
1689
+
1690
+ var text = function text(content) {
1691
+ var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1692
+ var _params$transform2 = params.transform,
1693
+ transform = _params$transform2 === undefined ? meaninglessTransform : _params$transform2,
1694
+ _params$title2 = params.title,
1695
+ title = _params$title2 === undefined ? null : _params$title2,
1696
+ _params$classes2 = params.classes,
1697
+ classes = _params$classes2 === undefined ? [] : _params$classes2,
1698
+ _params$attributes2 = params.attributes,
1699
+ attributes = _params$attributes2 === undefined ? {} : _params$attributes2,
1700
+ _params$styles2 = params.styles,
1701
+ styles = _params$styles2 === undefined ? {} : _params$styles2;
1702
+
1703
+
1704
+ return apiObject({ type: 'text', content: content }, function () {
1705
+ ensureCss();
1706
+
1707
+ return makeLayersTextAbstract({
1708
+ content: content,
1709
+ transform: _extends({}, meaninglessTransform, transform),
1710
+ title: title,
1711
+ extra: {
1712
+ attributes: attributes,
1713
+ styles: styles,
1714
+ classes: [config$1.familyPrefix + '-layers-text'].concat(toConsumableArray(classes))
1715
+ }
1716
+ });
1717
+ });
1718
+ };
1719
+
1720
+ var layer = function layer(assembler) {
1721
+ return apiObject({ type: 'layer' }, function () {
1722
+ ensureCss();
1723
+
1724
+ var children = [];
1725
+
1726
+ assembler(function (args) {
1727
+ Array.isArray(args) ? args.map(function (a) {
1728
+ children = children.concat(a.abstract);
1729
+ }) : children = children.concat(args.abstract);
1730
+ });
1731
+
1732
+ return [{
1733
+ tag: 'span',
1734
+ attributes: { class: config$1.familyPrefix + '-layers' },
1735
+ children: children
1736
+ }];
1737
+ });
1738
+ };
1739
+
1740
+ var api$1 = {
1741
+ noAuto: noAuto,
1742
+ dom: dom,
1743
+ library: library,
1744
+ parse: parse,
1745
+ findIconDefinition: findIconDefinition,
1746
+ icon: icon,
1747
+ text: text,
1748
+ layer: layer
1749
+ };
1750
+
1751
+ var autoReplace = function autoReplace() {
1752
+ if (IS_DOM && config$1.autoReplaceSvg) api$1.dom.i2svg({ node: DOCUMENT });
1753
+ };
1754
+
1755
+ function bootstrap() {
1756
+ if (IS_BROWSER) {
1757
+ if (!WINDOW.FontAwesome) {
1758
+ WINDOW.FontAwesome = api$1;
1759
+ }
1760
+
1761
+ domready(function () {
1762
+ if (Object.keys(namespace.styles).length > 0) {
1763
+ autoReplace();
1764
+ }
1765
+
1766
+ if (config$1.observeMutations && typeof MutationObserver === 'function') {
1767
+ observe({
1768
+ treeCallback: onTree,
1769
+ nodeCallback: onNode,
1770
+ pseudoElementsCallback: searchPseudoElements
1771
+ });
1772
+ }
1773
+ });
1774
+ }
1775
+
1776
+ namespace.hooks = _extends({}, namespace.hooks, {
1777
+
1778
+ addPack: function addPack(prefix, icons) {
1779
+ namespace.styles[prefix] = _extends({}, namespace.styles[prefix] || {}, icons);
1780
+
1781
+ build();
1782
+ autoReplace();
1783
+ },
1784
+
1785
+ addShims: function addShims(shims) {
1786
+ var _namespace$shims;
1787
+
1788
+ (_namespace$shims = namespace.shims).push.apply(_namespace$shims, toConsumableArray(shims));
1789
+
1790
+ build();
1791
+ autoReplace();
1792
+ }
1793
+ });
1794
+ }
1795
+
1796
+ Object.defineProperty(api$1, 'config', {
1797
+ get: function get() {
1798
+ return config$1;
1799
+ },
1800
+
1801
+ set: function set(newConfig) {
1802
+ update(newConfig);
1803
+ }
1804
+ });
1805
+
1806
+ if (IS_DOM) bunker(bootstrap);
1807
+
1808
+ var config = api$1.config;
1809
+
1810
+ exports.config = config;
1811
+ exports['default'] = api$1;
1812
+ exports.icon = icon;
1813
+ exports.noAuto = noAuto;
1814
+ exports.layer = layer;
1815
+ exports.text = text;
1816
+ exports.library = library;
1817
+ exports.dom = dom;
1818
+ exports.parse = parse;
1819
+ exports.findIconDefinition = findIconDefinition;
1820
+
1821
+ Object.defineProperty(exports, '__esModule', { value: true });
1822
+
1823
+ })));