nitro_sg 3.0.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (171) hide show
  1. checksums.yaml +4 -4
  2. data/fonts/fontawesome.js +1978 -0
  3. data/fonts/regular.js +1217 -0
  4. data/lib/nitro_sg/version.rb +1 -1
  5. data/sass-mixins/_global.scss +415 -0
  6. data/sass-mixins/_normalize.scss +424 -0
  7. data/sass-mixins/_print.scss +101 -0
  8. data/sass-mixins/application.scss +29 -0
  9. data/sass-mixins/application.scss.flow +1592 -0
  10. data/sass-mixins/base-mixins/_all.scss +11 -0
  11. data/sass-mixins/base-mixins/_all.scss.flow +6 -0
  12. data/sass-mixins/base-mixins/_border-radius.scss +25 -0
  13. data/sass-mixins/base-mixins/_breakpoints.scss +95 -0
  14. data/sass-mixins/base-mixins/_color.sass +22 -0
  15. data/sass-mixins/base-mixins/_forms.scss +33 -0
  16. data/sass-mixins/base-mixins/_general.scss +599 -0
  17. data/sass-mixins/base-mixins/_grid-framework.scss +81 -0
  18. data/sass-mixins/base-mixins/_grid.scss +126 -0
  19. data/sass-mixins/base-mixins/_hover.scss +26 -0
  20. data/sass-mixins/base-mixins/_images.scss +33 -0
  21. data/sass-mixins/base-mixins/_media-queries.sass +58 -0
  22. data/sass-mixins/base-mixins/_type.scss +46 -0
  23. data/sass-mixins/base-variables/_all.scss +11 -0
  24. data/sass-mixins/base-variables/_animation-curves.scss +37 -0
  25. data/sass-mixins/base-variables/_bootstrap-variables.scss +284 -0
  26. data/sass-mixins/base-variables/_border-radius.sass +27 -0
  27. data/sass-mixins/base-variables/_color-bootstrap.scss +62 -0
  28. data/sass-mixins/base-variables/_color-deprecated.scss +26 -0
  29. data/sass-mixins/base-variables/_color-ui-elements.scss +20 -0
  30. data/sass-mixins/base-variables/_colors-export.scss +13 -0
  31. data/sass-mixins/base-variables/_colors-export.scss.flow +92 -0
  32. data/sass-mixins/base-variables/_colors.scss +267 -0
  33. data/sass-mixins/base-variables/_colors.scss.flow +5 -0
  34. data/sass-mixins/base-variables/_fonts.scss +97 -0
  35. data/sass-mixins/base-variables/_forms.scss +44 -0
  36. data/sass-mixins/base-variables/_opacity.scss +9 -0
  37. data/sass-mixins/base-variables/_positioning.scss +24 -0
  38. data/sass-mixins/base-variables/_shadows.scss +5 -0
  39. data/sass-mixins/base-variables/_sizing-ui-elements.scss +2 -0
  40. data/sass-mixins/base-variables/_spacing.sass +27 -0
  41. data/sass-mixins/base-variables/_typography.sass +79 -0
  42. data/sass-mixins/class-helpers/_all.scss +17 -0
  43. data/sass-mixins/class-helpers/_borders.scss +40 -0
  44. data/sass-mixins/class-helpers/_color.sass +61 -0
  45. data/sass-mixins/class-helpers/_display.scss +40 -0
  46. data/sass-mixins/class-helpers/_flexbox.scss +213 -0
  47. data/sass-mixins/class-helpers/_glyphicons.scss +307 -0
  48. data/sass-mixins/class-helpers/_line-height.scss +21 -0
  49. data/sass-mixins/class-helpers/_radius-and-shadows.scss +49 -0
  50. data/sass-mixins/class-helpers/_responsive-utilities.scss +179 -0
  51. data/sass-mixins/class-helpers/_screen-readers.scss +34 -0
  52. data/sass-mixins/class-helpers/_spacing.scss +51 -0
  53. data/sass-mixins/class-helpers/_type.scss +323 -0
  54. data/sass-mixins/class-helpers/_z-index.scss +10 -0
  55. data/sass-mixins/components.scss +5 -0
  56. data/sass-mixins/nitro-ui/_alerts.scss +139 -0
  57. data/sass-mixins/nitro-ui/_all.scss +33 -0
  58. data/sass-mixins/nitro-ui/_animations.scss +37 -0
  59. data/sass-mixins/nitro-ui/_carousel.scss +281 -0
  60. data/sass-mixins/nitro-ui/_code.scss +87 -0
  61. data/sass-mixins/nitro-ui/_connect-cards.scss +150 -0
  62. data/sass-mixins/nitro-ui/_dashboards.scss +516 -0
  63. data/sass-mixins/nitro-ui/_fixed-confirmation-toast.scss +48 -0
  64. data/sass-mixins/nitro-ui/_full-menu.scss +168 -0
  65. data/sass-mixins/nitro-ui/_grid.scss +92 -0
  66. data/sass-mixins/nitro-ui/_icon-toggle.scss +37 -0
  67. data/sass-mixins/nitro-ui/_jumbotron.scss +65 -0
  68. data/sass-mixins/nitro-ui/_links.scss +69 -0
  69. data/sass-mixins/nitro-ui/_list-group.scss +219 -0
  70. data/sass-mixins/nitro-ui/_media.scss +66 -0
  71. data/sass-mixins/nitro-ui/_modals.scss +311 -0
  72. data/sass-mixins/nitro-ui/_notify.scss +56 -0
  73. data/sass-mixins/nitro-ui/_popovers.scss +167 -0
  74. data/sass-mixins/nitro-ui/_progress-bars.scss +125 -0
  75. data/sass-mixins/nitro-ui/_responsive-embed.scss +35 -0
  76. data/sass-mixins/nitro-ui/_side-modal.scss +92 -0
  77. data/sass-mixins/nitro-ui/_tables-responsive.scss +253 -0
  78. data/sass-mixins/nitro-ui/_tables.scss +296 -0
  79. data/sass-mixins/nitro-ui/_thumbnails.scss +38 -0
  80. data/sass-mixins/nitro-ui/_tooltip.scss +124 -0
  81. data/sass-mixins/nitro-ui/_typography.scss +176 -0
  82. data/sass-mixins/nitro-ui/_value-stat.scss +149 -0
  83. data/sass-mixins/nitro-ui/_wells.scss +37 -0
  84. data/sass-mixins/nitro-ui/buttons/_all.scss +97 -0
  85. data/sass-mixins/nitro-ui/buttons/_button-capping.scss +21 -0
  86. data/sass-mixins/nitro-ui/buttons/_button-groups.scss +236 -0
  87. data/sass-mixins/nitro-ui/buttons/_button-mixins.scss +66 -0
  88. data/sass-mixins/nitro-ui/buttons/_button-variables.scss +51 -0
  89. data/sass-mixins/nitro-ui/buttons/_choice-buttons.scss +9 -0
  90. data/sass-mixins/nitro-ui/buttons/_circle-buttons.scss +30 -0
  91. data/sass-mixins/nitro-ui/buttons/_close.scss +45 -0
  92. data/sass-mixins/nitro-ui/buttons/_dropdowns.scss +270 -0
  93. data/sass-mixins/nitro-ui/buttons/_ghost-buttons.scss +58 -0
  94. data/sass-mixins/nitro-ui/buttons/_link-buttons.scss +53 -0
  95. data/sass-mixins/nitro-ui/buttons/_solid-buttons.scss +69 -0
  96. data/sass-mixins/nitro-ui/cards-panels/_all.scss +3 -0
  97. data/sass-mixins/nitro-ui/cards-panels/_cards.scss +409 -0
  98. data/sass-mixins/nitro-ui/cards-panels/_collapsible-card.scss +19 -0
  99. data/sass-mixins/nitro-ui/cards-panels/_panel-collapse.scss +34 -0
  100. data/sass-mixins/nitro-ui/cards-panels/_panel-list-groups.scss +41 -0
  101. data/sass-mixins/nitro-ui/cards-panels/_panel-tables.scss +111 -0
  102. data/sass-mixins/nitro-ui/cards-panels/_panels.scss +120 -0
  103. data/sass-mixins/nitro-ui/forms/_all.scss +18 -0
  104. data/sass-mixins/nitro-ui/forms/_checkbox-radio.scss +154 -0
  105. data/sass-mixins/nitro-ui/forms/_checkbox-toggle.scss +77 -0
  106. data/sass-mixins/nitro-ui/forms/_color-feedback.scss +53 -0
  107. data/sass-mixins/nitro-ui/forms/_dropdown.scss +12 -0
  108. data/sass-mixins/nitro-ui/forms/_form-group.scss +104 -0
  109. data/sass-mixins/nitro-ui/forms/_general-element-reset.scss +120 -0
  110. data/sass-mixins/nitro-ui/forms/_help-block.scss +11 -0
  111. data/sass-mixins/nitro-ui/forms/_horizontal-forms.scss +69 -0
  112. data/sass-mixins/nitro-ui/forms/_input-groups.scss +169 -0
  113. data/sass-mixins/nitro-ui/forms/_label.scss +29 -0
  114. data/sass-mixins/nitro-ui/forms/_multi-input-group.scss +89 -0
  115. data/sass-mixins/nitro-ui/forms/_static-form-text.scss +19 -0
  116. data/sass-mixins/nitro-ui/forms/_validation-states.scss +78 -0
  117. data/sass-mixins/nitro-ui/layouts/_sidebar-layout.scss +59 -0
  118. data/sass-mixins/nitro-ui/navigation/_all.scss +36 -0
  119. data/sass-mixins/nitro-ui/navigation/_breadcrumbs.scss +30 -0
  120. data/sass-mixins/nitro-ui/navigation/_pager.scss +71 -0
  121. data/sass-mixins/nitro-ui/navigation/_pagination.scss +212 -0
  122. data/sass-mixins/nitro-ui/navigation/navbar/_brand.scss +25 -0
  123. data/sass-mixins/nitro-ui/navigation/navbar/_collapse-content.scss +49 -0
  124. data/sass-mixins/nitro-ui/navigation/navbar/_default-navbar.scss +33 -0
  125. data/sass-mixins/nitro-ui/navigation/navbar/_dropdowns-buttons.scss +29 -0
  126. data/sass-mixins/nitro-ui/navigation/navbar/_floats.scss +21 -0
  127. data/sass-mixins/nitro-ui/navigation/navbar/_flush.scss +14 -0
  128. data/sass-mixins/nitro-ui/navigation/navbar/_forms.scss +41 -0
  129. data/sass-mixins/nitro-ui/navigation/navbar/_header.scss +31 -0
  130. data/sass-mixins/nitro-ui/navigation/navbar/_inverse-navbar.scss +32 -0
  131. data/sass-mixins/nitro-ui/navigation/navbar/_light-navbar.scss +36 -0
  132. data/sass-mixins/nitro-ui/navigation/navbar/_links.scss +52 -0
  133. data/sass-mixins/nitro-ui/navigation/navbar/_mixins.scss +161 -0
  134. data/sass-mixins/nitro-ui/navigation/navbar/_navbar.scss +29 -0
  135. data/sass-mixins/nitro-ui/navigation/navbar/_position.scss +50 -0
  136. data/sass-mixins/nitro-ui/navigation/navbar/_text.scss +13 -0
  137. data/sass-mixins/nitro-ui/navigation/navbar/_toggle-button.scss +37 -0
  138. data/sass-mixins/nitro-ui/navigation/navbar/_variables.scss +8 -0
  139. data/sass-mixins/nitro-ui/navigation/navs/_nav-dropdowns.scss +10 -0
  140. data/sass-mixins/nitro-ui/navigation/navs/_nav-justified.scss +32 -0
  141. data/sass-mixins/nitro-ui/navigation/navs/_nav-pills.scss +41 -0
  142. data/sass-mixins/nitro-ui/navigation/navs/_nav-tabs-justified.scss +30 -0
  143. data/sass-mixins/nitro-ui/navigation/navs/_nav-tabs.scss +41 -0
  144. data/sass-mixins/nitro-ui/navigation/navs/_nav.scss +383 -0
  145. data/sass-mixins/nitro-ui/navigation/navs/_navs.scss +70 -0
  146. data/sass-mixins/nitro-ui/navigation/navs/_tabbable-tabs.scss +12 -0
  147. data/sass-mixins/nitro-ui/navigation/navs/_variables.scss +23 -0
  148. data/sass-mixins/nitro-ui/tables/_all.scss +14 -0
  149. data/sass-mixins/nitro-ui/tables/_as-cards.scss +49 -0
  150. data/sass-mixins/nitro-ui/tables/_content.scss +13 -0
  151. data/sass-mixins/nitro-ui/tables/_headers.scss +17 -0
  152. data/sass-mixins/nitro-ui/tables/_hover.scss +66 -0
  153. data/sass-mixins/nitro-ui/tables/_mixins.scss +0 -0
  154. data/sass-mixins/nitro-ui/tables/_mobile.scss +138 -0
  155. data/sass-mixins/nitro-ui/tables/_reset.scss +17 -0
  156. data/sass-mixins/nitro-ui/tables/_single-line.scss +35 -0
  157. data/sass-mixins/nitro-ui/tables/_structure.scss +39 -0
  158. data/sass-mixins/nitro-ui/tables/_table-card.scss +88 -0
  159. data/sass-mixins/nitro-ui/tables/_table-dark.scss +92 -0
  160. data/sass-mixins/nitro-ui/tables/_variables.scss +23 -0
  161. data/sass-mixins/vendor/_bootstrap-overrides.scss +41 -0
  162. data/sass-mixins/vendor/_dropzone.scss +388 -0
  163. data/sass-mixins/vendor/_nitro-bootstrap.scss +95 -0
  164. data/sass-mixins/vendor/_nitro-dropzone.scss +56 -0
  165. data/sass-mixins/vendor/_react-datetime.scss +105 -0
  166. data/sass-mixins/vendor/_selectize.scss +407 -0
  167. data/sass-mixins/vendor/_sweet-alert-extended.scss +3 -0
  168. data/sass-mixins/vendor/react-select.css +375 -0
  169. data/sass-mixins/vendor/svg-with-js.css +5 -0
  170. data/sass-mixins/vendor/type-ahead.scss +43 -0
  171. metadata +170 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f547f99e50f3f9f8e96004704dea0c483c6094a22887bc63d14dea569e5f882d
