@doneisbetter/gds-core 2.6.5 → 2.6.7

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.
@@ -444,8 +444,51 @@ function ReferenceLinkGrid({
444
444
  ] }) }, item.id)) });
445
445
  }
446
446
 
447
+ // src/SurfacePresentation.ts
448
+ var toCssLength = (value) => {
449
+ if (typeof value === "number") {
450
+ return `${value}px`;
451
+ }
452
+ return value;
453
+ };
454
+ function resolveSurfacePresentationStyles(props) {
455
+ const {
456
+ presentation = "inline",
457
+ minHeight,
458
+ contentAlign,
459
+ contentJustify
460
+ } = props;
461
+ if (presentation === "inline") {
462
+ return {
463
+ minHeight: toCssLength(minHeight)
464
+ };
465
+ }
466
+ const align = contentAlign ?? "center";
467
+ const justify = contentJustify ?? (presentation === "centered" ? "center" : "start");
468
+ if (presentation === "fill") {
469
+ return {
470
+ minHeight: toCssLength(minHeight),
471
+ display: "flex",
472
+ flex: 1,
473
+ flexDirection: "column",
474
+ alignItems: align === "center" ? "center" : "flex-start",
475
+ justifyContent: justify === "center" ? "center" : "flex-start"
476
+ };
477
+ }
478
+ return {
479
+ minHeight: toCssLength(minHeight),
480
+ display: "flex",
481
+ flexDirection: "column",
482
+ alignItems: align === "center" ? "center" : "flex-start",
483
+ justifyContent: justify === "center" ? "center" : "flex-start"
484
+ };
485
+ }
486
+ function isPresentationMode(value) {
487
+ return value === "inline" || value === "centered" || value === "fill";
488
+ }
489
+
447
490
  // src/SectionPanel.tsx
448
- import { Divider, Group as Group3, Paper as Paper3, Stack as Stack4, Text as Text4, Title as Title4 } from "@mantine/core";
491
+ import { Box as Box3, Divider, Group as Group3, Paper as Paper3, Stack as Stack4, Text as Text4, Title as Title4 } from "@mantine/core";
449
492
  import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
