@symbo.ls/scratch 3.14.0 → 3.14.1

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 (95) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/defaultConfig/animation.js +4 -2
  3. package/dist/cjs/defaultConfig/cases.js +4 -2
  4. package/dist/cjs/defaultConfig/class.js +5 -2
  5. package/dist/cjs/defaultConfig/color.js +6 -9
  6. package/dist/cjs/defaultConfig/document.js +4 -2
  7. package/dist/cjs/defaultConfig/font-family.js +8 -12
  8. package/dist/cjs/defaultConfig/font.js +4 -11
  9. package/dist/cjs/defaultConfig/grid.js +5 -3
  10. package/dist/cjs/defaultConfig/icons.js +6 -4
  11. package/dist/cjs/defaultConfig/index.js +200 -24
  12. package/dist/cjs/defaultConfig/media.js +4 -2
  13. package/dist/cjs/defaultConfig/responsive.js +6 -4
  14. package/dist/cjs/defaultConfig/sequence.js +4 -2
  15. package/dist/cjs/defaultConfig/shadow.js +4 -2
  16. package/dist/cjs/defaultConfig/spacing.js +56 -7
  17. package/dist/cjs/defaultConfig/svg.js +6 -4
  18. package/dist/cjs/defaultConfig/templates.js +4 -2
  19. package/dist/cjs/defaultConfig/theme.js +4 -14
  20. package/dist/cjs/defaultConfig/timing.js +36 -5
  21. package/dist/cjs/defaultConfig/typography.js +36 -5
  22. package/dist/cjs/defaultConfig/unit.js +4 -2
  23. package/dist/cjs/factory.js +345 -104
  24. package/dist/cjs/index.js +6333 -13
  25. package/dist/cjs/package.json +4 -0
  26. package/dist/cjs/set.js +5609 -214
  27. package/dist/cjs/system/color.js +4487 -170
  28. package/dist/cjs/system/document.js +4371 -11
  29. package/dist/cjs/system/font.js +4401 -28
  30. package/dist/cjs/system/index.js +5748 -11
  31. package/dist/cjs/system/reset.js +4449 -52
  32. package/dist/cjs/system/shadow.js +4834 -44
  33. package/dist/cjs/system/spacing.js +4752 -39
  34. package/dist/cjs/system/svg.js +4437 -74
  35. package/dist/cjs/system/theme.js +4526 -336
  36. package/dist/cjs/system/timing.js +4695 -19
  37. package/dist/cjs/system/typography.js +4755 -42
  38. package/dist/cjs/tests/index.js +4 -2
  39. package/dist/cjs/transforms/index.js +5019 -134
  40. package/dist/cjs/utils/color.js +47 -66
  41. package/dist/cjs/utils/font.js +25 -48
  42. package/dist/cjs/utils/index.js +5068 -8
  43. package/dist/cjs/utils/sequence.js +4436 -67
  44. package/dist/cjs/utils/sprite.js +353 -19
  45. package/dist/cjs/utils/theme.js +3 -1
  46. package/dist/cjs/utils/unit.js +4 -2
  47. package/dist/cjs/utils/var.js +4391 -57
  48. package/package.json +1 -1
  49. package/src/utils/sprite.js +29 -12
  50. package/dist/esm/defaultConfig/animation.js +0 -4
  51. package/dist/esm/defaultConfig/cases.js +0 -4
  52. package/dist/esm/defaultConfig/class.js +0 -4
  53. package/dist/esm/defaultConfig/color.js +0 -11
  54. package/dist/esm/defaultConfig/document.js +0 -4
  55. package/dist/esm/defaultConfig/font-family.js +0 -18
  56. package/dist/esm/defaultConfig/font.js +0 -13
  57. package/dist/esm/defaultConfig/grid.js +0 -5
  58. package/dist/esm/defaultConfig/icons.js +0 -6
  59. package/dist/esm/defaultConfig/index.js +0 -25
  60. package/dist/esm/defaultConfig/media.js +0 -9
  61. package/dist/esm/defaultConfig/responsive.js +0 -30
  62. package/dist/esm/defaultConfig/sequence.js +0 -29
  63. package/dist/esm/defaultConfig/shadow.js +0 -4
  64. package/dist/esm/defaultConfig/spacing.js +0 -18
  65. package/dist/esm/defaultConfig/svg.js +0 -6
  66. package/dist/esm/defaultConfig/templates.js +0 -4
  67. package/dist/esm/defaultConfig/theme.js +0 -16
  68. package/dist/esm/defaultConfig/timing.js +0 -17
  69. package/dist/esm/defaultConfig/typography.js +0 -21
  70. package/dist/esm/defaultConfig/unit.js +0 -6
  71. package/dist/esm/factory.js +0 -120
  72. package/dist/esm/index.js +0 -14
  73. package/dist/esm/set.js +0 -280
  74. package/dist/esm/system/color.js +0 -253
  75. package/dist/esm/system/document.js +0 -16
  76. package/dist/esm/system/font.js +0 -58
  77. package/dist/esm/system/index.js +0 -10
  78. package/dist/esm/system/reset.js +0 -94
  79. package/dist/esm/system/shadow.js +0 -92
  80. package/dist/esm/system/spacing.js +0 -121
  81. package/dist/esm/system/svg.js +0 -113
  82. package/dist/esm/system/theme.js +0 -481
  83. package/dist/esm/system/timing.js +0 -32
  84. package/dist/esm/system/typography.js +0 -94
  85. package/dist/esm/tests/index.js +0 -8
  86. package/dist/esm/transforms/index.js +0 -216
  87. package/dist/esm/utils/color.js +0 -192
  88. package/dist/esm/utils/font.js +0 -94
  89. package/dist/esm/utils/index.js +0 -7
  90. package/dist/esm/utils/sequence.js +0 -322
  91. package/dist/esm/utils/sprite.js +0 -72
  92. package/dist/esm/utils/theme.js +0 -9
  93. package/dist/esm/utils/unit.js +0 -59
  94. package/dist/esm/utils/var.js +0 -96
  95. package/dist/iife/index.js +0 -3630
