@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/client.js
CHANGED
|
@@ -37,6 +37,7 @@ __export(client_exports, {
|
|
|
37
37
|
DiscoveryShell: () => DiscoveryShell,
|
|
38
38
|
DocsCodeBlock: () => DocsCodeBlock,
|
|
39
39
|
DocsPageShell: () => DocsPageShell,
|
|
40
|
+
DocsShell: () => DocsShell,
|
|
40
41
|
EditorialCard: () => EditorialCard,
|
|
41
42
|
EditorialHero: () => EditorialHero,
|
|
42
43
|
EmptyState: () => EmptyState,
|
|
@@ -52,11 +53,14 @@ __export(client_exports, {
|
|
|
52
53
|
MediaCard: () => MediaCard,
|
|
53
54
|
MediaField: () => MediaField,
|
|
54
55
|
MetricCard: () => MetricCard,
|
|
56
|
+
PROVIDER_IDENTITY_REGISTRY: () => PROVIDER_IDENTITY_REGISTRY,
|
|
55
57
|
PageHeader: () => PageHeader,
|
|
56
58
|
PlaceholderPanel: () => PlaceholderPanel,
|
|
57
59
|
PlaybackSurface: () => PlaybackSurface,
|
|
58
60
|
ProductCard: () => ProductCard,
|
|
59
61
|
ProgressCard: () => ProgressCard,
|
|
62
|
+
ProviderIdentityButton: () => ProviderIdentityButton,
|
|
63
|
+
ProviderIdentityButtonGroup: () => ProviderIdentityButtonGroup,
|
|
60
64
|
PublicBrandFooter: () => PublicBrandFooter,
|
|
61
65
|
PublicFlowShell: () => PublicFlowShell,
|
|
62
66
|
PublicFoodCard: () => PublicFoodCard,
|
|
@@ -89,14 +93,17 @@ __export(client_exports, {
|
|
|
89
93
|
fr: () => fr,
|
|
90
94
|
gdsLocales: () => gdsLocales,
|
|
91
95
|
getGdsMessages: () => getGdsMessages,
|
|
96
|
+
getProviderIdentityLabel: () => getProviderIdentityLabel,
|
|
92
97
|
getSemanticActionConfig: () => getSemanticActionConfig,
|
|
93
98
|
getSemanticActionLabel: () => getSemanticActionLabel,
|
|
94
99
|
he: () => he,
|
|
95
100
|
hu: () => hu,
|
|
101
|
+
isPresentationMode: () => isPresentationMode,
|
|
96
102
|
it: () => it,
|
|
97
103
|
mergeGdsVocabularyPacks: () => mergeGdsVocabularyPacks,
|
|
98
104
|
resolveAccentPanelStyles: () => resolveAccentPanelStyles,
|
|
99
105
|
resolveSemanticActionConfig: () => resolveSemanticActionConfig,
|
|
106
|
+
resolveSurfacePresentationStyles: () => resolveSurfacePresentationStyles,
|
|
100
107
|
ru: () => ru
|
|
101
108
|
});
|
|
102
109
|
module.exports = __toCommonJS(client_exports);
|
|
@@ -574,6 +581,51 @@ var import_core9 = require("@mantine/core");
|
|
|
574
581
|
|
|
575
582
|
// src/SectionPanel.tsx
|
|
576
583
|
var import_core8 = require("@mantine/core");
|
|
584
|
+
|
|
585
|
+
// src/SurfacePresentation.ts
|
|
586
|
+
var toCssLength = (value) => {
|
|
587
|
+
if (typeof value === "number") {
|
|
588
|
+
return `${value}px`;
|
|
589
|
+
}
|
|
590
|
+
return value;
|
|
591
|
+
};
|
|
592
|
+
function resolveSurfacePresentationStyles(props) {
|
|
593
|
+
const {
|
|
594
|
+
presentation = "inline",
|
|
595
|
+
minHeight,
|
|
596
|
+
contentAlign,
|
|
597
|
+
contentJustify
|
|
598
|
+
} = props;
|
|
599
|
+
if (presentation === "inline") {
|
|
600
|
+
return {
|
|
601
|
+
minHeight: toCssLength(minHeight)
|
|
602
|
+
};
|
|
603
|
+
}
|
|
604
|
+
const align = contentAlign ?? "center";
|
|
605
|
+
const justify = contentJustify ?? (presentation === "centered" ? "center" : "start");
|
|
606
|
+
if (presentation === "fill") {
|
|
607
|
+
return {
|
|
608
|
+
minHeight: toCssLength(minHeight),
|
|
609
|
+
display: "flex",
|
|
610
|
+
flex: 1,
|
|
611
|
+
flexDirection: "column",
|
|
612
|
+
alignItems: align === "center" ? "center" : "flex-start",
|
|
613
|
+
justifyContent: justify === "center" ? "center" : "flex-start"
|
|
614
|
+
};
|
|
615
|
+
}
|
|
616
|
+
return {
|
|
617
|
+
minHeight: toCssLength(minHeight),
|
|
618
|
+
display: "flex",
|
|
619
|
+
flexDirection: "column",
|
|
620
|
+
alignItems: align === "center" ? "center" : "flex-start",
|
|
621
|
+
justifyContent: justify === "center" ? "center" : "flex-start"
|
|
622
|
+
};
|
|
623
|
+
}
|
|
624
|
+
function isPresentationMode(value) {
|
|
625
|
+
return value === "inline" || value === "centered" || value === "fill";
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
// src/SectionPanel.tsx
|
|
577
629
|
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
578
630
|
var toneBackgrounds = {
|
|
579
631
|
default: "var(--mantine-color-body)",
|
|
@@ -588,8 +640,18 @@ function SectionPanel({
|
|
|
588
640
|
children,
|
|
589
641
|
tone = "default",
|
|
590
642
|
id,
|
|
591
|
-
divided = true
|
|
643
|
+
divided = true,
|
|
644
|
+
presentation = "inline",
|
|
645
|
+
minHeight,
|
|
646
|
+
contentAlign,
|
|
647
|
+
contentJustify
|
|
592
648
|
}) {
|
|
649
|
+
const bodyLayout = resolveSurfacePresentationStyles({
|
|
650
|
+
presentation,
|
|
651
|
+
minHeight,
|
|
652
|
+
contentAlign,
|
|
653
|
+
contentJustify
|
|
654
|
+
});
|
|
593
655
|
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: [
|
|
594
656
|
title || description || action ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
|
|
595
657
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_core8.Group, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
|
|
@@ -601,7 +663,7 @@ function SectionPanel({
|
|
|
601
663
|
] }),
|
|
602
664
|
divided ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core8.Divider, {}) : null
|
|
603
665
|
] }) : null,
|
|
604
|
-
children
|
|
666
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core8.Box, { style: bodyLayout, children })
|
|
605
667
|
] }) });
|
|
606
668
|
}
|
|
607
669
|
|
|
@@ -829,20 +891,34 @@ function StateBlock({
|
|
|
829
891
|
description,
|
|
830
892
|
action,
|
|
831
893
|
icon,
|
|
832
|
-
compact = false
|
|
894
|
+
compact = false,
|
|
895
|
+
presentation = "inline",
|
|
896
|
+
minHeight,
|
|
897
|
+
contentAlign,
|
|
898
|
+
contentJustify
|
|
833
899
|
}) {
|
|
834
900
|
const config = variantConfig[variant];
|
|
901
|
+
const layout = resolveSurfacePresentationStyles({
|
|
902
|
+
presentation,
|
|
903
|
+
minHeight,
|
|
904
|
+
contentAlign,
|
|
905
|
+
contentJustify
|
|
906
|
+
});
|
|
907
|
+
const centeredText = presentation !== "inline" ? (contentAlign ?? "center") === "center" : !compact;
|
|
908
|
+
const centeredAlign = presentation !== "inline" ? contentAlign ?? "center" : "start";
|
|
909
|
+
const headingAlign = presentation === "inline" ? compact ? "flex-start" : "center" : centeredAlign === "center" ? "center" : "flex-start";
|
|
835
910
|
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
836
911
|
import_core13.Stack,
|
|
837
912
|
{
|
|
838
|
-
align:
|
|
839
|
-
justify: "center",
|
|
913
|
+
align: headingAlign,
|
|
914
|
+
justify: presentation === "inline" ? "center" : void 0,
|
|
840
915
|
gap: "md",
|
|
841
916
|
py: compact ? "md" : "xl",
|
|
842
|
-
ta:
|
|
917
|
+
ta: centeredText ? "center" : "left",
|
|
918
|
+
style: layout,
|
|
843
919
|
children: [
|
|
844
920
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_core13.ThemeIcon, { variant: "light", color: config.color, size: compact ? "lg" : "xl", radius: "xl", children: icon ?? config.icon }),
|
|
845
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_core13.Stack, { gap: 6, align:
|
|
921
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_core13.Stack, { gap: 6, align: headingAlign, children: [
|
|
846
922
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_core13.Title, { order: compact ? 4 : 3, children: title }),
|
|
847
923
|
description ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_core13.Text, { c: "dimmed", maw: compact ? void 0 : 480, children: description }) : null
|
|
848
924
|
] }),
|
|
@@ -855,42 +931,60 @@ function StateBlock({
|
|
|
855
931
|
// src/ReferenceThemeExplorer.tsx
|
|
856
932
|
var import_gds_theme3 = require("@doneisbetter/gds-theme");
|
|
857
933
|
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
934
|
+
function resolvePreviewColorScheme(presetId, requestedScheme) {
|
|
935
|
+
if (presetId === "dark-public") {
|
|
936
|
+
return "dark";
|
|
937
|
+
}
|
|
938
|
+
return requestedScheme;
|
|
939
|
+
}
|
|
858
940
|
var themePresetCatalog = {
|
|
859
941
|
default: {
|
|
860
942
|
label: "Default runtime theme",
|
|
861
943
|
bestFor: "Balanced multi-surface products that need the baseline GDS system.",
|
|
862
944
|
summary: "The default shared runtime lane for most adopters.",
|
|
863
|
-
themeKey: "gdsTheme"
|
|
945
|
+
themeKey: "gdsTheme",
|
|
946
|
+
supportedUse: "Starter products, hybrid public/admin apps, and teams adopting all canonical contracts.",
|
|
947
|
+
avoidFor: "Avoid for products requiring a distinct editorial voice or guaranteed dark-first brand contrast."
|
|
864
948
|
},
|
|
865
949
|
"dark-public": {
|
|
866
950
|
label: "Dark public theme",
|
|
867
951
|
bestFor: "Dark-first public experiences and campaign-style landing surfaces.",
|
|
868
952
|
summary: "A darker public presentation lane with the shipped runtime rhythm intact.",
|
|
869
|
-
themeKey: "gdsDarkPublicTheme"
|
|
953
|
+
themeKey: "gdsDarkPublicTheme",
|
|
954
|
+
supportedUse: "Products with a deliberate dark visual baseline, low-light UX, or premium media-first surfaces.",
|
|
955
|
+
avoidFor: "Avoid when mixed mode and editorial readability are core requirements."
|
|
870
956
|
},
|
|
871
957
|
"flat-surface": {
|
|
872
958
|
label: "Flat surface theme",
|
|
873
959
|
bestFor: "Operational products that prefer quieter elevation and flatter surface contrast.",
|
|
874
960
|
summary: "Removes some visual weight without creating a second token authority.",
|
|
875
|
-
themeKey: "gdsFlatSurfaceTheme"
|
|
961
|
+
themeKey: "gdsFlatSurfaceTheme",
|
|
962
|
+
supportedUse: "Dashboards, admin surfaces, and dense content where elevation becomes distracting.",
|
|
963
|
+
avoidFor: "Avoid for brand-first storytelling or high-expressiveness hero-first pages."
|
|
876
964
|
},
|
|
877
965
|
editorial: {
|
|
878
966
|
label: "Editorial serif theme",
|
|
879
967
|
bestFor: "Documentation, editorial, and content-led experiences.",
|
|
880
968
|
summary: "Adds a more expressive public reading tone while staying inside GDS contracts.",
|
|
881
|
-
themeKey: "gdsEditorialPublicTheme"
|
|
969
|
+
themeKey: "gdsEditorialPublicTheme",
|
|
970
|
+
supportedUse: "Guides, docs, and catalog content where reading comfort matters more than impact.",
|
|
971
|
+
avoidFor: "Avoid for dense transactional or data-first workflows with strict minimal contrast."
|
|
882
972
|
},
|
|
883
973
|
brand: {
|
|
884
974
|
label: "Brand theme generator",
|
|
885
975
|
bestFor: "Consumer teams that need controlled brand expression without forking the system.",
|
|
886
976
|
summary: "Composes the shipped helpers into a governed product-authored theme lane.",
|
|
887
|
-
themeKey: "createPublicBrandTheme(...)"
|
|
977
|
+
themeKey: "createPublicBrandTheme(...)",
|
|
978
|
+
supportedUse: "Whitelisted public branding programs with narrow product-authored intent and policy guardrails.",
|
|
979
|
+
avoidFor: "Avoid for local style experiments or temporary visual fixes without compliance approval."
|
|
888
980
|
}
|
|
889
981
|
};
|
|
890
982
|
function ThemePreviewSurface({
|
|
891
983
|
preset,
|
|
892
|
-
colorScheme
|
|
984
|
+
colorScheme,
|
|
985
|
+
requestedColorScheme
|
|
893
986
|
}) {
|
|
987
|
+
const forcedScheme = requestedColorScheme && requestedColorScheme !== colorScheme;
|
|
894
988
|
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_core14.Paper, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_core14.Stack, { gap: "lg", children: [
|
|
895
989
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_core14.Group, { justify: "space-between", align: "flex-start", wrap: "wrap", children: [
|
|
896
990
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_core14.Stack, { gap: 4, children: [
|
|
@@ -905,7 +999,8 @@ function ThemePreviewSurface({
|
|
|
905
999
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("strong", { children: "Color scheme:" }),
|
|
906
1000
|
" ",
|
|
907
1001
|
colorScheme
|
|
908
|
-
] })
|
|
1002
|
+
] }),
|
|
1003
|
+
forcedScheme ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_core14.Text, { size: "sm", c: "dimmed", children: "This lane always previews in dark mode so the runtime stays inside its sanctioned contrast contract." }) : null
|
|
909
1004
|
] }),
|
|
910
1005
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ThemeToggle, {})
|
|
911
1006
|
] }),
|
|
@@ -972,8 +1067,10 @@ function ReferenceThemeExplorer() {
|
|
|
972
1067
|
const comparisonSummary = themePresetCatalog[comparisonPreset];
|
|
973
1068
|
const selectedTheme = (0, import_react2.useMemo)(() => resolveTheme(preset), [preset, brandPrimary, brandFlatSurfaces, brandEditorialSerif]);
|
|
974
1069
|
const comparedTheme = (0, import_react2.useMemo)(() => resolveTheme(comparisonPreset), [comparisonPreset, brandPrimary, brandFlatSurfaces, brandEditorialSerif]);
|
|
975
|
-
const
|
|
976
|
-
const
|
|
1070
|
+
const effectiveColorScheme = resolvePreviewColorScheme(preset, colorScheme);
|
|
1071
|
+
const effectiveComparisonScheme = resolvePreviewColorScheme(comparisonPreset, colorScheme);
|
|
1072
|
+
const previewKey = `${preset}-${effectiveColorScheme}-${brandPrimary}-${brandFlatSurfaces}-${brandEditorialSerif}`;
|
|
1073
|
+
const comparisonPreviewKey = `${comparisonPreset}-${effectiveComparisonScheme}-${brandPrimary}-${brandFlatSurfaces}-${brandEditorialSerif}`;
|
|
977
1074
|
const reset = () => {
|
|
978
1075
|
setPreset("default");
|
|
979
1076
|
setColorScheme("light");
|
|
@@ -1068,7 +1165,8 @@ function ReferenceThemeExplorer() {
|
|
|
1068
1165
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("strong", { children: "Color scheme:" }),
|
|
1069
1166
|
" ",
|
|
1070
1167
|
colorScheme
|
|
1071
|
-
] })
|
|
1168
|
+
] }),
|
|
1169
|
+
preset === "dark-public" && colorScheme !== effectiveColorScheme ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_core14.Text, { size: "sm", c: "dimmed", children: "gdsDarkPublicTheme always renders in dark mode inside the live preview." }) : null
|
|
1072
1170
|
] }),
|
|
1073
1171
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1074
1172
|
import_core14.Checkbox,
|
|
@@ -1101,7 +1199,17 @@ function ReferenceThemeExplorer() {
|
|
|
1101
1199
|
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_core14.SimpleGrid, { cols: { base: 1, md: 2, xl: 5 }, spacing: "md", children: Object.values(themePresetCatalog).map((lane) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_core14.Paper, { withBorder: true, radius: "lg", p: "md", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_core14.Stack, { gap: 6, children: [
|
|
1102
1200
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_core14.Text, { fw: 700, size: "sm", children: lane.label }),
|
|
1103
1201
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_core14.Text, { size: "sm", c: "dimmed", children: lane.summary }),
|
|
1104
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.
|
|
1202
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_core14.Text, { size: "xs", children: [
|
|
1203
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("strong", { children: "Best for:" }),
|
|
1204
|
+
" ",
|
|
1205
|
+
lane.supportedUse
|
|
1206
|
+
] }),
|
|
1207
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_core14.Code, { block: true, fz: "10px", children: lane.themeKey }),
|
|
1208
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_core14.Text, { size: "xs", c: "dimmed", children: [
|
|
1209
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("strong", { children: "Avoid for:" }),
|
|
1210
|
+
" ",
|
|
1211
|
+
lane.avoidFor ?? "No special exclusion noted for this lane."
|
|
1212
|
+
] })
|
|
1105
1213
|
] }) }, lane.themeKey)) })
|
|
1106
1214
|
}
|
|
1107
1215
|
),
|
|
@@ -1111,8 +1219,15 @@ function ReferenceThemeExplorer() {
|
|
|
1111
1219
|
title: "Live Theme Preview",
|
|
1112
1220
|
description: "Visitors can test the shipped presets, compare lanes, and inspect actual GDS surfaces under each theme.",
|
|
1113
1221
|
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_core14.SimpleGrid, { cols: { base: 1, xl: comparisonEnabled ? 2 : 1 }, spacing: "lg", children: [
|
|
1114
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_gds_theme3.GdsProvider, { theme: selectedTheme, defaultColorScheme:
|
|
1115
|
-
|
|
1222
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_gds_theme3.GdsProvider, { theme: selectedTheme, defaultColorScheme: effectiveColorScheme, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1223
|
+
ThemePreviewSurface,
|
|
1224
|
+
{
|
|
1225
|
+
preset: selectionSummary,
|
|
1226
|
+
colorScheme: effectiveColorScheme,
|
|
1227
|
+
requestedColorScheme: colorScheme
|
|
1228
|
+
}
|
|
1229
|
+
) }, previewKey),
|
|
1230
|
+
comparisonEnabled ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_gds_theme3.GdsProvider, { theme: comparedTheme, defaultColorScheme: effectiveComparisonScheme, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_core14.Paper, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_core14.Stack, { gap: "md", children: [
|
|
1116
1231
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_core14.Group, { justify: "space-between", align: "flex-start", wrap: "wrap", children: [
|
|
1117
1232
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_core14.Stack, { gap: 4, children: [
|
|
1118
1233
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_core14.Text, { fw: 700, children: "Comparison Preview Surface" }),
|
|
@@ -1120,7 +1235,14 @@ function ReferenceThemeExplorer() {
|
|
|
1120
1235
|
] }),
|
|
1121
1236
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_core14.Badge, { color: "violet", variant: "light", children: comparisonSummary.label })
|
|
1122
1237
|
] }),
|
|
1123
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1238
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1239
|
+
ThemePreviewSurface,
|
|
1240
|
+
{
|
|
1241
|
+
preset: comparisonSummary,
|
|
1242
|
+
colorScheme: effectiveComparisonScheme,
|
|
1243
|
+
requestedColorScheme: colorScheme
|
|
1244
|
+
}
|
|
1245
|
+
)
|
|
1124
1246
|
] }) }) }, comparisonPreviewKey) : null
|
|
1125
1247
|
] })
|
|
1126
1248
|
}
|
|
@@ -2105,21 +2227,97 @@ function DiscoveryShell({
|
|
|
2105
2227
|
);
|
|
2106
2228
|
}
|
|
2107
2229
|
|
|
2108
|
-
// src/
|
|
2230
|
+
// src/DocsShell.tsx
|
|
2109
2231
|
var import_react5 = require("react");
|
|
2110
2232
|
var import_core31 = require("@mantine/core");
|
|
2111
|
-
var import_gds_theme4 = require("@doneisbetter/gds-theme");
|
|
2112
2233
|
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2234
|
+
function DocsShellSidebar({ primaryNavigation, secondaryNavigation }) {
|
|
2235
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_core31.Stack, { gap: "md", h: "100%", children: [
|
|
2236
|
+
primaryNavigation ? /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_core31.Stack, { gap: "xs", children: [
|
|
2237
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Text, { size: "xs", fw: 700, c: "dimmed", children: "Primary" }),
|
|
2238
|
+
primaryNavigation
|
|
2239
|
+
] }) : null,
|
|
2240
|
+
secondaryNavigation ? /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
|
|
2241
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Divider, {}),
|
|
2242
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_core31.Stack, { gap: "xs", children: [
|
|
2243
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Text, { size: "xs", fw: 700, c: "dimmed", children: "More" }),
|
|
2244
|
+
secondaryNavigation
|
|
2245
|
+
] })
|
|
2246
|
+
] }) : null
|
|
2247
|
+
] });
|
|
2248
|
+
}
|
|
2249
|
+
function resolveContentContainerSize(value) {
|
|
2250
|
+
if (value === "full") {
|
|
2251
|
+
return "100%";
|
|
2252
|
+
}
|
|
2253
|
+
return value ?? "lg";
|
|
2254
|
+
}
|
|
2255
|
+
function DocsShell({
|
|
2256
|
+
brand,
|
|
2257
|
+
primaryNavigation,
|
|
2258
|
+
secondaryNavigation,
|
|
2259
|
+
headerContext,
|
|
2260
|
+
actions,
|
|
2261
|
+
mobileNavigation,
|
|
2262
|
+
mobileNavigationMode = "drawer",
|
|
2263
|
+
footer,
|
|
2264
|
+
children,
|
|
2265
|
+
contentWidth = "full"
|
|
2266
|
+
}) {
|
|
2267
|
+
const [mobileNavOpen, setMobileNavOpen] = (0, import_react5.useState)(false);
|
|
2268
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2269
|
+
DiscoveryShell,
|
|
2270
|
+
{
|
|
2271
|
+
header: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_core31.Group, { h: "100%", justify: "space-between", align: "center", wrap: "nowrap", gap: "md", children: [
|
|
2272
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_core31.Group, { gap: "sm", align: "center", wrap: "nowrap", style: { minWidth: 0 }, children: [
|
|
2273
|
+
mobileNavigationMode === "inline-collapse" && mobileNavigation ? /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
|
|
2274
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2275
|
+
import_core31.Burger,
|
|
2276
|
+
{
|
|
2277
|
+
opened: mobileNavOpen,
|
|
2278
|
+
onClick: () => setMobileNavOpen((value) => !value),
|
|
2279
|
+
hiddenFrom: "sm",
|
|
2280
|
+
size: "sm",
|
|
2281
|
+
"aria-label": "Toggle docs navigation"
|
|
2282
|
+
}
|
|
2283
|
+
),
|
|
2284
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Transition, { mounted: mobileNavOpen, transition: "pop", duration: 120, children: (styles) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Box, { style: styles, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Box, { mt: "xs", p: "sm", style: { borderRadius: 8, border: "1px solid var(--mantine-color-default-border)" }, children: mobileNavigation }) }) })
|
|
2285
|
+
] }) : null,
|
|
2286
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Box, { style: { minWidth: 0 }, children: brand }),
|
|
2287
|
+
headerContext ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Text, { size: "sm", c: "dimmed", lineClamp: 1, children: headerContext }) : null
|
|
2288
|
+
] }),
|
|
2289
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Group, { gap: "sm", wrap: "nowrap", style: { minWidth: 0 }, children: actions })
|
|
2290
|
+
] }),
|
|
2291
|
+
sidebar: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2292
|
+
DocsShellSidebar,
|
|
2293
|
+
{
|
|
2294
|
+
primaryNavigation,
|
|
2295
|
+
secondaryNavigation
|
|
2296
|
+
}
|
|
2297
|
+
),
|
|
2298
|
+
footer,
|
|
2299
|
+
mobileNavigationLabel: "Open docs navigation",
|
|
2300
|
+
headerHeight: 72,
|
|
2301
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core31.Container, { size: resolveContentContainerSize(contentWidth), px: "md", py: "lg", w: "100%", children })
|
|
2302
|
+
}
|
|
2303
|
+
);
|
|
2304
|
+
}
|
|
2305
|
+
|
|
2306
|
+
// src/SidebarNav.tsx
|
|
2307
|
+
var import_react6 = require("react");
|
|
2308
|
+
var import_core32 = require("@mantine/core");
|
|
2309
|
+
var import_gds_theme4 = require("@doneisbetter/gds-theme");
|
|
2310
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2113
2311
|
function SidebarNav({ children, ariaLabel = "Primary navigation", gap = "md" }) {
|
|
2114
|
-
return /* @__PURE__ */ (0,
|
|
2312
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Stack, { component: "nav", "aria-label": ariaLabel, gap, h: "100%", children });
|
|
2115
2313
|
}
|
|
2116
2314
|
function SidebarNavSection({ label, children, pushToBottom = false }) {
|
|
2117
|
-
return /* @__PURE__ */ (0,
|
|
2118
|
-
label ? /* @__PURE__ */ (0,
|
|
2119
|
-
/* @__PURE__ */ (0,
|
|
2315
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_core32.Stack, { gap: "xs", mt: pushToBottom ? "auto" : void 0, children: [
|
|
2316
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Text, { size: "xs", fw: 700, c: "dimmed", children: label }) : null,
|
|
2317
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Stack, { gap: 4, children })
|
|
2120
2318
|
] });
|
|
2121
2319
|
}
|
|
2122
|
-
var _SidebarNavItem = (0,
|
|
2320
|
+
var _SidebarNavItem = (0, import_react6.forwardRef)(
|
|
2123
2321
|
({
|
|
2124
2322
|
action,
|
|
2125
2323
|
label,
|
|
@@ -2135,14 +2333,14 @@ var _SidebarNavItem = (0, import_react5.forwardRef)(
|
|
|
2135
2333
|
const config = action ? resolveSemanticActionConfig(action, vocabularyPacks) : null;
|
|
2136
2334
|
const Icon = config?.icon;
|
|
2137
2335
|
const resolvedLabel = label ?? (action ? getSemanticActionLabel(action, t, vocabularyPacks) : void 0);
|
|
2138
|
-
return /* @__PURE__ */ (0,
|
|
2139
|
-
|
|
2336
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2337
|
+
import_core32.NavLink,
|
|
2140
2338
|
{
|
|
2141
2339
|
ref,
|
|
2142
2340
|
label: resolvedLabel,
|
|
2143
2341
|
description,
|
|
2144
|
-
leftSection: icon ?? (Icon ? /* @__PURE__ */ (0,
|
|
2145
|
-
rightSection: badge ? /* @__PURE__ */ (0,
|
|
2342
|
+
leftSection: icon ?? (Icon ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Icon, { size: "1rem", stroke: 1.5 }) : void 0),
|
|
2343
|
+
rightSection: badge ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_core32.Box, { children: badge }) : props.rightSection,
|
|
2146
2344
|
"aria-label": ariaLabel ?? (typeof resolvedLabel === "string" ? resolvedLabel : void 0),
|
|
2147
2345
|
"aria-current": props.active ? "page" : ariaCurrent,
|
|
2148
2346
|
...props
|
|
@@ -2150,21 +2348,21 @@ var _SidebarNavItem = (0, import_react5.forwardRef)(
|
|
|
2150
2348
|
);
|
|
2151
2349
|
}
|
|
2152
2350
|
);
|
|
2153
|
-
var SidebarNavItem = (0,
|
|
2351
|
+
var SidebarNavItem = (0, import_core32.createPolymorphicComponent)(_SidebarNavItem);
|
|
2154
2352
|
|
|
2155
2353
|
// src/PublicSiteFooter.tsx
|
|
2156
|
-
var
|
|
2157
|
-
var
|
|
2354
|
+
var import_core33 = require("@mantine/core");
|
|
2355
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2158
2356
|
function PublicSiteFooter({ children, meta }) {
|
|
2159
|
-
return /* @__PURE__ */ (0,
|
|
2160
|
-
children ? /* @__PURE__ */ (0,
|
|
2161
|
-
meta ? /* @__PURE__ */ (0,
|
|
2357
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_core33.Stack, { component: "footer", gap: "xs", children: [
|
|
2358
|
+
children ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_core33.Text, { size: "sm", children }) : null,
|
|
2359
|
+
meta ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_core33.Group, { gap: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_core33.Text, { size: "xs", c: "dimmed", children: meta }) }) : null
|
|
2162
2360
|
] });
|
|
2163
2361
|
}
|
|
2164
2362
|
|
|
2165
2363
|
// src/PublicBrandFooter.tsx
|
|
2166
|
-
var
|
|
2167
|
-
var
|
|
2364
|
+
var import_core34 = require("@mantine/core");
|
|
2365
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2168
2366
|
function PublicBrandFooter({
|
|
2169
2367
|
media,
|
|
2170
2368
|
brandTitle,
|
|
@@ -2179,8 +2377,8 @@ function PublicBrandFooter({
|
|
|
2179
2377
|
const mediaSpan = layoutVariant === "immersive-media" ? 5 : 4;
|
|
2180
2378
|
const primarySpan = media ? layoutVariant === "balanced-quote" ? 4 : 4 : secondary ? 6 : 12;
|
|
2181
2379
|
const secondarySpan = media ? Math.max(3, 12 - mediaSpan - primarySpan) : Math.max(4, 12 - primarySpan);
|
|
2182
|
-
return /* @__PURE__ */ (0,
|
|
2183
|
-
|
|
2380
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2381
|
+
import_core34.Paper,
|
|
2184
2382
|
{
|
|
2185
2383
|
component: "footer",
|
|
2186
2384
|
withBorder: true,
|
|
@@ -2188,19 +2386,19 @@ function PublicBrandFooter({
|
|
|
2188
2386
|
p: compact ? "lg" : "xl",
|
|
2189
2387
|
className: classNames?.root,
|
|
2190
2388
|
"data-layout-variant": layoutVariant,
|
|
2191
|
-
children: /* @__PURE__ */ (0,
|
|
2192
|
-
/* @__PURE__ */ (0,
|
|
2193
|
-
media ? /* @__PURE__ */ (0,
|
|
2194
|
-
/* @__PURE__ */ (0,
|
|
2195
|
-
brandTitle ? /* @__PURE__ */ (0,
|
|
2196
|
-
description ? /* @__PURE__ */ (0,
|
|
2197
|
-
actions ? /* @__PURE__ */ (0,
|
|
2389
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_core34.Stack, { gap: "lg", children: [
|
|
2390
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_core34.Grid, { gutter: compact ? "lg" : "xl", align: "flex-start", children: [
|
|
2391
|
+
media ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core34.Grid.Col, { span: { base: 12, md: mediaSpan }, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core34.Box, { className: classNames?.media, children: media }) }) : null,
|
|
2392
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core34.Grid.Col, { span: { base: 12, md: primarySpan }, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_core34.Stack, { gap: compact ? "xs" : "sm", className: classNames?.primary, children: [
|
|
2393
|
+
brandTitle ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core34.Title, { order: 4, children: brandTitle }) : null,
|
|
2394
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core34.Text, { c: "dimmed", children: description }) : null,
|
|
2395
|
+
actions ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core34.Box, { children: actions }) : null
|
|
2198
2396
|
] }) }),
|
|
2199
|
-
secondary ? /* @__PURE__ */ (0,
|
|
2397
|
+
secondary ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core34.Grid.Col, { span: { base: 12, md: secondarySpan }, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core34.Stack, { gap: compact ? "xs" : "sm", className: classNames?.secondary, children: secondary }) }) : null
|
|
2200
2398
|
] }),
|
|
2201
|
-
legal ? /* @__PURE__ */ (0,
|
|
2202
|
-
/* @__PURE__ */ (0,
|
|
2203
|
-
/* @__PURE__ */ (0,
|
|
2399
|
+
legal ? /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
|
|
2400
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core34.Divider, {}),
|
|
2401
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core34.Group, { justify: "space-between", gap: "sm", wrap: "wrap", className: classNames?.legal, children: typeof legal === "string" ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_core34.Text, { size: "sm", c: "dimmed", children: legal }) : legal })
|
|
2204
2402
|
] }) : null
|
|
2205
2403
|
] })
|
|
2206
2404
|
}
|
|
@@ -2208,8 +2406,8 @@ function PublicBrandFooter({
|
|
|
2208
2406
|
}
|
|
2209
2407
|
|
|
2210
2408
|
// src/AuthShell.tsx
|
|
2211
|
-
var
|
|
2212
|
-
var
|
|
2409
|
+
var import_core35 = require("@mantine/core");
|
|
2410
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2213
2411
|
function AuthShell({
|
|
2214
2412
|
title,
|
|
2215
2413
|
description,
|
|
@@ -2221,65 +2419,195 @@ function AuthShell({
|
|
|
2221
2419
|
dividerLabel = "Or continue with your account",
|
|
2222
2420
|
children
|
|
2223
2421
|
}) {
|
|
2224
|
-
return /* @__PURE__ */ (0,
|
|
2225
|
-
brand || headerActions ? /* @__PURE__ */ (0,
|
|
2226
|
-
brand ? /* @__PURE__ */ (0,
|
|
2227
|
-
headerActions ? /* @__PURE__ */ (0,
|
|
2422
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Box, { py: { base: "xl", md: "4rem" }, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Container, { size: "xs", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_core35.Stack, { gap: "xl", children: [
|
|
2423
|
+
brand || headerActions ? /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_core35.Group, { justify: brand && headerActions ? "space-between" : "center", align: "center", children: [
|
|
2424
|
+
brand ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Box, { children: brand }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Box, {}),
|
|
2425
|
+
headerActions ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Group, { gap: "sm", children: headerActions }) : null
|
|
2228
2426
|
] }) : null,
|
|
2229
|
-
/* @__PURE__ */ (0,
|
|
2230
|
-
/* @__PURE__ */ (0,
|
|
2231
|
-
/* @__PURE__ */ (0,
|
|
2232
|
-
description ? /* @__PURE__ */ (0,
|
|
2427
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Card, { withBorder: true, radius: "lg", padding: "xl", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_core35.Stack, { gap: "lg", children: [
|
|
2428
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_core35.Stack, { gap: "xs", ta: "center", children: [
|
|
2429
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Title, { order: 2, children: title }),
|
|
2430
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Text, { c: "dimmed", size: "sm", children: description }) : null
|
|
2233
2431
|
] }),
|
|
2234
|
-
socialAuth ? /* @__PURE__ */ (0,
|
|
2235
|
-
socialAuth ? /* @__PURE__ */ (0,
|
|
2432
|
+
socialAuth ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Box, { children: socialAuth }) : null,
|
|
2433
|
+
socialAuth ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Divider, { label: dividerLabel, labelPosition: "center" }) : null,
|
|
2236
2434
|
children,
|
|
2237
|
-
helper ? /* @__PURE__ */ (0,
|
|
2435
|
+
helper ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Text, { size: "sm", c: "dimmed", ta: "center", children: helper }) : null
|
|
2238
2436
|
] }) }),
|
|
2239
|
-
footer ? /* @__PURE__ */ (0,
|
|
2437
|
+
footer ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_core35.Text, { size: "sm", c: "dimmed", ta: "center", children: footer }) : null
|
|
2240
2438
|
] }) }) });
|
|
2241
2439
|
}
|
|
2242
2440
|
|
|
2243
2441
|
// src/SocialAuthButtons.tsx
|
|
2244
|
-
var
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2442
|
+
var import_core37 = require("@mantine/core");
|
|
2443
|
+
|
|
2444
|
+
// src/ProviderIdentityButtons.tsx
|
|
2445
|
+
var import_core36 = require("@mantine/core");
|
|
2446
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2447
|
+
var PROVIDER_IDENTITY_REGISTRY = {
|
|
2448
|
+
google: {
|
|
2449
|
+
providerLabel: "Google",
|
|
2450
|
+
markLabel: "G",
|
|
2451
|
+
brandColor: "red"
|
|
2452
|
+
},
|
|
2453
|
+
apple: {
|
|
2454
|
+
providerLabel: "Apple",
|
|
2455
|
+
markLabel: "A",
|
|
2456
|
+
brandColor: "dark"
|
|
2457
|
+
},
|
|
2458
|
+
github: {
|
|
2459
|
+
providerLabel: "GitHub",
|
|
2460
|
+
markLabel: "GH",
|
|
2461
|
+
brandColor: "gray"
|
|
2462
|
+
},
|
|
2463
|
+
facebook: {
|
|
2464
|
+
providerLabel: "Facebook",
|
|
2465
|
+
markLabel: "F",
|
|
2466
|
+
brandColor: "blue"
|
|
2467
|
+
},
|
|
2468
|
+
microsoft: {
|
|
2469
|
+
providerLabel: "Microsoft",
|
|
2470
|
+
markLabel: "M",
|
|
2471
|
+
brandColor: "cyan"
|
|
2472
|
+
},
|
|
2473
|
+
linkedin: {
|
|
2474
|
+
providerLabel: "LinkedIn",
|
|
2475
|
+
markLabel: "in",
|
|
2476
|
+
brandColor: "blue"
|
|
2477
|
+
},
|
|
2478
|
+
discord: {
|
|
2479
|
+
providerLabel: "Discord",
|
|
2480
|
+
markLabel: "D",
|
|
2481
|
+
brandColor: "indigo"
|
|
2482
|
+
},
|
|
2483
|
+
x: {
|
|
2484
|
+
providerLabel: "X",
|
|
2485
|
+
markLabel: "X",
|
|
2486
|
+
brandColor: "dark"
|
|
2487
|
+
},
|
|
2488
|
+
email: {
|
|
2489
|
+
providerLabel: "Email",
|
|
2490
|
+
markLabel: "@",
|
|
2491
|
+
brandColor: "gray"
|
|
2492
|
+
}
|
|
2256
2493
|
};
|
|
2257
|
-
function
|
|
2258
|
-
|
|
2259
|
-
|
|
2494
|
+
function normalizeProviderId(provider) {
|
|
2495
|
+
return (provider ?? "").trim().toLowerCase();
|
|
2496
|
+
}
|
|
2497
|
+
function isSupportedProviderId(provider) {
|
|
2498
|
+
return provider in PROVIDER_IDENTITY_REGISTRY;
|
|
2499
|
+
}
|
|
2500
|
+
function getProviderIdentityMeta(provider) {
|
|
2501
|
+
const normalized = normalizeProviderId(provider);
|
|
2502
|
+
if (isSupportedProviderId(normalized)) {
|
|
2503
|
+
return {
|
|
2504
|
+
id: normalized,
|
|
2505
|
+
supported: true,
|
|
2506
|
+
...PROVIDER_IDENTITY_REGISTRY[normalized]
|
|
2507
|
+
};
|
|
2508
|
+
}
|
|
2509
|
+
return {
|
|
2510
|
+
id: normalized || "provider",
|
|
2511
|
+
supported: false,
|
|
2512
|
+
providerLabel: provider ? provider : "Provider",
|
|
2513
|
+
markLabel: (provider ?? "PR").slice(0, 2).toUpperCase(),
|
|
2514
|
+
brandColor: "gray"
|
|
2515
|
+
};
|
|
2516
|
+
}
|
|
2517
|
+
function resolveProviderLabel(provider, customLabel) {
|
|
2518
|
+
const meta = getProviderIdentityMeta(provider);
|
|
2519
|
+
if (customLabel != null) {
|
|
2520
|
+
return customLabel;
|
|
2521
|
+
}
|
|
2522
|
+
return `Continue with ${meta.providerLabel}`;
|
|
2523
|
+
}
|
|
2524
|
+
function mapVariant(variant = "neutral") {
|
|
2525
|
+
if (variant === "solid") {
|
|
2526
|
+
return "filled";
|
|
2527
|
+
}
|
|
2528
|
+
if (variant === "outline") {
|
|
2529
|
+
return "outline";
|
|
2530
|
+
}
|
|
2531
|
+
return "default";
|
|
2532
|
+
}
|
|
2533
|
+
function getProviderIdentityLabel(provider, fallbackOverride) {
|
|
2534
|
+
return resolveProviderLabel(provider, fallbackOverride);
|
|
2260
2535
|
}
|
|
2261
|
-
function
|
|
2262
|
-
const
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2266
|
-
import_core35.Button,
|
|
2536
|
+
function ProviderIdentityMark({ provider }) {
|
|
2537
|
+
const meta = getProviderIdentityMeta(provider);
|
|
2538
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2539
|
+
import_core36.ThemeIcon,
|
|
2267
2540
|
{
|
|
2268
|
-
variant: "
|
|
2541
|
+
variant: "light",
|
|
2542
|
+
color: meta.brandColor,
|
|
2543
|
+
radius: "xl",
|
|
2544
|
+
size: "md",
|
|
2545
|
+
"aria-hidden": "true",
|
|
2546
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_core36.Text, { size: "xs", fw: 700, c: "inherit", children: meta.markLabel })
|
|
2547
|
+
}
|
|
2548
|
+
);
|
|
2549
|
+
}
|
|
2550
|
+
function ProviderIdentityButton({
|
|
2551
|
+
provider,
|
|
2552
|
+
label,
|
|
2553
|
+
description,
|
|
2554
|
+
href,
|
|
2555
|
+
onClick,
|
|
2556
|
+
disabled,
|
|
2557
|
+
loading,
|
|
2558
|
+
fullWidth = true,
|
|
2559
|
+
size = "md",
|
|
2560
|
+
variant = "neutral",
|
|
2561
|
+
ariaLabel,
|
|
2562
|
+
describedBy,
|
|
2563
|
+
minTouchTargetPx = 44
|
|
2564
|
+
}) {
|
|
2565
|
+
const meta = getProviderIdentityMeta(provider);
|
|
2566
|
+
const buttonLabel = resolveProviderLabel(provider, label);
|
|
2567
|
+
const buttonProps = href ? {
|
|
2568
|
+
component: "a",
|
|
2569
|
+
href
|
|
2570
|
+
} : {
|
|
2571
|
+
onClick
|
|
2572
|
+
};
|
|
2573
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2574
|
+
import_core36.Button,
|
|
2575
|
+
{
|
|
2576
|
+
variant: mapVariant(variant),
|
|
2577
|
+
color: variant === "solid" ? meta.brandColor : void 0,
|
|
2269
2578
|
justify: "space-between",
|
|
2270
|
-
fullWidth
|
|
2271
|
-
size
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2579
|
+
fullWidth,
|
|
2580
|
+
size,
|
|
2581
|
+
"aria-label": ariaLabel ?? (typeof buttonLabel === "string" ? buttonLabel : void 0),
|
|
2582
|
+
"aria-describedby": describedBy,
|
|
2583
|
+
leftSection: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ProviderIdentityMark, { provider }),
|
|
2584
|
+
disabled,
|
|
2585
|
+
loading,
|
|
2586
|
+
styles: { root: { minHeight: minTouchTargetPx } },
|
|
2275
2587
|
...buttonProps,
|
|
2276
|
-
children: /* @__PURE__ */ (0,
|
|
2277
|
-
/* @__PURE__ */ (0,
|
|
2278
|
-
|
|
2588
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_core36.Stack, { gap: 0, align: "flex-start", children: [
|
|
2589
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_core36.Text, { inherit: true, children: buttonLabel }),
|
|
2590
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_core36.Text, { size: "xs", c: "dimmed", lh: 1.2, children: description }) : null
|
|
2279
2591
|
] })
|
|
2280
2592
|
}
|
|
2281
2593
|
);
|
|
2282
2594
|
}
|
|
2595
|
+
function ProviderIdentityButtonGroup({ providers, layout = "stack" }) {
|
|
2596
|
+
if (!providers.length) {
|
|
2597
|
+
return null;
|
|
2598
|
+
}
|
|
2599
|
+
const content = providers.map((entry, index) => {
|
|
2600
|
+
const key = `${normalizeProviderId(String(entry.provider)) || "provider"}-${index}`;
|
|
2601
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ProviderIdentityButton, { ...entry }, key);
|
|
2602
|
+
});
|
|
2603
|
+
if (layout === "grid") {
|
|
2604
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_core36.SimpleGrid, { cols: { base: 1, sm: 2 }, spacing: "sm", children: content });
|
|
2605
|
+
}
|
|
2606
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_core36.Stack, { gap: "sm", children: content });
|
|
2607
|
+
}
|
|
2608
|
+
|
|
2609
|
+
// src/SocialAuthButtons.tsx
|
|
2610
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2283
2611
|
function SocialAuthButtons({
|
|
2284
2612
|
providers,
|
|
2285
2613
|
title = "Continue with a trusted provider",
|
|
@@ -2290,44 +2618,54 @@ function SocialAuthButtons({
|
|
|
2290
2618
|
if (!providers.length) {
|
|
2291
2619
|
return null;
|
|
2292
2620
|
}
|
|
2293
|
-
const
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2621
|
+
const buttons = providers.map((provider) => ({
|
|
2622
|
+
provider: provider.id,
|
|
2623
|
+
label: provider.label,
|
|
2624
|
+
description: provider.description,
|
|
2625
|
+
href: provider.href,
|
|
2626
|
+
onClick: provider.onClick,
|
|
2627
|
+
disabled: provider.disabled,
|
|
2628
|
+
loading: provider.loading,
|
|
2629
|
+
size: provider.size ?? (compact ? "sm" : "md"),
|
|
2630
|
+
variant: provider.variant
|
|
2631
|
+
}));
|
|
2632
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_core37.Stack, { gap: "md", children: [
|
|
2633
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_core37.Stack, { gap: 4, ta: "center", children: [
|
|
2634
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_core37.Group, { justify: "center", gap: "xs", children: [
|
|
2635
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(GdsIcons.Login, { size: "1rem" }),
|
|
2636
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_core37.Text, { fw: 600, children: title })
|
|
2299
2637
|
] }),
|
|
2300
|
-
description ? /* @__PURE__ */ (0,
|
|
2638
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_core37.Text, { size: "sm", c: "dimmed", children: description }) : null
|
|
2301
2639
|
] }),
|
|
2302
|
-
/* @__PURE__ */ (0,
|
|
2303
|
-
|
|
2640
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_core37.Divider, {}),
|
|
2641
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ProviderIdentityButtonGroup, { providers: buttons, layout })
|
|
2304
2642
|
] });
|
|
2305
2643
|
}
|
|
2306
2644
|
|
|
2307
2645
|
// src/ArticleShell.tsx
|
|
2308
|
-
var
|
|
2309
|
-
var
|
|
2646
|
+
var import_core38 = require("@mantine/core");
|
|
2647
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2310
2648
|
function ArticleShell({ eyebrow, title, lead, meta, sideRail, children }) {
|
|
2311
|
-
return /* @__PURE__ */ (0,
|
|
2312
|
-
/* @__PURE__ */ (0,
|
|
2313
|
-
/* @__PURE__ */ (0,
|
|
2314
|
-
eyebrow ? /* @__PURE__ */ (0,
|
|
2315
|
-
/* @__PURE__ */ (0,
|
|
2316
|
-
lead ? /* @__PURE__ */ (0,
|
|
2317
|
-
meta ? /* @__PURE__ */ (0,
|
|
2649
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_core38.Container, { size: "lg", py: "xl", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_core38.Group, { align: "flex-start", gap: "xl", wrap: "nowrap", children: [
|
|
2650
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_core38.Stack, { gap: "lg", maw: 760, flex: 1, children: [
|
|
2651
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_core38.Stack, { gap: "sm", children: [
|
|
2652
|
+
eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_core38.Text, { size: "sm", fw: 700, c: "dimmed", tt: "uppercase", children: eyebrow }) : null,
|
|
2653
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_core38.Title, { order: 1, children: title }),
|
|
2654
|
+
lead ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_core38.Text, { size: "lg", c: "dimmed", children: lead }) : null,
|
|
2655
|
+
meta ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_core38.Group, { gap: "md", children: meta }) : null
|
|
2318
2656
|
] }),
|
|
2319
|
-
/* @__PURE__ */ (0,
|
|
2657
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_core38.Stack, { gap: "md", children })
|
|
2320
2658
|
] }),
|
|
2321
|
-
sideRail ? /* @__PURE__ */ (0,
|
|
2659
|
+
sideRail ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_core38.Stack, { visibleFrom: "lg", gap: "md", w: 240, children: sideRail }) : null
|
|
2322
2660
|
] }) });
|
|
2323
2661
|
}
|
|
2324
2662
|
|
|
2325
2663
|
// src/DocsCodeBlock.tsx
|
|
2326
|
-
var
|
|
2327
|
-
var
|
|
2328
|
-
var
|
|
2664
|
+
var import_react7 = require("react");
|
|
2665
|
+
var import_core39 = require("@mantine/core");
|
|
2666
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2329
2667
|
function DocsCodeBlock({ code, language, title, withCopy = true }) {
|
|
2330
|
-
const [copied, setCopied] = (0,
|
|
2668
|
+
const [copied, setCopied] = (0, import_react7.useState)(false);
|
|
2331
2669
|
const handleCopy = async () => {
|
|
2332
2670
|
if (!navigator?.clipboard) {
|
|
2333
2671
|
return;
|
|
@@ -2336,44 +2674,44 @@ function DocsCodeBlock({ code, language, title, withCopy = true }) {
|
|
|
2336
2674
|
setCopied(true);
|
|
2337
2675
|
window.setTimeout(() => setCopied(false), 1200);
|
|
2338
2676
|
};
|
|
2339
|
-
return /* @__PURE__ */ (0,
|
|
2340
|
-
title || withCopy ? /* @__PURE__ */ (0,
|
|
2341
|
-
/* @__PURE__ */ (0,
|
|
2342
|
-
title ? /* @__PURE__ */ (0,
|
|
2343
|
-
language ? /* @__PURE__ */ (0,
|
|
2677
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_core39.Paper, { withBorder: true, radius: "lg", p: "md", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_core39.Stack, { gap: "sm", children: [
|
|
2678
|
+
title || withCopy ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_core39.Group, { justify: "space-between", align: "center", children: [
|
|
2679
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_core39.Stack, { gap: 0, children: [
|
|
2680
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_core39.Text, { fw: 600, children: title }) : null,
|
|
2681
|
+
language ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_core39.Text, { size: "xs", c: "dimmed", children: language }) : null
|
|
2344
2682
|
] }),
|
|
2345
|
-
withCopy ? /* @__PURE__ */ (0,
|
|
2346
|
-
|
|
2683
|
+
withCopy ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2684
|
+
import_core39.ActionIcon,
|
|
2347
2685
|
{
|
|
2348
2686
|
variant: "subtle",
|
|
2349
2687
|
"aria-label": copied ? "Copied code block" : "Copy code block",
|
|
2350
2688
|
onClick: () => {
|
|
2351
2689
|
void handleCopy();
|
|
2352
2690
|
},
|
|
2353
|
-
children: /* @__PURE__ */ (0,
|
|
2691
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(GdsIcons.Copy, { size: "1rem" })
|
|
2354
2692
|
}
|
|
2355
2693
|
) : null
|
|
2356
2694
|
] }) : null,
|
|
2357
|
-
/* @__PURE__ */ (0,
|
|
2695
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_core39.Code, { block: true, children: code })
|
|
2358
2696
|
] }) });
|
|
2359
2697
|
}
|
|
2360
2698
|
|
|
2361
2699
|
// src/CtaButtonGroup.tsx
|
|
2362
|
-
var
|
|
2363
|
-
var
|
|
2700
|
+
var import_core40 = require("@mantine/core");
|
|
2701
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2364
2702
|
function CtaButtonGroup({ primary, secondary, tertiary }) {
|
|
2365
|
-
return /* @__PURE__ */ (0,
|
|
2366
|
-
/* @__PURE__ */ (0,
|
|
2367
|
-
/* @__PURE__ */ (0,
|
|
2368
|
-
secondary ? /* @__PURE__ */ (0,
|
|
2703
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_core40.Stack, { gap: "sm", children: [
|
|
2704
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_core40.Group, { gap: "sm", align: "stretch", children: [
|
|
2705
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { children: primary }),
|
|
2706
|
+
secondary ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { children: secondary }) : null
|
|
2369
2707
|
] }),
|
|
2370
|
-
tertiary ? /* @__PURE__ */ (0,
|
|
2708
|
+
tertiary ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { children: tertiary }) : null
|
|
2371
2709
|
] });
|
|
2372
2710
|
}
|
|
2373
2711
|
|
|
2374
2712
|
// src/DocsPageShell.tsx
|
|
2375
|
-
var
|
|
2376
|
-
var
|
|
2713
|
+
var import_core41 = require("@mantine/core");
|
|
2714
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
2377
2715
|
function DocsPageShell({
|
|
2378
2716
|
breadcrumbs = [],
|
|
2379
2717
|
title,
|
|
@@ -2384,27 +2722,27 @@ function DocsPageShell({
|
|
|
2384
2722
|
footerNext,
|
|
2385
2723
|
children
|
|
2386
2724
|
}) {
|
|
2387
|
-
return /* @__PURE__ */ (0,
|
|
2388
|
-
/* @__PURE__ */ (0,
|
|
2389
|
-
breadcrumbs.length ? /* @__PURE__ */ (0,
|
|
2390
|
-
(crumb) => crumb.href ? /* @__PURE__ */ (0,
|
|
2725
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core41.Container, { fluid: true, py: "xl", px: { base: "md", md: "lg", lg: "xl" }, w: "100%", maw: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_core41.Group, { align: "flex-start", gap: "xl", wrap: "nowrap", children: [
|
|
2726
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_core41.Stack, { component: "article", gap: "lg", flex: 1, miw: 0, children: [
|
|
2727
|
+
breadcrumbs.length ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core41.Breadcrumbs, { children: breadcrumbs.map(
|
|
2728
|
+
(crumb) => crumb.href ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core41.Anchor, { href: crumb.href, children: crumb.label }, `${crumb.label}-${crumb.href}`) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core41.Text, { children: crumb.label }, crumb.label)
|
|
2391
2729
|
) }) : null,
|
|
2392
|
-
/* @__PURE__ */ (0,
|
|
2393
|
-
eyebrow ? /* @__PURE__ */ (0,
|
|
2394
|
-
/* @__PURE__ */ (0,
|
|
2395
|
-
lead ? /* @__PURE__ */ (0,
|
|
2396
|
-
meta ? /* @__PURE__ */ (0,
|
|
2730
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_core41.Stack, { gap: "sm", children: [
|
|
2731
|
+
eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core41.Text, { size: "sm", fw: 700, c: "dimmed", children: eyebrow }) : null,
|
|
2732
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core41.Title, { order: 1, children: title }),
|
|
2733
|
+
lead ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core41.Text, { size: "lg", c: "dimmed", children: lead }) : null,
|
|
2734
|
+
meta ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core41.Group, { gap: "md", children: meta }) : null
|
|
2397
2735
|
] }),
|
|
2398
|
-
/* @__PURE__ */ (0,
|
|
2399
|
-
footerNext ? /* @__PURE__ */ (0,
|
|
2736
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core41.Stack, { gap: "md", children }),
|
|
2737
|
+
footerNext ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core41.Anchor, { href: footerNext.href, fw: 600, children: footerNext.label }) : null
|
|
2400
2738
|
] }),
|
|
2401
|
-
sideRail ? /* @__PURE__ */ (0,
|
|
2739
|
+
sideRail ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_core41.Stack, { visibleFrom: "lg", gap: "md", w: 240, children: sideRail }) : null
|
|
2402
2740
|
] }) });
|
|
2403
2741
|
}
|
|
2404
2742
|
|
|
2405
2743
|
// src/EditorialHero.tsx
|
|
2406
|
-
var
|
|
2407
|
-
var
|
|
2744
|
+
var import_core42 = require("@mantine/core");
|
|
2745
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2408
2746
|
function resolveActionVariant(action, index, seenPrimary) {
|
|
2409
2747
|
const requested = action.variant ?? (index === 0 ? "primary" : "secondary");
|
|
2410
2748
|
if (requested === "primary" && !seenPrimary) {
|
|
@@ -2416,8 +2754,8 @@ function resolveActionVariant(action, index, seenPrimary) {
|
|
|
2416
2754
|
return { variant: "default", seenPrimary };
|
|
2417
2755
|
}
|
|
2418
2756
|
function HeroAction({ action, variant }) {
|
|
2419
|
-
const content = /* @__PURE__ */ (0,
|
|
2420
|
-
|
|
2757
|
+
const content = /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2758
|
+
import_core42.Anchor,
|
|
2421
2759
|
{
|
|
2422
2760
|
href: action.href,
|
|
2423
2761
|
onClick: action.onClick,
|
|
@@ -2441,8 +2779,8 @@ function HeroAction({ action, variant }) {
|
|
|
2441
2779
|
}
|
|
2442
2780
|
);
|
|
2443
2781
|
if (!action.href) {
|
|
2444
|
-
return /* @__PURE__ */ (0,
|
|
2445
|
-
|
|
2782
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2783
|
+
import_core42.Box,
|
|
2446
2784
|
{
|
|
2447
2785
|
component: "button",
|
|
2448
2786
|
type: "button",
|
|
@@ -2469,30 +2807,30 @@ function HeroAction({ action, variant }) {
|
|
|
2469
2807
|
return content;
|
|
2470
2808
|
}
|
|
2471
2809
|
function LoadingHero({ compact }) {
|
|
2472
|
-
return /* @__PURE__ */ (0,
|
|
2473
|
-
/* @__PURE__ */ (0,
|
|
2474
|
-
/* @__PURE__ */ (0,
|
|
2475
|
-
/* @__PURE__ */ (0,
|
|
2476
|
-
/* @__PURE__ */ (0,
|
|
2477
|
-
/* @__PURE__ */ (0,
|
|
2478
|
-
/* @__PURE__ */ (0,
|
|
2479
|
-
/* @__PURE__ */ (0,
|
|
2480
|
-
/* @__PURE__ */ (0,
|
|
2810
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Paper, { withBorder: true, radius: "xl", p: compact ? "lg" : "xl", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_core42.Grid, { gutter: compact ? "lg" : "xl", align: "center", children: [
|
|
2811
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Grid.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_core42.Stack, { gap: "md", children: [
|
|
2812
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Skeleton, { height: 16, width: 96, radius: "xl" }),
|
|
2813
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Skeleton, { height: 48, width: "90%", radius: "md" }),
|
|
2814
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Skeleton, { height: 18, width: "100%", radius: "md" }),
|
|
2815
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Skeleton, { height: 18, width: "82%", radius: "md" }),
|
|
2816
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_core42.Group, { children: [
|
|
2817
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Skeleton, { height: 40, width: 140, radius: "md" }),
|
|
2818
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Skeleton, { height: 40, width: 140, radius: "md" })
|
|
2481
2819
|
] })
|
|
2482
2820
|
] }) }),
|
|
2483
|
-
/* @__PURE__ */ (0,
|
|
2821
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Grid.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.AspectRatio, { ratio: 16 / 11, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Skeleton, { radius: "lg" }) }) })
|
|
2484
2822
|
] }) });
|
|
2485
2823
|
}
|
|
2486
2824
|
function MediaFallback() {
|
|
2487
|
-
return /* @__PURE__ */ (0,
|
|
2488
|
-
|
|
2825
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.AspectRatio, { ratio: 16 / 11, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2826
|
+
import_core42.ThemeIcon,
|
|
2489
2827
|
{
|
|
2490
2828
|
size: "100%",
|
|
2491
2829
|
radius: "lg",
|
|
2492
2830
|
color: "gray",
|
|
2493
2831
|
variant: "light",
|
|
2494
2832
|
"aria-label": "Hero media is unavailable",
|
|
2495
|
-
children: /* @__PURE__ */ (0,
|
|
2833
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(GdsIcons.Gallery, { size: "2.5rem" })
|
|
2496
2834
|
}
|
|
2497
2835
|
) });
|
|
2498
2836
|
}
|
|
@@ -2512,8 +2850,8 @@ function MediaFrame({
|
|
|
2512
2850
|
} else if (mediaFade === "soft-start") {
|
|
2513
2851
|
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%)";
|
|
2514
2852
|
}
|
|
2515
|
-
return /* @__PURE__ */ (0,
|
|
2516
|
-
|
|
2853
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
|
|
2854
|
+
import_core42.Box,
|
|
2517
2855
|
{
|
|
2518
2856
|
component: "figure",
|
|
2519
2857
|
m: 0,
|
|
@@ -2526,9 +2864,9 @@ function MediaFrame({
|
|
|
2526
2864
|
},
|
|
2527
2865
|
"aria-label": mediaAlt,
|
|
2528
2866
|
children: [
|
|
2529
|
-
media ?? /* @__PURE__ */ (0,
|
|
2530
|
-
media && overlayBackground ? /* @__PURE__ */ (0,
|
|
2531
|
-
|
|
2867
|
+
media ?? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(MediaFallback, {}),
|
|
2868
|
+
media && overlayBackground ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2869
|
+
import_core42.Box,
|
|
2532
2870
|
{
|
|
2533
2871
|
"aria-hidden": true,
|
|
2534
2872
|
style: {
|
|
@@ -2561,7 +2899,7 @@ function EditorialHero({
|
|
|
2561
2899
|
classNames
|
|
2562
2900
|
}) {
|
|
2563
2901
|
if (loading) {
|
|
2564
|
-
return /* @__PURE__ */ (0,
|
|
2902
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(LoadingHero, { compact });
|
|
2565
2903
|
}
|
|
2566
2904
|
const stackAlign = align === "center" ? "center" : "flex-start";
|
|
2567
2905
|
const textAlign = align === "center" ? "center" : "left";
|
|
@@ -2569,15 +2907,15 @@ function EditorialHero({
|
|
|
2569
2907
|
const renderedActions = actions.slice(0, 3).map((action, index) => {
|
|
2570
2908
|
const resolved = resolveActionVariant(action, index, seenPrimary);
|
|
2571
2909
|
seenPrimary = resolved.seenPrimary;
|
|
2572
|
-
return /* @__PURE__ */ (0,
|
|
2910
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(HeroAction, { action, variant: resolved.variant }, `${action.label}-${index}`);
|
|
2573
2911
|
});
|
|
2574
|
-
const textSlot = /* @__PURE__ */ (0,
|
|
2575
|
-
/* @__PURE__ */ (0,
|
|
2576
|
-
eyebrow ? /* @__PURE__ */ (0,
|
|
2577
|
-
/* @__PURE__ */ (0,
|
|
2578
|
-
description ? /* @__PURE__ */ (0,
|
|
2912
|
+
const textSlot = /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_core42.Stack, { gap: compact ? "md" : "lg", justify: "center", h: "100%", className: classNames?.content, children: [
|
|
2913
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_core42.Stack, { gap: "sm", align: stackAlign, children: [
|
|
2914
|
+
eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Text, { size: "sm", fw: 700, c: "dimmed", ta: textAlign, children: eyebrow }) : null,
|
|
2915
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Title, { order: 1, maw: 760, ta: textAlign, children: title }),
|
|
2916
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Text, { size: compact ? "md" : "lg", c: "dimmed", maw: 720, ta: textAlign, children: description }) : null
|
|
2579
2917
|
] }),
|
|
2580
|
-
renderedActions.length ? /* @__PURE__ */ (0,
|
|
2918
|
+
renderedActions.length ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Box, { className: classNames?.actions, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2581
2919
|
CtaButtonGroup,
|
|
2582
2920
|
{
|
|
2583
2921
|
primary: renderedActions[0],
|
|
@@ -2585,8 +2923,8 @@ function EditorialHero({
|
|
|
2585
2923
|
tertiary: renderedActions[2]
|
|
2586
2924
|
}
|
|
2587
2925
|
) }) : null,
|
|
2588
|
-
meta.length ? /* @__PURE__ */ (0,
|
|
2589
|
-
|
|
2926
|
+
meta.length ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Group, { gap: "sm", wrap: "wrap", "aria-label": "Supporting details", className: classNames?.meta, children: meta.map((item) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
|
|
2927
|
+
import_core42.Group,
|
|
2590
2928
|
{
|
|
2591
2929
|
gap: 6,
|
|
2592
2930
|
px: "sm",
|
|
@@ -2597,17 +2935,17 @@ function EditorialHero({
|
|
|
2597
2935
|
},
|
|
2598
2936
|
children: [
|
|
2599
2937
|
item.icon,
|
|
2600
|
-
/* @__PURE__ */ (0,
|
|
2938
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Text, { size: "sm", c: "dimmed", children: item.label })
|
|
2601
2939
|
]
|
|
2602
2940
|
},
|
|
2603
2941
|
item.id
|
|
2604
2942
|
)) }) : null
|
|
2605
2943
|
] });
|
|
2606
|
-
const mediaSlot = error ? /* @__PURE__ */ (0,
|
|
2607
|
-
const textCol = /* @__PURE__ */ (0,
|
|
2608
|
-
const mediaCol = /* @__PURE__ */ (0,
|
|
2609
|
-
return /* @__PURE__ */ (0,
|
|
2610
|
-
|
|
2944
|
+
const mediaSlot = error ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(AccentPanel, { tone: "red", variant: "soft-outline", title: "Media unavailable", children: error }) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(MediaFrame, { media, mediaAlt, mediaFade, className: classNames?.media });
|
|
2945
|
+
const textCol = /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Grid.Col, { span: { base: 12, md: 6 }, order: { base: 1, md: mediaPosition === "left" ? 2 : 1 }, children: textSlot });
|
|
2946
|
+
const mediaCol = /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_core42.Grid.Col, { span: { base: 12, md: 6 }, order: { base: 2, md: mediaPosition === "left" ? 1 : 2 }, children: mediaSlot });
|
|
2947
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2948
|
+
import_core42.Paper,
|
|
2611
2949
|
{
|
|
2612
2950
|
component: "section",
|
|
2613
2951
|
withBorder: true,
|
|
@@ -2615,7 +2953,7 @@ function EditorialHero({
|
|
|
2615
2953
|
p: compact ? "lg" : "xl",
|
|
2616
2954
|
className: classNames?.root,
|
|
2617
2955
|
style: surfaceVariant === "flat-public" ? { boxShadow: "none" } : void 0,
|
|
2618
|
-
children: /* @__PURE__ */ (0,
|
|
2956
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_core42.Grid, { gutter: compact ? "lg" : "xl", align: "center", children: [
|
|
2619
2957
|
textCol,
|
|
2620
2958
|
mediaCol
|
|
2621
2959
|
] })
|
|
@@ -2624,19 +2962,19 @@ function EditorialHero({
|
|
|
2624
2962
|
}
|
|
2625
2963
|
|
|
2626
2964
|
// src/FeatureBand.tsx
|
|
2627
|
-
var
|
|
2628
|
-
var
|
|
2965
|
+
var import_core43 = require("@mantine/core");
|
|
2966
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2629
2967
|
function FeatureBandSkeleton({
|
|
2630
2968
|
columns = 3,
|
|
2631
2969
|
bordered = true,
|
|
2632
2970
|
variant = "default"
|
|
2633
2971
|
}) {
|
|
2634
|
-
return /* @__PURE__ */ (0,
|
|
2635
|
-
/* @__PURE__ */ (0,
|
|
2636
|
-
/* @__PURE__ */ (0,
|
|
2637
|
-
/* @__PURE__ */ (0,
|
|
2638
|
-
/* @__PURE__ */ (0,
|
|
2639
|
-
/* @__PURE__ */ (0,
|
|
2972
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.SimpleGrid, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Paper, { withBorder: bordered, radius: "lg", p: variant === "compact" ? "md" : "lg", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_core43.Stack, { gap: "md", children: [
|
|
2973
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Skeleton, { height: variant === "process" ? 28 : 42, width: variant === "process" ? 72 : 42, radius: "xl" }),
|
|
2974
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_core43.Stack, { gap: "xs", children: [
|
|
2975
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Skeleton, { height: 20, width: "75%", radius: "md" }),
|
|
2976
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Skeleton, { height: 14, width: "100%", radius: "md" }),
|
|
2977
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Skeleton, { height: 14, width: "82%", radius: "md" })
|
|
2640
2978
|
] })
|
|
2641
2979
|
] }) }, index)) });
|
|
2642
2980
|
}
|
|
@@ -2649,10 +2987,10 @@ function FeatureBand({
|
|
|
2649
2987
|
variant = "default"
|
|
2650
2988
|
}) {
|
|
2651
2989
|
if (loading) {
|
|
2652
|
-
return /* @__PURE__ */ (0,
|
|
2990
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(FeatureBandSkeleton, { columns, bordered, variant });
|
|
2653
2991
|
}
|
|
2654
2992
|
if (!items.length) {
|
|
2655
|
-
return emptyState ? /* @__PURE__ */ (0,
|
|
2993
|
+
return emptyState ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: emptyState }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
2656
2994
|
EmptyState,
|
|
2657
2995
|
{
|
|
2658
2996
|
title: "No supporting details available",
|
|
@@ -2660,9 +2998,9 @@ function FeatureBand({
|
|
|
2660
2998
|
}
|
|
2661
2999
|
);
|
|
2662
3000
|
}
|
|
2663
|
-
return /* @__PURE__ */ (0,
|
|
2664
|
-
variant === "process" ? /* @__PURE__ */ (0,
|
|
2665
|
-
|
|
3001
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Box, { component: "section", "aria-label": "Supporting features", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.SimpleGrid, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Paper, { withBorder: bordered, radius: "lg", p: variant === "compact" ? "md" : "lg", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_core43.Stack, { gap: "md", children: [
|
|
3002
|
+
variant === "process" ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Group, { children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3003
|
+
import_core43.Text,
|
|
2666
3004
|
{
|
|
2667
3005
|
fw: 800,
|
|
2668
3006
|
size: "sm",
|
|
@@ -2674,18 +3012,18 @@ function FeatureBand({
|
|
|
2674
3012
|
},
|
|
2675
3013
|
children: item.stepLabel ?? `Step ${index + 1}`
|
|
2676
3014
|
}
|
|
2677
|
-
) }) : item.media ? item.media : item.icon ? /* @__PURE__ */ (0,
|
|
2678
|
-
/* @__PURE__ */ (0,
|
|
2679
|
-
/* @__PURE__ */ (0,
|
|
2680
|
-
item.description ? /* @__PURE__ */ (0,
|
|
2681
|
-
item.meta ? /* @__PURE__ */ (0,
|
|
3015
|
+
) }) : item.media ? item.media : item.icon ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Group, { children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.ThemeIcon, { size: "xl", radius: "xl", variant: "light", color: "violet", children: item.icon }) }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Group, { children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.ThemeIcon, { size: "xl", radius: "xl", variant: "light", color: "gray", "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(GdsIcons.Info, { size: "1.25rem" }) }) }),
|
|
3016
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_core43.Stack, { gap: "xs", children: [
|
|
3017
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Title, { order: 4, children: item.title }),
|
|
3018
|
+
item.description ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Text, { c: "dimmed", children: item.description }) : null,
|
|
3019
|
+
item.meta ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_core43.Text, { size: "sm", c: "dimmed", children: item.meta }) : null
|
|
2682
3020
|
] })
|
|
2683
3021
|
] }) }, item.id)) }) });
|
|
2684
3022
|
}
|
|
2685
3023
|
|
|
2686
3024
|
// src/MapPanel.tsx
|
|
2687
|
-
var
|
|
2688
|
-
var
|
|
3025
|
+
var import_core44 = require("@mantine/core");
|
|
3026
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2689
3027
|
function MapPanel({
|
|
2690
3028
|
title,
|
|
2691
3029
|
description,
|
|
@@ -2701,7 +3039,7 @@ function MapPanel({
|
|
|
2701
3039
|
}) {
|
|
2702
3040
|
let body;
|
|
2703
3041
|
if (loading) {
|
|
2704
|
-
body = /* @__PURE__ */ (0,
|
|
3042
|
+
body = /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2705
3043
|
StateBlock,
|
|
2706
3044
|
{
|
|
2707
3045
|
variant: "loading",
|
|
@@ -2711,9 +3049,9 @@ function MapPanel({
|
|
|
2711
3049
|
}
|
|
2712
3050
|
);
|
|
2713
3051
|
} else if (error) {
|
|
2714
|
-
body = /* @__PURE__ */ (0,
|
|
3052
|
+
body = /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(StateBlock, { variant: "error", title: "Map unavailable", description: error, compact: true });
|
|
2715
3053
|
} else if (!iframeSrc && !renderMap) {
|
|
2716
|
-
body = /* @__PURE__ */ (0,
|
|
3054
|
+
body = /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2717
3055
|
StateBlock,
|
|
2718
3056
|
{
|
|
2719
3057
|
variant: "empty",
|
|
@@ -2723,9 +3061,9 @@ function MapPanel({
|
|
|
2723
3061
|
}
|
|
2724
3062
|
);
|
|
2725
3063
|
} else if (renderMap) {
|
|
2726
|
-
body = /* @__PURE__ */ (0,
|
|
3064
|
+
body = /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_core44.Box, { style: { minHeight }, children: renderMap() });
|
|
2727
3065
|
} else {
|
|
2728
|
-
body = /* @__PURE__ */ (0,
|
|
3066
|
+
body = /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_core44.AspectRatio, { ratio: 16 / 9, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2729
3067
|
"iframe",
|
|
2730
3068
|
{
|
|
2731
3069
|
src: iframeSrc,
|
|
@@ -2737,21 +3075,21 @@ function MapPanel({
|
|
|
2737
3075
|
}
|
|
2738
3076
|
) });
|
|
2739
3077
|
}
|
|
2740
|
-
return /* @__PURE__ */ (0,
|
|
2741
|
-
/* @__PURE__ */ (0,
|
|
2742
|
-
/* @__PURE__ */ (0,
|
|
2743
|
-
/* @__PURE__ */ (0,
|
|
2744
|
-
description ? /* @__PURE__ */ (0,
|
|
3078
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_core44.Paper, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_core44.Stack, { gap: "md", children: [
|
|
3079
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_core44.Group, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
|
|
3080
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_core44.Stack, { gap: 4, children: [
|
|
3081
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_core44.Title, { order: 3, children: title }),
|
|
3082
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_core44.Text, { size: "sm", c: "dimmed", children: description }) : null
|
|
2745
3083
|
] }),
|
|
2746
|
-
actions ? /* @__PURE__ */ (0,
|
|
3084
|
+
actions ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ActionBar, { ...actions }) : null
|
|
2747
3085
|
] }),
|
|
2748
3086
|
body
|
|
2749
3087
|
] }) });
|
|
2750
3088
|
}
|
|
2751
3089
|
|
|
2752
3090
|
// src/PublicFlowShell.tsx
|
|
2753
|
-
var
|
|
2754
|
-
var
|
|
3091
|
+
var import_core45 = require("@mantine/core");
|
|
3092
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2755
3093
|
var stageTone = {
|
|
2756
3094
|
idle: { label: "Idle", color: "gray" },
|
|
2757
3095
|
loading: { label: "Loading", color: "blue" },
|
|
@@ -2803,7 +3141,7 @@ function PublicFlowShell({
|
|
|
2803
3141
|
const actionBar = toActionBar(stage.actions);
|
|
2804
3142
|
let body = stage.body;
|
|
2805
3143
|
if (stage.status === "loading") {
|
|
2806
|
-
body = /* @__PURE__ */ (0,
|
|
3144
|
+
body = /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2807
3145
|
StateBlock,
|
|
2808
3146
|
{
|
|
2809
3147
|
variant: "loading",
|
|
@@ -2812,7 +3150,7 @@ function PublicFlowShell({
|
|
|
2812
3150
|
}
|
|
2813
3151
|
);
|
|
2814
3152
|
} else if (stage.status === "error") {
|
|
2815
|
-
body = errorState ?? /* @__PURE__ */ (0,
|
|
3153
|
+
body = errorState ?? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2816
3154
|
StateBlock,
|
|
2817
3155
|
{
|
|
2818
3156
|
variant: "error",
|
|
@@ -2821,7 +3159,7 @@ function PublicFlowShell({
|
|
|
2821
3159
|
}
|
|
2822
3160
|
);
|
|
2823
3161
|
} else if (!stage.body && !hardwareSurface) {
|
|
2824
|
-
body = emptyState ?? /* @__PURE__ */ (0,
|
|
3162
|
+
body = emptyState ?? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2825
3163
|
EmptyState,
|
|
2826
3164
|
{
|
|
2827
3165
|
title: "No stage content available",
|
|
@@ -2829,29 +3167,29 @@ function PublicFlowShell({
|
|
|
2829
3167
|
}
|
|
2830
3168
|
);
|
|
2831
3169
|
}
|
|
2832
|
-
return /* @__PURE__ */ (0,
|
|
2833
|
-
/* @__PURE__ */ (0,
|
|
2834
|
-
/* @__PURE__ */ (0,
|
|
2835
|
-
eyebrow ? /* @__PURE__ */ (0,
|
|
2836
|
-
/* @__PURE__ */ (0,
|
|
2837
|
-
/* @__PURE__ */ (0,
|
|
2838
|
-
/* @__PURE__ */ (0,
|
|
3170
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_core45.Paper, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_core45.Stack, { gap: "lg", children: [
|
|
3171
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_core45.Group, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
|
|
3172
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_core45.Stack, { gap: 4, children: [
|
|
3173
|
+
eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_core45.Text, { size: "xs", fw: 700, c: "dimmed", tt: "uppercase", children: eyebrow }) : null,
|
|
3174
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_core45.Group, { gap: "sm", wrap: "wrap", children: [
|
|
3175
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_core45.Title, { order: 2, children: stage.title }),
|
|
3176
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_core45.Badge, { variant: "light", color: tone.color, children: tone.label })
|
|
2839
3177
|
] }),
|
|
2840
|
-
stage.description ? /* @__PURE__ */ (0,
|
|
3178
|
+
stage.description ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_core45.Text, { size: "sm", c: "dimmed", children: stage.description }) : null
|
|
2841
3179
|
] }),
|
|
2842
3180
|
exitAction
|
|
2843
3181
|
] }),
|
|
2844
|
-
stage.notice ? /* @__PURE__ */ (0,
|
|
3182
|
+
stage.notice ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_core45.Text, { size: "sm", c: "dimmed", children: stage.notice }) : null,
|
|
2845
3183
|
body,
|
|
2846
3184
|
hardwareSurface,
|
|
2847
3185
|
stage.aside,
|
|
2848
|
-
actionBar ? /* @__PURE__ */ (0,
|
|
3186
|
+
actionBar ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ActionBar, { ...actionBar }) : null
|
|
2849
3187
|
] }) });
|
|
2850
3188
|
}
|
|
2851
3189
|
|
|
2852
3190
|
// src/PlaybackSurface.tsx
|
|
2853
|
-
var
|
|
2854
|
-
var
|
|
3191
|
+
var import_core46 = require("@mantine/core");
|
|
3192
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
2855
3193
|
var stateTone = {
|
|
2856
3194
|
loading: { label: "Loading", color: "blue" },
|
|
2857
3195
|
ready: { label: "Ready", color: "teal" },
|
|
@@ -2874,7 +3212,7 @@ function PlaybackSurface({
|
|
|
2874
3212
|
const tone = stateTone[state];
|
|
2875
3213
|
let content;
|
|
2876
3214
|
if (state === "loading") {
|
|
2877
|
-
content = /* @__PURE__ */ (0,
|
|
3215
|
+
content = /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
2878
3216
|
StateBlock,
|
|
2879
3217
|
{
|
|
2880
3218
|
variant: "loading",
|
|
@@ -2883,7 +3221,7 @@ function PlaybackSurface({
|
|
|
2883
3221
|
}
|
|
2884
3222
|
);
|
|
2885
3223
|
} else if (state === "empty") {
|
|
2886
|
-
content = emptyState ?? /* @__PURE__ */ (0,
|
|
3224
|
+
content = emptyState ?? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
2887
3225
|
EmptyState,
|
|
2888
3226
|
{
|
|
2889
3227
|
title: "No playback content available",
|
|
@@ -2891,7 +3229,7 @@ function PlaybackSurface({
|
|
|
2891
3229
|
}
|
|
2892
3230
|
);
|
|
2893
3231
|
} else if (state === "error") {
|
|
2894
|
-
content = errorState ?? /* @__PURE__ */ (0,
|
|
3232
|
+
content = errorState ?? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
2895
3233
|
StateBlock,
|
|
2896
3234
|
{
|
|
2897
3235
|
variant: "error",
|
|
@@ -2900,23 +3238,23 @@ function PlaybackSurface({
|
|
|
2900
3238
|
}
|
|
2901
3239
|
);
|
|
2902
3240
|
} else {
|
|
2903
|
-
content = /* @__PURE__ */ (0,
|
|
3241
|
+
content = /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_core46.Stack, { gap: "md", children: [
|
|
2904
3242
|
media,
|
|
2905
3243
|
overlays
|
|
2906
3244
|
] });
|
|
2907
3245
|
}
|
|
2908
|
-
return /* @__PURE__ */ (0,
|
|
2909
|
-
title || statusMessage || controls ? /* @__PURE__ */ (0,
|
|
2910
|
-
/* @__PURE__ */ (0,
|
|
2911
|
-
title ? /* @__PURE__ */ (0,
|
|
2912
|
-
statusMessage ? /* @__PURE__ */ (0,
|
|
3246
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_core46.Paper, { withBorder: true, radius: "xl", p: "lg", "data-playback-mode": mode, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_core46.Stack, { gap: "md", children: [
|
|
3247
|
+
title || statusMessage || controls ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_core46.Group, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
|
|
3248
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_core46.Stack, { gap: 4, children: [
|
|
3249
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_core46.Title, { order: 3, children: title }) : null,
|
|
3250
|
+
statusMessage ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_core46.Text, { size: "sm", c: "dimmed", children: statusMessage }) : null
|
|
2913
3251
|
] }),
|
|
2914
|
-
/* @__PURE__ */ (0,
|
|
2915
|
-
/* @__PURE__ */ (0,
|
|
3252
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_core46.Group, { gap: "sm", align: "center", wrap: "wrap", children: [
|
|
3253
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_core46.Badge, { variant: "light", color: tone.color, children: tone.label }),
|
|
2916
3254
|
controls
|
|
2917
3255
|
] })
|
|
2918
3256
|
] }) : null,
|
|
2919
|
-
state === "degraded" ? /* @__PURE__ */ (0,
|
|
3257
|
+
state === "degraded" ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
2920
3258
|
StateBlock,
|
|
2921
3259
|
{
|
|
2922
3260
|
variant: "info",
|
|
@@ -2930,9 +3268,9 @@ function PlaybackSurface({
|
|
|
2930
3268
|
}
|
|
2931
3269
|
|
|
2932
3270
|
// src/ShareButtonGroup.tsx
|
|
2933
|
-
var
|
|
2934
|
-
var
|
|
2935
|
-
var
|
|
3271
|
+
var import_react8 = require("react");
|
|
3272
|
+
var import_core47 = require("@mantine/core");
|
|
3273
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
2936
3274
|
var channelLabels = {
|
|
2937
3275
|
native: "Share",
|
|
2938
3276
|
copy: "Copy link",
|
|
@@ -2967,9 +3305,9 @@ function ShareAction({
|
|
|
2967
3305
|
const label = channelLabels[channel];
|
|
2968
3306
|
const Icon = channel === "copy" ? GdsIcons.Copy : channel === "mail" ? GdsIcons.Mail : channel === "message" ? GdsIcons.Message : GdsIcons.Refer;
|
|
2969
3307
|
if (compact) {
|
|
2970
|
-
return href ? /* @__PURE__ */ (0,
|
|
3308
|
+
return href ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_core47.ActionIcon, { component: "a", href, target: "_blank", rel: "noreferrer", variant: "subtle", size: "lg", "aria-label": label, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Icon, { size: "1rem", stroke: 1.75 }) }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_core47.ActionIcon, { variant: "subtle", size: "lg", "aria-label": label, onClick, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Icon, { size: "1rem", stroke: 1.75 }) });
|
|
2971
3309
|
}
|
|
2972
|
-
return href ? /* @__PURE__ */ (0,
|
|
3310
|
+
return href ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_core47.Button, { component: "a", href, target: "_blank", rel: "noreferrer", variant: "default", leftSection: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Icon, { size: "1rem", stroke: 1.75 }), children: label }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_core47.Button, { variant: "default", leftSection: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Icon, { size: "1rem", stroke: 1.75 }), onClick, children: label });
|
|
2973
3311
|
}
|
|
2974
3312
|
function ShareButtonGroup({
|
|
2975
3313
|
url,
|
|
@@ -2980,8 +3318,8 @@ function ShareButtonGroup({
|
|
|
2980
3318
|
label = "Share this",
|
|
2981
3319
|
description
|
|
2982
3320
|
}) {
|
|
2983
|
-
const [copied, setCopied] = (0,
|
|
2984
|
-
const [shared, setShared] = (0,
|
|
3321
|
+
const [copied, setCopied] = (0, import_react8.useState)(false);
|
|
3322
|
+
const [shared, setShared] = (0, import_react8.useState)(false);
|
|
2985
3323
|
const hrefs = encodeShare(url, title, text);
|
|
2986
3324
|
async function handleCopy() {
|
|
2987
3325
|
await navigator.clipboard?.writeText?.(url);
|
|
@@ -2997,29 +3335,29 @@ function ShareButtonGroup({
|
|
|
2997
3335
|
}
|
|
2998
3336
|
await handleCopy();
|
|
2999
3337
|
}
|
|
3000
|
-
return /* @__PURE__ */ (0,
|
|
3001
|
-
/* @__PURE__ */ (0,
|
|
3002
|
-
/* @__PURE__ */ (0,
|
|
3003
|
-
description ? /* @__PURE__ */ (0,
|
|
3338
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_core47.Stack, { gap: "sm", children: [
|
|
3339
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_core47.Stack, { gap: 2, children: [
|
|
3340
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_core47.Text, { fw: 600, children: label }),
|
|
3341
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_core47.Text, { size: "sm", c: "dimmed", children: description }) : null
|
|
3004
3342
|
] }),
|
|
3005
|
-
/* @__PURE__ */ (0,
|
|
3343
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_core47.Group, { gap: "sm", wrap: "wrap", children: channels.map((channel) => {
|
|
3006
3344
|
if (channel === "copy") {
|
|
3007
|
-
return /* @__PURE__ */ (0,
|
|
3345
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ShareAction, { channel, compact, onClick: () => void handleCopy() }, channel);
|
|
3008
3346
|
}
|
|
3009
3347
|
if (channel === "native") {
|
|
3010
|
-
return /* @__PURE__ */ (0,
|
|
3348
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ShareAction, { channel, compact, onClick: () => void handleNativeShare() }, channel);
|
|
3011
3349
|
}
|
|
3012
|
-
return /* @__PURE__ */ (0,
|
|
3350
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ShareAction, { channel, compact, href: hrefs[channel] }, channel);
|
|
3013
3351
|
}) }),
|
|
3014
|
-
copied ? /* @__PURE__ */ (0,
|
|
3015
|
-
shared ? /* @__PURE__ */ (0,
|
|
3352
|
+
copied ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_core47.Text, { size: "sm", c: "teal", children: "Link copied." }) : null,
|
|
3353
|
+
shared ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_core47.Text, { size: "sm", c: "teal", children: "Share sheet opened." }) : null
|
|
3016
3354
|
] });
|
|
3017
3355
|
}
|
|
3018
3356
|
|
|
3019
3357
|
// src/UploadDropzone.tsx
|
|
3020
|
-
var
|
|
3021
|
-
var
|
|
3022
|
-
var
|
|
3358
|
+
var import_react9 = require("react");
|
|
3359
|
+
var import_core48 = require("@mantine/core");
|
|
3360
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
3023
3361
|
function UploadDropzone({
|
|
3024
3362
|
title,
|
|
3025
3363
|
description,
|
|
@@ -3029,8 +3367,8 @@ function UploadDropzone({
|
|
|
3029
3367
|
actionLabel = "Choose files",
|
|
3030
3368
|
mode = "panel"
|
|
3031
3369
|
}) {
|
|
3032
|
-
const inputRef = (0,
|
|
3033
|
-
const [dragging, setDragging] = (0,
|
|
3370
|
+
const inputRef = (0, import_react9.useRef)(null);
|
|
3371
|
+
const [dragging, setDragging] = (0, import_react9.useState)(false);
|
|
3034
3372
|
const UploadIcon = GdsIcons.Upload;
|
|
3035
3373
|
const forwardFiles = (files) => {
|
|
3036
3374
|
if (!files?.length || !onFilesSelected) {
|
|
@@ -3038,8 +3376,8 @@ function UploadDropzone({
|
|
|
3038
3376
|
}
|
|
3039
3377
|
onFilesSelected(Array.from(files));
|
|
3040
3378
|
};
|
|
3041
|
-
return /* @__PURE__ */ (0,
|
|
3042
|
-
|
|
3379
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
3380
|
+
import_core48.Box,
|
|
3043
3381
|
{
|
|
3044
3382
|
onDragOver: (event) => {
|
|
3045
3383
|
event.preventDefault();
|
|
@@ -3058,7 +3396,7 @@ function UploadDropzone({
|
|
|
3058
3396
|
background: dragging ? "var(--mantine-color-violet-light)" : "transparent"
|
|
3059
3397
|
},
|
|
3060
3398
|
children: [
|
|
3061
|
-
/* @__PURE__ */ (0,
|
|
3399
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
3062
3400
|
"input",
|
|
3063
3401
|
{
|
|
3064
3402
|
ref: inputRef,
|
|
@@ -3069,11 +3407,11 @@ function UploadDropzone({
|
|
|
3069
3407
|
onChange: (event) => forwardFiles(event.currentTarget.files)
|
|
3070
3408
|
}
|
|
3071
3409
|
),
|
|
3072
|
-
/* @__PURE__ */ (0,
|
|
3073
|
-
/* @__PURE__ */ (0,
|
|
3074
|
-
/* @__PURE__ */ (0,
|
|
3075
|
-
description ? /* @__PURE__ */ (0,
|
|
3076
|
-
/* @__PURE__ */ (0,
|
|
3410
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_core48.Stack, { align: mode === "inline" ? "flex-start" : "center", ta: mode === "inline" ? "left" : "center", gap: "sm", children: [
|
|
3411
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UploadIcon, { size: "1.5rem" }),
|
|
3412
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_core48.Text, { fw: 600, children: title }),
|
|
3413
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_core48.Text, { size: "sm", c: "dimmed", children: description }) : null,
|
|
3414
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_core48.Group, { children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_core48.Button, { variant: "light", onClick: () => inputRef.current?.click(), children: actionLabel }) })
|
|
3077
3415
|
] })
|
|
3078
3416
|
]
|
|
3079
3417
|
}
|
|
@@ -3081,8 +3419,8 @@ function UploadDropzone({
|
|
|
3081
3419
|
}
|
|
3082
3420
|
|
|
3083
3421
|
// src/MediaField.tsx
|
|
3084
|
-
var
|
|
3085
|
-
var
|
|
3422
|
+
var import_core49 = require("@mantine/core");
|
|
3423
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
3086
3424
|
var stateLabels = {
|
|
3087
3425
|
empty: { label: "Empty", color: "gray" },
|
|
3088
3426
|
selected: { label: "Selected", color: "blue" },
|
|
@@ -3110,32 +3448,32 @@ function MediaField({
|
|
|
3110
3448
|
mode = "stacked"
|
|
3111
3449
|
}) {
|
|
3112
3450
|
const stateBadge = stateLabels[state];
|
|
3113
|
-
const resolvedRemoveAction = removeAction ?? (onRemove ? /* @__PURE__ */ (0,
|
|
3114
|
-
const resolvedResetAction = resetAction ?? (onReset ? /* @__PURE__ */ (0,
|
|
3115
|
-
return /* @__PURE__ */ (0,
|
|
3451
|
+
const resolvedRemoveAction = removeAction ?? (onRemove ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_core49.Button, { type: "button", variant: "light", color: "red", onClick: onRemove, children: "Remove" }) : null);
|
|
3452
|
+
const resolvedResetAction = resetAction ?? (onReset ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_core49.Button, { type: "button", variant: "default", onClick: onReset, children: "Reset" }) : null);
|
|
3453
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
3116
3454
|
FormField,
|
|
3117
3455
|
{
|
|
3118
3456
|
label,
|
|
3119
3457
|
description,
|
|
3120
3458
|
error,
|
|
3121
|
-
children: /* @__PURE__ */ (0,
|
|
3122
|
-
/* @__PURE__ */ (0,
|
|
3123
|
-
/* @__PURE__ */ (0,
|
|
3459
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_core49.Paper, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_core49.Stack, { gap: "md", children: [
|
|
3460
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_core49.Group, { justify: "flex-end", align: "center", gap: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_core49.Group, { gap: "xs", justify: "flex-end", children: [
|
|
3461
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_core49.Badge, { variant: "light", color: stateBadge.color, children: stateBadge.label }),
|
|
3124
3462
|
statusAction
|
|
3125
3463
|
] }) }),
|
|
3126
3464
|
preview ? preview : null,
|
|
3127
|
-
uploadControl || urlInput ? /* @__PURE__ */ (0,
|
|
3128
|
-
/* @__PURE__ */ (0,
|
|
3129
|
-
/* @__PURE__ */ (0,
|
|
3465
|
+
uploadControl || urlInput ? /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { children: [
|
|
3466
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_core49.Divider, {}),
|
|
3467
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_core49.Stack, { gap: "sm", style: mode === "split" ? { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(220px, 1fr))" } : void 0, children: [
|
|
3130
3468
|
uploadControl,
|
|
3131
3469
|
urlInput
|
|
3132
3470
|
] })
|
|
3133
3471
|
] }) : null,
|
|
3134
|
-
value ? /* @__PURE__ */ (0,
|
|
3135
|
-
helpText ? /* @__PURE__ */ (0,
|
|
3136
|
-
policyText ? /* @__PURE__ */ (0,
|
|
3472
|
+
value ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_core49.Text, { size: "sm", c: "dimmed", style: { wordBreak: "break-all" }, children: value }) : null,
|
|
3473
|
+
helpText ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_core49.Text, { size: "sm", c: "dimmed", children: helpText }) : null,
|
|
3474
|
+
policyText ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_core49.Text, { size: "sm", c: error ? "red.7" : "dimmed", children: policyText }) : null,
|
|
3137
3475
|
typeof error !== "string" && error ? error : null,
|
|
3138
|
-
resolvedRemoveAction || resolvedResetAction ? /* @__PURE__ */ (0,
|
|
3476
|
+
resolvedRemoveAction || resolvedResetAction ? /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_core49.Group, { gap: "sm", children: [
|
|
3139
3477
|
resolvedResetAction,
|
|
3140
3478
|
retryAction,
|
|
3141
3479
|
resolvedRemoveAction
|
|
@@ -3146,50 +3484,50 @@ function MediaField({
|
|
|
3146
3484
|
}
|
|
3147
3485
|
|
|
3148
3486
|
// src/MediaCard.tsx
|
|
3149
|
-
var
|
|
3150
|
-
var
|
|
3487
|
+
var import_core50 = require("@mantine/core");
|
|
3488
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
3151
3489
|
function MediaCard({ title, image, description, status, overlay, actions = [] }) {
|
|
3152
3490
|
const EyeIcon = GdsIcons.Eye;
|
|
3153
|
-
return /* @__PURE__ */ (0,
|
|
3154
|
-
/* @__PURE__ */ (0,
|
|
3491
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_core50.Card, { withBorder: true, radius: "lg", padding: "md", children: [
|
|
3492
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_core50.Card.Section, { pos: "relative", children: [
|
|
3155
3493
|
image,
|
|
3156
|
-
overlay ? /* @__PURE__ */ (0,
|
|
3494
|
+
overlay ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { style: { position: "absolute", inset: 12, display: "flex", justifyContent: "flex-end", alignItems: "flex-start" }, children: overlay }) : null
|
|
3157
3495
|
] }),
|
|
3158
|
-
/* @__PURE__ */ (0,
|
|
3159
|
-
/* @__PURE__ */ (0,
|
|
3160
|
-
/* @__PURE__ */ (0,
|
|
3161
|
-
/* @__PURE__ */ (0,
|
|
3162
|
-
description ? /* @__PURE__ */ (0,
|
|
3496
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_core50.Stack, { gap: "sm", mt: "md", children: [
|
|
3497
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_core50.Group, { justify: "space-between", align: "flex-start", children: [
|
|
3498
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_core50.Stack, { gap: 4, children: [
|
|
3499
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_core50.Title, { order: 4, children: title }),
|
|
3500
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_core50.Text, { size: "sm", c: "dimmed", lineClamp: 2, children: description }) : null
|
|
3163
3501
|
] }),
|
|
3164
|
-
status ? /* @__PURE__ */ (0,
|
|
3502
|
+
status ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_core50.Badge, { variant: "light", children: status }) : null
|
|
3165
3503
|
] }),
|
|
3166
|
-
actions.length ? /* @__PURE__ */ (0,
|
|
3504
|
+
actions.length ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_core50.Group, { justify: "flex-end", gap: "xs", children: actions.map((action) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_core50.ActionIcon, { variant: "light", "aria-label": action.label, onClick: action.onClick, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(EyeIcon, { size: "1rem" }) }, action.label)) }) : null
|
|
3167
3505
|
] })
|
|
3168
3506
|
] });
|
|
3169
3507
|
}
|
|
3170
3508
|
|
|
3171
3509
|
// src/AccessSummary.tsx
|
|
3172
|
-
var
|
|
3173
|
-
var
|
|
3510
|
+
var import_core51 = require("@mantine/core");
|
|
3511
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
3174
3512
|
function AccessSummary({ title, roles, scope, blocked = false, description }) {
|
|
3175
|
-
return /* @__PURE__ */ (0,
|
|
3176
|
-
/* @__PURE__ */ (0,
|
|
3177
|
-
/* @__PURE__ */ (0,
|
|
3178
|
-
/* @__PURE__ */ (0,
|
|
3513
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_core51.Card, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_core51.Stack, { gap: "sm", children: [
|
|
3514
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_core51.Group, { justify: "space-between", align: "center", children: [
|
|
3515
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_core51.Title, { order: 4, children: title }),
|
|
3516
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_core51.Badge, { color: blocked ? "red" : "teal", variant: "light", children: blocked ? "Blocked" : "Allowed" })
|
|
3179
3517
|
] }),
|
|
3180
|
-
/* @__PURE__ */ (0,
|
|
3181
|
-
scope ? /* @__PURE__ */ (0,
|
|
3518
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_core51.Group, { gap: "xs", children: roles.map((role) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_core51.Badge, { variant: "outline", children: role }, role)) }),
|
|
3519
|
+
scope ? /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_core51.Text, { size: "sm", c: "dimmed", children: [
|
|
3182
3520
|
"Scope: ",
|
|
3183
3521
|
scope
|
|
3184
3522
|
] }) : null,
|
|
3185
|
-
description ? /* @__PURE__ */ (0,
|
|
3523
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_core51.Text, { size: "sm", children: description }) : null
|
|
3186
3524
|
] }) });
|
|
3187
3525
|
}
|
|
3188
3526
|
|
|
3189
3527
|
// src/AccessRecoveryPanel.tsx
|
|
3190
|
-
var
|
|
3528
|
+
var import_core52 = require("@mantine/core");
|
|
3191
3529
|
var import_gds_theme5 = require("@doneisbetter/gds-theme");
|
|
3192
|
-
var
|
|
3530
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
3193
3531
|
var stateBlockVariantByState = {
|
|
3194
3532
|
unauthenticated: "permission",
|
|
3195
3533
|
"expired-session": "info",
|
|
@@ -3258,7 +3596,7 @@ function ActionGroup({
|
|
|
3258
3596
|
if (actions.length === 0) {
|
|
3259
3597
|
return null;
|
|
3260
3598
|
}
|
|
3261
|
-
return /* @__PURE__ */ (0,
|
|
3599
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_core52.Group, { gap: "sm", justify: "center", wrap: "wrap", children: actions.map((actionConfig, index) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3262
3600
|
SemanticButton,
|
|
3263
3601
|
{
|
|
3264
3602
|
action: actionConfig.action,
|
|
@@ -3292,14 +3630,14 @@ function AccessRecoveryPanel({
|
|
|
3292
3630
|
onBack,
|
|
3293
3631
|
supportAction
|
|
3294
3632
|
});
|
|
3295
|
-
return /* @__PURE__ */ (0,
|
|
3633
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3296
3634
|
StateBlock,
|
|
3297
3635
|
{
|
|
3298
3636
|
variant: stateBlockVariantByState[state],
|
|
3299
3637
|
compact,
|
|
3300
3638
|
title: title ?? t(`gds.accessRecovery.${state}.title`, defaultCopy.title),
|
|
3301
3639
|
description: description ?? t(`gds.accessRecovery.${state}.description`, defaultCopy.description),
|
|
3302
|
-
action: /* @__PURE__ */ (0,
|
|
3640
|
+
action: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
3303
3641
|
ActionGroup,
|
|
3304
3642
|
{
|
|
3305
3643
|
primaryAction: primaryAction ?? defaults.primary,
|
|
@@ -3312,8 +3650,8 @@ function AccessRecoveryPanel({
|
|
|
3312
3650
|
}
|
|
3313
3651
|
|
|
3314
3652
|
// src/PageHeader.tsx
|
|
3315
|
-
var
|
|
3316
|
-
var
|
|
3653
|
+
var import_core53 = require("@mantine/core");
|
|
3654
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
3317
3655
|
function PageHeader({
|
|
3318
3656
|
title,
|
|
3319
3657
|
description,
|
|
@@ -3324,19 +3662,19 @@ function PageHeader({
|
|
|
3324
3662
|
}) {
|
|
3325
3663
|
const resolvedDescription = description ?? subtitle;
|
|
3326
3664
|
const eyebrowProps = eyebrowVariant === "ornamental" ? { tt: "uppercase", style: { letterSpacing: "0.12em" } } : {};
|
|
3327
|
-
return /* @__PURE__ */ (0,
|
|
3328
|
-
/* @__PURE__ */ (0,
|
|
3329
|
-
eyebrow && /* @__PURE__ */ (0,
|
|
3330
|
-
/* @__PURE__ */ (0,
|
|
3331
|
-
resolvedDescription && /* @__PURE__ */ (0,
|
|
3665
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_core53.Group, { justify: "space-between", align: "flex-start", gap: "lg", wrap: "wrap", children: [
|
|
3666
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_core53.Stack, { gap: "xs", children: [
|
|
3667
|
+
eyebrow && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_core53.Text, { size: "xs", fw: 700, c: "dimmed", ...eyebrowProps, children: eyebrow }),
|
|
3668
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_core53.Title, { order: 1, children: title }),
|
|
3669
|
+
resolvedDescription && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_core53.Text, { c: "dimmed", maw: 720, children: resolvedDescription })
|
|
3332
3670
|
] }),
|
|
3333
|
-
actions ? /* @__PURE__ */ (0,
|
|
3671
|
+
actions ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_core53.Box, { children: actions }) : null
|
|
3334
3672
|
] });
|
|
3335
3673
|
}
|
|
3336
3674
|
|
|
3337
3675
|
// src/FilterDrawer.tsx
|
|
3338
|
-
var
|
|
3339
|
-
var
|
|
3676
|
+
var import_core54 = require("@mantine/core");
|
|
3677
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
3340
3678
|
function FilterDrawer({
|
|
3341
3679
|
opened,
|
|
3342
3680
|
onClose,
|
|
@@ -3352,8 +3690,8 @@ function FilterDrawer({
|
|
|
3352
3690
|
}) {
|
|
3353
3691
|
const resolvedPrimaryAction = applyAction ?? primaryAction;
|
|
3354
3692
|
const resolvedSecondaryAction = resetAction ?? secondaryAction;
|
|
3355
|
-
return /* @__PURE__ */ (0,
|
|
3356
|
-
|
|
3693
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
3694
|
+
import_core54.Drawer,
|
|
3357
3695
|
{
|
|
3358
3696
|
opened,
|
|
3359
3697
|
onClose,
|
|
@@ -3361,11 +3699,11 @@ function FilterDrawer({
|
|
|
3361
3699
|
position: mode === "bottom-sheet" ? "bottom" : "right",
|
|
3362
3700
|
size: mode === "bottom-sheet" ? "auto" : "md",
|
|
3363
3701
|
radius: mode === "bottom-sheet" ? "xl" : void 0,
|
|
3364
|
-
children: /* @__PURE__ */ (0,
|
|
3365
|
-
description ? /* @__PURE__ */ (0,
|
|
3702
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_core54.Stack, { gap: "md", children: [
|
|
3703
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_core54.Text, { size: "sm", c: "dimmed", children: description }) : null,
|
|
3366
3704
|
children,
|
|
3367
|
-
resolvedPrimaryAction || resolvedSecondaryAction || closeAction ? /* @__PURE__ */ (0,
|
|
3368
|
-
/* @__PURE__ */ (0,
|
|
3705
|
+
resolvedPrimaryAction || resolvedSecondaryAction || closeAction ? /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_core54.Group, { justify: "space-between", mt: "md", children: [
|
|
3706
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_core54.Group, { gap: "sm", children: [
|
|
3369
3707
|
closeAction,
|
|
3370
3708
|
resolvedSecondaryAction
|
|
3371
3709
|
] }),
|
|
@@ -3377,8 +3715,8 @@ function FilterDrawer({
|
|
|
3377
3715
|
}
|
|
3378
3716
|
|
|
3379
3717
|
// src/PlaceholderPanel.tsx
|
|
3380
|
-
var
|
|
3381
|
-
var
|
|
3718
|
+
var import_core55 = require("@mantine/core");
|
|
3719
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
3382
3720
|
function PlaceholderPanel({
|
|
3383
3721
|
title,
|
|
3384
3722
|
description,
|
|
@@ -3388,16 +3726,16 @@ function PlaceholderPanel({
|
|
|
3388
3726
|
mode
|
|
3389
3727
|
}) {
|
|
3390
3728
|
if (mode === "live" && children) {
|
|
3391
|
-
return /* @__PURE__ */ (0,
|
|
3729
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_jsx_runtime57.Fragment, { children });
|
|
3392
3730
|
}
|
|
3393
|
-
return /* @__PURE__ */ (0,
|
|
3394
|
-
badge ? /* @__PURE__ */ (0,
|
|
3395
|
-
/* @__PURE__ */ (0,
|
|
3396
|
-
/* @__PURE__ */ (0,
|
|
3397
|
-
/* @__PURE__ */ (0,
|
|
3731
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_core55.Card, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_core55.Stack, { gap: "md", children: [
|
|
3732
|
+
badge ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_core55.Badge, { variant: "light", color: "blue", w: "fit-content", children: badge }) : null,
|
|
3733
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_core55.Stack, { gap: "xs", children: [
|
|
3734
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_core55.Title, { order: 4, children: title }),
|
|
3735
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_core55.Text, { c: "dimmed", children: description })
|
|
3398
3736
|
] }),
|
|
3399
|
-
footer ? /* @__PURE__ */ (0,
|
|
3400
|
-
/* @__PURE__ */ (0,
|
|
3737
|
+
footer ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_core55.Text, { size: "sm", children: footer }) : null,
|
|
3738
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
3401
3739
|
StateBlock,
|
|
3402
3740
|
{
|
|
3403
3741
|
variant: "not-enough-data",
|
|
@@ -3410,8 +3748,8 @@ function PlaceholderPanel({
|
|
|
3410
3748
|
}
|
|
3411
3749
|
|
|
3412
3750
|
// src/SimpleDataTable.tsx
|
|
3413
|
-
var
|
|
3414
|
-
var
|
|
3751
|
+
var import_core56 = require("@mantine/core");
|
|
3752
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
3415
3753
|
function SimpleDataTable({
|
|
3416
3754
|
columns,
|
|
3417
3755
|
rows,
|
|
@@ -3422,23 +3760,23 @@ function SimpleDataTable({
|
|
|
3422
3760
|
getRowKey
|
|
3423
3761
|
}) {
|
|
3424
3762
|
if (error) {
|
|
3425
|
-
return /* @__PURE__ */ (0,
|
|
3763
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(StateBlock, { variant: "error", title: "Unable to load data", description: error, compact: true });
|
|
3426
3764
|
}
|
|
3427
3765
|
if (loading) {
|
|
3428
|
-
return /* @__PURE__ */ (0,
|
|
3766
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(StateBlock, { variant: "loading", title: "Loading data", description: "Please wait while the shared dataset is prepared.", compact: true });
|
|
3429
3767
|
}
|
|
3430
3768
|
if (!rows.length) {
|
|
3431
|
-
return /* @__PURE__ */ (0,
|
|
3769
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(StateBlock, { variant: "empty", title: emptyTitle, description: emptyDescription, compact: true });
|
|
3432
3770
|
}
|
|
3433
|
-
return /* @__PURE__ */ (0,
|
|
3434
|
-
/* @__PURE__ */ (0,
|
|
3435
|
-
/* @__PURE__ */ (0,
|
|
3771
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_core56.ScrollArea, { children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_core56.Table, { striped: true, highlightOnHover: true, withTableBorder: true, withColumnBorders: true, children: [
|
|
3772
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_core56.Table.Thead, { children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_core56.Table.Tr, { children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_core56.Table.Th, { children: column.header }, String(column.key))) }) }),
|
|
3773
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_core56.Table.Tbody, { children: rows.map((row, index) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_core56.Table.Tr, { children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_core56.Table.Td, { children: column.render ? column.render(row) : String(row[column.key] ?? "") }, String(column.key))) }, getRowKey ? getRowKey(row, index) : index)) })
|
|
3436
3774
|
] }) });
|
|
3437
3775
|
}
|
|
3438
3776
|
|
|
3439
3777
|
// src/StatsSection.tsx
|
|
3440
|
-
var
|
|
3441
|
-
var
|
|
3778
|
+
var import_core57 = require("@mantine/core");
|
|
3779
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
3442
3780
|
function StatsSection({
|
|
3443
3781
|
title,
|
|
3444
3782
|
loading = false,
|
|
@@ -3450,11 +3788,11 @@ function StatsSection({
|
|
|
3450
3788
|
}) {
|
|
3451
3789
|
let content = children;
|
|
3452
3790
|
if (error) {
|
|
3453
|
-
content = /* @__PURE__ */ (0,
|
|
3791
|
+
content = /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(StateBlock, { variant: "error", title: "Unable to load statistics", description: error, compact: true });
|
|
3454
3792
|
} else if (loading) {
|
|
3455
|
-
content = /* @__PURE__ */ (0,
|
|
3793
|
+
content = /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(StateBlock, { variant: "loading", title: "Loading statistics", description: "This shared data surface is still synchronizing.", compact: true });
|
|
3456
3794
|
} else if (belowThreshold) {
|
|
3457
|
-
content = /* @__PURE__ */ (0,
|
|
3795
|
+
content = /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
3458
3796
|
StateBlock,
|
|
3459
3797
|
{
|
|
3460
3798
|
variant: "not-enough-data",
|
|
@@ -3464,10 +3802,10 @@ function StatsSection({
|
|
|
3464
3802
|
}
|
|
3465
3803
|
);
|
|
3466
3804
|
} else if (placeholder) {
|
|
3467
|
-
content = /* @__PURE__ */ (0,
|
|
3805
|
+
content = /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(PlaceholderPanel, { ...placeholder, mode: "placeholder" });
|
|
3468
3806
|
}
|
|
3469
|
-
return /* @__PURE__ */ (0,
|
|
3470
|
-
/* @__PURE__ */ (0,
|
|
3807
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_core57.Stack, { gap: "md", children: [
|
|
3808
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_core57.Title, { order: 3, children: title }),
|
|
3471
3809
|
content
|
|
3472
3810
|
] });
|
|
3473
3811
|
}
|
|
@@ -4793,6 +5131,7 @@ function getGdsMessages(locale) {
|
|
|
4793
5131
|
DiscoveryShell,
|
|
4794
5132
|
DocsCodeBlock,
|
|
4795
5133
|
DocsPageShell,
|
|
5134
|
+
DocsShell,
|
|
4796
5135
|
EditorialCard,
|
|
4797
5136
|
EditorialHero,
|
|
4798
5137
|
EmptyState,
|
|
@@ -4808,11 +5147,14 @@ function getGdsMessages(locale) {
|
|
|
4808
5147
|
MediaCard,
|
|
4809
5148
|
MediaField,
|
|
4810
5149
|
MetricCard,
|
|
5150
|
+
PROVIDER_IDENTITY_REGISTRY,
|
|
4811
5151
|
PageHeader,
|
|
4812
5152
|
PlaceholderPanel,
|
|
4813
5153
|
PlaybackSurface,
|
|
4814
5154
|
ProductCard,
|
|
4815
5155
|
ProgressCard,
|
|
5156
|
+
ProviderIdentityButton,
|
|
5157
|
+
ProviderIdentityButtonGroup,
|
|
4816
5158
|
PublicBrandFooter,
|
|
4817
5159
|
PublicFlowShell,
|
|
4818
5160
|
PublicFoodCard,
|
|
@@ -4845,13 +5187,16 @@ function getGdsMessages(locale) {
|
|
|
4845
5187
|
fr,
|
|
4846
5188
|
gdsLocales,
|
|
4847
5189
|
getGdsMessages,
|
|
5190
|
+
getProviderIdentityLabel,
|
|
4848
5191
|
getSemanticActionConfig,
|
|
4849
5192
|
getSemanticActionLabel,
|
|
4850
5193
|
he,
|
|
4851
5194
|
hu,
|
|
5195
|
+
isPresentationMode,
|
|
4852
5196
|
it,
|
|
4853
5197
|
mergeGdsVocabularyPacks,
|
|
4854
5198
|
resolveAccentPanelStyles,
|
|
4855
5199
|
resolveSemanticActionConfig,
|
|
5200
|
+
resolveSurfacePresentationStyles,
|
|
4856
5201
|
ru
|
|
4857
5202
|
});
|