@doneisbetter/gds-core 2.6.4 → 2.6.6

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.
@@ -351,66 +351,179 @@ function getSemanticActionLabel(action, translate, packs = []) {
351
351
  return translate ? translate(config.id, config.defaultMessage) : config.defaultMessage;
352
352
  }
353
353
 
354
- // src/ChoiceChip.tsx
355
- import { Badge as Badge2 } from "@mantine/core";
356
- import { jsx as jsx3 } from "react/jsx-runtime";
357
- function ChoiceChip({
358
- label,
359
- active = false,
360
- href,
361
- onClick,
362
- component,
363
- ...props
364
- }) {
365
- const sharedProps = {
366
- variant: active ? "filled" : "light",
367
- size: "sm",
368
- radius: "xl",
369
- ...props
370
- };
371
- if (href) {
372
- const LinkComponent = component || "a";
373
- return /* @__PURE__ */ jsx3(
374
- Badge2,
375
- {
376
- component: LinkComponent,
377
- href,
378
- "aria-current": active ? "page" : void 0,
379
- ...sharedProps,
380
- children: label
381
- }
382
- );
354
+ // src/AccentPanel.tsx
355
+ import { Badge as Badge2, Box as Box2, Group, Paper, Stack as Stack2, Text as Text2, Title as Title2 } from "@mantine/core";
356
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
357
+ var toneStyles = {
358
+ gray: {
359
+ bg: "light-dark(var(--mantine-color-gray-0), color-mix(in srgb, var(--mantine-color-gray-7) 88%, black))",
360
+ border: "light-dark(var(--mantine-color-gray-2), color-mix(in srgb, var(--mantine-color-gray-4) 70%, transparent))",
361
+ color: "light-dark(var(--mantine-color-gray-9), var(--mantine-color-gray-0))"
362
+ },
363
+ violet: {
364
+ bg: "light-dark(var(--mantine-color-violet-0), color-mix(in srgb, var(--mantine-color-violet-9) 70%, black))",
365
+ border: "light-dark(var(--mantine-color-violet-2), color-mix(in srgb, var(--mantine-color-violet-4) 75%, transparent))",
366
+ color: "light-dark(var(--mantine-color-violet-9), var(--mantine-color-violet-0))"
367
+ },
368
+ green: {
369
+ bg: "light-dark(var(--mantine-color-green-0), color-mix(in srgb, var(--mantine-color-green-9) 72%, black))",
370
+ border: "light-dark(var(--mantine-color-green-2), color-mix(in srgb, var(--mantine-color-green-4) 78%, transparent))",
371
+ color: "light-dark(var(--mantine-color-green-9), var(--mantine-color-green-0))"
372
+ },
373
+ red: {
374
+ bg: "light-dark(var(--mantine-color-red-0), color-mix(in srgb, var(--mantine-color-red-9) 72%, black))",
375
+ border: "light-dark(var(--mantine-color-red-2), color-mix(in srgb, var(--mantine-color-red-4) 78%, transparent))",
376
+ color: "light-dark(var(--mantine-color-red-9), var(--mantine-color-red-0))"
377
+ },
378
+ amber: {
379
+ bg: "light-dark(var(--mantine-color-yellow-0), color-mix(in srgb, var(--mantine-color-yellow-8) 78%, black))",
380
+ border: "light-dark(var(--mantine-color-yellow-3), color-mix(in srgb, var(--mantine-color-yellow-5) 70%, transparent))",
381
+ color: "light-dark(var(--mantine-color-yellow-9), var(--mantine-color-yellow-0))"
382
+ },
383
+ blue: {
384
+ bg: "light-dark(var(--mantine-color-blue-0), color-mix(in srgb, var(--mantine-color-blue-9) 74%, black))",
385
+ border: "light-dark(var(--mantine-color-blue-2), color-mix(in srgb, var(--mantine-color-blue-4) 75%, transparent))",
386
+ color: "light-dark(var(--mantine-color-blue-9), var(--mantine-color-blue-0))"
383
387
  }
384
- if (onClick || component) {
385
- const ButtonComponent = component || "button";
386
- return /* @__PURE__ */ jsx3(
387
- Badge2,
388
- {
389
- component: ButtonComponent,
390
- type: component ? void 0 : "button",
391
- onClick,
392
- "aria-pressed": onClick ? active : void 0,
393
- ...sharedProps,
394
- children: label
395
- }
396
- );
388
+ };
389
+ function resolveAccentPanelStyles(tone = "violet", variant = "subtle") {
390
+ const token = toneStyles[tone];
391
+ if (variant === "soft-outline") {
392
+ return {
393
+ backgroundColor: "light-dark(var(--mantine-color-body), color-mix(in srgb, var(--mantine-color-dark-7) 92%, black))",
394
+ border: `1px solid ${token.border}`,
395
+ color: token.color
396
+ };
397
397
  }
398
- return /* @__PURE__ */ jsx3(Badge2, { ...sharedProps, children: label });
398
+ return {
399
+ backgroundColor: token.bg,
400
+ border: `1px solid ${token.border}`,
401
+ color: token.color
402
+ };
403
+ }
404
+ function AccentPanel({
405
+ tone = "violet",
406
+ variant = "subtle",
407
+ title,
408
+ badge,
409
+ children
410
+ }) {
411
+ const styles = resolveAccentPanelStyles(tone, variant);
412
+ return /* @__PURE__ */ jsx3(Paper, { withBorder: true, radius: "lg", p: "lg", style: styles, children: /* @__PURE__ */ jsxs2(Stack2, { gap: "sm", children: [
413
+ title || badge ? /* @__PURE__ */ jsxs2(Group, { justify: "space-between", align: "flex-start", gap: "sm", wrap: "wrap", children: [
414
+ title ? /* @__PURE__ */ jsx3(Title2, { order: 4, c: "inherit", children: title }) : /* @__PURE__ */ jsx3(Box2, {}),
415
+ badge ? typeof badge === "string" ? /* @__PURE__ */ jsx3(Badge2, { color: tone === "amber" ? "yellow" : tone, variant: "filled", children: badge }) : badge : null
416
+ ] }) : null,
417
+ typeof children === "string" ? /* @__PURE__ */ jsx3(Text2, { c: "inherit", children }) : /* @__PURE__ */ jsx3(Box2, { c: "inherit", children })
418
+ ] }) });
419
+ }
420
+
421
+ // src/ReferenceLocaleNotice.tsx
422
+ import { jsx as jsx4 } from "react/jsx-runtime";
423
+ function ReferenceLocaleNotice({ localeLabel, detail }) {
424
+ return /* @__PURE__ */ jsx4(AccentPanel, { tone: "amber", variant: "soft-outline", title: "Localization status", badge: localeLabel, children: detail });
425
+ }
426
+
427
+ // src/ReferenceLinkGrid.tsx
428
+ import { Anchor, Badge as Badge3, Group as Group2, Paper as Paper2, SimpleGrid, Stack as Stack3, Text as Text3, Title as Title3 } from "@mantine/core";
429
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
430
+ function ReferenceLinkGrid({
431
+ items,
432
+ columns = 3
433
+ }) {
434
+ return /* @__PURE__ */ jsx5(SimpleGrid, { cols: { base: 1, sm: Math.min(columns, 2), xl: columns }, spacing: "lg", children: items.map((item) => /* @__PURE__ */ jsx5(Paper2, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ jsxs3(Stack3, { gap: "md", children: [
435
+ /* @__PURE__ */ jsxs3(Group2, { justify: "space-between", align: "flex-start", gap: "sm", wrap: "wrap", children: [
436
+ /* @__PURE__ */ jsxs3(Stack3, { gap: 6, maw: 540, children: [
437
+ /* @__PURE__ */ jsx5(Title3, { order: 4, children: /* @__PURE__ */ jsx5(Anchor, { href: item.href, underline: "never", children: item.title }) }),
438
+ /* @__PURE__ */ jsx5(Text3, { size: "sm", c: "dimmed", children: item.description })
439
+ ] }),
440
+ item.badge ? typeof item.badge === "string" ? /* @__PURE__ */ jsx5(Badge3, { variant: "light", color: "violet", children: item.badge }) : item.badge : null
441
+ ] }),
442
+ item.meta ? /* @__PURE__ */ jsx5(Text3, { size: "sm", c: "dimmed", children: item.meta }) : null,
443
+ /* @__PURE__ */ jsx5(Anchor, { href: item.href, fw: 600, children: "Open section" })
444
+ ] }) }, item.id)) });
445
+ }
446
+
447
+ // src/SectionPanel.tsx
448
+ import { Divider, Group as Group3, Paper as Paper3, Stack as Stack4, Text as Text4, Title as Title4 } from "@mantine/core";
449
+ import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
450
+ var toneBackgrounds = {
451
+ default: "var(--mantine-color-body)",
452
+ supporting: "light-dark(var(--mantine-color-gray-0), color-mix(in srgb, var(--mantine-color-dark-7) 92%, black))",
453
+ warning: "light-dark(var(--mantine-color-yellow-0), color-mix(in srgb, var(--mantine-color-yellow-9) 18%, var(--mantine-color-body)))",
454
+ critical: "light-dark(var(--mantine-color-red-0), color-mix(in srgb, var(--mantine-color-red-9) 18%, var(--mantine-color-body)))"
455
+ };
456
+ function SectionPanel({
457
+ title,
458
+ description,
459
+ action,
460
+ children,
461
+ tone = "default",
462
+ id,
463
+ divided = true
464
+ }) {
465
+ return /* @__PURE__ */ jsx6(Paper3, { id, withBorder: true, radius: "xl", p: "lg", style: { background: toneBackgrounds[tone] }, children: /* @__PURE__ */ jsxs4(Stack4, { gap: "md", children: [
466
+ title || description || action ? /* @__PURE__ */ jsxs4(Fragment, { children: [
467
+ /* @__PURE__ */ jsxs4(Group3, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
468
+ title || description ? /* @__PURE__ */ jsxs4(Stack4, { gap: 4, children: [
469
+ title ? /* @__PURE__ */ jsx6(Title4, { order: 3, children: title }) : null,
470
+ description ? /* @__PURE__ */ jsx6(Text4, { size: "sm", c: "dimmed", children: description }) : null
471
+ ] }) : null,
472
+ action
473
+ ] }),
474
+ divided ? /* @__PURE__ */ jsx6(Divider, {}) : null
475
+ ] }) : null,
476
+ children
477
+ ] }) });
478
+ }
479
+
480
+ // src/ReferenceSection.tsx
481
+ import { Anchor as Anchor2, Group as Group4, Stack as Stack5, Text as Text5 } from "@mantine/core";
482
+ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
483
+ function ReferenceSection({
484
+ title,
485
+ description,
486
+ eyebrow,
487
+ action,
488
+ href,
489
+ linkLabel = "Open section",
490
+ tone = "default",
491
+ children
492
+ }) {
493
+ return /* @__PURE__ */ jsx7(
494
+ SectionPanel,
495
+ {
496
+ tone,
497
+ title: /* @__PURE__ */ jsxs5(Stack5, { gap: 4, children: [
498
+ eyebrow ? /* @__PURE__ */ jsx7(Text5, { size: "xs", fw: 700, c: "dimmed", children: eyebrow }) : null,
499
+ /* @__PURE__ */ jsxs5(Group4, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
500
+ /* @__PURE__ */ jsxs5(Stack5, { gap: 4, children: [
501
+ /* @__PURE__ */ jsx7(Text5, { component: "span", fw: 700, size: "xl", children: title }),
502
+ description ? /* @__PURE__ */ jsx7(Text5, { size: "sm", c: "dimmed", children: description }) : null
503
+ ] }),
504
+ href ? /* @__PURE__ */ jsx7(Anchor2, { href, fw: 600, children: linkLabel }) : null
505
+ ] })
506
+ ] }),
507
+ action,
508
+ divided: false,
509
+ children
510
+ }
511
+ );
399
512
  }
400
513
 
401
514
  // src/ActionBar.tsx
402
- import { ActionIcon, Button, Group, Stack as Stack2 } from "@mantine/core";
403
- import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
515
+ import { ActionIcon, Button, Group as Group5, Stack as Stack6 } from "@mantine/core";
516
+ import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
404
517
  function renderSemanticAction(action, slot, vocabularyPacks) {
405
518
  const { action: actionId, variant, ariaLabel, ...props } = action;
406
519
  const fallbackVariant = slot === "primary" ? "filled" : slot === "secondary" ? "default" : "subtle";
407
520
  const config = resolveSemanticActionConfig(actionId, vocabularyPacks);
408
521
  const Icon = config.icon;
409
522
  const label = getSemanticActionLabel(actionId, void 0, vocabularyPacks);
410
- return /* @__PURE__ */ jsx4(
523
+ return /* @__PURE__ */ jsx8(
411
524
  Button,
412
525
  {
413
- leftSection: /* @__PURE__ */ jsx4(Icon, { size: "1rem", stroke: 1.75 }),
526
+ leftSection: /* @__PURE__ */ jsx8(Icon, { size: "1rem", stroke: 1.75 }),
414
527
  "aria-label": ariaLabel ?? label,
415
528
  variant: variant ?? fallbackVariant,
416
529
  ...props,
@@ -427,23 +540,23 @@ function ActionBar({
427
540
  gap = "sm",
428
541
  vocabularyPacks = []
429
542
  }) {
430
- return /* @__PURE__ */ jsx4(Stack2, { gap, children: /* @__PURE__ */ jsxs2(Group, { justify: "space-between", align: "center", gap, wrap: "wrap", children: [
431
- /* @__PURE__ */ jsxs2(Group, { gap, wrap: "wrap", children: [
543
+ return /* @__PURE__ */ jsx8(Stack6, { gap, children: /* @__PURE__ */ jsxs6(Group5, { justify: "space-between", align: "center", gap, wrap: "wrap", children: [
544
+ /* @__PURE__ */ jsxs6(Group5, { gap, wrap: "wrap", children: [
432
545
  secondary.map((action) => renderSemanticAction(action, "secondary", vocabularyPacks)),
433
546
  tertiary.map((action) => renderSemanticAction(action, "tertiary", vocabularyPacks))
434
547
  ] }),
435
- /* @__PURE__ */ jsxs2(Group, { gap, wrap: "wrap", justify: "flex-end", style: { marginInlineStart: "auto" }, children: [
548
+ /* @__PURE__ */ jsxs6(Group5, { gap, wrap: "wrap", justify: "flex-end", style: { marginInlineStart: "auto" }, children: [
436
549
  iconOnly.map(({ action, ariaLabel, ...props }) => {
437
550
  const config = resolveSemanticActionConfig(action, vocabularyPacks);
438
551
  const Icon = config.icon;
439
- return /* @__PURE__ */ jsx4(
552
+ return /* @__PURE__ */ jsx8(
440
553
  ActionIcon,
441
554
  {
442
555
  variant: "subtle",
443
556
  size: "lg",
444
557
  "aria-label": ariaLabel ?? getSemanticActionLabel(action, void 0, vocabularyPacks),
445
558
  ...props,
446
- children: /* @__PURE__ */ jsx4(Icon, { size: "1rem", stroke: 1.75 })
559
+ children: /* @__PURE__ */ jsx8(Icon, { size: "1rem", stroke: 1.75 })
447
560
  },
448
561
  `icon-${action}`
449
562
  );
@@ -453,34 +566,236 @@ function ActionBar({
453
566
  ] }) });
454
567
  }
455
568
 
569
+ // src/FormField.tsx
570
+ import { Box as Box3, Stack as Stack7, Text as Text6 } from "@mantine/core";
571
+ import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
572
+ function FormField({ label, description, error, children }) {
573
+ return /* @__PURE__ */ jsx9(Box3, { component: "label", children: /* @__PURE__ */ jsxs7(Stack7, { gap: 4, children: [
574
+ typeof label === "string" ? /* @__PURE__ */ jsx9(Text6, { size: "xs", fw: 600, c: "dimmed", children: label }) : label,
575
+ description ? typeof description === "string" ? /* @__PURE__ */ jsx9(Text6, { size: "xs", c: "dimmed", children: description }) : description : null,
576
+ children,
577
+ error ? typeof error === "string" ? /* @__PURE__ */ jsx9(Text6, { size: "xs", c: "red.7", children: error }) : error : null
578
+ ] }) });
579
+ }
580
+
581
+ // src/ListingCard.tsx
582
+ import { ActionIcon as ActionIcon2, AspectRatio, Badge as Badge4, Card, Group as Group6, Stack as Stack8, Text as Text7, ThemeIcon, Title as Title5 } from "@mantine/core";
583
+ import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
584
+ var ratioMap = {
585
+ "1:1": 1,
586
+ "4:3": 4 / 3,
587
+ "16:9": 16 / 9
588
+ };
589
+ var toneColorMap = {
590
+ default: void 0,
591
+ positive: "teal",
592
+ warning: "orange",
593
+ muted: "gray"
594
+ };
595
+ function ListingImageFallback({ mediaRatio }) {
596
+ return /* @__PURE__ */ jsx10(AspectRatio, { ratio: ratioMap[mediaRatio], children: /* @__PURE__ */ jsx10(
597
+ ThemeIcon,
598
+ {
599
+ size: "100%",
600
+ radius: "md",
601
+ variant: "light",
602
+ color: "gray",
603
+ "aria-label": "No listing image available",
604
+ children: /* @__PURE__ */ jsx10(GdsIcons.Gallery, { size: "2rem" })
605
+ }
606
+ ) });
607
+ }
608
+ function ListingAffordance({ affordance }) {
609
+ const config = GdsVocabulary[affordance.action];
610
+ const Icon = config.icon;
611
+ const label = affordance.ariaLabel ?? getSemanticActionLabel(affordance.action);
612
+ if (affordance.href) {
613
+ return /* @__PURE__ */ jsx10(
614
+ ActionIcon2,
615
+ {
616
+ component: "a",
617
+ href: affordance.href,
618
+ variant: "subtle",
619
+ size: "lg",
620
+ "aria-label": label,
621
+ disabled: affordance.disabled,
622
+ children: /* @__PURE__ */ jsx10(Icon, { size: "1rem", stroke: 1.75 })
623
+ }
624
+ );
625
+ }
626
+ return /* @__PURE__ */ jsx10(
627
+ ActionIcon2,
628
+ {
629
+ variant: "subtle",
630
+ size: "lg",
631
+ "aria-label": label,
632
+ onClick: affordance.onClick,
633
+ disabled: affordance.disabled,
634
+ children: /* @__PURE__ */ jsx10(Icon, { size: "1rem", stroke: 1.75 })
635
+ }
636
+ );
637
+ }
638
+ function ListingCard({
639
+ title,
640
+ href,
641
+ description,
642
+ image,
643
+ mediaRatio = "4:3",
644
+ metadata = [],
645
+ featured = false,
646
+ sponsoredDisclosure,
647
+ price,
648
+ primaryAction,
649
+ saveAction,
650
+ shareAction,
651
+ compact = false
652
+ }) {
653
+ const titleContent = href && typeof title === "string" ? /* @__PURE__ */ jsx10(Text7, { component: "a", href, inherit: true, td: "none", children: title }) : title;
654
+ return /* @__PURE__ */ jsx10(Card, { withBorder: true, radius: "lg", padding: compact ? "md" : "lg", children: /* @__PURE__ */ jsxs8(Stack8, { gap: compact ? "sm" : "md", children: [
655
+ image ?? /* @__PURE__ */ jsx10(ListingImageFallback, { mediaRatio }),
656
+ featured || sponsoredDisclosure ? /* @__PURE__ */ jsxs8(Group6, { justify: "space-between", gap: "sm", wrap: "wrap", children: [
657
+ featured ? /* @__PURE__ */ jsx10(Badge4, { variant: "light", color: "violet", children: "Featured" }) : /* @__PURE__ */ jsx10("span", {}),
658
+ sponsoredDisclosure ? /* @__PURE__ */ jsx10(Text7, { size: "xs", c: "dimmed", children: sponsoredDisclosure }) : null
659
+ ] }) : null,
660
+ /* @__PURE__ */ jsxs8(Stack8, { gap: 4, children: [
661
+ /* @__PURE__ */ jsx10(Title5, { order: compact ? 5 : 4, lineClamp: 2, children: titleContent }),
662
+ description ? /* @__PURE__ */ jsx10(Text7, { size: "sm", c: "dimmed", lineClamp: compact ? 2 : 3, children: description }) : null
663
+ ] }),
664
+ metadata.length ? /* @__PURE__ */ jsx10(Stack8, { gap: "xs", children: metadata.map((item) => /* @__PURE__ */ jsxs8(Group6, { justify: "space-between", align: "flex-start", gap: "sm", wrap: "nowrap", children: [
665
+ /* @__PURE__ */ jsxs8(Group6, { gap: "xs", wrap: "nowrap", style: { minWidth: 0, flex: 1 }, children: [
666
+ item.icon,
667
+ /* @__PURE__ */ jsx10(Text7, { size: "sm", c: item.tone ? toneColorMap[item.tone] : "dimmed", lineClamp: 1, children: item.label })
668
+ ] }),
669
+ item.value ? /* @__PURE__ */ jsx10(Text7, { size: "sm", fw: 500, ta: "right", children: item.value }) : null
670
+ ] }, item.id)) }) : null,
671
+ /* @__PURE__ */ jsxs8(Group6, { justify: "space-between", align: "center", gap: "sm", wrap: "wrap", children: [
672
+ /* @__PURE__ */ jsx10(Stack8, { gap: 2, style: { minWidth: 0, flex: 1 }, children: price ? /* @__PURE__ */ jsx10(Text7, { fw: 700, size: compact ? "md" : "lg", children: price }) : null }),
673
+ /* @__PURE__ */ jsxs8(Group6, { gap: "xs", wrap: "nowrap", justify: "flex-end", style: { marginInlineStart: "auto" }, children: [
674
+ saveAction ? /* @__PURE__ */ jsx10(ListingAffordance, { affordance: saveAction }) : null,
675
+ shareAction ? /* @__PURE__ */ jsx10(ListingAffordance, { affordance: shareAction }) : null,
676
+ primaryAction
677
+ ] })
678
+ ] })
679
+ ] }) });
680
+ }
681
+
682
+ // src/StateBlock.tsx
683
+ import { Loader, Stack as Stack9, Text as Text8, ThemeIcon as ThemeIcon2, Title as Title6 } from "@mantine/core";
684
+ import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
685
+ var variantConfig = {
686
+ loading: { color: "violet", icon: /* @__PURE__ */ jsx11(Loader, { size: "sm" }) },
687
+ empty: { color: "gray", icon: /* @__PURE__ */ jsx11(GdsIcons.Inbox, { size: "1.1rem" }) },
688
+ error: { color: "red", icon: /* @__PURE__ */ jsx11(GdsIcons.Danger, { size: "1.1rem" }) },
689
+ permission: { color: "orange", icon: /* @__PURE__ */ jsx11(GdsIcons.Verify, { size: "1.1rem" }) },
690
+ disabled: { color: "gray", icon: /* @__PURE__ */ jsx11(GdsIcons.Toggle, { size: "1.1rem" }) },
691
+ success: { color: "teal", icon: /* @__PURE__ */ jsx11(GdsIcons.Success, { size: "1.1rem" }) },
692
+ info: { color: "blue", icon: /* @__PURE__ */ jsx11(GdsIcons.Info, { size: "1.1rem" }) },
693
+ "not-enough-data": { color: "yellow", icon: /* @__PURE__ */ jsx11(GdsIcons.Analytics, { size: "1.1rem" }) }
694
+ };
695
+ function StateBlock({
696
+ variant,
697
+ title,
698
+ description,
699
+ action,
700
+ icon,
701
+ compact = false
702
+ }) {
703
+ const config = variantConfig[variant];
704
+ return /* @__PURE__ */ jsxs9(
705
+ Stack9,
706
+ {
707
+ align: compact ? "flex-start" : "center",
708
+ justify: "center",
709
+ gap: "md",
710
+ py: compact ? "md" : "xl",
711
+ ta: compact ? "left" : "center",
712
+ children: [
713
+ /* @__PURE__ */ jsx11(ThemeIcon2, { variant: "light", color: config.color, size: compact ? "lg" : "xl", radius: "xl", children: icon ?? config.icon }),
714
+ /* @__PURE__ */ jsxs9(Stack9, { gap: 6, align: compact ? "flex-start" : "center", children: [
715
+ /* @__PURE__ */ jsx11(Title6, { order: compact ? 4 : 3, children: title }),
716
+ description ? /* @__PURE__ */ jsx11(Text8, { c: "dimmed", maw: compact ? void 0 : 480, children: description }) : null
717
+ ] }),
718
+ action
719
+ ]
720
+ }
721
+ );
722
+ }
723
+
724
+ // src/ChoiceChip.tsx
725
+ import { Badge as Badge5 } from "@mantine/core";
726
+ import { jsx as jsx12 } from "react/jsx-runtime";
727
+ function ChoiceChip({
728
+ label,
729
+ active = false,
730
+ href,
731
+ onClick,
732
+ component,
733
+ ...props
734
+ }) {
735
+ const sharedProps = {
736
+ variant: active ? "filled" : "light",
737
+ size: "sm",
738
+ radius: "xl",
739
+ ...props
740
+ };
741
+ if (href) {
742
+ const LinkComponent = component || "a";
743
+ return /* @__PURE__ */ jsx12(
744
+ Badge5,
745
+ {
746
+ component: LinkComponent,
747
+ href,
748
+ "aria-current": active ? "page" : void 0,
749
+ ...sharedProps,
750
+ children: label
751
+ }
752
+ );
753
+ }
754
+ if (onClick || component) {
755
+ const ButtonComponent = component || "button";
756
+ return /* @__PURE__ */ jsx12(
757
+ Badge5,
758
+ {
759
+ component: ButtonComponent,
760
+ type: component ? void 0 : "button",
761
+ onClick,
762
+ "aria-pressed": onClick ? active : void 0,
763
+ ...sharedProps,
764
+ children: label
765
+ }
766
+ );
767
+ }
768
+ return /* @__PURE__ */ jsx12(Badge5, { ...sharedProps, children: label });
769
+ }
770
+
456
771
  // src/MetricCard.tsx
457
- import { Badge as Badge3, Card, Group as Group2, Stack as Stack3, Text as Text2, ThemeIcon, Title as Title2 } from "@mantine/core";
458
- import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
772
+ import { Badge as Badge6, Card as Card2, Group as Group7, Stack as Stack10, Text as Text9, ThemeIcon as ThemeIcon3, Title as Title7 } from "@mantine/core";
773
+ import { jsx as jsx13, jsxs as jsxs10 } from "react/jsx-runtime";
459
774
  var trendColors = {
460
775
  positive: "teal",
461
776
  negative: "red",
462
777
  neutral: "gray"
463
778
  };
464
779
  function MetricCard({ label, value, description, trend, icon, footer }) {
465
- return /* @__PURE__ */ jsx5(Card, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ jsxs3(Stack3, { gap: "md", children: [
466
- /* @__PURE__ */ jsxs3(Group2, { justify: "space-between", align: "flex-start", wrap: "nowrap", children: [
467
- /* @__PURE__ */ jsxs3(Stack3, { gap: 4, children: [
468
- /* @__PURE__ */ jsx5(Text2, { size: "sm", c: "dimmed", fw: 600, children: label }),
469
- /* @__PURE__ */ jsx5(Title2, { order: 3, children: value })
780
+ return /* @__PURE__ */ jsx13(Card2, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ jsxs10(Stack10, { gap: "md", children: [
781
+ /* @__PURE__ */ jsxs10(Group7, { justify: "space-between", align: "flex-start", wrap: "nowrap", children: [
782
+ /* @__PURE__ */ jsxs10(Stack10, { gap: 4, children: [
783
+ /* @__PURE__ */ jsx13(Text9, { size: "sm", c: "dimmed", fw: 600, children: label }),
784
+ /* @__PURE__ */ jsx13(Title7, { order: 3, children: value })
470
785
  ] }),
471
- icon ? /* @__PURE__ */ jsx5(ThemeIcon, { variant: "light", size: "xl", radius: "xl", "aria-hidden": true, children: icon }) : null
786
+ icon ? /* @__PURE__ */ jsx13(ThemeIcon3, { variant: "light", size: "xl", radius: "xl", "aria-hidden": true, children: icon }) : null
472
787
  ] }),
473
- description || trend ? /* @__PURE__ */ jsxs3(Group2, { justify: "space-between", align: "center", gap: "sm", children: [
474
- description ? /* @__PURE__ */ jsx5(Text2, { size: "sm", c: "dimmed", flex: 1, children: description }) : /* @__PURE__ */ jsx5("span", {}),
475
- trend ? /* @__PURE__ */ jsx5(Badge3, { color: trendColors[trend.tone ?? "neutral"], variant: "light", children: trend.label }) : null
788
+ description || trend ? /* @__PURE__ */ jsxs10(Group7, { justify: "space-between", align: "center", gap: "sm", children: [
789
+ description ? /* @__PURE__ */ jsx13(Text9, { size: "sm", c: "dimmed", flex: 1, children: description }) : /* @__PURE__ */ jsx13("span", {}),
790
+ trend ? /* @__PURE__ */ jsx13(Badge6, { color: trendColors[trend.tone ?? "neutral"], variant: "light", children: trend.label }) : null
476
791
  ] }) : null,
477
792
  footer
478
793
  ] }) });
479
794
  }
480
795
 
481
796
  // src/ProgressCard.tsx
482
- import { Card as Card2, Group as Group3, Progress, Stack as Stack4, Text as Text3, Title as Title3 } from "@mantine/core";
483
- import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
797
+ import { Card as Card3, Group as Group8, Progress, Stack as Stack11, Text as Text10, Title as Title8 } from "@mantine/core";
798
+ import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
484
799
  function ProgressCard({
485
800
  label,
486
801
  value,
@@ -489,63 +804,30 @@ function ProgressCard({
489
804
  description,
490
805
  action
491
806
  }) {
492
- return /* @__PURE__ */ jsx6(Card2, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ jsxs4(Stack4, { gap: "md", children: [
493
- /* @__PURE__ */ jsxs4(Group3, { justify: "space-between", align: "flex-start", children: [
494
- /* @__PURE__ */ jsxs4(Stack4, { gap: 4, children: [
495
- /* @__PURE__ */ jsx6(Text3, { size: "sm", c: "dimmed", fw: 600, children: label }),
496
- /* @__PURE__ */ jsx6(Title3, { order: 3, children: value })
807
+ return /* @__PURE__ */ jsx14(Card3, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ jsxs11(Stack11, { gap: "md", children: [
808
+ /* @__PURE__ */ jsxs11(Group8, { justify: "space-between", align: "flex-start", children: [
809
+ /* @__PURE__ */ jsxs11(Stack11, { gap: 4, children: [
810
+ /* @__PURE__ */ jsx14(Text10, { size: "sm", c: "dimmed", fw: 600, children: label }),
811
+ /* @__PURE__ */ jsx14(Title8, { order: 3, children: value })
497
812
  ] }),
498
813
  action
499
814
  ] }),
500
- description ? /* @__PURE__ */ jsx6(Text3, { size: "sm", c: "dimmed", children: description }) : null,
501
- /* @__PURE__ */ jsxs4(Stack4, { gap: 6, children: [
502
- /* @__PURE__ */ jsxs4(Group3, { justify: "space-between", gap: "sm", children: [
503
- /* @__PURE__ */ jsx6(Text3, { size: "sm", fw: 500, children: progressLabel ?? "Progress" }),
504
- /* @__PURE__ */ jsxs4(Text3, { size: "sm", c: "dimmed", children: [
815
+ description ? /* @__PURE__ */ jsx14(Text10, { size: "sm", c: "dimmed", children: description }) : null,
816
+ /* @__PURE__ */ jsxs11(Stack11, { gap: 6, children: [
817
+ /* @__PURE__ */ jsxs11(Group8, { justify: "space-between", gap: "sm", children: [
818
+ /* @__PURE__ */ jsx14(Text10, { size: "sm", fw: 500, children: progressLabel ?? "Progress" }),
819
+ /* @__PURE__ */ jsxs11(Text10, { size: "sm", c: "dimmed", children: [
505
820
  Math.round(progress),
506
821
  "%"
507
822
  ] })
508
823
  ] }),
509
- /* @__PURE__ */ jsx6(Progress, { value: progress, radius: "xl", size: "md" })
824
+ /* @__PURE__ */ jsx14(Progress, { value: progress, radius: "xl", size: "md" })
510
825
  ] })
511
826
  ] }) });
512
827
  }
513
828
 
514
- // src/SectionPanel.tsx
515
- import { Divider, Group as Group4, Paper, Stack as Stack5, Text as Text4, Title as Title4 } from "@mantine/core";
516
- import { Fragment, jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
517
- var toneBackgrounds = {
518
- default: "var(--mantine-color-body)",
519
- supporting: "light-dark(var(--mantine-color-gray-0), color-mix(in srgb, var(--mantine-color-dark-7) 92%, black))",
520
- warning: "light-dark(var(--mantine-color-yellow-0), color-mix(in srgb, var(--mantine-color-yellow-9) 18%, var(--mantine-color-body)))",
521
- critical: "light-dark(var(--mantine-color-red-0), color-mix(in srgb, var(--mantine-color-red-9) 18%, var(--mantine-color-body)))"
522
- };
523
- function SectionPanel({
524
- title,
525
- description,
526
- action,
527
- children,
528
- tone = "default",
529
- id,
530
- divided = true
531
- }) {
532
- return /* @__PURE__ */ jsx7(Paper, { id, withBorder: true, radius: "xl", p: "lg", style: { background: toneBackgrounds[tone] }, children: /* @__PURE__ */ jsxs5(Stack5, { gap: "md", children: [
533
- title || description || action ? /* @__PURE__ */ jsxs5(Fragment, { children: [
534
- /* @__PURE__ */ jsxs5(Group4, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
535
- title || description ? /* @__PURE__ */ jsxs5(Stack5, { gap: 4, children: [
536
- title ? /* @__PURE__ */ jsx7(Title4, { order: 3, children: title }) : null,
537
- description ? /* @__PURE__ */ jsx7(Text4, { size: "sm", c: "dimmed", children: description }) : null
538
- ] }) : null,
539
- action
540
- ] }),
541
- divided ? /* @__PURE__ */ jsx7(Divider, {}) : null
542
- ] }) : null,
543
- children
544
- ] }) });
545
- }
546
-
547
829
  // src/ConsumerSection.tsx
548
- import { jsx as jsx8 } from "react/jsx-runtime";
830
+ import { jsx as jsx15 } from "react/jsx-runtime";
549
831
  function ConsumerSection({
550
832
  title,
551
833
  description,
@@ -553,22 +835,22 @@ function ConsumerSection({
553
835
  children,
554
836
  tone = "default"
555
837
  }) {
556
- return /* @__PURE__ */ jsx8(SectionPanel, { title, description, action, tone, children });
838
+ return /* @__PURE__ */ jsx15(SectionPanel, { title, description, action, tone, children });
557
839
  }
558
840
 
559
841
  // src/ConsumerDashboardGrid.tsx
560
- import { SimpleGrid } from "@mantine/core";
561
- import { jsx as jsx9 } from "react/jsx-runtime";
842
+ import { SimpleGrid as SimpleGrid2 } from "@mantine/core";
843
+ import { jsx as jsx16 } from "react/jsx-runtime";
562
844
  function ConsumerDashboardGrid({
563
845
  children,
564
846
  columns = 3
565
847
  }) {
566
- return /* @__PURE__ */ jsx9(SimpleGrid, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children });
848
+ return /* @__PURE__ */ jsx16(SimpleGrid2, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children });
567
849
  }
568
850
 
569
851
  // src/EditorialCard.tsx
570
- import { Anchor, AspectRatio, Badge as Badge4, Box as Box2, Card as Card3, Group as Group5, Stack as Stack6, Text as Text5, Title as Title5 } from "@mantine/core";
571
- import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
852
+ import { Anchor as Anchor3, AspectRatio as AspectRatio2, Badge as Badge7, Box as Box4, Card as Card4, Group as Group9, Stack as Stack12, Text as Text11, Title as Title9 } from "@mantine/core";
853
+ import { jsx as jsx17, jsxs as jsxs12 } from "react/jsx-runtime";
572
854
  var tonePalette = {
573
855
  default: {
574
856
  accent: "violet",
@@ -588,8 +870,8 @@ var tonePalette = {
588
870
  }
589
871
  };
590
872
  function EditorialMediaFallback({ compact }) {
591
- return /* @__PURE__ */ jsx10(AspectRatio, { ratio: compact ? 16 / 10 : 4 / 3, children: /* @__PURE__ */ jsx10(
592
- Box2,
873
+ return /* @__PURE__ */ jsx17(AspectRatio2, { ratio: compact ? 16 / 10 : 4 / 3, children: /* @__PURE__ */ jsx17(
874
+ Box4,
593
875
  {
594
876
  style: {
595
877
  display: "grid",
@@ -599,7 +881,7 @@ function EditorialMediaFallback({ compact }) {
599
881
  background: "var(--mantine-color-gray-0)",
600
882
  borderRadius: "var(--mantine-radius-md)"
601
883
  },
602
- children: /* @__PURE__ */ jsx10(GdsIcons.Gallery, { size: compact ? "1.5rem" : "2rem" })
884
+ children: /* @__PURE__ */ jsx17(GdsIcons.Gallery, { size: compact ? "1.5rem" : "2rem" })
603
885
  }
604
886
  ) });
605
887
  }
@@ -622,8 +904,8 @@ function EditorialCard({
622
904
  const featured = variant === "featured";
623
905
  const palette = tonePalette[tone];
624
906
  const interactiveProps = href ? { component: "a", href } : onClick ? { component: "button", onClick, type: "button" } : {};
625
- return /* @__PURE__ */ jsxs6(
626
- Card3,
907
+ return /* @__PURE__ */ jsxs12(
908
+ Card4,
627
909
  {
628
910
  className: classNames?.root,
629
911
  withBorder: true,
@@ -637,21 +919,21 @@ function EditorialCard({
637
919
  cursor: href || onClick ? "pointer" : "default"
638
920
  },
639
921
  children: [
640
- /* @__PURE__ */ jsx10(Card3.Section, { className: classNames?.media, children: media ?? /* @__PURE__ */ jsx10(EditorialMediaFallback, { compact }) }),
641
- /* @__PURE__ */ jsxs6(Stack6, { gap: "md", p: compact ? "md" : "lg", className: classNames?.body, children: [
642
- /* @__PURE__ */ jsxs6(Group5, { justify: "space-between", align: "flex-start", gap: "sm", wrap: "wrap", children: [
643
- /* @__PURE__ */ jsxs6(Stack6, { gap: 4, flex: 1, children: [
644
- eyebrow ? /* @__PURE__ */ jsx10(Text5, { size: "xs", fw: 700, c: "dimmed", children: eyebrow }) : null,
645
- /* @__PURE__ */ jsx10(Title5, { order: compact ? 4 : 3, className: classNames?.title, children: title })
922
+ /* @__PURE__ */ jsx17(Card4.Section, { className: classNames?.media, children: media ?? /* @__PURE__ */ jsx17(EditorialMediaFallback, { compact }) }),
923
+ /* @__PURE__ */ jsxs12(Stack12, { gap: "md", p: compact ? "md" : "lg", className: classNames?.body, children: [
924
+ /* @__PURE__ */ jsxs12(Group9, { justify: "space-between", align: "flex-start", gap: "sm", wrap: "wrap", children: [
925
+ /* @__PURE__ */ jsxs12(Stack12, { gap: 4, flex: 1, children: [
926
+ eyebrow ? /* @__PURE__ */ jsx17(Text11, { size: "xs", fw: 700, c: "dimmed", children: eyebrow }) : null,
927
+ /* @__PURE__ */ jsx17(Title9, { order: compact ? 4 : 3, className: classNames?.title, children: title })
646
928
  ] }),
647
- badge ? typeof badge === "string" ? /* @__PURE__ */ jsx10(Badge4, { color: palette.accent, variant: "light", children: badge }) : badge : null
929
+ badge ? typeof badge === "string" ? /* @__PURE__ */ jsx17(Badge7, { color: palette.accent, variant: "light", children: badge }) : badge : null
648
930
  ] }),
649
- description ? /* @__PURE__ */ jsx10(Text5, { size: "sm", c: "dimmed", children: description }) : null,
650
- meta ? /* @__PURE__ */ jsx10(Text5, { size: "sm", c: "dimmed", className: classNames?.meta, children: meta }) : null,
651
- href || onClick || ctaLabel ? /* @__PURE__ */ jsxs6(Group5, { gap: 6, c: `${palette.accent}.7`, className: classNames?.action, children: [
652
- /* @__PURE__ */ jsx10(Text5, { fw: 600, size: "sm", children: ctaLabel }),
653
- /* @__PURE__ */ jsx10(
654
- Anchor,
931
+ description ? /* @__PURE__ */ jsx17(Text11, { size: "sm", c: "dimmed", children: description }) : null,
932
+ meta ? /* @__PURE__ */ jsx17(Text11, { size: "sm", c: "dimmed", className: classNames?.meta, children: meta }) : null,
933
+ href || onClick || ctaLabel ? /* @__PURE__ */ jsxs12(Group9, { gap: 6, c: `${palette.accent}.7`, className: classNames?.action, children: [
934
+ /* @__PURE__ */ jsx17(Text11, { fw: 600, size: "sm", children: ctaLabel }),
935
+ /* @__PURE__ */ jsx17(
936
+ Anchor3,
655
937
  {
656
938
  component: "span",
657
939
  underline: "never",
@@ -668,8 +950,8 @@ function EditorialCard({
668
950
  }
669
951
 
670
952
  // src/ProductCard.tsx
671
- import { Badge as Badge5, Card as Card4, Group as Group6, Menu, Stack as Stack7, Text as Text6, ThemeIcon as ThemeIcon2, Title as Title6, ActionIcon as ActionIcon2 } from "@mantine/core";
672
- import { jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime";
953
+ import { Badge as Badge8, Card as Card5, Group as Group10, Menu, Stack as Stack13, Text as Text12, ThemeIcon as ThemeIcon4, Title as Title10, ActionIcon as ActionIcon3 } from "@mantine/core";
954
+ import { jsx as jsx18, jsxs as jsxs13 } from "react/jsx-runtime";
673
955
  function ProductCard({
674
956
  title,
675
957
  description,
@@ -682,39 +964,39 @@ function ProductCard({
682
964
  footer
683
965
  }) {
684
966
  const MoreIcon = GdsIcons.Menu;
685
- return /* @__PURE__ */ jsx11(Card4, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ jsxs7(Stack7, { gap: "md", children: [
967
+ return /* @__PURE__ */ jsx18(Card5, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ jsxs13(Stack13, { gap: "md", children: [
686
968
  media,
687
- /* @__PURE__ */ jsxs7(Group6, { justify: "space-between", align: "flex-start", wrap: "nowrap", children: [
688
- /* @__PURE__ */ jsxs7(Group6, { align: "flex-start", gap: "sm", wrap: "nowrap", children: [
689
- icon ? /* @__PURE__ */ jsx11(ThemeIcon2, { variant: "light", size: "xl", radius: "xl", "aria-hidden": true, children: icon }) : null,
690
- /* @__PURE__ */ jsxs7(Stack7, { gap: 4, children: [
691
- /* @__PURE__ */ jsx11(Title6, { order: 4, children: title }),
692
- description ? /* @__PURE__ */ jsx11(Text6, { size: "sm", c: "dimmed", lineClamp: 3, children: description }) : null
969
+ /* @__PURE__ */ jsxs13(Group10, { justify: "space-between", align: "flex-start", wrap: "nowrap", children: [
970
+ /* @__PURE__ */ jsxs13(Group10, { align: "flex-start", gap: "sm", wrap: "nowrap", children: [
971
+ icon ? /* @__PURE__ */ jsx18(ThemeIcon4, { variant: "light", size: "xl", radius: "xl", "aria-hidden": true, children: icon }) : null,
972
+ /* @__PURE__ */ jsxs13(Stack13, { gap: 4, children: [
973
+ /* @__PURE__ */ jsx18(Title10, { order: 4, children: title }),
974
+ description ? /* @__PURE__ */ jsx18(Text12, { size: "sm", c: "dimmed", lineClamp: 3, children: description }) : null
693
975
  ] })
694
976
  ] }),
695
- /* @__PURE__ */ jsxs7(Group6, { gap: "xs", align: "center", wrap: "nowrap", children: [
696
- typeof status === "string" ? /* @__PURE__ */ jsx11(Badge5, { variant: "light", children: status }) : status,
697
- secondaryActions.length ? /* @__PURE__ */ jsxs7(Menu, { position: "bottom-end", withinPortal: true, children: [
698
- /* @__PURE__ */ jsx11(Menu.Target, { children: /* @__PURE__ */ jsx11(ActionIcon2, { variant: "subtle", "aria-label": "More actions", children: /* @__PURE__ */ jsx11(MoreIcon, { size: "1rem" }) }) }),
699
- /* @__PURE__ */ jsx11(Menu.Dropdown, { children: secondaryActions.map(
700
- (action) => action.href ? /* @__PURE__ */ jsx11(Menu.Item, { component: "a", href: action.href, color: action.color, children: action.label }, action.label) : /* @__PURE__ */ jsx11(Menu.Item, { onClick: action.onClick, color: action.color, children: action.label }, action.label)
977
+ /* @__PURE__ */ jsxs13(Group10, { gap: "xs", align: "center", wrap: "nowrap", children: [
978
+ typeof status === "string" ? /* @__PURE__ */ jsx18(Badge8, { variant: "light", children: status }) : status,
979
+ secondaryActions.length ? /* @__PURE__ */ jsxs13(Menu, { position: "bottom-end", withinPortal: true, children: [
980
+ /* @__PURE__ */ jsx18(Menu.Target, { children: /* @__PURE__ */ jsx18(ActionIcon3, { variant: "subtle", "aria-label": "More actions", children: /* @__PURE__ */ jsx18(MoreIcon, { size: "1rem" }) }) }),
981
+ /* @__PURE__ */ jsx18(Menu.Dropdown, { children: secondaryActions.map(
982
+ (action) => action.href ? /* @__PURE__ */ jsx18(Menu.Item, { component: "a", href: action.href, color: action.color, children: action.label }, action.label) : /* @__PURE__ */ jsx18(Menu.Item, { onClick: action.onClick, color: action.color, children: action.label }, action.label)
701
983
  ) })
702
984
  ] }) : null
703
985
  ] })
704
986
  ] }),
705
- metadata.length ? /* @__PURE__ */ jsx11(Stack7, { gap: 6, children: metadata.map((item) => /* @__PURE__ */ jsxs7(Group6, { justify: "space-between", gap: "sm", children: [
706
- /* @__PURE__ */ jsx11(Text6, { size: "sm", c: "dimmed", children: item.label }),
707
- /* @__PURE__ */ jsx11(Text6, { size: "sm", fw: 500, ta: "right", children: item.value })
987
+ metadata.length ? /* @__PURE__ */ jsx18(Stack13, { gap: 6, children: metadata.map((item) => /* @__PURE__ */ jsxs13(Group10, { justify: "space-between", gap: "sm", children: [
988
+ /* @__PURE__ */ jsx18(Text12, { size: "sm", c: "dimmed", children: item.label }),
989
+ /* @__PURE__ */ jsx18(Text12, { size: "sm", fw: 500, ta: "right", children: item.value })
708
990
  ] }, item.label)) }) : null,
709
- primaryAction ? /* @__PURE__ */ jsx11(Group6, { justify: "space-between", children: primaryAction }) : null,
991
+ primaryAction ? /* @__PURE__ */ jsx18(Group10, { justify: "space-between", children: primaryAction }) : null,
710
992
  footer
711
993
  ] }) });
712
994
  }
713
995
 
714
996
  // src/PublicProductCard.tsx
715
997
  import { cloneElement, isValidElement } from "react";
716
- import { AspectRatio as AspectRatio2, Badge as Badge6, Card as Card5, Group as Group7, Skeleton, Stack as Stack8, Text as Text7, ThemeIcon as ThemeIcon3, Title as Title7 } from "@mantine/core";
717
- import { jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
998
+ import { AspectRatio as AspectRatio3, Badge as Badge9, Card as Card6, Group as Group11, Skeleton, Stack as Stack14, Text as Text13, ThemeIcon as ThemeIcon5, Title as Title11 } from "@mantine/core";
999
+ import { jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
718
1000
  var stateConfig = {
719
1001
  available: { label: "Available", color: "teal" },
720
1002
  limited: { label: "Limited", color: "yellow" },
@@ -731,29 +1013,29 @@ function enhanceAction(action, disabled) {
731
1013
  });
732
1014
  }
733
1015
  function ImageFallback({ compact }) {
734
- return /* @__PURE__ */ jsx12(AspectRatio2, { ratio: compact ? 16 / 9 : 4 / 3, children: /* @__PURE__ */ jsx12(
735
- ThemeIcon3,
1016
+ return /* @__PURE__ */ jsx19(AspectRatio3, { ratio: compact ? 16 / 9 : 4 / 3, children: /* @__PURE__ */ jsx19(
1017
+ ThemeIcon5,
736
1018
  {
737
1019
  size: "100%",
738
1020
  radius: "md",
739
1021
  variant: "light",
740
1022
  color: "gray",
741
1023
  "aria-label": "No product image available",
742
- children: /* @__PURE__ */ jsx12(GdsIcons.Gallery, { size: compact ? "1.5rem" : "2rem" })
1024
+ children: /* @__PURE__ */ jsx19(GdsIcons.Gallery, { size: compact ? "1.5rem" : "2rem" })
743
1025
  }
744
1026
  ) });
745
1027
  }
746
1028
  function LoadingCard({ compact }) {
747
- return /* @__PURE__ */ jsx12(Card5, { withBorder: true, radius: "lg", padding: compact ? "md" : "lg", children: /* @__PURE__ */ jsxs8(Stack8, { gap: "md", children: [
748
- /* @__PURE__ */ jsx12(AspectRatio2, { ratio: compact ? 16 / 9 : 4 / 3, children: /* @__PURE__ */ jsx12(Skeleton, { radius: "md" }) }),
749
- /* @__PURE__ */ jsxs8(Stack8, { gap: "xs", children: [
750
- /* @__PURE__ */ jsx12(Skeleton, { height: 20, radius: "sm", width: "70%" }),
751
- /* @__PURE__ */ jsx12(Skeleton, { height: 14, radius: "sm", width: "100%" }),
752
- /* @__PURE__ */ jsx12(Skeleton, { height: 14, radius: "sm", width: "85%" })
1029
+ return /* @__PURE__ */ jsx19(Card6, { withBorder: true, radius: "lg", padding: compact ? "md" : "lg", children: /* @__PURE__ */ jsxs14(Stack14, { gap: "md", children: [
1030
+ /* @__PURE__ */ jsx19(AspectRatio3, { ratio: compact ? 16 / 9 : 4 / 3, children: /* @__PURE__ */ jsx19(Skeleton, { radius: "md" }) }),
1031
+ /* @__PURE__ */ jsxs14(Stack14, { gap: "xs", children: [
1032
+ /* @__PURE__ */ jsx19(Skeleton, { height: 20, radius: "sm", width: "70%" }),
1033
+ /* @__PURE__ */ jsx19(Skeleton, { height: 14, radius: "sm", width: "100%" }),
1034
+ /* @__PURE__ */ jsx19(Skeleton, { height: 14, radius: "sm", width: "85%" })
753
1035
  ] }),
754
- /* @__PURE__ */ jsxs8(Group7, { justify: "space-between", align: "center", children: [
755
- /* @__PURE__ */ jsx12(Skeleton, { height: 18, radius: "sm", width: 72 }),
756
- /* @__PURE__ */ jsx12(Skeleton, { height: 36, radius: "md", width: 120 })
1036
+ /* @__PURE__ */ jsxs14(Group11, { justify: "space-between", align: "center", children: [
1037
+ /* @__PURE__ */ jsx19(Skeleton, { height: 18, radius: "sm", width: 72 }),
1038
+ /* @__PURE__ */ jsx19(Skeleton, { height: 36, radius: "md", width: 120 })
757
1039
  ] })
758
1040
  ] }) });
759
1041
  }
@@ -776,7 +1058,7 @@ function PublicProductCard({
776
1058
  disabled = false
777
1059
  }) {
778
1060
  if (loading) {
779
- return /* @__PURE__ */ jsx12(LoadingCard, { compact });
1061
+ return /* @__PURE__ */ jsx19(LoadingCard, { compact });
780
1062
  }
781
1063
  const isActionDisabled = disabled || state === "sold-out";
782
1064
  const resolvedPrimaryAction = enhanceAction(primaryAction, isActionDisabled);
@@ -789,45 +1071,45 @@ function PublicProductCard({
789
1071
  const pickupHelper = helperKind === "pickup" ? helperText : pickupNote;
790
1072
  const inventoryHelper = helperKind === "inventory" ? helperText : inventoryNote;
791
1073
  const hasSupportingRegion = Boolean(price || supportingHelper || pickupHelper || inventoryHelper);
792
- return /* @__PURE__ */ jsx12(Card5, { withBorder: true, radius: "lg", padding: compact ? "md" : "lg", children: /* @__PURE__ */ jsxs8(Stack8, { gap: compact ? "sm" : "md", children: [
793
- image ?? /* @__PURE__ */ jsx12(ImageFallback, { compact }),
794
- /* @__PURE__ */ jsxs8(Group7, { justify: "space-between", align: "flex-start", wrap: "nowrap", gap: "sm", children: [
795
- /* @__PURE__ */ jsxs8(Stack8, { gap: 4, style: { minWidth: 0, flex: 1 }, children: [
796
- /* @__PURE__ */ jsx12(Title7, { order: compact ? 5 : 4, lineClamp: 2, children: title }),
797
- description ? /* @__PURE__ */ jsx12(Text7, { size: "sm", c: "dimmed", lineClamp: compact ? 2 : 3, children: description }) : null
1074
+ return /* @__PURE__ */ jsx19(Card6, { withBorder: true, radius: "lg", padding: compact ? "md" : "lg", children: /* @__PURE__ */ jsxs14(Stack14, { gap: compact ? "sm" : "md", children: [
1075
+ image ?? /* @__PURE__ */ jsx19(ImageFallback, { compact }),
1076
+ /* @__PURE__ */ jsxs14(Group11, { justify: "space-between", align: "flex-start", wrap: "nowrap", gap: "sm", children: [
1077
+ /* @__PURE__ */ jsxs14(Stack14, { gap: 4, style: { minWidth: 0, flex: 1 }, children: [
1078
+ /* @__PURE__ */ jsx19(Title11, { order: compact ? 5 : 4, lineClamp: 2, children: title }),
1079
+ description ? /* @__PURE__ */ jsx19(Text13, { size: "sm", c: "dimmed", lineClamp: compact ? 2 : 3, children: description }) : null
798
1080
  ] }),
799
- /* @__PURE__ */ jsx12(Badge6, { variant: "light", color: stateBadge.color, children: stateBadge.label })
1081
+ /* @__PURE__ */ jsx19(Badge9, { variant: "light", color: stateBadge.color, children: stateBadge.label })
800
1082
  ] }),
801
- hasSupportingRegion ? /* @__PURE__ */ jsxs8(Group7, { justify: "space-between", align: "flex-end", gap: "sm", wrap: "nowrap", children: [
802
- /* @__PURE__ */ jsxs8(Stack8, { gap: 2, style: { minWidth: 0, flex: 1 }, children: [
803
- price ? /* @__PURE__ */ jsx12(Text7, { fw: 700, size: compact ? "md" : "lg", children: price }) : null,
804
- supportingHelper ? /* @__PURE__ */ jsx12(Text7, { size: "xs", c: "dimmed", children: supportingHelper }) : null
1083
+ hasSupportingRegion ? /* @__PURE__ */ jsxs14(Group11, { justify: "space-between", align: "flex-end", gap: "sm", wrap: "nowrap", children: [
1084
+ /* @__PURE__ */ jsxs14(Stack14, { gap: 2, style: { minWidth: 0, flex: 1 }, children: [
1085
+ price ? /* @__PURE__ */ jsx19(Text13, { fw: 700, size: compact ? "md" : "lg", children: price }) : null,
1086
+ supportingHelper ? /* @__PURE__ */ jsx19(Text13, { size: "xs", c: "dimmed", children: supportingHelper }) : null
805
1087
  ] }),
806
1088
  resolvedPrimaryAction
807
- ] }) : resolvedPrimaryAction ? /* @__PURE__ */ jsx12(Group7, { justify: "flex-end", children: resolvedPrimaryAction }) : null,
808
- pickupHelper || inventoryHelper || metadata.length ? /* @__PURE__ */ jsxs8(Stack8, { gap: 6, children: [
809
- pickupHelper ? /* @__PURE__ */ jsxs8(Group7, { justify: "space-between", gap: "sm", children: [
810
- /* @__PURE__ */ jsx12(Text7, { size: "sm", c: "dimmed", children: "Pickup" }),
811
- /* @__PURE__ */ jsx12(Text7, { size: "sm", fw: 500, ta: "right", children: pickupHelper })
1089
+ ] }) : resolvedPrimaryAction ? /* @__PURE__ */ jsx19(Group11, { justify: "flex-end", children: resolvedPrimaryAction }) : null,
1090
+ pickupHelper || inventoryHelper || metadata.length ? /* @__PURE__ */ jsxs14(Stack14, { gap: 6, children: [
1091
+ pickupHelper ? /* @__PURE__ */ jsxs14(Group11, { justify: "space-between", gap: "sm", children: [
1092
+ /* @__PURE__ */ jsx19(Text13, { size: "sm", c: "dimmed", children: "Pickup" }),
1093
+ /* @__PURE__ */ jsx19(Text13, { size: "sm", fw: 500, ta: "right", children: pickupHelper })
812
1094
  ] }) : null,
813
- inventoryHelper ? /* @__PURE__ */ jsxs8(Group7, { justify: "space-between", gap: "sm", children: [
814
- /* @__PURE__ */ jsx12(Text7, { size: "sm", c: "dimmed", children: "Availability" }),
815
- /* @__PURE__ */ jsx12(Text7, { size: "sm", fw: 500, ta: "right", children: inventoryHelper })
1095
+ inventoryHelper ? /* @__PURE__ */ jsxs14(Group11, { justify: "space-between", gap: "sm", children: [
1096
+ /* @__PURE__ */ jsx19(Text13, { size: "sm", c: "dimmed", children: "Availability" }),
1097
+ /* @__PURE__ */ jsx19(Text13, { size: "sm", fw: 500, ta: "right", children: inventoryHelper })
816
1098
  ] }) : null,
817
- metadata.map((item) => /* @__PURE__ */ jsxs8(Group7, { justify: "space-between", gap: "sm", children: [
818
- /* @__PURE__ */ jsx12(Text7, { size: "sm", c: "dimmed", children: item.label }),
819
- /* @__PURE__ */ jsx12(Text7, { size: "sm", fw: 500, ta: "right", children: item.value })
1099
+ metadata.map((item) => /* @__PURE__ */ jsxs14(Group11, { justify: "space-between", gap: "sm", children: [
1100
+ /* @__PURE__ */ jsx19(Text13, { size: "sm", c: "dimmed", children: item.label }),
1101
+ /* @__PURE__ */ jsx19(Text13, { size: "sm", fw: 500, ta: "right", children: item.value })
820
1102
  ] }, item.label))
821
1103
  ] }) : null,
822
- resolvedSecondaryAction ? /* @__PURE__ */ jsx12(Group7, { justify: "flex-end", children: resolvedSecondaryAction }) : null
1104
+ resolvedSecondaryAction ? /* @__PURE__ */ jsx19(Group11, { justify: "flex-end", children: resolvedSecondaryAction }) : null
823
1105
  ] }) });
824
1106
  }
825
1107
 
826
1108
  // src/PublicFoodCard.tsx
827
1109
  import { cloneElement as cloneElement2, isValidElement as isValidElement2 } from "react";
828
- import { AspectRatio as AspectRatio3, Badge as Badge7, Card as Card6, Group as Group8, Skeleton as Skeleton2, Stack as Stack9, Text as Text8, ThemeIcon as ThemeIcon4, Title as Title8 } from "@mantine/core";
829
- import { jsx as jsx13, jsxs as jsxs9 } from "react/jsx-runtime";
830
- var ratioMap = {
1110
+ import { AspectRatio as AspectRatio4, Badge as Badge10, Card as Card7, Group as Group12, Skeleton as Skeleton2, Stack as Stack15, Text as Text14, ThemeIcon as ThemeIcon6, Title as Title12 } from "@mantine/core";
1111
+ import { jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
1112
+ var ratioMap2 = {
831
1113
  square: 1,
832
1114
  dish: 4 / 3,
833
1115
  landscape: 16 / 9
@@ -855,19 +1137,19 @@ function enhanceAction2(action, disabled) {
855
1137
  });
856
1138
  }
857
1139
  function FoodImageFallback({ mediaRatio }) {
858
- return /* @__PURE__ */ jsx13(AspectRatio3, { ratio: ratioMap[mediaRatio], children: /* @__PURE__ */ jsx13(ThemeIcon4, { size: "100%", radius: "md", variant: "light", color: "gray", "aria-label": "No food image available", children: /* @__PURE__ */ jsx13(GdsIcons.Gallery, { size: "2rem" }) }) });
1140
+ return /* @__PURE__ */ jsx20(AspectRatio4, { ratio: ratioMap2[mediaRatio], children: /* @__PURE__ */ jsx20(ThemeIcon6, { size: "100%", radius: "md", variant: "light", color: "gray", "aria-label": "No food image available", children: /* @__PURE__ */ jsx20(GdsIcons.Gallery, { size: "2rem" }) }) });
859
1141
  }
860
1142
  function LoadingFoodCard({ mediaRatio }) {
861
- return /* @__PURE__ */ jsx13(Card6, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ jsxs9(Stack9, { gap: "md", children: [
862
- /* @__PURE__ */ jsx13(AspectRatio3, { ratio: ratioMap[mediaRatio], children: /* @__PURE__ */ jsx13(Skeleton2, { radius: "md" }) }),
863
- /* @__PURE__ */ jsxs9(Stack9, { gap: "xs", children: [
864
- /* @__PURE__ */ jsx13(Skeleton2, { height: 20, radius: "sm", width: "72%" }),
865
- /* @__PURE__ */ jsx13(Skeleton2, { height: 14, radius: "sm", width: "96%" }),
866
- /* @__PURE__ */ jsx13(Skeleton2, { height: 14, radius: "sm", width: "78%" })
1143
+ return /* @__PURE__ */ jsx20(Card7, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ jsxs15(Stack15, { gap: "md", children: [
1144
+ /* @__PURE__ */ jsx20(AspectRatio4, { ratio: ratioMap2[mediaRatio], children: /* @__PURE__ */ jsx20(Skeleton2, { radius: "md" }) }),
1145
+ /* @__PURE__ */ jsxs15(Stack15, { gap: "xs", children: [
1146
+ /* @__PURE__ */ jsx20(Skeleton2, { height: 20, radius: "sm", width: "72%" }),
1147
+ /* @__PURE__ */ jsx20(Skeleton2, { height: 14, radius: "sm", width: "96%" }),
1148
+ /* @__PURE__ */ jsx20(Skeleton2, { height: 14, radius: "sm", width: "78%" })
867
1149
  ] }),
868
- /* @__PURE__ */ jsxs9(Group8, { justify: "space-between", align: "center", children: [
869
- /* @__PURE__ */ jsx13(Skeleton2, { height: 18, radius: "sm", width: 96 }),
870
- /* @__PURE__ */ jsx13(Skeleton2, { height: 36, radius: "md", width: 112 })
1150
+ /* @__PURE__ */ jsxs15(Group12, { justify: "space-between", align: "center", children: [
1151
+ /* @__PURE__ */ jsx20(Skeleton2, { height: 18, radius: "sm", width: 96 }),
1152
+ /* @__PURE__ */ jsx20(Skeleton2, { height: 36, radius: "md", width: 112 })
871
1153
  ] })
872
1154
  ] }) });
873
1155
  }
@@ -891,54 +1173,54 @@ function PublicFoodCard({
891
1173
  disabled = false
892
1174
  }) {
893
1175
  if (loading) {
894
- return /* @__PURE__ */ jsx13(LoadingFoodCard, { mediaRatio });
1176
+ return /* @__PURE__ */ jsx20(LoadingFoodCard, { mediaRatio });
895
1177
  }
896
1178
  const stateBadge = stateConfig2[state];
897
1179
  const isActionDisabled = disabled || state === "sold-out" || state === "coming-soon";
898
1180
  const resolvedPrimaryAction = enhanceAction2(primaryAction, isActionDisabled);
899
1181
  const resolvedSecondaryAction = enhanceAction2(secondaryAction, disabled);
900
- return /* @__PURE__ */ jsx13(Card6, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ jsxs9(Stack9, { gap: "md", children: [
901
- image ?? /* @__PURE__ */ jsx13(FoodImageFallback, { mediaRatio }),
902
- markers.length > 0 || quantityHint ? /* @__PURE__ */ jsxs9(Group8, { justify: "space-between", align: "center", wrap: "wrap", gap: "xs", children: [
903
- /* @__PURE__ */ jsx13(Group8, { gap: "xs", wrap: "wrap", children: markers.map((marker) => /* @__PURE__ */ jsx13(Badge7, { variant: "light", color: markerToneMap[marker.tone ?? "default"], children: marker.label }, marker.id)) }),
904
- quantityHint ? /* @__PURE__ */ jsx13(Text8, { size: "xs", fw: 600, c: "dimmed", children: quantityHint }) : null
1182
+ return /* @__PURE__ */ jsx20(Card7, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ jsxs15(Stack15, { gap: "md", children: [
1183
+ image ?? /* @__PURE__ */ jsx20(FoodImageFallback, { mediaRatio }),
1184
+ markers.length > 0 || quantityHint ? /* @__PURE__ */ jsxs15(Group12, { justify: "space-between", align: "center", wrap: "wrap", gap: "xs", children: [
1185
+ /* @__PURE__ */ jsx20(Group12, { gap: "xs", wrap: "wrap", children: markers.map((marker) => /* @__PURE__ */ jsx20(Badge10, { variant: "light", color: markerToneMap[marker.tone ?? "default"], children: marker.label }, marker.id)) }),
1186
+ quantityHint ? /* @__PURE__ */ jsx20(Text14, { size: "xs", fw: 600, c: "dimmed", children: quantityHint }) : null
905
1187
  ] }) : null,
906
- /* @__PURE__ */ jsxs9(Group8, { justify: "space-between", align: "flex-start", gap: "sm", wrap: "nowrap", children: [
907
- /* @__PURE__ */ jsxs9(Stack9, { gap: 4, style: { minWidth: 0, flex: 1 }, children: [
908
- /* @__PURE__ */ jsx13(Title8, { order: 4, lineClamp: 2, children: title }),
909
- description ? /* @__PURE__ */ jsx13(Text8, { size: "sm", c: "dimmed", lineClamp: 3, children: description }) : null
1188
+ /* @__PURE__ */ jsxs15(Group12, { justify: "space-between", align: "flex-start", gap: "sm", wrap: "nowrap", children: [
1189
+ /* @__PURE__ */ jsxs15(Stack15, { gap: 4, style: { minWidth: 0, flex: 1 }, children: [
1190
+ /* @__PURE__ */ jsx20(Title12, { order: 4, lineClamp: 2, children: title }),
1191
+ description ? /* @__PURE__ */ jsx20(Text14, { size: "sm", c: "dimmed", lineClamp: 3, children: description }) : null
910
1192
  ] }),
911
- /* @__PURE__ */ jsx13(Badge7, { variant: "light", color: stateBadge.color, children: stateBadge.label })
1193
+ /* @__PURE__ */ jsx20(Badge10, { variant: "light", color: stateBadge.color, children: stateBadge.label })
912
1194
  ] }),
913
- /* @__PURE__ */ jsxs9(Group8, { justify: "space-between", align: "flex-end", gap: "sm", wrap: "nowrap", children: [
914
- /* @__PURE__ */ jsxs9(Stack9, { gap: 2, style: { minWidth: 0, flex: 1 }, children: [
915
- price ? /* @__PURE__ */ jsx13(Text8, { fw: 800, size: "lg", children: price }) : null,
916
- priceNote ? /* @__PURE__ */ jsx13(Text8, { size: "xs", c: "dimmed", children: priceNote }) : null,
917
- helperText ? /* @__PURE__ */ jsx13(Text8, { size: "sm", c: "dimmed", children: helperText }) : null
1195
+ /* @__PURE__ */ jsxs15(Group12, { justify: "space-between", align: "flex-end", gap: "sm", wrap: "nowrap", children: [
1196
+ /* @__PURE__ */ jsxs15(Stack15, { gap: 2, style: { minWidth: 0, flex: 1 }, children: [
1197
+ price ? /* @__PURE__ */ jsx20(Text14, { fw: 800, size: "lg", children: price }) : null,
1198
+ priceNote ? /* @__PURE__ */ jsx20(Text14, { size: "xs", c: "dimmed", children: priceNote }) : null,
1199
+ helperText ? /* @__PURE__ */ jsx20(Text14, { size: "sm", c: "dimmed", children: helperText }) : null
918
1200
  ] }),
919
1201
  resolvedPrimaryAction
920
1202
  ] }),
921
- pickupNote || freshnessNote || metadata.length > 0 ? /* @__PURE__ */ jsxs9(Stack9, { gap: 6, children: [
922
- pickupNote ? /* @__PURE__ */ jsxs9(Group8, { justify: "space-between", align: "flex-start", gap: "sm", children: [
923
- /* @__PURE__ */ jsx13(Text8, { size: "sm", c: "dimmed", children: "Pickup" }),
924
- /* @__PURE__ */ jsx13(Text8, { size: "sm", fw: 500, ta: "right", children: pickupNote })
1203
+ pickupNote || freshnessNote || metadata.length > 0 ? /* @__PURE__ */ jsxs15(Stack15, { gap: 6, children: [
1204
+ pickupNote ? /* @__PURE__ */ jsxs15(Group12, { justify: "space-between", align: "flex-start", gap: "sm", children: [
1205
+ /* @__PURE__ */ jsx20(Text14, { size: "sm", c: "dimmed", children: "Pickup" }),
1206
+ /* @__PURE__ */ jsx20(Text14, { size: "sm", fw: 500, ta: "right", children: pickupNote })
925
1207
  ] }) : null,
926
- freshnessNote ? /* @__PURE__ */ jsxs9(Group8, { justify: "space-between", align: "flex-start", gap: "sm", children: [
927
- /* @__PURE__ */ jsx13(Text8, { size: "sm", c: "dimmed", children: "Freshness" }),
928
- /* @__PURE__ */ jsx13(Text8, { size: "sm", fw: 500, ta: "right", children: freshnessNote })
1208
+ freshnessNote ? /* @__PURE__ */ jsxs15(Group12, { justify: "space-between", align: "flex-start", gap: "sm", children: [
1209
+ /* @__PURE__ */ jsx20(Text14, { size: "sm", c: "dimmed", children: "Freshness" }),
1210
+ /* @__PURE__ */ jsx20(Text14, { size: "sm", fw: 500, ta: "right", children: freshnessNote })
929
1211
  ] }) : null,
930
- metadata.map((item) => /* @__PURE__ */ jsx13(Group8, { justify: "space-between", align: "flex-start", gap: "sm", children: /* @__PURE__ */ jsxs9(Group8, { gap: "xs", wrap: "nowrap", children: [
1212
+ metadata.map((item) => /* @__PURE__ */ jsx20(Group12, { justify: "space-between", align: "flex-start", gap: "sm", children: /* @__PURE__ */ jsxs15(Group12, { gap: "xs", wrap: "nowrap", children: [
931
1213
  item.icon,
932
- /* @__PURE__ */ jsx13(Text8, { size: "sm", c: "dimmed", children: item.label })
1214
+ /* @__PURE__ */ jsx20(Text14, { size: "sm", c: "dimmed", children: item.label })
933
1215
  ] }) }, item.id))
934
1216
  ] }) : null,
935
- resolvedSecondaryAction ? /* @__PURE__ */ jsx13(Group8, { justify: "flex-end", children: resolvedSecondaryAction }) : null
1217
+ resolvedSecondaryAction ? /* @__PURE__ */ jsx20(Group12, { justify: "flex-end", children: resolvedSecondaryAction }) : null
936
1218
  ] }) });
937
1219
  }
938
1220
 
939
1221
  // src/FoodMenuSection.tsx
940
- import { Box as Box3, Group as Group9, SimpleGrid as SimpleGrid2, Stack as Stack10, Text as Text9, Title as Title9 } from "@mantine/core";
941
- import { Fragment as Fragment2, jsx as jsx14, jsxs as jsxs10 } from "react/jsx-runtime";
1222
+ import { Box as Box5, Group as Group13, SimpleGrid as SimpleGrid3, Stack as Stack16, Text as Text15, Title as Title13 } from "@mantine/core";
1223
+ import { Fragment as Fragment2, jsx as jsx21, jsxs as jsxs16 } from "react/jsx-runtime";
942
1224
  function FoodMenuSection({
943
1225
  title,
944
1226
  description,
@@ -953,7 +1235,7 @@ function FoodMenuSection({
953
1235
  const normalizedCategories = (categories ?? []).filter(Boolean);
954
1236
  const visibleCategories = showEmptyCategories ? normalizedCategories : normalizedCategories.filter((category) => category.items.length > 0);
955
1237
  if (!visibleCategories.length) {
956
- return emptyState ? /* @__PURE__ */ jsx14(Fragment2, { children: emptyState }) : /* @__PURE__ */ jsx14(
1238
+ return emptyState ? /* @__PURE__ */ jsx21(Fragment2, { children: emptyState }) : /* @__PURE__ */ jsx21(
957
1239
  EmptyState,
958
1240
  {
959
1241
  title: "No active menu available",
@@ -961,23 +1243,23 @@ function FoodMenuSection({
961
1243
  }
962
1244
  );
963
1245
  }
964
- return /* @__PURE__ */ jsx14(Box3, { component: "section", "aria-label": typeof title === "string" ? title : "Food menu section", children: /* @__PURE__ */ jsxs10(Stack10, { gap: "xl", children: [
965
- /* @__PURE__ */ jsxs10(Group9, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
966
- /* @__PURE__ */ jsxs10(Stack10, { gap: 4, children: [
967
- eyebrow ? /* @__PURE__ */ jsx14(Text9, { size: "xs", fw: 700, c: "dimmed", tt: "uppercase", children: eyebrow }) : null,
968
- /* @__PURE__ */ jsx14(Title9, { order: 2, children: title }),
969
- description ? /* @__PURE__ */ jsx14(Text9, { size: "sm", c: "dimmed", maw: 760, children: description }) : null,
970
- sectionNote ? /* @__PURE__ */ jsx14(Text9, { size: "sm", c: "dimmed", children: sectionNote }) : null
1246
+ return /* @__PURE__ */ jsx21(Box5, { component: "section", "aria-label": typeof title === "string" ? title : "Food menu section", children: /* @__PURE__ */ jsxs16(Stack16, { gap: "xl", children: [
1247
+ /* @__PURE__ */ jsxs16(Group13, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
1248
+ /* @__PURE__ */ jsxs16(Stack16, { gap: 4, children: [
1249
+ eyebrow ? /* @__PURE__ */ jsx21(Text15, { size: "xs", fw: 700, c: "dimmed", tt: "uppercase", children: eyebrow }) : null,
1250
+ /* @__PURE__ */ jsx21(Title13, { order: 2, children: title }),
1251
+ description ? /* @__PURE__ */ jsx21(Text15, { size: "sm", c: "dimmed", maw: 760, children: description }) : null,
1252
+ sectionNote ? /* @__PURE__ */ jsx21(Text15, { size: "sm", c: "dimmed", children: sectionNote }) : null
971
1253
  ] }),
972
1254
  action
973
1255
  ] }),
974
- /* @__PURE__ */ jsx14(Stack10, { gap: "xl", children: visibleCategories.map((category) => /* @__PURE__ */ jsxs10(Stack10, { gap: "md", children: [
975
- /* @__PURE__ */ jsxs10(Stack10, { gap: 4, children: [
976
- /* @__PURE__ */ jsx14(Title9, { order: 3, children: category.title }),
977
- category.description ? /* @__PURE__ */ jsx14(Text9, { size: "sm", c: "dimmed", children: category.description }) : null,
978
- category.helperNote ? /* @__PURE__ */ jsx14(Text9, { size: "sm", c: "dimmed", children: category.helperNote }) : null
1256
+ /* @__PURE__ */ jsx21(Stack16, { gap: "xl", children: visibleCategories.map((category) => /* @__PURE__ */ jsxs16(Stack16, { gap: "md", children: [
1257
+ /* @__PURE__ */ jsxs16(Stack16, { gap: 4, children: [
1258
+ /* @__PURE__ */ jsx21(Title13, { order: 3, children: category.title }),
1259
+ category.description ? /* @__PURE__ */ jsx21(Text15, { size: "sm", c: "dimmed", children: category.description }) : null,
1260
+ category.helperNote ? /* @__PURE__ */ jsx21(Text15, { size: "sm", c: "dimmed", children: category.helperNote }) : null
979
1261
  ] }),
980
- category.items.length ? /* @__PURE__ */ jsx14(SimpleGrid2, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children: category.items.map((item) => /* @__PURE__ */ jsx14(PublicFoodCard, { ...item }, item.id)) }) : /* @__PURE__ */ jsx14(
1262
+ category.items.length ? /* @__PURE__ */ jsx21(SimpleGrid3, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children: category.items.map((item) => /* @__PURE__ */ jsx21(PublicFoodCard, { ...item }, item.id)) }) : /* @__PURE__ */ jsx21(
981
1263
  EmptyState,
982
1264
  {
983
1265
  title: "No items in this category",
@@ -988,110 +1270,9 @@ function FoodMenuSection({
988
1270
  ] }) });
989
1271
  }
990
1272
 
991
- // src/ListingCard.tsx
992
- import { ActionIcon as ActionIcon3, AspectRatio as AspectRatio4, Badge as Badge8, Card as Card7, Group as Group10, Stack as Stack11, Text as Text10, ThemeIcon as ThemeIcon5, Title as Title10 } from "@mantine/core";
993
- import { jsx as jsx15, jsxs as jsxs11 } from "react/jsx-runtime";
994
- var ratioMap2 = {
995
- "1:1": 1,
996
- "4:3": 4 / 3,
997
- "16:9": 16 / 9
998
- };
999
- var toneColorMap = {
1000
- default: void 0,
1001
- positive: "teal",
1002
- warning: "orange",
1003
- muted: "gray"
1004
- };
1005
- function ListingImageFallback({ mediaRatio }) {
1006
- return /* @__PURE__ */ jsx15(AspectRatio4, { ratio: ratioMap2[mediaRatio], children: /* @__PURE__ */ jsx15(
1007
- ThemeIcon5,
1008
- {
1009
- size: "100%",
1010
- radius: "md",
1011
- variant: "light",
1012
- color: "gray",
1013
- "aria-label": "No listing image available",
1014
- children: /* @__PURE__ */ jsx15(GdsIcons.Gallery, { size: "2rem" })
1015
- }
1016
- ) });
1017
- }
1018
- function ListingAffordance({ affordance }) {
1019
- const config = GdsVocabulary[affordance.action];
1020
- const Icon = config.icon;
1021
- const label = affordance.ariaLabel ?? getSemanticActionLabel(affordance.action);
1022
- if (affordance.href) {
1023
- return /* @__PURE__ */ jsx15(
1024
- ActionIcon3,
1025
- {
1026
- component: "a",
1027
- href: affordance.href,
1028
- variant: "subtle",
1029
- size: "lg",
1030
- "aria-label": label,
1031
- disabled: affordance.disabled,
1032
- children: /* @__PURE__ */ jsx15(Icon, { size: "1rem", stroke: 1.75 })
1033
- }
1034
- );
1035
- }
1036
- return /* @__PURE__ */ jsx15(
1037
- ActionIcon3,
1038
- {
1039
- variant: "subtle",
1040
- size: "lg",
1041
- "aria-label": label,
1042
- onClick: affordance.onClick,
1043
- disabled: affordance.disabled,
1044
- children: /* @__PURE__ */ jsx15(Icon, { size: "1rem", stroke: 1.75 })
1045
- }
1046
- );
1047
- }
1048
- function ListingCard({
1049
- title,
1050
- href,
1051
- description,
1052
- image,
1053
- mediaRatio = "4:3",
1054
- metadata = [],
1055
- featured = false,
1056
- sponsoredDisclosure,
1057
- price,
1058
- primaryAction,
1059
- saveAction,
1060
- shareAction,
1061
- compact = false
1062
- }) {
1063
- const titleContent = href && typeof title === "string" ? /* @__PURE__ */ jsx15(Text10, { component: "a", href, inherit: true, td: "none", children: title }) : title;
1064
- return /* @__PURE__ */ jsx15(Card7, { withBorder: true, radius: "lg", padding: compact ? "md" : "lg", children: /* @__PURE__ */ jsxs11(Stack11, { gap: compact ? "sm" : "md", children: [
1065
- image ?? /* @__PURE__ */ jsx15(ListingImageFallback, { mediaRatio }),
1066
- featured || sponsoredDisclosure ? /* @__PURE__ */ jsxs11(Group10, { justify: "space-between", gap: "sm", wrap: "wrap", children: [
1067
- featured ? /* @__PURE__ */ jsx15(Badge8, { variant: "light", color: "violet", children: "Featured" }) : /* @__PURE__ */ jsx15("span", {}),
1068
- sponsoredDisclosure ? /* @__PURE__ */ jsx15(Text10, { size: "xs", c: "dimmed", children: sponsoredDisclosure }) : null
1069
- ] }) : null,
1070
- /* @__PURE__ */ jsxs11(Stack11, { gap: 4, children: [
1071
- /* @__PURE__ */ jsx15(Title10, { order: compact ? 5 : 4, lineClamp: 2, children: titleContent }),
1072
- description ? /* @__PURE__ */ jsx15(Text10, { size: "sm", c: "dimmed", lineClamp: compact ? 2 : 3, children: description }) : null
1073
- ] }),
1074
- metadata.length ? /* @__PURE__ */ jsx15(Stack11, { gap: "xs", children: metadata.map((item) => /* @__PURE__ */ jsxs11(Group10, { justify: "space-between", align: "flex-start", gap: "sm", wrap: "nowrap", children: [
1075
- /* @__PURE__ */ jsxs11(Group10, { gap: "xs", wrap: "nowrap", style: { minWidth: 0, flex: 1 }, children: [
1076
- item.icon,
1077
- /* @__PURE__ */ jsx15(Text10, { size: "sm", c: item.tone ? toneColorMap[item.tone] : "dimmed", lineClamp: 1, children: item.label })
1078
- ] }),
1079
- item.value ? /* @__PURE__ */ jsx15(Text10, { size: "sm", fw: 500, ta: "right", children: item.value }) : null
1080
- ] }, item.id)) }) : null,
1081
- /* @__PURE__ */ jsxs11(Group10, { justify: "space-between", align: "center", gap: "sm", wrap: "wrap", children: [
1082
- /* @__PURE__ */ jsx15(Stack11, { gap: 2, style: { minWidth: 0, flex: 1 }, children: price ? /* @__PURE__ */ jsx15(Text10, { fw: 700, size: compact ? "md" : "lg", children: price }) : null }),
1083
- /* @__PURE__ */ jsxs11(Group10, { gap: "xs", wrap: "nowrap", justify: "flex-end", style: { marginInlineStart: "auto" }, children: [
1084
- saveAction ? /* @__PURE__ */ jsx15(ListingAffordance, { affordance: saveAction }) : null,
1085
- shareAction ? /* @__PURE__ */ jsx15(ListingAffordance, { affordance: shareAction }) : null,
1086
- primaryAction
1087
- ] })
1088
- ] })
1089
- ] }) });
1090
- }
1091
-
1092
1273
  // src/DataToolbar.tsx
1093
- import { Badge as Badge9, Group as Group11, Stack as Stack12 } from "@mantine/core";
1094
- import { jsx as jsx16, jsxs as jsxs12 } from "react/jsx-runtime";
1274
+ import { Badge as Badge11, Group as Group14, Stack as Stack17 } from "@mantine/core";
1275
+ import { jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
1095
1276
  function DataToolbar({
1096
1277
  searchSlot,
1097
1278
  filterSlot,
@@ -1100,20 +1281,20 @@ function DataToolbar({
1100
1281
  createAction,
1101
1282
  activeFilters = []
1102
1283
  }) {
1103
- return /* @__PURE__ */ jsxs12(Stack12, { gap: "sm", children: [
1104
- /* @__PURE__ */ jsxs12(Group11, { justify: "space-between", align: "flex-start", gap: "sm", children: [
1105
- /* @__PURE__ */ jsxs12(Group11, { flex: 1, align: "flex-start", gap: "sm", children: [
1284
+ return /* @__PURE__ */ jsxs17(Stack17, { gap: "sm", children: [
1285
+ /* @__PURE__ */ jsxs17(Group14, { justify: "space-between", align: "flex-start", gap: "sm", children: [
1286
+ /* @__PURE__ */ jsxs17(Group14, { flex: 1, align: "flex-start", gap: "sm", children: [
1106
1287
  searchSlot,
1107
1288
  filterSlot,
1108
1289
  sortSlot
1109
1290
  ] }),
1110
- /* @__PURE__ */ jsxs12(Group11, { gap: "sm", children: [
1291
+ /* @__PURE__ */ jsxs17(Group14, { gap: "sm", children: [
1111
1292
  resetAction,
1112
1293
  createAction
1113
1294
  ] })
1114
1295
  ] }),
1115
- activeFilters.length ? /* @__PURE__ */ jsx16(Group11, { gap: "xs", children: activeFilters.map((filter) => /* @__PURE__ */ jsx16(
1116
- Badge9,
1296
+ activeFilters.length ? /* @__PURE__ */ jsx22(Group14, { gap: "xs", children: activeFilters.map((filter) => /* @__PURE__ */ jsx22(
1297
+ Badge11,
1117
1298
  {
1118
1299
  variant: "light",
1119
1300
  rightSection: filter.onRemove ? "\xD7" : void 0,
@@ -1126,51 +1307,9 @@ function DataToolbar({
1126
1307
  ] });
1127
1308
  }
1128
1309
 
1129
- // src/StateBlock.tsx
1130
- import { Loader, Stack as Stack13, Text as Text11, ThemeIcon as ThemeIcon6, Title as Title11 } from "@mantine/core";
1131
- import { jsx as jsx17, jsxs as jsxs13 } from "react/jsx-runtime";
1132
- var variantConfig = {
1133
- loading: { color: "violet", icon: /* @__PURE__ */ jsx17(Loader, { size: "sm" }) },
1134
- empty: { color: "gray", icon: /* @__PURE__ */ jsx17(GdsIcons.Inbox, { size: "1.1rem" }) },
1135
- error: { color: "red", icon: /* @__PURE__ */ jsx17(GdsIcons.Danger, { size: "1.1rem" }) },
1136
- permission: { color: "orange", icon: /* @__PURE__ */ jsx17(GdsIcons.Verify, { size: "1.1rem" }) },
1137
- disabled: { color: "gray", icon: /* @__PURE__ */ jsx17(GdsIcons.Toggle, { size: "1.1rem" }) },
1138
- success: { color: "teal", icon: /* @__PURE__ */ jsx17(GdsIcons.Success, { size: "1.1rem" }) },
1139
- info: { color: "blue", icon: /* @__PURE__ */ jsx17(GdsIcons.Info, { size: "1.1rem" }) },
1140
- "not-enough-data": { color: "yellow", icon: /* @__PURE__ */ jsx17(GdsIcons.Analytics, { size: "1.1rem" }) }
1141
- };
1142
- function StateBlock({
1143
- variant,
1144
- title,
1145
- description,
1146
- action,
1147
- icon,
1148
- compact = false
1149
- }) {
1150
- const config = variantConfig[variant];
1151
- return /* @__PURE__ */ jsxs13(
1152
- Stack13,
1153
- {
1154
- align: compact ? "flex-start" : "center",
1155
- justify: "center",
1156
- gap: "md",
1157
- py: compact ? "md" : "xl",
1158
- ta: compact ? "left" : "center",
1159
- children: [
1160
- /* @__PURE__ */ jsx17(ThemeIcon6, { variant: "light", color: config.color, size: compact ? "lg" : "xl", radius: "xl", children: icon ?? config.icon }),
1161
- /* @__PURE__ */ jsxs13(Stack13, { gap: 6, align: compact ? "flex-start" : "center", children: [
1162
- /* @__PURE__ */ jsx17(Title11, { order: compact ? 4 : 3, children: title }),
1163
- description ? /* @__PURE__ */ jsx17(Text11, { c: "dimmed", maw: compact ? void 0 : 480, children: description }) : null
1164
- ] }),
1165
- action
1166
- ]
1167
- }
1168
- );
1169
- }
1170
-
1171
1310
  // src/BrowseSurface.tsx
1172
- import { Badge as Badge10, Box as Box4, Button as Button2, Group as Group12, Paper as Paper2, SimpleGrid as SimpleGrid3, Stack as Stack14, Text as Text12, Title as Title12 } from "@mantine/core";
1173
- import { jsx as jsx18, jsxs as jsxs14 } from "react/jsx-runtime";
1311
+ import { Badge as Badge12, Box as Box6, Button as Button2, Group as Group15, Paper as Paper4, SimpleGrid as SimpleGrid4, Stack as Stack18, Text as Text16, Title as Title14 } from "@mantine/core";
1312
+ import { jsx as jsx23, jsxs as jsxs18 } from "react/jsx-runtime";
1174
1313
  function BrowseSurface({
1175
1314
  eyebrow,
1176
1315
  title,
@@ -1204,22 +1343,22 @@ function BrowseSurface({
1204
1343
  }));
1205
1344
  let body = content;
1206
1345
  if (loading) {
1207
- body = /* @__PURE__ */ jsx18(StateBlock, { variant: "loading", title: loadingTitle, description: loadingDescription, compact: true });
1346
+ body = /* @__PURE__ */ jsx23(StateBlock, { variant: "loading", title: loadingTitle, description: loadingDescription, compact: true });
1208
1347
  } else if (error) {
1209
- body = /* @__PURE__ */ jsx18(StateBlock, { variant: "error", title: errorTitle, description: error, action: errorAction ?? emptyAction, compact: true });
1348
+ body = /* @__PURE__ */ jsx23(StateBlock, { variant: "error", title: errorTitle, description: error, action: errorAction ?? emptyAction, compact: true });
1210
1349
  } else if (empty) {
1211
- body = /* @__PURE__ */ jsx18(StateBlock, { variant: "empty", title: emptyTitle, description: emptyDescription, action: emptyAction, compact: true });
1350
+ body = /* @__PURE__ */ jsx23(StateBlock, { variant: "empty", title: emptyTitle, description: emptyDescription, action: emptyAction, compact: true });
1212
1351
  }
1213
- return /* @__PURE__ */ jsxs14(Stack14, { gap: "lg", children: [
1214
- /* @__PURE__ */ jsx18(Paper2, { withBorder: true, radius: "xl", p: "xl", children: /* @__PURE__ */ jsxs14(Stack14, { gap: "lg", children: [
1215
- /* @__PURE__ */ jsxs14(Group12, { justify: "space-between", align: "flex-start", gap: "md", children: [
1216
- /* @__PURE__ */ jsxs14(Stack14, { gap: "xs", maw: 760, children: [
1217
- eyebrow ? /* @__PURE__ */ jsx18(Text12, { size: "xs", fw: 700, tt: "uppercase", c: "dimmed", style: { letterSpacing: "0.18em" }, children: eyebrow }) : null,
1218
- /* @__PURE__ */ jsx18(Title12, { order: 1, children: title }),
1219
- description ? /* @__PURE__ */ jsx18(Text12, { size: "lg", c: "dimmed", children: description }) : null
1352
+ return /* @__PURE__ */ jsxs18(Stack18, { gap: "lg", children: [
1353
+ /* @__PURE__ */ jsx23(Paper4, { withBorder: true, radius: "xl", p: "xl", children: /* @__PURE__ */ jsxs18(Stack18, { gap: "lg", children: [
1354
+ /* @__PURE__ */ jsxs18(Group15, { justify: "space-between", align: "flex-start", gap: "md", children: [
1355
+ /* @__PURE__ */ jsxs18(Stack18, { gap: "xs", maw: 760, children: [
1356
+ eyebrow ? /* @__PURE__ */ jsx23(Text16, { size: "xs", fw: 700, tt: "uppercase", c: "dimmed", style: { letterSpacing: "0.18em" }, children: eyebrow }) : null,
1357
+ /* @__PURE__ */ jsx23(Title14, { order: 1, children: title }),
1358
+ description ? /* @__PURE__ */ jsx23(Text16, { size: "lg", c: "dimmed", children: description }) : null
1220
1359
  ] }),
1221
- /* @__PURE__ */ jsxs14(Stack14, { align: "flex-end", gap: "xs", children: [
1222
- typeof resultCount === "number" ? /* @__PURE__ */ jsxs14(Badge10, { size: "lg", radius: "xl", variant: "light", color: "violet", children: [
1360
+ /* @__PURE__ */ jsxs18(Stack18, { align: "flex-end", gap: "xs", children: [
1361
+ typeof resultCount === "number" ? /* @__PURE__ */ jsxs18(Badge12, { size: "lg", radius: "xl", variant: "light", color: "violet", children: [
1223
1362
  resultCount,
1224
1363
  " ",
1225
1364
  resultLabel
@@ -1227,9 +1366,9 @@ function BrowseSurface({
1227
1366
  primaryControls
1228
1367
  ] })
1229
1368
  ] }),
1230
- scopeOptions.length ? /* @__PURE__ */ jsxs14(Stack14, { gap: "xs", children: [
1231
- /* @__PURE__ */ jsx18(Text12, { size: "sm", fw: 600, c: "dimmed", children: scopeLabel }),
1232
- /* @__PURE__ */ jsx18(Group12, { gap: "xs", wrap: "wrap", children: scopeOptions.map((option) => /* @__PURE__ */ jsx18(
1369
+ scopeOptions.length ? /* @__PURE__ */ jsxs18(Stack18, { gap: "xs", children: [
1370
+ /* @__PURE__ */ jsx23(Text16, { size: "sm", fw: 600, c: "dimmed", children: scopeLabel }),
1371
+ /* @__PURE__ */ jsx23(Group15, { gap: "xs", wrap: "wrap", children: scopeOptions.map((option) => /* @__PURE__ */ jsx23(
1233
1372
  Button2,
1234
1373
  {
1235
1374
  variant: option.active ? "filled" : "default",
@@ -1242,30 +1381,30 @@ function BrowseSurface({
1242
1381
  option.id
1243
1382
  )) })
1244
1383
  ] }) : null,
1245
- locationControls ? /* @__PURE__ */ jsxs14(Stack14, { gap: "xs", children: [
1246
- /* @__PURE__ */ jsx18(Text12, { size: "sm", fw: 600, c: "dimmed", children: "Location" }),
1384
+ locationControls ? /* @__PURE__ */ jsxs18(Stack18, { gap: "xs", children: [
1385
+ /* @__PURE__ */ jsx23(Text16, { size: "sm", fw: 600, c: "dimmed", children: "Location" }),
1247
1386
  locationControls
1248
1387
  ] }) : null,
1249
- toolbar || sortControl ? /* @__PURE__ */ jsxs14(SimpleGrid3, { cols: { base: 1, lg: sortControl ? 2 : 1 }, spacing: "md", children: [
1250
- toolbar ? /* @__PURE__ */ jsx18(
1388
+ toolbar || sortControl ? /* @__PURE__ */ jsxs18(SimpleGrid4, { cols: { base: 1, lg: sortControl ? 2 : 1 }, spacing: "md", children: [
1389
+ toolbar ? /* @__PURE__ */ jsx23(
1251
1390
  DataToolbar,
1252
1391
  {
1253
1392
  ...toolbar,
1254
1393
  activeFilters: toolbarFilters.length ? toolbarFilters : toolbar.fallbackActiveFilters
1255
1394
  }
1256
- ) : /* @__PURE__ */ jsx18(Box4, {}),
1257
- sortControl ? /* @__PURE__ */ jsxs14(Stack14, { gap: "xs", align: "stretch", children: [
1258
- /* @__PURE__ */ jsx18(Text12, { size: "sm", fw: 600, c: "dimmed", children: "Sort" }),
1395
+ ) : /* @__PURE__ */ jsx23(Box6, {}),
1396
+ sortControl ? /* @__PURE__ */ jsxs18(Stack18, { gap: "xs", align: "stretch", children: [
1397
+ /* @__PURE__ */ jsx23(Text16, { size: "sm", fw: 600, c: "dimmed", children: "Sort" }),
1259
1398
  sortControl
1260
1399
  ] }) : null
1261
1400
  ] }) : null,
1262
- mobileFilters ? /* @__PURE__ */ jsxs14(Stack14, { hiddenFrom: "lg", gap: "xs", children: [
1263
- /* @__PURE__ */ jsx18(Text12, { size: "sm", fw: 600, c: "dimmed", children: "Filters" }),
1401
+ mobileFilters ? /* @__PURE__ */ jsxs18(Stack18, { hiddenFrom: "lg", gap: "xs", children: [
1402
+ /* @__PURE__ */ jsx23(Text16, { size: "sm", fw: 600, c: "dimmed", children: "Filters" }),
1264
1403
  mobileFilters
1265
1404
  ] }) : null,
1266
- filterDrawer ? /* @__PURE__ */ jsx18(Box4, { hiddenFrom: "lg", children: filterDrawer }) : null,
1267
- activeFilters.length ? /* @__PURE__ */ jsx18(Group12, { gap: "xs", wrap: "wrap", children: activeFilters.map((filter) => /* @__PURE__ */ jsx18(
1268
- Badge10,
1405
+ filterDrawer ? /* @__PURE__ */ jsx23(Box6, { hiddenFrom: "lg", children: filterDrawer }) : null,
1406
+ activeFilters.length ? /* @__PURE__ */ jsx23(Group15, { gap: "xs", wrap: "wrap", children: activeFilters.map((filter) => /* @__PURE__ */ jsx23(
1407
+ Badge12,
1269
1408
  {
1270
1409
  variant: "light",
1271
1410
  color: "violet",
@@ -1281,76 +1420,9 @@ function BrowseSurface({
1281
1420
  ] });
1282
1421
  }
1283
1422
 
1284
- // src/AccentPanel.tsx
1285
- import { Badge as Badge11, Box as Box5, Group as Group13, Paper as Paper3, Stack as Stack15, Text as Text13, Title as Title13 } from "@mantine/core";
1286
- import { jsx as jsx19, jsxs as jsxs15 } from "react/jsx-runtime";
1287
- var toneStyles = {
1288
- gray: {
1289
- bg: "light-dark(var(--mantine-color-gray-0), color-mix(in srgb, var(--mantine-color-gray-7) 88%, black))",
1290
- border: "light-dark(var(--mantine-color-gray-2), color-mix(in srgb, var(--mantine-color-gray-4) 70%, transparent))",
1291
- color: "light-dark(var(--mantine-color-gray-9), var(--mantine-color-gray-0))"
1292
- },
1293
- violet: {
1294
- bg: "light-dark(var(--mantine-color-violet-0), color-mix(in srgb, var(--mantine-color-violet-9) 70%, black))",
1295
- border: "light-dark(var(--mantine-color-violet-2), color-mix(in srgb, var(--mantine-color-violet-4) 75%, transparent))",
1296
- color: "light-dark(var(--mantine-color-violet-9), var(--mantine-color-violet-0))"
1297
- },
1298
- green: {
1299
- bg: "light-dark(var(--mantine-color-green-0), color-mix(in srgb, var(--mantine-color-green-9) 72%, black))",
1300
- border: "light-dark(var(--mantine-color-green-2), color-mix(in srgb, var(--mantine-color-green-4) 78%, transparent))",
1301
- color: "light-dark(var(--mantine-color-green-9), var(--mantine-color-green-0))"
1302
- },
1303
- red: {
1304
- bg: "light-dark(var(--mantine-color-red-0), color-mix(in srgb, var(--mantine-color-red-9) 72%, black))",
1305
- border: "light-dark(var(--mantine-color-red-2), color-mix(in srgb, var(--mantine-color-red-4) 78%, transparent))",
1306
- color: "light-dark(var(--mantine-color-red-9), var(--mantine-color-red-0))"
1307
- },
1308
- amber: {
1309
- bg: "light-dark(var(--mantine-color-yellow-0), color-mix(in srgb, var(--mantine-color-yellow-8) 78%, black))",
1310
- border: "light-dark(var(--mantine-color-yellow-3), color-mix(in srgb, var(--mantine-color-yellow-5) 70%, transparent))",
1311
- color: "light-dark(var(--mantine-color-yellow-9), var(--mantine-color-yellow-0))"
1312
- },
1313
- blue: {
1314
- bg: "light-dark(var(--mantine-color-blue-0), color-mix(in srgb, var(--mantine-color-blue-9) 74%, black))",
1315
- border: "light-dark(var(--mantine-color-blue-2), color-mix(in srgb, var(--mantine-color-blue-4) 75%, transparent))",
1316
- color: "light-dark(var(--mantine-color-blue-9), var(--mantine-color-blue-0))"
1317
- }
1318
- };
1319
- function resolveAccentPanelStyles(tone = "violet", variant = "subtle") {
1320
- const token = toneStyles[tone];
1321
- if (variant === "soft-outline") {
1322
- return {
1323
- backgroundColor: "light-dark(var(--mantine-color-body), color-mix(in srgb, var(--mantine-color-dark-7) 92%, black))",
1324
- border: `1px solid ${token.border}`,
1325
- color: token.color
1326
- };
1327
- }
1328
- return {
1329
- backgroundColor: token.bg,
1330
- border: `1px solid ${token.border}`,
1331
- color: token.color
1332
- };
1333
- }
1334
- function AccentPanel({
1335
- tone = "violet",
1336
- variant = "subtle",
1337
- title,
1338
- badge,
1339
- children
1340
- }) {
1341
- const styles = resolveAccentPanelStyles(tone, variant);
1342
- return /* @__PURE__ */ jsx19(Paper3, { withBorder: true, radius: "lg", p: "lg", style: styles, children: /* @__PURE__ */ jsxs15(Stack15, { gap: "sm", children: [
1343
- title || badge ? /* @__PURE__ */ jsxs15(Group13, { justify: "space-between", align: "flex-start", gap: "sm", wrap: "wrap", children: [
1344
- title ? /* @__PURE__ */ jsx19(Title13, { order: 4, c: "inherit", children: title }) : /* @__PURE__ */ jsx19(Box5, {}),
1345
- badge ? typeof badge === "string" ? /* @__PURE__ */ jsx19(Badge11, { color: tone === "amber" ? "yellow" : tone, variant: "filled", children: badge }) : badge : null
1346
- ] }) : null,
1347
- typeof children === "string" ? /* @__PURE__ */ jsx19(Text13, { c: "inherit", children }) : /* @__PURE__ */ jsx19(Box5, { c: "inherit", children })
1348
- ] }) });
1349
- }
1350
-
1351
1423
  // src/DetailProfileShell.tsx
1352
- import { Divider as Divider2, Paper as Paper4, Stack as Stack16 } from "@mantine/core";
1353
- import { Fragment as Fragment3, jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
1424
+ import { Divider as Divider2, Paper as Paper5, Stack as Stack19 } from "@mantine/core";
1425
+ import { Fragment as Fragment3, jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
1354
1426
  function DetailProfileShell({
1355
1427
  mode = "page",
1356
1428
  hero,
@@ -1361,31 +1433,31 @@ function DetailProfileShell({
1361
1433
  showDividers = true
1362
1434
  }) {
1363
1435
  const content = sections.filter(Boolean);
1364
- return /* @__PURE__ */ jsx20(Paper4, { withBorder: mode === "drawer", radius: mode === "drawer" ? "xl" : "md", p: padding, children: /* @__PURE__ */ jsxs16(Stack16, { gap: "lg", children: [
1436
+ return /* @__PURE__ */ jsx24(Paper5, { withBorder: mode === "drawer", radius: mode === "drawer" ? "xl" : "md", p: padding, children: /* @__PURE__ */ jsxs19(Stack19, { gap: "lg", children: [
1365
1437
  hero,
1366
1438
  actions,
1367
- content.map((section, index) => /* @__PURE__ */ jsxs16(Stack16, { gap: "lg", children: [
1368
- index > 0 && showDividers ? /* @__PURE__ */ jsx20(Divider2, {}) : null,
1439
+ content.map((section, index) => /* @__PURE__ */ jsxs19(Stack19, { gap: "lg", children: [
1440
+ index > 0 && showDividers ? /* @__PURE__ */ jsx24(Divider2, {}) : null,
1369
1441
  section
1370
1442
  ] }, index)),
1371
- related ? /* @__PURE__ */ jsxs16(Fragment3, { children: [
1372
- content.length && showDividers ? /* @__PURE__ */ jsx20(Divider2, {}) : null,
1443
+ related ? /* @__PURE__ */ jsxs19(Fragment3, { children: [
1444
+ content.length && showDividers ? /* @__PURE__ */ jsx24(Divider2, {}) : null,
1373
1445
  related
1374
1446
  ] }) : null
1375
1447
  ] }) });
1376
1448
  }
1377
1449
 
1378
1450
  // src/PublicNav.tsx
1379
- import { Anchor as Anchor2, Group as Group14 } from "@mantine/core";
1380
- import { jsx as jsx21 } from "react/jsx-runtime";
1451
+ import { Anchor as Anchor4, Group as Group16 } from "@mantine/core";
1452
+ import { jsx as jsx25 } from "react/jsx-runtime";
1381
1453
  function PublicNav({ items, activeId, renderLink }) {
1382
- return /* @__PURE__ */ jsx21(Group14, { component: "nav", "aria-label": "Primary", gap: "lg", wrap: "nowrap", children: items.map((item) => {
1454
+ return /* @__PURE__ */ jsx25(Group16, { component: "nav", "aria-label": "Primary", gap: "lg", wrap: "nowrap", children: items.map((item) => {
1383
1455
  const active = item.id === activeId;
1384
1456
  if (renderLink) {
1385
- return /* @__PURE__ */ jsx21("span", { children: renderLink(item, active) }, item.id);
1457
+ return /* @__PURE__ */ jsx25("span", { children: renderLink(item, active) }, item.id);
1386
1458
  }
1387
- return /* @__PURE__ */ jsx21(
1388
- Anchor2,
1459
+ return /* @__PURE__ */ jsx25(
1460
+ Anchor4,
1389
1461
  {
1390
1462
  href: item.href,
1391
1463
  "aria-current": active ? "page" : void 0,
@@ -1402,16 +1474,16 @@ function PublicNav({ items, activeId, renderLink }) {
1402
1474
  }
1403
1475
 
1404
1476
  // src/PublicShell.tsx
1405
- import { AppShell, Box as Box6, Burger, Container, Group as Group15, Stack as Stack17, Text as Text14 } from "@mantine/core";
1406
- import { jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
1477
+ import { AppShell, Box as Box7, Burger, Container, Group as Group17, Stack as Stack20, Text as Text17 } from "@mantine/core";
1478
+ import { jsx as jsx26, jsxs as jsxs20 } from "react/jsx-runtime";
1407
1479
  function InlineMobileNavigation({
1408
1480
  mobileNavigation,
1409
1481
  className,
1410
1482
  mode
1411
1483
  }) {
1412
- return /* @__PURE__ */ jsxs17(Box6, { component: "details", hiddenFrom: "sm", className, children: [
1413
- /* @__PURE__ */ jsxs17(
1414
- Box6,
1484
+ return /* @__PURE__ */ jsxs20(Box7, { component: "details", hiddenFrom: "sm", className, children: [
1485
+ /* @__PURE__ */ jsxs20(
1486
+ Box7,
1415
1487
  {
1416
1488
  component: "summary",
1417
1489
  "aria-label": mode === "drawer" ? "Open site navigation drawer" : "Open site navigation",
@@ -1423,13 +1495,13 @@ function InlineMobileNavigation({
1423
1495
  gap: "0.5rem"
1424
1496
  },
1425
1497
  children: [
1426
- /* @__PURE__ */ jsx22(Burger, { opened: false, "aria-hidden": true }),
1427
- /* @__PURE__ */ jsx22(Text14, { size: "sm", fw: 600, children: "Menu" })
1498
+ /* @__PURE__ */ jsx26(Burger, { opened: false, "aria-hidden": true }),
1499
+ /* @__PURE__ */ jsx26(Text17, { size: "sm", fw: 600, children: "Menu" })
1428
1500
  ]
1429
1501
  }
1430
1502
  ),
1431
- /* @__PURE__ */ jsx22(
1432
- Box6,
1503
+ /* @__PURE__ */ jsx26(
1504
+ Box7,
1433
1505
  {
1434
1506
  mt: "sm",
1435
1507
  p: "sm",
@@ -1438,7 +1510,7 @@ function InlineMobileNavigation({
1438
1510
  border: "1px solid var(--mantine-color-default-border)",
1439
1511
  background: mode === "drawer" ? "light-dark(var(--mantine-color-white), color-mix(in srgb, var(--mantine-color-dark-7) 92%, black))" : "var(--mantine-color-body)"
1440
1512
  },
1441
- children: /* @__PURE__ */ jsx22(Stack17, { gap: "sm", children: mobileNavigation })
1513
+ children: /* @__PURE__ */ jsx26(Stack20, { gap: "sm", children: mobileNavigation })
1442
1514
  }
1443
1515
  )
1444
1516
  ] });
@@ -1459,13 +1531,13 @@ function PublicShell({
1459
1531
  mobileNavigationMode = "sheet",
1460
1532
  classNames
1461
1533
  }) {
1462
- const resolvedNavigation = navigation ?? (navItems ? /* @__PURE__ */ jsx22(PublicNav, { items: navItems, activeId: activeNavId }) : null);
1534
+ const resolvedNavigation = navigation ?? (navItems ? /* @__PURE__ */ jsx26(PublicNav, { items: navItems, activeId: activeNavId }) : null);
1463
1535
  const containerSize = maxContentWidth ?? (compact ? "md" : "lg");
1464
1536
  const headerHeight = headerVariant === "compact" ? 64 : headerVariant === "branded-quiet" ? 88 : 72;
1465
1537
  const mainPadding = headerVariant === "compact" ? "lg" : "xl";
1466
1538
  const usesInlineMobileNavigation = Boolean(mobileNavigation) && mobileNavigationMode !== "sheet";
1467
1539
  const usesSheetMobileNavigation = Boolean(mobileNavigation) && mobileNavigationMode === "sheet";
1468
- return /* @__PURE__ */ jsxs17(
1540
+ return /* @__PURE__ */ jsxs20(
1469
1541
  AppShell,
1470
1542
  {
1471
1543
  className: classNames?.root,
@@ -1473,16 +1545,16 @@ function PublicShell({
1473
1545
  footer: usesSheetMobileNavigation ? { height: 68 } : void 0,
1474
1546
  padding: 0,
1475
1547
  children: [
1476
- /* @__PURE__ */ jsx22(AppShell.Header, { withBorder: headerBordered, className: classNames?.header, "data-header-variant": headerVariant, children: /* @__PURE__ */ jsx22(Container, { size: containerSize, h: "100%", py: headerVariant === "branded-quiet" ? "sm" : 0, children: /* @__PURE__ */ jsxs17(
1477
- Group15,
1548
+ /* @__PURE__ */ jsx26(AppShell.Header, { withBorder: headerBordered, className: classNames?.header, "data-header-variant": headerVariant, children: /* @__PURE__ */ jsx26(Container, { size: containerSize, h: "100%", py: headerVariant === "branded-quiet" ? "sm" : 0, children: /* @__PURE__ */ jsxs20(
1549
+ Group17,
1478
1550
  {
1479
1551
  h: "100%",
1480
1552
  justify: "space-between",
1481
1553
  wrap: "nowrap",
1482
1554
  gap: headerVariant === "compact" ? "sm" : "lg",
1483
1555
  children: [
1484
- /* @__PURE__ */ jsxs17(Group15, { wrap: "nowrap", gap: headerVariant === "compact" ? "xs" : "sm", className: classNames?.brand, children: [
1485
- usesInlineMobileNavigation ? /* @__PURE__ */ jsx22(
1556
+ /* @__PURE__ */ jsxs20(Group17, { wrap: "nowrap", gap: headerVariant === "compact" ? "xs" : "sm", className: classNames?.brand, children: [
1557
+ usesInlineMobileNavigation ? /* @__PURE__ */ jsx26(
1486
1558
  InlineMobileNavigation,
1487
1559
  {
1488
1560
  mobileNavigation,
@@ -1490,17 +1562,17 @@ function PublicShell({
1490
1562
  mode: mobileNavigationMode
1491
1563
  }
1492
1564
  ) : null,
1493
- /* @__PURE__ */ jsx22(Box6, { children: brand })
1565
+ /* @__PURE__ */ jsx26(Box7, { children: brand })
1494
1566
  ] }),
1495
- /* @__PURE__ */ jsx22(Group15, { visibleFrom: "sm", gap: headerVariant === "compact" ? "md" : "lg", className: classNames?.navigation, children: resolvedNavigation }),
1496
- /* @__PURE__ */ jsx22(Group15, { gap: "sm", className: classNames?.actions, children: actions })
1567
+ /* @__PURE__ */ jsx26(Group17, { visibleFrom: "sm", gap: headerVariant === "compact" ? "md" : "lg", className: classNames?.navigation, children: resolvedNavigation }),
1568
+ /* @__PURE__ */ jsx26(Group17, { gap: "sm", className: classNames?.actions, children: actions })
1497
1569
  ]
1498
1570
  }
1499
1571
  ) }) }),
1500
- usesSheetMobileNavigation ? /* @__PURE__ */ jsx22(AppShell.Footer, { withBorder: true, children: /* @__PURE__ */ jsx22(Container, { size: containerSize, h: "100%", children: /* @__PURE__ */ jsx22(Group15, { h: "100%", justify: "space-around", wrap: "nowrap", children: mobileNavigation }) }) }) : null,
1501
- /* @__PURE__ */ jsxs17(AppShell.Main, { children: [
1502
- /* @__PURE__ */ jsx22(Container, { size: containerSize, py: mainPadding, className: classNames?.content, children: /* @__PURE__ */ jsx22(Stack17, { gap: "xl", children }) }),
1503
- footer ? /* @__PURE__ */ jsx22(Box6, { component: typeof footer === "string" ? "footer" : "div", py: "xl", children: /* @__PURE__ */ jsx22(Container, { size: containerSize, children: typeof footer === "string" ? /* @__PURE__ */ jsx22(Text14, { size: "sm", c: "dimmed", children: footer }) : footer }) }) : null
1572
+ usesSheetMobileNavigation ? /* @__PURE__ */ jsx26(AppShell.Footer, { withBorder: true, children: /* @__PURE__ */ jsx26(Container, { size: containerSize, h: "100%", children: /* @__PURE__ */ jsx26(Group17, { h: "100%", justify: "space-around", wrap: "nowrap", children: mobileNavigation }) }) }) : null,
1573
+ /* @__PURE__ */ jsxs20(AppShell.Main, { children: [
1574
+ /* @__PURE__ */ jsx26(Container, { size: containerSize, py: mainPadding, className: classNames?.content, children: /* @__PURE__ */ jsx26(Stack20, { gap: "xl", children }) }),
1575
+ footer ? /* @__PURE__ */ jsx26(Box7, { component: typeof footer === "string" ? "footer" : "div", py: "xl", children: /* @__PURE__ */ jsx26(Container, { size: containerSize, children: typeof footer === "string" ? /* @__PURE__ */ jsx26(Text17, { size: "sm", c: "dimmed", children: footer }) : footer }) }) : null
1504
1576
  ] })
1505
1577
  ]
1506
1578
  }
@@ -1508,18 +1580,18 @@ function PublicShell({
1508
1580
  }
1509
1581
 
1510
1582
  // src/PublicSiteFooter.tsx
1511
- import { Group as Group16, Stack as Stack18, Text as Text15 } from "@mantine/core";
1512
- import { jsx as jsx23, jsxs as jsxs18 } from "react/jsx-runtime";
1583
+ import { Group as Group18, Stack as Stack21, Text as Text18 } from "@mantine/core";
1584
+ import { jsx as jsx27, jsxs as jsxs21 } from "react/jsx-runtime";
1513
1585
  function PublicSiteFooter({ children, meta }) {
1514
- return /* @__PURE__ */ jsxs18(Stack18, { component: "footer", gap: "xs", children: [
1515
- children ? /* @__PURE__ */ jsx23(Text15, { size: "sm", children }) : null,
1516
- meta ? /* @__PURE__ */ jsx23(Group16, { gap: "sm", children: /* @__PURE__ */ jsx23(Text15, { size: "xs", c: "dimmed", children: meta }) }) : null
1586
+ return /* @__PURE__ */ jsxs21(Stack21, { component: "footer", gap: "xs", children: [
1587
+ children ? /* @__PURE__ */ jsx27(Text18, { size: "sm", children }) : null,
1588
+ meta ? /* @__PURE__ */ jsx27(Group18, { gap: "sm", children: /* @__PURE__ */ jsx27(Text18, { size: "xs", c: "dimmed", children: meta }) }) : null
1517
1589
  ] });
1518
1590
  }
1519
1591
 
1520
1592
  // src/PublicBrandFooter.tsx
1521
- import { Box as Box7, Divider as Divider3, Grid, Group as Group17, Paper as Paper5, Stack as Stack19, Text as Text16, Title as Title14 } from "@mantine/core";
1522
- import { Fragment as Fragment4, jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
1593
+ import { Box as Box8, Divider as Divider3, Grid, Group as Group19, Paper as Paper6, Stack as Stack22, Text as Text19, Title as Title15 } from "@mantine/core";
1594
+ import { Fragment as Fragment4, jsx as jsx28, jsxs as jsxs22 } from "react/jsx-runtime";
1523
1595
  function PublicBrandFooter({
1524
1596
  media,
1525
1597
  brandTitle,
@@ -1534,8 +1606,8 @@ function PublicBrandFooter({
1534
1606
  const mediaSpan = layoutVariant === "immersive-media" ? 5 : 4;
1535
1607
  const primarySpan = media ? layoutVariant === "balanced-quote" ? 4 : 4 : secondary ? 6 : 12;
1536
1608
  const secondarySpan = media ? Math.max(3, 12 - mediaSpan - primarySpan) : Math.max(4, 12 - primarySpan);
1537
- return /* @__PURE__ */ jsx24(
1538
- Paper5,
1609
+ return /* @__PURE__ */ jsx28(
1610
+ Paper6,
1539
1611
  {
1540
1612
  component: "footer",
1541
1613
  withBorder: true,
@@ -1543,19 +1615,19 @@ function PublicBrandFooter({
1543
1615
  p: compact ? "lg" : "xl",
1544
1616
  className: classNames?.root,
1545
1617
  "data-layout-variant": layoutVariant,
1546
- children: /* @__PURE__ */ jsxs19(Stack19, { gap: "lg", children: [
1547
- /* @__PURE__ */ jsxs19(Grid, { gutter: compact ? "lg" : "xl", align: "flex-start", children: [
1548
- media ? /* @__PURE__ */ jsx24(Grid.Col, { span: { base: 12, md: mediaSpan }, children: /* @__PURE__ */ jsx24(Box7, { className: classNames?.media, children: media }) }) : null,
1549
- /* @__PURE__ */ jsx24(Grid.Col, { span: { base: 12, md: primarySpan }, children: /* @__PURE__ */ jsxs19(Stack19, { gap: compact ? "xs" : "sm", className: classNames?.primary, children: [
1550
- brandTitle ? /* @__PURE__ */ jsx24(Title14, { order: 4, children: brandTitle }) : null,
1551
- description ? /* @__PURE__ */ jsx24(Text16, { c: "dimmed", children: description }) : null,
1552
- actions ? /* @__PURE__ */ jsx24(Box7, { children: actions }) : null
1618
+ children: /* @__PURE__ */ jsxs22(Stack22, { gap: "lg", children: [
1619
+ /* @__PURE__ */ jsxs22(Grid, { gutter: compact ? "lg" : "xl", align: "flex-start", children: [
1620
+ media ? /* @__PURE__ */ jsx28(Grid.Col, { span: { base: 12, md: mediaSpan }, children: /* @__PURE__ */ jsx28(Box8, { className: classNames?.media, children: media }) }) : null,
1621
+ /* @__PURE__ */ jsx28(Grid.Col, { span: { base: 12, md: primarySpan }, children: /* @__PURE__ */ jsxs22(Stack22, { gap: compact ? "xs" : "sm", className: classNames?.primary, children: [
1622
+ brandTitle ? /* @__PURE__ */ jsx28(Title15, { order: 4, children: brandTitle }) : null,
1623
+ description ? /* @__PURE__ */ jsx28(Text19, { c: "dimmed", children: description }) : null,
1624
+ actions ? /* @__PURE__ */ jsx28(Box8, { children: actions }) : null
1553
1625
  ] }) }),
1554
- secondary ? /* @__PURE__ */ jsx24(Grid.Col, { span: { base: 12, md: secondarySpan }, children: /* @__PURE__ */ jsx24(Stack19, { gap: compact ? "xs" : "sm", className: classNames?.secondary, children: secondary }) }) : null
1626
+ secondary ? /* @__PURE__ */ jsx28(Grid.Col, { span: { base: 12, md: secondarySpan }, children: /* @__PURE__ */ jsx28(Stack22, { gap: compact ? "xs" : "sm", className: classNames?.secondary, children: secondary }) }) : null
1555
1627
  ] }),
1556
- legal ? /* @__PURE__ */ jsxs19(Fragment4, { children: [
1557
- /* @__PURE__ */ jsx24(Divider3, {}),
1558
- /* @__PURE__ */ jsx24(Group17, { justify: "space-between", gap: "sm", wrap: "wrap", className: classNames?.legal, children: typeof legal === "string" ? /* @__PURE__ */ jsx24(Text16, { size: "sm", c: "dimmed", children: legal }) : legal })
1628
+ legal ? /* @__PURE__ */ jsxs22(Fragment4, { children: [
1629
+ /* @__PURE__ */ jsx28(Divider3, {}),
1630
+ /* @__PURE__ */ jsx28(Group19, { justify: "space-between", gap: "sm", wrap: "wrap", className: classNames?.legal, children: typeof legal === "string" ? /* @__PURE__ */ jsx28(Text19, { size: "sm", c: "dimmed", children: legal }) : legal })
1559
1631
  ] }) : null
1560
1632
  ] })
1561
1633
  }
@@ -1563,8 +1635,8 @@ function PublicBrandFooter({
1563
1635
  }
1564
1636
 
1565
1637
  // src/AuthShell.tsx
1566
- import { Box as Box8, Card as Card8, Container as Container2, Divider as Divider4, Group as Group18, Stack as Stack20, Text as Text17, Title as Title15 } from "@mantine/core";
1567
- import { jsx as jsx25, jsxs as jsxs20 } from "react/jsx-runtime";
1638
+ import { Box as Box9, Card as Card8, Container as Container2, Divider as Divider4, Group as Group20, Stack as Stack23, Text as Text20, Title as Title16 } from "@mantine/core";
1639
+ import { jsx as jsx29, jsxs as jsxs23 } from "react/jsx-runtime";
1568
1640
  function AuthShell({
1569
1641
  title,
1570
1642
  description,
@@ -1576,28 +1648,28 @@ function AuthShell({
1576
1648
  dividerLabel = "Or continue with your account",
1577
1649
  children
1578
1650
  }) {
1579
- return /* @__PURE__ */ jsx25(Box8, { py: { base: "xl", md: "4rem" }, children: /* @__PURE__ */ jsx25(Container2, { size: "xs", children: /* @__PURE__ */ jsxs20(Stack20, { gap: "xl", children: [
1580
- brand || headerActions ? /* @__PURE__ */ jsxs20(Group18, { justify: brand && headerActions ? "space-between" : "center", align: "center", children: [
1581
- brand ? /* @__PURE__ */ jsx25(Box8, { children: brand }) : /* @__PURE__ */ jsx25(Box8, {}),
1582
- headerActions ? /* @__PURE__ */ jsx25(Group18, { gap: "sm", children: headerActions }) : null
1651
+ return /* @__PURE__ */ jsx29(Box9, { py: { base: "xl", md: "4rem" }, children: /* @__PURE__ */ jsx29(Container2, { size: "xs", children: /* @__PURE__ */ jsxs23(Stack23, { gap: "xl", children: [
1652
+ brand || headerActions ? /* @__PURE__ */ jsxs23(Group20, { justify: brand && headerActions ? "space-between" : "center", align: "center", children: [
1653
+ brand ? /* @__PURE__ */ jsx29(Box9, { children: brand }) : /* @__PURE__ */ jsx29(Box9, {}),
1654
+ headerActions ? /* @__PURE__ */ jsx29(Group20, { gap: "sm", children: headerActions }) : null
1583
1655
  ] }) : null,
1584
- /* @__PURE__ */ jsx25(Card8, { withBorder: true, radius: "lg", padding: "xl", children: /* @__PURE__ */ jsxs20(Stack20, { gap: "lg", children: [
1585
- /* @__PURE__ */ jsxs20(Stack20, { gap: "xs", ta: "center", children: [
1586
- /* @__PURE__ */ jsx25(Title15, { order: 2, children: title }),
1587
- description ? /* @__PURE__ */ jsx25(Text17, { c: "dimmed", size: "sm", children: description }) : null
1656
+ /* @__PURE__ */ jsx29(Card8, { withBorder: true, radius: "lg", padding: "xl", children: /* @__PURE__ */ jsxs23(Stack23, { gap: "lg", children: [
1657
+ /* @__PURE__ */ jsxs23(Stack23, { gap: "xs", ta: "center", children: [
1658
+ /* @__PURE__ */ jsx29(Title16, { order: 2, children: title }),
1659
+ description ? /* @__PURE__ */ jsx29(Text20, { c: "dimmed", size: "sm", children: description }) : null
1588
1660
  ] }),
1589
- socialAuth ? /* @__PURE__ */ jsx25(Box8, { children: socialAuth }) : null,
1590
- socialAuth ? /* @__PURE__ */ jsx25(Divider4, { label: dividerLabel, labelPosition: "center" }) : null,
1661
+ socialAuth ? /* @__PURE__ */ jsx29(Box9, { children: socialAuth }) : null,
1662
+ socialAuth ? /* @__PURE__ */ jsx29(Divider4, { label: dividerLabel, labelPosition: "center" }) : null,
1591
1663
  children,
1592
- helper ? /* @__PURE__ */ jsx25(Text17, { size: "sm", c: "dimmed", ta: "center", children: helper }) : null
1664
+ helper ? /* @__PURE__ */ jsx29(Text20, { size: "sm", c: "dimmed", ta: "center", children: helper }) : null
1593
1665
  ] }) }),
1594
- footer ? /* @__PURE__ */ jsx25(Text17, { size: "sm", c: "dimmed", ta: "center", children: footer }) : null
1666
+ footer ? /* @__PURE__ */ jsx29(Text20, { size: "sm", c: "dimmed", ta: "center", children: footer }) : null
1595
1667
  ] }) }) });
1596
1668
  }
1597
1669
 
1598
1670
  // src/SocialAuthButtons.tsx
1599
- import { Button as Button3, Divider as Divider5, Group as Group19, SimpleGrid as SimpleGrid4, Stack as Stack21, Text as Text18, ThemeIcon as ThemeIcon7 } from "@mantine/core";
1600
- import { jsx as jsx26, jsxs as jsxs21 } from "react/jsx-runtime";
1671
+ import { Button as Button3, Divider as Divider5, Group as Group21, SimpleGrid as SimpleGrid5, Stack as Stack24, Text as Text21, ThemeIcon as ThemeIcon7 } from "@mantine/core";
1672
+ import { jsx as jsx30, jsxs as jsxs24 } from "react/jsx-runtime";
1601
1673
  var providerConfig = {
1602
1674
  google: { label: "Google", mark: "G", color: "red" },
1603
1675
  apple: { label: "Apple", mark: "A", color: "dark" },
@@ -1611,26 +1683,26 @@ var providerConfig = {
1611
1683
  };
1612
1684
  function ProviderMark({ id }) {
1613
1685
  const config = providerConfig[id] ?? { label: id, mark: id.slice(0, 2).toUpperCase(), color: "gray" };
1614
- return /* @__PURE__ */ jsx26(ThemeIcon7, { variant: "light", color: config.color, radius: "xl", size: "md", "aria-hidden": "true", children: /* @__PURE__ */ jsx26(Text18, { size: "xs", fw: 700, children: config.mark }) });
1686
+ return /* @__PURE__ */ jsx30(ThemeIcon7, { variant: "light", color: config.color, radius: "xl", size: "md", "aria-hidden": "true", children: /* @__PURE__ */ jsx30(Text21, { size: "xs", fw: 700, children: config.mark }) });
1615
1687
  }
1616
1688
  function SocialAuthButton({ provider, compact = false }) {
1617
1689
  const config = providerConfig[provider.id] ?? { label: provider.id, mark: provider.id.slice(0, 2).toUpperCase(), color: "gray" };
1618
1690
  const label = provider.label ?? `Continue with ${config.label}`;
1619
1691
  const buttonProps = provider.href ? { component: "a", href: provider.href } : { onClick: provider.onClick };
1620
- return /* @__PURE__ */ jsx26(
1692
+ return /* @__PURE__ */ jsx30(
1621
1693
  Button3,
1622
1694
  {
1623
1695
  variant: "default",
1624
1696
  justify: "space-between",
1625
1697
  fullWidth: true,
1626
1698
  size: compact ? "sm" : "md",
1627
- leftSection: /* @__PURE__ */ jsx26(ProviderMark, { id: provider.id }),
1699
+ leftSection: /* @__PURE__ */ jsx30(ProviderMark, { id: provider.id }),
1628
1700
  disabled: provider.disabled,
1629
1701
  loading: provider.loading,
1630
1702
  ...buttonProps,
1631
- children: /* @__PURE__ */ jsxs21(Stack21, { gap: 0, align: "flex-start", children: [
1632
- /* @__PURE__ */ jsx26(Text18, { inherit: true, children: label }),
1633
- provider.description ? /* @__PURE__ */ jsx26(Text18, { size: "xs", c: "dimmed", lh: 1.2, children: provider.description }) : null
1703
+ children: /* @__PURE__ */ jsxs24(Stack24, { gap: 0, align: "flex-start", children: [
1704
+ /* @__PURE__ */ jsx30(Text21, { inherit: true, children: label }),
1705
+ provider.description ? /* @__PURE__ */ jsx30(Text21, { size: "xs", c: "dimmed", lh: 1.2, children: provider.description }) : null
1634
1706
  ] })
1635
1707
  }
1636
1708
  );
@@ -1645,54 +1717,54 @@ function SocialAuthButtons({
1645
1717
  if (!providers.length) {
1646
1718
  return null;
1647
1719
  }
1648
- const content = providers.map((provider) => /* @__PURE__ */ jsx26(SocialAuthButton, { provider, compact }, provider.id));
1649
- return /* @__PURE__ */ jsxs21(Stack21, { gap: "md", children: [
1650
- /* @__PURE__ */ jsxs21(Stack21, { gap: 4, ta: "center", children: [
1651
- /* @__PURE__ */ jsxs21(Group19, { justify: "center", gap: "xs", children: [
1652
- /* @__PURE__ */ jsx26(GdsIcons.Login, { size: "1rem" }),
1653
- /* @__PURE__ */ jsx26(Text18, { fw: 600, children: title })
1720
+ const content = providers.map((provider) => /* @__PURE__ */ jsx30(SocialAuthButton, { provider, compact }, provider.id));
1721
+ return /* @__PURE__ */ jsxs24(Stack24, { gap: "md", children: [
1722
+ /* @__PURE__ */ jsxs24(Stack24, { gap: 4, ta: "center", children: [
1723
+ /* @__PURE__ */ jsxs24(Group21, { justify: "center", gap: "xs", children: [
1724
+ /* @__PURE__ */ jsx30(GdsIcons.Login, { size: "1rem" }),
1725
+ /* @__PURE__ */ jsx30(Text21, { fw: 600, children: title })
1654
1726
  ] }),
1655
- description ? /* @__PURE__ */ jsx26(Text18, { size: "sm", c: "dimmed", children: description }) : null
1727
+ description ? /* @__PURE__ */ jsx30(Text21, { size: "sm", c: "dimmed", children: description }) : null
1656
1728
  ] }),
1657
- /* @__PURE__ */ jsx26(Divider5, {}),
1658
- layout === "grid" ? /* @__PURE__ */ jsx26(SimpleGrid4, { cols: { base: 1, sm: 2 }, spacing: "sm", children: content }) : /* @__PURE__ */ jsx26(Stack21, { gap: "sm", children: content })
1729
+ /* @__PURE__ */ jsx30(Divider5, {}),
1730
+ layout === "grid" ? /* @__PURE__ */ jsx30(SimpleGrid5, { cols: { base: 1, sm: 2 }, spacing: "sm", children: content }) : /* @__PURE__ */ jsx30(Stack24, { gap: "sm", children: content })
1659
1731
  ] });
1660
1732
  }
1661
1733
 
1662
1734
  // src/ArticleShell.tsx
1663
- import { Container as Container3, Group as Group20, Stack as Stack22, Text as Text19, Title as Title16 } from "@mantine/core";
1664
- import { jsx as jsx27, jsxs as jsxs22 } from "react/jsx-runtime";
1735
+ import { Container as Container3, Group as Group22, Stack as Stack25, Text as Text22, Title as Title17 } from "@mantine/core";
1736
+ import { jsx as jsx31, jsxs as jsxs25 } from "react/jsx-runtime";
1665
1737
  function ArticleShell({ eyebrow, title, lead, meta, sideRail, children }) {
1666
- return /* @__PURE__ */ jsx27(Container3, { size: "lg", py: "xl", children: /* @__PURE__ */ jsxs22(Group20, { align: "flex-start", gap: "xl", wrap: "nowrap", children: [
1667
- /* @__PURE__ */ jsxs22(Stack22, { gap: "lg", maw: 760, flex: 1, children: [
1668
- /* @__PURE__ */ jsxs22(Stack22, { gap: "sm", children: [
1669
- eyebrow ? /* @__PURE__ */ jsx27(Text19, { size: "sm", fw: 700, c: "dimmed", tt: "uppercase", children: eyebrow }) : null,
1670
- /* @__PURE__ */ jsx27(Title16, { order: 1, children: title }),
1671
- lead ? /* @__PURE__ */ jsx27(Text19, { size: "lg", c: "dimmed", children: lead }) : null,
1672
- meta ? /* @__PURE__ */ jsx27(Group20, { gap: "md", children: meta }) : null
1738
+ return /* @__PURE__ */ jsx31(Container3, { size: "lg", py: "xl", children: /* @__PURE__ */ jsxs25(Group22, { align: "flex-start", gap: "xl", wrap: "nowrap", children: [
1739
+ /* @__PURE__ */ jsxs25(Stack25, { gap: "lg", maw: 760, flex: 1, children: [
1740
+ /* @__PURE__ */ jsxs25(Stack25, { gap: "sm", children: [
1741
+ eyebrow ? /* @__PURE__ */ jsx31(Text22, { size: "sm", fw: 700, c: "dimmed", tt: "uppercase", children: eyebrow }) : null,
1742
+ /* @__PURE__ */ jsx31(Title17, { order: 1, children: title }),
1743
+ lead ? /* @__PURE__ */ jsx31(Text22, { size: "lg", c: "dimmed", children: lead }) : null,
1744
+ meta ? /* @__PURE__ */ jsx31(Group22, { gap: "md", children: meta }) : null
1673
1745
  ] }),
1674
- /* @__PURE__ */ jsx27(Stack22, { gap: "md", children })
1746
+ /* @__PURE__ */ jsx31(Stack25, { gap: "md", children })
1675
1747
  ] }),
1676
- sideRail ? /* @__PURE__ */ jsx27(Stack22, { visibleFrom: "lg", gap: "md", w: 240, children: sideRail }) : null
1748
+ sideRail ? /* @__PURE__ */ jsx31(Stack25, { visibleFrom: "lg", gap: "md", w: 240, children: sideRail }) : null
1677
1749
  ] }) });
1678
1750
  }
1679
1751
 
1680
1752
  // src/CtaButtonGroup.tsx
1681
- import { Group as Group21, Stack as Stack23 } from "@mantine/core";
1682
- import { jsx as jsx28, jsxs as jsxs23 } from "react/jsx-runtime";
1753
+ import { Group as Group23, Stack as Stack26 } from "@mantine/core";
1754
+ import { jsx as jsx32, jsxs as jsxs26 } from "react/jsx-runtime";
1683
1755
  function CtaButtonGroup({ primary, secondary, tertiary }) {
1684
- return /* @__PURE__ */ jsxs23(Stack23, { gap: "sm", children: [
1685
- /* @__PURE__ */ jsxs23(Group21, { gap: "sm", align: "stretch", children: [
1686
- /* @__PURE__ */ jsx28("div", { children: primary }),
1687
- secondary ? /* @__PURE__ */ jsx28("div", { children: secondary }) : null
1756
+ return /* @__PURE__ */ jsxs26(Stack26, { gap: "sm", children: [
1757
+ /* @__PURE__ */ jsxs26(Group23, { gap: "sm", align: "stretch", children: [
1758
+ /* @__PURE__ */ jsx32("div", { children: primary }),
1759
+ secondary ? /* @__PURE__ */ jsx32("div", { children: secondary }) : null
1688
1760
  ] }),
1689
- tertiary ? /* @__PURE__ */ jsx28("div", { children: tertiary }) : null
1761
+ tertiary ? /* @__PURE__ */ jsx32("div", { children: tertiary }) : null
1690
1762
  ] });
1691
1763
  }
1692
1764
 
1693
1765
  // src/DocsPageShell.tsx
1694
- import { Anchor as Anchor3, Breadcrumbs, Container as Container4, Group as Group22, Stack as Stack24, Text as Text20, Title as Title17 } from "@mantine/core";
1695
- import { jsx as jsx29, jsxs as jsxs24 } from "react/jsx-runtime";
1766
+ import { Anchor as Anchor5, Breadcrumbs, Container as Container4, Group as Group24, Stack as Stack27, Text as Text23, Title as Title18 } from "@mantine/core";
1767
+ import { jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime";
1696
1768
  function DocsPageShell({
1697
1769
  breadcrumbs = [],
1698
1770
  title,
@@ -1703,27 +1775,27 @@ function DocsPageShell({
1703
1775
  footerNext,
1704
1776
  children
1705
1777
  }) {
1706
- return /* @__PURE__ */ jsx29(Container4, { size: "lg", py: "xl", children: /* @__PURE__ */ jsxs24(Group22, { align: "flex-start", gap: "xl", wrap: "nowrap", children: [
1707
- /* @__PURE__ */ jsxs24(Stack24, { component: "article", gap: "lg", maw: 760, flex: 1, children: [
1708
- breadcrumbs.length ? /* @__PURE__ */ jsx29(Breadcrumbs, { children: breadcrumbs.map(
1709
- (crumb) => crumb.href ? /* @__PURE__ */ jsx29(Anchor3, { href: crumb.href, children: crumb.label }, `${crumb.label}-${crumb.href}`) : /* @__PURE__ */ jsx29(Text20, { children: crumb.label }, crumb.label)
1778
+ return /* @__PURE__ */ jsx33(Container4, { fluid: true, py: "xl", px: "xl", children: /* @__PURE__ */ jsxs27(Group24, { align: "flex-start", gap: "xl", wrap: "nowrap", children: [
1779
+ /* @__PURE__ */ jsxs27(Stack27, { component: "article", gap: "lg", flex: 1, miw: 0, children: [
1780
+ breadcrumbs.length ? /* @__PURE__ */ jsx33(Breadcrumbs, { children: breadcrumbs.map(
1781
+ (crumb) => crumb.href ? /* @__PURE__ */ jsx33(Anchor5, { href: crumb.href, children: crumb.label }, `${crumb.label}-${crumb.href}`) : /* @__PURE__ */ jsx33(Text23, { children: crumb.label }, crumb.label)
1710
1782
  ) }) : null,
1711
- /* @__PURE__ */ jsxs24(Stack24, { gap: "sm", children: [
1712
- eyebrow ? /* @__PURE__ */ jsx29(Text20, { size: "sm", fw: 700, c: "dimmed", children: eyebrow }) : null,
1713
- /* @__PURE__ */ jsx29(Title17, { order: 1, children: title }),
1714
- lead ? /* @__PURE__ */ jsx29(Text20, { size: "lg", c: "dimmed", children: lead }) : null,
1715
- meta ? /* @__PURE__ */ jsx29(Group22, { gap: "md", children: meta }) : null
1783
+ /* @__PURE__ */ jsxs27(Stack27, { gap: "sm", children: [
1784
+ eyebrow ? /* @__PURE__ */ jsx33(Text23, { size: "sm", fw: 700, c: "dimmed", children: eyebrow }) : null,
1785
+ /* @__PURE__ */ jsx33(Title18, { order: 1, children: title }),
1786
+ lead ? /* @__PURE__ */ jsx33(Text23, { size: "lg", c: "dimmed", maw: 920, children: lead }) : null,
1787
+ meta ? /* @__PURE__ */ jsx33(Group24, { gap: "md", children: meta }) : null
1716
1788
  ] }),
1717
- /* @__PURE__ */ jsx29(Stack24, { gap: "md", children }),
1718
- footerNext ? /* @__PURE__ */ jsx29(Anchor3, { href: footerNext.href, fw: 600, children: footerNext.label }) : null
1789
+ /* @__PURE__ */ jsx33(Stack27, { gap: "md", children }),
1790
+ footerNext ? /* @__PURE__ */ jsx33(Anchor5, { href: footerNext.href, fw: 600, children: footerNext.label }) : null
1719
1791
  ] }),
1720
- sideRail ? /* @__PURE__ */ jsx29(Stack24, { visibleFrom: "lg", gap: "md", w: 240, children: sideRail }) : null
1792
+ sideRail ? /* @__PURE__ */ jsx33(Stack27, { visibleFrom: "lg", gap: "md", w: 240, children: sideRail }) : null
1721
1793
  ] }) });
1722
1794
  }
1723
1795
 
1724
1796
  // src/EditorialHero.tsx
1725
- import { Anchor as Anchor4, AspectRatio as AspectRatio5, Box as Box9, Grid as Grid2, Group as Group23, Paper as Paper6, Skeleton as Skeleton3, Stack as Stack25, Text as Text21, ThemeIcon as ThemeIcon8, Title as Title18 } from "@mantine/core";
1726
- import { jsx as jsx30, jsxs as jsxs25 } from "react/jsx-runtime";
1797
+ import { Anchor as Anchor6, AspectRatio as AspectRatio5, Box as Box10, Grid as Grid2, Group as Group25, Paper as Paper7, Skeleton as Skeleton3, Stack as Stack28, Text as Text24, ThemeIcon as ThemeIcon8, Title as Title19 } from "@mantine/core";
1798
+ import { jsx as jsx34, jsxs as jsxs28 } from "react/jsx-runtime";
1727
1799
  function resolveActionVariant(action, index, seenPrimary) {
1728
1800
  const requested = action.variant ?? (index === 0 ? "primary" : "secondary");
1729
1801
  if (requested === "primary" && !seenPrimary) {
@@ -1735,8 +1807,8 @@ function resolveActionVariant(action, index, seenPrimary) {
1735
1807
  return { variant: "default", seenPrimary };
1736
1808
  }
1737
1809
  function HeroAction({ action, variant }) {
1738
- const content = /* @__PURE__ */ jsx30(
1739
- Anchor4,
1810
+ const content = /* @__PURE__ */ jsx34(
1811
+ Anchor6,
1740
1812
  {
1741
1813
  href: action.href,
1742
1814
  onClick: action.onClick,
@@ -1760,8 +1832,8 @@ function HeroAction({ action, variant }) {
1760
1832
  }
1761
1833
  );
1762
1834
  if (!action.href) {
1763
- return /* @__PURE__ */ jsx30(
1764
- Box9,
1835
+ return /* @__PURE__ */ jsx34(
1836
+ Box10,
1765
1837
  {
1766
1838
  component: "button",
1767
1839
  type: "button",
@@ -1788,22 +1860,22 @@ function HeroAction({ action, variant }) {
1788
1860
  return content;
1789
1861
  }
1790
1862
  function LoadingHero({ compact }) {
1791
- return /* @__PURE__ */ jsx30(Paper6, { withBorder: true, radius: "xl", p: compact ? "lg" : "xl", children: /* @__PURE__ */ jsxs25(Grid2, { gutter: compact ? "lg" : "xl", align: "center", children: [
1792
- /* @__PURE__ */ jsx30(Grid2.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsxs25(Stack25, { gap: "md", children: [
1793
- /* @__PURE__ */ jsx30(Skeleton3, { height: 16, width: 96, radius: "xl" }),
1794
- /* @__PURE__ */ jsx30(Skeleton3, { height: 48, width: "90%", radius: "md" }),
1795
- /* @__PURE__ */ jsx30(Skeleton3, { height: 18, width: "100%", radius: "md" }),
1796
- /* @__PURE__ */ jsx30(Skeleton3, { height: 18, width: "82%", radius: "md" }),
1797
- /* @__PURE__ */ jsxs25(Group23, { children: [
1798
- /* @__PURE__ */ jsx30(Skeleton3, { height: 40, width: 140, radius: "md" }),
1799
- /* @__PURE__ */ jsx30(Skeleton3, { height: 40, width: 140, radius: "md" })
1863
+ return /* @__PURE__ */ jsx34(Paper7, { withBorder: true, radius: "xl", p: compact ? "lg" : "xl", children: /* @__PURE__ */ jsxs28(Grid2, { gutter: compact ? "lg" : "xl", align: "center", children: [
1864
+ /* @__PURE__ */ jsx34(Grid2.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsxs28(Stack28, { gap: "md", children: [
1865
+ /* @__PURE__ */ jsx34(Skeleton3, { height: 16, width: 96, radius: "xl" }),
1866
+ /* @__PURE__ */ jsx34(Skeleton3, { height: 48, width: "90%", radius: "md" }),
1867
+ /* @__PURE__ */ jsx34(Skeleton3, { height: 18, width: "100%", radius: "md" }),
1868
+ /* @__PURE__ */ jsx34(Skeleton3, { height: 18, width: "82%", radius: "md" }),
1869
+ /* @__PURE__ */ jsxs28(Group25, { children: [
1870
+ /* @__PURE__ */ jsx34(Skeleton3, { height: 40, width: 140, radius: "md" }),
1871
+ /* @__PURE__ */ jsx34(Skeleton3, { height: 40, width: 140, radius: "md" })
1800
1872
  ] })
1801
1873
  ] }) }),
1802
- /* @__PURE__ */ jsx30(Grid2.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx30(AspectRatio5, { ratio: 16 / 11, children: /* @__PURE__ */ jsx30(Skeleton3, { radius: "lg" }) }) })
1874
+ /* @__PURE__ */ jsx34(Grid2.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx34(AspectRatio5, { ratio: 16 / 11, children: /* @__PURE__ */ jsx34(Skeleton3, { radius: "lg" }) }) })
1803
1875
  ] }) });
1804
1876
  }
1805
1877
  function MediaFallback() {
1806
- return /* @__PURE__ */ jsx30(AspectRatio5, { ratio: 16 / 11, children: /* @__PURE__ */ jsx30(
1878
+ return /* @__PURE__ */ jsx34(AspectRatio5, { ratio: 16 / 11, children: /* @__PURE__ */ jsx34(
1807
1879
  ThemeIcon8,
1808
1880
  {
1809
1881
  size: "100%",
@@ -1811,7 +1883,7 @@ function MediaFallback() {
1811
1883
  color: "gray",
1812
1884
  variant: "light",
1813
1885
  "aria-label": "Hero media is unavailable",
1814
- children: /* @__PURE__ */ jsx30(GdsIcons.Gallery, { size: "2.5rem" })
1886
+ children: /* @__PURE__ */ jsx34(GdsIcons.Gallery, { size: "2.5rem" })
1815
1887
  }
1816
1888
  ) });
1817
1889
  }
@@ -1831,8 +1903,8 @@ function MediaFrame({
1831
1903
  } else if (mediaFade === "soft-start") {
1832
1904
  overlayBackground = "linear-gradient(90deg, light-dark(rgba(255,255,255,0.9), rgba(17,24,39,0.72)) 0%, rgba(255,255,255,0) 28%)";
1833
1905
  }
1834
- return /* @__PURE__ */ jsxs25(
1835
- Box9,
1906
+ return /* @__PURE__ */ jsxs28(
1907
+ Box10,
1836
1908
  {
1837
1909
  component: "figure",
1838
1910
  m: 0,
@@ -1845,9 +1917,9 @@ function MediaFrame({
1845
1917
  },
1846
1918
  "aria-label": mediaAlt,
1847
1919
  children: [
1848
- media ?? /* @__PURE__ */ jsx30(MediaFallback, {}),
1849
- media && overlayBackground ? /* @__PURE__ */ jsx30(
1850
- Box9,
1920
+ media ?? /* @__PURE__ */ jsx34(MediaFallback, {}),
1921
+ media && overlayBackground ? /* @__PURE__ */ jsx34(
1922
+ Box10,
1851
1923
  {
1852
1924
  "aria-hidden": true,
1853
1925
  style: {
@@ -1880,7 +1952,7 @@ function EditorialHero({
1880
1952
  classNames
1881
1953
  }) {
1882
1954
  if (loading) {
1883
- return /* @__PURE__ */ jsx30(LoadingHero, { compact });
1955
+ return /* @__PURE__ */ jsx34(LoadingHero, { compact });
1884
1956
  }
1885
1957
  const stackAlign = align === "center" ? "center" : "flex-start";
1886
1958
  const textAlign = align === "center" ? "center" : "left";
@@ -1888,15 +1960,15 @@ function EditorialHero({
1888
1960
  const renderedActions = actions.slice(0, 3).map((action, index) => {
1889
1961
  const resolved = resolveActionVariant(action, index, seenPrimary);
1890
1962
  seenPrimary = resolved.seenPrimary;
1891
- return /* @__PURE__ */ jsx30(HeroAction, { action, variant: resolved.variant }, `${action.label}-${index}`);
1963
+ return /* @__PURE__ */ jsx34(HeroAction, { action, variant: resolved.variant }, `${action.label}-${index}`);
1892
1964
  });
1893
- const textSlot = /* @__PURE__ */ jsxs25(Stack25, { gap: compact ? "md" : "lg", justify: "center", h: "100%", className: classNames?.content, children: [
1894
- /* @__PURE__ */ jsxs25(Stack25, { gap: "sm", align: stackAlign, children: [
1895
- eyebrow ? /* @__PURE__ */ jsx30(Text21, { size: "sm", fw: 700, c: "dimmed", ta: textAlign, children: eyebrow }) : null,
1896
- /* @__PURE__ */ jsx30(Title18, { order: 1, maw: 760, ta: textAlign, children: title }),
1897
- description ? /* @__PURE__ */ jsx30(Text21, { size: compact ? "md" : "lg", c: "dimmed", maw: 720, ta: textAlign, children: description }) : null
1965
+ const textSlot = /* @__PURE__ */ jsxs28(Stack28, { gap: compact ? "md" : "lg", justify: "center", h: "100%", className: classNames?.content, children: [
1966
+ /* @__PURE__ */ jsxs28(Stack28, { gap: "sm", align: stackAlign, children: [
1967
+ eyebrow ? /* @__PURE__ */ jsx34(Text24, { size: "sm", fw: 700, c: "dimmed", ta: textAlign, children: eyebrow }) : null,
1968
+ /* @__PURE__ */ jsx34(Title19, { order: 1, maw: 760, ta: textAlign, children: title }),
1969
+ description ? /* @__PURE__ */ jsx34(Text24, { size: compact ? "md" : "lg", c: "dimmed", maw: 720, ta: textAlign, children: description }) : null
1898
1970
  ] }),
1899
- renderedActions.length ? /* @__PURE__ */ jsx30(Box9, { className: classNames?.actions, children: /* @__PURE__ */ jsx30(
1971
+ renderedActions.length ? /* @__PURE__ */ jsx34(Box10, { className: classNames?.actions, children: /* @__PURE__ */ jsx34(
1900
1972
  CtaButtonGroup,
1901
1973
  {
1902
1974
  primary: renderedActions[0],
@@ -1904,8 +1976,8 @@ function EditorialHero({
1904
1976
  tertiary: renderedActions[2]
1905
1977
  }
1906
1978
  ) }) : null,
1907
- meta.length ? /* @__PURE__ */ jsx30(Group23, { gap: "sm", wrap: "wrap", "aria-label": "Supporting details", className: classNames?.meta, children: meta.map((item) => /* @__PURE__ */ jsxs25(
1908
- Group23,
1979
+ meta.length ? /* @__PURE__ */ jsx34(Group25, { gap: "sm", wrap: "wrap", "aria-label": "Supporting details", className: classNames?.meta, children: meta.map((item) => /* @__PURE__ */ jsxs28(
1980
+ Group25,
1909
1981
  {
1910
1982
  gap: 6,
1911
1983
  px: "sm",
@@ -1916,17 +1988,17 @@ function EditorialHero({
1916
1988
  },
1917
1989
  children: [
1918
1990
  item.icon,
1919
- /* @__PURE__ */ jsx30(Text21, { size: "sm", c: "dimmed", children: item.label })
1991
+ /* @__PURE__ */ jsx34(Text24, { size: "sm", c: "dimmed", children: item.label })
1920
1992
  ]
1921
1993
  },
1922
1994
  item.id
1923
1995
  )) }) : null
1924
1996
  ] });
1925
- const mediaSlot = error ? /* @__PURE__ */ jsx30(AccentPanel, { tone: "red", variant: "soft-outline", title: "Media unavailable", children: error }) : /* @__PURE__ */ jsx30(MediaFrame, { media, mediaAlt, mediaFade, className: classNames?.media });
1926
- const textCol = /* @__PURE__ */ jsx30(Grid2.Col, { span: { base: 12, md: 6 }, order: { base: 1, md: mediaPosition === "left" ? 2 : 1 }, children: textSlot });
1927
- const mediaCol = /* @__PURE__ */ jsx30(Grid2.Col, { span: { base: 12, md: 6 }, order: { base: 2, md: mediaPosition === "left" ? 1 : 2 }, children: mediaSlot });
1928
- return /* @__PURE__ */ jsx30(
1929
- Paper6,
1997
+ const mediaSlot = error ? /* @__PURE__ */ jsx34(AccentPanel, { tone: "red", variant: "soft-outline", title: "Media unavailable", children: error }) : /* @__PURE__ */ jsx34(MediaFrame, { media, mediaAlt, mediaFade, className: classNames?.media });
1998
+ const textCol = /* @__PURE__ */ jsx34(Grid2.Col, { span: { base: 12, md: 6 }, order: { base: 1, md: mediaPosition === "left" ? 2 : 1 }, children: textSlot });
1999
+ const mediaCol = /* @__PURE__ */ jsx34(Grid2.Col, { span: { base: 12, md: 6 }, order: { base: 2, md: mediaPosition === "left" ? 1 : 2 }, children: mediaSlot });
2000
+ return /* @__PURE__ */ jsx34(
2001
+ Paper7,
1930
2002
  {
1931
2003
  component: "section",
1932
2004
  withBorder: true,
@@ -1934,7 +2006,7 @@ function EditorialHero({
1934
2006
  p: compact ? "lg" : "xl",
1935
2007
  className: classNames?.root,
1936
2008
  style: surfaceVariant === "flat-public" ? { boxShadow: "none" } : void 0,
1937
- children: /* @__PURE__ */ jsxs25(Grid2, { gutter: compact ? "lg" : "xl", align: "center", children: [
2009
+ children: /* @__PURE__ */ jsxs28(Grid2, { gutter: compact ? "lg" : "xl", align: "center", children: [
1938
2010
  textCol,
1939
2011
  mediaCol
1940
2012
  ] })
@@ -1943,19 +2015,19 @@ function EditorialHero({
1943
2015
  }
1944
2016
 
1945
2017
  // src/FeatureBand.tsx
1946
- import { Box as Box10, Group as Group24, Paper as Paper7, SimpleGrid as SimpleGrid5, Skeleton as Skeleton4, Stack as Stack26, Text as Text22, ThemeIcon as ThemeIcon9, Title as Title19 } from "@mantine/core";
1947
- import { Fragment as Fragment5, jsx as jsx31, jsxs as jsxs26 } from "react/jsx-runtime";
2018
+ import { Box as Box11, Group as Group26, Paper as Paper8, SimpleGrid as SimpleGrid6, Skeleton as Skeleton4, Stack as Stack29, Text as Text25, ThemeIcon as ThemeIcon9, Title as Title20 } from "@mantine/core";
2019
+ import { Fragment as Fragment5, jsx as jsx35, jsxs as jsxs29 } from "react/jsx-runtime";
1948
2020
  function FeatureBandSkeleton({
1949
2021
  columns = 3,
1950
2022
  bordered = true,
1951
2023
  variant = "default"
1952
2024
  }) {
1953
- return /* @__PURE__ */ jsx31(SimpleGrid5, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ jsx31(Paper7, { withBorder: bordered, radius: "lg", p: variant === "compact" ? "md" : "lg", children: /* @__PURE__ */ jsxs26(Stack26, { gap: "md", children: [
1954
- /* @__PURE__ */ jsx31(Skeleton4, { height: variant === "process" ? 28 : 42, width: variant === "process" ? 72 : 42, radius: "xl" }),
1955
- /* @__PURE__ */ jsxs26(Stack26, { gap: "xs", children: [
1956
- /* @__PURE__ */ jsx31(Skeleton4, { height: 20, width: "75%", radius: "md" }),
1957
- /* @__PURE__ */ jsx31(Skeleton4, { height: 14, width: "100%", radius: "md" }),
1958
- /* @__PURE__ */ jsx31(Skeleton4, { height: 14, width: "82%", radius: "md" })
2025
+ return /* @__PURE__ */ jsx35(SimpleGrid6, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ jsx35(Paper8, { withBorder: bordered, radius: "lg", p: variant === "compact" ? "md" : "lg", children: /* @__PURE__ */ jsxs29(Stack29, { gap: "md", children: [
2026
+ /* @__PURE__ */ jsx35(Skeleton4, { height: variant === "process" ? 28 : 42, width: variant === "process" ? 72 : 42, radius: "xl" }),
2027
+ /* @__PURE__ */ jsxs29(Stack29, { gap: "xs", children: [
2028
+ /* @__PURE__ */ jsx35(Skeleton4, { height: 20, width: "75%", radius: "md" }),
2029
+ /* @__PURE__ */ jsx35(Skeleton4, { height: 14, width: "100%", radius: "md" }),
2030
+ /* @__PURE__ */ jsx35(Skeleton4, { height: 14, width: "82%", radius: "md" })
1959
2031
  ] })
1960
2032
  ] }) }, index)) });
1961
2033
  }
@@ -1968,10 +2040,10 @@ function FeatureBand({
1968
2040
  variant = "default"
1969
2041
  }) {
1970
2042
  if (loading) {
1971
- return /* @__PURE__ */ jsx31(FeatureBandSkeleton, { columns, bordered, variant });
2043
+ return /* @__PURE__ */ jsx35(FeatureBandSkeleton, { columns, bordered, variant });
1972
2044
  }
1973
2045
  if (!items.length) {
1974
- return emptyState ? /* @__PURE__ */ jsx31(Fragment5, { children: emptyState }) : /* @__PURE__ */ jsx31(
2046
+ return emptyState ? /* @__PURE__ */ jsx35(Fragment5, { children: emptyState }) : /* @__PURE__ */ jsx35(
1975
2047
  EmptyState,
1976
2048
  {
1977
2049
  title: "No supporting details available",
@@ -1979,9 +2051,9 @@ function FeatureBand({
1979
2051
  }
1980
2052
  );
1981
2053
  }
1982
- return /* @__PURE__ */ jsx31(Box10, { component: "section", "aria-label": "Supporting features", children: /* @__PURE__ */ jsx31(SimpleGrid5, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children: items.map((item, index) => /* @__PURE__ */ jsx31(Paper7, { withBorder: bordered, radius: "lg", p: variant === "compact" ? "md" : "lg", children: /* @__PURE__ */ jsxs26(Stack26, { gap: "md", children: [
1983
- variant === "process" ? /* @__PURE__ */ jsx31(Group24, { children: /* @__PURE__ */ jsx31(
1984
- Text22,
2054
+ return /* @__PURE__ */ jsx35(Box11, { component: "section", "aria-label": "Supporting features", children: /* @__PURE__ */ jsx35(SimpleGrid6, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children: items.map((item, index) => /* @__PURE__ */ jsx35(Paper8, { withBorder: bordered, radius: "lg", p: variant === "compact" ? "md" : "lg", children: /* @__PURE__ */ jsxs29(Stack29, { gap: "md", children: [
2055
+ variant === "process" ? /* @__PURE__ */ jsx35(Group26, { children: /* @__PURE__ */ jsx35(
2056
+ Text25,
1985
2057
  {
1986
2058
  fw: 800,
1987
2059
  size: "sm",
@@ -1993,18 +2065,18 @@ function FeatureBand({
1993
2065
  },
1994
2066
  children: item.stepLabel ?? `Step ${index + 1}`
1995
2067
  }
1996
- ) }) : item.media ? item.media : item.icon ? /* @__PURE__ */ jsx31(Group24, { children: /* @__PURE__ */ jsx31(ThemeIcon9, { size: "xl", radius: "xl", variant: "light", color: "violet", children: item.icon }) }) : /* @__PURE__ */ jsx31(Group24, { children: /* @__PURE__ */ jsx31(ThemeIcon9, { size: "xl", radius: "xl", variant: "light", color: "gray", "aria-hidden": true, children: /* @__PURE__ */ jsx31(GdsIcons.Info, { size: "1.25rem" }) }) }),
1997
- /* @__PURE__ */ jsxs26(Stack26, { gap: "xs", children: [
1998
- /* @__PURE__ */ jsx31(Title19, { order: 4, children: item.title }),
1999
- item.description ? /* @__PURE__ */ jsx31(Text22, { c: "dimmed", children: item.description }) : null,
2000
- item.meta ? /* @__PURE__ */ jsx31(Text22, { size: "sm", c: "dimmed", children: item.meta }) : null
2068
+ ) }) : item.media ? item.media : item.icon ? /* @__PURE__ */ jsx35(Group26, { children: /* @__PURE__ */ jsx35(ThemeIcon9, { size: "xl", radius: "xl", variant: "light", color: "violet", children: item.icon }) }) : /* @__PURE__ */ jsx35(Group26, { children: /* @__PURE__ */ jsx35(ThemeIcon9, { size: "xl", radius: "xl", variant: "light", color: "gray", "aria-hidden": true, children: /* @__PURE__ */ jsx35(GdsIcons.Info, { size: "1.25rem" }) }) }),
2069
+ /* @__PURE__ */ jsxs29(Stack29, { gap: "xs", children: [
2070
+ /* @__PURE__ */ jsx35(Title20, { order: 4, children: item.title }),
2071
+ item.description ? /* @__PURE__ */ jsx35(Text25, { c: "dimmed", children: item.description }) : null,
2072
+ item.meta ? /* @__PURE__ */ jsx35(Text25, { size: "sm", c: "dimmed", children: item.meta }) : null
2001
2073
  ] })
2002
2074
  ] }) }, item.id)) }) });
2003
2075
  }
2004
2076
 
2005
2077
  // src/MapPanel.tsx
2006
- import { AspectRatio as AspectRatio6, Box as Box11, Group as Group25, Paper as Paper8, Stack as Stack27, Text as Text23, Title as Title20 } from "@mantine/core";
2007
- import { jsx as jsx32, jsxs as jsxs27 } from "react/jsx-runtime";
2078
+ import { AspectRatio as AspectRatio6, Box as Box12, Group as Group27, Paper as Paper9, Stack as Stack30, Text as Text26, Title as Title21 } from "@mantine/core";
2079
+ import { jsx as jsx36, jsxs as jsxs30 } from "react/jsx-runtime";
2008
2080
  function MapPanel({
2009
2081
  title,
2010
2082
  description,
@@ -2020,7 +2092,7 @@ function MapPanel({
2020
2092
  }) {
2021
2093
  let body;
2022
2094
  if (loading) {
2023
- body = /* @__PURE__ */ jsx32(
2095
+ body = /* @__PURE__ */ jsx36(
2024
2096
  StateBlock,
2025
2097
  {
2026
2098
  variant: "loading",
@@ -2030,9 +2102,9 @@ function MapPanel({
2030
2102
  }
2031
2103
  );
2032
2104
  } else if (error) {
2033
- body = /* @__PURE__ */ jsx32(StateBlock, { variant: "error", title: "Map unavailable", description: error, compact: true });
2105
+ body = /* @__PURE__ */ jsx36(StateBlock, { variant: "error", title: "Map unavailable", description: error, compact: true });
2034
2106
  } else if (!iframeSrc && !renderMap) {
2035
- body = /* @__PURE__ */ jsx32(
2107
+ body = /* @__PURE__ */ jsx36(
2036
2108
  StateBlock,
2037
2109
  {
2038
2110
  variant: "empty",
@@ -2042,9 +2114,9 @@ function MapPanel({
2042
2114
  }
2043
2115
  );
2044
2116
  } else if (renderMap) {
2045
- body = /* @__PURE__ */ jsx32(Box11, { style: { minHeight }, children: renderMap() });
2117
+ body = /* @__PURE__ */ jsx36(Box12, { style: { minHeight }, children: renderMap() });
2046
2118
  } else {
2047
- body = /* @__PURE__ */ jsx32(AspectRatio6, { ratio: 16 / 9, children: /* @__PURE__ */ jsx32(
2119
+ body = /* @__PURE__ */ jsx36(AspectRatio6, { ratio: 16 / 9, children: /* @__PURE__ */ jsx36(
2048
2120
  "iframe",
2049
2121
  {
2050
2122
  src: iframeSrc,
@@ -2056,21 +2128,21 @@ function MapPanel({
2056
2128
  }
2057
2129
  ) });
2058
2130
  }
2059
- return /* @__PURE__ */ jsx32(Paper8, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ jsxs27(Stack27, { gap: "md", children: [
2060
- /* @__PURE__ */ jsxs27(Group25, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
2061
- /* @__PURE__ */ jsxs27(Stack27, { gap: 4, children: [
2062
- /* @__PURE__ */ jsx32(Title20, { order: 3, children: title }),
2063
- description ? /* @__PURE__ */ jsx32(Text23, { size: "sm", c: "dimmed", children: description }) : null
2131
+ return /* @__PURE__ */ jsx36(Paper9, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ jsxs30(Stack30, { gap: "md", children: [
2132
+ /* @__PURE__ */ jsxs30(Group27, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
2133
+ /* @__PURE__ */ jsxs30(Stack30, { gap: 4, children: [
2134
+ /* @__PURE__ */ jsx36(Title21, { order: 3, children: title }),
2135
+ description ? /* @__PURE__ */ jsx36(Text26, { size: "sm", c: "dimmed", children: description }) : null
2064
2136
  ] }),
2065
- actions ? /* @__PURE__ */ jsx32(ActionBar, { ...actions }) : null
2137
+ actions ? /* @__PURE__ */ jsx36(ActionBar, { ...actions }) : null
2066
2138
  ] }),
2067
2139
  body
2068
2140
  ] }) });
2069
2141
  }
2070
2142
 
2071
2143
  // src/PublicFlowShell.tsx
2072
- import { Badge as Badge12, Group as Group26, Paper as Paper9, Stack as Stack28, Text as Text24, Title as Title21 } from "@mantine/core";
2073
- import { jsx as jsx33, jsxs as jsxs28 } from "react/jsx-runtime";
2144
+ import { Badge as Badge13, Group as Group28, Paper as Paper10, Stack as Stack31, Text as Text27, Title as Title22 } from "@mantine/core";
2145
+ import { jsx as jsx37, jsxs as jsxs31 } from "react/jsx-runtime";
2074
2146
  var stageTone = {
2075
2147
  idle: { label: "Idle", color: "gray" },
2076
2148
  loading: { label: "Loading", color: "blue" },
@@ -2122,7 +2194,7 @@ function PublicFlowShell({
2122
2194
  const actionBar = toActionBar(stage.actions);
2123
2195
  let body = stage.body;
2124
2196
  if (stage.status === "loading") {
2125
- body = /* @__PURE__ */ jsx33(
2197
+ body = /* @__PURE__ */ jsx37(
2126
2198
  StateBlock,
2127
2199
  {
2128
2200
  variant: "loading",
@@ -2131,7 +2203,7 @@ function PublicFlowShell({
2131
2203
  }
2132
2204
  );
2133
2205
  } else if (stage.status === "error") {
2134
- body = errorState ?? /* @__PURE__ */ jsx33(
2206
+ body = errorState ?? /* @__PURE__ */ jsx37(
2135
2207
  StateBlock,
2136
2208
  {
2137
2209
  variant: "error",
@@ -2140,7 +2212,7 @@ function PublicFlowShell({
2140
2212
  }
2141
2213
  );
2142
2214
  } else if (!stage.body && !hardwareSurface) {
2143
- body = emptyState ?? /* @__PURE__ */ jsx33(
2215
+ body = emptyState ?? /* @__PURE__ */ jsx37(
2144
2216
  EmptyState,
2145
2217
  {
2146
2218
  title: "No stage content available",
@@ -2148,29 +2220,29 @@ function PublicFlowShell({
2148
2220
  }
2149
2221
  );
2150
2222
  }
2151
- return /* @__PURE__ */ jsx33(Paper9, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ jsxs28(Stack28, { gap: "lg", children: [
2152
- /* @__PURE__ */ jsxs28(Group26, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
2153
- /* @__PURE__ */ jsxs28(Stack28, { gap: 4, children: [
2154
- eyebrow ? /* @__PURE__ */ jsx33(Text24, { size: "xs", fw: 700, c: "dimmed", tt: "uppercase", children: eyebrow }) : null,
2155
- /* @__PURE__ */ jsxs28(Group26, { gap: "sm", wrap: "wrap", children: [
2156
- /* @__PURE__ */ jsx33(Title21, { order: 2, children: stage.title }),
2157
- /* @__PURE__ */ jsx33(Badge12, { variant: "light", color: tone.color, children: tone.label })
2223
+ return /* @__PURE__ */ jsx37(Paper10, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ jsxs31(Stack31, { gap: "lg", children: [
2224
+ /* @__PURE__ */ jsxs31(Group28, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
2225
+ /* @__PURE__ */ jsxs31(Stack31, { gap: 4, children: [
2226
+ eyebrow ? /* @__PURE__ */ jsx37(Text27, { size: "xs", fw: 700, c: "dimmed", tt: "uppercase", children: eyebrow }) : null,
2227
+ /* @__PURE__ */ jsxs31(Group28, { gap: "sm", wrap: "wrap", children: [
2228
+ /* @__PURE__ */ jsx37(Title22, { order: 2, children: stage.title }),
2229
+ /* @__PURE__ */ jsx37(Badge13, { variant: "light", color: tone.color, children: tone.label })
2158
2230
  ] }),
2159
- stage.description ? /* @__PURE__ */ jsx33(Text24, { size: "sm", c: "dimmed", children: stage.description }) : null
2231
+ stage.description ? /* @__PURE__ */ jsx37(Text27, { size: "sm", c: "dimmed", children: stage.description }) : null
2160
2232
  ] }),
2161
2233
  exitAction
2162
2234
  ] }),
2163
- stage.notice ? /* @__PURE__ */ jsx33(Text24, { size: "sm", c: "dimmed", children: stage.notice }) : null,
2235
+ stage.notice ? /* @__PURE__ */ jsx37(Text27, { size: "sm", c: "dimmed", children: stage.notice }) : null,
2164
2236
  body,
2165
2237
  hardwareSurface,
2166
2238
  stage.aside,
2167
- actionBar ? /* @__PURE__ */ jsx33(ActionBar, { ...actionBar }) : null
2239
+ actionBar ? /* @__PURE__ */ jsx37(ActionBar, { ...actionBar }) : null
2168
2240
  ] }) });
2169
2241
  }
2170
2242
 
2171
2243
  // src/PlaybackSurface.tsx
2172
- import { Badge as Badge13, Group as Group27, Paper as Paper10, Stack as Stack29, Text as Text25, Title as Title22 } from "@mantine/core";
2173
- import { jsx as jsx34, jsxs as jsxs29 } from "react/jsx-runtime";
2244
+ import { Badge as Badge14, Group as Group29, Paper as Paper11, Stack as Stack32, Text as Text28, Title as Title23 } from "@mantine/core";
2245
+ import { jsx as jsx38, jsxs as jsxs32 } from "react/jsx-runtime";
2174
2246
  var stateTone = {
2175
2247
  loading: { label: "Loading", color: "blue" },
2176
2248
  ready: { label: "Ready", color: "teal" },
@@ -2193,7 +2265,7 @@ function PlaybackSurface({
2193
2265
  const tone = stateTone[state];
2194
2266
  let content;
2195
2267
  if (state === "loading") {
2196
- content = /* @__PURE__ */ jsx34(
2268
+ content = /* @__PURE__ */ jsx38(
2197
2269
  StateBlock,
2198
2270
  {
2199
2271
  variant: "loading",
@@ -2202,7 +2274,7 @@ function PlaybackSurface({
2202
2274
  }
2203
2275
  );
2204
2276
  } else if (state === "empty") {
2205
- content = emptyState ?? /* @__PURE__ */ jsx34(
2277
+ content = emptyState ?? /* @__PURE__ */ jsx38(
2206
2278
  EmptyState,
2207
2279
  {
2208
2280
  title: "No playback content available",
@@ -2210,7 +2282,7 @@ function PlaybackSurface({
2210
2282
  }
2211
2283
  );
2212
2284
  } else if (state === "error") {
2213
- content = errorState ?? /* @__PURE__ */ jsx34(
2285
+ content = errorState ?? /* @__PURE__ */ jsx38(
2214
2286
  StateBlock,
2215
2287
  {
2216
2288
  variant: "error",
@@ -2219,23 +2291,23 @@ function PlaybackSurface({
2219
2291
  }
2220
2292
  );
2221
2293
  } else {
2222
- content = /* @__PURE__ */ jsxs29(Stack29, { gap: "md", children: [
2294
+ content = /* @__PURE__ */ jsxs32(Stack32, { gap: "md", children: [
2223
2295
  media,
2224
2296
  overlays
2225
2297
  ] });
2226
2298
  }
2227
- return /* @__PURE__ */ jsx34(Paper10, { withBorder: true, radius: "xl", p: "lg", "data-playback-mode": mode, children: /* @__PURE__ */ jsxs29(Stack29, { gap: "md", children: [
2228
- title || statusMessage || controls ? /* @__PURE__ */ jsxs29(Group27, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
2229
- /* @__PURE__ */ jsxs29(Stack29, { gap: 4, children: [
2230
- title ? /* @__PURE__ */ jsx34(Title22, { order: 3, children: title }) : null,
2231
- statusMessage ? /* @__PURE__ */ jsx34(Text25, { size: "sm", c: "dimmed", children: statusMessage }) : null
2299
+ return /* @__PURE__ */ jsx38(Paper11, { withBorder: true, radius: "xl", p: "lg", "data-playback-mode": mode, children: /* @__PURE__ */ jsxs32(Stack32, { gap: "md", children: [
2300
+ title || statusMessage || controls ? /* @__PURE__ */ jsxs32(Group29, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
2301
+ /* @__PURE__ */ jsxs32(Stack32, { gap: 4, children: [
2302
+ title ? /* @__PURE__ */ jsx38(Title23, { order: 3, children: title }) : null,
2303
+ statusMessage ? /* @__PURE__ */ jsx38(Text28, { size: "sm", c: "dimmed", children: statusMessage }) : null
2232
2304
  ] }),
2233
- /* @__PURE__ */ jsxs29(Group27, { gap: "sm", align: "center", wrap: "wrap", children: [
2234
- /* @__PURE__ */ jsx34(Badge13, { variant: "light", color: tone.color, children: tone.label }),
2305
+ /* @__PURE__ */ jsxs32(Group29, { gap: "sm", align: "center", wrap: "wrap", children: [
2306
+ /* @__PURE__ */ jsx38(Badge14, { variant: "light", color: tone.color, children: tone.label }),
2235
2307
  controls
2236
2308
  ] })
2237
2309
  ] }) : null,
2238
- state === "degraded" ? /* @__PURE__ */ jsx34(
2310
+ state === "degraded" ? /* @__PURE__ */ jsx38(
2239
2311
  StateBlock,
2240
2312
  {
2241
2313
  variant: "info",
@@ -2248,21 +2320,9 @@ function PlaybackSurface({
2248
2320
  ] }) });
2249
2321
  }
2250
2322
 
2251
- // src/FormField.tsx
2252
- import { Box as Box12, Stack as Stack30, Text as Text26 } from "@mantine/core";
2253
- import { jsx as jsx35, jsxs as jsxs30 } from "react/jsx-runtime";
2254
- function FormField({ label, description, error, children }) {
2255
- return /* @__PURE__ */ jsx35(Box12, { component: "label", children: /* @__PURE__ */ jsxs30(Stack30, { gap: 4, children: [
2256
- typeof label === "string" ? /* @__PURE__ */ jsx35(Text26, { size: "xs", fw: 600, c: "dimmed", children: label }) : label,
2257
- description ? typeof description === "string" ? /* @__PURE__ */ jsx35(Text26, { size: "xs", c: "dimmed", children: description }) : description : null,
2258
- children,
2259
- error ? typeof error === "string" ? /* @__PURE__ */ jsx35(Text26, { size: "xs", c: "red.7", children: error }) : error : null
2260
- ] }) });
2261
- }
2262
-
2263
2323
  // src/MediaField.tsx
2264
- import { Badge as Badge14, Button as Button4, Divider as Divider6, Group as Group28, Paper as Paper11, Stack as Stack31, Text as Text27 } from "@mantine/core";
2265
- import { Fragment as Fragment6, jsx as jsx36, jsxs as jsxs31 } from "react/jsx-runtime";
2324
+ import { Badge as Badge15, Button as Button4, Divider as Divider6, Group as Group30, Paper as Paper12, Stack as Stack33, Text as Text29 } from "@mantine/core";
2325
+ import { Fragment as Fragment6, jsx as jsx39, jsxs as jsxs33 } from "react/jsx-runtime";
2266
2326
  var stateLabels = {
2267
2327
  empty: { label: "Empty", color: "gray" },
2268
2328
  selected: { label: "Selected", color: "blue" },
@@ -2290,32 +2350,32 @@ function MediaField({
2290
2350
  mode = "stacked"
2291
2351
  }) {
2292
2352
  const stateBadge = stateLabels[state];
2293
- const resolvedRemoveAction = removeAction ?? (onRemove ? /* @__PURE__ */ jsx36(Button4, { type: "button", variant: "light", color: "red", onClick: onRemove, children: "Remove" }) : null);
2294
- const resolvedResetAction = resetAction ?? (onReset ? /* @__PURE__ */ jsx36(Button4, { type: "button", variant: "default", onClick: onReset, children: "Reset" }) : null);
2295
- return /* @__PURE__ */ jsx36(
2353
+ const resolvedRemoveAction = removeAction ?? (onRemove ? /* @__PURE__ */ jsx39(Button4, { type: "button", variant: "light", color: "red", onClick: onRemove, children: "Remove" }) : null);
2354
+ const resolvedResetAction = resetAction ?? (onReset ? /* @__PURE__ */ jsx39(Button4, { type: "button", variant: "default", onClick: onReset, children: "Reset" }) : null);
2355
+ return /* @__PURE__ */ jsx39(
2296
2356
  FormField,
2297
2357
  {
2298
2358
  label,
2299
2359
  description,
2300
2360
  error,
2301
- children: /* @__PURE__ */ jsx36(Paper11, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ jsxs31(Stack31, { gap: "md", children: [
2302
- /* @__PURE__ */ jsx36(Group28, { justify: "flex-end", align: "center", gap: "sm", children: /* @__PURE__ */ jsxs31(Group28, { gap: "xs", justify: "flex-end", children: [
2303
- /* @__PURE__ */ jsx36(Badge14, { variant: "light", color: stateBadge.color, children: stateBadge.label }),
2361
+ children: /* @__PURE__ */ jsx39(Paper12, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ jsxs33(Stack33, { gap: "md", children: [
2362
+ /* @__PURE__ */ jsx39(Group30, { justify: "flex-end", align: "center", gap: "sm", children: /* @__PURE__ */ jsxs33(Group30, { gap: "xs", justify: "flex-end", children: [
2363
+ /* @__PURE__ */ jsx39(Badge15, { variant: "light", color: stateBadge.color, children: stateBadge.label }),
2304
2364
  statusAction
2305
2365
  ] }) }),
2306
2366
  preview ? preview : null,
2307
- uploadControl || urlInput ? /* @__PURE__ */ jsxs31(Fragment6, { children: [
2308
- /* @__PURE__ */ jsx36(Divider6, {}),
2309
- /* @__PURE__ */ jsxs31(Stack31, { gap: "sm", style: mode === "split" ? { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(220px, 1fr))" } : void 0, children: [
2367
+ uploadControl || urlInput ? /* @__PURE__ */ jsxs33(Fragment6, { children: [
2368
+ /* @__PURE__ */ jsx39(Divider6, {}),
2369
+ /* @__PURE__ */ jsxs33(Stack33, { gap: "sm", style: mode === "split" ? { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(220px, 1fr))" } : void 0, children: [
2310
2370
  uploadControl,
2311
2371
  urlInput
2312
2372
  ] })
2313
2373
  ] }) : null,
2314
- value ? /* @__PURE__ */ jsx36(Text27, { size: "sm", c: "dimmed", style: { wordBreak: "break-all" }, children: value }) : null,
2315
- helpText ? /* @__PURE__ */ jsx36(Text27, { size: "sm", c: "dimmed", children: helpText }) : null,
2316
- policyText ? /* @__PURE__ */ jsx36(Text27, { size: "sm", c: error ? "red.7" : "dimmed", children: policyText }) : null,
2374
+ value ? /* @__PURE__ */ jsx39(Text29, { size: "sm", c: "dimmed", style: { wordBreak: "break-all" }, children: value }) : null,
2375
+ helpText ? /* @__PURE__ */ jsx39(Text29, { size: "sm", c: "dimmed", children: helpText }) : null,
2376
+ policyText ? /* @__PURE__ */ jsx39(Text29, { size: "sm", c: error ? "red.7" : "dimmed", children: policyText }) : null,
2317
2377
  typeof error !== "string" && error ? error : null,
2318
- resolvedRemoveAction || resolvedResetAction ? /* @__PURE__ */ jsxs31(Group28, { gap: "sm", children: [
2378
+ resolvedRemoveAction || resolvedResetAction ? /* @__PURE__ */ jsxs33(Group30, { gap: "sm", children: [
2319
2379
  resolvedResetAction,
2320
2380
  retryAction,
2321
2381
  resolvedRemoveAction
@@ -2326,49 +2386,49 @@ function MediaField({
2326
2386
  }
2327
2387
 
2328
2388
  // src/MediaCard.tsx
2329
- import { ActionIcon as ActionIcon4, Badge as Badge15, Card as Card9, Group as Group29, Stack as Stack32, Text as Text28, Title as Title23 } from "@mantine/core";
2330
- import { jsx as jsx37, jsxs as jsxs32 } from "react/jsx-runtime";
2389
+ import { ActionIcon as ActionIcon4, Badge as Badge16, Card as Card9, Group as Group31, Stack as Stack34, Text as Text30, Title as Title24 } from "@mantine/core";
2390
+ import { jsx as jsx40, jsxs as jsxs34 } from "react/jsx-runtime";
2331
2391
  function MediaCard({ title, image, description, status, overlay, actions = [] }) {
2332
2392
  const EyeIcon = GdsIcons.Eye;
2333
- return /* @__PURE__ */ jsxs32(Card9, { withBorder: true, radius: "lg", padding: "md", children: [
2334
- /* @__PURE__ */ jsxs32(Card9.Section, { pos: "relative", children: [
2393
+ return /* @__PURE__ */ jsxs34(Card9, { withBorder: true, radius: "lg", padding: "md", children: [
2394
+ /* @__PURE__ */ jsxs34(Card9.Section, { pos: "relative", children: [
2335
2395
  image,
2336
- overlay ? /* @__PURE__ */ jsx37("div", { style: { position: "absolute", inset: 12, display: "flex", justifyContent: "flex-end", alignItems: "flex-start" }, children: overlay }) : null
2396
+ overlay ? /* @__PURE__ */ jsx40("div", { style: { position: "absolute", inset: 12, display: "flex", justifyContent: "flex-end", alignItems: "flex-start" }, children: overlay }) : null
2337
2397
  ] }),
2338
- /* @__PURE__ */ jsxs32(Stack32, { gap: "sm", mt: "md", children: [
2339
- /* @__PURE__ */ jsxs32(Group29, { justify: "space-between", align: "flex-start", children: [
2340
- /* @__PURE__ */ jsxs32(Stack32, { gap: 4, children: [
2341
- /* @__PURE__ */ jsx37(Title23, { order: 4, children: title }),
2342
- description ? /* @__PURE__ */ jsx37(Text28, { size: "sm", c: "dimmed", lineClamp: 2, children: description }) : null
2398
+ /* @__PURE__ */ jsxs34(Stack34, { gap: "sm", mt: "md", children: [
2399
+ /* @__PURE__ */ jsxs34(Group31, { justify: "space-between", align: "flex-start", children: [
2400
+ /* @__PURE__ */ jsxs34(Stack34, { gap: 4, children: [
2401
+ /* @__PURE__ */ jsx40(Title24, { order: 4, children: title }),
2402
+ description ? /* @__PURE__ */ jsx40(Text30, { size: "sm", c: "dimmed", lineClamp: 2, children: description }) : null
2343
2403
  ] }),
2344
- status ? /* @__PURE__ */ jsx37(Badge15, { variant: "light", children: status }) : null
2404
+ status ? /* @__PURE__ */ jsx40(Badge16, { variant: "light", children: status }) : null
2345
2405
  ] }),
2346
- actions.length ? /* @__PURE__ */ jsx37(Group29, { justify: "flex-end", gap: "xs", children: actions.map((action) => /* @__PURE__ */ jsx37(ActionIcon4, { variant: "light", "aria-label": action.label, onClick: action.onClick, children: /* @__PURE__ */ jsx37(EyeIcon, { size: "1rem" }) }, action.label)) }) : null
2406
+ actions.length ? /* @__PURE__ */ jsx40(Group31, { justify: "flex-end", gap: "xs", children: actions.map((action) => /* @__PURE__ */ jsx40(ActionIcon4, { variant: "light", "aria-label": action.label, onClick: action.onClick, children: /* @__PURE__ */ jsx40(EyeIcon, { size: "1rem" }) }, action.label)) }) : null
2347
2407
  ] })
2348
2408
  ] });
2349
2409
  }
2350
2410
 
2351
2411
  // src/AccessSummary.tsx
2352
- import { Badge as Badge16, Card as Card10, Group as Group30, Stack as Stack33, Text as Text29, Title as Title24 } from "@mantine/core";
2353
- import { jsx as jsx38, jsxs as jsxs33 } from "react/jsx-runtime";
2412
+ import { Badge as Badge17, Card as Card10, Group as Group32, Stack as Stack35, Text as Text31, Title as Title25 } from "@mantine/core";
2413
+ import { jsx as jsx41, jsxs as jsxs35 } from "react/jsx-runtime";
2354
2414
  function AccessSummary({ title, roles, scope, blocked = false, description }) {
2355
- return /* @__PURE__ */ jsx38(Card10, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ jsxs33(Stack33, { gap: "sm", children: [
2356
- /* @__PURE__ */ jsxs33(Group30, { justify: "space-between", align: "center", children: [
2357
- /* @__PURE__ */ jsx38(Title24, { order: 4, children: title }),
2358
- /* @__PURE__ */ jsx38(Badge16, { color: blocked ? "red" : "teal", variant: "light", children: blocked ? "Blocked" : "Allowed" })
2415
+ return /* @__PURE__ */ jsx41(Card10, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ jsxs35(Stack35, { gap: "sm", children: [
2416
+ /* @__PURE__ */ jsxs35(Group32, { justify: "space-between", align: "center", children: [
2417
+ /* @__PURE__ */ jsx41(Title25, { order: 4, children: title }),
2418
+ /* @__PURE__ */ jsx41(Badge17, { color: blocked ? "red" : "teal", variant: "light", children: blocked ? "Blocked" : "Allowed" })
2359
2419
  ] }),
2360
- /* @__PURE__ */ jsx38(Group30, { gap: "xs", children: roles.map((role) => /* @__PURE__ */ jsx38(Badge16, { variant: "outline", children: role }, role)) }),
2361
- scope ? /* @__PURE__ */ jsxs33(Text29, { size: "sm", c: "dimmed", children: [
2420
+ /* @__PURE__ */ jsx41(Group32, { gap: "xs", children: roles.map((role) => /* @__PURE__ */ jsx41(Badge17, { variant: "outline", children: role }, role)) }),
2421
+ scope ? /* @__PURE__ */ jsxs35(Text31, { size: "sm", c: "dimmed", children: [
2362
2422
  "Scope: ",
2363
2423
  scope
2364
2424
  ] }) : null,
2365
- description ? /* @__PURE__ */ jsx38(Text29, { size: "sm", children: description }) : null
2425
+ description ? /* @__PURE__ */ jsx41(Text31, { size: "sm", children: description }) : null
2366
2426
  ] }) });
2367
2427
  }
2368
2428
 
2369
2429
  // src/PageHeader.tsx
2370
- import { Box as Box13, Group as Group31, Stack as Stack34, Text as Text30, Title as Title25 } from "@mantine/core";
2371
- import { jsx as jsx39, jsxs as jsxs34 } from "react/jsx-runtime";
2430
+ import { Box as Box13, Group as Group33, Stack as Stack36, Text as Text32, Title as Title26 } from "@mantine/core";
2431
+ import { jsx as jsx42, jsxs as jsxs36 } from "react/jsx-runtime";
2372
2432
  function PageHeader({
2373
2433
  title,
2374
2434
  description,
@@ -2379,19 +2439,19 @@ function PageHeader({
2379
2439
  }) {
2380
2440
  const resolvedDescription = description ?? subtitle;
2381
2441
  const eyebrowProps = eyebrowVariant === "ornamental" ? { tt: "uppercase", style: { letterSpacing: "0.12em" } } : {};
2382
- return /* @__PURE__ */ jsxs34(Group31, { justify: "space-between", align: "flex-start", gap: "lg", wrap: "wrap", children: [
2383
- /* @__PURE__ */ jsxs34(Stack34, { gap: "xs", children: [
2384
- eyebrow && /* @__PURE__ */ jsx39(Text30, { size: "xs", fw: 700, c: "dimmed", ...eyebrowProps, children: eyebrow }),
2385
- /* @__PURE__ */ jsx39(Title25, { order: 1, children: title }),
2386
- resolvedDescription && /* @__PURE__ */ jsx39(Text30, { c: "dimmed", maw: 720, children: resolvedDescription })
2442
+ return /* @__PURE__ */ jsxs36(Group33, { justify: "space-between", align: "flex-start", gap: "lg", wrap: "wrap", children: [
2443
+ /* @__PURE__ */ jsxs36(Stack36, { gap: "xs", children: [
2444
+ eyebrow && /* @__PURE__ */ jsx42(Text32, { size: "xs", fw: 700, c: "dimmed", ...eyebrowProps, children: eyebrow }),
2445
+ /* @__PURE__ */ jsx42(Title26, { order: 1, children: title }),
2446
+ resolvedDescription && /* @__PURE__ */ jsx42(Text32, { c: "dimmed", maw: 720, children: resolvedDescription })
2387
2447
  ] }),
2388
- actions ? /* @__PURE__ */ jsx39(Box13, { children: actions }) : null
2448
+ actions ? /* @__PURE__ */ jsx42(Box13, { children: actions }) : null
2389
2449
  ] });
2390
2450
  }
2391
2451
 
2392
2452
  // src/FilterDrawer.tsx
2393
- import { Drawer, Group as Group32, Stack as Stack35, Text as Text31 } from "@mantine/core";
2394
- import { jsx as jsx40, jsxs as jsxs35 } from "react/jsx-runtime";
2453
+ import { Drawer, Group as Group34, Stack as Stack37, Text as Text33 } from "@mantine/core";
2454
+ import { jsx as jsx43, jsxs as jsxs37 } from "react/jsx-runtime";
2395
2455
  function FilterDrawer({
2396
2456
  opened,
2397
2457
  onClose,
@@ -2407,7 +2467,7 @@ function FilterDrawer({
2407
2467
  }) {
2408
2468
  const resolvedPrimaryAction = applyAction ?? primaryAction;
2409
2469
  const resolvedSecondaryAction = resetAction ?? secondaryAction;
2410
- return /* @__PURE__ */ jsx40(
2470
+ return /* @__PURE__ */ jsx43(
2411
2471
  Drawer,
2412
2472
  {
2413
2473
  opened,
@@ -2416,11 +2476,11 @@ function FilterDrawer({
2416
2476
  position: mode === "bottom-sheet" ? "bottom" : "right",
2417
2477
  size: mode === "bottom-sheet" ? "auto" : "md",
2418
2478
  radius: mode === "bottom-sheet" ? "xl" : void 0,
2419
- children: /* @__PURE__ */ jsxs35(Stack35, { gap: "md", children: [
2420
- description ? /* @__PURE__ */ jsx40(Text31, { size: "sm", c: "dimmed", children: description }) : null,
2479
+ children: /* @__PURE__ */ jsxs37(Stack37, { gap: "md", children: [
2480
+ description ? /* @__PURE__ */ jsx43(Text33, { size: "sm", c: "dimmed", children: description }) : null,
2421
2481
  children,
2422
- resolvedPrimaryAction || resolvedSecondaryAction || closeAction ? /* @__PURE__ */ jsxs35(Group32, { justify: "space-between", mt: "md", children: [
2423
- /* @__PURE__ */ jsxs35(Group32, { gap: "sm", children: [
2482
+ resolvedPrimaryAction || resolvedSecondaryAction || closeAction ? /* @__PURE__ */ jsxs37(Group34, { justify: "space-between", mt: "md", children: [
2483
+ /* @__PURE__ */ jsxs37(Group34, { gap: "sm", children: [
2424
2484
  closeAction,
2425
2485
  resolvedSecondaryAction
2426
2486
  ] }),
@@ -2432,8 +2492,8 @@ function FilterDrawer({
2432
2492
  }
2433
2493
 
2434
2494
  // src/PlaceholderPanel.tsx
2435
- import { Badge as Badge17, Card as Card11, Stack as Stack36, Text as Text32, Title as Title26 } from "@mantine/core";
2436
- import { Fragment as Fragment7, jsx as jsx41, jsxs as jsxs36 } from "react/jsx-runtime";
2495
+ import { Badge as Badge18, Card as Card11, Stack as Stack38, Text as Text34, Title as Title27 } from "@mantine/core";
2496
+ import { Fragment as Fragment7, jsx as jsx44, jsxs as jsxs38 } from "react/jsx-runtime";
2437
2497
  function PlaceholderPanel({
2438
2498
  title,
2439
2499
  description,
@@ -2443,16 +2503,16 @@ function PlaceholderPanel({
2443
2503
  mode
2444
2504
  }) {
2445
2505
  if (mode === "live" && children) {
2446
- return /* @__PURE__ */ jsx41(Fragment7, { children });
2506
+ return /* @__PURE__ */ jsx44(Fragment7, { children });
2447
2507
  }
2448
- return /* @__PURE__ */ jsx41(Card11, { children: /* @__PURE__ */ jsxs36(Stack36, { gap: "md", children: [
2449
- badge ? /* @__PURE__ */ jsx41(Badge17, { variant: "light", color: "blue", w: "fit-content", children: badge }) : null,
2450
- /* @__PURE__ */ jsxs36(Stack36, { gap: "xs", children: [
2451
- /* @__PURE__ */ jsx41(Title26, { order: 4, children: title }),
2452
- /* @__PURE__ */ jsx41(Text32, { c: "dimmed", children: description })
2508
+ return /* @__PURE__ */ jsx44(Card11, { children: /* @__PURE__ */ jsxs38(Stack38, { gap: "md", children: [
2509
+ badge ? /* @__PURE__ */ jsx44(Badge18, { variant: "light", color: "blue", w: "fit-content", children: badge }) : null,
2510
+ /* @__PURE__ */ jsxs38(Stack38, { gap: "xs", children: [
2511
+ /* @__PURE__ */ jsx44(Title27, { order: 4, children: title }),
2512
+ /* @__PURE__ */ jsx44(Text34, { c: "dimmed", children: description })
2453
2513
  ] }),
2454
- footer ? /* @__PURE__ */ jsx41(Text32, { size: "sm", children: footer }) : null,
2455
- /* @__PURE__ */ jsx41(
2514
+ footer ? /* @__PURE__ */ jsx44(Text34, { size: "sm", children: footer }) : null,
2515
+ /* @__PURE__ */ jsx44(
2456
2516
  StateBlock,
2457
2517
  {
2458
2518
  variant: "not-enough-data",
@@ -2466,7 +2526,7 @@ function PlaceholderPanel({
2466
2526
 
2467
2527
  // src/SimpleDataTable.tsx
2468
2528
  import { ScrollArea, Table } from "@mantine/core";
2469
- import { jsx as jsx42, jsxs as jsxs37 } from "react/jsx-runtime";
2529
+ import { jsx as jsx45, jsxs as jsxs39 } from "react/jsx-runtime";
2470
2530
  function SimpleDataTable({
2471
2531
  columns,
2472
2532
  rows,
@@ -2477,23 +2537,23 @@ function SimpleDataTable({
2477
2537
  getRowKey
2478
2538
  }) {
2479
2539
  if (error) {
2480
- return /* @__PURE__ */ jsx42(StateBlock, { variant: "error", title: "Unable to load data", description: error, compact: true });
2540
+ return /* @__PURE__ */ jsx45(StateBlock, { variant: "error", title: "Unable to load data", description: error, compact: true });
2481
2541
  }
2482
2542
  if (loading) {
2483
- return /* @__PURE__ */ jsx42(StateBlock, { variant: "loading", title: "Loading data", description: "Please wait while the shared dataset is prepared.", compact: true });
2543
+ return /* @__PURE__ */ jsx45(StateBlock, { variant: "loading", title: "Loading data", description: "Please wait while the shared dataset is prepared.", compact: true });
2484
2544
  }
2485
2545
  if (!rows.length) {
2486
- return /* @__PURE__ */ jsx42(StateBlock, { variant: "empty", title: emptyTitle, description: emptyDescription, compact: true });
2546
+ return /* @__PURE__ */ jsx45(StateBlock, { variant: "empty", title: emptyTitle, description: emptyDescription, compact: true });
2487
2547
  }
2488
- return /* @__PURE__ */ jsx42(ScrollArea, { children: /* @__PURE__ */ jsxs37(Table, { striped: true, highlightOnHover: true, withTableBorder: true, withColumnBorders: true, children: [
2489
- /* @__PURE__ */ jsx42(Table.Thead, { children: /* @__PURE__ */ jsx42(Table.Tr, { children: columns.map((column) => /* @__PURE__ */ jsx42(Table.Th, { children: column.header }, String(column.key))) }) }),
2490
- /* @__PURE__ */ jsx42(Table.Tbody, { children: rows.map((row, index) => /* @__PURE__ */ jsx42(Table.Tr, { children: columns.map((column) => /* @__PURE__ */ jsx42(Table.Td, { children: column.render ? column.render(row) : String(row[column.key] ?? "") }, String(column.key))) }, getRowKey ? getRowKey(row, index) : index)) })
2548
+ return /* @__PURE__ */ jsx45(ScrollArea, { children: /* @__PURE__ */ jsxs39(Table, { striped: true, highlightOnHover: true, withTableBorder: true, withColumnBorders: true, children: [
2549
+ /* @__PURE__ */ jsx45(Table.Thead, { children: /* @__PURE__ */ jsx45(Table.Tr, { children: columns.map((column) => /* @__PURE__ */ jsx45(Table.Th, { children: column.header }, String(column.key))) }) }),
2550
+ /* @__PURE__ */ jsx45(Table.Tbody, { children: rows.map((row, index) => /* @__PURE__ */ jsx45(Table.Tr, { children: columns.map((column) => /* @__PURE__ */ jsx45(Table.Td, { children: column.render ? column.render(row) : String(row[column.key] ?? "") }, String(column.key))) }, getRowKey ? getRowKey(row, index) : index)) })
2491
2551
  ] }) });
2492
2552
  }
2493
2553
 
2494
2554
  // src/StatsSection.tsx
2495
- import { Stack as Stack37, Title as Title27 } from "@mantine/core";
2496
- import { jsx as jsx43, jsxs as jsxs38 } from "react/jsx-runtime";
2555
+ import { Stack as Stack39, Title as Title28 } from "@mantine/core";
2556
+ import { jsx as jsx46, jsxs as jsxs40 } from "react/jsx-runtime";
2497
2557
  function StatsSection({
2498
2558
  title,
2499
2559
  loading = false,
@@ -2505,11 +2565,11 @@ function StatsSection({
2505
2565
  }) {
2506
2566
  let content = children;
2507
2567
  if (error) {
2508
- content = /* @__PURE__ */ jsx43(StateBlock, { variant: "error", title: "Unable to load statistics", description: error, compact: true });
2568
+ content = /* @__PURE__ */ jsx46(StateBlock, { variant: "error", title: "Unable to load statistics", description: error, compact: true });
2509
2569
  } else if (loading) {
2510
- content = /* @__PURE__ */ jsx43(StateBlock, { variant: "loading", title: "Loading statistics", description: "This shared data surface is still synchronizing.", compact: true });
2570
+ content = /* @__PURE__ */ jsx46(StateBlock, { variant: "loading", title: "Loading statistics", description: "This shared data surface is still synchronizing.", compact: true });
2511
2571
  } else if (belowThreshold) {
2512
- content = /* @__PURE__ */ jsx43(
2572
+ content = /* @__PURE__ */ jsx46(
2513
2573
  StateBlock,
2514
2574
  {
2515
2575
  variant: "not-enough-data",
@@ -2519,10 +2579,10 @@ function StatsSection({
2519
2579
  }
2520
2580
  );
2521
2581
  } else if (placeholder) {
2522
- content = /* @__PURE__ */ jsx43(PlaceholderPanel, { ...placeholder, mode: "placeholder" });
2582
+ content = /* @__PURE__ */ jsx46(PlaceholderPanel, { ...placeholder, mode: "placeholder" });
2523
2583
  }
2524
- return /* @__PURE__ */ jsxs38(Stack37, { gap: "md", children: [
2525
- /* @__PURE__ */ jsx43(Title27, { order: 3, children: title }),
2584
+ return /* @__PURE__ */ jsxs40(Stack39, { gap: "md", children: [
2585
+ /* @__PURE__ */ jsx46(Title28, { order: 3, children: title }),
2526
2586
  content
2527
2587
  ] });
2528
2588
  }
@@ -3840,11 +3900,19 @@ export {
3840
3900
  resolveSemanticActionConfig,
3841
3901
  getSemanticActionConfig,
3842
3902
  getSemanticActionLabel,
3843
- ChoiceChip,
3903
+ resolveAccentPanelStyles,
3904
+ AccentPanel,
3905
+ ReferenceLocaleNotice,
3906
+ ReferenceLinkGrid,
3907
+ SectionPanel,
3908
+ ReferenceSection,
3844
3909
  ActionBar,
3910
+ FormField,
3911
+ ListingCard,
3912
+ StateBlock,
3913
+ ChoiceChip,
3845
3914
  MetricCard,
3846
3915
  ProgressCard,
3847
- SectionPanel,
3848
3916
  ConsumerSection,
3849
3917
  ConsumerDashboardGrid,
3850
3918
  EditorialCard,
@@ -3852,12 +3920,8 @@ export {
3852
3920
  PublicProductCard,
3853
3921
  PublicFoodCard,
3854
3922
  FoodMenuSection,
3855
- ListingCard,
3856
3923
  DataToolbar,
3857
- StateBlock,
3858
3924
  BrowseSurface,
3859
- resolveAccentPanelStyles,
3860
- AccentPanel,
3861
3925
  DetailProfileShell,
3862
3926
  PublicNav,
3863
3927
  PublicShell,
@@ -3873,7 +3937,6 @@ export {
3873
3937
  MapPanel,
3874
3938
  PublicFlowShell,
3875
3939
  PlaybackSurface,
3876
- FormField,
3877
3940
  MediaField,
3878
3941
  MediaCard,
3879
3942
  AccessSummary,