@bicharts/chart-host 0.5.106 → 0.5.108

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/index.mjs CHANGED
@@ -30,20 +30,21 @@ import {
30
30
  DARK_TEXT,
31
31
  DIM_OPACITY_DEFAULT,
32
32
  DIM_OPACITY_VAR,
33
+ Ee,
33
34
  FIT_CONTENT_SELECTOR,
34
35
  FLIP_MODE_DEFAULT,
35
36
  GEO_POINT_PRECISIONS,
36
37
  GLYPH_SAMPLE_N,
37
38
  HOST_CONTAINER_CLASS,
38
39
  HOST_CONTRACT_VERSION,
39
- Kt,
40
+ Ie,
40
41
  L3,
41
42
  LABEL_CONTRAST_CAP,
42
43
  LABEL_CONTRAST_DONE_ATTR,
43
44
  LEGEND_MARK_CLASS,
44
45
  LIFT_SELECTED_CLASS,
45
46
  LIGHT_TEXT,
46
- Le,
47
+ M,
47
48
  MARK_CLASS,
48
49
  MARK_SELECTED_CLASS,
49
50
  MAX_FRAME_GROW_FACTOR,
@@ -51,13 +52,11 @@ import {
51
52
  MIN_CONTRAST,
52
53
  MIN_HIT_BAND_PX,
53
54
  MIN_RAMP_FILLS,
54
- Oe,
55
55
  PAGE_MATCH_TOLERANCE,
56
56
  PHANTOM_FRACTION,
57
57
  PILL_MIN_ALPHA,
58
58
  PILL_MIN_COVERAGE,
59
59
  PILL_OPAQUE_ALPHA,
60
- R,
61
60
  ROW_IDX_ATTR,
62
61
  SAME_SHADE_DELTA_E,
63
62
  SCROLL_SLACK_PX,
@@ -65,9 +64,11 @@ import {
65
64
  SELECTION_ACTIVE_CLASS,
66
65
  VALUE_AXIS_BASELINE_DEFAULT,
67
66
  VALUE_AXIS_MIN_FIT,
67
+ Vt,
68
68
  WHITE_TEXT_BG_LUM,
69
69
  XFILTER_REFRESH_EVENT,
70
70
  Yt,
71
+ a,
71
72
  applyLabelContrast,
72
73
  autoRampCanvas,
73
74
  autoRampMinStep,
@@ -100,8 +101,10 @@ import {
100
101
  geoFromCache,
101
102
  glyphSampleGrid,
102
103
  hitBandFlag,
104
+ invalidSentinelReason,
103
105
  isBlankRender,
104
106
  isHorizontalLabelRow,
107
+ isInvalidSentinelError,
105
108
  isPhantomBox,
106
109
  isPillBackdropAlpha,
107
110
  labelBand,
@@ -125,10 +128,9 @@ import {
125
128
  stripEsmExports,
126
129
  svgInkReach,
127
130
  toRGBA,
128
- u,
129
131
  unpinScrolledAxis,
130
132
  valuePlacementFlag
131
- } from "./chunk-HLNXXQA5.mjs";
133
+ } from "./chunk-RHBT4HTP.mjs";
132
134
  import "./chunk-A2GMXZP7.mjs";
133
135
  import "./chunk-GHODWOAL.mjs";
134
136
 
@@ -649,6 +651,140 @@ function askApplyImprovements(container, reason, opts = {}) {
649
651
  });
650
652
  }
651
653
 
654
+ // src/productFeedback.ts
655
+ var PRODUCT_FEEDBACK_MAX_CHARS = 2e3;
656
+ var PRODUCT_FEEDBACK_MIN_CHARS = 3;
657
+ function normaliseProductFeedbackText(raw, maxChars = PRODUCT_FEEDBACK_MAX_CHARS) {
658
+ const s2 = String(raw ?? "").replace(/\r\n?/g, "\n").replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g, "").split("\n").map((line) => line.replace(/[ \t]+$/, "")).join("\n").replace(/\n{3,}/g, "\n\n").trim();
659
+ return s2.length > maxChars ? s2.slice(0, maxChars).trimEnd() : s2;
660
+ }
661
+ function productFeedbackSendable(raw, maxChars = PRODUCT_FEEDBACK_MAX_CHARS) {
662
+ return normaliseProductFeedbackText(raw, maxChars).length >= PRODUCT_FEEDBACK_MIN_CHARS;
663
+ }
664
+ function buildProductFeedbackPayload(input) {
665
+ const id = input.identity ?? {};
666
+ return {
667
+ text: normaliseProductFeedbackText(input.text),
668
+ host: input.host,
669
+ surface: input.surface || "landing",
670
+ clientVersion: input.clientVersion || "",
671
+ correlationId: input.correlationId || "",
672
+ clientId: id.clientId || "",
673
+ licenseKey: id.licenseKey || "",
674
+ licensee: id.licensee || "",
675
+ secretKey: id.secretKey || "",
676
+ freemiumKey: id.freemiumKey || "",
677
+ linkNonce: id.linkNonce || "",
678
+ instanceKey: id.instanceKey || ""
679
+ };
680
+ }
681
+ var DEFAULT_TEXT2 = {
682
+ label: "Your suggestions",
683
+ placeholder: "An idea, a missing chart, or something that got in your way",
684
+ hint: "Sent to our team. It is never used to draw a chart.",
685
+ send: "Send",
686
+ sending: "Sending...",
687
+ sent: "Thank you - your suggestion was sent.",
688
+ failed: "Your suggestion could not be sent. It is still in the box - please try again."
689
+ };
690
+ function mountProductFeedbackBox(container, opts) {
691
+ const doc = container.ownerDocument ?? document;
692
+ const text = { ...DEFAULT_TEXT2, ...opts.text ?? {} };
693
+ const maxChars = Math.max(PRODUCT_FEEDBACK_MIN_CHARS, Math.floor(opts.maxChars ?? PRODUCT_FEEDBACK_MAX_CHARS));
694
+ const wrap = doc.createElement("div");
695
+ wrap.className = "bic-product-feedback" + (opts.className ? " " + opts.className : "");
696
+ const inputId = "bic-product-feedback-" + ++mounted;
697
+ const label = doc.createElement("label");
698
+ label.className = "bic-product-feedback-label";
699
+ label.htmlFor = inputId;
700
+ label.textContent = text.label;
701
+ const input = doc.createElement("textarea");
702
+ input.className = "bic-product-feedback-input";
703
+ input.id = inputId;
704
+ input.rows = 2;
705
+ input.maxLength = maxChars;
706
+ input.placeholder = text.placeholder;
707
+ input.setAttribute("aria-describedby", inputId + "-hint");
708
+ const hint = doc.createElement("div");
709
+ hint.className = "bic-product-feedback-hint";
710
+ hint.id = inputId + "-hint";
711
+ hint.textContent = text.hint;
712
+ const row = doc.createElement("div");
713
+ row.className = "bic-product-feedback-row";
714
+ const button = doc.createElement("button");
715
+ button.type = "button";
716
+ button.className = "bic-product-feedback-send";
717
+ button.textContent = text.send;
718
+ const status = doc.createElement("span");
719
+ status.className = "bic-product-feedback-status";
720
+ status.setAttribute("role", "status");
721
+ status.setAttribute("aria-live", "polite");
722
+ row.append(button, status);
723
+ wrap.append(label, input, hint, row);
724
+ container.appendChild(wrap);
725
+ let sending = false;
726
+ const sync = () => {
727
+ button.disabled = sending || !productFeedbackSendable(input.value, maxChars);
728
+ };
729
+ const onInput = () => {
730
+ if (!sending && status.textContent) {
731
+ status.textContent = "";
732
+ status.removeAttribute("data-state");
733
+ }
734
+ sync();
735
+ };
736
+ const onClick = async () => {
737
+ if (sending || !productFeedbackSendable(input.value, maxChars)) return;
738
+ const message = normaliseProductFeedbackText(input.value, maxChars);
739
+ sending = true;
740
+ sync();
741
+ button.textContent = text.sending;
742
+ status.textContent = "";
743
+ status.removeAttribute("data-state");
744
+ let result;
745
+ let failure = "";
746
+ try {
747
+ result = await opts.send(message);
748
+ if (!result?.ok) failure = result?.message || "not sent";
749
+ } catch (e2) {
750
+ result = { ok: false };
751
+ failure = String(e2?.message ?? e2);
752
+ }
753
+ sending = false;
754
+ button.textContent = text.send;
755
+ if (result?.ok) {
756
+ input.value = "";
757
+ status.textContent = result.message || text.sent;
758
+ status.setAttribute("data-state", "sent");
759
+ safely(() => opts.onSent?.());
760
+ } else {
761
+ status.textContent = result?.message || text.failed;
762
+ status.setAttribute("data-state", "failed");
763
+ safely(() => opts.onFailed?.(failure));
764
+ }
765
+ sync();
766
+ };
767
+ input.addEventListener("input", onInput);
768
+ button.addEventListener("click", onClick);
769
+ sync();
770
+ safely(() => opts.onShown?.());
771
+ return {
772
+ element: wrap,
773
+ destroy() {
774
+ input.removeEventListener("input", onInput);
775
+ button.removeEventListener("click", onClick);
776
+ wrap.remove();
777
+ }
778
+ };
779
+ }
780
+ var mounted = 0;
781
+ function safely(fn) {
782
+ try {
783
+ fn();
784
+ } catch {
785
+ }
786
+ }
787
+
652
788
  // src/qualifyGroups.ts
