ui_bibz 4.0.0.beta12 → 4.0.0.beta14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +128 -130
- data/app/assets/stylesheets/ui_bibz.sass +1 -0
- data/config/initializers/will_paginate.rb +1 -1
- data/lib/ui_bibz/concerns/models/searchable.rb +5 -2
- data/lib/ui_bibz/infos.rb +1 -1
- data/lib/ui_bibz/ui/base.rb +7 -3
- data/lib/ui_bibz/ui/ux/tables/components/actions.rb +3 -3
- data/lib/ui_bibz/ui/ux/tables/components/store.rb +4 -0
- data/lib/ui_bibz/ui/ux/tables/table_pagination_per_page.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
|
}
|