@doneisbetter/gds-core 2.6.7 → 3.0.1

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/client.d.ts CHANGED
@@ -1,10 +1,11 @@
1
- import { bg as SemanticAction, bi as SemanticActionId, a7 as GdsVocabularyPack } from './server-BSuY9Qx6.js';
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 ChoiceChip, r as ChoiceChipProps, s as ConsumerDashboardGrid, t as ConsumerDashboardGridProps, u as ConsumerSection, v as ConsumerSectionProps, w as CtaButtonGroup, x as CtaButtonGroupProps, D as DataToolbar, y as DataToolbarFilterChip, z as DataToolbarProps, E as DetailProfileShell, F as DetailProfileShellProps, G as DocsPageShell, H as DocsPageShellProps, I as EditorialCard, J as EditorialCardProps, K as EditorialHero, L as EditorialHeroAction, M as EditorialHeroMetaItem, N as EditorialHeroProps, O as EmptyState, P as EmptyStateProps, Q as FeatureBand, R as FeatureBandItem, S as FeatureBandProps, T as FilterDrawer, U as FilterDrawerMode, V as FilterDrawerProps, W as FoodCardAvailabilityState, X as FoodCardMarker, Y as FoodCardMediaRatio, Z as FoodCardMetadata, _ as FoodMenuCategory, $ as FoodMenuItem, a0 as FoodMenuSection, a1 as FoodMenuSectionProps, a2 as FormField, a3 as FormFieldProps, a4 as GdsIcons, a5 as GdsLocale, a6 as GdsVocabulary, a8 as ListingCard, a9 as ListingCardAffordance, aa as ListingCardMediaRatio, ab as ListingCardProps, ac as ListingMetadataRow, ad as MapPanel, ae as MapPanelProps, af as MediaCard, ag as MediaCardAction, ah as MediaCardProps, ai as MediaField, aj as MediaFieldProps, ak as MetricCard, al as MetricCardProps, am as PROVIDER_IDENTITY_REGISTRY, an as PageHeader, ao as PageHeaderEyebrowVariant, ap as PageHeaderProps, aq as PlaceholderPanel, ar as PlaceholderPanelProps, as as PlaybackSurface, at as PlaybackSurfaceProps, au as PlaybackSurfaceState, av as ProductCard, aw as ProductCardAction, ax as ProductCardMetaItem, ay as ProductCardProps, az as ProgressCard, aA as ProgressCardProps, aB as ProviderIdentity, aC as ProviderIdentityButton, aD as ProviderIdentityButtonGroup, aE as ProviderIdentityButtonGroupProps, aF as ProviderIdentityButtonProps, aG as ProviderIdentityVariant, aH as PublicBrandFooter, aI as PublicBrandFooterClassNames, aJ as PublicBrandFooterLayoutVariant, aK as PublicBrandFooterProps, aL as PublicFlowAction, aM as PublicFlowActionPriority, aN as PublicFlowShell, aO as PublicFlowShellProps, aP as PublicFlowStage, aQ as PublicFlowStageStatus, aR as PublicFoodCard, aS as PublicFoodCardProps, aT as PublicNav, aU as PublicNavItem, aV as PublicNavProps, aW as PublicProductCard, aX as PublicProductCardHelperKind, aY as PublicProductCardMetaItem, aZ as PublicProductCardProps, a_ as PublicProductCardState, a$ as PublicShell, b0 as PublicShellClassNames, b1 as PublicShellHeaderVariant, b2 as PublicShellMobileNavigationMode, b3 as PublicShellProps, b4 as PublicSiteFooter, b5 as PublicSiteFooterProps, b6 as ReferenceLinkGrid, b7 as ReferenceLinkGridItem, b8 as ReferenceLinkGridProps, b9 as ReferenceLocaleNotice, ba as ReferenceLocaleNoticeProps, bb as ReferenceSection, bc as ReferenceSectionProps, bd as SectionPanel, be as SectionPanelProps, bf as SectionPanelTone, bh as SemanticActionDefinition, bj as SimpleDataTable, bk as SimpleDataTableProps, bl as SimpleTableColumn, bm as SocialAuthButtons, bn as SocialAuthButtonsProps, bo as SocialAuthProviderId, bp as SocialAuthProviderOption, bq as StateBlock, br as StateBlockProps, bs as StateBlockVariant, bt as StatsSection, bu as StatsSectionProps, bv as StatusBadge, bw as StatusBadgeProps, bx as StatusVariant, by as SurfaceContentAlign, bz as SurfaceContentJustify, bA as SurfacePresentation, bB as SurfacePresentationProps, bC as VocabularyResolver, bD as ar, bE as createGdsVocabularyPack, bF as de, bG as en, bH as es, bI as fr, bJ as gdsLocales, bK as getGdsMessages, bL as getProviderIdentityLabel, bM as getSemanticActionConfig, bN as getSemanticActionLabel, bO as he, bP as hu, bQ as isPresentationMode, bR as it, bS as mergeGdsVocabularyPacks, bT as resolveAccentPanelStyles, bU as resolveSemanticActionConfig, bV as resolveSurfacePresentationStyles, bW as ru } from './server-BSuY9Qx6.js';
1
+ import { b_ as SemanticAction, c0 as SemanticActionId, ay as GdsVocabularyPack, av as GdsNotificationMessage } from './server-DCXU_K9q.js';
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 ActiveFilterChips, k as ActiveFilterChipsProps, l as ArticleShell, m as ArticleShellProps, n as AsyncSurface, o as AsyncSurfaceProps, p as AsyncSurfaceState, q as AuthShell, r as AuthShellProps, B as BannerNotice, s as BannerNoticeProps, t as BreadcrumbItem, u as BrowseSurface, v as BrowseSurfaceFilterChip, w as BrowseSurfaceProps, x as BrowseSurfaceScopeOption, y as BulkActionsBar, z as BulkActionsBarProps, C as ChartLegendItem, D as ChartTokenPanel, E as ChartTokenPanelProps, F as ChartTokenPanelState, G as ChoiceChip, H as ChoiceChipProps, I as ConsumerDashboardGrid, J as ConsumerDashboardGridProps, K as ConsumerSection, L as ConsumerSectionProps, M as CountBadge, N as CountBadgeProps, O as CtaButtonGroup, P as CtaButtonGroupProps, Q as DataToolbar, R as DataToolbarFilterChip, S as DataToolbarProps, T as DetailProfileShell, U as DetailProfileShellProps, V as DocsPageShell, W as DocsPageShellProps, X as EditorialCard, Y as EditorialCardProps, Z as EditorialHero, _ as EditorialHeroAction, $ as EditorialHeroMetaItem, a0 as EditorialHeroProps, a1 as EmptyState, a2 as EmptyStateProps, a3 as EvidencePanel, a4 as EvidencePanelProps, a5 as EvidencePanelState, a6 as FeatureBand, a7 as FeatureBandItem, a8 as FeatureBandProps, a9 as FilterDrawer, aa as FilterDrawerMode, ab as FilterDrawerProps, ac as FoodCardAvailabilityState, ad as FoodCardMarker, ae as FoodCardMediaRatio, af as FoodCardMetadata, ag as FoodMenuCategory, ah as FoodMenuItem, ai as FoodMenuSection, aj as FoodMenuSectionProps, ak as FormField, al as FormFieldProps, am as GdsCardInteractiveMode, an as GdsCardSize, ao as GdsChart, ap as GdsChartDatum, aq as GdsChartProps, ar as GdsChartType, as as GdsIcons, at as GdsLocale, au as GdsNotificationAction, aw as GdsNotificationSeverity, ax as GdsVocabulary, az as InlineAlert, aA as InlineAlertProps, aB as LabelTag, aC as LabelTagProps, aD as LabelTagTone, aE as LayoutBlock, aF as LayoutBlockType, aG as LayoutSchema, aH as ListingCard, aI as ListingCardAffordance, aJ as ListingCardMediaRatio, aK as ListingCardProps, aL as ListingFilterChip, aM as ListingMetadataRow, aN as MapPanel, aO as MapPanelProps, aP as MediaCard, aQ as MediaCardAction, aR as MediaCardProps, aS as MediaField, aT as MediaFieldProps, aU as MediaFieldState, aV as MetricCard, aW as MetricCardProps, aX as NotificationCenterView, aY as PROVIDER_IDENTITY_REGISTRY, aZ as PageHeader, a_ as PageHeaderEyebrowVariant, a$ as PageHeaderProps, b0 as PeriodSelector, b1 as PeriodSelectorOption, b2 as PeriodSelectorProps, b3 as PlaceholderPanel, b4 as PlaceholderPanelProps, b5 as PlaybackSurface, b6 as PlaybackSurfaceProps, b7 as PlaybackSurfaceState, b8 as ProductCard, b9 as ProductCardAction, ba as ProductCardMetaItem, bb as ProductCardProps, bc as ProgressCard, bd as ProgressCardProps, be as ProviderIdentity, bf as ProviderIdentityButton, bg as ProviderIdentityButtonGroup, bh as ProviderIdentityButtonGroupProps, bi as ProviderIdentityButtonProps, bj as ProviderIdentityVariant, bk as PublicBrandFooter, bl as PublicBrandFooterClassNames, bm as PublicBrandFooterLayoutVariant, bn as PublicBrandFooterProps, bo as PublicFlowAction, bp as PublicFlowActionPriority, bq as PublicFlowShell, br as PublicFlowShellProps, bs as PublicFlowStage, bt as PublicFlowStageStatus, bu as PublicFoodCard, bv as PublicFoodCardProps, bw as PublicNav, bx as PublicNavItem, by as PublicNavProps, bz as PublicProductCard, bA as PublicProductCardHelperKind, bB as PublicProductCardMetaItem, bC as PublicProductCardProps, bD as PublicProductCardState, bE as PublicShell, bF as PublicShellClassNames, bG as PublicShellHeaderVariant, bH as PublicShellMobileNavigationMode, bI as PublicShellProps, bJ as PublicSiteFooter, bK as PublicSiteFooterProps, bL as ReferenceLinkGrid, bM as ReferenceLinkGridItem, bN as ReferenceLinkGridProps, bO as ReferenceLocaleNotice, bP as ReferenceLocaleNoticeProps, bQ as ReferenceSection, bR as ReferenceSectionProps, bS as ReportingSection, bT as ReportingSectionProps, bU as ReportingSectionState, bV as ResultSummary, bW as ResultSummaryProps, bX as SectionPanel, bY as SectionPanelProps, bZ as SectionPanelTone, b$ as SemanticActionDefinition, c1 as SimpleDataTable, c2 as SimpleDataTableProps, c3 as SimpleTableColumn, c4 as SocialAuthButtons, c5 as SocialAuthButtonsProps, c6 as SocialAuthProviderId, c7 as SocialAuthProviderOption, c8 as SortMenu, c9 as SortMenuProps, ca as SortOption, cb as StateBlock, cc as StateBlockProps, cd as StateBlockVariant, ce as StatsSection, cf as StatsSectionProps, cg as StatusBadge, ch as StatusBadgeProps, ci as StatusVariant, cj as SurfaceContentAlign, ck as SurfaceContentJustify, cl as SurfacePresentation, cm as SurfacePresentationProps, cn as VocabularyResolver, co as ar, cp as createGdsVocabularyPack, cq as de, cr as en, cs as es, ct as fr, cu as gdsCardSizePaddingMap, cv as gdsCardTitleOrderMap, cw as gdsLocales, cx as getGdsMessages, cy as getProviderIdentityLabel, cz as getProviderIdentityPolicy, cA as getSemanticActionConfig, cB as getSemanticActionLabel, cC as getSupportedProviderIdentityIds, cD as he, cE as hu, cF as isPresentationMode, cG as it, cH as mergeGdsVocabularyPacks, cI as renderGdsLayout, cJ as resolveAccentPanelStyles, cK as resolveSemanticActionConfig, cL as resolveSurfacePresentationStyles, cM as ru } from './server-DCXU_K9q.js';
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';
6
6
  import * as _mantine_core from '@mantine/core';