653
789
  function newQualifyGroupState() {
654
790
  return { preview: false, previewClosed: false, projected: false, notRecommended: false, rankedSeen: false };
@@ -864,7 +1000,7 @@ var INLINE_FILTER_MIN_ROWS = 8;
864
1000
  function formatSourceDate(raw, opts = {}) {
865
1001
  const d2 = toDate(raw);
866
1002
  if (!d2) return null;
867
- const dayFrame = u(d2);
1003
+ const dayFrame = a(d2);
868
1004
  const frame = dayFrame ?? (opts.dialect === "dotnet" ? "local" : "utc");
869
1005
  const p3 = partsIn(d2, frame);
870
1006
  const format = cleanFormat(opts.format, opts.dialect);
@@ -885,7 +1021,7 @@ var ISO_LIKE_RE = /^\s*\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(
885
1021
  function toDate(raw) {
886
1022
  if (raw instanceof Date) return isNaN(raw.getTime()) ? null : raw;
887
1023
  if (typeof raw !== "string" || !ISO_LIKE_RE.test(raw)) return null;
888
- const d2 = R(raw.trim());
1024
+ const d2 = M(raw.trim());
889
1025
  return d2 && !isNaN(d2.getTime()) ? d2 : null;
890
1026
  }
891
1027
  function partsIn(d2, frame) {
@@ -1282,15 +1418,15 @@ function displayText(col, raw, opts) {
1282
1418
  return String(raw);
1283
1419
  }
1284
1420
  function isSuppressed(col) {
1285
- return Oe(col).suppressed;
1421
+ return Ie(col).suppressed;
1286
1422
  }
1287
1423
  function resolveAgg(col, requested, auto) {
1288
1424
  const fallback = () => {
1289
- const d2 = Yt(col);
1425
+ const d2 = Vt(col);
1290
1426
  return d2 === "first" ? "count" : d2;
1291
1427
  };
1292
1428
  if (auto) return fallback();
1293
- return Le(col).indexOf(requested) >= 0 ? requested : fallback();
1429
+ return Ee(col).indexOf(requested) >= 0 ? requested : fallback();
1294
1430
  }
1295
1431
  function toNumber(v2) {
1296
1432
  if (v2 == null || v2 === "") return null;
@@ -1303,18 +1439,18 @@ function reduce(values, agg, distinctRaw) {
1303
1439
  if (!values.length) return null;
1304
1440
  switch (agg) {
1305
1441
  case "average":
1306
- return values.reduce((a2, b2) => a2 + b2, 0) / values.length;
1442
+ return values.reduce((a3, b2) => a3 + b2, 0) / values.length;
1307
1443
  case "min":
1308
1444
  return Math.min(...values);
1309
1445
  case "max":
1310
1446
  return Math.max(...values);
1311
1447
  case "median": {
1312
- const s2 = [...values].sort((a2, b2) => a2 - b2);
1448
+ const s2 = [...values].sort((a3, b2) => a3 - b2);
1313
1449
  const m2 = s2.length >> 1;
1314
1450
  return s2.length % 2 ? s2[m2] : (s2[m2 - 1] + s2[m2]) / 2;
1315
1451
  }
1316
1452
  default:
1317
- return values.reduce((a2, b2) => a2 + b2, 0);
1453
+ return values.reduce((a3, b2) => a3 + b2, 0);
1318
1454
  }
1319
1455
  }
1320
1456
  function fmtNumber(v2, culture) {
@@ -1393,7 +1529,7 @@ function computeSelectionCard(payload, selectedRowIdxs, opts = {}) {
1393
1529
  }
1394
1530
  const value = reduce(selVals, colAgg, selRaw);
1395
1531
  let sharePct = null;
1396
- if (Kt(col, colAgg) && value != null) {
1532
+ if (Yt(col, colAgg) && value != null) {
1397
1533
  const allVals = [];
1398
1534
  const allRaw = [];
1399
1535
  for (let r2 = 0; r2 < rows.length; r2++) {
@@ -1467,10 +1603,10 @@ function composeSummaryText(codeSummary, warningMsg) {
1467
1603
 
1468
1604
  // ../../node_modules/colorsea/dist/index.esm.js
1469
1605
  function t(t2, r2, n2, e2) {
1470
- var o2, i2 = arguments.length, a2 = i2 < 3 ? r2 : null === e2 ? e2 = Object.getOwnPropertyDescriptor(r2, n2) : e2;
1471
- if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a2 = Reflect.decorate(t2, r2, n2, e2);
1472
- else for (var u3 = t2.length - 1; u3 >= 0; u3--) (o2 = t2[u3]) && (a2 = (i2 < 3 ? o2(a2) : i2 > 3 ? o2(r2, n2, a2) : o2(r2, n2)) || a2);
1473
- return i2 > 3 && a2 && Object.defineProperty(r2, n2, a2), a2;
1606
+ var o2, i2 = arguments.length, a3 = i2 < 3 ? r2 : null === e2 ? e2 = Object.getOwnPropertyDescriptor(r2, n2) : e2;
1607
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a3 = Reflect.decorate(t2, r2, n2, e2);
1608
+ else for (var u2 = t2.length - 1; u2 >= 0; u2--) (o2 = t2[u2]) && (a3 = (i2 < 3 ? o2(a3) : i2 > 3 ? o2(r2, n2, a3) : o2(r2, n2)) || a3);
1609
+ return i2 > 3 && a3 && Object.defineProperty(r2, n2, a3), a3;
1474
1610
  }
1475
1611
  function r(t2, r2, n2) {
1476
1612
  if (n2 || 2 === arguments.length) for (var e2, o2 = 0, i2 = r2.length; o2 < i2; o2++) !e2 && o2 in r2 || (e2 || (e2 = Array.prototype.slice.call(r2, 0, o2)), e2[o2] = r2[o2]);
@@ -1492,12 +1628,12 @@ var o = function(t2, r2, n2) {
1492
1628
  var i = function(t2, r2) {
1493
1629
  return Math.round((t2 + Number.EPSILON) * Math.pow(10, r2)) / Math.pow(10, r2);
1494
1630
  };
1495
- var a = function(t2, r2) {
1631
+ var a2 = function(t2, r2) {
1496
1632
  return Math.floor(Math.random() * (r2 - t2 + 1) - t2);
1497
1633
  };
1498
- var u2 = function(t2, r2, n2, e2) {
1499
- for (var i2, a2 = [t2, r2, n2], u3 = "#", h2 = 0; h2 < a2.length; h2++) u3 += (i2 = a2[h2], Math.round(o(i2, 0, 255)).toString(16).padStart(2, "0"));
1500
- return null != e2 && (u3 += Math.round(o(e2, 0, 100) / 100 * 255).toString(16).padStart(2, "0")), u3;
1634
+ var u = function(t2, r2, n2, e2) {
1635
+ for (var i2, a3 = [t2, r2, n2], u2 = "#", h2 = 0; h2 < a3.length; h2++) u2 += (i2 = a3[h2], Math.round(o(i2, 0, 255)).toString(16).padStart(2, "0"));
1636
+ return null != e2 && (u2 += Math.round(o(e2, 0, 100) / 100 * 255).toString(16).padStart(2, "0")), u2;
1501
1637
  };
1502
1638
  var h = function(t2) {
1503
1639
  var n2 = t2.length, e2 = (t2 = (function(t3) {
@@ -1537,50 +1673,50 @@ function p(t2, r2, n2, e2) {
1537
1673
  void 0 === e2 && (e2 = "l"), o2 = [t2, r2, n2].map((function(t3) {
1538
1674
  return t3 / 255;
1539
1675
  })), t2 = o2[0], r2 = o2[1], n2 = o2[2];
1540
- var i2 = Math.max(t2, r2, n2), a2 = Math.min(t2, r2, n2), u3 = (function(t3, r3, n3, e3) {
1676
+ var i2 = Math.max(t2, r2, n2), a3 = Math.min(t2, r2, n2), u2 = (function(t3, r3, n3, e3) {
1541
1677
  var o3;
1542
1678
  void 0 === e3 && (e3 = false), o3 = [t3, r3, n3].map((function(t4) {
1543
1679
  return t4 / 255;
1544
1680
  })), t3 = o3[0], r3 = o3[1], n3 = o3[2];
1545
- var i3 = Math.max(t3, r3, n3), a3 = Math.min(t3, r3, n3), u4 = 0;
1546
- if (i3 !== a3) if (e3) u4 = (t3 - r3 + (t3 - n3)) / 2, u4 /= Math.sqrt((t3 - r3) * (t3 - r3) + (t3 - n3) * (r3 - n3)), u4 = Math.acos(u4), n3 > r3 && (u4 = 2 * Math.PI - u4), u4 /= 2 * Math.PI;
1681
+ var i3 = Math.max(t3, r3, n3), a4 = Math.min(t3, r3, n3), u3 = 0;
1682
+ if (i3 !== a4) 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;
1547
1683
  else {
1548
- var h3 = i3 - a3;
1549
- u4 = i3 === t3 ? (r3 - n3) / h3 + (r3 < n3 ? 6 : 0) : i3 === r3 ? (n3 - t3) / h3 + 2 : (t3 - r3) / h3 + 4, u4 /= 6;
1684
+ var h3 = i3 - a4;
1685
+ u3 = i3 === t3 ? (r3 - n3) / h3 + (r3 < n3 ? 6 : 0) : i3 === r3 ? (n3 - t3) / h3 + 2 : (t3 - r3) / h3 + 4, u3 /= 6;
1550
1686
  }
1551
- else u4 = NaN;
1552
- return 360 * u4;
1553
- })(t2, r2, n2, "i" === e2), h2 = 0, c2 = (i2 + a2) / 2, l2 = i2 - a2, p3 = i2, f2 = (t2 + r2 + n2) / 3;
1554
- return "v" === e2 && (h2 = 0 === i2 ? 0 : l2 / i2), i2 !== a2 && "l" === e2 && (h2 = c2 > 0.5 ? l2 / (2 - i2 - a2) : l2 / (i2 + a2)), "i" === e2 && (h2 = f2 > 0 ? 1 - a2 / f2 : 0), h2 *= 100, c2 *= 100, f2 *= 100, "l" === e2 ? [u3, h2, c2] : "v" === e2 ? [u3, h2, p3 *= 100] : [u3, h2, f2];
1687
+ else u3 = NaN;
1688
+ return 360 * u3;
1689
+ })(t2, r2, n2, "i" === e2), h2 = 0, c2 = (i2 + a3) / 2, l2 = i2 - a3, p3 = i2, f2 = (t2 + r2 + n2) / 3;
1690
+ return "v" === e2 && (h2 = 0 === i2 ? 0 : l2 / i2), i2 !== a3 && "l" === e2 && (h2 = c2 > 0.5 ? l2 / (2 - i2 - a3) : l2 / (i2 + a3)), "i" === e2 && (h2 = f2 > 0 ? 1 - a3 / f2 : 0), h2 *= 100, c2 *= 100, f2 *= 100, "l" === e2 ? [u2, h2, c2] : "v" === e2 ? [u2, h2, p3 *= 100] : [u2, h2, f2];
1555
1691
  }
1556
1692
  var f = function(t2, r2, n2) {
1557
1693
  return p(t2, r2, n2, "l");
1558
1694
  };
1559
1695
  var s = function(t2, r2, n2) {
1560
- var e2, i2, a2 = function(t3) {
1696
+ var e2, i2, a3 = function(t3) {
1561
1697
  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;
1562
1698
  };
1563
- return t2 = t2 % 360 / 360, r2 = o(r2 / 100, 0, 1), n2 = o(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)];
1699
+ return t2 = t2 % 360 / 360, r2 = o(r2 / 100, 0, 1), n2 = o(n2 / 100, 0, 1), e2 = 2 * n2 - (i2 = n2 <= 0.5 ? n2 * (r2 + 1) : n2 + r2 - n2 * r2), [255 * a3(t2 + 1 / 3), 255 * a3(t2), 255 * a3(t2 - 1 / 3)];
1564
1700
  };
1565
1701
  var v = function(t2, r2, n2) {
1566
1702
  return p(t2, r2, n2, "v");
1567
1703
  };
1568
1704
  var b = function(t2, r2, n2) {
1569
- var e2, o2, i2 = [n2 /= 100, n2 * (1 - (r2 /= 100)), n2 * (1 - (o2 = (t2 = t2 % 360 / 360 * 360) / 60 - (e2 = Math.floor(t2 / 60 % 6))) * r2), n2 * (1 - (1 - o2) * r2)], a2 = [[0, 3, 1], [2, 0, 1], [1, 0, 3], [1, 2, 0], [3, 1, 0], [0, 1, 2]];
1570
- return [255 * i2[a2[e2][0]], 255 * i2[a2[e2][1]], 255 * i2[a2[e2][2]]];
1705
+ var e2, o2, i2 = [n2 /= 100, n2 * (1 - (r2 /= 100)), n2 * (1 - (o2 = (t2 = t2 % 360 / 360 * 360) / 60 - (e2 = Math.floor(t2 / 60 % 6))) * r2), n2 * (1 - (1 - o2) * r2)], a3 = [[0, 3, 1], [2, 0, 1], [1, 0, 3], [1, 2, 0], [3, 1, 0], [0, 1, 2]];
1706
+ return [255 * i2[a3[e2][0]], 255 * i2[a3[e2][1]], 255 * i2[a3[e2][2]]];
1571
1707
  };
1572
1708
  var y = function(t2, r2, n2) {
1573
1709
  return p(t2, r2, n2, "i");
1574
1710
  };
1575
1711
  var d = function(t2, r2, n2) {
1576
- var e2, i2, a2, u3;
1712
+ var e2, i2, a3, u2;
1577
1713
  r2 /= 100, n2 /= 100, isNaN(t2) && (t2 = 0), isNaN(r2) && (r2 = 0);
1578
1714
  var h2 = function(t3) {
1579
1715
  return (1 + r2 * Math.cos(2 * Math.PI * t3) / Math.cos(Math.PI / 3 - 2 * Math.PI * t3)) / 3;
1580
1716
  };
1581
- return (t2 = (360 + t2) % 360 / 360) < 1 / 3 ? a2 = 1 - ((u3 = (1 - r2) / 3) + (i2 = h2(t2))) : t2 < 2 / 3 ? u3 = 1 - ((i2 = (1 - r2) / 3) + (a2 = h2(t2 -= 1 / 3))) : i2 = 1 - ((a2 = (1 - r2) / 3) + (u3 = h2(t2 -= 2 / 3))), e2 = [i2, a2, u3].map((function(t3) {
1717
+ return (t2 = (360 + t2) % 360 / 360) < 1 / 3 ? a3 = 1 - ((u2 = (1 - r2) / 3) + (i2 = h2(t2))) : t2 < 2 / 3 ? u2 = 1 - ((i2 = (1 - r2) / 3) + (a3 = h2(t2 -= 1 / 3))) : i2 = 1 - ((a3 = (1 - r2) / 3) + (u2 = h2(t2 -= 2 / 3))), e2 = [i2, a3, u2].map((function(t3) {
1582
1718
  return 255 * o(n2 * t3 * 3, 0, 1);
1583
- })), [i2 = e2[0], a2 = e2[1], u3 = e2[2]];
1719
+ })), [i2 = e2[0], a3 = e2[1], u2 = e2[2]];
1584
1720
  };
1585
1721
  var g = function(t2, r2, n2) {
1586
1722
  return [f(t2, r2, n2)[0], 100 * (Math.min(t2, r2, n2) / 255), 100 * (1 - Math.max(t2, r2, n2) / 255)];
@@ -1591,7 +1727,7 @@ function w(t2, r2, n2) {
1591
1727
  }));
1592
1728
  }
1593
1729
  var m = { x: [0.4124564, 0.3575761, 0.1804375], y: [0.2126729, 0.7151522, 0.072175], z: [0.0193339, 0.119192, 0.9503041] };
1594
- var M = { r: [3.2404542, -1.5371385, -0.4985314], g: [-0.969266, 1.8760108, 0.041556], b: [0.0556434, -0.2040259, 1.0572252] };
1730
+ var M2 = { r: [3.2404542, -1.5371385, -0.4985314], g: [-0.969266, 1.8760108, 0.041556], b: [0.0556434, -0.2040259, 1.0572252] };
1595
1731
  var x = 0.95047;
1596
1732
  var _ = 1;
1597
1733
  var C = 1.08883;
@@ -1609,14 +1745,14 @@ var z = function(t2, r2, e2) {
1609
1745
  }), 0)];
1610
1746
  };
1611
1747
  var N = function(t2, r2, n2) {
1612
- var o2 = [t2, r2, n2], i2 = M.r.reduce((function(t3, r3, n3) {
1748
+ var o2 = [t2, r2, n2], i2 = M2.r.reduce((function(t3, r3, n3) {
1613
1749
  return t3 + r3 * o2[n3];
1614
- }), 0) / 100, a2 = M.g.reduce((function(t3, r3, n3) {
1750
+ }), 0) / 100, a3 = M2.g.reduce((function(t3, r3, n3) {
1615
1751
  return t3 + r3 * o2[n3];
1616
- }), 0) / 100, u3 = M.b.reduce((function(t3, r3, n3) {
1752
+ }), 0) / 100, u2 = M2.b.reduce((function(t3, r3, n3) {
1617
1753
  return t3 + r3 * o2[n3];
1618
1754
  }), 0) / 100;
1619
- return e(i2, a2, u3);
1755
+ return e(i2, a3, u2);
1620
1756
  };
1621
1757
  var O = function(t2, r2, n2) {
1622
1758
  var e2;
@@ -1625,10 +1761,10 @@ var O = function(t2, r2, n2) {
1625
1761
  })), t2 = e2[0], r2 = e2[1], n2 = e2[2], [Math.max(0, 116 * r2 - 16), 500 * (t2 - r2), 200 * (r2 - n2)];
1626
1762
  };
1627
1763
  var P = function(t2, r2, n2) {
1628
- var e2, o2 = (t2 + 16) / 116, i2 = isNaN(r2) ? o2 : o2 + r2 / 500, a2 = isNaN(n2) ? o2 : o2 - n2 / 200;
1629
- return e2 = [i2, o2, a2].map((function(t3) {
1764
+ var e2, o2 = (t2 + 16) / 116, i2 = isNaN(r2) ? o2 : o2 + r2 / 500, a3 = isNaN(n2) ? o2 : o2 - n2 / 200;
1765
+ return e2 = [i2, o2, a3].map((function(t3) {
1630
1766
  return t3 > I ? Math.pow(t3, 3) : (116 * t3 - 16) / E;
1631
- })), i2 = e2[0], o2 = e2[1], a2 = e2[2], [i2 * x * 100, o2 * _ * 100, a2 * C * 100];
1767
+ })), i2 = e2[0], o2 = e2[1], a3 = e2[2], [i2 * x * 100, o2 * _ * 100, a3 * C * 100];
1632
1768
  };
1633
1769
  var j = function(t2, r2, n2) {
1634
1770
  return N.apply(void 0, P(t2, r2, n2));
@@ -1648,16 +1784,16 @@ var H = function(t2, r2, n2) {
1648
1784
  var e2 = t2 + r2 + n2, o2 = 0, i2 = 0;
1649
1785
  return e2 > 0 && (o2 = t2 / e2, i2 = r2 / e2), [o2, i2, r2];
1650
1786
  };
1651
- var Y = Object.freeze({ __proto__: null, linear2rgb: e, rgb2linear: n, rgb2hex: u2, hex2rgb: h, rgb2cmyk: c, cmyk2rgb: l, 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) {
1787
+ var Y = Object.freeze({ __proto__: null, linear2rgb: e, rgb2linear: n, rgb2hex: u, hex2rgb: h, rgb2cmyk: c, cmyk2rgb: l, 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) {
1652
1788
  return O.apply(void 0, z(t2, r2, n2));
1653
1789
  }, lab2rgb: j, lch2lab: A, lab2lch: S, xyz2lch: function(t2, r2, n2) {
1654
1790
  return S.apply(void 0, O(t2, r2, n2));
1655
1791
  }, lch2xyz: L, xyY2xyz: function(t2, r2, n2) {
1656
1792
  return 0 === r2 ? [0, 0, 0] : [t2 * (n2 / r2), n2, n2 / r2 * (1 - t2 - r2)];
1657
1793
  }, xyz2xyY: H });
1658
- function R2(t2, n2) {
1794
+ function R(t2, n2) {
1659
1795
  return void 0 === n2 && (n2 = false), function(e2, o2, i2) {
1660
- var a2 = i2.value;
1796
+ var a3 = i2.value;
1661
1797
  i2.value = function() {
1662
1798
  for (var e3 = [], o3 = 0; o3 < arguments.length; o3++) e3[o3] = arguments[o3];
1663
1799
  if (e3.length > 0 && n2) {
@@ -1665,17 +1801,17 @@ function R2(t2, n2) {
1665
1801
  t2 += i3;
1666
1802
  }
1667
1803
  if (this.cache.has(t2)) return this.cache.get(t2);
1668
- var u3 = a2.call.apply(a2, r([this], e3, false));
1669
- return this.cache.set(t2, u3), u3;
1804
+ var u2 = a3.call.apply(a3, r([this], e3, false));
1805
+ return this.cache.set(t2, u2), u2;
1670
1806
  };
1671
1807
  };
1672
1808
  }
1673
1809
  function q(t2, n2, e2, o2) {
1674
- return void 0 === t2 && (t2 = [0, 2, 2]), void 0 === n2 && (n2 = 0), void 0 === e2 && (e2 = true), void 0 === o2 && (o2 = 0), function(a2, u3, h2) {
1810
+ return void 0 === t2 && (t2 = [0, 2, 2]), void 0 === n2 && (n2 = 0), void 0 === e2 && (e2 = true), void 0 === o2 && (o2 = 0), function(a3, u2, h2) {
1675
1811
  var c2 = h2.value;
1676
1812
  h2.value = function() {
1677
- for (var a3 = [], u4 = 0; u4 < arguments.length; u4++) a3[u4] = arguments[u4];
1678
- var h3 = void 0 === a3[o2] ? e2 : a3[o2], l2 = c2.call.apply(c2, r([this], a3, false));
1813
+ for (var a4 = [], u3 = 0; u3 < arguments.length; u3++) a4[u3] = arguments[u3];
1814
+ var h3 = void 0 === a4[o2] ? e2 : a4[o2], l2 = c2.call.apply(c2, r([this], a4, false));
1679
1815
  if (false === h3) return l2;
1680
1816
  var p3 = "number" == typeof h3 ? Math.round(h3) : 0, f2 = "number" == typeof t2 ? new Array(l2.length).fill(t2) : t2, s2 = f2.map((function(t3) {
1681
1817
  return 1 === n2 ? "number" == typeof h3 ? p3 : t3 : t3 + p3;
@@ -1687,7 +1823,7 @@ function q(t2, n2, e2, o2) {
1687
1823
  };
1688
1824
  }
1689
1825
  var D = function(t2, r2, n2) {
1690
- var e2 = t2 instanceof ft ? t2 : new ft(t2), i2 = r2 instanceof ft ? r2 : new ft(r2), a2 = o(n2, 0, 100) / 100, u3 = 2 * a2 - 1, h2 = e2.alpha() - i2.alpha(), c2 = ((u3 * h2 == -1 ? u3 : (u3 + h2) / (1 + u3 * h2)) + 1) / 2, l2 = 1 - c2, p3 = [Math.round(o(e2.red() * c2 + i2.red() * l2, 0, 255)), Math.round(o(e2.green() * c2 + i2.green() * l2, 0, 255)), Math.round(o(e2.blue() * c2 + i2.blue() * l2, 0, 255))], f2 = e2.alpha() * a2 + i2.alpha() * (1 - a2);
1826
+ var e2 = t2 instanceof ft ? t2 : new ft(t2), i2 = r2 instanceof ft ? r2 : new ft(r2), a3 = o(n2, 0, 100) / 100, u2 = 2 * a3 - 1, h2 = e2.alpha() - i2.alpha(), c2 = ((u2 * h2 == -1 ? u2 : (u2 + h2) / (1 + u2 * h2)) + 1) / 2, l2 = 1 - c2, p3 = [Math.round(o(e2.red() * c2 + i2.red() * l2, 0, 255)), Math.round(o(e2.green() * c2 + i2.green() * l2, 0, 255)), Math.round(o(e2.blue() * c2 + i2.blue() * l2, 0, 255))], f2 = e2.alpha() * a3 + i2.alpha() * (1 - a3);
1691
1827
  return new ft(p3, f2);
1692
1828
  };
1693
1829
  var F = Math.sqrt;
@@ -1726,50 +1862,50 @@ var et = function(t2, r2, n2, e2) {
1726
1862
  var i2 = Object.assign({}, { l: 1, c: 1 }, e2);
1727
1863
  return (function(t3, r3, n3, e3) {
1728
1864
  void 0 === n3 && (n3 = 1), void 0 === e3 && (e3 = 1);
1729
- var o3 = V(t3, true), i3 = o3[0], a3 = o3[1], u4 = o3[2], h3 = o3[3], c3 = o3[4], l2 = V(r3), p3 = l2[0], f2 = l2[1], s2 = l2[3], v2 = a3 - f2, b2 = i3 - p3, y2 = c3 - l2[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 <= u4 && u4 <= 345 ? 0.56 + J(0.2 * $(Q(u4 + 168))) : 0.36 + J(0.4 * $(Q(u4 + 35))), M2 = F(U(a3, 4) / (U(a3, 4) + 1900)), x2 = w2 * (M2 * m2 + 1 - M2);
1865
+ var o3 = V(t3, true), i3 = o3[0], a4 = o3[1], u3 = o3[2], h3 = o3[3], c3 = o3[4], l2 = V(r3), p3 = l2[0], f2 = l2[1], s2 = l2[3], v2 = a4 - f2, b2 = i3 - p3, y2 = c3 - l2[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 * a4 / (1 + 0.0131 * a4) + 0.638, m2 = 164 <= u3 && u3 <= 345 ? 0.56 + J(0.2 * $(Q(u3 + 168))) : 0.36 + J(0.4 * $(Q(u3 + 35))), M3 = F(U(a4, 4) / (U(a4, 4) + 1900)), x2 = w2 * (M3 * m2 + 1 - M3);
1730
1866
  return F(U(b2 / (n3 * g2), 2) + U(v2 / (e3 * w2), 2) + U(d2 / x2, 2));
1731
1867
  })(t2, r2, i2.l, i2.c);
1732
1868
  }
1733
1869
  if (o2 === rt) {
1734
- var a2 = { kL: 1, kC: 1, kH: 1, cate: "graphic" }, u3 = Object.assign({}, a2, e2);
1870
+ var a3 = { kL: 1, kC: 1, kH: 1, cate: "graphic" }, u2 = Object.assign({}, a3, e2);
1735
1871
  return (function(t3, r3, n3, e3, o3, i3) {
1736
1872
  void 0 === n3 && (n3 = 1), void 0 === e3 && (e3 = 1), void 0 === o3 && (o3 = 1), void 0 === i3 && (i3 = "graphic");
1737
- var a3 = "textiles" === i3 ? 0.048 : 0.045, u4 = "textiles" === i3 ? 0.014 : 0.015;
1873
+ var a4 = "textiles" === i3 ? 0.048 : 0.045, u3 = "textiles" === i3 ? 0.014 : 0.015;
1738
1874
  n3 = "textiles" === i3 ? 2 : n3;
1739
- var h3 = V(t3), c3 = h3[0], l2 = h3[1], p3 = h3[3], f2 = h3[4], s2 = V(r3), v2 = s2[0], b2 = s2[1], y2 = s2[3], d2 = c3 - v2, g2 = l2 - b2, w2 = f2 - s2[4], m2 = 1 + a3 * l2, M2 = 1 + u4 * l2, x2 = F(U(p3 - y2, 2) + U(w2, 2) - U(g2, 2));
1740
- return F(U(d2 / (1 * n3), 2) + U(g2 / (e3 * m2), 2) + U(x2 / (o3 * M2), 2));
1741
- })(t2, r2, u3.kL, u3.kC, u3.kH, u3.cate);
1875
+ var h3 = V(t3), c3 = h3[0], l2 = h3[1], p3 = h3[3], f2 = h3[4], s2 = V(r3), v2 = s2[0], b2 = s2[1], y2 = s2[3], d2 = c3 - v2, g2 = l2 - b2, w2 = f2 - s2[4], m2 = 1 + a4 * l2, M3 = 1 + u3 * l2, x2 = F(U(p3 - y2, 2) + U(w2, 2) - U(g2, 2));
1876
+ return F(U(d2 / (1 * n3), 2) + U(g2 / (e3 * m2), 2) + U(x2 / (o3 * M3), 2));
1877
+ })(t2, r2, u2.kL, u2.kC, u2.kH, u2.cate);
1742
1878
  }
1743
1879
  if (o2 === nt) return (function(t3, r3) {
1744
- var n3 = t3.lab(false), e3 = n3[0], o3 = n3[1], i3 = n3[2], a3 = r3.lab(false), u4 = a3[0], h3 = a3[1], c3 = a3[2];
1745
- return F(U(e3 - u4, 2) + U(o3 - h3, 2) + U(i3 - c3, 2));
1880
+ var n3 = t3.lab(false), e3 = n3[0], o3 = n3[1], i3 = n3[2], a4 = r3.lab(false), u3 = a4[0], h3 = a4[1], c3 = a4[2];
1881
+ return F(U(e3 - u3, 2) + U(o3 - h3, 2) + U(i3 - c3, 2));
1746
1882
  })(t2, r2);
1747
1883
  var h2 = { kL: 1, kC: 1, kH: 1 }, c2 = Object.assign({}, h2, e2);
1748
1884
  return (function(t3, r3, n3, e3, o3) {
1749
1885
  void 0 === n3 && (n3 = 1), void 0 === e3 && (e3 = 1), void 0 === o3 && (o3 = 1);
1750
- var i3 = V(t3), a3 = i3[0], u4 = i3[1], h3 = i3[3], c3 = i3[4], l2 = V(r3), p3 = l2[0], f2 = l2[1], s2 = l2[3], v2 = l2[4], b2 = (a3 + p3) / 2, y2 = (u4 + 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 - u4, 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)), L2 = -2 * F(U(C2, 7) / (U(C2, 7) + U(25, 7))) * Z(2 * Q(A2));
1886
+ var i3 = V(t3), a4 = i3[0], u3 = i3[1], h3 = i3[3], c3 = i3[4], l2 = V(r3), p3 = l2[0], f2 = l2[1], s2 = l2[3], v2 = l2[4], b2 = (a4 + 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)), M3 = F(U(w2, 2) + U(v2, 2)), x2 = T(g2, c3, true), _2 = T(w2, v2, true), C2 = (m2 + M3) / 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 - a4, N2 = f2 - u3, O2 = 2 * F(m2 * M3) * 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)), L2 = -2 * F(U(C2, 7) / (U(C2, 7) + U(25, 7))) * Z(2 * Q(A2));
1751
1887
  return F(U(z2 / (n3 * P2), 2) + U(N2 / (e3 * j2), 2) + U(O2 / (o3 * S2), 2) + L2 * (N2 / (e3 * j2)) * (O2 / (o3 * S2)));
1752
1888
  })(t2, r2, c2.kL, c2.kC, c2.kH);
1753
1889
  };
1754
1890
  var ot = function(t2, r2, n2) {
1755
- var e2 = Math.abs, o2 = Math.max, i2 = Math.min, a2 = t2 instanceof ft ? t2 : new ft(t2), u3 = r2 instanceof ft ? r2 : new ft(r2), h2 = Object.assign({}, { b: 125, c: 500 }, n2);
1756
- return !(e2(255 * a2.brightness() / 100 - 255 * u3.brightness() / 100) <= h2.b) && !(o2(a2.red(), u3.red()) - i2(a2.red(), u3.red()) + (o2(a2.green(), u3.green()) - i2(a2.green(), u3.green())) + (o2(a2.blue(), u3.blue()) - i2(a2.blue(), u3.blue())) <= h2.c);
1891
+ var e2 = Math.abs, o2 = Math.max, i2 = Math.min, a3 = t2 instanceof ft ? t2 : new ft(t2), u2 = r2 instanceof ft ? r2 : new ft(r2), h2 = Object.assign({}, { b: 125, c: 500 }, n2);
1892
+ return !(e2(255 * a3.brightness() / 100 - 255 * u2.brightness() / 100) <= h2.b) && !(o2(a3.red(), u2.red()) - i2(a3.red(), u2.red()) + (o2(a3.green(), u2.green()) - i2(a3.green(), u2.green())) + (o2(a3.blue(), u2.blue()) - i2(a3.blue(), u2.blue())) <= h2.c);
1757
1893
  };
1758
1894
  var it = function(t2, r2, n2) {
1759
1895
  var e2, i2 = function(t3) {
1760
1896
  return o(t3, 0, 100);
1761
- }, a2 = function(t3) {
1897
+ }, a3 = function(t3) {
1762
1898
  return o(t3, 0, 255);
1763
- }, u3 = { h: [0, function(t3) {
1899
+ }, u2 = { h: [0, function(t3) {
1764
1900
  return t3 % 360;
1765
- }], s: [1, i2], l: [2, i2], r: [0, a2], g: [1, a2], b: [2, a2] }, h2 = u3[r2][0];
1901
+ }], s: [1, i2], l: [2, i2], r: [0, a3], g: [1, a3], b: [2, a3] }, h2 = u2[r2][0];
1766
1902
  if (["h", "s", "l"].includes(r2)) {
1767
1903
  var c2 = t2.hsl();
1768
1904
  if (void 0 === n2) return c2[h2];
1769
- n2 = u3[r2][1](n2), c2[h2] = n2, e2 = s.apply(void 0, c2);
1905
+ n2 = u2[r2][1](n2), c2[h2] = n2, e2 = s.apply(void 0, c2);
1770
1906
  } else {
1771
1907
  if (e2 = t2.rgb(), void 0 === n2) return e2[h2];
1772
- n2 = u3[r2][1](n2), e2[h2] = n2;
1908
+ n2 = u2[r2][1](n2), e2[h2] = n2;
1773
1909
  }
1774
1910
  return new ft(e2, t2.alpha());
1775
1911
  };
@@ -1787,22 +1923,22 @@ var lt = function(t2, r2) {
1787
1923
  var e2 = "rgb", o2 = [0, 0, 0], i2 = 100;
1788
1924
  if (Array.isArray(t2)) {
1789
1925
  if (t2.length < 3) throw new Error("Invalid Color");
1790
- for (var a2 = 0; a2 < t2.length; a2++) if (a2 < 3) o2[a2] = t2[a2];
1926
+ for (var a3 = 0; a3 < t2.length; a3++) if (a3 < 3) o2[a3] = t2[a3];
1791
1927
  else {
1792
- if (3 !== a2 || void 0 === t2[3]) break;
1928
+ if (3 !== a3 || void 0 === t2[3]) break;
1793
1929
  i2 = t2[3];
1794
1930
  }
1795
1931
  } else {
1796
- var u3 = false, c2 = t2.trim().match(ht);
1797
- if (c2 || (u3 = true), c2) {
1932
+ var u2 = false, c2 = t2.trim().match(ht);
1933
+ if (c2 || (u2 = true), c2) {
1798
1934
  var l2 = c2[1].toLocaleLowerCase();
1799
- if (e2 = l2, ut.has(l2) || (u3 = true), c2[2] && !u3) {
1935
+ if (e2 = l2, ut.has(l2) || (u2 = true), c2[2] && !u2) {
1800
1936
  var p3 = c2[2], f2 = -1 !== p3.indexOf(",") ? "," : " ", s2 = p3.split(f2);
1801
- 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 ? o2[a2] = ct(s2[a2]) : o2[a2] = Number(s2[a2].trim()));
1937
+ for (a3 = 0; a3 < 3; a3++) void 0 !== s2[a3] && (["lch", "lab"].includes(e2) && 0 === a3 || ["hsl", "hsla", "hsv", "hsva", "hwb", "hwba", "hsi", "hsia"].includes(e2) && a3 > 0 ? o2[a3] = ct(s2[a3]) : o2[a3] = Number(s2[a3].trim()));
1802
1938
  ["rgba", "hsla", "hsva", "hwba", "hsia"].includes(e2) ? (e2 = e2.slice(0, -1), void 0 !== s2[3] && (i2 = ct(s2[3]))) : "cmyk" === e2 && o2.push(void 0 !== s2[3] ? ct(s2[3]) : 0);
1803
1939
  }
1804
1940
  }
1805
- if (u3) {
1941
+ if (u2) {
1806
1942
  if (!/^#(([a-fA-F\d]{3}){1,2}|[a-fA-F\d]{8})$/.test(t2)) try {
1807
1943
  return t2 = (function(t3, r3) {
1808
1944
  if (void 0 === r3 && (r3 = false), t3 = t3.toLowerCase(), void 0 === at[t3]) {
@@ -1825,21 +1961,21 @@ var ft = (function() {
1825
1961
  this.cache = /* @__PURE__ */ new Map(), this._rgb = [0, 0, 0], this._alpha = 100;
1826
1962
  var e2 = { thowParseError: pt.thowParseError }, i2 = Object.assign({}, e2, null != n3 ? n3 : {});
1827
1963
  try {
1828
- var a2 = (function(t3) {
1829
- var r3, n4 = { lab2rgb: j, hsl2rgb: s, hsv2rgb: b, xyz2rgb: N, hwb2rgb: w, hsi2rgb: d }, e3 = lt(t3), i3 = e3[0], a3 = e3[1], u4 = e3[2];
1830
- if ("rgb" === i3) return [a3, u4];
1831
- "lch" === i3 && (i3 = (r3 = ["xyz", L(a3[0], a3[1], a3[2])])[0], a3 = r3[1]);
1832
- var h3 = a3[0], c2 = a3[1], p3 = a3[2], f2 = a3[3];
1964
+ var a3 = (function(t3) {
1965
+ var r3, n4 = { lab2rgb: j, hsl2rgb: s, hsv2rgb: b, xyz2rgb: N, hwb2rgb: w, hsi2rgb: d }, e3 = lt(t3), i3 = e3[0], a4 = e3[1], u3 = e3[2];
1966
+ if ("rgb" === i3) return [a4, u3];
1967
+ "lch" === i3 && (i3 = (r3 = ["xyz", L(a4[0], a4[1], a4[2])])[0], a4 = r3[1]);
1968
+ var h3 = a4[0], c2 = a4[1], p3 = a4[2], f2 = a4[3];
1833
1969
  if ("cmyk" === i3) return [l(h3, c2, p3, f2).map((function(t4) {
1834
1970
  return o(t4, 0, 255);
1835
- })), u4];
1971
+ })), u3];
1836
1972
  var v2 = "".concat(i3, "2rgb");
1837
1973
  if ("function" == typeof n4[v2]) return [n4[v2](h3, c2, p3).map((function(t4) {
1838
1974
  return o(t4, 0, 255);
1839
- })), u4];
1975
+ })), u3];
1840
1976
  throw new Error("Invalid color");
1841
- })(t2), u3 = a2[0], h2 = a2[1];
1842
- this._alpha = h2, this._rgb = u3;
1977
+ })(t2), u2 = a3[0], h2 = a3[1];
1978
+ this._alpha = h2, this._rgb = u2;
1843
1979
  } catch (t3) {
1844
1980
  if (i2.thowParseError) throw t3;
1845
1981
  }
@@ -1895,18 +2031,18 @@ var ft = (function() {
1895
2031
  void 0 === t2 && (t2 = 2);
1896
2032
  var n3 = 0 === t2 ? void 0 : 1 === t2 ? this._alpha : 100 === this._alpha ? void 0 : this._alpha, e2 = "color:hex:param_".concat(t2);
1897
2033
  if (this.cache.has(e2)) return this.cache.get(e2);
1898
- var o2 = u2.apply(void 0, r(r([], this._rgb, false), [n3], false));
2034
+ var o2 = u.apply(void 0, r(r([], this._rgb, false), [n3], false));
1899
2035
  return this.cache.set(e2, o2), o2;
1900
2036
  }, n2.prototype.lighten = function(t2, r2) {
1901
2037
  void 0 === t2 && (t2 = 5);
1902
- var e2 = this.hsl(false), i2 = e2[0], a2 = e2[1], u3 = e2[2];
1903
- return u3 = o(u3 += void 0 !== r2 && "relative" === r2 ? u3 * (t2 / 100) : t2, 0, 100), new n2(s(i2, a2, u3), this._alpha);
2038
+ var e2 = this.hsl(false), i2 = e2[0], a3 = e2[1], u2 = e2[2];
2039
+ return u2 = o(u2 += void 0 !== r2 && "relative" === r2 ? u2 * (t2 / 100) : t2, 0, 100), new n2(s(i2, a3, u2), this._alpha);
1904
2040
  }, n2.prototype.darken = function(t2, r2) {
1905
2041
  return void 0 === t2 && (t2 = 5), this.lighten(-t2, r2);
1906
2042
  }, n2.prototype.saturate = function(t2, r2) {
1907
2043
  void 0 === t2 && (t2 = 5);
1908
- var e2 = this.hsl(false), i2 = e2[0], a2 = e2[1], u3 = e2[2];
1909
- return a2 = o(a2 += void 0 !== r2 && "relative" === r2 ? a2 * (t2 / 100) : t2, 0, 100), new n2(s(i2, a2, u3), this._alpha);
2044
+ var e2 = this.hsl(false), i2 = e2[0], a3 = e2[1], u2 = e2[2];
2045
+ return a3 = o(a3 += void 0 !== r2 && "relative" === r2 ? a3 * (t2 / 100) : t2, 0, 100), new n2(s(i2, a3, u2), this._alpha);
1910
2046
  }, n2.prototype.desaturate = function(t2, r2) {
1911
2047
  return void 0 === t2 && (t2 = 5), this.saturate(-t2, r2);
1912
2048
  }, n2.prototype.spin = function(t2) {
@@ -1937,7 +2073,7 @@ var ft = (function() {
1937
2073
  return void 0 === r2 && (r2 = "CMC"), et(this, t2, r2, n3);
1938
2074
  }, n2.prototype.visibility = function(t2, r2) {
1939
2075
  return ot(this, t2, r2);
1940
- }, t([q(0, 1, true, 0), R2("color:rgb")], n2.prototype, "rgb", null), t([q(0, 1, true, 0)], n2.prototype, "rgba", null), t([q(0, 1, true, 0), R2("color:cmyk")], n2.prototype, "cmyk", null), t([q(0, 1, true, 0), R2("color:hsl")], n2.prototype, "hsl", null), t([q(0, 1, true, 0)], n2.prototype, "hsla", null), t([q(0, 1, true, 0), R2("color:hsv")], n2.prototype, "hsv", null), t([q(0, 1, true, 0), R2("color:hsi")], n2.prototype, "hsi", null), t([q(0, 1, true, 0), R2("color: hwb")], n2.prototype, "hwb", null), t([q(2, 1, true, 0), R2("color:xyz")], n2.prototype, "xyz", null), t([q(2, 1, true, 0), R2("color:lab")], n2.prototype, "lab", null), t([q(2, 1, true, 0), R2("color:lch")], n2.prototype, "lch", null), t([q(2, 1, true, 0), R2("color:xyY")], n2.prototype, "xyY", null), t([R2("color:luma")], n2.prototype, "luma", null), n2;
2076
+ }, t([q(0, 1, true, 0), R("color:rgb")], n2.prototype, "rgb", null), t([q(0, 1, true, 0)], n2.prototype, "rgba", null), t([q(0, 1, true, 0), R("color:cmyk")], n2.prototype, "cmyk", null), t([q(0, 1, true, 0), R("color:hsl")], n2.prototype, "hsl", null), t([q(0, 1, true, 0)], n2.prototype, "hsla", null), t([q(0, 1, true, 0), R("color:hsv")], n2.prototype, "hsv", null), t([q(0, 1, true, 0), R("color:hsi")], n2.prototype, "hsi", null), t([q(0, 1, true, 0), R("color: hwb")], n2.prototype, "hwb", null), t([q(2, 1, true, 0), R("color:xyz")], n2.prototype, "xyz", null), t([q(2, 1, true, 0), R("color:lab")], n2.prototype, "lab", null), t([q(2, 1, true, 0), R("color:lch")], n2.prototype, "lch", null), t([q(2, 1, true, 0), R("color:xyY")], n2.prototype, "xyY", null), t([R("color:luma")], n2.prototype, "luma", null), n2;
1941
2077
  })();
1942
2078
  var st = function(t2, r2, n2, e2) {
1943
2079
  return new ft([t2, r2, n2], e2);
@@ -1969,15 +2105,15 @@ function Mt(t2, r2, n2) {
1969
2105
  Mt.config = function(t2) {
1970
2106
  Object.assign(pt, t2);
1971
2107
  }, Mt.random = function() {
1972
- var t2 = a(0, 255), r2 = a(0, 255), n2 = a(0, 255);
2108
+ var t2 = a2(0, 255), r2 = a2(0, 255), n2 = a2(0, 255);
1973
2109
  return new ft([t2, r2, n2]);
1974
- }, Mt.convertor = Y, Mt.Color = ft, Mt.rgb = st, Mt.hsl = vt, Mt.hsv = bt, Mt.hsi = yt, Mt.hwb = dt, Mt.xyz = gt, Mt.lab = wt, Mt.lch = mt, Mt.mix = D, Mt.deltaE = et, Mt.utils = { roundDecimal: i, randomRange: a }, Mt.useNames = function(t2, r2) {
2110
+ }, Mt.convertor = Y, Mt.Color = ft, Mt.rgb = st, Mt.hsl = vt, Mt.hsv = bt, Mt.hsi = yt, Mt.hwb = dt, Mt.xyz = gt, Mt.lab = wt, Mt.lch = mt, Mt.mix = D, Mt.deltaE = et, Mt.utils = { roundDecimal: i, randomRange: a2 }, Mt.useNames = function(t2, r2) {
1975
2111
  return (function(t3, r3) {
1976
2112
  if (void 0 !== r3 && "function" == typeof r3) {
1977
2113
  var n2 = {};
1978
2114
  for (var e2 in t3) {
1979
- var o2 = r3(e2, t3[e2]), i2 = o2[0], a2 = o2[1];
1980
- n2[i2] = a2;
2115
+ var o2 = r3(e2, t3[e2]), i2 = o2[0], a3 = o2[1];
2116
+ n2[i2] = a3;
1981
2117
  }
1982
2118
  Object.assign(at, n2);
1983
2119
  } else Object.assign(at, t3);
@@ -2171,10 +2307,10 @@ function servedCorrelationProves(m2, served) {
2171
2307
  if (typeof served !== "string" || served.trim() === "") return false;
2172
2308
  return served.trim().toLowerCase() === m2.c.trim().toLowerCase();
2173
2309
  }
2174
- function sameMarker(a2, b2) {
2175
- if (!a2 || !b2) return false;
2176
- if (typeof a2.c !== "string" || typeof b2.c !== "string") return false;
2177
- const ca = a2.c.trim().toLowerCase(), cb = b2.c.trim().toLowerCase();
2310
+ function sameMarker(a3, b2) {
2311
+ if (!a3 || !b2) return false;
2312
+ if (typeof a3.c !== "string" || typeof b2.c !== "string") return false;
2313
+ const ca = a3.c.trim().toLowerCase(), cb = b2.c.trim().toLowerCase();
2178
2314
  if (ca === "" || cb === "") return false;
2179
2315
  return ca === cb;
2180
2316
  }
@@ -2282,6 +2418,8 @@ export {
2282
2418
  PILL_MIN_ALPHA,
2283
2419
  PILL_MIN_COVERAGE,
2284
2420
  PILL_OPAQUE_ALPHA,
2421
+ PRODUCT_FEEDBACK_MAX_CHARS,
2422
+ PRODUCT_FEEDBACK_MIN_CHARS,
2285
2423
  QUALIFY_REFUSAL_UNSPECIFIED,
2286
2424
  ROW_IDX_ATTR,
2287
2425
  SAME_SHADE_DELTA_E,
@@ -2303,6 +2441,7 @@ export {
2303
2441
  blankRenderFlag,
2304
2442
  buildPalette,
2305
2443
  buildPaletteFromSeed,
2444
+ buildProductFeedbackPayload,
2306
2445
  buildRenderPayload,
2307
2446
  buildReviewWire,
2308
2447
  canConfirmLaunch,
@@ -2347,10 +2486,12 @@ export {
2347
2486
  hasRefusalsToShow,
2348
2487
  hitBandFlag,
2349
2488
  inlineFilterGate,
2489
+ invalidSentinelReason,
2350
2490
  isBlankRender,
2351
2491
  isBlindMarker,
2352
2492
  isExcelDateFormat,
2353
2493
  isHorizontalLabelRow,
2494
+ isInvalidSentinelError,
2354
2495
  isPhantomBox,
2355
2496
  isPillBackdropAlpha,
2356
2497
  labelBand,
@@ -2362,11 +2503,13 @@ export {
2362
2503
  loadGeo,
2363
2504
  markerArmedBlind,
2364
2505
  measureContainerBoxes,
2506
+ mountProductFeedbackBox,
2365
2507
  needsScroll,
2366
2508
  newQualifyGroupState,
2367
2509
  newQualifyRefusalGroupState,
2368
2510
  noopViewStateProvider,
2369
2511
  normaliseAggregation,
2512
+ normaliseProductFeedbackText,
2370
2513
  normalizeFilterTerm,
2371
2514
  orderMostDistinct,
2372
2515
  orderRefusalsForDisplay,
@@ -2381,6 +2524,7 @@ export {
2381
2524
  planFrameGrow,
2382
2525
  planTrivialChart,
2383
2526
  pollGiveUpKeepsMarker,
2527
+ productFeedbackSendable,
2384
2528
  qualifyAuto,
2385
2529
  qualifyCancel,
2386
2530
  qualifyFailureFallsOpen,