@juspay/svelte-ui-components 4.29.0 → 4.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +15 -14
  2. package/dist/Accordion/Accordion.svelte +18 -0
  3. package/dist/AnimatedNumber/AnimatedNumber.svelte +702 -0
  4. package/dist/AnimatedNumber/AnimatedNumber.svelte.d.ts +4 -0
  5. package/dist/AnimatedNumber/motion.d.ts +47 -0
  6. package/dist/AnimatedNumber/motion.js +190 -0
  7. package/dist/AnimatedNumber/properties.d.ts +42 -0
  8. package/dist/AnimatedNumber/properties.js +1 -0
  9. package/dist/Badge/Badge.svelte +20 -3
  10. package/dist/Badge/properties.d.ts +9 -0
  11. package/dist/Book/Book.svelte +9 -0
  12. package/dist/Calendar/Calendar.svelte +34 -2
  13. package/dist/Carousel/Carousel.svelte +17 -2
  14. package/dist/ChatBubble/ChatBubble.svelte +12 -0
  15. package/dist/ChatComposer/ChatComposer.svelte +9 -0
  16. package/dist/CommandMenu/CommandMenu.svelte +13 -0
  17. package/dist/DateRangePicker/DateRangePicker.svelte +77 -20
  18. package/dist/DeltaIndicator/DeltaIndicator.svelte +12 -1
  19. package/dist/DeltaIndicator/properties.d.ts +9 -0
  20. package/dist/Gallery/Gallery.svelte +16 -0
  21. package/dist/Gauge/Gauge.svelte +21 -2
  22. package/dist/Gauge/properties.d.ts +13 -0
  23. package/dist/Input/Input.svelte +34 -26
  24. package/dist/KeyboardInput/KeyboardInput.svelte +1 -1
  25. package/dist/ListItem/ListItem.svelte +27 -2
  26. package/dist/ListItem/label.d.ts +11 -0
  27. package/dist/ListItem/label.js +40 -0
  28. package/dist/ListItem/properties.d.ts +52 -0
  29. package/dist/MediaUpload/MediaUpload.svelte +12 -1
  30. package/dist/MediaUpload/properties.d.ts +9 -0
  31. package/dist/Menu/Menu.svelte +11 -2
  32. package/dist/Modal/Modal.svelte +14 -4
  33. package/dist/PieChart/PieChart.svelte +16 -1
  34. package/dist/PieChart/properties.d.ts +13 -0
  35. package/dist/Progress/Progress.svelte +21 -1
  36. package/dist/Progress/properties.d.ts +12 -0
  37. package/dist/ProportionBar/ProportionBar.svelte +7 -1
  38. package/dist/ProportionBar/ProportionBar.svelte.d.ts +0 -19
  39. package/dist/ProportionBar/properties.d.ts +10 -0
  40. package/dist/Select/Select.svelte +23 -8
  41. package/dist/SplitButton/SplitButton.svelte +4 -1
  42. package/dist/SplitInput/SplitInput.svelte +1 -1
  43. package/dist/StatCard/StatCard.svelte +22 -4
  44. package/dist/StatCard/properties.d.ts +12 -0
  45. package/dist/Table/BuiltinCell.svelte +19 -2
  46. package/dist/Table/cellData.js +3 -0
  47. package/dist/Table/properties.d.ts +15 -0
  48. package/dist/Tabs/Tabs.svelte +16 -0
  49. package/dist/index.d.ts +2 -0
  50. package/dist/index.js +1 -0
  51. package/dist/styles/theme-dark.css +27 -3
  52. package/dist-codemod/codemod/migration-assets/legacy-display.css +2 -1
  53. package/dist-codemod/codemod/migration-assets/legacy-palette.css +4 -1
  54. package/dist-codemod/codemod/migration-assets/wc-display.json +5 -0
  55. package/dist-wc/index.js +1334 -754
  56. package/package.json +9 -3
package/dist-wc/index.js CHANGED
@@ -3560,6 +3560,283 @@ function create_custom_element(e, t, n, i, a, o) {
3560
3560
  }), o && (s = o(s)), e.element = s, s;
3561
3561
  }
3562
3562
  //#endregion
3563
+ //#region src/lib/AnimatedNumber/motion.ts
3564
+ var WHEEL_LENGTH = 10, DELTA_PROPERTY = "--_animated-number-delta", wheelDelta = (e, t, n) => {
3565
+ let i = e - t, a = n === 0 ? Math.sign(i) : n;
3566
+ return a < 0 && e > t ? e - 10 - t : a > 0 && e < t ? 10 - t + e : i;
3567
+ }, digitRun = (e, t) => {
3568
+ let n = "";
3569
+ for (let i of e) {
3570
+ let e = t(i);
3571
+ e >= 0 && (n += String(e));
3572
+ }
3573
+ return n;
3574
+ }, unicodeDigitOf = (e) => {
3575
+ let t = e.codePointAt(0);
3576
+ if (!Number.isInteger(t) || !/\p{Nd}/u.test(e)) return -1;
3577
+ let n = Number(t), i = n;
3578
+ for (; n - i < 9 && /\p{Nd}/u.test(String.fromCodePoint(i - 1));) --i;
3579
+ return n - i;
3580
+ }, trendBetween = (e, t, n = unicodeDigitOf) => {
3581
+ if (typeof e == "number" && typeof t == "number") return Math.sign(t - e) || 0;
3582
+ let i = digitRun(String(e), n), a = digitRun(String(t), n);
3583
+ return i.length === a.length ? i < a ? 1 : i > a ? -1 : 0 : Math.sign(a.length - i.length);
3584
+ }, durationMs = (e) => {
3585
+ let t = e.trim(), n = Number.parseFloat(t);
3586
+ return Number.isFinite(n) ? t.endsWith("ms") ? n : t.endsWith("s") ? n * 1e3 : 0 : 0;
3587
+ }, registerDelta = () => {
3588
+ try {
3589
+ return CSS.registerProperty({
3590
+ name: DELTA_PROPERTY,
3591
+ syntax: "<number>",
3592
+ inherits: !0,
3593
+ initialValue: "0"
3594
+ }), !0;
3595
+ } catch (e) {
3596
+ return e instanceof DOMException && e.name === "InvalidModificationError";
3597
+ }
3598
+ }, supported = null, canSpin = () => {
3599
+ if (supported !== null) return supported;
3600
+ if (typeof CSS > "u" || typeof CSS.supports != "function") return supported = !1, supported;
3601
+ let e = (() => {
3602
+ try {
3603
+ return document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" }), !0;
3604
+ } catch {
3605
+ return !1;
3606
+ }
3607
+ })();
3608
+ return supported = CSS.supports("line-height", "mod(1,1)") && CSS.supports("line-height", "round(down,1,1)") && e && registerDelta(), supported;
3609
+ }, root$111 = /* @__PURE__ */ from_html("<span class=\"animated-number-digit-glyph svelte-1rbv9ao\"> </span>"), root_1$100 = /* @__PURE__ */ from_html("<span class=\"animated-number-digit svelte-1rbv9ao\"></span>"), root_2$77 = /* @__PURE__ */ from_html("<span class=\"animated-number-literal svelte-1rbv9ao\"> </span>"), root_3$65 = /* @__PURE__ */ from_html("<span><span class=\"animated-number-plain svelte-1rbv9ao\" aria-hidden=\"true\"> </span> <span class=\"animated-number-visual svelte-1rbv9ao\" aria-hidden=\"true\"></span></span>"), $$css$203 = {
3610
+ hash: "svelte-1rbv9ao",
3611
+ code: ".animated-number.svelte-1rbv9ao {\n /*\n * One box, shared by the columns, the static characters and the glyphs, and\n * also the distance a step of one digit travels.\n *\n * Defined once and referred to as a LENGTH rather than each place computing\n * its own, and rather than the glyphs positioning themselves in percentages\n * of their own height. A percentage resolves against the element's used\n * height, which WebKit rounds: measured at a 70.39px box, it parked a\n * clamped glyph 70.0px away instead of 70.39px, leaving a 0.39px sliver of\n * the wrong digit inside the window on every frame of every roll. It fell\n * inside the fully transparent end of the mask so nothing showed, but it is\n * the sort of near-miss that stops being invisible at another font size.\n * Sharing one length makes the column and the glyph the same size by\n * construction instead of by agreement. (The reference implementation meets\n * the same rounding and rounds its mask height to whole pixels for it.)\n */--_animated-number-box: calc(\n var(--animated-number-row-height, 1.2em) + 2 * var(--animated-number-fade-height, 0.28em)\n );position:relative;display:inline-block;white-space:nowrap;font-variant-numeric:var(--animated-number-font-variant-numeric, tabular-nums);color:var(--animated-number-color, inherit);}.animated-number-visual.svelte-1rbv9ao {\n /* Decorative glyph content, same treatment Avatar, KeyboardInput, Tabs,\n Calendar and Draggable already give theirs. */user-select:none;}\n\n /* Carries the real value for selection, copy and find-in-page. Clipped rather\n than `display: none` or `visibility: hidden`, both of which would take it out\n of the text layer and defeat the point. It sits inside the `role=\"img\"` root,\n so assistive technology never reaches it -- the root's aria-label is the one\n accessible name. */.animated-number-plain.svelte-1rbv9ao {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}\n\n /*\n * Both the digit columns and the static characters use ONE box height, so they\n * sit on the same line however the fade is tuned: the text row plus a fade band\n * above and below. The negative margin hands those two bands back to the line\n * box, so the number still occupies exactly `--animated-number-row-height` in\n * the surrounding text and adding a fade never shifts the baseline.\n */\n /*\n * Both the digit columns and the static characters use ONE box height, so they\n * sit on the same line however the fade is tuned: the text row plus a fade band\n * above and below. The negative margin hands those two bands back to the line\n * box, so the number still occupies exactly `--animated-number-row-height` in\n * the surrounding text and adding a fade never shifts the baseline. One box is\n * also exactly what a step of one digit travels, so a neighbour lands fully\n * outside the column rather than poking into the fade band where the mask is\n * still opaque.\n */.animated-number-digit.svelte-1rbv9ao,\n .animated-number-literal.svelte-1rbv9ao {display:inline-block;vertical-align:bottom;height:var(--_animated-number-box, 1.76em);line-height:var(--_animated-number-box, 1.76em);margin-block:calc(-1 * var(--animated-number-fade-height, 0.28em));}.animated-number-digit.svelte-1rbv9ao {position:relative;width:var(--animated-number-digit-width, 1ch);text-align:center;\n /* The mask only fades what is inside this box; the clip is what removes the\n glyphs parked outside it. Without it they sit in plain view above and below\n the number. */overflow:hidden;-webkit-mask-image:linear-gradient(\n to bottom,\n transparent 0,\n #000 var(--animated-number-fade-height, 0.28em),\n #000 calc(100% - var(--animated-number-fade-height, 0.28em)),\n transparent 100%\n );mask-image:linear-gradient(\n to bottom,\n transparent 0,\n #000 var(--animated-number-fade-height, 0.28em),\n #000 calc(100% - var(--animated-number-fade-height, 0.28em)),\n transparent 100%\n );\n\n /*\n * The scalar every glyph below resolves its position from. A token stream,\n * not a value: it is substituted into the `mod()` in the glyph rule, where\n * `a + b` is an ordinary calc sum. The digit jumps to its new value and the\n * delta animates from `-delta` back to 0, so the sum travels from the old\n * digit to the new one and no glyph ever has its own position animated.\n */--_animated-number-c: var(--_animated-number-digit, 0) + var(--_animated-number-delta, 0);\n\n /*\n * The two-token chain, resolved here and read back by the attachment rather\n * than driving a `transition` -- which is why it still answers to\n * `--motion-duration` and to the reduced-motion block at the end of this\n * sheet, even though the motion is now one interpolated custom property.\n */--_animated-number-spin-duration: var(\n --animated-number-digit-transition-duration,\n var(--motion-duration, 0.9s)\n );--_animated-number-spin-easing: var(\n --animated-number-digit-transition-easing,\n var(\n --motion-easing,\n linear(\n 0,\n 0.005,\n 0.019,\n 0.039,\n 0.066,\n 0.096,\n 0.129,\n 0.165,\n 0.202,\n 0.24,\n 0.278,\n 0.316,\n 0.354,\n 0.39,\n 0.426,\n 0.461,\n 0.494,\n 0.526,\n 0.557,\n 0.586,\n 0.614,\n 0.64,\n 0.665,\n 0.689,\n 0.711,\n 0.731,\n 0.751,\n 0.769,\n 0.786,\n 0.802,\n 0.817,\n 0.831,\n 0.844,\n 0.856,\n 0.867,\n 0.877,\n 0.887,\n 0.896,\n 0.904,\n 0.912,\n 0.919,\n 0.925,\n 0.931,\n 0.937,\n 0.942,\n 0.947,\n 0.951,\n 0.955,\n 0.959,\n 0.962,\n 0.965,\n 0.968,\n 0.971,\n 0.973,\n 0.976,\n 0.978,\n 0.98,\n 0.981,\n 0.983,\n 0.984,\n 0.986,\n 0.987,\n 0.988,\n 0.989,\n 0.99,\n 0.991,\n 0.992,\n 0.992,\n 0.993,\n 0.994,\n 0.994,\n 0.995,\n 0.995,\n 0.996,\n 0.996,\n 0.9963,\n 0.9967,\n 0.9969,\n 0.9972,\n 0.9975,\n 0.9977,\n 0.9979,\n 0.9981,\n 0.9982,\n 0.9984,\n 0.9985,\n 0.9987,\n 0.9988,\n 0.9989,\n 1\n )\n )\n );}\n\n /*\n * Where the wheel is actually drawn. `--_animated-number-offset-raw` is this\n * glyph's distance ahead of the current position, 0-9; the `round(down, ...)`\n * line re-centres that onto -5..5 so a glyph is placed on whichever side it is\n * nearer, and the clamp parks everything further than one box away at exactly\n * one box away. Nothing here is transitioned: it is recomputed every frame\n * from a scalar that is, which is what keeps a far glyph pinned outside the\n * window instead of tweening across it.\n */.animated-number-digit-glyph.svelte-1rbv9ao {display:block;height:var(--_animated-number-box, 1.76em);line-height:var(--_animated-number-box, 1.76em);--_animated-number-offset-raw: mod(\n 10 + var(--_animated-number-glyph, 0) - mod(var(--_animated-number-c, 0), 10),\n 10\n );--_animated-number-offset: calc(\n var(--_animated-number-offset-raw, 0) - 10 *\n round(down, var(--_animated-number-offset-raw, 0) / 5, 1)\n );--_animated-number-y: clamp(\n calc(-1 * var(--_animated-number-box, 1.76em)),\n calc(var(--_animated-number-offset, 0) * var(--_animated-number-box, 1.76em)),\n var(--_animated-number-box, 1.76em)\n );transform:translateY(var(--_animated-number-y, 0));}\n\n /* Only the current glyph stays in flow, so the column keeps one glyph's height\n and never resizes mid-roll. */.animated-number-digit-glyph[inert].svelte-1rbv9ao {position:absolute;top:0;left:0;width:100%;}\n\n /* At rest the column holds exactly the digit it reads as -- which is also what\n stops the other nine reaching find-in-page. They come back for the roll. */.animated-number-digit.svelte-1rbv9ao:not(.animated-number-digit--spinning) .animated-number-digit-glyph[inert]:where(.svelte-1rbv9ao) {display:none;}\n\n /* DESIGN_PRINCIPLES.md section 1 says only an animation with no natural end\n needs its own reduced-motion block, because --motion-duration: 0s would\n strand it on a keyframe meaning something else. This one is finite and has\n no such hazard -- but the token only stops it if something assigns it, and\n nothing in this library ever does: it exists as the middle rung of a\n fallback chain for consumers to reach. Left at that, a reader who asked\n their OS for reduced motion still watched every digit roll.\n\n Collapsing the duration here rather than duplicating the query in script\n keeps one mechanism for both routes: the attachment reads 0s and never\n starts an animation, so the digit is simply already correct. It lives in\n this component's own <style> because that is the only stylesheet reaching\n inside the shadow root a custom-element consumer gets. */\n @media (prefers-reduced-motion: reduce) {.animated-number-digit.svelte-1rbv9ao {--_animated-number-spin-duration: 0s;}\n }"
3612
+ };
3613
+ function AnimatedNumber(e, t) {
3614
+ push(t, !0), append_styles$1(e, $$css$203);
3615
+ let n = prop(t, "value", 7), i = prop(t, "locale", 7, "en-US"), a = prop(t, "format", 7), o = prop(t, "live", 7, "off"), s = prop(t, "ariaLabel", 7), c = prop(t, "testId", 7), l = prop(t, "classes", 7), u = [
3616
+ "0",
3617
+ "1",
3618
+ "2",
3619
+ "3",
3620
+ "4",
3621
+ "5",
3622
+ "6",
3623
+ "7",
3624
+ "8",
3625
+ "9"
3626
+ ], f = (e) => {
3627
+ let t = e.reduce((e, t) => t.type === "integer" ? e + [...t.value].length : e, 0), n = e.reduce((e, t) => t.type === "group" ? e + 1 : e, 0), i = 0, a = 0, o = 0, s = {}, c = [];
3628
+ for (let l of e) if (l.type === "integer") for (let e of l.value) c.push({
3629
+ kind: "digit",
3630
+ key: `int-${t - 1 - i}`,
3631
+ digit: get(k)(e)
3632
+ }), i += 1;
3633
+ else if (l.type === "fraction") for (let e of l.value) c.push({
3634
+ kind: "digit",
3635
+ key: `frac-${a}`,
3636
+ digit: get(k)(e)
3637
+ }), a += 1;
3638
+ else if (l.type === "group") c.push({
3639
+ kind: "literal",
3640
+ key: `group-${n - 1 - o}`,
3641
+ text: l.value
3642
+ }), o += 1;
3643
+ else {
3644
+ let e = s[l.type] ?? 0;
3645
+ s[l.type] = e + 1, c.push({
3646
+ kind: "literal",
3647
+ key: `${l.type}-${e}`,
3648
+ text: l.value
3649
+ });
3650
+ }
3651
+ return c;
3652
+ }, p = (e) => {
3653
+ let t = [...e], n = -1, i = -1;
3654
+ t.forEach((e, t) => {
3655
+ get(k)(e) >= 0 && (n < 0 && (n = t), i = t);
3656
+ });
3657
+ let a = n >= 0, o = a ? t.slice(0, n) : t, s = a ? t.slice(n, i + 1) : [], c = a ? t.slice(i + 1) : [], l = [];
3658
+ return o.forEach((e, t) => {
3659
+ l.push({
3660
+ kind: "literal",
3661
+ key: `pre-${t}`,
3662
+ text: e
3663
+ });
3664
+ }), s.forEach((e, t) => {
3665
+ let n = `body-${s.length - 1 - t}`, i = get(k)(e);
3666
+ l.push(i >= 0 ? {
3667
+ kind: "digit",
3668
+ key: n,
3669
+ digit: i
3670
+ } : {
3671
+ kind: "literal",
3672
+ key: n,
3673
+ text: e
3674
+ });
3675
+ }), c.forEach((e, t) => {
3676
+ l.push({
3677
+ kind: "literal",
3678
+ key: `post-${c.length - 1 - t}`,
3679
+ text: e
3680
+ });
3681
+ }), l;
3682
+ }, h = /* @__PURE__ */ user_derived(() => typeof n() == "number" && Object.is(n(), -0) ? 0 : n()), S = /* @__PURE__ */ user_derived(() => new Intl.NumberFormat(i(), a())), C = /* @__PURE__ */ user_derived(() => {
3683
+ try {
3684
+ let e = get(S).resolvedOptions().numberingSystem, t = new Intl.NumberFormat("en", {
3685
+ numberingSystem: e,
3686
+ useGrouping: !1
3687
+ });
3688
+ return Array.from({ length: 10 }, (e, n) => t.format(n));
3689
+ } catch {
3690
+ return u;
3691
+ }
3692
+ }), k = /* @__PURE__ */ user_derived(() => {
3693
+ let e = new Map(get(C).map((e, t) => [e, t]));
3694
+ return (t) => e.get(t) ?? -1;
3695
+ }), R = /* @__PURE__ */ user_derived(() => typeof get(h) == "number" ? get(S).formatToParts(get(h)) : null), te = /* @__PURE__ */ user_derived(() => get(R) === null ? String(get(h)) : get(R).map((e) => e.value).join("")), ne = /* @__PURE__ */ state(!1);
3696
+ onMount(() => {
3697
+ set(ne, !0);
3698
+ });
3699
+ let re = null, G = 0, be = (e) => (re !== e && (G = re === null ? 0 : trendBetween(re, e, get(k)), re = e), G), Me = /* @__PURE__ */ new WeakMap(), Re = /* @__PURE__ */ new WeakMap(), Ue = (e, t, n) => (i) => {
3700
+ let a = be(n), o = Me.has(i), s = Me.get(i) ?? 0;
3701
+ if (Me.set(i, e), !t || !canSpin()) return;
3702
+ let c = wheelDelta(e, o ? s : 0, a);
3703
+ if (c === 0) return;
3704
+ let l = getComputedStyle(i), u = durationMs(l.getPropertyValue("--_animated-number-spin-duration"));
3705
+ if (u <= 0) return;
3706
+ let f = l.getPropertyValue("--_animated-number-spin-easing").trim();
3707
+ try {
3708
+ i.animate({ [DELTA_PROPERTY]: [-c, 0] }, {
3709
+ duration: u,
3710
+ easing: f.length > 0 ? f : "linear",
3711
+ composite: "accumulate"
3712
+ });
3713
+ } catch {
3714
+ return;
3715
+ }
3716
+ let p = (Re.get(i) ?? 0) + 1;
3717
+ Re.set(i, p), i.classList.add("animated-number-digit--spinning");
3718
+ let h = () => {
3719
+ Re.get(i) === p && i.classList.remove("animated-number-digit--spinning");
3720
+ };
3721
+ Promise.all(i.getAnimations().map((e) => e.finished)).then(h, h);
3722
+ }, it = /* @__PURE__ */ user_derived(() => get(R) === null ? p(String(get(h))) : f(get(R))), at = /* @__PURE__ */ user_derived(() => s() ?? get(te)), ot = /* @__PURE__ */ user_derived(() => get(at).length > 0);
3723
+ var ct = {
3724
+ get value() {
3725
+ return n();
3726
+ },
3727
+ set value(e) {
3728
+ n(e), flushSync();
3729
+ },
3730
+ get locale() {
3731
+ return i();
3732
+ },
3733
+ set locale(e = "en-US") {
3734
+ i(e), flushSync();
3735
+ },
3736
+ get format() {
3737
+ return a();
3738
+ },
3739
+ set format(e) {
3740
+ a(e), flushSync();
3741
+ },
3742
+ get live() {
3743
+ return o();
3744
+ },
3745
+ set live(e = "off") {
3746
+ o(e), flushSync();
3747
+ },
3748
+ get ariaLabel() {
3749
+ return s();
3750
+ },
3751
+ set ariaLabel(e) {
3752
+ s(e), flushSync();
3753
+ },
3754
+ get testId() {
3755
+ return c();
3756
+ },
3757
+ set testId(e) {
3758
+ c(e), flushSync();
3759
+ },
3760
+ get classes() {
3761
+ return l();
3762
+ },
3763
+ set classes(e) {
3764
+ l(e), flushSync();
3765
+ }
3766
+ }, lt = root_3$65(), ut = child(lt), dt = child(ut, !0);
3767
+ reset(ut);
3768
+ var ft = sibling(ut, 2);
3769
+ return each(ft, 21, () => get(it), (e) => e.key, (e, t) => {
3770
+ var n = comment(), i = first_child(n), a = (e) => {
3771
+ var n = root_1$100();
3772
+ each(n, 22, () => get(C), (e) => e, (e, n, i) => {
3773
+ var a = root$111(), o = child(a, !0);
3774
+ reset(a), template_effect(() => {
3775
+ set_style(a, `--_animated-number-glyph: ${get(i) ?? ""};`), a.inert = get(i) !== get(t).digit, set_text(o, n);
3776
+ }), append(e, a);
3777
+ }), reset(n), attach(n, () => Ue(get(t).digit, get(ne), get(h))), template_effect(() => set_style(n, `--_animated-number-digit: ${get(t).digit ?? ""};`)), append(e, n);
3778
+ }, o = (e) => {
3779
+ var n = root_2$77(), i = child(n, !0);
3780
+ reset(n), template_effect(() => set_text(i, get(t).text)), append(e, n);
3781
+ };
3782
+ if_block(i, (e) => {
3783
+ get(t).kind === "digit" ? e(a) : e(o, -1);
3784
+ }), append(e, n);
3785
+ }), reset(ft), reset(lt), template_effect(() => {
3786
+ set_class(lt, 1, `animated-number ${l() ?? "" ?? ""}`, "svelte-1rbv9ao"), set_attribute(lt, "data-pw", c() ?? null), set_attribute(lt, "testid", c() ?? null), set_attribute(lt, "role", get(ot) ? "img" : null), set_attribute(lt, "aria-label", get(ot) ? get(at) : null), set_attribute(lt, "aria-live", o() === "off" ? null : o()), set_text(dt, get(te));
3787
+ }), append(e, lt), pop(ct);
3788
+ }
3789
+ create_custom_element(AnimatedNumber, {
3790
+ value: {},
3791
+ locale: {},
3792
+ format: {},
3793
+ live: {},
3794
+ ariaLabel: {},
3795
+ testId: {},
3796
+ classes: {}
3797
+ }, [], [], { mode: "open" });
3798
+ //#endregion
3799
+ //#region src/wc/components/AnimatedNumber.wc.svelte
3800
+ var rest_excludes$97 = new Set([
3801
+ "$$slots",
3802
+ "$$events",
3803
+ "$$legacy",
3804
+ "$$host",
3805
+ "animatedNumberAriaLabel"
3806
+ ]), $$css$202 = {
3807
+ hash: "svelte-er2ct3",
3808
+ code: "\n /* A custom element defaults to `display: inline`, which has no definite\n width for a percentage to resolve against -- so a component sizing itself\n with `width: 100%` resolved against the wrong ancestor, and layout depended\n on the consumer's surrounding markup rather than on the component. Per\n DESIGN_PRINCIPLES.md section 2 the value matches this component's own root\n element, and AnimatedNumber.svelte's root is a `<span>` -- inline-level,\n not block -- so this is `inline-block`, not the `block` most wrappers here\n use for a `<div>` root. It is a token so a consumer can change it without\n reaching inside the shadow root -- which they could not do, since a\n stylesheet cannot add a rule there. */:host {display:var(--sui-animated-number-display, inline-block);}"
3809
+ };
3810
+ function AnimatedNumber_wc(e, t) {
3811
+ push(t, !0), append_styles$1(e, $$css$202);
3812
+ let n = prop(t, "animatedNumberAriaLabel", 7), i = /* @__PURE__ */ rest_props(t, rest_excludes$97);
3813
+ return AnimatedNumber(e, spread_props(() => i, { get ariaLabel() {
3814
+ return n();
3815
+ } })), pop({
3816
+ get animatedNumberAriaLabel() {
3817
+ return n();
3818
+ },
3819
+ set animatedNumberAriaLabel(e) {
3820
+ n(e), flushSync();
3821
+ }
3822
+ });
3823
+ }
3824
+ customElements.define("sui-animated-number", create_custom_element(AnimatedNumber_wc, {
3825
+ value: { type: "String" },
3826
+ locale: { type: "String" },
3827
+ format: { type: "Object" },
3828
+ live: { type: "String" },
3829
+ animatedNumberAriaLabel: {
3830
+ attribute: "aria-label",
3831
+ type: "String"
3832
+ },
3833
+ testId: {
3834
+ attribute: "test-id",
3835
+ type: "String"
3836
+ },
3837
+ classes: { type: "String" }
3838
+ }, [], [], { mode: "open" }));
3839
+ //#endregion
3563
3840
  //#region src/lib/Img/Img.svelte
3564
3841
  var root_1$99 = /* @__PURE__ */ from_svg("<svg></svg>"), root_2$76 = /* @__PURE__ */ from_html("<img/>"), $$css$201 = {
3565
3842
  hash: "svelte-13ogpty",
@@ -3977,14 +4254,14 @@ customElements.define("sui-avatar", create_custom_element(Avatar_wc, {
3977
4254
  }, [], [], { mode: "open" }));
3978
4255
  //#endregion
3979
4256
  //#region src/lib/Badge/Badge.svelte
3980
- var root$109 = /* @__PURE__ */ from_html("<div> </div>"), root_1$97 = /* @__PURE__ */ from_html("<div><div class=\"badge-wrap svelte-17t9ly6\"><img class=\"icon-img svelte-17t9ly6\"/> <!></div></div>"), $$css$198 = {
4257
+ var root$109 = /* @__PURE__ */ from_html("<div><!></div>"), root_1$97 = /* @__PURE__ */ from_html("<div><div class=\"badge-wrap svelte-17t9ly6\"><img class=\"icon-img svelte-17t9ly6\"/> <!></div></div>"), $$css$198 = {
3981
4258
  hash: "svelte-17t9ly6",
3982
4259
  code: ".badge-wrap.svelte-17t9ly6 {position:relative;display:inline-block;margin:var(--badge-wrap-margin, 0px 12px 10px 0px);padding:var(--badge-wrap-padding, 8px 8px 8px 8px);}.badge.svelte-17t9ly6 {position:absolute;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1;color:var(--badge-color, #fff);background-color:var(--badge-background, #727272);font-size:var(--badge-font-size, 12px);font-family:var(--badge-font-family, inherit);padding:var(--badge-padding, 3px 8px);border-radius:var(--badge-border-radius, 100px);min-width:var(--badge-min-width, 18px);min-height:var(--badge-min-height, 18px);border:var(--badge-border, 1px solid #fff);top:var(--badge-top, 0);right:var(--badge-right, 0);bottom:var(--badge-bottom);left:var(--badge-left);z-index:1;}.badge-dot.svelte-17t9ly6 {width:var(--badge-dot-size, 10px);height:var(--badge-dot-size, 10px);min-width:unset;min-height:unset;padding:0;}.badge-standalone.svelte-17t9ly6 {position:var(--badge-standalone-position, static);}.icon-img.svelte-17t9ly6 {border-radius:var(--badge-img-border-radius, var(--radius, 4px));width:var(--badge-img-width, 64px);height:var(--badge-img-height, 64px);object-fit:var(--badge-object-fit, contain);box-shadow:var(--badge-img-icon-shadow, 0 0 0 0.5px #798fa54d);background-color:var(--badge-img-background-color);}"
3983
4260
  };
3984
4261
  function Badge(e, t) {
3985
4262
  push(t, !0), append_styles$1(e, $$css$198);
3986
- let n = prop(t, "image", 7), i = prop(t, "alt", 7, ""), a = prop(t, "value", 7), o = prop(t, "mode", 7, "count"), s = prop(t, "hidden", 7, !1), c = prop(t, "ariaLabel", 7), l = prop(t, "testId", 7), u = prop(t, "classes", 7), f = /* @__PURE__ */ user_derived(() => typeof n() == "string" && n().length > 0), p = /* @__PURE__ */ user_derived(() => !s()), h = /* @__PURE__ */ user_derived(() => o() === "dot"), S = /* @__PURE__ */ user_derived(() => get(h) ? "presentation" : "status"), C = /* @__PURE__ */ user_derived(() => get(h) ? null : c() ?? (typeof a() == "string" ? a() : null));
3987
- var k = {
4263
+ let n = prop(t, "image", 7), i = prop(t, "alt", 7, ""), a = prop(t, "value", 7), o = prop(t, "mode", 7, "count"), s = prop(t, "hidden", 7, !1), c = prop(t, "ariaLabel", 7), l = prop(t, "testId", 7), u = prop(t, "classes", 7), f = prop(t, "animateValue", 7, !1), p = /* @__PURE__ */ user_derived(() => typeof n() == "string" && n().length > 0), h = /* @__PURE__ */ user_derived(() => !s()), S = /* @__PURE__ */ user_derived(() => o() === "dot"), C = /* @__PURE__ */ user_derived(() => get(S) ? "presentation" : "status"), k = /* @__PURE__ */ user_derived(() => get(S) ? null : c() ?? (typeof a() == "string" ? a() : null)), R = /* @__PURE__ */ user_derived(() => f() && !get(S));
4264
+ var te = {
3988
4265
  get image() {
3989
4266
  return n();
3990
4267
  },
@@ -4032,32 +4309,60 @@ function Badge(e, t) {
4032
4309
  },
4033
4310
  set classes(e) {
4034
4311
  u(e), flushSync();
4312
+ },
4313
+ get animateValue() {
4314
+ return f();
4315
+ },
4316
+ set animateValue(e = !1) {
4317
+ f(e), flushSync();
4035
4318
  }
4036
- }, R = comment(), te = first_child(R), ne = (e) => {
4319
+ }, ne = comment(), re = first_child(ne), G = (e) => {
4037
4320
  var t = root_1$97(), o = child(t), s = child(o), c = sibling(s, 2), f = (e) => {
4038
4321
  var t = root$109();
4039
4322
  let n;
4040
- var i = child(t, !0);
4041
- reset(t), template_effect(() => {
4042
- n = set_class(t, 1, "badge svelte-17t9ly6", null, n, { "badge-dot": get(h) }), set_text(i, get(h) ? "" : a() ?? "");
4043
- }), append(e, t);
4323
+ var i = child(t), o = (e) => {
4324
+ {
4325
+ let t = /* @__PURE__ */ user_derived(() => a() ?? "");
4326
+ AnimatedNumber(e, { get value() {
4327
+ return get(t);
4328
+ } });
4329
+ }
4330
+ }, s = (e) => {
4331
+ var t = text();
4332
+ template_effect(() => set_text(t, get(S) ? "" : a() ?? "")), append(e, t);
4333
+ };
4334
+ if_block(i, (e) => {
4335
+ get(R) ? e(o) : e(s, -1);
4336
+ }), reset(t), template_effect(() => n = set_class(t, 1, "badge svelte-17t9ly6", null, n, { "badge-dot": get(S) })), append(e, t);
4044
4337
  };
4045
4338
  if_block(c, (e) => {
4046
- get(p) && e(f);
4339
+ get(h) && e(f);
4047
4340
  }), reset(o), reset(t), template_effect(() => {
4048
4341
  set_class(t, 1, `badge-icon ${u() ?? "" ?? ""}`, "svelte-17t9ly6"), set_attribute(t, "data-pw", typeof l() == "string" ? l() : null), set_attribute(t, "testid", typeof l() == "string" ? l() : null), set_attribute(s, "src", n()), set_attribute(s, "alt", i());
4049
4342
  }), append(e, t);
4050
- }, re = (e) => {
4343
+ }, be = (e) => {
4051
4344
  var t = root$109();
4052
4345
  let n;
4053
- var i = child(t, !0);
4054
- reset(t), template_effect(() => {
4055
- n = set_class(t, 1, `badge badge-standalone ${u() ?? "" ?? ""}`, "svelte-17t9ly6", n, { "badge-dot": get(h) }), set_attribute(t, "role", get(S)), set_attribute(t, "aria-label", get(C)), set_attribute(t, "data-pw", typeof l() == "string" ? l() : null), set_attribute(t, "testid", typeof l() == "string" ? l() : null), set_text(i, get(h) ? "" : a() ?? "");
4346
+ var i = child(t), o = (e) => {
4347
+ {
4348
+ let t = /* @__PURE__ */ user_derived(() => a() ?? "");
4349
+ AnimatedNumber(e, { get value() {
4350
+ return get(t);
4351
+ } });
4352
+ }
4353
+ }, s = (e) => {
4354
+ var t = text();
4355
+ template_effect(() => set_text(t, get(S) ? "" : a() ?? "")), append(e, t);
4356
+ };
4357
+ if_block(i, (e) => {
4358
+ get(R) ? e(o) : e(s, -1);
4359
+ }), reset(t), template_effect(() => {
4360
+ n = set_class(t, 1, `badge badge-standalone ${u() ?? "" ?? ""}`, "svelte-17t9ly6", n, { "badge-dot": get(S) }), set_attribute(t, "role", get(C)), set_attribute(t, "aria-label", get(k)), set_attribute(t, "data-pw", typeof l() == "string" ? l() : null), set_attribute(t, "testid", typeof l() == "string" ? l() : null);
4056
4361
  }), append(e, t);
4057
4362
  };
4058
- return if_block(te, (e) => {
4059
- get(f) ? e(ne) : get(p) && e(re, 1);
4060
- }), append(e, R), pop(k);
4363
+ return if_block(re, (e) => {
4364
+ get(p) ? e(G) : get(h) && e(be, 1);
4365
+ }), append(e, ne), pop(te);
4061
4366
  }
4062
4367
  create_custom_element(Badge, {
4063
4368
  image: {},
@@ -4067,7 +4372,8 @@ create_custom_element(Badge, {
4067
4372
  hidden: {},
4068
4373
  ariaLabel: {},
4069
4374
  testId: {},
4070
- classes: {}
4375
+ classes: {},
4376
+ animateValue: {}
4071
4377
  }, [], [], { mode: "open" });
4072
4378
  //#endregion
4073
4379
  //#region src/wc/components/Badge.wc.svelte
@@ -4138,7 +4444,12 @@ customElements.define("sui-badge", create_custom_element(Badge_wc, {
4138
4444
  reflect: !0,
4139
4445
  type: "String"
4140
4446
  },
4141
- classes: { type: "String" }
4447
+ classes: { type: "String" },
4448
+ animateValue: {
4449
+ attribute: "animate-value",
4450
+ reflect: !0,
4451
+ type: "Boolean"
4452
+ }
4142
4453
  }, [], [], { mode: "open" }));
4143
4454
  //#endregion
4144
4455
  //#region src/lib/Breadcrumb/Breadcrumb.svelte
@@ -4704,7 +5015,7 @@ create_custom_element(Button, {
4704
5015
  //#region src/lib/Book/Book.svelte
4705
5016
  var root$104 = /* @__PURE__ */ from_html("<div><!></div>"), root_1$93 = /* @__PURE__ */ from_html("<div class=\"page svelte-1qrpci6\"><!></div>"), root_2$71 = /* @__PURE__ */ from_html("<div class=\"page page-slide svelte-1qrpci6\"><!></div>"), root_3$62 = /* @__PURE__ */ from_html("<button></button>"), root_4$50 = /* @__PURE__ */ from_html("<div class=\"page-indicator svelte-1qrpci6\"></div>"), root_5$40 = /* @__PURE__ */ from_html("<div role=\"region\" tabindex=\"0\"><div class=\"book-viewport svelte-1qrpci6\"><!> <div class=\"pages-container svelte-1qrpci6\"></div> <!></div> <!></div>"), $$css$192 = {
4706
5017
  hash: "svelte-1qrpci6",
4707
- code: ".book.svelte-1qrpci6 {width:var(--book-width, 100%);background-color:var(--book-background, #ffffff);border-radius:var(--book-border-radius, var(--radius, 4px));border:var(--book-border, 1px solid #e0e0e0);outline:none;}.book-viewport.svelte-1qrpci6 {position:relative;display:flex;align-items:center;}.pages-container.svelte-1qrpci6 {position:relative;width:100%;height:var(--book-height, 400px);overflow:var(--book-overflow, hidden);}.page.svelte-1qrpci6 {width:100%;height:100%;}.page-slide.svelte-1qrpci6 {position:absolute;top:0;left:0;transition:transform var(--book-transition-duration, 0.3s) ease;}.page-fade.svelte-1qrpci6 {position:absolute;top:0;left:0;opacity:0;transition:opacity var(--book-transition-duration, 0.3s) ease;pointer-events:none;}.page-fade.page-active.svelte-1qrpci6 {opacity:1;pointer-events:auto;}.nav-button.svelte-1qrpci6 {display:flex;align-items:center;justify-content:center;--button-width: var(--book-nav-size, 36px);--button-height: var(--book-nav-size, 36px);--button-min-width: var(--book-nav-size, 36px);--button-background: var(--book-nav-background, rgba(0, 0, 0, 0.05));--button-border: none;--button-border-radius: var(--book-nav-border-radius, 50%);--button-padding: 0;--button-color: var(--book-nav-color, #333333);--button-hover-background: var(--book-nav-hover-background, rgba(0, 0, 0, 0.1));}.nav-disabled.svelte-1qrpci6 {opacity:var(--book-nav-disabled-opacity, 0.3);}.nav-button.svelte-1qrpci6 svg {width:18px;height:18px;}.nav-prev.svelte-1qrpci6 {margin-right:4px;}.nav-next.svelte-1qrpci6 {margin-left:4px;}.page-indicator.svelte-1qrpci6 {display:flex;justify-content:center;align-items:center;gap:var(--book-dot-gap, 8px);padding:var(--book-indicator-padding, 12px 0);}.dot.svelte-1qrpci6 {width:var(--book-dot-size, 8px);height:var(--book-dot-size, 8px);border-radius:var(--book-dot-border-radius, 50%);background-color:var(--book-dot-color, #cccccc);border:none;padding:0;cursor:pointer;transition:background-color var(--book-dot-transition-duration, var(--motion-duration, 0.2s))\n var(--book-dot-transition-easing, var(--motion-easing, ease));}.dot-active.svelte-1qrpci6 {background-color:var(--book-dot-active-color, #333333);}\n\n /* The page turn is a transform, which is the movement prefers-reduced-motion\n exists for. Both ends of the transition are meaningful on their own -- a page\n is either turned or not -- so removing it leaves no misleading frame, unlike\n the timed loaders in Button and ListItem. This block lives in the component's\n own <style> because that is the only stylesheet reaching inside the shadow\n root a custom-element consumer gets. */\n @media (prefers-reduced-motion: reduce) {.page.svelte-1qrpci6 {transition:none;}\n }"
5018
+ code: ".book.svelte-1qrpci6 {width:var(--book-width, 100%);background-color:var(--book-background, #ffffff);border-radius:var(--book-border-radius, var(--radius, 4px));border:var(--book-border, 1px solid #e0e0e0);outline:none;}\n\n /* role=\"region\" tabindex=\"0\" above makes this a real Tab stop (arrow keys\n then page it via handleKeyDown), so removing its outline unconditionally\n left a keyboard user with no visible sign it was focused. :focus-visible\n so tapping/clicking into the book to swipe doesn't show a ring. */.book.svelte-1qrpci6:focus-visible {outline:var(--book-focus-outline, 2px solid #2563eb);outline-offset:var(--book-focus-outline-offset, 2px);}.book-viewport.svelte-1qrpci6 {position:relative;display:flex;align-items:center;}.pages-container.svelte-1qrpci6 {position:relative;width:100%;height:var(--book-height, 400px);overflow:var(--book-overflow, hidden);}.page.svelte-1qrpci6 {width:100%;height:100%;}.page-slide.svelte-1qrpci6 {position:absolute;top:0;left:0;transition:transform var(--book-transition-duration, 0.3s) ease;}.page-fade.svelte-1qrpci6 {position:absolute;top:0;left:0;opacity:0;transition:opacity var(--book-transition-duration, 0.3s) ease;pointer-events:none;}.page-fade.page-active.svelte-1qrpci6 {opacity:1;pointer-events:auto;}.nav-button.svelte-1qrpci6 {display:flex;align-items:center;justify-content:center;--button-width: var(--book-nav-size, 36px);--button-height: var(--book-nav-size, 36px);--button-min-width: var(--book-nav-size, 36px);--button-background: var(--book-nav-background, rgba(0, 0, 0, 0.05));--button-border: none;--button-border-radius: var(--book-nav-border-radius, 50%);--button-padding: 0;--button-color: var(--book-nav-color, #333333);--button-hover-background: var(--book-nav-hover-background, rgba(0, 0, 0, 0.1));}.nav-disabled.svelte-1qrpci6 {opacity:var(--book-nav-disabled-opacity, 0.3);}.nav-button.svelte-1qrpci6 svg {width:18px;height:18px;}.nav-prev.svelte-1qrpci6 {margin-right:4px;}.nav-next.svelte-1qrpci6 {margin-left:4px;}.page-indicator.svelte-1qrpci6 {display:flex;justify-content:center;align-items:center;gap:var(--book-dot-gap, 8px);padding:var(--book-indicator-padding, 12px 0);}.dot.svelte-1qrpci6 {width:var(--book-dot-size, 8px);height:var(--book-dot-size, 8px);border-radius:var(--book-dot-border-radius, 50%);background-color:var(--book-dot-color, #cccccc);border:none;padding:0;cursor:pointer;transition:background-color var(--book-dot-transition-duration, var(--motion-duration, 0.2s))\n var(--book-dot-transition-easing, var(--motion-easing, ease));}.dot-active.svelte-1qrpci6 {background-color:var(--book-dot-active-color, #333333);}\n\n /* The page turn is a transform, which is the movement prefers-reduced-motion\n exists for. Both ends of the transition are meaningful on their own -- a page\n is either turned or not -- so removing it leaves no misleading frame, unlike\n the timed loaders in Button and ListItem. This block lives in the component's\n own <style> because that is the only stylesheet reaching inside the shadow\n root a custom-element consumer gets. */\n @media (prefers-reduced-motion: reduce) {.page.svelte-1qrpci6 {transition:none;}\n }"
4708
5019
  };
4709
5020
  function Book(e, t) {
4710
5021
  push(t, !0), append_styles$1(e, $$css$192);
@@ -5357,13 +5668,14 @@ function Calendar(e, t) {
5357
5668
  let t = e.getTime();
5358
5669
  return s() !== null && t < ut(s()).getTime() || c() !== null && t > ut(c()).getTime() ? !0 : typeof l() == "function" ? l()(e) : Array.isArray(l()) ? l().some((t) => ft(t, e)) : !1;
5359
5670
  }
5360
- function mt(e) {
5361
- G.setMonth(G.getMonth() + e), set(be, null), R()?.({
5671
+ let mt = /* @__PURE__ */ user_derived(() => s() !== null && new SvelteDate(G.getFullYear(), G.getMonth(), 0).getTime() < ut(s()).getTime()), ht = /* @__PURE__ */ user_derived(() => c() !== null && new SvelteDate(G.getFullYear(), G.getMonth() + 1, 1).getTime() > ut(c()).getTime());
5672
+ function gt(e) {
5673
+ e < 0 && get(mt) || e > 0 && get(ht) || (G.setMonth(G.getMonth() + e), set(be, null), R()?.({
5362
5674
  year: G.getFullYear(),
5363
5675
  month: G.getMonth()
5364
- });
5676
+ }));
5365
5677
  }
5366
- function ht(e) {
5678
+ function _t(e) {
5367
5679
  if (!pt(e)) if (set(be, e.getDate(), !0), o() === "single") n(e), C()?.({ date: e });
5368
5680
  else if (i() === null || a() !== null) i(e), a(null);
5369
5681
  else {
@@ -5374,23 +5686,23 @@ function Calendar(e, t) {
5374
5686
  });
5375
5687
  }
5376
5688
  }
5377
- function gt(e, t, n) {
5689
+ function vt(e, t, n) {
5378
5690
  let i = new SvelteDate(e, t, n);
5379
5691
  return i.setHours(0, 0, 0, 0), i;
5380
5692
  }
5381
- let _t = 3660;
5382
- function vt(e, t) {
5693
+ let yt = 3660;
5694
+ function bt(e, t) {
5383
5695
  let n = new SvelteDate(e);
5384
5696
  for (let e = 0; e < 3660; e++) if (n.setDate(n.getDate() + t), n.setHours(0, 0, 0, 0), !pt(n)) return n;
5385
5697
  return null;
5386
5698
  }
5387
- function yt(e) {
5699
+ function xt(e) {
5388
5700
  (e.getFullYear() !== G.getFullYear() || e.getMonth() !== G.getMonth()) && (G.setFullYear(e.getFullYear(), e.getMonth(), 1), R()?.({
5389
5701
  year: G.getFullYear(),
5390
5702
  month: G.getMonth()
5391
5703
  })), set(be, e.getDate(), !0), Re();
5392
5704
  }
5393
- function bt(e) {
5705
+ function St(e) {
5394
5706
  let t = G.getFullYear(), n = G.getMonth();
5395
5707
  switch (e.key) {
5396
5708
  case "ArrowRight":
@@ -5398,17 +5710,17 @@ function Calendar(e, t) {
5398
5710
  case "ArrowDown":
5399
5711
  case "ArrowUp": {
5400
5712
  if (e.preventDefault(), get(lt) === null) break;
5401
- let i = e.key === "ArrowRight" ? 1 : e.key === "ArrowLeft" ? -1 : e.key === "ArrowDown" ? 7 : -7, a = vt(gt(t, n, get(lt)), i);
5402
- a !== null && yt(a);
5713
+ let i = e.key === "ArrowRight" ? 1 : e.key === "ArrowLeft" ? -1 : e.key === "ArrowDown" ? 7 : -7, a = bt(vt(t, n, get(lt)), i);
5714
+ a !== null && xt(a);
5403
5715
  break;
5404
5716
  }
5405
5717
  case "Enter":
5406
5718
  case " ":
5407
- e.preventDefault(), get(lt) !== null && ht(gt(t, n, get(lt)));
5719
+ e.preventDefault(), get(lt) !== null && _t(vt(t, n, get(lt)));
5408
5720
  break;
5409
5721
  }
5410
5722
  }
5411
- var xt = {
5723
+ var Ct = {
5412
5724
  get value() {
5413
5725
  return n();
5414
5726
  },
@@ -5511,10 +5823,13 @@ function Calendar(e, t) {
5511
5823
  set initialMonth(e = null) {
5512
5824
  ne(e), flushSync();
5513
5825
  }
5514
- }, St = root_3$61(), Ct = child(St), wt = child(Ct);
5515
- Button(child(wt), {
5516
- onclick: () => mt(-1),
5826
+ }, wt = root_3$61(), Tt = child(wt), Et = child(Tt);
5827
+ Button(child(Et), {
5828
+ onclick: () => gt(-1),
5517
5829
  ariaLabel: "Previous month",
5830
+ get disabled() {
5831
+ return get(mt);
5832
+ },
5518
5833
  children: (e, t) => {
5519
5834
  var n = comment(), i = first_child(n), a = (e) => {
5520
5835
  var t = comment();
@@ -5528,13 +5843,16 @@ function Calendar(e, t) {
5528
5843
  }), append(e, n);
5529
5844
  },
5530
5845
  $$slots: { default: !0 }
5531
- }), reset(wt);
5532
- var Tt = sibling(wt, 2), Et = child(Tt, !0);
5533
- reset(Tt);
5534
- var Dt = sibling(Tt, 2);
5535
- Button(child(Dt), {
5536
- onclick: () => mt(1),
5846
+ }), reset(Et);
5847
+ var Dt = sibling(Et, 2), Ot = child(Dt, !0);
5848
+ reset(Dt);
5849
+ var kt = sibling(Dt, 2);
5850
+ Button(child(kt), {
5851
+ onclick: () => gt(1),
5537
5852
  ariaLabel: "Next month",
5853
+ get disabled() {
5854
+ return get(ht);
5855
+ },
5538
5856
  children: (e, t) => {
5539
5857
  var n = comment(), i = first_child(n), a = (e) => {
5540
5858
  var t = comment();
@@ -5548,14 +5866,14 @@ function Calendar(e, t) {
5548
5866
  }), append(e, n);
5549
5867
  },
5550
5868
  $$slots: { default: !0 }
5551
- }), reset(Dt), reset(Ct);
5552
- var Ot = sibling(Ct, 2);
5553
- each(Ot, 20, () => get(at), (e) => e, (e, t) => {
5869
+ }), reset(kt), reset(Tt);
5870
+ var At = sibling(Tt, 2);
5871
+ each(At, 20, () => get(at), (e) => e, (e, t) => {
5554
5872
  var n = root$102(), i = child(n, !0);
5555
5873
  reset(n), template_effect(() => set_text(i, t)), append(e, n);
5556
- }), reset(Ot);
5557
- var kt = sibling(Ot, 2);
5558
- return each(kt, 21, () => get(ct), (e) => e.date.getTime(), (e, t) => {
5874
+ }), reset(At);
5875
+ var jt = sibling(At, 2);
5876
+ return each(jt, 21, () => get(ct), (e) => e.date.getTime(), (e, t) => {
5559
5877
  var n = comment(), i = first_child(n), a = (e) => {
5560
5878
  var n = root_1$91();
5561
5879
  let i;
@@ -5569,7 +5887,7 @@ function Calendar(e, t) {
5569
5887
  "in-range": get(t).isInRange,
5570
5888
  disabled: get(t).isDisabled
5571
5889
  }), set_attribute(n, "data-day", get(t).day), n.disabled = get(t).isDisabled, set_attribute(n, "tabindex", get(lt) === get(t).day ? 0 : -1), set_attribute(n, "aria-label", e), set_text(a, get(t).day);
5572
- }, [() => get(t).date.toLocaleDateString(f())]), delegated("click", n, () => ht(get(t).date)), append(e, n);
5890
+ }, [() => get(t).date.toLocaleDateString(f())]), delegated("click", n, () => _t(get(t).date)), append(e, n);
5573
5891
  }, o = (e) => {
5574
5892
  var n = root_2$70(), i = child(n, !0);
5575
5893
  reset(n), template_effect(() => set_text(i, get(t).day)), append(e, n);
@@ -5577,9 +5895,9 @@ function Calendar(e, t) {
5577
5895
  if_block(i, (e) => {
5578
5896
  get(t).isCurrentMonth ? e(a) : e(o, -1);
5579
5897
  }), append(e, n);
5580
- }), reset(kt), bind_this(kt, (e) => set(Me, e), () => get(Me)), reset(St), template_effect(() => {
5581
- set_class(St, 1, `calendar ${te() ?? "" ?? ""}`, "svelte-kboul8"), set_attribute(St, "data-pw", p()), set_attribute(St, "testid", p()), set_text(Et, get(ot)), set_attribute(kt, "tabindex", get(lt) === null ? 0 : -1);
5582
- }), delegated("keydown", kt, bt), append(e, St), pop(xt);
5898
+ }), reset(jt), bind_this(jt, (e) => set(Me, e), () => get(Me)), reset(wt), template_effect(() => {
5899
+ set_class(wt, 1, `calendar ${te() ?? "" ?? ""}`, "svelte-kboul8"), set_attribute(wt, "data-pw", p()), set_attribute(wt, "testid", p()), set_text(Ot, get(ot)), set_attribute(jt, "tabindex", get(lt) === null ? 0 : -1);
5900
+ }), delegated("keydown", jt, St), append(e, wt), pop(Ct);
5583
5901
  }
5584
5902
  delegate(["keydown", "click"]), create_custom_element(Calendar, {
5585
5903
  value: {},
@@ -5671,7 +5989,7 @@ customElements.define("sui-calendar", create_custom_element(Calendar_wc, {
5671
5989
  //#region src/lib/Carousel/Carousel.svelte
5672
5990
  var root$101 = /* @__PURE__ */ from_html("<div class=\"current-slide svelte-vk4ljo\"><!></div>"), root_1$90 = /* @__PURE__ */ from_html("<div class=\"carousel svelte-vk4ljo\"><div class=\"slidesDiv svelte-vk4ljo\"></div></div>"), root_2$69 = /* @__PURE__ */ from_html("<div role=\"button\" tabindex=\"0\"></div>"), root_3$60 = /* @__PURE__ */ from_html("<div class=\"dots-wrapper svelte-vk4ljo\"></div>"), root_4$49 = /* @__PURE__ */ from_html("<div><!> <!> <div class=\"carousel-live-region svelte-vk4ljo\" aria-live=\"polite\" aria-atomic=\"true\"><!></div></div>"), $$css$186 = {
5673
5991
  hash: "svelte-vk4ljo",
5674
- code: ".carousel-container.svelte-vk4ljo {width:var(--carousel-width);}.current-slide.svelte-vk4ljo {width:var(--carousel-width, 300px);height:var(--carousel-height, 100px);flex-shrink:0;}.carousel.svelte-vk4ljo {box-shadow:var(--carousel-shadow);height:var(--carousel-height, 100px);width:var(--carousel-width, 300px);overflow:hidden;border-radius:var(--carousel-border-radius, 0%);}.carousel.svelte-vk4ljo:active {cursor:grabbing;}.slidesDiv.svelte-vk4ljo {display:flex;transform:translateX(0);transition:transform var(--carousel-track-transition-duration, var(--motion-duration, 0.5s))\n var(--carousel-track-transition-easing, var(--motion-easing, ease-in-out));}.dots-wrapper.svelte-vk4ljo {gap:var(--dot-gap, 10px);padding-top:var(--dot-padding-top, 10px);display:flex;justify-content:center;}.dot.svelte-vk4ljo {width:var(--dot-width, 5px);height:var(--dot-height, 5px);border-radius:50%;background:var(--carousel-dot-color, #c4c4c4);cursor:pointer;transition:all var(--carousel-dot-transition-duration, var(--motion-duration, 0.3s))\n var(--carousel-dot-transition-easing, var(--motion-easing, ease));}.active-dot.svelte-vk4ljo {width:var(--dot-width, 5px);height:var(--dot-height, 5px);border-radius:50%;cursor:pointer;background:var(--carousel-dot-active-color, #000000);transition:all var(--carousel-dot-transition-duration, var(--motion-duration, 0.3s))\n var(--carousel-dot-transition-easing, var(--motion-easing, ease));}.dot.svelte-vk4ljo:focus-visible,\n .active-dot.svelte-vk4ljo:focus-visible {outline:var(--dot-focus-outline, 2px solid #000000);outline-offset:var(--dot-focus-outline-offset, 2px);}\n /*\n @media only screen and (max-width: 324px) {\n\n .carousel-container {\n width:270px;\n\n }\n .current-slide {\n width: 270px;\n }\n .carousel {\n width:270px;\n }\n }\n\n @media only screen and (max-width: 269px) {\n .carousel-container {\n width:240px;\n }\n .current-slide {\n width: 240px;\n }\n .carousel {\n width:240px;\n }\n\n } */\n\n /* Visually hidden but readable by assistive tech -- the standard clip pattern\n rather than display:none, which would remove it from the a11y tree. */.carousel-live-region.svelte-vk4ljo {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}"
5992
+ code: ".carousel-container.svelte-vk4ljo {width:var(--carousel-width);}.current-slide.svelte-vk4ljo {width:var(--carousel-width, 300px);height:var(--carousel-height, 100px);flex-shrink:0;}.carousel.svelte-vk4ljo {box-shadow:var(--carousel-shadow);height:var(--carousel-height, 100px);width:var(--carousel-width, 300px);overflow:hidden;border-radius:var(--carousel-border-radius, 0%);}.carousel.svelte-vk4ljo:active {cursor:grabbing;}.slidesDiv.svelte-vk4ljo {display:flex;transform:translateX(0);transition:transform var(--carousel-track-transition-duration, var(--motion-duration, 0.5s))\n var(--carousel-track-transition-easing, var(--motion-easing, ease-in-out));}\n /* The track slide is the component's motion. The dots below transition only\n `background`, which is a colour change rather than movement, so they are\n deliberately left alone -- silencing them would remove feedback the\n preference never asked to remove. Finite, so dropping it lands the track on\n the slide it was moving to. */\n @media (prefers-reduced-motion: reduce) {.slidesDiv.svelte-vk4ljo {transition:none;}\n }.dots-wrapper.svelte-vk4ljo {gap:var(--dot-gap, 10px);padding-top:var(--dot-padding-top, 10px);display:flex;justify-content:center;}.dot.svelte-vk4ljo {width:var(--dot-width, 5px);height:var(--dot-height, 5px);border-radius:50%;background:var(--carousel-dot-color, #c4c4c4);cursor:pointer;\n /* Only background actually differs between .dot and .active-dot, so only\n background is transitioned. `transition: all` used to catch `outline`\n too, animating the keyboard focus ring in on every Tab. */transition:background var(--carousel-dot-transition-duration, var(--motion-duration, 0.3s))\n var(--carousel-dot-transition-easing, var(--motion-easing, ease));}.active-dot.svelte-vk4ljo {width:var(--dot-width, 5px);height:var(--dot-height, 5px);border-radius:50%;cursor:pointer;background:var(--carousel-dot-active-color, #000000);\n /* See .dot above: scoped to background so outline is never transitioned. */transition:background var(--carousel-dot-transition-duration, var(--motion-duration, 0.3s))\n var(--carousel-dot-transition-easing, var(--motion-easing, ease));}.dot.svelte-vk4ljo:focus-visible,\n .active-dot.svelte-vk4ljo:focus-visible {outline:var(--dot-focus-outline, 2px solid #000000);outline-offset:var(--dot-focus-outline-offset, 2px);}\n /*\n @media only screen and (max-width: 324px) {\n\n .carousel-container {\n width:270px;\n\n }\n .current-slide {\n width: 270px;\n }\n .carousel {\n width:270px;\n }\n }\n\n @media only screen and (max-width: 269px) {\n .carousel-container {\n width:240px;\n }\n .current-slide {\n width: 240px;\n }\n .carousel {\n width:240px;\n }\n\n } */\n\n /* Visually hidden but readable by assistive tech -- the standard clip pattern\n rather than display:none, which would remove it from the a11y tree. */.carousel-live-region.svelte-vk4ljo {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}"
5675
5993
  };
5676
5994
  function Carousel(e, t) {
5677
5995
  push(t, !0), append_styles$1(e, $$css$186);
@@ -6615,7 +6933,7 @@ function getActiveElement(e) {
6615
6933
  //#region src/lib/Input/Input.svelte
6616
6934
  var root$98 = /* @__PURE__ */ from_html("<textarea></textarea>"), root_1$87 = /* @__PURE__ */ from_html("<input/>"), root_2$67 = /* @__PURE__ */ from_html("<span class=\"input-mandatory-asterisk svelte-1h0c2oe\" aria-hidden=\"true\">*</span>"), root_3$58 = /* @__PURE__ */ from_html("<label class=\"label svelte-1h0c2oe\"> <!></label>"), root_4$47 = /* @__PURE__ */ from_html("<button type=\"button\" class=\"input-icon input-icon-left input-icon-button svelte-1h0c2oe\"><!></button>"), root_5$39 = /* @__PURE__ */ from_html("<span class=\"input-icon input-icon-left svelte-1h0c2oe\"><!></span>"), root_6$33 = /* @__PURE__ */ from_html("<button type=\"button\" class=\"input-icon input-icon-right input-icon-button svelte-1h0c2oe\"><!></button>"), root_7$30 = /* @__PURE__ */ from_html("<span class=\"input-icon input-icon-right svelte-1h0c2oe\"><!></span>"), root_8$24 = /* @__PURE__ */ from_html("<div><!> <!> <!></div>"), root_9$20 = /* @__PURE__ */ from_html("<div role=\"alert\" class=\"error-message svelte-1h0c2oe\"> </div>"), root_10$17 = /* @__PURE__ */ from_html("<div class=\"info-message svelte-1h0c2oe\"> </div>"), root_11$15 = /* @__PURE__ */ from_html("<div> </div>"), root_12$14 = /* @__PURE__ */ from_html("<div><!> <!> <!> <!> <!></div>"), $$css$182 = {
6617
6935
  hash: "svelte-1h0c2oe",
6618
- code: "textarea.svelte-1h0c2oe,\n input.svelte-1h0c2oe {box-sizing:var(--input-box-sizing, border-box);height:var(--input-height, fit-content);\n\n /* Both default to the CSS initial value, so a consumer that sets neither is\n byte-identical to before. A textarea that grows with its content needs a\n ceiling before it can scroll, and one used as a paste target needs a floor;\n neither was reachable through the --input-* surface. */min-height:var(--input-min-height, auto);max-height:var(--input-max-height, none);background-color:var(--input-background, white);font-size:var(--input-font-size, 16px) !important;font-family:var(--input-font-family, inherit);border-radius:var(--input-radius, var(--radius, 4px));outline:none;padding:var(--input-padding, 16px);font-weight:var(--input-font-weight, 500);\n\n /* `normal` is what a textarea/input computes today regardless of any inherited\n value — the UA sheet sets it, and inheritance loses to a UA declaration on the\n element itself. So the default here is byte-identical for existing consumers,\n and this is the only way a consumer can set it at all. */line-height:var(--input-line-height, normal);width:var(--input-width, fit-content);margin:var(--input-margin, 0);appearance:none !important;-webkit-appearance:none !important; /* For Safari MWeb */box-shadow:var(--input-box-shadow, 0px 1px 8px #2f537733);border:var(--input-border, 1px solid transparent);resize:none;visibility:var(--input-visibility, visible);text-align:var(--input-text-align, left);text-transform:var(--input-text-transform, none);color:var(--input-text-color, #333333);}textarea.svelte-1h0c2oe:focus,\n input.svelte-1h0c2oe:focus {border:var(--input-focus-border, 1px solid transparent);}.input-error.svelte-1h0c2oe {--input-focus-border: var(\n --input-error-border,\n 1px solid var(--input-error-msg-text-color, #c5120a)\n ) !important;--input-border: var(\n --input-error-border,\n 1px solid var(--input-error-msg-text-color, #c5120a)\n ) !important;}.action-input.svelte-1h0c2oe {border-radius:var(--input-radius, var(--radius, 4px) 0 0 var(--radius, 4px));box-shadow:var(--input-box-shadow, 0px 0px 0px #ffffff);margin-bottom:0;}.input-container.svelte-1h0c2oe {display:flex;flex-direction:column;margin:var(--input-container-margin, 0);padding:var(--input-container-padding, 0);width:var(--input-container-width, fit-content);}.label.svelte-1h0c2oe {font-weight:var(--input-label-msg-text-weight, 400);font-size:var(--input-label-msg-text-size, 12px);color:var(--input-label-msg-text-color, #4d6174);margin:var(--input-label-msg-margin, 0px 0px 6px 0px);padding:var(--input-label-msg-padding);}.input-mandatory-asterisk.svelte-1h0c2oe {color:var(--input-mandatory-color, var(--input-error-msg-text-color, #c5120a));margin-left:var(--input-mandatory-gap, 2px);}\n\n /* Icon wrapper: only rendered when leftIcon/rightIcon is supplied, so non-icon\n consumers keep the exact prior DOM. The field's bottom margin moves to the\n wrap so the absolutely-positioned icons centre on the field, not the margin. */.input-field-wrap.svelte-1h0c2oe {position:relative;display:block;margin:var(--input-margin, 0);}.input-field-wrap.svelte-1h0c2oe > textarea,\n .input-field-wrap.svelte-1h0c2oe > input {margin:0 !important;width:var(--input-width, 100%);}.input-icon.svelte-1h0c2oe {position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:var(--input-icon-size, 20px);height:var(--input-icon-size, 20px);color:var(--input-icon-color, inherit);pointer-events:none;}.input-icon-button.svelte-1h0c2oe {background:none;border:none;padding:0;cursor:pointer;pointer-events:auto;}.input-icon-button.svelte-1h0c2oe:focus-visible {outline:var(--input-icon-focus-outline, 2px solid var(--input-focus-border-color, #005fcc));outline-offset:var(--input-icon-focus-outline-offset, 2px);border-radius:var(--input-icon-focus-radius, var(--radius, 4px));}.input-icon-left.svelte-1h0c2oe {left:var(--input-icon-gap, 12px);color:var(--input-left-icon-color, var(--input-icon-color, inherit));}.input-icon-right.svelte-1h0c2oe {right:var(--input-icon-gap, 12px);}.input-field-wrap.has-left-icon.svelte-1h0c2oe > textarea,\n .input-field-wrap.has-left-icon.svelte-1h0c2oe > input {padding-left:calc(var(--input-icon-size, 20px) + var(--input-icon-gap, 12px) * 2);}.input-field-wrap.has-right-icon.svelte-1h0c2oe > textarea,\n .input-field-wrap.has-right-icon.svelte-1h0c2oe > input {padding-right:calc(var(--input-icon-size, 20px) + var(--input-icon-gap, 12px) * 2);}.error-message.svelte-1h0c2oe {font-weight:var(--input-error-msg-text-weight, 400);font-size:var(--input-error-msg-text-size, 12px);\n /* #c5120a clears WCAG AA (6.06:1 on white) at this 12px size; the prior #fa1405\n default was only 4.06:1, so the error message itself failed to be legible. */color:var(--input-error-msg-text-color, #c5120a);margin:var(--input-error-msg-margin);padding:var(--input-error-msg-padding);}.info-message.svelte-1h0c2oe {font-weight:var(--input-info-msg-text-weight, 400);font-size:var(--input-info-msg-text-size, 12px);\n /* Neutral on purpose -- this used to default to the same red as .error-message,\n so helper text with no error visually read as a failed field (color-alone\n signalling, WCAG 1.4.1). #52525b is the muted-text tone already used for\n ChatToolStatus/ThinkingIndicator elsewhere in this library, at 7.73:1. */color:var(--input-info-msg-text-color, #52525b);margin:var(--input-info-msg-margin);padding:var(--input-info-msg-padding);}.input-char-count.svelte-1h0c2oe {align-self:flex-end;font-size:var(--input-char-count-size, 12px);color:var(--input-char-count-color, #5c6b7a);margin:var(--input-char-count-margin, 4px 0 0);font-variant-numeric:tabular-nums;}.input-char-count.at-limit.svelte-1h0c2oe {color:var(--input-char-count-limit-color, var(--input-error-msg-text-color, #c5120a));}.svelte-1h0c2oe::placeholder {color:var(--input-placeholder-color, #5c6b7a);}"
6936
+ code: "textarea.svelte-1h0c2oe,\n input.svelte-1h0c2oe {box-sizing:var(--input-box-sizing, border-box);height:var(--input-height, fit-content);\n\n /* Both default to the CSS initial value, so a consumer that sets neither is\n byte-identical to before. A textarea that grows with its content needs a\n ceiling before it can scroll, and one used as a paste target needs a floor;\n neither was reachable through the --input-* surface. */min-height:var(--input-min-height, auto);max-height:var(--input-max-height, none);background-color:var(--input-background, white);font-size:var(--input-font-size, 16px) !important;font-family:var(--input-font-family, inherit);border-radius:var(--input-radius, var(--radius, 4px));outline:none;padding:var(--input-padding, 16px);font-weight:var(--input-font-weight, 500);\n\n /* `normal` is what a textarea/input computes today regardless of any inherited\n value — the UA sheet sets it, and inheritance loses to a UA declaration on the\n element itself. So the default here is byte-identical for existing consumers,\n and this is the only way a consumer can set it at all. */line-height:var(--input-line-height, normal);width:var(--input-width, fit-content);margin:var(--input-margin, 0);appearance:none !important;-webkit-appearance:none !important; /* For Safari MWeb */box-shadow:var(--input-box-shadow, 0px 1px 8px #2f537733);border:var(--input-border, 1px solid transparent);resize:none;visibility:var(--input-visibility, visible);text-align:var(--input-text-align, left);text-transform:var(--input-text-transform, none);color:var(--input-text-color, #333333);}\n\n /* The fallback used to be `1px solid transparent` -- a border that changes\n width/style but not colour, so a mouse-focused OR keyboard-focused field\n looked identical to unfocused. Text inputs use a real :focus (not\n :focus-visible): unlike a button-shaped control, a text field's focus\n ring has to stay visible regardless of input modality, since a mouse\n click into a field is itself the start of a keyboard interaction.\n --input-focus-border-color already exists for exactly this colour (see\n .input-icon-button:focus-visible below), so this reuses it instead of\n minting a second token for the same ring. */textarea.svelte-1h0c2oe:focus,\n input.svelte-1h0c2oe:focus {border:var(--input-focus-border, 1px solid var(--input-focus-border-color, #005fcc));}.input-error.svelte-1h0c2oe {--input-focus-border: var(\n --input-error-border,\n 1px solid var(--input-error-msg-text-color, #c5120a)\n ) !important;--input-border: var(\n --input-error-border,\n 1px solid var(--input-error-msg-text-color, #c5120a)\n ) !important;}.action-input.svelte-1h0c2oe {border-radius:var(--input-radius, var(--radius, 4px) 0 0 var(--radius, 4px));box-shadow:var(--input-box-shadow, 0px 0px 0px #ffffff);margin-bottom:0;}.input-container.svelte-1h0c2oe {display:flex;flex-direction:column;margin:var(--input-container-margin, 0);padding:var(--input-container-padding, 0);width:var(--input-container-width, fit-content);}.label.svelte-1h0c2oe {font-weight:var(--input-label-msg-text-weight, 400);font-size:var(--input-label-msg-text-size, 12px);color:var(--input-label-msg-text-color, #4d6174);margin:var(--input-label-msg-margin, 0px 0px 6px 0px);padding:var(--input-label-msg-padding);}.input-mandatory-asterisk.svelte-1h0c2oe {color:var(--input-mandatory-color, var(--input-error-msg-text-color, #c5120a));margin-left:var(--input-mandatory-gap, 2px);}\n\n /* Icon wrapper: only rendered when leftIcon/rightIcon is supplied, so non-icon\n consumers keep the exact prior DOM. The field's bottom margin moves to the\n wrap so the absolutely-positioned icons centre on the field, not the margin. */.input-field-wrap.svelte-1h0c2oe {position:relative;display:block;margin:var(--input-margin, 0);}.input-field-wrap.svelte-1h0c2oe > textarea,\n .input-field-wrap.svelte-1h0c2oe > input {margin:0 !important;width:var(--input-width, 100%);}.input-icon.svelte-1h0c2oe {position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:var(--input-icon-size, 20px);height:var(--input-icon-size, 20px);color:var(--input-icon-color, inherit);pointer-events:none;}.input-icon-button.svelte-1h0c2oe {background:none;border:none;padding:0;cursor:pointer;pointer-events:auto;}.input-icon-button.svelte-1h0c2oe:focus-visible {outline:var(--input-icon-focus-outline, 2px solid var(--input-focus-border-color, #005fcc));outline-offset:var(--input-icon-focus-outline-offset, 2px);border-radius:var(--input-icon-focus-radius, var(--radius, 4px));}.input-icon-left.svelte-1h0c2oe {left:var(--input-icon-gap, 12px);color:var(--input-left-icon-color, var(--input-icon-color, inherit));}.input-icon-right.svelte-1h0c2oe {right:var(--input-icon-gap, 12px);}.input-field-wrap.has-left-icon.svelte-1h0c2oe > textarea,\n .input-field-wrap.has-left-icon.svelte-1h0c2oe > input {padding-left:calc(var(--input-icon-size, 20px) + var(--input-icon-gap, 12px) * 2);}.input-field-wrap.has-right-icon.svelte-1h0c2oe > textarea,\n .input-field-wrap.has-right-icon.svelte-1h0c2oe > input {padding-right:calc(var(--input-icon-size, 20px) + var(--input-icon-gap, 12px) * 2);}.error-message.svelte-1h0c2oe {font-weight:var(--input-error-msg-text-weight, 400);font-size:var(--input-error-msg-text-size, 12px);\n /* #c5120a clears WCAG AA (6.06:1 on white) at this 12px size; the prior #fa1405\n default was only 4.06:1, so the error message itself failed to be legible. */color:var(--input-error-msg-text-color, #c5120a);margin:var(--input-error-msg-margin);padding:var(--input-error-msg-padding);}.info-message.svelte-1h0c2oe {font-weight:var(--input-info-msg-text-weight, 400);font-size:var(--input-info-msg-text-size, 12px);\n /* Neutral on purpose -- this used to default to the same red as .error-message,\n so helper text with no error visually read as a failed field (color-alone\n signalling, WCAG 1.4.1). #52525b is the muted-text tone already used for\n ChatToolStatus/ThinkingIndicator elsewhere in this library, at 7.73:1. */color:var(--input-info-msg-text-color, #52525b);margin:var(--input-info-msg-margin);padding:var(--input-info-msg-padding);}.input-char-count.svelte-1h0c2oe {align-self:flex-end;font-size:var(--input-char-count-size, 12px);color:var(--input-char-count-color, #5c6b7a);margin:var(--input-char-count-margin, 4px 0 0);font-variant-numeric:tabular-nums;}.input-char-count.at-limit.svelte-1h0c2oe {color:var(--input-char-count-limit-color, var(--input-error-msg-text-color, #c5120a));}.svelte-1h0c2oe::placeholder {color:var(--input-placeholder-color, #5c6b7a);}"
6619
6937
  };
6620
6938
  function Input(e, t) {
6621
6939
  let n = props_id();
@@ -6648,8 +6966,12 @@ function Input(e, t) {
6648
6966
  user_effect(() => {
6649
6967
  mt()(get(en));
6650
6968
  });
6651
- let tn = /* @__PURE__ */ user_derived(() => get(en) === "Invalid"), nn = /* @__PURE__ */ user_derived(() => get(tn) || Mt()), rn = /* @__PURE__ */ user_derived(() => `${get(Ht)}-error`), an = /* @__PURE__ */ user_derived(() => c() != null && c() !== "" && get(nn) && !G()), on = /* @__PURE__ */ user_derived(() => `${get(Ht)}-info`), sn = /* @__PURE__ */ user_derived(() => l() !== "" && !G()), cn = /* @__PURE__ */ user_derived(() => [get(an) ? get(rn) : null, get(sn) ? get(on) : null].filter(Boolean).join(" ")), ln = /* @__PURE__ */ user_derived(() => typeof wt() == "function"), un = /* @__PURE__ */ user_derived(() => typeof Tt() == "function"), dn = /* @__PURE__ */ user_derived(() => i()?.length ?? 0), fn = /* @__PURE__ */ user_derived(() => R() ?? 1e3), pn = /* @__PURE__ */ user_derived(() => Pt() ? "none" : Rt());
6652
- function mn() {
6969
+ let tn = /* @__PURE__ */ user_derived(() => get(en) === "Invalid"), nn = /* @__PURE__ */ user_derived(() => get(tn) || Mt()), rn = /* @__PURE__ */ user_derived(() => get(nn) && !G()), an = /* @__PURE__ */ user_derived(() => describeField(get(Ht), {
6970
+ error: get(rn) && c() != null && c() !== "" ? c() : null,
6971
+ info: !G() && l() !== "" ? l() : null,
6972
+ invalid: get(rn)
6973
+ })), on = /* @__PURE__ */ user_derived(() => typeof wt() == "function"), sn = /* @__PURE__ */ user_derived(() => typeof Tt() == "function"), cn = /* @__PURE__ */ user_derived(() => i()?.length ?? 0), ln = /* @__PURE__ */ user_derived(() => R() ?? 1e3), un = /* @__PURE__ */ user_derived(() => Pt() ? "none" : Rt());
6974
+ function dn() {
6653
6975
  let e = get($t);
6654
6976
  if (!e || !be() || !Pt()) return;
6655
6977
  e.style.height = "auto";
@@ -6657,9 +6979,9 @@ function Input(e, t) {
6657
6979
  e.style.height = `${u}px`, e.style.overflowY = e.scrollHeight > l ? "auto" : "hidden";
6658
6980
  }
6659
6981
  user_effect(() => {
6660
- i(), be() && Pt() && mn();
6982
+ i(), be() && Pt() && dn();
6661
6983
  });
6662
- function hn(e) {
6984
+ function fn(e) {
6663
6985
  if (get($t) === null) return;
6664
6986
  let t = get($t).value;
6665
6987
  if (o() === "tel" && t.length > 0) {
@@ -6669,18 +6991,18 @@ function Input(e, t) {
6669
6991
  get($t).value = i();
6670
6992
  return;
6671
6993
  }
6672
- if (e > get(fn)) {
6673
- if (i().length === get(fn)) {
6674
- get($t).value = _n(i());
6994
+ if (e > get(ln)) {
6995
+ if (i().length === get(ln)) {
6996
+ get($t).value = mn(i());
6675
6997
  return;
6676
6998
  }
6677
- t = t.substring(e - get(fn));
6999
+ t = t.substring(e - get(ln));
6678
7000
  }
6679
- t = _n(t), get($t).value = t;
7001
+ t = mn(t), get($t).value = t;
6680
7002
  }
6681
7003
  i(get($t).value), ft()?.(get($t).value, e);
6682
7004
  }
6683
- function gn(e) {
7005
+ function pn(e) {
6684
7006
  if (get($t) !== null) {
6685
7007
  if (o() !== "tel") {
6686
7008
  pt()?.(e);
@@ -6690,17 +7012,17 @@ function Input(e, t) {
6690
7012
  let t = e.clipboardData.getData("text");
6691
7013
  t = ot().reduce((e, t) => t(e), t);
6692
7014
  let n = t.replace(/\D+|\D/gm, ""), a = n.length;
6693
- n.length === 0 && e.preventDefault(), n.length > get(fn) && (i(_n(n.substring(a - get(fn)))), pt()?.(e), e.preventDefault());
7015
+ n.length === 0 && e.preventDefault(), n.length > get(ln) && (i(mn(n.substring(a - get(ln)))), pt()?.(e), e.preventDefault());
6694
7016
  }
6695
7017
  }
6696
7018
  }
6697
- function _n(e) {
7019
+ function mn(e) {
6698
7020
  return ct().reduce((e, t) => t(e), e);
6699
7021
  }
6700
- function vn(e) {
7022
+ function hn(e) {
6701
7023
  get(en) === "InProgress" && i().length > 0 && set(en, "Invalid"), ut()?.(e), dt()?.(e);
6702
7024
  }
6703
- var yn = {
7025
+ var gn = {
6704
7026
  focus: qt,
6705
7027
  blur: Zt,
6706
7028
  getInputRef: Qt,
@@ -7040,8 +7362,8 @@ function Input(e, t) {
7040
7362
  set showCount(e = !1) {
7041
7363
  zt(e), flushSync();
7042
7364
  }
7043
- }, bn = root_12$14();
7044
- let xn;
7365
+ }, _n = root_12$14();
7366
+ let vn;
7045
7367
  {
7046
7368
  let e = (e) => {
7047
7369
  var t = comment(), n = first_child(t), s = (e) => {
@@ -7049,10 +7371,10 @@ function Input(e, t) {
7049
7371
  remove_textarea_child(t);
7050
7372
  let n, s;
7051
7373
  bind_this(t, (e) => set($t, e), () => get($t)), template_effect(() => {
7052
- set_attribute(t, "id", get(Ht)), set_value(t, i()), set_attribute(t, "placeholder", a()), set_attribute(t, "aria-label", get(Gt) ? null : yt() ?? null), set_attribute(t, "autocomplete", Me()), set_attribute(t, "inputmode", Re()), set_attribute(t, "name", Ue()), set_attribute(t, "role", vt()), set_attribute(t, "aria-expanded", bt()), set_attribute(t, "aria-autocomplete", xt()), set_attribute(t, "aria-controls", St()), set_attribute(t, "aria-activedescendant", Ct()), set_attribute(t, "aria-required", get(Bt) || null), set_attribute(t, "aria-invalid", get(nn) && !G() ? "true" : null), set_attribute(t, "aria-describedby", get(cn) || null), t.required = get(Bt) || null, set_attribute(t, "data-pw", at()), set_attribute(t, "testid", at()), n = set_style(t, `--focus-border: ${+!!k()}px;`, n, { resize: get(pn) }), set_attribute(t, "rows", Nt() ?? null), t.disabled = f(), t.readOnly = p() || null, set_attribute(t, "spellcheck", h()), set_attribute(t, "maxlength", o() === "tel" ? null : R()), set_attribute(t, "minlength", te()), s = set_class(t, 1, "svelte-1h0c2oe", null, s, { "action-input": G() });
7374
+ set_attribute(t, "id", get(Ht)), set_value(t, i()), set_attribute(t, "placeholder", a()), set_attribute(t, "aria-label", get(Gt) ? null : yt() ?? null), set_attribute(t, "autocomplete", Me()), set_attribute(t, "inputmode", Re()), set_attribute(t, "name", Ue()), set_attribute(t, "role", vt()), set_attribute(t, "aria-expanded", bt()), set_attribute(t, "aria-autocomplete", xt()), set_attribute(t, "aria-controls", St()), set_attribute(t, "aria-activedescendant", Ct()), set_attribute(t, "aria-required", get(Bt) || null), set_attribute(t, "aria-invalid", get(an).ariaInvalid), set_attribute(t, "aria-describedby", get(an).describedBy), t.required = get(Bt) || null, set_attribute(t, "data-pw", at()), set_attribute(t, "testid", at()), n = set_style(t, `--focus-border: ${+!!k()}px;`, n, { resize: get(un) }), set_attribute(t, "rows", Nt() ?? null), t.disabled = f(), t.readOnly = p() || null, set_attribute(t, "spellcheck", h()), set_attribute(t, "maxlength", o() === "tel" ? null : R()), set_attribute(t, "minlength", te()), s = set_class(t, 1, "svelte-1h0c2oe", null, s, { "action-input": G() });
7053
7375
  }), event("focus", t, function(...e) {
7054
7376
  lt()?.apply(this, e);
7055
- }), delegated("focusout", t, vn), delegated("input", t, hn), event("paste", t, gn), delegated("click", t, function(...e) {
7377
+ }), delegated("focusout", t, hn), delegated("input", t, fn), event("paste", t, pn), delegated("click", t, function(...e) {
7056
7378
  ht()?.apply(this, e);
7057
7379
  }), delegated("keydown", t, function(...e) {
7058
7380
  gt()?.apply(this, e);
@@ -7062,10 +7384,10 @@ function Input(e, t) {
7062
7384
  remove_input_defaults(t);
7063
7385
  let n;
7064
7386
  bind_this(t, (e) => set($t, e), () => get($t)), template_effect(() => {
7065
- set_attribute(t, "id", get(Ht)), set_attribute(t, "type", o()), set_value(t, i()), set_attribute(t, "placeholder", a()), set_attribute(t, "aria-label", get(Gt) ? null : yt() ?? null), set_attribute(t, "autocomplete", Me()), set_attribute(t, "inputmode", Re()), set_attribute(t, "name", Ue()), set_attribute(t, "role", vt()), set_attribute(t, "aria-expanded", bt()), set_attribute(t, "aria-autocomplete", xt()), set_attribute(t, "aria-controls", St()), set_attribute(t, "aria-activedescendant", Ct()), set_attribute(t, "aria-required", get(Bt) || null), set_attribute(t, "aria-invalid", get(nn) && !G() ? "true" : null), set_attribute(t, "aria-describedby", get(cn) || null), t.required = get(Bt) || null, set_attribute(t, "data-pw", at()), set_attribute(t, "testid", at()), t.disabled = f(), t.readOnly = p() || null, set_attribute(t, "spellcheck", h()), set_attribute(t, "maxlength", o() === "tel" ? null : R()), set_attribute(t, "minlength", te()), set_attribute(t, "min", ne()), set_attribute(t, "max", re()), n = set_class(t, 1, "svelte-1h0c2oe", null, n, { "action-input": G() });
7387
+ set_attribute(t, "id", get(Ht)), set_attribute(t, "type", o()), set_value(t, i()), set_attribute(t, "placeholder", a()), set_attribute(t, "aria-label", get(Gt) ? null : yt() ?? null), set_attribute(t, "autocomplete", Me()), set_attribute(t, "inputmode", Re()), set_attribute(t, "name", Ue()), set_attribute(t, "role", vt()), set_attribute(t, "aria-expanded", bt()), set_attribute(t, "aria-autocomplete", xt()), set_attribute(t, "aria-controls", St()), set_attribute(t, "aria-activedescendant", Ct()), set_attribute(t, "aria-required", get(Bt) || null), set_attribute(t, "aria-invalid", get(an).ariaInvalid), set_attribute(t, "aria-describedby", get(an).describedBy), t.required = get(Bt) || null, set_attribute(t, "data-pw", at()), set_attribute(t, "testid", at()), t.disabled = f(), t.readOnly = p() || null, set_attribute(t, "spellcheck", h()), set_attribute(t, "maxlength", o() === "tel" ? null : R()), set_attribute(t, "minlength", te()), set_attribute(t, "min", ne()), set_attribute(t, "max", re()), n = set_class(t, 1, "svelte-1h0c2oe", null, n, { "action-input": G() });
7066
7388
  }), event("focus", t, function(...e) {
7067
7389
  lt()?.apply(this, e);
7068
- }), delegated("focusout", t, vn), delegated("input", t, hn), event("paste", t, gn), delegated("click", t, function(...e) {
7390
+ }), delegated("focusout", t, hn), delegated("input", t, fn), event("paste", t, pn), delegated("click", t, function(...e) {
7069
7391
  ht()?.apply(this, e);
7070
7392
  }), delegated("keydown", t, function(...e) {
7071
7393
  gt()?.apply(this, e);
@@ -7075,7 +7397,7 @@ function Input(e, t) {
7075
7397
  be() ? e(s) : e(c, -1);
7076
7398
  }), append(e, t);
7077
7399
  };
7078
- var Sn = child(bn), Cn = (e) => {
7400
+ var yn = child(_n), bn = (e) => {
7079
7401
  var t = root_3$58(), n = child(t, !0), i = sibling(n), a = (e) => {
7080
7402
  append(e, root_2$67());
7081
7403
  };
@@ -7085,10 +7407,10 @@ function Input(e, t) {
7085
7407
  set_attribute(t, "for", get(Ht)), set_text(n, s());
7086
7408
  }), append(e, t);
7087
7409
  };
7088
- if_block(Sn, (e) => {
7089
- get(Gt) && e(Cn);
7410
+ if_block(yn, (e) => {
7411
+ get(Gt) && e(bn);
7090
7412
  });
7091
- var wn = sibling(Sn, 2), Tn = (t) => {
7413
+ var xn = sibling(yn, 2), Sn = (t) => {
7092
7414
  var n = root_8$24();
7093
7415
  let i;
7094
7416
  var a = child(n), o = (e) => {
@@ -7106,7 +7428,7 @@ function Input(e, t) {
7106
7428
  }), append(e, t);
7107
7429
  };
7108
7430
  if_block(a, (e) => {
7109
- get(ln) && e(o);
7431
+ get(on) && e(o);
7110
7432
  });
7111
7433
  var s = sibling(a, 2);
7112
7434
  e(s);
@@ -7125,48 +7447,48 @@ function Input(e, t) {
7125
7447
  }), append(e, t);
7126
7448
  };
7127
7449
  if_block(c, (e) => {
7128
- get(un) && e(l);
7450
+ get(sn) && e(l);
7129
7451
  }), reset(n), template_effect(() => i = set_class(n, 1, "input-field-wrap svelte-1h0c2oe", null, i, {
7130
- "has-left-icon": get(ln),
7131
- "has-right-icon": get(un)
7452
+ "has-left-icon": get(on),
7453
+ "has-right-icon": get(sn)
7132
7454
  })), append(t, n);
7133
- }, En = (t) => {
7455
+ }, Cn = (t) => {
7134
7456
  e(t);
7135
7457
  };
7136
- if_block(wn, (e) => {
7137
- get(ln) || get(un) ? e(Tn) : e(En, -1);
7458
+ if_block(xn, (e) => {
7459
+ get(on) || get(sn) ? e(Sn) : e(Cn, -1);
7138
7460
  });
7139
- var Dn = sibling(wn, 2), On = (e) => {
7461
+ var wn = sibling(xn, 2), Tn = (e) => {
7140
7462
  var t = root_9$20(), n = child(t, !0);
7141
7463
  reset(t), template_effect(() => {
7142
- set_attribute(t, "id", get(rn)), set_attribute(t, "data-pw", typeof at() == "string" && at().length > 0 ? `${at()}-error-message` : null), set_attribute(t, "testid", typeof at() == "string" && at().length > 0 ? `${at()}-error-message` : null), set_text(n, c());
7464
+ set_attribute(t, "id", get(an).errorId), set_attribute(t, "data-pw", typeof at() == "string" && at().length > 0 ? `${at()}-error-message` : null), set_attribute(t, "testid", typeof at() == "string" && at().length > 0 ? `${at()}-error-message` : null), set_text(n, c());
7143
7465
  }), append(e, t);
7144
7466
  };
7145
- if_block(Dn, (e) => {
7146
- get(an) && e(On);
7467
+ if_block(wn, (e) => {
7468
+ get(an).showsError && e(Tn);
7147
7469
  });
7148
- var kn = sibling(Dn, 2), An = (e) => {
7470
+ var En = sibling(wn, 2), Dn = (e) => {
7149
7471
  var t = root_10$17(), n = child(t, !0);
7150
7472
  reset(t), template_effect(() => {
7151
- set_attribute(t, "id", get(on)), set_attribute(t, "data-pw", typeof at() == "string" && at().length > 0 ? `${at()}-info-message` : null), set_attribute(t, "testid", typeof at() == "string" && at().length > 0 ? `${at()}-info-message` : null), set_text(n, l());
7473
+ set_attribute(t, "id", get(an).infoId), set_attribute(t, "data-pw", typeof at() == "string" && at().length > 0 ? `${at()}-info-message` : null), set_attribute(t, "testid", typeof at() == "string" && at().length > 0 ? `${at()}-info-message` : null), set_text(n, l());
7152
7474
  }), append(e, t);
7153
7475
  };
7154
- if_block(kn, (e) => {
7155
- get(sn) && e(An);
7476
+ if_block(En, (e) => {
7477
+ get(an).showsInfo && e(Dn);
7156
7478
  });
7157
- var jn = sibling(kn, 2), Mn = (e) => {
7479
+ var On = sibling(En, 2), kn = (e) => {
7158
7480
  var t = root_11$15();
7159
7481
  let n;
7160
7482
  var i = child(t);
7161
7483
  reset(t), template_effect(() => {
7162
- n = set_class(t, 1, "input-char-count svelte-1h0c2oe", null, n, { "at-limit": get(dn) >= get(fn) }), set_text(i, `${get(dn) ?? ""}/${get(fn) ?? ""}`);
7484
+ n = set_class(t, 1, "input-char-count svelte-1h0c2oe", null, n, { "at-limit": get(cn) >= get(ln) }), set_text(i, `${get(cn) ?? ""}/${get(ln) ?? ""}`);
7163
7485
  }), append(e, t);
7164
7486
  };
7165
- if_block(jn, (e) => {
7166
- be() && zt() && !G() && e(Mn);
7167
- }), reset(bn);
7487
+ if_block(On, (e) => {
7488
+ be() && zt() && !G() && e(kn);
7489
+ }), reset(_n);
7168
7490
  }
7169
- return template_effect(() => xn = set_class(bn, 1, `input-container ${_t() ?? "" ?? ""}`, "svelte-1h0c2oe", xn, { "input-error": get(nn) && !G() })), append(e, bn), pop(yn);
7491
+ return template_effect(() => vn = set_class(_n, 1, `input-container ${_t() ?? "" ?? ""}`, "svelte-1h0c2oe", vn, { "input-error": get(nn) && !G() })), append(e, _n), pop(gn);
7170
7492
  }
7171
7493
  delegate([
7172
7494
  "focusout",
@@ -8015,7 +8337,7 @@ delegate(["input", "change"]), create_custom_element(Slider, {
8015
8337
  //#region src/lib/SplitInput/SplitInput.svelte
8016
8338
  var root$94 = /* @__PURE__ */ from_html("<span class=\"field-group-separator svelte-1gcz5cs\"> </span>"), root_1$83 = /* @__PURE__ */ from_html("<span class=\"field-group-label svelte-1gcz5cs\"> </span>"), root_2$63 = /* @__PURE__ */ from_html("<!> <div class=\"field-group-item svelte-1gcz5cs\"><!> <!></div>", 1), root_3$55 = /* @__PURE__ */ from_html("<div role=\"alert\" class=\"field-error svelte-1gcz5cs\"> </div>"), root_4$46 = /* @__PURE__ */ from_html("<div class=\"field-info svelte-1gcz5cs\"> </div>"), root_5$38 = /* @__PURE__ */ from_html("<div></div> <!> <!>", 1), $$css$177 = {
8017
8339
  hash: "svelte-1gcz5cs",
8018
- code: ".field-error.svelte-1gcz5cs {color:var(--field-error-color, #c5120a);font-size:var(--field-error-font-size, 12px);margin:var(--field-error-margin, 4px 0 0 0);}.field-info.svelte-1gcz5cs {color:var(--field-info-color, #6b7280);font-size:var(--field-info-font-size, 12px);margin:var(--field-info-margin, 4px 0 0 0);}.field-group.svelte-1gcz5cs {display:flex;align-items:flex-start;gap:var(--field-group-gap, 8px);width:var(--field-group-width, fit-content);}.field-group-item.svelte-1gcz5cs {display:flex;flex-direction:column;align-items:center;gap:var(--field-group-label-gap, 3px);flex:1;min-width:0;}.field-group-item.svelte-1gcz5cs .field-group-input {--input-border: var(--field-group-border, 1px solid #d1d5db);--input-radius: var(--field-group-border-radius, 6px);--input-focus-border: var(--field-group-focus-border, 1px solid #3b82f6);--input-width: var(--field-group-input-width, 100%);--input-height: var(--field-group-input-height, 36px);--input-text-align: var(--field-group-text-align, center);--input-font-size: var(--field-group-font-size, 14px);--input-font-weight: var(--field-group-font-weight, 500);--input-font-family: var(--field-group-font-family);--input-padding: var(--field-group-input-padding, 0 6px);--input-margin: 0;--input-box-shadow: none;}.field-group-label.svelte-1gcz5cs {font-size:var(--field-group-label-font-size, 10px);font-weight:var(--field-group-label-font-weight, 500);color:var(--field-group-label-color, #4b5563);text-transform:uppercase;letter-spacing:0.05em;}.field-group-separator.svelte-1gcz5cs {display:flex;align-items:center;height:var(--field-group-input-height, 36px);font-size:var(--field-group-separator-font-size, 16px);color:var(--field-group-separator-color, #9ca3af);flex-shrink:0;}"
8340
+ code: ".field-error.svelte-1gcz5cs {color:var(--field-error-color, #c5120a);font-size:var(--field-error-font-size, 12px);margin:var(--field-error-margin, 4px 0 0 0);}.field-info.svelte-1gcz5cs {color:var(--field-info-color, #6b7280);font-size:var(--field-info-font-size, 12px);margin:var(--field-info-margin, 4px 0 0 0);}.field-group.svelte-1gcz5cs {display:flex;align-items:flex-start;gap:var(--field-group-gap, 8px);width:var(--field-group-width, fit-content);}.field-group-item.svelte-1gcz5cs {display:flex;flex-direction:column;align-items:center;gap:var(--field-group-label-gap, 3px);flex:1;min-width:0;}.field-group-item.svelte-1gcz5cs .field-group-input {--input-border: var(--field-group-border, 1px solid #d1d5db);--input-radius: var(--field-group-border-radius, 6px);--input-focus-border: var(--field-group-focus-border, 1px solid #3b82f6);--input-width: var(--field-group-input-width, 100%);--input-height: var(--field-group-input-height, 36px);--input-text-align: var(--field-group-text-align, center);--input-font-size: var(--field-group-font-size, 14px);--input-font-weight: var(--field-group-font-weight, 500);--input-font-family: var(--field-group-font-family);--input-padding: var(--field-group-input-padding, 0 6px);--input-margin: 0;--input-box-shadow: none;}.field-group-label.svelte-1gcz5cs {font-size:var(--field-group-label-font-size, 10px);font-weight:var(--field-group-label-font-weight, 500);color:var(--field-group-label-color, #4b5563);text-transform:uppercase;letter-spacing:0.05em;}.field-group-separator.svelte-1gcz5cs {display:flex;align-items:center;height:var(--field-group-input-height, 36px);font-size:var(--field-group-separator-font-size, 16px);color:var(--field-group-separator-color, #6b7280);flex-shrink:0;}"
8019
8341
  };
8020
8342
  function SplitInput(e, t) {
8021
8343
  let n = props_id();
@@ -9908,7 +10230,7 @@ customElements.define("sui-combobox", create_custom_element(Combobox_wc, {
9908
10230
  //#region src/lib/assets/search.svg?raw
9909
10231
  var search_default = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"11\" cy=\"11\" r=\"8\"></circle>\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"></line>\n</svg>\n", root$90 = /* @__PURE__ */ from_html("<span class=\"command-menu-search-icon svelte-rk55q\"></span>"), root_1$80 = /* @__PURE__ */ from_html("<div class=\"command-menu-empty svelte-rk55q\"> </div>"), root_2$60 = /* @__PURE__ */ from_html("<div class=\"command-menu-group-heading svelte-rk55q\"> </div>"), root_3$52 = /* @__PURE__ */ from_html("<span class=\"command-menu-item-icon svelte-rk55q\"><!></span>"), root_4$43 = /* @__PURE__ */ from_html("<div class=\"command-menu-item-icon-img-wrapper svelte-rk55q\"><!></div>"), root_5$35 = /* @__PURE__ */ from_html("<kbd class=\"command-menu-kbd svelte-rk55q\"> </kbd>"), root_6$30 = /* @__PURE__ */ from_html("<span class=\"command-menu-item-shortcut svelte-rk55q\"></span>"), root_7$27 = /* @__PURE__ */ from_html("<button type=\"button\" role=\"option\" tabindex=\"-1\"><!> <span class=\"command-menu-item-label svelte-rk55q\"> </span> <!></button>"), root_8$22 = /* @__PURE__ */ from_html("<!> <!>", 1), root_9$18 = /* @__PURE__ */ from_html("<div role=\"dialog\" aria-modal=\"true\" aria-label=\"Command menu\" tabindex=\"-1\"><div class=\"command-menu-dialog svelte-rk55q\"><div class=\"command-menu-input-wrapper svelte-rk55q\"><!> <input type=\"text\" class=\"command-menu-input svelte-rk55q\" autocomplete=\"off\" spellcheck=\"false\" role=\"combobox\" aria-autocomplete=\"list\"/></div> <div class=\"command-menu-separator svelte-rk55q\"></div> <div class=\"command-menu-list svelte-rk55q\" role=\"listbox\"><!></div></div></div>"), $$css$172 = {
9910
10232
  hash: "svelte-rk55q",
9911
- code: ".command-menu-overlay.svelte-rk55q {position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--command-menu-overlay-background, rgba(0, 0, 0, 0.5));display:flex;align-items:var(--command-menu-overlay-align, flex-start);justify-content:center;padding-top:var(--command-menu-overlay-padding-top, 20vh);z-index:var(--command-menu-z-index, 50);-webkit-tap-highlight-color:transparent;}.command-menu-dialog.svelte-rk55q {background-color:var(--command-menu-background, #ffffff);border-radius:var(--command-menu-border-radius, var(--radius, 4px));box-shadow:var(--command-menu-box-shadow, 0 16px 70px rgba(0, 0, 0, 0.2));width:var(--command-menu-width, 560px);max-width:var(--command-menu-max-width, 90vw);max-height:var(--command-menu-max-height, 60vh);display:flex;flex-direction:column;overflow:hidden;border:var(--command-menu-border, 1px solid #e2e8f0);}.command-menu-input-wrapper.svelte-rk55q {display:flex;align-items:center;padding:var(--command-menu-input-wrapper-padding, 12px 16px);gap:var(--command-menu-input-wrapper-gap, 10px);}.command-menu-search-icon.svelte-rk55q {display:inline-flex;align-items:center;justify-content:center;width:var(--command-menu-search-icon-size, 20px);height:var(--command-menu-search-icon-size, 20px);color:var(--command-menu-search-icon-color, #94a3b8);flex-shrink:0;}.command-menu-search-icon.svelte-rk55q svg {width:100%;height:100%;}.command-menu-input.svelte-rk55q {flex:1;border:none;outline:none;background:transparent;font-size:var(--command-menu-input-font-size, 16px);font-family:var(--command-menu-input-font-family, inherit);font-weight:var(--command-menu-input-font-weight, 400);color:var(--command-menu-input-color, #1e293b);caret-color:var(--command-menu-input-caret-color, #3b82f6);}.command-menu-input.svelte-rk55q::placeholder {color:var(--command-menu-input-placeholder-color, #94a3b8);}.command-menu-separator.svelte-rk55q {height:var(--command-menu-separator-height, 1px);background-color:var(--command-menu-separator-color, #e2e8f0);flex-shrink:0;}.command-menu-list.svelte-rk55q {overflow-y:auto;padding:var(--command-menu-list-padding, 8px);scrollbar-width:var(--command-menu-scrollbar-width, thin);}.command-menu-empty.svelte-rk55q {padding:var(--command-menu-empty-padding, 32px 16px);text-align:center;color:var(--command-menu-empty-color, #94a3b8);font-size:var(--command-menu-empty-font-size, 14px);font-style:var(--command-menu-empty-font-style, normal);}.command-menu-group-heading.svelte-rk55q {padding:var(--command-menu-group-heading-padding, 8px 12px 4px);font-size:var(--command-menu-group-heading-font-size, 12px);font-weight:var(--command-menu-group-heading-font-weight, 600);color:var(--command-menu-group-heading-color, #94a3b8);text-transform:var(--command-menu-group-heading-text-transform, uppercase);letter-spacing:var(--command-menu-group-heading-letter-spacing, 0.05em);}.command-menu-item.svelte-rk55q {display:flex;align-items:center;padding:var(--command-menu-item-padding, 10px 12px);border-radius:var(--command-menu-item-border-radius, var(--radius, 4px));cursor:pointer;gap:var(--command-menu-item-gap, 10px);font-size:var(--command-menu-item-font-size, 14px);color:var(--command-menu-item-color, #334155);transition:background-color\n var(--command-menu-item-transition-duration, var(--motion-duration, 0.1s))\n var(--command-menu-item-transition-easing, var(--motion-easing, ease));background:none;border:none;width:100%;text-align:left;font-family:inherit;}.command-menu-item.active.svelte-rk55q {background-color:var(--command-menu-item-active-background, #f1f5f9);color:var(--command-menu-item-active-color, #0f172a);}.command-menu-item.disabled.svelte-rk55q {opacity:var(--command-menu-item-disabled-opacity, 0.4);cursor:not-allowed;}.command-menu-item-icon.svelte-rk55q {display:flex;align-items:center;justify-content:center;flex-shrink:0;}.command-menu-item-icon-img-wrapper.svelte-rk55q {--image-width: var(--command-menu-item-icon-size, 20px);--image-height: var(--command-menu-item-icon-size, 20px);\n\n /* Mirrors --command-menu-search-icon-color, which this component already had. */color:var(--command-menu-item-icon-color, inherit);flex-shrink:0;display:flex;align-items:center;justify-content:center;}.command-menu-item-label.svelte-rk55q {flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.command-menu-item-shortcut.svelte-rk55q {display:flex;align-items:center;gap:var(--command-menu-shortcut-gap, 4px);flex-shrink:0;}.command-menu-kbd.svelte-rk55q {display:inline-flex;align-items:center;justify-content:center;min-width:var(--command-menu-kbd-min-width, 24px);height:var(--command-menu-kbd-height, 22px);padding:var(--command-menu-kbd-padding, 0 6px);border-radius:var(--command-menu-kbd-border-radius, var(--radius, 4px));background-color:var(--command-menu-kbd-background, #f1f5f9);border:var(--command-menu-kbd-border, 1px solid #e2e8f0);color:var(--command-menu-kbd-color, #64748b);font-size:var(--command-menu-kbd-font-size, 11px);font-family:var(--command-menu-kbd-font-family, inherit);font-weight:var(--command-menu-kbd-font-weight, 500);box-shadow:var(--command-menu-kbd-box-shadow, 0 1px 0 #e2e8f0);}"
10233
+ code: ".command-menu-overlay.svelte-rk55q {position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--command-menu-overlay-background, rgba(0, 0, 0, 0.5));display:flex;align-items:var(--command-menu-overlay-align, flex-start);justify-content:center;padding-top:var(--command-menu-overlay-padding-top, 20vh);z-index:var(--command-menu-z-index, 50);-webkit-tap-highlight-color:transparent;}.command-menu-dialog.svelte-rk55q {background-color:var(--command-menu-background, #ffffff);border-radius:var(--command-menu-border-radius, var(--radius, 4px));box-shadow:var(--command-menu-box-shadow, 0 16px 70px rgba(0, 0, 0, 0.2));width:var(--command-menu-width, 560px);max-width:var(--command-menu-max-width, 90vw);max-height:var(--command-menu-max-height, 60vh);display:flex;flex-direction:column;overflow:hidden;border:var(--command-menu-border, 1px solid #e2e8f0);}.command-menu-input-wrapper.svelte-rk55q {display:flex;align-items:center;padding:var(--command-menu-input-wrapper-padding, 12px 16px);gap:var(--command-menu-input-wrapper-gap, 10px);}.command-menu-search-icon.svelte-rk55q {display:inline-flex;align-items:center;justify-content:center;width:var(--command-menu-search-icon-size, 20px);height:var(--command-menu-search-icon-size, 20px);color:var(--command-menu-search-icon-color, #94a3b8);flex-shrink:0;}.command-menu-search-icon.svelte-rk55q svg {width:100%;height:100%;}.command-menu-input.svelte-rk55q {flex:1;border:none;outline:none;background:transparent;font-size:var(--command-menu-input-font-size, 16px);font-family:var(--command-menu-input-font-family, inherit);font-weight:var(--command-menu-input-font-weight, 400);color:var(--command-menu-input-color, #1e293b);caret-color:var(--command-menu-input-caret-color, #3b82f6);}\n\n /* The input is the only real Tab stop the overlay currently renders (list\n items are a roving aria-activedescendant selection, not DOM focus -- see\n .active below), so it is also the only element here that WCAG 2.4.7\n applies to. A real text input, so :focus rather than :focus-visible: the\n ring must stay visible regardless of input modality, matching Input.svelte's\n own textarea/input convention. Positive offset (not Sheet/Modal's inset\n -2px) because the input sits inside .command-menu-input-wrapper's own\n padding, not flush against the dialog's edge. */.command-menu-input.svelte-rk55q:focus {outline:var(--command-menu-input-focus-outline, 2px solid #2563eb);outline-offset:var(--command-menu-input-focus-outline-offset, 2px);}.command-menu-input.svelte-rk55q::placeholder {color:var(--command-menu-input-placeholder-color, #94a3b8);}.command-menu-separator.svelte-rk55q {height:var(--command-menu-separator-height, 1px);background-color:var(--command-menu-separator-color, #e2e8f0);flex-shrink:0;}.command-menu-list.svelte-rk55q {overflow-y:auto;padding:var(--command-menu-list-padding, 8px);scrollbar-width:var(--command-menu-scrollbar-width, thin);}.command-menu-empty.svelte-rk55q {padding:var(--command-menu-empty-padding, 32px 16px);text-align:center;color:var(--command-menu-empty-color, #94a3b8);font-size:var(--command-menu-empty-font-size, 14px);font-style:var(--command-menu-empty-font-style, normal);}.command-menu-group-heading.svelte-rk55q {padding:var(--command-menu-group-heading-padding, 8px 12px 4px);font-size:var(--command-menu-group-heading-font-size, 12px);font-weight:var(--command-menu-group-heading-font-weight, 600);color:var(--command-menu-group-heading-color, #94a3b8);text-transform:var(--command-menu-group-heading-text-transform, uppercase);letter-spacing:var(--command-menu-group-heading-letter-spacing, 0.05em);}.command-menu-item.svelte-rk55q {display:flex;align-items:center;padding:var(--command-menu-item-padding, 10px 12px);border-radius:var(--command-menu-item-border-radius, var(--radius, 4px));cursor:pointer;gap:var(--command-menu-item-gap, 10px);font-size:var(--command-menu-item-font-size, 14px);color:var(--command-menu-item-color, #334155);transition:background-color\n var(--command-menu-item-transition-duration, var(--motion-duration, 0.1s))\n var(--command-menu-item-transition-easing, var(--motion-easing, ease));background:none;border:none;width:100%;text-align:left;font-family:inherit;}.command-menu-item.active.svelte-rk55q {background-color:var(--command-menu-item-active-background, #f1f5f9);color:var(--command-menu-item-active-color, #0f172a);}.command-menu-item.disabled.svelte-rk55q {opacity:var(--command-menu-item-disabled-opacity, 0.4);cursor:not-allowed;}.command-menu-item-icon.svelte-rk55q {display:flex;align-items:center;justify-content:center;flex-shrink:0;}.command-menu-item-icon-img-wrapper.svelte-rk55q {--image-width: var(--command-menu-item-icon-size, 20px);--image-height: var(--command-menu-item-icon-size, 20px);\n\n /* Mirrors --command-menu-search-icon-color, which this component already had. */color:var(--command-menu-item-icon-color, inherit);flex-shrink:0;display:flex;align-items:center;justify-content:center;}.command-menu-item-label.svelte-rk55q {flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.command-menu-item-shortcut.svelte-rk55q {display:flex;align-items:center;gap:var(--command-menu-shortcut-gap, 4px);flex-shrink:0;}.command-menu-kbd.svelte-rk55q {display:inline-flex;align-items:center;justify-content:center;min-width:var(--command-menu-kbd-min-width, 24px);height:var(--command-menu-kbd-height, 22px);padding:var(--command-menu-kbd-padding, 0 6px);border-radius:var(--command-menu-kbd-border-radius, var(--radius, 4px));background-color:var(--command-menu-kbd-background, #f1f5f9);border:var(--command-menu-kbd-border, 1px solid #e2e8f0);color:var(--command-menu-kbd-color, #64748b);font-size:var(--command-menu-kbd-font-size, 11px);font-family:var(--command-menu-kbd-font-family, inherit);font-weight:var(--command-menu-kbd-font-weight, 500);box-shadow:var(--command-menu-kbd-box-shadow, 0 1px 0 #e2e8f0);}"
9912
10234
  };
9913
10235
  function CommandMenu(e, t) {
9914
10236
  let n = props_id();
@@ -10226,14 +10548,14 @@ customElements.define("sui-command-menu", create_custom_element(CommandMenu_wc,
10226
10548
  }, ["search-icon"], [], { mode: "open" }));
10227
10549
  //#endregion
10228
10550
  //#region src/lib/Gauge/Gauge.svelte
10229
- var root$88 = /* @__PURE__ */ from_html("<div class=\"label svelte-ms0oc6\"> </div>"), root_1$79 = /* @__PURE__ */ from_html("<div role=\"progressbar\"><svg class=\"svelte-ms0oc6\"><circle class=\"track svelte-ms0oc6\" fill=\"none\"></circle><circle class=\"bar svelte-ms0oc6\" fill=\"none\" stroke-linecap=\"round\"></circle></svg> <!></div>"), $$css$170 = {
10551
+ var root$88 = /* @__PURE__ */ from_html("<div class=\"label svelte-ms0oc6\"><!></div>"), root_1$79 = /* @__PURE__ */ from_html("<div role=\"progressbar\"><svg class=\"svelte-ms0oc6\"><circle class=\"track svelte-ms0oc6\" fill=\"none\"></circle><circle class=\"bar svelte-ms0oc6\" fill=\"none\" stroke-linecap=\"round\"></circle></svg> <!></div>"), $$css$170 = {
10230
10552
  hash: "svelte-ms0oc6",
10231
10553
  code: ".gauge.svelte-ms0oc6 {position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--gauge-size, 120px);height:var(--gauge-size, 120px);}svg.svelte-ms0oc6 {display:block;width:100%;height:100%;}.track.svelte-ms0oc6 {stroke:var(--gauge-track-color, #e0e0e0);stroke-width:var(--gauge-stroke-width, 8);}.bar.svelte-ms0oc6 {stroke:var(--gauge-bar-color, #2196f3);stroke-width:var(--gauge-stroke-width, 8);transition:stroke-dashoffset var(--gauge-transition-duration, 0.3s) ease;}.label.svelte-ms0oc6 {position:absolute;font-size:var(--gauge-label-font-size, 24px);font-weight:var(--gauge-label-font-weight, 600);font-family:var(--gauge-label-font-family, inherit);color:var(--gauge-label-color, #333);}"
10232
10554
  };
10233
10555
  function Gauge(e, t) {
10234
10556
  push(t, !0), append_styles$1(e, $$css$170);
10235
- let n = prop(t, "value", 7), i = prop(t, "max", 7, 100), a = prop(t, "showLabel", 7, !0), o = prop(t, "labelFormatter", 7), s = prop(t, "ariaLabel", 7), c = prop(t, "testId", 7), l = prop(t, "classes", 7), u = 100, f = 100 / 2, p = 92 / 2, h = 2 * Math.PI * 46, S = /* @__PURE__ */ user_derived(() => i() > 0 ? Math.min(100, Math.max(0, n() / i() * 100)) : 0), C = /* @__PURE__ */ user_derived(() => h - get(S) / 100 * h), k = /* @__PURE__ */ user_derived(() => o() ? o()(n(), i()) : `${Math.round(get(S))}%`);
10236
- var R = {
10557
+ let n = prop(t, "value", 7), i = prop(t, "max", 7, 100), a = prop(t, "showLabel", 7, !0), o = prop(t, "labelFormatter", 7), s = prop(t, "animateValue", 7, !1), c = prop(t, "ariaLabel", 7), l = prop(t, "testId", 7), u = prop(t, "classes", 7), f = 100, p = 100 / 2, h = 92 / 2, S = 2 * Math.PI * 46, C = /* @__PURE__ */ user_derived(() => i() > 0 ? Math.min(100, Math.max(0, n() / i() * 100)) : 0), k = /* @__PURE__ */ user_derived(() => S - get(C) / 100 * S), R = /* @__PURE__ */ user_derived(() => Math.round(get(C))), te = /* @__PURE__ */ user_derived(() => o() ? o()(n(), i()) : `${get(R)}%`);
10558
+ var ne = {
10237
10559
  get value() {
10238
10560
  return n();
10239
10561
  },
@@ -10258,47 +10580,75 @@ function Gauge(e, t) {
10258
10580
  set labelFormatter(e) {
10259
10581
  o(e), flushSync();
10260
10582
  },
10261
- get ariaLabel() {
10583
+ get animateValue() {
10262
10584
  return s();
10263
10585
  },
10264
- set ariaLabel(e) {
10586
+ set animateValue(e = !1) {
10265
10587
  s(e), flushSync();
10266
10588
  },
10267
- get testId() {
10589
+ get ariaLabel() {
10268
10590
  return c();
10269
10591
  },
10270
- set testId(e) {
10592
+ set ariaLabel(e) {
10271
10593
  c(e), flushSync();
10272
10594
  },
10273
- get classes() {
10595
+ get testId() {
10274
10596
  return l();
10275
10597
  },
10276
- set classes(e) {
10598
+ set testId(e) {
10277
10599
  l(e), flushSync();
10600
+ },
10601
+ get classes() {
10602
+ return u();
10603
+ },
10604
+ set classes(e) {
10605
+ u(e), flushSync();
10278
10606
  }
10279
- }, te = root_1$79();
10280
- set_attribute(te, "aria-valuemin", 0), set_attribute(te, "aria-valuemax", 100);
10281
- var ne = child(te);
10282
- set_attribute(ne, "viewBox", "0 0 100 100");
10283
- var re = child(ne);
10284
- set_attribute(re, "cx", 50), set_attribute(re, "cy", 50), set_attribute(re, "r", 46);
10285
- var G = sibling(re);
10286
- set_attribute(G, "cx", 50), set_attribute(G, "cy", 50), set_attribute(G, "r", 46), set_attribute(G, "stroke-dasharray", h), set_attribute(G, "transform", "rotate(-90 50 50)"), reset(ne);
10287
- var be = sibling(ne, 2), Me = (e) => {
10288
- var t = root$88(), n = child(t, !0);
10289
- reset(t), template_effect(() => set_text(n, get(k))), append(e, t);
10607
+ }, re = root_1$79();
10608
+ set_attribute(re, "aria-valuemin", 0), set_attribute(re, "aria-valuemax", 100);
10609
+ var G = child(re);
10610
+ set_attribute(G, "viewBox", "0 0 100 100");
10611
+ var be = child(G);
10612
+ set_attribute(be, "cx", 50), set_attribute(be, "cy", 50), set_attribute(be, "r", 46);
10613
+ var Me = sibling(be);
10614
+ set_attribute(Me, "cx", 50), set_attribute(Me, "cy", 50), set_attribute(Me, "r", 46), set_attribute(Me, "stroke-dasharray", S), set_attribute(Me, "transform", "rotate(-90 50 50)"), reset(G);
10615
+ var Re = sibling(G, 2), Ue = (e) => {
10616
+ var t = root$88(), n = child(t), i = (e) => {
10617
+ var t = comment(), n = first_child(t), i = (e) => {
10618
+ AnimatedNumber(e, { get value() {
10619
+ return get(te);
10620
+ } });
10621
+ }, a = (e) => {
10622
+ {
10623
+ let t = /* @__PURE__ */ user_derived(() => `${get(R)}%`);
10624
+ AnimatedNumber(e, { get value() {
10625
+ return get(t);
10626
+ } });
10627
+ }
10628
+ };
10629
+ if_block(n, (e) => {
10630
+ o() ? e(i) : e(a, -1);
10631
+ }), append(e, t);
10632
+ }, a = (e) => {
10633
+ var t = text();
10634
+ template_effect(() => set_text(t, get(te))), append(e, t);
10635
+ };
10636
+ if_block(n, (e) => {
10637
+ s() ? e(i) : e(a, -1);
10638
+ }), reset(t), append(e, t);
10290
10639
  };
10291
- return if_block(be, (e) => {
10292
- a() && e(Me);
10293
- }), reset(te), template_effect(() => {
10294
- set_class(te, 1, `gauge ${l() ?? "" ?? ""}`, "svelte-ms0oc6"), set_attribute(te, "data-pw", typeof c() == "string" ? c() : null), set_attribute(te, "testid", typeof c() == "string" ? c() : null), set_attribute(te, "aria-valuenow", get(S)), set_attribute(te, "aria-label", s() ?? get(k)), set_attribute(G, "stroke-dashoffset", get(C));
10295
- }), append(e, te), pop(R);
10640
+ return if_block(Re, (e) => {
10641
+ a() && e(Ue);
10642
+ }), reset(re), template_effect(() => {
10643
+ set_class(re, 1, `gauge ${u() ?? "" ?? ""}`, "svelte-ms0oc6"), set_attribute(re, "data-pw", typeof l() == "string" ? l() : null), set_attribute(re, "testid", typeof l() == "string" ? l() : null), set_attribute(re, "aria-valuenow", get(C)), set_attribute(re, "aria-label", c() ?? get(te)), set_attribute(Me, "stroke-dashoffset", get(k));
10644
+ }), append(e, re), pop(ne);
10296
10645
  }
10297
10646
  create_custom_element(Gauge, {
10298
10647
  value: {},
10299
10648
  max: {},
10300
10649
  showLabel: {},
10301
10650
  labelFormatter: {},
10651
+ animateValue: {},
10302
10652
  ariaLabel: {},
10303
10653
  testId: {},
10304
10654
  classes: {}
@@ -10338,7 +10688,12 @@ customElements.define("sui-gauge", create_custom_element(Gauge_wc, {
10338
10688
  attribute: "max",
10339
10689
  type: "Number"
10340
10690
  },
10341
- labelFormatter: { type: "Object" }
10691
+ labelFormatter: { type: "Object" },
10692
+ animateValue: {
10693
+ attribute: "animate-value",
10694
+ reflect: !0,
10695
+ type: "Boolean"
10696
+ }
10342
10697
  }, [], [], { mode: "open" }));
10343
10698
  //#endregion
10344
10699
  //#region src/lib/GridItem/GridItem.svelte
@@ -11192,7 +11547,7 @@ customElements.define("sui-input", create_custom_element(Input_wc, {
11192
11547
  //#region src/lib/KeyboardInput/KeyboardInput.svelte
11193
11548
  var root$83 = /* @__PURE__ */ from_html("<span class=\"separator svelte-14lwsom\"> </span>"), root_1$75 = /* @__PURE__ */ from_html("<!> <kbd class=\"key svelte-14lwsom\"> </kbd>", 1), root_2$57 = /* @__PURE__ */ from_html("<span></span>"), $$css$158 = {
11194
11549
  hash: "svelte-14lwsom",
11195
- code: ".keyboard-input.svelte-14lwsom {display:inline-flex;align-items:center;gap:var(--keyboard-input-gap, 4px);font-family:var(--keyboard-input-font-family, inherit);font-size:var(--keyboard-input-font-size, 13px);vertical-align:baseline;cursor:var(--keyboard-input-cursor, default);}.separator.svelte-14lwsom {color:var(--keyboard-input-separator-color, #888888);font-size:var(--keyboard-input-separator-font-size, 0.85em);user-select:none;}.key.svelte-14lwsom {display:inline-flex;align-items:center;justify-content:center;font-family:var(--keyboard-input-key-font-family, inherit);font-weight:var(--keyboard-input-key-font-weight, 500);color:var(--keyboard-input-key-color, #333333);background-color:var(--keyboard-input-key-background, #f5f5f5);border:var(--keyboard-input-key-border, 1px solid #d1d1d1);border-radius:var(--keyboard-input-key-border-radius, var(--radius, 4px));box-shadow:var(--keyboard-input-key-box-shadow, 0 1px 0 #c4c4c4);min-width:var(--keyboard-input-key-min-width, 1.6em);padding:var(--keyboard-input-key-padding, 2px 6px);text-align:center;white-space:nowrap;line-height:1;}"
11550
+ code: ".keyboard-input.svelte-14lwsom {display:inline-flex;align-items:center;gap:var(--keyboard-input-gap, 4px);font-family:var(--keyboard-input-font-family, inherit);font-size:var(--keyboard-input-font-size, 13px);vertical-align:baseline;cursor:var(--keyboard-input-cursor, default);}.separator.svelte-14lwsom {color:var(--keyboard-input-separator-color, #6b7280);font-size:var(--keyboard-input-separator-font-size, 0.85em);user-select:none;}.key.svelte-14lwsom {display:inline-flex;align-items:center;justify-content:center;font-family:var(--keyboard-input-key-font-family, inherit);font-weight:var(--keyboard-input-key-font-weight, 500);color:var(--keyboard-input-key-color, #333333);background-color:var(--keyboard-input-key-background, #f5f5f5);border:var(--keyboard-input-key-border, 1px solid #d1d1d1);border-radius:var(--keyboard-input-key-border-radius, var(--radius, 4px));box-shadow:var(--keyboard-input-key-box-shadow, 0 1px 0 #c4c4c4);min-width:var(--keyboard-input-key-min-width, 1.6em);padding:var(--keyboard-input-key-padding, 2px 6px);text-align:center;white-space:nowrap;line-height:1;}"
11196
11551
  };
11197
11552
  function KeyboardInput(e, t) {
11198
11553
  push(t, !0), append_styles$1(e, $$css$158);
@@ -11740,14 +12095,14 @@ customElements.define("sui-pill", create_custom_element(Pill_wc, {
11740
12095
  }, ["leading-icon", "dismiss-icon"], [], { mode: "open" }));
11741
12096
  //#endregion
11742
12097
  //#region src/lib/Progress/Progress.svelte
11743
- var root$80 = /* @__PURE__ */ from_html("<div class=\"label svelte-1c2jqm2\"> </div>"), root_1$72 = /* @__PURE__ */ from_html("<div role=\"progressbar\"><div class=\"track svelte-1c2jqm2\"><div></div></div> <!></div>"), $$css$150 = {
12098
+ var root$80 = /* @__PURE__ */ from_html("<div class=\"label svelte-1c2jqm2\"><!></div>"), root_1$72 = /* @__PURE__ */ from_html("<div role=\"progressbar\"><div class=\"track svelte-1c2jqm2\"><div></div></div> <!></div>"), $$css$150 = {
11744
12099
  hash: "svelte-1c2jqm2",
11745
12100
  code: ".container.svelte-1c2jqm2 {display:flex;align-items:center;width:var(--progress-container-width, 100%);padding:var(--progress-container-padding, 0);gap:var(--progress-container-gap, 8px);}.track.svelte-1c2jqm2 {flex:1;height:var(--progress-track-height, 8px);background:var(--progress-track-background, #e0e0e0);border-radius:var(--progress-track-border-radius, var(--radius, 4px));overflow:hidden;}.bar.svelte-1c2jqm2 {height:100%;background:var(--progress-bar-background, #2196f3);border-radius:var(--progress-bar-border-radius, var(--radius, 4px));transition:var(--progress-bar-transition, width 0.3s ease);}.bar.indeterminate.svelte-1c2jqm2 {width:30%;\n animation: svelte-1c2jqm2-indeterminate var(--progress-indeterminate-duration, 1.5s) ease-in-out infinite;}.label.svelte-1c2jqm2 {font-size:var(--progress-label-font-size, 14px);font-weight:var(--progress-label-font-weight, 500);color:var(--progress-label-color, #333);font-family:var(--progress-label-font-family, inherit);margin:var(--progress-label-margin, 0);}\n\n @keyframes svelte-1c2jqm2-indeterminate {\n 0% {\n transform: translateX(-100%);\n }\n 100% {\n transform: translateX(400%);\n }\n }\n /* An indefinite animation is the case this preference exists for: it never\n ends, so a user who asked the OS to minimise motion gets a permanent loop.\n The animation stops, but the element must still read as \"busy\" -- a guard\n that leaves nothing on screen, or leaves a frame that means something else,\n is worse than the motion it removed. This block lives in the component's own\n <style> because that is the only stylesheet that reaches inside the shadow\n root a custom-element consumer gets. */\n @media (prefers-reduced-motion: reduce) {.bar.indeterminate.svelte-1c2jqm2 {\n /* `animation: none` alone would strand a 30%-wide bar at the left of the\n track, which is indistinguishable from determinate 30% progress -- the\n one reading that is actually wrong. A full-width bar at reduced opacity\n says \"busy, amount unknown\", which is what indeterminate means and what\n aria-valuetext already announces. */width:100%;transform:none;\n animation: none;opacity:var(--progress-indeterminate-reduced-motion-opacity, 0.5);}\n }"
11746
12101
  };
11747
12102
  function Progress(e, t) {
11748
12103
  push(t, !0), append_styles$1(e, $$css$150);
11749
- let n = prop(t, "value", 7), i = prop(t, "max", 7, 100), a = prop(t, "showLabel", 7, !1), o = prop(t, "ariaLabel", 7), s = prop(t, "testId", 7), c = prop(t, "classes", 7), l = /* @__PURE__ */ user_derived(() => Number.isFinite(n()) && Number.isFinite(i()) && i() > 0), u = /* @__PURE__ */ user_derived(() => get(l) ? Math.min(100, Math.max(0, n() / i() * 100)) : 0), f = /* @__PURE__ */ user_derived(() => n() < 0), p = /* @__PURE__ */ user_derived(() => Math.round(get(u) * 100) / 100), h = /* @__PURE__ */ user_derived(() => get(f) ? "Loading" : `${Math.round(get(u))}%`);
11750
- var S = {
12104
+ let n = prop(t, "value", 7), i = prop(t, "max", 7, 100), a = prop(t, "showLabel", 7, !1), o = prop(t, "animateValue", 7, !1), s = prop(t, "ariaLabel", 7), c = prop(t, "testId", 7), l = prop(t, "classes", 7), u = /* @__PURE__ */ user_derived(() => Number.isFinite(n()) && Number.isFinite(i()) && i() > 0), f = /* @__PURE__ */ user_derived(() => get(u) ? Math.min(100, Math.max(0, n() / i() * 100)) : 0), p = /* @__PURE__ */ user_derived(() => n() < 0), h = /* @__PURE__ */ user_derived(() => Math.round(get(f) * 100) / 100), S = /* @__PURE__ */ user_derived(() => get(p) ? "Loading" : `${Math.round(get(f))}%`);
12105
+ var C = {
11751
12106
  get value() {
11752
12107
  return n();
11753
12108
  },
@@ -11766,43 +12121,62 @@ function Progress(e, t) {
11766
12121
  set showLabel(e = !1) {
11767
12122
  a(e), flushSync();
11768
12123
  },
11769
- get ariaLabel() {
12124
+ get animateValue() {
11770
12125
  return o();
11771
12126
  },
11772
- set ariaLabel(e) {
12127
+ set animateValue(e = !1) {
11773
12128
  o(e), flushSync();
11774
12129
  },
11775
- get testId() {
12130
+ get ariaLabel() {
11776
12131
  return s();
11777
12132
  },
11778
- set testId(e) {
12133
+ set ariaLabel(e) {
11779
12134
  s(e), flushSync();
11780
12135
  },
11781
- get classes() {
12136
+ get testId() {
11782
12137
  return c();
11783
12138
  },
11784
- set classes(e) {
12139
+ set testId(e) {
11785
12140
  c(e), flushSync();
12141
+ },
12142
+ get classes() {
12143
+ return l();
12144
+ },
12145
+ set classes(e) {
12146
+ l(e), flushSync();
11786
12147
  }
11787
- }, C = root_1$72();
11788
- set_attribute(C, "aria-valuemin", 0), set_attribute(C, "aria-valuemax", 100);
11789
- var k = child(C), R = child(k);
11790
- let te, ne;
11791
- reset(k);
11792
- var re = sibling(k, 2), G = (e) => {
11793
- var t = root$80(), n = child(t, !0);
11794
- reset(t), template_effect(() => set_text(n, get(h))), append(e, t);
12148
+ }, k = root_1$72();
12149
+ set_attribute(k, "aria-valuemin", 0), set_attribute(k, "aria-valuemax", 100);
12150
+ var R = child(k), te = child(R);
12151
+ let ne, re;
12152
+ reset(R);
12153
+ var G = sibling(R, 2), be = (e) => {
12154
+ var t = root$80(), n = child(t), i = (e) => {
12155
+ {
12156
+ let t = /* @__PURE__ */ user_derived(() => `${Math.round(get(f))}%`);
12157
+ AnimatedNumber(e, { get value() {
12158
+ return get(t);
12159
+ } });
12160
+ }
12161
+ }, a = (e) => {
12162
+ var t = text();
12163
+ template_effect(() => set_text(t, get(S))), append(e, t);
12164
+ };
12165
+ if_block(n, (e) => {
12166
+ o() ? e(i) : e(a, -1);
12167
+ }), reset(t), append(e, t);
11795
12168
  };
11796
- return if_block(re, (e) => {
11797
- a() && !get(f) && e(G);
11798
- }), reset(C), template_effect(() => {
11799
- set_class(C, 1, `container ${c() ?? "" ?? ""}`, "svelte-1c2jqm2"), set_attribute(C, "data-pw", typeof s() == "string" ? s() : null), set_attribute(C, "testid", typeof s() == "string" ? s() : null), set_attribute(C, "aria-valuenow", get(f) ? null : get(p)), set_attribute(C, "aria-valuetext", get(f) ? "indeterminate" : null), set_attribute(C, "aria-busy", get(f) ? !0 : null), set_attribute(C, "aria-label", o() ?? get(h)), te = set_class(R, 1, "bar svelte-1c2jqm2", null, te, { indeterminate: get(f) }), ne = set_style(R, "", ne, { width: get(f) ? null : `${get(u)}%` });
11800
- }), append(e, C), pop(S);
12169
+ return if_block(G, (e) => {
12170
+ a() && !get(p) && e(be);
12171
+ }), reset(k), template_effect(() => {
12172
+ set_class(k, 1, `container ${l() ?? "" ?? ""}`, "svelte-1c2jqm2"), set_attribute(k, "data-pw", typeof c() == "string" ? c() : null), set_attribute(k, "testid", typeof c() == "string" ? c() : null), set_attribute(k, "aria-valuenow", get(p) ? null : get(h)), set_attribute(k, "aria-valuetext", get(p) ? "indeterminate" : null), set_attribute(k, "aria-busy", get(p) ? !0 : null), set_attribute(k, "aria-label", s() ?? get(S)), ne = set_class(te, 1, "bar svelte-1c2jqm2", null, ne, { indeterminate: get(p) }), re = set_style(te, "", re, { width: get(p) ? null : `${get(f)}%` });
12173
+ }), append(e, k), pop(C);
11801
12174
  }
11802
12175
  create_custom_element(Progress, {
11803
12176
  value: {},
11804
12177
  max: {},
11805
12178
  showLabel: {},
12179
+ animateValue: {},
11806
12180
  ariaLabel: {},
11807
12181
  testId: {},
11808
12182
  classes: {}
@@ -11837,6 +12211,11 @@ customElements.define("sui-progress", create_custom_element(Progress_wc, {
11837
12211
  reflect: !0,
11838
12212
  type: "Boolean"
11839
12213
  },
12214
+ animateValue: {
12215
+ attribute: "animate-value",
12216
+ reflect: !0,
12217
+ type: "Boolean"
12218
+ },
11840
12219
  testId: {
11841
12220
  attribute: "test-id",
11842
12221
  type: "String"
@@ -13709,7 +14088,7 @@ customElements.define("sui-stepper", create_custom_element(Stepper_wc, {
13709
14088
  //#region src/lib/assets/chevron-up.svg?raw
13710
14089
  var chevron_up_default = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <polyline points=\"18 15 12 9 6 15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n", chevron_down_default = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <polyline points=\"6 9 12 15 18 9\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n", root$72 = /* @__PURE__ */ from_html("<button class=\"tabs-arrow tabs-arrow-start svelte-18eaq6o\"><!></button>"), root_1$66 = /* @__PURE__ */ from_html("<div class=\"tabs-section-label svelte-18eaq6o\" aria-hidden=\"true\"> </div>"), root_2$52 = /* @__PURE__ */ from_html("<span aria-hidden=\"true\"></span>"), root_3$46 = /* @__PURE__ */ from_html("<!> <span class=\"tabs-item-label svelte-18eaq6o\"> </span> <!>", 1), root_4$39 = /* @__PURE__ */ from_html("<!> <div role=\"tab\"><!></div>", 1), root_5$34 = /* @__PURE__ */ from_html("<span class=\"tabs-indicator svelte-18eaq6o\" aria-hidden=\"true\"></span>"), root_6$29 = /* @__PURE__ */ from_html("<button class=\"tabs-arrow tabs-arrow-end svelte-18eaq6o\"><!></button>"), root_7$26 = /* @__PURE__ */ from_html("<div><!> <div role=\"tablist\"><!> <!></div> <!></div>"), $$css$132 = {
13711
14090
  hash: "svelte-18eaq6o",
13712
- code: ".tabs-wrapper.svelte-18eaq6o {display:flex;align-items:stretch;position:relative;max-width:100%;background:var(--tabs-bar-background, #ffffff);border-bottom:var(--tabs-bar-border-bottom, 1px solid #e0e0e0);border-radius:var(--tabs-bar-border-radius, 0);}.tabs-wrapper.disabled.svelte-18eaq6o {opacity:var(--tabs-disabled-opacity, 0.5);pointer-events:none;}.tabs-bar.svelte-18eaq6o {display:flex;flex:1;min-width:0;padding:var(--tabs-bar-padding, 0px);gap:var(--tabs-bar-gap, 0px);overflow-x:auto;scrollbar-width:none;position:relative;}.tabs-bar.svelte-18eaq6o::-webkit-scrollbar {display:none;}\n\n /* Each fade holds FULLY transparent for the first --tabs-fade-solid px before\n ramping to opaque: a plain 0→fade-size ramp still renders the clipped tab\n label at ~20% opacity a few px from the edge, which reads as a stray glyph\n fragment beside the scroll arrow. The solid zone guarantees nothing is\n perceptible there. */.tabs-bar.fade-left.svelte-18eaq6o {mask-image:linear-gradient(\n to right,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px)\n );-webkit-mask-image:linear-gradient(\n to right,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px)\n );}.tabs-bar.fade-right.svelte-18eaq6o {mask-image:linear-gradient(\n to left,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px)\n );-webkit-mask-image:linear-gradient(\n to left,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px)\n );}.tabs-bar.fade-left.fade-right.svelte-18eaq6o {mask-image:linear-gradient(\n to right,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px),\n black calc(100% - var(--tabs-fade-size, 32px)),\n transparent calc(100% - var(--tabs-fade-solid, 8px))\n );-webkit-mask-image:linear-gradient(\n to right,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px),\n black calc(100% - var(--tabs-fade-size, 32px)),\n transparent calc(100% - var(--tabs-fade-solid, 8px))\n );}.tabs-arrow.svelte-18eaq6o {display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--tabs-arrow-size, 28px);padding:var(--tabs-arrow-padding, 0);border:var(--tabs-arrow-border, none);background:var(--tabs-arrow-background, var(--tabs-bar-background, #ffffff));color:var(--tabs-arrow-color, var(--tabs-item-color, #666666));cursor:pointer;z-index:1;transition:var(--tabs-arrow-transition, color 0.2s ease);font-family:inherit;}.tabs-arrow.svelte-18eaq6o:hover {color:var(--tabs-arrow-hover-color, var(--tabs-active-color, #0b57d0));background:var(\n --tabs-arrow-hover-background,\n var(--tabs-arrow-background, var(--tabs-bar-background, #ffffff))\n );}.tabs-item.svelte-18eaq6o {display:flex;align-items:center;gap:var(--tabs-item-gap, 8px);position:relative;padding:var(--tabs-item-padding, 12px 16px);font-size:var(--tabs-item-font-size, 14px);font-weight:var(--tabs-item-font-weight, 400);font-family:var(--tabs-item-font-family, inherit);color:var(--tabs-item-color, #666666);cursor:var(--tabs-item-cursor, pointer);background:var(--tabs-item-background, transparent);border:var(--tabs-item-border, none);border-radius:var(--tabs-item-border-radius, 0);outline:none;white-space:nowrap;flex-shrink:0;user-select:none;transition:var(--tabs-transition, color 0.2s ease, background 0.2s ease);}.tabs-item.svelte-18eaq6o .tabs-item-icon {--image-width: var(--tabs-item-icon-size, 16px);--image-height: var(--tabs-item-icon-size, 16px);--image-object-fit: contain;color:var(--tabs-item-icon-color, inherit);flex-shrink:0;}\n\n /* Reserves the active-state (bolder) width of the label so selecting a tab\n never reflows the tab bar: without this, .tabs-item.active's font-weight\n jump makes the tab (and every tab after it) physically resize, which\n visibly shifts sibling tabs and defeats the indicator's slide animation\n with a jump. The ::after ghost renders data-text at the active weight\n with height:0/visibility:hidden -- invisible, but its width still sets\n the shrink-to-fit width of the inline-block label, so the box is already\n as wide as the active state needs even while showing the lighter weight. */.tabs-item-label.svelte-18eaq6o {position:relative;display:inline-block;}.tabs-item-label.svelte-18eaq6o::after {content:attr(data-text);display:block;height:0;overflow:hidden;visibility:hidden;font-weight:var(--tabs-active-font-weight, 600);}\n\n /* Trailing status dot for nav/menu tabs. margin-left:auto pushes it to the row's\n end (e.g. a settings menu); harmless on a normal tab bar where the item shrinks\n to content. */.tabs-item-status.svelte-18eaq6o {width:var(--tabs-item-status-size, 8px);height:var(--tabs-item-status-size, 8px);margin-left:auto;border-radius:50%;flex-shrink:0;background:transparent;}\n\n /* Neutral \"has activity / configured\" dot — blue by default, matching the app's\n --text-color-focus. Maps from a settings menu's Default circle type. */.tabs-item-status.status-default.svelte-18eaq6o {background:var(--tabs-item-status-default-color, #1a73e8);}.tabs-item-status.status-pending.svelte-18eaq6o {background:var(--tabs-item-status-pending-color, #f59e0b);}.tabs-item-status.status-error.svelte-18eaq6o {background:var(--tabs-item-status-error-color, #e7000b);}.tabs-item-status.status-success.svelte-18eaq6o {background:var(--tabs-item-status-success-color, #16a34a);}.tabs-item.svelte-18eaq6o:hover:not(.active):not([aria-disabled]) {color:var(--tabs-hover-color, #333333);background:var(--tabs-hover-background, #f5f5f5);}.tabs-item.active.svelte-18eaq6o {color:var(--tabs-active-color, #0b57d0);font-weight:var(--tabs-active-font-weight, 600);background:var(--tabs-active-background, transparent);}.tabs-item[aria-disabled].svelte-18eaq6o {cursor:var(--tabs-disabled-cursor, not-allowed);}.tabs-indicator.svelte-18eaq6o {position:absolute;bottom:0;height:var(--tabs-indicator-height, 2px);background-color:var(--tabs-indicator-color, #1a73e8);border-radius:var(--tabs-indicator-border-radius, 2px 2px 0 0);transition:var(--tabs-indicator-transition, left 0.3s ease, width 0.3s ease);pointer-events:none;}\n\n /* ---------- Vertical orientation (nav / menu rail) ---------- */.tabs-wrapper.vertical.svelte-18eaq6o {flex-direction:column;align-items:stretch;max-width:none;border-bottom:none;}.tabs-wrapper.vertical.svelte-18eaq6o .tabs-bar:where(.svelte-18eaq6o) {flex-direction:column;overflow-x:hidden;overflow-y:auto;}.tabs-wrapper.vertical.svelte-18eaq6o .tabs-item:where(.svelte-18eaq6o) {\n /* Full-width rows: label sits at the leading edge, the status dot's margin-left:auto\n pushes it to the trailing edge (the settings-menu look). */width:100%;box-sizing:border-box;justify-content:flex-start;}.tabs-bar.fade-top.svelte-18eaq6o {mask-image:linear-gradient(\n to bottom,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px)\n );-webkit-mask-image:linear-gradient(\n to bottom,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px)\n );}.tabs-bar.fade-bottom.svelte-18eaq6o {mask-image:linear-gradient(\n to top,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px)\n );-webkit-mask-image:linear-gradient(\n to top,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px)\n );}.tabs-bar.fade-top.fade-bottom.svelte-18eaq6o {mask-image:linear-gradient(\n to bottom,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px),\n black calc(100% - var(--tabs-fade-size, 32px)),\n transparent calc(100% - var(--tabs-fade-solid, 8px))\n );-webkit-mask-image:linear-gradient(\n to bottom,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px),\n black calc(100% - var(--tabs-fade-size, 32px)),\n transparent calc(100% - var(--tabs-fade-solid, 8px))\n );}.tabs-wrapper.vertical.svelte-18eaq6o .tabs-indicator:where(.svelte-18eaq6o) {top:0;bottom:auto;left:0;width:var(--tabs-indicator-height, 2px);height:var(--tabs-indicator-height, 2px);border-radius:var(--tabs-indicator-border-radius-vertical, 0 2px 2px 0);transition:var(--tabs-indicator-transition-vertical, top 0.3s ease, height 0.3s ease);}\n\n /* Section header rendered above a group of vertical nav items. */.tabs-section-label.svelte-18eaq6o {padding:var(--tabs-section-label-padding, 12px 16px 4px);font-size:var(--tabs-section-label-font-size, 11px);font-weight:var(--tabs-section-label-font-weight, 700);letter-spacing:var(--tabs-section-label-letter-spacing, 0.04em);text-transform:var(--tabs-section-label-text-transform, uppercase);color:var(--tabs-section-label-color, var(--tabs-item-color, #666666));white-space:nowrap;user-select:none;}\n\n @media (prefers-reduced-motion: reduce) {.tabs-indicator.svelte-18eaq6o,\n .tabs-wrapper.vertical.svelte-18eaq6o .tabs-indicator:where(.svelte-18eaq6o) {transition:none;}\n }"
14091
+ code: ".tabs-wrapper.svelte-18eaq6o {display:flex;align-items:stretch;position:relative;max-width:100%;background:var(--tabs-bar-background, #ffffff);border-bottom:var(--tabs-bar-border-bottom, 1px solid #e0e0e0);border-radius:var(--tabs-bar-border-radius, 0);}.tabs-wrapper.disabled.svelte-18eaq6o {opacity:var(--tabs-disabled-opacity, 0.5);pointer-events:none;}.tabs-bar.svelte-18eaq6o {display:flex;flex:1;min-width:0;padding:var(--tabs-bar-padding, 0px);gap:var(--tabs-bar-gap, 0px);overflow-x:auto;scrollbar-width:none;position:relative;}.tabs-bar.svelte-18eaq6o::-webkit-scrollbar {display:none;}\n\n /* Each fade holds FULLY transparent for the first --tabs-fade-solid px before\n ramping to opaque: a plain 0→fade-size ramp still renders the clipped tab\n label at ~20% opacity a few px from the edge, which reads as a stray glyph\n fragment beside the scroll arrow. The solid zone guarantees nothing is\n perceptible there. */.tabs-bar.fade-left.svelte-18eaq6o {mask-image:linear-gradient(\n to right,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px)\n );-webkit-mask-image:linear-gradient(\n to right,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px)\n );}.tabs-bar.fade-right.svelte-18eaq6o {mask-image:linear-gradient(\n to left,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px)\n );-webkit-mask-image:linear-gradient(\n to left,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px)\n );}.tabs-bar.fade-left.fade-right.svelte-18eaq6o {mask-image:linear-gradient(\n to right,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px),\n black calc(100% - var(--tabs-fade-size, 32px)),\n transparent calc(100% - var(--tabs-fade-solid, 8px))\n );-webkit-mask-image:linear-gradient(\n to right,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px),\n black calc(100% - var(--tabs-fade-size, 32px)),\n transparent calc(100% - var(--tabs-fade-solid, 8px))\n );}.tabs-arrow.svelte-18eaq6o {display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--tabs-arrow-size, 28px);padding:var(--tabs-arrow-padding, 0);border:var(--tabs-arrow-border, none);background:var(--tabs-arrow-background, var(--tabs-bar-background, #ffffff));color:var(--tabs-arrow-color, var(--tabs-item-color, #666666));cursor:pointer;z-index:1;transition:var(--tabs-arrow-transition, color 0.2s ease);font-family:inherit;}.tabs-arrow.svelte-18eaq6o:hover {color:var(--tabs-arrow-hover-color, var(--tabs-active-color, #0b57d0));background:var(\n --tabs-arrow-hover-background,\n var(--tabs-arrow-background, var(--tabs-bar-background, #ffffff))\n );}.tabs-item.svelte-18eaq6o {display:flex;align-items:center;gap:var(--tabs-item-gap, 8px);position:relative;padding:var(--tabs-item-padding, 12px 16px);font-size:var(--tabs-item-font-size, 14px);font-weight:var(--tabs-item-font-weight, 400);font-family:var(--tabs-item-font-family, inherit);color:var(--tabs-item-color, #666666);cursor:var(--tabs-item-cursor, pointer);background:var(--tabs-item-background, transparent);border:var(--tabs-item-border, none);border-radius:var(--tabs-item-border-radius, 0);outline:none;white-space:nowrap;flex-shrink:0;user-select:none;transition:var(--tabs-transition, color 0.2s ease, background 0.2s ease);}\n\n /* Roving focus really does move (see focusedKey/focusTabAt above) -- this\n just replaces the INDICATOR that outline:none above strips, which is what\n was actually missing (WCAG 2.4.7). :focus-visible only, so a mouse click\n that activates a tab still shows nothing new, matching the rest of this\n file's pattern (Sheet's .sheet-panel, Select's .select-clear, ...).\n currentColor tracks --tabs-item-color / --tabs-active-color, which are\n already themed per-mode and per-state, so the ring stays visible against\n --tabs-bar-background in both themes with no extra token needed here. The\n offset is inset, not the usual outward one: .tabs-bar is a same-axis\n overflow:auto scroller with 0px padding/gap by default, so an outward ring\n on an edge tab would be clipped by the scroll container's own edge. */.tabs-item.svelte-18eaq6o:focus-visible {outline:var(--tabs-item-focus-outline, 2px solid currentColor);outline-offset:var(--tabs-item-focus-outline-offset, -2px);}.tabs-item.svelte-18eaq6o .tabs-item-icon {--image-width: var(--tabs-item-icon-size, 16px);--image-height: var(--tabs-item-icon-size, 16px);--image-object-fit: contain;color:var(--tabs-item-icon-color, inherit);flex-shrink:0;}\n\n /* Reserves the active-state (bolder) width of the label so selecting a tab\n never reflows the tab bar: without this, .tabs-item.active's font-weight\n jump makes the tab (and every tab after it) physically resize, which\n visibly shifts sibling tabs and defeats the indicator's slide animation\n with a jump. The ::after ghost renders data-text at the active weight\n with height:0/visibility:hidden -- invisible, but its width still sets\n the shrink-to-fit width of the inline-block label, so the box is already\n as wide as the active state needs even while showing the lighter weight. */.tabs-item-label.svelte-18eaq6o {position:relative;display:inline-block;}.tabs-item-label.svelte-18eaq6o::after {content:attr(data-text);display:block;height:0;overflow:hidden;visibility:hidden;font-weight:var(--tabs-active-font-weight, 600);}\n\n /* Trailing status dot for nav/menu tabs. margin-left:auto pushes it to the row's\n end (e.g. a settings menu); harmless on a normal tab bar where the item shrinks\n to content. */.tabs-item-status.svelte-18eaq6o {width:var(--tabs-item-status-size, 8px);height:var(--tabs-item-status-size, 8px);margin-left:auto;border-radius:50%;flex-shrink:0;background:transparent;}\n\n /* Neutral \"has activity / configured\" dot — blue by default, matching the app's\n --text-color-focus. Maps from a settings menu's Default circle type. */.tabs-item-status.status-default.svelte-18eaq6o {background:var(--tabs-item-status-default-color, #1a73e8);}.tabs-item-status.status-pending.svelte-18eaq6o {background:var(--tabs-item-status-pending-color, #f59e0b);}.tabs-item-status.status-error.svelte-18eaq6o {background:var(--tabs-item-status-error-color, #e7000b);}.tabs-item-status.status-success.svelte-18eaq6o {background:var(--tabs-item-status-success-color, #16a34a);}.tabs-item.svelte-18eaq6o:hover:not(.active):not([aria-disabled]) {color:var(--tabs-hover-color, #333333);background:var(--tabs-hover-background, #f5f5f5);}.tabs-item.active.svelte-18eaq6o {color:var(--tabs-active-color, #0b57d0);font-weight:var(--tabs-active-font-weight, 600);background:var(--tabs-active-background, transparent);}.tabs-item[aria-disabled].svelte-18eaq6o {cursor:var(--tabs-disabled-cursor, not-allowed);}.tabs-indicator.svelte-18eaq6o {position:absolute;bottom:0;height:var(--tabs-indicator-height, 2px);background-color:var(--tabs-indicator-color, #1a73e8);border-radius:var(--tabs-indicator-border-radius, 2px 2px 0 0);transition:var(--tabs-indicator-transition, left 0.3s ease, width 0.3s ease);pointer-events:none;}\n\n /* ---------- Vertical orientation (nav / menu rail) ---------- */.tabs-wrapper.vertical.svelte-18eaq6o {flex-direction:column;align-items:stretch;max-width:none;border-bottom:none;}.tabs-wrapper.vertical.svelte-18eaq6o .tabs-bar:where(.svelte-18eaq6o) {flex-direction:column;overflow-x:hidden;overflow-y:auto;}.tabs-wrapper.vertical.svelte-18eaq6o .tabs-item:where(.svelte-18eaq6o) {\n /* Full-width rows: label sits at the leading edge, the status dot's margin-left:auto\n pushes it to the trailing edge (the settings-menu look). */width:100%;box-sizing:border-box;justify-content:flex-start;}.tabs-bar.fade-top.svelte-18eaq6o {mask-image:linear-gradient(\n to bottom,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px)\n );-webkit-mask-image:linear-gradient(\n to bottom,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px)\n );}.tabs-bar.fade-bottom.svelte-18eaq6o {mask-image:linear-gradient(\n to top,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px)\n );-webkit-mask-image:linear-gradient(\n to top,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px)\n );}.tabs-bar.fade-top.fade-bottom.svelte-18eaq6o {mask-image:linear-gradient(\n to bottom,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px),\n black calc(100% - var(--tabs-fade-size, 32px)),\n transparent calc(100% - var(--tabs-fade-solid, 8px))\n );-webkit-mask-image:linear-gradient(\n to bottom,\n transparent var(--tabs-fade-solid, 8px),\n black var(--tabs-fade-size, 32px),\n black calc(100% - var(--tabs-fade-size, 32px)),\n transparent calc(100% - var(--tabs-fade-solid, 8px))\n );}.tabs-wrapper.vertical.svelte-18eaq6o .tabs-indicator:where(.svelte-18eaq6o) {top:0;bottom:auto;left:0;width:var(--tabs-indicator-height, 2px);height:var(--tabs-indicator-height, 2px);border-radius:var(--tabs-indicator-border-radius-vertical, 0 2px 2px 0);transition:var(--tabs-indicator-transition-vertical, top 0.3s ease, height 0.3s ease);}\n\n /* Section header rendered above a group of vertical nav items. */.tabs-section-label.svelte-18eaq6o {padding:var(--tabs-section-label-padding, 12px 16px 4px);font-size:var(--tabs-section-label-font-size, 11px);font-weight:var(--tabs-section-label-font-weight, 700);letter-spacing:var(--tabs-section-label-letter-spacing, 0.04em);text-transform:var(--tabs-section-label-text-transform, uppercase);color:var(--tabs-section-label-color, var(--tabs-item-color, #666666));white-space:nowrap;user-select:none;}\n\n @media (prefers-reduced-motion: reduce) {.tabs-indicator.svelte-18eaq6o,\n .tabs-wrapper.vertical.svelte-18eaq6o .tabs-indicator:where(.svelte-18eaq6o) {transition:none;}\n }"
13713
14092
  };
13714
14093
  function Tabs(e, t) {
13715
14094
  push(t, !0), append_styles$1(e, $$css$132);
@@ -14706,7 +15085,7 @@ customElements.define("sui-toggle", create_custom_element(Toggle_wc, {
14706
15085
  //#region src/lib/Accordion/Accordion.svelte
14707
15086
  var root$68 = /* @__PURE__ */ from_html("<div role=\"button\"><!></div>"), root_1$62 = /* @__PURE__ */ from_html("<!> <div><div class=\"accordion-content svelte-1p9ezsm\"><!></div></div>", 1), $$css$126 = {
14708
15087
  hash: "svelte-1p9ezsm",
14709
- code: ".accordion-trigger.svelte-1p9ezsm {cursor:var(--accordion-trigger-cursor, pointer);}.accordion-trigger.disabled.svelte-1p9ezsm {cursor:var(--accordion-trigger-disabled-cursor, not-allowed);}.accordion.svelte-1p9ezsm {display:grid;grid-template-rows:0fr;overflow:hidden;\n /* overflow: hidden drops this element's automatic minimum size to zero, so\n when it is placed as an item of a consumer's own grid or flex container\n it is otherwise free to be stretched down to whatever size that\n container hands it -- as small as 0px -- independent of how tall its\n own children actually are (issue #550). align-self: start opts the\n panel out of that stretch so it always sizes from its own expanded\n content instead. It is inert when the panel is not a grid or flex item,\n and does not change the collapse animation: collapsed still resolves\n to 0px either way.\n\n Exposed as --accordion-align-self rather than hardcoded: Svelte's\n scoped class raises .accordion's specificity above a plain utility\n class passed through `classes`, so a consumer who legitimately wants\n the panel stretched (or centered, etc.) could not otherwise override\n this one declaration without reaching for :global() or !important. */align-self:var(--accordion-align-self, start);transition:grid-template-rows var(--accordion-transition, 0.2s ease-out);}.accordion.expanded.svelte-1p9ezsm {grid-template-rows:1fr;}.accordion-content.svelte-1p9ezsm {min-height:0;}"
15088
+ code: ".accordion-trigger.svelte-1p9ezsm {cursor:var(--accordion-trigger-cursor, pointer);}.accordion-trigger.disabled.svelte-1p9ezsm {cursor:var(--accordion-trigger-disabled-cursor, not-allowed);}.accordion.svelte-1p9ezsm {display:grid;grid-template-rows:0fr;overflow:hidden;\n /* overflow: hidden drops this element's automatic minimum size to zero, so\n when it is placed as an item of a consumer's own grid or flex container\n it is otherwise free to be stretched down to whatever size that\n container hands it -- as small as 0px -- independent of how tall its\n own children actually are (issue #550). align-self: start opts the\n panel out of that stretch so it always sizes from its own expanded\n content instead. It is inert when the panel is not a grid or flex item,\n and does not change the collapse animation: collapsed still resolves\n to 0px either way.\n\n Exposed as --accordion-align-self rather than hardcoded: Svelte's\n scoped class raises .accordion's specificity above a plain utility\n class passed through `classes`, so a consumer who legitimately wants\n the panel stretched (or centered, etc.) could not otherwise override\n this one declaration without reaching for :global() or !important. */align-self:var(--accordion-align-self, start);transition:grid-template-rows var(--accordion-transition, 0.2s ease-out);}.accordion.expanded.svelte-1p9ezsm {grid-template-rows:1fr;}\n\n /* The expand/collapse is a real size change, which is what the preference is\n about, and nothing was stopping it: DESIGN_PRINCIPLES.md section 1 reasons a\n finite transition needs no guard because --motion-duration handles it, but\n this rule reads --accordion-transition, and no stylesheet in this library\n assigns either token -- both exist purely as fallback rungs for a consumer to\n reach. Safe to drop outright because the transition is finite: the panel\n lands open or closed rather than stranded part-way, unlike an indefinite\n animation collapsed onto its 0% keyframe.\n\n Declared on `.accordion` to match the base rule's specificity and placed\n after it, so it wins; `.accordion.expanded` sets only grid-template-rows and\n never re-declares the transition, so it cannot silently override this. */\n @media (prefers-reduced-motion: reduce) {.accordion.svelte-1p9ezsm {transition:none;}\n }.accordion-content.svelte-1p9ezsm {min-height:0;}"
14710
15089
  };
14711
15090
  function Accordion(e, t) {
14712
15091
  let n = props_id();
@@ -17398,48 +17777,68 @@ customElements.define("sui-input-button", create_custom_element(InputButton_wc,
17398
17777
  }
17399
17778
  }, ["left-icon", "right-icon"], [], { mode: "open" }));
17400
17779
  //#endregion
17780
+ //#region src/lib/ListItem/label.ts
17781
+ function escapeHtml$1(e) {
17782
+ return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
17783
+ }
17784
+ function runSanitizer$1(e, t) {
17785
+ try {
17786
+ let n = t(e);
17787
+ return typeof n == "string" ? n : null;
17788
+ } catch {
17789
+ return null;
17790
+ }
17791
+ }
17792
+ function resolveLabelHtml(e, t) {
17793
+ if (t?.rawHtml === "sanitize" && typeof t.htmlSanitizer == "function") {
17794
+ let n = runSanitizer$1(e, t.htmlSanitizer);
17795
+ if (n !== null) return n;
17796
+ }
17797
+ return escapeHtml$1(e);
17798
+ }
17799
+ //#endregion
17401
17800
  //#region src/lib/ListItem/ListItem.svelte
17402
17801
  var root$55 = /* @__PURE__ */ from_html("<div class=\"item-loader svelte-d2pqbq\"></div>"), root_1$52 = /* @__PURE__ */ from_html("<div><!></div>"), root_2$41 = /* @__PURE__ */ from_html("<div></div>"), root_3$37 = /* @__PURE__ */ from_html("<div><div class=\"right-img-wrapper svelte-d2pqbq\"><!></div></div>"), root_4$32 = /* @__PURE__ */ from_html("<div class=\"right-content-loader svelte-d2pqbq\"><!></div>"), root_5$29 = /* @__PURE__ */ from_html("<span class=\"right-content-text svelte-d2pqbq\"> </span>"), root_6$26 = /* @__PURE__ */ from_html("<div><!> <div><div><div class=\"left-content svelte-d2pqbq\"><!> <!></div> <div class=\"center-content svelte-d2pqbq\"><!> <!></div> <div class=\"right-content svelte-d2pqbq\"><!> <!> <!> <!></div></div> <div class=\"bottom-section svelte-d2pqbq\"><!></div></div></div>"), $$css$105 = {
17403
17802
  hash: "svelte-d2pqbq",
17404
- code: ".item-container.svelte-d2pqbq {position:relative;--loader-foreground: var(--list-item-loader-foreground, #86898d);--loader-background: var(--list-item-loader-background, #ffffff);--loader-foreground-end: var(--list-item-loader-foreground-end, #ffffff);}.item-loader.svelte-d2pqbq {position:absolute;height:100%;width:100%;background:var(--list-item-loader-background-color, #00000030);z-index:20;\n animation: svelte-d2pqbq-fill-loader ease-in-out var(--list-item-loader-duration, 8s);}\n\n @keyframes svelte-d2pqbq-fill-loader {\n 0% {\n width: 0;\n }\n\n 100% {\n width: 100%;\n }\n }\n\n /* Same hazard as Button's progress-bar loader (see its comment for the full\n reasoning): this bar's width is a real elapsed-time signal over\n `--list-item-loader-duration`, not decoration, so a bare `animation: none`\n would freeze it at the base rule's `width: 100%` and read as \"finished\"\n for the entire duration instead of \"still loading\". Discrete steps keep\n the width an honest (if coarser) lower bound on elapsed time -- it can\n only under-report, never claim to be further along than it is -- while\n dropping the continuous slide prefers-reduced-motion targets. Lives in\n the component's own <style> because that is the only stylesheet that\n reaches inside the shadow root a custom-element consumer gets. */\n @media (prefers-reduced-motion: reduce) {.item-loader.svelte-d2pqbq {\n /* A LITERAL step count, deliberately not a token. `steps()` is invalid\n below 1, and an invalid value does not degrade to a safer stepped\n default: the whole declaration is dropped and the property falls back to\n the base rule's easing, restoring the continuous slide this block exists\n to remove. A consumer passing 0 to \"just freeze it\" would silently\n switch the guard off for every user who asked for reduced motion, and a\n guard that fails OPEN without saying so is worse than no guard. */animation-timing-function:steps(5, jump-end);}\n }.item.svelte-d2pqbq {display:flex;flex-direction:column;background-color:var(--list-item-background-color, transparent);-webkit-tap-highlight-color:transparent;cursor:var(--list-item-cursor, pointer);-moz-box-shadow:var(--list-item-box-shadow, none);-webkit-box-shadow:var(--list-item-box-shadow, none);box-shadow:var(--list-item-box-shadow, none);width:var(--list-item-box-width);border-radius:var(--list-item-border-radius, 0px);margin:var(--list-item-margin);padding:var(--list-item-padding);border:var(--list-item-border);transition:var(--list-item-transition);}.item.svelte-d2pqbq:hover {background-color:var(--list-item-hover-background-color, var(--list-item-background-color));border:var(--list-item-hover-border, var(--list-item-border));}.top-section.svelte-d2pqbq {display:flex;flex-direction:row;align-items:var(--list-item-top-section-align-items);gap:var(--list-item-top-section-gap);margin-bottom:0;}.left-content.svelte-d2pqbq {display:var(--list-item-left-content-display, flex);--image-height: var(--list-item-left-image-height, 24px);--image-width: var(--list-item-left-image-width, 24px);--image-padding: var(--list-item-left-image-padding, 0px);--image-border-radius: var(--list-item-left-image-border-radius, 0px);--image-margin: var(--list-item-left-image-margin, 0px);--image-filter: var(--list-item-left-image-filter, none);--image-background: var(--list-item-left-image-background);--image-border: var(--list-item-left-image-border);--image-transition: var(--list-item-transition);--image-object-fit: var(--list-item-left-image-object-fit);--image-hover-background: var(\n --list-item-left-image-hover-background,\n var(--list-item-left-image-background)\n );--image-hover-border: var(\n --list-item-left-image-hover-border,\n var(--list-item-left-image-border)\n );}.center-text.svelte-d2pqbq {display:flex;flex-direction:column;justify-content:var(--list-item-center-text-justify-content, flex-start);padding:var(--list-item-center-text-padding, 0px 20px);color:var(--list-item-center-text-color, #2f3841);font-size:var(--list-item-center-text-font-size, 12px);font-weight:var(--list-item-center-text-font-weight, 300);align-items:var(--list-item-center-text-vertical-align);margin:var(--list-item-center-text-margin);border:var(--list-item-center-text-border);cursor:var(--list-item-center-text-cursor, pointer);font-family:var(--list-item-center-text-font-family, inherit);}.center-content.svelte-d2pqbq {display:flex;flex:1;min-width:0;}.right-content.svelte-d2pqbq {display:var(--list-item-right-content-display, flex);flex:var(--list-item-right-content-flex);}.right-content-loader.svelte-d2pqbq {margin:var(--list-item-right-content-loader-margin);}.bottom-section.svelte-d2pqbq {flex-direction:row;margin-top:0;}.right-img-wrapper.svelte-d2pqbq {--image-height: var(--list-item-right-image-height, 18px);--image-width: var(--list-item-right-image-width, 18px);--image-padding: var(--list-item-right-image-padding, 0px);--image-border-radius: var(--list-item-right-image-border-radius, 0px);--image-margin: var(--list-item-right-image-margin, 0px);--image-filter: var(--list-item-right-image-filter);--image-background: var(--list-item-right-image-background);--image-border: var(--list-item-right-image-border);--image-transition: var(--list-item-transition);--image-hover-background: var(\n --list-item-right-image-hover-background,\n var(--list-item-right-image-background)\n );--image-hover-border: var(\n --list-item-right-image-hover-border,\n var(--list-item-right-image-border)\n );}.right-content-text.svelte-d2pqbq {color:var(--list-item-right-content-text-color, #2f3841);font-size:var(--list-item-right-content-text-font-size, 12px);font-weight:var(--list-item-right-content-text-font-weight, 300);display:var(--list-item-right-content-display, flex);align-items:var(--list-item-right-content-text-vertical-align);padding:var(--list-item-right-content-text-padding, 0px);margin:var(--list-item-right-content-text-margin, 0px);border:var(--list-item-right-content-text-border);cursor:var(--list-item-right-content-text-cursor, pointer);font-family:var(--list-item-right-content-text-font-family, inherit);justify-content:var(--list-item-right-content-text-justify-content);}.prevent-focus.svelte-d2pqbq:focus {outline:none;}\n /* The loader is not the only motion in this file, and this block sits at the\n END on purpose: `.item` is declared after the guard above, so an override\n placed there would lose the same-specificity tie on source order -- the\n cascade trap BrandLoader's own guard had to account for.\n `--image-transition` is not a transition on this element at all; it is a\n custom property handed DOWN to the Img child, and a custom property is the\n only thing that crosses that boundary. Setting `transition: none` here would\n never reach the image, so the property itself is neutralised. */\n @media (prefers-reduced-motion: reduce) {.item.svelte-d2pqbq {transition:none;}.left-content.svelte-d2pqbq,\n .right-img-wrapper.svelte-d2pqbq {--image-transition: none;}\n }"
17803
+ code: ".item-container.svelte-d2pqbq {position:relative;--loader-foreground: var(--list-item-loader-foreground, #86898d);--loader-background: var(--list-item-loader-background, #ffffff);--loader-foreground-end: var(--list-item-loader-foreground-end, #ffffff);}.item-loader.svelte-d2pqbq {position:absolute;height:100%;width:100%;background:var(--list-item-loader-background-color, #00000030);z-index:20;\n animation: svelte-d2pqbq-fill-loader ease-in-out var(--list-item-loader-duration, 8s);}\n\n @keyframes svelte-d2pqbq-fill-loader {\n 0% {\n width: 0;\n }\n\n 100% {\n width: 100%;\n }\n }\n\n /* Same hazard as Button's progress-bar loader (see its comment for the full\n reasoning): this bar's width is a real elapsed-time signal over\n `--list-item-loader-duration`, not decoration, so a bare `animation: none`\n would freeze it at the base rule's `width: 100%` and read as \"finished\"\n for the entire duration instead of \"still loading\". Discrete steps keep\n the width an honest (if coarser) lower bound on elapsed time -- it can\n only under-report, never claim to be further along than it is -- while\n dropping the continuous slide prefers-reduced-motion targets. Lives in\n the component's own <style> because that is the only stylesheet that\n reaches inside the shadow root a custom-element consumer gets. */\n @media (prefers-reduced-motion: reduce) {.item-loader.svelte-d2pqbq {\n /* A LITERAL step count, deliberately not a token. `steps()` is invalid\n below 1, and an invalid value does not degrade to a safer stepped\n default: the whole declaration is dropped and the property falls back to\n the base rule's easing, restoring the continuous slide this block exists\n to remove. A consumer passing 0 to \"just freeze it\" would silently\n switch the guard off for every user who asked for reduced motion, and a\n guard that fails OPEN without saying so is worse than no guard. */animation-timing-function:steps(5, jump-end);}\n }.item.svelte-d2pqbq {display:flex;flex-direction:column;background-color:var(--list-item-background-color, transparent);-webkit-tap-highlight-color:transparent;cursor:var(--list-item-cursor, pointer);-moz-box-shadow:var(--list-item-box-shadow, none);-webkit-box-shadow:var(--list-item-box-shadow, none);box-shadow:var(--list-item-box-shadow, none);width:var(--list-item-box-width);border-radius:var(--list-item-border-radius, 0px);margin:var(--list-item-margin);padding:var(--list-item-padding);border:var(--list-item-border);transition:var(--list-item-transition);}.item.svelte-d2pqbq:hover {background-color:var(--list-item-hover-background-color, var(--list-item-background-color));border:var(--list-item-hover-border, var(--list-item-border));}.top-section.svelte-d2pqbq {display:flex;flex-direction:row;align-items:var(--list-item-top-section-align-items);gap:var(--list-item-top-section-gap);margin-bottom:0;}.left-content.svelte-d2pqbq {display:var(--list-item-left-content-display, flex);--image-height: var(--list-item-left-image-height, 24px);--image-width: var(--list-item-left-image-width, 24px);--image-padding: var(--list-item-left-image-padding, 0px);--image-border-radius: var(--list-item-left-image-border-radius, 0px);--image-margin: var(--list-item-left-image-margin, 0px);--image-filter: var(--list-item-left-image-filter, none);--image-background: var(--list-item-left-image-background);--image-border: var(--list-item-left-image-border);--image-transition: var(--list-item-transition);--image-object-fit: var(--list-item-left-image-object-fit);--image-hover-background: var(\n --list-item-left-image-hover-background,\n var(--list-item-left-image-background)\n );--image-hover-border: var(\n --list-item-left-image-hover-border,\n var(--list-item-left-image-border)\n );}.center-text.svelte-d2pqbq {display:flex;flex-direction:column;justify-content:var(--list-item-center-text-justify-content, flex-start);padding:var(--list-item-center-text-padding, 0px 20px);color:var(--list-item-center-text-color, #2f3841);font-size:var(--list-item-center-text-font-size, 12px);font-weight:var(--list-item-center-text-font-weight, 300);align-items:var(--list-item-center-text-vertical-align);margin:var(--list-item-center-text-margin);border:var(--list-item-center-text-border);cursor:var(--list-item-center-text-cursor, pointer);font-family:var(--list-item-center-text-font-family, inherit);}.center-content.svelte-d2pqbq {display:flex;flex:1;min-width:0;}.right-content.svelte-d2pqbq {display:var(--list-item-right-content-display, flex);flex:var(--list-item-right-content-flex);}.right-content-loader.svelte-d2pqbq {margin:var(--list-item-right-content-loader-margin);}.bottom-section.svelte-d2pqbq {flex-direction:row;margin-top:0;}.right-img-wrapper.svelte-d2pqbq {--image-height: var(--list-item-right-image-height, 18px);--image-width: var(--list-item-right-image-width, 18px);--image-padding: var(--list-item-right-image-padding, 0px);--image-border-radius: var(--list-item-right-image-border-radius, 0px);--image-margin: var(--list-item-right-image-margin, 0px);--image-filter: var(--list-item-right-image-filter);--image-background: var(--list-item-right-image-background);--image-border: var(--list-item-right-image-border);--image-transition: var(--list-item-transition);--image-hover-background: var(\n --list-item-right-image-hover-background,\n var(--list-item-right-image-background)\n );--image-hover-border: var(\n --list-item-right-image-hover-border,\n var(--list-item-right-image-border)\n );}.right-content-text.svelte-d2pqbq {color:var(--list-item-right-content-text-color, #2f3841);font-size:var(--list-item-right-content-text-font-size, 12px);font-weight:var(--list-item-right-content-text-font-weight, 300);display:var(--list-item-right-content-display, flex);align-items:var(--list-item-right-content-text-vertical-align);padding:var(--list-item-right-content-text-padding, 0px);margin:var(--list-item-right-content-text-margin, 0px);border:var(--list-item-right-content-text-border);cursor:var(--list-item-right-content-text-cursor, pointer);font-family:var(--list-item-right-content-text-font-family, inherit);justify-content:var(--list-item-right-content-text-justify-content);}.prevent-focus.svelte-d2pqbq:focus {outline:none;}\n\n /* preventFocus does not touch tabindex (see the root's tabindex expression\n above -- itemRole/suppressRoleAndTabindex govern that, unconditional on\n this prop), so every element carrying .prevent-focus stays a real,\n keyboard-Tab-reachable stop by default. docs/ListItem.md documents the\n prop as removing the outline \"for non-keyboard navigation contexts\" --\n :focus-visible is that exact distinction already built into the\n platform: it does not match a mouse/touch-triggered focus (the case the\n prop exists for) but does match a real keyboard Tab, so this restores\n WCAG 2.4.7 visibility for the one case preventFocus was never meant to\n hide it from. */.prevent-focus.svelte-d2pqbq:focus-visible {outline:var(--list-item-focus-outline, 2px solid #2563eb);outline-offset:var(--list-item-focus-outline-offset, -2px);}\n /* The loader is not the only motion in this file, and this block sits at the\n END on purpose: `.item` is declared after the guard above, so an override\n placed there would lose the same-specificity tie on source order -- the\n cascade trap BrandLoader's own guard had to account for.\n `--image-transition` is not a transition on this element at all; it is a\n custom property handed DOWN to the Img child, and a custom property is the\n only thing that crosses that boundary. Setting `transition: none` here would\n never reach the image, so the property itself is neutralised. */\n @media (prefers-reduced-motion: reduce) {.item.svelte-d2pqbq {transition:none;}.left-content.svelte-d2pqbq,\n .right-img-wrapper.svelte-d2pqbq {--image-transition: none;}\n }"
17405
17804
  };
17406
17805
  function ListItem(e, t) {
17407
17806
  push(t, !0), append_styles$1(e, $$css$105);
17408
- let n = prop(t, "leftImageUrl", 7), i = prop(t, "leftImageFallbackUrl", 7), a = prop(t, "rightImageUrl", 7), o = prop(t, "label", 7), s = prop(t, "useAccordion", 7, !1), c = prop(t, "rightContentText", 7), l = prop(t, "testId", 7), u = prop(t, "topSectionTestId", 7), f = prop(t, "rightImageTestId", 7), p = prop(t, "leftImageTestId", 7), h = prop(t, "centerTextTestId", 7), S = prop(t, "showLoader", 7, !1), C = prop(t, "showRightContentLoader", 7, !1), k = prop(t, "expand", 15, !1), R = prop(t, "preventFocus", 7, !1), te = prop(t, "suppressRoleAndTabindex", 7, !1), ne = prop(t, "leftContent", 7), re = prop(t, "centerContent", 7), G = prop(t, "rightContent", 7), be = prop(t, "bottomContent", 7), Me = prop(t, "onleftimageclick", 7), Re = prop(t, "onrightimageclick", 7), Ue = prop(t, "oncentertextclick", 7), it = prop(t, "onitemclick", 7), at = prop(t, "ontopsectionclick", 7), ot = prop(t, "onkeydown", 7), ct = prop(t, "classes", 7), lt = prop(t, "transformSvg", 7), ut = prop(t, "role", 7), dt = prop(t, "ariaSelected", 7), ft = prop(t, "id", 7), pt = /* @__PURE__ */ user_derived(() => !te() && typeof at() == "function"), mt = /* @__PURE__ */ user_derived(() => !te() && typeof Me() == "function"), ht = /* @__PURE__ */ user_derived(() => !te() && typeof Ue() == "function"), gt = /* @__PURE__ */ user_derived(() => !te() && typeof Re() == "function"), _t = /* @__PURE__ */ user_derived(() => !te() && ut() !== "option");
17409
- function vt(e) {
17410
- Me()?.(e);
17411
- }
17412
- function yt(e) {
17807
+ let n = prop(t, "leftImageUrl", 7), i = prop(t, "leftImageFallbackUrl", 7), a = prop(t, "rightImageUrl", 7), o = prop(t, "label", 7), s = prop(t, "sanitize", 7), c = prop(t, "useAccordion", 7, !1), l = prop(t, "rightContentText", 7), u = prop(t, "testId", 7), f = prop(t, "topSectionTestId", 7), p = prop(t, "rightImageTestId", 7), h = prop(t, "leftImageTestId", 7), S = prop(t, "centerTextTestId", 7), C = prop(t, "showLoader", 7, !1), k = prop(t, "showRightContentLoader", 7, !1), R = prop(t, "expand", 15, !1), te = prop(t, "preventFocus", 7, !1), ne = prop(t, "suppressRoleAndTabindex", 7, !1), re = prop(t, "leftContent", 7), G = prop(t, "centerContent", 7), be = prop(t, "rightContent", 7), Me = prop(t, "bottomContent", 7), Re = prop(t, "onleftimageclick", 7), Ue = prop(t, "onrightimageclick", 7), it = prop(t, "oncentertextclick", 7), at = prop(t, "onitemclick", 7), ot = prop(t, "ontopsectionclick", 7), ct = prop(t, "onkeydown", 7), lt = prop(t, "classes", 7), ut = prop(t, "transformSvg", 7), dt = prop(t, "role", 7), ft = prop(t, "ariaSelected", 7), pt = prop(t, "id", 7), mt = /* @__PURE__ */ user_derived(() => !ne() && typeof ot() == "function"), ht = /* @__PURE__ */ user_derived(() => !ne() && typeof Re() == "function"), gt = /* @__PURE__ */ user_derived(() => !ne() && typeof it() == "function"), _t = /* @__PURE__ */ user_derived(() => !ne() && typeof Ue() == "function"), vt = /* @__PURE__ */ user_derived(() => !ne() && dt() !== "option"), yt = /* @__PURE__ */ user_derived(() => typeof o() == "string" ? resolveLabelHtml(o(), s()) : "");
17808
+ function bt(e) {
17413
17809
  Re()?.(e);
17414
17810
  }
17415
- function bt(e) {
17811
+ function xt(e) {
17416
17812
  Ue()?.(e);
17417
17813
  }
17418
- function xt(e) {
17814
+ function St(e) {
17419
17815
  it()?.(e);
17420
17816
  }
17421
- function St(e) {
17817
+ function Ct(e) {
17422
17818
  at()?.(e);
17423
17819
  }
17424
- function Ct(e, t) {
17425
- ot()?.(t), !(!e || t.target !== t.currentTarget) && (t.key !== "Enter" && t.key !== " " || (t.preventDefault(), t.currentTarget instanceof HTMLElement && t.currentTarget.click()));
17426
- }
17427
17820
  function wt(e) {
17428
- Ct(get(_t), e);
17821
+ ot()?.(e);
17429
17822
  }
17430
- function Tt(e) {
17431
- Ct(get(pt), e);
17823
+ function Tt(e, t) {
17824
+ ct()?.(t), !(!e || t.target !== t.currentTarget) && (t.key !== "Enter" && t.key !== " " || (t.preventDefault(), t.currentTarget instanceof HTMLElement && t.currentTarget.click()));
17432
17825
  }
17433
17826
  function Et(e) {
17434
- Ct(get(mt), e);
17827
+ Tt(get(vt), e);
17435
17828
  }
17436
17829
  function Dt(e) {
17437
- Ct(get(ht), e);
17830
+ Tt(get(mt), e);
17438
17831
  }
17439
17832
  function Ot(e) {
17440
- Ct(get(gt), e);
17833
+ Tt(get(ht), e);
17441
17834
  }
17442
- var kt = {
17835
+ function kt(e) {
17836
+ Tt(get(gt), e);
17837
+ }
17838
+ function At(e) {
17839
+ Tt(get(_t), e);
17840
+ }
17841
+ var jt = {
17443
17842
  get leftImageUrl() {
17444
17843
  return n();
17445
17844
  },
@@ -17464,180 +17863,186 @@ function ListItem(e, t) {
17464
17863
  set label(e) {
17465
17864
  o(e), flushSync();
17466
17865
  },
17467
- get useAccordion() {
17866
+ get sanitize() {
17468
17867
  return s();
17469
17868
  },
17470
- set useAccordion(e = !1) {
17869
+ set sanitize(e) {
17471
17870
  s(e), flushSync();
17472
17871
  },
17473
- get rightContentText() {
17872
+ get useAccordion() {
17474
17873
  return c();
17475
17874
  },
17476
- set rightContentText(e) {
17875
+ set useAccordion(e = !1) {
17477
17876
  c(e), flushSync();
17478
17877
  },
17479
- get testId() {
17878
+ get rightContentText() {
17480
17879
  return l();
17481
17880
  },
17482
- set testId(e) {
17881
+ set rightContentText(e) {
17483
17882
  l(e), flushSync();
17484
17883
  },
17485
- get topSectionTestId() {
17884
+ get testId() {
17486
17885
  return u();
17487
17886
  },
17488
- set topSectionTestId(e) {
17887
+ set testId(e) {
17489
17888
  u(e), flushSync();
17490
17889
  },
17491
- get rightImageTestId() {
17890
+ get topSectionTestId() {
17492
17891
  return f();
17493
17892
  },
17494
- set rightImageTestId(e) {
17893
+ set topSectionTestId(e) {
17495
17894
  f(e), flushSync();
17496
17895
  },
17497
- get leftImageTestId() {
17896
+ get rightImageTestId() {
17498
17897
  return p();
17499
17898
  },
17500
- set leftImageTestId(e) {
17899
+ set rightImageTestId(e) {
17501
17900
  p(e), flushSync();
17502
17901
  },
17503
- get centerTextTestId() {
17902
+ get leftImageTestId() {
17504
17903
  return h();
17505
17904
  },
17506
- set centerTextTestId(e) {
17905
+ set leftImageTestId(e) {
17507
17906
  h(e), flushSync();
17508
17907
  },
17509
- get showLoader() {
17908
+ get centerTextTestId() {
17510
17909
  return S();
17511
17910
  },
17512
- set showLoader(e = !1) {
17911
+ set centerTextTestId(e) {
17513
17912
  S(e), flushSync();
17514
17913
  },
17515
- get showRightContentLoader() {
17914
+ get showLoader() {
17516
17915
  return C();
17517
17916
  },
17518
- set showRightContentLoader(e = !1) {
17917
+ set showLoader(e = !1) {
17519
17918
  C(e), flushSync();
17520
17919
  },
17521
- get expand() {
17920
+ get showRightContentLoader() {
17522
17921
  return k();
17523
17922
  },
17524
- set expand(e = !1) {
17923
+ set showRightContentLoader(e = !1) {
17525
17924
  k(e), flushSync();
17526
17925
  },
17527
- get preventFocus() {
17926
+ get expand() {
17528
17927
  return R();
17529
17928
  },
17530
- set preventFocus(e = !1) {
17929
+ set expand(e = !1) {
17531
17930
  R(e), flushSync();
17532
17931
  },
17533
- get suppressRoleAndTabindex() {
17932
+ get preventFocus() {
17534
17933
  return te();
17535
17934
  },
17536
- set suppressRoleAndTabindex(e = !1) {
17935
+ set preventFocus(e = !1) {
17537
17936
  te(e), flushSync();
17538
17937
  },
17539
- get leftContent() {
17938
+ get suppressRoleAndTabindex() {
17540
17939
  return ne();
17541
17940
  },
17542
- set leftContent(e) {
17941
+ set suppressRoleAndTabindex(e = !1) {
17543
17942
  ne(e), flushSync();
17544
17943
  },
17545
- get centerContent() {
17944
+ get leftContent() {
17546
17945
  return re();
17547
17946
  },
17548
- set centerContent(e) {
17947
+ set leftContent(e) {
17549
17948
  re(e), flushSync();
17550
17949
  },
17551
- get rightContent() {
17950
+ get centerContent() {
17552
17951
  return G();
17553
17952
  },
17554
- set rightContent(e) {
17953
+ set centerContent(e) {
17555
17954
  G(e), flushSync();
17556
17955
  },
17557
- get bottomContent() {
17956
+ get rightContent() {
17558
17957
  return be();
17559
17958
  },
17560
- set bottomContent(e) {
17959
+ set rightContent(e) {
17561
17960
  be(e), flushSync();
17562
17961
  },
17563
- get onleftimageclick() {
17962
+ get bottomContent() {
17564
17963
  return Me();
17565
17964
  },
17566
- set onleftimageclick(e) {
17965
+ set bottomContent(e) {
17567
17966
  Me(e), flushSync();
17568
17967
  },
17569
- get onrightimageclick() {
17968
+ get onleftimageclick() {
17570
17969
  return Re();
17571
17970
  },
17572
- set onrightimageclick(e) {
17971
+ set onleftimageclick(e) {
17573
17972
  Re(e), flushSync();
17574
17973
  },
17575
- get oncentertextclick() {
17974
+ get onrightimageclick() {
17576
17975
  return Ue();
17577
17976
  },
17578
- set oncentertextclick(e) {
17977
+ set onrightimageclick(e) {
17579
17978
  Ue(e), flushSync();
17580
17979
  },
17581
- get onitemclick() {
17980
+ get oncentertextclick() {
17582
17981
  return it();
17583
17982
  },
17584
- set onitemclick(e) {
17983
+ set oncentertextclick(e) {
17585
17984
  it(e), flushSync();
17586
17985
  },
17587
- get ontopsectionclick() {
17986
+ get onitemclick() {
17588
17987
  return at();
17589
17988
  },
17590
- set ontopsectionclick(e) {
17989
+ set onitemclick(e) {
17591
17990
  at(e), flushSync();
17592
17991
  },
17593
- get onkeydown() {
17992
+ get ontopsectionclick() {
17594
17993
  return ot();
17595
17994
  },
17596
- set onkeydown(e) {
17995
+ set ontopsectionclick(e) {
17597
17996
  ot(e), flushSync();
17598
17997
  },
17599
- get classes() {
17998
+ get onkeydown() {
17600
17999
  return ct();
17601
18000
  },
17602
- set classes(e) {
18001
+ set onkeydown(e) {
17603
18002
  ct(e), flushSync();
17604
18003
  },
17605
- get transformSvg() {
18004
+ get classes() {
17606
18005
  return lt();
17607
18006
  },
17608
- set transformSvg(e) {
18007
+ set classes(e) {
17609
18008
  lt(e), flushSync();
17610
18009
  },
17611
- get role() {
18010
+ get transformSvg() {
17612
18011
  return ut();
17613
18012
  },
17614
- set role(e) {
18013
+ set transformSvg(e) {
17615
18014
  ut(e), flushSync();
17616
18015
  },
17617
- get ariaSelected() {
18016
+ get role() {
17618
18017
  return dt();
17619
18018
  },
17620
- set ariaSelected(e) {
18019
+ set role(e) {
17621
18020
  dt(e), flushSync();
17622
18021
  },
17623
- get id() {
18022
+ get ariaSelected() {
17624
18023
  return ft();
17625
18024
  },
17626
- set id(e) {
18025
+ set ariaSelected(e) {
17627
18026
  ft(e), flushSync();
18027
+ },
18028
+ get id() {
18029
+ return pt();
18030
+ },
18031
+ set id(e) {
18032
+ pt(e), flushSync();
17628
18033
  }
17629
- }, At = comment(), jt = first_child(At), Mt = (e) => {
17630
- var t = root_6$26(), Me = child(t), Re = (e) => {
18034
+ }, Mt = comment(), Nt = first_child(Mt), Pt = (e) => {
18035
+ var t = root_6$26(), s = child(t), Re = (e) => {
17631
18036
  append(e, root$55());
17632
18037
  };
17633
- if_block(Me, (e) => {
17634
- S() && e(Re);
18038
+ if_block(s, (e) => {
18039
+ C() && e(Re);
17635
18040
  });
17636
- var Ue = sibling(Me, 2);
18041
+ var Ue = sibling(s, 2);
17637
18042
  let it;
17638
18043
  var at = child(Ue);
17639
18044
  let ot;
17640
- var _t = child(at), Ct = child(_t), kt = (e) => {
18045
+ var ct = child(at), vt = child(ct), Tt = (e) => {
17641
18046
  var t = root_1$52();
17642
18047
  let a;
17643
18048
  Img(child(t), {
@@ -17649,47 +18054,47 @@ function ListItem(e, t) {
17649
18054
  return i();
17650
18055
  },
17651
18056
  get transformSvg() {
17652
- return lt();
18057
+ return ut();
17653
18058
  }
17654
18059
  }), reset(t), template_effect(() => {
17655
- set_attribute(t, "role", get(mt) ? "button" : null), set_attribute(t, "tabindex", get(mt) ? 0 : null), set_attribute(t, "data-pw", p()), set_attribute(t, "testid", p()), a = set_class(t, 1, "svelte-d2pqbq", null, a, { "prevent-focus": R() });
17656
- }), delegated("click", t, vt), delegated("keydown", t, Et), append(e, t);
18060
+ set_attribute(t, "role", get(ht) ? "button" : null), set_attribute(t, "tabindex", get(ht) ? 0 : null), set_attribute(t, "data-pw", h()), set_attribute(t, "testid", h()), a = set_class(t, 1, "svelte-d2pqbq", null, a, { "prevent-focus": te() });
18061
+ }), delegated("click", t, bt), delegated("keydown", t, Ot), append(e, t);
17657
18062
  };
17658
- if_block(Ct, (e) => {
17659
- typeof n() == "string" && n().length > 0 && e(kt);
18063
+ if_block(vt, (e) => {
18064
+ typeof n() == "string" && n().length > 0 && e(Tt);
17660
18065
  });
17661
- var At = sibling(Ct, 2), jt = (e) => {
18066
+ var jt = sibling(vt, 2), Mt = (e) => {
17662
18067
  var t = comment();
17663
- snippet(first_child(t), () => ne() ?? noop), append(e, t);
18068
+ snippet(first_child(t), () => re() ?? noop), append(e, t);
17664
18069
  };
17665
- if_block(At, (e) => {
17666
- typeof ne() == "function" && e(jt);
17667
- }), reset(_t);
17668
- var Mt = sibling(_t, 2), Nt = child(Mt), Pt = (e) => {
18070
+ if_block(jt, (e) => {
18071
+ typeof re() == "function" && e(Mt);
18072
+ }), reset(ct);
18073
+ var Nt = sibling(ct, 2), Pt = child(Nt), It = (e) => {
17669
18074
  var t = root_2$41();
17670
18075
  let n;
17671
- html(t, o, !0), reset(t), template_effect(() => {
17672
- n = set_class(t, 1, "center-text svelte-d2pqbq", null, n, { "prevent-focus": R() }), set_attribute(t, "role", get(ht) ? "button" : null), set_attribute(t, "tabindex", get(ht) ? 0 : null), set_attribute(t, "data-pw", h()), set_attribute(t, "testid", h());
17673
- }), delegated("click", t, bt), delegated("keydown", t, Dt), append(e, t);
18076
+ html(t, () => get(yt), !0), reset(t), template_effect(() => {
18077
+ n = set_class(t, 1, "center-text svelte-d2pqbq", null, n, { "prevent-focus": te() }), set_attribute(t, "role", get(gt) ? "button" : null), set_attribute(t, "tabindex", get(gt) ? 0 : null), set_attribute(t, "data-pw", S()), set_attribute(t, "testid", S());
18078
+ }), delegated("click", t, St), delegated("keydown", t, kt), append(e, t);
17674
18079
  };
17675
- if_block(Nt, (e) => {
17676
- typeof o() == "string" && o().length > 0 && e(Pt);
18080
+ if_block(Pt, (e) => {
18081
+ typeof o() == "string" && o().length > 0 && e(It);
17677
18082
  });
17678
- var It = sibling(Nt, 2), Lt = (e) => {
18083
+ var Lt = sibling(Pt, 2), Rt = (e) => {
17679
18084
  var t = comment();
17680
- snippet(first_child(t), () => re() ?? noop), append(e, t);
18085
+ snippet(first_child(t), () => G() ?? noop), append(e, t);
17681
18086
  };
17682
- if_block(It, (e) => {
17683
- typeof re() == "function" && e(Lt);
17684
- }), reset(Mt);
17685
- var Rt = sibling(Mt, 2), zt = child(Rt), Bt = (e) => {
18087
+ if_block(Lt, (e) => {
18088
+ typeof G() == "function" && e(Rt);
18089
+ }), reset(Nt);
18090
+ var zt = sibling(Nt, 2), Bt = child(zt), Ht = (e) => {
17686
18091
  var t = comment();
17687
- snippet(first_child(t), () => G() ?? noop), append(e, t);
18092
+ snippet(first_child(t), () => be() ?? noop), append(e, t);
17688
18093
  };
17689
- if_block(zt, (e) => {
17690
- typeof G() == "function" && e(Bt);
18094
+ if_block(Bt, (e) => {
18095
+ typeof be() == "function" && e(Ht);
17691
18096
  });
17692
- var Ht = sibling(zt, 2), Gt = (e) => {
18097
+ var Gt = sibling(Bt, 2), qt = (e) => {
17693
18098
  var t = root_3$37();
17694
18099
  let n;
17695
18100
  var i = child(t);
@@ -17699,56 +18104,57 @@ function ListItem(e, t) {
17699
18104
  },
17700
18105
  alt: "",
17701
18106
  get transformSvg() {
17702
- return lt();
18107
+ return ut();
17703
18108
  }
17704
18109
  }), reset(i), reset(t), template_effect(() => {
17705
- set_attribute(t, "role", get(gt) ? "button" : null), set_attribute(t, "tabindex", get(gt) ? 0 : null), set_attribute(t, "data-pw", f()), set_attribute(t, "testid", f()), n = set_class(t, 1, "svelte-d2pqbq", null, n, { "prevent-focus": R() });
17706
- }), delegated("click", t, yt), delegated("keydown", t, Ot), append(e, t);
18110
+ set_attribute(t, "role", get(_t) ? "button" : null), set_attribute(t, "tabindex", get(_t) ? 0 : null), set_attribute(t, "data-pw", p()), set_attribute(t, "testid", p()), n = set_class(t, 1, "svelte-d2pqbq", null, n, { "prevent-focus": te() });
18111
+ }), delegated("click", t, xt), delegated("keydown", t, At), append(e, t);
17707
18112
  };
17708
- if_block(Ht, (e) => {
17709
- typeof a() == "string" && a().length > 0 && e(Gt);
18113
+ if_block(Gt, (e) => {
18114
+ typeof a() == "string" && a().length > 0 && e(qt);
17710
18115
  });
17711
- var qt = sibling(Ht, 2), Zt = (e) => {
18116
+ var Zt = sibling(Gt, 2), Qt = (e) => {
17712
18117
  var t = root_4$32();
17713
18118
  Loader(child(t), {}), reset(t), append(e, t);
17714
18119
  };
17715
- if_block(qt, (e) => {
17716
- C() && e(Zt);
18120
+ if_block(Zt, (e) => {
18121
+ k() && e(Qt);
17717
18122
  });
17718
- var Qt = sibling(qt, 2), $t = (e) => {
18123
+ var $t = sibling(Zt, 2), en = (e) => {
17719
18124
  var t = root_5$29(), n = child(t, !0);
17720
- reset(t), template_effect(() => set_text(n, c())), append(e, t);
18125
+ reset(t), template_effect(() => set_text(n, l())), append(e, t);
17721
18126
  };
17722
- if_block(Qt, (e) => {
17723
- typeof c() == "string" && c().length > 0 && e($t);
17724
- }), reset(Rt), reset(at);
17725
- var en = sibling(at, 2), tn = child(en), nn = (e) => {
18127
+ if_block($t, (e) => {
18128
+ typeof l() == "string" && l().length > 0 && e(en);
18129
+ }), reset(zt), reset(at);
18130
+ var tn = sibling(at, 2), nn = child(tn), rn = (e) => {
17726
18131
  Accordion(e, {
17727
18132
  get expand() {
17728
- return k();
18133
+ return R();
17729
18134
  },
17730
18135
  children: (e, t) => {
17731
18136
  var n = comment();
17732
- snippet(first_child(n), be), append(e, n);
18137
+ snippet(first_child(n), Me), append(e, n);
17733
18138
  },
17734
18139
  $$slots: { default: !0 }
17735
18140
  });
17736
18141
  };
17737
- if_block(tn, (e) => {
17738
- typeof be() == "function" && s() && e(nn);
17739
- }), reset(en), reset(Ue), reset(t), template_effect(() => {
17740
- set_class(t, 1, `item-container ${ct() ?? "" ?? ""}`, "svelte-d2pqbq"), it = set_class(Ue, 1, "item svelte-d2pqbq", null, it, { "prevent-focus": R() }), set_attribute(Ue, "role", te() ? null : ut() ?? "button"), set_attribute(Ue, "tabindex", te() ? null : ut() === "option" ? -1 : 0), set_attribute(Ue, "aria-selected", te() ? null : dt()), set_attribute(Ue, "id", ft()), set_attribute(Ue, "data-pw", l()), set_attribute(Ue, "testid", l()), ot = set_class(at, 1, "top-section svelte-d2pqbq", null, ot, { "prevent-focus": R() }), set_attribute(at, "role", get(pt) ? "button" : null), set_attribute(at, "tabindex", get(pt) ? 0 : null), set_attribute(at, "data-pw", u()), set_attribute(at, "testid", u());
17741
- }), delegated("click", Ue, xt), delegated("keydown", Ue, wt), delegated("click", at, St), delegated("keydown", at, Tt), append(e, t);
18142
+ if_block(nn, (e) => {
18143
+ typeof Me() == "function" && c() && e(rn);
18144
+ }), reset(tn), reset(Ue), reset(t), template_effect(() => {
18145
+ set_class(t, 1, `item-container ${lt() ?? "" ?? ""}`, "svelte-d2pqbq"), it = set_class(Ue, 1, "item svelte-d2pqbq", null, it, { "prevent-focus": te() }), set_attribute(Ue, "role", ne() ? null : dt() ?? "button"), set_attribute(Ue, "tabindex", ne() ? null : dt() === "option" ? -1 : 0), set_attribute(Ue, "aria-selected", ne() ? null : ft()), set_attribute(Ue, "id", pt()), set_attribute(Ue, "data-pw", u()), set_attribute(Ue, "testid", u()), ot = set_class(at, 1, "top-section svelte-d2pqbq", null, ot, { "prevent-focus": te() }), set_attribute(at, "role", get(mt) ? "button" : null), set_attribute(at, "tabindex", get(mt) ? 0 : null), set_attribute(at, "data-pw", f()), set_attribute(at, "testid", f());
18146
+ }), delegated("click", Ue, Ct), delegated("keydown", Ue, Et), delegated("click", at, wt), delegated("keydown", at, Dt), append(e, t);
17742
18147
  };
17743
- return if_block(jt, (e) => {
17744
- (typeof n() == "string" && n().length > 0 || typeof a() == "string" && a().length > 0 || typeof o() == "string" && o().length > 0 || typeof ne() == "function" || typeof re() == "function" || typeof G() == "function" || typeof be() == "function") && e(Mt);
17745
- }), append(e, At), pop(kt);
18148
+ return if_block(Nt, (e) => {
18149
+ (typeof n() == "string" && n().length > 0 || typeof a() == "string" && a().length > 0 || typeof o() == "string" && o().length > 0 || typeof re() == "function" || typeof G() == "function" || typeof be() == "function" || typeof Me() == "function") && e(Pt);
18150
+ }), append(e, Mt), pop(jt);
17746
18151
  }
17747
18152
  delegate(["click", "keydown"]), create_custom_element(ListItem, {
17748
18153
  leftImageUrl: {},
17749
18154
  leftImageFallbackUrl: {},
17750
18155
  rightImageUrl: {},
17751
18156
  label: {},
18157
+ sanitize: {},
17752
18158
  useAccordion: {},
17753
18159
  rightContentText: {},
17754
18160
  testId: {},
@@ -17867,6 +18273,7 @@ customElements.define("sui-list-item", create_custom_element(ListItem_wc, {
17867
18273
  reflect: !0,
17868
18274
  type: "String"
17869
18275
  },
18276
+ sanitize: { type: "Object" },
17870
18277
  useAccordion: {
17871
18278
  attribute: "use-accordion",
17872
18279
  type: "Boolean"
@@ -17948,7 +18355,7 @@ function computeMenuDropdownPosition(e) {
17948
18355
  //#region src/lib/Menu/Menu.svelte
17949
18356
  var root_1$51 = /* @__PURE__ */ from_html("<div class=\"menu-trigger svelte-ahcnny\"><!></div>"), root_2$40 = /* @__PURE__ */ from_html("<div class=\"menu-trigger svelte-ahcnny\" role=\"button\" tabindex=\"0\" aria-haspopup=\"menu\"><!></div>"), root_3$36 = /* @__PURE__ */ from_html("<div class=\"menu-separator svelte-ahcnny\" role=\"separator\"></div>"), root_4$31 = /* @__PURE__ */ from_html("<span class=\"menu-item-icon svelte-ahcnny\"><!></span>"), root_5$28 = /* @__PURE__ */ from_html("<div><!> <span class=\"menu-item-label svelte-ahcnny\"> </span></div>"), root_6$25 = /* @__PURE__ */ from_html("<div tabindex=\"-1\"></div>"), root_7$23 = /* @__PURE__ */ from_html("<div><!> <!></div>"), $$css$103 = {
17950
18357
  hash: "svelte-ahcnny",
17951
- code: ".menu-container.svelte-ahcnny {position:var(--menu-container-position, relative);display:var(--menu-container-display, inline-block);font-family:var(--menu-font-family, inherit);font-size:var(--menu-font-size, 14px);}.menu-trigger.svelte-ahcnny {cursor:pointer;-webkit-tap-highlight-color:transparent;}.menu-trigger.svelte-ahcnny:focus {outline:var(--menu-trigger-focus-outline, none);}.menu-dropdown.svelte-ahcnny {position:absolute;z-index:var(--menu-z-index, 10);top:var(--menu-dropdown-top, 100%);left:var(--menu-dropdown-left, 0);background-color:var(--menu-background-color, #ffffff);border:var(--menu-border, 1px solid #e0e0e0);border-radius:var(--menu-border-radius, var(--radius, 4px));box-shadow:var(--menu-box-shadow, 0px 4px 16px rgba(0, 0, 0, 0.12));min-width:var(--menu-min-width, 160px);max-height:var(--menu-max-height, 240px);overflow-y:auto;padding:var(--menu-padding, 4px 0);margin:var(--menu-margin, 4px 0);}\n\n /* Placement corners — `bottom-left` is the base rule above (and stays fully\n driven by the --menu-dropdown-top/left consumer tokens); the other corners\n override the anchoring sides. The chained selector outweighs the base rule\n regardless of source order. */.menu-dropdown.menu-dropdown-bottom-right.svelte-ahcnny {left:auto;right:0;}.menu-dropdown.menu-dropdown-top-left.svelte-ahcnny {top:auto;bottom:100%;}.menu-dropdown.menu-dropdown-top-right.svelte-ahcnny {top:auto;bottom:100%;left:auto;right:0;}\n\n /* One-tick measuring pass for placement=\"auto\": the panel needs rendered\n dimensions before the corner is chosen, without a visible flash. */.menu-dropdown.menu-dropdown-measuring.svelte-ahcnny {visibility:hidden;}.menu-item.svelte-ahcnny {display:flex;align-items:center;padding:var(--menu-item-padding, 8px 12px);cursor:pointer;color:var(--menu-item-color, #333333);background-color:var(--menu-item-background-color, transparent);gap:var(--menu-item-gap, 8px);white-space:var(--menu-item-white-space, nowrap);-webkit-tap-highlight-color:transparent;}.menu-item.svelte-ahcnny:hover {background-color:var(--menu-item-hover-background-color, #f5f5f5);color:var(--menu-item-hover-color, var(--menu-item-color, #333333));}.menu-item.svelte-ahcnny:focus {background-color:var(--menu-item-focus-background-color, #f0f0f0);outline:var(--menu-item-focus-outline, none);}\n\n /* True selection (selectedValue match) — distinct from transient focus so the\n highlight follows the chosen option, not wherever keyboard focus landed. */.menu-item-selected.svelte-ahcnny {background-color:var(--menu-item-selected-background-color, transparent);color:var(--menu-item-selected-color, inherit);}.menu-item-danger.svelte-ahcnny {color:var(--menu-item-danger-color, #dc3545);}.menu-item-danger.svelte-ahcnny:hover {background-color:var(--menu-item-danger-hover-background-color, #fff0f0);color:var(--menu-item-danger-hover-color, var(--menu-item-danger-color, #dc3545));}.menu-item-danger.svelte-ahcnny:focus {background-color:var(--menu-item-danger-focus-background-color, #fff0f0);}.menu-item-disabled.svelte-ahcnny {opacity:var(--menu-item-disabled-opacity, 0.4);cursor:var(--menu-item-disabled-cursor, not-allowed);pointer-events:none;}.menu-separator.svelte-ahcnny {height:var(--menu-separator-height, 1px);background-color:var(--menu-separator-color, #e0e0e0);margin:var(--menu-separator-margin, 4px 0);}.menu-item-icon.svelte-ahcnny {display:inline-flex;height:var(--menu-item-icon-height, 16px);width:var(--menu-item-icon-width, 16px);flex-shrink:0;}.menu-item-icon.svelte-ahcnny img,\n .menu-item-icon.svelte-ahcnny svg {width:100%;height:100%;}.menu-item-label.svelte-ahcnny {flex:1;font-weight:var(--menu-item-font-weight, 400);line-height:var(--menu-item-line-height, 1.4);}"
18358
+ code: ".menu-container.svelte-ahcnny {position:var(--menu-container-position, relative);display:var(--menu-container-display, inline-block);font-family:var(--menu-font-family, inherit);font-size:var(--menu-font-size, 14px);}.menu-trigger.svelte-ahcnny {cursor:pointer;-webkit-tap-highlight-color:transparent;}\n\n /* :focus-visible, not :focus: the trigger is opened by mouse click as often\n as by keyboard (onclick={toggle} above), and a ring on every mouse-opened\n menu would be noise. The default used to be `none` with nothing standing\n in for it, so a keyboard user tabbing to (or landing back on, after\n Escape closes the dropdown) the trigger had no visible sign it was\n focused. SplitButton's own trigger wraps this same element and used to\n set --menu-trigger-focus-outline to `none` for the identical reason --\n see its .split-button-trigger, now fixed to inherit this default instead. */.menu-trigger.svelte-ahcnny:focus-visible {outline:var(--menu-trigger-focus-outline, 2px solid #2563eb);outline-offset:var(--menu-trigger-focus-outline-offset, 2px);}.menu-dropdown.svelte-ahcnny {position:absolute;z-index:var(--menu-z-index, 10);top:var(--menu-dropdown-top, 100%);left:var(--menu-dropdown-left, 0);background-color:var(--menu-background-color, #ffffff);border:var(--menu-border, 1px solid #e0e0e0);border-radius:var(--menu-border-radius, var(--radius, 4px));box-shadow:var(--menu-box-shadow, 0px 4px 16px rgba(0, 0, 0, 0.12));min-width:var(--menu-min-width, 160px);max-height:var(--menu-max-height, 240px);overflow-y:auto;padding:var(--menu-padding, 4px 0);margin:var(--menu-margin, 4px 0);}\n\n /* Placement corners — `bottom-left` is the base rule above (and stays fully\n driven by the --menu-dropdown-top/left consumer tokens); the other corners\n override the anchoring sides. The chained selector outweighs the base rule\n regardless of source order. */.menu-dropdown.menu-dropdown-bottom-right.svelte-ahcnny {left:auto;right:0;}.menu-dropdown.menu-dropdown-top-left.svelte-ahcnny {top:auto;bottom:100%;}.menu-dropdown.menu-dropdown-top-right.svelte-ahcnny {top:auto;bottom:100%;left:auto;right:0;}\n\n /* One-tick measuring pass for placement=\"auto\": the panel needs rendered\n dimensions before the corner is chosen, without a visible flash. */.menu-dropdown.menu-dropdown-measuring.svelte-ahcnny {visibility:hidden;}.menu-item.svelte-ahcnny {display:flex;align-items:center;padding:var(--menu-item-padding, 8px 12px);cursor:pointer;color:var(--menu-item-color, #333333);background-color:var(--menu-item-background-color, transparent);gap:var(--menu-item-gap, 8px);white-space:var(--menu-item-white-space, nowrap);-webkit-tap-highlight-color:transparent;}.menu-item.svelte-ahcnny:hover {background-color:var(--menu-item-hover-background-color, #f5f5f5);color:var(--menu-item-hover-color, var(--menu-item-color, #333333));}.menu-item.svelte-ahcnny:focus {background-color:var(--menu-item-focus-background-color, #f0f0f0);outline:var(--menu-item-focus-outline, none);}\n\n /* True selection (selectedValue match) — distinct from transient focus so the\n highlight follows the chosen option, not wherever keyboard focus landed. */.menu-item-selected.svelte-ahcnny {background-color:var(--menu-item-selected-background-color, transparent);color:var(--menu-item-selected-color, inherit);}.menu-item-danger.svelte-ahcnny {color:var(--menu-item-danger-color, #dc3545);}.menu-item-danger.svelte-ahcnny:hover {background-color:var(--menu-item-danger-hover-background-color, #fff0f0);color:var(--menu-item-danger-hover-color, var(--menu-item-danger-color, #dc3545));}.menu-item-danger.svelte-ahcnny:focus {background-color:var(--menu-item-danger-focus-background-color, #fff0f0);}.menu-item-disabled.svelte-ahcnny {opacity:var(--menu-item-disabled-opacity, 0.4);cursor:var(--menu-item-disabled-cursor, not-allowed);pointer-events:none;}.menu-separator.svelte-ahcnny {height:var(--menu-separator-height, 1px);background-color:var(--menu-separator-color, #e0e0e0);margin:var(--menu-separator-margin, 4px 0);}.menu-item-icon.svelte-ahcnny {display:inline-flex;height:var(--menu-item-icon-height, 16px);width:var(--menu-item-icon-width, 16px);flex-shrink:0;}.menu-item-icon.svelte-ahcnny img,\n .menu-item-icon.svelte-ahcnny svg {width:100%;height:100%;}.menu-item-label.svelte-ahcnny {flex:1;font-weight:var(--menu-item-font-weight, 400);line-height:var(--menu-item-line-height, 1.4);}"
17952
18359
  };
17953
18360
  function Menu(e, t) {
17954
18361
  push(t, !0), append_styles$1(e, $$css$103);
@@ -18549,7 +18956,7 @@ create_custom_element(OverlayAnimation, {
18549
18956
  //#region src/lib/Modal/Modal.svelte
18550
18957
  var root_1$50 = /* @__PURE__ */ from_html("<div role=\"button\" tabindex=\"0\"><!></div>"), root_2$39 = /* @__PURE__ */ from_html("<div><!></div>"), root_3$35 = /* @__PURE__ */ from_html("<div class=\"header-text svelte-lnufm\"> </div>"), root_4$30 = /* @__PURE__ */ from_html("<div class=\"header svelte-lnufm\"><!> <!> <!></div>"), root_5$27 = /* @__PURE__ */ from_html("<div class=\"footer-content svelte-lnufm\"><!></div>"), root_6$24 = /* @__PURE__ */ from_html("<div class=\"footer-secondary-button svelte-lnufm\"><!></div>"), root_7$22 = /* @__PURE__ */ from_html("<div class=\"footer-primary-button svelte-lnufm\"><!></div>"), root_8$20 = /* @__PURE__ */ from_html("<div class=\"footer-content svelte-lnufm\"><div class=\"footer-action-buttons svelte-lnufm\"><!> <!></div></div>"), root_9$17 = /* @__PURE__ */ from_html("<div tabindex=\"-1\"><!> <div class=\"slot-content svelte-lnufm\"><!></div> <!></div>"), $$css$101 = {
18551
18958
  hash: "svelte-lnufm",
18552
- code: ".modal.svelte-lnufm {position:fixed;top:0;bottom:0;left:0;right:0;width:var(--modal-width, 100vw);height:var(--modal-height, 100vh);display:flex;flex-direction:column;z-index:var(--modal-z-index, 15);-webkit-tap-highlight-color:transparent;margin:var(--modal-margin);}.overlay-active.svelte-lnufm {\n /* Prefer the modal-specific token; fall back to the legacy generic\n --background-color (kept for backward compatibility), then the default.\n The generic name collides with app-level --background-color tokens, which\n silently override the overlay; --modal-overlay-background-color lets a\n consumer theme the backdrop without that collision. */background-color:var(--modal-overlay-background-color, var(--background-color, #00000066));backdrop-filter:var(--modal-overlay-backdrop-filter, none);-webkit-backdrop-filter:var(--modal-overlay-backdrop-filter, none);pointer-events:auto;}.overlay-inactive.svelte-lnufm {pointer-events:none;}.modal-content.svelte-lnufm {pointer-events:auto;background-color:var(--modal-content-background-color, #ffffff);cursor:auto;display:flex;flex-direction:column;border-radius:var(--modal-border-radius, var(--radius, 4px));overflow:var(--modal-content-overflow, auto);border-top:var(--modal-content-border-top);\n /* tabindex=\"-1\" makes this the focus-trap's fallback target when the modal\n has no focusable content of its own (see _interaction/focus.ts); it is\n never in the Tab order itself, so it needs no visible focus ring the way\n a real focusable element would. Matches Sheet's sheet-panel. */outline:none;\n /* Viewport containment for every size class: only .fit-content used to carry\n a max-height, so a size whose height var is overridden to fit-content (or\n anything taller than the screen) grew past the viewport and pushed its\n footer and bottom rounding off-screen. dvh tracks the real visible\n viewport on mobile; the vh line is the fallback for engines without dvh. */max-height:var(--modal-max-height, calc(100vh - 32px));max-height:var(--modal-max-height, calc(100dvh - 32px));}.slot-content.svelte-lnufm {display:var(--modal-display, flex);\n /* Flex children default to min-height: auto and refuse to shrink below their\n content, which defeats the overflow-y scroll once modal-content is\n height-capped — the content spills instead of scrolling and the footer is\n pushed out. 0 lets the slot shrink so its own scrollbar engages and the\n header/footer stay pinned inside the viewport. */min-height:var(--modal-slot-content-min-height, 0);overflow-y:var(--modal-overflow-y, scroll);scrollbar-width:var(--modal-scrollbar-width, none);padding:var(--modal-content-padding, 0);}.slot-content.svelte-lnufm::-webkit-scrollbar {display:none;}.center.svelte-lnufm {justify-content:var(--modal-center-justify-content, center);align-items:var(--modal-center-align-items, center);}.bottom.svelte-lnufm {justify-content:var(--modal-bottom-justify-content, flex-end);align-items:var(--modal-bottom-align-items);}.top.svelte-lnufm {justify-content:var(--modal-top-justify-content, flex-start);align-items:var(--modal-top-align-items);}.small.svelte-lnufm {height:var(--modal-small-height, 20vh);width:var(--modal-small-width);}.medium.svelte-lnufm {height:var(--modal-medium-height, 50vh);width:var(--modal-medium-width);}.large.svelte-lnufm {height:var(--modal-large-height, 80vh);width:var(--modal-large-width);}.fit-content.svelte-lnufm {height:fit-content;max-height:var(--modal-fit-content-max-height, 80vh);}.header.svelte-lnufm {display:flex;background-color:var(--modal-header-background-color, #f6f7f9);padding:var(--modal-header-padding, 18px 20px);border-radius:var(--modal-header-border-radius, 0px);border-bottom:var(--modal-header-border-bottom, none);align-items:var(--modal-header-align-items, center);}.footer-content.svelte-lnufm {display:flex;background-color:var(--modal-footer-background-color, #f6f7f9);padding:var(--modal-footer-padding, 18px 20px);border-radius:var(--modal-footer-border-radius, 0px);border-top:var(--modal-footer-border-top, none);justify-content:var(--modal-footer-justify-content, none);}.footer-action-buttons.svelte-lnufm {display:flex;gap:var(--modal-footer-gap, 0px);width:var(--modal-footer-action-buttons-width, fit-content);}.footer-secondary-button.svelte-lnufm {--button-max-height: var(--modal-footer-secondary-button-max-height);--button-max-width: var(--modal-footer-secondary-button-max-width);--button-font-family: var(--modal-footer-secondary-button-font-family);--button-font-weight: var(--modal-footer-secondary-button-font-weight, 500);--button-font-size: var(--modal-footer-secondary-button-font-size, 14px);--button-color: var(--modal-footer-secondary-button-color, #3a4550);--button-text-color: var(--modal-footer-secondary-button-text-color, white);--button-height: var(--modal-footer-secondary-button-height, fit-content);--button-padding: var(--modal-footer-secondary-button-padding, 16px);--button-margin: var(--modal-footer-secondary-button-margin);--button-border-radius: var(--modal-footer-secondary-button-border-radius, var(--radius, 4px));--button-width: var(--modal-footer-secondary-button-width, fit-content);--cursor: var(--modal-footer-secondary-button-cursor, pointer);--opacity: var(--modal-footer-secondary-button-opacity, 1);--button-border: var(--modal-footer-secondary-button-border, none);--disabled-background-color: var(\n --modal-footer-secondary-button-disabled-color,\n var(--modal-footer-secondary-button-color, #3a4550)\n );--disabled-text-color: var(\n --modal-footer-secondary-button-disabled-text-color,\n var(--modal-footer-secondary-button-text-color, white)\n );--disabled-border: var(\n --modal-footer-secondary-button-disabled-border,\n var(--modal-footer-secondary-button-border, none)\n );--disabled-opacity: var(--modal-footer-secondary-button-disabled-opacity, 0.4);--button-justify-content: var(--modal-footer-secondary-button-justify-content, center);--button-content-flex-direction: var(\n --modal-footer-secondary-button-content-flex-direction,\n row\n );--button-content-gap: var(--modal-footer-secondary-button-content-gap, 16px);--button-visibility: var(--modal-footer-secondary-button-visibility, visible);--button-box-shadow: var(--modal-footer-secondary-button-box-shadow, none);order:var(--modal-secondary-button-order, none);flex:var(--modal-footer-secondary-button-flex-value, none);}.footer-primary-button.svelte-lnufm {--button-max-height: var(--modal-footer-primary-button-max-height);--button-max-width: var(--modal-footer-primary-button-max-width);--button-font-family: var(--modal-footer-primary-button-font-family);--button-font-weight: var(--modal-footer-primary-button-font-weight, 500);--button-font-size: var(--modal-footer-primary-button-font-size, 14px);--button-color: var(--modal-footer-primary-button-color, #3a4550);--button-text-color: var(--modal-footer-primary-button-text-color, white);--button-height: var(--modal-footer-primary-button-height, fit-content);--button-padding: var(--modal-footer-primary-button-padding, 16px);--button-margin: var(--modal-footer-primary-button-margin);--button-border-radius: var(--modal-footer-primary-button-border-radius, var(--radius, 4px));--button-width: var(--modal-footer-primary-button-width, fit-content);--cursor: var(--modal-footer-primary-button-cursor, pointer);--opacity: var(--modal-footer-primary-button-opacity, 1);--button-border: var(--modal-footer-primary-button-border, none);--disabled-background-color: var(\n --modal-footer-primary-button-disabled-color,\n var(--modal-footer-primary-button-color, #3a4550)\n );--disabled-text-color: var(\n --modal-footer-primary-button-disabled-text-color,\n var(--modal-footer-primary-button-text-color, white)\n );--disabled-border: var(\n --modal-footer-primary-button-disabled-border,\n var(--modal-footer-primary-button-border, none)\n );--disabled-opacity: var(--modal-footer-primary-button-disabled-opacity, 0.4);--button-justify-content: var(--modal-footer-primary-button-justify-content, center);--button-content-flex-direction: var(--modal-footer-primary-button-content-flex-direction, row);--button-content-gap: var(--modal-footer-primary-button-content-gap, 16px);--button-visibility: var(--modal-footer-primary-button-visibility, visible);--button-box-shadow: var(--modal-footer-primary-button-box-shadow, none);order:var(--modal-primary-button-order, none);flex:var(--modal-footer-primary-button-flex-value, none);}.header-text.svelte-lnufm {display:flex;align-items:center;flex:1;font-size:var(--header-text-size, 16px);font-weight:var(--modal-header-text-weight, inherit);line-height:var(--modal-header-text-line-height, inherit);letter-spacing:var(--modal-header-text-letter-spacing, inherit);}\n\n /* The header images render through the Img component (inline svg or img), so\n these classes ride on Img's element — match them via :global under the\n scoped .header to keep the sizing contract. */.header.svelte-lnufm .header-left-img,\n .header.svelte-lnufm .header-right-img {padding-top:var(--header-img-top-padding, 5px);cursor:pointer;}.header.svelte-lnufm .header-left-img {margin:var(--header-left-image-margin, 0px 18px 0px 0px);width:var(--header-left-image-width, 25px);height:var(--header-left-image-height, 25px);}.header.svelte-lnufm .header-right-img {width:var(--header-right-image-width, 25px);height:var(--header-right-image-height, 25px);padding:var(--header-right-image-padding);}"
18959
+ code: ".modal.svelte-lnufm {position:fixed;top:0;bottom:0;left:0;right:0;width:var(--modal-width, 100vw);height:var(--modal-height, 100vh);display:flex;flex-direction:column;z-index:var(--modal-z-index, 15);-webkit-tap-highlight-color:transparent;margin:var(--modal-margin);}.overlay-active.svelte-lnufm {\n /* Prefer the modal-specific token; fall back to the legacy generic\n --background-color (kept for backward compatibility), then the default.\n The generic name collides with app-level --background-color tokens, which\n silently override the overlay; --modal-overlay-background-color lets a\n consumer theme the backdrop without that collision. */background-color:var(--modal-overlay-background-color, var(--background-color, #00000066));backdrop-filter:var(--modal-overlay-backdrop-filter, none);-webkit-backdrop-filter:var(--modal-overlay-backdrop-filter, none);pointer-events:auto;}.overlay-inactive.svelte-lnufm {pointer-events:none;}.modal-content.svelte-lnufm {pointer-events:auto;background-color:var(--modal-content-background-color, #ffffff);cursor:auto;display:flex;flex-direction:column;border-radius:var(--modal-border-radius, var(--radius, 4px));overflow:var(--modal-content-overflow, auto);border-top:var(--modal-content-border-top);outline:none;\n /* Viewport containment for every size class: only .fit-content used to carry\n a max-height, so a size whose height var is overridden to fit-content (or\n anything taller than the screen) grew past the viewport and pushed its\n footer and bottom rounding off-screen. dvh tracks the real visible\n viewport on mobile; the vh line is the fallback for engines without dvh. */max-height:var(--modal-max-height, calc(100vh - 32px));max-height:var(--modal-max-height, calc(100dvh - 32px));}\n\n /* The comment this replaced claimed tabindex=\"-1\" meant this never needed a\n ring because it's \"never in the Tab order itself\" -- true, but beside the\n point: onMount calls focusEntryPoint(modalContent), which focuses THIS\n element directly (real DOM focus, not merely reachable via Tab) whenever\n the modal has no focusable content of its own. That is exactly Sheet's\n sheet-panel problem, and sheet-panel got the fix this comment said it\n \"matches\" -- this one didn't. :focus-visible so the trigger click that\n opens the modal shows nothing new; offset is negative like Sheet's,\n since a modal can be sized to fill nearly the whole viewport. */.modal-content.svelte-lnufm:focus-visible {outline:var(--modal-content-focus-outline, 2px solid #2563eb);outline-offset:var(--modal-content-focus-outline-offset, -2px);}.slot-content.svelte-lnufm {display:var(--modal-display, flex);\n /* Flex children default to min-height: auto and refuse to shrink below their\n content, which defeats the overflow-y scroll once modal-content is\n height-capped — the content spills instead of scrolling and the footer is\n pushed out. 0 lets the slot shrink so its own scrollbar engages and the\n header/footer stay pinned inside the viewport. */min-height:var(--modal-slot-content-min-height, 0);overflow-y:var(--modal-overflow-y, scroll);scrollbar-width:var(--modal-scrollbar-width, none);padding:var(--modal-content-padding, 0);}.slot-content.svelte-lnufm::-webkit-scrollbar {display:none;}.center.svelte-lnufm {justify-content:var(--modal-center-justify-content, center);align-items:var(--modal-center-align-items, center);}.bottom.svelte-lnufm {justify-content:var(--modal-bottom-justify-content, flex-end);align-items:var(--modal-bottom-align-items);}.top.svelte-lnufm {justify-content:var(--modal-top-justify-content, flex-start);align-items:var(--modal-top-align-items);}.small.svelte-lnufm {height:var(--modal-small-height, 20vh);width:var(--modal-small-width);}.medium.svelte-lnufm {height:var(--modal-medium-height, 50vh);width:var(--modal-medium-width);}.large.svelte-lnufm {height:var(--modal-large-height, 80vh);width:var(--modal-large-width);}.fit-content.svelte-lnufm {height:fit-content;max-height:var(--modal-fit-content-max-height, 80vh);}.header.svelte-lnufm {display:flex;background-color:var(--modal-header-background-color, #f6f7f9);padding:var(--modal-header-padding, 18px 20px);border-radius:var(--modal-header-border-radius, 0px);border-bottom:var(--modal-header-border-bottom, none);align-items:var(--modal-header-align-items, center);}.footer-content.svelte-lnufm {display:flex;background-color:var(--modal-footer-background-color, #f6f7f9);padding:var(--modal-footer-padding, 18px 20px);border-radius:var(--modal-footer-border-radius, 0px);border-top:var(--modal-footer-border-top, none);justify-content:var(--modal-footer-justify-content, none);}.footer-action-buttons.svelte-lnufm {display:flex;gap:var(--modal-footer-gap, 0px);width:var(--modal-footer-action-buttons-width, fit-content);}.footer-secondary-button.svelte-lnufm {--button-max-height: var(--modal-footer-secondary-button-max-height);--button-max-width: var(--modal-footer-secondary-button-max-width);--button-font-family: var(--modal-footer-secondary-button-font-family);--button-font-weight: var(--modal-footer-secondary-button-font-weight, 500);--button-font-size: var(--modal-footer-secondary-button-font-size, 14px);--button-color: var(--modal-footer-secondary-button-color, #3a4550);--button-text-color: var(--modal-footer-secondary-button-text-color, white);--button-height: var(--modal-footer-secondary-button-height, fit-content);--button-padding: var(--modal-footer-secondary-button-padding, 16px);--button-margin: var(--modal-footer-secondary-button-margin);--button-border-radius: var(--modal-footer-secondary-button-border-radius, var(--radius, 4px));--button-width: var(--modal-footer-secondary-button-width, fit-content);--cursor: var(--modal-footer-secondary-button-cursor, pointer);--opacity: var(--modal-footer-secondary-button-opacity, 1);--button-border: var(--modal-footer-secondary-button-border, none);--disabled-background-color: var(\n --modal-footer-secondary-button-disabled-color,\n var(--modal-footer-secondary-button-color, #3a4550)\n );--disabled-text-color: var(\n --modal-footer-secondary-button-disabled-text-color,\n var(--modal-footer-secondary-button-text-color, white)\n );--disabled-border: var(\n --modal-footer-secondary-button-disabled-border,\n var(--modal-footer-secondary-button-border, none)\n );--disabled-opacity: var(--modal-footer-secondary-button-disabled-opacity, 0.4);--button-justify-content: var(--modal-footer-secondary-button-justify-content, center);--button-content-flex-direction: var(\n --modal-footer-secondary-button-content-flex-direction,\n row\n );--button-content-gap: var(--modal-footer-secondary-button-content-gap, 16px);--button-visibility: var(--modal-footer-secondary-button-visibility, visible);--button-box-shadow: var(--modal-footer-secondary-button-box-shadow, none);order:var(--modal-secondary-button-order, none);flex:var(--modal-footer-secondary-button-flex-value, none);}.footer-primary-button.svelte-lnufm {--button-max-height: var(--modal-footer-primary-button-max-height);--button-max-width: var(--modal-footer-primary-button-max-width);--button-font-family: var(--modal-footer-primary-button-font-family);--button-font-weight: var(--modal-footer-primary-button-font-weight, 500);--button-font-size: var(--modal-footer-primary-button-font-size, 14px);--button-color: var(--modal-footer-primary-button-color, #3a4550);--button-text-color: var(--modal-footer-primary-button-text-color, white);--button-height: var(--modal-footer-primary-button-height, fit-content);--button-padding: var(--modal-footer-primary-button-padding, 16px);--button-margin: var(--modal-footer-primary-button-margin);--button-border-radius: var(--modal-footer-primary-button-border-radius, var(--radius, 4px));--button-width: var(--modal-footer-primary-button-width, fit-content);--cursor: var(--modal-footer-primary-button-cursor, pointer);--opacity: var(--modal-footer-primary-button-opacity, 1);--button-border: var(--modal-footer-primary-button-border, none);--disabled-background-color: var(\n --modal-footer-primary-button-disabled-color,\n var(--modal-footer-primary-button-color, #3a4550)\n );--disabled-text-color: var(\n --modal-footer-primary-button-disabled-text-color,\n var(--modal-footer-primary-button-text-color, white)\n );--disabled-border: var(\n --modal-footer-primary-button-disabled-border,\n var(--modal-footer-primary-button-border, none)\n );--disabled-opacity: var(--modal-footer-primary-button-disabled-opacity, 0.4);--button-justify-content: var(--modal-footer-primary-button-justify-content, center);--button-content-flex-direction: var(--modal-footer-primary-button-content-flex-direction, row);--button-content-gap: var(--modal-footer-primary-button-content-gap, 16px);--button-visibility: var(--modal-footer-primary-button-visibility, visible);--button-box-shadow: var(--modal-footer-primary-button-box-shadow, none);order:var(--modal-primary-button-order, none);flex:var(--modal-footer-primary-button-flex-value, none);}.header-text.svelte-lnufm {display:flex;align-items:center;flex:1;font-size:var(--header-text-size, 16px);font-weight:var(--modal-header-text-weight, inherit);line-height:var(--modal-header-text-line-height, inherit);letter-spacing:var(--modal-header-text-letter-spacing, inherit);}\n\n /* The header images render through the Img component (inline svg or img), so\n these classes ride on Img's element — match them via :global under the\n scoped .header to keep the sizing contract. */.header.svelte-lnufm .header-left-img,\n .header.svelte-lnufm .header-right-img {padding-top:var(--header-img-top-padding, 5px);cursor:pointer;}.header.svelte-lnufm .header-left-img {margin:var(--header-left-image-margin, 0px 18px 0px 0px);width:var(--header-left-image-width, 25px);height:var(--header-left-image-height, 25px);}.header.svelte-lnufm .header-right-img {width:var(--header-right-image-width, 25px);height:var(--header-right-image-height, 25px);padding:var(--header-right-image-padding);}"
18553
18960
  };
18554
18961
  function Modal(e, t) {
18555
18962
  push(t, !0), append_styles$1(e, $$css$101);
@@ -19652,7 +20059,7 @@ function computeSelectDropdownPosition(e) {
19652
20059
  }
19653
20060
  //#endregion
19654
20061
  //#region src/lib/Select/Select.svelte
19655
- var root_1$46 = /* @__PURE__ */ from_html("<div class=\"select-empty svelte-52lifo\">No results</div>"), root_2$35 = /* @__PURE__ */ from_html("<span class=\"select-option-check svelte-52lifo\"></span>"), root_3$32 = /* @__PURE__ */ from_html("<span class=\"select-option-dash svelte-52lifo\"></span>"), root_4$27 = /* @__PURE__ */ from_html("<span aria-hidden=\"true\"><!></span>"), root_5$25 = /* @__PURE__ */ from_html("<div><!> </div>"), root_6$23 = /* @__PURE__ */ from_html("<span class=\"select-option-tick svelte-52lifo\" aria-hidden=\"true\"></span>"), root_7$21 = /* @__PURE__ */ from_html("<div><!> <!> <span class=\"select-option-label svelte-52lifo\"> </span> <!></div>"), root_8$19 = /* @__PURE__ */ from_html("<div class=\"select-bottom-content svelte-52lifo\"><!></div>"), root_9$16 = /* @__PURE__ */ from_html("<!> <!>", 1), root_10$15 = /* @__PURE__ */ from_html("<input type=\"hidden\"/>"), root_11$13 = /* @__PURE__ */ from_html("<input class=\"select-search svelte-52lifo\" type=\"text\" autocomplete=\"off\"/>"), root_12$12 = /* @__PURE__ */ from_html("<span class=\"select-placeholder svelte-52lifo\"> </span>"), root_13$10 = /* @__PURE__ */ from_html("<span> </span>"), root_14$9 = /* @__PURE__ */ from_html("<button type=\"button\" class=\"select-clear svelte-52lifo\" aria-label=\"Clear selection\"><span aria-hidden=\"true\">×</span></button>"), root_15$7 = /* @__PURE__ */ from_html("<div role=\"alert\" class=\"select-error-message svelte-52lifo\"> </div>"), root_16$6 = /* @__PURE__ */ from_html("<div><input class=\"select-menu-search svelte-52lifo\" type=\"search\" aria-label=\"Search options\" autocomplete=\"off\"/> <div class=\"select-menu-list svelte-52lifo\" role=\"listbox\" tabindex=\"-1\"><!></div> <!></div>"), root_17$5 = /* @__PURE__ */ from_html("<div role=\"listbox\"><!></div>"), root_18$5 = /* @__PURE__ */ from_html("<div><!> <div><div><!> <!> <span class=\"select-arrow svelte-52lifo\"></span></div> <!></div> <!> <!></div>"), $$css$95 = {
20062
+ var root_1$46 = /* @__PURE__ */ from_html("<div class=\"select-empty svelte-52lifo\">No results</div>"), root_2$35 = /* @__PURE__ */ from_html("<span class=\"select-option-check svelte-52lifo\"></span>"), root_3$32 = /* @__PURE__ */ from_html("<span class=\"select-option-dash svelte-52lifo\"></span>"), root_4$27 = /* @__PURE__ */ from_html("<span aria-hidden=\"true\"><!></span>"), root_5$25 = /* @__PURE__ */ from_html("<div><!> </div>"), root_6$23 = /* @__PURE__ */ from_html("<span class=\"select-option-tick svelte-52lifo\" aria-hidden=\"true\"></span>"), root_7$21 = /* @__PURE__ */ from_html("<div><!> <!> <span class=\"select-option-label svelte-52lifo\"> </span> <!></div>"), root_8$19 = /* @__PURE__ */ from_html("<div class=\"select-bottom-content svelte-52lifo\"><!></div>"), root_9$16 = /* @__PURE__ */ from_html("<!> <!>", 1), root_10$15 = /* @__PURE__ */ from_html("<input type=\"hidden\"/>"), root_11$13 = /* @__PURE__ */ from_html("<input class=\"select-search svelte-52lifo\" type=\"text\" autocomplete=\"off\"/>"), root_12$12 = /* @__PURE__ */ from_html("<span class=\"select-placeholder svelte-52lifo\"> </span>"), root_13$10 = /* @__PURE__ */ from_html("<span> </span>"), root_14$9 = /* @__PURE__ */ from_html("<button type=\"button\" class=\"select-clear svelte-52lifo\" aria-label=\"Clear selection\"><span aria-hidden=\"true\">×</span></button>"), root_15$7 = /* @__PURE__ */ from_html("<div role=\"alert\" class=\"select-error-message svelte-52lifo\"> </div>"), root_16$6 = /* @__PURE__ */ from_html("<div><input class=\"select-menu-search svelte-52lifo\" type=\"search\" aria-label=\"Search options\" autocomplete=\"off\"/> <div class=\"select-menu-list svelte-52lifo\" role=\"listbox\" tabindex=\"-1\"><!></div> <!></div>"), root_17$6 = /* @__PURE__ */ from_html("<div role=\"listbox\"><!></div>"), root_18$5 = /* @__PURE__ */ from_html("<div><!> <div><div><!> <!> <span class=\"select-arrow svelte-52lifo\"></span></div> <!></div> <!> <!></div>"), $$css$95 = {
19656
20063
  hash: "svelte-52lifo",
19657
20064
  code: ".select.svelte-52lifo {position:relative;width:var(--select-width, 100%);font-family:var(--select-font-family, inherit);font-size:var(--select-font-size, 14px);color:var(--select-color, #333333);}.select.disabled.svelte-52lifo {opacity:var(--select-disabled-opacity, 0.5);cursor:var(--select-disabled-cursor, not-allowed);pointer-events:none;}.select-trigger.svelte-52lifo {display:flex;flex-wrap:wrap;align-items:center;gap:var(--select-trigger-gap, 4px);min-height:var(--select-trigger-min-height, 40px);padding:var(--select-trigger-padding, 8px 12px);background:var(--select-trigger-background, #ffffff);border:var(--select-trigger-border, 1px solid #cccccc);border-radius:var(--select-trigger-border-radius, var(--radius, 4px));cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;transition:var(--select-trigger-transition, border-color 0.15s, box-shadow 0.15s);}.select-trigger.svelte-52lifo .select-left-icon {--image-width: var(--select-left-icon-size, 16px);--image-height: var(--select-left-icon-size, 16px);--image-object-fit: contain;\n\n /* The icon inlines, so a currentColor asset resolves against this. Defaults to\n `inherit` — the trigger's text colour, which is what it already did — so this is\n a hook, not a change. Without it a consumer cannot tint the icon independently\n of the label, and an icon migrated to currentColor is forced to match its label\n exactly, flattening any deliberate muted-icon/strong-label hierarchy. */color:var(--select-left-icon-color, inherit);flex:none;}.select-trigger.svelte-52lifo:hover:not(.disabled:where(.svelte-52lifo) .select-trigger:where(.svelte-52lifo)) {border-color:var(--select-trigger-hover-border-color, #999999);}.select-trigger.svelte-52lifo:focus-within,\n .select.open.svelte-52lifo .select-trigger:where(.svelte-52lifo) {border-color:var(--select-trigger-focus-border-color, #2563eb);box-shadow:var(--select-trigger-focus-shadow, 0 0 0 2px rgba(37, 99, 235, 0.2));}\n\n /* Pressed feedback on the trigger. `:active` only, so it lasts exactly as\n long as the pointer is down and never lingers as a stuck state the way a\n class-driven one can. */.select.svelte-52lifo:not(.disabled) .select-trigger:where(.svelte-52lifo):active {background:var(--select-trigger-pressed-background, #ededed);}\n\n /* The error border has to outrank BOTH hover and focus/open, or the field\n stops reading as invalid the moment the user enters it -- which is the one\n moment they most need to see it. Listed after them, at equal or higher\n specificity, rather than reached for with !important. */.select.error.svelte-52lifo .select-trigger:where(.svelte-52lifo),\n .select.error.svelte-52lifo .select-trigger:where(.svelte-52lifo):hover,\n .select.error.svelte-52lifo .select-trigger:where(.svelte-52lifo):focus-within,\n .select.error.open.svelte-52lifo .select-trigger:where(.svelte-52lifo) {border-color:var(--select-trigger-error-border-color, #dc2626);}.select.error.svelte-52lifo .select-trigger:where(.svelte-52lifo):focus-within,\n .select.error.open.svelte-52lifo .select-trigger:where(.svelte-52lifo) {box-shadow:var(--select-trigger-error-shadow, 0 0 0 2px rgba(220, 38, 38, 0.2));}.select-error-message.svelte-52lifo {margin-top:var(--select-error-message-margin-top, 4px);font-size:var(--select-error-message-font-size, 12px);color:var(--select-error-message-color, #dc2626);}.select-control.svelte-52lifo {position:relative;}.select-control.has-clear.svelte-52lifo .select-trigger:where(.svelte-52lifo) {padding-inline-end:calc(var(--select-clear-size, 18px) + 36px);}.select-control.has-clear.svelte-52lifo .select-arrow:where(.svelte-52lifo) {position:absolute;right:12px;}.select-clear.svelte-52lifo {position:absolute;right:32px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--select-clear-size, 18px);height:var(--select-clear-size, 18px);margin:0;padding:0;border:none;border-radius:var(--select-clear-border-radius, var(--radius, 4px));background:var(--select-clear-background, transparent);color:var(--select-clear-color, #666666);font-size:var(--select-clear-font-size, 16px);line-height:1;cursor:pointer;}.select-clear.svelte-52lifo:focus-visible {outline:var(--select-clear-focus-outline, 2px solid currentColor);outline-offset:2px;}.select-clear.svelte-52lifo:hover {background:var(--select-clear-hover-background, #ededed);color:var(--select-clear-hover-color, #111111);}.select-clear.svelte-52lifo:active {background:var(--select-clear-pressed-background, #e0e0e0);}.select-value.svelte-52lifo {flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:var(--select-value-align, left);}.select-placeholder.svelte-52lifo {flex:1;color:var(--select-placeholder-color, #666666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:var(--select-value-align, left);}.select-search.svelte-52lifo {flex:1;min-width:60px;border:none;outline:none;background:transparent;font-family:inherit;font-size:inherit;color:inherit;padding:0;cursor:text;}.select-search.svelte-52lifo::placeholder {color:var(--select-placeholder-color, #6b7280);}.select-arrow.svelte-52lifo {display:inline-flex;align-items:center;justify-content:center;width:var(--select-arrow-size, 16px);height:var(--select-arrow-size, 16px);color:var(--select-arrow-color, #666666);flex-shrink:0;transition:transform var(--select-arrow-transition-duration, var(--motion-duration, 0.15s))\n var(--select-arrow-transition-easing, var(--motion-easing, ease));}.select.open.svelte-52lifo .select-arrow:where(.svelte-52lifo) {transform:rotate(180deg);}.select-arrow.svelte-52lifo svg {width:100%;height:100%;}\n\n /* Anchors the in-flow panel above the trigger. `margin-top` is what the\n downward panel uses for the gap, so it has to be unset here or the panel\n sits a gap's width too high. */.select-dropdown.select-dropdown-up.svelte-52lifo {top:auto;bottom:100%;margin-top:0;margin-bottom:var(--select-dropdown-gap, 4px);}\n\n /* One-tick measuring pass for placement=\"auto\": the panel needs rendered\n dimensions before the corner is chosen, without a visible flash at the\n wrong corner. */.select-dropdown.select-dropdown-measuring.svelte-52lifo {visibility:hidden;}.select-dropdown.svelte-52lifo {position:absolute;top:100%;left:var(--select-dropdown-left, 0);right:var(--select-dropdown-right, 0);min-width:var(--select-dropdown-min-width, auto);max-width:var(--select-dropdown-max-width, none);width:var(--select-dropdown-width, auto);margin-top:var(--select-dropdown-gap, 4px);background:var(--select-dropdown-background, #ffffff);border:var(--select-dropdown-border, 1px solid #cccccc);border-radius:var(--select-dropdown-border-radius, var(--radius, 4px));box-shadow:var(--select-dropdown-shadow, 0 4px 12px rgba(0, 0, 0, 0.1));max-height:var(--select-dropdown-max-height, 200px);overflow-y:auto;z-index:var(--select-dropdown-z-index, 10);}\n\n /* With the search box inside the panel, the PANEL must stop scrolling and\n the list scroll instead -- otherwise the search box scrolls away as soon\n as the user moves down the results, which is the one control they still\n need. The max-height moves down with the scrolling, so the panel keeps\n growing to fit the search box plus a list of the same height as before. */.select-dropdown.svelte-52lifo:has(> .select-menu-list:where(.svelte-52lifo)) {max-height:none;overflow-y:visible;display:flex;flex-direction:column;}.select-menu-list.svelte-52lifo {max-height:var(--select-dropdown-max-height, 200px);overflow-y:auto;}.select-menu-search.svelte-52lifo {flex:none;margin:var(--select-menu-search-margin, 6px);padding:var(--select-menu-search-padding, 6px 8px);border:var(--select-menu-search-border, 1px solid #cccccc);border-radius:var(--select-menu-search-border-radius, var(--radius, 4px));background:var(--select-menu-search-background, #ffffff);color:var(--select-menu-search-color, inherit);font-family:inherit;font-size:var(--select-menu-search-font-size, inherit);outline:none;}.select-menu-search.svelte-52lifo:focus-visible {border-color:var(--select-menu-search-focus-border-color, #2563eb);box-shadow:var(--select-menu-search-focus-shadow, 0 0 0 2px rgba(37, 99, 235, 0.2));}.select-dropdown-right.svelte-52lifo {left:auto;right:var(--select-dropdown-right, 0);min-width:var(--select-dropdown-min-width, 100%);max-width:var(--select-dropdown-max-width, none);width:var(--select-dropdown-width, max-content);}.select-dropdown.select-dropdown-portal.svelte-52lifo {\n /* Portaled to <body>: fixed positioning escapes overflow/scroll ancestors\n (e.g. a table cell). Placement (top/left/width/min-width) is set inline\n from the trigger rect, so neutralise the in-flow anchoring here. */position:fixed;right:auto;margin-top:0;\n /* In the root stacking context the panel competes with modals/sheets rather\n than painting above same-container siblings, so default it into the\n top-layer band (consumers still override via --select-dropdown-z-index). */z-index:var(--select-dropdown-z-index, 1000);}.select-option.svelte-52lifo {padding:var(--select-option-padding, 8px 12px);color:var(--select-option-color, #333333);font-size:var(--select-option-font-size, inherit);cursor:pointer;transition:background var(--select-option-transition-duration, var(--motion-duration, 0.1s))\n var(--select-option-transition-easing, var(--motion-easing, ease));}\n\n /* Per-option leading icon (SelectItem.icon). Kept inline + vertically centred so\n it needs no change to the option's display and can't regress icon-less lists. */.select-option.svelte-52lifo .select-option-icon {--image-width: var(--select-option-icon-size, 16px);--image-height: var(--select-option-icon-size, 16px);--image-object-fit: contain;color:var(--select-option-icon-color, inherit);vertical-align:middle;margin-right:var(--select-option-icon-gap, 8px);}.select-option.multi.svelte-52lifo {display:flex;align-items:center;gap:var(--select-option-gap, 0);}.select-option.svelte-52lifo:hover,\n .select-option.highlighted.svelte-52lifo {background:var(--select-option-hover-background, #f0f0f0);color:var(--select-option-hover-color, var(--select-option-color, #333333));}.select-option.selected.svelte-52lifo {background:var(--select-option-selected-background, #e8f0fe);color:var(--select-option-selected-color, var(--select-option-color, #333333));}.select-option-disabled.svelte-52lifo {opacity:var(--select-option-disabled-opacity, 0.4);cursor:var(--select-option-disabled-cursor, not-allowed);pointer-events:none;}.select-option.selected.highlighted.svelte-52lifo {background:var(\n --select-option-selected-hover-background,\n var(--select-option-selected-background, #e8f0fe)\n );}\n\n /* Pressed feedback comes last, and each selector carries enough specificity\n to outrank its non-active counterpart above. An option is always hovered\n when pressed and is often selected too, so a single low-specificity rule\n earlier in the sheet would be correct in isolation and invisible in\n practice -- which is how a pressed state ends up shipping as dead CSS.\n A press on an already-selected row still has to confirm the tap landed. */.select-option.svelte-52lifo:active,\n .select-option.selected.svelte-52lifo:active,\n .select-option.selected.highlighted.svelte-52lifo:active {background:var(--select-option-pressed-background, #ededed);}.select-option-indicator.svelte-52lifo {display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;width:var(--select-option-indicator-size, 18px);height:var(--select-option-indicator-size, 18px);border:var(--select-option-indicator-border, 2px solid #757575);border-radius:var(--select-option-indicator-border-radius, var(--radius, 4px));background-color:var(--select-option-indicator-background, transparent);color:var(--select-option-indicator-color, currentColor);transition:background-color\n var(--select-option-indicator-transition-duration, var(--motion-duration, 0.15s))\n var(--select-option-indicator-transition-easing, var(--motion-easing, ease)),\n border-color var(--select-option-indicator-transition-duration, var(--motion-duration, 0.15s))\n var(--select-option-indicator-transition-easing, var(--motion-easing, ease));}.select-option-indicator.checked.svelte-52lifo {background-color:var(--select-option-indicator-checked-background, #2196f3);border-color:var(--select-option-indicator-checked-border-color, #2196f3);}.select-option-check.svelte-52lifo {display:inline-flex;align-items:center;justify-content:center;width:var(--select-option-indicator-check-size, 12px);height:var(--select-option-indicator-check-size, 12px);color:var(--select-option-indicator-check-color, #ffffff);}.select-option-check.svelte-52lifo svg {width:100%;height:100%;}.select-option-indicator.indeterminate.svelte-52lifo {background-color:var(--select-option-indicator-checked-background, #2196f3);border-color:var(--select-option-indicator-checked-border-color, #2196f3);}.select-option-dash.svelte-52lifo {width:var(--select-option-indicator-dash-size, 10px);height:var(--select-option-indicator-dash-thickness, 2px);border-radius:1px;background-color:var(--select-option-indicator-dash-color, #ffffff);}.select-option.select-all.svelte-52lifo {border-bottom:var(--select-all-border, none);font-weight:var(--select-all-font-weight, inherit);}.select-empty.svelte-52lifo {padding:var(--select-empty-padding, 8px 12px);color:var(--select-empty-color, #999999);font-style:var(--select-empty-font-style, italic);font-size:var(--select-empty-font-size, inherit);}.select-bottom-content.svelte-52lifo {border-top:var(--select-bottom-content-border, none);padding:var(--select-bottom-content-padding, 8px 12px);}.select-trigger.svelte-52lifo .pill {--pill-background: var(--select-pill-background, #e0e0e0);--pill-color: var(--select-pill-color, #333333);--pill-border-radius: var(--select-pill-border-radius, 999px);--pill-padding: var(--select-pill-padding, 2px 8px);--pill-font-size: var(--select-pill-font-size, 13px);}\n\n /* Ghost hierarchy: transparent, borderless trigger */.select.ghost.svelte-52lifo .select-trigger:where(.svelte-52lifo) {background:var(--select-ghost-trigger-background, transparent);border-color:var(--select-ghost-trigger-border-color, transparent);box-shadow:none;}.select.ghost.svelte-52lifo .select-trigger:where(.svelte-52lifo):hover:not(.disabled:where(.svelte-52lifo) .select-trigger:where(.svelte-52lifo)) {border-color:var(--select-ghost-trigger-hover-border-color, transparent);background:var(--select-ghost-trigger-hover-background, rgba(0, 0, 0, 0.04));}.select.ghost.open.svelte-52lifo .select-trigger:where(.svelte-52lifo) {border-color:var(--select-ghost-trigger-open-border-color, transparent);background:var(--select-ghost-trigger-open-background, rgba(0, 0, 0, 0.06));box-shadow:none;}\n\n /* Single-select right-edge tick (showSelectedTick) */.select-option.tickable.svelte-52lifo {display:flex;align-items:center;gap:8px;}.select-option.tickable.svelte-52lifo .select-option-label:where(.svelte-52lifo) {flex:1 1 auto;min-width:0;}.select-option-tick.svelte-52lifo {display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--select-option-tick-size, 16px);height:var(--select-option-tick-size, 16px);color:var(--select-option-tick-color, #2563eb);}.select-option-tick.svelte-52lifo svg {width:100%;height:100%;}\n\n /* The chevron rotates between closed and open. Small, but it is a transform,\n and the two end states are each meaningful, so dropping the tween just makes\n the flip instant. */\n @media (prefers-reduced-motion: reduce) {.select-arrow.svelte-52lifo {transition:none;}\n }"
19658
20065
  };
@@ -19773,8 +20180,8 @@ function Select(e, t) {
19773
20180
  typeof e != "object" || !e || (e.kind === "select-all" ? gn() : mn(e.item.id));
19774
20181
  }
19775
20182
  async function vn(e) {
19776
- let t = get(vt) + e;
19777
- if (!(t < 0 || t >= get(tn).length) && (set(vt, t), await tick(), get(St) !== null)) {
20183
+ let t = get(vt) + e, n = t >= 0 && t < get(tn).length ? t : at() ? xn(t < 0 ? "last" : "first") : -1;
20184
+ if (!(n < 0) && (set(vt, n, !0), await tick(), get(St) !== null)) {
19778
20185
  let e = get(St).querySelector(".select-option.highlighted");
19779
20186
  e instanceof HTMLElement && e.scrollIntoView({ block: "nearest" });
19780
20187
  }
@@ -19785,30 +20192,33 @@ function Select(e, t) {
19785
20192
  function bn(e) {
19786
20193
  return e.ctrlKey || e.metaKey || e.altKey || e.shiftKey;
19787
20194
  }
19788
- async function xn(e) {
19789
- let t = e === "first" ? get(tn).findIndex(yn) : get(tn).findLastIndex(yn);
20195
+ function xn(e) {
20196
+ return e === "first" ? get(tn).findIndex(yn) : get(tn).findLastIndex(yn);
20197
+ }
20198
+ async function Sn(e) {
20199
+ let t = xn(e);
19790
20200
  if (!(t < 0) && (set(vt, t, !0), await tick(), get(St) !== null)) {
19791
20201
  let e = get(St).querySelector(".select-option.highlighted");
19792
20202
  e instanceof HTMLElement && e.scrollIntoView({ block: "nearest" });
19793
20203
  }
19794
20204
  }
19795
- function Sn(e) {
20205
+ function Cn(e) {
19796
20206
  if (e.target instanceof HTMLInputElement) {
19797
20207
  at() || fn();
19798
20208
  return;
19799
20209
  }
19800
20210
  at() ? pn() : fn();
19801
20211
  }
19802
- let Cn = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
19803
- function wn() {
19804
- return get(St) === null ? [] : [...get(St).querySelectorAll(Cn)];
19805
- }
20212
+ let wn = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
19806
20213
  function Tn() {
20214
+ return get(St) === null ? [] : [...get(St).querySelectorAll(wn)];
20215
+ }
20216
+ function En() {
19807
20217
  if (get(xt) === null || typeof document > "u") return;
19808
- let e = [...document.querySelectorAll(Cn)].filter((e) => e.closest(".select-dropdown") === null);
20218
+ let e = [...document.querySelectorAll(wn)].filter((e) => e.closest(".select-dropdown") === null);
19809
20219
  e.at(e.indexOf(get(xt)) + 1)?.focus();
19810
20220
  }
19811
- function En(e) {
20221
+ function Dn(e) {
19812
20222
  if (!u()) switch (e.key) {
19813
20223
  case "Enter":
19814
20224
  e.preventDefault(), at() ? _n() : fn();
@@ -19823,10 +20233,10 @@ function Select(e, t) {
19823
20233
  e.preventDefault(), vn(-1);
19824
20234
  break;
19825
20235
  case "Home":
19826
- at() && !(e.target instanceof HTMLInputElement) && !bn(e) && (e.preventDefault(), xn("first"));
20236
+ at() && !(e.target instanceof HTMLInputElement) && !bn(e) && (e.preventDefault(), Sn("first"));
19827
20237
  break;
19828
20238
  case "End":
19829
- at() && !(e.target instanceof HTMLInputElement) && !bn(e) && (e.preventDefault(), xn("last"));
20239
+ at() && !(e.target instanceof HTMLInputElement) && !bn(e) && (e.preventDefault(), Sn("last"));
19830
20240
  break;
19831
20241
  case "Backspace":
19832
20242
  if (o() && get(gt) === "" && a().length > 0) {
@@ -19849,22 +20259,22 @@ function Select(e, t) {
19849
20259
  e.preventDefault(), get(bt)?.focus();
19850
20260
  break;
19851
20261
  }
19852
- t === wn().at(-1) && (e.preventDefault(), pn(), Tn());
20262
+ t === Tn().at(-1) && (e.preventDefault(), pn(), En());
19853
20263
  break;
19854
20264
  }
19855
20265
  }
19856
20266
  }
19857
- function Dn(e) {
19858
- e.target !== get(bt) && En(e);
20267
+ function On(e) {
20268
+ e.target !== get(bt) && Dn(e);
19859
20269
  }
19860
- let On = (e) => (e.addEventListener("keydown", Dn), { destroy: () => e.removeEventListener("keydown", Dn) });
19861
- function kn(e) {
20270
+ let kn = (e) => (e.addEventListener("keydown", On), { destroy: () => e.removeEventListener("keydown", On) });
20271
+ function An(e) {
19862
20272
  e.target instanceof HTMLInputElement && (set(gt, e.target.value, !0), at() || fn(), set(vt, -1));
19863
20273
  }
19864
- function An() {
20274
+ function jn() {
19865
20275
  !at() && !_t && fn();
19866
20276
  }
19867
- function jn(e) {
20277
+ function Mn(e) {
19868
20278
  return { destroy: registerDismissible({
19869
20279
  element: () => get(yt),
19870
20280
  onOutside: (e) => {
@@ -19878,7 +20288,7 @@ function Select(e, t) {
19878
20288
  onMount(() => () => {
19879
20289
  at() && Ue()?.();
19880
20290
  });
19881
- var Mn = {
20291
+ var Nn = {
19882
20292
  get items() {
19883
20293
  return i();
19884
20294
  },
@@ -20065,8 +20475,8 @@ function Select(e, t) {
20065
20475
  set name(e) {
20066
20476
  pt(e), flushSync();
20067
20477
  }
20068
- }, Nn = root_18$5();
20069
- attribute_effect(Nn, () => ({
20478
+ }, Pn = root_18$5();
20479
+ attribute_effect(Pn, () => ({
20070
20480
  class: `select ${it() ?? "" ?? ""}`,
20071
20481
  ...typeof G() == "string" ? {
20072
20482
  "data-pw": G(),
@@ -20241,7 +20651,7 @@ function Select(e, t) {
20241
20651
  typeof C() == "function" && !get(Rt) && e(l);
20242
20652
  }), append(e, t);
20243
20653
  };
20244
- var Pn = child(Nn), Fn = (e) => {
20654
+ var Fn = child(Pn), In = (e) => {
20245
20655
  var t = comment();
20246
20656
  each(first_child(t), 16, a, (e) => e, (e, t) => {
20247
20657
  var n = root_10$15();
@@ -20250,16 +20660,16 @@ function Select(e, t) {
20250
20660
  }), append(e, n);
20251
20661
  }), append(e, t);
20252
20662
  };
20253
- if_block(Pn, (e) => {
20254
- typeof pt() == "string" && pt().length > 0 && e(Fn);
20663
+ if_block(Fn, (e) => {
20664
+ typeof pt() == "string" && pt().length > 0 && e(In);
20255
20665
  });
20256
- var In = sibling(Pn, 2);
20666
+ var Ln = sibling(Fn, 2);
20257
20667
  let t;
20258
- var Ln = child(In);
20259
- attribute_effect(Ln, () => ({
20668
+ var Rn = child(Ln);
20669
+ attribute_effect(Rn, () => ({
20260
20670
  class: "select-trigger",
20261
- onclick: Sn,
20262
- onkeydown: En,
20671
+ onclick: Cn,
20672
+ onkeydown: Dn,
20263
20673
  role: "combobox",
20264
20674
  "aria-expanded": at(),
20265
20675
  "aria-haspopup": "listbox",
@@ -20269,7 +20679,7 @@ function Select(e, t) {
20269
20679
  ...get(rn) === null ? {} : { "aria-activedescendant": get(rn) },
20270
20680
  tabindex: u() || get(Lt) ? -1 : 0
20271
20681
  }), void 0, void 0, void 0, "svelte-52lifo");
20272
- var Rn = child(Ln), zn = (e) => {
20682
+ var zn = child(Rn), Bn = (e) => {
20273
20683
  Img(e, spread_props({
20274
20684
  inlineSvg: !0,
20275
20685
  get src() {
@@ -20280,10 +20690,10 @@ function Select(e, t) {
20280
20690
  classes: "select-left-icon"
20281
20691
  }, () => typeof dt() == "string" ? { testId: dt() } : {}));
20282
20692
  };
20283
- if_block(Rn, (e) => {
20284
- typeof ut() == "string" && ut().length > 0 && e(zn);
20693
+ if_block(zn, (e) => {
20694
+ typeof ut() == "string" && ut().length > 0 && e(Bn);
20285
20695
  });
20286
- var Bn = sibling(Rn, 2), Vn = (e) => {
20696
+ var Vn = sibling(zn, 2), Hn = (e) => {
20287
20697
  var t = comment(), n = first_child(t), i = (e) => {
20288
20698
  var t = root_9$16(), n = first_child(t);
20289
20699
  snippet(n, re, () => ({
@@ -20294,7 +20704,7 @@ function Select(e, t) {
20294
20704
  var t = root_11$13();
20295
20705
  remove_input_defaults(t), bind_this(t, (e) => set(bt, e), () => get(bt)), template_effect(() => {
20296
20706
  set_value(t, get(gt)), set_attribute(t, "placeholder", a().length === 0 ? l() : ""), t.disabled = u(), set_attribute(t, "aria-invalid", get(zt).ariaInvalid), set_attribute(t, "aria-describedby", get(zt).describedBy), set_attribute(t, "tabindex", u() ? -1 : 0), set_attribute(t, "data-pw", typeof G() == "string" ? `${G()}-search` : null), set_attribute(t, "testid", typeof G() == "string" ? `${G()}-search` : null);
20297
- }), delegated("input", t, kn), event("focus", t, An), append(e, t);
20707
+ }), delegated("input", t, An), event("focus", t, jn), append(e, t);
20298
20708
  };
20299
20709
  if_block(i, (e) => {
20300
20710
  get(Lt) && e(o);
@@ -20320,7 +20730,7 @@ function Select(e, t) {
20320
20730
  var t = root_11$13();
20321
20731
  remove_input_defaults(t), bind_this(t, (e) => set(bt, e), () => get(bt)), template_effect(() => {
20322
20732
  set_value(t, get(gt)), set_attribute(t, "placeholder", a().length === 0 ? l() : ""), t.disabled = u(), set_attribute(t, "aria-invalid", get(zt).ariaInvalid), set_attribute(t, "aria-describedby", get(zt).describedBy), set_attribute(t, "tabindex", u() ? -1 : 0), set_attribute(t, "data-pw", typeof G() == "string" ? `${G()}-search` : null), set_attribute(t, "testid", typeof G() == "string" ? `${G()}-search` : null);
20323
- }), delegated("input", t, kn), event("focus", t, An), append(e, t);
20733
+ }), delegated("input", t, An), event("focus", t, jn), append(e, t);
20324
20734
  }, s = (e) => {
20325
20735
  var t = root_12$12(), n = child(t, !0);
20326
20736
  reset(t), template_effect(() => set_text(n, l())), append(e, t);
@@ -20332,23 +20742,23 @@ function Select(e, t) {
20332
20742
  if_block(n, (e) => {
20333
20743
  typeof re() == "function" ? e(i) : e(o, -1);
20334
20744
  }), append(e, t);
20335
- }, Hn = (e) => {
20745
+ }, Un = (e) => {
20336
20746
  var t = root_11$13();
20337
20747
  remove_input_defaults(t), bind_this(t, (e) => set(bt, e), () => get(bt)), template_effect(() => {
20338
20748
  set_value(t, at() ? get(gt) : get(nn)), set_attribute(t, "placeholder", get(an)), t.disabled = u(), set_attribute(t, "aria-invalid", get(zt).ariaInvalid), set_attribute(t, "aria-describedby", get(zt).describedBy), set_attribute(t, "tabindex", u() ? -1 : 0), set_attribute(t, "data-pw", typeof G() == "string" ? `${G()}-search` : null), set_attribute(t, "testid", typeof G() == "string" ? `${G()}-search` : null);
20339
- }), delegated("input", t, kn), event("focus", t, An), append(e, t);
20340
- }, Un = (e) => {
20749
+ }), delegated("input", t, An), event("focus", t, jn), append(e, t);
20750
+ }, Wn = (e) => {
20341
20751
  var t = root_13$10(), n = child(t, !0);
20342
20752
  reset(t), template_effect(() => {
20343
20753
  set_class(t, 1, clsx(get(nn).length > 0 ? "select-value" : "select-placeholder"), "svelte-52lifo"), set_text(n, get(nn).length > 0 ? get(nn) : l());
20344
20754
  }), append(e, t);
20345
20755
  };
20346
- if_block(Bn, (e) => {
20347
- o() ? e(Vn) : get(Lt) ? e(Hn, 1) : e(Un, -1);
20756
+ if_block(Vn, (e) => {
20757
+ o() ? e(Hn) : get(Lt) ? e(Un, 1) : e(Wn, -1);
20348
20758
  });
20349
- var Wn = sibling(Bn, 2);
20350
- html(Wn, () => chevron_down_default, !0), reset(Wn), reset(Ln), bind_this(Ln, (e) => set(xt, e), () => get(xt));
20351
- var Gn = sibling(Ln, 2), Kn = (e) => {
20759
+ var Gn = sibling(Vn, 2);
20760
+ html(Gn, () => chevron_down_default, !0), reset(Gn), reset(Rn), bind_this(Rn, (e) => set(xt, e), () => get(xt));
20761
+ var Kn = sibling(Rn, 2), qn = (e) => {
20352
20762
  var t = root_14$9();
20353
20763
  template_effect(() => {
20354
20764
  set_attribute(t, "data-pw", typeof G() == "string" ? `${G()}-clear` : null), set_attribute(t, "testid", typeof G() == "string" ? `${G()}-clear` : null);
@@ -20356,19 +20766,19 @@ function Select(e, t) {
20356
20766
  (e.key === "Enter" || e.key === " ") && e.stopPropagation();
20357
20767
  }), delegated("click", t, Ht), append(e, t);
20358
20768
  };
20359
- if_block(Gn, (e) => {
20360
- get(Bt) && e(Kn);
20361
- }), reset(In);
20362
- var qn = sibling(In, 2), Jn = (e) => {
20769
+ if_block(Kn, (e) => {
20770
+ get(Bt) && e(qn);
20771
+ }), reset(Ln);
20772
+ var Jn = sibling(Ln, 2), Yn = (e) => {
20363
20773
  var t = root_15$7(), n = child(t, !0);
20364
20774
  reset(t), template_effect(() => {
20365
20775
  set_attribute(t, "id", get(zt).errorId), set_attribute(t, "data-pw", typeof G() == "string" ? `${G()}-error-message` : null), set_attribute(t, "testid", typeof G() == "string" ? `${G()}-error-message` : null), set_text(n, p());
20366
20776
  }), append(e, t);
20367
20777
  };
20368
- if_block(qn, (e) => {
20369
- get(zt).showsError && e(Jn);
20778
+ if_block(Jn, (e) => {
20779
+ get(zt).showsError && e(Yn);
20370
20780
  });
20371
- var Yn = sibling(qn, 2), Xn = (t) => {
20781
+ var Xn = sibling(Jn, 2), Zn = (t) => {
20372
20782
  var n = comment(), i = first_child(n), a = (t) => {
20373
20783
  var n = root_16$6();
20374
20784
  let i;
@@ -20382,18 +20792,18 @@ function Select(e, t) {
20382
20792
  };
20383
20793
  if_block(c, (e) => {
20384
20794
  typeof C() == "function" && e(u);
20385
- }), reset(n), action(n, (e) => dn?.(e)), bind_this(n, (e) => set(St, e), () => get(St)), effect(() => bind_element_size(n, "clientWidth", (e) => set(Ct, e))), effect(() => bind_element_size(n, "clientHeight", (e) => set(wt, e))), action(n, (e) => On?.(e)), action(n, (e) => sn?.(e)), action(n, (e) => jn?.(e)), template_effect(() => {
20795
+ }), reset(n), action(n, (e) => dn?.(e)), bind_this(n, (e) => set(St, e), () => get(St)), effect(() => bind_element_size(n, "clientWidth", (e) => set(Ct, e))), effect(() => bind_element_size(n, "clientHeight", (e) => set(wt, e))), action(n, (e) => kn?.(e)), action(n, (e) => sn?.(e)), action(n, (e) => Mn?.(e)), template_effect(() => {
20386
20796
  i = set_class(n, 1, "select-dropdown svelte-52lifo", null, i, {
20387
20797
  "select-dropdown-right": get(Nt) === "right",
20388
20798
  "select-dropdown-up": !ft() && (get(un) === "top-left" || get(un) === "top-right"),
20389
20799
  "select-dropdown-measuring": get(Mt),
20390
20800
  "select-dropdown-portal": ft()
20391
20801
  }), set_attribute(n, "data-placement", get(un)), set_style(n, get(ln)), set_value(a, get(gt)), set_attribute(a, "placeholder", l().length > 0 ? l() : "Search"), set_attribute(a, "aria-controls", It), set_attribute(a, "data-pw", typeof G() == "string" ? `${G()}-menu-search` : null), set_attribute(a, "testid", typeof G() == "string" ? `${G()}-menu-search` : null), set_attribute(s, "id", It), set_attribute(s, "aria-multiselectable", o());
20392
- }), delegated("input", a, kn), delegated("keydown", a, En), append(t, n);
20802
+ }), delegated("input", a, An), delegated("keydown", a, Dn), append(t, n);
20393
20803
  }, s = (t) => {
20394
- var n = root_17$5();
20804
+ var n = root_17$6();
20395
20805
  let i;
20396
- e(child(n)), reset(n), action(n, (e) => dn?.(e)), bind_this(n, (e) => set(St, e), () => get(St)), effect(() => bind_element_size(n, "clientWidth", (e) => set(Ct, e))), effect(() => bind_element_size(n, "clientHeight", (e) => set(wt, e))), action(n, (e) => sn?.(e)), action(n, (e) => jn?.(e)), template_effect(() => {
20806
+ e(child(n)), reset(n), action(n, (e) => dn?.(e)), bind_this(n, (e) => set(St, e), () => get(St)), effect(() => bind_element_size(n, "clientWidth", (e) => set(Ct, e))), effect(() => bind_element_size(n, "clientHeight", (e) => set(wt, e))), action(n, (e) => sn?.(e)), action(n, (e) => Mn?.(e)), template_effect(() => {
20397
20807
  i = set_class(n, 1, "select-dropdown svelte-52lifo", null, i, {
20398
20808
  "select-dropdown-right": get(Nt) === "right",
20399
20809
  "select-dropdown-up": !ft() && (get(un) === "top-left" || get(un) === "top-right"),
@@ -20406,11 +20816,11 @@ function Select(e, t) {
20406
20816
  get(Rt) ? e(a) : e(s, -1);
20407
20817
  }), append(t, n);
20408
20818
  };
20409
- if_block(Yn, (e) => {
20410
- at() && !u() && e(Xn);
20411
- }), reset(Nn), bind_this(Nn, (e) => set(yt, e), () => get(yt)), template_effect(() => t = set_class(In, 1, "select-control svelte-52lifo", null, t, { "has-clear": get(Bt) }));
20819
+ if_block(Xn, (e) => {
20820
+ at() && !u() && e(Zn);
20821
+ }), reset(Pn), bind_this(Pn, (e) => set(yt, e), () => get(yt)), template_effect(() => t = set_class(Ln, 1, "select-control svelte-52lifo", null, t, { "has-clear": get(Bt) }));
20412
20822
  }
20413
- return append(e, Nn), pop(Mn);
20823
+ return append(e, Pn), pop(Nn);
20414
20824
  }
20415
20825
  delegate([
20416
20826
  "input",
@@ -21167,7 +21577,7 @@ customElements.define("sui-snippet", create_custom_element(Snippet_wc, {
21167
21577
  //#region src/lib/assets/chevron-down-sm.svg?raw
21168
21578
  var chevron_down_sm_default = "<svg width=\"10\" height=\"6\" viewBox=\"0 0 10 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M1 1L5 5L9 1\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n", root$46 = /* @__PURE__ */ from_html("<span class=\"split-button-arrow svelte-2cti\"><!></span>"), root_1$43 = /* @__PURE__ */ from_html("<div><div class=\"split-button-primary svelte-2cti\"><!></div> <div class=\"split-button-trigger svelte-2cti\"><!></div></div>"), $$css$89 = {
21169
21579
  hash: "svelte-2cti",
21170
- code: ".split-button.svelte-2cti {display:inline-flex;position:relative;gap:var(--split-button-gap, 0px);}.split-button.disabled.svelte-2cti .split-button-trigger:where(.svelte-2cti) {pointer-events:none;}.split-button-primary.svelte-2cti {--button-color: var(--split-button-primary-background, #3a4550);--button-text-color: var(--split-button-primary-color, white);--button-padding: var(--split-button-primary-padding, 8px 16px);--button-font-size: var(--split-button-primary-font-size, 14px);--button-font-weight: var(--split-button-primary-font-weight, 500);--button-font-family: var(--split-button-primary-font-family);--button-border: var(--split-button-primary-border, none);--button-border-radius: var(\n --split-button-primary-border-radius,\n var(--radius, 4px) 0 0 var(--radius, 4px)\n );--button-hover-color: var(\n --split-button-primary-hover-background,\n var(--split-button-primary-background, #3a4550)\n );--button-hover-text-color: var(\n --split-button-primary-hover-color,\n var(--split-button-primary-color, white)\n );--disabled-opacity: var(--split-button-disabled-opacity, 0.4);--disabled-cursor: var(--split-button-disabled-cursor, not-allowed);display:flex;}.split-button-trigger.svelte-2cti {--menu-container-position: static;--menu-container-display: flex;--menu-trigger-focus-outline: none;--menu-dropdown-left: 0;--menu-min-width: 100%;border-left:var(--split-button-trigger-separator, 1px solid rgba(255, 255, 255, 0.3));display:flex;align-items:stretch;background-color:var(--split-button-trigger-background, #3a4550);border-radius:var(\n --split-button-trigger-border-radius,\n 0 var(--radius, 4px) var(--radius, 4px) 0\n );color:var(--split-button-trigger-color, white);cursor:pointer;}.split-button.disabled.svelte-2cti .split-button-trigger:where(.svelte-2cti) {opacity:var(--split-button-disabled-opacity, 0.4);cursor:var(--split-button-disabled-cursor, not-allowed);}.split-button-trigger.svelte-2cti:hover {background-color:var(\n --split-button-trigger-hover-background,\n var(--split-button-trigger-background, #3a4550)\n );color:var(--split-button-trigger-hover-color, var(--split-button-trigger-color, white));}.split-button-trigger.svelte-2cti .menu-trigger {display:flex;align-items:center;justify-content:center;padding:var(--split-button-trigger-padding, 8px);}.split-button-arrow.svelte-2cti {display:inline-flex;width:var(--split-button-arrow-width, 10px);height:var(--split-button-arrow-height, 6px);}.split-button-arrow.svelte-2cti svg {width:100%;height:100%;}"
21580
+ code: ".split-button.svelte-2cti {display:inline-flex;position:relative;gap:var(--split-button-gap, 0px);}.split-button.disabled.svelte-2cti .split-button-trigger:where(.svelte-2cti) {pointer-events:none;}.split-button-primary.svelte-2cti {--button-color: var(--split-button-primary-background, #3a4550);--button-text-color: var(--split-button-primary-color, white);--button-padding: var(--split-button-primary-padding, 8px 16px);--button-font-size: var(--split-button-primary-font-size, 14px);--button-font-weight: var(--split-button-primary-font-weight, 500);--button-font-family: var(--split-button-primary-font-family);--button-border: var(--split-button-primary-border, none);--button-border-radius: var(\n --split-button-primary-border-radius,\n var(--radius, 4px) 0 0 var(--radius, 4px)\n );--button-hover-color: var(\n --split-button-primary-hover-background,\n var(--split-button-primary-background, #3a4550)\n );--button-hover-text-color: var(\n --split-button-primary-hover-color,\n var(--split-button-primary-color, white)\n );--disabled-opacity: var(--split-button-disabled-opacity, 0.4);--disabled-cursor: var(--split-button-disabled-cursor, not-allowed);display:flex;}.split-button-trigger.svelte-2cti {--menu-container-position: static;--menu-container-display: flex;\n /* Used to force --menu-trigger-focus-outline to `none` with nothing\n standing in for it (WCAG 2.4.7) -- removed so the trigger falls\n through to Menu's own :focus-visible default instead of suppressing\n it. See Menu.svelte's .menu-trigger:focus-visible for the fix. */--menu-dropdown-left: 0;--menu-min-width: 100%;border-left:var(--split-button-trigger-separator, 1px solid rgba(255, 255, 255, 0.3));display:flex;align-items:stretch;background-color:var(--split-button-trigger-background, #3a4550);border-radius:var(\n --split-button-trigger-border-radius,\n 0 var(--radius, 4px) var(--radius, 4px) 0\n );color:var(--split-button-trigger-color, white);cursor:pointer;}.split-button.disabled.svelte-2cti .split-button-trigger:where(.svelte-2cti) {opacity:var(--split-button-disabled-opacity, 0.4);cursor:var(--split-button-disabled-cursor, not-allowed);}.split-button-trigger.svelte-2cti:hover {background-color:var(\n --split-button-trigger-hover-background,\n var(--split-button-trigger-background, #3a4550)\n );color:var(--split-button-trigger-hover-color, var(--split-button-trigger-color, white));}.split-button-trigger.svelte-2cti .menu-trigger {display:flex;align-items:center;justify-content:center;padding:var(--split-button-trigger-padding, 8px);}.split-button-arrow.svelte-2cti {display:inline-flex;width:var(--split-button-arrow-width, 10px);height:var(--split-button-arrow-height, 6px);}.split-button-arrow.svelte-2cti svg {width:100%;height:100%;}"
21171
21581
  };
21172
21582
  function SplitButton(e, t) {
21173
21583
  push(t, !0), append_styles$1(e, $$css$89);
@@ -21379,7 +21789,7 @@ var normalizeColumns = (e, t) => ({
21379
21789
  let t = asJsonObject(e);
21380
21790
  if (t === null) return null;
21381
21791
  let n = {};
21382
- return typeof t.primary == "string" && (n.primary = t.primary), typeof t.comparison == "string" && (n.comparison = t.comparison), typeof t.trendPercent == "number" && (n.trendPercent = t.trendPercent), typeof t.trendLabel == "string" && (n.trendLabel = t.trendLabel), n;
21792
+ return typeof t.primary == "string" && (n.primary = t.primary), typeof t.comparison == "string" && (n.comparison = t.comparison), typeof t.trendPercent == "number" && (n.trendPercent = t.trendPercent), typeof t.trendLabel == "string" && (n.trendLabel = t.trendLabel), typeof t.animateTrend == "boolean" && (n.animateTrend = t.animateTrend), n;
21383
21793
  }, asLinkCellData = (e) => {
21384
21794
  if (typeof e == "string" && e.length > 0) return { url: e };
21385
21795
  let t = asJsonObject(e);
@@ -21464,7 +21874,7 @@ var normalizeColumns = (e, t) => ({
21464
21874
  })),
21465
21875
  rest: n.length - i.length
21466
21876
  };
21467
- }, trend_up_default = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M2 11.5L6.5 7L9 9.5L14 4.5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M9.5 4.5H14V9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n", trend_down_default = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M2 4.5L6.5 9L9 6.5L14 11.5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M9.5 11.5H14V7\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n", dots_vertical_default = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"none\">\n <circle cx=\"8\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n</svg>\n", root$45 = /* @__PURE__ */ from_html("<div><span class=\"builtin-primary-text svelte-4boxsj\"> </span> <!></div>"), root_1$42 = /* @__PURE__ */ from_html("<div><span class=\"builtin-primary-text svelte-4boxsj\"> </span> <span class=\"builtin-secondary-text svelte-4boxsj\"> </span></div>"), root_2$32 = /* @__PURE__ */ from_html("<span class=\"builtin-icon-label-icon svelte-4boxsj\"><!></span>"), root_3$29 = /* @__PURE__ */ from_html("<div><!> <span> </span></div>"), root_4$25 = /* @__PURE__ */ from_html("<span class=\"builtin-thumb svelte-4boxsj\"><!></span>"), root_5$24 = /* @__PURE__ */ from_html("<span class=\"builtin-thumb builtin-thumb-placeholder svelte-4boxsj\"> </span>"), root_6$22 = /* @__PURE__ */ from_html("<div><!> <div><span class=\"builtin-primary-text svelte-4boxsj\"> </span> <span class=\"builtin-secondary-text svelte-4boxsj\"> </span></div></div>"), root_7$20 = /* @__PURE__ */ from_html("<div></div>"), root_8$18 = /* @__PURE__ */ from_html("<span class=\"builtin-avatar-rest svelte-4boxsj\"> </span>"), root_9$15 = /* @__PURE__ */ from_html("<div><!> <!></div>"), root_10$14 = /* @__PURE__ */ from_html("<span class=\"builtin-primary-text svelte-4boxsj\"> </span>"), root_11$12 = /* @__PURE__ */ from_html("<span class=\"builtin-secondary-text svelte-4boxsj\"> </span>"), root_12$11 = /* @__PURE__ */ from_html("<span class=\"builtin-trend builtin-trend-up svelte-4boxsj\"><span class=\"builtin-trend-icon svelte-4boxsj\"></span> </span>"), root_13$9 = /* @__PURE__ */ from_html("<span class=\"builtin-trend builtin-trend-down svelte-4boxsj\"><span class=\"builtin-trend-icon svelte-4boxsj\"></span> </span>"), root_14$8 = /* @__PURE__ */ from_html("<span class=\"builtin-trend builtin-trend-flat svelte-4boxsj\">↔ 0%</span>"), root_15$6 = /* @__PURE__ */ from_html("<span class=\"builtin-trend builtin-trend-flat svelte-4boxsj\"> </span>"), root_16$5 = /* @__PURE__ */ from_html("<div><!> <!> <!></div>"), root_17$4 = /* @__PURE__ */ from_html("<span class=\"builtin-toggle svelte-4boxsj\" role=\"switch\"><!></span>"), root_18$4 = /* @__PURE__ */ from_html("<span class=\"builtin-interactive svelte-4boxsj\"><!></span>"), root_19$4 = /* @__PURE__ */ from_html("<img class=\"builtin-input-icon svelte-4boxsj\" alt=\"\"/>"), root_20$4 = /* @__PURE__ */ from_html("<img class=\"builtin-button-icon svelte-4boxsj\" alt=\"\"/>"), root_21$3 = /* @__PURE__ */ from_html("<span><!></span>"), root_22$3 = /* @__PURE__ */ from_html("<span class=\"builtin-menu-dots svelte-4boxsj\"></span>"), root_23$3 = /* @__PURE__ */ from_html("<span class=\"builtin-icon-button svelte-4boxsj\"><!></span>"), root_24$3 = /* @__PURE__ */ from_html("<span class=\"builtin-interactive builtin-action-group svelte-4boxsj\"><!> <!></span>"), root_25$2 = /* @__PURE__ */ from_html("<span class=\"builtin-copy-icon svelte-4boxsj\"></span>"), root_26$2 = /* @__PURE__ */ from_html("<span class=\"builtin-link-copied svelte-4boxsj\">Copied</span>"), root_27$1 = /* @__PURE__ */ from_html("<span class=\"builtin-link-copy svelte-4boxsj\"><!></span> <!>", 1), root_28$1 = /* @__PURE__ */ from_html("<div class=\"builtin-link svelte-4boxsj\"><a target=\"_blank\" rel=\"noopener noreferrer\" class=\"builtin-link-anchor svelte-4boxsj\"> </a> <!></div>"), $$css$87 = {
21877
+ }, trend_up_default = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M2 11.5L6.5 7L9 9.5L14 4.5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M9.5 4.5H14V9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n", trend_down_default = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M2 4.5L6.5 9L9 6.5L14 11.5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M9.5 11.5H14V7\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n", dots_vertical_default = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"none\">\n <circle cx=\"8\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n</svg>\n", root$45 = /* @__PURE__ */ from_html("<div><span class=\"builtin-primary-text svelte-4boxsj\"> </span> <!></div>"), root_1$42 = /* @__PURE__ */ from_html("<div><span class=\"builtin-primary-text svelte-4boxsj\"> </span> <span class=\"builtin-secondary-text svelte-4boxsj\"> </span></div>"), root_2$32 = /* @__PURE__ */ from_html("<span class=\"builtin-icon-label-icon svelte-4boxsj\"><!></span>"), root_3$29 = /* @__PURE__ */ from_html("<div><!> <span> </span></div>"), root_4$25 = /* @__PURE__ */ from_html("<span class=\"builtin-thumb svelte-4boxsj\"><!></span>"), root_5$24 = /* @__PURE__ */ from_html("<span class=\"builtin-thumb builtin-thumb-placeholder svelte-4boxsj\"> </span>"), root_6$22 = /* @__PURE__ */ from_html("<div><!> <div><span class=\"builtin-primary-text svelte-4boxsj\"> </span> <span class=\"builtin-secondary-text svelte-4boxsj\"> </span></div></div>"), root_7$20 = /* @__PURE__ */ from_html("<div></div>"), root_8$18 = /* @__PURE__ */ from_html("<span class=\"builtin-avatar-rest svelte-4boxsj\"> </span>"), root_9$15 = /* @__PURE__ */ from_html("<div><!> <!></div>"), root_10$14 = /* @__PURE__ */ from_html("<span class=\"builtin-primary-text svelte-4boxsj\"> </span>"), root_11$12 = /* @__PURE__ */ from_html("<span class=\"builtin-secondary-text svelte-4boxsj\"> </span>"), root_12$11 = /* @__PURE__ */ from_html("<span class=\"builtin-trend builtin-trend-up svelte-4boxsj\"><span class=\"builtin-trend-icon svelte-4boxsj\"></span> <!></span>"), root_13$9 = /* @__PURE__ */ from_html("<span class=\"builtin-trend builtin-trend-down svelte-4boxsj\"><span class=\"builtin-trend-icon svelte-4boxsj\"></span> <!></span>"), root_14$8 = /* @__PURE__ */ from_html("<span class=\"builtin-trend builtin-trend-flat svelte-4boxsj\">↔ 0%</span>"), root_15$6 = /* @__PURE__ */ from_html("<span class=\"builtin-trend builtin-trend-flat svelte-4boxsj\"> </span>"), root_16$5 = /* @__PURE__ */ from_html("<div><!> <!> <!></div>"), root_17$5 = /* @__PURE__ */ from_html("<span class=\"builtin-toggle svelte-4boxsj\" role=\"switch\"><!></span>"), root_18$4 = /* @__PURE__ */ from_html("<span class=\"builtin-interactive svelte-4boxsj\"><!></span>"), root_19$4 = /* @__PURE__ */ from_html("<img class=\"builtin-input-icon svelte-4boxsj\" alt=\"\"/>"), root_20$4 = /* @__PURE__ */ from_html("<img class=\"builtin-button-icon svelte-4boxsj\" alt=\"\"/>"), root_21$3 = /* @__PURE__ */ from_html("<span><!></span>"), root_22$3 = /* @__PURE__ */ from_html("<span class=\"builtin-menu-dots svelte-4boxsj\"></span>"), root_23$3 = /* @__PURE__ */ from_html("<span class=\"builtin-icon-button svelte-4boxsj\"><!></span>"), root_24$2 = /* @__PURE__ */ from_html("<span class=\"builtin-interactive builtin-action-group svelte-4boxsj\"><!> <!></span>"), root_25$2 = /* @__PURE__ */ from_html("<span class=\"builtin-copy-icon svelte-4boxsj\"></span>"), root_26$2 = /* @__PURE__ */ from_html("<span class=\"builtin-link-copied svelte-4boxsj\">Copied</span>"), root_27$1 = /* @__PURE__ */ from_html("<span class=\"builtin-link-copy svelte-4boxsj\"><!></span> <!>", 1), root_28$1 = /* @__PURE__ */ from_html("<div class=\"builtin-link svelte-4boxsj\"><a target=\"_blank\" rel=\"noopener noreferrer\" class=\"builtin-link-anchor svelte-4boxsj\"> </a> <!></div>"), $$css$87 = {
21468
21878
  hash: "svelte-4boxsj",
21469
21879
  code: ".builtin-primary-text.svelte-4boxsj {display:block;font-size:var(--table-cell-primary-font-size, var(--table-content-font-size, 14px));color:var(--table-cell-primary-color, var(--table-content-color, #111827));}.builtin-secondary-text.svelte-4boxsj {display:block;font-size:var(--table-cell-secondary-font-size, 12px);color:var(--table-cell-secondary-color, #6b7280);}.builtin-two-line.svelte-4boxsj,\n .builtin-compare.svelte-4boxsj {display:flex;flex-direction:column;gap:var(--table-cell-line-gap, 2px);}\n\n /* column.align lands on the td as text-align, which flex layouts ignore.\n Column-flex builtins follow it via align-items… */.builtin-two-line.builtin-align-end.svelte-4boxsj,\n .builtin-compare.builtin-align-end.svelte-4boxsj {align-items:flex-end;}.builtin-two-line.builtin-align-center.svelte-4boxsj,\n .builtin-compare.builtin-align-center.svelte-4boxsj {align-items:center;}\n\n /* …and row-flex builtins follow it via justify-content. */.builtin-text-tag.builtin-align-end.svelte-4boxsj,\n .builtin-icon-label.builtin-align-end.svelte-4boxsj,\n .builtin-image-two-line.builtin-align-end.svelte-4boxsj,\n .builtin-tag-array.builtin-align-end.svelte-4boxsj,\n .builtin-avatar-stack.builtin-align-end.svelte-4boxsj {justify-content:flex-end;}.builtin-text-tag.builtin-align-center.svelte-4boxsj,\n .builtin-icon-label.builtin-align-center.svelte-4boxsj,\n .builtin-image-two-line.builtin-align-center.svelte-4boxsj,\n .builtin-tag-array.builtin-align-center.svelte-4boxsj,\n .builtin-avatar-stack.builtin-align-center.svelte-4boxsj {justify-content:center;}.builtin-text-tag.svelte-4boxsj {display:flex;align-items:center;gap:var(--table-cell-inline-gap, 8px);}.builtin-icon-label.svelte-4boxsj {display:flex;align-items:center;gap:var(--table-cell-inline-gap, 8px);}.builtin-icon-label-icon.svelte-4boxsj img,\n .builtin-icon-label-icon.svelte-4boxsj svg {width:var(--table-cell-icon-size, 16px);height:var(--table-cell-icon-size, 16px);color:var(--table-cell-icon-color, inherit);display:block;}.builtin-image-two-line.svelte-4boxsj {display:flex;align-items:center;gap:var(--table-cell-inline-gap, 8px);}.builtin-thumb.svelte-4boxsj {display:inline-flex;width:var(--table-cell-thumb-size, 32px);height:var(--table-cell-thumb-size, 32px);border-radius:var(--table-cell-thumb-radius, var(--radius, 4px));overflow:hidden;flex-shrink:0;}.builtin-thumb.svelte-4boxsj img {width:100%;height:100%;object-fit:cover;}.builtin-thumb-placeholder.svelte-4boxsj {display:flex;align-items:center;justify-content:center;background-color:var(--table-cell-thumb-placeholder-background, #f3f4f6);color:var(--table-cell-thumb-placeholder-color, #4b5563);font-size:var(--table-cell-thumb-placeholder-font-size, 14px);font-weight:600;line-height:1;text-transform:uppercase;}.builtin-tag-array.svelte-4boxsj {display:flex;flex-wrap:wrap;gap:var(--table-tag-array-gap, 4px);}.builtin-avatar-stack.svelte-4boxsj {display:flex;align-items:center;gap:var(--table-cell-inline-gap, 8px);}.builtin-avatar-rest.svelte-4boxsj {font-size:var(--table-cell-secondary-font-size, 12px);color:var(--table-cell-secondary-color, #6b7280);}.builtin-trend.svelte-4boxsj {display:inline-flex;align-items:center;gap:var(--table-trend-gap, 4px);font-size:var(--table-cell-secondary-font-size, 12px);}.builtin-trend-up.svelte-4boxsj {color:var(--table-trend-up-color, #166534);}.builtin-trend-down.svelte-4boxsj {color:var(--table-trend-down-color, #dc2626);}.builtin-trend-flat.svelte-4boxsj {color:var(--table-trend-flat-color, #6b7280);}.builtin-trend-icon.svelte-4boxsj svg {width:var(--table-trend-icon-size, 12px);height:var(--table-trend-icon-size, 12px);display:block;}.builtin-toggle.svelte-4boxsj {display:inline-flex;align-items:center;}.builtin-interactive.svelte-4boxsj {display:inline-flex;align-items:center;min-width:0;width:var(--table-interactive-width, auto);}.builtin-input-icon.svelte-4boxsj {display:block;width:var(--table-cell-input-icon-size, 16px);height:var(--table-cell-input-icon-size, 16px);}.builtin-button-icon.svelte-4boxsj {display:block;width:var(--table-cell-icon-size, 16px);height:var(--table-cell-icon-size, 16px);}.builtin-action-group.svelte-4boxsj {gap:var(--table-cell-inline-gap, 8px);}.builtin-icon-button.svelte-4boxsj {--button-color: transparent;--button-border: none;--button-padding: 2px;--button-margin: 0;--button-width: fit-content;--button-height: fit-content;--button-text-color: var(--table-cell-icon-button-color, #6b7280);--button-hover-color: var(--table-cell-icon-button-hover-background, rgba(0, 0, 0, 0.05));display:inline-flex;}.builtin-menu-dots.svelte-4boxsj svg {width:var(--table-cell-icon-size, 16px);height:var(--table-cell-icon-size, 16px);display:block;}.builtin-link.svelte-4boxsj {display:flex;align-items:center;gap:var(--table-cell-inline-gap, 8px);min-width:0;}.builtin-link-anchor.svelte-4boxsj {color:var(--table-link-color, #2563eb);text-decoration:var(--table-link-decoration, underline);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}.builtin-link-copy.svelte-4boxsj {--button-color: transparent;--button-border: none;--button-padding: 2px;--button-margin: 0;--button-width: fit-content;--button-height: fit-content;--button-text-color: var(--table-link-copy-color, #6b7280);--button-hover-color: var(--table-link-copy-hover-background, rgba(0, 0, 0, 0.05));display:inline-flex;flex-shrink:0;}.builtin-copy-icon.svelte-4boxsj svg {width:var(--table-cell-icon-size, 16px);height:var(--table-cell-icon-size, 16px);display:block;}.builtin-link-copied.svelte-4boxsj {font-size:var(--table-cell-secondary-font-size, 12px);color:var(--table-cell-secondary-color, #6b7280);flex-shrink:0;}"
21470
21880
  };
@@ -21735,16 +22145,40 @@ function BuiltinCell(e, t) {
21735
22145
  var n = comment(), i = first_child(n), a = (e) => {
21736
22146
  var n = root_12$11(), i = child(n);
21737
22147
  html(i, () => trend_up_default, !0), reset(i);
21738
- var a = sibling(i);
21739
- reset(n), template_effect((e, i) => {
21740
- set_attribute(n, "data-pw", e), set_attribute(n, "testid", i), set_text(a, ` ${get(t).trendPercent ?? ""}%`);
22148
+ var a = sibling(i, 2), o = (e) => {
22149
+ {
22150
+ let n = /* @__PURE__ */ user_derived(() => `${get(t).trendPercent}%`);
22151
+ AnimatedNumber(e, { get value() {
22152
+ return get(n);
22153
+ } });
22154
+ }
22155
+ }, s = (e) => {
22156
+ var n = text();
22157
+ template_effect(() => set_text(n, `${get(t).trendPercent ?? ""}%`)), append(e, n);
22158
+ };
22159
+ if_block(a, (e) => {
22160
+ get(t).animateTrend ? e(o) : e(s, -1);
22161
+ }), reset(n), template_effect((e, t) => {
22162
+ set_attribute(n, "data-pw", e), set_attribute(n, "testid", t);
21741
22163
  }, [() => u("trendUp"), () => u("trendUp")]), append(e, n);
21742
22164
  }, o = (e) => {
21743
22165
  var n = root_13$9(), i = child(n);
21744
22166
  html(i, () => trend_down_default, !0), reset(i);
21745
- var a = sibling(i);
21746
- reset(n), template_effect((e, i) => {
21747
- set_attribute(n, "data-pw", e), set_attribute(n, "testid", i), set_text(a, ` ${get(t).trendPercent ?? ""}%`);
22167
+ var a = sibling(i, 2), o = (e) => {
22168
+ {
22169
+ let n = /* @__PURE__ */ user_derived(() => `${get(t).trendPercent}%`);
22170
+ AnimatedNumber(e, { get value() {
22171
+ return get(n);
22172
+ } });
22173
+ }
22174
+ }, s = (e) => {
22175
+ var n = text();
22176
+ template_effect(() => set_text(n, `${get(t).trendPercent ?? ""}%`)), append(e, n);
22177
+ };
22178
+ if_block(a, (e) => {
22179
+ get(t).animateTrend ? e(o) : e(s, -1);
22180
+ }), reset(n), template_effect((e, t) => {
22181
+ set_attribute(n, "data-pw", e), set_attribute(n, "testid", t);
21748
22182
  }, [() => u("trendDown"), () => u("trendDown")]), append(e, n);
21749
22183
  }, s = (e) => {
21750
22184
  append(e, root_14$8());
@@ -21772,7 +22206,7 @@ function BuiltinCell(e, t) {
21772
22206
  }), append(e, t);
21773
22207
  }, at = (e) => {
21774
22208
  let t = /* @__PURE__ */ user_derived(() => asJsonObject(i()) ?? {}), s = /* @__PURE__ */ user_derived(() => get(t).checked === !0);
21775
- var c = root_17$4();
22209
+ var c = root_17$5();
21776
22210
  set_attribute(c, "tabindex", -1), Toggle(child(c), {
21777
22211
  get checked() {
21778
22212
  return get(s);
@@ -21943,7 +22377,7 @@ function BuiltinCell(e, t) {
21943
22377
  }, ut = (e) => {
21944
22378
  let t = /* @__PURE__ */ user_derived(() => asActionGroupCellData(i()));
21945
22379
  var c = comment(), l = first_child(c), f = (e) => {
21946
- var i = root_24$3(), c = child(i), l = (e) => {
22380
+ var i = root_24$2(), c = child(i), l = (e) => {
21947
22381
  let i = (e) => {
21948
22382
  var t = root_20$4();
21949
22383
  template_effect(() => set_attribute(t, "src", get(s).iconUrl)), append(e, t);
@@ -22176,7 +22610,7 @@ delegate(["click", "keydown"]), create_custom_element(BuiltinCell, {
22176
22610
  }, [], [], { mode: "open" });
22177
22611
  //#endregion
22178
22612
  //#region src/lib/assets/sort-default.svg?raw
22179
- var sort_default_default = "<svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.64645 1.64645C5.84171 1.45118 6.15829 1.45118 6.35355 1.64645L8.85355 4.14645C9.04882 4.34171 9.04882 4.65829 8.85355 4.85355C8.65829 5.04882 8.34171 5.04882 8.14645 4.85355L6 2.70711L3.85355 4.85355C3.65829 5.04882 3.34171 5.04882 3.14645 4.85355C2.95118 4.65829 2.95118 4.34171 3.14645 4.14645L5.64645 1.64645Z\" fill=\"currentColor\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3.14645 7.14645C3.34171 6.95118 3.65829 6.95118 3.85355 7.14645L6 9.29289L8.14645 7.14645C8.34171 6.95118 8.65829 6.95118 8.85355 7.14645C9.04882 7.34171 9.04882 7.65829 8.85355 7.85355L6.35355 10.3536C6.15829 10.5488 5.84171 10.5488 5.64645 10.3536L3.14645 7.85355C2.95118 7.65829 2.95118 7.34171 3.14645 7.14645Z\" fill=\"currentColor\"/>\n</svg>\n", root$44 = /* @__PURE__ */ from_html("<div class=\"table-title svelte-171ci2i\"> </div>"), root_1$41 = /* @__PURE__ */ from_html("<button class=\"table-search-clear svelte-171ci2i\" type=\"button\"></button>"), root_2$31 = /* @__PURE__ */ from_html("<div class=\"table-search svelte-171ci2i\"><span class=\"table-search-icon svelte-171ci2i\"></span> <input class=\"table-search-input svelte-171ci2i\" type=\"search\" autocomplete=\"off\"/> <!></div>"), root_3$28 = /* @__PURE__ */ from_html("<div class=\"table-toolbar svelte-171ci2i\"><!></div>"), root_4$24 = /* @__PURE__ */ from_html("<caption class=\"sr-only svelte-171ci2i\"> </caption>"), root_5$23 = /* @__PURE__ */ from_html("<th><!></th>"), root_6$21 = /* @__PURE__ */ from_html("<th></th>"), root_7$19 = /* @__PURE__ */ from_html("<th> </th>"), root_8$17 = /* @__PURE__ */ from_html("<span> </span>"), root_9$14 = /* @__PURE__ */ from_html("<span class=\"table-header-filter-icon svelte-171ci2i\"></span>"), root_10$13 = /* @__PURE__ */ from_html("<span><!></span>"), root_11$11 = /* @__PURE__ */ from_html("<span class=\"table-header-filter svelte-171ci2i\"><!></span>"), root_12$10 = /* @__PURE__ */ from_html("<span class=\"sort-icon sort-icon-asc\"></span>"), root_13$8 = /* @__PURE__ */ from_html("<span class=\"sort-icon sort-icon-desc\"></span>"), root_14$7 = /* @__PURE__ */ from_html("<span class=\"sort-icon sort-icon-idle\"></span>"), root_15$5 = /* @__PURE__ */ from_html("<div class=\"sort-button svelte-171ci2i\"><!></div>"), root_16$4 = /* @__PURE__ */ from_html("<!> <span class=\"table-inline-search-clear svelte-171ci2i\"><!></span>", 1), root_17$3 = /* @__PURE__ */ from_html("<span class=\"table-inline-search-trigger svelte-171ci2i\"><!></span>"), root_18$3 = /* @__PURE__ */ from_html("<span class=\"table-header-inline-search svelte-171ci2i\"><!></span>"), root_19$3 = /* @__PURE__ */ from_html("<th><span class=\"table-header-content svelte-171ci2i\"><!> <!> <!> <!></span></th>"), root_20$3 = /* @__PURE__ */ from_html("<tr class=\"svelte-171ci2i\"><td class=\"table-empty svelte-171ci2i\"><!></td></tr>"), root_21$2 = /* @__PURE__ */ from_html("<span class=\"table-mobile-label svelte-171ci2i\" aria-hidden=\"true\">Select</span>"), root_22$2 = /* @__PURE__ */ from_html("<td class=\"table-content table-checkbox-col svelte-171ci2i\"><!><!></td>"), root_23$2 = /* @__PURE__ */ from_html("<span class=\"table-mobile-label svelte-171ci2i\" aria-hidden=\"true\"> </span>"), root_24$2 = /* @__PURE__ */ from_html("<td class=\"table-content table-row-number-col svelte-171ci2i\"><!><span class=\"table-mobile-value svelte-171ci2i\"> </span></td>"), root_25$1 = /* @__PURE__ */ from_html("<div><!></div>"), root_26$1 = /* @__PURE__ */ from_html("<td><!><!></td>"), root_27 = /* @__PURE__ */ from_html("<tr><!><!><!></tr>"), root_28 = /* @__PURE__ */ from_html("<div class=\"table-footer svelte-171ci2i\"><!></div>"), root_29 = /* @__PURE__ */ from_html("<span class=\"table-paginator-size svelte-171ci2i\"><!></span>"), root_30 = /* @__PURE__ */ from_html("<span class=\"table-paginator-controls svelte-171ci2i\"><!> <!></span>"), root_31 = /* @__PURE__ */ from_html("<div class=\"table-footer table-paginator svelte-171ci2i\"><span class=\"table-paginator-range svelte-171ci2i\"> </span> <!></div>"), root_32 = /* @__PURE__ */ from_html("<div><div><div class=\"table-scroll svelte-171ci2i\"><table class=\"svelte-171ci2i\"><!><thead class=\"svelte-171ci2i\"><tr class=\"svelte-171ci2i\"><!><!><!></tr></thead><tbody class=\"svelte-171ci2i\"><!></tbody></table></div></div> <!></div>"), root_33 = /* @__PURE__ */ from_html("<!> <!> <!> <!>", 1), $$css$86 = {
22613
+ var sort_default_default = "<svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.64645 1.64645C5.84171 1.45118 6.15829 1.45118 6.35355 1.64645L8.85355 4.14645C9.04882 4.34171 9.04882 4.65829 8.85355 4.85355C8.65829 5.04882 8.34171 5.04882 8.14645 4.85355L6 2.70711L3.85355 4.85355C3.65829 5.04882 3.34171 5.04882 3.14645 4.85355C2.95118 4.65829 2.95118 4.34171 3.14645 4.14645L5.64645 1.64645Z\" fill=\"currentColor\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3.14645 7.14645C3.34171 6.95118 3.65829 6.95118 3.85355 7.14645L6 9.29289L8.14645 7.14645C8.34171 6.95118 8.65829 6.95118 8.85355 7.14645C9.04882 7.34171 9.04882 7.65829 8.85355 7.85355L6.35355 10.3536C6.15829 10.5488 5.84171 10.5488 5.64645 10.3536L3.14645 7.85355C2.95118 7.65829 2.95118 7.34171 3.14645 7.14645Z\" fill=\"currentColor\"/>\n</svg>\n", root$44 = /* @__PURE__ */ from_html("<div class=\"table-title svelte-171ci2i\"> </div>"), root_1$41 = /* @__PURE__ */ from_html("<button class=\"table-search-clear svelte-171ci2i\" type=\"button\"></button>"), root_2$31 = /* @__PURE__ */ from_html("<div class=\"table-search svelte-171ci2i\"><span class=\"table-search-icon svelte-171ci2i\"></span> <input class=\"table-search-input svelte-171ci2i\" type=\"search\" autocomplete=\"off\"/> <!></div>"), root_3$28 = /* @__PURE__ */ from_html("<div class=\"table-toolbar svelte-171ci2i\"><!></div>"), root_4$24 = /* @__PURE__ */ from_html("<caption class=\"sr-only svelte-171ci2i\"> </caption>"), root_5$23 = /* @__PURE__ */ from_html("<th><!></th>"), root_6$21 = /* @__PURE__ */ from_html("<th></th>"), root_7$19 = /* @__PURE__ */ from_html("<th> </th>"), root_8$17 = /* @__PURE__ */ from_html("<span> </span>"), root_9$14 = /* @__PURE__ */ from_html("<span class=\"table-header-filter-icon svelte-171ci2i\"></span>"), root_10$13 = /* @__PURE__ */ from_html("<span><!></span>"), root_11$11 = /* @__PURE__ */ from_html("<span class=\"table-header-filter svelte-171ci2i\"><!></span>"), root_12$10 = /* @__PURE__ */ from_html("<span class=\"sort-icon sort-icon-asc\"></span>"), root_13$8 = /* @__PURE__ */ from_html("<span class=\"sort-icon sort-icon-desc\"></span>"), root_14$7 = /* @__PURE__ */ from_html("<span class=\"sort-icon sort-icon-idle\"></span>"), root_15$5 = /* @__PURE__ */ from_html("<div class=\"sort-button svelte-171ci2i\"><!></div>"), root_16$4 = /* @__PURE__ */ from_html("<!> <span class=\"table-inline-search-clear svelte-171ci2i\"><!></span>", 1), root_17$4 = /* @__PURE__ */ from_html("<span class=\"table-inline-search-trigger svelte-171ci2i\"><!></span>"), root_18$3 = /* @__PURE__ */ from_html("<span class=\"table-header-inline-search svelte-171ci2i\"><!></span>"), root_19$3 = /* @__PURE__ */ from_html("<th><span class=\"table-header-content svelte-171ci2i\"><!> <!> <!> <!></span></th>"), root_20$3 = /* @__PURE__ */ from_html("<tr class=\"svelte-171ci2i\"><td class=\"table-empty svelte-171ci2i\"><!></td></tr>"), root_21$2 = /* @__PURE__ */ from_html("<span class=\"table-mobile-label svelte-171ci2i\" aria-hidden=\"true\">Select</span>"), root_22$2 = /* @__PURE__ */ from_html("<td class=\"table-content table-checkbox-col svelte-171ci2i\"><!><!></td>"), root_23$2 = /* @__PURE__ */ from_html("<span class=\"table-mobile-label svelte-171ci2i\" aria-hidden=\"true\"> </span>"), root_24$1 = /* @__PURE__ */ from_html("<td class=\"table-content table-row-number-col svelte-171ci2i\"><!><span class=\"table-mobile-value svelte-171ci2i\"> </span></td>"), root_25$1 = /* @__PURE__ */ from_html("<div><!></div>"), root_26$1 = /* @__PURE__ */ from_html("<td><!><!></td>"), root_27 = /* @__PURE__ */ from_html("<tr><!><!><!></tr>"), root_28 = /* @__PURE__ */ from_html("<div class=\"table-footer svelte-171ci2i\"><!></div>"), root_29 = /* @__PURE__ */ from_html("<span class=\"table-paginator-size svelte-171ci2i\"><!></span>"), root_30 = /* @__PURE__ */ from_html("<span class=\"table-paginator-controls svelte-171ci2i\"><!> <!></span>"), root_31 = /* @__PURE__ */ from_html("<div class=\"table-footer table-paginator svelte-171ci2i\"><span class=\"table-paginator-range svelte-171ci2i\"> </span> <!></div>"), root_32 = /* @__PURE__ */ from_html("<div><div><div class=\"table-scroll svelte-171ci2i\"><table class=\"svelte-171ci2i\"><!><thead class=\"svelte-171ci2i\"><tr class=\"svelte-171ci2i\"><!><!><!></tr></thead><tbody class=\"svelte-171ci2i\"><!></tbody></table></div></div> <!></div>"), root_33 = /* @__PURE__ */ from_html("<!> <!> <!> <!>", 1), $$css$86 = {
22180
22614
  hash: "svelte-171ci2i",
22181
22615
  code: "\n /* ── Title ─────────────────────────────────────────────────────────────── */.table-title.svelte-171ci2i {margin:var(--table-title-margin, 0px 0px 12px 0px);font-size:var(--table-title-font-size, var(--table-tile-font-size, 18px));font-weight:var(--table-title-font-weight, 600);\n /* Unlike .table-content, a heading legitimately has no background of its\n own -- it sits directly on whatever surface the consumer places it on.\n The old #111827 literal ignored that surface entirely: on a dark page\n it measured a contrast of 1.03 against #1a1a26, i.e. invisible. `color`\n already inherits by default, so `inherit` states that explicitly and\n lets the title track its container's text colour; `currentColor` would\n resolve to the same value here (the spec special-cases it to mean\n exactly `inherit` for the `color` property) but reads as if it were\n referencing a colour set elsewhere on this rule, which it isn't. */color:var(--table-title-color, inherit);font-family:var(--table-title-font-family, inherit);padding:var(--table-title-padding);}\n\n /* ── C2-3 Search bar ────────────────────────────────────────────────────── */.table-search.svelte-171ci2i {display:flex;align-items:center;gap:var(--table-search-gap, 8px);padding:var(--table-search-padding, 8px 12px);border:var(--table-search-border, 1px solid #e5e7eb);border-radius:var(--table-search-border-radius, var(--radius, 4px));background-color:var(--table-search-background, #ffffff);margin-bottom:var(--table-search-margin-bottom, 8px);}.table-search-icon.svelte-171ci2i {display:inline-flex;align-items:center;color:var(--table-search-icon-color, #9ca3af);flex-shrink:0;}.table-search-icon.svelte-171ci2i svg {width:var(--table-search-icon-size, 16px);height:var(--table-search-icon-size, 16px);}.table-search-input.svelte-171ci2i {flex:1;border:none;outline:none;background:transparent;font-size:var(--table-search-font-size, 14px);color:var(--table-search-color, #111827);min-width:0;}.table-search-input.svelte-171ci2i:focus-visible {outline:2px solid var(--table-focus-outline-color, #3b82f6);outline-offset:2px;border-radius:var(--table-search-focus-border-radius, var(--radius, 4px));}.table-search-input.svelte-171ci2i::placeholder {color:var(--table-search-placeholder-color, #4b5563);}\n\n /* Hide browser-default clear button on search inputs */.table-search-input.svelte-171ci2i::-webkit-search-cancel-button {display:none;}.table-search-clear.svelte-171ci2i {display:inline-flex;align-items:center;padding:2px;border:none;background:transparent;color:var(--table-search-clear-color, #6b7280);cursor:pointer;border-radius:4px;flex-shrink:0;}.table-search-clear.svelte-171ci2i:hover {color:var(--table-search-clear-hover-color, #111827);background-color:var(--table-search-clear-hover-background, rgba(0, 0, 0, 0.05));}.table-search-clear.svelte-171ci2i svg {width:var(--table-search-clear-icon-size, 14px);height:var(--table-search-clear-icon-size, 14px);}.table-header-inline-search.svelte-171ci2i {display:inline-flex;align-items:center;gap:var(--table-inline-search-gap, 6px);margin-left:auto;}.table-inline-search-trigger.svelte-171ci2i {--button-color: transparent;--button-border: none;--button-padding: var(--table-inline-search-trigger-padding, 4px);--button-text-color: var(--table-inline-search-icon-color, #9ca3af);}.table-inline-search-trigger.svelte-171ci2i svg {width:var(--table-inline-search-icon-size, 16px);height:var(--table-inline-search-icon-size, 16px);display:block;}.table-inline-search-input.svelte-171ci2i {--input-margin: 0;width:var(--table-inline-search-input-width, 160px);}.table-inline-search-clear.svelte-171ci2i {--button-color: transparent;--button-border: none;--button-padding: var(--table-inline-search-clear-padding, 2px);--button-text-color: var(--table-inline-search-clear-color, #6b7280);}.table-inline-search-clear.svelte-171ci2i svg {width:var(--table-inline-search-clear-icon-size, 14px);height:var(--table-inline-search-clear-icon-size, 14px);}\n\n /* ── Container ──────────────────────────────────────────────────────────── */\n /* `hidden` is the default because it is what clips the table's corners to\n this element's border-radius; without it the first and last cells square\n off over the rounded border. A consumer who needs the container itself to\n scroll sideways sets this to `auto` and accepts that trade. Note the\n scrollable variant below sets `overflow-y`, and per the CSS overflow spec\n a `visible` on one axis computes to `auto` when the other is not visible,\n so `visible` here does not survive on a scrollable table. */.table-container.svelte-171ci2i {border:var(--table-border, 1px solid #e5e7eb);border-radius:var(--table-border-radius, var(--radius, 4px));width:var(--table-container-width, 100%);overflow:var(--table-container-overflow, hidden);}.scrollable-table.svelte-171ci2i {height:var(--table-container-height, 143px);overflow-y:auto;}.table-scroll-shell.svelte-171ci2i {position:relative;min-width:0;}\n\n /* Edge scrims: fade the clipped side of the table into its background so\n hidden columns read as \"more content this way\". Class-driven from live\n scroll state — never shown when the table fits. pointer-events: none\n keeps cells under the fade clickable; z-index 2 paints above sticky\n headers (z-index 1). */.table-scroll-shell.svelte-171ci2i::before,\n .table-scroll-shell.svelte-171ci2i::after {content:'';position:absolute;top:0;bottom:0;width:var(--table-scroll-scrim-width, 32px);opacity:0;pointer-events:none;transition:opacity var(--table-scroll-scrim-transition-duration, var(--motion-duration, 0.2s))\n var(--table-scroll-scrim-transition-easing, var(--motion-easing, ease));z-index:2;}.table-scroll-shell.svelte-171ci2i::before {left:0;border-radius:var(--table-border-radius, var(--radius, 4px)) 0 0\n var(--table-border-radius, var(--radius, 4px));background:linear-gradient(to right, var(--table-scroll-scrim-color, #ffffff), transparent);}.table-scroll-shell.svelte-171ci2i::after {right:0;border-radius:0 var(--table-border-radius, var(--radius, 4px))\n var(--table-border-radius, var(--radius, 4px)) 0;background:linear-gradient(to left, var(--table-scroll-scrim-color, #ffffff), transparent);}.table-scroll-shell.scrollable-left.svelte-171ci2i::before {opacity:1;}.table-scroll-shell.scrollable-right.svelte-171ci2i::after {opacity:1;}.table-scroll.svelte-171ci2i {overflow-x:auto;min-width:0;scrollbar-width:thin;}table.svelte-171ci2i {width:var(--table-width, 100%);border-collapse:var(--table-border-collapse, collapse);}.table-header.svelte-171ci2i,\n .table-content.svelte-171ci2i {border:var(--table-inner-border, none);padding:var(--table-padding, 12px 16px);text-align:var(--table-text-align, left);width:var(--table-column-width);\n /* Wrap at word boundaries; only a single word wider than the column may\n split as a last resort. break-word (not anywhere) keeps each column's\n min-content width at its longest word, so ordinary labels never split\n mid-word — the old break-all default did. Opt back in per consumer via\n --table-word-break / --table-overflow-wrap. */word-break:var(--table-word-break, normal);overflow-wrap:var(--table-overflow-wrap, break-word);}.scrollable-content.svelte-171ci2i {overflow-y:auto;height:var(--scrollable-column-height, 20px);}.table-header.svelte-171ci2i {background-color:var(--table-header-background, var(--table-header-border-bgcolor, #f9fafb));font-size:var(--table-header-font-size, 13px);font-family:var(--table-header-font-family, inherit);font-weight:var(--table-header-font-weight, 600);letter-spacing:var(--table-header-letter-spacing, 0.02em);text-transform:var(--table-header-text-transform, inherit);color:var(--table-header-color, var(--table-header-font-color, #6b7280));border-bottom:var(--table-header-border, var(--table-inner-border, none));}.table-header-content.svelte-171ci2i {display:flex;align-items:center;gap:4px;justify-content:var(--table-header-justify, flex-start);}.table-header-label.svelte-171ci2i {text-decoration:var(--table-header-tooltip-underline, underline dotted);text-underline-offset:2px;cursor:help;}.table-header-label-plain.svelte-171ci2i {text-decoration:none;}.table-header-filter.svelte-171ci2i {display:inline-flex;align-items:center;}.table-header-filter-trigger.svelte-171ci2i {--button-color: transparent;--button-border: none;--button-padding: 2px;--button-margin: 0;--button-width: fit-content;--button-height: fit-content;--button-text-color: var(--table-sort-button-color, inherit);--button-border-radius: 4px;--button-hover-color: var(--table-sort-button-hover-background, rgba(0, 0, 0, 0.05));display:inline-flex;align-items:center;opacity:var(--table-sort-idle-opacity, 0.5);}.table-header-filter-trigger.svelte-171ci2i:hover {opacity:var(--table-sort-idle-hover-opacity, 0.85);}.table-header-filter-active.svelte-171ci2i {opacity:1;color:var(--table-filter-active-color, #2563eb);}.table-header-filter-icon.svelte-171ci2i svg {width:var(--table-sort-icon-size, 14px);height:var(--table-sort-icon-size, 14px);display:block;}.table-cell-clamp.svelte-171ci2i {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.table-header-sticky.svelte-171ci2i {position:sticky;top:var(--table-header-sticky-top, 0);z-index:1;}.table-content.svelte-171ci2i {\n /* The terminal #ffffff matters as much as the colour beside it. Without it\n the whole declaration is invalid at computed-value time when neither\n variable is set, so the cell falls back to `transparent` and inherits\n whatever surface it lands on -- while `color` still resolves to a\n hardcoded near-black. On a dark page that is #111827 on #1a1a26: a\n measured contrast of 1.03, i.e. invisible. The header row never had the\n bug because it pairs its colour with a background of its own. */background-color:var(--table-content-background, var(--table-content-border-bgcolor, #ffffff));font-size:var(--table-content-font-size, 14px);font-family:var(--table-content-font-family, inherit);color:var(--table-content-color, var(--table-content-font-color, #111827));}\n\n /* Column highlight (TableColumn.highlighted). Row hover keeps higher\n specificity and row selection is declared later at equal specificity, so\n both row states paint over the column wash. */.table-header.table-col-highlighted.svelte-171ci2i {background-color:var(\n --table-col-highlight-header-background,\n var(--table-col-highlight-background, #f3f9ff)\n );}.table-content.table-col-highlighted.svelte-171ci2i {background-color:var(--table-col-highlight-background, #f3f9ff);}.table-row.svelte-171ci2i {border-bottom:var(--table-row-border, 1px solid #f3f4f6);background-color:var(--table-row-background);}.table-row.svelte-171ci2i:last-child {border-bottom:var(--table-row-last-border, none);}.table-row.svelte-171ci2i:nth-child(even) {background-color:var(--table-row-alt-background, var(--table-row-background));}.table-row.svelte-171ci2i:hover {background-color:var(--table-row-hover-background);}.table-row.svelte-171ci2i:hover > .table-content:where(.svelte-171ci2i) {background-color:var(\n --table-row-hover-background,\n var(--table-content-background, var(--table-content-border-bgcolor))\n );}.table-row-clickable.svelte-171ci2i {cursor:pointer;}.table-row-clickable.svelte-171ci2i:focus-visible {outline:2px solid var(--table-focus-outline-color, #3b82f6);outline-offset:-2px;}\n\n /* C2-1: Selected row highlight */.table-row-selected.svelte-171ci2i {background-color:var(--table-row-selected-background, #eff6ff);}.table-row-selected.svelte-171ci2i > .table-content:where(.svelte-171ci2i) {background-color:var(--table-row-selected-background, #eff6ff);}\n\n /* Summary/period-total row (summaryRowIndex): both the row and its cells,\n since a themed --table-content-background would otherwise paint over a\n row-level background. Falls back to the regular cell background. */.table-summary-row.svelte-171ci2i {background-color:var(--table-summary-row-background, var(--table-content-background));}.table-summary-row.svelte-171ci2i > .table-content:where(.svelte-171ci2i) {background-color:var(--table-summary-row-background, var(--table-content-background));}\n\n /* ── C2-1 Checkbox column ───────────────────────────────────────────────── */\n /* The column renders the library Checkbox. The table's own --table-checkbox-*\n tokens stay the public API and are bridged onto Checkbox's --checkbox-*\n variables here, so a consumer theming the table keeps working and a\n consumer theming Checkbox app-wide is overridden only inside the table. */.table-checkbox-col.svelte-171ci2i {width:var(--table-checkbox-col-width, 44px);padding:var(--table-checkbox-col-padding, 12px 12px);--checkbox-container-gap: 0;--checkbox-size: var(--table-checkbox-size, 18px);--checkbox-border: var(--table-checkbox-border, 2px solid #9ca3af);--checkbox-border-radius: var(--table-checkbox-border-radius, var(--radius, 4px));--checkbox-background: var(--table-checkbox-background, transparent);--checkbox-hover-border-color: var(--table-checkbox-hover-border-color, #6b7280);--checkbox-checked-background: var(--table-checkbox-checked-background, #2563eb);--checkbox-checked-border: var(\n --table-checkbox-checked-border,\n 2px solid var(--table-checkbox-checked-border-color, #2563eb)\n );--checkbox-indeterminate-background: var(--table-checkbox-indeterminate-background, #2563eb);--checkbox-indeterminate-border: var(\n --table-checkbox-indeterminate-border,\n 2px solid var(--table-checkbox-indeterminate-border-color, #2563eb)\n );--checkbox-disabled-opacity: var(--table-checkbox-disabled-opacity, 0.4);--checkbox-focus-ring: var(--table-checkbox-focus-ring, 0 0 0 3px rgba(59, 130, 246, 0.3));--checkbox-icon-size: var(--table-checkbox-icon-size, 12px);--checkbox-checkmark-color: var(--table-checkbox-icon-color, #ffffff);--checkbox-dash-color: var(--table-checkbox-icon-color, #ffffff);\n /* Named so a consumer can reach it. Table sets the Checkbox child's token\n directly, and a rule on the element beats anything declared at :root, so\n through <sui-table> the selection checkboxes' transition could not be\n slowed or stopped by any means -- custom properties are the only route\n across a shadow boundary and this one was already spoken for. */--checkbox-transition: var(--table-checkbox-transition, 0.15s);}\n\n /* ── Sort button ────────────────────────────────────────────────────────── */.sort-button.svelte-171ci2i {--button-color: transparent;--button-border: none;--button-padding: 2px;--button-margin: 0;--button-text-color: var(--table-sort-button-color, inherit);--button-border-radius: 4px;--button-width: fit-content;--button-height: fit-content;--button-hover-color: var(--table-sort-button-hover-background, rgba(0, 0, 0, 0.05));--button-hover-text-color: var(\n --table-sort-button-hover-color,\n var(--table-sort-button-color, inherit)\n );display:inline-flex;align-items:center;line-height:1;}.sort-button.svelte-171ci2i .sort-icon {display:inline-flex;align-items:center;}\n\n /* The sorted-direction half paints via currentColor; without an explicit\n color it inherits the Button's text color (white on the default button\n theme), which disappears on light headers. Default to the design\n system's active blue. */.sort-button.svelte-171ci2i .sort-icon:not(.sort-icon-idle) {color:var(--table-sort-active-color, #1b85ff);}.sort-button.svelte-171ci2i .sort-icon svg {width:var(--table-sort-icon-size, 14px);height:var(--table-sort-icon-size, 14px);display:block;}\n\n /* Two-tone state painting. The shared sort-default.svg asset stays\n color-agnostic (fill=\"currentColor\", like every other icon asset); the\n state colors live here. All halves default to the inactive fill, then\n the sorted direction's half is released back to currentColor (the\n active color above). Path order in the asset is up-chevron first,\n down-chevron second. */.sort-button.svelte-171ci2i .sort-icon svg path {fill:var(--table-sort-inactive-color, #c7c7c7);}.sort-button.svelte-171ci2i .sort-icon-asc svg path:first-child,\n .sort-button.svelte-171ci2i .sort-icon-desc svg path:last-child {fill:currentColor;}\n\n /* The design system draws every sort state fully opaque — faintness comes\n from the glyph fills (inactive halves #C7C7C7, active direction\n currentColor), never from transparency. The opacity vars remain for\n consumers that prefer a fade but now default to solid; hover steps the\n inactive halves to the design system's hover gray. */.sort-button.svelte-171ci2i .sort-icon-idle {opacity:var(--table-sort-idle-opacity, 1);}.sort-button.svelte-171ci2i:hover .sort-icon-idle {opacity:var(--table-sort-idle-hover-opacity, 1);--table-sort-inactive-color: var(--table-sort-hover-color, #797979);}\n\n /* ── Empty ──────────────────────────────────────────────────────────────── */.table-empty.svelte-171ci2i {padding:var(--table-empty-padding, 32px 24px);text-align:center;color:var(--table-empty-color, #9ca3af);}\n\n /* ── Footer ─────────────────────────────────────────────────────────────── */.table-footer.svelte-171ci2i {border-top:var(--table-footer-border, 1px solid #e5e7eb);padding:var(--table-footer-padding, 8px 16px);background-color:var(--table-footer-background, transparent);}.table-paginator.svelte-171ci2i {display:flex;align-items:center;justify-content:space-between;gap:var(--table-paginator-gap, 12px);flex-wrap:wrap;}.table-paginator-range.svelte-171ci2i {font-size:var(--table-paginator-range-font-size, 13px);color:var(--table-paginator-range-color, #6b7280);font-variant-numeric:tabular-nums;}.table-paginator-controls.svelte-171ci2i {display:flex;align-items:center;gap:var(--table-paginator-gap, 12px);}.table-paginator-size.svelte-171ci2i {display:inline-flex;min-width:var(--table-paginator-size-width, 72px);\n /* Select's standalone defaults (40px min-height, 8px 12px padding) render\n 58px tall next to the 36px pagination buttons sharing this row. Match the\n steppers instead of towering over them. */--select-trigger-min-height: var(--table-paginator-size-height, 36px);--select-trigger-padding: var(--table-paginator-size-padding, 0 8px);}\n\n /* ── Toolbar (bulk actions) ─────────────────────────────────────────────── */.table-toolbar.svelte-171ci2i {display:flex;align-items:center;gap:var(--table-toolbar-gap, 12px);padding:var(--table-toolbar-padding, 8px 12px);border:var(--table-toolbar-border, 1px solid #e5e7eb);border-radius:var(--table-toolbar-border-radius, var(--radius, 4px));background-color:var(--table-toolbar-background, #f9fafb);margin-bottom:var(--table-toolbar-margin-bottom, 8px);}\n\n /* ── Row-number column ──────────────────────────────────────────────────── */.table-row-number-col.svelte-171ci2i {width:var(--table-row-number-col-width, 48px);color:var(--table-row-number-color, #6b7280);font-variant-numeric:tabular-nums;text-align:var(--table-row-number-align, var(--table-text-align, left));}\n\n /* ── Accessibility ──────────────────────────────────────────────────────── */.sr-only.svelte-171ci2i {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border-width:0;}\n\n /* ── Mobile record cards (opt-in via `mobileCardLayout`) ──────────────────\n The label span is always in the DOM -- rendering it only under the media\n query below would mean an AT that queries computed style rather than\n layout (or a print stylesheet, or a future breakpoint change) sees no\n label at all until the exact 640px condition is re-evaluated. Keeping the\n element and toggling `display` is what lets `aria-hidden` on it (see the\n template) stay meaningful at every width: hidden today, but never a\n generated-content trick that could not carry that attribute in the first\n place. */.table-mobile-label.svelte-171ci2i {display:none;}\n\n /* The breakpoint is a literal, not `var(--table-mobile-breakpoint)`: a\n custom property can't be read inside an `@media` condition (only inside\n a declaration value), so a themable breakpoint was never on the table --\n documented in docs/Table.md rather than silently unsupported. */\n @media (max-width: 640px) {\n /* `display: table` (and its `-row`/`-cell`/etc. companions) is what gives\n a table its IMPLICIT header/cell ARIA semantics -- switching every one\n of these to `block` for the stacked-card look throws that away, which\n is exactly why `mobileRole()` in the script restates it explicitly as\n `table`/`rowgroup`/`row`/`columnheader`/`cell` on the elements below.\n Without both halves this rule would silently turn every consumer's\n table into an AX-tree list the moment their viewport narrowed. */.table-mobile-cards.svelte-171ci2i table:where(.svelte-171ci2i),\n .table-mobile-cards.svelte-171ci2i thead:where(.svelte-171ci2i),\n .table-mobile-cards.svelte-171ci2i tbody:where(.svelte-171ci2i),\n .table-mobile-cards.svelte-171ci2i tr:where(.svelte-171ci2i),\n .table-mobile-cards.svelte-171ci2i th:where(.svelte-171ci2i),\n .table-mobile-cards.svelte-171ci2i td:where(.svelte-171ci2i) {display:block;width:100%;}\n\n /* Headers are not shown as a row anymore -- their text now repeats per\n card as the `.table-mobile-label` beside each value -- but they stay\n in the DOM (not `display: none`) so `role=\"columnheader\"` continues\n naming its `role=\"cell\"` for any reading that still associates the\n two by DOM structure rather than only by the label span's text. */.table-mobile-cards.svelte-171ci2i thead:where(.svelte-171ci2i) {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border-width:0;}\n\n /* The horizontal-scroll affordance this table uses at desktop width (see\n .table-scroll / .table-scroll-shell above) has nothing to scroll once\n every cell is a full-width block, and a lingering scrim would fade a\n card edge that no longer clips anything. */.table-mobile-cards.svelte-171ci2i .table-scroll:where(.svelte-171ci2i) {overflow-x:visible;}.table-mobile-cards.svelte-171ci2i .table-scroll-shell:where(.svelte-171ci2i)::before,\n .table-mobile-cards.svelte-171ci2i .table-scroll-shell:where(.svelte-171ci2i)::after {display:none;}.table-mobile-cards.svelte-171ci2i tbody:where(.svelte-171ci2i) tr.table-row:where(.svelte-171ci2i) {border:var(--table-mobile-card-border, 1px solid #e5e7eb);border-radius:var(\n --table-mobile-card-radius,\n var(--table-border-radius, var(--radius, 4px))\n );padding:var(--table-mobile-card-padding, 12px);margin-block-end:var(--table-mobile-card-gap, 12px);}.table-mobile-cards.svelte-171ci2i tbody:where(.svelte-171ci2i) tr.table-row:where(.svelte-171ci2i):last-child {margin-block-end:0;}\n\n /* Each cell becomes a label/value pair instead of a table column; the\n label span (hidden above) is the only thing `display: inline` turns\n back on inside this query. */.table-mobile-cards.svelte-171ci2i td.table-content:where(.svelte-171ci2i) {display:flex;align-items:baseline;gap:var(--table-mobile-label-gap, 8px);border:none;}.table-mobile-cards.svelte-171ci2i .table-mobile-label:where(.svelte-171ci2i) {display:inline;flex:0 0 var(--table-mobile-label-width, 40%);font-weight:var(--table-mobile-label-font-weight, 600);color:var(--table-mobile-label-color, #6b7280);}.table-mobile-cards.svelte-171ci2i .table-mobile-value:where(.svelte-171ci2i),\n .table-mobile-cards.svelte-171ci2i td.table-content:where(.svelte-171ci2i) > div:where(.svelte-171ci2i) {flex:1 1 auto;min-width:0;}\n }"
22182
22616
  };
@@ -22825,7 +23259,7 @@ function Table(e, t) {
22825
23259
  }
22826
23260
  reset(i), append(e, t);
22827
23261
  }, a = (e) => {
22828
- var t = root_17$3(), n = child(t);
23262
+ var t = root_17$4(), n = child(t);
22829
23263
  {
22830
23264
  let e = (e) => {
22831
23265
  var t = comment();
@@ -22912,7 +23346,7 @@ function Table(e, t) {
22912
23346
  get(Qn) && e(h);
22913
23347
  });
22914
23348
  var C = sibling(p), k = (e) => {
22915
- var t = root_24$2(), i = child(t), a = (e) => {
23349
+ var t = root_24$1(), i = child(t), a = (e) => {
22916
23350
  var t = root_23$2(), n = child(t, !0);
22917
23351
  reset(t), template_effect(() => set_text(n, mt())), append(e, t);
22918
23352
  };
@@ -24086,9 +24520,9 @@ var TIME_DISPLAY_PATTERN = /^(1[0-2]|0?[1-9]):([0-5][0-9])\s?(AM|PM)$/i, pad = (
24086
24520
  if_block(o, (e) => {
24087
24521
  n() && e(s);
24088
24522
  }), append(e, a);
24089
- }, root$38 = /* @__PURE__ */ from_html("<span class=\"drp-field-error svelte-gpybdi\" role=\"alert\"> </span>"), root_1$36 = /* @__PURE__ */ from_html("<span class=\"drp-trigger-label svelte-gpybdi\"> </span> <span class=\"drp-trigger-icon svelte-gpybdi\" aria-hidden=\"true\"><!></span>", 1), root_2$27 = /* @__PURE__ */ from_html("<div class=\"drp-compare-panel-body svelte-gpybdi\"><!></div>"), root_3$25 = /* @__PURE__ */ from_html("<div class=\"drp-compare-panel svelte-gpybdi\" role=\"dialog\" aria-label=\"Compare period picker\" aria-modal=\"true\" tabindex=\"-1\"><!> <div class=\"drp-footer svelte-gpybdi\"><!> <!></div></div>"), root_4$22 = /* @__PURE__ */ from_html("<div class=\"drp-compare-trigger-wrapper svelte-gpybdi\"><!> <!></div>"), root_5$21 = /* @__PURE__ */ from_html("<span class=\"drp-preset-group-label svelte-gpybdi\"> </span>"), root_6$20 = /* @__PURE__ */ from_html("<div class=\"drp-preset-divider svelte-gpybdi\" role=\"separator\" aria-hidden=\"true\"><!></div>"), root_7$18 = /* @__PURE__ */ from_html("<span class=\"drp-preset-check svelte-gpybdi\" aria-hidden=\"true\"></span>"), root_8$16 = /* @__PURE__ */ from_html("<!> <button type=\"button\" role=\"option\"> <!></button>", 1), root_9$13 = /* @__PURE__ */ from_html("<div class=\"drp-sidebar svelte-gpybdi\" role=\"listbox\" aria-label=\"Date presets\"></div>"), root_10$12 = /* @__PURE__ */ from_html("<div class=\"drp-date-time-group svelte-gpybdi\"><div><input type=\"text\" class=\"drp-date-input-value svelte-gpybdi\" maxlength=\"32\" placeholder=\"Start date\" aria-label=\"Start date\"/></div> <div><span class=\"drp-time-input-icon svelte-gpybdi\" aria-hidden=\"true\"></span> <input type=\"text\" class=\"drp-time-field svelte-gpybdi\" maxlength=\"8\" placeholder=\"12:00 AM\" aria-label=\"Start time\"/></div> <!></div> <!> <span class=\"drp-datetime-arrow svelte-gpybdi\" aria-hidden=\"true\"></span> <div class=\"drp-date-time-group svelte-gpybdi\"><div><input type=\"text\" class=\"drp-date-input-value svelte-gpybdi\" maxlength=\"32\" placeholder=\"End date\" aria-label=\"End date\"/></div> <div><span class=\"drp-time-input-icon svelte-gpybdi\" aria-hidden=\"true\"></span> <input type=\"text\" class=\"drp-time-field svelte-gpybdi\" maxlength=\"8\" placeholder=\"11:59 PM\" aria-label=\"End time\"/></div> <!></div> <!>", 1), root_11$10 = /* @__PURE__ */ from_html("<button type=\"button\" aria-label=\"Toggle time selection\"><span class=\"drp-time-toggle-icon svelte-gpybdi\" aria-hidden=\"true\"></span></button>"), root_12$9 = /* @__PURE__ */ from_html("<div><input type=\"text\" class=\"drp-date-input-value svelte-gpybdi\" maxlength=\"32\" placeholder=\"Start date\" aria-label=\"Start date\"/> <!></div> <span class=\"drp-datetime-arrow svelte-gpybdi\" aria-hidden=\"true\"></span> <div><input type=\"text\" class=\"drp-date-input-value svelte-gpybdi\" maxlength=\"32\" placeholder=\"End date\" aria-label=\"End date\"/> <!></div> <!>", 1), root_13$7 = /* @__PURE__ */ from_html("<div class=\"drp-time-input-row svelte-gpybdi\"><div><span class=\"drp-time-input-icon svelte-gpybdi\" aria-hidden=\"true\"></span> <input type=\"text\" class=\"drp-time-field svelte-gpybdi\" maxlength=\"8\" placeholder=\"12:00 AM\" aria-label=\"Start time\"/> <!></div> <span class=\"drp-datetime-arrow svelte-gpybdi\" aria-hidden=\"true\"></span> <div><span class=\"drp-time-input-icon svelte-gpybdi\" aria-hidden=\"true\"></span> <input type=\"text\" class=\"drp-time-field svelte-gpybdi\" maxlength=\"8\" placeholder=\"11:59 PM\" aria-label=\"End time\"/> <!></div></div>"), root_14$6 = /* @__PURE__ */ from_html("<div><div class=\"drp-date-input-row svelte-gpybdi\"><!></div> <!></div>"), root_15$4 = /* @__PURE__ */ from_html("<!> <!>", 1), root_16$3 = /* @__PURE__ */ from_html("<div class=\"drp-dual-header svelte-gpybdi\"><button type=\"button\" class=\"drp-nav-btn svelte-gpybdi\" aria-label=\"Previous months\"><span class=\"drp-nav-chevron drp-nav-chevron-left svelte-gpybdi\" aria-hidden=\"true\"></span></button> <div class=\"drp-dual-month-labels svelte-gpybdi\"><span class=\"drp-month-label svelte-gpybdi\"> </span> <span class=\"drp-month-label svelte-gpybdi\"> </span></div> <button type=\"button\" class=\"drp-nav-btn svelte-gpybdi\" aria-label=\"Next months\"><span class=\"drp-nav-chevron drp-nav-chevron-right svelte-gpybdi\" aria-hidden=\"true\"></span></button></div> <div class=\"drp-months-row svelte-gpybdi\"><!></div>", 1), root_17$2 = /* @__PURE__ */ from_html("<div class=\"drp-time-row svelte-gpybdi\"><!></div>"), root_18$2 = /* @__PURE__ */ from_html("<div class=\"drp-compare-section svelte-gpybdi\"><!></div>"), root_19$2 = /* @__PURE__ */ from_html("<div role=\"dialog\" aria-label=\"Date range picker\" aria-modal=\"true\" tabindex=\"-1\"><div class=\"drp-panel-inner svelte-gpybdi\"><!> <div class=\"drp-calendars svelte-gpybdi\"><!> <!> <!> <!></div></div> <div class=\"drp-footer svelte-gpybdi\"><!> <!> <!></div></div>"), root_20$2 = /* @__PURE__ */ from_html("<div><div class=\"drp-trigger-wrapper svelte-gpybdi\"><!></div> <!> <!></div>"), $$css$79 = {
24523
+ }, root$38 = /* @__PURE__ */ from_html("<span class=\"drp-field-error svelte-gpybdi\" role=\"alert\"> </span>"), root_1$36 = /* @__PURE__ */ from_html("<span class=\"drp-trigger-label svelte-gpybdi\"> </span> <span class=\"drp-trigger-icon svelte-gpybdi\" aria-hidden=\"true\"><!></span>", 1), root_2$27 = /* @__PURE__ */ from_html("<div class=\"drp-compare-panel-body svelte-gpybdi\"><!></div>"), root_3$25 = /* @__PURE__ */ from_html("<div class=\"drp-compare-panel svelte-gpybdi\" role=\"dialog\" aria-label=\"Compare period picker\" aria-modal=\"true\" tabindex=\"-1\"><!> <div class=\"drp-footer svelte-gpybdi\"><!> <!></div></div>"), root_4$22 = /* @__PURE__ */ from_html("<div class=\"drp-compare-trigger-wrapper svelte-gpybdi\"><!> <!></div>"), root_5$21 = /* @__PURE__ */ from_html("<span class=\"drp-preset-group-label svelte-gpybdi\"> </span>"), root_6$20 = /* @__PURE__ */ from_html("<div class=\"drp-preset-divider svelte-gpybdi\" role=\"separator\" aria-hidden=\"true\"><!></div>"), root_7$18 = /* @__PURE__ */ from_html("<span class=\"drp-preset-check svelte-gpybdi\" aria-hidden=\"true\"></span>"), root_8$16 = /* @__PURE__ */ from_html("<!> <button type=\"button\" role=\"option\"> <!></button>", 1), root_9$13 = /* @__PURE__ */ from_html("<div class=\"drp-sidebar svelte-gpybdi\" role=\"listbox\" aria-label=\"Date presets\"></div>"), root_10$12 = /* @__PURE__ */ from_html("<div class=\"drp-date-time-group svelte-gpybdi\"><div><input type=\"text\" class=\"drp-date-input-value svelte-gpybdi\" maxlength=\"32\" placeholder=\"Start date\" aria-label=\"Start date\"/></div> <div><span class=\"drp-time-input-icon svelte-gpybdi\" aria-hidden=\"true\"></span> <input type=\"text\" class=\"drp-time-field svelte-gpybdi\" maxlength=\"8\" placeholder=\"12:00 AM\" aria-label=\"Start time\"/></div> <!></div> <!> <span class=\"drp-datetime-arrow svelte-gpybdi\" aria-hidden=\"true\"></span> <div class=\"drp-date-time-group svelte-gpybdi\"><div><input type=\"text\" class=\"drp-date-input-value svelte-gpybdi\" maxlength=\"32\" placeholder=\"End date\" aria-label=\"End date\"/></div> <div><span class=\"drp-time-input-icon svelte-gpybdi\" aria-hidden=\"true\"></span> <input type=\"text\" class=\"drp-time-field svelte-gpybdi\" maxlength=\"8\" placeholder=\"11:59 PM\" aria-label=\"End time\"/></div> <!></div> <!>", 1), root_11$10 = /* @__PURE__ */ from_html("<button type=\"button\" aria-label=\"Toggle time selection\"><span class=\"drp-time-toggle-icon svelte-gpybdi\" aria-hidden=\"true\"></span></button>"), root_12$9 = /* @__PURE__ */ from_html("<div><input type=\"text\" class=\"drp-date-input-value svelte-gpybdi\" maxlength=\"32\" placeholder=\"Start date\" aria-label=\"Start date\"/> <!></div> <span class=\"drp-datetime-arrow svelte-gpybdi\" aria-hidden=\"true\"></span> <div><input type=\"text\" class=\"drp-date-input-value svelte-gpybdi\" maxlength=\"32\" placeholder=\"End date\" aria-label=\"End date\"/> <!></div> <!>", 1), root_13$7 = /* @__PURE__ */ from_html("<div class=\"drp-time-input-row svelte-gpybdi\"><div><span class=\"drp-time-input-icon svelte-gpybdi\" aria-hidden=\"true\"></span> <input type=\"text\" class=\"drp-time-field svelte-gpybdi\" maxlength=\"8\" placeholder=\"12:00 AM\" aria-label=\"Start time\"/> <!></div> <span class=\"drp-datetime-arrow svelte-gpybdi\" aria-hidden=\"true\"></span> <div><span class=\"drp-time-input-icon svelte-gpybdi\" aria-hidden=\"true\"></span> <input type=\"text\" class=\"drp-time-field svelte-gpybdi\" maxlength=\"8\" placeholder=\"11:59 PM\" aria-label=\"End time\"/> <!></div></div>"), root_14$6 = /* @__PURE__ */ from_html("<div><div class=\"drp-date-input-row svelte-gpybdi\"><!></div> <!></div>"), root_15$4 = /* @__PURE__ */ from_html("<!> <!>", 1), root_16$3 = /* @__PURE__ */ from_html("<div class=\"drp-dual-header svelte-gpybdi\"><button type=\"button\" class=\"drp-nav-btn svelte-gpybdi\" aria-label=\"Previous months\"><span class=\"drp-nav-chevron drp-nav-chevron-left svelte-gpybdi\" aria-hidden=\"true\"></span></button> <div class=\"drp-dual-month-labels svelte-gpybdi\"><span class=\"drp-month-label svelte-gpybdi\"> </span> <span class=\"drp-month-label svelte-gpybdi\"> </span></div> <button type=\"button\" class=\"drp-nav-btn svelte-gpybdi\" aria-label=\"Next months\"><span class=\"drp-nav-chevron drp-nav-chevron-right svelte-gpybdi\" aria-hidden=\"true\"></span></button></div> <div class=\"drp-months-row svelte-gpybdi\"><!></div>", 1), root_17$3 = /* @__PURE__ */ from_html("<div class=\"drp-time-row svelte-gpybdi\"><!></div>"), root_18$2 = /* @__PURE__ */ from_html("<div class=\"drp-compare-section svelte-gpybdi\"><!></div>"), root_19$2 = /* @__PURE__ */ from_html("<div role=\"dialog\" aria-label=\"Date range picker\" aria-modal=\"true\" tabindex=\"-1\"><div class=\"drp-panel-inner svelte-gpybdi\"><!> <div class=\"drp-calendars svelte-gpybdi\"><!> <!> <!> <!></div></div> <div class=\"drp-footer svelte-gpybdi\"><!> <!> <!></div></div>"), root_20$2 = /* @__PURE__ */ from_html("<div><div class=\"drp-trigger-wrapper svelte-gpybdi\"><!></div> <!> <!></div>"), $$css$79 = {
24090
24524
  hash: "svelte-gpybdi",
24091
- code: ".drp-field-error.svelte-gpybdi {display:block;color:var(--drp-field-error-color, #b3261e);font-size:var(--drp-field-error-font-size, 11px);line-height:var(--drp-field-error-line-height, 1.4);margin-top:var(--drp-field-error-margin-top, 2px);}.drp-root.svelte-gpybdi {position:relative;display:inline-block;}\n\n /* ── Trigger wrapper ── */.drp-trigger-wrapper.svelte-gpybdi {display:inline-block;}\n\n /* Bridge drp-trigger CSS vars to Button CSS vars on the wrapper */.drp-trigger-wrapper.svelte-gpybdi {--button-color: var(--drp-trigger-background, inherit);--button-border: var(--drp-trigger-border, 1px solid currentColor);--button-border-radius: var(--drp-trigger-border-radius, var(--radius, 4px));--button-text-color: var(--drp-trigger-color, inherit);--button-padding: var(--drp-trigger-padding, 8px 12px);--button-min-width: var(--drp-trigger-min-width, 200px);--button-gap: var(--drp-trigger-gap, 8px);--button-hover-border: var(\n --drp-trigger-hover-border,\n var(--drp-trigger-border, 1px solid currentColor)\n );}.drp-trigger-wrapper .drp-trigger {display:inline-flex;align-items:center;gap:var(--drp-trigger-gap, 8px);white-space:nowrap;min-width:var(--drp-trigger-min-width, 200px);}.drp-trigger-wrapper .drp-trigger-open {border-color:var(--drp-trigger-open-border-color, #000000);box-shadow:var(--drp-trigger-open-shadow, 0 0 0 2px rgba(0, 0, 0, 0.1));}.drp-trigger-label.svelte-gpybdi {flex:1;text-align:left;}.drp-trigger-icon.svelte-gpybdi {display:inline-flex;align-items:center;color:var(--drp-trigger-icon-color, inherit);flex-shrink:0;}\n\n /* ── Panel ── */.drp-panel.svelte-gpybdi {position:absolute;top:calc(100% + var(--drp-panel-offset, 6px));z-index:var(--drp-panel-z-index, 1000);background:var(--drp-panel-background, #ffffff);border:var(--drp-panel-border, 1px solid #e0e0e0);border-radius:var(--drp-panel-border-radius, var(--radius, 4px));box-shadow:var(--drp-panel-shadow, 0 8px 24px rgba(0, 0, 0, 0.12));display:flex;flex-direction:column;min-width:var(--drp-panel-min-width, 320px);max-width:var(--drp-panel-max-width, 760px);max-height:var(--drp-panel-max-height, calc(100dvh - 80px));overflow:hidden;}\n\n /* Set only when the panel would not fit below the trigger — see positionPanel(). */.drp-panel-above.svelte-gpybdi {top:auto;bottom:calc(100% + var(--drp-panel-offset, 6px));}.drp-panel-align-left.svelte-gpybdi {left:0;right:auto;}.drp-panel-align-right.svelte-gpybdi {right:0;left:auto;}.drp-panel-inner.svelte-gpybdi {display:flex;flex-direction:row;flex:1;min-height:0;overflow-y:auto;}\n\n /* ── Sidebar ── */.drp-sidebar.svelte-gpybdi {display:flex;flex-direction:column;padding:var(--drp-sidebar-padding, 12px 8px);border-right:var(--drp-sidebar-border, 1px solid #e8e8e8);min-width:var(--drp-sidebar-min-width, 140px);gap:2px;overflow-y:auto;max-height:var(--drp-sidebar-max-height, 400px);}.drp-preset-item.svelte-gpybdi {display:block;width:100%;text-align:left;padding:var(--drp-preset-padding, 7px 12px);background:none;border:none;border-radius:var(--drp-preset-border-radius, var(--radius, 4px));color:var(--drp-preset-color, inherit);cursor:pointer;white-space:nowrap;transition:background var(--drp-preset-item-transition-duration, var(--motion-duration, 0.12s))\n var(--drp-preset-item-transition-easing, var(--motion-easing, ease));}.drp-preset-item.svelte-gpybdi:hover {background:var(--drp-preset-hover-background, #f5f5f5);}.drp-preset-active.svelte-gpybdi {background:var(--drp-preset-active-background, currentColor);color:var(--drp-preset-active-color, #ffffff);}.drp-preset-active.svelte-gpybdi:hover {background:var(--drp-preset-active-hover-background, #333333);}\n\n /* Opt-in checkmark layout: reserve a trailing slot so the active preset's tick\n sits flush-right while the label stays left. A preset with no tick (or a\n label-only preset) keeps its single flex child at the start, unchanged. */.drp-preset-checkable.svelte-gpybdi {display:flex;align-items:center;justify-content:space-between;gap:var(--drp-preset-check-gap, 8px);}.drp-preset-check.svelte-gpybdi {display:inline-flex;flex-shrink:0;width:var(--drp-preset-check-size, 16px);height:var(--drp-preset-check-size, 16px);color:var(--drp-preset-check-color, inherit);}.drp-preset-check.svelte-gpybdi svg {width:100%;height:100%;}\n\n /* ── Calendar area ── */.drp-calendars.svelte-gpybdi {display:flex;flex-direction:column;padding:var(--drp-calendars-padding, 16px);gap:var(--drp-calendars-gap, 16px);flex:1;}\n\n /* Dual-month shared nav header */.drp-dual-header.svelte-gpybdi {display:flex;align-items:center;justify-content:space-between;gap:8px;}.drp-dual-month-labels.svelte-gpybdi {display:flex;flex:1;justify-content:space-around;}.drp-month-label.svelte-gpybdi {color:var(--drp-month-label-color, inherit);text-transform:capitalize;}.drp-nav-btn.svelte-gpybdi {display:inline-flex;align-items:center;justify-content:center;width:var(--drp-nav-btn-size, 32px);height:var(--drp-nav-btn-size, 32px);background:none;border:none;border-radius:var(--drp-nav-btn-border-radius, var(--radius, 4px));cursor:pointer;color:var(--drp-nav-btn-color, inherit);transition:background var(--drp-nav-btn-transition-duration, var(--motion-duration, 0.12s))\n var(--drp-nav-btn-transition-easing, var(--motion-easing, ease));padding:0;}.drp-nav-btn.svelte-gpybdi:hover {background:var(--drp-nav-btn-hover-background, #f0f0f0);}\n\n /* CSS-only chevrons for the dual-nav */.drp-nav-chevron.svelte-gpybdi {display:inline-block;width:8px;height:8px;border-right:var(--drp-nav-chevron-border, 2px solid currentColor);border-top:var(--drp-nav-chevron-border, 2px solid currentColor);}.drp-nav-chevron-left.svelte-gpybdi {transform:rotate(-135deg);margin-left:2px;}.drp-nav-chevron-right.svelte-gpybdi {transform:rotate(45deg);margin-right:2px;}.drp-months-row.svelte-gpybdi {display:flex;gap:var(--drp-months-gap, 24px);}\n\n /* Embedded calendar: strip outer chrome so only the grid shows */.drp-calendar-embedded {--calendar-border: none;--calendar-box-shadow: none;--calendar-background: transparent;--calendar-padding: 0;}\n\n /* Suppress Calendar's own header in dual-month mode; single mode keeps it for navigation */.drp-months-row .drp-calendar-embedded {--calendar-header-display: none;}\n\n /* ── Time picker slot ── */.drp-time-row.svelte-gpybdi {display:flex;align-items:center;gap:var(--drp-time-row-gap, 16px);padding-top:var(--drp-time-row-padding-top, 8px);border-top:var(--drp-time-divider, 1px solid #e8e8e8);flex-wrap:wrap;}\n\n /* ── Built-in date + time inputs (showDateInputs / showTimeSelection) ── */.drp-datetime-header.svelte-gpybdi {display:flex;flex-direction:column;gap:var(--drp-datetime-gap, 8px);padding-bottom:var(--drp-datetime-padding-bottom, 12px);margin-bottom:var(--drp-datetime-margin-bottom, 4px);border-bottom:var(--drp-datetime-divider, 1px solid #e8e8e8);}.drp-date-input-row.svelte-gpybdi,\n .drp-time-input-row.svelte-gpybdi {display:flex;align-items:center;gap:var(--drp-datetime-row-gap, 12px);}.drp-date-input.svelte-gpybdi {flex:1;min-width:0;padding:var(--drp-date-input-padding, 10px 14px);border:var(--drp-date-input-border, 1px solid #d4d4d4);border-radius:var(--drp-date-input-radius, var(--radius, 4px));background:var(--drp-date-input-background, #ffffff);}.drp-date-input-invalid.svelte-gpybdi {border-color:var(--drp-date-input-invalid-border, #e5484d);}.drp-date-input-value.svelte-gpybdi {display:block;width:100%;min-width:0;padding:0;border:none;outline:none;background:transparent;color:var(--drp-date-input-color, #333333);font-size:var(--drp-date-input-font-size, 13px);font-family:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.drp-date-input-value.svelte-gpybdi::placeholder {color:var(--drp-date-input-placeholder-color, #aaaaaa);}.drp-datetime-arrow.svelte-gpybdi {flex-shrink:0;display:inline-flex;width:var(--drp-datetime-arrow-size, 16px);height:var(--drp-datetime-arrow-size, 16px);color:var(--drp-datetime-arrow-color, #888888);}.drp-datetime-arrow.svelte-gpybdi svg {width:100%;height:100%;}.drp-time-toggle.svelte-gpybdi {flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--drp-time-toggle-size, 40px);height:var(--drp-time-toggle-size, 40px);padding:0;border:var(--drp-time-toggle-border, 1px solid #d4d4d4);border-radius:var(--drp-time-toggle-radius, var(--radius, 4px));background:var(--drp-time-toggle-background, #f6f7f9);color:var(--drp-time-toggle-color, #555555);cursor:pointer;}.drp-time-toggle-active.svelte-gpybdi {border-color:var(--drp-time-toggle-active-border, currentColor);color:var(--drp-time-toggle-active-color, #1b85ff);}.drp-time-toggle-icon.svelte-gpybdi {display:inline-flex;width:var(--drp-time-toggle-icon-size, 16px);height:var(--drp-time-toggle-icon-size, 16px);}.drp-time-toggle-icon.svelte-gpybdi svg {width:100%;height:100%;}.drp-time-input.svelte-gpybdi {position:relative;flex:1;min-width:0;display:flex;align-items:center;border:var(--drp-time-input-border, 1px solid #d4d4d4);border-radius:var(--drp-time-input-radius, var(--radius, 4px));background:var(--drp-time-input-background, #ffffff);}.drp-time-input-invalid.svelte-gpybdi {border-color:var(--drp-time-input-invalid-border, #e5484d);}.drp-time-input-icon.svelte-gpybdi {display:inline-flex;flex-shrink:0;width:var(--drp-time-input-icon-size, 16px);height:var(--drp-time-input-icon-size, 16px);margin-left:var(--drp-time-input-icon-gap, 12px);color:var(--drp-time-input-icon-color, #888888);pointer-events:none;}.drp-time-input-icon.svelte-gpybdi svg {width:100%;height:100%;}.drp-time-field.svelte-gpybdi {flex:1;min-width:0;width:100%;padding:var(--drp-time-field-padding, 10px 14px 10px 8px);border:none;outline:none;background:transparent;color:var(--drp-time-field-color, #333333);font-size:var(--drp-time-field-font-size, 13px);font-family:inherit;}.drp-time-field.svelte-gpybdi::placeholder {color:var(--drp-time-field-placeholder-color, #aaaaaa);}\n\n /* ── Inline time layout (timeSelectionLayout=\"inline\") ── */\n /* Each date input is paired with its time input on the same row: the date box\n flexes to fill, the time input takes a fixed compact width beside it. */.drp-date-time-group.svelte-gpybdi {display:flex;align-items:center;flex:1;min-width:0;gap:var(--drp-datetime-inline-gap, 8px);}.drp-date-time-group.svelte-gpybdi .drp-date-input:where(.svelte-gpybdi) {flex:1;}.drp-time-input.drp-time-input-inline.svelte-gpybdi {flex:0 0 var(--drp-time-inline-width, 116px);}\n\n /* ── Compare calendar slot ── */.drp-compare-section.svelte-gpybdi {display:flex;flex-direction:column;gap:8px;padding-top:var(--drp-compare-padding-top, 12px);border-top:var(--drp-compare-divider, 1px solid #e8e8e8);}\n\n /* ── Footer ── */.drp-footer.svelte-gpybdi {display:flex;justify-content:flex-end;align-items:center;gap:var(--drp-footer-gap, 8px);padding:var(--drp-footer-padding, 12px 16px);border-top:var(--drp-footer-border, 1px solid #e8e8e8);}\n\n /* ── Preset group dividers ── */.drp-preset-divider.svelte-gpybdi {display:flex;align-items:center;gap:var(--drp-preset-divider-gap, 6px);margin:var(--drp-preset-divider-margin, 4px 0);padding:0 var(--drp-preset-padding-left, 12px);}.drp-preset-divider.svelte-gpybdi::before {content:'';flex:1;height:0;border-top:var(--drp-preset-divider-border, 1px solid #e8e8e8);}.drp-preset-group-label.svelte-gpybdi {color:var(--drp-preset-group-label-color, #999999);white-space:nowrap;flex-shrink:0;}.drp-preset-divider.svelte-gpybdi:has(.drp-preset-group-label:where(.svelte-gpybdi)) {padding-right:var(--drp-preset-padding-right, 12px);}.drp-preset-divider.svelte-gpybdi:has(.drp-preset-group-label:where(.svelte-gpybdi))::before {flex:none;width:var(--drp-preset-divider-leader-width, 8px);}.drp-preset-divider.svelte-gpybdi:has(.drp-preset-group-label:where(.svelte-gpybdi))::after {content:'';flex:1;height:0;border-top:var(--drp-preset-divider-border, 1px solid #e8e8e8);}\n\n /* Cancel button variant via Button's CSS vars */.drp-btn-cancel {--button-color: transparent;--button-border: 1px solid var(--drp-cancel-border-color, #d0d0d0);--button-text-color: var(--drp-cancel-color, inherit);--button-hover-color: var(--drp-cancel-hover-background, #f5f5f5);}\n\n /* Clear button variant (single-mode reset) */.drp-btn-clear {--button-color: transparent;--button-border: 1px solid var(--drp-clear-border-color, #d0d0d0);--button-text-color: var(--drp-clear-color, inherit);--button-hover-color: var(--drp-clear-hover-background, #f5f5f5);margin-right:auto;}\n\n /* Apply button variant */.drp-btn-apply {--button-color: var(--drp-apply-background, currentColor);--button-border: none;--button-text-color: var(--drp-apply-color, #ffffff);--button-hover-color: var(--drp-apply-hover-background, #333333);--disabled-background-color: var(--drp-apply-disabled-background, #cccccc);--disabled-text-color: var(--drp-apply-disabled-color, #888888);}\n\n /* ── Compare standalone trigger ── */.drp-compare-trigger-wrapper.svelte-gpybdi {display:inline-block;position:relative;--button-color: var(--drp-compare-trigger-background, inherit);--button-border: var(--drp-compare-trigger-border, 1px solid currentColor);--button-border-radius: var(--drp-compare-trigger-border-radius, var(--radius, 4px));--button-text-color: var(--drp-compare-trigger-color, inherit);--button-padding: var(--drp-compare-trigger-padding, 8px 12px);--button-min-width: var(--drp-compare-trigger-min-width, 160px);}.drp-compare-trigger-open {border-color:var(--drp-trigger-open-border-color, #000000);box-shadow:var(--drp-trigger-open-shadow, 0 0 0 2px rgba(0, 0, 0, 0.1));}\n\n /* ── Compare standalone panel ── */.drp-compare-panel.svelte-gpybdi {position:absolute;top:calc(100% + var(--drp-panel-offset, 6px));left:var(--drp-compare-panel-left, 0);z-index:var(--drp-panel-z-index, 1000);background:var(--drp-panel-background, #ffffff);border:var(--drp-panel-border, 1px solid #e0e0e0);border-radius:var(--drp-panel-border-radius, var(--radius, 4px));box-shadow:var(--drp-panel-shadow, 0 8px 24px rgba(0, 0, 0, 0.12));display:flex;flex-direction:column;min-width:var(--drp-compare-panel-min-width, 280px);overflow:hidden;}.drp-compare-panel-body.svelte-gpybdi {padding:var(--drp-calendars-padding, 16px);}"
24525
+ code: ".drp-field-error.svelte-gpybdi {display:block;color:var(--drp-field-error-color, #b3261e);font-size:var(--drp-field-error-font-size, 11px);line-height:var(--drp-field-error-line-height, 1.4);margin-top:var(--drp-field-error-margin-top, 2px);}.drp-root.svelte-gpybdi {position:relative;display:inline-block;}\n\n /* ── Trigger wrapper ── */.drp-trigger-wrapper.svelte-gpybdi {display:inline-block;}\n\n /* Bridge drp-trigger CSS vars to Button CSS vars on the wrapper */.drp-trigger-wrapper.svelte-gpybdi {--button-color: var(--drp-trigger-background, inherit);--button-border: var(--drp-trigger-border, 1px solid currentColor);--button-border-radius: var(--drp-trigger-border-radius, var(--radius, 4px));--button-text-color: var(--drp-trigger-color, inherit);--button-padding: var(--drp-trigger-padding, 8px 12px);--button-min-width: var(--drp-trigger-min-width, 200px);--button-gap: var(--drp-trigger-gap, 8px);--button-hover-border: var(\n --drp-trigger-hover-border,\n var(--drp-trigger-border, 1px solid currentColor)\n );}.drp-trigger-wrapper .drp-trigger {display:inline-flex;align-items:center;gap:var(--drp-trigger-gap, 8px);white-space:nowrap;min-width:var(--drp-trigger-min-width, 200px);}.drp-trigger-wrapper .drp-trigger-open {border-color:var(--drp-trigger-open-border-color, #000000);box-shadow:var(--drp-trigger-open-shadow, 0 0 0 2px rgba(0, 0, 0, 0.1));}.drp-trigger-label.svelte-gpybdi {flex:1;text-align:left;}.drp-trigger-icon.svelte-gpybdi {display:inline-flex;align-items:center;color:var(--drp-trigger-icon-color, inherit);flex-shrink:0;}\n\n /* ── Panel ── */.drp-panel.svelte-gpybdi {position:absolute;top:calc(100% + var(--drp-panel-offset, 6px));z-index:var(--drp-panel-z-index, 1000);background:var(--drp-panel-background, #ffffff);border:var(--drp-panel-border, 1px solid #e0e0e0);border-radius:var(--drp-panel-border-radius, var(--radius, 4px));box-shadow:var(--drp-panel-shadow, 0 8px 24px rgba(0, 0, 0, 0.12));display:flex;flex-direction:column;min-width:var(--drp-panel-min-width, 320px);max-width:var(--drp-panel-max-width, 760px);max-height:var(--drp-panel-max-height, calc(100dvh - 80px));overflow:hidden;}\n\n /* Set only when the panel would not fit below the trigger — see positionPanel(). */.drp-panel-above.svelte-gpybdi {top:auto;bottom:calc(100% + var(--drp-panel-offset, 6px));}.drp-panel-align-left.svelte-gpybdi {left:0;right:auto;}.drp-panel-align-right.svelte-gpybdi {right:0;left:auto;}.drp-panel-inner.svelte-gpybdi {display:flex;flex-direction:row;flex:1;min-height:0;overflow-y:auto;}\n\n /* ── Sidebar ── */.drp-sidebar.svelte-gpybdi {display:flex;flex-direction:column;padding:var(--drp-sidebar-padding, 12px 8px);border-right:var(--drp-sidebar-border, 1px solid #e8e8e8);min-width:var(--drp-sidebar-min-width, 140px);gap:2px;overflow-y:auto;max-height:var(--drp-sidebar-max-height, 400px);}.drp-preset-item.svelte-gpybdi {display:block;width:100%;text-align:left;padding:var(--drp-preset-padding, 7px 12px);background:none;border:none;border-radius:var(--drp-preset-border-radius, var(--radius, 4px));color:var(--drp-preset-color, inherit);cursor:pointer;white-space:nowrap;transition:background var(--drp-preset-item-transition-duration, var(--motion-duration, 0.12s))\n var(--drp-preset-item-transition-easing, var(--motion-easing, ease));}.drp-preset-item.svelte-gpybdi:hover {background:var(--drp-preset-hover-background, #f5f5f5);}.drp-preset-active.svelte-gpybdi {background:var(--drp-preset-active-background, currentColor);color:var(--drp-preset-active-color, #ffffff);}.drp-preset-active.svelte-gpybdi:hover {background:var(--drp-preset-active-hover-background, #333333);}\n\n /* Opt-in checkmark layout: reserve a trailing slot so the active preset's tick\n sits flush-right while the label stays left. A preset with no tick (or a\n label-only preset) keeps its single flex child at the start, unchanged. */.drp-preset-checkable.svelte-gpybdi {display:flex;align-items:center;justify-content:space-between;gap:var(--drp-preset-check-gap, 8px);}.drp-preset-check.svelte-gpybdi {display:inline-flex;flex-shrink:0;width:var(--drp-preset-check-size, 16px);height:var(--drp-preset-check-size, 16px);color:var(--drp-preset-check-color, inherit);}.drp-preset-check.svelte-gpybdi svg {width:100%;height:100%;}\n\n /* ── Calendar area ── */.drp-calendars.svelte-gpybdi {display:flex;flex-direction:column;padding:var(--drp-calendars-padding, 16px);gap:var(--drp-calendars-gap, 16px);flex:1;}\n\n /* Dual-month shared nav header */.drp-dual-header.svelte-gpybdi {display:flex;align-items:center;justify-content:space-between;gap:8px;}.drp-dual-month-labels.svelte-gpybdi {display:flex;flex:1;justify-content:space-around;}.drp-month-label.svelte-gpybdi {color:var(--drp-month-label-color, inherit);text-transform:capitalize;}.drp-nav-btn.svelte-gpybdi {display:inline-flex;align-items:center;justify-content:center;width:var(--drp-nav-btn-size, 32px);height:var(--drp-nav-btn-size, 32px);background:none;border:none;border-radius:var(--drp-nav-btn-border-radius, var(--radius, 4px));cursor:pointer;color:var(--drp-nav-btn-color, inherit);transition:background var(--drp-nav-btn-transition-duration, var(--motion-duration, 0.12s))\n var(--drp-nav-btn-transition-easing, var(--motion-easing, ease));padding:0;}.drp-nav-btn.svelte-gpybdi:hover {background:var(--drp-nav-btn-hover-background, #f0f0f0);}\n\n /* CSS-only chevrons for the dual-nav */.drp-nav-chevron.svelte-gpybdi {display:inline-block;width:8px;height:8px;border-right:var(--drp-nav-chevron-border, 2px solid currentColor);border-top:var(--drp-nav-chevron-border, 2px solid currentColor);}.drp-nav-chevron-left.svelte-gpybdi {transform:rotate(-135deg);margin-left:2px;}.drp-nav-chevron-right.svelte-gpybdi {transform:rotate(45deg);margin-right:2px;}.drp-months-row.svelte-gpybdi {display:flex;gap:var(--drp-months-gap, 24px);}\n\n /* Embedded calendar: strip outer chrome so only the grid shows */.drp-calendar-embedded {--calendar-border: none;--calendar-box-shadow: none;--calendar-background: transparent;--calendar-padding: 0;}\n\n /* Suppress Calendar's own header in dual-month mode; single mode keeps it for navigation */.drp-months-row .drp-calendar-embedded {--calendar-header-display: none;}\n\n /* ── Time picker slot ── */.drp-time-row.svelte-gpybdi {display:flex;align-items:center;gap:var(--drp-time-row-gap, 16px);padding-top:var(--drp-time-row-padding-top, 8px);border-top:var(--drp-time-divider, 1px solid #e8e8e8);flex-wrap:wrap;}\n\n /* ── Built-in date + time inputs (showDateInputs / showTimeSelection) ── */.drp-datetime-header.svelte-gpybdi {display:flex;flex-direction:column;gap:var(--drp-datetime-gap, 8px);padding-bottom:var(--drp-datetime-padding-bottom, 12px);margin-bottom:var(--drp-datetime-margin-bottom, 4px);border-bottom:var(--drp-datetime-divider, 1px solid #e8e8e8);}.drp-date-input-row.svelte-gpybdi,\n .drp-time-input-row.svelte-gpybdi {display:flex;align-items:center;gap:var(--drp-datetime-row-gap, 12px);}.drp-date-input.svelte-gpybdi {flex:1;min-width:0;padding:var(--drp-date-input-padding, 10px 14px);border:var(--drp-date-input-border, 1px solid #d4d4d4);border-radius:var(--drp-date-input-radius, var(--radius, 4px));background:var(--drp-date-input-background, #ffffff);}.drp-date-input-invalid.svelte-gpybdi {border-color:var(--drp-date-input-invalid-border, #e5484d);}\n\n /* .drp-date-input-value below sets outline: none with nothing standing in\n for it, so the visible replacement lives on the bordered wrapper instead\n -- :focus-within lights up whenever the text input inside is focused.\n class:drp-date-input-invalid sits alongside .drp-date-input on the same\n div (see markup), and :focus-within's extra pseudo-class outweighs that\n single class, so a focused invalid field shows the focus border, not the\n invalid one -- focus location is the more time-sensitive signal. */.drp-date-input.svelte-gpybdi:focus-within {border-color:var(--drp-date-input-focus-border, #2563eb);box-shadow:var(--drp-date-input-focus-shadow, 0 0 0 2px rgba(37, 99, 235, 0.2));}.drp-date-input-value.svelte-gpybdi {display:block;width:100%;min-width:0;padding:0;border:none;outline:none;background:transparent;color:var(--drp-date-input-color, #333333);font-size:var(--drp-date-input-font-size, 13px);font-family:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.drp-date-input-value.svelte-gpybdi::placeholder {color:var(--drp-date-input-placeholder-color, #aaaaaa);}.drp-datetime-arrow.svelte-gpybdi {flex-shrink:0;display:inline-flex;width:var(--drp-datetime-arrow-size, 16px);height:var(--drp-datetime-arrow-size, 16px);color:var(--drp-datetime-arrow-color, #888888);}.drp-datetime-arrow.svelte-gpybdi svg {width:100%;height:100%;}.drp-time-toggle.svelte-gpybdi {flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--drp-time-toggle-size, 40px);height:var(--drp-time-toggle-size, 40px);padding:0;border:var(--drp-time-toggle-border, 1px solid #d4d4d4);border-radius:var(--drp-time-toggle-radius, var(--radius, 4px));background:var(--drp-time-toggle-background, #f6f7f9);color:var(--drp-time-toggle-color, #555555);cursor:pointer;}.drp-time-toggle-active.svelte-gpybdi {border-color:var(--drp-time-toggle-active-border, currentColor);color:var(--drp-time-toggle-active-color, #1b85ff);}.drp-time-toggle-icon.svelte-gpybdi {display:inline-flex;width:var(--drp-time-toggle-icon-size, 16px);height:var(--drp-time-toggle-icon-size, 16px);}.drp-time-toggle-icon.svelte-gpybdi svg {width:100%;height:100%;}.drp-time-input.svelte-gpybdi {position:relative;flex:1;min-width:0;display:flex;align-items:center;border:var(--drp-time-input-border, 1px solid #d4d4d4);border-radius:var(--drp-time-input-radius, var(--radius, 4px));background:var(--drp-time-input-background, #ffffff);}.drp-time-input-invalid.svelte-gpybdi {border-color:var(--drp-time-input-invalid-border, #e5484d);}\n\n /* .drp-time-field below sets outline: none with nothing standing in for it;\n same fix as .drp-date-input:focus-within above, same specificity\n reasoning against .drp-time-input-invalid. */.drp-time-input.svelte-gpybdi:focus-within {border-color:var(--drp-time-input-focus-border, #2563eb);box-shadow:var(--drp-time-input-focus-shadow, 0 0 0 2px rgba(37, 99, 235, 0.2));}.drp-time-input-icon.svelte-gpybdi {display:inline-flex;flex-shrink:0;width:var(--drp-time-input-icon-size, 16px);height:var(--drp-time-input-icon-size, 16px);margin-left:var(--drp-time-input-icon-gap, 12px);color:var(--drp-time-input-icon-color, #888888);pointer-events:none;}.drp-time-input-icon.svelte-gpybdi svg {width:100%;height:100%;}.drp-time-field.svelte-gpybdi {flex:1;min-width:0;width:100%;padding:var(--drp-time-field-padding, 10px 14px 10px 8px);border:none;outline:none;background:transparent;color:var(--drp-time-field-color, #333333);font-size:var(--drp-time-field-font-size, 13px);font-family:inherit;}.drp-time-field.svelte-gpybdi::placeholder {color:var(--drp-time-field-placeholder-color, #aaaaaa);}\n\n /* ── Inline time layout (timeSelectionLayout=\"inline\") ── */\n /* Each date input is paired with its time input on the same row: the date box\n flexes to fill, the time input takes a fixed compact width beside it. */.drp-date-time-group.svelte-gpybdi {display:flex;align-items:center;flex:1;min-width:0;gap:var(--drp-datetime-inline-gap, 8px);}.drp-date-time-group.svelte-gpybdi .drp-date-input:where(.svelte-gpybdi) {flex:1;}.drp-time-input.drp-time-input-inline.svelte-gpybdi {flex:0 0 var(--drp-time-inline-width, 116px);}\n\n /* ── Compare calendar slot ── */.drp-compare-section.svelte-gpybdi {display:flex;flex-direction:column;gap:8px;padding-top:var(--drp-compare-padding-top, 12px);border-top:var(--drp-compare-divider, 1px solid #e8e8e8);}\n\n /* ── Footer ── */.drp-footer.svelte-gpybdi {display:flex;justify-content:flex-end;align-items:center;gap:var(--drp-footer-gap, 8px);padding:var(--drp-footer-padding, 12px 16px);border-top:var(--drp-footer-border, 1px solid #e8e8e8);}\n\n /* ── Preset group dividers ── */.drp-preset-divider.svelte-gpybdi {display:flex;align-items:center;gap:var(--drp-preset-divider-gap, 6px);margin:var(--drp-preset-divider-margin, 4px 0);padding:0 var(--drp-preset-padding-left, 12px);}.drp-preset-divider.svelte-gpybdi::before {content:'';flex:1;height:0;border-top:var(--drp-preset-divider-border, 1px solid #e8e8e8);}.drp-preset-group-label.svelte-gpybdi {color:var(--drp-preset-group-label-color, #999999);white-space:nowrap;flex-shrink:0;}.drp-preset-divider.svelte-gpybdi:has(.drp-preset-group-label:where(.svelte-gpybdi)) {padding-right:var(--drp-preset-padding-right, 12px);}.drp-preset-divider.svelte-gpybdi:has(.drp-preset-group-label:where(.svelte-gpybdi))::before {flex:none;width:var(--drp-preset-divider-leader-width, 8px);}.drp-preset-divider.svelte-gpybdi:has(.drp-preset-group-label:where(.svelte-gpybdi))::after {content:'';flex:1;height:0;border-top:var(--drp-preset-divider-border, 1px solid #e8e8e8);}\n\n /* Cancel button variant via Button's CSS vars */.drp-btn-cancel {--button-color: transparent;--button-border: 1px solid var(--drp-cancel-border-color, #d0d0d0);--button-text-color: var(--drp-cancel-color, inherit);--button-hover-color: var(--drp-cancel-hover-background, #f5f5f5);}\n\n /* Clear button variant (single-mode reset) */.drp-btn-clear {--button-color: transparent;--button-border: 1px solid var(--drp-clear-border-color, #d0d0d0);--button-text-color: var(--drp-clear-color, inherit);--button-hover-color: var(--drp-clear-hover-background, #f5f5f5);margin-right:auto;}\n\n /* Apply button variant */.drp-btn-apply {--button-color: var(--drp-apply-background, currentColor);--button-border: none;--button-text-color: var(--drp-apply-color, #ffffff);--button-hover-color: var(--drp-apply-hover-background, #333333);--disabled-background-color: var(--drp-apply-disabled-background, #cccccc);--disabled-text-color: var(--drp-apply-disabled-color, #888888);}\n\n /* ── Compare standalone trigger ── */.drp-compare-trigger-wrapper.svelte-gpybdi {display:inline-block;position:relative;--button-color: var(--drp-compare-trigger-background, inherit);--button-border: var(--drp-compare-trigger-border, 1px solid currentColor);--button-border-radius: var(--drp-compare-trigger-border-radius, var(--radius, 4px));--button-text-color: var(--drp-compare-trigger-color, inherit);--button-padding: var(--drp-compare-trigger-padding, 8px 12px);--button-min-width: var(--drp-compare-trigger-min-width, 160px);}.drp-compare-trigger-open {border-color:var(--drp-trigger-open-border-color, #000000);box-shadow:var(--drp-trigger-open-shadow, 0 0 0 2px rgba(0, 0, 0, 0.1));}\n\n /* ── Compare standalone panel ── */.drp-compare-panel.svelte-gpybdi {position:absolute;top:calc(100% + var(--drp-panel-offset, 6px));left:var(--drp-compare-panel-left, 0);z-index:var(--drp-panel-z-index, 1000);background:var(--drp-panel-background, #ffffff);border:var(--drp-panel-border, 1px solid #e0e0e0);border-radius:var(--drp-panel-border-radius, var(--radius, 4px));box-shadow:var(--drp-panel-shadow, 0 8px 24px rgba(0, 0, 0, 0.12));display:flex;flex-direction:column;min-width:var(--drp-compare-panel-min-width, 280px);overflow:hidden;}.drp-compare-panel-body.svelte-gpybdi {padding:var(--drp-calendars-padding, 16px);}"
24092
24526
  };
24093
24527
  function DateRangePicker(e, t) {
24094
24528
  let n = props_id();
@@ -24272,7 +24706,7 @@ function DateRangePicker(e, t) {
24272
24706
  if (get(Pt).trim() === "") return !0;
24273
24707
  let e = parseDateDisplay(get(Pt));
24274
24708
  return e !== null && zn("end", e);
24275
- }), Hn = `${n}-start-date-error`, Un = `${n}-start-time-error`, Wn = `${n}-end-date-error`, Gn = `${n}-end-time-error`, Kn = "Enter a date this picker accepts, like 12 Mar 2025.", qn = "Enter a time like 12:00 AM.";
24709
+ }), Hn = "Enter a date this picker accepts, like 12 Mar 2025.", Un = "Enter a time like 12:00 AM.", Wn = /* @__PURE__ */ user_derived(() => describeField(`${n}-start-date`, { error: get(Bn) ? null : Hn })), Gn = /* @__PURE__ */ user_derived(() => describeField(`${n}-start-time`, { error: get(hn) ? null : Un })), Kn = /* @__PURE__ */ user_derived(() => describeField(`${n}-end-date`, { error: get(Vn) ? null : Hn })), qn = /* @__PURE__ */ user_derived(() => describeField(`${n}-end-time`, { error: get(gn) ? null : Un }));
24276
24710
  function Jn(e) {
24277
24711
  let t = e.getFullYear() === get(sn) && e.getMonth() === get(cn);
24278
24712
  if (!get(xt)) return t;
@@ -24708,9 +25142,9 @@ function DateRangePicker(e, t) {
24708
25142
  var u = child(c);
24709
25143
  html(u, () => i, !0), reset(u);
24710
25144
  var f = sibling(u, 2);
24711
- remove_input_defaults(f), reset(c), drpFieldError(sibling(c, 2), () => Hn, () => !get(Bn), () => Kn), reset(n);
25145
+ remove_input_defaults(f), reset(c), drpFieldError(sibling(c, 2), () => get(Wn).errorId, () => get(Wn).showsError, () => Hn), reset(n);
24712
25146
  var p = sibling(n, 2);
24713
- drpFieldError(p, () => Un, () => !get(hn), () => qn);
25147
+ drpFieldError(p, () => get(Gn).errorId, () => get(Gn).showsError, () => Un);
24714
25148
  var h = sibling(p, 2);
24715
25149
  html(h, () => chevron_right_default, !0), reset(h);
24716
25150
  var S = sibling(h, 2), C = child(S);
@@ -24722,20 +25156,20 @@ function DateRangePicker(e, t) {
24722
25156
  var re = child(te);
24723
25157
  html(re, () => i, !0), reset(re);
24724
25158
  var G = sibling(re, 2);
24725
- remove_input_defaults(G), reset(te), drpFieldError(sibling(te, 2), () => Wn, () => !get(Vn), () => Kn), reset(S), drpFieldError(sibling(S, 2), () => Gn, () => !get(gn), () => qn), template_effect(() => {
24726
- o = set_class(a, 1, "drp-date-input svelte-gpybdi", null, o, { "drp-date-input-invalid": !get(Bn) }), set_value(s, get(Nt)), set_attribute(s, "aria-invalid", !get(Bn)), set_attribute(s, "aria-describedby", get(Bn) ? null : Hn), set_attribute(s, "data-pw", ot() ? `${ot()}-start-date` : null), set_attribute(s, "testid", ot() ? `${ot()}-start-date` : null), l = set_class(c, 1, "drp-time-input drp-time-input-inline svelte-gpybdi", null, l, { "drp-time-input-invalid": !get(hn) }), set_attribute(f, "aria-invalid", !get(hn)), set_attribute(f, "aria-describedby", get(hn) ? null : Un), set_attribute(f, "data-pw", ot() ? `${ot()}-start-time` : null), set_attribute(f, "testid", ot() ? `${ot()}-start-time` : null), k = set_class(C, 1, "drp-date-input svelte-gpybdi", null, k, { "drp-date-input-invalid": !get(Vn) }), set_value(R, get(Pt)), set_attribute(R, "aria-invalid", !get(Vn)), set_attribute(R, "aria-describedby", get(Vn) ? null : Wn), set_attribute(R, "data-pw", ot() ? `${ot()}-end-date` : null), set_attribute(R, "testid", ot() ? `${ot()}-end-date` : null), ne = set_class(te, 1, "drp-time-input drp-time-input-inline svelte-gpybdi", null, ne, { "drp-time-input-invalid": !get(gn) }), set_attribute(G, "aria-invalid", !get(gn)), set_attribute(G, "aria-describedby", get(gn) ? null : Gn), set_attribute(G, "data-pw", ot() ? `${ot()}-end-time` : null), set_attribute(G, "testid", ot() ? `${ot()}-end-time` : null);
25159
+ remove_input_defaults(G), reset(te), drpFieldError(sibling(te, 2), () => get(Kn).errorId, () => get(Kn).showsError, () => Hn), reset(S), drpFieldError(sibling(S, 2), () => get(qn).errorId, () => get(qn).showsError, () => Un), template_effect(() => {
25160
+ o = set_class(a, 1, "drp-date-input svelte-gpybdi", null, o, { "drp-date-input-invalid": !get(Bn) }), set_value(s, get(Nt)), set_attribute(s, "aria-invalid", !get(Bn)), set_attribute(s, "aria-describedby", get(Wn).describedBy), set_attribute(s, "data-pw", ot() ? `${ot()}-start-date` : null), set_attribute(s, "testid", ot() ? `${ot()}-start-date` : null), l = set_class(c, 1, "drp-time-input drp-time-input-inline svelte-gpybdi", null, l, { "drp-time-input-invalid": !get(hn) }), set_attribute(f, "aria-invalid", !get(hn)), set_attribute(f, "aria-describedby", get(Gn).describedBy), set_attribute(f, "data-pw", ot() ? `${ot()}-start-time` : null), set_attribute(f, "testid", ot() ? `${ot()}-start-time` : null), k = set_class(C, 1, "drp-date-input svelte-gpybdi", null, k, { "drp-date-input-invalid": !get(Vn) }), set_value(R, get(Pt)), set_attribute(R, "aria-invalid", !get(Vn)), set_attribute(R, "aria-describedby", get(Kn).describedBy), set_attribute(R, "data-pw", ot() ? `${ot()}-end-date` : null), set_attribute(R, "testid", ot() ? `${ot()}-end-date` : null), ne = set_class(te, 1, "drp-time-input drp-time-input-inline svelte-gpybdi", null, ne, { "drp-time-input-invalid": !get(gn) }), set_attribute(G, "aria-invalid", !get(gn)), set_attribute(G, "aria-describedby", get(qn).describedBy), set_attribute(G, "data-pw", ot() ? `${ot()}-end-time` : null), set_attribute(G, "testid", ot() ? `${ot()}-end-time` : null);
24727
25161
  }), delegated("input", s, (e) => Zn(e, "start")), event("blur", s, () => Qn("start")), delegated("keydown", s, (e) => $n(e, "start")), bind_value(f, () => get(Ot), (e) => set(Ot, e)), delegated("input", R, (e) => Zn(e, "end")), event("blur", R, () => Qn("end")), delegated("keydown", R, (e) => $n(e, "end")), bind_value(G, () => get(kt), (e) => set(kt, e)), append(e, t);
24728
25162
  }, c = (e) => {
24729
25163
  var t = root_12$9(), n = first_child(t);
24730
25164
  let a;
24731
25165
  var o = child(n);
24732
- remove_input_defaults(o), drpFieldError(sibling(o, 2), () => Hn, () => !get(Bn), () => Kn), reset(n);
25166
+ remove_input_defaults(o), drpFieldError(sibling(o, 2), () => get(Wn).errorId, () => get(Wn).showsError, () => Hn), reset(n);
24733
25167
  var s = sibling(n, 2);
24734
25168
  html(s, () => chevron_right_default, !0), reset(s);
24735
25169
  var c = sibling(s, 2);
24736
25170
  let l;
24737
25171
  var u = child(c);
24738
- remove_input_defaults(u), drpFieldError(sibling(u, 2), () => Wn, () => !get(Vn), () => Kn), reset(c);
25172
+ remove_input_defaults(u), drpFieldError(sibling(u, 2), () => get(Kn).errorId, () => get(Kn).showsError, () => Hn), reset(c);
24739
25173
  var f = sibling(c, 2), p = (e) => {
24740
25174
  var t = root_11$10();
24741
25175
  let n;
@@ -24747,7 +25181,7 @@ function DateRangePicker(e, t) {
24747
25181
  if_block(f, (e) => {
24748
25182
  k() && e(p);
24749
25183
  }), template_effect(() => {
24750
- a = set_class(n, 1, "drp-date-input svelte-gpybdi", null, a, { "drp-date-input-invalid": !get(Bn) }), set_value(o, get(Nt)), set_attribute(o, "aria-invalid", !get(Bn)), set_attribute(o, "aria-describedby", get(Bn) ? null : Hn), set_attribute(o, "data-pw", ot() ? `${ot()}-start-date` : null), set_attribute(o, "testid", ot() ? `${ot()}-start-date` : null), l = set_class(c, 1, "drp-date-input svelte-gpybdi", null, l, { "drp-date-input-invalid": !get(Vn) }), set_value(u, get(Pt)), set_attribute(u, "aria-invalid", !get(Vn)), set_attribute(u, "aria-describedby", get(Vn) ? null : Wn), set_attribute(u, "data-pw", ot() ? `${ot()}-end-date` : null), set_attribute(u, "testid", ot() ? `${ot()}-end-date` : null);
25184
+ a = set_class(n, 1, "drp-date-input svelte-gpybdi", null, a, { "drp-date-input-invalid": !get(Bn) }), set_value(o, get(Nt)), set_attribute(o, "aria-invalid", !get(Bn)), set_attribute(o, "aria-describedby", get(Wn).describedBy), set_attribute(o, "data-pw", ot() ? `${ot()}-start-date` : null), set_attribute(o, "testid", ot() ? `${ot()}-start-date` : null), l = set_class(c, 1, "drp-date-input svelte-gpybdi", null, l, { "drp-date-input-invalid": !get(Vn) }), set_value(u, get(Pt)), set_attribute(u, "aria-invalid", !get(Vn)), set_attribute(u, "aria-describedby", get(Kn).describedBy), set_attribute(u, "data-pw", ot() ? `${ot()}-end-date` : null), set_attribute(u, "testid", ot() ? `${ot()}-end-date` : null);
24751
25185
  }), delegated("input", o, (e) => Zn(e, "start")), event("blur", o, () => Qn("start")), delegated("keydown", o, (e) => $n(e, "start")), delegated("input", u, (e) => Zn(e, "end")), event("blur", u, () => Qn("end")), delegated("keydown", u, (e) => $n(e, "end")), append(e, t);
24752
25186
  };
24753
25187
  if_block(o, (e) => {
@@ -24759,7 +25193,7 @@ function DateRangePicker(e, t) {
24759
25193
  var o = child(n);
24760
25194
  html(o, () => i, !0), reset(o);
24761
25195
  var s = sibling(o, 2);
24762
- remove_input_defaults(s), drpFieldError(sibling(s, 2), () => Un, () => !get(hn), () => qn), reset(n);
25196
+ remove_input_defaults(s), drpFieldError(sibling(s, 2), () => get(Gn).errorId, () => get(Gn).showsError, () => Un), reset(n);
24763
25197
  var c = sibling(n, 2);
24764
25198
  html(c, () => chevron_right_default, !0), reset(c);
24765
25199
  var l = sibling(c, 2);
@@ -24767,8 +25201,8 @@ function DateRangePicker(e, t) {
24767
25201
  var f = child(l);
24768
25202
  html(f, () => i, !0), reset(f);
24769
25203
  var p = sibling(f, 2);
24770
- remove_input_defaults(p), drpFieldError(sibling(p, 2), () => Gn, () => !get(gn), () => qn), reset(l), reset(t), template_effect(() => {
24771
- a = set_class(n, 1, "drp-time-input svelte-gpybdi", null, a, { "drp-time-input-invalid": !get(hn) }), set_attribute(s, "aria-invalid", !get(hn)), set_attribute(s, "aria-describedby", get(hn) ? null : Un), set_attribute(s, "data-pw", ot() ? `${ot()}-start-time` : null), set_attribute(s, "testid", ot() ? `${ot()}-start-time` : null), u = set_class(l, 1, "drp-time-input svelte-gpybdi", null, u, { "drp-time-input-invalid": !get(gn) }), set_attribute(p, "aria-invalid", !get(gn)), set_attribute(p, "aria-describedby", get(gn) ? null : Gn), set_attribute(p, "data-pw", ot() ? `${ot()}-end-time` : null), set_attribute(p, "testid", ot() ? `${ot()}-end-time` : null);
25204
+ remove_input_defaults(p), drpFieldError(sibling(p, 2), () => get(qn).errorId, () => get(qn).showsError, () => Un), reset(l), reset(t), template_effect(() => {
25205
+ a = set_class(n, 1, "drp-time-input svelte-gpybdi", null, a, { "drp-time-input-invalid": !get(hn) }), set_attribute(s, "aria-invalid", !get(hn)), set_attribute(s, "aria-describedby", get(Gn).describedBy), set_attribute(s, "data-pw", ot() ? `${ot()}-start-time` : null), set_attribute(s, "testid", ot() ? `${ot()}-start-time` : null), u = set_class(l, 1, "drp-time-input svelte-gpybdi", null, u, { "drp-time-input-invalid": !get(gn) }), set_attribute(p, "aria-invalid", !get(gn)), set_attribute(p, "aria-describedby", get(qn).describedBy), set_attribute(p, "data-pw", ot() ? `${ot()}-end-time` : null), set_attribute(p, "testid", ot() ? `${ot()}-end-time` : null);
24772
25206
  }), bind_value(s, () => get(Ot), (e) => set(Ot, e)), bind_value(p, () => get(kt), (e) => set(kt, e)), append(e, t);
24773
25207
  };
24774
25208
  if_block(l, (e) => {
@@ -24910,7 +25344,7 @@ function DateRangePicker(e, t) {
24910
25344
  get(xt) ? e(Me) : e(Re, -1);
24911
25345
  });
24912
25346
  var ct = sibling(re, 2), lt = (e) => {
24913
- var t = root_17$2();
25347
+ var t = root_17$3();
24914
25348
  snippet(child(t), G), reset(t), append(e, t);
24915
25349
  };
24916
25350
  if_block(ct, (e) => {
@@ -32485,14 +32919,14 @@ customElements.define("sui-lottie-player", create_custom_element(LottiePlayer_wc
32485
32919
  }, [], [], { mode: "open" }));
32486
32920
  //#endregion
32487
32921
  //#region src/lib/DeltaIndicator/DeltaIndicator.svelte
32488
- var root$36 = /* @__PURE__ */ from_html("<span aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" class=\"svelte-1h4ulcy\"><path d=\"M22 7L13.5 15.5L8.5 10.5L2 17\"></path><path d=\"M16 7H22V13\"></path></svg></span>"), root_1$35 = /* @__PURE__ */ from_html("<span class=\"delta-indicator-dash svelte-1h4ulcy\" aria-hidden=\"true\">—</span>"), root_2$26 = /* @__PURE__ */ from_html("<span><!> <span class=\"delta-indicator-text svelte-1h4ulcy\"> </span></span>"), $$css$75 = {
32922
+ var root$36 = /* @__PURE__ */ from_html("<span aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" class=\"svelte-1h4ulcy\"><path d=\"M22 7L13.5 15.5L8.5 10.5L2 17\"></path><path d=\"M16 7H22V13\"></path></svg></span>"), root_1$35 = /* @__PURE__ */ from_html("<span class=\"delta-indicator-dash svelte-1h4ulcy\" aria-hidden=\"true\">—</span>"), root_2$26 = /* @__PURE__ */ from_html("<span><!> <span class=\"delta-indicator-text svelte-1h4ulcy\"><!></span></span>"), $$css$75 = {
32489
32923
  hash: "svelte-1h4ulcy",
32490
32924
  code: ".delta-indicator.svelte-1h4ulcy {display:inline-flex;align-items:center;gap:var(--delta-indicator-gap, 4px);font-size:var(--delta-indicator-font-size, 13px);font-weight:var(--delta-indicator-font-weight, 600);line-height:1;}.delta-positive.svelte-1h4ulcy {color:var(--delta-indicator-positive-color, #007846);}.delta-negative.svelte-1h4ulcy {color:var(--delta-indicator-negative-color, light-dark(#c81e26, #f87171));}.delta-neutral.svelte-1h4ulcy {color:var(--delta-indicator-neutral-color, #646464);}\n\n /* The tone color is set on the wrapper; the text span must inherit it explicitly.\n A consumer's global `span { color }` rule (higher weight than inheritance) would\n otherwise repaint just the number a neutral text color — leaving only the arrow\n tinted and making up/down deltas read as colorless. */.delta-indicator-text.svelte-1h4ulcy {color:inherit;}.delta-indicator-arrow.svelte-1h4ulcy {display:inline-flex;width:var(--delta-indicator-arrow-size, 16px);height:var(--delta-indicator-arrow-size, 16px);flex-shrink:0;}.delta-indicator-dash.svelte-1h4ulcy {color:inherit;flex-shrink:0;}.delta-indicator-arrow.svelte-1h4ulcy svg:where(.svelte-1h4ulcy) {width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:var(--delta-indicator-arrow-stroke-width, 2);stroke-linecap:round;stroke-linejoin:round;}\n\n /* Down-trend mirrors the up-trend glyph vertically (line falling to the\n lower-right, arrowhead at the bottom-right) — the Untitled UI trend-down-01\n shape. A 180deg rotation would instead point down-left. */.delta-arrow-down.svelte-1h4ulcy {transform:scaleY(-1);}"
32491
32925
  };
32492
32926
  function DeltaIndicator(e, t) {
32493
32927
  push(t, !0), append_styles$1(e, $$css$75);
32494
- let n = prop(t, "value", 7), i = prop(t, "format", 7), a = prop(t, "invertColors", 7, !1), o = prop(t, "hideArrow", 7, !1), s = prop(t, "neutralThreshold", 7, 0), c = prop(t, "testId", 7), l = prop(t, "classes", 7), u = (e) => `${Math.round(Math.abs(e))}%`, f = /* @__PURE__ */ user_derived(() => Math.max(0, s())), p = /* @__PURE__ */ user_derived(() => n() > get(f) ? "up" : n() < -get(f) ? "down" : "neutral"), h = /* @__PURE__ */ user_derived(() => get(p) === "neutral" ? "neutral" : get(p) === "up" === a() ? "negative" : "positive"), S = /* @__PURE__ */ user_derived(() => (i() ?? u)(n()));
32495
- var C = {
32928
+ let n = prop(t, "value", 7), i = prop(t, "format", 7), a = prop(t, "invertColors", 7, !1), o = prop(t, "hideArrow", 7, !1), s = prop(t, "neutralThreshold", 7, 0), c = prop(t, "animateValue", 7, !1), l = prop(t, "testId", 7), u = prop(t, "classes", 7), f = (e) => `${Math.round(Math.abs(e))}%`, p = /* @__PURE__ */ user_derived(() => Math.max(0, s())), h = /* @__PURE__ */ user_derived(() => n() > get(p) ? "up" : n() < -get(p) ? "down" : "neutral"), S = /* @__PURE__ */ user_derived(() => get(h) === "neutral" ? "neutral" : get(h) === "up" === a() ? "negative" : "positive"), C = /* @__PURE__ */ user_derived(() => (i() ?? f)(n()));
32929
+ var k = {
32496
32930
  get value() {
32497
32931
  return n();
32498
32932
  },
@@ -32523,31 +32957,46 @@ function DeltaIndicator(e, t) {
32523
32957
  set neutralThreshold(e = 0) {
32524
32958
  s(e), flushSync();
32525
32959
  },
32526
- get testId() {
32960
+ get animateValue() {
32527
32961
  return c();
32528
32962
  },
32529
- set testId(e) {
32963
+ set animateValue(e = !1) {
32530
32964
  c(e), flushSync();
32531
32965
  },
32532
- get classes() {
32966
+ get testId() {
32533
32967
  return l();
32534
32968
  },
32535
- set classes(e) {
32969
+ set testId(e) {
32536
32970
  l(e), flushSync();
32971
+ },
32972
+ get classes() {
32973
+ return u();
32974
+ },
32975
+ set classes(e) {
32976
+ u(e), flushSync();
32537
32977
  }
32538
- }, k = root_2$26(), R = child(k), te = (e) => {
32978
+ }, R = root_2$26(), te = child(R), ne = (e) => {
32539
32979
  var t = root$36();
32540
- template_effect(() => set_class(t, 1, `delta-indicator-arrow delta-arrow-${get(p) ?? ""}`, "svelte-1h4ulcy")), append(e, t);
32541
- }, ne = (e) => {
32980
+ template_effect(() => set_class(t, 1, `delta-indicator-arrow delta-arrow-${get(h) ?? ""}`, "svelte-1h4ulcy")), append(e, t);
32981
+ }, re = (e) => {
32542
32982
  append(e, root_1$35());
32543
32983
  };
32544
- if_block(R, (e) => {
32545
- !o() && get(p) !== "neutral" ? e(te) : o() || e(ne, 1);
32984
+ if_block(te, (e) => {
32985
+ !o() && get(h) !== "neutral" ? e(ne) : o() || e(re, 1);
32546
32986
  });
32547
- var re = sibling(R, 2), G = child(re, !0);
32548
- return reset(re), reset(k), template_effect(() => {
32549
- set_class(k, 1, `delta-indicator delta-${get(h) ?? ""} ${l() ?? "" ?? ""}`, "svelte-1h4ulcy"), set_attribute(k, "data-pw", typeof c() == "string" ? c() : null), set_attribute(k, "testid", typeof c() == "string" ? c() : null), set_text(G, get(S));
32550
- }), append(e, k), pop(C);
32987
+ var G = sibling(te, 2), be = child(G), Me = (e) => {
32988
+ AnimatedNumber(e, { get value() {
32989
+ return get(C);
32990
+ } });
32991
+ }, Re = (e) => {
32992
+ var t = text();
32993
+ template_effect(() => set_text(t, get(C))), append(e, t);
32994
+ };
32995
+ return if_block(be, (e) => {
32996
+ c() ? e(Me) : e(Re, -1);
32997
+ }), reset(G), reset(R), template_effect(() => {
32998
+ set_class(R, 1, `delta-indicator delta-${get(S) ?? ""} ${u() ?? "" ?? ""}`, "svelte-1h4ulcy"), set_attribute(R, "data-pw", typeof l() == "string" ? l() : null), set_attribute(R, "testid", typeof l() == "string" ? l() : null);
32999
+ }), append(e, R), pop(k);
32551
33000
  }
32552
33001
  create_custom_element(DeltaIndicator, {
32553
33002
  value: {},
@@ -32555,25 +33004,26 @@ create_custom_element(DeltaIndicator, {
32555
33004
  invertColors: {},
32556
33005
  hideArrow: {},
32557
33006
  neutralThreshold: {},
33007
+ animateValue: {},
32558
33008
  testId: {},
32559
33009
  classes: {}
32560
33010
  }, [], [], { mode: "open" });
32561
33011
  //#endregion
32562
33012
  //#region src/lib/StatCard/StatCard.svelte
32563
- var root$35 = /* @__PURE__ */ from_html("<span class=\"statcard-title-tooltip-trigger svelte-pfmus\"><span class=\"statcard-title statcard-title-tooltip svelte-pfmus\"> </span> <span class=\"statcard-tooltip-icon svelte-pfmus\" aria-hidden=\"true\"><svg viewBox=\"0 0 16 16\" fill=\"none\" class=\"svelte-pfmus\"><circle cx=\"8\" cy=\"8\" r=\"6.5\" stroke=\"currentColor\" stroke-width=\"1.2\"></circle><rect x=\"7.25\" y=\"6.9\" width=\"1.5\" height=\"4.1\" rx=\"0.75\" fill=\"currentColor\"></rect><circle cx=\"8\" cy=\"4.8\" r=\"0.9\" fill=\"currentColor\"></circle></svg></span></span>"), root_1$34 = /* @__PURE__ */ from_html("<div class=\"statcard-title svelte-pfmus\"> </div>"), root_2$25 = /* @__PURE__ */ from_html("<div class=\"statcard-header-checkbox svelte-pfmus\"><!></div>"), root_3$24 = /* @__PURE__ */ from_html("<div class=\"statcard-header-right svelte-pfmus\"><!></div>"), root_4$21 = /* @__PURE__ */ from_html("<div class=\"statcard-header svelte-pfmus\"><div class=\"statcard-header-left svelte-pfmus\"><!> <!></div> <!></div>"), root_5$20 = /* @__PURE__ */ from_html("<div class=\"statcard-row-divider svelte-pfmus\"></div>"), root_6$19 = /* @__PURE__ */ from_html("<div class=\"statcard-row-heading statcard-row-heading-tooltip svelte-pfmus\"> </div>"), root_7$17 = /* @__PURE__ */ from_html("<div class=\"statcard-row-heading svelte-pfmus\"> </div>"), root_8$15 = /* @__PURE__ */ from_html("<div class=\"statcard-row-heading-wrap svelte-pfmus\"><!></div>"), root_9$12 = /* @__PURE__ */ from_html("<div class=\"statcard-comparison-value svelte-pfmus\"> </div>"), root_10$11 = /* @__PURE__ */ from_html("<div class=\"statcard-delta statcard-delta-na svelte-pfmus\">N/A</div>"), root_11$9 = /* @__PURE__ */ from_html("<div> </div>"), root_12$8 = /* @__PURE__ */ from_html("<div class=\"statcard-row-subtitle svelte-pfmus\"> </div>"), root_13$6 = /* @__PURE__ */ from_html("<div class=\"statcard-breakdown-heading svelte-pfmus\"> </div>"), root_14$5 = /* @__PURE__ */ from_html("<div class=\"statcard-breakdown-item svelte-pfmus\"><div class=\"statcard-breakdown-label svelte-pfmus\"> </div> <div class=\"statcard-breakdown-value-line svelte-pfmus\"><div class=\"statcard-breakdown-value svelte-pfmus\"> </div> <!></div></div>"), root_15$3 = /* @__PURE__ */ from_html("<!> <div class=\"statcard-breakdown-grid svelte-pfmus\"></div>", 1), root_16$2 = /* @__PURE__ */ from_html("<!> <div class=\"statcard-row svelte-pfmus\"><!> <div class=\"statcard-row-value-line svelte-pfmus\"><div> </div> <!> <!> <!></div> <!> <!></div>", 1), root_17$1 = /* @__PURE__ */ from_html("<div></div>"), root_18$1 = /* @__PURE__ */ from_html("<div class=\"statcard-value svelte-pfmus\"><!></div>"), root_19$1 = /* @__PURE__ */ from_html("<div class=\"statcard-value svelte-pfmus\"> </div>"), root_20$1 = /* @__PURE__ */ from_html("<div class=\"statcard-value-row svelte-pfmus\"><!> <!></div>"), root_21$1 = /* @__PURE__ */ from_html("<div class=\"statcard-subtitle svelte-pfmus\"> </div>"), root_22$1 = /* @__PURE__ */ from_html("<div class=\"statcard-children svelte-pfmus\"><!></div>"), root_23$1 = /* @__PURE__ */ from_html("<div class=\"statcard-footer svelte-pfmus\"><!></div>"), root_24$1 = /* @__PURE__ */ from_html("<div><!> <!> <!> <!> <!></div>"), $$css$74 = {
33013
+ var root$35 = /* @__PURE__ */ from_html("<span class=\"statcard-title-tooltip-trigger svelte-pfmus\"><span class=\"statcard-title statcard-title-tooltip svelte-pfmus\"> </span> <span class=\"statcard-tooltip-icon svelte-pfmus\" aria-hidden=\"true\"><svg viewBox=\"0 0 16 16\" fill=\"none\" class=\"svelte-pfmus\"><circle cx=\"8\" cy=\"8\" r=\"6.5\" stroke=\"currentColor\" stroke-width=\"1.2\"></circle><rect x=\"7.25\" y=\"6.9\" width=\"1.5\" height=\"4.1\" rx=\"0.75\" fill=\"currentColor\"></rect><circle cx=\"8\" cy=\"4.8\" r=\"0.9\" fill=\"currentColor\"></circle></svg></span></span>"), root_1$34 = /* @__PURE__ */ from_html("<div class=\"statcard-title svelte-pfmus\"> </div>"), root_2$25 = /* @__PURE__ */ from_html("<div class=\"statcard-header-checkbox svelte-pfmus\"><!></div>"), root_3$24 = /* @__PURE__ */ from_html("<div class=\"statcard-header-right svelte-pfmus\"><!></div>"), root_4$21 = /* @__PURE__ */ from_html("<div class=\"statcard-header svelte-pfmus\"><div class=\"statcard-header-left svelte-pfmus\"><!> <!></div> <!></div>"), root_5$20 = /* @__PURE__ */ from_html("<div class=\"statcard-row-divider svelte-pfmus\"></div>"), root_6$19 = /* @__PURE__ */ from_html("<div class=\"statcard-row-heading statcard-row-heading-tooltip svelte-pfmus\"> </div>"), root_7$17 = /* @__PURE__ */ from_html("<div class=\"statcard-row-heading svelte-pfmus\"> </div>"), root_8$15 = /* @__PURE__ */ from_html("<div class=\"statcard-row-heading-wrap svelte-pfmus\"><!></div>"), root_9$12 = /* @__PURE__ */ from_html("<div class=\"statcard-comparison-value svelte-pfmus\">/ <!></div>"), root_10$11 = /* @__PURE__ */ from_html("<div class=\"statcard-delta statcard-delta-na svelte-pfmus\">N/A</div>"), root_11$9 = /* @__PURE__ */ from_html("<div> </div>"), root_12$8 = /* @__PURE__ */ from_html("<div class=\"statcard-row-subtitle svelte-pfmus\"> </div>"), root_13$6 = /* @__PURE__ */ from_html("<div class=\"statcard-breakdown-heading svelte-pfmus\"> </div>"), root_14$5 = /* @__PURE__ */ from_html("<div class=\"statcard-breakdown-item svelte-pfmus\"><div class=\"statcard-breakdown-label svelte-pfmus\"> </div> <div class=\"statcard-breakdown-value-line svelte-pfmus\"><div class=\"statcard-breakdown-value svelte-pfmus\"><!></div> <!></div></div>"), root_15$3 = /* @__PURE__ */ from_html("<!> <div class=\"statcard-breakdown-grid svelte-pfmus\"></div>", 1), root_16$2 = /* @__PURE__ */ from_html("<!> <div class=\"statcard-row svelte-pfmus\"><!> <div class=\"statcard-row-value-line svelte-pfmus\"><div><!></div> <!> <!> <!></div> <!> <!></div>", 1), root_17$2 = /* @__PURE__ */ from_html("<div></div>"), root_18$1 = /* @__PURE__ */ from_html("<div class=\"statcard-value svelte-pfmus\"><!></div>"), root_19$1 = /* @__PURE__ */ from_html("<div class=\"statcard-value-row svelte-pfmus\"><!> <!></div>"), root_20$1 = /* @__PURE__ */ from_html("<div class=\"statcard-subtitle svelte-pfmus\"> </div>"), root_21$1 = /* @__PURE__ */ from_html("<div class=\"statcard-children svelte-pfmus\"><!></div>"), root_22$1 = /* @__PURE__ */ from_html("<div class=\"statcard-footer svelte-pfmus\"><!></div>"), root_23$1 = /* @__PURE__ */ from_html("<div><!> <!> <!> <!> <!></div>"), $$css$74 = {
32564
33014
  hash: "svelte-pfmus",
32565
33015
  code: ".statcard.svelte-pfmus {display:flex;flex-direction:column;gap:var(--statcard-gap, 4px);padding:var(--statcard-padding, 16px);background:var(--statcard-background, #ffffff);border:var(--statcard-border, 1px solid #e5e7eb);border-radius:var(--statcard-border-radius, var(--radius, 4px));box-shadow:var(--statcard-box-shadow, none);width:var(--statcard-width, auto);min-width:var(--statcard-min-width, 0);max-width:var(--statcard-max-width, none);height:var(--statcard-height, auto);color:var(--statcard-color, inherit);cursor:var(--statcard-cursor, default);box-sizing:border-box;}.statcard-interactive.svelte-pfmus {cursor:var(--statcard-cursor, pointer);}.statcard-interactive.svelte-pfmus:focus-visible {outline:var(--statcard-focus-outline, 2px solid currentColor);outline-offset:var(--statcard-focus-outline-offset, 2px);}.statcard-header.svelte-pfmus {order:var(--statcard-header-order, 0);display:flex;align-items:center;justify-content:space-between;gap:var(--statcard-header-gap, 8px);}.statcard-header-left.svelte-pfmus {display:flex;align-items:center;gap:var(--statcard-header-left-gap, 8px);flex:1;min-width:0;}.statcard-header-right.svelte-pfmus {display:flex;align-items:center;flex-shrink:0;}\n\n /* Wrapper keeps the checkbox in the event path (to stop bubbling to the card\n action). `margin-left: auto` pushes it to the header's right edge so the title\n stays left and the checkbox reads as a right-aligned control. (A previous\n `display: contents` here removed the box, which silently defeated the flex\n alignment.) */.statcard-header-checkbox.svelte-pfmus {display:flex;align-items:center;margin-left:auto;}.statcard-title.svelte-pfmus {font-size:var(--statcard-title-font-size, 12px);font-weight:var(--statcard-title-font-weight, 500);color:var(--statcard-title-color, #6b7280);line-height:var(--statcard-title-line-height, 1.4);white-space:var(--statcard-title-white-space, nowrap);overflow:hidden;text-overflow:ellipsis;}.statcard-title-tooltip-trigger.svelte-pfmus {display:inline-flex;align-items:center;gap:var(--statcard-tooltip-icon-gap, 4px);min-width:0;}.statcard-title-tooltip.svelte-pfmus {cursor:default;\n /* Default surface (Euler) uses the ⓘ icon as the tooltip affordance, so the\n title carries no underline. The Shopify theme flips both tokens — dotted\n underline on, icon off — via its own stylesheet. */text-decoration:var(--statcard-title-tooltip-decoration, none);text-underline-offset:2px;}.statcard-tooltip-icon.svelte-pfmus {display:var(--statcard-tooltip-icon-display, inline-flex);align-items:center;justify-content:center;width:var(--statcard-tooltip-icon-size, 14px);height:var(--statcard-tooltip-icon-size, 14px);flex-shrink:0;color:var(--statcard-tooltip-icon-color, currentColor);cursor:default;}.statcard-tooltip-icon.svelte-pfmus svg:where(.svelte-pfmus) {width:100%;height:100%;}.statcard-value-row.svelte-pfmus {order:var(--statcard-value-row-order, 0);display:flex;align-items:var(--statcard-value-row-align, baseline);gap:var(--statcard-value-row-gap, 8px);flex-wrap:wrap;}.statcard-value.svelte-pfmus {font-size:var(--statcard-value-font-size, 24px);font-weight:var(--statcard-value-font-weight, 600);color:var(--statcard-value-color, inherit);line-height:var(--statcard-value-line-height, 1.2);}.statcard-value-success.svelte-pfmus {color:var(--statcard-value-success-color, #16a34a);}.statcard-value-warning.svelte-pfmus {color:var(--statcard-value-warning-color, #b45309);}\n\n /* Per-row value typography override — falls back to the card-level value\n tokens so an unset row matches today's shared appearance exactly, then to\n the same literals as the last resort. Scoped to the row's value line so\n the single (non-rows) card value is unaffected. Mirrors the fallback\n shape of --statcard-row-subtitle-font-size below. */.statcard-row-value-line.svelte-pfmus .statcard-value:where(.svelte-pfmus) {font-size:var(--statcard-row-value-font-size, var(--statcard-value-font-size, 24px));font-weight:var(--statcard-row-value-font-weight, var(--statcard-value-font-weight, 600));}.statcard-delta.svelte-pfmus {font-size:var(--statcard-delta-font-size, 13px);font-weight:var(--statcard-delta-font-weight, 500);color:var(--statcard-delta-color, #6b7280);line-height:var(--statcard-delta-line-height, 1.4);}.statcard-delta-positive.svelte-pfmus {color:var(--statcard-delta-positive-color, #166534);}.statcard-delta-negative.svelte-pfmus {color:var(--statcard-delta-negative-color, #dc2626);}.statcard-delta-na.svelte-pfmus {color:var(--statcard-delta-na-color, var(--statcard-delta-color, #6b7280));}\n\n /* Inline comparison denominator (\"₹60k / ₹10L\") — a muted, slightly smaller\n companion to the metric value, baseline-aligned by the value row. */.statcard-comparison-value.svelte-pfmus {font-size:var(--statcard-comparison-font-size, 16px);font-weight:var(--statcard-comparison-font-weight, 700);color:var(--statcard-comparison-color, #c7c7c7);line-height:var(--statcard-comparison-line-height, 1.4);white-space:nowrap;}.statcard-subtitle.svelte-pfmus {order:var(--statcard-subtitle-order, 0);font-size:var(--statcard-subtitle-font-size, 12px);font-weight:var(--statcard-subtitle-font-weight, 400);color:var(--statcard-subtitle-color, #4b5563);line-height:var(--statcard-subtitle-line-height, 1.4);}\n\n /* Per-row subtitle — falls back to the card-level subtitle tokens so a\n consumer that already themes `.statcard-subtitle` gets a matching look\n with no extra wiring, then to the same literals as the last resort. */.statcard-row-subtitle.svelte-pfmus {order:var(--statcard-row-subtitle-order, 0);font-size:var(--statcard-row-subtitle-font-size, var(--statcard-subtitle-font-size, 12px));font-weight:var(\n --statcard-row-subtitle-font-weight,\n var(--statcard-subtitle-font-weight, 400)\n );color:var(--statcard-row-subtitle-color, var(--statcard-subtitle-color, #4b5563));line-height:var(\n --statcard-row-subtitle-line-height,\n var(--statcard-subtitle-line-height, 1.4)\n );}\n\n /* Multi-row layout */.statcard-rows.svelte-pfmus {order:var(--statcard-rows-order, 0);display:flex;flex-direction:column;gap:var(--statcard-rows-gap, 0px);}.statcard-row-divider.svelte-pfmus {height:var(--statcard-row-divider-height, 1px);background:var(--statcard-row-divider-color, #e5e7eb);margin:var(--statcard-row-divider-margin, 8px 0);}\n\n /* Horizontal layout: lay the metric sections side by side with vertical\n dividers. Each section flexes to share the available width equally. */.statcard-rows-horizontal.svelte-pfmus {flex-direction:row;}.statcard-rows-horizontal.svelte-pfmus .statcard-row:where(.svelte-pfmus) {flex:1;min-width:0;}.statcard-rows-horizontal.svelte-pfmus .statcard-row-divider:where(.svelte-pfmus) {align-self:stretch;flex-shrink:0;width:var(--statcard-row-divider-height, 1px);height:auto;margin:var(--statcard-row-divider-margin-horizontal, 0 16px);}.statcard-row.svelte-pfmus {display:flex;flex-direction:column;gap:var(--statcard-row-gap, 4px);}.statcard-row-heading-wrap.svelte-pfmus {order:var(--statcard-row-heading-order, 0);display:flex;align-items:center;}.statcard-row-heading.svelte-pfmus {font-size:var(--statcard-row-heading-font-size, 12px);font-weight:var(--statcard-row-heading-font-weight, 500);color:var(--statcard-row-heading-color, #6b7280);line-height:var(--statcard-row-heading-line-height, 1.4);}.statcard-row-heading-tooltip.svelte-pfmus {cursor:default;text-decoration:underline dotted;text-underline-offset:2px;}.statcard-row-value-line.svelte-pfmus {order:var(--statcard-row-value-line-order, 0);display:flex;align-items:baseline;gap:var(--statcard-row-value-gap, 8px);flex-wrap:wrap;}.statcard-row-additional.svelte-pfmus {\n /* Default: flows inline in the wrapping flex row and only breaks if it\n does not fit — matches short unit suffixes like \"%\" or \"ms\". */font-size:var(--statcard-row-additional-font-size, 12px);font-weight:var(--statcard-row-additional-font-weight, 400);color:var(--statcard-row-additional-color, #4b5563);line-height:1.4;}.statcard-row-additional-break.svelte-pfmus {\n /* Opt-in: forces its own line regardless of available width, for\n descriptive text that should never sit beside the value/delta. */flex-basis:var(--statcard-row-additional-flex-basis, 100%);}\n\n /* Breakdown grid */.statcard-breakdown-heading.svelte-pfmus {font-size:var(--statcard-breakdown-heading-font-size, 11px);font-weight:var(--statcard-breakdown-heading-font-weight, 600);color:var(--statcard-breakdown-heading-color, #6b7280);letter-spacing:0.04em;text-transform:var(--statcard-breakdown-heading-text-transform, uppercase);margin-top:var(--statcard-breakdown-heading-margin-top, 6px);}.statcard-breakdown-grid.svelte-pfmus {display:grid;grid-template-columns:repeat(auto-fill, minmax(var(--statcard-breakdown-col-min, 100px), 1fr));gap:var(--statcard-breakdown-gap, 8px);margin-top:var(--statcard-breakdown-margin-top, 4px);}.statcard-breakdown-item.svelte-pfmus {display:flex;flex-direction:var(--statcard-breakdown-item-flex-direction, column);align-items:var(--statcard-breakdown-item-align-items, stretch);flex-wrap:var(--statcard-breakdown-item-flex-wrap, nowrap);gap:var(--statcard-breakdown-item-gap, 2px);}\n\n /* The metric value and its change indicator share one line (label sits above\n as the caption). Previously the delta was a third stacked child, so it\n rendered on its own line beneath the number. */.statcard-breakdown-value-line.svelte-pfmus {order:var(--statcard-breakdown-value-line-order, 0);display:flex;align-items:baseline;gap:var(--statcard-breakdown-value-gap, 6px);flex-wrap:wrap;}.statcard-breakdown-label.svelte-pfmus {font-size:var(--statcard-breakdown-label-font-size, 11px);font-weight:var(--statcard-breakdown-label-font-weight, 400);color:var(--statcard-breakdown-label-color, #4b5563);line-height:1.4;}.statcard-breakdown-value.svelte-pfmus {font-size:var(--statcard-breakdown-value-font-size, 14px);font-weight:var(--statcard-breakdown-value-font-weight, 600);color:var(--statcard-breakdown-value-color, inherit);line-height:1.2;}.statcard-children.svelte-pfmus {margin-top:var(--statcard-children-margin-top, 4px);}.statcard-footer.svelte-pfmus {margin-top:var(--statcard-footer-margin-top, 8px);padding-top:var(--statcard-footer-padding-top, 8px);border-top:var(--statcard-footer-border-top, 1px solid #e5e7eb);}"
32566
33016
  };
32567
33017
  function StatCard(e, t) {
32568
33018
  push(t, !0), append_styles$1(e, $$css$74);
32569
- let n = prop(t, "title", 7), i = prop(t, "value", 7), a = prop(t, "delta", 7), o = prop(t, "deltaPositive", 7), s = prop(t, "subtitle", 7), c = prop(t, "footer", 7), l = prop(t, "valueSnippet", 7), u = prop(t, "rows", 7), f = prop(t, "rowsDirection", 7, "column"), p = prop(t, "tooltip", 7), h = prop(t, "checkbox", 7), S = prop(t, "headerRight", 7), C = prop(t, "children", 7), k = prop(t, "testId", 7), R = prop(t, "classes", 7), te = prop(t, "onclick", 7), ne = prop(t, "oncheckboxchange", 7), re = /* @__PURE__ */ user_derived(() => typeof te() == "function"), G = /* @__PURE__ */ user_derived(() => typeof o() == "boolean" ? o() : typeof a() == "string" && a().trim().length > 0 ? a().trimStart().startsWith("+") ? !0 : a().trimStart().startsWith("-") ? !1 : null : null), be = /* @__PURE__ */ user_derived(() => typeof a() == "string" && a().trim().length > 0), Me = /* @__PURE__ */ user_derived(() => Array.isArray(u()) && u().length > 0), Re = /* @__PURE__ */ user_derived(() => typeof n() == "string" && n().length > 0), Ue = /* @__PURE__ */ user_derived(() => get(Re) || !!h() || typeof S() == "function"), it = (e) => {
33019
+ let n = prop(t, "title", 7), i = prop(t, "value", 7), a = prop(t, "delta", 7), o = prop(t, "deltaPositive", 7), s = prop(t, "subtitle", 7), c = prop(t, "footer", 7), l = prop(t, "valueSnippet", 7), u = prop(t, "animateValue", 7, !1), f = prop(t, "rows", 7), p = prop(t, "rowsDirection", 7, "column"), h = prop(t, "tooltip", 7), S = prop(t, "checkbox", 7), C = prop(t, "headerRight", 7), k = prop(t, "children", 7), R = prop(t, "testId", 7), te = prop(t, "classes", 7), ne = prop(t, "onclick", 7), re = prop(t, "oncheckboxchange", 7), G = /* @__PURE__ */ user_derived(() => typeof ne() == "function"), be = /* @__PURE__ */ user_derived(() => typeof o() == "boolean" ? o() : typeof a() == "string" && a().trim().length > 0 ? a().trimStart().startsWith("+") ? !0 : a().trimStart().startsWith("-") ? !1 : null : null), Me = /* @__PURE__ */ user_derived(() => typeof a() == "string" && a().trim().length > 0), Re = /* @__PURE__ */ user_derived(() => Array.isArray(f()) && f().length > 0), Ue = /* @__PURE__ */ user_derived(() => typeof n() == "string" && n().length > 0), it = /* @__PURE__ */ user_derived(() => get(Ue) || !!S() || typeof C() == "function"), at = (e) => {
32570
33020
  (e.key === "Enter" || e.key === " ") && (e.key === " " && e.preventDefault(), e.currentTarget instanceof HTMLElement && e.currentTarget.click());
32571
- }, at = (e) => {
32572
- ne()?.(e);
32573
33021
  }, ot = (e) => {
33022
+ re()?.(e);
33023
+ }, ct = (e) => {
32574
33024
  e.stopPropagation();
32575
33025
  };
32576
- var ct = {
33026
+ var lt = {
32577
33027
  get title() {
32578
33028
  return n();
32579
33029
  },
@@ -32616,82 +33066,88 @@ function StatCard(e, t) {
32616
33066
  set valueSnippet(e) {
32617
33067
  l(e), flushSync();
32618
33068
  },
32619
- get rows() {
33069
+ get animateValue() {
32620
33070
  return u();
32621
33071
  },
32622
- set rows(e) {
33072
+ set animateValue(e = !1) {
32623
33073
  u(e), flushSync();
32624
33074
  },
32625
- get rowsDirection() {
33075
+ get rows() {
32626
33076
  return f();
32627
33077
  },
32628
- set rowsDirection(e = "column") {
33078
+ set rows(e) {
32629
33079
  f(e), flushSync();
32630
33080
  },
32631
- get tooltip() {
33081
+ get rowsDirection() {
32632
33082
  return p();
32633
33083
  },
32634
- set tooltip(e) {
33084
+ set rowsDirection(e = "column") {
32635
33085
  p(e), flushSync();
32636
33086
  },
32637
- get checkbox() {
33087
+ get tooltip() {
32638
33088
  return h();
32639
33089
  },
32640
- set checkbox(e) {
33090
+ set tooltip(e) {
32641
33091
  h(e), flushSync();
32642
33092
  },
32643
- get headerRight() {
33093
+ get checkbox() {
32644
33094
  return S();
32645
33095
  },
32646
- set headerRight(e) {
33096
+ set checkbox(e) {
32647
33097
  S(e), flushSync();
32648
33098
  },
32649
- get children() {
33099
+ get headerRight() {
32650
33100
  return C();
32651
33101
  },
32652
- set children(e) {
33102
+ set headerRight(e) {
32653
33103
  C(e), flushSync();
32654
33104
  },
32655
- get testId() {
33105
+ get children() {
32656
33106
  return k();
32657
33107
  },
32658
- set testId(e) {
33108
+ set children(e) {
32659
33109
  k(e), flushSync();
32660
33110
  },
32661
- get classes() {
33111
+ get testId() {
32662
33112
  return R();
32663
33113
  },
32664
- set classes(e) {
33114
+ set testId(e) {
32665
33115
  R(e), flushSync();
32666
33116
  },
32667
- get onclick() {
33117
+ get classes() {
32668
33118
  return te();
32669
33119
  },
32670
- set onclick(e) {
33120
+ set classes(e) {
32671
33121
  te(e), flushSync();
32672
33122
  },
32673
- get oncheckboxchange() {
33123
+ get onclick() {
32674
33124
  return ne();
32675
33125
  },
32676
- set oncheckboxchange(e) {
33126
+ set onclick(e) {
32677
33127
  ne(e), flushSync();
33128
+ },
33129
+ get oncheckboxchange() {
33130
+ return re();
33131
+ },
33132
+ set oncheckboxchange(e) {
33133
+ re(e), flushSync();
32678
33134
  }
32679
- }, lt = root_24$1();
32680
- let ut;
32681
- var dt = child(lt), ft = (e) => {
33135
+ }, ut = root_23$1();
33136
+ let dt;
33137
+ var ft = child(ut), pt = (e) => {
32682
33138
  var t = root_4$21(), i = child(t), a = child(i), o = (e) => {
32683
33139
  var t = comment(), i = first_child(t), a = (e) => {
32684
33140
  {
32685
- let t = /* @__PURE__ */ user_derived(() => p().position ?? "top");
33141
+ let t = /* @__PURE__ */ user_derived(() => h().position ?? "top");
32686
33142
  Tooltip(e, {
32687
33143
  get text() {
32688
- return p().text;
33144
+ return h().text;
32689
33145
  },
32690
33146
  get position() {
32691
33147
  return get(t);
32692
33148
  },
32693
33149
  get testId() {
32694
- return p().testId;
33150
+ return h().testId;
32695
33151
  },
32696
33152
  children: (e, t) => {
32697
33153
  var i = root$35(), a = child(i), o = child(a, !0);
@@ -32703,56 +33159,56 @@ function StatCard(e, t) {
32703
33159
  }, o = (e) => {
32704
33160
  var t = root_1$34(), i = child(t, !0);
32705
33161
  reset(t), template_effect(() => {
32706
- set_attribute(t, "data-pw", typeof k() == "string" ? `${k()}-title` : null), set_attribute(t, "testid", typeof k() == "string" ? `${k()}-title` : null), set_text(i, n());
33162
+ set_attribute(t, "data-pw", typeof R() == "string" ? `${R()}-title` : null), set_attribute(t, "testid", typeof R() == "string" ? `${R()}-title` : null), set_text(i, n());
32707
33163
  }), append(e, t);
32708
33164
  };
32709
33165
  if_block(i, (e) => {
32710
- p() ? e(a) : e(o, -1);
33166
+ h() ? e(a) : e(o, -1);
32711
33167
  }), append(e, t);
32712
33168
  };
32713
33169
  if_block(a, (e) => {
32714
- get(Re) && e(o);
33170
+ get(Ue) && e(o);
32715
33171
  });
32716
33172
  var s = sibling(a, 2), c = (e) => {
32717
33173
  var t = root_2$25(), n = child(t);
32718
33174
  {
32719
- let e = /* @__PURE__ */ user_derived(() => h().checked ?? !1);
33175
+ let e = /* @__PURE__ */ user_derived(() => S().checked ?? !1);
32720
33176
  CheckListItem(n, {
32721
33177
  get text() {
32722
- return h().text;
33178
+ return S().text;
32723
33179
  },
32724
33180
  get checked() {
32725
33181
  return get(e);
32726
33182
  },
32727
- onclick: at
33183
+ onclick: ot
32728
33184
  });
32729
33185
  }
32730
- reset(t), delegated("click", t, ot), delegated("keydown", t, ot), append(e, t);
33186
+ reset(t), delegated("click", t, ct), delegated("keydown", t, ct), append(e, t);
32731
33187
  };
32732
33188
  if_block(s, (e) => {
32733
- h() && e(c);
33189
+ S() && e(c);
32734
33190
  }), reset(i);
32735
33191
  var l = sibling(i, 2), u = (e) => {
32736
33192
  var t = root_3$24();
32737
- snippet(child(t), S), reset(t), append(e, t);
33193
+ snippet(child(t), C), reset(t), append(e, t);
32738
33194
  };
32739
33195
  if_block(l, (e) => {
32740
- S() && e(u);
33196
+ C() && e(u);
32741
33197
  }), reset(t), template_effect(() => {
32742
- set_attribute(t, "data-pw", typeof k() == "string" ? `${k()}-header` : null), set_attribute(t, "testid", typeof k() == "string" ? `${k()}-header` : null);
33198
+ set_attribute(t, "data-pw", typeof R() == "string" ? `${R()}-header` : null), set_attribute(t, "testid", typeof R() == "string" ? `${R()}-header` : null);
32743
33199
  }), append(e, t);
32744
33200
  };
32745
- if_block(dt, (e) => {
32746
- get(Ue) && e(ft);
33201
+ if_block(ft, (e) => {
33202
+ get(it) && e(pt);
32747
33203
  });
32748
- var pt = sibling(dt, 2), mt = (e) => {
32749
- var t = root_17$1();
33204
+ var mt = sibling(ft, 2), ht = (e) => {
33205
+ var t = root_17$2();
32750
33206
  let n;
32751
- each(t, 21, u, index, (e, t, n) => {
33207
+ each(t, 21, f, index, (e, t, n) => {
32752
33208
  var i = root_16$2(), a = first_child(i), o = (e) => {
32753
33209
  var t = root_5$20();
32754
33210
  template_effect(() => {
32755
- set_attribute(t, "data-pw", typeof k() == "string" ? `${k()}-row-divider-${n}` : null), set_attribute(t, "testid", typeof k() == "string" ? `${k()}-row-divider-${n}` : null);
33211
+ set_attribute(t, "data-pw", typeof R() == "string" ? `${R()}-row-divider-${n}` : null), set_attribute(t, "testid", typeof R() == "string" ? `${R()}-row-divider-${n}` : null);
32756
33212
  }), append(e, t);
32757
33213
  };
32758
33214
  if_block(a, (e) => {
@@ -32790,22 +33246,40 @@ function StatCard(e, t) {
32790
33246
  if_block(c, (e) => {
32791
33247
  typeof get(t).heading == "string" && get(t).heading.length > 0 && e(l);
32792
33248
  });
32793
- var u = sibling(c, 2), f = child(u);
32794
- let p;
32795
- var h = child(f, !0);
32796
- reset(f);
32797
- var S = sibling(f, 2), C = (e) => {
32798
- var i = root_9$12(), a = child(i);
32799
- reset(i), template_effect(() => {
32800
- set_attribute(i, "data-pw", typeof k() == "string" ? `${k()}-comparison-${n}` : null), set_attribute(i, "testid", typeof k() == "string" ? `${k()}-comparison-${n}` : null), set_text(a, `/ ${get(t).comparisonValue ?? ""}`);
32801
- }), append(e, i);
33249
+ var f = sibling(c, 2), p = child(f);
33250
+ let h;
33251
+ var S = child(p), C = (e) => {
33252
+ AnimatedNumber(e, { get value() {
33253
+ return get(t).value;
33254
+ } });
33255
+ }, k = (e) => {
33256
+ var n = text();
33257
+ template_effect(() => set_text(n, get(t).value)), append(e, n);
32802
33258
  };
32803
33259
  if_block(S, (e) => {
32804
- typeof get(t).comparisonValue == "string" && get(t).comparisonValue.length > 0 && e(C);
33260
+ u() ? e(C) : e(k, -1);
33261
+ }), reset(p);
33262
+ var te = sibling(p, 2), ne = (e) => {
33263
+ var i = root_9$12(), a = sibling(child(i)), o = (e) => {
33264
+ AnimatedNumber(e, { get value() {
33265
+ return get(t).comparisonValue;
33266
+ } });
33267
+ }, s = (e) => {
33268
+ var n = text();
33269
+ template_effect(() => set_text(n, get(t).comparisonValue)), append(e, n);
33270
+ };
33271
+ if_block(a, (e) => {
33272
+ u() ? e(o) : e(s, -1);
33273
+ }), reset(i), template_effect(() => {
33274
+ set_attribute(i, "data-pw", typeof R() == "string" ? `${R()}-comparison-${n}` : null), set_attribute(i, "testid", typeof R() == "string" ? `${R()}-comparison-${n}` : null);
33275
+ }), append(e, i);
33276
+ };
33277
+ if_block(te, (e) => {
33278
+ typeof get(t).comparisonValue == "string" && get(t).comparisonValue.length > 0 && e(ne);
32805
33279
  });
32806
- var R = sibling(S, 2), te = (e) => {
33280
+ var re = sibling(te, 2), G = (e) => {
32807
33281
  {
32808
- let i = /* @__PURE__ */ user_derived(() => get(t).invertChangeColors ?? !1), a = /* @__PURE__ */ user_derived(() => k() ? `${k()}-delta-${n}` : null);
33282
+ let i = /* @__PURE__ */ user_derived(() => get(t).invertChangeColors ?? !1), a = /* @__PURE__ */ user_derived(() => R() ? `${R()}-delta-${n}` : null);
32809
33283
  DeltaIndicator(e, {
32810
33284
  get value() {
32811
33285
  return get(t).change;
@@ -32818,36 +33292,36 @@ function StatCard(e, t) {
32818
33292
  }
32819
33293
  });
32820
33294
  }
32821
- }, ne = (e) => {
33295
+ }, be = (e) => {
32822
33296
  var t = root_10$11();
32823
33297
  template_effect(() => {
32824
- set_attribute(t, "data-pw", typeof k() == "string" ? `${k()}-delta-na-${n}` : null), set_attribute(t, "testid", typeof k() == "string" ? `${k()}-delta-na-${n}` : null);
33298
+ set_attribute(t, "data-pw", typeof R() == "string" ? `${R()}-delta-na-${n}` : null), set_attribute(t, "testid", typeof R() == "string" ? `${R()}-delta-na-${n}` : null);
32825
33299
  }), append(e, t);
32826
33300
  };
32827
- if_block(R, (e) => {
32828
- typeof get(t).change == "number" ? e(te) : get(t).change === null && e(ne, 1);
33301
+ if_block(re, (e) => {
33302
+ typeof get(t).change == "number" ? e(G) : get(t).change === null && e(be, 1);
32829
33303
  });
32830
- var re = sibling(R, 2), G = (e) => {
33304
+ var Me = sibling(re, 2), Re = (e) => {
32831
33305
  var i = root_11$9();
32832
33306
  let a;
32833
33307
  var o = child(i, !0);
32834
33308
  reset(i), template_effect(() => {
32835
- a = set_class(i, 1, "statcard-row-additional svelte-pfmus", null, a, { "statcard-row-additional-break": get(t).additionalContentBreak === !0 }), set_attribute(i, "data-pw", typeof k() == "string" ? `${k()}-additional-${n}` : null), set_attribute(i, "testid", typeof k() == "string" ? `${k()}-additional-${n}` : null), set_text(o, get(t).additionalContent);
33309
+ a = set_class(i, 1, "statcard-row-additional svelte-pfmus", null, a, { "statcard-row-additional-break": get(t).additionalContentBreak === !0 }), set_attribute(i, "data-pw", typeof R() == "string" ? `${R()}-additional-${n}` : null), set_attribute(i, "testid", typeof R() == "string" ? `${R()}-additional-${n}` : null), set_text(o, get(t).additionalContent);
32836
33310
  }), append(e, i);
32837
33311
  };
32838
- if_block(re, (e) => {
32839
- typeof get(t).additionalContent == "string" && get(t).additionalContent.length > 0 && e(G);
32840
- }), reset(u);
32841
- var be = sibling(u, 2), Me = (e) => {
33312
+ if_block(Me, (e) => {
33313
+ typeof get(t).additionalContent == "string" && get(t).additionalContent.length > 0 && e(Re);
33314
+ }), reset(f);
33315
+ var Ue = sibling(f, 2), it = (e) => {
32842
33316
  var i = root_12$8(), a = child(i, !0);
32843
33317
  reset(i), template_effect(() => {
32844
- set_attribute(i, "data-pw", typeof k() == "string" ? `${k()}-subtitle-${n}` : null), set_attribute(i, "testid", typeof k() == "string" ? `${k()}-subtitle-${n}` : null), set_text(a, get(t).subtitle);
33318
+ set_attribute(i, "data-pw", typeof R() == "string" ? `${R()}-subtitle-${n}` : null), set_attribute(i, "testid", typeof R() == "string" ? `${R()}-subtitle-${n}` : null), set_text(a, get(t).subtitle);
32845
33319
  }), append(e, i);
32846
33320
  };
32847
- if_block(be, (e) => {
32848
- typeof get(t).subtitle == "string" && get(t).subtitle.length > 0 && e(Me);
33321
+ if_block(Ue, (e) => {
33322
+ typeof get(t).subtitle == "string" && get(t).subtitle.length > 0 && e(it);
32849
33323
  });
32850
- var Re = sibling(be, 2), Ue = (e) => {
33324
+ var at = sibling(Ue, 2), ot = (e) => {
32851
33325
  var i = root_15$3(), a = first_child(i), o = (e) => {
32852
33326
  var n = root_13$6(), i = child(n, !0);
32853
33327
  reset(n), template_effect(() => set_text(i, get(t).breakdownHeading)), append(e, n);
@@ -32859,9 +33333,18 @@ function StatCard(e, t) {
32859
33333
  each(s, 21, () => get(t).breakdown, index, (e, t, i) => {
32860
33334
  var a = root_14$5(), o = child(a), s = child(o, !0);
32861
33335
  reset(o);
32862
- var c = sibling(o, 2), l = child(c), u = child(l, !0);
32863
- reset(l);
32864
- var f = sibling(l, 2), p = (e) => {
33336
+ var c = sibling(o, 2), l = child(c), f = child(l), p = (e) => {
33337
+ AnimatedNumber(e, { get value() {
33338
+ return get(t).value;
33339
+ } });
33340
+ }, h = (e) => {
33341
+ var n = text();
33342
+ template_effect(() => set_text(n, get(t).value)), append(e, n);
33343
+ };
33344
+ if_block(f, (e) => {
33345
+ u() ? e(p) : e(h, -1);
33346
+ }), reset(l);
33347
+ var S = sibling(l, 2), C = (e) => {
32865
33348
  {
32866
33349
  let n = /* @__PURE__ */ user_derived(() => get(t).invertChangeColors ?? !1);
32867
33350
  DeltaIndicator(e, {
@@ -32874,86 +33357,95 @@ function StatCard(e, t) {
32874
33357
  });
32875
33358
  }
32876
33359
  };
32877
- if_block(f, (e) => {
32878
- typeof get(t).change == "number" && e(p);
33360
+ if_block(S, (e) => {
33361
+ typeof get(t).change == "number" && e(C);
32879
33362
  }), reset(c), reset(a), template_effect(() => {
32880
- set_attribute(a, "data-pw", typeof k() == "string" ? `${k()}-breakdown-item-${n}-${i}` : null), set_attribute(a, "testid", typeof k() == "string" ? `${k()}-breakdown-item-${n}-${i}` : null), set_text(s, get(t).label), set_text(u, get(t).value);
33363
+ set_attribute(a, "data-pw", typeof R() == "string" ? `${R()}-breakdown-item-${n}-${i}` : null), set_attribute(a, "testid", typeof R() == "string" ? `${R()}-breakdown-item-${n}-${i}` : null), set_text(s, get(t).label);
32881
33364
  }), append(e, a);
32882
33365
  }), reset(s), append(e, i);
32883
- }, it = /* @__PURE__ */ user_derived(() => Array.isArray(get(t).breakdown) && get(t).breakdown.length > 0);
32884
- if_block(Re, (e) => {
32885
- get(it) && e(Ue);
33366
+ }, ct = /* @__PURE__ */ user_derived(() => Array.isArray(get(t).breakdown) && get(t).breakdown.length > 0);
33367
+ if_block(at, (e) => {
33368
+ get(ct) && e(ot);
32886
33369
  }), reset(s), template_effect(() => {
32887
- set_attribute(s, "data-pw", typeof get(t).testId == "string" ? get(t).testId : null), set_attribute(s, "testid", typeof get(t).testId == "string" ? get(t).testId : null), p = set_class(f, 1, "statcard-value svelte-pfmus", null, p, {
33370
+ set_attribute(s, "data-pw", typeof get(t).testId == "string" ? get(t).testId : null), set_attribute(s, "testid", typeof get(t).testId == "string" ? get(t).testId : null), h = set_class(p, 1, "statcard-value svelte-pfmus", null, h, {
32888
33371
  "statcard-value-success": get(t).valueVariant === "success",
32889
33372
  "statcard-value-warning": get(t).valueVariant === "warning"
32890
- }), set_attribute(f, "data-pw", typeof k() == "string" ? `${k()}-value-${n}` : null), set_attribute(f, "testid", typeof k() == "string" ? `${k()}-value-${n}` : null), set_text(h, get(t).value);
33373
+ }), set_attribute(p, "data-pw", typeof R() == "string" ? `${R()}-value-${n}` : null), set_attribute(p, "testid", typeof R() == "string" ? `${R()}-value-${n}` : null);
32891
33374
  }), append(e, i);
32892
33375
  }), reset(t), template_effect(() => {
32893
- n = set_class(t, 1, "statcard-rows svelte-pfmus", null, n, { "statcard-rows-horizontal": f() === "row" }), set_attribute(t, "data-pw", typeof k() == "string" ? `${k()}-rows` : null), set_attribute(t, "testid", typeof k() == "string" ? `${k()}-rows` : null);
33376
+ n = set_class(t, 1, "statcard-rows svelte-pfmus", null, n, { "statcard-rows-horizontal": p() === "row" }), set_attribute(t, "data-pw", typeof R() == "string" ? `${R()}-rows` : null), set_attribute(t, "testid", typeof R() == "string" ? `${R()}-rows` : null);
32894
33377
  }), append(e, t);
32895
- }, ht = (e) => {
32896
- var t = root_20$1(), n = child(t), o = (e) => {
33378
+ }, gt = (e) => {
33379
+ var t = root_19$1(), n = child(t), o = (e) => {
32897
33380
  var t = root_18$1();
32898
33381
  snippet(child(t), l), reset(t), template_effect(() => {
32899
- set_attribute(t, "data-pw", typeof k() == "string" ? `${k()}-value` : null), set_attribute(t, "testid", typeof k() == "string" ? `${k()}-value` : null);
33382
+ set_attribute(t, "data-pw", typeof R() == "string" ? `${R()}-value` : null), set_attribute(t, "testid", typeof R() == "string" ? `${R()}-value` : null);
32900
33383
  }), append(e, t);
32901
33384
  }, s = (e) => {
32902
- var t = root_19$1(), n = child(t, !0);
32903
- reset(t), template_effect(() => {
32904
- set_attribute(t, "data-pw", typeof k() == "string" ? `${k()}-value` : null), set_attribute(t, "testid", typeof k() == "string" ? `${k()}-value` : null), set_text(n, i());
33385
+ var t = root_18$1(), n = child(t), a = (e) => {
33386
+ AnimatedNumber(e, { get value() {
33387
+ return i();
33388
+ } });
33389
+ }, o = (e) => {
33390
+ var t = text();
33391
+ template_effect(() => set_text(t, i())), append(e, t);
33392
+ };
33393
+ if_block(n, (e) => {
33394
+ u() ? e(a) : e(o, -1);
33395
+ }), reset(t), template_effect(() => {
33396
+ set_attribute(t, "data-pw", typeof R() == "string" ? `${R()}-value` : null), set_attribute(t, "testid", typeof R() == "string" ? `${R()}-value` : null);
32905
33397
  }), append(e, t);
32906
33398
  };
32907
33399
  if_block(n, (e) => {
32908
33400
  typeof l() == "function" ? e(o) : typeof i() == "string" && i().length > 0 && e(s, 1);
32909
33401
  });
32910
- var c = sibling(n, 2), u = (e) => {
33402
+ var c = sibling(n, 2), f = (e) => {
32911
33403
  var t = root_11$9();
32912
33404
  let n;
32913
33405
  var i = child(t, !0);
32914
33406
  reset(t), template_effect(() => {
32915
33407
  n = set_class(t, 1, "statcard-delta svelte-pfmus", null, n, {
32916
- "statcard-delta-positive": get(G) === !0,
32917
- "statcard-delta-negative": get(G) === !1
33408
+ "statcard-delta-positive": get(be) === !0,
33409
+ "statcard-delta-negative": get(be) === !1
32918
33410
  }), set_text(i, a());
32919
33411
  }), append(e, t);
32920
33412
  };
32921
33413
  if_block(c, (e) => {
32922
- get(be) && e(u);
33414
+ get(Me) && e(f);
32923
33415
  }), reset(t), append(e, t);
32924
33416
  };
32925
- if_block(pt, (e) => {
32926
- get(Me) && u() ? e(mt) : e(ht, -1);
33417
+ if_block(mt, (e) => {
33418
+ get(Re) && f() ? e(ht) : e(gt, -1);
32927
33419
  });
32928
- var gt = sibling(pt, 2), _t = (e) => {
32929
- var t = root_21$1(), n = child(t, !0);
33420
+ var _t = sibling(mt, 2), vt = (e) => {
33421
+ var t = root_20$1(), n = child(t, !0);
32930
33422
  reset(t), template_effect(() => {
32931
- set_attribute(t, "data-pw", typeof k() == "string" ? `${k()}-subtitle` : null), set_attribute(t, "testid", typeof k() == "string" ? `${k()}-subtitle` : null), set_text(n, s());
33423
+ set_attribute(t, "data-pw", typeof R() == "string" ? `${R()}-subtitle` : null), set_attribute(t, "testid", typeof R() == "string" ? `${R()}-subtitle` : null), set_text(n, s());
32932
33424
  }), append(e, t);
32933
33425
  };
32934
- if_block(gt, (e) => {
32935
- typeof s() == "string" && s().length > 0 && e(_t);
33426
+ if_block(_t, (e) => {
33427
+ typeof s() == "string" && s().length > 0 && e(vt);
32936
33428
  });
32937
- var vt = sibling(gt, 2), yt = (e) => {
32938
- var t = root_22$1();
32939
- snippet(child(t), C), reset(t), append(e, t);
33429
+ var yt = sibling(_t, 2), bt = (e) => {
33430
+ var t = root_21$1();
33431
+ snippet(child(t), k), reset(t), append(e, t);
32940
33432
  };
32941
- if_block(vt, (e) => {
32942
- C() && e(yt);
33433
+ if_block(yt, (e) => {
33434
+ k() && e(bt);
32943
33435
  });
32944
- var bt = sibling(vt, 2), xt = (e) => {
32945
- var t = root_23$1();
33436
+ var xt = sibling(yt, 2), St = (e) => {
33437
+ var t = root_22$1();
32946
33438
  snippet(child(t), c), reset(t), append(e, t);
32947
33439
  };
32948
- return if_block(bt, (e) => {
32949
- typeof c() == "function" && e(xt);
32950
- }), reset(lt), template_effect(() => {
32951
- ut = set_class(lt, 1, `statcard ${R() ?? "" ?? ""}`, "svelte-pfmus", ut, { "statcard-interactive": get(re) }), set_attribute(lt, "data-pw", typeof k() == "string" ? k() : null), set_attribute(lt, "testid", typeof k() == "string" ? k() : null), set_attribute(lt, "role", get(re) ? "button" : null), set_attribute(lt, "tabindex", get(re) ? 0 : null);
32952
- }), delegated("click", lt, function(...e) {
32953
- (get(re) ? te() : null)?.apply(this, e);
32954
- }), delegated("keydown", lt, function(...e) {
32955
- (get(re) ? it : null)?.apply(this, e);
32956
- }), append(e, lt), pop(ct);
33440
+ return if_block(xt, (e) => {
33441
+ typeof c() == "function" && e(St);
33442
+ }), reset(ut), template_effect(() => {
33443
+ dt = set_class(ut, 1, `statcard ${te() ?? "" ?? ""}`, "svelte-pfmus", dt, { "statcard-interactive": get(G) }), set_attribute(ut, "data-pw", typeof R() == "string" ? R() : null), set_attribute(ut, "testid", typeof R() == "string" ? R() : null), set_attribute(ut, "role", get(G) ? "button" : null), set_attribute(ut, "tabindex", get(G) ? 0 : null);
33444
+ }), delegated("click", ut, function(...e) {
33445
+ (get(G) ? ne() : null)?.apply(this, e);
33446
+ }), delegated("keydown", ut, function(...e) {
33447
+ (get(G) ? at : null)?.apply(this, e);
33448
+ }), append(e, ut), pop(lt);
32957
33449
  }
32958
33450
  delegate(["click", "keydown"]), create_custom_element(StatCard, {
32959
33451
  title: {},
@@ -32963,6 +33455,7 @@ delegate(["click", "keydown"]), create_custom_element(StatCard, {
32963
33455
  subtitle: {},
32964
33456
  footer: {},
32965
33457
  valueSnippet: {},
33458
+ animateValue: {},
32966
33459
  rows: {},
32967
33460
  rowsDirection: {},
32968
33461
  tooltip: {},
@@ -32988,10 +33481,22 @@ var rest_excludes$35 = new Set([
32988
33481
  };
32989
33482
  function StatCard_wc(e, t) {
32990
33483
  push(t, !0), append_styles$1(e, $$css$73);
32991
- let n = prop(t, "statCardTitle", 7), i = /* @__PURE__ */ rest_props(t, rest_excludes$35), a = t.$$host, o = /* @__PURE__ */ user_derived(() => dispatchEvents(a, i));
32992
- return StatCard(e, spread_props(() => i, () => get(o), {
33484
+ let n = (e) => {
33485
+ var n = comment(), i = first_child(n), a = (e) => {
33486
+ AnimatedNumber(e, { get value() {
33487
+ return t.value;
33488
+ } });
33489
+ }, o = (e) => {
33490
+ var n = text();
33491
+ template_effect(() => set_text(n, t.value)), append(e, n);
33492
+ };
33493
+ if_block(i, (e) => {
33494
+ t.animateValue ? e(a) : e(o, -1);
33495
+ }), append(e, n);
33496
+ }, i = prop(t, "statCardTitle", 7), a = /* @__PURE__ */ rest_props(t, rest_excludes$35), o = t.$$host, s = /* @__PURE__ */ user_derived(() => dispatchEvents(o, a));
33497
+ return StatCard(e, spread_props(() => a, () => get(s), {
32993
33498
  get title() {
32994
- return n();
33499
+ return i();
32995
33500
  },
32996
33501
  headerRight: (e) => {
32997
33502
  var n = comment();
@@ -33002,11 +33507,10 @@ function StatCard_wc(e, t) {
33002
33507
  slot(first_child(n), t, "footer", {}, null), append(e, n);
33003
33508
  },
33004
33509
  valueSnippet: (e) => {
33005
- var n = comment();
33006
- slot(first_child(n), t, "value-snippet", {}, (e) => {
33007
- var n = text();
33008
- template_effect(() => set_text(n, t.value)), append(e, n);
33009
- }), append(e, n);
33510
+ var i = comment();
33511
+ slot(first_child(i), t, "value-snippet", {}, (e) => {
33512
+ n(e);
33513
+ }), append(e, i);
33010
33514
  },
33011
33515
  children: (e, n) => {
33012
33516
  var i = comment();
@@ -33020,10 +33524,10 @@ function StatCard_wc(e, t) {
33020
33524
  }
33021
33525
  })), pop({
33022
33526
  get statCardTitle() {
33023
- return n();
33527
+ return i();
33024
33528
  },
33025
33529
  set statCardTitle(e) {
33026
- n(e), flushSync();
33530
+ i(e), flushSync();
33027
33531
  }
33028
33532
  });
33029
33533
  }
@@ -33050,6 +33554,11 @@ customElements.define("sui-stat-card", create_custom_element(StatCard_wc, {
33050
33554
  reflect: !0,
33051
33555
  type: "String"
33052
33556
  },
33557
+ animateValue: {
33558
+ attribute: "animate-value",
33559
+ reflect: !0,
33560
+ type: "Boolean"
33561
+ },
33053
33562
  rows: { type: "Object" },
33054
33563
  rowsDirection: {
33055
33564
  attribute: "rows-direction",
@@ -33103,6 +33612,10 @@ customElements.define("sui-delta-indicator", create_custom_element(DeltaIndicato
33103
33612
  attribute: "neutral-threshold",
33104
33613
  type: "Number"
33105
33614
  },
33615
+ animateValue: {
33616
+ attribute: "animate-value",
33617
+ type: "Boolean"
33618
+ },
33106
33619
  format: { type: "Object" },
33107
33620
  testId: {
33108
33621
  attribute: "test-id",
@@ -33112,7 +33625,7 @@ customElements.define("sui-delta-indicator", create_custom_element(DeltaIndicato
33112
33625
  }, [], [], { mode: "open" }));
33113
33626
  //#endregion
33114
33627
  //#region src/lib/ProportionBar/ProportionBar.svelte
33115
- var root$34 = /* @__PURE__ */ from_svg("<rect><title> </title></rect>"), root_1$33 = /* @__PURE__ */ from_html("<li class=\"proportion-bar-legend-item svelte-kuxrgu\"><span class=\"proportion-bar-swatch svelte-kuxrgu\" aria-hidden=\"true\"></span> <span class=\"proportion-bar-legend-label svelte-kuxrgu\"> </span> <span class=\"proportion-bar-legend-value svelte-kuxrgu\"> </span></li>"), root_2$24 = /* @__PURE__ */ from_html("<ul class=\"proportion-bar-legend svelte-kuxrgu\" aria-label=\"Segment breakdown\"></ul>"), root_3$23 = /* @__PURE__ */ from_html("<div><div class=\"proportion-bar-track svelte-kuxrgu\"><svg viewBox=\"0 0 100 10\" preserveAspectRatio=\"none\" class=\"proportion-bar-svg svelte-kuxrgu\"></svg></div> <!></div>"), $$css$71 = {
33628
+ var root$34 = /* @__PURE__ */ from_svg("<rect><title> </title></rect>"), root_1$33 = /* @__PURE__ */ from_html("<li class=\"proportion-bar-legend-item svelte-kuxrgu\"><span class=\"proportion-bar-swatch svelte-kuxrgu\" aria-hidden=\"true\"></span> <span class=\"proportion-bar-legend-label svelte-kuxrgu\"> </span> <span class=\"proportion-bar-legend-value svelte-kuxrgu\"><!></span></li>"), root_2$24 = /* @__PURE__ */ from_html("<ul class=\"proportion-bar-legend svelte-kuxrgu\" aria-label=\"Segment breakdown\"></ul>"), root_3$23 = /* @__PURE__ */ from_html("<div><div class=\"proportion-bar-track svelte-kuxrgu\"><svg viewBox=\"0 0 100 10\" preserveAspectRatio=\"none\" class=\"proportion-bar-svg svelte-kuxrgu\"></svg></div> <!></div>"), $$css$71 = {
33116
33629
  hash: "svelte-kuxrgu",
33117
33630
  code: ".proportion-bar.svelte-kuxrgu {display:flex;flex-direction:column;gap:var(--proportion-bar-gap, 10px);width:var(--proportion-bar-width, 100%);}.proportion-bar-track.svelte-kuxrgu {width:100%;height:var(--proportion-bar-track-height, 10px);border-radius:var(--proportion-bar-track-border-radius, var(--radius, 4px));overflow:hidden;background:var(--proportion-bar-track-bg, #f0f0f0);}.proportion-bar-svg.svelte-kuxrgu {display:block;width:100%;height:100%;}.proportion-bar-legend.svelte-kuxrgu {list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--proportion-bar-legend-gap, 6px);}.proportion-bar-legend-item.svelte-kuxrgu {display:flex;align-items:center;gap:var(--proportion-bar-legend-item-gap, 8px);}.proportion-bar-swatch.svelte-kuxrgu {display:inline-block;width:var(--proportion-bar-swatch-size, 10px);height:var(--proportion-bar-swatch-size, 10px);border-radius:var(--proportion-bar-swatch-border-radius, var(--radius, 4px));flex-shrink:0;}.proportion-bar-legend-label.svelte-kuxrgu {flex:1;font-size:var(--proportion-bar-legend-label-font-size, 13px);font-weight:var(--proportion-bar-legend-label-font-weight, 400);color:var(--proportion-bar-legend-label-color, #374151);line-height:1.4;}.proportion-bar-legend-value.svelte-kuxrgu {font-size:var(--proportion-bar-legend-value-font-size, 13px);font-weight:var(--proportion-bar-legend-value-font-weight, 500);color:var(--proportion-bar-legend-value-color, #111827);line-height:1.4;white-space:nowrap;}"
33118
33631
  };
@@ -33124,23 +33637,23 @@ function ProportionBar(e, t) {
33124
33637
  "#62D5C0",
33125
33638
  "#FF74CD",
33126
33639
  "#D1E7FF"
33127
- ], i = prop(t, "segments", 7), a = prop(t, "showLegend", 7, !0), o = prop(t, "valueFormat", 7), s = prop(t, "trackHeight", 7), c = prop(t, "testId", 7), l = prop(t, "classes", 7), u = (e, t) => typeof e.color == "string" && e.color.length > 0 ? e.color : n[t % n.length], f = (e) => Number.isFinite(e) && e > 0 ? e : 0, p = /* @__PURE__ */ user_derived(() => i().reduce((e, t) => e + f(t.value), 0)), h = /* @__PURE__ */ user_derived(() => i().map((e, t) => {
33128
- let n = f(e.value), i = get(p) > 0 ? n / get(p) * 100 : 0;
33640
+ ], i = prop(t, "segments", 7), a = prop(t, "showLegend", 7, !0), o = prop(t, "valueFormat", 7), s = prop(t, "trackHeight", 7), c = prop(t, "animateValue", 7, !1), l = prop(t, "testId", 7), u = prop(t, "classes", 7), f = (e, t) => typeof e.color == "string" && e.color.length > 0 ? e.color : n[t % n.length], p = (e) => Number.isFinite(e) && e > 0 ? e : 0, h = /* @__PURE__ */ user_derived(() => i().reduce((e, t) => e + p(t.value), 0)), S = /* @__PURE__ */ user_derived(() => i().map((e, t) => {
33641
+ let n = p(e.value), i = get(h) > 0 ? n / get(h) * 100 : 0;
33129
33642
  return {
33130
33643
  label: e.label,
33131
33644
  value: n,
33132
33645
  percent: i,
33133
- color: u(e, t)
33646
+ color: f(e, t)
33134
33647
  };
33135
- })), S = (e, t) => `${e.toLocaleString()} (${Math.round(t)}%)`, C = (e, t) => (o() ?? S)(e, t), k = /* @__PURE__ */ user_derived(() => get(h).map((e) => `${e.label}: ${C(e.value, e.percent)}`).join(", ")), R = /* @__PURE__ */ user_derived(() => get(h).reduce((e, t) => {
33648
+ })), C = (e, t) => `${e.toLocaleString()} (${Math.round(t)}%)`, k = (e, t) => (o() ?? C)(e, t), R = /* @__PURE__ */ user_derived(() => get(S).map((e) => `${e.label}: ${k(e.value, e.percent)}`).join(", ")), te = /* @__PURE__ */ user_derived(() => get(S).reduce((e, t) => {
33136
33649
  let n = e.length > 0 ? e[e.length - 1].x + e[e.length - 1].width : 0;
33137
33650
  return e.push({
33138
33651
  x: n,
33139
33652
  width: t.percent,
33140
33653
  color: t.color
33141
33654
  }), e;
33142
- }, [])), te = /* @__PURE__ */ user_derived(() => typeof s() == "string" && s().length > 0 ? `--proportion-bar-track-height: ${s()};` : "");
33143
- var ne = {
33655
+ }, [])), ne = /* @__PURE__ */ user_derived(() => typeof s() == "string" && s().length > 0 ? `--proportion-bar-track-height: ${s()};` : "");
33656
+ var re = {
33144
33657
  get segments() {
33145
33658
  return i();
33146
33659
  },
@@ -33165,51 +33678,70 @@ function ProportionBar(e, t) {
33165
33678
  set trackHeight(e) {
33166
33679
  s(e), flushSync();
33167
33680
  },
33168
- get testId() {
33681
+ get animateValue() {
33169
33682
  return c();
33170
33683
  },
33171
- set testId(e) {
33684
+ set animateValue(e = !1) {
33172
33685
  c(e), flushSync();
33173
33686
  },
33174
- get classes() {
33687
+ get testId() {
33175
33688
  return l();
33176
33689
  },
33177
- set classes(e) {
33690
+ set testId(e) {
33178
33691
  l(e), flushSync();
33692
+ },
33693
+ get classes() {
33694
+ return u();
33695
+ },
33696
+ set classes(e) {
33697
+ u(e), flushSync();
33179
33698
  }
33180
- }, re = root_3$23(), G = child(re), be = child(G);
33181
- each(be, 21, () => get(R), index, (e, t, n) => {
33699
+ }, G = root_3$23(), be = child(G), Me = child(be);
33700
+ each(Me, 21, () => get(te), index, (e, t, n) => {
33182
33701
  var i = root$34();
33183
33702
  set_attribute(i, "y", 0), set_attribute(i, "height", 10);
33184
33703
  var a = child(i), o = child(a);
33185
33704
  reset(a), reset(i), template_effect((e) => {
33186
- set_attribute(i, "x", get(t).x), set_attribute(i, "width", get(t).width), set_attribute(i, "fill", get(t).color), set_text(o, `${get(h)[n].label ?? ""}: ${e ?? ""}`);
33187
- }, [() => C(get(h)[n].value, get(h)[n].percent)]), append(e, i);
33188
- }), reset(be), reset(G);
33189
- var Me = sibling(G, 2), Re = (e) => {
33705
+ set_attribute(i, "x", get(t).x), set_attribute(i, "width", get(t).width), set_attribute(i, "fill", get(t).color), set_text(o, `${get(S)[n].label ?? ""}: ${e ?? ""}`);
33706
+ }, [() => k(get(S)[n].value, get(S)[n].percent)]), append(e, i);
33707
+ }), reset(Me), reset(be);
33708
+ var Re = sibling(be, 2), Ue = (e) => {
33190
33709
  var t = root_2$24();
33191
- each(t, 21, () => get(h), index, (e, t, n) => {
33710
+ each(t, 21, () => get(S), index, (e, t, n) => {
33192
33711
  var i = root_1$33(), a = child(i), o = sibling(a, 2), s = child(o, !0);
33193
33712
  reset(o);
33194
- var l = sibling(o, 2), u = child(l, !0);
33195
- reset(l), reset(i), template_effect((e) => {
33196
- set_attribute(i, "data-pw", typeof c() == "string" ? `${c()}-legend-item-${n}` : null), set_attribute(i, "testid", typeof c() == "string" ? `${c()}-legend-item-${n}` : null), set_style(a, `background: ${get(t).color ?? ""};`), set_text(s, get(t).label), set_text(u, e);
33197
- }, [() => C(get(t).value, get(t).percent)]), append(e, i);
33713
+ var u = sibling(o, 2), f = child(u), p = (e) => {
33714
+ {
33715
+ let n = /* @__PURE__ */ user_derived(() => k(get(t).value, get(t).percent));
33716
+ AnimatedNumber(e, { get value() {
33717
+ return get(n);
33718
+ } });
33719
+ }
33720
+ }, h = (e) => {
33721
+ var n = text();
33722
+ template_effect((e) => set_text(n, e), [() => k(get(t).value, get(t).percent)]), append(e, n);
33723
+ };
33724
+ if_block(f, (e) => {
33725
+ c() ? e(p) : e(h, -1);
33726
+ }), reset(u), reset(i), template_effect(() => {
33727
+ set_attribute(i, "data-pw", typeof l() == "string" ? `${l()}-legend-item-${n}` : null), set_attribute(i, "testid", typeof l() == "string" ? `${l()}-legend-item-${n}` : null), set_style(a, `background: ${get(t).color ?? ""};`), set_text(s, get(t).label);
33728
+ }), append(e, i);
33198
33729
  }), reset(t), template_effect(() => {
33199
- set_attribute(t, "data-pw", typeof c() == "string" ? `${c()}-legend` : null), set_attribute(t, "testid", typeof c() == "string" ? `${c()}-legend` : null);
33730
+ set_attribute(t, "data-pw", typeof l() == "string" ? `${l()}-legend` : null), set_attribute(t, "testid", typeof l() == "string" ? `${l()}-legend` : null);
33200
33731
  }), append(e, t);
33201
33732
  };
33202
- return if_block(Me, (e) => {
33203
- a() && e(Re);
33204
- }), reset(re), template_effect(() => {
33205
- set_class(re, 1, `proportion-bar ${l() ?? "" ?? ""}`, "svelte-kuxrgu"), set_style(re, get(te)), set_attribute(re, "data-pw", typeof c() == "string" ? c() : null), set_attribute(re, "testid", typeof c() == "string" ? c() : null), set_attribute(be, "role", a() ? null : "img"), set_attribute(be, "aria-hidden", a() ? "true" : null), set_attribute(be, "aria-label", a() ? null : get(k)), set_attribute(be, "data-pw", typeof c() == "string" ? `${c()}-svg` : null), set_attribute(be, "testID", typeof c() == "string" ? `${c()}-svg` : null);
33206
- }), append(e, re), pop(ne);
33733
+ return if_block(Re, (e) => {
33734
+ a() && e(Ue);
33735
+ }), reset(G), template_effect(() => {
33736
+ set_class(G, 1, `proportion-bar ${u() ?? "" ?? ""}`, "svelte-kuxrgu"), set_style(G, get(ne)), set_attribute(G, "data-pw", typeof l() == "string" ? l() : null), set_attribute(G, "testid", typeof l() == "string" ? l() : null), set_attribute(Me, "role", a() ? null : "img"), set_attribute(Me, "aria-hidden", a() ? "true" : null), set_attribute(Me, "aria-label", a() ? null : get(R)), set_attribute(Me, "data-pw", typeof l() == "string" ? `${l()}-svg` : null), set_attribute(Me, "testID", typeof l() == "string" ? `${l()}-svg` : null);
33737
+ }), append(e, G), pop(re);
33207
33738
  }
33208
33739
  create_custom_element(ProportionBar, {
33209
33740
  segments: {},
33210
33741
  showLegend: {},
33211
33742
  valueFormat: {},
33212
33743
  trackHeight: {},
33744
+ animateValue: {},
33213
33745
  testId: {},
33214
33746
  classes: {}
33215
33747
  }, [], [], { mode: "open" });
@@ -33240,6 +33772,10 @@ customElements.define("sui-proportion-bar", create_custom_element(ProportionBar_
33240
33772
  attribute: "track-height",
33241
33773
  type: "String"
33242
33774
  },
33775
+ animateValue: {
33776
+ attribute: "animate-value",
33777
+ type: "Boolean"
33778
+ },
33243
33779
  testId: {
33244
33780
  attribute: "test-id",
33245
33781
  type: "String"
@@ -34183,27 +34719,27 @@ function dismissOnOutsidePointerDown(e, t) {
34183
34719
  }
34184
34720
  //#endregion
34185
34721
  //#region src/lib/PieChart/PieChart.svelte
34186
- var root$31 = /* @__PURE__ */ from_html("<div class=\"chart-empty svelte-1478ug\"><!></div>"), root_1$29 = /* @__PURE__ */ from_html("<button type=\"button\"><span class=\"legend-swatch svelte-1478ug\"></span> <span class=\"legend-label svelte-1478ug\"> </span></button>"), root_2$21 = /* @__PURE__ */ from_html("<div class=\"pie-legend-sync svelte-1478ug\"></div>"), root_3$20 = /* @__PURE__ */ from_svg("<text text-anchor=\"middle\" dominant-baseline=\"middle\"> </text>"), root_4$19 = /* @__PURE__ */ from_svg("<path tabindex=\"0\" role=\"button\"></path><!>", 1), root_5$18 = /* @__PURE__ */ from_svg("<foreignObject><div class=\"pie-center-content svelte-1478ug\" xmlns=\"http://www.w3.org/1999/xhtml\"><!></div></foreignObject>"), root_6$18 = /* @__PURE__ */ from_svg("<g><!><!></g>"), root_7$16 = /* @__PURE__ */ from_html("<div class=\"pie-delta-badge svelte-1478ug\"><!></div>"), root_8$14 = /* @__PURE__ */ from_html("<li class=\"pie-legend-row svelte-1478ug\"><span class=\"pie-legend-swatch svelte-1478ug\"></span> <span class=\"pie-legend-label svelte-1478ug\"> </span> <span class=\"pie-legend-value svelte-1478ug\"> </span></li>"), root_9$11 = /* @__PURE__ */ from_html("<button> </button>"), root_10$10 = /* @__PURE__ */ from_html("<div class=\"pie-legend-column svelte-1478ug\"><ul class=\"pie-legend-values svelte-1478ug\"></ul> <!></div>"), root_11$8 = /* @__PURE__ */ from_html("<div class=\"sr-only svelte-1478ug\" role=\"status\" aria-live=\"polite\" data-pw=\"pie-status\"> </div> <!> <!> <!> <!> <!>", 1), root_12$7 = /* @__PURE__ */ from_html("<div><!></div>"), $$css$66 = {
34722
+ var root$31 = /* @__PURE__ */ from_html("<div class=\"chart-empty svelte-1478ug\"><!></div>"), root_1$29 = /* @__PURE__ */ from_html("<button type=\"button\"><span class=\"legend-swatch svelte-1478ug\"></span> <span class=\"legend-label svelte-1478ug\"> </span></button>"), root_2$21 = /* @__PURE__ */ from_html("<div class=\"pie-legend-sync svelte-1478ug\"></div>"), root_3$20 = /* @__PURE__ */ from_svg("<text text-anchor=\"middle\" dominant-baseline=\"middle\"> </text>"), root_4$19 = /* @__PURE__ */ from_svg("<path tabindex=\"0\" role=\"button\"></path><!>", 1), root_5$18 = /* @__PURE__ */ from_svg("<foreignObject><div class=\"pie-center-content svelte-1478ug\" xmlns=\"http://www.w3.org/1999/xhtml\"><!></div></foreignObject>"), root_6$18 = /* @__PURE__ */ from_svg("<g><!><!></g>"), root_7$16 = /* @__PURE__ */ from_html("<div class=\"pie-delta-badge svelte-1478ug\"><!></div>"), root_8$14 = /* @__PURE__ */ from_html("<li class=\"pie-legend-row svelte-1478ug\"><span class=\"pie-legend-swatch svelte-1478ug\"></span> <span class=\"pie-legend-label svelte-1478ug\"> </span> <span class=\"pie-legend-value svelte-1478ug\"><!></span></li>"), root_9$11 = /* @__PURE__ */ from_html("<button> </button>"), root_10$10 = /* @__PURE__ */ from_html("<div class=\"pie-legend-column svelte-1478ug\"><ul class=\"pie-legend-values svelte-1478ug\"></ul> <!></div>"), root_11$8 = /* @__PURE__ */ from_html("<div class=\"sr-only svelte-1478ug\" role=\"status\" aria-live=\"polite\" data-pw=\"pie-status\"> </div> <!> <!> <!> <!> <!>", 1), root_12$7 = /* @__PURE__ */ from_html("<div><!></div>"), $$css$66 = {
34187
34723
  hash: "svelte-1478ug",
34188
34724
  code: ".pie-chart.svelte-1478ug {width:100%;position:relative;}.slice.svelte-1478ug {stroke:var(--piechart-stroke-color, #fff);stroke-width:var(--piechart-stroke-width, 2);transition:transform var(--chart-transition-duration, var(--motion-duration, 0.2s))\n var(--chart-transition-easing, var(--motion-easing, ease)),\n opacity var(--chart-transition-duration, var(--motion-duration, 0.2s))\n var(--chart-transition-easing, var(--motion-easing, ease));transform-origin:0 0;cursor:pointer;}.slice.hovered.svelte-1478ug {transform:scale(var(--piechart-hover-scale, 1.05));opacity:1;}.slice.dimmed.svelte-1478ug {opacity:var(--piechart-dimmed-opacity, 0.3);}.slice.svelte-1478ug:focus-visible {outline:var(--piechart-slice-focus-outline, 2px solid currentColor);outline-offset:var(--piechart-slice-focus-outline-offset, 2px);}.slice-label.svelte-1478ug {fill:var(--piechart-label-color, #333);font-size:var(--piechart-label-font-size, 12px);font-family:var(--chart-font-family, inherit);pointer-events:none;}.slice-label.label-outside.svelte-1478ug {fill:var(--piechart-label-color, #555);}.pie-center-content.svelte-1478ug {width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;}.pie-delta-badge.svelte-1478ug {position:absolute;top:var(--piechart-delta-top, 8px);right:var(--piechart-delta-right, 8px);z-index:2;pointer-events:none;}.chart-empty.svelte-1478ug {padding:var(--chart-empty-padding, 32px 24px);color:var(--chart-empty-color, #9ca3af);text-align:center;}\n /* Standard visually-hidden recipe (matches ChatComposer's .sr-only): present\n for assistive tech, removed from layout and the visual canvas. */.sr-only.svelte-1478ug {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border-width:0;}.pie-legend-sync.svelte-1478ug {display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--chart-legend-gap, 16px);font-family:var(--chart-font-family, inherit);padding:8px 0;}.pie-legend-sync-item.svelte-1478ug {display:flex;align-items:center;gap:6px;background:none;border:none;margin:0;padding:var(--piechart-legend-sync-padding, 2px 4px);font:inherit;cursor:var(--cursor, pointer);border-radius:var(--piechart-legend-sync-radius, var(--radius, 4px));}.pie-legend-sync-item.svelte-1478ug .legend-swatch:where(.svelte-1478ug) {display:inline-block;width:var(--chart-legend-swatch-size, 12px);height:var(--chart-legend-swatch-size, 12px);border-radius:var(--chart-swatch-radius, 2px);flex-shrink:0;}.pie-legend-sync-item.svelte-1478ug .legend-label:where(.svelte-1478ug) {font-size:var(--chart-legend-font-size, 12px);color:var(--chart-legend-color, light-dark(#333, #e5e7eb));}.pie-legend-sync-item.legend-sync-active.svelte-1478ug {background:var(\n --piechart-legend-sync-active-background,\n light-dark(rgba(0, 0, 0, 0.06), rgba(255, 255, 255, 0.1))\n );}.pie-legend-sync-item.svelte-1478ug:focus-visible {outline:var(--piechart-legend-sync-focus-outline, 2px solid currentColor);outline-offset:2px;}.pie-legend-values.svelte-1478ug {display:flex;flex-direction:column;gap:var(--piechart-legend-gap, 8px);padding:var(--piechart-legend-padding, 12px 0 0 0);font-family:var(--chart-font-family, inherit);list-style:none;margin:0;}.pie-legend-row.svelte-1478ug {display:flex;align-items:center;gap:var(--piechart-legend-row-gap, 6px);}.pie-legend-swatch.svelte-1478ug {display:inline-block;width:var(--chart-legend-swatch-size, 12px);height:var(--chart-legend-swatch-size, 12px);border-radius:var(--piechart-legend-swatch-radius, var(--radius, 4px));flex-shrink:0;}.pie-legend-label.svelte-1478ug {font-size:var(--chart-legend-font-size, 12px);color:var(--chart-legend-color, #333);min-width:var(--piechart-legend-label-min-width, 120px);}.pie-legend-value.svelte-1478ug {margin-left:auto;font-size:var(--piechart-legend-value-font-size, 12px);color:var(--piechart-legend-value-color, #333);min-width:var(--piechart-legend-value-min-width, 60px);text-align:right;}\n\n /* The column wrapper is present in both placements so the markup does not\n fork; as a plain block it changes nothing about the default below-chart\n rendering. */.pie-legend-column.svelte-1478ug {display:flex;flex-direction:column;}\n\n /* Only the values legend moves beside the chart -- the plain top legend is\n mutually exclusive with it, and the delta badge and tooltip are both\n absolutely positioned, so they stay out of this flex row entirely. */.pie-chart.legend-right.svelte-1478ug {display:flex;flex-direction:row;align-items:center;gap:var(--piechart-legend-column-gap, 16px);}.pie-chart.legend-right.svelte-1478ug .chart-container {\n /* flex-basis 0 rather than auto: the container carries width:100%, which\n as a flex item would otherwise claim the whole row and squeeze the\n legend to nothing. */flex:1 1 0;min-width:0;}.pie-chart.legend-right.svelte-1478ug .pie-legend-column:where(.svelte-1478ug) {flex:0 0 auto;max-width:var(--piechart-legend-column-max-width, 50%);}.pie-chart.legend-right.svelte-1478ug .pie-legend-values:where(.svelte-1478ug) {padding:var(--piechart-legend-column-padding, 0);}.pie-legend-more.svelte-1478ug {align-self:flex-start;margin-top:var(--piechart-legend-more-margin-top, 8px);padding:var(--piechart-legend-more-padding, 2px 4px);border:none;background:none;cursor:var(--cursor, pointer);font-size:var(--piechart-legend-more-font-size, 12px);font-family:inherit;color:var(--piechart-legend-more-color, #2563eb);}.pie-legend-more.svelte-1478ug:hover {text-decoration:underline;}.pie-legend-more.svelte-1478ug:focus-visible {outline:var(--piechart-legend-more-focus-outline, 2px solid currentColor);outline-offset:2px;}"
34189
34725
  };
34190
34726
  function PieChart(e, t) {
34191
34727
  let n = props_id();
34192
34728
  push(t, !0), append_styles$1(e, $$css$66);
34193
- let i = prop(t, "data", 7), a = prop(t, "innerRadius", 7, 0), o = prop(t, "padAngle", 7, .02), s = prop(t, "showLabels", 7, !1), c = prop(t, "showValues", 7, !1), l = prop(t, "labelPosition", 7, "outside"), u = prop(t, "showLegend", 7, !1), f = prop(t, "startAngle", 23, () => -Math.PI / 2), p = prop(t, "aspectRatio", 7), h = prop(t, "maxHeight", 7, 420), S = prop(t, "minHeight", 7, 0), C = prop(t, "valueFormat", 7), k = prop(t, "tooltipSnippet", 7), R = prop(t, "center", 7), te = prop(t, "empty", 7), ne = prop(t, "onsliceclick", 7), re = prop(t, "onslicehover", 7), G = prop(t, "testId", 7), be = prop(t, "classes", 7), Me = prop(t, "tooltipPortal", 7, !1), Re = prop(t, "semiCircle", 7, !1), Ue = prop(t, "legendShowValues", 7, !1), it = prop(t, "legendPosition", 7, "bottom"), at = prop(t, "legendMaxItems", 7), ot = prop(t, "onlegendmore", 7), ct = prop(t, "percentDecimals", 7, 0), lt = prop(t, "onchartready", 7), ut = prop(t, "highlightedIndex", 7, null), dt = prop(t, "changePercentage", 7), ft = prop(t, "changeInvertColors", 7, !1), pt = /* @__PURE__ */ state(!1), mt = /* @__PURE__ */ state(null), ht = /* @__PURE__ */ state(0), gt = /* @__PURE__ */ state(0), _t = /* @__PURE__ */ state(null), vt = /* @__PURE__ */ state(null), yt = /* @__PURE__ */ state(null), bt = /* @__PURE__ */ state(0), xt = /* @__PURE__ */ state(0), St = /* @__PURE__ */ state(2);
34729
+ let i = prop(t, "data", 7), a = prop(t, "innerRadius", 7, 0), o = prop(t, "padAngle", 7, .02), s = prop(t, "showLabels", 7, !1), c = prop(t, "showValues", 7, !1), l = prop(t, "labelPosition", 7, "outside"), u = prop(t, "showLegend", 7, !1), f = prop(t, "startAngle", 23, () => -Math.PI / 2), p = prop(t, "aspectRatio", 7), h = prop(t, "maxHeight", 7, 420), S = prop(t, "minHeight", 7, 0), C = prop(t, "valueFormat", 7), k = prop(t, "tooltipSnippet", 7), R = prop(t, "center", 7), te = prop(t, "empty", 7), ne = prop(t, "onsliceclick", 7), re = prop(t, "onslicehover", 7), G = prop(t, "testId", 7), be = prop(t, "classes", 7), Me = prop(t, "tooltipPortal", 7, !1), Re = prop(t, "semiCircle", 7, !1), Ue = prop(t, "legendShowValues", 7, !1), it = prop(t, "legendPosition", 7, "bottom"), at = prop(t, "legendMaxItems", 7), ot = prop(t, "onlegendmore", 7), ct = prop(t, "animateLegendValues", 7, !1), lt = prop(t, "percentDecimals", 7, 0), ut = prop(t, "onchartready", 7), dt = prop(t, "highlightedIndex", 7, null), ft = prop(t, "changePercentage", 7), pt = prop(t, "changeInvertColors", 7, !1), mt = /* @__PURE__ */ state(!1), ht = /* @__PURE__ */ state(null), gt = /* @__PURE__ */ state(0), _t = /* @__PURE__ */ state(0), vt = /* @__PURE__ */ state(null), yt = /* @__PURE__ */ state(null), bt = /* @__PURE__ */ state(null), xt = /* @__PURE__ */ state(0), St = /* @__PURE__ */ state(0), Ct = /* @__PURE__ */ state(2);
34194
34730
  onMount(() => {
34195
- if (lt()?.({
34731
+ if (ut()?.({
34196
34732
  highlight: (e) => {
34197
- set(yt, e, !0);
34733
+ set(bt, e, !0);
34198
34734
  },
34199
34735
  getCategories: () => i().map((e) => e.label),
34200
34736
  type: "donut-chart"
34201
- }), typeof window < "u" && get(mt) !== null) {
34202
- let e = getComputedStyle(get(mt)).getPropertyValue("--piechart-semi-aspect-ratio").trim(), t = parseFloat(e);
34203
- !Number.isNaN(t) && t > 0 && set(St, t, !0);
34737
+ }), typeof window < "u" && get(ht) !== null) {
34738
+ let e = getComputedStyle(get(ht)).getPropertyValue("--piechart-semi-aspect-ratio").trim(), t = parseFloat(e);
34739
+ !Number.isNaN(t) && t > 0 && set(Ct, t, !0);
34204
34740
  }
34205
34741
  });
34206
- let Ct = /* @__PURE__ */ user_derived(() => get(vt) ?? get(_t)), wt = /* @__PURE__ */ user_derived(() => get(Ct) ?? ut() ?? get(yt)), Tt = /* @__PURE__ */ user_derived(() => C() ?? formatNumber), Et = /* @__PURE__ */ user_derived(() => i().reduce((e, t) => e + pieSliceValue(t.value), 0)), Dt = /* @__PURE__ */ user_derived(() => (e) => get(Et) === 0 ? "0%" : (e / get(Et) * 100).toFixed(ct()) + "%"), Ot = /* @__PURE__ */ user_derived(() => i().length === 0 || get(Et) === 0), kt = /* @__PURE__ */ user_derived(() => p() ?? (Re() ? get(St) : 1)), At = /* @__PURE__ */ user_derived(() => get(ht) / 2), jt = /* @__PURE__ */ user_derived(() => Re() ? get(gt) : get(gt) / 2), Mt = /* @__PURE__ */ user_derived(() => Re() ? Math.max(10, get(ht) / 2 - (s() && l() === "outside" ? 40 : 10)) : Math.max(10, Math.min(get(At), get(jt)) - (s() && l() === "outside" ? 40 : 10))), Nt = /* @__PURE__ */ user_derived(() => a() > 0 ? get(Mt) * Math.min(.95, a()) : 0), Pt = /* @__PURE__ */ user_derived(() => {
34742
+ let wt = /* @__PURE__ */ user_derived(() => get(yt) ?? get(vt)), Tt = /* @__PURE__ */ user_derived(() => get(wt) ?? dt() ?? get(bt)), Et = /* @__PURE__ */ user_derived(() => C() ?? formatNumber), Dt = /* @__PURE__ */ user_derived(() => i().reduce((e, t) => e + pieSliceValue(t.value), 0)), Ot = /* @__PURE__ */ user_derived(() => (e) => get(Dt) === 0 ? "0%" : (e / get(Dt) * 100).toFixed(lt()) + "%"), kt = /* @__PURE__ */ user_derived(() => (e) => `${get(Et)(e)}\u00A0${get(Ot)(e)}`), At = /* @__PURE__ */ user_derived(() => i().length === 0 || get(Dt) === 0), jt = /* @__PURE__ */ user_derived(() => p() ?? (Re() ? get(Ct) : 1)), Mt = /* @__PURE__ */ user_derived(() => get(gt) / 2), Nt = /* @__PURE__ */ user_derived(() => Re() ? get(_t) : get(_t) / 2), Pt = /* @__PURE__ */ user_derived(() => Re() ? Math.max(10, get(gt) / 2 - (s() && l() === "outside" ? 40 : 10)) : Math.max(10, Math.min(get(Mt), get(Nt)) - (s() && l() === "outside" ? 40 : 10))), It = /* @__PURE__ */ user_derived(() => a() > 0 ? get(Pt) * Math.min(.95, a()) : 0), Lt = /* @__PURE__ */ user_derived(() => {
34207
34743
  let e = Re() ? -Math.PI / 2 : f();
34208
34744
  return computePieLayout(i(), e, o()).map((e) => {
34209
34745
  let t = e.startAngle, n = e.endAngle, a = e.midAngle;
@@ -34211,43 +34747,43 @@ function PieChart(e, t) {
34211
34747
  let i = -Math.PI / 2;
34212
34748
  t = i + (e.startAngle - i) / 2, n = i + (e.endAngle - i) / 2, a = i + (e.midAngle - i) / 2;
34213
34749
  }
34214
- let o = e.color ?? i()[e.index]?.color ?? getColor(e.index), s = l() === "outside" ? get(Mt) + 16 : (get(Nt) + get(Mt)) / 2;
34750
+ let o = e.color ?? i()[e.index]?.color ?? getColor(e.index), s = l() === "outside" ? get(Pt) + 16 : (get(It) + get(Pt)) / 2;
34215
34751
  return {
34216
34752
  ...e,
34217
34753
  startAngle: t,
34218
34754
  endAngle: n,
34219
34755
  midAngle: a,
34220
34756
  color: o,
34221
- path: arcPath(0, 0, get(Nt), get(Mt), t, n),
34757
+ path: arcPath(0, 0, get(It), get(Pt), t, n),
34222
34758
  labelX: s * Math.cos(a),
34223
34759
  labelY: s * Math.sin(a)
34224
34760
  };
34225
34761
  });
34226
- }), It = /* @__PURE__ */ user_derived(() => typeof at() == "number" && Number.isFinite(at()) && at() > 0 ? Math.max(1, Math.floor(at())) : null), Lt = (e, t) => {
34227
- set(pt, !1);
34762
+ }), Rt = /* @__PURE__ */ user_derived(() => typeof at() == "number" && Number.isFinite(at()) && at() > 0 ? Math.max(1, Math.floor(at())) : null), zt = (e, t) => {
34763
+ set(mt, !1);
34228
34764
  };
34229
34765
  user_effect(() => {
34230
- Lt(get(It), i().length);
34766
+ zt(get(Rt), i().length);
34231
34767
  });
34232
- let Rt = /* @__PURE__ */ user_derived(() => get(It) === null ? 0 : Math.max(0, i().length - get(It))), zt = /* @__PURE__ */ user_derived(() => get(It) === null || get(pt) ? i() : i().slice(0, get(It))), Bt = /* @__PURE__ */ user_derived(() => !get(Ot) && u() && Ue() && it() === "right"), Ht = `pie-legend-${n}`, Gt = () => {
34768
+ let Bt = /* @__PURE__ */ user_derived(() => get(Rt) === null ? 0 : Math.max(0, i().length - get(Rt))), Ht = /* @__PURE__ */ user_derived(() => get(Rt) === null || get(mt) ? i() : i().slice(0, get(Rt))), Gt = /* @__PURE__ */ user_derived(() => !get(At) && u() && Ue() && it() === "right"), qt = `pie-legend-${n}`, Zt = () => {
34233
34769
  if (typeof ot() == "function") {
34234
34770
  ot()();
34235
34771
  return;
34236
34772
  }
34237
- set(pt, !get(pt));
34238
- }, qt = /* @__PURE__ */ user_derived(() => i().map((e, t) => ({
34773
+ set(mt, !get(mt));
34774
+ }, Qt = /* @__PURE__ */ user_derived(() => i().map((e, t) => ({
34239
34775
  label: e.label,
34240
34776
  color: e.color ?? getColor(t)
34241
- }))), Zt = /* @__PURE__ */ user_derived(() => {
34777
+ }))), $t = /* @__PURE__ */ user_derived(() => {
34242
34778
  let e = new SvelteMap();
34243
- if (!s() && !c() || get(ht) <= 0) return e;
34244
- let t = { size: get(mt) ? readCssVarPx(get(mt), "--piechart-label-font-size", 12) : 12 }, n = measureText("Ag", t).height, i = [];
34245
- for (let e of get(Pt)) {
34779
+ if (!s() && !c() || get(gt) <= 0) return e;
34780
+ let t = { size: get(ht) ? readCssVarPx(get(ht), "--piechart-label-font-size", 12) : 12 }, n = measureText("Ag", t).height, i = [];
34781
+ for (let e of get(Lt)) {
34246
34782
  let a = [];
34247
- s() && a.push(e.label), c() && a.push(get(Dt)(e.value));
34783
+ s() && a.push(e.label), c() && a.push(get(Ot)(e.value));
34248
34784
  let o = a.join(" ").trim();
34249
34785
  if (o.length === 0) continue;
34250
- let u = get(At) + e.labelX, f = get(jt) + e.labelY, p = Math.max(0, Math.min(u, get(ht) - u) * 2 - 8), h = l() === "outside" ? get(Mt) : (get(Nt) + get(Mt)) / 2, S = (e.endAngle - e.startAngle) * h;
34786
+ let u = get(Mt) + e.labelX, f = get(Nt) + e.labelY, p = Math.max(0, Math.min(u, get(gt) - u) * 2 - 8), h = l() === "outside" ? get(Pt) : (get(It) + get(Pt)) / 2, S = (e.endAngle - e.startAngle) * h;
34251
34787
  if (l() === "inside" && S < n) continue;
34252
34788
  let C = truncateToWidth(o, p, t);
34253
34789
  if (C === "") continue;
@@ -34268,73 +34804,73 @@ function PieChart(e, t) {
34268
34804
  return a.forEach((t, n) => {
34269
34805
  o[n] && e.set(t.index, t.text);
34270
34806
  }), e;
34271
- }), Qt = /* @__PURE__ */ user_derived(() => get(Nt) > 0 ? Math.max(0, get(Nt) * 1.9) : 0), $t = /* @__PURE__ */ user_derived(() => -get(Qt) / 2);
34272
- function en(e) {
34273
- return get(Pt).find((t) => t.index === e) ?? null;
34807
+ }), en = /* @__PURE__ */ user_derived(() => get(It) > 0 ? Math.max(0, get(It) * 1.9) : 0), tn = /* @__PURE__ */ user_derived(() => -get(en) / 2);
34808
+ function nn(e) {
34809
+ return get(Lt).find((t) => t.index === e) ?? null;
34274
34810
  }
34275
- let tn = /* @__PURE__ */ user_derived(() => {
34276
- if (get(Ct) === null || !get(Pt)[get(Ct)]) return null;
34277
- let e = get(Pt)[get(Ct)];
34811
+ let rn = /* @__PURE__ */ user_derived(() => {
34812
+ if (get(wt) === null || !get(Lt)[get(wt)]) return null;
34813
+ let e = get(Lt)[get(wt)];
34278
34814
  return {
34279
34815
  title: e.label,
34280
34816
  items: [{
34281
34817
  label: e.label,
34282
- value: `${get(Tt)(e.value)} (${get(Dt)(e.value)})`,
34818
+ value: `${get(Et)(e.value)} (${get(Ot)(e.value)})`,
34283
34819
  color: e.color
34284
34820
  }]
34285
34821
  };
34286
- }), nn = /* @__PURE__ */ user_derived(() => {
34287
- if (get(Ct) === null) return null;
34288
- let e = en(get(Ct));
34822
+ }), an = /* @__PURE__ */ user_derived(() => {
34823
+ if (get(wt) === null) return null;
34824
+ let e = nn(get(wt));
34289
34825
  if (e === null) return null;
34290
- let t = (get(Nt) + get(Mt)) / 2;
34826
+ let t = (get(It) + get(Pt)) / 2;
34291
34827
  return {
34292
- x: get(At) + t * Math.cos(e.midAngle),
34293
- y: get(jt) + t * Math.sin(e.midAngle),
34828
+ x: get(Mt) + t * Math.cos(e.midAngle),
34829
+ y: get(Nt) + t * Math.sin(e.midAngle),
34294
34830
  side: Math.sin(e.midAngle) <= 0 ? "top" : "bottom"
34295
34831
  };
34296
- }), rn = `pie-status-${n}`, an = /* @__PURE__ */ user_derived(() => {
34297
- if (get(wt) === null) return "";
34298
- let e = en(get(wt));
34299
- return e === null ? "" : `${e.label}: ${get(Tt)(e.value)} (${get(Dt)(e.value)})`;
34832
+ }), on = `pie-status-${n}`, sn = /* @__PURE__ */ user_derived(() => {
34833
+ if (get(Tt) === null) return "";
34834
+ let e = nn(get(Tt));
34835
+ return e === null ? "" : `${e.label}: ${get(Et)(e.value)} (${get(Ot)(e.value)})`;
34300
34836
  });
34301
- function on(e) {
34302
- let t = pointerPositionIn(get(mt), e);
34303
- t !== null && (set(bt, t.x, !0), set(xt, t.y, !0));
34837
+ function cn(e) {
34838
+ let t = pointerPositionIn(get(ht), e);
34839
+ t !== null && (set(xt, t.x, !0), set(St, t.y, !0));
34304
34840
  }
34305
- let sn = null;
34306
- function cn() {
34307
- let e = get(Ct);
34308
- e !== sn && (sn = e, re()?.(e === null ? null : {
34841
+ let ln = null;
34842
+ function un() {
34843
+ let e = get(wt);
34844
+ e !== ln && (ln = e, re()?.(e === null ? null : {
34309
34845
  index: e,
34310
34846
  slice: i()[e]
34311
34847
  }));
34312
34848
  }
34313
- function ln(e, t) {
34314
- set(_t, t, !0), on(e), cn();
34315
- }
34316
- function un(e) {
34317
- set(_t, e, !0), cn();
34318
- }
34319
- function dn() {
34320
- set(_t, null), cn();
34849
+ function dn(e, t) {
34850
+ set(vt, t, !0), cn(e), un();
34321
34851
  }
34322
34852
  function fn(e) {
34323
- set(vt, e, !0), cn();
34853
+ set(vt, e, !0), un();
34324
34854
  }
34325
34855
  function pn() {
34326
- set(vt, null), cn();
34856
+ set(vt, null), un();
34327
34857
  }
34328
- function mn(e, t) {
34858
+ function mn(e) {
34859
+ set(yt, e, !0), un();
34860
+ }
34861
+ function hn() {
34862
+ set(yt, null), un();
34863
+ }
34864
+ function gn(e, t) {
34329
34865
  (e.key === "Enter" || e.key === " ") && (e.preventDefault(), ne()?.({
34330
34866
  index: t,
34331
34867
  slice: i()[t]
34332
34868
  }));
34333
34869
  }
34334
34870
  user_effect(() => {
34335
- if (get(_t) !== null) return dismissOnOutsidePointerDown(get(mt), dn);
34871
+ if (get(vt) !== null) return dismissOnOutsidePointerDown(get(ht), pn);
34336
34872
  });
34337
- var hn = {
34873
+ var _n = {
34338
34874
  get data() {
34339
34875
  return i();
34340
34876
  },
@@ -34485,48 +35021,54 @@ function PieChart(e, t) {
34485
35021
  set onlegendmore(e) {
34486
35022
  ot(e), flushSync();
34487
35023
  },
34488
- get percentDecimals() {
35024
+ get animateLegendValues() {
34489
35025
  return ct();
34490
35026
  },
34491
- set percentDecimals(e = 0) {
35027
+ set animateLegendValues(e = !1) {
34492
35028
  ct(e), flushSync();
34493
35029
  },
34494
- get onchartready() {
35030
+ get percentDecimals() {
34495
35031
  return lt();
34496
35032
  },
34497
- set onchartready(e) {
35033
+ set percentDecimals(e = 0) {
34498
35034
  lt(e), flushSync();
34499
35035
  },
34500
- get highlightedIndex() {
35036
+ get onchartready() {
34501
35037
  return ut();
34502
35038
  },
34503
- set highlightedIndex(e = null) {
35039
+ set onchartready(e) {
34504
35040
  ut(e), flushSync();
34505
35041
  },
34506
- get changePercentage() {
35042
+ get highlightedIndex() {
34507
35043
  return dt();
34508
35044
  },
34509
- set changePercentage(e) {
35045
+ set highlightedIndex(e = null) {
34510
35046
  dt(e), flushSync();
34511
35047
  },
34512
- get changeInvertColors() {
35048
+ get changePercentage() {
34513
35049
  return ft();
34514
35050
  },
34515
- set changeInvertColors(e = !1) {
35051
+ set changePercentage(e) {
34516
35052
  ft(e), flushSync();
35053
+ },
35054
+ get changeInvertColors() {
35055
+ return pt();
35056
+ },
35057
+ set changeInvertColors(e = !1) {
35058
+ pt(e), flushSync();
34517
35059
  }
34518
- }, gn = root_12$7();
34519
- let _n;
34520
- var vn = child(gn), yn = (e) => {
35060
+ }, vn = root_12$7();
35061
+ let yn;
35062
+ var bn = child(vn), xn = (e) => {
34521
35063
  var t = root$31();
34522
35064
  snippet(child(t), te), reset(t), append(e, t);
34523
- }, bn = (e) => {
35065
+ }, Sn = (e) => {
34524
35066
  var t = root_11$8(), n = first_child(t), a = child(n, !0);
34525
35067
  reset(n);
34526
35068
  var o = sibling(n, 2), s = (e) => {
34527
35069
  Legend(e, {
34528
35070
  get items() {
34529
- return get(qt);
35071
+ return get(Qt);
34530
35072
  },
34531
35073
  position: "top",
34532
35074
  customSnippet: (e, t = noop) => {
@@ -34537,8 +35079,8 @@ function PieChart(e, t) {
34537
35079
  set_attribute(a, "data-pw", `pie-legend-sync-${n}`), set_attribute(a, "testid", `pie-legend-sync-${n}`);
34538
35080
  var s = child(a), c = sibling(s, 2), l = child(c, !0);
34539
35081
  reset(c), reset(a), template_effect(() => {
34540
- o = set_class(a, 1, "legend-item pie-legend-sync-item svelte-1478ug", null, o, { "legend-sync-active": get(wt) === n }), set_style(s, `background: ${get(t).color ?? ""}`), set_text(l, get(t).label);
34541
- }), event("pointerenter", a, () => un(n)), event("pointerleave", a, dn), event("focus", a, () => fn(n)), event("blur", a, pn), delegated("click", a, () => ne()?.({
35082
+ o = set_class(a, 1, "legend-item pie-legend-sync-item svelte-1478ug", null, o, { "legend-sync-active": get(Tt) === n }), set_style(s, `background: ${get(t).color ?? ""}`), set_text(l, get(t).label);
35083
+ }), event("pointerenter", a, () => fn(n)), event("pointerleave", a, pn), event("focus", a, () => mn(n)), event("blur", a, hn), delegated("click", a, () => ne()?.({
34542
35084
  index: n,
34543
35085
  slice: i()[n]
34544
35086
  })), append(e, a);
@@ -34553,7 +35095,7 @@ function PieChart(e, t) {
34553
35095
  var c = sibling(o, 2);
34554
35096
  ChartContainer(c, {
34555
35097
  get aspectRatio() {
34556
- return get(kt);
35098
+ return get(jt);
34557
35099
  },
34558
35100
  get maxHeight() {
34559
35101
  return h();
@@ -34562,20 +35104,20 @@ function PieChart(e, t) {
34562
35104
  return S();
34563
35105
  },
34564
35106
  get width() {
34565
- return get(ht);
35107
+ return get(gt);
34566
35108
  },
34567
35109
  set width(e) {
34568
- set(ht, e, !0);
35110
+ set(gt, e, !0);
34569
35111
  },
34570
35112
  get height() {
34571
- return get(gt);
35113
+ return get(_t);
34572
35114
  },
34573
35115
  set height(e) {
34574
- set(gt, e, !0);
35116
+ set(_t, e, !0);
34575
35117
  },
34576
35118
  children: (e, t) => {
34577
35119
  var n = root_6$18(), a = child(n);
34578
- each(a, 17, () => get(Pt), (e) => e.index, (e, t) => {
35120
+ each(a, 17, () => get(Lt), (e) => e.index, (e, t) => {
34579
35121
  var n = root_4$19(), a = first_child(n);
34580
35122
  let o;
34581
35123
  var s = sibling(a), c = (e) => {
@@ -34584,16 +35126,16 @@ function PieChart(e, t) {
34584
35126
  var a = child(n, !0);
34585
35127
  reset(n), template_effect((e) => {
34586
35128
  i = set_class(n, 0, "slice-label svelte-1478ug", null, i, { "label-outside": l() === "outside" }), set_attribute(n, "x", get(t).labelX), set_attribute(n, "y", get(t).labelY), set_text(a, e);
34587
- }, [() => get(Zt).get(get(t).index)]), append(e, n);
34588
- }, u = /* @__PURE__ */ user_derived(() => get(Zt).has(get(t).index));
35129
+ }, [() => get($t).get(get(t).index)]), append(e, n);
35130
+ }, u = /* @__PURE__ */ user_derived(() => get($t).has(get(t).index));
34589
35131
  if_block(s, (e) => {
34590
35132
  get(u) && e(c);
34591
35133
  }), template_effect((e) => {
34592
35134
  o = set_class(a, 0, "slice svelte-1478ug", null, o, {
34593
- hovered: get(wt) === get(t).index,
34594
- dimmed: get(wt) !== null && get(wt) !== get(t).index
34595
- }), set_attribute(a, "d", get(t).path), set_attribute(a, "fill", get(t).color), set_attribute(a, "aria-label", `${get(t).label ?? ""}: ${e ?? ""}`), set_attribute(a, "aria-describedby", rn);
34596
- }, [() => get(Tt)(get(t).value)]), event("mouseenter", a, (e) => ln(e, get(t).index)), delegated("mousemove", a, on), event("mouseleave", a, dn), event("focus", a, () => fn(get(t).index)), event("blur", a, pn), delegated("keydown", a, (e) => mn(e, get(t).index)), delegated("click", a, () => ne()?.({
35135
+ hovered: get(Tt) === get(t).index,
35136
+ dimmed: get(Tt) !== null && get(Tt) !== get(t).index
35137
+ }), set_attribute(a, "d", get(t).path), set_attribute(a, "fill", get(t).color), set_attribute(a, "aria-label", `${get(t).label ?? ""}: ${e ?? ""}`), set_attribute(a, "aria-describedby", on);
35138
+ }, [() => get(Et)(get(t).value)]), event("mouseenter", a, (e) => dn(e, get(t).index)), delegated("mousemove", a, cn), event("mouseleave", a, pn), event("focus", a, () => mn(get(t).index)), event("blur", a, hn), delegated("keydown", a, (e) => gn(e, get(t).index)), delegated("click", a, () => ne()?.({
34597
35139
  index: get(t).index,
34598
35140
  slice: i()[get(t).index]
34599
35141
  })), append(e, n);
@@ -34601,12 +35143,12 @@ function PieChart(e, t) {
34601
35143
  var o = sibling(a), s = (e) => {
34602
35144
  var t = root_5$18(), n = child(t);
34603
35145
  snippet(child(n), R), reset(n), reset(t), template_effect(() => {
34604
- set_attribute(t, "x", -get(Qt) / 2), set_attribute(t, "y", get($t)), set_attribute(t, "width", get(Qt)), set_attribute(t, "height", get(Qt));
35146
+ set_attribute(t, "x", -get(en) / 2), set_attribute(t, "y", get(tn)), set_attribute(t, "width", get(en)), set_attribute(t, "height", get(en));
34605
35147
  }), append(e, t);
34606
35148
  };
34607
35149
  if_block(o, (e) => {
34608
- get(Nt) > 0 && typeof R() == "function" && get(Qt) > 0 && e(s);
34609
- }), reset(n), template_effect(() => set_attribute(n, "transform", `translate(${get(At) ?? ""}, ${get(jt) ?? ""})`)), append(e, n);
35150
+ get(It) > 0 && typeof R() == "function" && get(en) > 0 && e(s);
35151
+ }), reset(n), template_effect(() => set_attribute(n, "transform", `translate(${get(Mt) ?? ""}, ${get(Nt) ?? ""})`)), append(e, n);
34610
35152
  },
34611
35153
  $$slots: { default: !0 }
34612
35154
  });
@@ -34614,45 +35156,53 @@ function PieChart(e, t) {
34614
35156
  var t = root_7$16();
34615
35157
  DeltaIndicator(child(t), {
34616
35158
  get value() {
34617
- return dt();
35159
+ return ft();
34618
35160
  },
34619
35161
  get invertColors() {
34620
- return ft();
35162
+ return pt();
34621
35163
  }
34622
35164
  }), reset(t), append(e, t);
34623
35165
  };
34624
35166
  if_block(f, (e) => {
34625
- typeof dt() == "number" && e(p);
35167
+ typeof ft() == "number" && e(p);
34626
35168
  });
34627
35169
  var C = sibling(f, 2), te = (e) => {
34628
35170
  var t = root_10$10(), n = child(t);
34629
- each(n, 21, () => get(zt), index, (e, t, n) => {
35171
+ each(n, 21, () => get(Ht), index, (e, t, n) => {
34630
35172
  var i = root_8$14(), a = child(i), o = sibling(a, 2), s = child(o, !0);
34631
35173
  reset(o);
34632
- var c = sibling(o, 2), l = child(c);
34633
- reset(c), reset(i), template_effect((e, n, i) => {
34634
- set_style(a, `background: ${e ?? ""}`), set_text(s, get(t).label), set_text(l, `${n ?? ""} ${i ?? ""}`);
34635
- }, [
34636
- () => get(t).color ?? getColor(n),
34637
- () => get(Tt)(pieSliceValue(get(t).value)),
34638
- () => get(Dt)(pieSliceValue(get(t).value))
34639
- ]), append(e, i);
35174
+ var c = sibling(o, 2), l = child(c), u = (e) => {
35175
+ {
35176
+ let n = /* @__PURE__ */ user_derived(() => get(kt)(pieSliceValue(get(t).value)));
35177
+ AnimatedNumber(e, { get value() {
35178
+ return get(n);
35179
+ } });
35180
+ }
35181
+ }, f = (e) => {
35182
+ var n = text();
35183
+ template_effect((e, t) => set_text(n, `${e ?? ""} ${t ?? ""}`), [() => get(Et)(pieSliceValue(get(t).value)), () => get(Ot)(pieSliceValue(get(t).value))]), append(e, n);
35184
+ };
35185
+ if_block(l, (e) => {
35186
+ ct() ? e(u) : e(f, -1);
35187
+ }), reset(c), reset(i), template_effect((e) => {
35188
+ set_style(a, `background: ${e ?? ""}`), set_text(s, get(t).label);
35189
+ }, [() => get(t).color ?? getColor(n)]), append(e, i);
34640
35190
  }), reset(n);
34641
35191
  var i = sibling(n, 2), a = (e) => {
34642
35192
  var t = root_9$11();
34643
35193
  attribute_effect(t, () => ({
34644
35194
  type: "button",
34645
35195
  class: "pie-legend-more",
34646
- "aria-expanded": typeof ot() == "function" ? null : get(pt),
34647
- ...typeof ot() == "function" ? {} : { "aria-controls": Ht },
34648
- onclick: Gt
35196
+ "aria-expanded": typeof ot() == "function" ? null : get(mt),
35197
+ ...typeof ot() == "function" ? {} : { "aria-controls": qt },
35198
+ onclick: Zt
34649
35199
  }), void 0, void 0, void 0, "svelte-1478ug");
34650
35200
  var n = child(t, !0);
34651
- reset(t), template_effect(() => set_text(n, get(pt) ? "Show less" : `+${get(Rt)} more`)), append(e, t);
35201
+ reset(t), template_effect(() => set_text(n, get(mt) ? "Show less" : `+${get(Bt)} more`)), append(e, t);
34652
35202
  };
34653
35203
  if_block(i, (e) => {
34654
- get(Rt) > 0 && e(a);
34655
- }), reset(t), template_effect(() => set_attribute(n, "id", Ht)), append(e, t);
35204
+ get(Bt) > 0 && e(a);
35205
+ }), reset(t), template_effect(() => set_attribute(n, "id", qt)), append(e, t);
34656
35206
  };
34657
35207
  if_block(C, (e) => {
34658
35208
  u() && Ue() && e(te);
@@ -34660,31 +35210,31 @@ function PieChart(e, t) {
34660
35210
  var re = sibling(C, 2), G = (e) => {
34661
35211
  ChartTooltip(e, {
34662
35212
  get data() {
34663
- return get(tn);
35213
+ return get(rn);
34664
35214
  },
34665
35215
  get mouseX() {
34666
- return get(bt);
35216
+ return get(xt);
34667
35217
  },
34668
35218
  get mouseY() {
34669
- return get(xt);
35219
+ return get(St);
34670
35220
  },
34671
35221
  get anchor() {
34672
- return get(nn);
35222
+ return get(an);
34673
35223
  },
34674
35224
  get portal() {
34675
35225
  return Me();
34676
35226
  },
34677
35227
  get originEl() {
34678
- return get(mt);
35228
+ return get(ht);
34679
35229
  },
34680
35230
  unstyled: !0,
34681
35231
  content: (e) => {
34682
35232
  var t = comment(), n = first_child(t), a = (e) => {
34683
35233
  var t = comment();
34684
- snippet(first_child(t), k, () => i()[get(Ct)], () => get(Ct)), append(e, t);
35234
+ snippet(first_child(t), k, () => i()[get(wt)], () => get(wt)), append(e, t);
34685
35235
  };
34686
35236
  if_block(n, (e) => {
34687
- get(Ct) !== null && i()[get(Ct)] && e(a);
35237
+ get(wt) !== null && i()[get(wt)] && e(a);
34688
35238
  }), append(e, t);
34689
35239
  },
34690
35240
  $$slots: { content: !0 }
@@ -34692,36 +35242,36 @@ function PieChart(e, t) {
34692
35242
  }, be = (e) => {
34693
35243
  ChartTooltip(e, {
34694
35244
  get data() {
34695
- return get(tn);
35245
+ return get(rn);
34696
35246
  },
34697
35247
  get mouseX() {
34698
- return get(bt);
35248
+ return get(xt);
34699
35249
  },
34700
35250
  get mouseY() {
34701
- return get(xt);
35251
+ return get(St);
34702
35252
  },
34703
35253
  get anchor() {
34704
- return get(nn);
35254
+ return get(an);
34705
35255
  },
34706
35256
  get portal() {
34707
35257
  return Me();
34708
35258
  },
34709
35259
  get originEl() {
34710
- return get(mt);
35260
+ return get(ht);
34711
35261
  }
34712
35262
  });
34713
35263
  };
34714
35264
  if_block(re, (e) => {
34715
35265
  typeof k() == "function" ? e(G) : e(be, -1);
34716
35266
  }), template_effect(() => {
34717
- set_attribute(n, "id", rn), set_text(a, get(an));
35267
+ set_attribute(n, "id", on), set_text(a, get(sn));
34718
35268
  }), append(e, t);
34719
35269
  };
34720
- return if_block(vn, (e) => {
34721
- get(Ot) && typeof te() == "function" ? e(yn) : e(bn, -1);
34722
- }), reset(gn), bind_this(gn, (e) => set(mt, e), () => get(mt)), template_effect(() => {
34723
- _n = set_class(gn, 1, `pie-chart ${be() ?? "" ?? ""}`, "svelte-1478ug", _n, { "legend-right": get(Bt) }), set_attribute(gn, "data-pw", typeof G() == "string" ? G() : null), set_attribute(gn, "testid", typeof G() == "string" ? G() : null);
34724
- }), append(e, gn), pop(hn);
35270
+ return if_block(bn, (e) => {
35271
+ get(At) && typeof te() == "function" ? e(xn) : e(Sn, -1);
35272
+ }), reset(vn), bind_this(vn, (e) => set(ht, e), () => get(ht)), template_effect(() => {
35273
+ yn = set_class(vn, 1, `pie-chart ${be() ?? "" ?? ""}`, "svelte-1478ug", yn, { "legend-right": get(Gt) }), set_attribute(vn, "data-pw", typeof G() == "string" ? G() : null), set_attribute(vn, "testid", typeof G() == "string" ? G() : null);
35274
+ }), append(e, vn), pop(_n);
34725
35275
  }
34726
35276
  delegate([
34727
35277
  "click",
@@ -34753,6 +35303,7 @@ delegate([
34753
35303
  legendPosition: {},
34754
35304
  legendMaxItems: {},
34755
35305
  onlegendmore: {},
35306
+ animateLegendValues: {},
34756
35307
  percentDecimals: {},
34757
35308
  onchartready: {},
34758
35309
  highlightedIndex: {},
@@ -34869,6 +35420,10 @@ customElements.define("sui-pie-chart", create_custom_element(PieChart_wc, {
34869
35420
  attribute: "legend-max-items",
34870
35421
  type: "Number"
34871
35422
  },
35423
+ animateLegendValues: {
35424
+ attribute: "animate-legend-values",
35425
+ type: "Boolean"
35426
+ },
34872
35427
  percentDecimals: {
34873
35428
  attribute: "percent-decimals",
34874
35429
  type: "Number"
@@ -41121,18 +41676,18 @@ customElements.define("sui-media-player", create_custom_element(MediaPlayer_wc,
41121
41676
  ], [], { mode: "open" }));
41122
41677
  //#endregion
41123
41678
  //#region src/lib/assets/add.svg?raw
41124
- var add_default = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" xmlns=\"http://www.w3.org/2000/svg\">\n <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\" />\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n</svg>\n", file_default = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linejoin=\"round\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M14 3v5h5\" />\n <path d=\"M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8l-5-5z\" />\n</svg>\n", root$21 = /* @__PURE__ */ from_html("<div class=\"label svelte-nabf7u\"> </div>"), root_1$19 = /* @__PURE__ */ from_html("<div class=\"counter svelte-nabf7u\"> </div>"), root_2$12 = /* @__PURE__ */ from_html("<div class=\"header svelte-nabf7u\"><!> <!></div>"), root_3$11 = /* @__PURE__ */ from_html("<div class=\"description svelte-nabf7u\"> </div>"), root_4$10 = /* @__PURE__ */ from_html("<span class=\"thumb svelte-nabf7u\"><!></span>"), root_5$9 = /* @__PURE__ */ from_html("<span class=\"thumb-loading svelte-nabf7u\"><!></span>"), root_6$9 = /* @__PURE__ */ from_html("<div class=\"file-icon svelte-nabf7u\"><!></div>"), root_7$8 = /* @__PURE__ */ from_html("<span class=\"meta-name svelte-nabf7u\"> </span>"), root_8$7 = /* @__PURE__ */ from_html("<span class=\"meta-size svelte-nabf7u\"> </span>"), root_9$6 = /* @__PURE__ */ from_html("<div class=\"meta svelte-nabf7u\"><!> <!></div>"), root_10$5 = /* @__PURE__ */ from_html("<div class=\"remove svelte-nabf7u\"><!></div>"), root_11$3 = /* @__PURE__ */ from_html("<div><!> <!> <!></div>"), root_12$3 = /* @__PURE__ */ from_html("<span class=\"drop-text svelte-nabf7u\"> </span>"), root_13$2 = /* @__PURE__ */ from_html("<span class=\"drop-hint svelte-nabf7u\"> </span>"), root_14$2 = /* @__PURE__ */ from_html("<label><span class=\"drop-icon svelte-nabf7u\"><!></span> <!> <!> <input type=\"file\" class=\"file-input\" hidden=\"\"/></label>"), root_15$2 = /* @__PURE__ */ from_html("<div class=\"error svelte-nabf7u\" role=\"alert\"> </div>"), root_16$1 = /* @__PURE__ */ from_html("<div><!> <!> <div class=\"grid svelte-nabf7u\"><!> <!></div> <!></div>"), $$css$45 = {
41679
+ var add_default = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" xmlns=\"http://www.w3.org/2000/svg\">\n <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\" />\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n</svg>\n", file_default = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linejoin=\"round\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M14 3v5h5\" />\n <path d=\"M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8l-5-5z\" />\n</svg>\n", root$21 = /* @__PURE__ */ from_html("<div class=\"label svelte-nabf7u\"> </div>"), root_1$19 = /* @__PURE__ */ from_html("<div class=\"counter svelte-nabf7u\"><!></div>"), root_2$12 = /* @__PURE__ */ from_html("<div class=\"counter svelte-nabf7u\"> </div>"), root_3$11 = /* @__PURE__ */ from_html("<div class=\"header svelte-nabf7u\"><!> <!></div>"), root_4$10 = /* @__PURE__ */ from_html("<div class=\"description svelte-nabf7u\"> </div>"), root_5$9 = /* @__PURE__ */ from_html("<span class=\"thumb svelte-nabf7u\"><!></span>"), root_6$9 = /* @__PURE__ */ from_html("<span class=\"thumb-loading svelte-nabf7u\"><!></span>"), root_7$8 = /* @__PURE__ */ from_html("<div class=\"file-icon svelte-nabf7u\"><!></div>"), root_8$7 = /* @__PURE__ */ from_html("<span class=\"meta-name svelte-nabf7u\"> </span>"), root_9$6 = /* @__PURE__ */ from_html("<span class=\"meta-size svelte-nabf7u\"> </span>"), root_10$5 = /* @__PURE__ */ from_html("<div class=\"meta svelte-nabf7u\"><!> <!></div>"), root_11$3 = /* @__PURE__ */ from_html("<div class=\"remove svelte-nabf7u\"><!></div>"), root_12$3 = /* @__PURE__ */ from_html("<div><!> <!> <!></div>"), root_13$2 = /* @__PURE__ */ from_html("<span class=\"drop-text svelte-nabf7u\"> </span>"), root_14$2 = /* @__PURE__ */ from_html("<span class=\"drop-hint svelte-nabf7u\"> </span>"), root_15$2 = /* @__PURE__ */ from_html("<label><span class=\"drop-icon svelte-nabf7u\"><!></span> <!> <!> <input type=\"file\" class=\"file-input\" hidden=\"\"/></label>"), root_16$1 = /* @__PURE__ */ from_html("<div class=\"error svelte-nabf7u\" role=\"alert\"> </div>"), root_17$1 = /* @__PURE__ */ from_html("<div><!> <!> <div class=\"grid svelte-nabf7u\"><!> <!></div> <!></div>"), $$css$45 = {
41125
41680
  hash: "svelte-nabf7u",
41126
41681
  code: ".media-upload.svelte-nabf7u {box-sizing:border-box;display:flex;flex-direction:column;width:var(--media-upload-width, fit-content);font-family:var(--media-upload-font-family, inherit);color:var(--media-upload-color, inherit);}.media-upload.disabled.svelte-nabf7u {opacity:var(--media-upload-disabled-opacity, 0.55);}.header.svelte-nabf7u {display:flex;align-items:baseline;justify-content:space-between;gap:var(--media-upload-header-gap, 12px);margin:var(--media-upload-label-margin, 0 0 4px 0);}.label.svelte-nabf7u {font-size:var(--media-upload-label-font-size, 14px);font-weight:var(--media-upload-label-font-weight, 600);color:var(--media-upload-label-color, #242833);}.counter.svelte-nabf7u {font-size:var(--media-upload-counter-font-size, 12px);font-weight:var(--media-upload-counter-font-weight, 500);color:var(--media-upload-counter-color, #5a5a5a);font-variant-numeric:tabular-nums;}.description.svelte-nabf7u {font-size:var(--media-upload-description-font-size, 12px);color:var(--media-upload-description-color, #656565);margin:var(--media-upload-description-margin, 0);}.grid.svelte-nabf7u {display:flex;flex-wrap:wrap;align-items:stretch;gap:var(--media-upload-gap, 12px);margin:var(--media-upload-content-margin, 12px 0 0 0);}.card.svelte-nabf7u,\n .drop-tile.svelte-nabf7u {box-sizing:border-box;height:var(--media-upload-item-height, 110px);width:var(--media-upload-item-width, 110px);border-radius:var(--media-upload-item-border-radius, 14px);}.card.svelte-nabf7u {position:relative;overflow:hidden;border:var(--media-upload-item-border, 1px solid #e4e4e7);background-color:var(--media-upload-item-background-color, #fafafa);box-shadow:var(--media-upload-item-box-shadow, 0 1px 2px rgba(0, 0, 0, 0.06));transition:var(--media-upload-item-transition, box-shadow 0.2s ease, transform 0.2s ease);}.card.svelte-nabf7u:hover {box-shadow:var(--media-upload-item-hover-box-shadow, 0 6px 18px rgba(0, 0, 0, 0.14));transform:var(--media-upload-item-hover-transform, translateY(-2px));}.thumb.svelte-nabf7u {display:contents;--image-width: 100%;--image-height: 100%;--image-object-fit: var(--media-upload-item-object-fit, cover);--image-border-radius: 0px;--image-padding: 0px;--image-margin: 0px;}.thumb-loading.svelte-nabf7u {display:contents;--shimmer-width: 100%;--shimmer-height: 100%;--shimmer-border-radius: 0px;}.file-icon.svelte-nabf7u {display:flex;height:100%;width:100%;justify-content:center;align-items:center;color:var(--media-upload-file-icon-color, #8a8f98);}.file-icon.svelte-nabf7u svg,\n .file-icon.svelte-nabf7u img {height:var(--media-upload-file-icon-size, 36px);width:var(--media-upload-file-icon-size, 36px);object-fit:contain;}.meta.svelte-nabf7u {position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:2px;box-sizing:border-box;padding:var(--media-upload-meta-padding, 6px 8px);background:var(\n --media-upload-meta-background,\n linear-gradient(to top, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0))\n );color:var(--media-upload-meta-color, #ffffff);}.is-file.svelte-nabf7u .meta:where(.svelte-nabf7u) {background:var(--media-upload-file-meta-background, transparent);color:var(--media-upload-file-meta-color, #52525b);}.meta-name.svelte-nabf7u {font-size:var(--media-upload-meta-name-font-size, 11px);font-weight:var(--media-upload-meta-name-font-weight, 500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.meta-size.svelte-nabf7u {font-size:var(--media-upload-meta-size-font-size, 10px);opacity:var(--media-upload-meta-size-opacity, 0.85);font-variant-numeric:tabular-nums;}.remove.svelte-nabf7u {position:absolute;top:var(--media-upload-remove-inset, 6px);right:var(--media-upload-remove-inset, 6px);opacity:var(--media-upload-remove-opacity, 0);transition:var(--media-upload-remove-transition, opacity 0.18s ease);--button-width: var(--media-upload-remove-size, 24px);--button-height: var(--media-upload-remove-size, 24px);--button-padding: var(--media-upload-remove-padding, 4px);--button-border: var(--media-upload-remove-border, none);--button-border-radius: var(--media-upload-remove-border-radius, 50%);--button-color: var(--media-upload-remove-background-color, rgba(0, 0, 0, 0.55));--button-text-color: var(--media-upload-remove-color, #ffffff);--button-content-gap: 0px;--button-hover-color: var(--media-upload-remove-hover-background-color, rgba(0, 0, 0, 0.78));--button-hover-text-color: var(\n --media-upload-remove-hover-color,\n var(--media-upload-remove-color, #ffffff)\n );}.card.svelte-nabf7u:hover .remove:where(.svelte-nabf7u),\n .remove.svelte-nabf7u:focus-within {opacity:1;}.remove.svelte-nabf7u svg,\n .remove.svelte-nabf7u img {height:var(--media-upload-remove-icon-size, 100%);width:var(--media-upload-remove-icon-size, 100%);object-fit:contain;}.drop-tile.svelte-nabf7u {display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--media-upload-add-gap, 6px);box-sizing:border-box;padding:var(--media-upload-add-padding, 12px);text-align:center;background-color:var(--media-upload-add-background-color, #fafafa);border:var(--media-upload-add-border, 1.5px dashed #c8ccd2);color:var(--media-upload-add-color, #4b5563);cursor:pointer;transition:var(\n --media-upload-add-transition,\n border-color 0.18s ease,\n background-color 0.18s ease,\n color 0.18s ease\n );}.drop-tile.svelte-nabf7u:hover {background-color:var(--media-upload-add-hover-background-color, #f1f5ff);border:var(--media-upload-add-hover-border, 1.5px dashed #6d8eff);color:var(--media-upload-add-hover-color, #3b5bdb);}.drop-tile.dragging.svelte-nabf7u {background-color:var(--media-upload-add-dragging-background-color, #e7efff);border:var(--media-upload-add-dragging-border, 1.5px solid #3b5bdb);color:var(--media-upload-add-dragging-color, #3b5bdb);}.drop-icon.svelte-nabf7u {display:flex;justify-content:center;align-items:center;}.drop-icon.svelte-nabf7u svg,\n .drop-icon.svelte-nabf7u img {height:var(--media-upload-add-icon-size, 22px);width:var(--media-upload-add-icon-size, 22px);object-fit:contain;}.drop-text.svelte-nabf7u {font-size:var(--media-upload-add-text-font-size, 11px);line-height:var(--media-upload-add-text-line-height, 1.3);}.drop-hint.svelte-nabf7u {font-size:var(--media-upload-add-hint-font-size, 10px);color:var(--media-upload-add-hint-color, #4b5563);}.error.svelte-nabf7u {font-size:var(--media-upload-error-font-size, 12px);color:var(--media-upload-error-color, #e0334b);margin:var(--media-upload-error-margin, 8px 0 0 0);}\n\n /* `--media-upload-item-transition` defaults to a box-shadow AND transform lift\n on hover. The shadow alone would be fine; the transform is movement, and a\n consumer overriding the token is most likely adding more of it. Dropping the\n whole declaration is right here because every end state is a resting state. */\n @media (prefers-reduced-motion: reduce) {.media-item.svelte-nabf7u {transition:none;}\n }"
41127
41682
  };
41128
41683
  function MediaUpload(e, t) {
41129
41684
  let n = props_id();
41130
41685
  push(t, !0), append_styles$1(e, $$css$45);
41131
- let i = prop(t, "label", 7), a = prop(t, "description", 7), o = prop(t, "addText", 7), s = prop(t, "hintText", 7), c = prop(t, "maxLength", 7, 3), l = prop(t, "accept", 7, "image/*"), u = prop(t, "maxFileSize", 7, 0), f = prop(t, "multiple", 7, !1), p = prop(t, "dragAndDrop", 7, !0), h = prop(t, "disabled", 7, !1), S = prop(t, "showCounter", 7, !0), C = prop(t, "showFileName", 7, !0), k = prop(t, "showFileSize", 7, !0), R = prop(t, "addIcon", 7), te = prop(t, "removeIcon", 7), ne = prop(t, "fileIcon", 7), re = prop(t, "errorMessages", 7), G = prop(t, "files", 31, () => proxy([])), be = prop(t, "onchange", 7), Me = prop(t, "onremove", 7), Re = prop(t, "onerror", 7), Ue = prop(t, "testId", 7), it = prop(t, "classes", 7), at = /* @__PURE__ */ state(proxy([])), ot = /* @__PURE__ */ state(""), ct = /* @__PURE__ */ state(!1), lt = /* @__PURE__ */ user_derived(() => get(at).length >= c()), ut = /* @__PURE__ */ user_derived(() => !get(lt) && !h());
41132
- function dt() {
41133
- G(get(at).map((e) => e.file)), be()?.(G());
41686
+ let i = prop(t, "label", 7), a = prop(t, "description", 7), o = prop(t, "addText", 7), s = prop(t, "hintText", 7), c = prop(t, "maxLength", 7, 3), l = prop(t, "accept", 7, "image/*"), u = prop(t, "maxFileSize", 7, 0), f = prop(t, "multiple", 7, !1), p = prop(t, "dragAndDrop", 7, !0), h = prop(t, "disabled", 7, !1), S = prop(t, "showCounter", 7, !0), C = prop(t, "showFileName", 7, !0), k = prop(t, "showFileSize", 7, !0), R = prop(t, "addIcon", 7), te = prop(t, "removeIcon", 7), ne = prop(t, "fileIcon", 7), re = prop(t, "errorMessages", 7), G = prop(t, "files", 31, () => proxy([])), be = prop(t, "animateCounter", 7, !1), Me = prop(t, "onchange", 7), Re = prop(t, "onremove", 7), Ue = prop(t, "onerror", 7), it = prop(t, "testId", 7), at = prop(t, "classes", 7), ot = /* @__PURE__ */ state(proxy([])), ct = /* @__PURE__ */ state(""), lt = /* @__PURE__ */ state(!1), ut = /* @__PURE__ */ user_derived(() => get(ot).length >= c()), dt = /* @__PURE__ */ user_derived(() => !get(ut) && !h());
41687
+ function ft() {
41688
+ G(get(ot).map((e) => e.file)), Me()?.(G());
41134
41689
  }
41135
- function ft(e) {
41690
+ function pt(e) {
41136
41691
  if (e < 1024) return `${e} B`;
41137
41692
  let t = [
41138
41693
  "KB",
@@ -41142,12 +41697,12 @@ function MediaUpload(e, t) {
41142
41697
  for (; n >= 1024 && i < t.length - 1;) n /= 1024, i += 1;
41143
41698
  return `${n.toFixed(n >= 10 || i === 0 ? 0 : 1)} ${t.at(i) ?? ""}`;
41144
41699
  }
41145
- function pt(e) {
41700
+ function mt(e) {
41146
41701
  if (l().length === 0 || l() === "*" || l() === "*/*") return !0;
41147
41702
  let t = l().split(",").map((e) => e.trim().toLowerCase()), n = e.name.toLowerCase(), i = e.type.toLowerCase();
41148
41703
  return t.some((e) => e.startsWith(".") ? n.endsWith(e) : e.endsWith("/*") ? i.startsWith(e.slice(0, -1)) : i === e);
41149
41704
  }
41150
- function mt(e) {
41705
+ function ht(e) {
41151
41706
  let t = e.type.startsWith("image/"), n = {
41152
41707
  file: e,
41153
41708
  src: "",
@@ -41155,8 +41710,8 @@ function MediaUpload(e, t) {
41155
41710
  size: e.size,
41156
41711
  isImage: t
41157
41712
  };
41158
- set(at, [...get(at), n], !0);
41159
- let i = get(at)[get(at).length - 1];
41713
+ set(ot, [...get(ot), n], !0);
41714
+ let i = get(ot)[get(ot).length - 1];
41160
41715
  if (t) {
41161
41716
  let t = new FileReader();
41162
41717
  t.onload = (e) => {
@@ -41164,27 +41719,27 @@ function MediaUpload(e, t) {
41164
41719
  }, t.readAsDataURL(e);
41165
41720
  }
41166
41721
  }
41167
- function ht(e) {
41722
+ function gt(e) {
41168
41723
  let t = e.at(0)?.reason;
41169
41724
  if (t === "type") return re()?.type ?? "Some files were skipped — unsupported file type.";
41170
41725
  if (t === "size") {
41171
- let e = u() > 0 ? ` (max ${ft(u())})` : "";
41726
+ let e = u() > 0 ? ` (max ${pt(u())})` : "";
41172
41727
  return re()?.size ?? `Some files were too large${e}.`;
41173
41728
  }
41174
41729
  return re()?.max ?? `You can attach up to ${c()} files.`;
41175
41730
  }
41176
- function gt(e) {
41731
+ function _t(e) {
41177
41732
  if (h()) return;
41178
41733
  let t = [];
41179
41734
  for (let n of e) {
41180
- if (get(at).length >= c()) {
41735
+ if (get(ot).length >= c()) {
41181
41736
  t.push({
41182
41737
  file: n,
41183
41738
  reason: "max"
41184
41739
  });
41185
41740
  continue;
41186
41741
  }
41187
- if (!pt(n)) {
41742
+ if (!mt(n)) {
41188
41743
  t.push({
41189
41744
  file: n,
41190
41745
  reason: "type"
@@ -41198,28 +41753,28 @@ function MediaUpload(e, t) {
41198
41753
  });
41199
41754
  continue;
41200
41755
  }
41201
- mt(n);
41756
+ ht(n);
41202
41757
  }
41203
- set(ot, t.length > 0 ? ht(t) : "", !0), t.length > 0 && Re()?.(t), dt();
41204
- }
41205
- function _t(e) {
41206
- let t = e.currentTarget;
41207
- gt(Array.from(t.files ?? [])), t.value = "";
41758
+ set(ct, t.length > 0 ? gt(t) : "", !0), t.length > 0 && Ue()?.(t), ft();
41208
41759
  }
41209
41760
  function vt(e) {
41210
- e.preventDefault(), set(ct, !1), !(h() || !p()) && gt(Array.from(e.dataTransfer?.files ?? []));
41761
+ let t = e.currentTarget;
41762
+ _t(Array.from(t.files ?? [])), t.value = "";
41211
41763
  }
41212
41764
  function yt(e) {
41213
- h() || !p() || (e.preventDefault(), set(ct, !0));
41765
+ e.preventDefault(), set(lt, !1), !(h() || !p()) && _t(Array.from(e.dataTransfer?.files ?? []));
41766
+ }
41767
+ function bt(e) {
41768
+ h() || !p() || (e.preventDefault(), set(lt, !0));
41214
41769
  }
41215
- function bt() {
41216
- set(ct, !1);
41770
+ function xt() {
41771
+ set(lt, !1);
41217
41772
  }
41218
- function xt(e) {
41219
- let t = get(at).at(e);
41220
- set(at, get(at).filter((t, n) => n !== e), !0), set(ot, ""), dt(), typeof t == "object" && Me()?.(t.file);
41773
+ function St(e) {
41774
+ let t = get(ot).at(e);
41775
+ set(ot, get(ot).filter((t, n) => n !== e), !0), set(ct, ""), ft(), typeof t == "object" && Re()?.(t.file);
41221
41776
  }
41222
- var St = {
41777
+ var Ct = {
41223
41778
  get label() {
41224
41779
  return i();
41225
41780
  },
@@ -41328,40 +41883,46 @@ function MediaUpload(e, t) {
41328
41883
  set files(e = []) {
41329
41884
  G(e), flushSync();
41330
41885
  },
41331
- get onchange() {
41886
+ get animateCounter() {
41332
41887
  return be();
41333
41888
  },
41334
- set onchange(e) {
41889
+ set animateCounter(e = !1) {
41335
41890
  be(e), flushSync();
41336
41891
  },
41337
- get onremove() {
41892
+ get onchange() {
41338
41893
  return Me();
41339
41894
  },
41340
- set onremove(e) {
41895
+ set onchange(e) {
41341
41896
  Me(e), flushSync();
41342
41897
  },
41343
- get onerror() {
41898
+ get onremove() {
41344
41899
  return Re();
41345
41900
  },
41346
- set onerror(e) {
41901
+ set onremove(e) {
41347
41902
  Re(e), flushSync();
41348
41903
  },
41349
- get testId() {
41904
+ get onerror() {
41350
41905
  return Ue();
41351
41906
  },
41352
- set testId(e) {
41907
+ set onerror(e) {
41353
41908
  Ue(e), flushSync();
41354
41909
  },
41355
- get classes() {
41910
+ get testId() {
41356
41911
  return it();
41357
41912
  },
41358
- set classes(e) {
41913
+ set testId(e) {
41359
41914
  it(e), flushSync();
41915
+ },
41916
+ get classes() {
41917
+ return at();
41918
+ },
41919
+ set classes(e) {
41920
+ at(e), flushSync();
41360
41921
  }
41361
- }, Ct = root_16$1();
41362
- let wt;
41363
- var Tt = child(Ct), Et = (e) => {
41364
- var t = root_2$12(), n = child(t), a = (e) => {
41922
+ }, wt = root_17$1();
41923
+ let Tt;
41924
+ var Et = child(wt), Dt = (e) => {
41925
+ var t = root_3$11(), n = child(t), a = (e) => {
41365
41926
  var t = root$21(), n = child(t, !0);
41366
41927
  reset(t), template_effect(() => set_text(n, i())), append(e, t);
41367
41928
  };
@@ -41369,30 +41930,44 @@ function MediaUpload(e, t) {
41369
41930
  typeof i() == "string" && i().length > 0 && e(a);
41370
41931
  });
41371
41932
  var o = sibling(n, 2), s = (e) => {
41372
- var t = root_1$19(), n = child(t);
41373
- reset(t), template_effect(() => set_text(n, `${get(at).length ?? ""} / ${c() ?? ""}`)), append(e, t);
41933
+ var t = comment(), n = first_child(t), i = (e) => {
41934
+ var t = root_1$19(), n = child(t);
41935
+ {
41936
+ let e = /* @__PURE__ */ user_derived(() => `${get(ot).length} / ${c()}`);
41937
+ AnimatedNumber(n, { get value() {
41938
+ return get(e);
41939
+ } });
41940
+ }
41941
+ reset(t), append(e, t);
41942
+ }, a = (e) => {
41943
+ var t = root_2$12(), n = child(t);
41944
+ reset(t), template_effect(() => set_text(n, `${get(ot).length ?? ""} / ${c() ?? ""}`)), append(e, t);
41945
+ };
41946
+ if_block(n, (e) => {
41947
+ be() ? e(i) : e(a, -1);
41948
+ }), append(e, t);
41374
41949
  };
41375
41950
  if_block(o, (e) => {
41376
41951
  S() && e(s);
41377
41952
  }), reset(t), append(e, t);
41378
41953
  };
41379
- if_block(Tt, (e) => {
41380
- (typeof i() == "string" && i().length > 0 || S()) && e(Et);
41954
+ if_block(Et, (e) => {
41955
+ (typeof i() == "string" && i().length > 0 || S()) && e(Dt);
41381
41956
  });
41382
- var Dt = sibling(Tt, 2), Ot = (e) => {
41383
- var t = root_3$11(), n = child(t, !0);
41957
+ var Ot = sibling(Et, 2), kt = (e) => {
41958
+ var t = root_4$10(), n = child(t, !0);
41384
41959
  reset(t), template_effect(() => set_text(n, a())), append(e, t);
41385
41960
  };
41386
- if_block(Dt, (e) => {
41387
- typeof a() == "string" && a().length > 0 && e(Ot);
41961
+ if_block(Ot, (e) => {
41962
+ typeof a() == "string" && a().length > 0 && e(kt);
41388
41963
  });
41389
- var kt = sibling(Dt, 2), At = child(kt);
41390
- each(At, 19, () => get(at), (e, t) => e.file.name + t, (e, t, n) => {
41391
- var i = root_11$3();
41964
+ var At = sibling(Ot, 2), jt = child(At);
41965
+ each(jt, 19, () => get(ot), (e, t) => e.file.name + t, (e, t, n) => {
41966
+ var i = root_12$3();
41392
41967
  let a;
41393
41968
  var o = child(i), s = (e) => {
41394
41969
  var n = comment(), i = first_child(n), a = (e) => {
41395
- var n = root_4$10();
41970
+ var n = root_5$9();
41396
41971
  Img(child(n), {
41397
41972
  get src() {
41398
41973
  return get(t).src;
@@ -41402,14 +41977,14 @@ function MediaUpload(e, t) {
41402
41977
  }
41403
41978
  }), reset(n), append(e, n);
41404
41979
  }, o = (e) => {
41405
- var t = root_5$9();
41980
+ var t = root_6$9();
41406
41981
  Shimmer(child(t), {}), reset(t), append(e, t);
41407
41982
  };
41408
41983
  if_block(i, (e) => {
41409
41984
  get(t).src.length > 0 ? e(a) : e(o, -1);
41410
41985
  }), append(e, n);
41411
41986
  }, c = (e) => {
41412
- var t = root_6$9(), n = child(t), i = (e) => {
41987
+ var t = root_7$8(), n = child(t), i = (e) => {
41413
41988
  var t = comment();
41414
41989
  snippet(first_child(t), ne), append(e, t);
41415
41990
  }, a = (e) => {
@@ -41424,16 +41999,16 @@ function MediaUpload(e, t) {
41424
41999
  get(t).isImage ? e(s) : e(c, -1);
41425
42000
  });
41426
42001
  var l = sibling(o, 2), u = (e) => {
41427
- var n = root_9$6(), i = child(n), a = (e) => {
41428
- var n = root_7$8(), i = child(n, !0);
42002
+ var n = root_10$5(), i = child(n), a = (e) => {
42003
+ var n = root_8$7(), i = child(n, !0);
41429
42004
  reset(n), template_effect(() => set_text(i, get(t).name)), append(e, n);
41430
42005
  };
41431
42006
  if_block(i, (e) => {
41432
42007
  C() && e(a);
41433
42008
  });
41434
42009
  var o = sibling(i, 2), s = (e) => {
41435
- var n = root_8$7(), i = child(n, !0);
41436
- reset(n), template_effect((e) => set_text(i, e), [() => ft(get(t).size)]), append(e, n);
42010
+ var n = root_9$6(), i = child(n, !0);
42011
+ reset(n), template_effect((e) => set_text(i, e), [() => pt(get(t).size)]), append(e, n);
41437
42012
  };
41438
42013
  if_block(o, (e) => {
41439
42014
  k() && get(t).size > 0 && e(s);
@@ -41443,9 +42018,9 @@ function MediaUpload(e, t) {
41443
42018
  (C() || k()) && (C() || get(t).size > 0) && e(u);
41444
42019
  });
41445
42020
  var f = sibling(l, 2), p = (e) => {
41446
- var i = root_10$5();
42021
+ var i = root_11$3();
41447
42022
  Button(child(i), {
41448
- onclick: () => xt(get(n)),
42023
+ onclick: () => St(get(n)),
41449
42024
  get ariaLabel() {
41450
42025
  return `Remove ${get(t).name ?? ""}`;
41451
42026
  },
@@ -41468,8 +42043,8 @@ function MediaUpload(e, t) {
41468
42043
  h() || e(p);
41469
42044
  }), reset(i), template_effect(() => a = set_class(i, 1, "card svelte-nabf7u", null, a, { "is-file": !get(t).isImage })), append(e, i);
41470
42045
  });
41471
- var jt = sibling(At, 2), Mt = (e) => {
41472
- var t = root_14$2();
42046
+ var Mt = sibling(jt, 2), Nt = (e) => {
42047
+ var t = root_15$2();
41473
42048
  let i;
41474
42049
  var a = child(t), c = child(a), u = (e) => {
41475
42050
  var t = comment();
@@ -41482,14 +42057,14 @@ function MediaUpload(e, t) {
41482
42057
  typeof R() == "function" ? e(u) : e(p, -1);
41483
42058
  }), reset(a);
41484
42059
  var S = sibling(a, 2), C = (e) => {
41485
- var t = root_12$3(), n = child(t, !0);
42060
+ var t = root_13$2(), n = child(t, !0);
41486
42061
  reset(t), template_effect(() => set_text(n, o())), append(e, t);
41487
42062
  };
41488
42063
  if_block(S, (e) => {
41489
42064
  typeof o() == "string" && o().length > 0 && e(C);
41490
42065
  });
41491
42066
  var k = sibling(S, 2), te = (e) => {
41492
- var t = root_13$2(), n = child(t, !0);
42067
+ var t = root_14$2(), n = child(t, !0);
41493
42068
  reset(t), template_effect(() => set_text(n, s())), append(e, t);
41494
42069
  };
41495
42070
  if_block(k, (e) => {
@@ -41497,21 +42072,21 @@ function MediaUpload(e, t) {
41497
42072
  });
41498
42073
  var ne = sibling(k, 2);
41499
42074
  reset(t), template_effect(() => {
41500
- set_attribute(t, "for", n), i = set_class(t, 1, "drop-tile svelte-nabf7u", null, i, { dragging: get(ct) }), set_attribute(ne, "id", n), set_attribute(ne, "accept", l()), ne.multiple = f(), ne.disabled = h();
41501
- }), event("dragover", t, yt), event("dragleave", t, bt), event("drop", t, vt), delegated("change", ne, _t), append(e, t);
41502
- };
41503
- if_block(jt, (e) => {
41504
- get(ut) && e(Mt);
41505
- }), reset(kt);
41506
- var Nt = sibling(kt, 2), Pt = (e) => {
41507
- var t = root_15$2(), n = child(t, !0);
41508
- reset(t), template_effect(() => set_text(n, get(ot))), append(e, t);
42075
+ set_attribute(t, "for", n), i = set_class(t, 1, "drop-tile svelte-nabf7u", null, i, { dragging: get(lt) }), set_attribute(ne, "id", n), set_attribute(ne, "accept", l()), ne.multiple = f(), ne.disabled = h();
42076
+ }), event("dragover", t, bt), event("dragleave", t, xt), event("drop", t, yt), delegated("change", ne, vt), append(e, t);
41509
42077
  };
41510
- return if_block(Nt, (e) => {
41511
- get(ot).length > 0 && e(Pt);
41512
- }), reset(Ct), template_effect(() => {
41513
- wt = set_class(Ct, 1, `media-upload ${it() ?? "" ?? ""}`, "svelte-nabf7u", wt, { disabled: h() }), set_attribute(Ct, "data-pw", typeof Ue() == "string" ? Ue() : null);
41514
- }), append(e, Ct), pop(St);
42078
+ if_block(Mt, (e) => {
42079
+ get(dt) && e(Nt);
42080
+ }), reset(At);
42081
+ var Pt = sibling(At, 2), It = (e) => {
42082
+ var t = root_16$1(), n = child(t, !0);
42083
+ reset(t), template_effect(() => set_text(n, get(ct))), append(e, t);
42084
+ };
42085
+ return if_block(Pt, (e) => {
42086
+ get(ct).length > 0 && e(It);
42087
+ }), reset(wt), template_effect(() => {
42088
+ Tt = set_class(wt, 1, `media-upload ${at() ?? "" ?? ""}`, "svelte-nabf7u", Tt, { disabled: h() }), set_attribute(wt, "data-pw", typeof it() == "string" ? it() : null);
42089
+ }), append(e, wt), pop(Ct);
41515
42090
  }
41516
42091
  delegate(["change"]), create_custom_element(MediaUpload, {
41517
42092
  label: {},
@@ -41532,6 +42107,7 @@ delegate(["change"]), create_custom_element(MediaUpload, {
41532
42107
  fileIcon: {},
41533
42108
  errorMessages: {},
41534
42109
  files: {},
42110
+ animateCounter: {},
41535
42111
  onchange: {},
41536
42112
  onremove: {},
41537
42113
  onerror: {},
@@ -41617,6 +42193,10 @@ customElements.define("sui-media-upload", create_custom_element(MediaUpload_wc,
41617
42193
  fileIcon: { type: "Object" },
41618
42194
  errorMessages: { type: "Object" },
41619
42195
  files: { type: "Object" },
42196
+ animateCounter: {
42197
+ attribute: "animate-counter",
42198
+ type: "Boolean"
42199
+ },
41620
42200
  testId: {
41621
42201
  attribute: "test-id",
41622
42202
  type: "String"
@@ -41936,7 +42516,7 @@ var edit_default = "<svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.
41936
42516
  }), append(e, i);
41937
42517
  }, root$18 = /* @__PURE__ */ from_html("<span class=\"grid-image-wrap svelte-14wkit2\"><!></span> <!>", 1), root_1$16 = /* @__PURE__ */ from_html("<span class=\"list-caption svelte-14wkit2\"> </span>"), root_2$10 = /* @__PURE__ */ from_html("<span class=\"list-text svelte-14wkit2\"><span class=\"list-title svelte-14wkit2\"> </span> <!></span>"), root_3$10 = /* @__PURE__ */ from_html("<!> <!>", 1), root_4$9 = /* @__PURE__ */ from_html("<button class=\"gallery-item-content svelte-14wkit2\"><!></button>"), root_5$8 = /* @__PURE__ */ from_html("<div class=\"gallery-item-content svelte-14wkit2\"><!></div>"), root_6$8 = /* @__PURE__ */ from_html("<div class=\"gallery-item-action svelte-14wkit2\"><!></div>"), root_7$7 = /* @__PURE__ */ from_html("<div class=\"gallery-item-actions svelte-14wkit2\"><!> <!></div>"), root_8$6 = /* @__PURE__ */ from_html("<div class=\"gallery-item svelte-14wkit2\" role=\"listitem\"><!> <!></div>"), root_9$5 = /* @__PURE__ */ from_html("<div class=\"lightbox-previous svelte-14wkit2\"><!></div>"), root_10$4 = /* @__PURE__ */ from_html("<figcaption class=\"lightbox-caption svelte-14wkit2\"> </figcaption>"), root_11$2 = /* @__PURE__ */ from_html("<figure class=\"lightbox-figure svelte-14wkit2\"><!> <!></figure>"), root_12$2 = /* @__PURE__ */ from_html("<div class=\"lightbox-next svelte-14wkit2\"><!></div>"), root_13$1 = /* @__PURE__ */ from_html("<div class=\"lightbox-counter svelte-14wkit2\" aria-live=\"polite\"> </div>"), root_14$1 = /* @__PURE__ */ from_html("<div role=\"dialog\" aria-modal=\"true\" tabindex=\"-1\"><div class=\"lightbox-close svelte-14wkit2\"><!></div> <!> <!> <!> <!></div>"), root_15$1 = /* @__PURE__ */ from_html("<div role=\"list\"></div> <!>", 1), $$css$39 = {
41938
42518
  hash: "svelte-14wkit2",
41939
- code: ".gallery.svelte-14wkit2 {width:var(--gallery-width, 100%);padding:var(--gallery-padding, 0px);margin:var(--gallery-margin, 0px);background:var(--gallery-background, transparent);}.gallery.grid.svelte-14wkit2 {display:grid;grid-template-columns:var(\n --gallery-grid-template-columns,\n repeat(var(--gallery-columns, 3), 1fr)\n );gap:var(--gallery-gap, 8px);}.gallery.list.svelte-14wkit2 {display:flex;flex-direction:column;gap:var(--gallery-gap, 8px);}.gallery-item.svelte-14wkit2 {position:relative;}.grid.svelte-14wkit2 .gallery-item:where(.svelte-14wkit2) {aspect-ratio:var(--gallery-item-aspect-ratio, 1);border-radius:var(--gallery-item-border-radius, 0px);overflow:hidden;--image-width: 100%;--image-height: 100%;--image-object-fit: var(--gallery-item-image-fit, cover);--image-border-radius: var(--gallery-item-border-radius, 0px);--image-transition: var(--gallery-item-image-transition);}.grid.has-item-footer.svelte-14wkit2 .gallery-item:where(.svelte-14wkit2) {aspect-ratio:auto;overflow:visible;border-radius:0px;}.list.svelte-14wkit2 .gallery-item:where(.svelte-14wkit2) {display:flex;align-items:center;border-radius:var(--gallery-list-item-border-radius, 0px);background:var(--gallery-list-item-background, transparent);--image-width: var(--gallery-list-thumbnail-width, 56px);--image-height: var(--gallery-list-thumbnail-height, 56px);--image-object-fit: var(--gallery-list-thumbnail-fit, cover);--image-border-radius: var(--gallery-list-thumbnail-border-radius, 0px);--image-transition: var(--gallery-item-image-transition);--image-flex-shrink: 0;}.gallery-item-content.svelte-14wkit2 {font:inherit;color:inherit;border:var(--gallery-item-border, none);background:transparent;}button.gallery-item-content.svelte-14wkit2 {cursor:var(--gallery-item-cursor, pointer);transition:var(--gallery-item-transition);}.grid.svelte-14wkit2 .gallery-item-content:where(.svelte-14wkit2) {display:block;width:100%;height:100%;padding:0;border-radius:var(--gallery-item-border-radius, 0px);}.grid.has-item-footer.svelte-14wkit2 .gallery-item-content:where(.svelte-14wkit2) {display:flex;flex-direction:column;height:auto;border-radius:var(--gallery-item-border-radius, 0px);overflow:hidden;}.grid-image-wrap.svelte-14wkit2 {display:block;aspect-ratio:var(--gallery-item-aspect-ratio, 1);overflow:hidden;--image-width: 100%;--image-height: 100%;--image-object-fit: var(--gallery-item-image-fit, cover);--image-border-radius: 0px;--image-transition: var(--gallery-item-image-transition);}.list.svelte-14wkit2 .gallery-item-content:where(.svelte-14wkit2) {display:flex;align-items:center;text-align:left;flex:1;min-width:0;gap:var(--gallery-list-item-gap, 12px);padding:var(--gallery-list-item-padding, 8px);}.grid.svelte-14wkit2 button.gallery-item-content:where(.svelte-14wkit2):hover {opacity:var(--gallery-item-hover-opacity, 1);transform:var(--gallery-item-hover-transform);}.grid.svelte-14wkit2 button.gallery-item-content:where(.svelte-14wkit2):focus-visible {outline:var(--gallery-item-focus-outline, 2px solid currentColor);outline-offset:var(--gallery-item-focus-outline-offset, 2px);}.list.svelte-14wkit2 button.gallery-item-content:where(.svelte-14wkit2):focus-visible {outline:none;}.list.svelte-14wkit2 .gallery-item:where(.svelte-14wkit2):has(button.gallery-item-content:where(.svelte-14wkit2)):hover {background:var(--gallery-list-item-hover-background, transparent);}.list.svelte-14wkit2 .gallery-item:where(.svelte-14wkit2):has(button.gallery-item-content:where(.svelte-14wkit2):focus-visible) {outline:var(--gallery-item-focus-outline, 2px solid currentColor);outline-offset:var(--gallery-item-focus-outline-offset, 2px);}.list-text.svelte-14wkit2 {display:flex;flex-direction:column;gap:var(--gallery-list-text-gap, 2px);min-width:0;}.list-title.svelte-14wkit2,\n .list-caption.svelte-14wkit2 {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.list-title.svelte-14wkit2 {color:var(--gallery-list-title-color, inherit);font-size:var(--gallery-list-title-font-size, 14px);font-weight:var(--gallery-list-title-font-weight, 500);font-family:var(--gallery-list-title-font-family, inherit);}.list-caption.svelte-14wkit2 {color:var(--gallery-list-caption-color, inherit);font-size:var(--gallery-list-caption-font-size, 12px);font-family:var(--gallery-list-caption-font-family, inherit);}.gallery-item-actions.svelte-14wkit2 {display:flex;align-items:center;gap:var(--gallery-item-actions-gap, 4px);}.grid.svelte-14wkit2 .gallery-item-actions:where(.svelte-14wkit2) {position:absolute;top:var(--gallery-item-actions-top, 8px);right:var(--gallery-item-actions-right, 8px);}.list.svelte-14wkit2 .gallery-item-actions:where(.svelte-14wkit2) {flex-shrink:0;padding-right:var(--gallery-item-actions-right, 8px);}.gallery-item-action.svelte-14wkit2 {border-radius:var(--gallery-item-action-border-radius, 8px);--button-color: transparent;--button-hover-color: transparent;--button-padding: var(--gallery-item-action-padding, 6px);--button-border-radius: var(--gallery-item-action-border-radius, 8px);--icon-container-padding: 0px;--icon-padding: 0px;--icon-width: var(--gallery-item-action-icon-size, 16px);--icon-height: var(--gallery-item-action-icon-size, 16px);}.grid.svelte-14wkit2 .gallery-item-action:where(.svelte-14wkit2) {background:var(--gallery-item-action-background, #00000066);-webkit-backdrop-filter:var(--gallery-item-action-backdrop-filter, blur(8px));backdrop-filter:var(--gallery-item-action-backdrop-filter, blur(8px));--button-text-color: var(--gallery-item-action-color, #ffffff);}.grid.svelte-14wkit2 .gallery-item-action:where(.svelte-14wkit2):hover {background:var(--gallery-item-action-hover-background, #00000099);}.list.svelte-14wkit2 .gallery-item-action:where(.svelte-14wkit2) {background:var(--gallery-item-action-background, transparent);--button-text-color: var(--gallery-item-action-color, currentColor);}.list.svelte-14wkit2 .gallery-item-action:where(.svelte-14wkit2):hover {background:var(--gallery-item-action-hover-background, #80808026);}.lightbox.svelte-14wkit2 {position:fixed;top:0;bottom:0;left:0;right:0;z-index:var(--gallery-lightbox-z-index, 15);display:flex;justify-content:center;align-items:center;background:var(--gallery-lightbox-background, #000000e6);-webkit-tap-highlight-color:transparent;}.lightbox.svelte-14wkit2:focus {outline:none;}.lightbox-figure.svelte-14wkit2 {display:flex;flex-direction:column;align-items:center;gap:var(--gallery-lightbox-caption-gap, 12px);margin:0;pointer-events:none;--image-width: var(--gallery-lightbox-image-width, 85vw);--image-height: var(--gallery-lightbox-image-height, 75vh);--image-object-fit: var(--gallery-lightbox-image-fit, contain);--image-border-radius: var(--gallery-lightbox-image-border-radius, 0px);}.lightbox-caption.svelte-14wkit2 {color:var(--gallery-lightbox-caption-color, #ffffff);font-size:var(--gallery-lightbox-caption-font-size, 14px);font-family:var(--gallery-lightbox-caption-font-family, inherit);text-align:center;max-width:var(--gallery-lightbox-image-width, 85vw);}.lightbox-counter.svelte-14wkit2 {position:absolute;bottom:var(--gallery-lightbox-counter-bottom, 16px);left:50%;transform:translateX(-50%);color:var(--gallery-lightbox-counter-color, #ffffff);font-size:var(--gallery-lightbox-counter-font-size, 13px);font-family:var(--gallery-lightbox-counter-font-family, inherit);}.lightbox-close.svelte-14wkit2,\n .lightbox-previous.svelte-14wkit2,\n .lightbox-next.svelte-14wkit2 {position:absolute;--button-color: var(--gallery-lightbox-control-background, transparent);--button-text-color: var(--gallery-lightbox-control-color, #ffffff);--button-hover-color: var(--gallery-lightbox-control-hover-background, #ffffff1f);--button-padding: var(--gallery-lightbox-control-padding, 8px);--button-border-radius: var(--gallery-lightbox-control-border-radius, 50%);--icon-container-padding: 0px;--icon-padding: 0px;--icon-width: var(--gallery-lightbox-control-icon-size, 24px);--icon-height: var(--gallery-lightbox-control-icon-size, 24px);}.lightbox-close.svelte-14wkit2 {top:var(--gallery-lightbox-close-top, 16px);right:var(--gallery-lightbox-close-right, 16px);}.lightbox-previous.svelte-14wkit2,\n .lightbox-next.svelte-14wkit2 {top:50%;transform:translateY(-50%);}.lightbox-previous.svelte-14wkit2 {left:var(--gallery-lightbox-nav-inset, 16px);}.lightbox-next.svelte-14wkit2 {right:var(--gallery-lightbox-nav-inset, 16px);}"
42519
+ code: ".gallery.svelte-14wkit2 {width:var(--gallery-width, 100%);padding:var(--gallery-padding, 0px);margin:var(--gallery-margin, 0px);background:var(--gallery-background, transparent);}.gallery.grid.svelte-14wkit2 {display:grid;grid-template-columns:var(\n --gallery-grid-template-columns,\n repeat(var(--gallery-columns, 3), 1fr)\n );gap:var(--gallery-gap, 8px);}.gallery.list.svelte-14wkit2 {display:flex;flex-direction:column;gap:var(--gallery-gap, 8px);}.gallery-item.svelte-14wkit2 {position:relative;}.grid.svelte-14wkit2 .gallery-item:where(.svelte-14wkit2) {aspect-ratio:var(--gallery-item-aspect-ratio, 1);border-radius:var(--gallery-item-border-radius, 0px);overflow:hidden;--image-width: 100%;--image-height: 100%;--image-object-fit: var(--gallery-item-image-fit, cover);--image-border-radius: var(--gallery-item-border-radius, 0px);--image-transition: var(--gallery-item-image-transition);}.grid.has-item-footer.svelte-14wkit2 .gallery-item:where(.svelte-14wkit2) {aspect-ratio:auto;overflow:visible;border-radius:0px;}.list.svelte-14wkit2 .gallery-item:where(.svelte-14wkit2) {display:flex;align-items:center;border-radius:var(--gallery-list-item-border-radius, 0px);background:var(--gallery-list-item-background, transparent);--image-width: var(--gallery-list-thumbnail-width, 56px);--image-height: var(--gallery-list-thumbnail-height, 56px);--image-object-fit: var(--gallery-list-thumbnail-fit, cover);--image-border-radius: var(--gallery-list-thumbnail-border-radius, 0px);--image-transition: var(--gallery-item-image-transition);--image-flex-shrink: 0;}.gallery-item-content.svelte-14wkit2 {font:inherit;color:inherit;border:var(--gallery-item-border, none);background:transparent;}button.gallery-item-content.svelte-14wkit2 {cursor:var(--gallery-item-cursor, pointer);transition:var(--gallery-item-transition);}.grid.svelte-14wkit2 .gallery-item-content:where(.svelte-14wkit2) {display:block;width:100%;height:100%;padding:0;border-radius:var(--gallery-item-border-radius, 0px);}.grid.has-item-footer.svelte-14wkit2 .gallery-item-content:where(.svelte-14wkit2) {display:flex;flex-direction:column;height:auto;border-radius:var(--gallery-item-border-radius, 0px);overflow:hidden;}.grid-image-wrap.svelte-14wkit2 {display:block;aspect-ratio:var(--gallery-item-aspect-ratio, 1);overflow:hidden;--image-width: 100%;--image-height: 100%;--image-object-fit: var(--gallery-item-image-fit, cover);--image-border-radius: 0px;--image-transition: var(--gallery-item-image-transition);}.list.svelte-14wkit2 .gallery-item-content:where(.svelte-14wkit2) {display:flex;align-items:center;text-align:left;flex:1;min-width:0;gap:var(--gallery-list-item-gap, 12px);padding:var(--gallery-list-item-padding, 8px);}.grid.svelte-14wkit2 button.gallery-item-content:where(.svelte-14wkit2):hover {opacity:var(--gallery-item-hover-opacity, 1);transform:var(--gallery-item-hover-transform);}.grid.svelte-14wkit2 button.gallery-item-content:where(.svelte-14wkit2):focus-visible {outline:var(--gallery-item-focus-outline, 2px solid currentColor);outline-offset:var(--gallery-item-focus-outline-offset, 2px);}.list.svelte-14wkit2 button.gallery-item-content:where(.svelte-14wkit2):focus-visible {outline:none;}.list.svelte-14wkit2 .gallery-item:where(.svelte-14wkit2):has(button.gallery-item-content:where(.svelte-14wkit2)):hover {background:var(--gallery-list-item-hover-background, transparent);}.list.svelte-14wkit2 .gallery-item:where(.svelte-14wkit2):has(button.gallery-item-content:where(.svelte-14wkit2):focus-visible) {outline:var(--gallery-item-focus-outline, 2px solid currentColor);outline-offset:var(--gallery-item-focus-outline-offset, 2px);}.list-text.svelte-14wkit2 {display:flex;flex-direction:column;gap:var(--gallery-list-text-gap, 2px);min-width:0;}.list-title.svelte-14wkit2,\n .list-caption.svelte-14wkit2 {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.list-title.svelte-14wkit2 {color:var(--gallery-list-title-color, inherit);font-size:var(--gallery-list-title-font-size, 14px);font-weight:var(--gallery-list-title-font-weight, 500);font-family:var(--gallery-list-title-font-family, inherit);}.list-caption.svelte-14wkit2 {color:var(--gallery-list-caption-color, inherit);font-size:var(--gallery-list-caption-font-size, 12px);font-family:var(--gallery-list-caption-font-family, inherit);}.gallery-item-actions.svelte-14wkit2 {display:flex;align-items:center;gap:var(--gallery-item-actions-gap, 4px);}.grid.svelte-14wkit2 .gallery-item-actions:where(.svelte-14wkit2) {position:absolute;top:var(--gallery-item-actions-top, 8px);right:var(--gallery-item-actions-right, 8px);}.list.svelte-14wkit2 .gallery-item-actions:where(.svelte-14wkit2) {flex-shrink:0;padding-right:var(--gallery-item-actions-right, 8px);}.gallery-item-action.svelte-14wkit2 {border-radius:var(--gallery-item-action-border-radius, 8px);--button-color: transparent;--button-hover-color: transparent;--button-padding: var(--gallery-item-action-padding, 6px);--button-border-radius: var(--gallery-item-action-border-radius, 8px);--icon-container-padding: 0px;--icon-padding: 0px;--icon-width: var(--gallery-item-action-icon-size, 16px);--icon-height: var(--gallery-item-action-icon-size, 16px);}.grid.svelte-14wkit2 .gallery-item-action:where(.svelte-14wkit2) {background:var(--gallery-item-action-background, #00000066);-webkit-backdrop-filter:var(--gallery-item-action-backdrop-filter, blur(8px));backdrop-filter:var(--gallery-item-action-backdrop-filter, blur(8px));--button-text-color: var(--gallery-item-action-color, #ffffff);}.grid.svelte-14wkit2 .gallery-item-action:where(.svelte-14wkit2):hover {background:var(--gallery-item-action-hover-background, #00000099);}.list.svelte-14wkit2 .gallery-item-action:where(.svelte-14wkit2) {background:var(--gallery-item-action-background, transparent);--button-text-color: var(--gallery-item-action-color, currentColor);}.list.svelte-14wkit2 .gallery-item-action:where(.svelte-14wkit2):hover {background:var(--gallery-item-action-hover-background, #80808026);}.lightbox.svelte-14wkit2 {position:fixed;top:0;bottom:0;left:0;right:0;z-index:var(--gallery-lightbox-z-index, 15);display:flex;justify-content:center;align-items:center;background:var(--gallery-lightbox-background, #000000e6);-webkit-tap-highlight-color:transparent;}.lightbox.svelte-14wkit2:focus {outline:none;}\n\n /* lightboxAction focuses this element directly on open (and goToIndex\n re-focuses it whenever focus isn't already inside), and it's the\n Tab-trap's own boundary, so the unconditional :focus suppression above\n left a keyboard user with no visible sign focus had moved into the\n lightbox at all. :focus-visible wins the cascade over the plain :focus\n rule above (equal specificity, later in source, and a strict subset) only\n when the browser judges this came from keyboard/programmatic focus, so\n the thumbnail click that opens the lightbox still shows nothing new.\n outline-offset is negative (inset), matching Sheet's sheet-panel: the\n lightbox sits flush against all four viewport edges, so a positive offset\n would clip. */.lightbox.svelte-14wkit2:focus-visible {outline:var(--gallery-lightbox-focus-outline, 2px solid #2563eb);outline-offset:var(--gallery-lightbox-focus-outline-offset, -2px);}.lightbox-figure.svelte-14wkit2 {display:flex;flex-direction:column;align-items:center;gap:var(--gallery-lightbox-caption-gap, 12px);margin:0;pointer-events:none;--image-width: var(--gallery-lightbox-image-width, 85vw);--image-height: var(--gallery-lightbox-image-height, 75vh);--image-object-fit: var(--gallery-lightbox-image-fit, contain);--image-border-radius: var(--gallery-lightbox-image-border-radius, 0px);}.lightbox-caption.svelte-14wkit2 {color:var(--gallery-lightbox-caption-color, #ffffff);font-size:var(--gallery-lightbox-caption-font-size, 14px);font-family:var(--gallery-lightbox-caption-font-family, inherit);text-align:center;max-width:var(--gallery-lightbox-image-width, 85vw);}.lightbox-counter.svelte-14wkit2 {position:absolute;bottom:var(--gallery-lightbox-counter-bottom, 16px);left:50%;transform:translateX(-50%);color:var(--gallery-lightbox-counter-color, #ffffff);font-size:var(--gallery-lightbox-counter-font-size, 13px);font-family:var(--gallery-lightbox-counter-font-family, inherit);}.lightbox-close.svelte-14wkit2,\n .lightbox-previous.svelte-14wkit2,\n .lightbox-next.svelte-14wkit2 {position:absolute;--button-color: var(--gallery-lightbox-control-background, transparent);--button-text-color: var(--gallery-lightbox-control-color, #ffffff);--button-hover-color: var(--gallery-lightbox-control-hover-background, #ffffff1f);--button-padding: var(--gallery-lightbox-control-padding, 8px);--button-border-radius: var(--gallery-lightbox-control-border-radius, 50%);--icon-container-padding: 0px;--icon-padding: 0px;--icon-width: var(--gallery-lightbox-control-icon-size, 24px);--icon-height: var(--gallery-lightbox-control-icon-size, 24px);}.lightbox-close.svelte-14wkit2 {top:var(--gallery-lightbox-close-top, 16px);right:var(--gallery-lightbox-close-right, 16px);}.lightbox-previous.svelte-14wkit2,\n .lightbox-next.svelte-14wkit2 {top:50%;transform:translateY(-50%);}.lightbox-previous.svelte-14wkit2 {left:var(--gallery-lightbox-nav-inset, 16px);}.lightbox-next.svelte-14wkit2 {right:var(--gallery-lightbox-nav-inset, 16px);}"
41940
42520
  };
41941
42521
  function Gallery(e, t) {
41942
42522
  push(t, !0), append_styles$1(e, $$css$39);
@@ -50251,7 +50831,7 @@ function normalizeDictationState(e) {
50251
50831
  //#region src/lib/ChatComposer/ChatComposer.svelte
50252
50832
  var root$12 = /* @__PURE__ */ from_html("<div class=\"sr-only svelte-xpd394\" role=\"status\" aria-live=\"polite\"> </div>"), root_1$11 = /* @__PURE__ */ from_html("<div class=\"attachments-rich svelte-xpd394\"><!></div>"), root_2$6 = /* @__PURE__ */ from_html("<div class=\"attachments svelte-xpd394\"></div>"), root_3$6 = /* @__PURE__ */ from_html("<div class=\"control attach svelte-xpd394\"><!> <input type=\"file\" class=\"file-input\" hidden=\"\"/></div>"), root_4$5 = /* @__PURE__ */ from_html("<div class=\"leading svelte-xpd394\"><!></div>"), root_5$4 = /* @__PURE__ */ from_html("<div><!></div>"), root_6$4 = /* @__PURE__ */ from_html("<div class=\"control send stop svelte-xpd394\"><!></div>"), root_7$4 = /* @__PURE__ */ from_html("<div class=\"control send action svelte-xpd394\"><!></div>"), root_8$4 = /* @__PURE__ */ from_html("<div class=\"control send svelte-xpd394\"><!></div>"), root_9$3 = /* @__PURE__ */ from_html("<div><!> <!> <div class=\"input-row svelte-xpd394\"><!> <!> <textarea class=\"input svelte-xpd394\" rows=\"1\"></textarea> <!> <!></div></div>"), $$css$32 = {
50253
50833
  hash: "svelte-xpd394",
50254
- code: ".chat-composer.svelte-xpd394 {box-sizing:border-box;display:flex;flex-direction:column;gap:var(--chat-composer-stack-gap, 8px);width:var(--chat-composer-width, 100%);padding:var(--chat-composer-padding, 8px);background:var(--chat-composer-background, #ffffff);border:var(--chat-composer-border, 1px solid #e4e4e7);border-radius:var(--chat-composer-border-radius, 24px);box-shadow:var(--chat-composer-box-shadow, none);}.chat-composer.disabled.svelte-xpd394 {opacity:var(--chat-composer-disabled-opacity, 0.6);}.attachments-rich.svelte-xpd394 {padding:var(--chat-composer-attachments-padding, 2px 4px 0);}.attachments.svelte-xpd394 {display:flex;flex-wrap:wrap;gap:var(--chat-composer-attachments-gap, 6px);padding:var(--chat-composer-attachments-padding, 2px 4px 0);}.input-row.svelte-xpd394 {display:flex;align-items:flex-end;gap:var(--chat-composer-gap, 8px);}.leading.svelte-xpd394 {display:flex;align-items:center;flex-shrink:0;}.input.svelte-xpd394 {flex:1;box-sizing:border-box;resize:none;border:none;outline:none;background:transparent;font-family:var(--chat-composer-font-family, inherit);font-size:var(--chat-composer-font-size, 0.9375rem);font-weight:var(--chat-composer-font-weight, 400);line-height:var(--chat-composer-line-height, 1.5);color:var(--chat-composer-color, #18181b);padding:var(--chat-composer-input-padding, 6px 4px);max-height:var(--chat-composer-max-height, 160px);overflow-y:auto;}.input.svelte-xpd394::placeholder {color:var(--chat-composer-placeholder-color, #52525b);}.control.svelte-xpd394 {flex-shrink:0;display:flex;}.control.svelte-xpd394 svg {height:100%;width:100%;}.attach.svelte-xpd394,\n .voice.svelte-xpd394 {--button-width: var(--chat-composer-action-size, 36px);--button-height: var(--chat-composer-action-size, 36px);--button-padding: var(--chat-composer-action-padding, 8px);--button-border-radius: var(--chat-composer-action-border-radius, 50%);--button-color: var(--chat-composer-action-background-color, transparent);--button-text-color: var(--chat-composer-action-color, #52525b);--button-content-gap: 0px;--button-hover-color: var(--chat-composer-action-hover-background-color, #f4f4f5);}.voice.recording.svelte-xpd394 {--button-color: var(--chat-composer-voice-recording-background-color, #fee2e2);--button-text-color: var(--chat-composer-voice-recording-color, #dc2626);}\n\n /* No dedicated busy palette: the disabled `Button` already dims itself\n (`--disabled-opacity`), which is enough to distinguish \"busy\" from the\n active \"recording\" red without inventing new color tokens that would\n need a matching dark-theme entry outside this component's scope. The\n `.busy` class is still applied to the wrapper (see markup) so a caller\n can target it with their own CSS if they want a distinct look. */.send.svelte-xpd394 {--button-width: var(--chat-composer-send-size, 40px);--button-height: var(--chat-composer-send-size, 40px);--button-padding: var(--chat-composer-send-padding, 8px);--button-border-radius: var(--chat-composer-send-border-radius, 50%);--button-color: var(--chat-composer-send-background-color, #18181b);--button-text-color: var(--chat-composer-send-color, #ffffff);--button-content-gap: 0px;--button-hover-color: var(--chat-composer-send-hover-background-color, #27272a);}.send.stop.svelte-xpd394 {--button-color: var(--chat-composer-stop-background-color, #18181b);--button-text-color: var(--chat-composer-stop-color, #ffffff);}\n\n /* Visually hidden but still read by assistive technology -- same pattern\n Table's caption and Label's required marker use. */.sr-only.svelte-xpd394 {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border-width:0;}"
50834
+ code: ".chat-composer.svelte-xpd394 {box-sizing:border-box;display:flex;flex-direction:column;gap:var(--chat-composer-stack-gap, 8px);width:var(--chat-composer-width, 100%);padding:var(--chat-composer-padding, 8px);background:var(--chat-composer-background, #ffffff);border:var(--chat-composer-border, 1px solid #e4e4e7);border-radius:var(--chat-composer-border-radius, 24px);box-shadow:var(--chat-composer-box-shadow, none);}.chat-composer.disabled.svelte-xpd394 {opacity:var(--chat-composer-disabled-opacity, 0.6);}\n\n /* .input below sets outline: none with nothing standing in for it, so the\n visible replacement lives here on the surrounding surface instead --\n :focus-within lights up whenever the textarea inside is focused, the same\n pattern Select's .select-trigger uses for its nested search input. */.chat-composer.svelte-xpd394:focus-within {border-color:var(--chat-composer-focus-border-color, #2563eb);box-shadow:var(--chat-composer-focus-shadow, 0 0 0 2px rgba(37, 99, 235, 0.2));}.attachments-rich.svelte-xpd394 {padding:var(--chat-composer-attachments-padding, 2px 4px 0);}.attachments.svelte-xpd394 {display:flex;flex-wrap:wrap;gap:var(--chat-composer-attachments-gap, 6px);padding:var(--chat-composer-attachments-padding, 2px 4px 0);}.input-row.svelte-xpd394 {display:flex;align-items:flex-end;gap:var(--chat-composer-gap, 8px);}.leading.svelte-xpd394 {display:flex;align-items:center;flex-shrink:0;}.input.svelte-xpd394 {flex:1;box-sizing:border-box;resize:none;border:none;outline:none;background:transparent;font-family:var(--chat-composer-font-family, inherit);font-size:var(--chat-composer-font-size, 0.9375rem);font-weight:var(--chat-composer-font-weight, 400);line-height:var(--chat-composer-line-height, 1.5);color:var(--chat-composer-color, #18181b);padding:var(--chat-composer-input-padding, 6px 4px);max-height:var(--chat-composer-max-height, 160px);overflow-y:auto;}.input.svelte-xpd394::placeholder {color:var(--chat-composer-placeholder-color, #52525b);}.control.svelte-xpd394 {flex-shrink:0;display:flex;}.control.svelte-xpd394 svg {height:100%;width:100%;}.attach.svelte-xpd394,\n .voice.svelte-xpd394 {--button-width: var(--chat-composer-action-size, 36px);--button-height: var(--chat-composer-action-size, 36px);--button-padding: var(--chat-composer-action-padding, 8px);--button-border-radius: var(--chat-composer-action-border-radius, 50%);--button-color: var(--chat-composer-action-background-color, transparent);--button-text-color: var(--chat-composer-action-color, #52525b);--button-content-gap: 0px;--button-hover-color: var(--chat-composer-action-hover-background-color, #f4f4f5);}.voice.recording.svelte-xpd394 {--button-color: var(--chat-composer-voice-recording-background-color, #fee2e2);--button-text-color: var(--chat-composer-voice-recording-color, #dc2626);}\n\n /* No dedicated busy palette: the disabled `Button` already dims itself\n (`--disabled-opacity`), which is enough to distinguish \"busy\" from the\n active \"recording\" red without inventing new color tokens that would\n need a matching dark-theme entry outside this component's scope. The\n `.busy` class is still applied to the wrapper (see markup) so a caller\n can target it with their own CSS if they want a distinct look. */.send.svelte-xpd394 {--button-width: var(--chat-composer-send-size, 40px);--button-height: var(--chat-composer-send-size, 40px);--button-padding: var(--chat-composer-send-padding, 8px);--button-border-radius: var(--chat-composer-send-border-radius, 50%);--button-color: var(--chat-composer-send-background-color, #18181b);--button-text-color: var(--chat-composer-send-color, #ffffff);--button-content-gap: 0px;--button-hover-color: var(--chat-composer-send-hover-background-color, #27272a);}.send.stop.svelte-xpd394 {--button-color: var(--chat-composer-stop-background-color, #18181b);--button-text-color: var(--chat-composer-stop-color, #ffffff);}\n\n /* Visually hidden but still read by assistive technology -- same pattern\n Table's caption and Label's required marker use. */.sr-only.svelte-xpd394 {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border-width:0;}"
50255
50835
  };
50256
50836
  function ChatComposer(e, t) {
50257
50837
  push(t, !0), append_styles$1(e, $$css$32);
@@ -53467,7 +54047,7 @@ customElements.define("sui-chat-tool-status", create_custom_element(ChatToolStat
53467
54047
  //#region src/lib/assets/chat.svg?raw
53468
54048
  var chat_default = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z\" />\n</svg>\n", root_1$6 = /* @__PURE__ */ from_html("<div class=\"panel svelte-15b7gm8\" role=\"dialog\" tabindex=\"-1\"><!></div>"), root_2$4 = /* @__PURE__ */ from_html("<div class=\"panel-anchor svelte-15b7gm8\"><!></div>"), root_3$4 = /* @__PURE__ */ from_html("<div><!> <div class=\"launcher svelte-15b7gm8\"><!></div></div>"), $$css$18 = {
53469
54049
  hash: "svelte-15b7gm8",
53470
- code: ".chat-bubble.svelte-15b7gm8 {position:fixed;z-index:var(--chat-bubble-z-index, 1000);transition:var(--chat-bubble-snap-transition, transform 0.28s cubic-bezier(0.22, 1, 0.36, 1));}.chat-bubble.dragging.svelte-15b7gm8 {transition:none;}.chat-bubble[data-position='bottom-right'].svelte-15b7gm8 {right:var(--chat-bubble-offset-x, 24px);bottom:var(--chat-bubble-offset-y, 24px);}.chat-bubble[data-position='bottom-left'].svelte-15b7gm8 {left:var(--chat-bubble-offset-x, 24px);bottom:var(--chat-bubble-offset-y, 24px);}.chat-bubble[data-position='top-right'].svelte-15b7gm8 {right:var(--chat-bubble-offset-x, 24px);top:var(--chat-bubble-offset-y, 24px);}.chat-bubble[data-position='top-left'].svelte-15b7gm8 {left:var(--chat-bubble-offset-x, 24px);top:var(--chat-bubble-offset-y, 24px);}.panel-anchor.svelte-15b7gm8 {position:absolute;--resizable-handle-color: var(--chat-bubble-resize-handle-color, transparent);--resizable-transition: var(\n --chat-bubble-expand-transition,\n width 0.32s cubic-bezier(0.22, 1, 0.36, 1),\n height 0.32s cubic-bezier(0.22, 1, 0.36, 1)\n );}.chat-bubble[data-effective-vertical='bottom'].svelte-15b7gm8 .panel-anchor:where(.svelte-15b7gm8) {bottom:calc(100% + var(--chat-bubble-panel-gap, 16px));}.chat-bubble[data-effective-vertical='top'].svelte-15b7gm8 .panel-anchor:where(.svelte-15b7gm8) {top:calc(100% + var(--chat-bubble-panel-gap, 16px));}.chat-bubble[data-effective-side='right'].svelte-15b7gm8 .panel-anchor:where(.svelte-15b7gm8) {right:0;}.chat-bubble[data-effective-side='left'].svelte-15b7gm8 .panel-anchor:where(.svelte-15b7gm8) {left:0;}.panel.svelte-15b7gm8 {box-sizing:border-box;width:100%;height:100%;max-width:var(--chat-bubble-panel-max-width, calc(100vw - 32px));max-height:var(--chat-bubble-panel-max-height, calc(100dvh - 120px));border-radius:var(--chat-bubble-panel-border-radius, 16px);overflow:hidden;background:var(--chat-bubble-panel-background, #ffffff);box-shadow:var(--chat-bubble-panel-box-shadow, 0 16px 48px rgba(0, 0, 0, 0.22));outline:none;}.launcher.svelte-15b7gm8 {--button-width: var(--chat-bubble-width, var(--chat-bubble-size, 56px));--button-height: var(--chat-bubble-height, var(--chat-bubble-size, 56px));--button-padding: var(--chat-bubble-padding, 16px);--button-border-radius: var(--chat-bubble-border-radius, 50%);--button-color: var(--chat-bubble-background-color, #18181b);--button-text-color: var(--chat-bubble-color, #ffffff);\n /* Button spaces its icon from its label with this gap. The launcher renders an\n icon alone inside a circle, so that gap would push the glyph off-centre --\n reset to 0 here rather than in Button, whose default is right for a labelled\n button. docs/ChatBubble.md records this as a pill-launcher caveat. */--button-content-gap: 0px;--button-box-shadow: var(--chat-bubble-box-shadow, 0 8px 24px rgba(0, 0, 0, 0.25));--button-hover-color: var(--chat-bubble-hover-background-color, #27272a);}.chat-bubble.is-draggable.svelte-15b7gm8 .launcher:where(.svelte-15b7gm8) {--cursor: grab;touch-action:none;}.chat-bubble.is-draggable.dragging.svelte-15b7gm8 .launcher:where(.svelte-15b7gm8) {--cursor: grabbing;}.launcher.svelte-15b7gm8 svg {height:100%;width:100%;}\n\n @media (prefers-reduced-motion: reduce) {.chat-bubble.svelte-15b7gm8 {transition:none;}\n }"
54050
+ code: ".chat-bubble.svelte-15b7gm8 {position:fixed;z-index:var(--chat-bubble-z-index, 1000);transition:var(--chat-bubble-snap-transition, transform 0.28s cubic-bezier(0.22, 1, 0.36, 1));}.chat-bubble.dragging.svelte-15b7gm8 {transition:none;}.chat-bubble[data-position='bottom-right'].svelte-15b7gm8 {right:var(--chat-bubble-offset-x, 24px);bottom:var(--chat-bubble-offset-y, 24px);}.chat-bubble[data-position='bottom-left'].svelte-15b7gm8 {left:var(--chat-bubble-offset-x, 24px);bottom:var(--chat-bubble-offset-y, 24px);}.chat-bubble[data-position='top-right'].svelte-15b7gm8 {right:var(--chat-bubble-offset-x, 24px);top:var(--chat-bubble-offset-y, 24px);}.chat-bubble[data-position='top-left'].svelte-15b7gm8 {left:var(--chat-bubble-offset-x, 24px);top:var(--chat-bubble-offset-y, 24px);}.panel-anchor.svelte-15b7gm8 {position:absolute;--resizable-handle-color: var(--chat-bubble-resize-handle-color, transparent);--resizable-transition: var(\n --chat-bubble-expand-transition,\n width 0.32s cubic-bezier(0.22, 1, 0.36, 1),\n height 0.32s cubic-bezier(0.22, 1, 0.36, 1)\n );}.chat-bubble[data-effective-vertical='bottom'].svelte-15b7gm8 .panel-anchor:where(.svelte-15b7gm8) {bottom:calc(100% + var(--chat-bubble-panel-gap, 16px));}.chat-bubble[data-effective-vertical='top'].svelte-15b7gm8 .panel-anchor:where(.svelte-15b7gm8) {top:calc(100% + var(--chat-bubble-panel-gap, 16px));}.chat-bubble[data-effective-side='right'].svelte-15b7gm8 .panel-anchor:where(.svelte-15b7gm8) {right:0;}.chat-bubble[data-effective-side='left'].svelte-15b7gm8 .panel-anchor:where(.svelte-15b7gm8) {left:0;}.panel.svelte-15b7gm8 {box-sizing:border-box;width:100%;height:100%;max-width:var(--chat-bubble-panel-max-width, calc(100vw - 32px));max-height:var(--chat-bubble-panel-max-height, calc(100dvh - 120px));border-radius:var(--chat-bubble-panel-border-radius, 16px);overflow:hidden;background:var(--chat-bubble-panel-background, #ffffff);box-shadow:var(--chat-bubble-panel-box-shadow, 0 16px 48px rgba(0, 0, 0, 0.22));outline:none;}\n\n /* setOpen() (see script) calls panel.focus() directly on open, and the panel\n -- not a child -- is the Tab-trap's own boundary, so removing its outline\n unconditionally left a keyboard user with no visible sign focus had moved\n into the launcher's panel at all. :focus-visible restores a ring only for\n keyboard/programmatic focus, so the launcher click that opens the panel\n shows nothing new. Matches Sheet's sheet-panel fix for the identical\n shape of problem. */.panel.svelte-15b7gm8:focus-visible {outline:var(--chat-bubble-panel-focus-outline, 2px solid #2563eb);outline-offset:var(--chat-bubble-panel-focus-outline-offset, -2px);}.launcher.svelte-15b7gm8 {--button-width: var(--chat-bubble-width, var(--chat-bubble-size, 56px));--button-height: var(--chat-bubble-height, var(--chat-bubble-size, 56px));--button-padding: var(--chat-bubble-padding, 16px);--button-border-radius: var(--chat-bubble-border-radius, 50%);--button-color: var(--chat-bubble-background-color, #18181b);--button-text-color: var(--chat-bubble-color, #ffffff);\n /* Button spaces its icon from its label with this gap. The launcher renders an\n icon alone inside a circle, so that gap would push the glyph off-centre --\n reset to 0 here rather than in Button, whose default is right for a labelled\n button. docs/ChatBubble.md records this as a pill-launcher caveat. */--button-content-gap: 0px;--button-box-shadow: var(--chat-bubble-box-shadow, 0 8px 24px rgba(0, 0, 0, 0.25));--button-hover-color: var(--chat-bubble-hover-background-color, #27272a);}.chat-bubble.is-draggable.svelte-15b7gm8 .launcher:where(.svelte-15b7gm8) {--cursor: grab;touch-action:none;}.chat-bubble.is-draggable.dragging.svelte-15b7gm8 .launcher:where(.svelte-15b7gm8) {--cursor: grabbing;}.launcher.svelte-15b7gm8 svg {height:100%;width:100%;}\n\n @media (prefers-reduced-motion: reduce) {.chat-bubble.svelte-15b7gm8 {transition:none;}\n }"
53471
54051
  };
53472
54052
  function ChatBubble(e, t) {
53473
54053
  push(t, !0), append_styles$1(e, $$css$18);