450
493
  var toneBackgrounds = {
451
494
  default: "var(--mantine-color-body)",
@@ -460,8 +503,18 @@ function SectionPanel({
460
503
  children,
461
504
  tone = "default",
462
505
  id,
463
- divided = true
506
+ divided = true,
507
+ presentation = "inline",
508
+ minHeight,
509
+ contentAlign,
510
+ contentJustify
464
511
  }) {
512
+ const bodyLayout = resolveSurfacePresentationStyles({
513
+ presentation,
514
+ minHeight,
515
+ contentAlign,
516
+ contentJustify
517
+ });
465
518
  return /* @__PURE__ */ jsx6(Paper3, { id, withBorder: true, radius: "xl", p: "lg", style: { background: toneBackgrounds[tone] }, children: /* @__PURE__ */ jsxs4(Stack4, { gap: "md", children: [
466
519
  title || description || action ? /* @__PURE__ */ jsxs4(Fragment, { children: [
467
520
  /* @__PURE__ */ jsxs4(Group3, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
@@ -473,7 +526,7 @@ function SectionPanel({
473
526
  ] }),
474
527
  divided ? /* @__PURE__ */ jsx6(Divider, {}) : null
475
528
  ] }) : null,
476
- children
529
+ /* @__PURE__ */ jsx6(Box3, { style: bodyLayout, children })
477
530
  ] }) });
478
531
  }
479
532
 
@@ -567,10 +620,10 @@ function ActionBar({
567
620
  }
568
621
 
569
622
  // src/FormField.tsx
570
- import { Box as Box3, Stack as Stack7, Text as Text6 } from "@mantine/core";
623
+ import { Box as Box4, Stack as Stack7, Text as Text6 } from "@mantine/core";
571
624
  import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
572
625
  function FormField({ label, description, error, children }) {
573
- return /* @__PURE__ */ jsx9(Box3, { component: "label", children: /* @__PURE__ */ jsxs7(Stack7, { gap: 4, children: [
626
+ return /* @__PURE__ */ jsx9(Box4, { component: "label", children: /* @__PURE__ */ jsxs7(Stack7, { gap: 4, children: [
574
627
  typeof label === "string" ? /* @__PURE__ */ jsx9(Text6, { size: "xs", fw: 600, c: "dimmed", children: label }) : label,
575
628
  description ? typeof description === "string" ? /* @__PURE__ */ jsx9(Text6, { size: "xs", c: "dimmed", children: description }) : description : null,
576
629
  children,
@@ -698,20 +751,34 @@ function StateBlock({
698
751
  description,
699
752
  action,
700
753
  icon,
701
- compact = false
754
+ compact = false,
755
+ presentation = "inline",
756
+ minHeight,
757
+ contentAlign,
758
+ contentJustify
702
759
  }) {
703
760
  const config = variantConfig[variant];
761
+ const layout = resolveSurfacePresentationStyles({
762
+ presentation,
763
+ minHeight,
764
+ contentAlign,
765
+ contentJustify
766
+ });
767
+ const centeredText = presentation !== "inline" ? (contentAlign ?? "center") === "center" : !compact;
768
+ const centeredAlign = presentation !== "inline" ? contentAlign ?? "center" : "start";
769
+ const headingAlign = presentation === "inline" ? compact ? "flex-start" : "center" : centeredAlign === "center" ? "center" : "flex-start";
704
770
  return /* @__PURE__ */ jsxs9(
705
771
  Stack9,
706
772
  {
707
- align: compact ? "flex-start" : "center",
708
- justify: "center",
773
+ align: headingAlign,
774
+ justify: presentation === "inline" ? "center" : void 0,
709
775
  gap: "md",
710
776
  py: compact ? "md" : "xl",
711
- ta: compact ? "left" : "center",
777
+ ta: centeredText ? "center" : "left",
778
+ style: layout,
712
779
  children: [
713
780
  /* @__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: [
781
+ /* @__PURE__ */ jsxs9(Stack9, { gap: 6, align: headingAlign, children: [
715
782
  /* @__PURE__ */ jsx11(Title6, { order: compact ? 4 : 3, children: title }),
716
783
  description ? /* @__PURE__ */ jsx11(Text8, { c: "dimmed", maw: compact ? void 0 : 480, children: description }) : null
717
784
  ] }),
@@ -849,7 +916,7 @@ function ConsumerDashboardGrid({
849
916
  }
850
917
 
851
918
  // src/EditorialCard.tsx
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";
919
+ import { Anchor as Anchor3, AspectRatio as AspectRatio2, Badge as Badge7, Box as Box5, Card as Card4, Group as Group9, Stack as Stack12, Text as Text11, Title as Title9 } from "@mantine/core";
853
920
  import { jsx as jsx17, jsxs as jsxs12 } from "react/jsx-runtime";
854
921
  var tonePalette = {
855
922
  default: {
@@ -871,7 +938,7 @@ var tonePalette = {
871
938
  };
872
939
  function EditorialMediaFallback({ compact }) {
873
940
  return /* @__PURE__ */ jsx17(AspectRatio2, { ratio: compact ? 16 / 10 : 4 / 3, children: /* @__PURE__ */ jsx17(
874
- Box4,
941
+ Box5,
875
942
  {
876
943
  style: {
877
944
  display: "grid",
@@ -1219,7 +1286,7 @@ function PublicFoodCard({
1219
1286
  }
1220
1287
 
1221
1288
  // src/FoodMenuSection.tsx
1222
- import { Box as Box5, Group as Group13, SimpleGrid as SimpleGrid3, Stack as Stack16, Text as Text15, Title as Title13 } from "@mantine/core";
1289
+ import { Box as Box6, Group as Group13, SimpleGrid as SimpleGrid3, Stack as Stack16, Text as Text15, Title as Title13 } from "@mantine/core";
1223
1290
  import { Fragment as Fragment2, jsx as jsx21, jsxs as jsxs16 } from "react/jsx-runtime";
1224
1291
  function FoodMenuSection({
1225
1292
  title,
@@ -1243,7 +1310,7 @@ function FoodMenuSection({
1243
1310
  }
1244
1311
  );
1245
1312
  }
1246
- return /* @__PURE__ */ jsx21(Box5, { component: "section", "aria-label": typeof title === "string" ? title : "Food menu section", children: /* @__PURE__ */ jsxs16(Stack16, { gap: "xl", children: [
1313
+ return /* @__PURE__ */ jsx21(Box6, { component: "section", "aria-label": typeof title === "string" ? title : "Food menu section", children: /* @__PURE__ */ jsxs16(Stack16, { gap: "xl", children: [
1247
1314
  /* @__PURE__ */ jsxs16(Group13, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
1248
1315
  /* @__PURE__ */ jsxs16(Stack16, { gap: 4, children: [
1249
1316
  eyebrow ? /* @__PURE__ */ jsx21(Text15, { size: "xs", fw: 700, c: "dimmed", tt: "uppercase", children: eyebrow }) : null,
@@ -1308,7 +1375,7 @@ function DataToolbar({
1308
1375
  }
1309
1376
 
1310
1377
  // src/BrowseSurface.tsx
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";
1378
+ import { Badge as Badge12, Box as Box7, 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
1379
  import { jsx as jsx23, jsxs as jsxs18 } from "react/jsx-runtime";
1313
1380
  function BrowseSurface({
1314
1381
  eyebrow,
@@ -1392,7 +1459,7 @@ function BrowseSurface({
1392
1459
  ...toolbar,
1393
1460
  activeFilters: toolbarFilters.length ? toolbarFilters : toolbar.fallbackActiveFilters
1394
1461
  }
1395
- ) : /* @__PURE__ */ jsx23(Box6, {}),
1462
+ ) : /* @__PURE__ */ jsx23(Box7, {}),
1396
1463
  sortControl ? /* @__PURE__ */ jsxs18(Stack18, { gap: "xs", align: "stretch", children: [
1397
1464
  /* @__PURE__ */ jsx23(Text16, { size: "sm", fw: 600, c: "dimmed", children: "Sort" }),
1398
1465
  sortControl
@@ -1402,7 +1469,7 @@ function BrowseSurface({
1402
1469
  /* @__PURE__ */ jsx23(Text16, { size: "sm", fw: 600, c: "dimmed", children: "Filters" }),
1403
1470
  mobileFilters
1404
1471
  ] }) : null,
1405
- filterDrawer ? /* @__PURE__ */ jsx23(Box6, { hiddenFrom: "lg", children: filterDrawer }) : null,
1472
+ filterDrawer ? /* @__PURE__ */ jsx23(Box7, { hiddenFrom: "lg", children: filterDrawer }) : null,
1406
1473
  activeFilters.length ? /* @__PURE__ */ jsx23(Group15, { gap: "xs", wrap: "wrap", children: activeFilters.map((filter) => /* @__PURE__ */ jsx23(
1407
1474
  Badge12,
1408
1475
  {
@@ -1474,16 +1541,16 @@ function PublicNav({ items, activeId, renderLink }) {
1474
1541
  }
1475
1542
 
1476
1543
  // src/PublicShell.tsx
1477
- import { AppShell, Box as Box7, Burger, Container, Group as Group17, Stack as Stack20, Text as Text17 } from "@mantine/core";
1544
+ import { AppShell, Box as Box8, Burger, Container, Group as Group17, Stack as Stack20, Text as Text17 } from "@mantine/core";
1478
1545
  import { jsx as jsx26, jsxs as jsxs20 } from "react/jsx-runtime";
1479
1546
  function InlineMobileNavigation({
1480
1547
  mobileNavigation,
1481
1548
  className,
1482
1549
  mode
1483
1550
  }) {
1484
- return /* @__PURE__ */ jsxs20(Box7, { component: "details", hiddenFrom: "sm", className, children: [
1551
+ return /* @__PURE__ */ jsxs20(Box8, { component: "details", hiddenFrom: "sm", className, children: [
1485
1552
  /* @__PURE__ */ jsxs20(
1486
- Box7,
1553
+ Box8,
1487
1554
  {
1488
1555
  component: "summary",
1489
1556
  "aria-label": mode === "drawer" ? "Open site navigation drawer" : "Open site navigation",
@@ -1501,7 +1568,7 @@ function InlineMobileNavigation({
1501
1568
  }
1502
1569
  ),
1503
1570
  /* @__PURE__ */ jsx26(
1504
- Box7,
1571
+ Box8,
1505
1572
  {
1506
1573
  mt: "sm",
1507
1574
  p: "sm",
@@ -1562,7 +1629,7 @@ function PublicShell({
1562
1629
  mode: mobileNavigationMode
1563
1630
  }
1564
1631
  ) : null,
1565
- /* @__PURE__ */ jsx26(Box7, { children: brand })
1632
+ /* @__PURE__ */ jsx26(Box8, { children: brand })
1566
1633
  ] }),
1567
1634
  /* @__PURE__ */ jsx26(Group17, { visibleFrom: "sm", gap: headerVariant === "compact" ? "md" : "lg", className: classNames?.navigation, children: resolvedNavigation }),
1568
1635
  /* @__PURE__ */ jsx26(Group17, { gap: "sm", className: classNames?.actions, children: actions })
@@ -1572,7 +1639,7 @@ function PublicShell({
1572
1639
  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
1640
  /* @__PURE__ */ jsxs20(AppShell.Main, { children: [
1574
1641
  /* @__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
1642
+ footer ? /* @__PURE__ */ jsx26(Box8, { 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
1576
1643
  ] })
1577
1644
  ]
1578
1645
  }
@@ -1590,7 +1657,7 @@ function PublicSiteFooter({ children, meta }) {
1590
1657
  }
1591
1658
 
1592
1659
  // src/PublicBrandFooter.tsx
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";
1660
+ import { Box as Box9, Divider as Divider3, Grid, Group as Group19, Paper as Paper6, Stack as Stack22, Text as Text19, Title as Title15 } from "@mantine/core";
1594
1661
  import { Fragment as Fragment4, jsx as jsx28, jsxs as jsxs22 } from "react/jsx-runtime";
1595
1662
  function PublicBrandFooter({
1596
1663
  media,
@@ -1617,11 +1684,11 @@ function PublicBrandFooter({
1617
1684
  "data-layout-variant": layoutVariant,
1618
1685
  children: /* @__PURE__ */ jsxs22(Stack22, { gap: "lg", children: [
1619
1686
  /* @__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,
1687
+ media ? /* @__PURE__ */ jsx28(Grid.Col, { span: { base: 12, md: mediaSpan }, children: /* @__PURE__ */ jsx28(Box9, { className: classNames?.media, children: media }) }) : null,
1621
1688
  /* @__PURE__ */ jsx28(Grid.Col, { span: { base: 12, md: primarySpan }, children: /* @__PURE__ */ jsxs22(Stack22, { gap: compact ? "xs" : "sm", className: classNames?.primary, children: [
1622
1689
  brandTitle ? /* @__PURE__ */ jsx28(Title15, { order: 4, children: brandTitle }) : null,
1623
1690
  description ? /* @__PURE__ */ jsx28(Text19, { c: "dimmed", children: description }) : null,
1624
- actions ? /* @__PURE__ */ jsx28(Box8, { children: actions }) : null
1691
+ actions ? /* @__PURE__ */ jsx28(Box9, { children: actions }) : null
1625
1692
  ] }) }),
1626
1693
  secondary ? /* @__PURE__ */ jsx28(Grid.Col, { span: { base: 12, md: secondarySpan }, children: /* @__PURE__ */ jsx28(Stack22, { gap: compact ? "xs" : "sm", className: classNames?.secondary, children: secondary }) }) : null
1627
1694
  ] }),
@@ -1635,7 +1702,7 @@ function PublicBrandFooter({
1635
1702
  }
1636
1703
 
1637
1704
  // src/AuthShell.tsx
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";
1705
+ import { Box as Box10, 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
1706
  import { jsx as jsx29, jsxs as jsxs23 } from "react/jsx-runtime";
1640
1707
  function AuthShell({
1641
1708
  title,
@@ -1648,9 +1715,9 @@ function AuthShell({
1648
1715
  dividerLabel = "Or continue with your account",
1649
1716
  children
1650
1717
  }) {
1651
- return /* @__PURE__ */ jsx29(Box9, { py: { base: "xl", md: "4rem" }, children: /* @__PURE__ */ jsx29(Container2, { size: "xs", children: /* @__PURE__ */ jsxs23(Stack23, { gap: "xl", children: [
1718
+ return /* @__PURE__ */ jsx29(Box10, { py: { base: "xl", md: "4rem" }, children: /* @__PURE__ */ jsx29(Container2, { size: "xs", children: /* @__PURE__ */ jsxs23(Stack23, { gap: "xl", children: [
1652
1719
  brand || headerActions ? /* @__PURE__ */ jsxs23(Group20, { justify: brand && headerActions ? "space-between" : "center", align: "center", children: [
1653
- brand ? /* @__PURE__ */ jsx29(Box9, { children: brand }) : /* @__PURE__ */ jsx29(Box9, {}),
1720
+ brand ? /* @__PURE__ */ jsx29(Box10, { children: brand }) : /* @__PURE__ */ jsx29(Box10, {}),
1654
1721
  headerActions ? /* @__PURE__ */ jsx29(Group20, { gap: "sm", children: headerActions }) : null
1655
1722
  ] }) : null,
1656
1723
  /* @__PURE__ */ jsx29(Card8, { withBorder: true, radius: "lg", padding: "xl", children: /* @__PURE__ */ jsxs23(Stack23, { gap: "lg", children: [
@@ -1658,7 +1725,7 @@ function AuthShell({
1658
1725
  /* @__PURE__ */ jsx29(Title16, { order: 2, children: title }),
1659
1726
  description ? /* @__PURE__ */ jsx29(Text20, { c: "dimmed", size: "sm", children: description }) : null
1660
1727
  ] }),
1661
- socialAuth ? /* @__PURE__ */ jsx29(Box9, { children: socialAuth }) : null,
1728
+ socialAuth ? /* @__PURE__ */ jsx29(Box10, { children: socialAuth }) : null,
1662
1729
  socialAuth ? /* @__PURE__ */ jsx29(Divider4, { label: dividerLabel, labelPosition: "center" }) : null,
1663
1730
  children,
1664
1731
  helper ? /* @__PURE__ */ jsx29(Text20, { size: "sm", c: "dimmed", ta: "center", children: helper }) : null
@@ -1667,46 +1734,174 @@ function AuthShell({
1667
1734
  ] }) }) });
1668
1735
  }
1669
1736
 
1670
- // src/SocialAuthButtons.tsx
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";
1737
+ // src/ProviderIdentityButtons.tsx
1738
+ import { Button as Button3, SimpleGrid as SimpleGrid5, Stack as Stack24, Text as Text21, ThemeIcon as ThemeIcon7 } from "@mantine/core";
1672
1739
  import { jsx as jsx30, jsxs as jsxs24 } from "react/jsx-runtime";
1673
- var providerConfig = {
1674
- google: { label: "Google", mark: "G", color: "red" },
1675
- apple: { label: "Apple", mark: "A", color: "dark" },
1676
- github: { label: "GitHub", mark: "GH", color: "gray" },
1677
- facebook: { label: "Facebook", mark: "F", color: "blue" },
1678
- microsoft: { label: "Microsoft", mark: "M", color: "cyan" },
1679
- linkedin: { label: "LinkedIn", mark: "in", color: "blue" },
1680
- discord: { label: "Discord", mark: "D", color: "indigo" },
1681
- x: { label: "X", mark: "X", color: "dark" },
1682
- email: { label: "Email", mark: "@", color: "gray" }
1740
+ var PROVIDER_IDENTITY_REGISTRY = {
1741
+ google: {
1742
+ providerLabel: "Google",
1743
+ markLabel: "G",
1744
+ brandColor: "red"
1745
+ },
1746
+ apple: {
1747
+ providerLabel: "Apple",
1748
+ markLabel: "A",
1749
+ brandColor: "dark"
1750
+ },
1751
+ github: {
1752
+ providerLabel: "GitHub",
1753
+ markLabel: "GH",
1754
+ brandColor: "gray"
1755
+ },
1756
+ facebook: {
1757
+ providerLabel: "Facebook",
1758
+ markLabel: "F",
1759
+ brandColor: "blue"
1760
+ },
1761
+ microsoft: {
1762
+ providerLabel: "Microsoft",
1763
+ markLabel: "M",
1764
+ brandColor: "cyan"
1765
+ },
1766
+ linkedin: {
1767
+ providerLabel: "LinkedIn",
1768
+ markLabel: "in",
1769
+ brandColor: "blue"
1770
+ },
1771
+ discord: {
1772
+ providerLabel: "Discord",
1773
+ markLabel: "D",
1774
+ brandColor: "indigo"
1775
+ },
1776
+ x: {
1777
+ providerLabel: "X",
1778
+ markLabel: "X",
1779
+ brandColor: "dark"
1780
+ },
1781
+ email: {
1782
+ providerLabel: "Email",
1783
+ markLabel: "@",
1784
+ brandColor: "gray"
1785
+ }
1683
1786
  };
1684
- function ProviderMark({ id }) {
1685
- const config = providerConfig[id] ?? { label: id, mark: id.slice(0, 2).toUpperCase(), color: "gray" };
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 }) });
1687
- }
1688
- function SocialAuthButton({ provider, compact = false }) {
1689
- const config = providerConfig[provider.id] ?? { label: provider.id, mark: provider.id.slice(0, 2).toUpperCase(), color: "gray" };
1690
- const label = provider.label ?? `Continue with ${config.label}`;
1691
- const buttonProps = provider.href ? { component: "a", href: provider.href } : { onClick: provider.onClick };
1787
+ function normalizeProviderId(provider) {
1788
+ return (provider ?? "").trim().toLowerCase();
1789
+ }
1790
+ function isSupportedProviderId(provider) {
1791
+ return provider in PROVIDER_IDENTITY_REGISTRY;
1792
+ }
1793
+ function getProviderIdentityMeta(provider) {
1794
+ const normalized = normalizeProviderId(provider);
1795
+ if (isSupportedProviderId(normalized)) {
1796
+ return {
1797
+ id: normalized,
1798
+ supported: true,
1799
+ ...PROVIDER_IDENTITY_REGISTRY[normalized]
1800
+ };
1801
+ }
1802
+ return {
1803
+ id: normalized || "provider",
1804
+ supported: false,
1805
+ providerLabel: provider ? provider : "Provider",
1806
+ markLabel: (provider ?? "PR").slice(0, 2).toUpperCase(),
1807
+ brandColor: "gray"
1808
+ };
1809
+ }
1810
+ function resolveProviderLabel(provider, customLabel) {
1811
+ const meta = getProviderIdentityMeta(provider);
1812
+ if (customLabel != null) {
1813
+ return customLabel;
1814
+ }
1815
+ return `Continue with ${meta.providerLabel}`;
1816
+ }
1817
+ function mapVariant(variant = "neutral") {
1818
+ if (variant === "solid") {
1819
+ return "filled";
1820
+ }
1821
+ if (variant === "outline") {
1822
+ return "outline";
1823
+ }
1824
+ return "default";
1825
+ }
1826
+ function getProviderIdentityLabel(provider, fallbackOverride) {
1827
+ return resolveProviderLabel(provider, fallbackOverride);
1828
+ }
1829
+ function ProviderIdentityMark({ provider }) {
1830
+ const meta = getProviderIdentityMeta(provider);
1831
+ return /* @__PURE__ */ jsx30(
1832
+ ThemeIcon7,
1833
+ {
1834
+ variant: "light",
1835
+ color: meta.brandColor,
1836
+ radius: "xl",
1837
+ size: "md",
1838
+ "aria-hidden": "true",
1839
+ children: /* @__PURE__ */ jsx30(Text21, { size: "xs", fw: 700, c: "inherit", children: meta.markLabel })
1840
+ }
1841
+ );
1842
+ }
1843
+ function ProviderIdentityButton({
1844
+ provider,
1845
+ label,
1846
+ description,
1847
+ href,
1848
+ onClick,
1849
+ disabled,
1850
+ loading,
1851
+ fullWidth = true,
1852
+ size = "md",
1853
+ variant = "neutral",
1854
+ ariaLabel,
1855
+ describedBy,
1856
+ minTouchTargetPx = 44
1857
+ }) {
1858
+ const meta = getProviderIdentityMeta(provider);
1859
+ const buttonLabel = resolveProviderLabel(provider, label);
1860
+ const buttonProps = href ? {
1861
+ component: "a",
1862
+ href
1863
+ } : {
1864
+ onClick
1865
+ };
1692
1866
  return /* @__PURE__ */ jsx30(
1693
1867
  Button3,
1694
1868
  {
1695
- variant: "default",
1869
+ variant: mapVariant(variant),
1870
+ color: variant === "solid" ? meta.brandColor : void 0,
1696
1871
  justify: "space-between",
1697
- fullWidth: true,
1698
- size: compact ? "sm" : "md",
1699
- leftSection: /* @__PURE__ */ jsx30(ProviderMark, { id: provider.id }),
1700
- disabled: provider.disabled,
1701
- loading: provider.loading,
1872
+ fullWidth,
1873
+ size,
1874
+ "aria-label": ariaLabel ?? (typeof buttonLabel === "string" ? buttonLabel : void 0),
1875
+ "aria-describedby": describedBy,
1876
+ leftSection: /* @__PURE__ */ jsx30(ProviderIdentityMark, { provider }),
1877
+ disabled,
1878
+ loading,
1879
+ styles: { root: { minHeight: minTouchTargetPx } },
1702
1880
  ...buttonProps,
1703
1881
  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
1882
+ /* @__PURE__ */ jsx30(Text21, { inherit: true, children: buttonLabel }),
1883
+ description ? /* @__PURE__ */ jsx30(Text21, { size: "xs", c: "dimmed", lh: 1.2, children: description }) : null
1706
1884
  ] })
1707
1885
  }
1708
1886
  );
1709
1887
  }
1888
+ function ProviderIdentityButtonGroup({ providers, layout = "stack" }) {
1889
+ if (!providers.length) {
1890
+ return null;
1891
+ }
1892
+ const content = providers.map((entry, index) => {
1893
+ const key = `${normalizeProviderId(String(entry.provider)) || "provider"}-${index}`;
1894
+ return /* @__PURE__ */ jsx30(ProviderIdentityButton, { ...entry }, key);
1895
+ });
1896
+ if (layout === "grid") {
1897
+ return /* @__PURE__ */ jsx30(SimpleGrid5, { cols: { base: 1, sm: 2 }, spacing: "sm", children: content });
1898
+ }
1899
+ return /* @__PURE__ */ jsx30(Stack24, { gap: "sm", children: content });
1900
+ }
1901
+
1902
+ // src/SocialAuthButtons.tsx
1903
+ import { Divider as Divider5, Group as Group21, Stack as Stack25, Text as Text22 } from "@mantine/core";
1904
+ import { jsx as jsx31, jsxs as jsxs25 } from "react/jsx-runtime";
1710
1905
  function SocialAuthButtons({
1711
1906
  providers,
1712
1907
  title = "Continue with a trusted provider",
@@ -1717,54 +1912,64 @@ function SocialAuthButtons({
1717
1912
  if (!providers.length) {
1718
1913
  return null;
1719
1914
  }
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 })
1915
+ const buttons = providers.map((provider) => ({
1916
+ provider: provider.id,
1917
+ label: provider.label,
1918
+ description: provider.description,
1919
+ href: provider.href,
1920
+ onClick: provider.onClick,
1921
+ disabled: provider.disabled,
1922
+ loading: provider.loading,
1923
+ size: provider.size ?? (compact ? "sm" : "md"),
1924
+ variant: provider.variant
1925
+ }));
1926
+ return /* @__PURE__ */ jsxs25(Stack25, { gap: "md", children: [
1927
+ /* @__PURE__ */ jsxs25(Stack25, { gap: 4, ta: "center", children: [
1928
+ /* @__PURE__ */ jsxs25(Group21, { justify: "center", gap: "xs", children: [
1929
+ /* @__PURE__ */ jsx31(GdsIcons.Login, { size: "1rem" }),
1930
+ /* @__PURE__ */ jsx31(Text22, { fw: 600, children: title })
1726
1931
  ] }),
1727
- description ? /* @__PURE__ */ jsx30(Text21, { size: "sm", c: "dimmed", children: description }) : null
1932
+ description ? /* @__PURE__ */ jsx31(Text22, { size: "sm", c: "dimmed", children: description }) : null
1728
1933
  ] }),
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 })
1934
+ /* @__PURE__ */ jsx31(Divider5, {}),
1935
+ /* @__PURE__ */ jsx31(ProviderIdentityButtonGroup, { providers: buttons, layout })
1731
1936
  ] });
1732
1937
  }
1733
1938
 
1734
1939
  // src/ArticleShell.tsx
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";
1940
+ import { Container as Container3, Group as Group22, Stack as Stack26, Text as Text23, Title as Title17 } from "@mantine/core";
1941
+ import { jsx as jsx32, jsxs as jsxs26 } from "react/jsx-runtime";
1737
1942
  function ArticleShell({ eyebrow, title, lead, meta, sideRail, children }) {
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
1943
+ return /* @__PURE__ */ jsx32(Container3, { size: "lg", py: "xl", children: /* @__PURE__ */ jsxs26(Group22, { align: "flex-start", gap: "xl", wrap: "nowrap", children: [
1944
+ /* @__PURE__ */ jsxs26(Stack26, { gap: "lg", maw: 760, flex: 1, children: [
1945
+ /* @__PURE__ */ jsxs26(Stack26, { gap: "sm", children: [
1946
+ eyebrow ? /* @__PURE__ */ jsx32(Text23, { size: "sm", fw: 700, c: "dimmed", tt: "uppercase", children: eyebrow }) : null,
1947
+ /* @__PURE__ */ jsx32(Title17, { order: 1, children: title }),
1948
+ lead ? /* @__PURE__ */ jsx32(Text23, { size: "lg", c: "dimmed", children: lead }) : null,
1949
+ meta ? /* @__PURE__ */ jsx32(Group22, { gap: "md", children: meta }) : null
1745
1950
  ] }),
1746
- /* @__PURE__ */ jsx31(Stack25, { gap: "md", children })
1951
+ /* @__PURE__ */ jsx32(Stack26, { gap: "md", children })
1747
1952
  ] }),
1748
- sideRail ? /* @__PURE__ */ jsx31(Stack25, { visibleFrom: "lg", gap: "md", w: 240, children: sideRail }) : null
1953
+ sideRail ? /* @__PURE__ */ jsx32(Stack26, { visibleFrom: "lg", gap: "md", w: 240, children: sideRail }) : null
1749
1954
  ] }) });
1750
1955
  }
1751
1956
 
1752
1957
  // src/CtaButtonGroup.tsx
1753
- import { Group as Group23, Stack as Stack26 } from "@mantine/core";
1754
- import { jsx as jsx32, jsxs as jsxs26 } from "react/jsx-runtime";
1958
+ import { Group as Group23, Stack as Stack27 } from "@mantine/core";
1959
+ import { jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime";
1755
1960
  function CtaButtonGroup({ primary, secondary, tertiary }) {
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
1961
+ return /* @__PURE__ */ jsxs27(Stack27, { gap: "sm", children: [
1962
+ /* @__PURE__ */ jsxs27(Group23, { gap: "sm", align: "stretch", children: [
1963
+ /* @__PURE__ */ jsx33("div", { children: primary }),
1964
+ secondary ? /* @__PURE__ */ jsx33("div", { children: secondary }) : null
1760
1965
  ] }),
1761
- tertiary ? /* @__PURE__ */ jsx32("div", { children: tertiary }) : null
1966
+ tertiary ? /* @__PURE__ */ jsx33("div", { children: tertiary }) : null
1762
1967
  ] });
1763
1968
  }
1764
1969
 
1765
1970
  // src/DocsPageShell.tsx
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";
1971
+ import { Anchor as Anchor5, Breadcrumbs, Container as Container4, Group as Group24, Stack as Stack28, Text as Text24, Title as Title18 } from "@mantine/core";
1972
+ import { jsx as jsx34, jsxs as jsxs28 } from "react/jsx-runtime";
1768
1973
  function DocsPageShell({
1769
1974
  breadcrumbs = [],
1770
1975
  title,
@@ -1775,27 +1980,27 @@ function DocsPageShell({
1775
1980
  footerNext,
1776
1981
  children
1777
1982
  }) {
1778
- return /* @__PURE__ */ jsx33(Container4, { size: "lg", py: "xl", children: /* @__PURE__ */ jsxs27(Group24, { align: "flex-start", gap: "xl", wrap: "nowrap", children: [
1779
- /* @__PURE__ */ jsxs27(Stack27, { component: "article", gap: "lg", maw: 760, flex: 1, 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)
1983
+ return /* @__PURE__ */ jsx34(Container4, { fluid: true, py: "xl", px: { base: "md", md: "lg", lg: "xl" }, w: "100%", maw: "100%", children: /* @__PURE__ */ jsxs28(Group24, { align: "flex-start", gap: "xl", wrap: "nowrap", children: [
1984
+ /* @__PURE__ */ jsxs28(Stack28, { component: "article", gap: "lg", flex: 1, miw: 0, children: [
1985
+ breadcrumbs.length ? /* @__PURE__ */ jsx34(Breadcrumbs, { children: breadcrumbs.map(
1986
+ (crumb) => crumb.href ? /* @__PURE__ */ jsx34(Anchor5, { href: crumb.href, children: crumb.label }, `${crumb.label}-${crumb.href}`) : /* @__PURE__ */ jsx34(Text24, { children: crumb.label }, crumb.label)
1782
1987
  ) }) : 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", children: lead }) : null,
1787
- meta ? /* @__PURE__ */ jsx33(Group24, { gap: "md", children: meta }) : null
1988
+ /* @__PURE__ */ jsxs28(Stack28, { gap: "sm", children: [
1989
+ eyebrow ? /* @__PURE__ */ jsx34(Text24, { size: "sm", fw: 700, c: "dimmed", children: eyebrow }) : null,
1990
+ /* @__PURE__ */ jsx34(Title18, { order: 1, children: title }),
1991
+ lead ? /* @__PURE__ */ jsx34(Text24, { size: "lg", c: "dimmed", children: lead }) : null,
1992
+ meta ? /* @__PURE__ */ jsx34(Group24, { gap: "md", children: meta }) : null
1788
1993
  ] }),
1789
- /* @__PURE__ */ jsx33(Stack27, { gap: "md", children }),
1790
- footerNext ? /* @__PURE__ */ jsx33(Anchor5, { href: footerNext.href, fw: 600, children: footerNext.label }) : null
1994
+ /* @__PURE__ */ jsx34(Stack28, { gap: "md", children }),
1995
+ footerNext ? /* @__PURE__ */ jsx34(Anchor5, { href: footerNext.href, fw: 600, children: footerNext.label }) : null
1791
1996
  ] }),
1792
- sideRail ? /* @__PURE__ */ jsx33(Stack27, { visibleFrom: "lg", gap: "md", w: 240, children: sideRail }) : null
1997
+ sideRail ? /* @__PURE__ */ jsx34(Stack28, { visibleFrom: "lg", gap: "md", w: 240, children: sideRail }) : null
1793
1998
  ] }) });
1794
1999
  }
1795
2000
 
1796
2001
  // src/EditorialHero.tsx
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";
2002
+ import { Anchor as Anchor6, AspectRatio as AspectRatio5, Box as Box11, Grid as Grid2, Group as Group25, Paper as Paper7, Skeleton as Skeleton3, Stack as Stack29, Text as Text25, ThemeIcon as ThemeIcon8, Title as Title19 } from "@mantine/core";
2003
+ import { jsx as jsx35, jsxs as jsxs29 } from "react/jsx-runtime";
1799
2004
  function resolveActionVariant(action, index, seenPrimary) {
1800
2005
  const requested = action.variant ?? (index === 0 ? "primary" : "secondary");
1801
2006
  if (requested === "primary" && !seenPrimary) {
@@ -1807,7 +2012,7 @@ function resolveActionVariant(action, index, seenPrimary) {
1807
2012
  return { variant: "default", seenPrimary };
1808
2013
  }
1809
2014
  function HeroAction({ action, variant }) {
1810
- const content = /* @__PURE__ */ jsx34(
2015
+ const content = /* @__PURE__ */ jsx35(
1811
2016
  Anchor6,
1812
2017
  {
1813
2018
  href: action.href,
@@ -1832,8 +2037,8 @@ function HeroAction({ action, variant }) {
1832
2037
  }
1833
2038
  );
1834
2039
  if (!action.href) {
1835
- return /* @__PURE__ */ jsx34(
1836
- Box10,
2040
+ return /* @__PURE__ */ jsx35(
2041
+ Box11,
1837
2042
  {
1838
2043
  component: "button",
1839
2044
  type: "button",
@@ -1860,22 +2065,22 @@ function HeroAction({ action, variant }) {
1860
2065
  return content;
1861
2066
  }
1862
2067
  function LoadingHero({ compact }) {
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" })
2068
+ return /* @__PURE__ */ jsx35(Paper7, { withBorder: true, radius: "xl", p: compact ? "lg" : "xl", children: /* @__PURE__ */ jsxs29(Grid2, { gutter: compact ? "lg" : "xl", align: "center", children: [
2069
+ /* @__PURE__ */ jsx35(Grid2.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsxs29(Stack29, { gap: "md", children: [
2070
+ /* @__PURE__ */ jsx35(Skeleton3, { height: 16, width: 96, radius: "xl" }),
2071
+ /* @__PURE__ */ jsx35(Skeleton3, { height: 48, width: "90%", radius: "md" }),
2072
+ /* @__PURE__ */ jsx35(Skeleton3, { height: 18, width: "100%", radius: "md" }),
2073
+ /* @__PURE__ */ jsx35(Skeleton3, { height: 18, width: "82%", radius: "md" }),
2074
+ /* @__PURE__ */ jsxs29(Group25, { children: [
2075
+ /* @__PURE__ */ jsx35(Skeleton3, { height: 40, width: 140, radius: "md" }),
2076
+ /* @__PURE__ */ jsx35(Skeleton3, { height: 40, width: 140, radius: "md" })
1872
2077
  ] })
1873
2078
  ] }) }),
1874
- /* @__PURE__ */ jsx34(Grid2.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx34(AspectRatio5, { ratio: 16 / 11, children: /* @__PURE__ */ jsx34(Skeleton3, { radius: "lg" }) }) })
2079
+ /* @__PURE__ */ jsx35(Grid2.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx35(AspectRatio5, { ratio: 16 / 11, children: /* @__PURE__ */ jsx35(Skeleton3, { radius: "lg" }) }) })
1875
2080
  ] }) });
1876
2081
  }
1877
2082
  function MediaFallback() {
1878
- return /* @__PURE__ */ jsx34(AspectRatio5, { ratio: 16 / 11, children: /* @__PURE__ */ jsx34(
2083
+ return /* @__PURE__ */ jsx35(AspectRatio5, { ratio: 16 / 11, children: /* @__PURE__ */ jsx35(
1879
2084
  ThemeIcon8,
1880
2085
  {
1881
2086
  size: "100%",
@@ -1883,7 +2088,7 @@ function MediaFallback() {
1883
2088
  color: "gray",
1884
2089
  variant: "light",
1885
2090
  "aria-label": "Hero media is unavailable",
1886
- children: /* @__PURE__ */ jsx34(GdsIcons.Gallery, { size: "2.5rem" })
2091
+ children: /* @__PURE__ */ jsx35(GdsIcons.Gallery, { size: "2.5rem" })
1887
2092
  }
1888
2093
  ) });
1889
2094
  }
@@ -1903,8 +2108,8 @@ function MediaFrame({
1903
2108
  } else if (mediaFade === "soft-start") {
1904
2109
  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%)";
1905
2110
  }
1906
- return /* @__PURE__ */ jsxs28(
1907
- Box10,
2111
+ return /* @__PURE__ */ jsxs29(
2112
+ Box11,
1908
2113
  {
1909
2114
  component: "figure",
1910
2115
  m: 0,
@@ -1917,9 +2122,9 @@ function MediaFrame({
1917
2122
  },
1918
2123
  "aria-label": mediaAlt,
1919
2124
  children: [
1920
- media ?? /* @__PURE__ */ jsx34(MediaFallback, {}),
1921
- media && overlayBackground ? /* @__PURE__ */ jsx34(
1922
- Box10,
2125
+ media ?? /* @__PURE__ */ jsx35(MediaFallback, {}),
2126
+ media && overlayBackground ? /* @__PURE__ */ jsx35(
2127
+ Box11,
1923
2128
  {
1924
2129
  "aria-hidden": true,
1925
2130
  style: {
@@ -1952,7 +2157,7 @@ function EditorialHero({
1952
2157
  classNames
1953
2158
  }) {
1954
2159
  if (loading) {
1955
- return /* @__PURE__ */ jsx34(LoadingHero, { compact });
2160
+ return /* @__PURE__ */ jsx35(LoadingHero, { compact });
1956
2161
  }
1957
2162
  const stackAlign = align === "center" ? "center" : "flex-start";
1958
2163
  const textAlign = align === "center" ? "center" : "left";
@@ -1960,15 +2165,15 @@ function EditorialHero({
1960
2165
  const renderedActions = actions.slice(0, 3).map((action, index) => {
1961
2166
  const resolved = resolveActionVariant(action, index, seenPrimary);
1962
2167
  seenPrimary = resolved.seenPrimary;
1963
- return /* @__PURE__ */ jsx34(HeroAction, { action, variant: resolved.variant }, `${action.label}-${index}`);
2168
+ return /* @__PURE__ */ jsx35(HeroAction, { action, variant: resolved.variant }, `${action.label}-${index}`);
1964
2169
  });
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
2170
+ const textSlot = /* @__PURE__ */ jsxs29(Stack29, { gap: compact ? "md" : "lg", justify: "center", h: "100%", className: classNames?.content, children: [
2171
+ /* @__PURE__ */ jsxs29(Stack29, { gap: "sm", align: stackAlign, children: [
2172
+ eyebrow ? /* @__PURE__ */ jsx35(Text25, { size: "sm", fw: 700, c: "dimmed", ta: textAlign, children: eyebrow }) : null,
2173
+ /* @__PURE__ */ jsx35(Title19, { order: 1, maw: 760, ta: textAlign, children: title }),
2174
+ description ? /* @__PURE__ */ jsx35(Text25, { size: compact ? "md" : "lg", c: "dimmed", maw: 720, ta: textAlign, children: description }) : null
1970
2175
  ] }),
1971
- renderedActions.length ? /* @__PURE__ */ jsx34(Box10, { className: classNames?.actions, children: /* @__PURE__ */ jsx34(
2176
+ renderedActions.length ? /* @__PURE__ */ jsx35(Box11, { className: classNames?.actions, children: /* @__PURE__ */ jsx35(
1972
2177
  CtaButtonGroup,
1973
2178
  {
1974
2179
  primary: renderedActions[0],
@@ -1976,7 +2181,7 @@ function EditorialHero({
1976
2181
  tertiary: renderedActions[2]
1977
2182
  }
1978
2183
  ) }) : null,
1979
- meta.length ? /* @__PURE__ */ jsx34(Group25, { gap: "sm", wrap: "wrap", "aria-label": "Supporting details", className: classNames?.meta, children: meta.map((item) => /* @__PURE__ */ jsxs28(
2184
+ meta.length ? /* @__PURE__ */ jsx35(Group25, { gap: "sm", wrap: "wrap", "aria-label": "Supporting details", className: classNames?.meta, children: meta.map((item) => /* @__PURE__ */ jsxs29(
1980
2185
  Group25,
1981
2186
  {
1982
2187
  gap: 6,
@@ -1988,16 +2193,16 @@ function EditorialHero({
1988
2193
  },
1989
2194
  children: [
1990
2195
  item.icon,
1991
- /* @__PURE__ */ jsx34(Text24, { size: "sm", c: "dimmed", children: item.label })
2196
+ /* @__PURE__ */ jsx35(Text25, { size: "sm", c: "dimmed", children: item.label })
1992
2197
  ]
1993
2198
  },
1994
2199
  item.id
1995
2200
  )) }) : null
1996
2201
  ] });
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(
2202
+ const mediaSlot = error ? /* @__PURE__ */ jsx35(AccentPanel, { tone: "red", variant: "soft-outline", title: "Media unavailable", children: error }) : /* @__PURE__ */ jsx35(MediaFrame, { media, mediaAlt, mediaFade, className: classNames?.media });
2203
+ const textCol = /* @__PURE__ */ jsx35(Grid2.Col, { span: { base: 12, md: 6 }, order: { base: 1, md: mediaPosition === "left" ? 2 : 1 }, children: textSlot });
2204
+ const mediaCol = /* @__PURE__ */ jsx35(Grid2.Col, { span: { base: 12, md: 6 }, order: { base: 2, md: mediaPosition === "left" ? 1 : 2 }, children: mediaSlot });
2205
+ return /* @__PURE__ */ jsx35(
2001
2206
  Paper7,
2002
2207
  {
2003
2208
  component: "section",
@@ -2006,7 +2211,7 @@ function EditorialHero({
2006
2211
  p: compact ? "lg" : "xl",
2007
2212
  className: classNames?.root,
2008
2213
  style: surfaceVariant === "flat-public" ? { boxShadow: "none" } : void 0,
2009
- children: /* @__PURE__ */ jsxs28(Grid2, { gutter: compact ? "lg" : "xl", align: "center", children: [
2214
+ children: /* @__PURE__ */ jsxs29(Grid2, { gutter: compact ? "lg" : "xl", align: "center", children: [
2010
2215
  textCol,
2011
2216
  mediaCol
2012
2217
  ] })
@@ -2015,19 +2220,19 @@ function EditorialHero({
2015
2220
  }
2016
2221
 
2017
2222
  // src/FeatureBand.tsx
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";
2223
+ import { Box as Box12, Group as Group26, Paper as Paper8, SimpleGrid as SimpleGrid6, Skeleton as Skeleton4, Stack as Stack30, Text as Text26, ThemeIcon as ThemeIcon9, Title as Title20 } from "@mantine/core";
2224
+ import { Fragment as Fragment5, jsx as jsx36, jsxs as jsxs30 } from "react/jsx-runtime";
2020
2225
  function FeatureBandSkeleton({
2021
2226
  columns = 3,
2022
2227
  bordered = true,
2023
2228
  variant = "default"
2024
2229
  }) {
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" })
2230
+ return /* @__PURE__ */ jsx36(SimpleGrid6, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ jsx36(Paper8, { withBorder: bordered, radius: "lg", p: variant === "compact" ? "md" : "lg", children: /* @__PURE__ */ jsxs30(Stack30, { gap: "md", children: [
2231
+ /* @__PURE__ */ jsx36(Skeleton4, { height: variant === "process" ? 28 : 42, width: variant === "process" ? 72 : 42, radius: "xl" }),
2232
+ /* @__PURE__ */ jsxs30(Stack30, { gap: "xs", children: [
2233
+ /* @__PURE__ */ jsx36(Skeleton4, { height: 20, width: "75%", radius: "md" }),
2234
+ /* @__PURE__ */ jsx36(Skeleton4, { height: 14, width: "100%", radius: "md" }),
2235
+ /* @__PURE__ */ jsx36(Skeleton4, { height: 14, width: "82%", radius: "md" })
2031
2236
  ] })
2032
2237
  ] }) }, index)) });
2033
2238
  }
@@ -2040,10 +2245,10 @@ function FeatureBand({
2040
2245
  variant = "default"
2041
2246
  }) {
2042
2247
  if (loading) {
2043
- return /* @__PURE__ */ jsx35(FeatureBandSkeleton, { columns, bordered, variant });
2248
+ return /* @__PURE__ */ jsx36(FeatureBandSkeleton, { columns, bordered, variant });
2044
2249
  }
2045
2250
  if (!items.length) {
2046
- return emptyState ? /* @__PURE__ */ jsx35(Fragment5, { children: emptyState }) : /* @__PURE__ */ jsx35(
2251
+ return emptyState ? /* @__PURE__ */ jsx36(Fragment5, { children: emptyState }) : /* @__PURE__ */ jsx36(
2047
2252
  EmptyState,
2048
2253
  {
2049
2254
  title: "No supporting details available",
@@ -2051,9 +2256,9 @@ function FeatureBand({
2051
2256
  }
2052
2257
  );
2053
2258
  }
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,
2259
+ return /* @__PURE__ */ jsx36(Box12, { component: "section", "aria-label": "Supporting features", children: /* @__PURE__ */ jsx36(SimpleGrid6, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children: items.map((item, index) => /* @__PURE__ */ jsx36(Paper8, { withBorder: bordered, radius: "lg", p: variant === "compact" ? "md" : "lg", children: /* @__PURE__ */ jsxs30(Stack30, { gap: "md", children: [
2260
+ variant === "process" ? /* @__PURE__ */ jsx36(Group26, { children: /* @__PURE__ */ jsx36(
2261
+ Text26,
2057
2262
  {
2058
2263
  fw: 800,
2059
2264
  size: "sm",
@@ -2065,18 +2270,18 @@ function FeatureBand({
2065
2270
  },
2066
2271
  children: item.stepLabel ?? `Step ${index + 1}`
2067
2272
  }
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
2273
+ ) }) : item.media ? item.media : item.icon ? /* @__PURE__ */ jsx36(Group26, { children: /* @__PURE__ */ jsx36(ThemeIcon9, { size: "xl", radius: "xl", variant: "light", color: "violet", children: item.icon }) }) : /* @__PURE__ */ jsx36(Group26, { children: /* @__PURE__ */ jsx36(ThemeIcon9, { size: "xl", radius: "xl", variant: "light", color: "gray", "aria-hidden": true, children: /* @__PURE__ */ jsx36(GdsIcons.Info, { size: "1.25rem" }) }) }),
2274
+ /* @__PURE__ */ jsxs30(Stack30, { gap: "xs", children: [
2275
+ /* @__PURE__ */ jsx36(Title20, { order: 4, children: item.title }),
2276
+ item.description ? /* @__PURE__ */ jsx36(Text26, { c: "dimmed", children: item.description }) : null,
2277
+ item.meta ? /* @__PURE__ */ jsx36(Text26, { size: "sm", c: "dimmed", children: item.meta }) : null
2073
2278
  ] })
2074
2279
  ] }) }, item.id)) }) });
2075
2280
  }
2076
2281
 
2077
2282
  // src/MapPanel.tsx
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";
2283
+ import { AspectRatio as AspectRatio6, Box as Box13, Group as Group27, Paper as Paper9, Stack as Stack31, Text as Text27, Title as Title21 } from "@mantine/core";
2284
+ import { jsx as jsx37, jsxs as jsxs31 } from "react/jsx-runtime";
2080
2285
  function MapPanel({
2081
2286
  title,
2082
2287
  description,
@@ -2092,7 +2297,7 @@ function MapPanel({
2092
2297
  }) {
2093
2298
  let body;
2094
2299
  if (loading) {
2095
- body = /* @__PURE__ */ jsx36(
2300
+ body = /* @__PURE__ */ jsx37(
2096
2301
  StateBlock,
2097
2302
  {
2098
2303
  variant: "loading",
@@ -2102,9 +2307,9 @@ function MapPanel({
2102
2307
  }
2103
2308
  );
2104
2309
  } else if (error) {
2105
- body = /* @__PURE__ */ jsx36(StateBlock, { variant: "error", title: "Map unavailable", description: error, compact: true });
2310
+ body = /* @__PURE__ */ jsx37(StateBlock, { variant: "error", title: "Map unavailable", description: error, compact: true });
2106
2311
  } else if (!iframeSrc && !renderMap) {
2107
- body = /* @__PURE__ */ jsx36(
2312
+ body = /* @__PURE__ */ jsx37(
2108
2313
  StateBlock,
2109
2314
  {
2110
2315
  variant: "empty",
@@ -2114,9 +2319,9 @@ function MapPanel({
2114
2319
  }
2115
2320
  );
2116
2321
  } else if (renderMap) {
2117
- body = /* @__PURE__ */ jsx36(Box12, { style: { minHeight }, children: renderMap() });
2322
+ body = /* @__PURE__ */ jsx37(Box13, { style: { minHeight }, children: renderMap() });
2118
2323
  } else {
2119
- body = /* @__PURE__ */ jsx36(AspectRatio6, { ratio: 16 / 9, children: /* @__PURE__ */ jsx36(
2324
+ body = /* @__PURE__ */ jsx37(AspectRatio6, { ratio: 16 / 9, children: /* @__PURE__ */ jsx37(
2120
2325
  "iframe",
2121
2326
  {
2122
2327
  src: iframeSrc,
@@ -2128,21 +2333,21 @@ function MapPanel({
2128
2333
  }
2129
2334
  ) });
2130
2335
  }
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
2336
+ return /* @__PURE__ */ jsx37(Paper9, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ jsxs31(Stack31, { gap: "md", children: [
2337
+ /* @__PURE__ */ jsxs31(Group27, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
2338
+ /* @__PURE__ */ jsxs31(Stack31, { gap: 4, children: [
2339
+ /* @__PURE__ */ jsx37(Title21, { order: 3, children: title }),
2340
+ description ? /* @__PURE__ */ jsx37(Text27, { size: "sm", c: "dimmed", children: description }) : null
2136
2341
  ] }),
2137
- actions ? /* @__PURE__ */ jsx36(ActionBar, { ...actions }) : null
2342
+ actions ? /* @__PURE__ */ jsx37(ActionBar, { ...actions }) : null
2138
2343
  ] }),
2139
2344
  body
2140
2345
  ] }) });
2141
2346
  }
2142
2347
 
2143
2348
  // src/PublicFlowShell.tsx
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";
2349
+ import { Badge as Badge13, Group as Group28, Paper as Paper10, Stack as Stack32, Text as Text28, Title as Title22 } from "@mantine/core";
2350
+ import { jsx as jsx38, jsxs as jsxs32 } from "react/jsx-runtime";
2146
2351
  var stageTone = {
2147
2352
  idle: { label: "Idle", color: "gray" },
2148
2353
  loading: { label: "Loading", color: "blue" },
@@ -2194,7 +2399,7 @@ function PublicFlowShell({
2194
2399
  const actionBar = toActionBar(stage.actions);
2195
2400
  let body = stage.body;
2196
2401
  if (stage.status === "loading") {
2197
- body = /* @__PURE__ */ jsx37(
2402
+ body = /* @__PURE__ */ jsx38(
2198
2403
  StateBlock,
2199
2404
  {
2200
2405
  variant: "loading",
@@ -2203,7 +2408,7 @@ function PublicFlowShell({
2203
2408
  }
2204
2409
  );
2205
2410
  } else if (stage.status === "error") {
2206
- body = errorState ?? /* @__PURE__ */ jsx37(
2411
+ body = errorState ?? /* @__PURE__ */ jsx38(
2207
2412
  StateBlock,
2208
2413
  {
2209
2414
  variant: "error",
@@ -2212,7 +2417,7 @@ function PublicFlowShell({
2212
2417
  }
2213
2418
  );
2214
2419
  } else if (!stage.body && !hardwareSurface) {
2215
- body = emptyState ?? /* @__PURE__ */ jsx37(
2420
+ body = emptyState ?? /* @__PURE__ */ jsx38(
2216
2421
  EmptyState,
2217
2422
  {
2218
2423
  title: "No stage content available",
@@ -2220,29 +2425,29 @@ function PublicFlowShell({
2220
2425
  }
2221
2426
  );
2222
2427
  }
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 })
2428
+ return /* @__PURE__ */ jsx38(Paper10, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ jsxs32(Stack32, { gap: "lg", children: [
2429
+ /* @__PURE__ */ jsxs32(Group28, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
2430
+ /* @__PURE__ */ jsxs32(Stack32, { gap: 4, children: [
2431
+ eyebrow ? /* @__PURE__ */ jsx38(Text28, { size: "xs", fw: 700, c: "dimmed", tt: "uppercase", children: eyebrow }) : null,
2432
+ /* @__PURE__ */ jsxs32(Group28, { gap: "sm", wrap: "wrap", children: [
2433
+ /* @__PURE__ */ jsx38(Title22, { order: 2, children: stage.title }),
2434
+ /* @__PURE__ */ jsx38(Badge13, { variant: "light", color: tone.color, children: tone.label })
2230
2435
  ] }),
2231
- stage.description ? /* @__PURE__ */ jsx37(Text27, { size: "sm", c: "dimmed", children: stage.description }) : null
2436
+ stage.description ? /* @__PURE__ */ jsx38(Text28, { size: "sm", c: "dimmed", children: stage.description }) : null
2232
2437
  ] }),
2233
2438
  exitAction
2234
2439
  ] }),
2235
- stage.notice ? /* @__PURE__ */ jsx37(Text27, { size: "sm", c: "dimmed", children: stage.notice }) : null,
2440
+ stage.notice ? /* @__PURE__ */ jsx38(Text28, { size: "sm", c: "dimmed", children: stage.notice }) : null,
2236
2441
  body,
2237
2442
  hardwareSurface,
2238
2443
  stage.aside,
2239
- actionBar ? /* @__PURE__ */ jsx37(ActionBar, { ...actionBar }) : null
2444
+ actionBar ? /* @__PURE__ */ jsx38(ActionBar, { ...actionBar }) : null
2240
2445
  ] }) });
2241
2446
  }
2242
2447
 
2243
2448
  // src/PlaybackSurface.tsx
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";
2449
+ import { Badge as Badge14, Group as Group29, Paper as Paper11, Stack as Stack33, Text as Text29, Title as Title23 } from "@mantine/core";
2450
+ import { jsx as jsx39, jsxs as jsxs33 } from "react/jsx-runtime";
2246
2451
  var stateTone = {
2247
2452
  loading: { label: "Loading", color: "blue" },
2248
2453
  ready: { label: "Ready", color: "teal" },
@@ -2265,7 +2470,7 @@ function PlaybackSurface({
2265
2470
  const tone = stateTone[state];
2266
2471
  let content;
2267
2472
  if (state === "loading") {
2268
- content = /* @__PURE__ */ jsx38(
2473
+ content = /* @__PURE__ */ jsx39(
2269
2474
  StateBlock,
2270
2475
  {
2271
2476
  variant: "loading",
@@ -2274,7 +2479,7 @@ function PlaybackSurface({
2274
2479
  }
2275
2480
  );
2276
2481
  } else if (state === "empty") {
2277
- content = emptyState ?? /* @__PURE__ */ jsx38(
2482
+ content = emptyState ?? /* @__PURE__ */ jsx39(
2278
2483
  EmptyState,
2279
2484
  {
2280
2485
  title: "No playback content available",
@@ -2282,7 +2487,7 @@ function PlaybackSurface({
2282
2487
  }
2283
2488
  );
2284
2489
  } else if (state === "error") {
2285
- content = errorState ?? /* @__PURE__ */ jsx38(
2490
+ content = errorState ?? /* @__PURE__ */ jsx39(
2286
2491
  StateBlock,
2287
2492
  {
2288
2493
  variant: "error",
@@ -2291,23 +2496,23 @@ function PlaybackSurface({
2291
2496
  }
2292
2497
  );
2293
2498
  } else {
2294
- content = /* @__PURE__ */ jsxs32(Stack32, { gap: "md", children: [
2499
+ content = /* @__PURE__ */ jsxs33(Stack33, { gap: "md", children: [
2295
2500
  media,
2296
2501
  overlays
2297
2502
  ] });
2298
2503
  }
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
2504
+ return /* @__PURE__ */ jsx39(Paper11, { withBorder: true, radius: "xl", p: "lg", "data-playback-mode": mode, children: /* @__PURE__ */ jsxs33(Stack33, { gap: "md", children: [
2505
+ title || statusMessage || controls ? /* @__PURE__ */ jsxs33(Group29, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
2506
+ /* @__PURE__ */ jsxs33(Stack33, { gap: 4, children: [
2507
+ title ? /* @__PURE__ */ jsx39(Title23, { order: 3, children: title }) : null,
2508
+ statusMessage ? /* @__PURE__ */ jsx39(Text29, { size: "sm", c: "dimmed", children: statusMessage }) : null
2304
2509
  ] }),
2305
- /* @__PURE__ */ jsxs32(Group29, { gap: "sm", align: "center", wrap: "wrap", children: [
2306
- /* @__PURE__ */ jsx38(Badge14, { variant: "light", color: tone.color, children: tone.label }),
2510
+ /* @__PURE__ */ jsxs33(Group29, { gap: "sm", align: "center", wrap: "wrap", children: [
2511
+ /* @__PURE__ */ jsx39(Badge14, { variant: "light", color: tone.color, children: tone.label }),
2307
2512
  controls
2308
2513
  ] })
2309
2514
  ] }) : null,
2310
- state === "degraded" ? /* @__PURE__ */ jsx38(
2515
+ state === "degraded" ? /* @__PURE__ */ jsx39(
2311
2516
  StateBlock,
2312
2517
  {
2313
2518
  variant: "info",
@@ -2321,8 +2526,8 @@ function PlaybackSurface({
2321
2526
  }
2322
2527
 
2323
2528
  // src/MediaField.tsx
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";
2529
+ import { Badge as Badge15, Button as Button4, Divider as Divider6, Group as Group30, Paper as Paper12, Stack as Stack34, Text as Text30 } from "@mantine/core";
2530
+ import { Fragment as Fragment6, jsx as jsx40, jsxs as jsxs34 } from "react/jsx-runtime";
2326
2531
  var stateLabels = {
2327
2532
  empty: { label: "Empty", color: "gray" },
2328
2533
  selected: { label: "Selected", color: "blue" },
@@ -2350,32 +2555,32 @@ function MediaField({
2350
2555
  mode = "stacked"
2351
2556
  }) {
2352
2557
  const stateBadge = stateLabels[state];
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(
2558
+ const resolvedRemoveAction = removeAction ?? (onRemove ? /* @__PURE__ */ jsx40(Button4, { type: "button", variant: "light", color: "red", onClick: onRemove, children: "Remove" }) : null);
2559
+ const resolvedResetAction = resetAction ?? (onReset ? /* @__PURE__ */ jsx40(Button4, { type: "button", variant: "default", onClick: onReset, children: "Reset" }) : null);
2560
+ return /* @__PURE__ */ jsx40(
2356
2561
  FormField,
2357
2562
  {
2358
2563
  label,
2359
2564
  description,
2360
2565
  error,
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 }),
2566
+ children: /* @__PURE__ */ jsx40(Paper12, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ jsxs34(Stack34, { gap: "md", children: [
2567
+ /* @__PURE__ */ jsx40(Group30, { justify: "flex-end", align: "center", gap: "sm", children: /* @__PURE__ */ jsxs34(Group30, { gap: "xs", justify: "flex-end", children: [
2568
+ /* @__PURE__ */ jsx40(Badge15, { variant: "light", color: stateBadge.color, children: stateBadge.label }),
2364
2569
  statusAction
2365
2570
  ] }) }),
2366
2571
  preview ? preview : null,
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: [
2572
+ uploadControl || urlInput ? /* @__PURE__ */ jsxs34(Fragment6, { children: [
2573
+ /* @__PURE__ */ jsx40(Divider6, {}),
2574
+ /* @__PURE__ */ jsxs34(Stack34, { gap: "sm", style: mode === "split" ? { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(220px, 1fr))" } : void 0, children: [
2370
2575
  uploadControl,
2371
2576
  urlInput
2372
2577
  ] })
2373
2578
  ] }) : 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,
2579
+ value ? /* @__PURE__ */ jsx40(Text30, { size: "sm", c: "dimmed", style: { wordBreak: "break-all" }, children: value }) : null,
2580
+ helpText ? /* @__PURE__ */ jsx40(Text30, { size: "sm", c: "dimmed", children: helpText }) : null,
2581
+ policyText ? /* @__PURE__ */ jsx40(Text30, { size: "sm", c: error ? "red.7" : "dimmed", children: policyText }) : null,
2377
2582
  typeof error !== "string" && error ? error : null,
2378
- resolvedRemoveAction || resolvedResetAction ? /* @__PURE__ */ jsxs33(Group30, { gap: "sm", children: [
2583
+ resolvedRemoveAction || resolvedResetAction ? /* @__PURE__ */ jsxs34(Group30, { gap: "sm", children: [
2379
2584
  resolvedResetAction,
2380
2585
  retryAction,
2381
2586
  resolvedRemoveAction
@@ -2386,49 +2591,49 @@ function MediaField({
2386
2591
  }
2387
2592
 
2388
2593
  // src/MediaCard.tsx
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";
2594
+ import { ActionIcon as ActionIcon4, Badge as Badge16, Card as Card9, Group as Group31, Stack as Stack35, Text as Text31, Title as Title24 } from "@mantine/core";
2595
+ import { jsx as jsx41, jsxs as jsxs35 } from "react/jsx-runtime";
2391
2596
  function MediaCard({ title, image, description, status, overlay, actions = [] }) {
2392
2597
  const EyeIcon = GdsIcons.Eye;
2393
- return /* @__PURE__ */ jsxs34(Card9, { withBorder: true, radius: "lg", padding: "md", children: [
2394
- /* @__PURE__ */ jsxs34(Card9.Section, { pos: "relative", children: [
2598
+ return /* @__PURE__ */ jsxs35(Card9, { withBorder: true, radius: "lg", padding: "md", children: [
2599
+ /* @__PURE__ */ jsxs35(Card9.Section, { pos: "relative", children: [
2395
2600
  image,
2396
- overlay ? /* @__PURE__ */ jsx40("div", { style: { position: "absolute", inset: 12, display: "flex", justifyContent: "flex-end", alignItems: "flex-start" }, children: overlay }) : null
2601
+ overlay ? /* @__PURE__ */ jsx41("div", { style: { position: "absolute", inset: 12, display: "flex", justifyContent: "flex-end", alignItems: "flex-start" }, children: overlay }) : null
2397
2602
  ] }),
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
2603
+ /* @__PURE__ */ jsxs35(Stack35, { gap: "sm", mt: "md", children: [
2604
+ /* @__PURE__ */ jsxs35(Group31, { justify: "space-between", align: "flex-start", children: [
2605
+ /* @__PURE__ */ jsxs35(Stack35, { gap: 4, children: [
2606
+ /* @__PURE__ */ jsx41(Title24, { order: 4, children: title }),
2607
+ description ? /* @__PURE__ */ jsx41(Text31, { size: "sm", c: "dimmed", lineClamp: 2, children: description }) : null
2403
2608
  ] }),
2404
- status ? /* @__PURE__ */ jsx40(Badge16, { variant: "light", children: status }) : null
2609
+ status ? /* @__PURE__ */ jsx41(Badge16, { variant: "light", children: status }) : null
2405
2610
  ] }),
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
2611
+ actions.length ? /* @__PURE__ */ jsx41(Group31, { justify: "flex-end", gap: "xs", children: actions.map((action) => /* @__PURE__ */ jsx41(ActionIcon4, { variant: "light", "aria-label": action.label, onClick: action.onClick, children: /* @__PURE__ */ jsx41(EyeIcon, { size: "1rem" }) }, action.label)) }) : null
2407
2612
  ] })
2408
2613
  ] });
2409
2614
  }
2410
2615
 
2411
2616
  // src/AccessSummary.tsx
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";
2617
+ import { Badge as Badge17, Card as Card10, Group as Group32, Stack as Stack36, Text as Text32, Title as Title25 } from "@mantine/core";
2618
+ import { jsx as jsx42, jsxs as jsxs36 } from "react/jsx-runtime";
2414
2619
  function AccessSummary({ title, roles, scope, blocked = false, description }) {
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" })
2620
+ return /* @__PURE__ */ jsx42(Card10, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ jsxs36(Stack36, { gap: "sm", children: [
2621
+ /* @__PURE__ */ jsxs36(Group32, { justify: "space-between", align: "center", children: [
2622
+ /* @__PURE__ */ jsx42(Title25, { order: 4, children: title }),
2623
+ /* @__PURE__ */ jsx42(Badge17, { color: blocked ? "red" : "teal", variant: "light", children: blocked ? "Blocked" : "Allowed" })
2419
2624
  ] }),
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: [
2625
+ /* @__PURE__ */ jsx42(Group32, { gap: "xs", children: roles.map((role) => /* @__PURE__ */ jsx42(Badge17, { variant: "outline", children: role }, role)) }),
2626
+ scope ? /* @__PURE__ */ jsxs36(Text32, { size: "sm", c: "dimmed", children: [
2422
2627
  "Scope: ",
2423
2628
  scope
2424
2629
  ] }) : null,
2425
- description ? /* @__PURE__ */ jsx41(Text31, { size: "sm", children: description }) : null
2630
+ description ? /* @__PURE__ */ jsx42(Text32, { size: "sm", children: description }) : null
2426
2631
  ] }) });
2427
2632
  }
2428
2633
 
2429
2634
  // src/PageHeader.tsx
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";
2635
+ import { Box as Box14, Group as Group33, Stack as Stack37, Text as Text33, Title as Title26 } from "@mantine/core";
2636
+ import { jsx as jsx43, jsxs as jsxs37 } from "react/jsx-runtime";
2432
2637
  function PageHeader({
2433
2638
  title,
2434
2639
  description,
@@ -2439,19 +2644,19 @@ function PageHeader({
2439
2644
  }) {
2440
2645
  const resolvedDescription = description ?? subtitle;
2441
2646
  const eyebrowProps = eyebrowVariant === "ornamental" ? { tt: "uppercase", style: { letterSpacing: "0.12em" } } : {};
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 })
2647
+ return /* @__PURE__ */ jsxs37(Group33, { justify: "space-between", align: "flex-start", gap: "lg", wrap: "wrap", children: [
2648
+ /* @__PURE__ */ jsxs37(Stack37, { gap: "xs", children: [
2649
+ eyebrow && /* @__PURE__ */ jsx43(Text33, { size: "xs", fw: 700, c: "dimmed", ...eyebrowProps, children: eyebrow }),
2650
+ /* @__PURE__ */ jsx43(Title26, { order: 1, children: title }),
2651
+ resolvedDescription && /* @__PURE__ */ jsx43(Text33, { c: "dimmed", maw: 720, children: resolvedDescription })
2447
2652
  ] }),
2448
- actions ? /* @__PURE__ */ jsx42(Box13, { children: actions }) : null
2653
+ actions ? /* @__PURE__ */ jsx43(Box14, { children: actions }) : null
2449
2654
  ] });
2450
2655
  }
2451
2656
 
2452
2657
  // src/FilterDrawer.tsx
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";
2658
+ import { Drawer, Group as Group34, Stack as Stack38, Text as Text34 } from "@mantine/core";
2659
+ import { jsx as jsx44, jsxs as jsxs38 } from "react/jsx-runtime";
2455
2660
  function FilterDrawer({
2456
2661
  opened,
2457
2662
  onClose,
@@ -2467,7 +2672,7 @@ function FilterDrawer({
2467
2672
  }) {
2468
2673
  const resolvedPrimaryAction = applyAction ?? primaryAction;
2469
2674
  const resolvedSecondaryAction = resetAction ?? secondaryAction;
2470
- return /* @__PURE__ */ jsx43(
2675
+ return /* @__PURE__ */ jsx44(
2471
2676
  Drawer,
2472
2677
  {
2473
2678
  opened,
@@ -2476,11 +2681,11 @@ function FilterDrawer({
2476
2681
  position: mode === "bottom-sheet" ? "bottom" : "right",
2477
2682
  size: mode === "bottom-sheet" ? "auto" : "md",
2478
2683
  radius: mode === "bottom-sheet" ? "xl" : void 0,
2479
- children: /* @__PURE__ */ jsxs37(Stack37, { gap: "md", children: [
2480
- description ? /* @__PURE__ */ jsx43(Text33, { size: "sm", c: "dimmed", children: description }) : null,
2684
+ children: /* @__PURE__ */ jsxs38(Stack38, { gap: "md", children: [
2685
+ description ? /* @__PURE__ */ jsx44(Text34, { size: "sm", c: "dimmed", children: description }) : null,
2481
2686
  children,
2482
- resolvedPrimaryAction || resolvedSecondaryAction || closeAction ? /* @__PURE__ */ jsxs37(Group34, { justify: "space-between", mt: "md", children: [
2483
- /* @__PURE__ */ jsxs37(Group34, { gap: "sm", children: [
2687
+ resolvedPrimaryAction || resolvedSecondaryAction || closeAction ? /* @__PURE__ */ jsxs38(Group34, { justify: "space-between", mt: "md", children: [
2688
+ /* @__PURE__ */ jsxs38(Group34, { gap: "sm", children: [
2484
2689
  closeAction,
2485
2690
  resolvedSecondaryAction
2486
2691
  ] }),
@@ -2492,8 +2697,8 @@ function FilterDrawer({
2492
2697
  }
2493
2698
 
2494
2699
  // src/PlaceholderPanel.tsx
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";
2700
+ import { Badge as Badge18, Card as Card11, Stack as Stack39, Text as Text35, Title as Title27 } from "@mantine/core";
2701
+ import { Fragment as Fragment7, jsx as jsx45, jsxs as jsxs39 } from "react/jsx-runtime";
2497
2702
  function PlaceholderPanel({
2498
2703
  title,
2499
2704
  description,
@@ -2503,16 +2708,16 @@ function PlaceholderPanel({
2503
2708
  mode
2504
2709
  }) {
2505
2710
  if (mode === "live" && children) {
2506
- return /* @__PURE__ */ jsx44(Fragment7, { children });
2711
+ return /* @__PURE__ */ jsx45(Fragment7, { children });
2507
2712
  }
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 })
2713
+ return /* @__PURE__ */ jsx45(Card11, { children: /* @__PURE__ */ jsxs39(Stack39, { gap: "md", children: [
2714
+ badge ? /* @__PURE__ */ jsx45(Badge18, { variant: "light", color: "blue", w: "fit-content", children: badge }) : null,
2715
+ /* @__PURE__ */ jsxs39(Stack39, { gap: "xs", children: [
2716
+ /* @__PURE__ */ jsx45(Title27, { order: 4, children: title }),
2717
+ /* @__PURE__ */ jsx45(Text35, { c: "dimmed", children: description })
2513
2718
  ] }),
2514
- footer ? /* @__PURE__ */ jsx44(Text34, { size: "sm", children: footer }) : null,
2515
- /* @__PURE__ */ jsx44(
2719
+ footer ? /* @__PURE__ */ jsx45(Text35, { size: "sm", children: footer }) : null,
2720
+ /* @__PURE__ */ jsx45(
2516
2721
  StateBlock,
2517
2722
  {
2518
2723
  variant: "not-enough-data",
@@ -2526,7 +2731,7 @@ function PlaceholderPanel({
2526
2731
 
2527
2732
  // src/SimpleDataTable.tsx
2528
2733
  import { ScrollArea, Table } from "@mantine/core";
2529
- import { jsx as jsx45, jsxs as jsxs39 } from "react/jsx-runtime";
2734
+ import { jsx as jsx46, jsxs as jsxs40 } from "react/jsx-runtime";
2530
2735
  function SimpleDataTable({
2531
2736
  columns,
2532
2737
  rows,
@@ -2537,23 +2742,23 @@ function SimpleDataTable({
2537
2742
  getRowKey
2538
2743
  }) {
2539
2744
  if (error) {
2540
- return /* @__PURE__ */ jsx45(StateBlock, { variant: "error", title: "Unable to load data", description: error, compact: true });
2745
+ return /* @__PURE__ */ jsx46(StateBlock, { variant: "error", title: "Unable to load data", description: error, compact: true });
2541
2746
  }
2542
2747
  if (loading) {
2543
- return /* @__PURE__ */ jsx45(StateBlock, { variant: "loading", title: "Loading data", description: "Please wait while the shared dataset is prepared.", compact: true });
2748
+ return /* @__PURE__ */ jsx46(StateBlock, { variant: "loading", title: "Loading data", description: "Please wait while the shared dataset is prepared.", compact: true });
2544
2749
  }
2545
2750
  if (!rows.length) {
2546
- return /* @__PURE__ */ jsx45(StateBlock, { variant: "empty", title: emptyTitle, description: emptyDescription, compact: true });
2751
+ return /* @__PURE__ */ jsx46(StateBlock, { variant: "empty", title: emptyTitle, description: emptyDescription, compact: true });
2547
2752
  }
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)) })
2753
+ return /* @__PURE__ */ jsx46(ScrollArea, { children: /* @__PURE__ */ jsxs40(Table, { striped: true, highlightOnHover: true, withTableBorder: true, withColumnBorders: true, children: [
2754
+ /* @__PURE__ */ jsx46(Table.Thead, { children: /* @__PURE__ */ jsx46(Table.Tr, { children: columns.map((column) => /* @__PURE__ */ jsx46(Table.Th, { children: column.header }, String(column.key))) }) }),
2755
+ /* @__PURE__ */ jsx46(Table.Tbody, { children: rows.map((row, index) => /* @__PURE__ */ jsx46(Table.Tr, { children: columns.map((column) => /* @__PURE__ */ jsx46(Table.Td, { children: column.render ? column.render(row) : String(row[column.key] ?? "") }, String(column.key))) }, getRowKey ? getRowKey(row, index) : index)) })
2551
2756
  ] }) });
2552
2757
  }
2553
2758
 
2554
2759
  // src/StatsSection.tsx
2555
- import { Stack as Stack39, Title as Title28 } from "@mantine/core";
2556
- import { jsx as jsx46, jsxs as jsxs40 } from "react/jsx-runtime";
2760
+ import { Stack as Stack40, Title as Title28 } from "@mantine/core";
2761
+ import { jsx as jsx47, jsxs as jsxs41 } from "react/jsx-runtime";
2557
2762
  function StatsSection({
2558
2763
  title,
2559
2764
  loading = false,
@@ -2565,11 +2770,11 @@ function StatsSection({
2565
2770
  }) {
2566
2771
  let content = children;
2567
2772
  if (error) {
2568
- content = /* @__PURE__ */ jsx46(StateBlock, { variant: "error", title: "Unable to load statistics", description: error, compact: true });
2773
+ content = /* @__PURE__ */ jsx47(StateBlock, { variant: "error", title: "Unable to load statistics", description: error, compact: true });
2569
2774
  } else if (loading) {
2570
- content = /* @__PURE__ */ jsx46(StateBlock, { variant: "loading", title: "Loading statistics", description: "This shared data surface is still synchronizing.", compact: true });
2775
+ content = /* @__PURE__ */ jsx47(StateBlock, { variant: "loading", title: "Loading statistics", description: "This shared data surface is still synchronizing.", compact: true });
2571
2776
  } else if (belowThreshold) {
2572
- content = /* @__PURE__ */ jsx46(
2777
+ content = /* @__PURE__ */ jsx47(
2573
2778
  StateBlock,
2574
2779
  {
2575
2780
  variant: "not-enough-data",
@@ -2579,10 +2784,10 @@ function StatsSection({
2579
2784
  }
2580
2785
  );
2581
2786
  } else if (placeholder) {
2582
- content = /* @__PURE__ */ jsx46(PlaceholderPanel, { ...placeholder, mode: "placeholder" });
2787
+ content = /* @__PURE__ */ jsx47(PlaceholderPanel, { ...placeholder, mode: "placeholder" });
2583
2788
  }
2584
- return /* @__PURE__ */ jsxs40(Stack39, { gap: "md", children: [
2585
- /* @__PURE__ */ jsx46(Title28, { order: 3, children: title }),
2789
+ return /* @__PURE__ */ jsxs41(Stack40, { gap: "md", children: [
2790
+ /* @__PURE__ */ jsx47(Title28, { order: 3, children: title }),
2586
2791
  content
2587
2792
  ] });
2588
2793
  }
@@ -3904,6 +4109,8 @@ export {
3904
4109
  AccentPanel,
3905
4110
  ReferenceLocaleNotice,
3906
4111
  ReferenceLinkGrid,
4112
+ resolveSurfacePresentationStyles,
4113
+ isPresentationMode,
3907
4114
  SectionPanel,
3908
4115
  ReferenceSection,
3909
4116
  ActionBar,
@@ -3928,6 +4135,10 @@ export {
3928
4135
  PublicSiteFooter,
3929
4136
  PublicBrandFooter,
3930
4137
  AuthShell,
4138
+ PROVIDER_IDENTITY_REGISTRY,
4139
+ getProviderIdentityLabel,
4140
+ ProviderIdentityButton,
4141
+ ProviderIdentityButtonGroup,
3931
4142
  SocialAuthButtons,
3932
4143
  ArticleShell,
3933
4144
  CtaButtonGroup,