@bicharts/chart-host 0.6.47 → 0.6.48
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/{chunk-XWVIYCMM.mjs → chunk-YD3QWCEP.mjs} +1264 -921
- package/dist/index.mjs +373 -125
- package/dist/react.mjs +1 -1
- package/dist/types/blankRender.d.ts +9 -0
- package/dist/types/chartPick.d.ts +2 -20
- package/dist/types/contract.d.ts +5 -1
- package/dist/types/index.d.ts +5 -5
- package/dist/types/labelContrast.d.ts +37 -0
- package/dist/types/labelContrastDom.d.ts +10 -0
- package/dist/types/optionsVocabulary.d.ts +9 -0
- package/dist/types/qualifyFilter.d.ts +33 -5
- package/dist/types/snapshot.d.ts +44 -4
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -33,15 +33,17 @@ import {
|
|
|
33
33
|
DIM_OPACITY_DEFAULT,
|
|
34
34
|
DIM_OPACITY_VAR,
|
|
35
35
|
FIT_CONTENT_SELECTOR,
|
|
36
|
+
FLIP_INTERVAL_MAX_MS,
|
|
37
|
+
FLIP_INTERVAL_MIN_MS,
|
|
36
38
|
FLIP_MODE_DEFAULT,
|
|
37
39
|
GEO_POINT_PRECISIONS,
|
|
38
40
|
GLYPH_SAMPLE_N,
|
|
39
41
|
HOST_CONTAINER_CLASS,
|
|
40
42
|
HOST_CONTRACT_VERSION,
|
|
41
43
|
L,
|
|
42
|
-
L3,
|
|
43
44
|
LABEL_CONTRAST_CAP,
|
|
44
45
|
LABEL_CONTRAST_DONE_ATTR,
|
|
46
|
+
LABEL_PILL_CLASS,
|
|
45
47
|
LEGEND_MARK_CLASS,
|
|
46
48
|
LIFT_SELECTED_CLASS,
|
|
47
49
|
LIGHT_TEXT,
|
|
@@ -52,6 +54,7 @@ import {
|
|
|
52
54
|
MIN_CONTRAST,
|
|
53
55
|
MIN_HIT_BAND_PX,
|
|
54
56
|
MIN_RAMP_FILLS,
|
|
57
|
+
NO_ROW_MARKS_ATTR,
|
|
55
58
|
PAGE_MATCH_TOLERANCE,
|
|
56
59
|
PHANTOM_FRACTION,
|
|
57
60
|
PILL_MIN_ALPHA,
|
|
@@ -65,12 +68,19 @@ import {
|
|
|
65
68
|
SEASONAL_MARKERS_DEFAULT,
|
|
66
69
|
SELECTION_ACTIVE_CLASS,
|
|
67
70
|
SELECTION_GLYPH_CLASS,
|
|
71
|
+
SNAPSHOT_SVG_ATTR,
|
|
72
|
+
STRADDLE_COLS,
|
|
73
|
+
STRADDLE_MIN_SHARE,
|
|
74
|
+
STRADDLE_PILL_ALPHA,
|
|
75
|
+
STRADDLE_ROWS,
|
|
76
|
+
STRADDLE_TARGET_CONTRAST,
|
|
68
77
|
VALUE_AXIS_BASELINE_DEFAULT,
|
|
69
78
|
VALUE_AXIS_MIN_FIT,
|
|
70
79
|
VIEW_ONLY_UI_STATE_KEYS,
|
|
71
80
|
WHITE_TEXT_BG_LUM,
|
|
72
81
|
XFILTER_REFRESH_EVENT,
|
|
73
82
|
Zn,
|
|
83
|
+
_3,
|
|
74
84
|
applyLabelContrast,
|
|
75
85
|
assembleD3,
|
|
76
86
|
autoRampCanvas,
|
|
@@ -114,15 +124,19 @@ import {
|
|
|
114
124
|
isInvalidSentinelError,
|
|
115
125
|
isPhantomBox,
|
|
116
126
|
isPillBackdropAlpha,
|
|
127
|
+
l,
|
|
117
128
|
labelBand,
|
|
118
129
|
le,
|
|
119
130
|
loadGeo,
|
|
120
131
|
measureContainerBoxes,
|
|
132
|
+
minContrastOver,
|
|
121
133
|
needsScroll,
|
|
122
134
|
nextSelection,
|
|
123
135
|
noopViewStateProvider,
|
|
136
|
+
o,
|
|
124
137
|
paintSelectionGlyphs,
|
|
125
138
|
periodTickSuppressesFeedback,
|
|
139
|
+
pickColorOver,
|
|
126
140
|
pillBacksGlyph,
|
|
127
141
|
pinScrolledAxis,
|
|
128
142
|
planAxisPin,
|
|
@@ -137,6 +151,8 @@ import {
|
|
|
137
151
|
rowIdxsFromMark,
|
|
138
152
|
scrollFitFor,
|
|
139
153
|
sessionViewStateProvider,
|
|
154
|
+
straddleSampleGrid,
|
|
155
|
+
straddles,
|
|
140
156
|
stripEsmExports,
|
|
141
157
|
stripJsComments,
|
|
142
158
|
svgInkReach,
|
|
@@ -146,7 +162,7 @@ import {
|
|
|
146
162
|
unpinScrolledAxis,
|
|
147
163
|
valuePlacementFlag,
|
|
148
164
|
withoutViewOnlyKeys
|
|
149
|
-
} from "./chunk-
|
|
165
|
+
} from "./chunk-YD3QWCEP.mjs";
|
|
150
166
|
import "./chunk-A2GMXZP7.mjs";
|
|
151
167
|
import "./chunk-GHODWOAL.mjs";
|
|
152
168
|
|
|
@@ -178,6 +194,15 @@ var OPTIONS_VOCABULARY = Object.freeze({
|
|
|
178
194
|
/** "" chooses by the number of periods. */
|
|
179
195
|
animTimelineStyle: entry({ timing: "live", default: "", values: ["", "line", "boxes"] }),
|
|
180
196
|
filtersDuringPlay: entry({ timing: "live", default: false }),
|
|
197
|
+
/** Where a card deck's flip controls live: every card's own arrows, one strip for the deck, or both. */
|
|
198
|
+
flipMode: entry({ timing: "live", default: FLIP_MODE_DEFAULT, values: ["both", "all", "single"] }),
|
|
199
|
+
/**
|
|
200
|
+
* BLANK - "the chart's own" - is the default, and it is not 0. A host that was never told a value
|
|
201
|
+
* sends none (resolveOptions keeps it absent) and the chart supplies its own: manual on the card
|
|
202
|
+
* deck, a 5 s dwell on a carousel. 0 is a reader's explicit "manual only". A non-zero value is
|
|
203
|
+
* clamped chart-side to FLIP_INTERVAL_MIN_MS..FLIP_INTERVAL_MAX_MS.
|
|
204
|
+
*/
|
|
205
|
+
flipIntervalMs: entry({ timing: "live", default: "", min: 0, max: FLIP_INTERVAL_MAX_MS }),
|
|
181
206
|
// ---- the next generated chart ----
|
|
182
207
|
levelOfDetail: entry({ timing: "next-generate", default: "", values: ["", "High", "Medium", "Low"], wire: "clientHints" }),
|
|
183
208
|
favorLimitTo: entry({ timing: "next-generate", default: "", values: ["", "latest", "top / greatest", "bottom / smallest", "most common", "outliers"], wire: "clientHints" }),
|
|
@@ -500,18 +525,171 @@ function histogramSource(idx, name2) {
|
|
|
500
525
|
|
|
501
526
|
// src/snapshot.ts
|
|
502
527
|
var DEFAULT_TIMEOUT_MS = 2e3;
|
|
528
|
+
var SVG_NS = "http://www.w3.org/2000/svg";
|
|
529
|
+
var XHTML_NS = "http://www.w3.org/1999/xhtml";
|
|
530
|
+
function toBase64(str) {
|
|
531
|
+
const bytes = new TextEncoder().encode(str);
|
|
532
|
+
let binary = "";
|
|
533
|
+
for (let i2 = 0; i2 < bytes.length; i2++) binary += String.fromCharCode(bytes[i2]);
|
|
534
|
+
return btoa(binary);
|
|
535
|
+
}
|
|
536
|
+
function viewOf(el) {
|
|
537
|
+
return el.ownerDocument && el.ownerDocument.defaultView || globalThis;
|
|
538
|
+
}
|
|
539
|
+
var MAX_STYLED_ELEMENTS = 4e3;
|
|
540
|
+
var TEXT_FONT_PROPS = ["font-family", "font-size", "font-weight", "font-style"];
|
|
541
|
+
function inlineTextFonts(original, clone) {
|
|
542
|
+
const view = viewOf(original);
|
|
543
|
+
if (!view || typeof view.getComputedStyle !== "function") return;
|
|
544
|
+
const src = original.querySelectorAll("text");
|
|
545
|
+
const dst = clone.querySelectorAll("text");
|
|
546
|
+
if (src.length !== dst.length) return;
|
|
547
|
+
const n2 = Math.min(src.length, MAX_STYLED_ELEMENTS);
|
|
548
|
+
for (let i2 = 0; i2 < n2; i2++) {
|
|
549
|
+
let cs;
|
|
550
|
+
try {
|
|
551
|
+
cs = view.getComputedStyle(src[i2]);
|
|
552
|
+
} catch {
|
|
553
|
+
continue;
|
|
554
|
+
}
|
|
555
|
+
const style = dst[i2].style;
|
|
556
|
+
if (!style) continue;
|
|
557
|
+
for (const prop of TEXT_FONT_PROPS) {
|
|
558
|
+
const v2 = cs.getPropertyValue(prop);
|
|
559
|
+
if (v2 && !style.getPropertyValue(prop)) style.setProperty(prop, v2);
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
}
|
|
503
563
|
function svgToDataUrl(svg) {
|
|
504
564
|
const cloned = svg.cloneNode(true);
|
|
505
565
|
const w2 = svg.clientWidth || svg.getBoundingClientRect && svg.getBoundingClientRect().width || 600;
|
|
506
566
|
const h2 = svg.clientHeight || svg.getBoundingClientRect && svg.getBoundingClientRect().height || 400;
|
|
507
567
|
cloned.setAttribute("width", String(Math.round(w2)));
|
|
508
568
|
cloned.setAttribute("height", String(Math.round(h2)));
|
|
509
|
-
if (!cloned.getAttribute("xmlns")) cloned.setAttribute("xmlns",
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
return "data:image/svg+xml;base64," +
|
|
569
|
+
if (!cloned.getAttribute("xmlns")) cloned.setAttribute("xmlns", SVG_NS);
|
|
570
|
+
try {
|
|
571
|
+
inlineTextFonts(svg, cloned);
|
|
572
|
+
} catch {
|
|
573
|
+
}
|
|
574
|
+
return "data:image/svg+xml;base64," + toBase64(new XMLSerializer().serializeToString(cloned));
|
|
575
|
+
}
|
|
576
|
+
function tableHostOf(root) {
|
|
577
|
+
if (!root || typeof root.querySelector !== "function") return null;
|
|
578
|
+
if (root.namespaceURI === SVG_NS) return null;
|
|
579
|
+
const firstSvg = root.querySelector("svg");
|
|
580
|
+
for (const sel of [".lch-table-frame", "table"]) {
|
|
581
|
+
const host = root.querySelector(sel);
|
|
582
|
+
if (host && (!firstSvg || host.contains(firstSvg))) return host;
|
|
583
|
+
}
|
|
584
|
+
return null;
|
|
585
|
+
}
|
|
586
|
+
function chartSvgOf(root) {
|
|
587
|
+
if (!root || typeof root.querySelector !== "function") return null;
|
|
588
|
+
return root.querySelector(`svg[${SNAPSHOT_SVG_ATTR}]`) ?? root.querySelector("svg");
|
|
589
|
+
}
|
|
590
|
+
function inlinePx(v2) {
|
|
591
|
+
const m2 = /^\s*([0-9.]+)px\s*$/.exec(v2 || "");
|
|
592
|
+
return m2 ? parseFloat(m2[1]) : 0;
|
|
593
|
+
}
|
|
594
|
+
function htmlNaturalSize(el) {
|
|
595
|
+
const r2 = el.getBoundingClientRect ? el.getBoundingClientRect() : null;
|
|
596
|
+
const w2 = el.clientWidth || r2 && r2.width || inlinePx(el.style && el.style.width) || 600;
|
|
597
|
+
const h2 = el.clientHeight || r2 && r2.height || inlinePx(el.style && el.style.height) || 400;
|
|
598
|
+
return { width: Math.round(w2), height: Math.round(h2) };
|
|
599
|
+
}
|
|
600
|
+
var HTML_STYLE_PROPS = [
|
|
601
|
+
"display",
|
|
602
|
+
"box-sizing",
|
|
603
|
+
"width",
|
|
604
|
+
"height",
|
|
605
|
+
"margin-top",
|
|
606
|
+
"margin-right",
|
|
607
|
+
"margin-bottom",
|
|
608
|
+
"margin-left",
|
|
609
|
+
"padding-top",
|
|
610
|
+
"padding-right",
|
|
611
|
+
"padding-bottom",
|
|
612
|
+
"padding-left",
|
|
613
|
+
"border-top-width",
|
|
614
|
+
"border-right-width",
|
|
615
|
+
"border-bottom-width",
|
|
616
|
+
"border-left-width",
|
|
617
|
+
"border-top-style",
|
|
618
|
+
"border-right-style",
|
|
619
|
+
"border-bottom-style",
|
|
620
|
+
"border-left-style",
|
|
621
|
+
"border-top-color",
|
|
622
|
+
"border-right-color",
|
|
623
|
+
"border-bottom-color",
|
|
624
|
+
"border-left-color",
|
|
625
|
+
"border-collapse",
|
|
626
|
+
"border-spacing",
|
|
627
|
+
"background-color",
|
|
628
|
+
"color",
|
|
629
|
+
"opacity",
|
|
630
|
+
"font-family",
|
|
631
|
+
"font-size",
|
|
632
|
+
"font-weight",
|
|
633
|
+
"font-style",
|
|
634
|
+
"line-height",
|
|
635
|
+
"letter-spacing",
|
|
636
|
+
"text-align",
|
|
637
|
+
"vertical-align",
|
|
638
|
+
"white-space",
|
|
639
|
+
"text-overflow",
|
|
640
|
+
"text-decoration-line",
|
|
641
|
+
"flex-direction",
|
|
642
|
+
"flex-wrap",
|
|
643
|
+
"flex-grow",
|
|
644
|
+
"flex-shrink",
|
|
645
|
+
"flex-basis",
|
|
646
|
+
"align-items",
|
|
647
|
+
"justify-content",
|
|
648
|
+
"position",
|
|
649
|
+
"top",
|
|
650
|
+
"right",
|
|
651
|
+
"bottom",
|
|
652
|
+
"left"
|
|
653
|
+
];
|
|
654
|
+
function inlineHtmlStyles(original, clone) {
|
|
655
|
+
const view = viewOf(original);
|
|
656
|
+
if (!view || typeof view.getComputedStyle !== "function") return;
|
|
657
|
+
const src = [original, ...Array.from(original.querySelectorAll("*"))];
|
|
658
|
+
const dst = [clone, ...Array.from(clone.querySelectorAll("*"))];
|
|
659
|
+
if (src.length !== dst.length) return;
|
|
660
|
+
let styled = 0;
|
|
661
|
+
for (let i2 = 0; i2 < src.length && styled < MAX_STYLED_ELEMENTS; i2++) {
|
|
662
|
+
const o3 = src[i2], c2 = dst[i2];
|
|
663
|
+
if (o3.namespaceURI !== XHTML_NS || !c2.style) continue;
|
|
664
|
+
let cs;
|
|
665
|
+
try {
|
|
666
|
+
cs = view.getComputedStyle(o3);
|
|
667
|
+
} catch {
|
|
668
|
+
continue;
|
|
669
|
+
}
|
|
670
|
+
for (const prop of HTML_STYLE_PROPS) {
|
|
671
|
+
const v2 = cs.getPropertyValue(prop);
|
|
672
|
+
if (v2) c2.style.setProperty(prop, v2);
|
|
673
|
+
}
|
|
674
|
+
c2.style.setProperty("overflow", "hidden");
|
|
675
|
+
styled++;
|
|
676
|
+
}
|
|
677
|
+
try {
|
|
678
|
+
inlineTextFonts(original, clone);
|
|
679
|
+
} catch {
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
function htmlToSvgDataUrl(el) {
|
|
683
|
+
const { width, height } = htmlNaturalSize(el);
|
|
684
|
+
const clone = el.cloneNode(true);
|
|
685
|
+
inlineHtmlStyles(el, clone);
|
|
686
|
+
clone.style.setProperty("width", `${width}px`);
|
|
687
|
+
clone.style.setProperty("height", `${height}px`);
|
|
688
|
+
clone.style.setProperty("margin", "0");
|
|
689
|
+
let xhtml = new XMLSerializer().serializeToString(clone);
|
|
690
|
+
if (!/^<[^>]*\sxmlns=/.test(xhtml)) xhtml = xhtml.replace(/^<([a-zA-Z0-9-]+)/, `<$1 xmlns="${XHTML_NS}"`);
|
|
691
|
+
const svg = `<svg xmlns="${SVG_NS}" width="${width}" height="${height}" viewBox="0 0 ${width} ${height}"><foreignObject x="0" y="0" width="${width}" height="${height}">${xhtml}</foreignObject></svg>`;
|
|
692
|
+
return { url: "data:image/svg+xml;base64," + toBase64(svg), width, height };
|
|
515
693
|
}
|
|
516
694
|
function svgNaturalSize(svg) {
|
|
517
695
|
const w2 = svg.clientWidth || svg.getBoundingClientRect && svg.getBoundingClientRect().width || 600;
|
|
@@ -567,16 +745,25 @@ function rasterizeSvgToPngDataUrl(svgDataUrl, width, height, opts = {}) {
|
|
|
567
745
|
}
|
|
568
746
|
async function captureSvgSnapshot(root, opts = {}) {
|
|
569
747
|
if (!root) return null;
|
|
570
|
-
const
|
|
571
|
-
|
|
748
|
+
const table = root instanceof SVGSVGElement ? null : tableHostOf(root);
|
|
749
|
+
const svg = table ? null : root instanceof SVGSVGElement ? root : chartSvgOf(root);
|
|
750
|
+
if (!table && !svg) return null;
|
|
572
751
|
let svgUrl;
|
|
752
|
+
let width, height;
|
|
573
753
|
try {
|
|
574
|
-
|
|
754
|
+
if (table) {
|
|
755
|
+
const r2 = htmlToSvgDataUrl(table);
|
|
756
|
+
svgUrl = r2.url;
|
|
757
|
+
width = r2.width;
|
|
758
|
+
height = r2.height;
|
|
759
|
+
} else {
|
|
760
|
+
svgUrl = svgToDataUrl(svg);
|
|
761
|
+
({ width, height } = svgNaturalSize(svg));
|
|
762
|
+
}
|
|
575
763
|
} catch (e2) {
|
|
576
764
|
opts.onWarn?.("snapshot-serialize", e2 instanceof Error ? e2.message : String(e2));
|
|
577
765
|
return null;
|
|
578
766
|
}
|
|
579
|
-
const { width, height } = svgNaturalSize(svg);
|
|
580
767
|
try {
|
|
581
768
|
const png = await rasterizeSvgToPngDataUrl(svgUrl, width, height, opts);
|
|
582
769
|
return png || svgUrl;
|
|
@@ -950,6 +1137,10 @@ function qualifyFailureFallsOpen(viaGenerate) {
|
|
|
950
1137
|
}
|
|
951
1138
|
|
|
952
1139
|
// src/qualifyFilter.ts
|
|
1140
|
+
var DEFAULT_FILTER_MATCH_STYLE = "loose";
|
|
1141
|
+
function filterMatchStyleOf(raw) {
|
|
1142
|
+
return typeof raw === "string" && raw.trim().toLowerCase() === "exact" ? "exact" : DEFAULT_FILTER_MATCH_STYLE;
|
|
1143
|
+
}
|
|
953
1144
|
function normalizeFilterTerm(raw) {
|
|
954
1145
|
if (typeof raw !== "string" || raw === "") return "";
|
|
955
1146
|
return raw.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/\s+/g, " ").trim();
|
|
@@ -964,10 +1155,34 @@ function startsAWord(name2, t2) {
|
|
|
964
1155
|
}
|
|
965
1156
|
return false;
|
|
966
1157
|
}
|
|
967
|
-
function
|
|
1158
|
+
function looseFormWithWordStarts(name2) {
|
|
1159
|
+
let form = "";
|
|
1160
|
+
const starts = /* @__PURE__ */ new Set();
|
|
1161
|
+
let prevAlnum = false;
|
|
1162
|
+
for (const ch of name2) {
|
|
1163
|
+
const piece = l(ch);
|
|
1164
|
+
const code = ch.charCodeAt(0);
|
|
1165
|
+
const alnum = code >= 97 && code <= 122 || code >= 48 && code <= 57;
|
|
1166
|
+
if (piece) {
|
|
1167
|
+
if (!prevAlnum) starts.add(form.length);
|
|
1168
|
+
form += piece;
|
|
1169
|
+
}
|
|
1170
|
+
prevAlnum = alnum;
|
|
1171
|
+
}
|
|
1172
|
+
return { form, starts };
|
|
1173
|
+
}
|
|
1174
|
+
function startsALooseWord(loose, t2) {
|
|
1175
|
+
for (let i2 = loose.form.indexOf(t2); i2 >= 0; i2 = loose.form.indexOf(t2, i2 + 1)) {
|
|
1176
|
+
if (loose.starts.has(i2)) return true;
|
|
1177
|
+
}
|
|
1178
|
+
return false;
|
|
1179
|
+
}
|
|
1180
|
+
function filterQualifyRows(rows, term, read, style = DEFAULT_FILTER_MATCH_STYLE) {
|
|
968
1181
|
const all = Array.isArray(rows) ? rows.slice() : [];
|
|
969
1182
|
const t2 = normalizeFilterTerm(term);
|
|
970
1183
|
if (t2.length < FILTER_MIN_TERM_CHARS) return { rows: all, tier: "all", term: "" };
|
|
1184
|
+
const lt2 = style === "loose" ? l(t2) : "";
|
|
1185
|
+
const loose = lt2.length >= FILTER_MIN_TERM_CHARS ? lt2 : "";
|
|
971
1186
|
const atWordStart = [];
|
|
972
1187
|
const midWord = [];
|
|
973
1188
|
const byDesc = [];
|
|
@@ -979,7 +1194,12 @@ function filterQualifyRows(rows, term, read) {
|
|
|
979
1194
|
(startsAWord(name2, t2) ? atWordStart : midWord).push(row);
|
|
980
1195
|
continue;
|
|
981
1196
|
}
|
|
982
|
-
if (
|
|
1197
|
+
if (loose && startsALooseWord(looseFormWithWordStarts(name2), loose)) {
|
|
1198
|
+
atWordStart.push(row);
|
|
1199
|
+
continue;
|
|
1200
|
+
}
|
|
1201
|
+
const desc = normalizeFilterTerm(f2.description);
|
|
1202
|
+
if (desc.indexOf(t2) >= 0 || loose && startsALooseWord(looseFormWithWordStarts(desc), loose)) byDesc.push(row);
|
|
983
1203
|
}
|
|
984
1204
|
if (atWordStart.length > 0) return { rows: atWordStart, tier: "name", term: t2 };
|
|
985
1205
|
if (midWord.length > 0) return { rows: midWord, tier: "namePart", term: t2 };
|
|
@@ -1007,7 +1227,7 @@ function qualifyFilterGate(i2) {
|
|
|
1007
1227
|
if (!listNeedsFilter(i2.scrollHeight, i2.clientHeight)) return { show: false, why: "no-overflow" };
|
|
1008
1228
|
return { show: true, why: "shown" };
|
|
1009
1229
|
}
|
|
1010
|
-
function computeQualifyFilterView(groups, term) {
|
|
1230
|
+
function computeQualifyFilterView(groups, term, style = DEFAULT_FILTER_MATCH_STYLE) {
|
|
1011
1231
|
const g2 = Array.isArray(groups) ? groups : [];
|
|
1012
1232
|
const read = (r2) => ({ name: r2.name, description: r2.description });
|
|
1013
1233
|
const collect = (section) => {
|
|
@@ -1016,8 +1236,8 @@ function computeQualifyFilterView(groups, term) {
|
|
|
1016
1236
|
return out;
|
|
1017
1237
|
};
|
|
1018
1238
|
const fitRows = collect("fits");
|
|
1019
|
-
const fit = filterQualifyRows(fitRows, term, read);
|
|
1020
|
-
const ref = filterQualifyRows(collect("refused"), term, read);
|
|
1239
|
+
const fit = filterQualifyRows(fitRows, term, read, style);
|
|
1240
|
+
const ref = filterQualifyRows(collect("refused"), term, read, style);
|
|
1021
1241
|
const visible = /* @__PURE__ */ new Set();
|
|
1022
1242
|
for (const r2 of fit.rows) visible.add(r2.el);
|
|
1023
1243
|
for (const r2 of ref.rows) visible.add(r2.el);
|
|
@@ -1123,9 +1343,9 @@ function utcAnchor(p3) {
|
|
|
1123
1343
|
function localeDate(p3, wholeDay, culture) {
|
|
1124
1344
|
const anchor = utcAnchor(p3);
|
|
1125
1345
|
try {
|
|
1126
|
-
const
|
|
1127
|
-
if (!wholeDay)
|
|
1128
|
-
return new Intl.DateTimeFormat(culture || void 0,
|
|
1346
|
+
const o3 = { dateStyle: "medium", timeZone: "UTC" };
|
|
1347
|
+
if (!wholeDay) o3.timeStyle = p3.seconds || p3.ms ? "medium" : "short";
|
|
1348
|
+
return new Intl.DateTimeFormat(culture || void 0, o3).format(anchor);
|
|
1129
1349
|
} catch {
|
|
1130
1350
|
const iso = anchor.toISOString();
|
|
1131
1351
|
return wholeDay ? iso.slice(0, 10) : `${iso.slice(0, 10)} ${iso.slice(11, 19)}`;
|
|
@@ -1678,13 +1898,13 @@ function composeSummaryText(codeSummary, warningMsg) {
|
|
|
1678
1898
|
|
|
1679
1899
|
// ../../node_modules/colorsea/dist/index.esm.js
|
|
1680
1900
|
function t(t2, r2, n2, e2) {
|
|
1681
|
-
var
|
|
1901
|
+
var o3, i2 = arguments.length, a2 = i2 < 3 ? r2 : null === e2 ? e2 = Object.getOwnPropertyDescriptor(r2, n2) : e2;
|
|
1682
1902
|
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a2 = Reflect.decorate(t2, r2, n2, e2);
|
|
1683
|
-
else for (var u2 = t2.length - 1; u2 >= 0; u2--) (
|
|
1903
|
+
else for (var u2 = t2.length - 1; u2 >= 0; u2--) (o3 = t2[u2]) && (a2 = (i2 < 3 ? o3(a2) : i2 > 3 ? o3(r2, n2, a2) : o3(r2, n2)) || a2);
|
|
1684
1904
|
return i2 > 3 && a2 && Object.defineProperty(r2, n2, a2), a2;
|
|
1685
1905
|
}
|
|
1686
1906
|
function r(t2, r2, n2) {
|
|
1687
|
-
if (n2 || 2 === arguments.length) for (var e2,
|
|
1907
|
+
if (n2 || 2 === arguments.length) for (var e2, o3 = 0, i2 = r2.length; o3 < i2; o3++) !e2 && o3 in r2 || (e2 || (e2 = Array.prototype.slice.call(r2, 0, o3)), e2[o3] = r2[o3]);
|
|
1688
1908
|
return t2.concat(e2 || Array.prototype.slice.call(r2));
|
|
1689
1909
|
}
|
|
1690
1910
|
var n = function(t2, r2, n2) {
|
|
@@ -1697,7 +1917,7 @@ var e = function(t2, r2, n2) {
|
|
|
1697
1917
|
return 255 * (t3 <= 304e-5 ? 12.92 * t3 : 1.055 * Math.pow(t3, 1 / 2.4) - 0.055);
|
|
1698
1918
|
}));
|
|
1699
1919
|
};
|
|
1700
|
-
var
|
|
1920
|
+
var o2 = function(t2, r2, n2) {
|
|
1701
1921
|
return Math.min(Math.max(t2, r2), n2);
|
|
1702
1922
|
};
|
|
1703
1923
|
var i = function(t2, r2) {
|
|
@@ -1707,8 +1927,8 @@ var a = function(t2, r2) {
|
|
|
1707
1927
|
return Math.floor(Math.random() * (r2 - t2 + 1) - t2);
|
|
1708
1928
|
};
|
|
1709
1929
|
var u = function(t2, r2, n2, e2) {
|
|
1710
|
-
for (var i2, a2 = [t2, r2, n2], u2 = "#", h2 = 0; h2 < a2.length; h2++) u2 += (i2 = a2[h2], Math.round(
|
|
1711
|
-
return null != e2 && (u2 += Math.round(
|
|
1930
|
+
for (var i2, a2 = [t2, r2, n2], u2 = "#", h2 = 0; h2 < a2.length; h2++) u2 += (i2 = a2[h2], Math.round(o2(i2, 0, 255)).toString(16).padStart(2, "0"));
|
|
1931
|
+
return null != e2 && (u2 += Math.round(o2(e2, 0, 100) / 100 * 255).toString(16).padStart(2, "0")), u2;
|
|
1712
1932
|
};
|
|
1713
1933
|
var h = function(t2) {
|
|
1714
1934
|
var n2 = t2.length, e2 = (t2 = (function(t3) {
|
|
@@ -1717,42 +1937,42 @@ var h = function(t2) {
|
|
|
1717
1937
|
if (6 === r2 || 8 === r2) return t3;
|
|
1718
1938
|
if (3 === r2 || 4 === r2) {
|
|
1719
1939
|
for (var n3 = "", e3 = 0; e3 < r2; e3++) {
|
|
1720
|
-
var
|
|
1721
|
-
n3 += "" +
|
|
1940
|
+
var o4 = t3[e3];
|
|
1941
|
+
n3 += "" + o4 + o4;
|
|
1722
1942
|
}
|
|
1723
1943
|
return n3;
|
|
1724
1944
|
}
|
|
1725
1945
|
return "000000";
|
|
1726
1946
|
})(t2).padEnd(8, "ff")).match(/.{2}/g);
|
|
1727
1947
|
if (!e2) return [0, 0, 0, 1];
|
|
1728
|
-
var
|
|
1948
|
+
var o3 = [0, 0, 0], i2 = false;
|
|
1729
1949
|
return e2.forEach((function(t3, r2) {
|
|
1730
|
-
r2 < 3 ?
|
|
1731
|
-
})), false === i2 || n2 < 8 ?
|
|
1950
|
+
r2 < 3 ? o3[r2] = parseInt(t3, 16) : i2 = 100 * parseInt(t3, 16) / 255;
|
|
1951
|
+
})), false === i2 || n2 < 8 ? o3 : r(r([], o3, true), [i2], false);
|
|
1732
1952
|
};
|
|
1733
1953
|
var c = function(t2, r2, n2) {
|
|
1734
1954
|
var e2;
|
|
1735
1955
|
e2 = [t2, r2, n2].map((function(t3) {
|
|
1736
1956
|
return t3 / 255;
|
|
1737
1957
|
})), t2 = e2[0], r2 = e2[1], n2 = e2[2];
|
|
1738
|
-
var
|
|
1739
|
-
return [(1 - t2 -
|
|
1958
|
+
var o3 = 1 - Math.max(t2, r2, n2), i2 = o3 < 1 ? 1 / (1 - o3) : 0;
|
|
1959
|
+
return [(1 - t2 - o3) * i2 * 100, (1 - r2 - o3) * i2 * 100, (1 - n2 - o3) * i2 * 100, 100 * o3];
|
|
1740
1960
|
};
|
|
1741
|
-
var
|
|
1961
|
+
var l2 = function(t2, r2, n2, e2) {
|
|
1742
1962
|
return 100 === e2 ? [0, 0, 0] : (e2 /= 100, [t2, r2, n2].map((function(t3) {
|
|
1743
1963
|
return (t3 /= 100) >= 1 ? 0 : 255 * (1 - t3) * (1 - e2);
|
|
1744
1964
|
})));
|
|
1745
1965
|
};
|
|
1746
1966
|
function p(t2, r2, n2, e2) {
|
|
1747
|
-
var
|
|
1748
|
-
void 0 === e2 && (e2 = "l"),
|
|
1967
|
+
var o3;
|
|
1968
|
+
void 0 === e2 && (e2 = "l"), o3 = [t2, r2, n2].map((function(t3) {
|
|
1749
1969
|
return t3 / 255;
|
|
1750
|
-
})), t2 =
|
|
1970
|
+
})), t2 = o3[0], r2 = o3[1], n2 = o3[2];
|
|
1751
1971
|
var i2 = Math.max(t2, r2, n2), a2 = Math.min(t2, r2, n2), u2 = (function(t3, r3, n3, e3) {
|
|
1752
|
-
var
|
|
1753
|
-
void 0 === e3 && (e3 = false),
|
|
1972
|
+
var o4;
|
|
1973
|
+
void 0 === e3 && (e3 = false), o4 = [t3, r3, n3].map((function(t4) {
|
|
1754
1974
|
return t4 / 255;
|
|
1755
|
-
})), t3 =
|
|
1975
|
+
})), t3 = o4[0], r3 = o4[1], n3 = o4[2];
|
|
1756
1976
|
var i3 = Math.max(t3, r3, n3), a3 = Math.min(t3, r3, n3), u3 = 0;
|
|
1757
1977
|
if (i3 !== a3) if (e3) u3 = (t3 - r3 + (t3 - n3)) / 2, u3 /= Math.sqrt((t3 - r3) * (t3 - r3) + (t3 - n3) * (r3 - n3)), u3 = Math.acos(u3), n3 > r3 && (u3 = 2 * Math.PI - u3), u3 /= 2 * Math.PI;
|
|
1758
1978
|
else {
|
|
@@ -1761,8 +1981,8 @@ function p(t2, r2, n2, e2) {
|
|
|
1761
1981
|
}
|
|
1762
1982
|
else u3 = NaN;
|
|
1763
1983
|
return 360 * u3;
|
|
1764
|
-
})(t2, r2, n2, "i" === e2), h2 = 0, c2 = (i2 + a2) / 2,
|
|
1765
|
-
return "v" === e2 && (h2 = 0 === i2 ? 0 :
|
|
1984
|
+
})(t2, r2, n2, "i" === e2), h2 = 0, c2 = (i2 + a2) / 2, l3 = i2 - a2, p3 = i2, f2 = (t2 + r2 + n2) / 3;
|
|
1985
|
+
return "v" === e2 && (h2 = 0 === i2 ? 0 : l3 / i2), i2 !== a2 && "l" === e2 && (h2 = c2 > 0.5 ? l3 / (2 - i2 - a2) : l3 / (i2 + a2)), "i" === e2 && (h2 = f2 > 0 ? 1 - a2 / f2 : 0), h2 *= 100, c2 *= 100, f2 *= 100, "l" === e2 ? [u2, h2, c2] : "v" === e2 ? [u2, h2, p3 *= 100] : [u2, h2, f2];
|
|
1766
1986
|
}
|
|
1767
1987
|
var f = function(t2, r2, n2) {
|
|
1768
1988
|
return p(t2, r2, n2, "l");
|
|
@@ -1771,13 +1991,13 @@ var s = function(t2, r2, n2) {
|
|
|
1771
1991
|
var e2, i2, a2 = function(t3) {
|
|
1772
1992
|
return 6 * (t3 = t3 < 0 ? t3 + 1 : t3 > 1 ? t3 - 1 : t3) < 1 ? e2 + (i2 - e2) * t3 * 6 : 2 * t3 < 1 ? i2 : 3 * t3 < 2 ? e2 + (i2 - e2) * (2 / 3 - t3) * 6 : e2;
|
|
1773
1993
|
};
|
|
1774
|
-
return t2 = t2 % 360 / 360, r2 =
|
|
1994
|
+
return t2 = t2 % 360 / 360, r2 = o2(r2 / 100, 0, 1), n2 = o2(n2 / 100, 0, 1), e2 = 2 * n2 - (i2 = n2 <= 0.5 ? n2 * (r2 + 1) : n2 + r2 - n2 * r2), [255 * a2(t2 + 1 / 3), 255 * a2(t2), 255 * a2(t2 - 1 / 3)];
|
|
1775
1995
|
};
|
|
1776
1996
|
var v = function(t2, r2, n2) {
|
|
1777
1997
|
return p(t2, r2, n2, "v");
|
|
1778
1998
|
};
|
|
1779
1999
|
var b = function(t2, r2, n2) {
|
|
1780
|
-
var e2,
|
|
2000
|
+
var e2, o3, i2 = [n2 /= 100, n2 * (1 - (r2 /= 100)), n2 * (1 - (o3 = (t2 = t2 % 360 / 360 * 360) / 60 - (e2 = Math.floor(t2 / 60 % 6))) * r2), n2 * (1 - (1 - o3) * r2)], a2 = [[0, 3, 1], [2, 0, 1], [1, 0, 3], [1, 2, 0], [3, 1, 0], [0, 1, 2]];
|
|
1781
2001
|
return [255 * i2[a2[e2][0]], 255 * i2[a2[e2][1]], 255 * i2[a2[e2][2]]];
|
|
1782
2002
|
};
|
|
1783
2003
|
var y = function(t2, r2, n2) {
|
|
@@ -1790,7 +2010,7 @@ var d = function(t2, r2, n2) {
|
|
|
1790
2010
|
return (1 + r2 * Math.cos(2 * Math.PI * t3) / Math.cos(Math.PI / 3 - 2 * Math.PI * t3)) / 3;
|
|
1791
2011
|
};
|
|
1792
2012
|
return (t2 = (360 + t2) % 360 / 360) < 1 / 3 ? a2 = 1 - ((u2 = (1 - r2) / 3) + (i2 = h2(t2))) : t2 < 2 / 3 ? u2 = 1 - ((i2 = (1 - r2) / 3) + (a2 = h2(t2 -= 1 / 3))) : i2 = 1 - ((a2 = (1 - r2) / 3) + (u2 = h2(t2 -= 2 / 3))), e2 = [i2, a2, u2].map((function(t3) {
|
|
1793
|
-
return 255 *
|
|
2013
|
+
return 255 * o2(n2 * t3 * 3, 0, 1);
|
|
1794
2014
|
})), [i2 = e2[0], a2 = e2[1], u2 = e2[2]];
|
|
1795
2015
|
};
|
|
1796
2016
|
var g = function(t2, r2, n2) {
|
|
@@ -1810,22 +2030,22 @@ var I = 0.206896552;
|
|
|
1810
2030
|
var k = 8856452e-9;
|
|
1811
2031
|
var E = 24389 / 27;
|
|
1812
2032
|
var z = function(t2, r2, e2) {
|
|
1813
|
-
var
|
|
2033
|
+
var o3 = n(t2, r2, e2);
|
|
1814
2034
|
return [100 * m.x.reduce((function(t3, r3, n2) {
|
|
1815
|
-
return t3 + r3 *
|
|
2035
|
+
return t3 + r3 * o3[n2];
|
|
1816
2036
|
}), 0), 100 * m.y.reduce((function(t3, r3, n2) {
|
|
1817
|
-
return t3 + r3 *
|
|
2037
|
+
return t3 + r3 * o3[n2];
|
|
1818
2038
|
}), 0), 100 * m.z.reduce((function(t3, r3, n2) {
|
|
1819
|
-
return t3 + r3 *
|
|
2039
|
+
return t3 + r3 * o3[n2];
|
|
1820
2040
|
}), 0)];
|
|
1821
2041
|
};
|
|
1822
2042
|
var N = function(t2, r2, n2) {
|
|
1823
|
-
var
|
|
1824
|
-
return t3 + r3 *
|
|
2043
|
+
var o3 = [t2, r2, n2], i2 = M.r.reduce((function(t3, r3, n3) {
|
|
2044
|
+
return t3 + r3 * o3[n3];
|
|
1825
2045
|
}), 0) / 100, a2 = M.g.reduce((function(t3, r3, n3) {
|
|
1826
|
-
return t3 + r3 *
|
|
2046
|
+
return t3 + r3 * o3[n3];
|
|
1827
2047
|
}), 0) / 100, u2 = M.b.reduce((function(t3, r3, n3) {
|
|
1828
|
-
return t3 + r3 *
|
|
2048
|
+
return t3 + r3 * o3[n3];
|
|
1829
2049
|
}), 0) / 100;
|
|
1830
2050
|
return e(i2, a2, u2);
|
|
1831
2051
|
};
|
|
@@ -1836,16 +2056,16 @@ var O = function(t2, r2, n2) {
|
|
|
1836
2056
|
})), t2 = e2[0], r2 = e2[1], n2 = e2[2], [Math.max(0, 116 * r2 - 16), 500 * (t2 - r2), 200 * (r2 - n2)];
|
|
1837
2057
|
};
|
|
1838
2058
|
var P = function(t2, r2, n2) {
|
|
1839
|
-
var e2,
|
|
1840
|
-
return e2 = [i2,
|
|
2059
|
+
var e2, o3 = (t2 + 16) / 116, i2 = isNaN(r2) ? o3 : o3 + r2 / 500, a2 = isNaN(n2) ? o3 : o3 - n2 / 200;
|
|
2060
|
+
return e2 = [i2, o3, a2].map((function(t3) {
|
|
1841
2061
|
return t3 > I ? Math.pow(t3, 3) : (116 * t3 - 16) / E;
|
|
1842
|
-
})), i2 = e2[0],
|
|
2062
|
+
})), i2 = e2[0], o3 = e2[1], a2 = e2[2], [i2 * x * 100, o3 * _ * 100, a2 * C * 100];
|
|
1843
2063
|
};
|
|
1844
2064
|
var j = function(t2, r2, n2) {
|
|
1845
2065
|
return N.apply(void 0, P(t2, r2, n2));
|
|
1846
2066
|
};
|
|
1847
2067
|
var S = function(t2, r2, n2) {
|
|
1848
|
-
r2 =
|
|
2068
|
+
r2 = o2(r2, -100, 100), n2 = o2(n2, -100, 100);
|
|
1849
2069
|
var e2 = Math.sqrt(r2 * r2 + n2 * n2), i2 = (180 * Math.atan2(n2, r2) / Math.PI + 360) % 360;
|
|
1850
2070
|
return 0 === Math.round(1e4 * e2) && (i2 = Number.NaN), [t2, e2, i2];
|
|
1851
2071
|
};
|
|
@@ -1856,10 +2076,10 @@ var L2 = function(t2, r2, n2) {
|
|
|
1856
2076
|
return P.apply(void 0, A(t2, r2, n2));
|
|
1857
2077
|
};
|
|
1858
2078
|
var H = function(t2, r2, n2) {
|
|
1859
|
-
var e2 = t2 + r2 + n2,
|
|
1860
|
-
return e2 > 0 && (
|
|
2079
|
+
var e2 = t2 + r2 + n2, o3 = 0, i2 = 0;
|
|
2080
|
+
return e2 > 0 && (o3 = t2 / e2, i2 = r2 / e2), [o3, i2, r2];
|
|
1861
2081
|
};
|
|
1862
|
-
var Y = Object.freeze({ __proto__: null, linear2rgb: e, rgb2linear: n, rgb2hex: u, hex2rgb: h, rgb2cmyk: c, cmyk2rgb:
|
|
2082
|
+
var Y = Object.freeze({ __proto__: null, linear2rgb: e, rgb2linear: n, rgb2hex: u, hex2rgb: h, rgb2cmyk: c, cmyk2rgb: l2, rgb2hsl: f, hsl2rgb: s, rgb2hsv: v, hsv2rgb: b, rgb2hsi: y, hsi2rgb: d, rgb2hwb: g, hwb2rgb: w, rgb2xyz: z, xyz2rgb: N, xyz2lab: O, lab2xyz: P, rgb2lab: function(t2, r2, n2) {
|
|
1863
2083
|
return O.apply(void 0, z(t2, r2, n2));
|
|
1864
2084
|
}, lab2rgb: j, lch2lab: A, lab2lch: S, xyz2lch: function(t2, r2, n2) {
|
|
1865
2085
|
return S.apply(void 0, O(t2, r2, n2));
|
|
@@ -1867,10 +2087,10 @@ var Y = Object.freeze({ __proto__: null, linear2rgb: e, rgb2linear: n, rgb2hex:
|
|
|
1867
2087
|
return 0 === r2 ? [0, 0, 0] : [t2 * (n2 / r2), n2, n2 / r2 * (1 - t2 - r2)];
|
|
1868
2088
|
}, xyz2xyY: H });
|
|
1869
2089
|
function R(t2, n2) {
|
|
1870
|
-
return void 0 === n2 && (n2 = false), function(e2,
|
|
2090
|
+
return void 0 === n2 && (n2 = false), function(e2, o3, i2) {
|
|
1871
2091
|
var a2 = i2.value;
|
|
1872
2092
|
i2.value = function() {
|
|
1873
|
-
for (var e3 = [],
|
|
2093
|
+
for (var e3 = [], o4 = 0; o4 < arguments.length; o4++) e3[o4] = arguments[o4];
|
|
1874
2094
|
if (e3.length > 0 && n2) {
|
|
1875
2095
|
var i3 = JSON.stringify(e3);
|
|
1876
2096
|
t2 += i3;
|
|
@@ -1881,24 +2101,24 @@ function R(t2, n2) {
|
|
|
1881
2101
|
};
|
|
1882
2102
|
};
|
|
1883
2103
|
}
|
|
1884
|
-
function q(t2, n2, e2,
|
|
1885
|
-
return void 0 === t2 && (t2 = [0, 2, 2]), void 0 === n2 && (n2 = 0), void 0 === e2 && (e2 = true), void 0 ===
|
|
2104
|
+
function q(t2, n2, e2, o3) {
|
|
2105
|
+
return void 0 === t2 && (t2 = [0, 2, 2]), void 0 === n2 && (n2 = 0), void 0 === e2 && (e2 = true), void 0 === o3 && (o3 = 0), function(a2, u2, h2) {
|
|
1886
2106
|
var c2 = h2.value;
|
|
1887
2107
|
h2.value = function() {
|
|
1888
2108
|
for (var a3 = [], u3 = 0; u3 < arguments.length; u3++) a3[u3] = arguments[u3];
|
|
1889
|
-
var h3 = void 0 === a3[
|
|
1890
|
-
if (false === h3) return
|
|
1891
|
-
var p3 = "number" == typeof h3 ? Math.round(h3) : 0, f2 = "number" == typeof t2 ? new Array(
|
|
2109
|
+
var h3 = void 0 === a3[o3] ? e2 : a3[o3], l3 = c2.call.apply(c2, r([this], a3, false));
|
|
2110
|
+
if (false === h3) return l3;
|
|
2111
|
+
var p3 = "number" == typeof h3 ? Math.round(h3) : 0, f2 = "number" == typeof t2 ? new Array(l3.length).fill(t2) : t2, s2 = f2.map((function(t3) {
|
|
1892
2112
|
return 1 === n2 ? "number" == typeof h3 ? p3 : t3 : t3 + p3;
|
|
1893
2113
|
}));
|
|
1894
|
-
return
|
|
2114
|
+
return l3.map((function(t3, r2) {
|
|
1895
2115
|
return i(t3, s2[r2]);
|
|
1896
2116
|
}));
|
|
1897
2117
|
};
|
|
1898
2118
|
};
|
|
1899
2119
|
}
|
|
1900
2120
|
var D = function(t2, r2, n2) {
|
|
1901
|
-
var e2 = t2 instanceof ft ? t2 : new ft(t2), i2 = r2 instanceof ft ? r2 : new ft(r2), a2 =
|
|
2121
|
+
var e2 = t2 instanceof ft ? t2 : new ft(t2), i2 = r2 instanceof ft ? r2 : new ft(r2), a2 = o2(n2, 0, 100) / 100, u2 = 2 * a2 - 1, h2 = e2.alpha() - i2.alpha(), c2 = ((u2 * h2 == -1 ? u2 : (u2 + h2) / (1 + u2 * h2)) + 1) / 2, l3 = 1 - c2, p3 = [Math.round(o2(e2.red() * c2 + i2.red() * l3, 0, 255)), Math.round(o2(e2.green() * c2 + i2.green() * l3, 0, 255)), Math.round(o2(e2.blue() * c2 + i2.blue() * l3, 0, 255))], f2 = e2.alpha() * a2 + i2.alpha() * (1 - a2);
|
|
1902
2122
|
return new ft(p3, f2);
|
|
1903
2123
|
};
|
|
1904
2124
|
var F = Math.sqrt;
|
|
@@ -1919,8 +2139,8 @@ var T = function(t2, r2, n2) {
|
|
|
1919
2139
|
};
|
|
1920
2140
|
var V = function(t2, r2) {
|
|
1921
2141
|
void 0 === r2 && (r2 = true);
|
|
1922
|
-
var n2 = t2.lab(false), e2 = n2[0],
|
|
1923
|
-
return [e2, F(U(
|
|
2142
|
+
var n2 = t2.lab(false), e2 = n2[0], o3 = n2[1], i2 = n2[2];
|
|
2143
|
+
return [e2, F(U(o3, 2) + U(i2, 2)), T(o3, i2, r2), o3, i2];
|
|
1924
2144
|
};
|
|
1925
2145
|
var W = ["CMC", "CIE", "CIE2000", "CIE1994", "CIE1976"];
|
|
1926
2146
|
var X = "CMC";
|
|
@@ -1929,48 +2149,48 @@ var rt = "CIE1994";
|
|
|
1929
2149
|
var nt = "CIE1976";
|
|
1930
2150
|
var et = function(t2, r2, n2, e2) {
|
|
1931
2151
|
void 0 === n2 && (n2 = "CIE");
|
|
1932
|
-
var
|
|
2152
|
+
var o3 = (function(t3) {
|
|
1933
2153
|
var r3 = t3.toUpperCase();
|
|
1934
2154
|
return W.includes(r3) && "CIE" !== r3 ? r3 : tt;
|
|
1935
2155
|
})(n2);
|
|
1936
|
-
if (e2 = e2 || {},
|
|
2156
|
+
if (e2 = e2 || {}, o3 === X) {
|
|
1937
2157
|
var i2 = Object.assign({}, { l: 1, c: 1 }, e2);
|
|
1938
2158
|
return (function(t3, r3, n3, e3) {
|
|
1939
2159
|
void 0 === n3 && (n3 = 1), void 0 === e3 && (e3 = 1);
|
|
1940
|
-
var
|
|
2160
|
+
var o4 = V(t3, true), i3 = o4[0], a3 = o4[1], u3 = o4[2], h3 = o4[3], c3 = o4[4], l3 = V(r3), p3 = l3[0], f2 = l3[1], s2 = l3[3], v2 = a3 - f2, b2 = i3 - p3, y2 = c3 - l3[4], d2 = F(U(h3 - s2, 2) + U(y2, 2) - U(v2, 2)), g2 = i3 < 16 ? 0.511 : 0.040975 * i3 / (1 + 0.01765 * i3), w2 = 0.0638 * a3 / (1 + 0.0131 * a3) + 0.638, m2 = 164 <= u3 && u3 <= 345 ? 0.56 + J(0.2 * $(Q(u3 + 168))) : 0.36 + J(0.4 * $(Q(u3 + 35))), M2 = F(U(a3, 4) / (U(a3, 4) + 1900)), x2 = w2 * (M2 * m2 + 1 - M2);
|
|
1941
2161
|
return F(U(b2 / (n3 * g2), 2) + U(v2 / (e3 * w2), 2) + U(d2 / x2, 2));
|
|
1942
2162
|
})(t2, r2, i2.l, i2.c);
|
|
1943
2163
|
}
|
|
1944
|
-
if (
|
|
2164
|
+
if (o3 === rt) {
|
|
1945
2165
|
var a2 = { kL: 1, kC: 1, kH: 1, cate: "graphic" }, u2 = Object.assign({}, a2, e2);
|
|
1946
|
-
return (function(t3, r3, n3, e3,
|
|
1947
|
-
void 0 === n3 && (n3 = 1), void 0 === e3 && (e3 = 1), void 0 ===
|
|
2166
|
+
return (function(t3, r3, n3, e3, o4, i3) {
|
|
2167
|
+
void 0 === n3 && (n3 = 1), void 0 === e3 && (e3 = 1), void 0 === o4 && (o4 = 1), void 0 === i3 && (i3 = "graphic");
|
|
1948
2168
|
var a3 = "textiles" === i3 ? 0.048 : 0.045, u3 = "textiles" === i3 ? 0.014 : 0.015;
|
|
1949
2169
|
n3 = "textiles" === i3 ? 2 : n3;
|
|
1950
|
-
var h3 = V(t3), c3 = h3[0],
|
|
1951
|
-
return F(U(d2 / (1 * n3), 2) + U(g2 / (e3 * m2), 2) + U(x2 / (
|
|
2170
|
+
var h3 = V(t3), c3 = h3[0], l3 = h3[1], p3 = h3[3], f2 = h3[4], s2 = V(r3), v2 = s2[0], b2 = s2[1], y2 = s2[3], d2 = c3 - v2, g2 = l3 - b2, w2 = f2 - s2[4], m2 = 1 + a3 * l3, M2 = 1 + u3 * l3, x2 = F(U(p3 - y2, 2) + U(w2, 2) - U(g2, 2));
|
|
2171
|
+
return F(U(d2 / (1 * n3), 2) + U(g2 / (e3 * m2), 2) + U(x2 / (o4 * M2), 2));
|
|
1952
2172
|
})(t2, r2, u2.kL, u2.kC, u2.kH, u2.cate);
|
|
1953
2173
|
}
|
|
1954
|
-
if (
|
|
1955
|
-
var n3 = t3.lab(false), e3 = n3[0],
|
|
1956
|
-
return F(U(e3 - u3, 2) + U(
|
|
2174
|
+
if (o3 === nt) return (function(t3, r3) {
|
|
2175
|
+
var n3 = t3.lab(false), e3 = n3[0], o4 = n3[1], i3 = n3[2], a3 = r3.lab(false), u3 = a3[0], h3 = a3[1], c3 = a3[2];
|
|
2176
|
+
return F(U(e3 - u3, 2) + U(o4 - h3, 2) + U(i3 - c3, 2));
|
|
1957
2177
|
})(t2, r2);
|
|
1958
2178
|
var h2 = { kL: 1, kC: 1, kH: 1 }, c2 = Object.assign({}, h2, e2);
|
|
1959
|
-
return (function(t3, r3, n3, e3,
|
|
1960
|
-
void 0 === n3 && (n3 = 1), void 0 === e3 && (e3 = 1), void 0 ===
|
|
1961
|
-
var i3 = V(t3), a3 = i3[0], u3 = i3[1], h3 = i3[3], c3 = i3[4],
|
|
1962
|
-
return F(U(z2 / (n3 * P2), 2) + U(N2 / (e3 * j2), 2) + U(O2 / (
|
|
2179
|
+
return (function(t3, r3, n3, e3, o4) {
|
|
2180
|
+
void 0 === n3 && (n3 = 1), void 0 === e3 && (e3 = 1), void 0 === o4 && (o4 = 1);
|
|
2181
|
+
var i3 = V(t3), a3 = i3[0], u3 = i3[1], h3 = i3[3], c3 = i3[4], l3 = V(r3), p3 = l3[0], f2 = l3[1], s2 = l3[3], v2 = l3[4], b2 = (a3 + p3) / 2, y2 = (u3 + f2) / 2, d2 = (1 - F(U(y2, 7) / (U(y2, 7) + U(25, 7)))) / 2, g2 = h3 * (1 + d2), w2 = s2 * (1 + d2), m2 = F(U(g2, 2) + U(c3, 2)), M2 = F(U(w2, 2) + U(v2, 2)), x2 = T(g2, c3, true), _2 = T(w2, v2, true), C2 = (m2 + M2) / 2, I2 = J(x2 - _2) > 180 ? (x2 + _2 + 360) / 2 : (x2 + _2) / 2, k2 = 1 - 0.17 * $(Q(I2 - 30)) + 0.24 * $(Q(2 * I2)) + 0.32 * $(Q(3 * I2 + 6)) - 0.2 * $(Q(4 * I2 - 63)), E2 = J(_2 - x2) <= 180 ? _2 - x2 : J(_2 - x2) > 180 && _2 <= x2 ? _2 - x2 + 360 : _2 - x2 - 360, z2 = p3 - a3, N2 = f2 - u3, O2 = 2 * F(m2 * M2) * Z(Q(E2) / 2), P2 = 1 + 0.015 * U(b2 - 50, 2) / F(20 + U(b2 - 50, 2)), j2 = 1 + 0.045 * C2, S2 = 1 + 0.015 * C2 * k2, A2 = 30 * B(-U((I2 - 275) / 25, 2)), L3 = -2 * F(U(C2, 7) / (U(C2, 7) + U(25, 7))) * Z(2 * Q(A2));
|
|
2182
|
+
return F(U(z2 / (n3 * P2), 2) + U(N2 / (e3 * j2), 2) + U(O2 / (o4 * S2), 2) + L3 * (N2 / (e3 * j2)) * (O2 / (o4 * S2)));
|
|
1963
2183
|
})(t2, r2, c2.kL, c2.kC, c2.kH);
|
|
1964
2184
|
};
|
|
1965
2185
|
var ot = function(t2, r2, n2) {
|
|
1966
|
-
var e2 = Math.abs,
|
|
1967
|
-
return !(e2(255 * a2.brightness() / 100 - 255 * u2.brightness() / 100) <= h2.b) && !(
|
|
2186
|
+
var e2 = Math.abs, o3 = Math.max, i2 = Math.min, a2 = t2 instanceof ft ? t2 : new ft(t2), u2 = r2 instanceof ft ? r2 : new ft(r2), h2 = Object.assign({}, { b: 125, c: 500 }, n2);
|
|
2187
|
+
return !(e2(255 * a2.brightness() / 100 - 255 * u2.brightness() / 100) <= h2.b) && !(o3(a2.red(), u2.red()) - i2(a2.red(), u2.red()) + (o3(a2.green(), u2.green()) - i2(a2.green(), u2.green())) + (o3(a2.blue(), u2.blue()) - i2(a2.blue(), u2.blue())) <= h2.c);
|
|
1968
2188
|
};
|
|
1969
2189
|
var it = function(t2, r2, n2) {
|
|
1970
2190
|
var e2, i2 = function(t3) {
|
|
1971
|
-
return
|
|
2191
|
+
return o2(t3, 0, 100);
|
|
1972
2192
|
}, a2 = function(t3) {
|
|
1973
|
-
return
|
|
2193
|
+
return o2(t3, 0, 255);
|
|
1974
2194
|
}, u2 = { h: [0, function(t3) {
|
|
1975
2195
|
return t3 % 360;
|
|
1976
2196
|
}], s: [1, i2], l: [2, i2], r: [0, a2], g: [1, a2], b: [2, a2] }, h2 = u2[r2][0];
|
|
@@ -1995,10 +2215,10 @@ var lt = function(t2, r2) {
|
|
|
1995
2215
|
var n2 = "string" == typeof t2 ? t2 : t2.join(",");
|
|
1996
2216
|
if (r2.has(n2)) throw new Error("Invalid Color");
|
|
1997
2217
|
r2.add(n2);
|
|
1998
|
-
var e2 = "rgb",
|
|
2218
|
+
var e2 = "rgb", o3 = [0, 0, 0], i2 = 100;
|
|
1999
2219
|
if (Array.isArray(t2)) {
|
|
2000
2220
|
if (t2.length < 3) throw new Error("Invalid Color");
|
|
2001
|
-
for (var a2 = 0; a2 < t2.length; a2++) if (a2 < 3)
|
|
2221
|
+
for (var a2 = 0; a2 < t2.length; a2++) if (a2 < 3) o3[a2] = t2[a2];
|
|
2002
2222
|
else {
|
|
2003
2223
|
if (3 !== a2 || void 0 === t2[3]) break;
|
|
2004
2224
|
i2 = t2[3];
|
|
@@ -2006,11 +2226,11 @@ var lt = function(t2, r2) {
|
|
|
2006
2226
|
} else {
|
|
2007
2227
|
var u2 = false, c2 = t2.trim().match(ht);
|
|
2008
2228
|
if (c2 || (u2 = true), c2) {
|
|
2009
|
-
var
|
|
2010
|
-
if (e2 =
|
|
2229
|
+
var l3 = c2[1].toLocaleLowerCase();
|
|
2230
|
+
if (e2 = l3, ut.has(l3) || (u2 = true), c2[2] && !u2) {
|
|
2011
2231
|
var p3 = c2[2], f2 = -1 !== p3.indexOf(",") ? "," : " ", s2 = p3.split(f2);
|
|
2012
|
-
for (a2 = 0; a2 < 3; a2++) void 0 !== s2[a2] && (["lch", "lab"].includes(e2) && 0 === a2 || ["hsl", "hsla", "hsv", "hsva", "hwb", "hwba", "hsi", "hsia"].includes(e2) && a2 > 0 ?
|
|
2013
|
-
["rgba", "hsla", "hsva", "hwba", "hsia"].includes(e2) ? (e2 = e2.slice(0, -1), void 0 !== s2[3] && (i2 = ct(s2[3]))) : "cmyk" === e2 &&
|
|
2232
|
+
for (a2 = 0; a2 < 3; a2++) void 0 !== s2[a2] && (["lch", "lab"].includes(e2) && 0 === a2 || ["hsl", "hsla", "hsv", "hsva", "hwb", "hwba", "hsi", "hsia"].includes(e2) && a2 > 0 ? o3[a2] = ct(s2[a2]) : o3[a2] = Number(s2[a2].trim()));
|
|
2233
|
+
["rgba", "hsla", "hsva", "hwba", "hsia"].includes(e2) ? (e2 = e2.slice(0, -1), void 0 !== s2[3] && (i2 = ct(s2[3]))) : "cmyk" === e2 && o3.push(void 0 !== s2[3] ? ct(s2[3]) : 0);
|
|
2014
2234
|
}
|
|
2015
2235
|
}
|
|
2016
2236
|
if (u2) {
|
|
@@ -2025,10 +2245,10 @@ var lt = function(t2, r2) {
|
|
|
2025
2245
|
} catch (t3) {
|
|
2026
2246
|
throw new Error("Invalid Color");
|
|
2027
2247
|
}
|
|
2028
|
-
|
|
2248
|
+
o3 = h(t2);
|
|
2029
2249
|
}
|
|
2030
2250
|
}
|
|
2031
|
-
return [e2,
|
|
2251
|
+
return [e2, o3, i2];
|
|
2032
2252
|
};
|
|
2033
2253
|
var pt = { thowParseError: false };
|
|
2034
2254
|
var ft = (function() {
|
|
@@ -2041,12 +2261,12 @@ var ft = (function() {
|
|
|
2041
2261
|
if ("rgb" === i3) return [a3, u3];
|
|
2042
2262
|
"lch" === i3 && (i3 = (r3 = ["xyz", L2(a3[0], a3[1], a3[2])])[0], a3 = r3[1]);
|
|
2043
2263
|
var h3 = a3[0], c2 = a3[1], p3 = a3[2], f2 = a3[3];
|
|
2044
|
-
if ("cmyk" === i3) return [
|
|
2045
|
-
return
|
|
2264
|
+
if ("cmyk" === i3) return [l2(h3, c2, p3, f2).map((function(t4) {
|
|
2265
|
+
return o2(t4, 0, 255);
|
|
2046
2266
|
})), u3];
|
|
2047
2267
|
var v2 = "".concat(i3, "2rgb");
|
|
2048
2268
|
if ("function" == typeof n4[v2]) return [n4[v2](h3, c2, p3).map((function(t4) {
|
|
2049
|
-
return
|
|
2269
|
+
return o2(t4, 0, 255);
|
|
2050
2270
|
})), u3];
|
|
2051
2271
|
throw new Error("Invalid color");
|
|
2052
2272
|
})(t2), u2 = a2[0], h2 = a2[1];
|
|
@@ -2054,7 +2274,7 @@ var ft = (function() {
|
|
|
2054
2274
|
} catch (t3) {
|
|
2055
2275
|
if (i2.thowParseError) throw t3;
|
|
2056
2276
|
}
|
|
2057
|
-
void 0 !== r2 && (this._alpha =
|
|
2277
|
+
void 0 !== r2 && (this._alpha = o2(r2, 0, 100));
|
|
2058
2278
|
}
|
|
2059
2279
|
return n2.prototype.red = function(t2) {
|
|
2060
2280
|
return it(this, "r", t2);
|
|
@@ -2063,11 +2283,11 @@ var ft = (function() {
|
|
|
2063
2283
|
}, n2.prototype.blue = function(t2) {
|
|
2064
2284
|
return it(this, "b", t2);
|
|
2065
2285
|
}, n2.prototype.alpha = function(t2) {
|
|
2066
|
-
return void 0 === t2 ? this._alpha : (t2 =
|
|
2286
|
+
return void 0 === t2 ? this._alpha : (t2 = o2(t2, 0, 100), new n2(this.rgb(), t2));
|
|
2067
2287
|
}, n2.prototype.fadeIn = function(t2, r2) {
|
|
2068
|
-
return void 0 === t2 && (t2 = 10), t2 = r2 && "relative" === r2 ? this._alpha * t2 / 100 : t2, new n2(this.rgb(),
|
|
2288
|
+
return void 0 === t2 && (t2 = 10), t2 = r2 && "relative" === r2 ? this._alpha * t2 / 100 : t2, new n2(this.rgb(), o2(this._alpha + t2, 0, 100));
|
|
2069
2289
|
}, n2.prototype.fadeOut = function(t2, r2) {
|
|
2070
|
-
return void 0 === t2 && (t2 = 10), t2 = r2 && "relative" === r2 ? this._alpha * t2 / 100 : t2, new n2(this.rgb(),
|
|
2290
|
+
return void 0 === t2 && (t2 = 10), t2 = r2 && "relative" === r2 ? this._alpha * t2 / 100 : t2, new n2(this.rgb(), o2(this._alpha - t2, 0, 100));
|
|
2071
2291
|
}, n2.prototype.opacify = function(t2, r2) {
|
|
2072
2292
|
return void 0 === t2 && (t2 = 10), this.fadeIn(t2, r2);
|
|
2073
2293
|
}, n2.prototype.transparentize = function(t2, r2) {
|
|
@@ -2106,23 +2326,23 @@ var ft = (function() {
|
|
|
2106
2326
|
void 0 === t2 && (t2 = 2);
|
|
2107
2327
|
var n3 = 0 === t2 ? void 0 : 1 === t2 ? this._alpha : 100 === this._alpha ? void 0 : this._alpha, e2 = "color:hex:param_".concat(t2);
|
|
2108
2328
|
if (this.cache.has(e2)) return this.cache.get(e2);
|
|
2109
|
-
var
|
|
2110
|
-
return this.cache.set(e2,
|
|
2329
|
+
var o3 = u.apply(void 0, r(r([], this._rgb, false), [n3], false));
|
|
2330
|
+
return this.cache.set(e2, o3), o3;
|
|
2111
2331
|
}, n2.prototype.lighten = function(t2, r2) {
|
|
2112
2332
|
void 0 === t2 && (t2 = 5);
|
|
2113
2333
|
var e2 = this.hsl(false), i2 = e2[0], a2 = e2[1], u2 = e2[2];
|
|
2114
|
-
return u2 =
|
|
2334
|
+
return u2 = o2(u2 += void 0 !== r2 && "relative" === r2 ? u2 * (t2 / 100) : t2, 0, 100), new n2(s(i2, a2, u2), this._alpha);
|
|
2115
2335
|
}, n2.prototype.darken = function(t2, r2) {
|
|
2116
2336
|
return void 0 === t2 && (t2 = 5), this.lighten(-t2, r2);
|
|
2117
2337
|
}, n2.prototype.saturate = function(t2, r2) {
|
|
2118
2338
|
void 0 === t2 && (t2 = 5);
|
|
2119
2339
|
var e2 = this.hsl(false), i2 = e2[0], a2 = e2[1], u2 = e2[2];
|
|
2120
|
-
return a2 =
|
|
2340
|
+
return a2 = o2(a2 += void 0 !== r2 && "relative" === r2 ? a2 * (t2 / 100) : t2, 0, 100), new n2(s(i2, a2, u2), this._alpha);
|
|
2121
2341
|
}, n2.prototype.desaturate = function(t2, r2) {
|
|
2122
2342
|
return void 0 === t2 && (t2 = 5), this.saturate(-t2, r2);
|
|
2123
2343
|
}, n2.prototype.spin = function(t2) {
|
|
2124
|
-
var r2 = this.hsl(false), e2 = r2[0],
|
|
2125
|
-
return new n2(s(e2 = (e2 + t2 % 360 + 360) % 360,
|
|
2344
|
+
var r2 = this.hsl(false), e2 = r2[0], o3 = r2[1], i2 = r2[2];
|
|
2345
|
+
return new n2(s(e2 = (e2 + t2 % 360 + 360) % 360, o3, i2), this._alpha);
|
|
2126
2346
|
}, n2.prototype.adjustHue = function(t2) {
|
|
2127
2347
|
return this.spin(t2);
|
|
2128
2348
|
}, n2.prototype.complement = function() {
|
|
@@ -2133,7 +2353,7 @@ var ft = (function() {
|
|
|
2133
2353
|
}));
|
|
2134
2354
|
return new n2([t2[0], t2[1], t2[2]], this._alpha);
|
|
2135
2355
|
}, n2.prototype.mix = function(t2, r2) {
|
|
2136
|
-
return void 0 === r2 && (r2 = 50), D(this, t2, 100 -
|
|
2356
|
+
return void 0 === r2 && (r2 = 50), D(this, t2, 100 - o2(r2, 0, 100));
|
|
2137
2357
|
}, n2.prototype.luma = function() {
|
|
2138
2358
|
var t2 = this._rgb.map((function(t3) {
|
|
2139
2359
|
return (t3 /= 255) <= 0.03928 ? t3 / 12.92 : Math.pow((t3 + 0.055) / 1.055, 2.4);
|
|
@@ -2187,7 +2407,7 @@ Mt.config = function(t2) {
|
|
|
2187
2407
|
if (void 0 !== r3 && "function" == typeof r3) {
|
|
2188
2408
|
var n2 = {};
|
|
2189
2409
|
for (var e2 in t3) {
|
|
2190
|
-
var
|
|
2410
|
+
var o3 = r3(e2, t3[e2]), i2 = o3[0], a2 = o3[1];
|
|
2191
2411
|
n2[i2] = a2;
|
|
2192
2412
|
}
|
|
2193
2413
|
Object.assign(at, n2);
|
|
@@ -2204,8 +2424,8 @@ function pickDistinctColorFromSeed(seedHex, existing, minDistance = MIN_DELTA_E,
|
|
|
2204
2424
|
const band = options.lightnessBand === void 0 ? LEGIBLE_LIGHTNESS : options.lightnessBand;
|
|
2205
2425
|
const legible = (c2) => {
|
|
2206
2426
|
if (!band) return true;
|
|
2207
|
-
const
|
|
2208
|
-
return
|
|
2427
|
+
const l3 = c2.hsl()[2];
|
|
2428
|
+
return l3 > band[0] && l3 < band[1];
|
|
2209
2429
|
};
|
|
2210
2430
|
const minDeltaE = (c2) => existingCs.length === 0 ? Number.POSITIVE_INFINITY : Math.min(...existingCs.map((c22) => c2.deltaE(c22, "CIE2000")));
|
|
2211
2431
|
if (minDeltaE(seed) >= minDistance) {
|
|
@@ -2323,10 +2543,10 @@ function normalise(seed) {
|
|
|
2323
2543
|
return typeof seed === "string" ? seed.trim() : "";
|
|
2324
2544
|
}
|
|
2325
2545
|
function sweepCandidates(seedHex) {
|
|
2326
|
-
const [h2, s2,
|
|
2546
|
+
const [h2, s2, l3] = Mt(seedHex).hsl();
|
|
2327
2547
|
const baseHue = Number.isFinite(h2) ? h2 : 210;
|
|
2328
2548
|
const baseSat = s2 < 25 ? 62 : Math.min(90, s2);
|
|
2329
|
-
const baseLight =
|
|
2549
|
+
const baseLight = l3 < 25 || l3 > 78 ? 52 : l3;
|
|
2330
2550
|
const out = [];
|
|
2331
2551
|
for (const dl of [0, -16, 16, -30, 30]) {
|
|
2332
2552
|
const li = Math.min(78, Math.max(26, baseLight + dl));
|
|
@@ -2351,18 +2571,18 @@ function pendingRecoveryNextDelayMs(elapsedMs) {
|
|
|
2351
2571
|
return PENDING_RECOVERY_SLOW_POLL_MS;
|
|
2352
2572
|
}
|
|
2353
2573
|
function encodePendingGenerate(m2) {
|
|
2354
|
-
const
|
|
2355
|
-
if (Number.isFinite(m2.h))
|
|
2356
|
-
return JSON.stringify(
|
|
2574
|
+
const o3 = { v: m2.v, t: m2.t, c: m2.c, p: m2.p ?? "" };
|
|
2575
|
+
if (Number.isFinite(m2.h)) o3.h = Math.max(0, Math.floor(m2.h));
|
|
2576
|
+
return JSON.stringify(o3);
|
|
2357
2577
|
}
|
|
2358
2578
|
function parsePendingGenerate(raw) {
|
|
2359
2579
|
if (typeof raw !== "string" || raw.trim() === "") return null;
|
|
2360
2580
|
try {
|
|
2361
|
-
const
|
|
2362
|
-
const v2 = Number(
|
|
2581
|
+
const o3 = JSON.parse(raw);
|
|
2582
|
+
const v2 = Number(o3?.v), t2 = Number(o3?.t);
|
|
2363
2583
|
if (!Number.isFinite(v2) || v2 <= 0 || !Number.isFinite(t2) || t2 <= 0) return null;
|
|
2364
|
-
const h2 = Number(
|
|
2365
|
-
const m2 = { v: Math.floor(v2), t: Math.floor(t2), c: typeof
|
|
2584
|
+
const h2 = Number(o3?.h);
|
|
2585
|
+
const m2 = { v: Math.floor(v2), t: Math.floor(t2), c: typeof o3.c === "string" ? o3.c : "", p: typeof o3.p === "string" ? o3.p : "" };
|
|
2366
2586
|
if (Number.isFinite(h2) && h2 >= 0) m2.h = Math.floor(h2);
|
|
2367
2587
|
return m2;
|
|
2368
2588
|
} catch {
|
|
@@ -2436,6 +2656,14 @@ function reconcileChartPick(pick, offered, autoLabel) {
|
|
|
2436
2656
|
if (names.length === 0) return { pick: want, dropped: false, message: "" };
|
|
2437
2657
|
const key = want.toLowerCase();
|
|
2438
2658
|
if (names.some((n2) => n2.toLowerCase() === key)) return { pick: want, dropped: false, message: "" };
|
|
2659
|
+
const loose = l(want);
|
|
2660
|
+
if (o(loose)) {
|
|
2661
|
+
const hits = new Set(names.filter((n2) => l(n2) === loose).map((n2) => n2.toLowerCase()));
|
|
2662
|
+
if (hits.size === 1) {
|
|
2663
|
+
const offeredName = names.find((n2) => l(n2) === loose);
|
|
2664
|
+
return { pick: offeredName, dropped: false, message: "" };
|
|
2665
|
+
}
|
|
2666
|
+
}
|
|
2439
2667
|
return {
|
|
2440
2668
|
pick: "",
|
|
2441
2669
|
dropped: true,
|
|
@@ -2545,7 +2773,7 @@ function fingerprintComponentDigest(components) {
|
|
|
2545
2773
|
|
|
2546
2774
|
// src/index.ts
|
|
2547
2775
|
function registerCityTable(packed) {
|
|
2548
|
-
|
|
2776
|
+
_3(packed);
|
|
2549
2777
|
}
|
|
2550
2778
|
export {
|
|
2551
2779
|
ACTIVE_TICK_CLASS,
|
|
@@ -2580,6 +2808,7 @@ export {
|
|
|
2580
2808
|
CONTROL_CLASS,
|
|
2581
2809
|
D3_PLUGIN_PACKAGES,
|
|
2582
2810
|
DARK_TEXT,
|
|
2811
|
+
DEFAULT_FILTER_MATCH_STYLE,
|
|
2583
2812
|
DEFAULT_MODEL_SUFFIX,
|
|
2584
2813
|
DIM_OPACITY_DEFAULT,
|
|
2585
2814
|
DIM_OPACITY_VAR,
|
|
@@ -2589,6 +2818,8 @@ export {
|
|
|
2589
2818
|
FILTER_MIN_WIDTH_PX,
|
|
2590
2819
|
FILTER_ROW_PX,
|
|
2591
2820
|
FIT_CONTENT_SELECTOR,
|
|
2821
|
+
FLIP_INTERVAL_MAX_MS,
|
|
2822
|
+
FLIP_INTERVAL_MIN_MS,
|
|
2592
2823
|
FLIP_MODE_DEFAULT,
|
|
2593
2824
|
GENERATION_CANCELLED_MESSAGE,
|
|
2594
2825
|
GEO_POINT_PRECISIONS,
|
|
@@ -2598,6 +2829,7 @@ export {
|
|
|
2598
2829
|
INLINE_FILTER_MIN_ROWS,
|
|
2599
2830
|
LABEL_CONTRAST_CAP,
|
|
2600
2831
|
LABEL_CONTRAST_DONE_ATTR,
|
|
2832
|
+
LABEL_PILL_CLASS,
|
|
2601
2833
|
LEGEND_MARK_CLASS,
|
|
2602
2834
|
LEGIBLE_LIGHTNESS,
|
|
2603
2835
|
LIFT_SELECTED_CLASS,
|
|
@@ -2614,6 +2846,7 @@ export {
|
|
|
2614
2846
|
MIN_DELTA_E,
|
|
2615
2847
|
MIN_HIT_BAND_PX,
|
|
2616
2848
|
MIN_RAMP_FILLS,
|
|
2849
|
+
NO_ROW_MARKS_ATTR,
|
|
2617
2850
|
OPTIONS_VOCABULARY,
|
|
2618
2851
|
PAGE_MATCH_TOLERANCE,
|
|
2619
2852
|
PENDING_RECOVERY_FAST_PHASE_MS,
|
|
@@ -2636,6 +2869,12 @@ export {
|
|
|
2636
2869
|
SEASONAL_MARKERS_DEFAULT,
|
|
2637
2870
|
SELECTION_ACTIVE_CLASS,
|
|
2638
2871
|
SELECTION_GLYPH_CLASS,
|
|
2872
|
+
SNAPSHOT_SVG_ATTR,
|
|
2873
|
+
STRADDLE_COLS,
|
|
2874
|
+
STRADDLE_MIN_SHARE,
|
|
2875
|
+
STRADDLE_PILL_ALPHA,
|
|
2876
|
+
STRADDLE_ROWS,
|
|
2877
|
+
STRADDLE_TARGET_CONTRAST,
|
|
2639
2878
|
TRANSPORT_LOST_CHECKING_MESSAGE,
|
|
2640
2879
|
VALUE_AXIS_BASELINE_DEFAULT,
|
|
2641
2880
|
VALUE_AXIS_MIN_FIT,
|
|
@@ -2667,6 +2906,7 @@ export {
|
|
|
2667
2906
|
censusMarks,
|
|
2668
2907
|
censusValuePlacement,
|
|
2669
2908
|
chartOwnsTimeline,
|
|
2909
|
+
chartSvgOf,
|
|
2670
2910
|
chooserFitsViewport,
|
|
2671
2911
|
clearGeoCache,
|
|
2672
2912
|
clearSelectionGlyphs,
|
|
@@ -2694,6 +2934,7 @@ export {
|
|
|
2694
2934
|
ensureCrossfilterHitTargets,
|
|
2695
2935
|
explainRenderFailure,
|
|
2696
2936
|
filterFitsChooser,
|
|
2937
|
+
filterMatchStyleOf,
|
|
2697
2938
|
filterQualifyRows,
|
|
2698
2939
|
fingerprintComponentDigest,
|
|
2699
2940
|
fitReadingFor,
|
|
@@ -2706,6 +2947,8 @@ export {
|
|
|
2706
2947
|
glyphSampleGrid,
|
|
2707
2948
|
hasRefusalsToShow,
|
|
2708
2949
|
hitBandFlag,
|
|
2950
|
+
htmlNaturalSize,
|
|
2951
|
+
htmlToSvgDataUrl,
|
|
2709
2952
|
inlineFilterGate,
|
|
2710
2953
|
invalidSentinelReason,
|
|
2711
2954
|
isBlankRender,
|
|
@@ -2730,6 +2973,7 @@ export {
|
|
|
2730
2973
|
markDefaultModel,
|
|
2731
2974
|
markerArmedBlind,
|
|
2732
2975
|
measureContainerBoxes,
|
|
2976
|
+
minContrastOver,
|
|
2733
2977
|
mountProductFeedbackBox,
|
|
2734
2978
|
needsScroll,
|
|
2735
2979
|
newQualifyGroupState,
|
|
@@ -2746,6 +2990,7 @@ export {
|
|
|
2746
2990
|
pendingRecoveryNextDelayMs,
|
|
2747
2991
|
pendingRecoveryRemainingMs,
|
|
2748
2992
|
periodTickSuppressesFeedback,
|
|
2993
|
+
pickColorOver,
|
|
2749
2994
|
pickDistinctColorFromSeed,
|
|
2750
2995
|
pillBacksGlyph,
|
|
2751
2996
|
pinScrolledAxis,
|
|
@@ -2790,12 +3035,15 @@ export {
|
|
|
2790
3035
|
shouldRestoreVersionAfterLicenseSave,
|
|
2791
3036
|
shouldReview,
|
|
2792
3037
|
stableFingerprintOptions,
|
|
3038
|
+
straddleSampleGrid,
|
|
3039
|
+
straddles,
|
|
2793
3040
|
stripEsmExports,
|
|
2794
3041
|
stripJsComments,
|
|
2795
3042
|
svgInkReach,
|
|
2796
3043
|
svgNaturalSize,
|
|
2797
3044
|
svgToDataUrl,
|
|
2798
3045
|
syncMemberSelection,
|
|
3046
|
+
tableHostOf,
|
|
2799
3047
|
toRGBA,
|
|
2800
3048
|
toSourceRows,
|
|
2801
3049
|
transportFailureShouldRecover,
|