@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.
- package/dist/{chunk-BU3CRWRC.mjs → chunk-IUYPELGQ.mjs} +193 -70
- package/dist/{chunk-6LOTZ3IZ.mjs → chunk-LH2KMMXT.mjs} +483 -272
- package/dist/client.d.mts +17 -3
- package/dist/client.d.ts +17 -3
- package/dist/client.js +710 -365
- package/dist/client.mjs +16 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +710 -365
- package/dist/index.mjs +16 -2
- package/dist/{server-CF4gCYQ-.d.mts → server-BSuY9Qx6.d.mts} +92 -6
- package/dist/{server-CF4gCYQ-.d.ts → server-BSuY9Qx6.d.ts} +92 -6
- package/dist/server.d.mts +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +491 -270
- package/dist/server.mjs +13 -1
- package/package.json +2 -2
package/dist/server.js
CHANGED
|
@@ -46,11 +46,14 @@ __export(server_exports, {
|
|
|
46
46
|
MediaCard: () => MediaCard,
|
|
47
47
|
MediaField: () => MediaField,
|
|
48
48
|
MetricCard: () => MetricCard,
|
|
49
|
+
PROVIDER_IDENTITY_REGISTRY: () => PROVIDER_IDENTITY_REGISTRY,
|
|
49
50
|
PageHeader: () => PageHeader,
|
|
50
51
|
PlaceholderPanel: () => PlaceholderPanel,
|
|
51
52
|
PlaybackSurface: () => PlaybackSurface,
|
|
52
53
|
ProductCard: () => ProductCard,
|
|
53
54
|
ProgressCard: () => ProgressCard,
|
|
55
|
+
ProviderIdentityButton: () => ProviderIdentityButton,
|
|
56
|
+
ProviderIdentityButtonGroup: () => ProviderIdentityButtonGroup,
|
|
54
57
|
PublicBrandFooter: () => PublicBrandFooter,
|
|
55
58
|
PublicFlowShell: () => PublicFlowShell,
|
|
56
59
|
PublicFoodCard: () => PublicFoodCard,
|
|
@@ -75,14 +78,17 @@ __export(server_exports, {
|
|
|
75
78
|
fr: () => fr,
|
|
76
79
|
gdsLocales: () => gdsLocales,
|
|
77
80
|
getGdsMessages: () => getGdsMessages,
|
|
81
|
+
getProviderIdentityLabel: () => getProviderIdentityLabel,
|
|
78
82
|
getSemanticActionConfig: () => getSemanticActionConfig,
|
|
79
83
|
getSemanticActionLabel: () => getSemanticActionLabel,
|
|
80
84
|
he: () => he,
|
|
81
85
|
hu: () => hu,
|
|
86
|
+
isPresentationMode: () => isPresentationMode,
|
|
82
87
|
it: () => it,
|
|
83
88
|
mergeGdsVocabularyPacks: () => mergeGdsVocabularyPacks,
|
|
84
89
|
resolveAccentPanelStyles: () => resolveAccentPanelStyles,
|
|
85
90
|
resolveSemanticActionConfig: () => resolveSemanticActionConfig,
|
|
91
|
+
resolveSurfacePresentationStyles: () => resolveSurfacePresentationStyles,
|
|
86
92
|
ru: () => ru
|
|
87
93
|
});
|
|
88
94
|
module.exports = __toCommonJS(server_exports);
|
|
@@ -554,6 +560,51 @@ var import_core9 = require("@mantine/core");
|
|
|
554
560
|
|
|
555
561
|
// src/SectionPanel.tsx
|
|
556
562
|
var import_core8 = require("@mantine/core");
|
|
563
|
+
|
|
564
|
+
// src/SurfacePresentation.ts
|
|
565
|
+
var toCssLength = (value) => {
|
|
566
|
+
if (typeof value === "number") {
|
|
567
|
+
return `${value}px`;
|
|
568
|
+
}
|
|
569
|
+
return value;
|
|
570
|
+
};
|
|
571
|
+
function resolveSurfacePresentationStyles(props) {
|
|
572
|
+
const {
|
|
573
|
+
presentation = "inline",
|
|
574
|
+
minHeight,
|
|
575
|
+
contentAlign,
|
|
576
|
+
contentJustify
|
|
577
|
+
} = props;
|
|
578
|
+
if (presentation === "inline") {
|
|
579
|
+
return {
|
|
580
|
+
minHeight: toCssLength(minHeight)
|
|
581
|
+
};
|
|
582
|
+
}
|
|
583
|
+
const align = contentAlign ?? "center";
|
|
584
|
+
const justify = contentJustify ?? (presentation === "centered" ? "center" : "start");
|
|
585
|
+
if (presentation === "fill") {
|
|
586
|
+
return {
|
|
587
|
+
minHeight: toCssLength(minHeight),
|
|
588
|
+
display: "flex",
|
|
589
|
+
flex: 1,
|
|
590
|
+
flexDirection: "column",
|
|
591
|
+
alignItems: align === "center" ? "center" : "flex-start",
|
|
592
|
+
justifyContent: justify === "center" ? "center" : "flex-start"
|
|
593
|
+
};
|
|
594
|
+
}
|
|
595
|
+
return {
|
|
596
|
+
minHeight: toCssLength(minHeight),
|
|
597
|
+
display: "flex",
|
|
598
|
+
flexDirection: "column",
|
|
599
|
+
alignItems: align === "center" ? "center" : "flex-start",
|
|
600
|
+
justifyContent: justify === "center" ? "center" : "flex-start"
|
|
601
|
+
};
|
|
602
|
+
}
|
|
603
|
+
function isPresentationMode(value) {
|
|
604
|
+
return value === "inline" || value === "centered" || value === "fill";
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
// src/SectionPanel.tsx
|
|
557
608
|
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
558
609
|
var toneBackgrounds = {
|
|
559
610
|
default: "var(--mantine-color-body)",
|
|
@@ -568,8 +619,18 @@ function SectionPanel({
|
|
|
568
619
|
children,
|
|
569
620
|
tone = "default",
|
|
570
621
|
id,
|
|
571
|
-
divided = true
|
|
622
|
+
divided = true,
|
|
623
|
+
presentation = "inline",
|
|
624
|
+
minHeight,
|
|
625
|
+
contentAlign,
|
|
626
|
+
contentJustify
|
|
572
627
|
}) {
|
|
628
|
+
const bodyLayout = resolveSurfacePresentationStyles({
|
|
629
|
+
presentation,
|
|
630
|
+
minHeight,
|
|
631
|
+
contentAlign,
|
|
632
|
+
contentJustify
|
|
633
|
+
});
|
|
573
634
|
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core8.Paper, { id, withBorder: true, radius: "xl", p: "lg", style: { background: toneBackgrounds[tone] }, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_core8.Stack, { gap: "md", children: [
|
|
574
635
|
title || description || action ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
|
|
575
636
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_core8.Group, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
|
|
@@ -581,7 +642,7 @@ function SectionPanel({
|
|
|
581
642
|
] }),
|
|
582
643
|
divided ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core8.Divider, {}) : null
|
|
583
644
|
] }) : null,
|
|
584
|
-
children
|
|
645
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core8.Box, { style: bodyLayout, children })
|
|
585
646
|
] }) });
|
|
586
647
|
}
|
|
587
648
|
|
|
@@ -1222,20 +1283,34 @@ function StateBlock({
|
|
|
1222
1283
|
description,
|
|
1223
1284
|
action,
|
|
1224
1285
|
icon,
|
|
1225
|
-
compact = false
|
|
1286
|
+
compact = false,
|
|
1287
|
+
presentation = "inline",
|
|
1288
|
+
minHeight,
|
|
1289
|
+
contentAlign,
|
|
1290
|
+
contentJustify
|
|
1226
1291
|
}) {
|
|
1227
1292
|
const config = variantConfig[variant];
|
|
1293
|
+
const layout = resolveSurfacePresentationStyles({
|
|
1294
|
+
presentation,
|
|
1295
|
+
minHeight,
|
|
1296
|
+
contentAlign,
|
|
1297
|
+
contentJustify
|
|
1298
|
+
});
|
|
1299
|
+
const centeredText = presentation !== "inline" ? (contentAlign ?? "center") === "center" : !compact;
|
|
1300
|
+
const centeredAlign = presentation !== "inline" ? contentAlign ?? "center" : "start";
|
|
1301
|
+
const headingAlign = presentation === "inline" ? compact ? "flex-start" : "center" : centeredAlign === "center" ? "center" : "flex-start";
|
|
1228
1302
|
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1229
1303
|
import_core18.Stack,
|
|
1230
1304
|
{
|
|
1231
|
-
align:
|
|
1232
|
-
justify: "center",
|
|
1305
|
+
align: headingAlign,
|
|
1306
|
+
justify: presentation === "inline" ? "center" : void 0,
|
|
1233
1307
|
gap: "md",
|
|
1234
1308
|
py: compact ? "md" : "xl",
|
|
1235
|
-
ta:
|
|
1309
|
+
ta: centeredText ? "center" : "left",
|
|
1310
|
+
style: layout,
|
|
1236
1311
|
children: [
|
|
1237
1312
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_core18.ThemeIcon, { variant: "light", color: config.color, size: compact ? "lg" : "xl", radius: "xl", children: icon ?? config.icon }),
|
|
1238
|
-
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_core18.Stack, { gap: 6, align:
|
|
1313
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_core18.Stack, { gap: 6, align: headingAlign, children: [
|
|
1239
1314
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_core18.Title, { order: compact ? 4 : 3, children: title }),
|
|
1240
1315
|
description ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_core18.Text, { c: "dimmed", maw: compact ? void 0 : 480, children: description }) : null
|
|
1241
1316
|
] }),
|
|
@@ -1607,45 +1682,175 @@ function AuthShell({
|
|
|
1607
1682
|
}
|
|
1608
1683
|
|
|
1609
1684
|
// src/SocialAuthButtons.tsx
|
|
1685
|
+
var import_core27 = require("@mantine/core");
|
|
1686
|
+
|
|
1687
|
+
// src/ProviderIdentityButtons.tsx
|
|
1610
1688
|
var import_core26 = require("@mantine/core");
|
|
1611
1689
|
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1612
|
-
var
|
|
1613
|
-
google: {
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1690
|
+
var PROVIDER_IDENTITY_REGISTRY = {
|
|
1691
|
+
google: {
|
|
1692
|
+
providerLabel: "Google",
|
|
1693
|
+
markLabel: "G",
|
|
1694
|
+
brandColor: "red"
|
|
1695
|
+
},
|
|
1696
|
+
apple: {
|
|
1697
|
+
providerLabel: "Apple",
|
|
1698
|
+
markLabel: "A",
|
|
1699
|
+
brandColor: "dark"
|
|
1700
|
+
},
|
|
1701
|
+
github: {
|
|
1702
|
+
providerLabel: "GitHub",
|
|
1703
|
+
markLabel: "GH",
|
|
1704
|
+
brandColor: "gray"
|
|
1705
|
+
},
|
|
1706
|
+
facebook: {
|
|
1707
|
+
providerLabel: "Facebook",
|
|
1708
|
+
markLabel: "F",
|
|
1709
|
+
brandColor: "blue"
|
|
1710
|
+
},
|
|
1711
|
+
microsoft: {
|
|
1712
|
+
providerLabel: "Microsoft",
|
|
1713
|
+
markLabel: "M",
|
|
1714
|
+
brandColor: "cyan"
|
|
1715
|
+
},
|
|
1716
|
+
linkedin: {
|
|
1717
|
+
providerLabel: "LinkedIn",
|
|
1718
|
+
markLabel: "in",
|
|
1719
|
+
brandColor: "blue"
|
|
1720
|
+
},
|
|
1721
|
+
discord: {
|
|
1722
|
+
providerLabel: "Discord",
|
|
1723
|
+
markLabel: "D",
|
|
1724
|
+
brandColor: "indigo"
|
|
1725
|
+
},
|
|
1726
|
+
x: {
|
|
1727
|
+
providerLabel: "X",
|
|
1728
|
+
markLabel: "X",
|
|
1729
|
+
brandColor: "dark"
|
|
1730
|
+
},
|
|
1731
|
+
email: {
|
|
1732
|
+
providerLabel: "Email",
|
|
1733
|
+
markLabel: "@",
|
|
1734
|
+
brandColor: "gray"
|
|
1735
|
+
}
|
|
1622
1736
|
};
|
|
1623
|
-
function
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
const
|
|
1737
|
+
function normalizeProviderId(provider) {
|
|
1738
|
+
return (provider ?? "").trim().toLowerCase();
|
|
1739
|
+
}
|
|
1740
|
+
function isSupportedProviderId(provider) {
|
|
1741
|
+
return provider in PROVIDER_IDENTITY_REGISTRY;
|
|
1742
|
+
}
|
|
1743
|
+
function getProviderIdentityMeta(provider) {
|
|
1744
|
+
const normalized = normalizeProviderId(provider);
|
|
1745
|
+
if (isSupportedProviderId(normalized)) {
|
|
1746
|
+
return {
|
|
1747
|
+
id: normalized,
|
|
1748
|
+
supported: true,
|
|
1749
|
+
...PROVIDER_IDENTITY_REGISTRY[normalized]
|
|
1750
|
+
};
|
|
1751
|
+
}
|
|
1752
|
+
return {
|
|
1753
|
+
id: normalized || "provider",
|
|
1754
|
+
supported: false,
|
|
1755
|
+
providerLabel: provider ? provider : "Provider",
|
|
1756
|
+
markLabel: (provider ?? "PR").slice(0, 2).toUpperCase(),
|
|
1757
|
+
brandColor: "gray"
|
|
1758
|
+
};
|
|
1759
|
+
}
|
|
1760
|
+
function resolveProviderLabel(provider, customLabel) {
|
|
1761
|
+
const meta = getProviderIdentityMeta(provider);
|
|
1762
|
+
if (customLabel != null) {
|
|
1763
|
+
return customLabel;
|
|
1764
|
+
}
|
|
1765
|
+
return `Continue with ${meta.providerLabel}`;
|
|
1766
|
+
}
|
|
1767
|
+
function mapVariant(variant = "neutral") {
|
|
1768
|
+
if (variant === "solid") {
|
|
1769
|
+
return "filled";
|
|
1770
|
+
}
|
|
1771
|
+
if (variant === "outline") {
|
|
1772
|
+
return "outline";
|
|
1773
|
+
}
|
|
1774
|
+
return "default";
|
|
1775
|
+
}
|
|
1776
|
+
function getProviderIdentityLabel(provider, fallbackOverride) {
|
|
1777
|
+
return resolveProviderLabel(provider, fallbackOverride);
|
|
1778
|
+
}
|
|
1779
|
+
function ProviderIdentityMark({ provider }) {
|
|
1780
|
+
const meta = getProviderIdentityMeta(provider);
|
|
1781
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1782
|
+
import_core26.ThemeIcon,
|
|
1783
|
+
{
|
|
1784
|
+
variant: "light",
|
|
1785
|
+
color: meta.brandColor,
|
|
1786
|
+
radius: "xl",
|
|
1787
|
+
size: "md",
|
|
1788
|
+
"aria-hidden": "true",
|
|
1789
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_core26.Text, { size: "xs", fw: 700, c: "inherit", children: meta.markLabel })
|
|
1790
|
+
}
|
|
1791
|
+
);
|
|
1792
|
+
}
|
|
1793
|
+
function ProviderIdentityButton({
|
|
1794
|
+
provider,
|
|
1795
|
+
label,
|
|
1796
|
+
description,
|
|
1797
|
+
href,
|
|
1798
|
+
onClick,
|
|
1799
|
+
disabled,
|
|
1800
|
+
loading,
|
|
1801
|
+
fullWidth = true,
|
|
1802
|
+
size = "md",
|
|
1803
|
+
variant = "neutral",
|
|
1804
|
+
ariaLabel,
|
|
1805
|
+
describedBy,
|
|
1806
|
+
minTouchTargetPx = 44
|
|
1807
|
+
}) {
|
|
1808
|
+
const meta = getProviderIdentityMeta(provider);
|
|
1809
|
+
const buttonLabel = resolveProviderLabel(provider, label);
|
|
1810
|
+
const buttonProps = href ? {
|
|
1811
|
+
component: "a",
|
|
1812
|
+
href
|
|
1813
|
+
} : {
|
|
1814
|
+
onClick
|
|
1815
|
+
};
|
|
1631
1816
|
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1632
1817
|
import_core26.Button,
|
|
1633
1818
|
{
|
|
1634
|
-
variant:
|
|
1819
|
+
variant: mapVariant(variant),
|
|
1820
|
+
color: variant === "solid" ? meta.brandColor : void 0,
|
|
1635
1821
|
justify: "space-between",
|
|
1636
|
-
fullWidth
|
|
1637
|
-
size
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1822
|
+
fullWidth,
|
|
1823
|
+
size,
|
|
1824
|
+
"aria-label": ariaLabel ?? (typeof buttonLabel === "string" ? buttonLabel : void 0),
|
|
1825
|
+
"aria-describedby": describedBy,
|
|
1826
|
+
leftSection: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ProviderIdentityMark, { provider }),
|
|
1827
|
+
disabled,
|
|
1828
|
+
loading,
|
|
1829
|
+
styles: { root: { minHeight: minTouchTargetPx } },
|
|
1641
1830
|
...buttonProps,
|
|
1642
1831
|
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_core26.Stack, { gap: 0, align: "flex-start", children: [
|
|
1643
|
-
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_core26.Text, { inherit: true, children:
|
|
1644
|
-
|
|
1832
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_core26.Text, { inherit: true, children: buttonLabel }),
|
|
1833
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_core26.Text, { size: "xs", c: "dimmed", lh: 1.2, children: description }) : null
|
|
1645
1834
|
] })
|
|
1646
1835
|
}
|
|
1647
1836
|
);
|
|
1648
1837
|
}
|
|
1838
|
+
function ProviderIdentityButtonGroup({ providers, layout = "stack" }) {
|
|
1839
|
+
if (!providers.length) {
|
|
1840
|
+
return null;
|
|
1841
|
+
}
|
|
1842
|
+
const content = providers.map((entry, index) => {
|
|
1843
|
+
const key = `${normalizeProviderId(String(entry.provider)) || "provider"}-${index}`;
|
|
1844
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ProviderIdentityButton, { ...entry }, key);
|
|
1845
|
+
});
|
|
1846
|
+
if (layout === "grid") {
|
|
1847
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_core26.SimpleGrid, { cols: { base: 1, sm: 2 }, spacing: "sm", children: content });
|
|
1848
|
+
}
|
|
1849
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_core26.Stack, { gap: "sm", children: content });
|
|
1850
|
+
}
|
|
1851
|
+
|
|
1852
|
+
// src/SocialAuthButtons.tsx
|
|
1853
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1649
1854
|
function SocialAuthButtons({
|
|
1650
1855
|
providers,
|
|
1651
1856
|
title = "Continue with a trusted provider",
|
|
@@ -1656,54 +1861,64 @@ function SocialAuthButtons({
|
|
|
1656
1861
|
if (!providers.length) {
|
|
1657
1862
|
return null;
|
|
1658
1863
|
}
|
|
1659
|
-
const
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1864
|
+
const buttons = providers.map((provider) => ({
|
|
1865
|
+
provider: provider.id,
|
|
1866
|
+
label: provider.label,
|
|
1867
|
+
description: provider.description,
|
|
1868
|
+
href: provider.href,
|
|
1869
|
+
onClick: provider.onClick,
|
|
1870
|
+
disabled: provider.disabled,
|
|
1871
|
+
loading: provider.loading,
|
|
1872
|
+
size: provider.size ?? (compact ? "sm" : "md"),
|
|
1873
|
+
variant: provider.variant
|
|
1874
|
+
}));
|
|
1875
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_core27.Stack, { gap: "md", children: [
|
|
1876
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_core27.Stack, { gap: 4, ta: "center", children: [
|
|
1877
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_core27.Group, { justify: "center", gap: "xs", children: [
|
|
1878
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(GdsIcons.Login, { size: "1rem" }),
|
|
1879
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_core27.Text, { fw: 600, children: title })
|
|
1665
1880
|
] }),
|
|
1666
|
-
description ? /* @__PURE__ */ (0,
|
|
1881
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_core27.Text, { size: "sm", c: "dimmed", children: description }) : null
|
|
1667
1882
|
] }),
|
|
1668
|
-
/* @__PURE__ */ (0,
|
|
1669
|
-
|
|
1883
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_core27.Divider, {}),
|
|
1884
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ProviderIdentityButtonGroup, { providers: buttons, layout })
|
|
1670
1885
|
] });
|
|
1671
1886
|
}
|
|
1672
1887
|
|
|
1673
1888
|
// src/ArticleShell.tsx
|
|
1674
|
-
var
|
|
1675
|
-
var
|
|
1889
|
+
var import_core28 = require("@mantine/core");
|
|
1890
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1676
1891
|
function ArticleShell({ eyebrow, title, lead, meta, sideRail, children }) {
|
|
1677
|
-
return /* @__PURE__ */ (0,
|
|
1678
|
-
/* @__PURE__ */ (0,
|
|
1679
|
-
/* @__PURE__ */ (0,
|
|
1680
|
-
eyebrow ? /* @__PURE__ */ (0,
|
|
1681
|
-
/* @__PURE__ */ (0,
|
|
1682
|
-
lead ? /* @__PURE__ */ (0,
|
|
1683
|
-
meta ? /* @__PURE__ */ (0,
|
|
1892
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_core28.Container, { size: "lg", py: "xl", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_core28.Group, { align: "flex-start", gap: "xl", wrap: "nowrap", children: [
|
|
1893
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_core28.Stack, { gap: "lg", maw: 760, flex: 1, children: [
|
|
1894
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_core28.Stack, { gap: "sm", children: [
|
|
1895
|
+
eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_core28.Text, { size: "sm", fw: 700, c: "dimmed", tt: "uppercase", children: eyebrow }) : null,
|
|
1896
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_core28.Title, { order: 1, children: title }),
|
|
1897
|
+
lead ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_core28.Text, { size: "lg", c: "dimmed", children: lead }) : null,
|
|
1898
|
+
meta ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_core28.Group, { gap: "md", children: meta }) : null
|
|
1684
1899
|
] }),
|
|
1685
|
-
/* @__PURE__ */ (0,
|
|
1900
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_core28.Stack, { gap: "md", children })
|
|
1686
1901
|
] }),
|
|
1687
|
-
sideRail ? /* @__PURE__ */ (0,
|
|
1902
|
+
sideRail ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_core28.Stack, { visibleFrom: "lg", gap: "md", w: 240, children: sideRail }) : null
|
|
1688
1903
|
] }) });
|
|
1689
1904
|
}
|
|
1690
1905
|
|
|
1691
1906
|
// src/CtaButtonGroup.tsx
|
|
1692
|
-
var
|
|
1693
|
-
var
|
|
1907
|
+
var import_core29 = require("@mantine/core");
|
|
1908
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1694
1909
|
function CtaButtonGroup({ primary, secondary, tertiary }) {
|
|
1695
|
-
return /* @__PURE__ */ (0,
|
|
1696
|
-
/* @__PURE__ */ (0,
|
|
1697
|
-
/* @__PURE__ */ (0,
|
|
1698
|
-
secondary ? /* @__PURE__ */ (0,
|
|
1910
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_core29.Stack, { gap: "sm", children: [
|
|
1911
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_core29.Group, { gap: "sm", align: "stretch", children: [
|
|
1912
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { children: primary }),
|
|
1913
|
+
secondary ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { children: secondary }) : null
|
|
1699
1914
|
] }),
|
|
1700
|
-
tertiary ? /* @__PURE__ */ (0,
|
|
1915
|
+
tertiary ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { children: tertiary }) : null
|
|
1701
1916
|
] });
|
|
1702
1917
|
}
|
|
1703
1918
|
|
|
1704
1919
|
// src/DocsPageShell.tsx
|
|
1705
|
-
var
|
|
1706
|
-
var
|
|
1920
|
+
var import_core30 = require("@mantine/core");
|
|
1921
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1707
1922
|
function DocsPageShell({
|
|
1708
1923
|
breadcrumbs = [],
|
|
1709
1924
|
title,
|
|
@@ -1714,27 +1929,27 @@ function DocsPageShell({
|
|
|
1714
1929
|
footerNext,
|
|
1715
1930
|
children
|
|
1716
1931
|
}) {
|
|
1717
|
-
return /* @__PURE__ */ (0,
|
|
1718
|
-
/* @__PURE__ */ (0,
|
|
1719
|
-
breadcrumbs.length ? /* @__PURE__ */ (0,
|
|
1720
|
-
(crumb) => crumb.href ? /* @__PURE__ */ (0,
|
|
1932
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core30.Container, { fluid: true, py: "xl", px: { base: "md", md: "lg", lg: "xl" }, w: "100%", maw: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_core30.Group, { align: "flex-start", gap: "xl", wrap: "nowrap", children: [
|
|
1933
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_core30.Stack, { component: "article", gap: "lg", flex: 1, miw: 0, children: [
|
|
1934
|
+
breadcrumbs.length ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core30.Breadcrumbs, { children: breadcrumbs.map(
|
|
1935
|
+
(crumb) => crumb.href ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core30.Anchor, { href: crumb.href, children: crumb.label }, `${crumb.label}-${crumb.href}`) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core30.Text, { children: crumb.label }, crumb.label)
|
|
1721
1936
|
) }) : null,
|
|
1722
|
-
/* @__PURE__ */ (0,
|
|
1723
|
-
eyebrow ? /* @__PURE__ */ (0,
|
|
1724
|
-
/* @__PURE__ */ (0,
|
|
1725
|
-
lead ? /* @__PURE__ */ (0,
|
|
1726
|
-
meta ? /* @__PURE__ */ (0,
|
|
1937
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_core30.Stack, { gap: "sm", children: [
|
|
1938
|
+
eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core30.Text, { size: "sm", fw: 700, c: "dimmed", children: eyebrow }) : null,
|
|
1939
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core30.Title, { order: 1, children: title }),
|
|
1940
|
+
lead ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core30.Text, { size: "lg", c: "dimmed", children: lead }) : null,
|
|
1941
|
+
meta ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core30.Group, { gap: "md", children: meta }) : null
|
|
1727
1942
|
] }),
|
|
1728
|
-
/* @__PURE__ */ (0,
|
|
1729
|
-
footerNext ? /* @__PURE__ */ (0,
|
|
1943
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core30.Stack, { gap: "md", children }),
|
|
1944
|
+
footerNext ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core30.Anchor, { href: footerNext.href, fw: 600, children: footerNext.label }) : null
|
|
1730
1945
|
] }),
|
|
1731
|
-
sideRail ? /* @__PURE__ */ (0,
|
|
1946
|
+
sideRail ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core30.Stack, { visibleFrom: "lg", gap: "md", w: 240, children: sideRail }) : null
|
|
1732
1947
|
] }) });
|
|
1733
1948
|
}
|
|
1734
1949
|
|
|
1735
1950
|
// src/EditorialHero.tsx
|
|
1736
|
-
var
|
|
1737
|
-
var
|
|
1951
|
+
var import_core31 = require("@mantine/core");
|
|
1952
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1738
1953
|
function resolveActionVariant(action, index, seenPrimary) {
|
|
1739
1954
|
const requested = action.variant ?? (index === 0 ? "primary" : "secondary");
|
|
1740
1955
|
if (requested === "primary" && !seenPrimary) {
|
|
@@ -1746,8 +1961,8 @@ function resolveActionVariant(action, index, seenPrimary) {
|
|
|
1746
1961
|
return { variant: "default", seenPrimary };
|
|
1747
1962
|
}
|
|
1748
1963
|
function HeroAction({ action, variant }) {
|
|
1749
|
-
const content = /* @__PURE__ */ (0,
|
|
1750
|
-
|
|
1964
|
+
const content = /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
1965
|
+
import_core31.Anchor,
|
|
1751
1966
|
{
|
|
1752
1967
|
href: action.href,
|
|
1753
1968
|
onClick: action.onClick,
|
|
@@ -1771,8 +1986,8 @@ function HeroAction({ action, variant }) {
|
|
|
1771
1986
|
}
|
|
1772
1987
|
);
|
|
1773
1988
|
if (!action.href) {
|
|
1774
|
-
return /* @__PURE__ */ (0,
|
|
1775
|
-
|
|
1989
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
1990
|
+
import_core31.Box,
|
|
1776
1991
|
{
|
|
1777
1992
|
component: "button",
|
|
1778
1993
|
type: "button",
|
|
@@ -1799,30 +2014,30 @@ function HeroAction({ action, variant }) {
|
|
|
1799
2014
|
return content;
|
|
1800
2015
|
}
|
|
1801
2016
|
function LoadingHero({ compact }) {
|
|
1802
|
-
return /* @__PURE__ */ (0,
|
|
1803
|
-
/* @__PURE__ */ (0,
|
|
1804
|
-
/* @__PURE__ */ (0,
|
|
1805
|
-
/* @__PURE__ */ (0,
|
|
1806
|
-
/* @__PURE__ */ (0,
|
|
1807
|
-
/* @__PURE__ */ (0,
|
|
1808
|
-
/* @__PURE__ */ (0,
|
|
1809
|
-
/* @__PURE__ */ (0,
|
|
1810
|
-
/* @__PURE__ */ (0,
|
|
2017
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Paper, { withBorder: true, radius: "xl", p: compact ? "lg" : "xl", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_core31.Grid, { gutter: compact ? "lg" : "xl", align: "center", children: [
|
|
2018
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Grid.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_core31.Stack, { gap: "md", children: [
|
|
2019
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Skeleton, { height: 16, width: 96, radius: "xl" }),
|
|
2020
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Skeleton, { height: 48, width: "90%", radius: "md" }),
|
|
2021
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Skeleton, { height: 18, width: "100%", radius: "md" }),
|
|
2022
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Skeleton, { height: 18, width: "82%", radius: "md" }),
|
|
2023
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_core31.Group, { children: [
|
|
2024
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Skeleton, { height: 40, width: 140, radius: "md" }),
|
|
2025
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Skeleton, { height: 40, width: 140, radius: "md" })
|
|
1811
2026
|
] })
|
|
1812
2027
|
] }) }),
|
|
1813
|
-
/* @__PURE__ */ (0,
|
|
2028
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Grid.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.AspectRatio, { ratio: 16 / 11, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Skeleton, { radius: "lg" }) }) })
|
|
1814
2029
|
] }) });
|
|
1815
2030
|
}
|
|
1816
2031
|
function MediaFallback() {
|
|
1817
|
-
return /* @__PURE__ */ (0,
|
|
1818
|
-
|
|
2032
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.AspectRatio, { ratio: 16 / 11, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2033
|
+
import_core31.ThemeIcon,
|
|
1819
2034
|
{
|
|
1820
2035
|
size: "100%",
|
|
1821
2036
|
radius: "lg",
|
|
1822
2037
|
color: "gray",
|
|
1823
2038
|
variant: "light",
|
|
1824
2039
|
"aria-label": "Hero media is unavailable",
|
|
1825
|
-
children: /* @__PURE__ */ (0,
|
|
2040
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(GdsIcons.Gallery, { size: "2.5rem" })
|
|
1826
2041
|
}
|
|
1827
2042
|
) });
|
|
1828
2043
|
}
|
|
@@ -1842,8 +2057,8 @@ function MediaFrame({
|
|
|
1842
2057
|
} else if (mediaFade === "soft-start") {
|
|
1843
2058
|
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%)";
|
|
1844
2059
|
}
|
|
1845
|
-
return /* @__PURE__ */ (0,
|
|
1846
|
-
|
|
2060
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2061
|
+
import_core31.Box,
|
|
1847
2062
|
{
|
|
1848
2063
|
component: "figure",
|
|
1849
2064
|
m: 0,
|
|
@@ -1856,9 +2071,9 @@ function MediaFrame({
|
|
|
1856
2071
|
},
|
|
1857
2072
|
"aria-label": mediaAlt,
|
|
1858
2073
|
children: [
|
|
1859
|
-
media ?? /* @__PURE__ */ (0,
|
|
1860
|
-
media && overlayBackground ? /* @__PURE__ */ (0,
|
|
1861
|
-
|
|
2074
|
+
media ?? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(MediaFallback, {}),
|
|
2075
|
+
media && overlayBackground ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2076
|
+
import_core31.Box,
|
|
1862
2077
|
{
|
|
1863
2078
|
"aria-hidden": true,
|
|
1864
2079
|
style: {
|
|
@@ -1891,7 +2106,7 @@ function EditorialHero({
|
|
|
1891
2106
|
classNames
|
|
1892
2107
|
}) {
|
|
1893
2108
|
if (loading) {
|
|
1894
|
-
return /* @__PURE__ */ (0,
|
|
2109
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(LoadingHero, { compact });
|
|
1895
2110
|
}
|
|
1896
2111
|
const stackAlign = align === "center" ? "center" : "flex-start";
|
|
1897
2112
|
const textAlign = align === "center" ? "center" : "left";
|
|
@@ -1899,15 +2114,15 @@ function EditorialHero({
|
|
|
1899
2114
|
const renderedActions = actions.slice(0, 3).map((action, index) => {
|
|
1900
2115
|
const resolved = resolveActionVariant(action, index, seenPrimary);
|
|
1901
2116
|
seenPrimary = resolved.seenPrimary;
|
|
1902
|
-
return /* @__PURE__ */ (0,
|
|
2117
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(HeroAction, { action, variant: resolved.variant }, `${action.label}-${index}`);
|
|
1903
2118
|
});
|
|
1904
|
-
const textSlot = /* @__PURE__ */ (0,
|
|
1905
|
-
/* @__PURE__ */ (0,
|
|
1906
|
-
eyebrow ? /* @__PURE__ */ (0,
|
|
1907
|
-
/* @__PURE__ */ (0,
|
|
1908
|
-
description ? /* @__PURE__ */ (0,
|
|
2119
|
+
const textSlot = /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_core31.Stack, { gap: compact ? "md" : "lg", justify: "center", h: "100%", className: classNames?.content, children: [
|
|
2120
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_core31.Stack, { gap: "sm", align: stackAlign, children: [
|
|
2121
|
+
eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Text, { size: "sm", fw: 700, c: "dimmed", ta: textAlign, children: eyebrow }) : null,
|
|
2122
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Title, { order: 1, maw: 760, ta: textAlign, children: title }),
|
|
2123
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Text, { size: compact ? "md" : "lg", c: "dimmed", maw: 720, ta: textAlign, children: description }) : null
|
|
1909
2124
|
] }),
|
|
1910
|
-
renderedActions.length ? /* @__PURE__ */ (0,
|
|
2125
|
+
renderedActions.length ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Box, { className: classNames?.actions, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
1911
2126
|
CtaButtonGroup,
|
|
1912
2127
|
{
|
|
1913
2128
|
primary: renderedActions[0],
|
|
@@ -1915,8 +2130,8 @@ function EditorialHero({
|
|
|
1915
2130
|
tertiary: renderedActions[2]
|
|
1916
2131
|
}
|
|
1917
2132
|
) }) : null,
|
|
1918
|
-
meta.length ? /* @__PURE__ */ (0,
|
|
1919
|
-
|
|
2133
|
+
meta.length ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Group, { gap: "sm", wrap: "wrap", "aria-label": "Supporting details", className: classNames?.meta, children: meta.map((item) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2134
|
+
import_core31.Group,
|
|
1920
2135
|
{
|
|
1921
2136
|
gap: 6,
|
|
1922
2137
|
px: "sm",
|
|
@@ -1927,17 +2142,17 @@ function EditorialHero({
|
|
|
1927
2142
|
},
|
|
1928
2143
|
children: [
|
|
1929
2144
|
item.icon,
|
|
1930
|
-
/* @__PURE__ */ (0,
|
|
2145
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Text, { size: "sm", c: "dimmed", children: item.label })
|
|
1931
2146
|
]
|
|
1932
2147
|
},
|
|
1933
2148
|
item.id
|
|
1934
2149
|
)) }) : null
|
|
1935
2150
|
] });
|
|
1936
|
-
const mediaSlot = error ? /* @__PURE__ */ (0,
|
|
1937
|
-
const textCol = /* @__PURE__ */ (0,
|
|
1938
|
-
const mediaCol = /* @__PURE__ */ (0,
|
|
1939
|
-
return /* @__PURE__ */ (0,
|
|
1940
|
-
|
|
2151
|
+
const mediaSlot = error ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(AccentPanel, { tone: "red", variant: "soft-outline", title: "Media unavailable", children: error }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(MediaFrame, { media, mediaAlt, mediaFade, className: classNames?.media });
|
|
2152
|
+
const textCol = /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Grid.Col, { span: { base: 12, md: 6 }, order: { base: 1, md: mediaPosition === "left" ? 2 : 1 }, children: textSlot });
|
|
2153
|
+
const mediaCol = /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Grid.Col, { span: { base: 12, md: 6 }, order: { base: 2, md: mediaPosition === "left" ? 1 : 2 }, children: mediaSlot });
|
|
2154
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2155
|
+
import_core31.Paper,
|
|
1941
2156
|
{
|
|
1942
2157
|
component: "section",
|
|
1943
2158
|
withBorder: true,
|
|
@@ -1945,7 +2160,7 @@ function EditorialHero({
|
|
|
1945
2160
|
p: compact ? "lg" : "xl",
|
|
1946
2161
|
className: classNames?.root,
|
|
1947
2162
|
style: surfaceVariant === "flat-public" ? { boxShadow: "none" } : void 0,
|
|
1948
|
-
children: /* @__PURE__ */ (0,
|
|
2163
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_core31.Grid, { gutter: compact ? "lg" : "xl", align: "center", children: [
|
|
1949
2164
|
textCol,
|
|
1950
2165
|
mediaCol
|
|
1951
2166
|
] })
|
|
@@ -1954,19 +2169,19 @@ function EditorialHero({
|
|
|
1954
2169
|
}
|
|
1955
2170
|
|
|
1956
2171
|
// src/FeatureBand.tsx
|
|
1957
|
-
var
|
|
1958
|
-
var
|
|
2172
|
+
var import_core32 = require("@mantine/core");
|
|
2173
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1959
2174
|
function FeatureBandSkeleton({
|
|
1960
2175
|
columns = 3,
|
|
1961
2176
|
bordered = true,
|
|
1962
2177
|
variant = "default"
|
|
1963
2178
|
}) {
|
|
1964
|
-
return /* @__PURE__ */ (0,
|
|
1965
|
-
/* @__PURE__ */ (0,
|
|
1966
|
-
/* @__PURE__ */ (0,
|
|
1967
|
-
/* @__PURE__ */ (0,
|
|
1968
|
-
/* @__PURE__ */ (0,
|
|
1969
|
-
/* @__PURE__ */ (0,
|
|
2179
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.SimpleGrid, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Paper, { withBorder: bordered, radius: "lg", p: variant === "compact" ? "md" : "lg", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_core32.Stack, { gap: "md", children: [
|
|
2180
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Skeleton, { height: variant === "process" ? 28 : 42, width: variant === "process" ? 72 : 42, radius: "xl" }),
|
|
2181
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_core32.Stack, { gap: "xs", children: [
|
|
2182
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Skeleton, { height: 20, width: "75%", radius: "md" }),
|
|
2183
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Skeleton, { height: 14, width: "100%", radius: "md" }),
|
|
2184
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Skeleton, { height: 14, width: "82%", radius: "md" })
|
|
1970
2185
|
] })
|
|
1971
2186
|
] }) }, index)) });
|
|
1972
2187
|
}
|
|
@@ -1979,10 +2194,10 @@ function FeatureBand({
|
|
|
1979
2194
|
variant = "default"
|
|
1980
2195
|
}) {
|
|
1981
2196
|
if (loading) {
|
|
1982
|
-
return /* @__PURE__ */ (0,
|
|
2197
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(FeatureBandSkeleton, { columns, bordered, variant });
|
|
1983
2198
|
}
|
|
1984
2199
|
if (!items.length) {
|
|
1985
|
-
return emptyState ? /* @__PURE__ */ (0,
|
|
2200
|
+
return emptyState ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children: emptyState }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1986
2201
|
EmptyState,
|
|
1987
2202
|
{
|
|
1988
2203
|
title: "No supporting details available",
|
|
@@ -1990,9 +2205,9 @@ function FeatureBand({
|
|
|
1990
2205
|
}
|
|
1991
2206
|
);
|
|
1992
2207
|
}
|
|
1993
|
-
return /* @__PURE__ */ (0,
|
|
1994
|
-
variant === "process" ? /* @__PURE__ */ (0,
|
|
1995
|
-
|
|
2208
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Box, { component: "section", "aria-label": "Supporting features", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.SimpleGrid, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Paper, { withBorder: bordered, radius: "lg", p: variant === "compact" ? "md" : "lg", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_core32.Stack, { gap: "md", children: [
|
|
2209
|
+
variant === "process" ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Group, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2210
|
+
import_core32.Text,
|
|
1996
2211
|
{
|
|
1997
2212
|
fw: 800,
|
|
1998
2213
|
size: "sm",
|
|
@@ -2004,31 +2219,31 @@ function FeatureBand({
|
|
|
2004
2219
|
},
|
|
2005
2220
|
children: item.stepLabel ?? `Step ${index + 1}`
|
|
2006
2221
|
}
|
|
2007
|
-
) }) : item.media ? item.media : item.icon ? /* @__PURE__ */ (0,
|
|
2008
|
-
/* @__PURE__ */ (0,
|
|
2009
|
-
/* @__PURE__ */ (0,
|
|
2010
|
-
item.description ? /* @__PURE__ */ (0,
|
|
2011
|
-
item.meta ? /* @__PURE__ */ (0,
|
|
2222
|
+
) }) : item.media ? item.media : item.icon ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Group, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.ThemeIcon, { size: "xl", radius: "xl", variant: "light", color: "violet", children: item.icon }) }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Group, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.ThemeIcon, { size: "xl", radius: "xl", variant: "light", color: "gray", "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(GdsIcons.Info, { size: "1.25rem" }) }) }),
|
|
2223
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_core32.Stack, { gap: "xs", children: [
|
|
2224
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Title, { order: 4, children: item.title }),
|
|
2225
|
+
item.description ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Text, { c: "dimmed", children: item.description }) : null,
|
|
2226
|
+
item.meta ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Text, { size: "sm", c: "dimmed", children: item.meta }) : null
|
|
2012
2227
|
] })
|
|
2013
2228
|
] }) }, item.id)) }) });
|
|
2014
2229
|
}
|
|
2015
2230
|
|
|
2016
2231
|
// src/MapPanel.tsx
|
|
2017
|
-
var
|
|
2232
|
+
var import_core34 = require("@mantine/core");
|
|
2018
2233
|
|
|
2019
2234
|
// src/ActionBar.tsx
|
|
2020
|
-
var
|
|
2021
|
-
var
|
|
2235
|
+
var import_core33 = require("@mantine/core");
|
|
2236
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2022
2237
|
function renderSemanticAction(action, slot, vocabularyPacks) {
|
|
2023
2238
|
const { action: actionId, variant, ariaLabel, ...props } = action;
|
|
2024
2239
|
const fallbackVariant = slot === "primary" ? "filled" : slot === "secondary" ? "default" : "subtle";
|
|
2025
2240
|
const config = resolveSemanticActionConfig(actionId, vocabularyPacks);
|
|
2026
2241
|
const Icon = config.icon;
|
|
2027
2242
|
const label = getSemanticActionLabel(actionId, void 0, vocabularyPacks);
|
|
2028
|
-
return /* @__PURE__ */ (0,
|
|
2029
|
-
|
|
2243
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2244
|
+
import_core33.Button,
|
|
2030
2245
|
{
|
|
2031
|
-
leftSection: /* @__PURE__ */ (0,
|
|
2246
|
+
leftSection: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Icon, { size: "1rem", stroke: 1.75 }),
|
|
2032
2247
|
"aria-label": ariaLabel ?? label,
|
|
2033
2248
|
variant: variant ?? fallbackVariant,
|
|
2034
2249
|
...props,
|
|
@@ -2045,23 +2260,23 @@ function ActionBar({
|
|
|
2045
2260
|
gap = "sm",
|
|
2046
2261
|
vocabularyPacks = []
|
|
2047
2262
|
}) {
|
|
2048
|
-
return /* @__PURE__ */ (0,
|
|
2049
|
-
/* @__PURE__ */ (0,
|
|
2263
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_core33.Stack, { gap, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_core33.Group, { justify: "space-between", align: "center", gap, wrap: "wrap", children: [
|
|
2264
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_core33.Group, { gap, wrap: "wrap", children: [
|
|
2050
2265
|
secondary.map((action) => renderSemanticAction(action, "secondary", vocabularyPacks)),
|
|
2051
2266
|
tertiary.map((action) => renderSemanticAction(action, "tertiary", vocabularyPacks))
|
|
2052
2267
|
] }),
|
|
2053
|
-
/* @__PURE__ */ (0,
|
|
2268
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_core33.Group, { gap, wrap: "wrap", justify: "flex-end", style: { marginInlineStart: "auto" }, children: [
|
|
2054
2269
|
iconOnly.map(({ action, ariaLabel, ...props }) => {
|
|
2055
2270
|
const config = resolveSemanticActionConfig(action, vocabularyPacks);
|
|
2056
2271
|
const Icon = config.icon;
|
|
2057
|
-
return /* @__PURE__ */ (0,
|
|
2058
|
-
|
|
2272
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2273
|
+
import_core33.ActionIcon,
|
|
2059
2274
|
{
|
|
2060
2275
|
variant: "subtle",
|
|
2061
2276
|
size: "lg",
|
|
2062
2277
|
"aria-label": ariaLabel ?? getSemanticActionLabel(action, void 0, vocabularyPacks),
|
|
2063
2278
|
...props,
|
|
2064
|
-
children: /* @__PURE__ */ (0,
|
|
2279
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Icon, { size: "1rem", stroke: 1.75 })
|
|
2065
2280
|
},
|
|
2066
2281
|
`icon-${action}`
|
|
2067
2282
|
);
|
|
@@ -2072,7 +2287,7 @@ function ActionBar({
|
|
|
2072
2287
|
}
|
|
2073
2288
|
|
|
2074
2289
|
// src/MapPanel.tsx
|
|
2075
|
-
var
|
|
2290
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2076
2291
|
function MapPanel({
|
|
2077
2292
|
title,
|
|
2078
2293
|
description,
|
|
@@ -2088,7 +2303,7 @@ function MapPanel({
|
|
|
2088
2303
|
}) {
|
|
2089
2304
|
let body;
|
|
2090
2305
|
if (loading) {
|
|
2091
|
-
body = /* @__PURE__ */ (0,
|
|
2306
|
+
body = /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2092
2307
|
StateBlock,
|
|
2093
2308
|
{
|
|
2094
2309
|
variant: "loading",
|
|
@@ -2098,9 +2313,9 @@ function MapPanel({
|
|
|
2098
2313
|
}
|
|
2099
2314
|
);
|
|
2100
2315
|
} else if (error) {
|
|
2101
|
-
body = /* @__PURE__ */ (0,
|
|
2316
|
+
body = /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(StateBlock, { variant: "error", title: "Map unavailable", description: error, compact: true });
|
|
2102
2317
|
} else if (!iframeSrc && !renderMap) {
|
|
2103
|
-
body = /* @__PURE__ */ (0,
|
|
2318
|
+
body = /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2104
2319
|
StateBlock,
|
|
2105
2320
|
{
|
|
2106
2321
|
variant: "empty",
|
|
@@ -2110,9 +2325,9 @@ function MapPanel({
|
|
|
2110
2325
|
}
|
|
2111
2326
|
);
|
|
2112
2327
|
} else if (renderMap) {
|
|
2113
|
-
body = /* @__PURE__ */ (0,
|
|
2328
|
+
body = /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core34.Box, { style: { minHeight }, children: renderMap() });
|
|
2114
2329
|
} else {
|
|
2115
|
-
body = /* @__PURE__ */ (0,
|
|
2330
|
+
body = /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core34.AspectRatio, { ratio: 16 / 9, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2116
2331
|
"iframe",
|
|
2117
2332
|
{
|
|
2118
2333
|
src: iframeSrc,
|
|
@@ -2124,21 +2339,21 @@ function MapPanel({
|
|
|
2124
2339
|
}
|
|
2125
2340
|
) });
|
|
2126
2341
|
}
|
|
2127
|
-
return /* @__PURE__ */ (0,
|
|
2128
|
-
/* @__PURE__ */ (0,
|
|
2129
|
-
/* @__PURE__ */ (0,
|
|
2130
|
-
/* @__PURE__ */ (0,
|
|
2131
|
-
description ? /* @__PURE__ */ (0,
|
|
2342
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core34.Paper, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_core34.Stack, { gap: "md", children: [
|
|
2343
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_core34.Group, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
|
|
2344
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_core34.Stack, { gap: 4, children: [
|
|
2345
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core34.Title, { order: 3, children: title }),
|
|
2346
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core34.Text, { size: "sm", c: "dimmed", children: description }) : null
|
|
2132
2347
|
] }),
|
|
2133
|
-
actions ? /* @__PURE__ */ (0,
|
|
2348
|
+
actions ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ActionBar, { ...actions }) : null
|
|
2134
2349
|
] }),
|
|
2135
2350
|
body
|
|
2136
2351
|
] }) });
|
|
2137
2352
|
}
|
|
2138
2353
|
|
|
2139
2354
|
// src/PublicFlowShell.tsx
|
|
2140
|
-
var
|
|
2141
|
-
var
|
|
2355
|
+
var import_core35 = require("@mantine/core");
|
|
2356
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2142
2357
|
var stageTone = {
|
|
2143
2358
|
idle: { label: "Idle", color: "gray" },
|
|
2144
2359
|
loading: { label: "Loading", color: "blue" },
|
|
@@ -2190,7 +2405,7 @@ function PublicFlowShell({
|
|
|
2190
2405
|
const actionBar = toActionBar(stage.actions);
|
|
2191
2406
|
let body = stage.body;
|
|
2192
2407
|
if (stage.status === "loading") {
|
|
2193
|
-
body = /* @__PURE__ */ (0,
|
|
2408
|
+
body = /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2194
2409
|
StateBlock,
|
|
2195
2410
|
{
|
|
2196
2411
|
variant: "loading",
|
|
@@ -2199,7 +2414,7 @@ function PublicFlowShell({
|
|
|
2199
2414
|
}
|
|
2200
2415
|
);
|
|
2201
2416
|
} else if (stage.status === "error") {
|
|
2202
|
-
body = errorState ?? /* @__PURE__ */ (0,
|
|
2417
|
+
body = errorState ?? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2203
2418
|
StateBlock,
|
|
2204
2419
|
{
|
|
2205
2420
|
variant: "error",
|
|
@@ -2208,7 +2423,7 @@ function PublicFlowShell({
|
|
|
2208
2423
|
}
|
|
2209
2424
|
);
|
|
2210
2425
|
} else if (!stage.body && !hardwareSurface) {
|
|
2211
|
-
body = emptyState ?? /* @__PURE__ */ (0,
|
|
2426
|
+
body = emptyState ?? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2212
2427
|
EmptyState,
|
|
2213
2428
|
{
|
|
2214
2429
|
title: "No stage content available",
|
|
@@ -2216,29 +2431,29 @@ function PublicFlowShell({
|
|
|
2216
2431
|
}
|
|
2217
2432
|
);
|
|
2218
2433
|
}
|
|
2219
|
-
return /* @__PURE__ */ (0,
|
|
2220
|
-
/* @__PURE__ */ (0,
|
|
2221
|
-
/* @__PURE__ */ (0,
|
|
2222
|
-
eyebrow ? /* @__PURE__ */ (0,
|
|
2223
|
-
/* @__PURE__ */ (0,
|
|
2224
|
-
/* @__PURE__ */ (0,
|
|
2225
|
-
/* @__PURE__ */ (0,
|
|
2434
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Paper, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_core35.Stack, { gap: "lg", children: [
|
|
2435
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_core35.Group, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
|
|
2436
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_core35.Stack, { gap: 4, children: [
|
|
2437
|
+
eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Text, { size: "xs", fw: 700, c: "dimmed", tt: "uppercase", children: eyebrow }) : null,
|
|
2438
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_core35.Group, { gap: "sm", wrap: "wrap", children: [
|
|
2439
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Title, { order: 2, children: stage.title }),
|
|
2440
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Badge, { variant: "light", color: tone.color, children: tone.label })
|
|
2226
2441
|
] }),
|
|
2227
|
-
stage.description ? /* @__PURE__ */ (0,
|
|
2442
|
+
stage.description ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Text, { size: "sm", c: "dimmed", children: stage.description }) : null
|
|
2228
2443
|
] }),
|
|
2229
2444
|
exitAction
|
|
2230
2445
|
] }),
|
|
2231
|
-
stage.notice ? /* @__PURE__ */ (0,
|
|
2446
|
+
stage.notice ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Text, { size: "sm", c: "dimmed", children: stage.notice }) : null,
|
|
2232
2447
|
body,
|
|
2233
2448
|
hardwareSurface,
|
|
2234
2449
|
stage.aside,
|
|
2235
|
-
actionBar ? /* @__PURE__ */ (0,
|
|
2450
|
+
actionBar ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ActionBar, { ...actionBar }) : null
|
|
2236
2451
|
] }) });
|
|
2237
2452
|
}
|
|
2238
2453
|
|
|
2239
2454
|
// src/PlaybackSurface.tsx
|
|
2240
|
-
var
|
|
2241
|
-
var
|
|
2455
|
+
var import_core36 = require("@mantine/core");
|
|
2456
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2242
2457
|
var stateTone = {
|
|
2243
2458
|
loading: { label: "Loading", color: "blue" },
|
|
2244
2459
|
ready: { label: "Ready", color: "teal" },
|
|
@@ -2261,7 +2476,7 @@ function PlaybackSurface({
|
|
|
2261
2476
|
const tone = stateTone[state];
|
|
2262
2477
|
let content;
|
|
2263
2478
|
if (state === "loading") {
|
|
2264
|
-
content = /* @__PURE__ */ (0,
|
|
2479
|
+
content = /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2265
2480
|
StateBlock,
|
|
2266
2481
|
{
|
|
2267
2482
|
variant: "loading",
|
|
@@ -2270,7 +2485,7 @@ function PlaybackSurface({
|
|
|
2270
2485
|
}
|
|
2271
2486
|
);
|
|
2272
2487
|
} else if (state === "empty") {
|
|
2273
|
-
content = emptyState ?? /* @__PURE__ */ (0,
|
|
2488
|
+
content = emptyState ?? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2274
2489
|
EmptyState,
|
|
2275
2490
|
{
|
|
2276
2491
|
title: "No playback content available",
|
|
@@ -2278,7 +2493,7 @@ function PlaybackSurface({
|
|
|
2278
2493
|
}
|
|
2279
2494
|
);
|
|
2280
2495
|
} else if (state === "error") {
|
|
2281
|
-
content = errorState ?? /* @__PURE__ */ (0,
|
|
2496
|
+
content = errorState ?? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2282
2497
|
StateBlock,
|
|
2283
2498
|
{
|
|
2284
2499
|
variant: "error",
|
|
@@ -2287,23 +2502,23 @@ function PlaybackSurface({
|
|
|
2287
2502
|
}
|
|
2288
2503
|
);
|
|
2289
2504
|
} else {
|
|
2290
|
-
content = /* @__PURE__ */ (0,
|
|
2505
|
+
content = /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_core36.Stack, { gap: "md", children: [
|
|
2291
2506
|
media,
|
|
2292
2507
|
overlays
|
|
2293
2508
|
] });
|
|
2294
2509
|
}
|
|
2295
|
-
return /* @__PURE__ */ (0,
|
|
2296
|
-
title || statusMessage || controls ? /* @__PURE__ */ (0,
|
|
2297
|
-
/* @__PURE__ */ (0,
|
|
2298
|
-
title ? /* @__PURE__ */ (0,
|
|
2299
|
-
statusMessage ? /* @__PURE__ */ (0,
|
|
2510
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_core36.Paper, { withBorder: true, radius: "xl", p: "lg", "data-playback-mode": mode, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_core36.Stack, { gap: "md", children: [
|
|
2511
|
+
title || statusMessage || controls ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_core36.Group, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
|
|
2512
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_core36.Stack, { gap: 4, children: [
|
|
2513
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_core36.Title, { order: 3, children: title }) : null,
|
|
2514
|
+
statusMessage ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_core36.Text, { size: "sm", c: "dimmed", children: statusMessage }) : null
|
|
2300
2515
|
] }),
|
|
2301
|
-
/* @__PURE__ */ (0,
|
|
2302
|
-
/* @__PURE__ */ (0,
|
|
2516
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_core36.Group, { gap: "sm", align: "center", wrap: "wrap", children: [
|
|
2517
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_core36.Badge, { variant: "light", color: tone.color, children: tone.label }),
|
|
2303
2518
|
controls
|
|
2304
2519
|
] })
|
|
2305
2520
|
] }) : null,
|
|
2306
|
-
state === "degraded" ? /* @__PURE__ */ (0,
|
|
2521
|
+
state === "degraded" ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2307
2522
|
StateBlock,
|
|
2308
2523
|
{
|
|
2309
2524
|
variant: "info",
|
|
@@ -2317,22 +2532,22 @@ function PlaybackSurface({
|
|
|
2317
2532
|
}
|
|
2318
2533
|
|
|
2319
2534
|
// src/MediaField.tsx
|
|
2320
|
-
var
|
|
2535
|
+
var import_core38 = require("@mantine/core");
|
|
2321
2536
|
|
|
2322
2537
|
// src/FormField.tsx
|
|
2323
|
-
var
|
|
2324
|
-
var
|
|
2538
|
+
var import_core37 = require("@mantine/core");
|
|
2539
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2325
2540
|
function FormField({ label, description, error, children }) {
|
|
2326
|
-
return /* @__PURE__ */ (0,
|
|
2327
|
-
typeof label === "string" ? /* @__PURE__ */ (0,
|
|
2328
|
-
description ? typeof description === "string" ? /* @__PURE__ */ (0,
|
|
2541
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_core37.Box, { component: "label", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_core37.Stack, { gap: 4, children: [
|
|
2542
|
+
typeof label === "string" ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_core37.Text, { size: "xs", fw: 600, c: "dimmed", children: label }) : label,
|
|
2543
|
+
description ? typeof description === "string" ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_core37.Text, { size: "xs", c: "dimmed", children: description }) : description : null,
|
|
2329
2544
|
children,
|
|
2330
|
-
error ? typeof error === "string" ? /* @__PURE__ */ (0,
|
|
2545
|
+
error ? typeof error === "string" ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_core37.Text, { size: "xs", c: "red.7", children: error }) : error : null
|
|
2331
2546
|
] }) });
|
|
2332
2547
|
}
|
|
2333
2548
|
|
|
2334
2549
|
// src/MediaField.tsx
|
|
2335
|
-
var
|
|
2550
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2336
2551
|
var stateLabels = {
|
|
2337
2552
|
empty: { label: "Empty", color: "gray" },
|
|
2338
2553
|
selected: { label: "Selected", color: "blue" },
|
|
@@ -2360,32 +2575,32 @@ function MediaField({
|
|
|
2360
2575
|
mode = "stacked"
|
|
2361
2576
|
}) {
|
|
2362
2577
|
const stateBadge = stateLabels[state];
|
|
2363
|
-
const resolvedRemoveAction = removeAction ?? (onRemove ? /* @__PURE__ */ (0,
|
|
2364
|
-
const resolvedResetAction = resetAction ?? (onReset ? /* @__PURE__ */ (0,
|
|
2365
|
-
return /* @__PURE__ */ (0,
|
|
2578
|
+
const resolvedRemoveAction = removeAction ?? (onRemove ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_core38.Button, { type: "button", variant: "light", color: "red", onClick: onRemove, children: "Remove" }) : null);
|
|
2579
|
+
const resolvedResetAction = resetAction ?? (onReset ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_core38.Button, { type: "button", variant: "default", onClick: onReset, children: "Reset" }) : null);
|
|
2580
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2366
2581
|
FormField,
|
|
2367
2582
|
{
|
|
2368
2583
|
label,
|
|
2369
2584
|
description,
|
|
2370
2585
|
error,
|
|
2371
|
-
children: /* @__PURE__ */ (0,
|
|
2372
|
-
/* @__PURE__ */ (0,
|
|
2373
|
-
/* @__PURE__ */ (0,
|
|
2586
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_core38.Paper, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_core38.Stack, { gap: "md", children: [
|
|
2587
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_core38.Group, { justify: "flex-end", align: "center", gap: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_core38.Group, { gap: "xs", justify: "flex-end", children: [
|
|
2588
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_core38.Badge, { variant: "light", color: stateBadge.color, children: stateBadge.label }),
|
|
2374
2589
|
statusAction
|
|
2375
2590
|
] }) }),
|
|
2376
2591
|
preview ? preview : null,
|
|
2377
|
-
uploadControl || urlInput ? /* @__PURE__ */ (0,
|
|
2378
|
-
/* @__PURE__ */ (0,
|
|
2379
|
-
/* @__PURE__ */ (0,
|
|
2592
|
+
uploadControl || urlInput ? /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
|
|
2593
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_core38.Divider, {}),
|
|
2594
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_core38.Stack, { gap: "sm", style: mode === "split" ? { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(220px, 1fr))" } : void 0, children: [
|
|
2380
2595
|
uploadControl,
|
|
2381
2596
|
urlInput
|
|
2382
2597
|
] })
|
|
2383
2598
|
] }) : null,
|
|
2384
|
-
value ? /* @__PURE__ */ (0,
|
|
2385
|
-
helpText ? /* @__PURE__ */ (0,
|
|
2386
|
-
policyText ? /* @__PURE__ */ (0,
|
|
2599
|
+
value ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_core38.Text, { size: "sm", c: "dimmed", style: { wordBreak: "break-all" }, children: value }) : null,
|
|
2600
|
+
helpText ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_core38.Text, { size: "sm", c: "dimmed", children: helpText }) : null,
|
|
2601
|
+
policyText ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_core38.Text, { size: "sm", c: error ? "red.7" : "dimmed", children: policyText }) : null,
|
|
2387
2602
|
typeof error !== "string" && error ? error : null,
|
|
2388
|
-
resolvedRemoveAction || resolvedResetAction ? /* @__PURE__ */ (0,
|
|
2603
|
+
resolvedRemoveAction || resolvedResetAction ? /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_core38.Group, { gap: "sm", children: [
|
|
2389
2604
|
resolvedResetAction,
|
|
2390
2605
|
retryAction,
|
|
2391
2606
|
resolvedRemoveAction
|
|
@@ -2396,49 +2611,49 @@ function MediaField({
|
|
|
2396
2611
|
}
|
|
2397
2612
|
|
|
2398
2613
|
// src/MediaCard.tsx
|
|
2399
|
-
var
|
|
2400
|
-
var
|
|
2614
|
+
var import_core39 = require("@mantine/core");
|
|
2615
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2401
2616
|
function MediaCard({ title, image, description, status, overlay, actions = [] }) {
|
|
2402
2617
|
const EyeIcon = GdsIcons.Eye;
|
|
2403
|
-
return /* @__PURE__ */ (0,
|
|
2404
|
-
/* @__PURE__ */ (0,
|
|
2618
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_core39.Card, { withBorder: true, radius: "lg", padding: "md", children: [
|
|
2619
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_core39.Card.Section, { pos: "relative", children: [
|
|
2405
2620
|
image,
|
|
2406
|
-
overlay ? /* @__PURE__ */ (0,
|
|
2621
|
+
overlay ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { style: { position: "absolute", inset: 12, display: "flex", justifyContent: "flex-end", alignItems: "flex-start" }, children: overlay }) : null
|
|
2407
2622
|
] }),
|
|
2408
|
-
/* @__PURE__ */ (0,
|
|
2409
|
-
/* @__PURE__ */ (0,
|
|
2410
|
-
/* @__PURE__ */ (0,
|
|
2411
|
-
/* @__PURE__ */ (0,
|
|
2412
|
-
description ? /* @__PURE__ */ (0,
|
|
2623
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_core39.Stack, { gap: "sm", mt: "md", children: [
|
|
2624
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_core39.Group, { justify: "space-between", align: "flex-start", children: [
|
|
2625
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_core39.Stack, { gap: 4, children: [
|
|
2626
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_core39.Title, { order: 4, children: title }),
|
|
2627
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_core39.Text, { size: "sm", c: "dimmed", lineClamp: 2, children: description }) : null
|
|
2413
2628
|
] }),
|
|
2414
|
-
status ? /* @__PURE__ */ (0,
|
|
2629
|
+
status ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_core39.Badge, { variant: "light", children: status }) : null
|
|
2415
2630
|
] }),
|
|
2416
|
-
actions.length ? /* @__PURE__ */ (0,
|
|
2631
|
+
actions.length ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_core39.Group, { justify: "flex-end", gap: "xs", children: actions.map((action) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_core39.ActionIcon, { variant: "light", "aria-label": action.label, onClick: action.onClick, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(EyeIcon, { size: "1rem" }) }, action.label)) }) : null
|
|
2417
2632
|
] })
|
|
2418
2633
|
] });
|
|
2419
2634
|
}
|
|
2420
2635
|
|
|
2421
2636
|
// src/AccessSummary.tsx
|
|
2422
|
-
var
|
|
2423
|
-
var
|
|
2637
|
+
var import_core40 = require("@mantine/core");
|
|
2638
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2424
2639
|
function AccessSummary({ title, roles, scope, blocked = false, description }) {
|
|
2425
|
-
return /* @__PURE__ */ (0,
|
|
2426
|
-
/* @__PURE__ */ (0,
|
|
2427
|
-
/* @__PURE__ */ (0,
|
|
2428
|
-
/* @__PURE__ */ (0,
|
|
2640
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_core40.Card, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_core40.Stack, { gap: "sm", children: [
|
|
2641
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_core40.Group, { justify: "space-between", align: "center", children: [
|
|
2642
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_core40.Title, { order: 4, children: title }),
|
|
2643
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_core40.Badge, { color: blocked ? "red" : "teal", variant: "light", children: blocked ? "Blocked" : "Allowed" })
|
|
2429
2644
|
] }),
|
|
2430
|
-
/* @__PURE__ */ (0,
|
|
2431
|
-
scope ? /* @__PURE__ */ (0,
|
|
2645
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_core40.Group, { gap: "xs", children: roles.map((role) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_core40.Badge, { variant: "outline", children: role }, role)) }),
|
|
2646
|
+
scope ? /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_core40.Text, { size: "sm", c: "dimmed", children: [
|
|
2432
2647
|
"Scope: ",
|
|
2433
2648
|
scope
|
|
2434
2649
|
] }) : null,
|
|
2435
|
-
description ? /* @__PURE__ */ (0,
|
|
2650
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_core40.Text, { size: "sm", children: description }) : null
|
|
2436
2651
|
] }) });
|
|
2437
2652
|
}
|
|
2438
2653
|
|
|
2439
2654
|
// src/PageHeader.tsx
|
|
2440
|
-
var
|
|
2441
|
-
var
|
|
2655
|
+
var import_core41 = require("@mantine/core");
|
|
2656
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
2442
2657
|
function PageHeader({
|
|
2443
2658
|
title,
|
|
2444
2659
|
description,
|
|
@@ -2449,19 +2664,19 @@ function PageHeader({
|
|
|
2449
2664
|
}) {
|
|
2450
2665
|
const resolvedDescription = description ?? subtitle;
|
|
2451
2666
|
const eyebrowProps = eyebrowVariant === "ornamental" ? { tt: "uppercase", style: { letterSpacing: "0.12em" } } : {};
|
|
2452
|
-
return /* @__PURE__ */ (0,
|
|
2453
|
-
/* @__PURE__ */ (0,
|
|
2454
|
-
eyebrow && /* @__PURE__ */ (0,
|
|
2455
|
-
/* @__PURE__ */ (0,
|
|
2456
|
-
resolvedDescription && /* @__PURE__ */ (0,
|
|
2667
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_core41.Group, { justify: "space-between", align: "flex-start", gap: "lg", wrap: "wrap", children: [
|
|
2668
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_core41.Stack, { gap: "xs", children: [
|
|
2669
|
+
eyebrow && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core41.Text, { size: "xs", fw: 700, c: "dimmed", ...eyebrowProps, children: eyebrow }),
|
|
2670
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core41.Title, { order: 1, children: title }),
|
|
2671
|
+
resolvedDescription && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core41.Text, { c: "dimmed", maw: 720, children: resolvedDescription })
|
|
2457
2672
|
] }),
|
|
2458
|
-
actions ? /* @__PURE__ */ (0,
|
|
2673
|
+
actions ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core41.Box, { children: actions }) : null
|
|
2459
2674
|
] });
|
|
2460
2675
|
}
|
|
2461
2676
|
|
|
2462
2677
|
// src/FilterDrawer.tsx
|
|
2463
|
-
var
|
|
2464
|
-
var
|
|
2678
|
+
var import_core42 = require("@mantine/core");
|
|
2679
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2465
2680
|
function FilterDrawer({
|
|
2466
2681
|
opened,
|
|
2467
2682
|
onClose,
|
|
@@ -2477,8 +2692,8 @@ function FilterDrawer({
|
|
|
2477
2692
|
}) {
|
|
2478
2693
|
const resolvedPrimaryAction = applyAction ?? primaryAction;
|
|
2479
2694
|
const resolvedSecondaryAction = resetAction ?? secondaryAction;
|
|
2480
|
-
return /* @__PURE__ */ (0,
|
|
2481
|
-
|
|
2695
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2696
|
+
import_core42.Drawer,
|
|
2482
2697
|
{
|
|
2483
2698
|
opened,
|
|
2484
2699
|
onClose,
|
|
@@ -2486,11 +2701,11 @@ function FilterDrawer({
|
|
|
2486
2701
|
position: mode === "bottom-sheet" ? "bottom" : "right",
|
|
2487
2702
|
size: mode === "bottom-sheet" ? "auto" : "md",
|
|
2488
2703
|
radius: mode === "bottom-sheet" ? "xl" : void 0,
|
|
2489
|
-
children: /* @__PURE__ */ (0,
|
|
2490
|
-
description ? /* @__PURE__ */ (0,
|
|
2704
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_core42.Stack, { gap: "md", children: [
|
|
2705
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Text, { size: "sm", c: "dimmed", children: description }) : null,
|
|
2491
2706
|
children,
|
|
2492
|
-
resolvedPrimaryAction || resolvedSecondaryAction || closeAction ? /* @__PURE__ */ (0,
|
|
2493
|
-
/* @__PURE__ */ (0,
|
|
2707
|
+
resolvedPrimaryAction || resolvedSecondaryAction || closeAction ? /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_core42.Group, { justify: "space-between", mt: "md", children: [
|
|
2708
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_core42.Group, { gap: "sm", children: [
|
|
2494
2709
|
closeAction,
|
|
2495
2710
|
resolvedSecondaryAction
|
|
2496
2711
|
] }),
|
|
@@ -2502,8 +2717,8 @@ function FilterDrawer({
|
|
|
2502
2717
|
}
|
|
2503
2718
|
|
|
2504
2719
|
// src/PlaceholderPanel.tsx
|
|
2505
|
-
var
|
|
2506
|
-
var
|
|
2720
|
+
var import_core43 = require("@mantine/core");
|
|
2721
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2507
2722
|
function PlaceholderPanel({
|
|
2508
2723
|
title,
|
|
2509
2724
|
description,
|
|
@@ -2513,16 +2728,16 @@ function PlaceholderPanel({
|
|
|
2513
2728
|
mode
|
|
2514
2729
|
}) {
|
|
2515
2730
|
if (mode === "live" && children) {
|
|
2516
|
-
return /* @__PURE__ */ (0,
|
|
2731
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children });
|
|
2517
2732
|
}
|
|
2518
|
-
return /* @__PURE__ */ (0,
|
|
2519
|
-
badge ? /* @__PURE__ */ (0,
|
|
2520
|
-
/* @__PURE__ */ (0,
|
|
2521
|
-
/* @__PURE__ */ (0,
|
|
2522
|
-
/* @__PURE__ */ (0,
|
|
2733
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Card, { children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_core43.Stack, { gap: "md", children: [
|
|
2734
|
+
badge ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Badge, { variant: "light", color: "blue", w: "fit-content", children: badge }) : null,
|
|
2735
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_core43.Stack, { gap: "xs", children: [
|
|
2736
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Title, { order: 4, children: title }),
|
|
2737
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Text, { c: "dimmed", children: description })
|
|
2523
2738
|
] }),
|
|
2524
|
-
footer ? /* @__PURE__ */ (0,
|
|
2525
|
-
/* @__PURE__ */ (0,
|
|
2739
|
+
footer ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Text, { size: "sm", children: footer }) : null,
|
|
2740
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
2526
2741
|
StateBlock,
|
|
2527
2742
|
{
|
|
2528
2743
|
variant: "not-enough-data",
|
|
@@ -2535,8 +2750,8 @@ function PlaceholderPanel({
|
|
|
2535
2750
|
}
|
|
2536
2751
|
|
|
2537
2752
|
// src/SimpleDataTable.tsx
|
|
2538
|
-
var
|
|
2539
|
-
var
|
|
2753
|
+
var import_core44 = require("@mantine/core");
|
|
2754
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2540
2755
|
function SimpleDataTable({
|
|
2541
2756
|
columns,
|
|
2542
2757
|
rows,
|
|
@@ -2547,23 +2762,23 @@ function SimpleDataTable({
|
|
|
2547
2762
|
getRowKey
|
|
2548
2763
|
}) {
|
|
2549
2764
|
if (error) {
|
|
2550
|
-
return /* @__PURE__ */ (0,
|
|
2765
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(StateBlock, { variant: "error", title: "Unable to load data", description: error, compact: true });
|
|
2551
2766
|
}
|
|
2552
2767
|
if (loading) {
|
|
2553
|
-
return /* @__PURE__ */ (0,
|
|
2768
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(StateBlock, { variant: "loading", title: "Loading data", description: "Please wait while the shared dataset is prepared.", compact: true });
|
|
2554
2769
|
}
|
|
2555
2770
|
if (!rows.length) {
|
|
2556
|
-
return /* @__PURE__ */ (0,
|
|
2771
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(StateBlock, { variant: "empty", title: emptyTitle, description: emptyDescription, compact: true });
|
|
2557
2772
|
}
|
|
2558
|
-
return /* @__PURE__ */ (0,
|
|
2559
|
-
/* @__PURE__ */ (0,
|
|
2560
|
-
/* @__PURE__ */ (0,
|
|
2773
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_core44.ScrollArea, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_core44.Table, { striped: true, highlightOnHover: true, withTableBorder: true, withColumnBorders: true, children: [
|
|
2774
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_core44.Table.Thead, { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_core44.Table.Tr, { children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_core44.Table.Th, { children: column.header }, String(column.key))) }) }),
|
|
2775
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_core44.Table.Tbody, { children: rows.map((row, index) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_core44.Table.Tr, { children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_core44.Table.Td, { children: column.render ? column.render(row) : String(row[column.key] ?? "") }, String(column.key))) }, getRowKey ? getRowKey(row, index) : index)) })
|
|
2561
2776
|
] }) });
|
|
2562
2777
|
}
|
|
2563
2778
|
|
|
2564
2779
|
// src/StatsSection.tsx
|
|
2565
|
-
var
|
|
2566
|
-
var
|
|
2780
|
+
var import_core45 = require("@mantine/core");
|
|
2781
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2567
2782
|
function StatsSection({
|
|
2568
2783
|
title,
|
|
2569
2784
|
loading = false,
|
|
@@ -2575,11 +2790,11 @@ function StatsSection({
|
|
|
2575
2790
|
}) {
|
|
2576
2791
|
let content = children;
|
|
2577
2792
|
if (error) {
|
|
2578
|
-
content = /* @__PURE__ */ (0,
|
|
2793
|
+
content = /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(StateBlock, { variant: "error", title: "Unable to load statistics", description: error, compact: true });
|
|
2579
2794
|
} else if (loading) {
|
|
2580
|
-
content = /* @__PURE__ */ (0,
|
|
2795
|
+
content = /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(StateBlock, { variant: "loading", title: "Loading statistics", description: "This shared data surface is still synchronizing.", compact: true });
|
|
2581
2796
|
} else if (belowThreshold) {
|
|
2582
|
-
content = /* @__PURE__ */ (0,
|
|
2797
|
+
content = /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2583
2798
|
StateBlock,
|
|
2584
2799
|
{
|
|
2585
2800
|
variant: "not-enough-data",
|
|
@@ -2589,10 +2804,10 @@ function StatsSection({
|
|
|
2589
2804
|
}
|
|
2590
2805
|
);
|
|
2591
2806
|
} else if (placeholder) {
|
|
2592
|
-
content = /* @__PURE__ */ (0,
|
|
2807
|
+
content = /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(PlaceholderPanel, { ...placeholder, mode: "placeholder" });
|
|
2593
2808
|
}
|
|
2594
|
-
return /* @__PURE__ */ (0,
|
|
2595
|
-
/* @__PURE__ */ (0,
|
|
2809
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_core45.Stack, { gap: "md", children: [
|
|
2810
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_core45.Title, { order: 3, children: title }),
|
|
2596
2811
|
content
|
|
2597
2812
|
] });
|
|
2598
2813
|
}
|
|
@@ -3927,11 +4142,14 @@ function getGdsMessages(locale) {
|
|
|
3927
4142
|
MediaCard,
|
|
3928
4143
|
MediaField,
|
|
3929
4144
|
MetricCard,
|
|
4145
|
+
PROVIDER_IDENTITY_REGISTRY,
|
|
3930
4146
|
PageHeader,
|
|
3931
4147
|
PlaceholderPanel,
|
|
3932
4148
|
PlaybackSurface,
|
|
3933
4149
|
ProductCard,
|
|
3934
4150
|
ProgressCard,
|
|
4151
|
+
ProviderIdentityButton,
|
|
4152
|
+
ProviderIdentityButtonGroup,
|
|
3935
4153
|
PublicBrandFooter,
|
|
3936
4154
|
PublicFlowShell,
|
|
3937
4155
|
PublicFoodCard,
|
|
@@ -3956,13 +4174,16 @@ function getGdsMessages(locale) {
|
|
|
3956
4174
|
fr,
|
|
3957
4175
|
gdsLocales,
|
|
3958
4176
|
getGdsMessages,
|
|
4177
|
+
getProviderIdentityLabel,
|
|
3959
4178
|
getSemanticActionConfig,
|
|
3960
4179
|
getSemanticActionLabel,
|
|
3961
4180
|
he,
|
|
3962
4181
|
hu,
|
|
4182
|
+
isPresentationMode,
|
|
3963
4183
|
it,
|
|
3964
4184
|
mergeGdsVocabularyPacks,
|
|
3965
4185
|
resolveAccentPanelStyles,
|
|
3966
4186
|
resolveSemanticActionConfig,
|
|
4187
|
+
resolveSurfacePresentationStyles,
|
|
3967
4188
|
ru
|
|
3968
4189
|
});
|