@@ -16,28 +16,368 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/utils/sprite.js
19
21
  var sprite_exports = {};
20
22
  __export(sprite_exports, {
21
23
  convertSvgToSymbol: () => convertSvgToSymbol,
22
24
  generateSprite: () => generateSprite
23
25
  });
24
26
  module.exports = __toCommonJS(sprite_exports);
25
- var import_utils = require("@symbo.ls/utils");
26
- var import_factory = require("../factory.js");
27
- const isDev = (0, import_utils.isNotProduction)();
28
- const generateSprite = (icons) => {
29
- const CONFIG = (0, import_factory.getActiveConfig)();
27
+
28
+ // ../../../domql/packages/utils/env.js
29
+ var NODE_ENV = "development";
30
+ var isProduction = (env = NODE_ENV) => env === "production";
31
+ var isNotProduction = (env = NODE_ENV) => !isProduction(env);
32
+
33
+ // ../../../domql/packages/utils/globals.js
34
+ var window2 = globalThis;
35
+ var document2 = window2.document;
36
+
37
+ // ../../../domql/packages/utils/node.js
38
+ var isDOMNode = (obj) => {
39
+ return typeof window2 !== "undefined" && (obj instanceof window2.Node || obj instanceof window2.Window || obj === window2 || obj === document);
40
+ };
41
+
42
+ // ../../../domql/packages/utils/types.js
43
+ var isString = (arg) => typeof arg === "string";
44
+ var isFunction = (arg) => typeof arg === "function";
45
+ var isNull = (arg) => arg === null;
46
+ var isArray = (arg) => Array.isArray(arg);
47
+ var isObjectLike = (arg) => {
48
+ if (arg === null) return false;
49
+ return typeof arg === "object";
50
+ };
51
+ var isUndefined = (arg) => {
52
+ return arg === void 0;
53
+ };
54
+
55
+ // ../../../domql/packages/utils/array.js
56
+ var mergeArray = (arr, exclude = []) => {
57
+ return arr.reduce(
58
+ (a, c) => deepMerge(a, deepClone(c, { exclude }), exclude),
59
+ {}
60
+ );
61
+ };
62
+
63
+ // ../../../domql/packages/utils/object.js
64
+ var deepMerge = (element, extend, excludeFrom = [], level = Infinity) => {
65
+ for (const e in extend) {
66
+ const hasOwnProperty = Object.prototype.hasOwnProperty.call(extend, e);
67
+ if (!hasOwnProperty || excludeFrom.includes(e) || e.startsWith("__"))
68
+ continue;
69
+ const elementProp = element[e];
70
+ const extendProp = extend[e];
71
+ if (isObjectLike(elementProp) && isObjectLike(extendProp)) {
72
+ if (level > 0) {
73
+ deepMerge(elementProp, extendProp, excludeFrom, level - 1);
74
+ } else {
75
+ for (const k in extendProp) {
76
+ if (excludeFrom.includes(k) || elementProp[k] !== void 0) continue;
77
+ elementProp[k] = extendProp[k];
78
+ }
79
+ }
80
+ } else if (elementProp === void 0) {
81
+ element[e] = extendProp;
82
+ }
83
+ }
84
+ return element;
85
+ };
86
+ var deepClone = (obj, options = {}) => {
87
+ const {
88
+ exclude = [],
89
+ cleanUndefined = false,
90
+ cleanNull = false,
91
+ window: targetWindow,
92
+ visited = /* @__PURE__ */ new WeakMap(),
93
+ handleExtend = false
94
+ } = options;
95
+ const contentWindow = targetWindow || window2 || globalThis;
96
+ if (!isObjectLike(obj) || isDOMNode(obj)) {
97
+ return obj;
98
+ }
99
+ if (visited.has(obj)) {
100
+ return visited.get(obj);
101
+ }
102
+ const clone = contentWindow ? isArray(obj) ? new contentWindow.Array() : new contentWindow.Object() : isArray(obj) ? [] : {};
103
+ visited.set(obj, clone);
104
+ for (const key in obj) {
105
+ if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
106
+ if (exclude.includes(key) || key.startsWith("__") || key === "__proto__")
107
+ continue;
108
+ let value = obj[key];
109
+ if (cleanUndefined && isUndefined(value) || cleanNull && isNull(value))
110
+ continue;
111
+ if (isDOMNode(value)) {
112
+ clone[key] = value;
113
+ continue;
114
+ }
115
+ if (handleExtend && key === "extend" && isArray(value)) {
116
+ clone[key] = mergeArray(value, exclude);
117
+ continue;
118
+ }
119
+ if (isFunction(value) && options.window) {
120
+ clone[key] = contentWindow.eval("(" + value.toString() + ")");
121
+ continue;
122
+ }
123
+ if ((value == null ? void 0 : value.__ref) && (value == null ? void 0 : value.node)) {
124
+ value = value.parseDeep();
125
+ }
126
+ if (value == null ? void 0 : value.__element) {
127
+ value = value.parse();
128
+ }
129
+ if (isObjectLike(value)) {
130
+ if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
131
+ clone[key] = deepClone(value, {
132
+ ...options,
133
+ visited
134
+ });
135
+ } else {
136
+ clone[key] = value;
137
+ }
138
+ }
139
+ return clone;
140
+ };
141
+
142
+ // ../../../domql/packages/utils/cookie.js
143
+ var isMobile = (() => typeof navigator === "undefined" ? false : /Mobi/.test(navigator.userAgent))();
144
+
145
+ // src/defaultConfig/index.js
146
+ var defaultConfig_exports = {};
147
+ __export(defaultConfig_exports, {
148
+ ANIMATION: () => ANIMATION,
149
+ BREAKPOINTS: () => BREAKPOINTS,
150
+ CASES: () => CASES,
151
+ CLASS: () => CLASS,
152
+ COLOR: () => COLOR,
153
+ DEVICES: () => DEVICES,
154
+ DOCUMENT: () => DOCUMENT,
155
+ FONT: () => FONT,
156
+ FONT_FACE: () => FONT_FACE,
157
+ FONT_FAMILY: () => FONT_FAMILY,
158
+ FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,
159
+ GRADIENT: () => GRADIENT,
160
+ GRID: () => GRID,
161
+ ICONS: () => ICONS,
162
+ MEDIA: () => MEDIA,
163
+ RESET: () => RESET,
164
+ SEMANTIC_ICONS: () => SEMANTIC_ICONS,
165
+ SEQUENCE: () => SEQUENCE,
166
+ SHADOW: () => SHADOW,
167
+ SPACING: () => SPACING,
168
+ SVG: () => SVG,
169
+ SVG_DATA: () => SVG_DATA,
170
+ TEMPLATES: () => TEMPLATES,
171
+ THEME: () => THEME,
172
+ TIMING: () => TIMING,
173
+ TYPOGRAPHY: () => TYPOGRAPHY,
174
+ UNIT: () => UNIT
175
+ });
176
+
177
+ // src/defaultConfig/sequence.js
178
+ var SEQUENCE = {
179
+ "minor-second": 1.067,
180
+ "major-second": 1.125,
181
+ "minor-third": 1.2,
182
+ "major-third": 1.25,
183
+ "perfect-fourth": 1.333,
184
+ "augmented-fourth": 1.414,
185
+ "perfect-fifth": 1.5,
186
+ "minor-sixth": 1.6,
187
+ phi: 1.618,
188
+ // golden-ratio
189
+ "major-sixth": 1.667,
190
+ "square-root-3": 1.732,
191
+ // theodorus
192
+ "minor-seventh": 1.778,
193
+ "major-seventh": 1.875,
194
+ octave: 2,
195
+ "square-root-5": 2.23,
196
+ // pythagoras
197
+ "major-tenth": 2.5,
198
+ "major-eleventh": 2.667,
199
+ "major-twelfth": 3,
200
+ pi: 3.14,
201
+ // archimedes
202
+ "double-octave": 4
203
+ };
204
+
205
+ // src/defaultConfig/unit.js
206
+ var UNIT = {
207
+ default: "em"
208
+ };
209
+
210
+ // src/defaultConfig/typography.js
211
+ var defaultProps = {
212
+ browserDefault: 16,
213
+ base: 16,
214
+ type: "font-size",
215
+ ratio: SEQUENCE["minor-third"],
216
+ range: [-3, 12],
217
+ h1Matches: 6,
218
+ lineHeight: 1.5,
219
+ subSequence: true,
220
+ mediaRegenerate: false,
221
+ unit: "em",
222
+ templates: {},
223
+ sequence: {},
224
+ scales: {},
225
+ vars: {}
226
+ };
227
+ var TYPOGRAPHY = defaultProps;
228
+
229
+ // src/defaultConfig/font.js
230
+ var FONT = {};
231
+
232
+ // src/defaultConfig/font-family.js
233
+ var FONT_FAMILY = {};
234
+ var FONT_FAMILY_TYPES = {
235
+ "sans-serif": "Helvetica, Arial, sans-serif, --system-default",
236
+ serif: "Times New Roman, Georgia, serif, --system-default",
237
+ monospace: "Courier New, monospace, --system-default"
238
+ };
239
+ var FONT_FACE = {};
240
+
241
+ // src/defaultConfig/media.js
242
+ var MEDIA = {
243
+ tv: "(min-width: 2780px)",
244
+ light: "(prefers-color-scheme: light)",
245
+ dark: "(prefers-color-scheme: dark)",
246
+ print: "print"
247
+ };
248
+
249
+ // src/defaultConfig/spacing.js
250
+ var defaultProps2 = {
251
+ base: TYPOGRAPHY.base,
252
+ type: "spacing",
253
+ ratio: SEQUENCE.phi,
254
+ range: [-5, 15],
255
+ subSequence: true,
256
+ mediaRegenerate: false,
257
+ unit: "em",
258
+ sequence: {},
259
+ scales: {},
260
+ vars: {}
261
+ };
262
+ var SPACING = defaultProps2;
263
+
264
+ // src/defaultConfig/color.js
265
+ var COLOR = {};
266
+ var GRADIENT = {};
267
+
268
+ // src/defaultConfig/theme.js
269
+ var THEME = {};
270
+
271
+ // src/defaultConfig/shadow.js
272
+ var SHADOW = {};
273
+
274
+ // src/defaultConfig/icons.js
275
+ var ICONS = {};
276
+ var SEMANTIC_ICONS = {};
277
+
278
+ // src/defaultConfig/timing.js
279
+ var defaultProps3 = {
280
+ default: 150,
281
+ base: 150,
282
+ type: "timing",
283
+ ratio: SEQUENCE["perfect-fourth"],
284
+ range: [-3, 12],
285
+ mediaRegenerate: false,
286
+ unit: "ms",
287
+ sequence: {},
288
+ scales: {},
289
+ vars: {}
290
+ };
291
+ var TIMING = defaultProps3;
292
+
293
+ // src/defaultConfig/document.js
294
+ var DOCUMENT = {};
295
+
296
+ // src/defaultConfig/responsive.js
297
+ var BREAKPOINTS = {
298
+ screenL: 1920,
299
+ screenM: 1680,
300
+ screenS: 1440,
301
+ tabletL: 1366,
302
+ tabletM: 1280,
303
+ tabletS: 1024,
304
+ mobileL: 768,
305
+ mobileM: 560,
306
+ mobileS: 480,
307
+ mobileXS: 375
308
+ };
309
+ var DEVICES = {
310
+ screenXXL: [2560, 1440],
311
+ screenXL: [2240, 1260],
312
+ screenL: [1920, 1024],
313
+ screenM: [1680, 1024],
314
+ screenS: [1440, 720],
315
+ tabletL: [1366, 926],
316
+ tabletM: [1280, 768],
317
+ tabletS: [1024, 768],
318
+ mobileL: [768, 375],
319
+ mobileM: [560, 768],
320
+ mobileS: [480, 768],
321
+ mobileXS: [375, 768]
322
+ };
323
+
324
+ // src/defaultConfig/cases.js
325
+ var CASES = {};
326
+
327
+ // src/defaultConfig/animation.js
328
+ var ANIMATION = {};
329
+
330
+ // src/defaultConfig/svg.js
331
+ var SVG = {};
332
+ var SVG_DATA = {};
333
+
334
+ // src/defaultConfig/templates.js
335
+ var TEMPLATES = {};
336
+
337
+ // src/defaultConfig/grid.js
338
+ var defaultProps4 = {};
339
+ var GRID = defaultProps4;
340
+
341
+ // src/defaultConfig/class.js
342
+ var defaultProps5 = {};
343
+ var CLASS = defaultProps5;
344
+
345
+ // src/defaultConfig/index.js
346
+ var RESET = {};
347
+
348
+ // src/factory.js
349
+ var CSS_VARS = {};
350
+ var CONFIG = {
351
+ verbose: false,
352
+ useVariable: true,
353
+ useReset: true,
354
+ CSS_VARS,
355
+ ...void 0 || defaultConfig_exports
356
+ };
357
+ var cachedConfig = deepClone(CONFIG);
358
+ var FACTORY = {
359
+ active: "0",
360
+ 0: CONFIG
361
+ };
362
+ var getActiveConfig = (def) => {
363
+ return FACTORY[def || FACTORY.active] || CONFIG;
364
+ };
365
+
366
+ // src/utils/sprite.js
367
+ var isDev = isNotProduction();
368
+ var generateSprite = (icons) => {
369
+ const CONFIG2 = getActiveConfig();
30
370
  let sprite = "";
31
371
  for (const key in icons) {
32
- if (CONFIG.__svgCache[key]) continue;
33
- else CONFIG.__svgCache[key] = true;
372
+ if (CONFIG2.__svg_cache[key]) continue;
373
+ else CONFIG2.__svg_cache[key] = true;
34
374
  sprite += icons[key];
35
375
  }
36
376
  return sprite;
37
377
  };
38
- const parseRootAttributes = (htmlString) => {
378
+ var parseRootAttributes = (htmlString) => {
39
379
  const val = htmlString.default || htmlString;
40
- if (!(0, import_utils.isString)(val)) {
380
+ if (!isString(val)) {
41
381
  if (isDev) console.warn("parseRootAttributes:", val, "is not a string");
42
382
  return;
43
383
  }
@@ -55,12 +395,12 @@ const parseRootAttributes = (htmlString) => {
55
395
  return acc;
56
396
  }, {});
57
397
  };
58
- const replaceIdsAndUrls = (code, key) => {
398
+ var replaceIdsAndUrls = (code, key) => {
59
399
  const idRegex = /id="([^"]*)"/;
60
400
  const urlRegex = /url\(#([^)]*)\)/g;
61
401
  const matches = code.match(/id="([^"]*)"/g);
62
402
  let replacedCode = code;
63
- if ((0, import_utils.isArray)(matches)) {
403
+ if (isArray(matches)) {
64
404
  matches.forEach(() => {
65
405
  const randomKey = Math.floor(Math.random() * 1e5);
66
406
  replacedCode = code.replace(idRegex, `id="${key}-${randomKey}"`).replace(urlRegex, `url(#${key}-${randomKey})`);
@@ -68,7 +408,7 @@ const replaceIdsAndUrls = (code, key) => {
68
408
  }
69
409
  return replacedCode;
70
410
  };
71
- const convertSvgToSymbol = (key, code) => {
411
+ var convertSvgToSymbol = (key, code) => {
72
412
  const extractAttrs = parseRootAttributes(code);
73
413
  const { width, height } = extractAttrs;
74
414
  const viewBox = extractAttrs.viewBox || `0 0 ${width || 24} ${height || 24}`;
@@ -81,12 +421,6 @@ const convertSvgToSymbol = (key, code) => {
81
421
  symbol = symbol.replace(/width="[^"]*"/, "");
82
422
  symbol = symbol.replace(/height="[^"]*"/, "");
83
423
  symbol = symbol.replace("</svg", "</symbol");
84
- symbol = expandSvgSelfClosing(symbol);
85
424
  return symbol;
86
425
  };
87
- const SVG_VOID_TAGS = "line|circle|ellipse|rect|polyline|polygon|path|stop|use|image";
88
- const SVG_SELF_CLOSING_RE = new RegExp(
89
- `<(${SVG_VOID_TAGS})\\b([^>]*?)\\s*/>`,
90
- "g"
91
- );
92
- const expandSvgSelfClosing = (str) => str.replace(SVG_SELF_CLOSING_RE, "<$1$2></$1>");
426
+ // @preserve-env
@@ -16,12 +16,14 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/utils/theme.js
19
21
  var theme_exports = {};
20
22
  __export(theme_exports, {
21
23
  returnSubThemeOrDefault: () => returnSubThemeOrDefault
22
24
  });
23
25
  module.exports = __toCommonJS(theme_exports);
24
- const returnSubThemeOrDefault = (orig, theme) => {
26
+ var returnSubThemeOrDefault = (orig, theme) => {
25
27
  if (!orig) return;
26
28
  if (orig.themes && orig.themes[theme]) return orig.themes[theme];
27
29
  if (orig[theme]) return [orig, orig[theme]];
@@ -16,16 +16,18 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/utils/unit.js
19
21
  var unit_exports = {};
20
22
  __export(unit_exports, {
21
23
  CSS_UNITS: () => CSS_UNITS,
22
24
  isScalingUnit: () => isScalingUnit
23
25
  });
24
26
  module.exports = __toCommonJS(unit_exports);
25
- const isScalingUnit = (unit) => {
27
+ var isScalingUnit = (unit) => {
26
28
  return unit === "em" || unit === "rem" || unit === "vw" || unit === "vh" || unit === "vmax" || unit === "vmin";
27
29
  };
28
- const CSS_UNITS = [
30
+ var CSS_UNITS = [
29
31
  // Absolute
30
32
  "px",
31
33
  "cm",