@schalkneethling/miyagi-core 4.0.2

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 (138) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +43 -0
  3. package/api/app.js +39 -0
  4. package/api/index.js +236 -0
  5. package/bin/miyagi.js +2 -0
  6. package/dist/css/iframe.css +31 -0
  7. package/dist/css/main.css +1 -0
  8. package/dist/js/_iframe-links-DdifIr4P.js +1 -0
  9. package/dist/js/_mock-data-Dypo4Bl_.js +1 -0
  10. package/dist/js/_prism-By3NMwUd.js +1 -0
  11. package/dist/js/iframe.build.js +1 -0
  12. package/dist/js/iframe.js +1 -0
  13. package/dist/js/index-BKDKaBC6.js +1 -0
  14. package/dist/js/jsontree.js +1 -0
  15. package/dist/js/main.build.js +1 -0
  16. package/dist/js/main.js +1 -0
  17. package/frontend/assets/css/iframe/accordion-tabs.css +77 -0
  18. package/frontend/assets/css/iframe/jsontree.js.css +325 -0
  19. package/frontend/assets/css/iframe/prism.css +132 -0
  20. package/frontend/assets/css/iframe/styleguide/colors.css +61 -0
  21. package/frontend/assets/css/iframe/styleguide/fonts.css +37 -0
  22. package/frontend/assets/css/iframe/styleguide/index.css +109 -0
  23. package/frontend/assets/css/iframe/styleguide/spacings.css +21 -0
  24. package/frontend/assets/css/iframe.css +410 -0
  25. package/frontend/assets/css/main/menu/config-switcher.css +49 -0
  26. package/frontend/assets/css/main/menu/config-switchers.css +67 -0
  27. package/frontend/assets/css/main/menu/goto.css +24 -0
  28. package/frontend/assets/css/main/menu/nav.css +113 -0
  29. package/frontend/assets/css/main/menu/search.css +64 -0
  30. package/frontend/assets/css/main/menu/title.css +40 -0
  31. package/frontend/assets/css/main/menu.css +114 -0
  32. package/frontend/assets/css/main/reset.css +217 -0
  33. package/frontend/assets/css/main.css +71 -0
  34. package/frontend/assets/css/shared.css +34 -0
  35. package/frontend/assets/css/tokens.css +112 -0
  36. package/frontend/assets/favicon.ico +0 -0
  37. package/frontend/assets/js/_accordion-tabs.js +403 -0
  38. package/frontend/assets/js/_goto.js +63 -0
  39. package/frontend/assets/js/_iframe-links.js +19 -0
  40. package/frontend/assets/js/_is-triggered.js +15 -0
  41. package/frontend/assets/js/_main.js +379 -0
  42. package/frontend/assets/js/_mock-data.js +13 -0
  43. package/frontend/assets/js/_prism.js +1098 -0
  44. package/frontend/assets/js/_search.js +190 -0
  45. package/frontend/assets/js/_socket.js +9 -0
  46. package/frontend/assets/js/config-switcher/development-mode.js +49 -0
  47. package/frontend/assets/js/config-switcher/index.js +63 -0
  48. package/frontend/assets/js/config-switcher/text-direction.js +30 -0
  49. package/frontend/assets/js/config-switcher/theme.js +87 -0
  50. package/frontend/assets/js/iframe.build.js +43 -0
  51. package/frontend/assets/js/iframe.js +52 -0
  52. package/frontend/assets/js/jsontree.js +979 -0
  53. package/frontend/assets/js/main.build.js +40 -0
  54. package/frontend/assets/js/main.js +42 -0
  55. package/frontend/assets/js/styleguide/color-converter.js +741 -0
  56. package/frontend/assets/js/styleguide/index.js +119 -0
  57. package/frontend/views/component_variation.twig.miyagi +57 -0
  58. package/frontend/views/design-tokens/colors.twig.miyagi +43 -0
  59. package/frontend/views/design-tokens/sizes.twig.miyagi +35 -0
  60. package/frontend/views/design-tokens/typography.twig.miyagi +38 -0
  61. package/frontend/views/iframe_component.twig.miyagi +141 -0
  62. package/frontend/views/iframe_component_variation.twig.miyagi +55 -0
  63. package/frontend/views/iframe_index.twig.miyagi +14 -0
  64. package/frontend/views/layouts/iframe_default.twig.miyagi +22 -0
  65. package/frontend/views/main.twig.miyagi +24 -0
  66. package/frontend/views/menu/config-switchers.twig.miyagi +83 -0
  67. package/frontend/views/menu/goto.twig.miyagi +9 -0
  68. package/frontend/views/menu/menu.twig.miyagi +21 -0
  69. package/frontend/views/menu/nav.twig.miyagi +95 -0
  70. package/frontend/views/menu/search.twig.miyagi +13 -0
  71. package/frontend/views/menu/title.twig.miyagi +24 -0
  72. package/index.js +3 -0
  73. package/lib/build/index.js +1020 -0
  74. package/lib/cli/app.js +38 -0
  75. package/lib/cli/component.js +56 -0
  76. package/lib/cli/index.js +5 -0
  77. package/lib/cli/lint.js +180 -0
  78. package/lib/config.js +74 -0
  79. package/lib/default-config.js +105 -0
  80. package/lib/generator/component.js +199 -0
  81. package/lib/generator/mocks.js +201 -0
  82. package/lib/helpers.js +184 -0
  83. package/lib/i18n/en.js +91 -0
  84. package/lib/i18n/index.js +17 -0
  85. package/lib/index.js +166 -0
  86. package/lib/init/args.js +55 -0
  87. package/lib/init/config.js +330 -0
  88. package/lib/init/engines.js +65 -0
  89. package/lib/init/index.js +102 -0
  90. package/lib/init/rendering.js +12 -0
  91. package/lib/init/router.js +249 -0
  92. package/lib/init/static.js +133 -0
  93. package/lib/init/twing/cache.js +34 -0
  94. package/lib/init/twing/functions.js +51 -0
  95. package/lib/init/views.js +19 -0
  96. package/lib/init/watcher.js +402 -0
  97. package/lib/logger.js +94 -0
  98. package/lib/mocks/get.js +111 -0
  99. package/lib/mocks/index.js +9 -0
  100. package/lib/mocks/resolve/ref.js +484 -0
  101. package/lib/mocks/resolve/tpl.js +246 -0
  102. package/lib/mocks/resolve.js +205 -0
  103. package/lib/render/helpers.js +51 -0
  104. package/lib/render/index.js +38 -0
  105. package/lib/render/views/iframe/component.docs.js +77 -0
  106. package/lib/render/views/iframe/component.js +338 -0
  107. package/lib/render/views/iframe/design-tokens/colors.js +52 -0
  108. package/lib/render/views/iframe/design-tokens/index.js +9 -0
  109. package/lib/render/views/iframe/design-tokens/sizes.js +49 -0
  110. package/lib/render/views/iframe/design-tokens/typography.js +52 -0
  111. package/lib/render/views/iframe/docs.js +68 -0
  112. package/lib/render/views/iframe/index.js +44 -0
  113. package/lib/render/views/iframe/variation.js +116 -0
  114. package/lib/render/views/iframe/variation.standalone.js +89 -0
  115. package/lib/render/views/main/component.docs.js +53 -0
  116. package/lib/render/views/main/component.js +74 -0
  117. package/lib/render/views/main/design-tokens.js +53 -0
  118. package/lib/render/views/main/docs.js +47 -0
  119. package/lib/render/views/main/index.js +46 -0
  120. package/lib/state/components.js +132 -0
  121. package/lib/state/css.js +50 -0
  122. package/lib/state/docs.js +111 -0
  123. package/lib/state/file-contents.js +207 -0
  124. package/lib/state/helpers.js +86 -0
  125. package/lib/state/index.js +56 -0
  126. package/lib/state/menu/index.js +275 -0
  127. package/lib/state/menu/structure.js +146 -0
  128. package/lib/state/partials.js +23 -0
  129. package/lib/state/source-tree.js +75 -0
  130. package/lib/styleguide/color-names.js +150 -0
  131. package/lib/styleguide/colors.js +135 -0
  132. package/lib/styleguide/helpers.js +37 -0
  133. package/lib/styleguide/index.js +17 -0
  134. package/lib/styleguide/media-queries.js +26 -0
  135. package/lib/styleguide/spacings.js +35 -0
  136. package/lib/styleguide/typography.js +61 -0
  137. package/lib/validator/mocks.js +105 -0
  138. package/package.json +117 -0
@@ -0,0 +1,741 @@
1
+ /* w3color.js ver.1.18 by w3schools.com (Do not remove this line)*/
2
+ /**
3
+ *
4
+ * @param color
5
+ * @param elmnt
6
+ */
7
+ function w3color(color, elmnt) {
8
+ if (!(this instanceof w3color)) {
9
+ return new w3color(color, elmnt);
10
+ }
11
+ if (typeof color == "object") {
12
+ return color;
13
+ }
14
+ this.attachValues(toColorObject(color));
15
+ if (elmnt) {
16
+ elmnt.style.backgroundColor = this.toRgbString();
17
+ }
18
+ }
19
+ w3color.prototype = {
20
+ toRgbString: function () {
21
+ return "rgb(" + this.red + ", " + this.green + ", " + this.blue + ")";
22
+ },
23
+ toRgbaString: function () {
24
+ return (
25
+ "rgba(" +
26
+ this.red +
27
+ ", " +
28
+ this.green +
29
+ ", " +
30
+ this.blue +
31
+ ", " +
32
+ this.opacity +
33
+ ")"
34
+ );
35
+ },
36
+ toHslString: function () {
37
+ return (
38
+ "hsl(" +
39
+ this.hue +
40
+ ", " +
41
+ Math.round(this.sat * 100) +
42
+ "%, " +
43
+ Math.round(this.lightness * 100) +
44
+ "%)"
45
+ );
46
+ },
47
+ toHslStringDecimal: function () {
48
+ return "hsl(" + this.hue + ", " + this.sat + ", " + this.lightness + ")";
49
+ },
50
+ toHslaString: function () {
51
+ return (
52
+ "hsla(" +
53
+ this.hue +
54
+ ", " +
55
+ Math.round(this.sat * 100) +
56
+ "%, " +
57
+ Math.round(this.lightness * 100) +
58
+ "%, " +
59
+ this.opacity +
60
+ ")"
61
+ );
62
+ },
63
+ toName: function () {
64
+ var r,
65
+ g,
66
+ b,
67
+ colorhexs = getColorArr("hexs");
68
+ for (var i = 0; i < colorhexs.length; i++) {
69
+ r = parseInt(colorhexs[i].substr(0, 2), 16);
70
+ g = parseInt(colorhexs[i].substr(2, 2), 16);
71
+ b = parseInt(colorhexs[i].substr(4, 2), 16);
72
+ if (this.red == r && this.green == g && this.blue == b) {
73
+ return getColorArr("names")[i];
74
+ }
75
+ }
76
+ return "n/a";
77
+ },
78
+ toHexString: function () {
79
+ var r = toHex(this.red);
80
+ var g = toHex(this.green);
81
+ var b = toHex(this.blue);
82
+ return "#" + r + g + b;
83
+ },
84
+ toRgb: function () {
85
+ return { r: this.red, g: this.green, b: this.blue, a: this.opacity };
86
+ },
87
+ toHsl: function () {
88
+ return { h: this.hue, s: this.sat, l: this.lightness, a: this.opacity };
89
+ },
90
+ attachValues: function (color) {
91
+ this.red = color.red;
92
+ this.green = color.green;
93
+ this.blue = color.blue;
94
+ this.hue = color.hue;
95
+ this.sat = color.sat;
96
+ this.lightness = color.lightness;
97
+ this.opacity = color.opacity;
98
+ this.valid = color.valid;
99
+ },
100
+ };
101
+ /**
102
+ *
103
+ * @param c
104
+ */
105
+ function toColorObject(c) {
106
+ var typ,
107
+ arr = [],
108
+ arrlength,
109
+ i,
110
+ opacity,
111
+ match,
112
+ a,
113
+ hue,
114
+ sat,
115
+ rgb,
116
+ colornames = [],
117
+ colorhexs = [];
118
+ c = w3trim(c.toLowerCase());
119
+ a = 1;
120
+ if (c.substr(0, 3) == "rgb" || c.substr(0, 3) == "hsl") {
121
+ typ = c.substr(0, 3);
122
+ c = c.substr(3);
123
+ arrlength = 3;
124
+ opacity = false;
125
+ if (c.substr(0, 1).toLowerCase() == "a") {
126
+ arrlength = 4;
127
+ opacity = true;
128
+ c = c.substr(1);
129
+ }
130
+ c = c.replace("(", "");
131
+ c = c.replace(")", "");
132
+ arr = c.split(",");
133
+ if (typ == "rgb") {
134
+ if (arr.length != arrlength) {
135
+ return emptyObject();
136
+ }
137
+ for (i = 0; i < arrlength; i++) {
138
+ if (arr[i] == "" || arr[i] == " ") {
139
+ arr[i] = "0";
140
+ }
141
+ if (arr[i].indexOf("%") > -1) {
142
+ arr[i] = arr[i].replace("%", "");
143
+ arr[i] = Number(arr[i] / 100);
144
+ if (i < 3) {
145
+ arr[i] = Math.round(arr[i] * 255);
146
+ }
147
+ }
148
+ if (Number.isNaN(arr[i])) {
149
+ return emptyObject();
150
+ }
151
+ if (parseInt(arr[i]) > 255) {
152
+ arr[i] = 255;
153
+ }
154
+ if (i < 3) {
155
+ arr[i] = parseInt(arr[i]);
156
+ }
157
+ if (i == 3 && Number(arr[i]) > 1) {
158
+ arr[i] = 1;
159
+ }
160
+ }
161
+ rgb = { r: arr[0], g: arr[1], b: arr[2] };
162
+ if (opacity == true) {
163
+ a = Number(arr[3]);
164
+ }
165
+ }
166
+ if (typ == "hsl") {
167
+ while (arr.length < arrlength) {
168
+ arr.push("0");
169
+ }
170
+ if (typ == "hsl") {
171
+ if (parseInt(arr[0]) >= 360) {
172
+ arr[0] = 0;
173
+ }
174
+ }
175
+ for (i = 1; i < arrlength; i++) {
176
+ if (arr[i].indexOf("%") > -1) {
177
+ arr[i] = arr[i].replace("%", "");
178
+ arr[i] = Number(arr[i]);
179
+ if (Number.isNaN(arr[i])) {
180
+ return emptyObject();
181
+ }
182
+ arr[i] = arr[i] / 100;
183
+ } else {
184
+ arr[i] = Number(arr[i]);
185
+ }
186
+ if (Number(arr[i]) > 1) {
187
+ arr[i] = 1;
188
+ }
189
+ if (Number(arr[i]) < 0) {
190
+ arr[i] = 0;
191
+ }
192
+ }
193
+ if (typ == "hsl") {
194
+ rgb = hslToRgb(arr[0], arr[1], arr[2]);
195
+ hue = Number(arr[0]);
196
+ sat = Number(arr[1]);
197
+ }
198
+ if (opacity == true) {
199
+ a = Number(arr[3]);
200
+ }
201
+ }
202
+ } else {
203
+ match = false;
204
+ colornames = getColorArr("names");
205
+ for (i = 0; i < colornames.length; i++) {
206
+ if (c.toLowerCase() == colornames[i].toLowerCase()) {
207
+ colorhexs = getColorArr("hexs");
208
+ match = true;
209
+ rgb = {
210
+ r: parseInt(colorhexs[i].substr(0, 2), 16),
211
+ g: parseInt(colorhexs[i].substr(2, 2), 16),
212
+ b: parseInt(colorhexs[i].substr(4, 2), 16),
213
+ };
214
+ break;
215
+ }
216
+ }
217
+ if (match == false) {
218
+ c = c.replace("#", "");
219
+ if (c.length == 3) {
220
+ c =
221
+ c.substr(0, 1) +
222
+ c.substr(0, 1) +
223
+ c.substr(1, 1) +
224
+ c.substr(1, 1) +
225
+ c.substr(2, 1) +
226
+ c.substr(2, 1);
227
+ }
228
+ for (i = 0; i < c.length; i++) {
229
+ if (!isHex(c.substr(i, 1))) {
230
+ return emptyObject();
231
+ }
232
+ }
233
+ arr[0] = parseInt(c.substr(0, 2), 16);
234
+ arr[1] = parseInt(c.substr(2, 2), 16);
235
+ arr[2] = parseInt(c.substr(4, 2), 16);
236
+ for (i = 0; i < 3; i++) {
237
+ if (Number.isNaN(arr[i])) {
238
+ return emptyObject();
239
+ }
240
+ }
241
+ rgb = {
242
+ r: arr[0],
243
+ g: arr[1],
244
+ b: arr[2],
245
+ };
246
+ }
247
+ }
248
+ return colorObject(rgb, a, hue, sat);
249
+ }
250
+ /**
251
+ *
252
+ * @param rgb
253
+ * @param a
254
+ * @param h
255
+ * @param s
256
+ */
257
+ function colorObject(rgb, a, h, s) {
258
+ var hsl, color, hue, sat;
259
+ if (!rgb) {
260
+ return emptyObject();
261
+ }
262
+ if (a === null) {
263
+ a = 1;
264
+ }
265
+ hsl = rgbToHsl(rgb.r, rgb.g, rgb.b);
266
+ hue = h || hsl.h;
267
+ sat = s || hsl.s;
268
+ color = {
269
+ red: rgb.r,
270
+ green: rgb.g,
271
+ blue: rgb.b,
272
+ hue: hue,
273
+ sat: sat,
274
+ lightness: hsl.l,
275
+ opacity: a,
276
+ valid: true,
277
+ };
278
+ color = roundDecimals(color);
279
+ return color;
280
+ }
281
+ /**
282
+ *
283
+ */
284
+ function emptyObject() {
285
+ return {
286
+ red: 0,
287
+ green: 0,
288
+ blue: 0,
289
+ hue: 0,
290
+ sat: 0,
291
+ lightness: 0,
292
+ opacity: 1,
293
+ valid: false,
294
+ };
295
+ }
296
+ /**
297
+ *
298
+ * @param x
299
+ */
300
+ function getColorArr(x) {
301
+ if (x == "names") {
302
+ return [
303
+ "AliceBlue",
304
+ "AntiqueWhite",
305
+ "Aqua",
306
+ "Aquamarine",
307
+ "Azure",
308
+ "Beige",
309
+ "Bisque",
310
+ "Black",
311
+ "BlanchedAlmond",
312
+ "Blue",
313
+ "BlueViolet",
314
+ "Brown",
315
+ "BurlyWood",
316
+ "CadetBlue",
317
+ "Chartreuse",
318
+ "Chocolate",
319
+ "Coral",
320
+ "CornflowerBlue",
321
+ "Cornsilk",
322
+ "Crimson",
323
+ "Cyan",
324
+ "DarkBlue",
325
+ "DarkCyan",
326
+ "DarkGoldenRod",
327
+ "DarkGray",
328
+ "DarkGrey",
329
+ "DarkGreen",
330
+ "DarkKhaki",
331
+ "DarkMagenta",
332
+ "DarkOliveGreen",
333
+ "DarkOrange",
334
+ "DarkOrchid",
335
+ "DarkRed",
336
+ "DarkSalmon",
337
+ "DarkSeaGreen",
338
+ "DarkSlateBlue",
339
+ "DarkSlateGray",
340
+ "DarkSlateGrey",
341
+ "DarkTurquoise",
342
+ "DarkViolet",
343
+ "DeepPink",
344
+ "DeepSkyBlue",
345
+ "DimGray",
346
+ "DimGrey",
347
+ "DodgerBlue",
348
+ "FireBrick",
349
+ "FloralWhite",
350
+ "ForestGreen",
351
+ "Fuchsia",
352
+ "Gainsboro",
353
+ "GhostWhite",
354
+ "Gold",
355
+ "GoldenRod",
356
+ "Gray",
357
+ "Grey",
358
+ "Green",
359
+ "GreenYellow",
360
+ "HoneyDew",
361
+ "HotPink",
362
+ "IndianRed",
363
+ "Indigo",
364
+ "Ivory",
365
+ "Khaki",
366
+ "Lavender",
367
+ "LavenderBlush",
368
+ "LawnGreen",
369
+ "LemonChiffon",
370
+ "LightBlue",
371
+ "LightCoral",
372
+ "LightCyan",
373
+ "LightGoldenRodYellow",
374
+ "LightGray",
375
+ "LightGrey",
376
+ "LightGreen",
377
+ "LightPink",
378
+ "LightSalmon",
379
+ "LightSeaGreen",
380
+ "LightSkyBlue",
381
+ "LightSlateGray",
382
+ "LightSlateGrey",
383
+ "LightSteelBlue",
384
+ "LightYellow",
385
+ "Lime",
386
+ "LimeGreen",
387
+ "Linen",
388
+ "Magenta",
389
+ "Maroon",
390
+ "MediumAquaMarine",
391
+ "MediumBlue",
392
+ "MediumOrchid",
393
+ "MediumPurple",
394
+ "MediumSeaGreen",
395
+ "MediumSlateBlue",
396
+ "MediumSpringGreen",
397
+ "MediumTurquoise",
398
+ "MediumVioletRed",
399
+ "MidnightBlue",
400
+ "MintCream",
401
+ "MistyRose",
402
+ "Moccasin",
403
+ "NavajoWhite",
404
+ "Navy",
405
+ "OldLace",
406
+ "Olive",
407
+ "OliveDrab",
408
+ "Orange",
409
+ "OrangeRed",
410
+ "Orchid",
411
+ "PaleGoldenRod",
412
+ "PaleGreen",
413
+ "PaleTurquoise",
414
+ "PaleVioletRed",
415
+ "PapayaWhip",
416
+ "PeachPuff",
417
+ "Peru",
418
+ "Pink",
419
+ "Plum",
420
+ "PowderBlue",
421
+ "Purple",
422
+ "RebeccaPurple",
423
+ "Red",
424
+ "RosyBrown",
425
+ "RoyalBlue",
426
+ "SaddleBrown",
427
+ "Salmon",
428
+ "SandyBrown",
429
+ "SeaGreen",
430
+ "SeaShell",
431
+ "Sienna",
432
+ "Silver",
433
+ "SkyBlue",
434
+ "SlateBlue",
435
+ "SlateGray",
436
+ "SlateGrey",
437
+ "Snow",
438
+ "SpringGreen",
439
+ "SteelBlue",
440
+ "Tan",
441
+ "Teal",
442
+ "Thistle",
443
+ "Tomato",
444
+ "Turquoise",
445
+ "Violet",
446
+ "Wheat",
447
+ "White",
448
+ "WhiteSmoke",
449
+ "Yellow",
450
+ "YellowGreen",
451
+ ];
452
+ }
453
+ if (x == "hexs") {
454
+ return [
455
+ "f0f8ff",
456
+ "faebd7",
457
+ "00ffff",
458
+ "7fffd4",
459
+ "f0ffff",
460
+ "f5f5dc",
461
+ "ffe4c4",
462
+ "000000",
463
+ "ffebcd",
464
+ "0000ff",
465
+ "8a2be2",
466
+ "a52a2a",
467
+ "deb887",
468
+ "5f9ea0",
469
+ "7fff00",
470
+ "d2691e",
471
+ "ff7f50",
472
+ "6495ed",
473
+ "fff8dc",
474
+ "dc143c",
475
+ "00ffff",
476
+ "00008b",
477
+ "008b8b",
478
+ "b8860b",
479
+ "a9a9a9",
480
+ "a9a9a9",
481
+ "006400",
482
+ "bdb76b",
483
+ "8b008b",
484
+ "556b2f",
485
+ "ff8c00",
486
+ "9932cc",
487
+ "8b0000",
488
+ "e9967a",
489
+ "8fbc8f",
490
+ "483d8b",
491
+ "2f4f4f",
492
+ "2f4f4f",
493
+ "00ced1",
494
+ "9400d3",
495
+ "ff1493",
496
+ "00bfff",
497
+ "696969",
498
+ "696969",
499
+ "1e90ff",
500
+ "b22222",
501
+ "fffaf0",
502
+ "228b22",
503
+ "ff00ff",
504
+ "dcdcdc",
505
+ "f8f8ff",
506
+ "ffd700",
507
+ "daa520",
508
+ "808080",
509
+ "808080",
510
+ "008000",
511
+ "adff2f",
512
+ "f0fff0",
513
+ "ff69b4",
514
+ "cd5c5c",
515
+ "4b0082",
516
+ "fffff0",
517
+ "f0e68c",
518
+ "e6e6fa",
519
+ "fff0f5",
520
+ "7cfc00",
521
+ "fffacd",
522
+ "add8e6",
523
+ "f08080",
524
+ "e0ffff",
525
+ "fafad2",
526
+ "d3d3d3",
527
+ "d3d3d3",
528
+ "90ee90",
529
+ "ffb6c1",
530
+ "ffa07a",
531
+ "20b2aa",
532
+ "87cefa",
533
+ "778899",
534
+ "778899",
535
+ "b0c4de",
536
+ "ffffe0",
537
+ "00ff00",
538
+ "32cd32",
539
+ "faf0e6",
540
+ "ff00ff",
541
+ "800000",
542
+ "66cdaa",
543
+ "0000cd",
544
+ "ba55d3",
545
+ "9370db",
546
+ "3cb371",
547
+ "7b68ee",
548
+ "00fa9a",
549
+ "48d1cc",
550
+ "c71585",
551
+ "191970",
552
+ "f5fffa",
553
+ "ffe4e1",
554
+ "ffe4b5",
555
+ "ffdead",
556
+ "000080",
557
+ "fdf5e6",
558
+ "808000",
559
+ "6b8e23",
560
+ "ffa500",
561
+ "ff4500",
562
+ "da70d6",
563
+ "eee8aa",
564
+ "98fb98",
565
+ "afeeee",
566
+ "db7093",
567
+ "ffefd5",
568
+ "ffdab9",
569
+ "cd853f",
570
+ "ffc0cb",
571
+ "dda0dd",
572
+ "b0e0e6",
573
+ "800080",
574
+ "663399",
575
+ "ff0000",
576
+ "bc8f8f",
577
+ "4169e1",
578
+ "8b4513",
579
+ "fa8072",
580
+ "f4a460",
581
+ "2e8b57",
582
+ "fff5ee",
583
+ "a0522d",
584
+ "c0c0c0",
585
+ "87ceeb",
586
+ "6a5acd",
587
+ "708090",
588
+ "708090",
589
+ "fffafa",
590
+ "00ff7f",
591
+ "4682b4",
592
+ "d2b48c",
593
+ "008080",
594
+ "d8bfd8",
595
+ "ff6347",
596
+ "40e0d0",
597
+ "ee82ee",
598
+ "f5deb3",
599
+ "ffffff",
600
+ "f5f5f5",
601
+ "ffff00",
602
+ "9acd32",
603
+ ];
604
+ }
605
+ }
606
+ /**
607
+ *
608
+ * @param c
609
+ */
610
+ function roundDecimals(c) {
611
+ c.red = Number(c.red.toFixed(0));
612
+ c.green = Number(c.green.toFixed(0));
613
+ c.blue = Number(c.blue.toFixed(0));
614
+ c.hue = Number(c.hue.toFixed(0));
615
+ c.sat = Number(c.sat.toFixed(2));
616
+ c.lightness = Number(c.lightness.toFixed(2));
617
+ c.opacity = Number(c.opacity.toFixed(2));
618
+ return c;
619
+ }
620
+ /**
621
+ *
622
+ * @param hue
623
+ * @param sat
624
+ * @param light
625
+ */
626
+ function hslToRgb(hue, sat, light) {
627
+ var t1, t2, r, g, b;
628
+ hue = hue / 60;
629
+ if (light <= 0.5) {
630
+ t2 = light * (sat + 1);
631
+ } else {
632
+ t2 = light + sat - light * sat;
633
+ }
634
+ t1 = light * 2 - t2;
635
+ r = hueToRgb(t1, t2, hue + 2) * 255;
636
+ g = hueToRgb(t1, t2, hue) * 255;
637
+ b = hueToRgb(t1, t2, hue - 2) * 255;
638
+ return { r: r, g: g, b: b };
639
+ }
640
+ /**
641
+ *
642
+ * @param t1
643
+ * @param t2
644
+ * @param hue
645
+ */
646
+ function hueToRgb(t1, t2, hue) {
647
+ if (hue < 0) hue += 6;
648
+ if (hue >= 6) hue -= 6;
649
+ if (hue < 1) return (t2 - t1) * hue + t1;
650
+ else if (hue < 3) return t2;
651
+ else if (hue < 4) return (t2 - t1) * (4 - hue) + t1;
652
+ else return t1;
653
+ }
654
+ /**
655
+ *
656
+ * @param r
657
+ * @param g
658
+ * @param b
659
+ */
660
+ function rgbToHsl(r, g, b) {
661
+ var min,
662
+ max,
663
+ i,
664
+ l,
665
+ s,
666
+ maxcolor,
667
+ h,
668
+ rgb = [];
669
+ rgb[0] = r / 255;
670
+ rgb[1] = g / 255;
671
+ rgb[2] = b / 255;
672
+ min = rgb[0];
673
+ max = rgb[0];
674
+ maxcolor = 0;
675
+ for (i = 0; i < rgb.length - 1; i++) {
676
+ if (rgb[i + 1] <= min) {
677
+ min = rgb[i + 1];
678
+ }
679
+ if (rgb[i + 1] >= max) {
680
+ max = rgb[i + 1];
681
+ maxcolor = i + 1;
682
+ }
683
+ }
684
+ if (maxcolor == 0) {
685
+ h = (rgb[1] - rgb[2]) / (max - min);
686
+ }
687
+ if (maxcolor == 1) {
688
+ h = 2 + (rgb[2] - rgb[0]) / (max - min);
689
+ }
690
+ if (maxcolor == 2) {
691
+ h = 4 + (rgb[0] - rgb[1]) / (max - min);
692
+ }
693
+ if (Number.isNaN(h)) {
694
+ h = 0;
695
+ }
696
+ h = h * 60;
697
+ if (h < 0) {
698
+ h = h + 360;
699
+ }
700
+ l = (min + max) / 2;
701
+ if (min == max) {
702
+ s = 0;
703
+ } else {
704
+ if (l < 0.5) {
705
+ s = (max - min) / (max + min);
706
+ } else {
707
+ s = (max - min) / (2 - max - min);
708
+ }
709
+ }
710
+ return { h: h, s: s, l: l };
711
+ }
712
+
713
+ /**
714
+ *
715
+ * @param n
716
+ */
717
+ function toHex(n) {
718
+ var hex = n.toString(16);
719
+ while (hex.length < 2) {
720
+ hex = "0" + hex;
721
+ }
722
+ return hex;
723
+ }
724
+
725
+ /**
726
+ *
727
+ * @param x
728
+ */
729
+ function w3trim(x) {
730
+ return x.replace(/^\s+|\s+$/g, "");
731
+ }
732
+
733
+ /**
734
+ *
735
+ * @param x
736
+ */
737
+ function isHex(x) {
738
+ return "0123456789ABCDEFabcdef".indexOf(x) > -1;
739
+ }
740
+
741
+ export default w3color;