7
- import { ButtonProps, MantineColor, MantineSpacing, MantineBreakpoint, NavLinkProps } from '@mantine/core';
7
+ import { MantineThemeOverride, ButtonProps, MantineColor, MantineSpacing, MantineBreakpoint, NavLinkProps } from '@mantine/core';
8
+ import { GdsThemePresetId, GdsFontLaneId } from '@doneisbetter/gds-theme';
8
9
  import '@tabler/icons-react';
9
10
 
10
11
  interface ConfirmDialogProps {
@@ -25,16 +26,30 @@ declare function ConfirmDialog({ opened, onClose, onConfirm, title, children, co
25
26
 
26
27
  interface ThemeToggleProps {
27
28
  size?: 'sm' | 'md' | 'lg' | 'xl';
29
+ onColorSchemeChange?: (nextScheme: 'light' | 'dark') => void;
28
30
  }
29
31
  /**
30
32
  * Standardized ThemeToggle component for switching between Light and Dark mode.
31
33
  * Should be placed in the main application header/shell.
32
34
  */
33
- declare function ThemeToggle({ size }: ThemeToggleProps): react_jsx_runtime.JSX.Element;
35
+ declare function ThemeToggle({ size, onColorSchemeChange }: ThemeToggleProps): react_jsx_runtime.JSX.Element;
34
36
 
35
- type ThemePresetId = 'default' | 'dark-public' | 'flat-surface' | 'editorial' | 'brand';
37
+ type ThemePresetId = GdsThemePresetId;
36
38
  type ThemeSchemeId = 'light' | 'dark' | 'auto';
37
- declare function ReferenceThemeExplorer(): react_jsx_runtime.JSX.Element;
39
+ interface ThemeExplorerSelection {
40
+ preset: ThemePresetId;
41
+ colorScheme: ThemeSchemeId;
42
+ theme: MantineThemeOverride;
43
+ fontLane?: GdsFontLaneId;
44
+ runtimeKey?: string;
45
+ brandPrimary?: string;
46
+ brandFlatSurfaces?: boolean;
47
+ brandEditorialSerif?: boolean;
48
+ }
49
+ declare function ReferenceThemeExplorer({ initialSelection, onSelectionChange, }: {
50
+ initialSelection?: ThemeExplorerSelection;
51
+ onSelectionChange?: (selection: ThemeExplorerSelection) => void;
52
+ }): react_jsx_runtime.JSX.Element;
38
53
 
39
54
  interface SemanticButtonProps extends ButtonProps, Omit<react__default.ComponentPropsWithoutRef<'button'>, keyof ButtonProps | 'leftSection' | 'children'> {
40
55
  action: SemanticActionId;
@@ -61,6 +76,67 @@ interface GameBoardTileProps {
61
76
  */
62
77
  declare function GameBoardTile({ face, revealed, matched, disabled, onPress, highlightColor, }: GameBoardTileProps): react_jsx_runtime.JSX.Element;
63
78
 
79
+ interface ListingQueryState {
80
+ search: string;
81
+ sort: string;
82
+ filters: string[];
83
+ page: number;
84
+ pageSize: number;
85
+ selection: string[];
86
+ }
87
+ interface ListingStateConfig {
88
+ defaultSort?: string;
89
+ defaultPageSize?: number;
90
+ }
91
+ type ListingAction = {
92
+ type: 'set-search';
93
+ value: string;
94
+ } | {
95
+ type: 'set-sort';
96
+ value: string;
97
+ } | {
98
+ type: 'toggle-filter';
99
+ value: string;
100
+ } | {
101
+ type: 'clear-filters';
102
+ } | {
103
+ type: 'set-page';
104
+ value: number;
105
+ } | {
106
+ type: 'set-page-size';
107
+ value: number;
108
+ } | {
109
+ type: 'toggle-selection';
110
+ value: string;
111
+ } | {
112
+ type: 'clear-selection';
113
+ } | {
114
+ type: 'reset-query';
115
+ };
116
+ interface ListingStateValue {
117
+ state: ListingQueryState;
118
+ dispatch: (action: ListingAction) => void;
119
+ }
120
+ declare function listingQueryReducer(state: ListingQueryState, action: ListingAction): ListingQueryState;
121
+ declare function ListingProvider({ children, config, }: {
122
+ children: ReactNode;
123
+ config?: ListingStateConfig;
124
+ }): react_jsx_runtime.JSX.Element;
125
+ declare function useListingState(): ListingStateValue;
126
+
127
+ interface DiscoveryShellState {
128
+ opened: boolean;
129
+ open: () => void;
130
+ close: () => void;
131
+ toggle: () => void;
132
+ setOpened: (next: boolean) => void;
133
+ }
134
+ interface UseDiscoveryShellStateOptions {
135
+ defaultSidebarOpen?: boolean;
136
+ sidebarStorageKey?: string;
137
+ onSidebarOpenedChange?: (opened: boolean) => void;
138
+ }
139
+ declare function useDiscoveryShellState({ defaultSidebarOpen, sidebarStorageKey, onSidebarOpenedChange, }?: UseDiscoveryShellStateOptions): DiscoveryShellState;
64
140
  interface DiscoveryShellProps {
65
141
  header?: ReactNode;
66
142
  sidebar: ReactNode;
@@ -68,7 +144,12 @@ interface DiscoveryShellProps {
68
144
  children: ReactNode;
69
145
  mobileNavigationLabel?: string;
70
146
  defaultSidebarOpen?: boolean;
147
+ sidebarStorageKey?: string;
148
+ sidebarOpened?: boolean;
149
+ onSidebarOpenedChange?: (opened: boolean) => void;
71
150
  stickySidebar?: boolean;
151
+ desktopCollapsible?: boolean;
152
+ desktopNavigationLabel?: string;
72
153
  sidebarWidth?: number | string;
73
154
  headerHeight?: number | string;
74
155
  shellPadding?: MantineSpacing | number;
@@ -78,7 +159,7 @@ interface DiscoveryShellProps {
78
159
  * DiscoveryShell is the canonical sidebar-first application shell for GDS.
79
160
  * It owns the responsive header, sidebar, and main-content layout contract.
80
161
  */
81
- declare function DiscoveryShell({ header, sidebar, footer, children, mobileNavigationLabel, defaultSidebarOpen, stickySidebar, sidebarWidth, headerHeight, shellPadding, collapseBreakpoint, }: DiscoveryShellProps): react_jsx_runtime.JSX.Element;
162
+ declare function DiscoveryShell({ header, sidebar, footer, children, mobileNavigationLabel, defaultSidebarOpen, sidebarStorageKey, sidebarOpened, onSidebarOpenedChange, stickySidebar, desktopCollapsible, desktopNavigationLabel, sidebarWidth, headerHeight, shellPadding, collapseBreakpoint, }: DiscoveryShellProps): react_jsx_runtime.JSX.Element;
82
163
 
83
164
  interface DocsShellProps {
84
165
  brand: ReactNode;
@@ -146,18 +227,28 @@ interface ShareButtonGroupProps {
146
227
  }
147
228
  declare function ShareButtonGroup({ url, title, text, channels, compact, label, description, }: ShareButtonGroupProps): react_jsx_runtime.JSX.Element;
148
229
 
230
+ type UploadDropzoneState = 'idle' | 'drag-active' | 'selected' | 'upload-pending' | 'upload-failed' | 'unsupported-type' | 'too-large' | 'removed' | 'readonly';
149
231
  interface UploadDropzoneProps {
150
232
  title: string;
151
233
  description?: string;
152
234
  onFilesSelected?: (files: File[]) => void;
153
235
  accept?: string;
236
+ acceptedTypesLabel?: string;
237
+ maxSizeLabel?: string;
154
238
  multiple?: boolean;
155
239
  actionLabel?: string;
156
240
  mode?: 'panel' | 'inline';
241
+ state?: UploadDropzoneState;
242
+ selectedFiles?: string[];
243
+ error?: string;
244
+ policyText?: string;
245
+ retryAction?: ReactNode;
246
+ removeAction?: ReactNode;
247
+ readonly?: boolean;
157
248
  }
158
- declare function UploadDropzone({ title, description, onFilesSelected, accept, multiple, actionLabel, mode, }: UploadDropzoneProps): react_jsx_runtime.JSX.Element;
249
+ 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
250
 
160
- type AccessRecoveryState = 'unauthenticated' | 'expired-session' | 'forbidden' | 'missing' | 'unavailable';
251
+ type AccessRecoveryState = 'unauthenticated' | 'expired-session' | 'timeout' | 'forbidden' | 'missing' | 'unavailable';
161
252
  interface AccessRecoveryAction {
162
253
  action: SemanticAction;
163
254
  onClick?: () => void;
@@ -181,4 +272,174 @@ interface AccessRecoveryPanelProps {
181
272
  }
182
273
  declare function AccessRecoveryPanel({ state, title, description, primaryAction, secondaryAction, tertiaryAction, onRetry, onSignIn, onBack, supportAction, compact, }: AccessRecoveryPanelProps): react_jsx_runtime.JSX.Element;
183
274
 
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 };
275
+ type ValidationSeverity = 'blocking' | 'warning' | 'info';
276
+ interface ValidationIssue {
277
+ field: string;
278
+ message: string;
279
+ severity: ValidationSeverity;
280
+ }
281
+ type SubmitState = 'idle' | 'validating' | 'submitting' | 'success' | 'error';
282
+ interface FieldState {
283
+ value: unknown;
284
+ touched: boolean;
285
+ dirty: boolean;
286
+ }
287
+ interface FormSnapshot {
288
+ fields: Record<string, FieldState>;
289
+ issues: ValidationIssue[];
290
+ submitState: SubmitState;
291
+ submitError?: string;
292
+ }
293
+ type GdsFormAction = {
294
+ type: 'set-field';
295
+ field: string;
296
+ value: unknown;
297
+ } | {
298
+ type: 'touch-field';
299
+ field: string;
300
+ } | {
301
+ type: 'set-issues';
302
+ issues: ValidationIssue[];
303
+ } | {
304
+ type: 'set-submit-state';
305
+ submitState: SubmitState;
306
+ submitError?: string;
307
+ } | {
308
+ type: 'reset';
309
+ values?: Record<string, unknown>;
310
+ };
311
+ declare function gdsFormReducer(state: FormSnapshot, action: GdsFormAction): FormSnapshot;
312
+ type SyncValidator = (snapshot: FormSnapshot) => ValidationIssue[];
313
+ type AsyncValidator = (snapshot: FormSnapshot) => Promise<ValidationIssue[]>;
314
+ type SubmitHandler<TValues> = (values: TValues) => Promise<void>;
315
+ interface UseGdsFormConfig<TValues extends Record<string, unknown>> {
316
+ initialValues: TValues;
317
+ validate?: SyncValidator;
318
+ validateAsync?: AsyncValidator;
319
+ onSubmit: SubmitHandler<TValues>;
320
+ }
321
+ interface GdsFormController<TValues extends Record<string, unknown>> {
322
+ snapshot: FormSnapshot;
323
+ setFieldValue: (field: keyof TValues & string, value: unknown) => void;
324
+ touchField: (field: keyof TValues & string) => void;
325
+ submit: () => Promise<boolean>;
326
+ retrySubmit: () => Promise<boolean>;
327
+ }
328
+ declare function useGdsForm<TValues extends Record<string, unknown>>({ initialValues, validate, validateAsync, onSubmit, }: UseGdsFormConfig<TValues>): GdsFormController<TValues>;
329
+ declare function GdsFormProvider({ snapshot, children }: {
330
+ snapshot: FormSnapshot;
331
+ children: ReactNode;
332
+ }): react_jsx_runtime.JSX.Element;
333
+ declare function useGdsFormSnapshot(): FormSnapshot;
334
+ declare function FormErrorSummary({ title }: {
335
+ title?: ReactNode;
336
+ }): react_jsx_runtime.JSX.Element | null;
337
+ declare function ValidatedFieldMessage({ field }: {
338
+ field: string;
339
+ }): react_jsx_runtime.JSX.Element | null;
340
+
341
+ type AdvancedTableDensity = 'compact' | 'comfortable';
342
+ type AdvancedSortDirection = 'asc' | 'desc';
343
+ interface AdvancedTableColumn<T extends Record<string, unknown>> {
344
+ key: string;
345
+ label: string;
346
+ sortable?: boolean;
347
+ width?: number | string;
348
+ render?: (row: T) => ReactNode;
349
+ sortAccessor?: (row: T) => string | number;
350
+ }
351
+ interface AdvancedDataTableProps<T extends Record<string, unknown>> {
352
+ rows: T[];
353
+ columns: AdvancedTableColumn<T>[];
354
+ rowId: (row: T, index: number) => string;
355
+ loading?: boolean;
356
+ error?: string | null;
357
+ density?: AdvancedTableDensity;
358
+ stickyHeader?: boolean;
359
+ stickyHeaderOffset?: number;
360
+ selectedRowIds?: string[];
361
+ onSelectedRowIdsChange?: (ids: string[]) => void;
362
+ sortBy?: string;
363
+ sortDirection?: AdvancedSortDirection;
364
+ onSortChange?: (columnKey: string, direction: AdvancedSortDirection) => void;
365
+ responsiveFallback?: 'stacked-cards' | 'none';
366
+ }
367
+ declare function AdvancedDataTable<T extends Record<string, unknown>>({ rows, columns, rowId, loading, error, density: densityProp, stickyHeader, stickyHeaderOffset, selectedRowIds, onSelectedRowIdsChange, sortBy: sortByProp, sortDirection: sortDirectionProp, onSortChange, responsiveFallback, }: AdvancedDataTableProps<T>): react_jsx_runtime.JSX.Element;
368
+
369
+ type OverlayKind = 'dialog' | 'drawer' | 'popover' | 'tooltip';
370
+ type OverlayCloseReason = 'escape' | 'backdrop' | 'programmatic' | 'action';
371
+ interface OverlayDescriptor {
372
+ id: string;
373
+ kind: OverlayKind;
374
+ invokerId?: string;
375
+ }
376
+ interface OverlayManagerValue {
377
+ stack: OverlayDescriptor[];
378
+ registerOverlay: (overlay: OverlayDescriptor) => void;
379
+ unregisterOverlay: (id: string) => void;
380
+ isTopMost: (id: string) => boolean;
381
+ requestClose: (id: string, reason: OverlayCloseReason) => OverlayCloseReason | null;
382
+ }
383
+ declare function OverlayManagerProvider({ children }: {
384
+ children: ReactNode;
385
+ }): react_jsx_runtime.JSX.Element;
386
+ declare function useOverlayManager(): OverlayManagerValue;
387
+
388
+ interface CommandDef {
389
+ id: string;
390
+ label: string;
391
+ group?: string;
392
+ keywords?: string[];
393
+ shortcut?: string;
394
+ run: () => Promise<void> | void;
395
+ enabledWhen?: () => boolean;
396
+ }
397
+ declare function CommandRegistryProvider({ children }: {
398
+ children: ReactNode;
399
+ }): react_jsx_runtime.JSX.Element;
400
+ declare function useCommandLauncher(): {
401
+ open: () => void;
402
+ close: () => void;
403
+ registerCommands: (next: CommandDef[]) => void;
404
+ };
405
+ declare function CommandPalette({ opened, onClose }: {
406
+ opened: boolean;
407
+ onClose: () => void;
408
+ }): react_jsx_runtime.JSX.Element;
409
+
410
+ interface GdsNotificationContextValue {
411
+ notifications: GdsNotificationMessage[];
412
+ notify: (message: GdsNotificationMessage) => void;
413
+ dismiss: (id: string) => void;
414
+ clear: () => void;
415
+ }
416
+ declare function GdsNotificationProvider({ children }: {
417
+ children: ReactNode;
418
+ }): react_jsx_runtime.JSX.Element;
419
+ declare function useGdsNotifications(): GdsNotificationContextValue;
420
+ declare function NotificationCenter({ title, emptyMessage, }: {
421
+ title?: ReactNode;
422
+ emptyMessage?: ReactNode;
423
+ }): react_jsx_runtime.JSX.Element;
424
+
425
+ interface GdsUiEvent {
426
+ component: string;
427
+ eventType: string;
428
+ ts: number;
429
+ correlationId: string;
430
+ outcome?: 'success' | 'error' | 'info';
431
+ context?: Record<string, string | number | boolean | null>;
432
+ }
433
+ type GdsTelemetrySink = (event: GdsUiEvent) => void;
434
+ interface GdsTelemetryProviderProps {
435
+ children: ReactNode;
436
+ sink?: GdsTelemetrySink;
437
+ sampleRate?: number;
438
+ }
439
+ interface GdsTelemetryContextValue {
440
+ emit: (event: Omit<GdsUiEvent, 'ts'>) => void;
441
+ }
442
+ declare function GdsTelemetryProvider({ children, sink, sampleRate }: GdsTelemetryProviderProps): react_jsx_runtime.JSX.Element;
443
+ declare function useGdsTelemetry(): GdsTelemetryContextValue;
444
+
445
+ export { type AccessRecoveryAction, AccessRecoveryPanel, type AccessRecoveryPanelProps, type AccessRecoveryState, AdvancedDataTable, type AdvancedDataTableProps, type AdvancedSortDirection, type AdvancedTableColumn, type AdvancedTableDensity, type CommandDef, CommandPalette, CommandRegistryProvider, ConfirmDialog, type ConfirmDialogProps, DiscoveryShell, type DiscoveryShellProps, type DiscoveryShellState, DocsCodeBlock, type DocsCodeBlockProps, DocsShell, type DocsShellProps, type FieldState, FormErrorSummary, type FormSnapshot, GameBoardTile, type GameBoardTileProps, GdsFormProvider, GdsNotificationMessage, GdsNotificationProvider, GdsTelemetryProvider, type GdsTelemetryProviderProps, type GdsTelemetrySink, type GdsUiEvent, GdsVocabularyPack, type ListingAction, ListingProvider, type ListingQueryState, type ListingStateConfig, type ListingStateValue, NotificationCenter, type OverlayCloseReason, type OverlayDescriptor, type OverlayKind, OverlayManagerProvider, ReferenceThemeExplorer, SemanticAction, SemanticActionId, SemanticButton, type SemanticButtonProps, ShareButtonGroup, type ShareButtonGroupProps, type ShareChannel, SidebarNav, SidebarNavItem, type SidebarNavItemProps, type SidebarNavProps, SidebarNavSection, type SidebarNavSectionProps, type SubmitState, type ThemeExplorerSelection, type ThemePresetId, type ThemeSchemeId, ThemeToggle, type ThemeToggleProps, UploadDropzone, type UploadDropzoneProps, type UploadDropzoneState, type UseDiscoveryShellStateOptions, ValidatedFieldMessage, type ValidationIssue, type ValidationSeverity, gdsFormReducer, listingQueryReducer, useCommandLauncher, useDiscoveryShellState, useGdsForm, useGdsFormSnapshot, useGdsNotifications, useGdsTelemetry, useListingState, useOverlayManager };