@symbo.ls/scratch 3.2.3 → 3.2.8
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.
- package/dist/cjs/factory.js +23 -494
- package/dist/cjs/index.js +11 -2742
- package/dist/cjs/set.js +66 -2060
- package/dist/esm/factory.js +43 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/set.js +148 -0
- package/dist/iife/index.js +2580 -0
- package/package.json +25 -15
- package/src/set.js +22 -7
- package/src/system/color.js +48 -11
- package/src/system/font.js +19 -5
- package/src/system/reset.js +12 -3
- package/src/system/shadow.js +20 -13
- package/src/system/spacing.js +63 -56
- package/src/system/theme.js +4 -3
- package/src/system/timing.js +1 -1
- package/src/transforms/index.js +212 -95
- package/src/utils/color.js +79 -0
- package/src/utils/font.js +54 -14
- package/src/utils/sequence.js +94 -39
- package/src/utils/sprite.js +2 -2
- package/src/utils/unit.js +69 -2
- package/src/utils/var.js +1 -2
- package/dist/cjs/defaultConfig/animation.js +0 -26
- package/dist/cjs/defaultConfig/cases.js +0 -26
- package/dist/cjs/defaultConfig/class.js +0 -27
- package/dist/cjs/defaultConfig/color.js +0 -28
- package/dist/cjs/defaultConfig/document.js +0 -26
- package/dist/cjs/defaultConfig/font-family.js +0 -34
- package/dist/cjs/defaultConfig/font.js +0 -26
- package/dist/cjs/defaultConfig/grid.js +0 -27
- package/dist/cjs/defaultConfig/icons.js +0 -28
- package/dist/cjs/defaultConfig/index.js +0 -222
- package/dist/cjs/defaultConfig/media.js +0 -31
- package/dist/cjs/defaultConfig/responsive.js +0 -52
- package/dist/cjs/defaultConfig/sequence.js +0 -51
- package/dist/cjs/defaultConfig/shadow.js +0 -26
- package/dist/cjs/defaultConfig/spacing.js +0 -87
- package/dist/cjs/defaultConfig/svg.js +0 -28
- package/dist/cjs/defaultConfig/templates.js +0 -26
- package/dist/cjs/defaultConfig/theme.js +0 -26
- package/dist/cjs/defaultConfig/timing.js +0 -68
- package/dist/cjs/defaultConfig/typography.js +0 -72
- package/dist/cjs/defaultConfig/unit.js +0 -28
- package/dist/cjs/package.json +0 -4
- package/dist/cjs/system/color.js +0 -1175
- package/dist/cjs/system/document.js +0 -987
- package/dist/cjs/system/font.js +0 -1009
- package/dist/cjs/system/index.js +0 -2227
- package/dist/cjs/system/reset.js +0 -1099
- package/dist/cjs/system/shadow.js +0 -1384
- package/dist/cjs/system/spacing.js +0 -1338
- package/dist/cjs/system/svg.js +0 -1086
- package/dist/cjs/system/theme.js +0 -1276
- package/dist/cjs/system/timing.js +0 -1213
- package/dist/cjs/system/typography.js +0 -1311
- package/dist/cjs/tests/index.js +0 -30
- package/dist/cjs/transforms/index.js +0 -1613
- package/dist/cjs/utils/color.js +0 -333
- package/dist/cjs/utils/font.js +0 -69
- package/dist/cjs/utils/index.js +0 -1548
- package/dist/cjs/utils/sequence.js +0 -1198
- package/dist/cjs/utils/sprite.js +0 -579
- package/dist/cjs/utils/theme.js +0 -31
- package/dist/cjs/utils/unit.js +0 -28
- package/dist/cjs/utils/var.js +0 -1040
package/dist/cjs/utils/color.js
DELETED
|
@@ -1,333 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/utils/color.js
|
|
21
|
-
var color_exports = {};
|
|
22
|
-
__export(color_exports, {
|
|
23
|
-
changeLightness: () => changeLightness,
|
|
24
|
-
colorStringToRgbaArray: () => colorStringToRgbaArray,
|
|
25
|
-
getColorShade: () => getColorShade,
|
|
26
|
-
getRgbTone: () => getRgbTone,
|
|
27
|
-
hexToRgb: () => hexToRgb,
|
|
28
|
-
hexToRgbArray: () => hexToRgbArray,
|
|
29
|
-
hexToRgba: () => hexToRgba,
|
|
30
|
-
hslToRgb: () => hslToRgb,
|
|
31
|
-
mixTwoColors: () => mixTwoColors,
|
|
32
|
-
mixTwoRgb: () => mixTwoRgb,
|
|
33
|
-
mixTwoRgba: () => mixTwoRgba,
|
|
34
|
-
opacify: () => opacify,
|
|
35
|
-
rgbArrayToHex: () => rgbArrayToHex,
|
|
36
|
-
rgbToHSL: () => rgbToHSL,
|
|
37
|
-
rgbToHex: () => rgbToHex
|
|
38
|
-
});
|
|
39
|
-
module.exports = __toCommonJS(color_exports);
|
|
40
|
-
|
|
41
|
-
// ../../../domql/packages/utils/dist/esm/globals.js
|
|
42
|
-
var window2 = globalThis;
|
|
43
|
-
var document2 = window2.document;
|
|
44
|
-
|
|
45
|
-
// ../../../domql/packages/utils/dist/esm/types.js
|
|
46
|
-
var isString = (arg) => typeof arg === "string";
|
|
47
|
-
var isNumber = (arg) => typeof arg === "number";
|
|
48
|
-
|
|
49
|
-
// ../../../domql/packages/utils/dist/esm/keys.js
|
|
50
|
-
var STATE_METHODS = [
|
|
51
|
-
"update",
|
|
52
|
-
"parse",
|
|
53
|
-
"clean",
|
|
54
|
-
"create",
|
|
55
|
-
"destroy",
|
|
56
|
-
"add",
|
|
57
|
-
"toggle",
|
|
58
|
-
"remove",
|
|
59
|
-
"apply",
|
|
60
|
-
"set",
|
|
61
|
-
"reset",
|
|
62
|
-
"replace",
|
|
63
|
-
"quietReplace",
|
|
64
|
-
"quietUpdate",
|
|
65
|
-
"applyReplace",
|
|
66
|
-
"applyFunction",
|
|
67
|
-
"keys",
|
|
68
|
-
"values",
|
|
69
|
-
"ref",
|
|
70
|
-
"rootUpdate",
|
|
71
|
-
"parentUpdate",
|
|
72
|
-
"parent",
|
|
73
|
-
"__element",
|
|
74
|
-
"__depends",
|
|
75
|
-
"__ref",
|
|
76
|
-
"__children",
|
|
77
|
-
"root",
|
|
78
|
-
"setByPath",
|
|
79
|
-
"setPathCollection",
|
|
80
|
-
"removeByPath",
|
|
81
|
-
"removePathCollection",
|
|
82
|
-
"getByPath"
|
|
83
|
-
];
|
|
84
|
-
var PROPS_METHODS = ["update", "__element"];
|
|
85
|
-
var METHODS = [
|
|
86
|
-
"set",
|
|
87
|
-
"reset",
|
|
88
|
-
"update",
|
|
89
|
-
"remove",
|
|
90
|
-
"updateContent",
|
|
91
|
-
"removeContent",
|
|
92
|
-
"lookup",
|
|
93
|
-
"lookdown",
|
|
94
|
-
"lookdownAll",
|
|
95
|
-
"getRef",
|
|
96
|
-
"getPath",
|
|
97
|
-
"setNodeStyles",
|
|
98
|
-
"spotByPath",
|
|
99
|
-
"keys",
|
|
100
|
-
"parse",
|
|
101
|
-
"setProps",
|
|
102
|
-
"parseDeep",
|
|
103
|
-
"variables",
|
|
104
|
-
"if",
|
|
105
|
-
"log",
|
|
106
|
-
"verbose",
|
|
107
|
-
"warn",
|
|
108
|
-
"error",
|
|
109
|
-
"call",
|
|
110
|
-
"nextElement",
|
|
111
|
-
"previousElement"
|
|
112
|
-
];
|
|
113
|
-
var METHODS_EXL = [
|
|
114
|
-
...["node", "context", "extends", "__element", "__ref"],
|
|
115
|
-
...METHODS,
|
|
116
|
-
...STATE_METHODS,
|
|
117
|
-
...PROPS_METHODS
|
|
118
|
-
];
|
|
119
|
-
|
|
120
|
-
// ../../../domql/packages/utils/dist/esm/env.js
|
|
121
|
-
var NODE_ENV = "development";
|
|
122
|
-
var isProduction = (env = NODE_ENV) => env === "production";
|
|
123
|
-
var isNotProduction = (env = NODE_ENV) => !isProduction(env);
|
|
124
|
-
|
|
125
|
-
// ../../../domql/packages/utils/dist/esm/cookie.js
|
|
126
|
-
var isMobile = (() => typeof navigator === "undefined" ? false : /Mobi/.test(navigator.userAgent))();
|
|
127
|
-
|
|
128
|
-
// ../../../domql/packages/event/dist/esm/keys.js
|
|
129
|
-
var STATE_METHODS2 = [
|
|
130
|
-
"update",
|
|
131
|
-
"parse",
|
|
132
|
-
"clean",
|
|
133
|
-
"create",
|
|
134
|
-
"destroy",
|
|
135
|
-
"add",
|
|
136
|
-
"toggle",
|
|
137
|
-
"remove",
|
|
138
|
-
"apply",
|
|
139
|
-
"set",
|
|
140
|
-
"reset",
|
|
141
|
-
"replace",
|
|
142
|
-
"quietReplace",
|
|
143
|
-
"quietUpdate",
|
|
144
|
-
"applyReplace",
|
|
145
|
-
"applyFunction",
|
|
146
|
-
"keys",
|
|
147
|
-
"values",
|
|
148
|
-
"ref",
|
|
149
|
-
"rootUpdate",
|
|
150
|
-
"parentUpdate",
|
|
151
|
-
"parent",
|
|
152
|
-
"__element",
|
|
153
|
-
"__depends",
|
|
154
|
-
"__ref",
|
|
155
|
-
"__children",
|
|
156
|
-
"root",
|
|
157
|
-
"setByPath",
|
|
158
|
-
"setPathCollection",
|
|
159
|
-
"removeByPath",
|
|
160
|
-
"removePathCollection",
|
|
161
|
-
"getByPath"
|
|
162
|
-
];
|
|
163
|
-
var PROPS_METHODS2 = ["update", "__element"];
|
|
164
|
-
var METHODS2 = [
|
|
165
|
-
"set",
|
|
166
|
-
"reset",
|
|
167
|
-
"update",
|
|
168
|
-
"remove",
|
|
169
|
-
"updateContent",
|
|
170
|
-
"removeContent",
|
|
171
|
-
"lookup",
|
|
172
|
-
"lookdown",
|
|
173
|
-
"lookdownAll",
|
|
174
|
-
"getRef",
|
|
175
|
-
"getPath",
|
|
176
|
-
"setNodeStyles",
|
|
177
|
-
"spotByPath",
|
|
178
|
-
"keys",
|
|
179
|
-
"parse",
|
|
180
|
-
"setProps",
|
|
181
|
-
"parseDeep",
|
|
182
|
-
"variables",
|
|
183
|
-
"if",
|
|
184
|
-
"log",
|
|
185
|
-
"verbose",
|
|
186
|
-
"warn",
|
|
187
|
-
"error",
|
|
188
|
-
"call",
|
|
189
|
-
"nextElement",
|
|
190
|
-
"previousElement"
|
|
191
|
-
];
|
|
192
|
-
var METHODS_EXL2 = [
|
|
193
|
-
...["node", "context", "extends", "__element", "__ref"],
|
|
194
|
-
...METHODS2,
|
|
195
|
-
...STATE_METHODS2,
|
|
196
|
-
...PROPS_METHODS2
|
|
197
|
-
];
|
|
198
|
-
|
|
199
|
-
// ../../../domql/packages/event/dist/esm/globals.js
|
|
200
|
-
var window3 = globalThis;
|
|
201
|
-
var document3 = window3.document;
|
|
202
|
-
|
|
203
|
-
// src/utils/color.js
|
|
204
|
-
var colorStringToRgbaArray = (color) => {
|
|
205
|
-
if (color === "") return [0, 0, 0, 0];
|
|
206
|
-
if (color.toLowerCase() === "transparent") return [0, 0, 0, 0];
|
|
207
|
-
if (color[0] === "#") {
|
|
208
|
-
if (color.length < 7) {
|
|
209
|
-
color = "#" + color[1] + color[1] + color[2] + color[2] + color[3] + color[3] + (color.length > 4 ? color[4] + color[4] : "");
|
|
210
|
-
}
|
|
211
|
-
return [
|
|
212
|
-
parseInt(color.substr(1, 2), 16),
|
|
213
|
-
parseInt(color.substr(3, 2), 16),
|
|
214
|
-
parseInt(color.substr(5, 2), 16),
|
|
215
|
-
color.length > 7 ? parseInt(color.substr(7, 2), 16) / 255 : 1
|
|
216
|
-
];
|
|
217
|
-
}
|
|
218
|
-
if (color.indexOf("rgb") === -1) {
|
|
219
|
-
if (document2 && window2) {
|
|
220
|
-
const elem = document2.body.appendChild(document2.createElement("fictum"));
|
|
221
|
-
const flag = "rgb(1, 2, 3)";
|
|
222
|
-
elem.style.color = flag;
|
|
223
|
-
if (elem.style.color !== flag) {
|
|
224
|
-
document2.body.removeChild(elem);
|
|
225
|
-
return;
|
|
226
|
-
}
|
|
227
|
-
elem.style.color = color;
|
|
228
|
-
if (elem.style.color === flag || elem.style.color === "") {
|
|
229
|
-
document2.body.removeChild(elem);
|
|
230
|
-
return [0, 0, 0, 0];
|
|
231
|
-
}
|
|
232
|
-
color = window2.getComputedStyle(elem).color;
|
|
233
|
-
document2.body.removeChild(elem);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
if (color.indexOf("rgb") === 0) {
|
|
237
|
-
if (color.indexOf("rgba") === -1) color = `${color}, 1`;
|
|
238
|
-
return color.match(/[\.\d]+/g).map((a) => +a);
|
|
239
|
-
}
|
|
240
|
-
return [0, 0, 0, 0];
|
|
241
|
-
};
|
|
242
|
-
var mixTwoColors = (colorA, colorB, range = 0.5) => {
|
|
243
|
-
colorA = colorStringToRgbaArray(colorA);
|
|
244
|
-
colorB = colorStringToRgbaArray(colorB);
|
|
245
|
-
return mixTwoRgba(colorA, colorB, range);
|
|
246
|
-
};
|
|
247
|
-
var hexToRgb = (hex, alpha = 1) => {
|
|
248
|
-
const [r, g, b] = hex.match(/\w\w/g).map((x) => parseInt(x, 16));
|
|
249
|
-
return `rgb(${r},${g},${b})`;
|
|
250
|
-
};
|
|
251
|
-
var hexToRgbArray = (hex, alpha = 1) => {
|
|
252
|
-
const [r, g, b] = hex.match(/\w\w/g).map((x) => parseInt(x, 16));
|
|
253
|
-
return [r, g, b];
|
|
254
|
-
};
|
|
255
|
-
var rgbToHex = (r, g, b) => {
|
|
256
|
-
return "#" + (1 << 24 | r << 16 | g << 8 | b).toString(16).slice(1);
|
|
257
|
-
};
|
|
258
|
-
var rgbArrayToHex = ([r, g, b]) => {
|
|
259
|
-
return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
|
|
260
|
-
};
|
|
261
|
-
var hexToRgba = (hex, alpha = 1) => {
|
|
262
|
-
const [r, g, b] = hex.match(/\w\w/g).map((x) => parseInt(x, 16));
|
|
263
|
-
return `rgba(${r},${g},${b},${alpha})`;
|
|
264
|
-
};
|
|
265
|
-
var mixTwoRgb = (colorA, colorB, range = 0.5) => {
|
|
266
|
-
const arr = [];
|
|
267
|
-
for (let i = 0; i < 3; i++) {
|
|
268
|
-
arr[i] = ~~(colorA[i] + (colorB[i] - colorA[i]) * range);
|
|
269
|
-
}
|
|
270
|
-
return `rgb(${arr})`;
|
|
271
|
-
};
|
|
272
|
-
var changeLightness = (delta, hsl) => {
|
|
273
|
-
const [hue, saturation, lightness] = hsl;
|
|
274
|
-
const newLightness = Math.max(0, Math.min(100, lightness + parseFloat(delta)));
|
|
275
|
-
return [hue, saturation, newLightness];
|
|
276
|
-
};
|
|
277
|
-
var rgbToHSL = (r, g, b) => {
|
|
278
|
-
const a = Math.max(r, g, b);
|
|
279
|
-
const n = a - Math.min(r, g, b);
|
|
280
|
-
const f = 1 - Math.abs(a + a - n - 1);
|
|
281
|
-
const h = n && (a == r ? (g - b) / n : a == g ? 2 + (b - r) / n : 4 + (r - g) / n);
|
|
282
|
-
return [60 * (h < 0 ? h + 6 : h), f ? n / f : 0, (a + a - n) / 2];
|
|
283
|
-
};
|
|
284
|
-
var hslToRgb = (h, s, l, a = s * Math.min(l, 1 - l), f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1)) => [f(0), f(8), f(4)];
|
|
285
|
-
var getColorShade = (col, amt) => {
|
|
286
|
-
const num = parseInt(col, 16);
|
|
287
|
-
let r = (num >> 16) + amt;
|
|
288
|
-
if (r > 255) r = 255;
|
|
289
|
-
else if (r < 0) r = 0;
|
|
290
|
-
let b = (num >> 8 & 255) + amt;
|
|
291
|
-
if (b > 255) b = 255;
|
|
292
|
-
else if (b < 0) b = 0;
|
|
293
|
-
let g = (num & 255) + amt;
|
|
294
|
-
if (g > 255) g = 255;
|
|
295
|
-
else if (g < 0) g = 0;
|
|
296
|
-
return ((g | b << 8 | r << 16) + 16777216).toString(16).slice(1);
|
|
297
|
-
};
|
|
298
|
-
var mixTwoRgba = (colorA, colorB, range = 0.5) => {
|
|
299
|
-
const arr = [];
|
|
300
|
-
for (let i = 0; i < 4; i++) {
|
|
301
|
-
const round = i === 3 ? (x) => x : Math.round;
|
|
302
|
-
arr[i] = round(colorA[i] + (colorB[i] - colorA[i]) * range);
|
|
303
|
-
}
|
|
304
|
-
return `rgba(${arr})`;
|
|
305
|
-
};
|
|
306
|
-
var opacify = (color, opacity) => {
|
|
307
|
-
const arr = colorStringToRgbaArray(color);
|
|
308
|
-
if (!arr) {
|
|
309
|
-
if (isNotProduction()) console.warn(color + " color is not rgba");
|
|
310
|
-
return;
|
|
311
|
-
}
|
|
312
|
-
arr[3] = opacity;
|
|
313
|
-
return `rgba(${arr})`;
|
|
314
|
-
};
|
|
315
|
-
var getRgbTone = (rgb, tone) => {
|
|
316
|
-
if (isString(rgb) && rgb.includes("rgb"))
|
|
317
|
-
rgb = colorStringToRgbaArray(rgb).join(", ");
|
|
318
|
-
if (isString(rgb)) rgb = rgb.split(",").map((v) => parseFloat(v.trim()));
|
|
319
|
-
if (isNumber(tone)) tone += "";
|
|
320
|
-
const toHex = rgbArrayToHex(rgb);
|
|
321
|
-
const abs = tone.slice(0, 1);
|
|
322
|
-
if (abs === "-" || abs === "+") {
|
|
323
|
-
const colorShade = getColorShade(toHex, parseFloat(tone));
|
|
324
|
-
return hexToRgbArray(colorShade).join(", ");
|
|
325
|
-
} else {
|
|
326
|
-
const [r, g, b] = rgb;
|
|
327
|
-
const hsl = rgbToHSL(r, g, b);
|
|
328
|
-
const [h, s, l] = hsl;
|
|
329
|
-
const newRgb = hslToRgb(h, s, parseFloat(tone) / 100 * 255);
|
|
330
|
-
return newRgb;
|
|
331
|
-
}
|
|
332
|
-
};
|
|
333
|
-
// @preserve-env
|
package/dist/cjs/utils/font.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/utils/font.js
|
|
21
|
-
var font_exports = {};
|
|
22
|
-
__export(font_exports, {
|
|
23
|
-
getDefaultOrFirstKey: () => getDefaultOrFirstKey,
|
|
24
|
-
getFontFace: () => getFontFace,
|
|
25
|
-
getFontFaceEach: () => getFontFaceEach,
|
|
26
|
-
getFontFaceEachString: () => getFontFaceEachString,
|
|
27
|
-
getFontFaceString: () => getFontFaceString,
|
|
28
|
-
getFontFormat: () => getFontFormat,
|
|
29
|
-
setCustomFont: () => setCustomFont,
|
|
30
|
-
setCustomFontMedia: () => setCustomFontMedia,
|
|
31
|
-
setInCustomFontMedia: () => setInCustomFontMedia
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(font_exports);
|
|
34
|
-
var getDefaultOrFirstKey = (LIBRARY, key) => {
|
|
35
|
-
if (LIBRARY[key]) return LIBRARY[key].value;
|
|
36
|
-
if (LIBRARY.default) return LIBRARY[LIBRARY.default].value;
|
|
37
|
-
const hasValue = Object.keys(LIBRARY)[0];
|
|
38
|
-
return hasValue && LIBRARY[hasValue] && LIBRARY[hasValue].value;
|
|
39
|
-
};
|
|
40
|
-
var getFontFormat = (url) => url.split(/[#?]/)[0].split(".").pop().trim();
|
|
41
|
-
var setInCustomFontMedia = (str) => `@font-face { ${str} }`;
|
|
42
|
-
var setCustomFont = (name, url, weight) => `
|
|
43
|
-
font-family: '${name}';
|
|
44
|
-
font-style: normal;
|
|
45
|
-
${weight && `font-weight: ${weight};`}
|
|
46
|
-
src: url('${url}') format('${getFontFormat(url)}');`;
|
|
47
|
-
var setCustomFontMedia = (name, url, weight) => `@font-face {
|
|
48
|
-
${setCustomFont(name, url, weight)}
|
|
49
|
-
}`;
|
|
50
|
-
var getFontFaceEach = (name, weights) => {
|
|
51
|
-
const keys = Object.keys(weights);
|
|
52
|
-
return keys.map((key) => {
|
|
53
|
-
const { url, fontWeight } = weights[key];
|
|
54
|
-
return setCustomFont(name, url, fontWeight);
|
|
55
|
-
});
|
|
56
|
-
};
|
|
57
|
-
var getFontFace = (LIBRARY) => {
|
|
58
|
-
const keys = Object.keys(LIBRARY);
|
|
59
|
-
return keys.map((key) => getFontFaceEach(key, LIBRARY[key].value));
|
|
60
|
-
};
|
|
61
|
-
var getFontFaceEachString = (name, weights) => {
|
|
62
|
-
const isArr = weights[0];
|
|
63
|
-
if (isArr) return getFontFaceEach(name, weights).map(setInCustomFontMedia);
|
|
64
|
-
return setCustomFontMedia(name, weights.url);
|
|
65
|
-
};
|
|
66
|
-
var getFontFaceString = (LIBRARY) => {
|
|
67
|
-
const keys = Object.keys(LIBRARY);
|
|
68
|
-
return keys.map((key) => getFontFaceEachString(key, LIBRARY[key].value));
|
|
69
|
-
};
|