jekyll-theme-marketing 0.5.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ })));