js.documents 14.4.46 → 14.4.47

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 (67) hide show
  1. package/dist/convert/composition.cjs +9 -4
  2. package/dist/convert/composition.js +9 -4
  3. package/dist/convert/variant-bridges.cjs +2 -1
  4. package/dist/convert/variant-bridges.js +2 -1
  5. package/dist/csv/records.cjs +2 -1
  6. package/dist/csv/records.js +2 -1
  7. package/dist/edit/geometry.cjs +2 -1
  8. package/dist/edit/geometry.js +2 -1
  9. package/dist/edit/odg/svg-path.cjs +2 -1
  10. package/dist/edit/odg/svg-path.js +2 -1
  11. package/dist/edit/ods/cell.cjs +2 -1
  12. package/dist/edit/ods/cell.js +2 -1
  13. package/dist/edit/pdf/util.cjs +2 -1
  14. package/dist/edit/pdf/util.js +2 -1
  15. package/dist/firebird/data.cjs +2 -1
  16. package/dist/firebird/data.js +2 -1
  17. package/dist/firebird/date.cjs +40 -21
  18. package/dist/firebird/date.js +40 -21
  19. package/dist/firebird/reader.cjs +30 -19
  20. package/dist/firebird/reader.js +30 -19
  21. package/dist/hsqldb/binary-script.cjs +5 -4
  22. package/dist/hsqldb/binary-script.js +5 -4
  23. package/dist/hsqldb/cache.cjs +4 -2
  24. package/dist/hsqldb/cache.js +4 -2
  25. package/dist/hsqldb/rowformat.cjs +93 -57
  26. package/dist/hsqldb/rowformat.js +93 -57
  27. package/dist/hsqldb/script.cjs +2 -1
  28. package/dist/hsqldb/script.js +2 -1
  29. package/dist/latex/lower.cjs +2 -1
  30. package/dist/latex/lower.js +2 -1
  31. package/dist/latex/rational.cjs +6 -3
  32. package/dist/latex/rational.js +6 -3
  33. package/dist/layout/cell-typing.cjs +7 -3
  34. package/dist/layout/cell-typing.js +7 -3
  35. package/dist/layout/reconstruct.cjs +17 -15
  36. package/dist/layout/reconstruct.js +17 -15
  37. package/dist/layout/shared.cjs +2 -1
  38. package/dist/layout/shared.js +2 -1
  39. package/dist/layout/sheets.cjs +2 -1
  40. package/dist/layout/sheets.js +2 -1
  41. package/dist/mathml/layout.cjs +11 -5
  42. package/dist/mathml/layout.js +11 -5
  43. package/dist/mathml/length.cjs +12 -10
  44. package/dist/mathml/length.js +12 -10
  45. package/dist/mathml/operators.cjs +7 -3
  46. package/dist/mathml/operators.js +7 -3
  47. package/dist/mathml/variant.cjs +116 -1142
  48. package/dist/mathml/variant.js +116 -1142
  49. package/dist/model/bytes.cjs +9 -16
  50. package/dist/model/bytes.js +9 -16
  51. package/dist/model/geometry.cjs +2 -1
  52. package/dist/model/geometry.js +2 -1
  53. package/dist/odb/read.cjs +10 -2
  54. package/dist/odb/read.js +10 -2
  55. package/dist/svg/paint.cjs +177 -749
  56. package/dist/svg/paint.js +177 -749
  57. package/dist/svg/path.cjs +11 -6
  58. package/dist/svg/path.js +11 -6
  59. package/dist/svg/read.cjs +7 -3
  60. package/dist/svg/read.js +8 -4
  61. package/dist/svg/transform.cjs +11 -7
  62. package/dist/svg/transform.js +11 -7
  63. package/dist/svg/units.cjs +9 -5
  64. package/dist/svg/units.d.cts +2 -1
  65. package/dist/svg/units.d.ts +2 -1
  66. package/dist/svg/units.js +9 -6
  67. package/package.json +2 -2
@@ -1,757 +1,185 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  //#region src/svg/paint.ts
3
- const NAMED_COLORS = {
4
- aliceblue: [
5
- 240,
6
- 248,
7
- 255
8
- ],
9
- antiquewhite: [
10
- 250,
11
- 235,
12
- 215
13
- ],
14
- aqua: [
15
- 0,
16
- 255,
17
- 255
18
- ],
19
- aquamarine: [
20
- 127,
21
- 255,
22
- 212
23
- ],
24
- azure: [
25
- 240,
26
- 255,
27
- 255
28
- ],
29
- beige: [
30
- 245,
31
- 245,
32
- 220
33
- ],
34
- bisque: [
35
- 255,
36
- 228,
37
- 196
38
- ],
39
- black: [
40
- 0,
41
- 0,
42
- 0
43
- ],
44
- blanchedalmond: [
45
- 255,
46
- 235,
47
- 205
48
- ],
49
- blue: [
50
- 0,
51
- 0,
52
- 255
53
- ],
54
- blueviolet: [
55
- 138,
56
- 43,
57
- 226
58
- ],
59
- brown: [
60
- 165,
61
- 42,
62
- 42
63
- ],
64
- burlywood: [
65
- 222,
66
- 184,
67
- 135
68
- ],
69
- cadetblue: [
70
- 95,
71
- 158,
72
- 160
73
- ],
74
- chartreuse: [
75
- 127,
76
- 255,
77
- 0
78
- ],
79
- chocolate: [
80
- 210,
81
- 105,
82
- 30
83
- ],
84
- coral: [
85
- 255,
86
- 127,
87
- 80
88
- ],
89
- cornflowerblue: [
90
- 100,
91
- 149,
92
- 237
93
- ],
94
- cornsilk: [
95
- 255,
96
- 248,
97
- 220
98
- ],
99
- crimson: [
100
- 220,
101
- 20,
102
- 60
103
- ],
104
- cyan: [
105
- 0,
106
- 255,
107
- 255
108
- ],
109
- darkblue: [
110
- 0,
111
- 0,
112
- 139
113
- ],
114
- darkcyan: [
115
- 0,
116
- 139,
117
- 139
118
- ],
119
- darkgoldenrod: [
120
- 184,
121
- 134,
122
- 11
123
- ],
124
- darkgray: [
125
- 169,
126
- 169,
127
- 169
128
- ],
129
- darkgreen: [
130
- 0,
131
- 100,
132
- 0
133
- ],
134
- darkgrey: [
135
- 169,
136
- 169,
137
- 169
138
- ],
139
- darkkhaki: [
140
- 189,
141
- 183,
142
- 107
143
- ],
144
- darkmagenta: [
145
- 139,
146
- 0,
147
- 139
148
- ],
149
- darkolivegreen: [
150
- 85,
151
- 107,
152
- 47
153
- ],
154
- darkorange: [
155
- 255,
156
- 140,
157
- 0
158
- ],
159
- darkorchid: [
160
- 153,
161
- 50,
162
- 204
163
- ],
164
- darkred: [
165
- 139,
166
- 0,
167
- 0
168
- ],
169
- darksalmon: [
170
- 233,
171
- 150,
172
- 122
173
- ],
174
- darkseagreen: [
175
- 143,
176
- 188,
177
- 143
178
- ],
179
- darkslateblue: [
180
- 72,
181
- 61,
182
- 139
183
- ],
184
- darkslategray: [
185
- 47,
186
- 79,
187
- 79
188
- ],
189
- darkslategrey: [
190
- 47,
191
- 79,
192
- 79
193
- ],
194
- darkturquoise: [
195
- 0,
196
- 206,
197
- 209
198
- ],
199
- darkviolet: [
200
- 148,
201
- 0,
202
- 211
203
- ],
204
- deeppink: [
205
- 255,
206
- 20,
207
- 147
208
- ],
209
- deepskyblue: [
210
- 0,
211
- 191,
212
- 255
213
- ],
214
- dimgray: [
215
- 105,
216
- 105,
217
- 105
218
- ],
219
- dimgrey: [
220
- 105,
221
- 105,
222
- 105
223
- ],
224
- dodgerblue: [
225
- 30,
226
- 144,
227
- 255
228
- ],
229
- firebrick: [
230
- 178,
231
- 34,
232
- 34
233
- ],
234
- floralwhite: [
235
- 255,
236
- 250,
237
- 240
238
- ],
239
- forestgreen: [
240
- 34,
241
- 139,
242
- 34
243
- ],
244
- fuchsia: [
245
- 255,
246
- 0,
247
- 255
248
- ],
249
- gainsboro: [
250
- 220,
251
- 220,
252
- 220
253
- ],
254
- ghostwhite: [
255
- 248,
256
- 248,
257
- 255
258
- ],
259
- gold: [
260
- 255,
261
- 215,
262
- 0
263
- ],
264
- goldenrod: [
265
- 218,
266
- 165,
267
- 32
268
- ],
269
- gray: [
270
- 128,
271
- 128,
272
- 128
273
- ],
274
- green: [
275
- 0,
276
- 128,
277
- 0
278
- ],
279
- greenyellow: [
280
- 173,
281
- 255,
282
- 47
283
- ],
284
- grey: [
285
- 128,
286
- 128,
287
- 128
288
- ],
289
- honeydew: [
290
- 240,
291
- 255,
292
- 240
293
- ],
294
- hotpink: [
295
- 255,
296
- 105,
297
- 180
298
- ],
299
- indianred: [
300
- 205,
301
- 92,
302
- 92
303
- ],
304
- indigo: [
305
- 75,
306
- 0,
307
- 130
308
- ],
309
- ivory: [
310
- 255,
311
- 255,
312
- 240
313
- ],
314
- khaki: [
315
- 240,
316
- 230,
317
- 140
318
- ],
319
- lavender: [
320
- 230,
321
- 230,
322
- 250
323
- ],
324
- lavenderblush: [
325
- 255,
326
- 240,
327
- 245
328
- ],
329
- lawngreen: [
330
- 124,
331
- 252,
332
- 0
333
- ],
334
- lemonchiffon: [
335
- 255,
336
- 250,
337
- 205
338
- ],
339
- lightblue: [
340
- 173,
341
- 216,
342
- 230
343
- ],
344
- lightcoral: [
345
- 240,
346
- 128,
347
- 128
348
- ],
349
- lightcyan: [
350
- 224,
351
- 255,
352
- 255
353
- ],
354
- lightgoldenrodyellow: [
355
- 250,
356
- 250,
357
- 210
358
- ],
359
- lightgray: [
360
- 211,
361
- 211,
362
- 211
363
- ],
364
- lightgreen: [
365
- 144,
366
- 238,
367
- 144
368
- ],
369
- lightgrey: [
370
- 211,
371
- 211,
372
- 211
373
- ],
374
- lightpink: [
375
- 255,
376
- 182,
377
- 193
378
- ],
379
- lightsalmon: [
380
- 255,
381
- 160,
382
- 122
383
- ],
384
- lightseagreen: [
385
- 32,
386
- 178,
387
- 170
388
- ],
389
- lightskyblue: [
390
- 135,
391
- 206,
392
- 250
393
- ],
394
- lightslategray: [
395
- 119,
396
- 136,
397
- 153
398
- ],
399
- lightslategrey: [
400
- 119,
401
- 136,
402
- 153
403
- ],
404
- lightsteelblue: [
405
- 176,
406
- 196,
407
- 222
408
- ],
409
- lightyellow: [
410
- 255,
411
- 255,
412
- 224
413
- ],
414
- lime: [
415
- 0,
416
- 255,
417
- 0
418
- ],
419
- limegreen: [
420
- 50,
421
- 205,
422
- 50
423
- ],
424
- linen: [
425
- 250,
426
- 240,
427
- 230
428
- ],
429
- magenta: [
430
- 255,
431
- 0,
432
- 255
433
- ],
434
- maroon: [
435
- 128,
436
- 0,
437
- 0
438
- ],
439
- mediumaquamarine: [
440
- 102,
441
- 205,
442
- 170
443
- ],
444
- mediumblue: [
445
- 0,
446
- 0,
447
- 205
448
- ],
449
- mediumorchid: [
450
- 186,
451
- 85,
452
- 211
453
- ],
454
- mediumpurple: [
455
- 147,
456
- 112,
457
- 219
458
- ],
459
- mediumseagreen: [
460
- 60,
461
- 179,
462
- 113
463
- ],
464
- mediumslateblue: [
465
- 123,
466
- 104,
467
- 238
468
- ],
469
- mediumspringgreen: [
470
- 0,
471
- 250,
472
- 154
473
- ],
474
- mediumturquoise: [
475
- 72,
476
- 209,
477
- 204
478
- ],
479
- mediumvioletred: [
480
- 199,
481
- 21,
482
- 133
483
- ],
484
- midnightblue: [
485
- 25,
486
- 25,
487
- 112
488
- ],
489
- mintcream: [
490
- 245,
491
- 255,
492
- 250
493
- ],
494
- mistyrose: [
495
- 255,
496
- 228,
497
- 225
498
- ],
499
- moccasin: [
500
- 255,
501
- 228,
502
- 181
503
- ],
504
- navajowhite: [
505
- 255,
506
- 222,
507
- 173
508
- ],
509
- navy: [
510
- 0,
511
- 0,
512
- 128
513
- ],
514
- oldlace: [
515
- 253,
516
- 245,
517
- 230
518
- ],
519
- olive: [
520
- 128,
521
- 128,
522
- 0
523
- ],
524
- olivedrab: [
525
- 107,
526
- 142,
527
- 35
528
- ],
529
- orange: [
530
- 255,
531
- 165,
532
- 0
533
- ],
534
- orangered: [
535
- 255,
536
- 69,
537
- 0
538
- ],
539
- orchid: [
540
- 218,
541
- 112,
542
- 214
543
- ],
544
- palegoldenrod: [
545
- 238,
546
- 232,
547
- 170
548
- ],
549
- palegreen: [
550
- 152,
551
- 251,
552
- 152
553
- ],
554
- paleturquoise: [
555
- 175,
556
- 238,
557
- 238
558
- ],
559
- palevioletred: [
560
- 219,
561
- 112,
562
- 147
563
- ],
564
- papayawhip: [
565
- 255,
566
- 239,
567
- 213
568
- ],
569
- peachpuff: [
570
- 255,
571
- 218,
572
- 185
573
- ],
574
- peru: [
575
- 205,
576
- 133,
577
- 63
578
- ],
579
- pink: [
580
- 255,
581
- 192,
582
- 203
583
- ],
584
- plum: [
585
- 221,
586
- 160,
587
- 221
588
- ],
589
- powderblue: [
590
- 176,
591
- 224,
592
- 230
593
- ],
594
- purple: [
595
- 128,
596
- 0,
597
- 128
598
- ],
599
- rebeccapurple: [
600
- 102,
601
- 51,
602
- 153
603
- ],
604
- red: [
605
- 255,
606
- 0,
607
- 0
608
- ],
609
- rosybrown: [
610
- 188,
611
- 143,
612
- 143
613
- ],
614
- royalblue: [
615
- 65,
616
- 105,
617
- 225
618
- ],
619
- saddlebrown: [
620
- 139,
621
- 69,
622
- 19
623
- ],
624
- salmon: [
625
- 250,
626
- 128,
627
- 114
628
- ],
629
- sandybrown: [
630
- 244,
631
- 164,
632
- 96
633
- ],
634
- seagreen: [
635
- 46,
636
- 139,
637
- 87
638
- ],
639
- seashell: [
640
- 255,
641
- 245,
642
- 238
643
- ],
644
- sienna: [
645
- 160,
646
- 82,
647
- 45
648
- ],
649
- silver: [
650
- 192,
651
- 192,
652
- 192
653
- ],
654
- skyblue: [
655
- 135,
656
- 206,
657
- 235
658
- ],
659
- slateblue: [
660
- 106,
661
- 90,
662
- 205
663
- ],
664
- slategray: [
665
- 112,
666
- 128,
667
- 144
668
- ],
669
- slategrey: [
670
- 112,
671
- 128,
672
- 144
673
- ],
674
- snow: [
675
- 255,
676
- 250,
677
- 250
678
- ],
679
- springgreen: [
680
- 0,
681
- 255,
682
- 127
683
- ],
684
- steelblue: [
685
- 70,
686
- 130,
687
- 180
688
- ],
689
- tan: [
690
- 210,
691
- 180,
692
- 140
693
- ],
694
- teal: [
695
- 0,
696
- 128,
697
- 128
698
- ],
699
- thistle: [
700
- 216,
701
- 191,
702
- 216
703
- ],
704
- tomato: [
705
- 255,
706
- 99,
707
- 71
708
- ],
709
- turquoise: [
710
- 64,
711
- 224,
712
- 208
713
- ],
714
- violet: [
715
- 238,
716
- 130,
717
- 238
718
- ],
719
- wheat: [
720
- 245,
721
- 222,
722
- 179
723
- ],
724
- white: [
725
- 255,
726
- 255,
727
- 255
728
- ],
729
- whitesmoke: [
730
- 245,
731
- 245,
732
- 245
733
- ],
734
- yellow: [
735
- 255,
736
- 255,
737
- 0
738
- ],
739
- yellowgreen: [
740
- 154,
741
- 205,
742
- 50
743
- ]
3
+ const NAMED_COLOR_HEX = {
4
+ aliceblue: "#f0f8ff",
5
+ antiquewhite: "#faebd7",
6
+ aqua: "#00ffff",
7
+ aquamarine: "#7fffd4",
8
+ azure: "#f0ffff",
9
+ beige: "#f5f5dc",
10
+ bisque: "#ffe4c4",
11
+ black: "#000000",
12
+ blanchedalmond: "#ffebcd",
13
+ blue: "#0000ff",
14
+ blueviolet: "#8a2be2",
15
+ brown: "#a52a2a",
16
+ burlywood: "#deb887",
17
+ cadetblue: "#5f9ea0",
18
+ chartreuse: "#7fff00",
19
+ chocolate: "#d2691e",
20
+ coral: "#ff7f50",
21
+ cornflowerblue: "#6495ed",
22
+ cornsilk: "#fff8dc",
23
+ crimson: "#dc143c",
24
+ cyan: "#00ffff",
25
+ darkblue: "#00008b",
26
+ darkcyan: "#008b8b",
27
+ darkgoldenrod: "#b8860b",
28
+ darkgray: "#a9a9a9",
29
+ darkgreen: "#006400",
30
+ darkgrey: "#a9a9a9",
31
+ darkkhaki: "#bdb76b",
32
+ darkmagenta: "#8b008b",
33
+ darkolivegreen: "#556b2f",
34
+ darkorange: "#ff8c00",
35
+ darkorchid: "#9932cc",
36
+ darkred: "#8b0000",
37
+ darksalmon: "#e9967a",
38
+ darkseagreen: "#8fbc8f",
39
+ darkslateblue: "#483d8b",
40
+ darkslategray: "#2f4f4f",
41
+ darkslategrey: "#2f4f4f",
42
+ darkturquoise: "#00ced1",
43
+ darkviolet: "#9400d3",
44
+ deeppink: "#ff1493",
45
+ deepskyblue: "#00bfff",
46
+ dimgray: "#696969",
47
+ dimgrey: "#696969",
48
+ dodgerblue: "#1e90ff",
49
+ firebrick: "#b22222",
50
+ floralwhite: "#fffaf0",
51
+ forestgreen: "#228b22",
52
+ fuchsia: "#ff00ff",
53
+ gainsboro: "#dcdcdc",
54
+ ghostwhite: "#f8f8ff",
55
+ gold: "#ffd700",
56
+ goldenrod: "#daa520",
57
+ gray: "#808080",
58
+ green: "#008000",
59
+ greenyellow: "#adff2f",
60
+ grey: "#808080",
61
+ honeydew: "#f0fff0",
62
+ hotpink: "#ff69b4",
63
+ indianred: "#cd5c5c",
64
+ indigo: "#4b0082",
65
+ ivory: "#fffff0",
66
+ khaki: "#f0e68c",
67
+ lavender: "#e6e6fa",
68
+ lavenderblush: "#fff0f5",
69
+ lawngreen: "#7cfc00",
70
+ lemonchiffon: "#fffacd",
71
+ lightblue: "#add8e6",
72
+ lightcoral: "#f08080",
73
+ lightcyan: "#e0ffff",
74
+ lightgoldenrodyellow: "#fafad2",
75
+ lightgray: "#d3d3d3",
76
+ lightgreen: "#90ee90",
77
+ lightgrey: "#d3d3d3",
78
+ lightpink: "#ffb6c1",
79
+ lightsalmon: "#ffa07a",
80
+ lightseagreen: "#20b2aa",
81
+ lightskyblue: "#87cefa",
82
+ lightslategray: "#778899",
83
+ lightslategrey: "#778899",
84
+ lightsteelblue: "#b0c4de",
85
+ lightyellow: "#ffffe0",
86
+ lime: "#00ff00",
87
+ limegreen: "#32cd32",
88
+ linen: "#faf0e6",
89
+ magenta: "#ff00ff",
90
+ maroon: "#800000",
91
+ mediumaquamarine: "#66cdaa",
92
+ mediumblue: "#0000cd",
93
+ mediumorchid: "#ba55d3",
94
+ mediumpurple: "#9370db",
95
+ mediumseagreen: "#3cb371",
96
+ mediumslateblue: "#7b68ee",
97
+ mediumspringgreen: "#00fa9a",
98
+ mediumturquoise: "#48d1cc",
99
+ mediumvioletred: "#c71585",
100
+ midnightblue: "#191970",
101
+ mintcream: "#f5fffa",
102
+ mistyrose: "#ffe4e1",
103
+ moccasin: "#ffe4b5",
104
+ navajowhite: "#ffdead",
105
+ navy: "#000080",
106
+ oldlace: "#fdf5e6",
107
+ olive: "#808000",
108
+ olivedrab: "#6b8e23",
109
+ orange: "#ffa500",
110
+ orangered: "#ff4500",
111
+ orchid: "#da70d6",
112
+ palegoldenrod: "#eee8aa",
113
+ palegreen: "#98fb98",
114
+ paleturquoise: "#afeeee",
115
+ palevioletred: "#db7093",
116
+ papayawhip: "#ffefd5",
117
+ peachpuff: "#ffdab9",
118
+ peru: "#cd853f",
119
+ pink: "#ffc0cb",
120
+ plum: "#dda0dd",
121
+ powderblue: "#b0e0e6",
122
+ purple: "#800080",
123
+ rebeccapurple: "#663399",
124
+ red: "#ff0000",
125
+ rosybrown: "#bc8f8f",
126
+ royalblue: "#4169e1",
127
+ saddlebrown: "#8b4513",
128
+ salmon: "#fa8072",
129
+ sandybrown: "#f4a460",
130
+ seagreen: "#2e8b57",
131
+ seashell: "#fff5ee",
132
+ sienna: "#a0522d",
133
+ silver: "#c0c0c0",
134
+ skyblue: "#87ceeb",
135
+ slateblue: "#6a5acd",
136
+ slategray: "#708090",
137
+ slategrey: "#708090",
138
+ snow: "#fffafa",
139
+ springgreen: "#00ff7f",
140
+ steelblue: "#4682b4",
141
+ tan: "#d2b48c",
142
+ teal: "#008080",
143
+ thistle: "#d8bfd8",
144
+ tomato: "#ff6347",
145
+ turquoise: "#40e0d0",
146
+ violet: "#ee82ee",
147
+ wheat: "#f5deb3",
148
+ white: "#ffffff",
149
+ whitesmoke: "#f5f5f5",
150
+ yellow: "#ffff00",
151
+ yellowgreen: "#9acd32"
744
152
  };
153
+ const HEX_RED_END = 3;
154
+ const HEX_GREEN_END = 5;
155
+ const HEX_BLUE_END = 7;
156
+ function hexTriplet(hex) {
157
+ return [
158
+ Number.parseInt(hex.slice(1, HEX_RED_END), 16),
159
+ Number.parseInt(hex.slice(HEX_RED_END, HEX_GREEN_END), 16),
160
+ Number.parseInt(hex.slice(HEX_GREEN_END, HEX_BLUE_END), 16)
161
+ ];
162
+ }
163
+ const NAMED_COLORS = Object.fromEntries(Object.entries(NAMED_COLOR_HEX).map(([name, hex]) => [name, hexTriplet(hex)]));
164
+ const EIGHT_BIT_CHANNEL_MAX = 255;
745
165
  function from8Bit(r, g, b) {
746
166
  return {
747
- r: r / 255,
748
- g: g / 255,
749
- b: b / 255
167
+ r: r / EIGHT_BIT_CHANNEL_MAX,
168
+ g: g / EIGHT_BIT_CHANNEL_MAX,
169
+ b: b / EIGHT_BIT_CHANNEL_MAX
750
170
  };
751
171
  }
752
172
  const HEX_PATTERN = /^#([0-9a-fA-F]{3,8})$/;
753
173
  const FUNCTION_COLOR_PATTERN = /^rgba?\(\s*([^)]*)\)$/;
754
174
  const SPLIT_COMPONENTS = /[\s,]+/;
175
+ const SHORT_HEX_DIGIT_COUNT = 3;
176
+ const SHORT_HEX_ALPHA_DIGIT_COUNT = 4;
177
+ const LONG_HEX_DIGIT_COUNT = 6;
178
+ const LONG_HEX_ALPHA_DIGIT_COUNT = 8;
179
+ const LONG_HEX_GREEN_END = 4;
180
+ const RGB_COMPONENT_COUNT = 3;
181
+ const RGBA_COMPONENT_COUNT = 4;
182
+ const PERCENT_SCALE = 100;
755
183
  function parseSvgColor(raw) {
756
184
  const value = raw.trim();
757
185
  const named = NAMED_COLORS[value.toLowerCase()];
@@ -759,24 +187,24 @@ function parseSvgColor(raw) {
759
187
  const hex = HEX_PATTERN.exec(value);
760
188
  if (hex !== null) {
761
189
  const digits = hex[1];
762
- if (digits.length === 3 || digits.length === 4) {
190
+ if (digits.length === SHORT_HEX_DIGIT_COUNT || digits.length === SHORT_HEX_ALPHA_DIGIT_COUNT) {
763
191
  const expand = (char) => Number.parseInt(char + char, 16);
764
192
  return from8Bit(expand(digits[0]), expand(digits[1]), expand(digits[2]));
765
193
  }
766
- if (digits.length === 6 || digits.length === 8) return from8Bit(Number.parseInt(digits.slice(0, 2), 16), Number.parseInt(digits.slice(2, 4), 16), Number.parseInt(digits.slice(4, 6), 16));
194
+ if (digits.length === LONG_HEX_DIGIT_COUNT || digits.length === LONG_HEX_ALPHA_DIGIT_COUNT) return from8Bit(Number.parseInt(digits.slice(0, 2), 16), Number.parseInt(digits.slice(2, LONG_HEX_GREEN_END), 16), Number.parseInt(digits.slice(LONG_HEX_GREEN_END, LONG_HEX_DIGIT_COUNT), 16));
767
195
  return;
768
196
  }
769
197
  const fn = FUNCTION_COLOR_PATTERN.exec(value);
770
198
  if (fn !== null) {
771
199
  const parts = fn[1].trim().split(SPLIT_COMPONENTS).filter((part) => part !== "");
772
- if (parts.length !== 3 && parts.length !== 4) return;
200
+ if (parts.length !== RGB_COMPONENT_COUNT && parts.length !== RGBA_COMPONENT_COUNT) return;
773
201
  const channel = (part) => {
774
202
  if (part.endsWith("%")) {
775
203
  const pct = Number(part.slice(0, -1));
776
- return Number.isFinite(pct) ? pct / 100 * 255 : void 0;
204
+ return Number.isFinite(pct) ? pct / PERCENT_SCALE * EIGHT_BIT_CHANNEL_MAX : void 0;
777
205
  }
778
206
  const num = Number(part);
779
- return Number.isFinite(num) ? Math.min(255, Math.max(0, num)) : void 0;
207
+ return Number.isFinite(num) ? Math.min(EIGHT_BIT_CHANNEL_MAX, Math.max(0, num)) : void 0;
780
208
  };
781
209
  const r = channel(parts[0]);
782
210
  const g = channel(parts[1]);