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