@bigbinary/neeto-molecules 5.1.18 → 5.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/EmailForm.js +2 -0
  2. package/dist/EmailForm.js.map +1 -1
  3. package/dist/EmailPreview.js +1 -20
  4. package/dist/EmailPreview.js.map +1 -1
  5. package/dist/GoogleFontPicker.js +1 -449
  6. package/dist/GoogleFontPicker.js.map +1 -1
  7. package/dist/IconPicker.js +6 -914
  8. package/dist/IconPicker.js.map +1 -1
  9. package/dist/SendToFields.js +3 -1943
  10. package/dist/SendToFields.js.map +1 -1
  11. package/dist/ShareViaEmail.js +2 -0
  12. package/dist/ShareViaEmail.js.map +1 -1
  13. package/dist/avatar-placeholder-DEjUhVlU.js +23 -0
  14. package/dist/avatar-placeholder-DEjUhVlU.js.map +1 -0
  15. package/dist/cjs/EmailForm.js +2 -0
  16. package/dist/cjs/EmailForm.js.map +1 -1
  17. package/dist/cjs/EmailPreview.js +2 -39
  18. package/dist/cjs/EmailPreview.js.map +1 -1
  19. package/dist/cjs/GoogleFontPicker.js +9 -457
  20. package/dist/cjs/GoogleFontPicker.js.map +1 -1
  21. package/dist/cjs/IconPicker.js +6 -914
  22. package/dist/cjs/IconPicker.js.map +1 -1
  23. package/dist/cjs/SendToFields.js +4 -1944
  24. package/dist/cjs/SendToFields.js.map +1 -1
  25. package/dist/cjs/ShareViaEmail.js +2 -0
  26. package/dist/cjs/ShareViaEmail.js.map +1 -1
  27. package/dist/cjs/avatar-placeholder-CSJpe1V0.js +44 -0
  28. package/dist/cjs/avatar-placeholder-CSJpe1V0.js.map +1 -0
  29. package/dist/cjs/download-B53zeKGa.js +21 -0
  30. package/dist/cjs/download-B53zeKGa.js.map +1 -0
  31. package/dist/cjs/index.es-Bcx0v5Pd.js +454 -0
  32. package/dist/cjs/index.es-Bcx0v5Pd.js.map +1 -0
  33. package/dist/cjs/index.esm-Bb1Vtlp2.js +919 -0
  34. package/dist/cjs/index.esm-Bb1Vtlp2.js.map +1 -0
  35. package/dist/cjs/papaparse-B5u_uWB3.js +1948 -0
  36. package/dist/cjs/papaparse-B5u_uWB3.js.map +1 -0
  37. package/dist/cjs/upload-C5ZnN-d5.js +21 -0
  38. package/dist/cjs/upload-C5ZnN-d5.js.map +1 -0
  39. package/dist/cjs/v2/CalendarView.js +1 -0
  40. package/dist/cjs/v2/CalendarView.js.map +1 -1
  41. package/dist/cjs/v2/DeleteArchiveModal.js +91 -0
  42. package/dist/cjs/v2/DeleteArchiveModal.js.map +1 -0
  43. package/dist/cjs/v2/DownloadMobileAppCallout.js +43 -0
  44. package/dist/cjs/v2/DownloadMobileAppCallout.js.map +1 -0
  45. package/dist/cjs/v2/EmailForm.js +622 -0
  46. package/dist/cjs/v2/EmailForm.js.map +1 -0
  47. package/dist/cjs/v2/EmailPreview.js +138 -0
  48. package/dist/cjs/v2/EmailPreview.js.map +1 -0
  49. package/dist/cjs/v2/EmojiReactions.js +82 -0
  50. package/dist/cjs/v2/EmojiReactions.js.map +1 -0
  51. package/dist/cjs/v2/FileUpload.js +5 -19
  52. package/dist/cjs/v2/FileUpload.js.map +1 -1
  53. package/dist/cjs/v2/GoogleFontPicker.js +130 -0
  54. package/dist/cjs/v2/GoogleFontPicker.js.map +1 -0
  55. package/dist/cjs/v2/IconPicker.js +274 -0
  56. package/dist/cjs/v2/IconPicker.js.map +1 -0
  57. package/dist/cjs/v2/SendToFields.js +313 -0
  58. package/dist/cjs/v2/SendToFields.js.map +1 -0
  59. package/dist/cjs/v2/SubHeader.js +4 -18
  60. package/dist/cjs/v2/SubHeader.js.map +1 -1
  61. package/dist/download-CZ7Q6k7-.js +19 -0
  62. package/dist/download-CZ7Q6k7-.js.map +1 -0
  63. package/dist/index.es-BQ-dr8y1.js +451 -0
  64. package/dist/index.es-BQ-dr8y1.js.map +1 -0
  65. package/dist/index.esm-DLni3-hz.js +917 -0
  66. package/dist/index.esm-DLni3-hz.js.map +1 -0
  67. package/dist/papaparse-p7fkGgWo.js +1946 -0
  68. package/dist/papaparse-p7fkGgWo.js.map +1 -0
  69. package/dist/upload-BNvlRoRJ.js +19 -0
  70. package/dist/upload-BNvlRoRJ.js.map +1 -0
  71. package/dist/v2/CalendarView.js +1 -0
  72. package/dist/v2/CalendarView.js.map +1 -1
  73. package/dist/v2/DeleteArchiveModal.js +89 -0
  74. package/dist/v2/DeleteArchiveModal.js.map +1 -0
  75. package/dist/v2/DownloadMobileAppCallout.js +41 -0
  76. package/dist/v2/DownloadMobileAppCallout.js.map +1 -0
  77. package/dist/v2/EmailForm.js +596 -0
  78. package/dist/v2/EmailForm.js.map +1 -0
  79. package/dist/v2/EmailPreview.js +136 -0
  80. package/dist/v2/EmailPreview.js.map +1 -0
  81. package/dist/v2/EmojiReactions.js +80 -0
  82. package/dist/v2/EmojiReactions.js.map +1 -0
  83. package/dist/v2/FileUpload.js +4 -18
  84. package/dist/v2/FileUpload.js.map +1 -1
  85. package/dist/v2/GoogleFontPicker.js +128 -0
  86. package/dist/v2/GoogleFontPicker.js.map +1 -0
  87. package/dist/v2/IconPicker.js +272 -0
  88. package/dist/v2/IconPicker.js.map +1 -0
  89. package/dist/v2/SendToFields.js +311 -0
  90. package/dist/v2/SendToFields.js.map +1 -0
  91. package/dist/v2/SubHeader.js +3 -17
  92. package/dist/v2/SubHeader.js.map +1 -1
  93. package/package.json +5 -5
  94. package/types/v2/DeleteArchiveModal.d.ts +16 -0
  95. package/types/v2/DownloadMobileAppCallout.d.ts +7 -0
  96. package/types/v2/EmailForm.d.ts +88 -0
  97. package/types/v2/EmailFormProvider.d.ts +29 -0
  98. package/types/v2/EmailPreview.d.ts +16 -0
  99. package/types/v2/EmojiReactions.d.ts +22 -0
  100. package/types/v2/GoogleFontPicker.d.ts +19 -0
  101. package/types/v2/IconPicker.d.ts +11 -0
  102. package/types/v2/SendToFields.d.ts +25 -0