4
- data.tar.gz: a4511c9fc6817609626509ce2f7bd7304c90c92f80bb2148bf69b66d7fd8ba03
3
+ metadata.gz: e79466193f526688fdd762167de1c721c516494aa5cbb3186af49029ec5005e6
4
+ data.tar.gz: 27f33998899cc1da38cbee6bd5929e43a671be6ebfa58df7a99c1675a2cb3db8
5
5
  SHA512:
6
- metadata.gz: 98f1d4d139dac35b0f2785bfbcd80d09df0b28ea966e43b30f9876d337527c37a527ca7db8781eabec58a20b23a45aa8901dea3ace1241ffd93eda961a84c53c
7
- data.tar.gz: 8b0f499c31d64a9368a2b80e4bddb37d5ed58a62614296ec84b477a53622dd40a0055d79b122facff5e28bd40e5d8eaa1b7625ba5700a9cf3271d3ba1d09c1a8
6
+ metadata.gz: ed5421acd09fa6802b6f2fdaac6e6e419017939b4119c0700ba5d83b3d737f7544ea3cf258368a70aa70a8f46c21d1e2c13f43bcc3f7b80e210e1170970fbab7
7
+ data.tar.gz: 701e7d961454f629f9619f75f186cdce382557be07b5bde56721f70a2557eb0ae9f014ba497818640970ad463dff2a59de040b862ee64bbcbe1f1719c34745d0
@@ -0,0 +1,1978 @@
1
+ /*!
2
+ * Font Awesome Pro 5.2.0 by @fontawesome - https://fontawesome.com
3
+ * License - https://fontawesome.com/license (Commercial License)
4
+ */
5
+ (function () {
6
+ 'use strict';
7
+
8
+ var noop = function noop() {};
9
+
10
+ var _WINDOW = {};
11
+ var _DOCUMENT = {};
12
+ var _MUTATION_OBSERVER$1 = null;
13
+ var _PERFORMANCE = { mark: noop, measure: noop };
14
+
15
+ try {
16
+ if (typeof window !== 'undefined') _WINDOW = window;
17
+ if (typeof document !== 'undefined') _DOCUMENT = document;
18
+ if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER$1 = MutationObserver;
19
+ if (typeof performance !== 'undefined') _PERFORMANCE = performance;
20
+ } catch (e) {}
21
+
22
+ var _ref = _WINDOW.navigator || {};
23
+ var _ref$userAgent = _ref.userAgent;
24
+ var userAgent = _ref$userAgent === undefined ? '' : _ref$userAgent;
25
+
26
+ var WINDOW = _WINDOW;
27
+ var DOCUMENT = _DOCUMENT;
28
+ var MUTATION_OBSERVER = _MUTATION_OBSERVER$1;
29
+ var PERFORMANCE = _PERFORMANCE;
30
+ var IS_BROWSER = !!WINDOW.document;
31
+ var IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';
32
+ var IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');
33
+
34
+ var NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';
35
+ var UNITS_IN_GRID = 16;
36
+ var DEFAULT_FAMILY_PREFIX = 'fa';
37
+ var DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';
38
+ var DATA_FA_I2SVG = 'data-fa-i2svg';
39
+ var DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';
40
+ var DATA_PREFIX = 'data-prefix';
41
+ var DATA_ICON = 'data-icon';
42
+ var HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';
43
+ var TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];
44
+ var PRODUCTION = function () {
45
+ try {
46
+ return "production" === 'production';
47
+ } catch (e) {
48
+ return false;
49
+ }
50
+ }();
51
+
52
+ var oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
53
+ var oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);
54
+
55
+ var ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];
56
+
57
+ 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) {
58
+ return n + 'x';
59
+ })).concat(oneToTwenty.map(function (n) {
60
+ return 'w-' + n;
61
+ }));
62
+
63
+ var classCallCheck = function (instance, Constructor) {
64
+ if (!(instance instanceof Constructor)) {
65
+ throw new TypeError("Cannot call a class as a function");
66
+ }
67
+ };
68
+
69
+ var createClass = function () {
70
+ function defineProperties(target, props) {
71
+ for (var i = 0; i < props.length; i++) {
72
+ var descriptor = props[i];
73
+ descriptor.enumerable = descriptor.enumerable || false;
74
+ descriptor.configurable = true;
75
+ if ("value" in descriptor) descriptor.writable = true;
76
+ Object.defineProperty(target, descriptor.key, descriptor);
77
+ }
78
+ }
79
+
80
+ return function (Constructor, protoProps, staticProps) {
81
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
82
+ if (staticProps) defineProperties(Constructor, staticProps);
83
+ return Constructor;
84
+ };
85
+ }();
86
+
87
+
88
+
89
+ var _extends = Object.assign || function (target) {
90
+ for (var i = 1; i < arguments.length; i++) {
91
+ var source = arguments[i];
92
+
93
+ for (var key in source) {
94
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
95
+ target[key] = source[key];
96
+ }
97
+ }
98
+ }
99
+
100
+ return target;
101
+ };
102
+
103
+
104
+
105
+ var slicedToArray = function () {
106
+ function sliceIterator(arr, i) {
107
+ var _arr = [];
108
+ var _n = true;
109
+ var _d = false;
110
+ var _e = undefined;
111
+
112
+ try {
113
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
114
+ _arr.push(_s.value);
115
+
116
+ if (i && _arr.length === i) break;
117
+ }
118
+ } catch (err) {
119
+ _d = true;
120
+ _e = err;
121
+ } finally {
122
+ try {
123
+ if (!_n && _i["return"]) _i["return"]();
124
+ } finally {
125
+ if (_d) throw _e;
126
+ }
127
+ }
128
+
129
+ return _arr;
130
+ }
131
+
132
+ return function (arr, i) {
133
+ if (Array.isArray(arr)) {
134
+ return arr;
135
+ } else if (Symbol.iterator in Object(arr)) {
136
+ return sliceIterator(arr, i);
137
+ } else {
138
+ throw new TypeError("Invalid attempt to destructure non-iterable instance");
139
+ }
140
+ };
141
+ }();
142
+
143
+ var toConsumableArray = function (arr) {
144
+ if (Array.isArray(arr)) {
145
+ for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
146
+
147
+ return arr2;
148
+ } else {
149
+ return Array.from(arr);
150
+ }
151
+ };
152
+
153
+ var initial = WINDOW.FontAwesomeConfig || {};
154
+
155
+ function getAttrConfig(attr) {
156
+ var element = DOCUMENT.querySelector('script[' + attr + ']');
157
+
158
+ if (element) {
159
+ return element.getAttribute(attr);
160
+ }
161
+ }
162
+
163
+ function coerce(val) {
164
+ // Getting an empty string will occur if the attribute is set on the HTML tag but without a value
165
+ // We'll assume that this is an indication that it should be toggled to true
166
+ // For example <script data-search-pseudo-elements src="..."></script>
167
+ if (val === '') return true;
168
+ if (val === 'false') return false;
169
+ if (val === 'true') return true;
170
+ return val;
171
+ }
172
+
173
+ if (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {
174
+ var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];
175
+
176
+ attrs.forEach(function (_ref) {
177
+ var _ref2 = slicedToArray(_ref, 2),
178
+ attr = _ref2[0],
179
+ key = _ref2[1];
180
+
181
+ var val = coerce(getAttrConfig(attr));
182
+
183
+ if (val !== undefined && val !== null) {
184
+ initial[key] = val;
185
+ }
186
+ });
187
+ }
188
+
189
+ var _default = _extends({
190
+ familyPrefix: DEFAULT_FAMILY_PREFIX,
191
+ replacementClass: DEFAULT_REPLACEMENT_CLASS,
192
+ autoReplaceSvg: true,
193
+ autoAddCss: true,
194
+ autoA11y: true,
195
+ searchPseudoElements: false,
196
+ observeMutations: true,
197
+ keepOriginalSource: true,
198
+ measurePerformance: false,
199
+ showMissingIcons: true
200
+ }, initial);
201
+
202
+ if (!_default.autoReplaceSvg) _default.observeMutations = false;
203
+
204
+ var config = _extends({}, _default);
205
+
206
+ WINDOW.FontAwesomeConfig = config;
207
+
208
+ var w = WINDOW || {};
209
+
210
+ if (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};
211
+ if (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};
212
+ if (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};
213
+ if (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];
214
+
215
+ var namespace = w[NAMESPACE_IDENTIFIER];
216
+
217
+ var functions = [];
218
+ var listener = function listener() {
219
+ DOCUMENT.removeEventListener('DOMContentLoaded', listener);
220
+ loaded = 1;
221
+ functions.map(function (fn) {
222
+ return fn();
223
+ });
224
+ };
225
+
226
+ var loaded = false;
227
+
228
+ if (IS_DOM) {
229
+ loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);
230
+
231
+ if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);
232
+ }
233
+
234
+ var domready = function (fn) {
235
+ if (!IS_DOM) return;
236
+ loaded ? setTimeout(fn, 0) : functions.push(fn);
237
+ };
238
+
239
+ var d = UNITS_IN_GRID;
240
+
241
+ var meaninglessTransform = {
242
+ size: 16,
243
+ x: 0,
244
+ y: 0,
245
+ rotate: 0,
246
+ flipX: false,
247
+ flipY: false
248
+ };
249
+
250
+ function isReserved(name) {
251
+ return ~RESERVED_CLASSES.indexOf(name);
252
+ }
253
+
254
+ function bunker(fn) {
255
+ try {
256
+ fn();
257
+ } catch (e) {
258
+ if (!PRODUCTION) {
259
+ throw e;
260
+ }
261
+ }
262
+ }
263
+
264
+ function insertCss(css) {
265
+ if (!css || !IS_DOM) {
266
+ return;
267
+ }
268
+
269
+ var style = DOCUMENT.createElement('style');
270
+ style.setAttribute('type', 'text/css');
271
+ style.innerHTML = css;
272
+
273
+ var headChildren = DOCUMENT.head.childNodes;
274
+ var beforeChild = null;
275
+
276
+ for (var i = headChildren.length - 1; i > -1; i--) {
277
+ var child = headChildren[i];
278
+ var tagName = (child.tagName || '').toUpperCase();
279
+ if (['STYLE', 'LINK'].indexOf(tagName) > -1) {
280
+ beforeChild = child;
281
+ }
282
+ }
283
+
284
+ DOCUMENT.head.insertBefore(style, beforeChild);
285
+
286
+ return css;
287
+ }
288
+
289
+ var _uniqueId = 0;
290
+
291
+ function nextUniqueId() {
292
+ _uniqueId++;
293
+
294
+ return _uniqueId;
295
+ }
296
+
297
+ function toArray(obj) {
298
+ var array = [];
299
+
300
+ for (var i = (obj || []).length >>> 0; i--;) {
301
+ array[i] = obj[i];
302
+ }
303
+
304
+ return array;
305
+ }
306
+
307
+ function classArray(node) {
308
+ if (node.classList) {
309
+ return toArray(node.classList);
310
+ } else {
311
+ return (node.getAttribute('class') || '').split(' ').filter(function (i) {
312
+ return i;
313
+ });
314
+ }
315
+ }
316
+
317
+ function getIconName(familyPrefix, cls) {
318
+ var parts = cls.split('-');
319
+ var prefix = parts[0];
320
+ var iconName = parts.slice(1).join('-');
321
+
322
+ if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {
323
+ return iconName;
324
+ } else {
325
+ return null;
326
+ }
327
+ }
328
+
329
+ function htmlEscape(str) {
330
+ return ('' + str).replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/'/g, '&#39;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
331
+ }
332
+
333
+ function joinAttributes(attributes) {
334
+ return Object.keys(attributes || {}).reduce(function (acc, attributeName) {
335
+ return acc + (attributeName + '="' + htmlEscape(attributes[attributeName]) + '" ');
336
+ }, '').trim();
337
+ }
338
+
339
+ function joinStyles(styles) {
340
+ return Object.keys(styles || {}).reduce(function (acc, styleName) {
341
+ return acc + (styleName + ': ' + styles[styleName] + ';');
342
+ }, '');
343
+ }
344
+
345
+ function transformIsMeaningful(transform) {
346
+ return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;
347
+ }
348
+
349
+ function transformForSvg(_ref) {
350
+ var transform = _ref.transform,
351
+ containerWidth = _ref.containerWidth,
352
+ iconWidth = _ref.iconWidth;
353
+
354
+ var outer = {
355
+ transform: 'translate(' + containerWidth / 2 + ' 256)'
356
+ };
357
+ var innerTranslate = 'translate(' + transform.x * 32 + ', ' + transform.y * 32 + ') ';
358
+ var innerScale = 'scale(' + transform.size / 16 * (transform.flipX ? -1 : 1) + ', ' + transform.size / 16 * (transform.flipY ? -1 : 1) + ') ';
359
+ var innerRotate = 'rotate(' + transform.rotate + ' 0 0)';
360
+ var inner = {
361
+ transform: innerTranslate + ' ' + innerScale + ' ' + innerRotate
362
+ };
363
+ var path = {
364
+ transform: 'translate(' + iconWidth / 2 * -1 + ' -256)'
365
+ };
366
+ return {
367
+ outer: outer,
368
+ inner: inner,
369
+ path: path
370
+ };
371
+ }
372
+
373
+ function transformForCss(_ref2) {
374
+ var transform = _ref2.transform,
375
+ _ref2$width = _ref2.width,
376
+ width = _ref2$width === undefined ? UNITS_IN_GRID : _ref2$width,
377
+ _ref2$height = _ref2.height,
378
+ height = _ref2$height === undefined ? UNITS_IN_GRID : _ref2$height,
379
+ _ref2$startCentered = _ref2.startCentered,
380
+ startCentered = _ref2$startCentered === undefined ? false : _ref2$startCentered;
381
+
382
+ var val = '';
383
+
384
+ if (startCentered && IS_IE) {
385
+ val += 'translate(' + (transform.x / d - width / 2) + 'em, ' + (transform.y / d - height / 2) + 'em) ';
386
+ } else if (startCentered) {
387
+ val += 'translate(calc(-50% + ' + transform.x / d + 'em), calc(-50% + ' + transform.y / d + 'em)) ';
388
+ } else {
389
+ val += 'translate(' + transform.x / d + 'em, ' + transform.y / d + 'em) ';
390
+ }
391
+
392
+ val += 'scale(' + transform.size / d * (transform.flipX ? -1 : 1) + ', ' + transform.size / d * (transform.flipY ? -1 : 1) + ') ';
393
+ val += 'rotate(' + transform.rotate + 'deg) ';
394
+
395
+ return val;
396
+ }
397
+
398
+ var ALL_SPACE = {
399
+ x: 0,
400
+ y: 0,
401
+ width: '100%',
402
+ height: '100%'
403
+ };
404
+
405
+ var makeIconMasking = function (_ref) {
406
+ var children = _ref.children,
407
+ attributes = _ref.attributes,
408
+ main = _ref.main,
409
+ mask = _ref.mask,
410
+ transform = _ref.transform;
411
+ var mainWidth = main.width,
412
+ mainPath = main.icon;
413
+ var maskWidth = mask.width,
414
+ maskPath = mask.icon;
415
+
416
+
417
+ var trans = transformForSvg({ transform: transform, containerWidth: maskWidth, iconWidth: mainWidth });
418
+
419
+ var maskRect = {
420
+ tag: 'rect',
421
+ attributes: _extends({}, ALL_SPACE, {
422
+ fill: 'white'
423
+ })
424
+ };
425
+ var maskInnerGroup = {
426
+ tag: 'g',
427
+ attributes: _extends({}, trans.inner),
428
+ children: [{ tag: 'path', attributes: _extends({}, mainPath.attributes, trans.path, { fill: 'black' }) }]
429
+ };
430
+ var maskOuterGroup = {
431
+ tag: 'g',
432
+ attributes: _extends({}, trans.outer),
433
+ children: [maskInnerGroup]
434
+ };
435
+ var maskId = 'mask-' + nextUniqueId();
436
+ var clipId = 'clip-' + nextUniqueId();
437
+ var maskTag = {
438
+ tag: 'mask',
439
+ attributes: _extends({}, ALL_SPACE, {
440
+ id: maskId,
441
+ maskUnits: 'userSpaceOnUse',
442
+ maskContentUnits: 'userSpaceOnUse'
443
+ }),
444
+ children: [maskRect, maskOuterGroup]
445
+ };
446
+ var defs = {
447
+ tag: 'defs',
448
+ children: [{ tag: 'clipPath', attributes: { id: clipId }, children: [maskPath] }, maskTag]
449
+ };
450
+
451
+ children.push(defs, { tag: 'rect', attributes: _extends({ fill: 'currentColor', 'clip-path': 'url(#' + clipId + ')', mask: 'url(#' + maskId + ')' }, ALL_SPACE) });
452
+
453
+ return {
454
+ children: children,
455
+ attributes: attributes
456
+ };
457
+ };
458
+
459
+ var makeIconStandard = function (_ref) {
460
+ var children = _ref.children,
461
+ attributes = _ref.attributes,
462
+ main = _ref.main,
463
+ transform = _ref.transform,
464
+ styles = _ref.styles;
465
+
466
+ var styleString = joinStyles(styles);
467
+
468
+ if (styleString.length > 0) {
469
+ attributes['style'] = styleString;
470
+ }
471
+
472
+ if (transformIsMeaningful(transform)) {
473
+ var trans = transformForSvg({ transform: transform, containerWidth: main.width, iconWidth: main.width });
474
+ children.push({
475
+ tag: 'g',
476
+ attributes: _extends({}, trans.outer),
477
+ children: [{
478
+ tag: 'g',
479
+ attributes: _extends({}, trans.inner),
480
+ children: [{
481
+ tag: main.icon.tag,
482
+ children: main.icon.children,
483
+ attributes: _extends({}, main.icon.attributes, trans.path)
484
+ }]
485
+ }]
486
+ });
487
+ } else {
488
+ children.push(main.icon);
489
+ }
490
+
491
+ return {
492
+ children: children,
493
+ attributes: attributes
494
+ };
495
+ };
496
+
497
+ var asIcon = function (_ref) {
498
+ var children = _ref.children,
499
+ main = _ref.main,
500
+ mask = _ref.mask,
501
+ attributes = _ref.attributes,
502
+ styles = _ref.styles,
503
+ transform = _ref.transform;
504
+
505
+ if (transformIsMeaningful(transform) && main.found && !mask.found) {
506
+ var width = main.width,
507
+ height = main.height;
508
+
509
+ var offset = {
510
+ x: width / height / 2,
511
+ y: 0.5
512
+ };
513
+ attributes['style'] = joinStyles(_extends({}, styles, {
514
+ 'transform-origin': offset.x + transform.x / 16 + 'em ' + (offset.y + transform.y / 16) + 'em'
515
+ }));
516
+ }
517
+
518
+ return [{
519
+ tag: 'svg',
520
+ attributes: attributes,
521
+ children: children
522
+ }];
523
+ };
524
+
525
+ var asSymbol = function (_ref) {
526
+ var prefix = _ref.prefix,
527
+ iconName = _ref.iconName,
528
+ children = _ref.children,
529
+ attributes = _ref.attributes,
530
+ symbol = _ref.symbol;
531
+
532
+ var id = symbol === true ? prefix + '-' + config.familyPrefix + '-' + iconName : symbol;
533
+
534
+ return [{
535
+ tag: 'svg',
536
+ attributes: {
537
+ style: 'display: none;'
538
+ },
539
+ children: [{
540
+ tag: 'symbol',
541
+ attributes: _extends({}, attributes, { id: id }),
542
+ children: children
543
+ }]
544
+ }];
545
+ };
546
+
547
+ function makeInlineSvgAbstract(params) {
548
+ var _params$icons = params.icons,
549
+ main = _params$icons.main,
550
+ mask = _params$icons.mask,
551
+ prefix = params.prefix,
552
+ iconName = params.iconName,
553
+ transform = params.transform,
554
+ symbol = params.symbol,
555
+ title = params.title,
556
+ extra = params.extra,
557
+ _params$watchable = params.watchable,
558
+ watchable = _params$watchable === undefined ? false : _params$watchable;
559
+
560
+ var _ref = mask.found ? mask : main,
561
+ width = _ref.width,
562
+ height = _ref.height;
563
+
564
+ var widthClass = 'fa-w-' + Math.ceil(width / height * 16);
565
+ var attrClass = [config.replacementClass, iconName ? config.familyPrefix + '-' + iconName : '', widthClass].filter(function (c) {
566
+ return extra.classes.indexOf(c) === -1;
567
+ }).concat(extra.classes).join(' ');
568
+
569
+ var content = {
570
+ children: [],
571
+ attributes: _extends({}, extra.attributes, {
572
+ 'data-prefix': prefix,
573
+ 'data-icon': iconName,
574
+ 'class': attrClass,
575
+ 'role': 'img',
576
+ 'xmlns': 'http://www.w3.org/2000/svg',
577
+ 'viewBox': '0 0 ' + width + ' ' + height
578
+ })
579
+ };
580
+
581
+ if (watchable) {
582
+ content.attributes[DATA_FA_I2SVG] = '';
583
+ }
584
+
585
+ if (title) content.children.push({ tag: 'title', attributes: { id: content.attributes['aria-labelledby'] || 'title-' + nextUniqueId() }, children: [title] });
586
+
587
+ var args = _extends({}, content, {
588
+ prefix: prefix,
589
+ iconName: iconName,
590
+ main: main,
591
+ mask: mask,
592
+ transform: transform,
593
+ symbol: symbol,
594
+ styles: extra.styles
595
+ });
596
+
597
+ var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),
598
+ children = _ref2.children,
599
+ attributes = _ref2.attributes;
600
+
601
+ args.children = children;
602
+ args.attributes = attributes;
603
+
604
+ if (symbol) {
605
+ return asSymbol(args);
606
+ } else {
607
+ return asIcon(args);
608
+ }
609
+ }
610
+
611
+ function makeLayersTextAbstract(params) {
612
+ var content = params.content,
613
+ width = params.width,
614
+ height = params.height,
615
+ transform = params.transform,
616
+ title = params.title,
617
+ extra = params.extra,
618
+ _params$watchable2 = params.watchable,
619
+ watchable = _params$watchable2 === undefined ? false : _params$watchable2;
620
+
621
+
622
+ var attributes = _extends({}, extra.attributes, title ? { 'title': title } : {}, {
623
+ 'class': extra.classes.join(' ')
624
+ });
625
+
626
+ if (watchable) {
627
+ attributes[DATA_FA_I2SVG] = '';
628
+ }
629
+
630
+ var styles = _extends({}, extra.styles);
631
+
632
+ if (transformIsMeaningful(transform)) {
633
+ styles['transform'] = transformForCss({ transform: transform, startCentered: true, width: width, height: height });
634
+ styles['-webkit-transform'] = styles['transform'];
635
+ }
636
+
637
+ var styleString = joinStyles(styles);
638
+
639
+ if (styleString.length > 0) {
640
+ attributes['style'] = styleString;
641
+ }
642
+
643
+ var val = [];
644
+
645
+ val.push({
646
+ tag: 'span',
647
+ attributes: attributes,
648
+ children: [content]
649
+ });
650
+
651
+ if (title) {
652
+ val.push({ tag: 'span', attributes: { class: 'sr-only' }, children: [title] });
653
+ }
654
+
655
+ return val;
656
+ }
657
+
658
+ function makeLayersCounterAbstract(params) {
659
+ var content = params.content,
660
+ title = params.title,
661
+ extra = params.extra;
662
+
663
+
664
+ var attributes = _extends({}, extra.attributes, title ? { 'title': title } : {}, {
665
+ 'class': extra.classes.join(' ')
666
+ });
667
+
668
+ var styleString = joinStyles(extra.styles);
669
+
670
+ if (styleString.length > 0) {
671
+ attributes['style'] = styleString;
672
+ }
673
+
674
+ var val = [];
675
+
676
+ val.push({
677
+ tag: 'span',
678
+ attributes: attributes,
679
+ children: [content]
680
+ });
681
+
682
+ if (title) {
683
+ val.push({ tag: 'span', attributes: { class: 'sr-only' }, children: [title] });
684
+ }
685
+
686
+ return val;
687
+ }
688
+
689
+ var noop$2 = function noop() {};
690
+ var p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : { mark: noop$2, measure: noop$2 };
691
+ var preamble = 'FA "5.2.0"';
692
+
693
+ var begin = function begin(name) {
694
+ p.mark(preamble + ' ' + name + ' begins');
695
+ return function () {
696
+ return end(name);
697
+ };
698
+ };
699
+
700
+ var end = function end(name) {
701
+ p.mark(preamble + ' ' + name + ' ends');
702
+ p.measure(preamble + ' ' + name, preamble + ' ' + name + ' begins', preamble + ' ' + name + ' ends');
703
+ };
704
+
705
+ var perf = { begin: begin, end: end };
706
+
707
+ 'use strict';
708
+
709
+ /**
710
+ * Internal helper to bind a function known to have 4 arguments
711
+ * to a given context.
712
+ */
713
+ var bindInternal4 = function bindInternal4 (func, thisContext) {
714
+ return function (a, b, c, d) {
715
+ return func.call(thisContext, a, b, c, d);
716
+ };
717
+ };
718
+
719
+ 'use strict';
720
+
721
+
722
+
723
+ /**
724
+ * # Reduce
725
+ *
726
+ * A fast object `.reduce()` implementation.
727
+ *
728
+ * @param {Object} subject The object to reduce over.
729
+ * @param {Function} fn The reducer function.
730
+ * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].
731
+ * @param {Object} thisContext The context for the reducer.
732
+ * @return {mixed} The final result.
733
+ */
734
+ var reduce = function fastReduceObject (subject, fn, initialValue, thisContext) {
735
+ var keys = Object.keys(subject),
736
+ length = keys.length,
737
+ iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,
738
+ i, key, result;
739
+
740
+ if (initialValue === undefined) {
741
+ i = 1;
742
+ result = subject[keys[0]];
743
+ }
744
+ else {
745
+ i = 0;
746
+ result = initialValue;
747
+ }
748
+
749
+ for (; i < length; i++) {
750
+ key = keys[i];
751
+ result = iterator(result, subject[key], key, subject);
752
+ }
753
+
754
+ return result;
755
+ };
756
+
757
+ var styles$2 = namespace.styles;
758
+ var shims = namespace.shims;
759
+
760
+
761
+ var _byUnicode = {};
762
+ var _byLigature = {};
763
+ var _byOldName = {};
764
+
765
+ var build = function build() {
766
+ var lookup = function lookup(reducer) {
767
+ return reduce(styles$2, function (o, style, prefix) {
768
+ o[prefix] = reduce(style, reducer, {});
769
+ return o;
770
+ }, {});
771
+ };
772
+
773
+ _byUnicode = lookup(function (acc, icon, iconName) {
774
+ acc[icon[3]] = iconName;
775
+
776
+ return acc;
777
+ });
778
+
779
+ _byLigature = lookup(function (acc, icon, iconName) {
780
+ var ligatures = icon[2];
781
+
782
+ acc[iconName] = iconName;
783
+
784
+ ligatures.forEach(function (ligature) {
785
+ acc[ligature] = iconName;
786
+ });
787
+
788
+ return acc;
789
+ });
790
+
791
+ var hasRegular = 'far' in styles$2;
792
+
793
+ _byOldName = reduce(shims, function (acc, shim) {
794
+ var oldName = shim[0];
795
+ var prefix = shim[1];
796
+ var iconName = shim[2];
797
+
798
+ if (prefix === 'far' && !hasRegular) {
799
+ prefix = 'fas';
800
+ }
801
+
802
+ acc[oldName] = { prefix: prefix, iconName: iconName };
803
+
804
+ return acc;
805
+ }, {});
806
+ };
807
+
808
+ build();
809
+
810
+ function byUnicode(prefix, unicode) {
811
+ return _byUnicode[prefix][unicode];
812
+ }
813
+
814
+ function byLigature(prefix, ligature) {
815
+ return _byLigature[prefix][ligature];
816
+ }
817
+
818
+ function byOldName(name) {
819
+ return _byOldName[name] || { prefix: null, iconName: null };
820
+ }
821
+
822
+ var styles$1 = namespace.styles;
823
+
824
+
825
+ var emptyCanonicalIcon = function emptyCanonicalIcon() {
826
+ return { prefix: null, iconName: null, rest: [] };
827
+ };
828
+
829
+ function getCanonicalIcon(values) {
830
+ return values.reduce(function (acc, cls) {
831
+ var iconName = getIconName(config.familyPrefix, cls);
832
+
833
+ if (styles$1[cls]) {
834
+ acc.prefix = cls;
835
+ } else if (iconName) {
836
+ var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};
837
+
838
+ acc.iconName = shim.iconName || iconName;
839
+ acc.prefix = shim.prefix || acc.prefix;
840
+ } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {
841
+ acc.rest.push(cls);
842
+ }
843
+
844
+ return acc;
845
+ }, emptyCanonicalIcon());
846
+ }
847
+
848
+ function iconFromMapping(mapping, prefix, iconName) {
849
+ if (mapping && mapping[prefix] && mapping[prefix][iconName]) {
850
+ return {
851
+ prefix: prefix,
852
+ iconName: iconName,
853
+ icon: mapping[prefix][iconName]
854
+ };
855
+ }
856
+ }
857
+
858
+ function toHtml(abstractNodes) {
859
+ var tag = abstractNodes.tag,
860
+ _abstractNodes$attrib = abstractNodes.attributes,
861
+ attributes = _abstractNodes$attrib === undefined ? {} : _abstractNodes$attrib,
862
+ _abstractNodes$childr = abstractNodes.children,
863
+ children = _abstractNodes$childr === undefined ? [] : _abstractNodes$childr;
864
+
865
+
866
+ if (typeof abstractNodes === 'string') {
867
+ return htmlEscape(abstractNodes);
868
+ } else {
869
+ return '<' + tag + ' ' + joinAttributes(attributes) + '>' + children.map(toHtml).join('') + '</' + tag + '>';
870
+ }
871
+ }
872
+
873
+ var noop$1 = function noop() {};
874
+
875
+ function isWatched(node) {
876
+ var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;
877
+
878
+ return typeof i2svg === 'string';
879
+ }
880
+
881
+ function getMutator() {
882
+ if (config.autoReplaceSvg === true) {
883
+ return mutators.replace;
884
+ }
885
+
886
+ var mutator = mutators[config.autoReplaceSvg];
887
+
888
+ return mutator || mutators.replace;
889
+ }
890
+
891
+ var mutators = {
892
+ replace: function replace(mutation) {
893
+ var node = mutation[0];
894
+ var abstract = mutation[1];
895
+ var newOuterHTML = abstract.map(function (a) {
896
+ return toHtml(a);
897
+ }).join('\n');
898
+
899
+ if (node.parentNode && node.outerHTML) {
900
+ node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? '<!-- ' + node.outerHTML + ' -->' : '');
901
+ } else if (node.parentNode) {
902
+ var newNode = document.createElement('span');
903
+ node.parentNode.replaceChild(newNode, node);
904
+ newNode.outerHTML = newOuterHTML;
905
+ }
906
+ },
907
+ nest: function nest(mutation) {
908
+ var node = mutation[0];
909
+ var abstract = mutation[1];
910
+
911
+ // If we already have a replaced node we do not want to continue nesting within it.
912
+ // Short-circuit to the standard replacement
913
+ if (~classArray(node).indexOf(config.replacementClass)) {
914
+ return mutators.replace(mutation);
915
+ }
916
+
917
+ var forSvg = new RegExp(config.familyPrefix + '-.*');
918
+
919
+ delete abstract[0].attributes.style;
920
+
921
+ var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {
922
+ if (cls === config.replacementClass || cls.match(forSvg)) {
923
+ acc.toSvg.push(cls);
924
+ } else {
925
+ acc.toNode.push(cls);
926
+ }
927
+
928
+ return acc;
929
+ }, { toNode: [], toSvg: [] });
930
+
931
+ abstract[0].attributes.class = splitClasses.toSvg.join(' ');
932
+
933
+ var newInnerHTML = abstract.map(function (a) {
934
+ return toHtml(a);
935
+ }).join('\n');
936
+ node.setAttribute('class', splitClasses.toNode.join(' '));
937
+ node.setAttribute(DATA_FA_I2SVG, '');
938
+ node.innerHTML = newInnerHTML;
939
+ }
940
+ };
941
+
942
+ function perform(mutations, callback) {
943
+ var callbackFunction = typeof callback === 'function' ? callback : noop$1;
944
+
945
+ if (mutations.length === 0) {
946
+ callbackFunction();
947
+ } else {
948
+ var frame = WINDOW.requestAnimationFrame || function (op) {
949
+ return op();
950
+ };
951
+
952
+ frame(function () {
953
+ var mutator = getMutator();
954
+ var mark = perf.begin('mutate');
955
+
956
+ mutations.map(mutator);
957
+
958
+ mark();
959
+
960
+ callbackFunction();
961
+ });
962
+ }
963
+ }
964
+
965
+ var disabled = false;
966
+
967
+ function disableObservation(operation) {
968
+ disabled = true;
969
+ operation();
970
+ disabled = false;
971
+ }
972
+
973
+ var mo = null;
974
+
975
+ function observe(options) {
976
+ if (!MUTATION_OBSERVER) {
977
+ return;
978
+ }
979
+
980
+ if (!config.observeMutations) {
981
+ return;
982
+ }
983
+
984
+ var treeCallback = options.treeCallback,
985
+ nodeCallback = options.nodeCallback,
986
+ pseudoElementsCallback = options.pseudoElementsCallback,
987
+ _options$observeMutat = options.observeMutationsRoot,
988
+ observeMutationsRoot = _options$observeMutat === undefined ? DOCUMENT.body : _options$observeMutat;
989
+
990
+
991
+ mo = new MUTATION_OBSERVER(function (objects) {
992
+ if (disabled) return;
993
+
994
+ toArray(objects).forEach(function (mutationRecord) {
995
+ if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {
996
+ if (config.searchPseudoElements) {
997
+ pseudoElementsCallback(mutationRecord.target);
998
+ }
999
+
1000
+ treeCallback(mutationRecord.target);
1001
+ }
1002
+
1003
+ if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {
1004
+ pseudoElementsCallback(mutationRecord.target.parentNode);
1005
+ }
1006
+
1007
+ if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {
1008
+ if (mutationRecord.attributeName === 'class') {
1009
+ var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),
1010
+ prefix = _getCanonicalIcon.prefix,
1011
+ iconName = _getCanonicalIcon.iconName;
1012
+
1013
+ if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);
1014
+ if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);
1015
+ } else {
1016
+ nodeCallback(mutationRecord.target);
1017
+ }
1018
+ }
1019
+ });
1020
+ });
1021
+
1022
+ if (!IS_DOM) return;
1023
+
1024
+ mo.observe(observeMutationsRoot, {
1025
+ childList: true, attributes: true, characterData: true, subtree: true
1026
+ });
1027
+ }
1028
+
1029
+ function disconnect() {
1030
+ if (!mo) return;
1031
+
1032
+ mo.disconnect();
1033
+ }
1034
+
1035
+ var styleParser = function (node) {
1036
+ var style = node.getAttribute('style');
1037
+
1038
+ var val = [];
1039
+
1040
+ if (style) {
1041
+ val = style.split(';').reduce(function (acc, style) {
1042
+ var styles = style.split(':');
1043
+ var prop = styles[0];
1044
+ var value = styles.slice(1);
1045
+
1046
+ if (prop && value.length > 0) {
1047
+ acc[prop] = value.join(':').trim();
1048
+ }
1049
+
1050
+ return acc;
1051
+ }, {});
1052
+ }
1053
+
1054
+ return val;
1055
+ };
1056
+
1057
+ function toHex(unicode) {
1058
+ var result = '';
1059
+
1060
+ for (var i = 0; i < unicode.length; i++) {
1061
+ var hex = unicode.charCodeAt(i).toString(16);
1062
+ result += ('000' + hex).slice(-4);
1063
+ }
1064
+
1065
+ return result;
1066
+ }
1067
+
1068
+ var classParser = function (node) {
1069
+ var existingPrefix = node.getAttribute('data-prefix');
1070
+ var existingIconName = node.getAttribute('data-icon');
1071
+ var innerText = node.innerText !== undefined ? node.innerText.trim() : '';
1072
+
1073
+ var val = getCanonicalIcon(classArray(node));
1074
+
1075
+ if (existingPrefix && existingIconName) {
1076
+ val.prefix = existingPrefix;
1077
+ val.iconName = existingIconName;
1078
+ }
1079
+
1080
+ if (val.prefix && innerText.length > 1) {
1081
+ val.iconName = byLigature(val.prefix, node.innerText);
1082
+ } else if (val.prefix && innerText.length === 1) {
1083
+ val.iconName = byUnicode(val.prefix, toHex(node.innerText));
1084
+ }
1085
+
1086
+ return val;
1087
+ };
1088
+
1089
+ var parseTransformString = function parseTransformString(transformString) {
1090
+ var transform = {
1091
+ size: 16,
1092
+ x: 0,
1093
+ y: 0,
1094
+ flipX: false,
1095
+ flipY: false,
1096
+ rotate: 0
1097
+ };
1098
+
1099
+ if (!transformString) {
1100
+ return transform;
1101
+ } else {
1102
+ return transformString.toLowerCase().split(' ').reduce(function (acc, n) {
1103
+ var parts = n.toLowerCase().split('-');
1104
+ var first = parts[0];
1105
+ var rest = parts.slice(1).join('-');
1106
+
1107
+ if (first && rest === 'h') {
1108
+ acc.flipX = true;
1109
+ return acc;
1110
+ }
1111
+
1112
+ if (first && rest === 'v') {
1113
+ acc.flipY = true;
1114
+ return acc;
1115
+ }
1116
+
1117
+ rest = parseFloat(rest);
1118
+
1119
+ if (isNaN(rest)) {
1120
+ return acc;
1121
+ }
1122
+
1123
+ switch (first) {
1124
+ case 'grow':
1125
+ acc.size = acc.size + rest;
1126
+ break;
1127
+ case 'shrink':
1128
+ acc.size = acc.size - rest;
1129
+ break;
1130
+ case 'left':
1131
+ acc.x = acc.x - rest;
1132
+ break;
1133
+ case 'right':
1134
+ acc.x = acc.x + rest;
1135
+ break;
1136
+ case 'up':
1137
+ acc.y = acc.y - rest;
1138
+ break;
1139
+ case 'down':
1140
+ acc.y = acc.y + rest;
1141
+ break;
1142
+ case 'rotate':
1143
+ acc.rotate = acc.rotate + rest;
1144
+ break;
1145
+ }
1146
+
1147
+ return acc;
1148
+ }, transform);
1149
+ }
1150
+ };
1151
+
1152
+ var transformParser = function (node) {
1153
+ return parseTransformString(node.getAttribute('data-fa-transform'));
1154
+ };
1155
+
1156
+ var symbolParser = function (node) {
1157
+ var symbol = node.getAttribute('data-fa-symbol');
1158
+
1159
+ return symbol === null ? false : symbol === '' ? true : symbol;
1160
+ };
1161
+
1162
+ var attributesParser = function (node) {
1163
+ var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {
1164
+ if (acc.name !== 'class' && acc.name !== 'style') {
1165
+ acc[attr.name] = attr.value;
1166
+ }
1167
+ return acc;
1168
+ }, {});
1169
+
1170
+ var title = node.getAttribute('title');
1171
+
1172
+ if (config.autoA11y) {
1173
+ if (title) {
1174
+ extraAttributes['aria-labelledby'] = config.replacementClass + '-title-' + nextUniqueId();
1175
+ } else {
1176
+ extraAttributes['aria-hidden'] = 'true';
1177
+ }
1178
+ }
1179
+
1180
+ return extraAttributes;
1181
+ };
1182
+
1183
+ var maskParser = function (node) {
1184
+ var mask = node.getAttribute('data-fa-mask');
1185
+
1186
+ if (!mask) {
1187
+ return emptyCanonicalIcon();
1188
+ } else {
1189
+ return getCanonicalIcon(mask.split(' ').map(function (i) {
1190
+ return i.trim();
1191
+ }));
1192
+ }
1193
+ };
1194
+
1195
+ var blankMeta = {
1196
+ iconName: null,
1197
+ title: null,
1198
+ prefix: null,
1199
+ transform: meaninglessTransform,
1200
+ symbol: false,
1201
+ mask: null,
1202
+ extra: { classes: [], styles: {}, attributes: {} }
1203
+ };
1204
+
1205
+ function parseMeta(node) {
1206
+ var _classParser = classParser(node),
1207
+ iconName = _classParser.iconName,
1208
+ prefix = _classParser.prefix,
1209
+ extraClasses = _classParser.rest;
1210
+
1211
+ var extraStyles = styleParser(node);
1212
+ var transform = transformParser(node);
1213
+ var symbol = symbolParser(node);
1214
+ var extraAttributes = attributesParser(node);
1215
+ var mask = maskParser(node);
1216
+
1217
+ return {
1218
+ iconName: iconName,
1219
+ title: node.getAttribute('title'),
1220
+ prefix: prefix,
1221
+ transform: transform,
1222
+ symbol: symbol,
1223
+ mask: mask,
1224
+ extra: {
1225
+ classes: extraClasses,
1226
+ styles: extraStyles,
1227
+ attributes: extraAttributes
1228
+ }
1229
+ };
1230
+ }
1231
+
1232
+ function MissingIcon(error) {
1233
+ this.name = 'MissingIcon';
1234
+ this.message = error || 'Icon unavailable';
1235
+ this.stack = new Error().stack;
1236
+ }
1237
+
1238
+ MissingIcon.prototype = Object.create(Error.prototype);
1239
+ MissingIcon.prototype.constructor = MissingIcon;
1240
+
1241
+ var FILL = { fill: 'currentColor' };
1242
+ var ANIMATION_BASE = {
1243
+ attributeType: 'XML',
1244
+ repeatCount: 'indefinite',
1245
+ dur: '2s'
1246
+ };
1247
+ var RING = {
1248
+ tag: 'path',
1249
+ attributes: _extends({}, FILL, {
1250
+ 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'
1251
+ })
1252
+ };
1253
+ var OPACITY_ANIMATE = _extends({}, ANIMATION_BASE, {
1254
+ attributeName: 'opacity'
1255
+ });
1256
+ var DOT = {
1257
+ tag: 'circle',
1258
+ attributes: _extends({}, FILL, {
1259
+ cx: '256',
1260
+ cy: '364',
1261
+ r: '28'
1262
+ }),
1263
+ 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;' }) }]
1264
+ };
1265
+ var QUESTION = {
1266
+ tag: 'path',
1267
+ attributes: _extends({}, FILL, {
1268
+ opacity: '1',
1269
+ 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'
1270
+ }),
1271
+ children: [{ tag: 'animate', attributes: _extends({}, OPACITY_ANIMATE, { values: '1;0;0;0;0;1;' }) }]
1272
+ };
1273
+ var EXCLAMATION = {
1274
+ tag: 'path',
1275
+ attributes: _extends({}, FILL, {
1276
+ opacity: '0',
1277
+ 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'
1278
+ }),
1279
+ children: [{ tag: 'animate', attributes: _extends({}, OPACITY_ANIMATE, { values: '0;0;1;1;0;0;' }) }]
1280
+ };
1281
+
1282
+ var missing = { tag: 'g', children: [RING, DOT, QUESTION, EXCLAMATION] };
1283
+
1284
+ var styles = namespace.styles;
1285
+
1286
+ var LAYERS_TEXT_CLASSNAME = 'fa-layers-text';
1287
+ var FONT_FAMILY_PATTERN = /Font Awesome 5 (Solid|Regular|Light|Brands|Free|Pro)/;
1288
+ var STYLE_TO_PREFIX = {
1289
+ 'Solid': 'fas',
1290
+ 'Regular': 'far',
1291
+ 'Light': 'fal',
1292
+ 'Brands': 'fab'
1293
+ };
1294
+ var FONT_WEIGHT_TO_PREFIX = {
1295
+ '900': 'fas',
1296
+ '400': 'far',
1297
+ '300': 'fal'
1298
+ };
1299
+
1300
+ function findIcon(iconName, prefix) {
1301
+ var val = {
1302
+ found: false,
1303
+ width: 512,
1304
+ height: 512,
1305
+ icon: missing
1306
+ };
1307
+
1308
+ if (iconName && prefix && styles[prefix] && styles[prefix][iconName]) {
1309
+ var icon = styles[prefix][iconName];
1310
+ var width = icon[0];
1311
+ var height = icon[1];
1312
+ var vectorData = icon.slice(4);
1313
+
1314
+ val = {
1315
+ found: true,
1316
+ width: width,
1317
+ height: height,
1318
+ icon: { tag: 'path', attributes: { fill: 'currentColor', d: vectorData[0] } }
1319
+ };
1320
+ } else if (iconName && prefix && !config.showMissingIcons) {
1321
+ throw new MissingIcon('Icon is missing for prefix ' + prefix + ' with icon name ' + iconName);
1322
+ }
1323
+
1324
+ return val;
1325
+ }
1326
+
1327
+ function generateSvgReplacementMutation(node, nodeMeta) {
1328
+ var iconName = nodeMeta.iconName,
1329
+ title = nodeMeta.title,
1330
+ prefix = nodeMeta.prefix,
1331
+ transform = nodeMeta.transform,
1332
+ symbol = nodeMeta.symbol,
1333
+ mask = nodeMeta.mask,
1334
+ extra = nodeMeta.extra;
1335
+
1336
+
1337
+ return [node, makeInlineSvgAbstract({
1338
+ icons: {
1339
+ main: findIcon(iconName, prefix),
1340
+ mask: findIcon(mask.iconName, mask.prefix)
1341
+ },
1342
+ prefix: prefix,
1343
+ iconName: iconName,
1344
+ transform: transform,
1345
+ symbol: symbol,
1346
+ mask: mask,
1347
+ title: title,
1348
+ extra: extra,
1349
+ watchable: true
1350
+ })];
1351
+ }
1352
+
1353
+ function generateLayersText(node, nodeMeta) {
1354
+ var title = nodeMeta.title,
1355
+ transform = nodeMeta.transform,
1356
+ extra = nodeMeta.extra;
1357
+
1358
+
1359
+ var width = null;
1360
+ var height = null;
1361
+
1362
+ if (IS_IE) {
1363
+ var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);
1364
+ var boundingClientRect = node.getBoundingClientRect();
1365
+ width = boundingClientRect.width / computedFontSize;
1366
+ height = boundingClientRect.height / computedFontSize;
1367
+ }
1368
+
1369
+ if (config.autoA11y && !title) {
1370
+ extra.attributes['aria-hidden'] = 'true';
1371
+ }
1372
+
1373
+ return [node, makeLayersTextAbstract({
1374
+ content: node.innerHTML,
1375
+ width: width,
1376
+ height: height,
1377
+ transform: transform,
1378
+ title: title,
1379
+ extra: extra,
1380
+ watchable: true
1381
+ })];
1382
+ }
1383
+
1384
+ function generateMutation(node) {
1385
+ var nodeMeta = parseMeta(node);
1386
+
1387
+ if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {
1388
+ return generateLayersText(node, nodeMeta);
1389
+ } else {
1390
+ return generateSvgReplacementMutation(node, nodeMeta);
1391
+ }
1392
+ }
1393
+
1394
+ function searchPseudoElements(root) {
1395
+ if (!IS_DOM) return;
1396
+
1397
+ var end = perf.begin('searchPseudoElements');
1398
+
1399
+ disableObservation(function () {
1400
+ toArray(root.querySelectorAll('*')).filter(function (n) {
1401
+ return n.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(n.tagName.toUpperCase()) && !n.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!n.parentNode || n.parentNode.tagName !== 'svg');
1402
+ }).forEach(function (node) {
1403
+ [':before', ':after'].forEach(function (pos) {
1404
+ var children = toArray(node.children);
1405
+ var alreadyProcessedPseudoElement = children.filter(function (c) {
1406
+ return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === pos;
1407
+ })[0];
1408
+
1409
+ var styles = WINDOW.getComputedStyle(node, pos);
1410
+ var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);
1411
+ var fontWeight = styles.getPropertyValue('font-weight');
1412
+
1413
+ if (alreadyProcessedPseudoElement && !fontFamily) {
1414
+ // If we've already processed it but the current computed style does not result in a font-family,
1415
+ // that probably means that a class name that was previously present to make the icon has been
1416
+ // removed. So we now should delete the icon.
1417
+ node.removeChild(alreadyProcessedPseudoElement);
1418
+ } else if (fontFamily) {
1419
+ var content = styles.getPropertyValue('content');
1420
+ var prefix = ~['Light', 'Regular', 'Solid', 'Brands'].indexOf(fontFamily[1]) ? STYLE_TO_PREFIX[fontFamily[1]] : FONT_WEIGHT_TO_PREFIX[fontWeight];
1421
+ var iconName = byUnicode(prefix, toHex(content.length === 3 ? content.substr(1, 1) : content));
1422
+ // Only convert the pseudo element in this :before/:after position into an icon if we haven't
1423
+ // already done so with the same prefix and iconName
1424
+ if (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconName) {
1425
+ if (alreadyProcessedPseudoElement) {
1426
+ // Delete the old one, since we're replacing it with a new one
1427
+ node.removeChild(alreadyProcessedPseudoElement);
1428
+ }
1429
+
1430
+ var extra = blankMeta.extra;
1431
+
1432
+ extra.attributes[DATA_FA_PSEUDO_ELEMENT] = pos;
1433
+ var abstract = makeInlineSvgAbstract(_extends({}, blankMeta, {
1434
+ icons: {
1435
+ main: findIcon(iconName, prefix),
1436
+ mask: emptyCanonicalIcon()
1437
+ },
1438
+ prefix: prefix,
1439
+ iconName: iconName,
1440
+ extra: extra,
1441
+ watchable: true
1442
+ }));
1443
+
1444
+ var element = DOCUMENT.createElement('svg');
1445
+
1446
+ if (pos === ':before') {
1447
+ node.insertBefore(element, node.firstChild);
1448
+ } else {
1449
+ node.appendChild(element);
1450
+ }
1451
+
1452
+ element.outerHTML = abstract.map(function (a) {
1453
+ return toHtml(a);
1454
+ }).join('\n');
1455
+ }
1456
+ }
1457
+ });
1458
+ });
1459
+ });
1460
+
1461
+ end();
1462
+ }
1463
+
1464
+ function onTree(root) {
1465
+ var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1466
+
1467
+ if (!IS_DOM) return;
1468
+
1469
+ var htmlClassList = DOCUMENT.documentElement.classList;
1470
+ var hclAdd = function hclAdd(suffix) {
1471
+ return htmlClassList.add(HTML_CLASS_I2SVG_BASE_CLASS + '-' + suffix);
1472
+ };
1473
+ var hclRemove = function hclRemove(suffix) {
1474
+ return htmlClassList.remove(HTML_CLASS_I2SVG_BASE_CLASS + '-' + suffix);
1475
+ };
1476
+ var prefixes = Object.keys(styles);
1477
+ var prefixesDomQuery = ['.' + LAYERS_TEXT_CLASSNAME + ':not([' + DATA_FA_I2SVG + '])'].concat(prefixes.map(function (p) {
1478
+ return '.' + p + ':not([' + DATA_FA_I2SVG + '])';
1479
+ })).join(', ');
1480
+
1481
+ if (prefixesDomQuery.length === 0) {
1482
+ return;
1483
+ }
1484
+
1485
+ var candidates = toArray(root.querySelectorAll(prefixesDomQuery));
1486
+
1487
+ if (candidates.length > 0) {
1488
+ hclAdd('pending');
1489
+ hclRemove('complete');
1490
+ } else {
1491
+ return;
1492
+ }
1493
+
1494
+ var mark = perf.begin('onTree');
1495
+
1496
+ var mutations = candidates.reduce(function (acc, node) {
1497
+ try {
1498
+ var mutation = generateMutation(node);
1499
+
1500
+ if (mutation) {
1501
+ acc.push(mutation);
1502
+ }
1503
+ } catch (e) {
1504
+ if (!PRODUCTION) {
1505
+ if (e instanceof MissingIcon) {
1506
+ console.error(e);
1507
+ }
1508
+ }
1509
+ }
1510
+
1511
+ return acc;
1512
+ }, []);
1513
+
1514
+ mark();
1515
+
1516
+ perform(mutations, function () {
1517
+ hclAdd('active');
1518
+ hclAdd('complete');
1519
+ hclRemove('pending');
1520
+
1521
+ if (typeof callback === 'function') callback();
1522
+ });
1523
+ }
1524
+
1525
+ function onNode(node) {
1526
+ var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1527
+
1528
+ var mutation = generateMutation(node);
1529
+
1530
+ if (mutation) {
1531
+ perform([mutation], callback);
1532
+ }
1533
+ }
1534
+
1535
+ var baseStyles = "svg:not(:root).svg-inline--fa{overflow:visible}.svg-inline--fa{display:inline-block;font-size:inherit;height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-lg{vertical-align:-.225em}.svg-inline--fa.fa-w-1{width:.0625em}.svg-inline--fa.fa-w-2{width:.125em}.svg-inline--fa.fa-w-3{width:.1875em}.svg-inline--fa.fa-w-4{width:.25em}.svg-inline--fa.fa-w-5{width:.3125em}.svg-inline--fa.fa-w-6{width:.375em}.svg-inline--fa.fa-w-7{width:.4375em}.svg-inline--fa.fa-w-8{width:.5em}.svg-inline--fa.fa-w-9{width:.5625em}.svg-inline--fa.fa-w-10{width:.625em}.svg-inline--fa.fa-w-11{width:.6875em}.svg-inline--fa.fa-w-12{width:.75em}.svg-inline--fa.fa-w-13{width:.8125em}.svg-inline--fa.fa-w-14{width:.875em}.svg-inline--fa.fa-w-15{width:.9375em}.svg-inline--fa.fa-w-16{width:1em}.svg-inline--fa.fa-w-17{width:1.0625em}.svg-inline--fa.fa-w-18{width:1.125em}.svg-inline--fa.fa-w-19{width:1.1875em}.svg-inline--fa.fa-w-20{width:1.25em}.svg-inline--fa.fa-pull-left{margin-right:.3em;width:auto}.svg-inline--fa.fa-pull-right{margin-left:.3em;width:auto}.svg-inline--fa.fa-border{height:1.5em}.svg-inline--fa.fa-li{width:2em}.svg-inline--fa.fa-fw{width:1.25em}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:#ff253a;border-radius:1em;-webkit-box-sizing:border-box;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:0;text-overflow:ellipsis;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:0;right:0;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:0;left:0;right:auto;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{right:0;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:0;right:auto;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top left;transform-origin:top left}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;position:relative;width:2em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.svg-inline--fa.fa-stack-1x{height:1em;width:1em}.svg-inline--fa.fa-stack-2x{height:2em;width:2em}.fa-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}";
1536
+
1537
+ var css = function () {
1538
+ var dfp = DEFAULT_FAMILY_PREFIX;
1539
+ var drc = DEFAULT_REPLACEMENT_CLASS;
1540
+ var fp = config.familyPrefix;
1541
+ var rc = config.replacementClass;
1542
+ var s = baseStyles;
1543
+
1544
+ if (fp !== dfp || rc !== drc) {
1545
+ var dPatt = new RegExp('\\.' + dfp + '\\-', 'g');
1546
+ var rPatt = new RegExp('\\.' + drc, 'g');
1547
+
1548
+ s = s.replace(dPatt, '.' + fp + '-').replace(rPatt, '.' + rc);
1549
+ }
1550
+
1551
+ return s;
1552
+ };
1553
+
1554
+ function define(prefix, icons) {
1555
+ var normalized = Object.keys(icons).reduce(function (acc, iconName) {
1556
+ var icon = icons[iconName];
1557
+ var expanded = !!icon.icon;
1558
+
1559
+ if (expanded) {
1560
+ acc[icon.iconName] = icon.icon;
1561
+ } else {
1562
+ acc[iconName] = icon;
1563
+ }
1564
+ return acc;
1565
+ }, {});
1566
+
1567
+ if (typeof namespace.hooks.addPack === 'function') {
1568
+ namespace.hooks.addPack(prefix, normalized);
1569
+ } else {
1570
+ namespace.styles[prefix] = _extends({}, namespace.styles[prefix] || {}, normalized);
1571
+ }
1572
+
1573
+ /**
1574
+ * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction
1575
+ * of new styles we needed to differentiate between them. Prefix `fa` is now an alias
1576
+ * for `fas` so we'll easy the upgrade process for our users by automatically defining
1577
+ * this as well.
1578
+ */
1579
+ if (prefix === 'fas') {
1580
+ define('fa', icons);
1581
+ }
1582
+ }
1583
+
1584
+ var Library = function () {
1585
+ function Library() {
1586
+ classCallCheck(this, Library);
1587
+
1588
+ this.definitions = {};
1589
+ }
1590
+
1591
+ createClass(Library, [{
1592
+ key: 'add',
1593
+ value: function add() {
1594
+ var _this = this;
1595
+
1596
+ for (var _len = arguments.length, definitions = Array(_len), _key = 0; _key < _len; _key++) {
1597
+ definitions[_key] = arguments[_key];
1598
+ }
1599
+
1600
+ var additions = definitions.reduce(this._pullDefinitions, {});
1601
+
1602
+ Object.keys(additions).forEach(function (key) {
1603
+ _this.definitions[key] = _extends({}, _this.definitions[key] || {}, additions[key]);
1604
+ define(key, additions[key]);
1605
+ build();
1606
+ });
1607
+ }
1608
+ }, {
1609
+ key: 'reset',
1610
+ value: function reset() {
1611
+ this.definitions = {};
1612
+ }
1613
+ }, {
1614
+ key: '_pullDefinitions',
1615
+ value: function _pullDefinitions(additions, definition) {
1616
+ var normalized = definition.prefix && definition.iconName && definition.icon ? { 0: definition } : definition;
1617
+
1618
+ Object.keys(normalized).map(function (key) {
1619
+ var _normalized$key = normalized[key],
1620
+ prefix = _normalized$key.prefix,
1621
+ iconName = _normalized$key.iconName,
1622
+ icon = _normalized$key.icon;
1623
+
1624
+
1625
+ if (!additions[prefix]) additions[prefix] = {};
1626
+
1627
+ additions[prefix][iconName] = icon;
1628
+ });
1629
+
1630
+ return additions;
1631
+ }
1632
+ }]);
1633
+ return Library;
1634
+ }();
1635
+
1636
+ function prepIcon(icon) {
1637
+ var width = icon[0];
1638
+ var height = icon[1];
1639
+ var vectorData = icon.slice(4);
1640
+
1641
+ return {
1642
+ found: true,
1643
+ width: width,
1644
+ height: height,
1645
+ icon: { tag: 'path', attributes: { fill: 'currentColor', d: vectorData[0] } }
1646
+ };
1647
+ }
1648
+
1649
+ function ensureCss() {
1650
+ if (config.autoAddCss && !_cssInserted) {
1651
+ insertCss(css());
1652
+ _cssInserted = true;
1653
+ }
1654
+ }
1655
+
1656
+ function apiObject(val, abstractCreator) {
1657
+ Object.defineProperty(val, 'abstract', {
1658
+ get: abstractCreator
1659
+ });
1660
+
1661
+ Object.defineProperty(val, 'html', {
1662
+ get: function get() {
1663
+ return val.abstract.map(function (a) {
1664
+ return toHtml(a);
1665
+ });
1666
+ }
1667
+ });
1668
+
1669
+ Object.defineProperty(val, 'node', {
1670
+ get: function get() {
1671
+ if (!IS_DOM) return;
1672
+
1673
+ var container = DOCUMENT.createElement('div');
1674
+ container.innerHTML = val.html;
1675
+ return container.children;
1676
+ }
1677
+ });
1678
+
1679
+ return val;
1680
+ }
1681
+
1682
+ function findIconDefinition(params) {
1683
+ var _params$prefix = params.prefix,
1684
+ prefix = _params$prefix === undefined ? 'fa' : _params$prefix,
1685
+ iconName = params.iconName;
1686
+
1687
+
1688
+ if (!iconName) return;
1689
+
1690
+ return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);
1691
+ }
1692
+
1693
+ function resolveIcons(next) {
1694
+ return function (maybeIconDefinition) {
1695
+ var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1696
+
1697
+ var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});
1698
+
1699
+ var mask = params.mask;
1700
+
1701
+
1702
+ if (mask) {
1703
+ mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});
1704
+ }
1705
+
1706
+ return next(iconDefinition, _extends({}, params, { mask: mask }));
1707
+ };
1708
+ }
1709
+
1710
+ var library = new Library();
1711
+
1712
+ var noAuto = function noAuto() {
1713
+ config.autoReplaceSvg = false;
1714
+ config.observeMutations = false;
1715
+
1716
+ disconnect();
1717
+ };
1718
+
1719
+ var _cssInserted = false;
1720
+
1721
+ var dom = {
1722
+ i2svg: function i2svg() {
1723
+ var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1724
+
1725
+ if (IS_DOM) {
1726
+ ensureCss();
1727
+
1728
+ var _params$node = params.node,
1729
+ node = _params$node === undefined ? DOCUMENT : _params$node,
1730
+ _params$callback = params.callback,
1731
+ callback = _params$callback === undefined ? function () {} : _params$callback;
1732
+
1733
+
1734
+ if (config.searchPseudoElements) {
1735
+ searchPseudoElements(node);
1736
+ }
1737
+
1738
+ onTree(node, callback);
1739
+ }
1740
+ },
1741
+
1742
+ css: css,
1743
+
1744
+ insertCss: function insertCss$$1() {
1745
+ if (!_cssInserted) {
1746
+ insertCss(css());
1747
+ _cssInserted = true;
1748
+ }
1749
+ },
1750
+
1751
+ watch: function watch() {
1752
+ var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1753
+ var autoReplaceSvgRoot = params.autoReplaceSvgRoot,
1754
+ observeMutationsRoot = params.observeMutationsRoot;
1755
+
1756
+
1757
+ if (config.autoReplaceSvg === false) {
1758
+ config.autoReplaceSvg = true;
1759
+ }
1760
+
1761
+ config.observeMutations = true;
1762
+
1763
+ domready(function () {
1764
+ autoReplace({
1765
+ autoReplaceSvgRoot: autoReplaceSvgRoot
1766
+ });
1767
+
1768
+ observe({
1769
+ treeCallback: onTree,
1770
+ nodeCallback: onNode,
1771
+ pseudoElementsCallback: searchPseudoElements,
1772
+ observeMutationsRoot: observeMutationsRoot
1773
+ });
1774
+ });
1775
+ }
1776
+ };
1777
+
1778
+ var parse = {
1779
+ transform: function transform(transformString) {
1780
+ return parseTransformString(transformString);
1781
+ }
1782
+ };
1783
+
1784
+ var icon = resolveIcons(function (iconDefinition) {
1785
+ var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1786
+ var _params$transform = params.transform,
1787
+ transform = _params$transform === undefined ? meaninglessTransform : _params$transform,
1788
+ _params$symbol = params.symbol,
1789
+ symbol = _params$symbol === undefined ? false : _params$symbol,
1790
+ _params$mask = params.mask,
1791
+ mask = _params$mask === undefined ? null : _params$mask,
1792
+ _params$title = params.title,
1793
+ title = _params$title === undefined ? null : _params$title,
1794
+ _params$classes = params.classes,
1795
+ classes = _params$classes === undefined ? [] : _params$classes,
1796
+ _params$attributes = params.attributes,
1797
+ attributes = _params$attributes === undefined ? {} : _params$attributes,
1798
+ _params$styles = params.styles,
1799
+ styles = _params$styles === undefined ? {} : _params$styles;
1800
+
1801
+
1802
+ if (!iconDefinition) return;
1803
+
1804
+ var prefix = iconDefinition.prefix,
1805
+ iconName = iconDefinition.iconName,
1806
+ icon = iconDefinition.icon;
1807
+
1808
+
1809
+ return apiObject(_extends({ type: 'icon' }, iconDefinition), function () {
1810
+ ensureCss();
1811
+
1812
+ if (config.autoA11y) {
1813
+ if (title) {
1814
+ attributes['aria-labelledby'] = config.replacementClass + '-title-' + nextUniqueId();
1815
+ } else {
1816
+ attributes['aria-hidden'] = 'true';
1817
+ }
1818
+ }
1819
+
1820
+ return makeInlineSvgAbstract({
1821
+ icons: {
1822
+ main: prepIcon(icon),
1823
+ mask: mask ? prepIcon(mask.icon) : { found: false, width: null, height: null, icon: {} }
1824
+ },
1825
+ prefix: prefix,
1826
+ iconName: iconName,
1827
+ transform: _extends({}, meaninglessTransform, transform),
1828
+ symbol: symbol,
1829
+ title: title,
1830
+ extra: {
1831
+ attributes: attributes,
1832
+ styles: styles,
1833
+ classes: classes
1834
+ }
1835
+ });
1836
+ });
1837
+ });
1838
+
1839
+ var text = function text(content) {
1840
+ var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1841
+ var _params$transform2 = params.transform,
1842
+ transform = _params$transform2 === undefined ? meaninglessTransform : _params$transform2,
1843
+ _params$title2 = params.title,
1844
+ title = _params$title2 === undefined ? null : _params$title2,
1845
+ _params$classes2 = params.classes,
1846
+ classes = _params$classes2 === undefined ? [] : _params$classes2,
1847
+ _params$attributes2 = params.attributes,
1848
+ attributes = _params$attributes2 === undefined ? {} : _params$attributes2,
1849
+ _params$styles2 = params.styles,
1850
+ styles = _params$styles2 === undefined ? {} : _params$styles2;
1851
+
1852
+
1853
+ return apiObject({ type: 'text', content: content }, function () {
1854
+ ensureCss();
1855
+
1856
+ return makeLayersTextAbstract({
1857
+ content: content,
1858
+ transform: _extends({}, meaninglessTransform, transform),
1859
+ title: title,
1860
+ extra: {
1861
+ attributes: attributes,
1862
+ styles: styles,
1863
+ classes: [config.familyPrefix + '-layers-text'].concat(toConsumableArray(classes))
1864
+ }
1865
+ });
1866
+ });
1867
+ };
1868
+
1869
+ var counter = function counter(content) {
1870
+ var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1871
+ var _params$title3 = params.title,
1872
+ title = _params$title3 === undefined ? null : _params$title3,
1873
+ _params$classes3 = params.classes,
1874
+ classes = _params$classes3 === undefined ? [] : _params$classes3,
1875
+ _params$attributes3 = params.attributes,
1876
+ attributes = _params$attributes3 === undefined ? {} : _params$attributes3,
1877
+ _params$styles3 = params.styles,
1878
+ styles = _params$styles3 === undefined ? {} : _params$styles3;
1879
+
1880
+
1881
+ return apiObject({ type: 'counter', content: content }, function () {
1882
+ ensureCss();
1883
+
1884
+ return makeLayersCounterAbstract({
1885
+ content: content.toString(),
1886
+ title: title,
1887
+ extra: {
1888
+ attributes: attributes,
1889
+ styles: styles,
1890
+ classes: [config.familyPrefix + '-layers-counter'].concat(toConsumableArray(classes))
1891
+ }
1892
+ });
1893
+ });
1894
+ };
1895
+
1896
+ var layer = function layer(assembler) {
1897
+ return apiObject({ type: 'layer' }, function () {
1898
+ ensureCss();
1899
+
1900
+ var children = [];
1901
+
1902
+ assembler(function (args) {
1903
+ Array.isArray(args) ? args.map(function (a) {
1904
+ children = children.concat(a.abstract);
1905
+ }) : children = children.concat(args.abstract);
1906
+ });
1907
+
1908
+ return [{
1909
+ tag: 'span',
1910
+ attributes: { class: config.familyPrefix + '-layers' },
1911
+ children: children
1912
+ }];
1913
+ });
1914
+ };
1915
+
1916
+ var api = {
1917
+ noAuto: noAuto,
1918
+ config: config,
1919
+ dom: dom,
1920
+ library: library,
1921
+ parse: parse,
1922
+ findIconDefinition: findIconDefinition,
1923
+ icon: icon,
1924
+ text: text,
1925
+ counter: counter,
1926
+ layer: layer,
1927
+ toHtml: toHtml
1928
+ };
1929
+
1930
+ var autoReplace = function autoReplace() {
1931
+ var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1932
+ var _params$autoReplaceSv = params.autoReplaceSvgRoot,
1933
+ autoReplaceSvgRoot = _params$autoReplaceSv === undefined ? DOCUMENT : _params$autoReplaceSv;
1934
+
1935
+
1936
+ if (Object.keys(namespace.styles).length > 0 && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({ node: autoReplaceSvgRoot });
1937
+ };
1938
+
1939
+ function bootstrap() {
1940
+ if (IS_BROWSER) {
1941
+ if (!WINDOW.FontAwesome) {
1942
+ WINDOW.FontAwesome = api;
1943
+ }
1944
+
1945
+ domready(function () {
1946
+ autoReplace();
1947
+
1948
+ observe({
1949
+ treeCallback: onTree,
1950
+ nodeCallback: onNode,
1951
+ pseudoElementsCallback: searchPseudoElements
1952
+ });
1953
+ });
1954
+ }
1955
+
1956
+ namespace.hooks = _extends({}, namespace.hooks, {
1957
+
1958
+ addPack: function addPack(prefix, icons) {
1959
+ namespace.styles[prefix] = _extends({}, namespace.styles[prefix] || {}, icons);
1960
+
1961
+ build();
1962
+ autoReplace();
1963
+ },
1964
+
1965
+ addShims: function addShims(shims) {
1966
+ var _namespace$shims;
1967
+
1968
+ (_namespace$shims = namespace.shims).push.apply(_namespace$shims, toConsumableArray(shims));
1969
+
1970
+ build();
1971
+ autoReplace();
1972
+ }
1973
+ });
1974
+ }
1975
+
1976
+ bunker(bootstrap);
1977
+
1978
+ }());