ui_bibz 4.0.0.beta13 → 4.0.0.beta14
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +76 -76
- data/app/assets/stylesheets/ui_bibz.sass +1 -0
- data/lib/ui_bibz/infos.rb +1 -1
- data/vendor/assets/fonts/fontawesome/fa-brands-400.ttf +0 -0
- data/vendor/assets/fonts/fontawesome/fa-brands-400.woff2 +0 -0
- data/vendor/assets/fonts/fontawesome/fa-regular-400.ttf +0 -0
- data/vendor/assets/fonts/fontawesome/fa-regular-400.woff2 +0 -0
- data/vendor/assets/fonts/fontawesome/fa-solid-900.ttf +0 -0
- data/vendor/assets/fonts/fontawesome/fa-solid-900.woff2 +0 -0
- data/vendor/assets/fonts/fontawesome/fa-v4compatibility.ttf +0 -0
- data/vendor/assets/fonts/fontawesome/fa-v4compatibility.woff2 +0 -0
- data/vendor/assets/javascripts/fontawesome/all.js +3246 -3236
- data/vendor/assets/javascripts/fontawesome/all.min.js +2 -2
- data/vendor/assets/javascripts/fontawesome/brands.js +217 -208
- data/vendor/assets/javascripts/fontawesome/brands.min.js +2 -2
- data/vendor/assets/javascripts/fontawesome/conflict-detection.js +327 -347
- data/vendor/assets/javascripts/fontawesome/conflict-detection.min.js +2 -2
- data/vendor/assets/javascripts/fontawesome/fontawesome.js +1291 -1307
- data/vendor/assets/javascripts/fontawesome/fontawesome.min.js +2 -2
- data/vendor/assets/javascripts/fontawesome/regular.js +338 -331
- data/vendor/assets/javascripts/fontawesome/regular.min.js +2 -2
- data/vendor/assets/javascripts/fontawesome/solid.js +1403 -1393
- data/vendor/assets/javascripts/fontawesome/solid.min.js +2 -2
- data/vendor/assets/javascripts/fontawesome/v4-shims.js +206 -178
- data/vendor/assets/javascripts/fontawesome/v4-shims.min.js +2 -2
- data/vendor/assets/stylesheets/fontawesome/_core.scss +6 -6
- data/vendor/assets/stylesheets/fontawesome/_list.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/_variables.scss +10 -0
- data/vendor/assets/stylesheets/fontawesome/brands.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/fontawesome.scss +14 -14
- data/vendor/assets/stylesheets/fontawesome/regular.scss +2 -1
- data/vendor/assets/stylesheets/fontawesome/solid.scss +2 -1
- data/vendor/assets/stylesheets/fontawesome/v4-shims.scss +1 -1
- metadata +2 -2
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Font Awesome Free 6.
|
2
|
+
* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com
|
3
3
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
4
4
|
* Copyright 2024 Fonticons, Inc.
|
5
5
|
*/
|
@@ -9,118 +9,32 @@
|
|
9
9
|
(factory());
|
10
10
|
}(this, (function () { 'use strict';
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
if (Object.getOwnPropertySymbols) {
|
16
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
17
|
-
enumerableOnly && (symbols = symbols.filter(function (sym) {
|
18
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
19
|
-
})), keys.push.apply(keys, symbols);
|
20
|
-
}
|
21
|
-
|
22
|
-
return keys;
|
23
|
-
}
|
24
|
-
|
25
|
-
function _objectSpread2(target) {
|
26
|
-
for (var i = 1; i < arguments.length; i++) {
|
27
|
-
var source = null != arguments[i] ? arguments[i] : {};
|
28
|
-
i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
|
29
|
-
_defineProperty(target, key, source[key]);
|
30
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
|
31
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
32
|
-
});
|
33
|
-
}
|
34
|
-
|
35
|
-
return target;
|
36
|
-
}
|
37
|
-
|
38
|
-
function _typeof(obj) {
|
39
|
-
"@babel/helpers - typeof";
|
40
|
-
|
41
|
-
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
|
42
|
-
return typeof obj;
|
43
|
-
} : function (obj) {
|
44
|
-
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
45
|
-
}, _typeof(obj);
|
46
|
-
}
|
47
|
-
|
48
|
-
function _defineProperty(obj, key, value) {
|
49
|
-
if (key in obj) {
|
50
|
-
Object.defineProperty(obj, key, {
|
51
|
-
value: value,
|
52
|
-
enumerable: true,
|
53
|
-
configurable: true,
|
54
|
-
writable: true
|
55
|
-
});
|
56
|
-
} else {
|
57
|
-
obj[key] = value;
|
58
|
-
}
|
59
|
-
|
60
|
-
return obj;
|
61
|
-
}
|
62
|
-
|
63
|
-
function _toConsumableArray(arr) {
|
64
|
-
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
65
|
-
}
|
66
|
-
|
67
|
-
function _arrayWithoutHoles(arr) {
|
68
|
-
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
69
|
-
}
|
70
|
-
|
71
|
-
function _iterableToArray(iter) {
|
72
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
73
|
-
}
|
74
|
-
|
75
|
-
function _unsupportedIterableToArray(o, minLen) {
|
76
|
-
if (!o) return;
|
77
|
-
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
78
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
79
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
80
|
-
if (n === "Map" || n === "Set") return Array.from(o);
|
81
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
82
|
-
}
|
83
|
-
|
84
|
-
function _arrayLikeToArray(arr, len) {
|
85
|
-
if (len == null || len > arr.length) len = arr.length;
|
86
|
-
|
87
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
88
|
-
|
89
|
-
return arr2;
|
90
|
-
}
|
91
|
-
|
92
|
-
function _nonIterableSpread() {
|
93
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
94
|
-
}
|
95
|
-
|
96
|
-
var _WINDOW = {};
|
97
|
-
var _DOCUMENT = {};
|
12
|
+
let _WINDOW = {};
|
13
|
+
let _DOCUMENT = {};
|
98
14
|
|
99
15
|
try {
|
100
16
|
if (typeof window !== 'undefined') _WINDOW = window;
|
101
17
|
if (typeof document !== 'undefined') _DOCUMENT = document;
|
102
18
|
} catch (e) {}
|
103
19
|
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
20
|
+
const {
|
21
|
+
userAgent = ''
|
22
|
+
} = _WINDOW.navigator || {};
|
23
|
+
const WINDOW = _WINDOW;
|
24
|
+
const DOCUMENT = _DOCUMENT;
|
25
|
+
const IS_BROWSER = !!WINDOW.document;
|
26
|
+
const IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';
|
27
|
+
const IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');
|
112
28
|
|
113
|
-
|
29
|
+
const functions = [];
|
114
30
|
|
115
|
-
|
31
|
+
const listener = function () {
|
116
32
|
DOCUMENT.removeEventListener('DOMContentLoaded', listener);
|
117
33
|
loaded = 1;
|
118
|
-
functions.map(
|
119
|
-
return fn();
|
120
|
-
});
|
34
|
+
functions.map(fn => fn());
|
121
35
|
};
|
122
36
|
|
123
|
-
|
37
|
+
let loaded = false;
|
124
38
|
|
125
39
|
if (IS_DOM) {
|
126
40
|
loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);
|
@@ -133,25 +47,27 @@
|
|
133
47
|
}
|
134
48
|
|
135
49
|
function report (_ref) {
|
136
|
-
|
137
|
-
|
138
|
-
|
50
|
+
let {
|
51
|
+
nodesTested,
|
52
|
+
nodesFound
|
53
|
+
} = _ref;
|
54
|
+
const timedOutTests = {};
|
139
55
|
|
140
|
-
for (
|
56
|
+
for (let key in nodesFound) {
|
141
57
|
if (!(nodesTested.conflict[key] || nodesTested.noConflict[key])) {
|
142
58
|
timedOutTests[key] = nodesFound[key];
|
143
59
|
}
|
144
60
|
}
|
145
61
|
|
146
|
-
|
62
|
+
const conflictsCount = Object.keys(nodesTested.conflict).length;
|
147
63
|
|
148
64
|
if (conflictsCount > 0) {
|
149
65
|
console.info("%cConflict".concat(conflictsCount > 1 ? 's' : '', " found:"), 'color: darkred; font-size: large');
|
150
|
-
|
66
|
+
const data = {};
|
151
67
|
|
152
|
-
for (
|
153
|
-
|
154
|
-
data[
|
68
|
+
for (let key in nodesTested.conflict) {
|
69
|
+
const item = nodesTested.conflict[key];
|
70
|
+
data[key] = {
|
155
71
|
'tagName': item.tagName,
|
156
72
|
'src/href': item.src || item.href || 'n/a',
|
157
73
|
'innerText excerpt': item.innerText && item.innerText !== '' ? item.innerText.slice(0, 200) + '...' : '(empty)'
|
@@ -161,40 +77,40 @@
|
|
161
77
|
console.table(data);
|
162
78
|
}
|
163
79
|
|
164
|
-
|
80
|
+
const noConflictsCount = Object.keys(nodesTested.noConflict).length;
|
165
81
|
|
166
82
|
if (noConflictsCount > 0) {
|
167
83
|
console.info("%cNo conflict".concat(noConflictsCount > 1 ? 's' : '', " found with ").concat(noConflictsCount === 1 ? 'this' : 'these', ":"), 'color: green; font-size: large');
|
168
|
-
|
169
|
-
|
170
|
-
for (
|
171
|
-
|
172
|
-
|
173
|
-
'tagName':
|
174
|
-
'src/href':
|
175
|
-
'innerText excerpt':
|
84
|
+
const data = {};
|
85
|
+
|
86
|
+
for (let key in nodesTested.noConflict) {
|
87
|
+
const item = nodesTested.noConflict[key];
|
88
|
+
data[key] = {
|
89
|
+
'tagName': item.tagName,
|
90
|
+
'src/href': item.src || item.href || 'n/a',
|
91
|
+
'innerText excerpt': item.innerText && item.innerText !== '' ? item.innerText.slice(0, 200) + '...' : '(empty)'
|
176
92
|
};
|
177
93
|
}
|
178
94
|
|
179
|
-
console.table(
|
95
|
+
console.table(data);
|
180
96
|
}
|
181
97
|
|
182
|
-
|
98
|
+
const timeOutCount = Object.keys(timedOutTests).length;
|
183
99
|
|
184
100
|
if (timeOutCount > 0) {
|
185
101
|
console.info("%cLeftovers--we timed out before collecting test results for ".concat(timeOutCount === 1 ? 'this' : 'these', ":"), 'color: blue; font-size: large');
|
186
|
-
|
187
|
-
|
188
|
-
for (
|
189
|
-
|
190
|
-
|
191
|
-
'tagName':
|
192
|
-
'src/href':
|
193
|
-
'innerText excerpt':
|
102
|
+
const data = {};
|
103
|
+
|
104
|
+
for (let key in timedOutTests) {
|
105
|
+
const item = timedOutTests[key];
|
106
|
+
data[key] = {
|
107
|
+
'tagName': item.tagName,
|
108
|
+
'src/href': item.src || item.href || 'n/a',
|
109
|
+
'innerText excerpt': item.innerText && item.innerText !== '' ? item.innerText.slice(0, 200) + '...' : '(empty)'
|
194
110
|
};
|
195
111
|
}
|
196
112
|
|
197
|
-
console.table(
|
113
|
+
console.table(data);
|
198
114
|
}
|
199
115
|
}
|
200
116
|
|
@@ -617,7 +533,7 @@
|
|
617
533
|
});
|
618
534
|
|
619
535
|
function md5ForNode(node) {
|
620
|
-
if (null === node || 'object' !==
|
536
|
+
if (null === node || 'object' !== typeof node) return undefined;
|
621
537
|
|
622
538
|
if (node.src) {
|
623
539
|
return md5(node.src);
|
@@ -631,35 +547,31 @@
|
|
631
547
|
}
|
632
548
|
}
|
633
549
|
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
550
|
+
const diagScriptId = 'fa-kits-diag';
|
551
|
+
const nodeUnderTestId = 'fa-kits-node-under-test';
|
552
|
+
const md5Attr = 'data-md5';
|
553
|
+
const detectionIgnoreAttr = 'data-fa-detection-ignore';
|
554
|
+
const timeoutAttr = 'data-fa-detection-timeout';
|
555
|
+
const resultsCollectionMaxWaitAttr = 'data-fa-detection-results-collection-max-wait';
|
640
556
|
|
641
|
-
|
557
|
+
const silenceErrors = e => {
|
642
558
|
e.preventDefault();
|
643
559
|
e.stopPropagation();
|
644
560
|
};
|
645
561
|
|
646
562
|
function pollUntil(_ref) {
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
maxDuration = _ref$maxDuration === void 0 ? WINDOW.FontAwesomeDetection.timeout : _ref$maxDuration,
|
655
|
-
_ref$showProgress = _ref.showProgress,
|
656
|
-
showProgress = _ref$showProgress === void 0 ? false : _ref$showProgress,
|
657
|
-
progressIndicator = _ref.progressIndicator;
|
563
|
+
let {
|
564
|
+
fn = () => true,
|
565
|
+
initialDuration = 1,
|
566
|
+
maxDuration = WINDOW.FontAwesomeDetection.timeout,
|
567
|
+
showProgress = false,
|
568
|
+
progressIndicator
|
569
|
+
} = _ref;
|
658
570
|
return new Promise(function (resolve, reject) {
|
659
571
|
// eslint-disable-line compat/compat
|
660
572
|
function poll(duration, cumulativeDuration) {
|
661
573
|
setTimeout(function () {
|
662
|
-
|
574
|
+
const result = fn();
|
663
575
|
|
664
576
|
if (showProgress) {
|
665
577
|
console.info(progressIndicator);
|
@@ -669,8 +581,8 @@
|
|
669
581
|
// eslint-disable-line no-extra-boolean-cast
|
670
582
|
resolve(result);
|
671
583
|
} else {
|
672
|
-
|
673
|
-
|
584
|
+
const nextDuration = 250;
|
585
|
+
const nextCumulativeDuration = nextDuration + cumulativeDuration;
|
674
586
|
|
675
587
|
if (nextCumulativeDuration <= maxDuration) {
|
676
588
|
poll(nextDuration, nextCumulativeDuration);
|
@@ -686,10 +598,8 @@
|
|
686
598
|
}
|
687
599
|
|
688
600
|
function detectWebfontConflicts() {
|
689
|
-
|
690
|
-
|
691
|
-
});
|
692
|
-
var styleTags = Array.from(DOCUMENT.getElementsByTagName('style')).filter(function (t) {
|
601
|
+
const linkTags = Array.from(DOCUMENT.getElementsByTagName('link')).filter(t => !t.hasAttribute(detectionIgnoreAttr));
|
602
|
+
const styleTags = Array.from(DOCUMENT.getElementsByTagName('style')).filter(t => {
|
693
603
|
if (t.hasAttribute(detectionIgnoreAttr)) {
|
694
604
|
return false;
|
695
605
|
} // If the browser has loaded the FA5 CSS, let's not test that <style> element.
|
@@ -705,15 +615,15 @@
|
|
705
615
|
});
|
706
616
|
|
707
617
|
function runDiag(scriptOrLinkTag, md5) {
|
708
|
-
|
618
|
+
const diagFrame = DOCUMENT.createElement('iframe'); // Using "visibility: hidden; position: absolute" instead of "display: none;" because
|
709
619
|
// Firefox will not return the expected results for getComputedStyle if our iframe has display: none.
|
710
620
|
|
711
621
|
diagFrame.setAttribute('style', 'visibility: hidden; position: absolute; height: 0; width: 0;');
|
712
|
-
|
713
|
-
|
622
|
+
const testIconId = 'fa-test-icon-' + md5;
|
623
|
+
const iTag = DOCUMENT.createElement('i');
|
714
624
|
iTag.setAttribute('class', 'fa fa-coffee');
|
715
625
|
iTag.setAttribute('id', testIconId);
|
716
|
-
|
626
|
+
const diagScript = DOCUMENT.createElement('script');
|
717
627
|
diagScript.setAttribute('id', diagScriptId); // WARNING: this function will be toString()'d and assigned to innerText of the diag script
|
718
628
|
// element that we'll be putting into a diagnostic iframe.
|
719
629
|
// That means that this code won't compile until after the outer script has run and injected
|
@@ -722,12 +632,12 @@
|
|
722
632
|
// will probably cause it to choke. Chrome will show an error like this:
|
723
633
|
// Uncaught SyntaxError: Unexpected end of input
|
724
634
|
|
725
|
-
|
635
|
+
const diagScriptFun = (nodeUnderTestId, testIconId, md5, parentOrigin) => {
|
726
636
|
parent.FontAwesomeDetection.__pollUntil({
|
727
|
-
fn:
|
728
|
-
|
729
|
-
|
730
|
-
|
637
|
+
fn: () => {
|
638
|
+
const iEl = document.getElementById(testIconId);
|
639
|
+
const computedStyle = window.getComputedStyle(iEl);
|
640
|
+
const fontFamily = computedStyle.getPropertyValue('font-family');
|
731
641
|
|
732
642
|
if (!!fontFamily.match(/FontAwesome/) || !!fontFamily.match(/Font Awesome [56]/)) {
|
733
643
|
return true;
|
@@ -735,18 +645,18 @@
|
|
735
645
|
return false;
|
736
646
|
}
|
737
647
|
}
|
738
|
-
}).then(
|
739
|
-
|
648
|
+
}).then(() => {
|
649
|
+
const node = document.getElementById(nodeUnderTestId);
|
740
650
|
parent.postMessage({
|
741
651
|
type: 'fontawesome-conflict',
|
742
652
|
technology: 'webfont',
|
743
653
|
href: node.href,
|
744
654
|
innerText: node.innerText,
|
745
655
|
tagName: node.tagName,
|
746
|
-
md5
|
656
|
+
md5
|
747
657
|
}, parentOrigin);
|
748
658
|
}).catch(function (e) {
|
749
|
-
|
659
|
+
const node = document.getElementById(nodeUnderTestId);
|
750
660
|
|
751
661
|
if (e === 'timeout') {
|
752
662
|
parent.postMessage({
|
@@ -755,7 +665,7 @@
|
|
755
665
|
href: node.src,
|
756
666
|
innerText: node.innerText,
|
757
667
|
tagName: node.tagName,
|
758
|
-
md5
|
668
|
+
md5
|
759
669
|
}, parentOrigin);
|
760
670
|
} else {
|
761
671
|
console.error(e);
|
@@ -763,7 +673,7 @@
|
|
763
673
|
});
|
764
674
|
};
|
765
675
|
|
766
|
-
|
676
|
+
const parentOrigin = WINDOW.location.origin === 'file://' ? '*' : WINDOW.location.origin;
|
767
677
|
diagScript.innerText = "(".concat(diagScriptFun.toString(), ")('").concat(nodeUnderTestId, "', '").concat(testIconId || 'foo', "', '").concat(md5, "', '").concat(parentOrigin, "');");
|
768
678
|
|
769
679
|
diagFrame.onload = function () {
|
@@ -773,31 +683,29 @@
|
|
773
683
|
diagFrame.contentDocument.body.appendChild(iTag);
|
774
684
|
};
|
775
685
|
|
776
|
-
domready(
|
777
|
-
return DOCUMENT.body.appendChild(diagFrame);
|
778
|
-
});
|
686
|
+
domready(() => DOCUMENT.body.appendChild(diagFrame));
|
779
687
|
}
|
780
688
|
|
781
|
-
|
689
|
+
const cssByMD5 = {};
|
782
690
|
|
783
|
-
for (
|
784
|
-
|
691
|
+
for (let i = 0; i < linkTags.length; i++) {
|
692
|
+
const linkUnderTest = DOCUMENT.createElement('link');
|
785
693
|
linkUnderTest.setAttribute('id', nodeUnderTestId);
|
786
694
|
linkUnderTest.setAttribute('href', linkTags[i].href);
|
787
695
|
linkUnderTest.setAttribute('rel', linkTags[i].rel);
|
788
|
-
|
696
|
+
const md5ForLink = md5ForNode(linkTags[i]);
|
789
697
|
linkUnderTest.setAttribute(md5Attr, md5ForLink);
|
790
698
|
cssByMD5[md5ForLink] = linkTags[i];
|
791
699
|
runDiag(linkUnderTest, md5ForLink);
|
792
700
|
}
|
793
701
|
|
794
|
-
for (
|
702
|
+
for (let i = 0; i < styleTags.length; i++) {
|
795
703
|
var styleUnderTest = DOCUMENT.createElement('style');
|
796
704
|
styleUnderTest.setAttribute('id', nodeUnderTestId);
|
797
|
-
|
705
|
+
const md5ForStyle = md5ForNode(styleTags[i]);
|
798
706
|
styleUnderTest.setAttribute(md5Attr, md5ForStyle);
|
799
|
-
styleUnderTest.innerText = styleTags[
|
800
|
-
cssByMD5[md5ForStyle] = styleTags[
|
707
|
+
styleUnderTest.innerText = styleTags[i].innerText;
|
708
|
+
cssByMD5[md5ForStyle] = styleTags[i];
|
801
709
|
runDiag(styleUnderTest, md5ForStyle);
|
802
710
|
}
|
803
711
|
|
@@ -805,17 +713,15 @@
|
|
805
713
|
}
|
806
714
|
|
807
715
|
function detectSvgConflicts(currentScript) {
|
808
|
-
|
809
|
-
|
810
|
-
});
|
811
|
-
var scriptsByMD5 = {};
|
716
|
+
const scripts = Array.from(DOCUMENT.scripts).filter(t => !t.hasAttribute(detectionIgnoreAttr) && t !== currentScript);
|
717
|
+
const scriptsByMD5 = {};
|
812
718
|
|
813
|
-
|
814
|
-
|
719
|
+
for (let scriptIdx = 0; scriptIdx < scripts.length; scriptIdx++) {
|
720
|
+
const diagFrame = DOCUMENT.createElement('iframe');
|
815
721
|
diagFrame.setAttribute('style', 'display:none;');
|
816
|
-
|
722
|
+
const scriptUnderTest = DOCUMENT.createElement('script');
|
817
723
|
scriptUnderTest.setAttribute('id', nodeUnderTestId);
|
818
|
-
|
724
|
+
const md5ForScript = md5ForNode(scripts[scriptIdx]);
|
819
725
|
scriptUnderTest.setAttribute(md5Attr, md5ForScript);
|
820
726
|
scriptsByMD5[md5ForScript] = scripts[scriptIdx];
|
821
727
|
|
@@ -828,24 +734,24 @@
|
|
828
734
|
}
|
829
735
|
|
830
736
|
scriptUnderTest.async = true;
|
831
|
-
|
737
|
+
const diagScript = DOCUMENT.createElement('script');
|
832
738
|
diagScript.setAttribute('id', diagScriptId);
|
833
|
-
|
739
|
+
const parentOrigin = WINDOW.location.origin === 'file://' ? '*' : WINDOW.location.origin;
|
834
740
|
|
835
|
-
|
741
|
+
const diagScriptFun = (nodeUnderTestId, md5, parentOrigin) => {
|
836
742
|
parent.FontAwesomeDetection.__pollUntil({
|
837
|
-
fn:
|
743
|
+
fn: () => {
|
838
744
|
return !!window.FontAwesomeConfig || !!window.FontAwesomeKitConfig;
|
839
745
|
}
|
840
746
|
}).then(function () {
|
841
|
-
|
747
|
+
const scriptNode = document.getElementById(nodeUnderTestId);
|
842
748
|
parent.postMessage({
|
843
749
|
type: 'fontawesome-conflict',
|
844
750
|
technology: 'js',
|
845
751
|
src: scriptNode.src,
|
846
752
|
innerText: scriptNode.innerText,
|
847
753
|
tagName: scriptNode.tagName,
|
848
|
-
md5
|
754
|
+
md5
|
849
755
|
}, parentOrigin);
|
850
756
|
}).catch(function (e) {
|
851
757
|
var scriptNode = document.getElementById(nodeUnderTestId);
|
@@ -856,7 +762,7 @@
|
|
856
762
|
src: scriptNode.src,
|
857
763
|
innerText: scriptNode.innerText,
|
858
764
|
tagName: scriptNode.tagName,
|
859
|
-
md5
|
765
|
+
md5
|
860
766
|
}, parentOrigin);
|
861
767
|
} else {
|
862
768
|
console.error(e);
|
@@ -872,21 +778,17 @@
|
|
872
778
|
diagFrame.contentDocument.head.appendChild(scriptUnderTest);
|
873
779
|
};
|
874
780
|
|
875
|
-
domready(
|
876
|
-
return DOCUMENT.body.appendChild(diagFrame);
|
877
|
-
});
|
878
|
-
};
|
879
|
-
|
880
|
-
for (var scriptIdx = 0; scriptIdx < scripts.length; scriptIdx++) {
|
881
|
-
_loop(scriptIdx);
|
781
|
+
domready(() => DOCUMENT.body.appendChild(diagFrame));
|
882
782
|
}
|
883
783
|
|
884
784
|
return scriptsByMD5;
|
885
785
|
}
|
886
786
|
|
887
787
|
function setDoneResults(_ref2) {
|
888
|
-
|
889
|
-
|
788
|
+
let {
|
789
|
+
nodesTested,
|
790
|
+
nodesFound
|
791
|
+
} = _ref2;
|
890
792
|
WINDOW.FontAwesomeDetection = WINDOW.FontAwesomeDetection || {};
|
891
793
|
WINDOW.FontAwesomeDetection.nodesTested = nodesTested;
|
892
794
|
WINDOW.FontAwesomeDetection.nodesFound = nodesFound;
|
@@ -894,8 +796,8 @@
|
|
894
796
|
}
|
895
797
|
|
896
798
|
function conflictDetection() {
|
897
|
-
|
898
|
-
|
799
|
+
let report$$1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : () => {};
|
800
|
+
const nodesTested = {
|
899
801
|
conflict: {},
|
900
802
|
noConflict: {}
|
901
803
|
};
|
@@ -912,19 +814,19 @@
|
|
912
814
|
}
|
913
815
|
};
|
914
816
|
|
915
|
-
|
916
|
-
|
917
|
-
|
918
|
-
|
919
|
-
|
920
|
-
|
817
|
+
const scriptsToTest = detectSvgConflicts(DOCUMENT.currentScript);
|
818
|
+
const cssToTest = detectWebfontConflicts();
|
819
|
+
const nodesFound = { ...scriptsToTest,
|
820
|
+
...cssToTest
|
821
|
+
};
|
822
|
+
const testCount = Object.keys(scriptsToTest).length + Object.keys(cssToTest).length; // The resultsCollectionMaxWait allows for the time between when the tests running under
|
921
823
|
// child iframes call postMessage with their results, and when the parent window
|
922
824
|
// receives and handles those events with window.onmessage.
|
923
825
|
// Making it configurable allows us to test the scenario where this timeout is exceeded.
|
924
826
|
// Naming it something very different from "timeout" is to help avoid the potential ambiguity between
|
925
827
|
// these two timeout-related settings.
|
926
828
|
|
927
|
-
|
829
|
+
const masterTimeout = WINDOW.FontAwesomeDetection.timeout + WINDOW.FontAwesomeDetection.resultsCollectionMaxWait;
|
928
830
|
console.group('Font Awesome Detector');
|
929
831
|
|
930
832
|
if (testCount === 0) {
|
@@ -941,41 +843,41 @@
|
|
941
843
|
maxDuration: masterTimeout,
|
942
844
|
showProgress: true,
|
943
845
|
progressIndicator: 'waiting...',
|
944
|
-
fn:
|
846
|
+
fn: () => {
|
945
847
|
return Object.keys(nodesTested.conflict).length + Object.keys(nodesTested.noConflict).length >= testCount;
|
946
848
|
}
|
947
|
-
}).then(
|
849
|
+
}).then(() => {
|
948
850
|
console.info('DONE!');
|
949
851
|
setDoneResults({
|
950
|
-
nodesTested
|
951
|
-
nodesFound
|
852
|
+
nodesTested,
|
853
|
+
nodesFound
|
952
854
|
});
|
953
855
|
report$$1({
|
954
|
-
nodesTested
|
955
|
-
nodesFound
|
856
|
+
nodesTested,
|
857
|
+
nodesFound
|
956
858
|
});
|
957
859
|
console.groupEnd();
|
958
|
-
}).catch(
|
860
|
+
}).catch(e => {
|
959
861
|
if (e === 'timeout') {
|
960
862
|
console.info('TIME OUT! We waited until we got tired. Here\'s what we found:');
|
961
863
|
setDoneResults({
|
962
|
-
nodesTested
|
963
|
-
nodesFound
|
864
|
+
nodesTested,
|
865
|
+
nodesFound
|
964
866
|
});
|
965
867
|
report$$1({
|
966
|
-
nodesTested
|
967
|
-
nodesFound
|
868
|
+
nodesTested,
|
869
|
+
nodesFound
|
968
870
|
});
|
969
871
|
} else {
|
970
872
|
console.info('Whoops! We hit an error:', e);
|
971
873
|
console.info('Here\'s what we\'d found up until that error:');
|
972
874
|
setDoneResults({
|
973
|
-
nodesTested
|
974
|
-
nodesFound
|
875
|
+
nodesTested,
|
876
|
+
nodesFound
|
975
877
|
});
|
976
878
|
report$$1({
|
977
|
-
nodesTested
|
978
|
-
nodesFound
|
879
|
+
nodesTested,
|
880
|
+
nodesFound
|
979
881
|
});
|
980
882
|
}
|
981
883
|
|
@@ -984,144 +886,222 @@
|
|
984
886
|
}
|
985
887
|
} // Allow clients to access, and in some cases, override some properties
|
986
888
|
|
987
|
-
|
889
|
+
const initialConfig = WINDOW.FontAwesomeDetection || {}; // These can be overridden
|
988
890
|
|
989
|
-
|
990
|
-
report
|
891
|
+
const _default = {
|
892
|
+
report,
|
991
893
|
timeout: +(DOCUMENT.currentScript.getAttribute(timeoutAttr) || "2000"),
|
992
894
|
resultsCollectionMaxWait: +(DOCUMENT.currentScript.getAttribute(resultsCollectionMaxWaitAttr) || "5000")
|
993
895
|
};
|
994
|
-
|
995
|
-
|
896
|
+
const _config = { ..._default,
|
897
|
+
...initialConfig,
|
996
898
|
// These cannot be overridden
|
997
899
|
__pollUntil: pollUntil,
|
998
|
-
md5ForNode
|
900
|
+
md5ForNode,
|
999
901
|
detectionDone: false,
|
1000
902
|
nodesTested: null,
|
1001
903
|
nodesFound: null
|
1002
|
-
}
|
1003
|
-
|
904
|
+
};
|
1004
905
|
WINDOW.FontAwesomeDetection = _config;
|
1005
906
|
|
1006
|
-
var
|
1007
|
-
|
907
|
+
var a = "classic",
|
908
|
+
r = "sharp",
|
909
|
+
o = "sharp-duotone";
|
910
|
+
|
911
|
+
var et$1 = {
|
912
|
+
classic: {
|
913
|
+
900: "fas",
|
914
|
+
400: "far",
|
915
|
+
normal: "far",
|
916
|
+
300: "fal",
|
917
|
+
100: "fat"
|
918
|
+
},
|
919
|
+
sharp: {
|
920
|
+
900: "fass",
|
921
|
+
400: "fasr",
|
922
|
+
300: "fasl",
|
923
|
+
100: "fast"
|
924
|
+
},
|
925
|
+
"sharp-duotone": {
|
926
|
+
900: "fasds"
|
927
|
+
}
|
928
|
+
};
|
929
|
+
var bt = {
|
930
|
+
kit: {
|
931
|
+
fak: "kit",
|
932
|
+
"fa-kit": "kit"
|
933
|
+
},
|
934
|
+
"kit-duotone": {
|
935
|
+
fakd: "kit-duotone",
|
936
|
+
"fa-kit-duotone": "kit-duotone"
|
937
|
+
}
|
938
|
+
};
|
939
|
+
var lo = {
|
940
|
+
classic: {
|
941
|
+
"fa-brands": "fab",
|
942
|
+
"fa-duotone": "fad",
|
943
|
+
"fa-light": "fal",
|
944
|
+
"fa-regular": "far",
|
945
|
+
"fa-solid": "fas",
|
946
|
+
"fa-thin": "fat"
|
947
|
+
},
|
948
|
+
sharp: {
|
949
|
+
"fa-solid": "fass",
|
950
|
+
"fa-regular": "fasr",
|
951
|
+
"fa-light": "fasl",
|
952
|
+
"fa-thin": "fast"
|
953
|
+
},
|
954
|
+
"sharp-duotone": {
|
955
|
+
"fa-solid": "fasds"
|
956
|
+
}
|
957
|
+
},
|
958
|
+
no = {
|
959
|
+
classic: {
|
960
|
+
fab: "fa-brands",
|
961
|
+
fad: "fa-duotone",
|
962
|
+
fal: "fa-light",
|
963
|
+
far: "fa-regular",
|
964
|
+
fas: "fa-solid",
|
965
|
+
fat: "fa-thin"
|
966
|
+
},
|
967
|
+
sharp: {
|
968
|
+
fass: "fa-solid",
|
969
|
+
fasr: "fa-regular",
|
970
|
+
fasl: "fa-light",
|
971
|
+
fast: "fa-thin"
|
972
|
+
},
|
973
|
+
"sharp-duotone": {
|
974
|
+
fasds: "fa-solid"
|
975
|
+
}
|
976
|
+
},
|
977
|
+
fo = {
|
978
|
+
classic: {
|
979
|
+
solid: "fas",
|
980
|
+
regular: "far",
|
981
|
+
light: "fal",
|
982
|
+
thin: "fat",
|
983
|
+
duotone: "fad",
|
984
|
+
brands: "fab"
|
985
|
+
},
|
986
|
+
sharp: {
|
987
|
+
solid: "fass",
|
988
|
+
regular: "fasr",
|
989
|
+
light: "fasl",
|
990
|
+
thin: "fast"
|
991
|
+
},
|
992
|
+
"sharp-duotone": {
|
993
|
+
solid: "fasds"
|
994
|
+
}
|
995
|
+
},
|
996
|
+
ho = {
|
997
|
+
classic: {
|
998
|
+
fa: "solid",
|
999
|
+
fas: "solid",
|
1000
|
+
"fa-solid": "solid",
|
1001
|
+
far: "regular",
|
1002
|
+
"fa-regular": "regular",
|
1003
|
+
fal: "light",
|
1004
|
+
"fa-light": "light",
|
1005
|
+
fat: "thin",
|
1006
|
+
"fa-thin": "thin",
|
1007
|
+
fad: "duotone",
|
1008
|
+
"fa-duotone": "duotone",
|
1009
|
+
fab: "brands",
|
1010
|
+
"fa-brands": "brands"
|
1011
|
+
},
|
1012
|
+
sharp: {
|
1013
|
+
fa: "solid",
|
1014
|
+
fass: "solid",
|
1015
|
+
"fa-solid": "solid",
|
1016
|
+
fasr: "regular",
|
1017
|
+
"fa-regular": "regular",
|
1018
|
+
fasl: "light",
|
1019
|
+
"fa-light": "light",
|
1020
|
+
fast: "thin",
|
1021
|
+
"fa-thin": "thin"
|
1022
|
+
},
|
1023
|
+
"sharp-duotone": {
|
1024
|
+
fa: "solid",
|
1025
|
+
fasds: "solid",
|
1026
|
+
"fa-solid": "solid"
|
1027
|
+
}
|
1028
|
+
};
|
1029
|
+
var Io = {
|
1030
|
+
kit: {
|
1031
|
+
"fa-kit": "fak"
|
1032
|
+
},
|
1033
|
+
"kit-duotone": {
|
1034
|
+
"fa-kit-duotone": "fakd"
|
1035
|
+
}
|
1036
|
+
},
|
1037
|
+
Fo = {
|
1038
|
+
kit: {
|
1039
|
+
fak: "fa-kit"
|
1040
|
+
},
|
1041
|
+
"kit-duotone": {
|
1042
|
+
fakd: "fa-kit-duotone"
|
1043
|
+
}
|
1044
|
+
},
|
1045
|
+
So = {
|
1046
|
+
kit: {
|
1047
|
+
kit: "fak"
|
1048
|
+
},
|
1049
|
+
"kit-duotone": {
|
1050
|
+
"kit-duotone": "fakd"
|
1051
|
+
}
|
1052
|
+
};
|
1053
|
+
|
1054
|
+
const PRODUCTION = (() => {
|
1008
1055
|
try {
|
1009
1056
|
return process.env.NODE_ENV === 'production';
|
1010
|
-
} catch (e) {
|
1057
|
+
} catch (e$$1) {
|
1011
1058
|
return false;
|
1012
1059
|
}
|
1013
|
-
}();
|
1014
|
-
var FAMILY_CLASSIC = 'classic';
|
1015
|
-
var FAMILY_SHARP = 'sharp';
|
1016
|
-
var FAMILIES = [FAMILY_CLASSIC, FAMILY_SHARP];
|
1060
|
+
})();
|
1017
1061
|
|
1018
1062
|
function familyProxy(obj) {
|
1019
1063
|
// Defaults to the classic family if family is not available
|
1020
1064
|
return new Proxy(obj, {
|
1021
|
-
get
|
1022
|
-
return prop in target ? target[prop] : target[
|
1065
|
+
get(target, prop) {
|
1066
|
+
return prop in target ? target[prop] : target[a];
|
1023
1067
|
}
|
1068
|
+
|
1024
1069
|
});
|
1025
1070
|
}
|
1026
|
-
|
1027
|
-
|
1028
|
-
|
1029
|
-
|
1030
|
-
'
|
1031
|
-
'
|
1032
|
-
|
1033
|
-
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1037
|
-
'
|
1038
|
-
'
|
1039
|
-
|
1040
|
-
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
|
1046
|
-
|
1047
|
-
|
1048
|
-
|
1049
|
-
|
1050
|
-
'
|
1051
|
-
|
1052
|
-
|
1053
|
-
|
1054
|
-
}), _familyProxy));
|
1055
|
-
var STYLE_TO_PREFIX = familyProxy((_familyProxy2 = {}, _defineProperty(_familyProxy2, FAMILY_CLASSIC, {
|
1056
|
-
solid: 'fas',
|
1057
|
-
regular: 'far',
|
1058
|
-
light: 'fal',
|
1059
|
-
thin: 'fat',
|
1060
|
-
duotone: 'fad',
|
1061
|
-
brands: 'fab',
|
1062
|
-
kit: 'fak'
|
1063
|
-
}), _defineProperty(_familyProxy2, FAMILY_SHARP, {
|
1064
|
-
solid: 'fass',
|
1065
|
-
regular: 'fasr',
|
1066
|
-
light: 'fasl',
|
1067
|
-
thin: 'fast'
|
1068
|
-
}), _familyProxy2));
|
1069
|
-
var PREFIX_TO_LONG_STYLE = familyProxy((_familyProxy3 = {}, _defineProperty(_familyProxy3, FAMILY_CLASSIC, {
|
1070
|
-
fab: 'fa-brands',
|
1071
|
-
fad: 'fa-duotone',
|
1072
|
-
fak: 'fa-kit',
|
1073
|
-
fal: 'fa-light',
|
1074
|
-
far: 'fa-regular',
|
1075
|
-
fas: 'fa-solid',
|
1076
|
-
fat: 'fa-thin'
|
1077
|
-
}), _defineProperty(_familyProxy3, FAMILY_SHARP, {
|
1078
|
-
fass: 'fa-solid',
|
1079
|
-
fasr: 'fa-regular',
|
1080
|
-
fasl: 'fa-light',
|
1081
|
-
fast: 'fa-thin'
|
1082
|
-
}), _familyProxy3));
|
1083
|
-
var LONG_STYLE_TO_PREFIX = familyProxy((_familyProxy4 = {}, _defineProperty(_familyProxy4, FAMILY_CLASSIC, {
|
1084
|
-
'fa-brands': 'fab',
|
1085
|
-
'fa-duotone': 'fad',
|
1086
|
-
'fa-kit': 'fak',
|
1087
|
-
'fa-light': 'fal',
|
1088
|
-
'fa-regular': 'far',
|
1089
|
-
'fa-solid': 'fas',
|
1090
|
-
'fa-thin': 'fat'
|
1091
|
-
}), _defineProperty(_familyProxy4, FAMILY_SHARP, {
|
1092
|
-
'fa-solid': 'fass',
|
1093
|
-
'fa-regular': 'fasr',
|
1094
|
-
'fa-light': 'fasl',
|
1095
|
-
'fa-thin': 'fast'
|
1096
|
-
}), _familyProxy4));
|
1097
|
-
var FONT_WEIGHT_TO_PREFIX = familyProxy((_familyProxy5 = {}, _defineProperty(_familyProxy5, FAMILY_CLASSIC, {
|
1098
|
-
900: 'fas',
|
1099
|
-
400: 'far',
|
1100
|
-
normal: 'far',
|
1101
|
-
300: 'fal',
|
1102
|
-
100: 'fat'
|
1103
|
-
}), _defineProperty(_familyProxy5, FAMILY_SHARP, {
|
1104
|
-
900: 'fass',
|
1105
|
-
400: 'fasr',
|
1106
|
-
300: 'fasl',
|
1107
|
-
100: 'fast'
|
1108
|
-
}), _familyProxy5));
|
1109
|
-
var oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
|
1110
|
-
var oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);
|
1111
|
-
var DUOTONE_CLASSES = {
|
1112
|
-
GROUP: 'duotone-group',
|
1113
|
-
SWAP_OPACITY: 'swap-opacity',
|
1114
|
-
PRIMARY: 'primary',
|
1115
|
-
SECONDARY: 'secondary'
|
1071
|
+
|
1072
|
+
const _PREFIX_TO_STYLE = { ...ho
|
1073
|
+
};
|
1074
|
+
_PREFIX_TO_STYLE[a] = { ...ho[a],
|
1075
|
+
...bt['kit'],
|
1076
|
+
...bt['kit-duotone']
|
1077
|
+
};
|
1078
|
+
const PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);
|
1079
|
+
const _STYLE_TO_PREFIX = { ...fo
|
1080
|
+
};
|
1081
|
+
_STYLE_TO_PREFIX[a] = { ..._STYLE_TO_PREFIX[a],
|
1082
|
+
...So['kit'],
|
1083
|
+
...So['kit-duotone']
|
1084
|
+
};
|
1085
|
+
const STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);
|
1086
|
+
const _PREFIX_TO_LONG_STYLE = { ...no
|
1087
|
+
};
|
1088
|
+
_PREFIX_TO_LONG_STYLE[a] = { ..._PREFIX_TO_LONG_STYLE[a],
|
1089
|
+
...Fo['kit']
|
1090
|
+
};
|
1091
|
+
const PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);
|
1092
|
+
const _LONG_STYLE_TO_PREFIX = { ...lo
|
1093
|
+
};
|
1094
|
+
_LONG_STYLE_TO_PREFIX[a] = { ..._LONG_STYLE_TO_PREFIX[a],
|
1095
|
+
...Io['kit']
|
1096
|
+
};
|
1097
|
+
const LONG_STYLE_TO_PREFIX = familyProxy(_LONG_STYLE_TO_PREFIX);
|
1098
|
+
const _FONT_WEIGHT_TO_PREFIX = { ...et$1
|
1116
1099
|
};
|
1117
|
-
|
1118
|
-
|
1119
|
-
Object.keys(STYLE_TO_PREFIX[
|
1120
|
-
|
1121
|
-
|
1122
|
-
})).concat(oneToTwenty.map(function (n) {
|
1123
|
-
return "w-".concat(n);
|
1124
|
-
}));
|
1100
|
+
const FONT_WEIGHT_TO_PREFIX = familyProxy(_FONT_WEIGHT_TO_PREFIX);
|
1101
|
+
const prefixes = new Set();
|
1102
|
+
Object.keys(STYLE_TO_PREFIX[a]).map(prefixes.add.bind(prefixes));
|
1103
|
+
Object.keys(STYLE_TO_PREFIX[r]).map(prefixes.add.bind(prefixes));
|
1104
|
+
Object.keys(STYLE_TO_PREFIX[o]).map(prefixes.add.bind(prefixes));
|
1125
1105
|
|
1126
1106
|
function bunker(fn) {
|
1127
1107
|
try {
|
@@ -1129,7 +1109,7 @@
|
|
1129
1109
|
args[_key - 1] = arguments[_key];
|
1130
1110
|
}
|
1131
1111
|
|
1132
|
-
fn
|
1112
|
+
fn(...args);
|
1133
1113
|
} catch (e) {
|
1134
1114
|
if (!PRODUCTION) {
|
1135
1115
|
throw e;
|
@@ -1137,7 +1117,7 @@
|
|
1137
1117
|
}
|
1138
1118
|
}
|
1139
1119
|
|
1140
|
-
bunker(
|
1120
|
+
bunker(() => {
|
1141
1121
|
if (IS_BROWSER && IS_DOM) {
|
1142
1122
|
conflictDetection(window.FontAwesomeDetection.report);
|
1143
1123
|
}
|