@@ -0,0 +1,451 @@
1
+ /*! *****************************************************************************
2
+ Copyright (c) Microsoft Corporation. All rights reserved.
3
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
+ this file except in compliance with the License. You may obtain a copy of the
5
+ License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10
+ MERCHANTABLITY OR NON-INFRINGEMENT.
11
+
12
+ See the Apache Version 2.0 License for specific language governing permissions
13
+ and limitations under the License.
14
+ ***************************************************************************** */
15
+
16
+ var __assign = function() {
17
+ __assign = Object.assign || function __assign(t) {
18
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
19
+ s = arguments[i];
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
21
+ }
22
+ return t;
23
+ };
24
+ return __assign.apply(this, arguments);
25
+ };
26
+
27
+ function __rest(s, e) {
28
+ var t = {};
29
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
30
+ t[p] = s[p];
31
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
32
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
33
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
34
+ t[p[i]] = s[p[i]];
35
+ }
36
+ return t;
37
+ }
38
+
39
+ function __awaiter(thisArg, _arguments, P, generator) {
40
+ return new (P || (P = Promise))(function (resolve, reject) {
41
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
42
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
43
+ function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
44
+ step((generator = generator.apply(thisArg, [])).next());
45
+ });
46
+ }
47
+
48
+ function __generator(thisArg, body) {
49
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
50
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
51
+ function verb(n) { return function (v) { return step([n, v]); }; }
52
+ function step(op) {
53
+ if (f) throw new TypeError("Generator is already executing.");
54
+ while (_) try {
55
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
56
+ if (y = 0, t) op = [op[0] & 2, t.value];
57
+ switch (op[0]) {
58
+ case 0: case 1: t = op; break;
59
+ case 4: _.label++; return { value: op[1], done: false };
60
+ case 5: _.label++; y = op[1]; op = [0]; continue;
61
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
62
+ default:
63
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
64
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
65
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
66
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
67
+ if (t[2]) _.ops.pop();
68
+ _.trys.pop(); continue;
69
+ }
70
+ op = body.call(thisArg, _);
71
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
72
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
73
+ }
74
+ }
75
+
76
+ function styleInject(css, ref) {
77
+ if ( ref === void 0 ) ref = {};
78
+ var insertAt = ref.insertAt;
79
+
80
+ if (typeof document === 'undefined') { return; }
81
+
82
+ var head = document.head || document.getElementsByTagName('head')[0];
83
+ var style = document.createElement('style');
84
+ style.type = 'text/css';
85
+
86
+ if (insertAt === 'top') {
87
+ if (head.firstChild) {
88
+ head.insertBefore(style, head.firstChild);
89
+ } else {
90
+ head.appendChild(style);
91
+ }
92
+ } else {
93
+ head.appendChild(style);
94
+ }
95
+
96
+ if (style.styleSheet) {
97
+ style.styleSheet.cssText = css;
98
+ } else {
99
+ style.appendChild(document.createTextNode(css));
100
+ }
101
+ }
102
+
103
+ var css = "@charset \"UTF-8\";\ndiv[id^=font-picker] {\n position: relative;\n display: inline-block;\n width: 200px;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);\n}\ndiv[id^=font-picker] * {\n box-sizing: border-box;\n}\ndiv[id^=font-picker] p {\n margin: 0;\n padding: 0;\n}\ndiv[id^=font-picker] button {\n color: inherit;\n font-size: inherit;\n background: none;\n border: 0;\n outline: none;\n cursor: pointer;\n}\ndiv[id^=font-picker] .dropdown-button {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n height: 35px;\n padding: 0 10px;\n background: #cbcbcb;\n}\ndiv[id^=font-picker] .dropdown-button:hover, div[id^=font-picker] .dropdown-button:focus {\n background: #bebebe;\n}\ndiv[id^=font-picker] .dropdown-button .dropdown-font-name {\n overflow: hidden;\n white-space: nowrap;\n}\ndiv[id^=font-picker] .dropdown-icon {\n margin-left: 10px;\n}\n@-webkit-keyframes spinner {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes spinner {\n to {\n transform: rotate(360deg);\n }\n}\ndiv[id^=font-picker] .dropdown-icon.loading::before {\n display: block;\n width: 10px;\n height: 10px;\n border: 2px solid #b2b2b2;\n border-top-color: #000000;\n border-radius: 50%;\n -webkit-animation: spinner 0.6s linear infinite;\n animation: spinner 0.6s linear infinite;\n content: \"\";\n}\ndiv[id^=font-picker] .dropdown-icon.finished::before {\n display: block;\n width: 0;\n height: 0;\n margin: 0 2px;\n border-top: 6px solid #000000;\n border-right: 5px solid transparent;\n border-left: 5px solid transparent;\n transition: transform 0.3s;\n content: \"\";\n}\ndiv[id^=font-picker] .dropdown-icon.error::before {\n content: \"⚠\";\n}\ndiv[id^=font-picker].expanded .dropdown-icon.finished::before {\n transform: rotate(-180deg);\n}\ndiv[id^=font-picker].expanded ul {\n max-height: 200px;\n}\ndiv[id^=font-picker] ul {\n position: absolute;\n z-index: 1;\n width: 100%;\n max-height: 0;\n margin: 0;\n padding: 0;\n overflow-x: hidden;\n overflow-y: auto;\n background: #eaeaea;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);\n transition: 0.3s;\n -webkit-overflow-scrolling: touch;\n}\ndiv[id^=font-picker] ul li {\n height: 35px;\n list-style: none;\n}\ndiv[id^=font-picker] ul li button {\n display: flex;\n align-items: center;\n width: 100%;\n height: 100%;\n padding: 0 10px;\n white-space: nowrap;\n}\ndiv[id^=font-picker] ul li button:hover, div[id^=font-picker] ul li button:focus {\n background: #dddddd;\n}\ndiv[id^=font-picker] ul li button.active-font {\n background: #d1d1d1;\n}";
104
+ styleInject(css);
105
+
106
+ function getFontId(fontFamily) {
107
+ return fontFamily.replace(/\s+/g, "-").toLowerCase();
108
+ }
109
+ function validatePickerId(pickerId) {
110
+ if (pickerId.match(/[^0-9a-z]/i)) {
111
+ throw Error("The `pickerId` parameter may only contain letters and digits");
112
+ }
113
+ }
114
+
115
+ function get(url) {
116
+ return new Promise(function (resolve, reject) {
117
+ var request = new XMLHttpRequest();
118
+ request.overrideMimeType("application/json");
119
+ request.open("GET", url, true);
120
+ request.onreadystatechange = function () {
121
+ if (request.readyState === 4) {
122
+ if (request.status !== 200) {
123
+ reject(new Error("Response has status code " + request.status));
124
+ }
125
+ else {
126
+ resolve(request.responseText);
127
+ }
128
+ }
129
+ };
130
+ request.send();
131
+ });
132
+ }
133
+
134
+ var LIST_BASE_URL = "https://www.googleapis.com/webfonts/v1/webfonts";
135
+ function getFontList(apiKey) {
136
+ return __awaiter(this, void 0, void 0, function () {
137
+ var url, response, json, fontsOriginal;
138
+ return __generator(this, function (_a) {
139
+ switch (_a.label) {
140
+ case 0:
141
+ url = new URL(LIST_BASE_URL);
142
+ url.searchParams.append("sort", "popularity");
143
+ url.searchParams.append("key", apiKey);
144
+ return [4, get(url.href)];
145
+ case 1:
146
+ response = _a.sent();
147
+ json = JSON.parse(response);
148
+ fontsOriginal = json.items;
149
+ return [2, fontsOriginal.map(function (fontOriginal) {
150
+ var family = fontOriginal.family, subsets = fontOriginal.subsets, others = __rest(fontOriginal, ["family", "subsets"]);
151
+ return __assign(__assign({}, others), { family: family, id: getFontId(family), scripts: subsets });
152
+ })];
153
+ }
154
+ });
155
+ });
156
+ }
157
+
158
+ var previewFontsStylesheet = document.createElement("style");
159
+ document.head.appendChild(previewFontsStylesheet);
160
+ function applyFontPreview(previewFont, selectorSuffix) {
161
+ var fontId = getFontId(previewFont.family);
162
+ var style = "\n\t\t\t#font-button-" + fontId + selectorSuffix + " {\n\t\t\t\tfont-family: \"" + previewFont.family + "\";\n\t\t\t}\n\t\t";
163
+ previewFontsStylesheet.appendChild(document.createTextNode(style));
164
+ }
165
+ function getActiveFontStylesheet(selectorSuffix) {
166
+ var stylesheetId = "active-font-" + selectorSuffix;
167
+ var activeFontStylesheet = document.getElementById(stylesheetId);
168
+ if (!activeFontStylesheet) {
169
+ activeFontStylesheet = document.createElement("style");
170
+ activeFontStylesheet.id = stylesheetId;
171
+ document.head.appendChild(activeFontStylesheet);
172
+ }
173
+ return activeFontStylesheet;
174
+ }
175
+ function applyActiveFont(activeFont, previousFontFamily, selectorSuffix) {
176
+ var style = "\n\t\t.apply-font" + selectorSuffix + " {\n\t\t\tfont-family: \"" + activeFont.family + "\"" + (previousFontFamily ? ", \"" + previousFontFamily + "\"" : "") + ";\n\t\t}\n\t";
177
+ var activeFontStylesheet = getActiveFontStylesheet(selectorSuffix);
178
+ activeFontStylesheet.innerHTML = style;
179
+ }
180
+
181
+ var PREVIEW_ATTRIBUTE_NAME = "data-is-preview";
182
+ function getStylesheetId(fontId) {
183
+ return "font-" + fontId;
184
+ }
185
+ function stylesheetExists(fontId, isPreview) {
186
+ var stylesheetNode = document.getElementById(getStylesheetId(fontId));
187
+ if (isPreview === null || isPreview === undefined) {
188
+ return stylesheetNode !== null;
189
+ }
190
+ return (stylesheetNode !== null &&
191
+ stylesheetNode.getAttribute(PREVIEW_ATTRIBUTE_NAME) === isPreview.toString());
192
+ }
193
+ function createStylesheet(fontId, isPreview) {
194
+ var stylesheetNode = document.createElement("style");
195
+ stylesheetNode.id = getStylesheetId(fontId);
196
+ stylesheetNode.setAttribute(PREVIEW_ATTRIBUTE_NAME, isPreview.toString());
197
+ document.head.appendChild(stylesheetNode);
198
+ }
199
+ function fillStylesheet(fontId, styles) {
200
+ var stylesheetId = getStylesheetId(fontId);
201
+ var stylesheetNode = document.getElementById(stylesheetId);
202
+ if (stylesheetNode) {
203
+ stylesheetNode.textContent = styles;
204
+ }
205
+ else {
206
+ console.error("Could not fill stylesheet: Stylesheet with ID \"" + stylesheetId + "\" not found");
207
+ }
208
+ }
209
+ function setStylesheetType(fontId, isPreview) {
210
+ var stylesheetId = getStylesheetId(fontId);
211
+ var stylesheetNode = document.getElementById(stylesheetId);
212
+ if (stylesheetNode) {
213
+ stylesheetNode.setAttribute(PREVIEW_ATTRIBUTE_NAME, isPreview.toString());
214
+ }
215
+ else {
216
+ console.error("Could not change stylesheet type: Stylesheet with ID \"" + stylesheetId + "\" not found");
217
+ }
218
+ }
219
+
220
+ function getMatches(regex, str) {
221
+ var matches = [];
222
+ var match;
223
+ do {
224
+ match = regex.exec(str);
225
+ if (match) {
226
+ matches.push(match[1]);
227
+ }
228
+ } while (match);
229
+ return matches;
230
+ }
231
+
232
+ var FONT_FACE_REGEX = /@font-face {([\s\S]*?)}/gm;
233
+ var FONT_FAMILY_REGEX = /font-family: ['"](.*?)['"]/gm;
234
+ function extractFontStyles(allFontStyles) {
235
+ var rules = getMatches(FONT_FACE_REGEX, allFontStyles);
236
+ var fontStyles = {};
237
+ rules.forEach(function (rule) {
238
+ var fontFamily = getMatches(FONT_FAMILY_REGEX, rule)[0];
239
+ var fontId = getFontId(fontFamily);
240
+ if (!(fontId in fontStyles)) {
241
+ fontStyles[fontId] = "";
242
+ }
243
+ fontStyles[fontId] += "@font-face {\n" + rule + "\n}\n\n";
244
+ });
245
+ return fontStyles;
246
+ }
247
+
248
+ var FONT_BASE_URL = "https://fonts.googleapis.com/css";
249
+ function getStylesheet(fonts, scripts, variants, previewsOnly) {
250
+ return __awaiter(this, void 0, void 0, function () {
251
+ var url, variantsStr, familiesStr, familyNamesConcat, downloadChars;
252
+ return __generator(this, function (_a) {
253
+ url = new URL(FONT_BASE_URL);
254
+ variantsStr = variants.join(",");
255
+ familiesStr = fonts.map(function (font) { return font.family + ":" + variantsStr; });
256
+ url.searchParams.append("family", familiesStr.join("|"));
257
+ url.searchParams.append("subset", scripts.join(","));
258
+ if (previewsOnly) {
259
+ familyNamesConcat = fonts.map(function (font) { return font.family; }).join("");
260
+ downloadChars = familyNamesConcat
261
+ .split("")
262
+ .filter(function (char, pos, self) { return self.indexOf(char) === pos; })
263
+ .join("");
264
+ url.searchParams.append("text", downloadChars);
265
+ }
266
+ url.searchParams.append("font-display", "swap");
267
+ return [2, get(url.href)];
268
+ });
269
+ });
270
+ }
271
+
272
+ function loadFontPreviews(fonts, scripts, variants, selectorSuffix) {
273
+ return __awaiter(this, void 0, void 0, function () {
274
+ var fontsArray, fontsToFetch, response, fontStyles;
275
+ return __generator(this, function (_a) {
276
+ switch (_a.label) {
277
+ case 0:
278
+ fontsArray = Array.from(fonts.values());
279
+ fontsToFetch = fontsArray
280
+ .map(function (font) { return font.id; })
281
+ .filter(function (fontId) { return !stylesheetExists(fontId); });
282
+ fontsToFetch.forEach(function (fontId) { return createStylesheet(fontId, true); });
283
+ return [4, getStylesheet(fontsArray, scripts, variants, true)];
284
+ case 1:
285
+ response = _a.sent();
286
+ fontStyles = extractFontStyles(response);
287
+ fontsArray.forEach(function (font) {
288
+ applyFontPreview(font, selectorSuffix);
289
+ if (fontsToFetch.includes(font.id)) {
290
+ if (!(font.id in fontStyles)) {
291
+ console.error("Missing styles for font \"" + font.family + "\" (fontId \"" + font.id + "\") in Google Fonts response");
292
+ return;
293
+ }
294
+ fillStylesheet(font.id, fontStyles[font.id]);
295
+ }
296
+ });
297
+ return [2];
298
+ }
299
+ });
300
+ });
301
+ }
302
+ function loadActiveFont(font, previousFontFamily, scripts, variants, selectorSuffix) {
303
+ return __awaiter(this, void 0, void 0, function () {
304
+ var fontStyle;
305
+ return __generator(this, function (_a) {
306
+ switch (_a.label) {
307
+ case 0:
308
+ if (!stylesheetExists(font.id, false)) return [3, 1];
309
+ applyActiveFont(font, previousFontFamily, selectorSuffix);
310
+ return [3, 3];
311
+ case 1:
312
+ if (stylesheetExists(font.id, true)) {
313
+ setStylesheetType(font.id, false);
314
+ }
315
+ else {
316
+ createStylesheet(font.id, false);
317
+ }
318
+ return [4, getStylesheet([font], scripts, variants, false)];
319
+ case 2:
320
+ fontStyle = _a.sent();
321
+ applyActiveFont(font, previousFontFamily, selectorSuffix);
322
+ fillStylesheet(font.id, fontStyle);
323
+ _a.label = 3;
324
+ case 3: return [2];
325
+ }
326
+ });
327
+ });
328
+ }
329
+
330
+ var FONT_FAMILY_DEFAULT = "Open Sans";
331
+ var OPTIONS_DEFAULTS = {
332
+ pickerId: "",
333
+ families: [],
334
+ categories: [],
335
+ scripts: ["latin"],
336
+ variants: ["regular"],
337
+ filter: function () { return true; },
338
+ limit: 50,
339
+ sort: "alphabet",
340
+ };
341
+
342
+ var FontManager = (function () {
343
+ function FontManager(apiKey, defaultFamily, _a, onChange) {
344
+ if (defaultFamily === void 0) { defaultFamily = FONT_FAMILY_DEFAULT; }
345
+ var _b = _a.pickerId, pickerId = _b === void 0 ? OPTIONS_DEFAULTS.pickerId : _b, _c = _a.families, families = _c === void 0 ? OPTIONS_DEFAULTS.families : _c, _d = _a.categories, categories = _d === void 0 ? OPTIONS_DEFAULTS.categories : _d, _e = _a.scripts, scripts = _e === void 0 ? OPTIONS_DEFAULTS.scripts : _e, _f = _a.variants, variants = _f === void 0 ? OPTIONS_DEFAULTS.variants : _f, _g = _a.filter, filter = _g === void 0 ? OPTIONS_DEFAULTS.filter : _g, _h = _a.limit, limit = _h === void 0 ? OPTIONS_DEFAULTS.limit : _h, _j = _a.sort, sort = _j === void 0 ? OPTIONS_DEFAULTS.sort : _j;
346
+ if (onChange === void 0) { onChange = function () { }; }
347
+ this.fonts = new Map();
348
+ validatePickerId(pickerId);
349
+ this.selectorSuffix = pickerId ? "-" + pickerId : "";
350
+ this.apiKey = apiKey;
351
+ this.options = {
352
+ pickerId: pickerId,
353
+ families: families,
354
+ categories: categories,
355
+ scripts: scripts,
356
+ variants: variants,
357
+ filter: filter,
358
+ limit: limit,
359
+ sort: sort,
360
+ };
361
+ this.onChange = onChange;
362
+ this.addFont(defaultFamily, false);
363
+ this.setActiveFont(defaultFamily, false);
364
+ }
365
+ FontManager.prototype.init = function () {
366
+ return __awaiter(this, void 0, void 0, function () {
367
+ var fonts, _loop_1, this_1, i, state_1, fontsToLoad;
368
+ return __generator(this, function (_a) {
369
+ switch (_a.label) {
370
+ case 0: return [4, getFontList(this.apiKey)];
371
+ case 1:
372
+ fonts = _a.sent();
373
+ _loop_1 = function (i) {
374
+ var font = fonts[i];
375
+ if (this_1.fonts.size >= this_1.options.limit) {
376
+ return "break";
377
+ }
378
+ if (!this_1.fonts.has(font.family) &&
379
+ (this_1.options.families.length === 0 || this_1.options.families.includes(font.family)) &&
380
+ (this_1.options.categories.length === 0 || this_1.options.categories.includes(font.category)) &&
381
+ this_1.options.scripts.every(function (script) { return font.scripts.includes(script); }) &&
382
+ this_1.options.variants.every(function (variant) { return font.variants.includes(variant); }) &&
383
+ this_1.options.filter(font) === true) {
384
+ this_1.fonts.set(font.family, font);
385
+ }
386
+ };
387
+ this_1 = this;
388
+ for (i = 0; i < fonts.length; i += 1) {
389
+ state_1 = _loop_1(i);
390
+ if (state_1 === "break")
391
+ break;
392
+ }
393
+ fontsToLoad = new Map(this.fonts);
394
+ fontsToLoad["delete"](this.activeFontFamily);
395
+ loadFontPreviews(fontsToLoad, this.options.scripts, this.options.variants, this.selectorSuffix);
396
+ return [2, this.fonts];
397
+ }
398
+ });
399
+ });
400
+ };
401
+ FontManager.prototype.getFonts = function () {
402
+ return this.fonts;
403
+ };
404
+ FontManager.prototype.addFont = function (fontFamily, downloadPreview) {
405
+ if (downloadPreview === void 0) { downloadPreview = true; }
406
+ var font = {
407
+ family: fontFamily,
408
+ id: getFontId(fontFamily),
409
+ };
410
+ this.fonts.set(fontFamily, font);
411
+ if (downloadPreview) {
412
+ var fontMap = new Map();
413
+ fontMap.set(fontFamily, font);
414
+ loadFontPreviews(fontMap, this.options.scripts, this.options.variants, this.selectorSuffix);
415
+ }
416
+ };
417
+ FontManager.prototype.removeFont = function (fontFamily) {
418
+ this.fonts["delete"](fontFamily);
419
+ };
420
+ FontManager.prototype.getActiveFont = function () {
421
+ var activeFont = this.fonts.get(this.activeFontFamily);
422
+ if (!activeFont) {
423
+ throw Error("Cannot get active font: \"" + this.activeFontFamily + "\" is not in the font list");
424
+ }
425
+ else {
426
+ return activeFont;
427
+ }
428
+ };
429
+ FontManager.prototype.setActiveFont = function (fontFamily, runOnChange) {
430
+ var _this = this;
431
+ if (runOnChange === void 0) { runOnChange = true; }
432
+ var previousFontFamily = this.activeFontFamily;
433
+ var activeFont = this.fonts.get(fontFamily);
434
+ if (!activeFont) {
435
+ throw Error("Cannot update active font: \"" + fontFamily + "\" is not in the font list");
436
+ }
437
+ this.activeFontFamily = fontFamily;
438
+ loadActiveFont(activeFont, previousFontFamily, this.options.scripts, this.options.variants, this.selectorSuffix).then(function () {
439
+ if (runOnChange) {
440
+ _this.onChange(activeFont);
441
+ }
442
+ });
443
+ };
444
+ FontManager.prototype.setOnChange = function (onChange) {
445
+ this.onChange = onChange;
446
+ };
447
+ return FontManager;
448
+ }());
449
+
450
+ export { FontManager as F, OPTIONS_DEFAULTS as O };
451
+ //# sourceMappingURL=index.es-BQ-dr8y1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es-BQ-dr8y1.js","sources":["../node_modules/@samuelmeuli/font-manager/dist/index.es.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css = \"@charset \\\"UTF-8\\\";\\ndiv[id^=font-picker] {\\n position: relative;\\n display: inline-block;\\n width: 200px;\\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);\\n}\\ndiv[id^=font-picker] * {\\n box-sizing: border-box;\\n}\\ndiv[id^=font-picker] p {\\n margin: 0;\\n padding: 0;\\n}\\ndiv[id^=font-picker] button {\\n color: inherit;\\n font-size: inherit;\\n background: none;\\n border: 0;\\n outline: none;\\n cursor: pointer;\\n}\\ndiv[id^=font-picker] .dropdown-button {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n width: 100%;\\n height: 35px;\\n padding: 0 10px;\\n background: #cbcbcb;\\n}\\ndiv[id^=font-picker] .dropdown-button:hover, div[id^=font-picker] .dropdown-button:focus {\\n background: #bebebe;\\n}\\ndiv[id^=font-picker] .dropdown-button .dropdown-font-name {\\n overflow: hidden;\\n white-space: nowrap;\\n}\\ndiv[id^=font-picker] .dropdown-icon {\\n margin-left: 10px;\\n}\\n@-webkit-keyframes spinner {\\n to {\\n transform: rotate(360deg);\\n }\\n}\\n@keyframes spinner {\\n to {\\n transform: rotate(360deg);\\n }\\n}\\ndiv[id^=font-picker] .dropdown-icon.loading::before {\\n display: block;\\n width: 10px;\\n height: 10px;\\n border: 2px solid #b2b2b2;\\n border-top-color: #000000;\\n border-radius: 50%;\\n -webkit-animation: spinner 0.6s linear infinite;\\n animation: spinner 0.6s linear infinite;\\n content: \\\"\\\";\\n}\\ndiv[id^=font-picker] .dropdown-icon.finished::before {\\n display: block;\\n width: 0;\\n height: 0;\\n margin: 0 2px;\\n border-top: 6px solid #000000;\\n border-right: 5px solid transparent;\\n border-left: 5px solid transparent;\\n transition: transform 0.3s;\\n content: \\\"\\\";\\n}\\ndiv[id^=font-picker] .dropdown-icon.error::before {\\n content: \\\"⚠\\\";\\n}\\ndiv[id^=font-picker].expanded .dropdown-icon.finished::before {\\n transform: rotate(-180deg);\\n}\\ndiv[id^=font-picker].expanded ul {\\n max-height: 200px;\\n}\\ndiv[id^=font-picker] ul {\\n position: absolute;\\n z-index: 1;\\n width: 100%;\\n max-height: 0;\\n margin: 0;\\n padding: 0;\\n overflow-x: hidden;\\n overflow-y: auto;\\n background: #eaeaea;\\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);\\n transition: 0.3s;\\n -webkit-overflow-scrolling: touch;\\n}\\ndiv[id^=font-picker] ul li {\\n height: 35px;\\n list-style: none;\\n}\\ndiv[id^=font-picker] ul li button {\\n display: flex;\\n align-items: center;\\n width: 100%;\\n height: 100%;\\n padding: 0 10px;\\n white-space: nowrap;\\n}\\ndiv[id^=font-picker] ul li button:hover, div[id^=font-picker] ul li button:focus {\\n background: #dddddd;\\n}\\ndiv[id^=font-picker] ul li button.active-font {\\n background: #d1d1d1;\\n}\";\nstyleInject(css);\n\nfunction getFontId(fontFamily) {\n return fontFamily.replace(/\\s+/g, \"-\").toLowerCase();\n}\nfunction validatePickerId(pickerId) {\n if (pickerId.match(/[^0-9a-z]/i)) {\n throw Error(\"The `pickerId` parameter may only contain letters and digits\");\n }\n}\n\nfunction get(url) {\n return new Promise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.overrideMimeType(\"application/json\");\n request.open(\"GET\", url, true);\n request.onreadystatechange = function () {\n if (request.readyState === 4) {\n if (request.status !== 200) {\n reject(new Error(\"Response has status code \" + request.status));\n }\n else {\n resolve(request.responseText);\n }\n }\n };\n request.send();\n });\n}\n\nvar LIST_BASE_URL = \"https://www.googleapis.com/webfonts/v1/webfonts\";\nfunction getFontList(apiKey) {\n return __awaiter(this, void 0, void 0, function () {\n var url, response, json, fontsOriginal;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n url = new URL(LIST_BASE_URL);\n url.searchParams.append(\"sort\", \"popularity\");\n url.searchParams.append(\"key\", apiKey);\n return [4, get(url.href)];\n case 1:\n response = _a.sent();\n json = JSON.parse(response);\n fontsOriginal = json.items;\n return [2, fontsOriginal.map(function (fontOriginal) {\n var family = fontOriginal.family, subsets = fontOriginal.subsets, others = __rest(fontOriginal, [\"family\", \"subsets\"]);\n return __assign(__assign({}, others), { family: family, id: getFontId(family), scripts: subsets });\n })];\n }\n });\n });\n}\n\nvar previewFontsStylesheet = document.createElement(\"style\");\ndocument.head.appendChild(previewFontsStylesheet);\nfunction applyFontPreview(previewFont, selectorSuffix) {\n var fontId = getFontId(previewFont.family);\n var style = \"\\n\\t\\t\\t#font-button-\" + fontId + selectorSuffix + \" {\\n\\t\\t\\t\\tfont-family: \\\"\" + previewFont.family + \"\\\";\\n\\t\\t\\t}\\n\\t\\t\";\n previewFontsStylesheet.appendChild(document.createTextNode(style));\n}\nfunction getActiveFontStylesheet(selectorSuffix) {\n var stylesheetId = \"active-font-\" + selectorSuffix;\n var activeFontStylesheet = document.getElementById(stylesheetId);\n if (!activeFontStylesheet) {\n activeFontStylesheet = document.createElement(\"style\");\n activeFontStylesheet.id = stylesheetId;\n document.head.appendChild(activeFontStylesheet);\n }\n return activeFontStylesheet;\n}\nfunction applyActiveFont(activeFont, previousFontFamily, selectorSuffix) {\n var style = \"\\n\\t\\t.apply-font\" + selectorSuffix + \" {\\n\\t\\t\\tfont-family: \\\"\" + activeFont.family + \"\\\"\" + (previousFontFamily ? \", \\\"\" + previousFontFamily + \"\\\"\" : \"\") + \";\\n\\t\\t}\\n\\t\";\n var activeFontStylesheet = getActiveFontStylesheet(selectorSuffix);\n activeFontStylesheet.innerHTML = style;\n}\n\nvar PREVIEW_ATTRIBUTE_NAME = \"data-is-preview\";\nfunction getStylesheetId(fontId) {\n return \"font-\" + fontId;\n}\nfunction stylesheetExists(fontId, isPreview) {\n var stylesheetNode = document.getElementById(getStylesheetId(fontId));\n if (isPreview === null || isPreview === undefined) {\n return stylesheetNode !== null;\n }\n return (stylesheetNode !== null &&\n stylesheetNode.getAttribute(PREVIEW_ATTRIBUTE_NAME) === isPreview.toString());\n}\nfunction createStylesheet(fontId, isPreview) {\n var stylesheetNode = document.createElement(\"style\");\n stylesheetNode.id = getStylesheetId(fontId);\n stylesheetNode.setAttribute(PREVIEW_ATTRIBUTE_NAME, isPreview.toString());\n document.head.appendChild(stylesheetNode);\n}\nfunction fillStylesheet(fontId, styles) {\n var stylesheetId = getStylesheetId(fontId);\n var stylesheetNode = document.getElementById(stylesheetId);\n if (stylesheetNode) {\n stylesheetNode.textContent = styles;\n }\n else {\n console.error(\"Could not fill stylesheet: Stylesheet with ID \\\"\" + stylesheetId + \"\\\" not found\");\n }\n}\nfunction setStylesheetType(fontId, isPreview) {\n var stylesheetId = getStylesheetId(fontId);\n var stylesheetNode = document.getElementById(stylesheetId);\n if (stylesheetNode) {\n stylesheetNode.setAttribute(PREVIEW_ATTRIBUTE_NAME, isPreview.toString());\n }\n else {\n console.error(\"Could not change stylesheet type: Stylesheet with ID \\\"\" + stylesheetId + \"\\\" not found\");\n }\n}\n\nfunction getMatches(regex, str) {\n var matches = [];\n var match;\n do {\n match = regex.exec(str);\n if (match) {\n matches.push(match[1]);\n }\n } while (match);\n return matches;\n}\n\nvar FONT_FACE_REGEX = /@font-face {([\\s\\S]*?)}/gm;\nvar FONT_FAMILY_REGEX = /font-family: ['\"](.*?)['\"]/gm;\nfunction extractFontStyles(allFontStyles) {\n var rules = getMatches(FONT_FACE_REGEX, allFontStyles);\n var fontStyles = {};\n rules.forEach(function (rule) {\n var fontFamily = getMatches(FONT_FAMILY_REGEX, rule)[0];\n var fontId = getFontId(fontFamily);\n if (!(fontId in fontStyles)) {\n fontStyles[fontId] = \"\";\n }\n fontStyles[fontId] += \"@font-face {\\n\" + rule + \"\\n}\\n\\n\";\n });\n return fontStyles;\n}\n\nvar FONT_BASE_URL = \"https://fonts.googleapis.com/css\";\nfunction getStylesheet(fonts, scripts, variants, previewsOnly) {\n return __awaiter(this, void 0, void 0, function () {\n var url, variantsStr, familiesStr, familyNamesConcat, downloadChars;\n return __generator(this, function (_a) {\n url = new URL(FONT_BASE_URL);\n variantsStr = variants.join(\",\");\n familiesStr = fonts.map(function (font) { return font.family + \":\" + variantsStr; });\n url.searchParams.append(\"family\", familiesStr.join(\"|\"));\n url.searchParams.append(\"subset\", scripts.join(\",\"));\n if (previewsOnly) {\n familyNamesConcat = fonts.map(function (font) { return font.family; }).join(\"\");\n downloadChars = familyNamesConcat\n .split(\"\")\n .filter(function (char, pos, self) { return self.indexOf(char) === pos; })\n .join(\"\");\n url.searchParams.append(\"text\", downloadChars);\n }\n url.searchParams.append(\"font-display\", \"swap\");\n return [2, get(url.href)];\n });\n });\n}\n\nfunction loadFontPreviews(fonts, scripts, variants, selectorSuffix) {\n return __awaiter(this, void 0, void 0, function () {\n var fontsArray, fontsToFetch, response, fontStyles;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n fontsArray = Array.from(fonts.values());\n fontsToFetch = fontsArray\n .map(function (font) { return font.id; })\n .filter(function (fontId) { return !stylesheetExists(fontId); });\n fontsToFetch.forEach(function (fontId) { return createStylesheet(fontId, true); });\n return [4, getStylesheet(fontsArray, scripts, variants, true)];\n case 1:\n response = _a.sent();\n fontStyles = extractFontStyles(response);\n fontsArray.forEach(function (font) {\n applyFontPreview(font, selectorSuffix);\n if (fontsToFetch.includes(font.id)) {\n if (!(font.id in fontStyles)) {\n console.error(\"Missing styles for font \\\"\" + font.family + \"\\\" (fontId \\\"\" + font.id + \"\\\") in Google Fonts response\");\n return;\n }\n fillStylesheet(font.id, fontStyles[font.id]);\n }\n });\n return [2];\n }\n });\n });\n}\nfunction loadActiveFont(font, previousFontFamily, scripts, variants, selectorSuffix) {\n return __awaiter(this, void 0, void 0, function () {\n var fontStyle;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!stylesheetExists(font.id, false)) return [3, 1];\n applyActiveFont(font, previousFontFamily, selectorSuffix);\n return [3, 3];\n case 1:\n if (stylesheetExists(font.id, true)) {\n setStylesheetType(font.id, false);\n }\n else {\n createStylesheet(font.id, false);\n }\n return [4, getStylesheet([font], scripts, variants, false)];\n case 2:\n fontStyle = _a.sent();\n applyActiveFont(font, previousFontFamily, selectorSuffix);\n fillStylesheet(font.id, fontStyle);\n _a.label = 3;\n case 3: return [2];\n }\n });\n });\n}\n\nvar FONT_FAMILY_DEFAULT = \"Open Sans\";\nvar OPTIONS_DEFAULTS = {\n pickerId: \"\",\n families: [],\n categories: [],\n scripts: [\"latin\"],\n variants: [\"regular\"],\n filter: function () { return true; },\n limit: 50,\n sort: \"alphabet\",\n};\n\nvar FontManager = (function () {\n function FontManager(apiKey, defaultFamily, _a, onChange) {\n if (defaultFamily === void 0) { defaultFamily = FONT_FAMILY_DEFAULT; }\n var _b = _a.pickerId, pickerId = _b === void 0 ? OPTIONS_DEFAULTS.pickerId : _b, _c = _a.families, families = _c === void 0 ? OPTIONS_DEFAULTS.families : _c, _d = _a.categories, categories = _d === void 0 ? OPTIONS_DEFAULTS.categories : _d, _e = _a.scripts, scripts = _e === void 0 ? OPTIONS_DEFAULTS.scripts : _e, _f = _a.variants, variants = _f === void 0 ? OPTIONS_DEFAULTS.variants : _f, _g = _a.filter, filter = _g === void 0 ? OPTIONS_DEFAULTS.filter : _g, _h = _a.limit, limit = _h === void 0 ? OPTIONS_DEFAULTS.limit : _h, _j = _a.sort, sort = _j === void 0 ? OPTIONS_DEFAULTS.sort : _j;\n if (onChange === void 0) { onChange = function () { }; }\n this.fonts = new Map();\n validatePickerId(pickerId);\n this.selectorSuffix = pickerId ? \"-\" + pickerId : \"\";\n this.apiKey = apiKey;\n this.options = {\n pickerId: pickerId,\n families: families,\n categories: categories,\n scripts: scripts,\n variants: variants,\n filter: filter,\n limit: limit,\n sort: sort,\n };\n this.onChange = onChange;\n this.addFont(defaultFamily, false);\n this.setActiveFont(defaultFamily, false);\n }\n FontManager.prototype.init = function () {\n return __awaiter(this, void 0, void 0, function () {\n var fonts, _loop_1, this_1, i, state_1, fontsToLoad;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4, getFontList(this.apiKey)];\n case 1:\n fonts = _a.sent();\n _loop_1 = function (i) {\n var font = fonts[i];\n if (this_1.fonts.size >= this_1.options.limit) {\n return \"break\";\n }\n if (!this_1.fonts.has(font.family) &&\n (this_1.options.families.length === 0 || this_1.options.families.includes(font.family)) &&\n (this_1.options.categories.length === 0 || this_1.options.categories.includes(font.category)) &&\n this_1.options.scripts.every(function (script) { return font.scripts.includes(script); }) &&\n this_1.options.variants.every(function (variant) { return font.variants.includes(variant); }) &&\n this_1.options.filter(font) === true) {\n this_1.fonts.set(font.family, font);\n }\n };\n this_1 = this;\n for (i = 0; i < fonts.length; i += 1) {\n state_1 = _loop_1(i);\n if (state_1 === \"break\")\n break;\n }\n fontsToLoad = new Map(this.fonts);\n fontsToLoad[\"delete\"](this.activeFontFamily);\n loadFontPreviews(fontsToLoad, this.options.scripts, this.options.variants, this.selectorSuffix);\n return [2, this.fonts];\n }\n });\n });\n };\n FontManager.prototype.getFonts = function () {\n return this.fonts;\n };\n FontManager.prototype.addFont = function (fontFamily, downloadPreview) {\n if (downloadPreview === void 0) { downloadPreview = true; }\n var font = {\n family: fontFamily,\n id: getFontId(fontFamily),\n };\n this.fonts.set(fontFamily, font);\n if (downloadPreview) {\n var fontMap = new Map();\n fontMap.set(fontFamily, font);\n loadFontPreviews(fontMap, this.options.scripts, this.options.variants, this.selectorSuffix);\n }\n };\n FontManager.prototype.removeFont = function (fontFamily) {\n this.fonts[\"delete\"](fontFamily);\n };\n FontManager.prototype.getActiveFont = function () {\n var activeFont = this.fonts.get(this.activeFontFamily);\n if (!activeFont) {\n throw Error(\"Cannot get active font: \\\"\" + this.activeFontFamily + \"\\\" is not in the font list\");\n }\n else {\n return activeFont;\n }\n };\n FontManager.prototype.setActiveFont = function (fontFamily, runOnChange) {\n var _this = this;\n if (runOnChange === void 0) { runOnChange = true; }\n var previousFontFamily = this.activeFontFamily;\n var activeFont = this.fonts.get(fontFamily);\n if (!activeFont) {\n throw Error(\"Cannot update active font: \\\"\" + fontFamily + \"\\\" is not in the font list\");\n }\n this.activeFontFamily = fontFamily;\n loadActiveFont(activeFont, previousFontFamily, this.options.scripts, this.options.variants, this.selectorSuffix).then(function () {\n if (runOnChange) {\n _this.onChange(activeFont);\n }\n });\n };\n FontManager.prototype.setOnChange = function (onChange) {\n this.onChange = onChange;\n };\n return FontManager;\n}());\n\nexport { FONT_FAMILY_DEFAULT, FontManager, OPTIONS_DEFAULTS, getFontId };\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}