@doneisbetter/gds-core 2.6.7 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-IUYPELGQ.mjs → chunk-NBCULITN.mjs} +113 -20
- package/dist/{chunk-LH2KMMXT.mjs → chunk-P7ICTEEB.mjs} +299 -23
- package/dist/client.d.mts +15 -5
- package/dist/client.d.ts +15 -5
- package/dist/client.js +403 -28
- package/dist/client.mjs +14 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +403 -28
- package/dist/index.mjs +14 -2
- package/dist/{server-BSuY9Qx6.d.mts → server-woziKWie.d.mts} +105 -6
- package/dist/{server-BSuY9Qx6.d.ts → server-woziKWie.d.ts} +105 -6
- package/dist/server.d.mts +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +292 -10
- package/dist/server.mjs +13 -1
- package/package.json +2 -2
|
@@ -1702,15 +1702,19 @@ function PublicBrandFooter({
|
|
|
1702
1702
|
}
|
|
1703
1703
|
|
|
1704
1704
|
// src/AuthShell.tsx
|
|
1705
|
-
import { Box as Box10, Card as Card8, Container as Container2, Divider as Divider4, Group as Group20, Stack as Stack23, Text as Text20, Title as Title16 } from "@mantine/core";
|
|
1705
|
+
import { Alert, Badge as Badge13, Box as Box10, Card as Card8, Container as Container2, Divider as Divider4, Group as Group20, Stack as Stack23, Text as Text20, Title as Title16 } from "@mantine/core";
|
|
1706
1706
|
import { jsx as jsx29, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
1707
1707
|
function AuthShell({
|
|
1708
1708
|
title,
|
|
1709
1709
|
description,
|
|
1710
|
+
intent = "sign-in",
|
|
1710
1711
|
brand,
|
|
1711
1712
|
headerActions,
|
|
1712
1713
|
footer,
|
|
1713
1714
|
helper,
|
|
1715
|
+
error,
|
|
1716
|
+
guestAction,
|
|
1717
|
+
supportAction,
|
|
1714
1718
|
socialAuth,
|
|
1715
1719
|
dividerLabel = "Or continue with your account",
|
|
1716
1720
|
children
|
|
@@ -1722,12 +1726,18 @@ function AuthShell({
|
|
|
1722
1726
|
] }) : null,
|
|
1723
1727
|
/* @__PURE__ */ jsx29(Card8, { withBorder: true, radius: "lg", padding: "xl", children: /* @__PURE__ */ jsxs23(Stack23, { gap: "lg", children: [
|
|
1724
1728
|
/* @__PURE__ */ jsxs23(Stack23, { gap: "xs", ta: "center", children: [
|
|
1729
|
+
/* @__PURE__ */ jsx29(Group20, { justify: "center", children: /* @__PURE__ */ jsx29(Badge13, { variant: "light", color: intent === "account-linking" ? "blue" : intent === "guest-entry" ? "gray" : "teal", children: intent.replace("-", " ") }) }),
|
|
1725
1730
|
/* @__PURE__ */ jsx29(Title16, { order: 2, children: title }),
|
|
1726
1731
|
description ? /* @__PURE__ */ jsx29(Text20, { c: "dimmed", size: "sm", children: description }) : null
|
|
1727
1732
|
] }),
|
|
1733
|
+
error ? /* @__PURE__ */ jsx29(Alert, { color: "red", variant: "light", role: "alert", children: error }) : null,
|
|
1728
1734
|
socialAuth ? /* @__PURE__ */ jsx29(Box10, { children: socialAuth }) : null,
|
|
1729
1735
|
socialAuth ? /* @__PURE__ */ jsx29(Divider4, { label: dividerLabel, labelPosition: "center" }) : null,
|
|
1730
1736
|
children,
|
|
1737
|
+
guestAction || supportAction ? /* @__PURE__ */ jsxs23(Group20, { justify: "center", gap: "sm", children: [
|
|
1738
|
+
guestAction,
|
|
1739
|
+
supportAction
|
|
1740
|
+
] }) : null,
|
|
1731
1741
|
helper ? /* @__PURE__ */ jsx29(Text20, { size: "sm", c: "dimmed", ta: "center", children: helper }) : null
|
|
1732
1742
|
] }) }),
|
|
1733
1743
|
footer ? /* @__PURE__ */ jsx29(Text20, { size: "sm", c: "dimmed", ta: "center", children: footer }) : null
|
|
@@ -1826,6 +1836,20 @@ function mapVariant(variant = "neutral") {
|
|
|
1826
1836
|
function getProviderIdentityLabel(provider, fallbackOverride) {
|
|
1827
1837
|
return resolveProviderLabel(provider, fallbackOverride);
|
|
1828
1838
|
}
|
|
1839
|
+
function getSupportedProviderIdentityIds() {
|
|
1840
|
+
return Object.keys(PROVIDER_IDENTITY_REGISTRY);
|
|
1841
|
+
}
|
|
1842
|
+
function getProviderIdentityPolicy(provider) {
|
|
1843
|
+
const meta = getProviderIdentityMeta(provider);
|
|
1844
|
+
return {
|
|
1845
|
+
id: meta.id,
|
|
1846
|
+
supported: meta.supported,
|
|
1847
|
+
providerLabel: meta.providerLabel,
|
|
1848
|
+
colorAuthority: meta.supported ? "provider" : "gds-neutral",
|
|
1849
|
+
minTouchTargetPx: 44,
|
|
1850
|
+
allowedVariants: ["solid", "outline", "neutral"]
|
|
1851
|
+
};
|
|
1852
|
+
}
|
|
1829
1853
|
function ProviderIdentityMark({ provider }) {
|
|
1830
1854
|
const meta = getProviderIdentityMeta(provider);
|
|
1831
1855
|
return /* @__PURE__ */ jsx30(
|
|
@@ -1844,10 +1868,13 @@ function ProviderIdentityButton({
|
|
|
1844
1868
|
provider,
|
|
1845
1869
|
label,
|
|
1846
1870
|
description,
|
|
1871
|
+
policyNote,
|
|
1872
|
+
error,
|
|
1847
1873
|
href,
|
|
1848
1874
|
onClick,
|
|
1849
1875
|
disabled,
|
|
1850
1876
|
loading,
|
|
1877
|
+
tenantDisabledReason,
|
|
1851
1878
|
fullWidth = true,
|
|
1852
1879
|
size = "md",
|
|
1853
1880
|
variant = "neutral",
|
|
@@ -1857,6 +1884,7 @@ function ProviderIdentityButton({
|
|
|
1857
1884
|
}) {
|
|
1858
1885
|
const meta = getProviderIdentityMeta(provider);
|
|
1859
1886
|
const buttonLabel = resolveProviderLabel(provider, label);
|
|
1887
|
+
const resolvedDisabled = disabled || Boolean(tenantDisabledReason);
|
|
1860
1888
|
const buttonProps = href ? {
|
|
1861
1889
|
component: "a",
|
|
1862
1890
|
href
|
|
@@ -1874,13 +1902,16 @@ function ProviderIdentityButton({
|
|
|
1874
1902
|
"aria-label": ariaLabel ?? (typeof buttonLabel === "string" ? buttonLabel : void 0),
|
|
1875
1903
|
"aria-describedby": describedBy,
|
|
1876
1904
|
leftSection: /* @__PURE__ */ jsx30(ProviderIdentityMark, { provider }),
|
|
1877
|
-
disabled,
|
|
1905
|
+
disabled: resolvedDisabled,
|
|
1878
1906
|
loading,
|
|
1879
1907
|
styles: { root: { minHeight: minTouchTargetPx } },
|
|
1880
1908
|
...buttonProps,
|
|
1881
1909
|
children: /* @__PURE__ */ jsxs24(Stack24, { gap: 0, align: "flex-start", children: [
|
|
1882
1910
|
/* @__PURE__ */ jsx30(Text21, { inherit: true, children: buttonLabel }),
|
|
1883
|
-
description ? /* @__PURE__ */ jsx30(Text21, { size: "xs", c: "dimmed", lh: 1.2, children: description }) : null
|
|
1911
|
+
description ? /* @__PURE__ */ jsx30(Text21, { size: "xs", c: "dimmed", lh: 1.2, children: description }) : null,
|
|
1912
|
+
policyNote ? /* @__PURE__ */ jsx30(Text21, { size: "xs", c: "dimmed", lh: 1.2, children: policyNote }) : null,
|
|
1913
|
+
tenantDisabledReason ? /* @__PURE__ */ jsx30(Text21, { size: "xs", c: "orange.7", lh: 1.2, children: tenantDisabledReason }) : null,
|
|
1914
|
+
error ? /* @__PURE__ */ jsx30(Text21, { size: "xs", c: "red.7", lh: 1.2, role: "alert", children: error }) : null
|
|
1884
1915
|
] })
|
|
1885
1916
|
}
|
|
1886
1917
|
);
|
|
@@ -1916,10 +1947,13 @@ function SocialAuthButtons({
|
|
|
1916
1947
|
provider: provider.id,
|
|
1917
1948
|
label: provider.label,
|
|
1918
1949
|
description: provider.description,
|
|
1950
|
+
policyNote: provider.policyNote,
|
|
1951
|
+
error: provider.error,
|
|
1919
1952
|
href: provider.href,
|
|
1920
1953
|
onClick: provider.onClick,
|
|
1921
1954
|
disabled: provider.disabled,
|
|
1922
1955
|
loading: provider.loading,
|
|
1956
|
+
tenantDisabledReason: provider.tenantDisabledReason,
|
|
1923
1957
|
size: provider.size ?? (compact ? "sm" : "md"),
|
|
1924
1958
|
variant: provider.variant
|
|
1925
1959
|
}));
|
|
@@ -2346,7 +2380,7 @@ function MapPanel({
|
|
|
2346
2380
|
}
|
|
2347
2381
|
|
|
2348
2382
|
// src/PublicFlowShell.tsx
|
|
2349
|
-
import { Badge as
|
|
2383
|
+
import { Badge as Badge14, Group as Group28, Paper as Paper10, Stack as Stack32, Text as Text28, Title as Title22 } from "@mantine/core";
|
|
2350
2384
|
import { jsx as jsx38, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
2351
2385
|
var stageTone = {
|
|
2352
2386
|
idle: { label: "Idle", color: "gray" },
|
|
@@ -2431,7 +2465,7 @@ function PublicFlowShell({
|
|
|
2431
2465
|
eyebrow ? /* @__PURE__ */ jsx38(Text28, { size: "xs", fw: 700, c: "dimmed", tt: "uppercase", children: eyebrow }) : null,
|
|
2432
2466
|
/* @__PURE__ */ jsxs32(Group28, { gap: "sm", wrap: "wrap", children: [
|
|
2433
2467
|
/* @__PURE__ */ jsx38(Title22, { order: 2, children: stage.title }),
|
|
2434
|
-
/* @__PURE__ */ jsx38(
|
|
2468
|
+
/* @__PURE__ */ jsx38(Badge14, { variant: "light", color: tone.color, children: tone.label })
|
|
2435
2469
|
] }),
|
|
2436
2470
|
stage.description ? /* @__PURE__ */ jsx38(Text28, { size: "sm", c: "dimmed", children: stage.description }) : null
|
|
2437
2471
|
] }),
|
|
@@ -2446,7 +2480,7 @@ function PublicFlowShell({
|
|
|
2446
2480
|
}
|
|
2447
2481
|
|
|
2448
2482
|
// src/PlaybackSurface.tsx
|
|
2449
|
-
import { Badge as
|
|
2483
|
+
import { Badge as Badge15, Group as Group29, Paper as Paper11, Stack as Stack33, Text as Text29, Title as Title23 } from "@mantine/core";
|
|
2450
2484
|
import { jsx as jsx39, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
2451
2485
|
var stateTone = {
|
|
2452
2486
|
loading: { label: "Loading", color: "blue" },
|
|
@@ -2508,7 +2542,7 @@ function PlaybackSurface({
|
|
|
2508
2542
|
statusMessage ? /* @__PURE__ */ jsx39(Text29, { size: "sm", c: "dimmed", children: statusMessage }) : null
|
|
2509
2543
|
] }),
|
|
2510
2544
|
/* @__PURE__ */ jsxs33(Group29, { gap: "sm", align: "center", wrap: "wrap", children: [
|
|
2511
|
-
/* @__PURE__ */ jsx39(
|
|
2545
|
+
/* @__PURE__ */ jsx39(Badge15, { variant: "light", color: tone.color, children: tone.label }),
|
|
2512
2546
|
controls
|
|
2513
2547
|
] })
|
|
2514
2548
|
] }) : null,
|
|
@@ -2526,14 +2560,21 @@ function PlaybackSurface({
|
|
|
2526
2560
|
}
|
|
2527
2561
|
|
|
2528
2562
|
// src/MediaField.tsx
|
|
2529
|
-
import { Badge as
|
|
2563
|
+
import { Badge as Badge16, Button as Button4, Divider as Divider6, Group as Group30, Paper as Paper12, Progress as Progress2, Stack as Stack34, Text as Text30 } from "@mantine/core";
|
|
2530
2564
|
import { Fragment as Fragment6, jsx as jsx40, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
2531
2565
|
var stateLabels = {
|
|
2532
2566
|
empty: { label: "Empty", color: "gray" },
|
|
2567
|
+
"drag-active": { label: "Drop to select", color: "violet" },
|
|
2533
2568
|
selected: { label: "Selected", color: "blue" },
|
|
2569
|
+
"preview-loading": { label: "Preview loading", color: "violet" },
|
|
2534
2570
|
saved: { label: "Saved", color: "teal" },
|
|
2535
2571
|
invalid: { label: "Needs attention", color: "red" },
|
|
2536
|
-
uploading: { label: "Uploading", color: "violet" }
|
|
2572
|
+
uploading: { label: "Uploading", color: "violet" },
|
|
2573
|
+
"upload-failed": { label: "Upload failed", color: "red" },
|
|
2574
|
+
"unsupported-type": { label: "Unsupported type", color: "red" },
|
|
2575
|
+
"too-large": { label: "Too large", color: "red" },
|
|
2576
|
+
removed: { label: "Removed", color: "gray" },
|
|
2577
|
+
readonly: { label: "Read only", color: "gray" }
|
|
2537
2578
|
};
|
|
2538
2579
|
function MediaField({
|
|
2539
2580
|
label,
|
|
@@ -2546,17 +2587,24 @@ function MediaField({
|
|
|
2546
2587
|
policyText,
|
|
2547
2588
|
error,
|
|
2548
2589
|
retryAction,
|
|
2590
|
+
replaceAction,
|
|
2549
2591
|
onRemove,
|
|
2550
2592
|
onReset,
|
|
2551
2593
|
removeAction,
|
|
2552
2594
|
resetAction,
|
|
2553
2595
|
statusAction,
|
|
2596
|
+
acceptedTypes,
|
|
2597
|
+
maxSize,
|
|
2598
|
+
progress,
|
|
2599
|
+
readonly = false,
|
|
2554
2600
|
state = "empty",
|
|
2555
2601
|
mode = "stacked"
|
|
2556
2602
|
}) {
|
|
2557
|
-
const
|
|
2558
|
-
const
|
|
2559
|
-
const
|
|
2603
|
+
const resolvedState = readonly ? "readonly" : state;
|
|
2604
|
+
const stateBadge = stateLabels[resolvedState];
|
|
2605
|
+
const resolvedRemoveAction = removeAction ?? (!readonly && onRemove ? /* @__PURE__ */ jsx40(Button4, { type: "button", variant: "light", color: "red", onClick: onRemove, children: "Remove" }) : null);
|
|
2606
|
+
const resolvedResetAction = resetAction ?? (!readonly && onReset ? /* @__PURE__ */ jsx40(Button4, { type: "button", variant: "default", onClick: onReset, children: "Reset" }) : null);
|
|
2607
|
+
const boundedProgress = typeof progress === "number" ? Math.max(0, Math.min(100, progress)) : void 0;
|
|
2560
2608
|
return /* @__PURE__ */ jsx40(
|
|
2561
2609
|
FormField,
|
|
2562
2610
|
{
|
|
@@ -2565,11 +2613,18 @@ function MediaField({
|
|
|
2565
2613
|
error,
|
|
2566
2614
|
children: /* @__PURE__ */ jsx40(Paper12, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ jsxs34(Stack34, { gap: "md", children: [
|
|
2567
2615
|
/* @__PURE__ */ jsx40(Group30, { justify: "flex-end", align: "center", gap: "sm", children: /* @__PURE__ */ jsxs34(Group30, { gap: "xs", justify: "flex-end", children: [
|
|
2568
|
-
/* @__PURE__ */ jsx40(
|
|
2616
|
+
/* @__PURE__ */ jsx40(Badge16, { variant: "light", color: stateBadge.color, children: stateBadge.label }),
|
|
2569
2617
|
statusAction
|
|
2570
2618
|
] }) }),
|
|
2571
2619
|
preview ? preview : null,
|
|
2572
|
-
|
|
2620
|
+
typeof boundedProgress === "number" ? /* @__PURE__ */ jsxs34(Stack34, { gap: 4, children: [
|
|
2621
|
+
/* @__PURE__ */ jsx40(Progress2, { value: boundedProgress, "aria-label": "Upload progress" }),
|
|
2622
|
+
/* @__PURE__ */ jsxs34(Text30, { size: "xs", c: "dimmed", children: [
|
|
2623
|
+
boundedProgress,
|
|
2624
|
+
"% complete"
|
|
2625
|
+
] })
|
|
2626
|
+
] }) : null,
|
|
2627
|
+
(uploadControl || urlInput) && !readonly ? /* @__PURE__ */ jsxs34(Fragment6, { children: [
|
|
2573
2628
|
/* @__PURE__ */ jsx40(Divider6, {}),
|
|
2574
2629
|
/* @__PURE__ */ jsxs34(Stack34, { gap: "sm", style: mode === "split" ? { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(220px, 1fr))" } : void 0, children: [
|
|
2575
2630
|
uploadControl,
|
|
@@ -2578,9 +2633,14 @@ function MediaField({
|
|
|
2578
2633
|
] }) : null,
|
|
2579
2634
|
value ? /* @__PURE__ */ jsx40(Text30, { size: "sm", c: "dimmed", style: { wordBreak: "break-all" }, children: value }) : null,
|
|
2580
2635
|
helpText ? /* @__PURE__ */ jsx40(Text30, { size: "sm", c: "dimmed", children: helpText }) : null,
|
|
2636
|
+
acceptedTypes || maxSize ? /* @__PURE__ */ jsxs34(Group30, { gap: "xs", wrap: "wrap", children: [
|
|
2637
|
+
acceptedTypes ? /* @__PURE__ */ jsx40(Badge16, { variant: "outline", color: "gray", children: acceptedTypes }) : null,
|
|
2638
|
+
maxSize ? /* @__PURE__ */ jsx40(Badge16, { variant: "outline", color: "gray", children: maxSize }) : null
|
|
2639
|
+
] }) : null,
|
|
2581
2640
|
policyText ? /* @__PURE__ */ jsx40(Text30, { size: "sm", c: error ? "red.7" : "dimmed", children: policyText }) : null,
|
|
2582
2641
|
typeof error !== "string" && error ? error : null,
|
|
2583
|
-
resolvedRemoveAction || resolvedResetAction ? /* @__PURE__ */ jsxs34(Group30, { gap: "sm", children: [
|
|
2642
|
+
replaceAction || resolvedRemoveAction || resolvedResetAction || retryAction ? /* @__PURE__ */ jsxs34(Group30, { gap: "sm", children: [
|
|
2643
|
+
replaceAction,
|
|
2584
2644
|
resolvedResetAction,
|
|
2585
2645
|
retryAction,
|
|
2586
2646
|
resolvedRemoveAction
|
|
@@ -2591,7 +2651,7 @@ function MediaField({
|
|
|
2591
2651
|
}
|
|
2592
2652
|
|
|
2593
2653
|
// src/MediaCard.tsx
|
|
2594
|
-
import { ActionIcon as ActionIcon4, Badge as
|
|
2654
|
+
import { ActionIcon as ActionIcon4, Badge as Badge17, Card as Card9, Group as Group31, Stack as Stack35, Text as Text31, Title as Title24 } from "@mantine/core";
|
|
2595
2655
|
import { jsx as jsx41, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
2596
2656
|
function MediaCard({ title, image, description, status, overlay, actions = [] }) {
|
|
2597
2657
|
const EyeIcon = GdsIcons.Eye;
|
|
@@ -2606,7 +2666,7 @@ function MediaCard({ title, image, description, status, overlay, actions = [] })
|
|
|
2606
2666
|
/* @__PURE__ */ jsx41(Title24, { order: 4, children: title }),
|
|
2607
2667
|
description ? /* @__PURE__ */ jsx41(Text31, { size: "sm", c: "dimmed", lineClamp: 2, children: description }) : null
|
|
2608
2668
|
] }),
|
|
2609
|
-
status ? /* @__PURE__ */ jsx41(
|
|
2669
|
+
status ? /* @__PURE__ */ jsx41(Badge17, { variant: "light", children: status }) : null
|
|
2610
2670
|
] }),
|
|
2611
2671
|
actions.length ? /* @__PURE__ */ jsx41(Group31, { justify: "flex-end", gap: "xs", children: actions.map((action) => /* @__PURE__ */ jsx41(ActionIcon4, { variant: "light", "aria-label": action.label, onClick: action.onClick, children: /* @__PURE__ */ jsx41(EyeIcon, { size: "1rem" }) }, action.label)) }) : null
|
|
2612
2672
|
] })
|
|
@@ -2614,19 +2674,33 @@ function MediaCard({ title, image, description, status, overlay, actions = [] })
|
|
|
2614
2674
|
}
|
|
2615
2675
|
|
|
2616
2676
|
// src/AccessSummary.tsx
|
|
2617
|
-
import { Badge as
|
|
2677
|
+
import { Badge as Badge18, Card as Card10, Group as Group32, Stack as Stack36, Text as Text32, Title as Title25 } from "@mantine/core";
|
|
2618
2678
|
import { jsx as jsx42, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
2619
|
-
|
|
2679
|
+
var accessStateMeta = {
|
|
2680
|
+
allowed: { label: "Allowed", color: "teal" },
|
|
2681
|
+
blocked: { label: "Blocked", color: "red" },
|
|
2682
|
+
forbidden: { label: "Forbidden", color: "red" },
|
|
2683
|
+
expired: { label: "Expired", color: "orange" },
|
|
2684
|
+
"permission-limited": { label: "Permission limited", color: "grape" }
|
|
2685
|
+
};
|
|
2686
|
+
function AccessSummary({ title, roles, scope, blocked = false, state, owner, recoveryHint, description }) {
|
|
2687
|
+
const resolvedState = state ?? (blocked ? "blocked" : "allowed");
|
|
2688
|
+
const meta = accessStateMeta[resolvedState];
|
|
2620
2689
|
return /* @__PURE__ */ jsx42(Card10, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ jsxs36(Stack36, { gap: "sm", children: [
|
|
2621
2690
|
/* @__PURE__ */ jsxs36(Group32, { justify: "space-between", align: "center", children: [
|
|
2622
2691
|
/* @__PURE__ */ jsx42(Title25, { order: 4, children: title }),
|
|
2623
|
-
/* @__PURE__ */ jsx42(
|
|
2692
|
+
/* @__PURE__ */ jsx42(Badge18, { color: meta.color, variant: "light", children: meta.label })
|
|
2624
2693
|
] }),
|
|
2625
|
-
/* @__PURE__ */ jsx42(Group32, { gap: "xs", children: roles.map((role) => /* @__PURE__ */ jsx42(
|
|
2694
|
+
/* @__PURE__ */ jsx42(Group32, { gap: "xs", children: roles.map((role) => /* @__PURE__ */ jsx42(Badge18, { variant: "outline", children: role }, role)) }),
|
|
2626
2695
|
scope ? /* @__PURE__ */ jsxs36(Text32, { size: "sm", c: "dimmed", children: [
|
|
2627
2696
|
"Scope: ",
|
|
2628
2697
|
scope
|
|
2629
2698
|
] }) : null,
|
|
2699
|
+
owner ? /* @__PURE__ */ jsxs36(Text32, { size: "sm", c: "dimmed", children: [
|
|
2700
|
+
"Owner: ",
|
|
2701
|
+
owner
|
|
2702
|
+
] }) : null,
|
|
2703
|
+
recoveryHint ? /* @__PURE__ */ jsx42(Text32, { size: "sm", c: resolvedState === "allowed" ? "dimmed" : "red.7", children: recoveryHint }) : null,
|
|
2630
2704
|
description ? /* @__PURE__ */ jsx42(Text32, { size: "sm", children: description }) : null
|
|
2631
2705
|
] }) });
|
|
2632
2706
|
}
|
|
@@ -2697,7 +2771,7 @@ function FilterDrawer({
|
|
|
2697
2771
|
}
|
|
2698
2772
|
|
|
2699
2773
|
// src/PlaceholderPanel.tsx
|
|
2700
|
-
import { Badge as
|
|
2774
|
+
import { Badge as Badge19, Card as Card11, Stack as Stack39, Text as Text35, Title as Title27 } from "@mantine/core";
|
|
2701
2775
|
import { Fragment as Fragment7, jsx as jsx45, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
2702
2776
|
function PlaceholderPanel({
|
|
2703
2777
|
title,
|
|
@@ -2711,7 +2785,7 @@ function PlaceholderPanel({
|
|
|
2711
2785
|
return /* @__PURE__ */ jsx45(Fragment7, { children });
|
|
2712
2786
|
}
|
|
2713
2787
|
return /* @__PURE__ */ jsx45(Card11, { children: /* @__PURE__ */ jsxs39(Stack39, { gap: "md", children: [
|
|
2714
|
-
badge ? /* @__PURE__ */ jsx45(
|
|
2788
|
+
badge ? /* @__PURE__ */ jsx45(Badge19, { variant: "light", color: "blue", w: "fit-content", children: badge }) : null,
|
|
2715
2789
|
/* @__PURE__ */ jsxs39(Stack39, { gap: "xs", children: [
|
|
2716
2790
|
/* @__PURE__ */ jsx45(Title27, { order: 4, children: title }),
|
|
2717
2791
|
/* @__PURE__ */ jsx45(Text35, { c: "dimmed", children: description })
|
|
@@ -2792,6 +2866,202 @@ function StatsSection({
|
|
|
2792
2866
|
] });
|
|
2793
2867
|
}
|
|
2794
2868
|
|
|
2869
|
+
// src/PeriodSelector.tsx
|
|
2870
|
+
import { Badge as Badge20, Group as Group35, Stack as Stack41, Text as Text36 } from "@mantine/core";
|
|
2871
|
+
import { jsx as jsx48, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
2872
|
+
function PeriodSelector({
|
|
2873
|
+
label,
|
|
2874
|
+
description,
|
|
2875
|
+
value,
|
|
2876
|
+
options,
|
|
2877
|
+
onChange,
|
|
2878
|
+
timezone,
|
|
2879
|
+
scope,
|
|
2880
|
+
helperText,
|
|
2881
|
+
error,
|
|
2882
|
+
stale = false,
|
|
2883
|
+
filtered = false,
|
|
2884
|
+
disabled = false
|
|
2885
|
+
}) {
|
|
2886
|
+
const selectedOption = options.find((option) => option.value === value);
|
|
2887
|
+
return /* @__PURE__ */ jsx48(FormField, { label, description, error, children: /* @__PURE__ */ jsxs42(Stack41, { gap: "sm", children: [
|
|
2888
|
+
/* @__PURE__ */ jsx48(
|
|
2889
|
+
"select",
|
|
2890
|
+
{
|
|
2891
|
+
"aria-label": typeof label === "string" ? label : "Reporting period",
|
|
2892
|
+
value,
|
|
2893
|
+
disabled,
|
|
2894
|
+
onChange: (event) => onChange?.(event.currentTarget.value),
|
|
2895
|
+
children: options.map((option) => /* @__PURE__ */ jsx48("option", { value: option.value, children: option.label }, option.value))
|
|
2896
|
+
}
|
|
2897
|
+
),
|
|
2898
|
+
/* @__PURE__ */ jsxs42(Group35, { gap: "xs", wrap: "wrap", children: [
|
|
2899
|
+
timezone ? /* @__PURE__ */ jsxs42(Badge20, { variant: "outline", color: "gray", children: [
|
|
2900
|
+
"Timezone: ",
|
|
2901
|
+
timezone
|
|
2902
|
+
] }) : null,
|
|
2903
|
+
filtered ? /* @__PURE__ */ jsx48(Badge20, { variant: "light", color: "blue", children: "Filtered" }) : null,
|
|
2904
|
+
stale ? /* @__PURE__ */ jsx48(Badge20, { variant: "light", color: "orange", children: "Stale data" }) : null,
|
|
2905
|
+
scope ? /* @__PURE__ */ jsx48(Badge20, { variant: "outline", color: "gray", children: scope }) : null
|
|
2906
|
+
] }),
|
|
2907
|
+
selectedOption?.description ? /* @__PURE__ */ jsx48(Text36, { size: "sm", c: "dimmed", children: selectedOption.description }) : null,
|
|
2908
|
+
helperText ? /* @__PURE__ */ jsx48(Text36, { size: "sm", c: "dimmed", children: helperText }) : null
|
|
2909
|
+
] }) });
|
|
2910
|
+
}
|
|
2911
|
+
|
|
2912
|
+
// src/EvidencePanel.tsx
|
|
2913
|
+
import { Alert as Alert2, Badge as Badge21, Group as Group36, Paper as Paper13, Stack as Stack42, Text as Text37, Title as Title29 } from "@mantine/core";
|
|
2914
|
+
import { jsx as jsx49, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
2915
|
+
var stateTone2 = {
|
|
2916
|
+
current: { label: "Current", color: "teal" },
|
|
2917
|
+
stale: { label: "Stale", color: "orange" },
|
|
2918
|
+
partial: { label: "Partial data", color: "yellow" },
|
|
2919
|
+
"permission-limited": { label: "Permission limited", color: "grape" },
|
|
2920
|
+
loading: { label: "Loading", color: "blue" },
|
|
2921
|
+
empty: { label: "No evidence", color: "gray" },
|
|
2922
|
+
error: { label: "Needs attention", color: "red" }
|
|
2923
|
+
};
|
|
2924
|
+
function EvidencePanel({
|
|
2925
|
+
title,
|
|
2926
|
+
description,
|
|
2927
|
+
source,
|
|
2928
|
+
freshness,
|
|
2929
|
+
confidence,
|
|
2930
|
+
state = "current",
|
|
2931
|
+
evidenceCount,
|
|
2932
|
+
permissionNote,
|
|
2933
|
+
retryAction,
|
|
2934
|
+
details,
|
|
2935
|
+
children
|
|
2936
|
+
}) {
|
|
2937
|
+
const tone = stateTone2[state];
|
|
2938
|
+
const isProblem = state === "error" || state === "permission-limited" || state === "stale" || state === "partial";
|
|
2939
|
+
return /* @__PURE__ */ jsx49(Paper13, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ jsxs43(Stack42, { gap: "md", children: [
|
|
2940
|
+
/* @__PURE__ */ jsxs43(Group36, { justify: "space-between", align: "flex-start", gap: "sm", children: [
|
|
2941
|
+
/* @__PURE__ */ jsxs43(Stack42, { gap: 4, children: [
|
|
2942
|
+
/* @__PURE__ */ jsx49(Title29, { order: 4, children: title }),
|
|
2943
|
+
description ? /* @__PURE__ */ jsx49(Text37, { size: "sm", c: "dimmed", children: description }) : null
|
|
2944
|
+
] }),
|
|
2945
|
+
/* @__PURE__ */ jsx49(Badge21, { variant: "light", color: tone.color, children: tone.label })
|
|
2946
|
+
] }),
|
|
2947
|
+
/* @__PURE__ */ jsxs43(Group36, { gap: "xs", wrap: "wrap", children: [
|
|
2948
|
+
source ? /* @__PURE__ */ jsxs43(Badge21, { variant: "outline", color: "gray", children: [
|
|
2949
|
+
"Source: ",
|
|
2950
|
+
source
|
|
2951
|
+
] }) : null,
|
|
2952
|
+
freshness ? /* @__PURE__ */ jsxs43(Badge21, { variant: "outline", color: "gray", children: [
|
|
2953
|
+
"Freshness: ",
|
|
2954
|
+
freshness
|
|
2955
|
+
] }) : null,
|
|
2956
|
+
confidence ? /* @__PURE__ */ jsxs43(Badge21, { variant: "outline", color: "gray", children: [
|
|
2957
|
+
"Confidence: ",
|
|
2958
|
+
confidence
|
|
2959
|
+
] }) : null,
|
|
2960
|
+
typeof evidenceCount === "number" ? /* @__PURE__ */ jsxs43(Badge21, { variant: "outline", color: "gray", children: [
|
|
2961
|
+
"Evidence: ",
|
|
2962
|
+
evidenceCount
|
|
2963
|
+
] }) : null
|
|
2964
|
+
] }),
|
|
2965
|
+
permissionNote ? /* @__PURE__ */ jsx49(Alert2, { color: isProblem ? tone.color : "gray", variant: "light", children: permissionNote }) : null,
|
|
2966
|
+
details,
|
|
2967
|
+
children,
|
|
2968
|
+
retryAction
|
|
2969
|
+
] }) });
|
|
2970
|
+
}
|
|
2971
|
+
|
|
2972
|
+
// src/ChartTokenPanel.tsx
|
|
2973
|
+
import { Badge as Badge22, Group as Group37, Paper as Paper14, Stack as Stack43, Text as Text38, Title as Title30 } from "@mantine/core";
|
|
2974
|
+
import { jsx as jsx50, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
2975
|
+
function ChartTokenPanel({
|
|
2976
|
+
title,
|
|
2977
|
+
description,
|
|
2978
|
+
summary,
|
|
2979
|
+
state = "ready",
|
|
2980
|
+
legend = [],
|
|
2981
|
+
children,
|
|
2982
|
+
tableFallback,
|
|
2983
|
+
retryAction
|
|
2984
|
+
}) {
|
|
2985
|
+
if (state === "loading") {
|
|
2986
|
+
return /* @__PURE__ */ jsx50(StateBlock, { variant: "loading", title: "Loading chart", description: summary, compact: true, action: retryAction });
|
|
2987
|
+
}
|
|
2988
|
+
if (state === "empty") {
|
|
2989
|
+
return /* @__PURE__ */ jsx50(StateBlock, { variant: "empty", title: "No chart data", description: summary, compact: true, action: retryAction });
|
|
2990
|
+
}
|
|
2991
|
+
if (state === "below-threshold") {
|
|
2992
|
+
return /* @__PURE__ */ jsx50(StateBlock, { variant: "not-enough-data", title: "Not enough data for chart", description: summary, compact: true, action: retryAction });
|
|
2993
|
+
}
|
|
2994
|
+
if (state === "error") {
|
|
2995
|
+
return /* @__PURE__ */ jsx50(StateBlock, { variant: "error", title: "Unable to load chart", description: summary, compact: true, action: retryAction });
|
|
2996
|
+
}
|
|
2997
|
+
return /* @__PURE__ */ jsx50(Paper14, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ jsxs44(Stack43, { gap: "md", children: [
|
|
2998
|
+
/* @__PURE__ */ jsxs44(Group37, { justify: "space-between", align: "flex-start", gap: "sm", children: [
|
|
2999
|
+
/* @__PURE__ */ jsxs44(Stack43, { gap: 4, children: [
|
|
3000
|
+
/* @__PURE__ */ jsx50(Title30, { order: 4, children: title }),
|
|
3001
|
+
description ? /* @__PURE__ */ jsx50(Text38, { size: "sm", c: "dimmed", children: description }) : null
|
|
3002
|
+
] }),
|
|
3003
|
+
state !== "ready" ? /* @__PURE__ */ jsx50(Badge22, { variant: "light", color: state === "permission-limited" ? "grape" : "yellow", children: state.replace("-", " ") }) : null
|
|
3004
|
+
] }),
|
|
3005
|
+
/* @__PURE__ */ jsx50(Text38, { size: "sm", children: summary }),
|
|
3006
|
+
legend.length ? /* @__PURE__ */ jsx50(Group37, { gap: "xs", wrap: "wrap", "aria-label": "Chart legend", children: legend.map((item, index) => /* @__PURE__ */ jsxs44(Badge22, { variant: "outline", color: "gray", title: typeof item.description === "string" ? item.description : void 0, children: [
|
|
3007
|
+
item.label,
|
|
3008
|
+
": ",
|
|
3009
|
+
item.token
|
|
3010
|
+
] }, `${String(item.label)}-${index}`)) }) : null,
|
|
3011
|
+
children,
|
|
3012
|
+
tableFallback ? /* @__PURE__ */ jsxs44(Stack43, { gap: "xs", children: [
|
|
3013
|
+
/* @__PURE__ */ jsx50(Text38, { size: "sm", fw: 600, children: "Accessible data fallback" }),
|
|
3014
|
+
tableFallback
|
|
3015
|
+
] }) : null
|
|
3016
|
+
] }) });
|
|
3017
|
+
}
|
|
3018
|
+
|
|
3019
|
+
// src/ReportingSection.tsx
|
|
3020
|
+
import { Group as Group38, Paper as Paper15, Stack as Stack44, Text as Text39, Title as Title31 } from "@mantine/core";
|
|
3021
|
+
import { jsx as jsx51, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
3022
|
+
function ReportingSection({
|
|
3023
|
+
title,
|
|
3024
|
+
description,
|
|
3025
|
+
state = "ready",
|
|
3026
|
+
periodControl,
|
|
3027
|
+
evidence,
|
|
3028
|
+
metrics,
|
|
3029
|
+
chart,
|
|
3030
|
+
table,
|
|
3031
|
+
action,
|
|
3032
|
+
stateMessage,
|
|
3033
|
+
retryAction
|
|
3034
|
+
}) {
|
|
3035
|
+
let stateBlock = null;
|
|
3036
|
+
if (state === "loading") {
|
|
3037
|
+
stateBlock = /* @__PURE__ */ jsx51(StateBlock, { variant: "loading", title: "Loading report", description: stateMessage ?? "The reporting surface is synchronizing.", compact: true });
|
|
3038
|
+
} else if (state === "empty") {
|
|
3039
|
+
stateBlock = /* @__PURE__ */ jsx51(StateBlock, { variant: "empty", title: "No report data", description: stateMessage ?? "No records match this reporting scope yet.", compact: true });
|
|
3040
|
+
} else if (state === "error") {
|
|
3041
|
+
stateBlock = /* @__PURE__ */ jsx51(StateBlock, { variant: "error", title: "Unable to load report", description: stateMessage ?? "The report could not be prepared.", compact: true, action: retryAction });
|
|
3042
|
+
} else if (state === "below-threshold") {
|
|
3043
|
+
stateBlock = /* @__PURE__ */ jsx51(StateBlock, { variant: "not-enough-data", title: "Not enough data", description: stateMessage ?? "This report is hidden until the threshold is met.", compact: true });
|
|
3044
|
+
} else if (state === "permission-limited") {
|
|
3045
|
+
stateBlock = /* @__PURE__ */ jsx51(StateBlock, { variant: "permission", title: "Permission-limited report", description: stateMessage ?? "Some evidence is hidden by access rules.", compact: true, action: retryAction });
|
|
3046
|
+
}
|
|
3047
|
+
return /* @__PURE__ */ jsx51(Paper15, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ jsxs45(Stack44, { gap: "lg", children: [
|
|
3048
|
+
/* @__PURE__ */ jsxs45(Group38, { justify: "space-between", align: "flex-start", gap: "md", children: [
|
|
3049
|
+
/* @__PURE__ */ jsxs45(Stack44, { gap: 4, children: [
|
|
3050
|
+
/* @__PURE__ */ jsx51(Title31, { order: 3, children: title }),
|
|
3051
|
+
description ? /* @__PURE__ */ jsx51(Text39, { size: "sm", c: "dimmed", children: description }) : null
|
|
3052
|
+
] }),
|
|
3053
|
+
action
|
|
3054
|
+
] }),
|
|
3055
|
+
periodControl,
|
|
3056
|
+
(state === "partial" || state === "stale" || state === "filtered") && stateMessage ? /* @__PURE__ */ jsx51(StateBlock, { variant: "info", title: state === "partial" ? "Partial report" : state === "stale" ? "Stale report" : "Filtered report", description: stateMessage, compact: true }) : null,
|
|
3057
|
+
stateBlock,
|
|
3058
|
+
metrics,
|
|
3059
|
+
chart,
|
|
3060
|
+
table,
|
|
3061
|
+
evidence
|
|
3062
|
+
] }) });
|
|
3063
|
+
}
|
|
3064
|
+
|
|
2795
3065
|
// src/locales/ar.ts
|
|
2796
3066
|
var ar = {
|
|
2797
3067
|
"gds.action.settings": "\u0627\u0644\u0625\u0639\u062F\u0627\u062F\u0627\u062A",
|
|
@@ -4137,6 +4407,8 @@ export {
|
|
|
4137
4407
|
AuthShell,
|
|
4138
4408
|
PROVIDER_IDENTITY_REGISTRY,
|
|
4139
4409
|
getProviderIdentityLabel,
|
|
4410
|
+
getSupportedProviderIdentityIds,
|
|
4411
|
+
getProviderIdentityPolicy,
|
|
4140
4412
|
ProviderIdentityButton,
|
|
4141
4413
|
ProviderIdentityButtonGroup,
|
|
4142
4414
|
SocialAuthButtons,
|
|
@@ -4156,6 +4428,10 @@ export {
|
|
|
4156
4428
|
PlaceholderPanel,
|
|
4157
4429
|
SimpleDataTable,
|
|
4158
4430
|
StatsSection,
|
|
4431
|
+
PeriodSelector,
|
|
4432
|
+
EvidencePanel,
|
|
4433
|
+
ChartTokenPanel,
|
|
4434
|
+
ReportingSection,
|
|
4159
4435
|
ar,
|
|
4160
4436
|
de,
|
|
4161
4437
|
en,
|
package/dist/client.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { A as AccentPanel, a as AccentPanelProps, b as AccentPanelVariant, c as AccentTone, d as AccessSummary, e as AccessSummaryProps, f as ActionBar, g as ActionBarAction, h as ActionBarIconAction, i as ActionBarProps, j as ArticleShell, k as ArticleShellProps, l as AuthShell, m as AuthShellProps, B as BreadcrumbItem, n as BrowseSurface, o as BrowseSurfaceFilterChip, p as BrowseSurfaceProps, q as BrowseSurfaceScopeOption, C as
|
|
1
|
+
import { bu as SemanticAction, bw as SemanticActionId, ae as GdsVocabularyPack } from './server-woziKWie.mjs';
|
|
2
|
+
export { A as AccentPanel, a as AccentPanelProps, b as AccentPanelVariant, c as AccentTone, d as AccessSummary, e as AccessSummaryProps, f as ActionBar, g as ActionBarAction, h as ActionBarIconAction, i as ActionBarProps, j as ArticleShell, k as ArticleShellProps, l as AuthShell, m as AuthShellProps, B as BreadcrumbItem, n as BrowseSurface, o as BrowseSurfaceFilterChip, p as BrowseSurfaceProps, q as BrowseSurfaceScopeOption, C as ChartLegendItem, r as ChartTokenPanel, s as ChartTokenPanelProps, t as ChartTokenPanelState, u as ChoiceChip, v as ChoiceChipProps, w as ConsumerDashboardGrid, x as ConsumerDashboardGridProps, y as ConsumerSection, z as ConsumerSectionProps, D as CtaButtonGroup, E as CtaButtonGroupProps, F as DataToolbar, G as DataToolbarFilterChip, H as DataToolbarProps, I as DetailProfileShell, J as DetailProfileShellProps, K as DocsPageShell, L as DocsPageShellProps, M as EditorialCard, N as EditorialCardProps, O as EditorialHero, P as EditorialHeroAction, Q as EditorialHeroMetaItem, R as EditorialHeroProps, S as EmptyState, T as EmptyStateProps, U as EvidencePanel, V as EvidencePanelProps, W as EvidencePanelState, X as FeatureBand, Y as FeatureBandItem, Z as FeatureBandProps, _ as FilterDrawer, $ as FilterDrawerMode, a0 as FilterDrawerProps, a1 as FoodCardAvailabilityState, a2 as FoodCardMarker, a3 as FoodCardMediaRatio, a4 as FoodCardMetadata, a5 as FoodMenuCategory, a6 as FoodMenuItem, a7 as FoodMenuSection, a8 as FoodMenuSectionProps, a9 as FormField, aa as FormFieldProps, ab as GdsIcons, ac as GdsLocale, ad as GdsVocabulary, af as ListingCard, ag as ListingCardAffordance, ah as ListingCardMediaRatio, ai as ListingCardProps, aj as ListingMetadataRow, ak as MapPanel, al as MapPanelProps, am as MediaCard, an as MediaCardAction, ao as MediaCardProps, ap as MediaField, aq as MediaFieldProps, ar as MediaFieldState, as as MetricCard, at as MetricCardProps, au as PROVIDER_IDENTITY_REGISTRY, av as PageHeader, aw as PageHeaderEyebrowVariant, ax as PageHeaderProps, ay as PeriodSelector, az as PeriodSelectorOption, aA as PeriodSelectorProps, aB as PlaceholderPanel, aC as PlaceholderPanelProps, aD as PlaybackSurface, aE as PlaybackSurfaceProps, aF as PlaybackSurfaceState, aG as ProductCard, aH as ProductCardAction, aI as ProductCardMetaItem, aJ as ProductCardProps, aK as ProgressCard, aL as ProgressCardProps, aM as ProviderIdentity, aN as ProviderIdentityButton, aO as ProviderIdentityButtonGroup, aP as ProviderIdentityButtonGroupProps, aQ as ProviderIdentityButtonProps, aR as ProviderIdentityVariant, aS as PublicBrandFooter, aT as PublicBrandFooterClassNames, aU as PublicBrandFooterLayoutVariant, aV as PublicBrandFooterProps, aW as PublicFlowAction, aX as PublicFlowActionPriority, aY as PublicFlowShell, aZ as PublicFlowShellProps, a_ as PublicFlowStage, a$ as PublicFlowStageStatus, b0 as PublicFoodCard, b1 as PublicFoodCardProps, b2 as PublicNav, b3 as PublicNavItem, b4 as PublicNavProps, b5 as PublicProductCard, b6 as PublicProductCardHelperKind, b7 as PublicProductCardMetaItem, b8 as PublicProductCardProps, b9 as PublicProductCardState, ba as PublicShell, bb as PublicShellClassNames, bc as PublicShellHeaderVariant, bd as PublicShellMobileNavigationMode, be as PublicShellProps, bf as PublicSiteFooter, bg as PublicSiteFooterProps, bh as ReferenceLinkGrid, bi as ReferenceLinkGridItem, bj as ReferenceLinkGridProps, bk as ReferenceLocaleNotice, bl as ReferenceLocaleNoticeProps, bm as ReferenceSection, bn as ReferenceSectionProps, bo as ReportingSection, bp as ReportingSectionProps, bq as ReportingSectionState, br as SectionPanel, bs as SectionPanelProps, bt as SectionPanelTone, bv as SemanticActionDefinition, bx as SimpleDataTable, by as SimpleDataTableProps, bz as SimpleTableColumn, bA as SocialAuthButtons, bB as SocialAuthButtonsProps, bC as SocialAuthProviderId, bD as SocialAuthProviderOption, bE as StateBlock, bF as StateBlockProps, bG as StateBlockVariant, bH as StatsSection, bI as StatsSectionProps, bJ as StatusBadge, bK as StatusBadgeProps, bL as StatusVariant, bM as SurfaceContentAlign, bN as SurfaceContentJustify, bO as SurfacePresentation, bP as SurfacePresentationProps, bQ as VocabularyResolver, bR as ar, bS as createGdsVocabularyPack, bT as de, bU as en, bV as es, bW as fr, bX as gdsLocales, bY as getGdsMessages, bZ as getProviderIdentityLabel, b_ as getProviderIdentityPolicy, b$ as getSemanticActionConfig, c0 as getSemanticActionLabel, c1 as getSupportedProviderIdentityIds, c2 as he, c3 as hu, c4 as isPresentationMode, c5 as it, c6 as mergeGdsVocabularyPacks, c7 as resolveAccentPanelStyles, c8 as resolveSemanticActionConfig, c9 as resolveSurfacePresentationStyles, ca as ru } from './server-woziKWie.mjs';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import * as react from 'react';
|
|
5
5
|
import react__default, { ReactNode } from 'react';
|
|
@@ -146,18 +146,28 @@ interface ShareButtonGroupProps {
|
|
|
146
146
|
}
|
|
147
147
|
declare function ShareButtonGroup({ url, title, text, channels, compact, label, description, }: ShareButtonGroupProps): react_jsx_runtime.JSX.Element;
|
|
148
148
|
|
|
149
|
+
type UploadDropzoneState = 'idle' | 'drag-active' | 'selected' | 'upload-pending' | 'upload-failed' | 'unsupported-type' | 'too-large' | 'removed' | 'readonly';
|
|
149
150
|
interface UploadDropzoneProps {
|
|
150
151
|
title: string;
|
|
151
152
|
description?: string;
|
|
152
153
|
onFilesSelected?: (files: File[]) => void;
|
|
153
154
|
accept?: string;
|
|
155
|
+
acceptedTypesLabel?: string;
|
|
156
|
+
maxSizeLabel?: string;
|
|
154
157
|
multiple?: boolean;
|
|
155
158
|
actionLabel?: string;
|
|
156
159
|
mode?: 'panel' | 'inline';
|
|
160
|
+
state?: UploadDropzoneState;
|
|
161
|
+
selectedFiles?: string[];
|
|
162
|
+
error?: string;
|
|
163
|
+
policyText?: string;
|
|
164
|
+
retryAction?: ReactNode;
|
|
165
|
+
removeAction?: ReactNode;
|
|
166
|
+
readonly?: boolean;
|
|
157
167
|
}
|
|
158
|
-
declare function UploadDropzone({ title, description, onFilesSelected, accept, multiple, actionLabel, mode, }: UploadDropzoneProps): react_jsx_runtime.JSX.Element;
|
|
168
|
+
declare function UploadDropzone({ title, description, onFilesSelected, accept, acceptedTypesLabel, maxSizeLabel, multiple, actionLabel, mode, state, selectedFiles, error, policyText, retryAction, removeAction, readonly, }: UploadDropzoneProps): react_jsx_runtime.JSX.Element;
|
|
159
169
|
|
|
160
|
-
type AccessRecoveryState = 'unauthenticated' | 'expired-session' | 'forbidden' | 'missing' | 'unavailable';
|
|
170
|
+
type AccessRecoveryState = 'unauthenticated' | 'expired-session' | 'timeout' | 'forbidden' | 'missing' | 'unavailable';
|
|
161
171
|
interface AccessRecoveryAction {
|
|
162
172
|
action: SemanticAction;
|
|
163
173
|
onClick?: () => void;
|
|
@@ -181,4 +191,4 @@ interface AccessRecoveryPanelProps {
|
|
|
181
191
|
}
|
|
182
192
|
declare function AccessRecoveryPanel({ state, title, description, primaryAction, secondaryAction, tertiaryAction, onRetry, onSignIn, onBack, supportAction, compact, }: AccessRecoveryPanelProps): react_jsx_runtime.JSX.Element;
|
|
183
193
|
|
|
184
|
-
export { type AccessRecoveryAction, AccessRecoveryPanel, type AccessRecoveryPanelProps, type AccessRecoveryState, ConfirmDialog, type ConfirmDialogProps, DiscoveryShell, type DiscoveryShellProps, DocsCodeBlock, type DocsCodeBlockProps, DocsShell, type DocsShellProps, GameBoardTile, type GameBoardTileProps, GdsVocabularyPack, ReferenceThemeExplorer, SemanticAction, SemanticActionId, SemanticButton, type SemanticButtonProps, ShareButtonGroup, type ShareButtonGroupProps, type ShareChannel, SidebarNav, SidebarNavItem, type SidebarNavItemProps, type SidebarNavProps, SidebarNavSection, type SidebarNavSectionProps, type ThemePresetId, type ThemeSchemeId, ThemeToggle, type ThemeToggleProps, UploadDropzone, type UploadDropzoneProps };
|
|
194
|
+
export { type AccessRecoveryAction, AccessRecoveryPanel, type AccessRecoveryPanelProps, type AccessRecoveryState, ConfirmDialog, type ConfirmDialogProps, DiscoveryShell, type DiscoveryShellProps, DocsCodeBlock, type DocsCodeBlockProps, DocsShell, type DocsShellProps, GameBoardTile, type GameBoardTileProps, GdsVocabularyPack, ReferenceThemeExplorer, SemanticAction, SemanticActionId, SemanticButton, type SemanticButtonProps, ShareButtonGroup, type ShareButtonGroupProps, type ShareChannel, SidebarNav, SidebarNavItem, type SidebarNavItemProps, type SidebarNavProps, SidebarNavSection, type SidebarNavSectionProps, type ThemePresetId, type ThemeSchemeId, ThemeToggle, type ThemeToggleProps, UploadDropzone, type UploadDropzoneProps, type UploadDropzoneState };
|