@tailor-platform/app-shell 1.15.0 → 1.17.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.
Files changed (109) hide show
  1. package/dist/app-shell-core.css +1 -1
  2. package/dist/app-shell.d.ts +811 -131
  3. package/dist/app-shell.js +7155 -5797
  4. package/dist/{appshell-DLVBFo5J.js → appshell-CahhZy7v.js} +656 -524
  5. package/dist/semantic-contrast.test.ts +154 -0
  6. package/dist/style-entry.d.ts +147 -92
  7. package/dist/testing.d.ts +152 -95
  8. package/dist/testing.js +1 -1
  9. package/dist/theme-bridge.test.ts +101 -1
  10. package/dist/theme.bridge.css +91 -0
  11. package/dist/theme.css +6 -1
  12. package/dist/themes/_template.css +7 -1
  13. package/dist/themes/bloom.css +0 -6
  14. package/dist/themes/cream.css +0 -6
  15. package/dist/themes/default.css +389 -69
  16. package/dist/vite-plugin.d.ts +147 -92
  17. package/package.json +8 -8
  18. package/skills/app-shell-patterns/SKILL.md +108 -19
  19. package/skills/app-shell-patterns/references/api/create-ai-gateway-client.md +115 -0
  20. package/skills/app-shell-patterns/references/api/create-typed-paths.md +117 -0
  21. package/skills/app-shell-patterns/references/api/define-i18n-labels.md +143 -0
  22. package/skills/app-shell-patterns/references/api/define-module.md +247 -0
  23. package/skills/app-shell-patterns/references/api/define-resource.md +307 -0
  24. package/skills/app-shell-patterns/references/api/guards/hidden.md +202 -0
  25. package/skills/app-shell-patterns/references/api/guards/overview.md +354 -0
  26. package/skills/app-shell-patterns/references/api/guards/pass.md +129 -0
  27. package/skills/app-shell-patterns/references/api/guards/redirect-to.md +307 -0
  28. package/skills/app-shell-patterns/references/api/router/use-location.md +240 -0
  29. package/skills/app-shell-patterns/references/api/router/use-navigate.md +138 -0
  30. package/skills/app-shell-patterns/references/api/router/use-params.md +218 -0
  31. package/skills/app-shell-patterns/references/api/use-ai-chat.md +110 -0
  32. package/skills/app-shell-patterns/references/api/use-app-shell-config.md +132 -0
  33. package/skills/app-shell-patterns/references/api/use-app-shell-data.md +150 -0
  34. package/skills/app-shell-patterns/references/api/use-app-shell.md +150 -0
  35. package/skills/app-shell-patterns/references/api/use-auth.md +145 -0
  36. package/skills/app-shell-patterns/references/api/use-override-breadcrumb.md +74 -0
  37. package/skills/app-shell-patterns/references/api/use-page-meta.md +96 -0
  38. package/skills/app-shell-patterns/references/api/use-register-command-palette-actions.md +90 -0
  39. package/skills/app-shell-patterns/references/api/use-resolved-locale.md +67 -0
  40. package/skills/app-shell-patterns/references/api/use-route-error.md +214 -0
  41. package/skills/app-shell-patterns/references/api/use-theme.md +108 -0
  42. package/skills/app-shell-patterns/references/api/use-time-zone.md +80 -0
  43. package/skills/app-shell-patterns/references/api/use-toast.md +104 -0
  44. package/skills/app-shell-patterns/references/components/action-panel.md +168 -0
  45. package/skills/app-shell-patterns/references/components/activity-card.md +142 -0
  46. package/skills/app-shell-patterns/references/components/ai-chat.md +315 -0
  47. package/skills/app-shell-patterns/references/components/alert.md +202 -0
  48. package/skills/app-shell-patterns/references/components/app-shell.md +530 -0
  49. package/skills/app-shell-patterns/references/components/appearance-switcher.md +87 -0
  50. package/skills/app-shell-patterns/references/components/attachment.md +138 -0
  51. package/skills/app-shell-patterns/references/components/autocomplete.md +278 -0
  52. package/skills/app-shell-patterns/references/components/avatar.md +80 -0
  53. package/skills/app-shell-patterns/references/components/badge.md +309 -0
  54. package/skills/app-shell-patterns/references/components/button.md +164 -0
  55. package/skills/app-shell-patterns/references/components/card.md +181 -0
  56. package/skills/app-shell-patterns/references/components/checkbox.md +169 -0
  57. package/skills/app-shell-patterns/references/components/combobox.md +318 -0
  58. package/skills/app-shell-patterns/references/components/command-palette.md +413 -0
  59. package/skills/app-shell-patterns/references/components/csv-importer.md +214 -0
  60. package/skills/app-shell-patterns/references/components/data-table.md +1168 -0
  61. package/skills/app-shell-patterns/references/components/date-picker.md +259 -0
  62. package/skills/app-shell-patterns/references/components/default-header.md +75 -0
  63. package/skills/app-shell-patterns/references/components/default-sidebar.md +136 -0
  64. package/skills/app-shell-patterns/references/components/description-card.md +569 -0
  65. package/skills/app-shell-patterns/references/components/dialog.md +164 -0
  66. package/skills/app-shell-patterns/references/components/document-progress-card.md +154 -0
  67. package/skills/app-shell-patterns/references/components/filter-rail.md +165 -0
  68. package/skills/app-shell-patterns/references/components/form.md +378 -0
  69. package/skills/app-shell-patterns/references/components/global-header-layout.md +132 -0
  70. package/skills/app-shell-patterns/references/components/grid.md +184 -0
  71. package/skills/app-shell-patterns/references/components/input.md +83 -0
  72. package/skills/app-shell-patterns/references/components/layout.md +539 -0
  73. package/skills/app-shell-patterns/references/components/menu.md +218 -0
  74. package/skills/app-shell-patterns/references/components/metric-card.md +94 -0
  75. package/skills/app-shell-patterns/references/components/select.md +283 -0
  76. package/skills/app-shell-patterns/references/components/sheet.md +237 -0
  77. package/skills/app-shell-patterns/references/components/sidebar-group.md +472 -0
  78. package/skills/app-shell-patterns/references/components/sidebar-item.md +458 -0
  79. package/skills/app-shell-patterns/references/components/sidebar-layout.md +258 -0
  80. package/skills/app-shell-patterns/references/components/sidebar-section.md +114 -0
  81. package/skills/app-shell-patterns/references/components/spinner.md +81 -0
  82. package/skills/app-shell-patterns/references/components/table.md +188 -0
  83. package/skills/app-shell-patterns/references/components/tabs.md +158 -0
  84. package/skills/app-shell-patterns/references/components/textarea.md +122 -0
  85. package/skills/app-shell-patterns/references/components/timeline.md +317 -0
  86. package/skills/app-shell-patterns/references/components/toolbar.md +138 -0
  87. package/skills/app-shell-patterns/references/components/tooltip.md +144 -0
  88. package/skills/app-shell-patterns/references/components/with-guard.md +445 -0
  89. package/skills/app-shell-patterns/references/concepts/authentication.md +301 -0
  90. package/skills/app-shell-patterns/references/concepts/custom-components.md +59 -0
  91. package/skills/app-shell-patterns/references/concepts/file-based-routing.md +356 -0
  92. package/skills/app-shell-patterns/references/{fundamental → concepts}/graphql.md +31 -18
  93. package/skills/app-shell-patterns/references/concepts/modules-and-resources.md +229 -0
  94. package/skills/app-shell-patterns/references/concepts/routing-navigation.md +425 -0
  95. package/skills/app-shell-patterns/references/concepts/sidebar-navigation.md +420 -0
  96. package/skills/app-shell-patterns/references/concepts/styling-theming.md +785 -0
  97. package/skills/app-shell-patterns/references/migrations.md +55 -0
  98. package/skills/app-shell-patterns/references/pages/{detail.md → document-detail.md} +10 -33
  99. package/skills/app-shell-patterns/references/patterns/form-composer.md +43 -45
  100. package/skills/app-shell-patterns/references/patterns/form-modal.md +37 -92
  101. package/skills/app-shell-patterns/references/patterns/form-sectioned.md +12 -38
  102. package/skills/app-shell-patterns/references/patterns/form-single-page.md +11 -32
  103. package/skills/app-shell-patterns/references/patterns/form-wizard.md +12 -53
  104. package/skills/app-shell-patterns/references/patterns/interaction-confirm.md +11 -27
  105. package/skills/app-shell-patterns/references/patterns/interaction-multi-select.md +136 -139
  106. package/skills/app-shell-patterns/references/patterns/interaction-toast.md +10 -34
  107. package/skills/app-shell-patterns/references/patterns/list-dense-scan.md +13 -88
  108. package/skills/app-shell-patterns/references/fundamental/components.md +0 -1009
  109. package/skills/app-shell-patterns/references/fundamental/design-system.md +0 -440
@@ -456,9 +456,11 @@ export declare type AppShellPageProps = {
456
456
  icon?: ReactNode;
457
457
  /**
458
458
  * Custom breadcrumb segment title for this page.
459
- * Can be a static string or a function that receives the URL segment.
459
+ * Can be a static string or a `labels.t("key")` translation function.
460
+ * Other callbacks receive the URL segment and may return a LocalizedString
461
+ * (e.g. `(segment) => labels.t("order", { id: segment })`), resolved using the current locale.
460
462
  */
461
- breadcrumbTitle?: string | ((segment: string) => string);
463
+ breadcrumbTitle?: string | ((segment: string) => LocalizedString);
462
464
  };
463
465
  /**
464
466
  * Guards to control access to this page.
@@ -1058,6 +1060,18 @@ declare namespace Body_2 {
1058
1060
  var displayName: string;
1059
1061
  }
1060
1062
 
1063
+ /** True / false with a third "no constraint" state. */
1064
+ declare type BooleanSection<TField extends string = string> = FieldSectionBase<TField> & {
1065
+ control: "boolean";
1066
+ operator?: "eq" | "ne";
1067
+ /** Default "Yes". */
1068
+ trueLabel?: ReactNode;
1069
+ /** Default "No". */
1070
+ falseLabel?: ReactNode;
1071
+ /** Default "Any"; `null` removes it. */
1072
+ anyLabel?: ReactNode | null;
1073
+ };
1074
+
1061
1075
  /**
1062
1076
  * Responsive breakpoints, aligned with Tailwind's default breakpoints.
1063
1077
  * `initial` is the base (mobile-first) value applied below the `sm` breakpoint.
@@ -1088,14 +1102,15 @@ export declare type BuildQueryVariables<TTable extends TableMetadata> = {
1088
1102
  * <Button variant="destructive">Delete</Button>
1089
1103
  * ```
1090
1104
  */
1091
- export declare function Button({ className, variant, size, render, children, ...props }: ButtonProps): React_2.ReactElement<unknown, string | React_2.JSXElementConstructor<any>>;
1105
+ export declare function Button({ className, variant, size, render, children, ref: forwardedRef, ...props }: ButtonProps): React_2.ReactElement<unknown, string | React_2.JSXElementConstructor<any>>;
1092
1106
 
1093
1107
  export declare type ButtonProps = React_2.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
1108
+ /** Custom element to render as (Base UI render prop) */
1094
1109
  render?: React_2.ReactElement;
1095
1110
  };
1096
1111
 
1097
1112
  export declare const buttonVariants: (props?: ({
1098
- variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
1113
+ variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
1099
1114
  size?: "default" | "xs" | "sm" | "lg" | "icon" | null | undefined;
1100
1115
  } & ClassProp) | undefined) => string;
1101
1116
 
@@ -1337,6 +1352,40 @@ export declare type CheckboxProps = Omit<React_2.ComponentProps<typeof Checkbox_
1337
1352
  label?: React_2.ReactNode;
1338
1353
  };
1339
1354
 
1355
+ /** Multi-select — the `in` (any of) or `nin` (none of) operator. */
1356
+ declare type CheckboxSection<TField extends string = string> = FieldSectionBase<TField> & {
1357
+ control: "checkbox";
1358
+ operator?: "in" | "nin";
1359
+ options: readonly FacetOption[];
1360
+ sort?: OptionSort;
1361
+ /**
1362
+ * Options shown before "Show N more". Default 8, `false` shows everything.
1363
+ * A selected option is never truncated away.
1364
+ */
1365
+ truncate?: number | false;
1366
+ /** Option values held at the top, in this order. */
1367
+ pinned?: readonly string[];
1368
+ /**
1369
+ * Above this many options, show a search box. Defaults to `truncate` (so any
1370
+ * list long enough to need "Show more" is searchable), or 12 when nothing is
1371
+ * truncated. `false` never shows it.
1372
+ */
1373
+ searchThreshold?: number | false;
1374
+ };
1375
+
1376
+ /** Clears only the rail's own fields. Renders nothing while none are active. */
1377
+ declare function ClearAll({ children, className }: ClearAllProps): JSX.Element | null;
1378
+
1379
+ declare namespace ClearAll {
1380
+ var displayName: string;
1381
+ }
1382
+
1383
+ declare type ClearAllProps = {
1384
+ /** Default "Clear all". */
1385
+ children?: ReactNode;
1386
+ className?: string;
1387
+ };
1388
+
1340
1389
  /** A button that closes the dialog. */
1341
1390
  declare function Close({ ...props }: React_2.ComponentProps<typeof Dialog_2.Close>): JSX.Element;
1342
1391
 
@@ -1897,7 +1946,7 @@ declare namespace ComboboxGroupLabel {
1897
1946
  var displayName: string;
1898
1947
  }
1899
1948
 
1900
- declare function ComboboxInput({ className, ...props }: React_2.ComponentProps<typeof Combobox_2.Input>): JSX.Element;
1949
+ declare function ComboboxInput({ className, ref: forwardedRef, ...props }: React_2.ComponentProps<typeof Combobox_2.Input>): JSX.Element;
1901
1950
 
1902
1951
  declare namespace ComboboxInput {
1903
1952
  var displayName: string;
@@ -2134,7 +2183,7 @@ declare type CommonPageResource = {
2134
2183
  meta: {
2135
2184
  title: LocalizedString;
2136
2185
  icon?: ReactNode;
2137
- breadcrumbTitle?: string | ((segment: string) => string);
2186
+ breadcrumbTitle?: string | ((segment: string) => LocalizedString);
2138
2187
  };
2139
2188
  };
2140
2189
 
@@ -2193,7 +2242,7 @@ declare namespace Content {
2193
2242
  var displayName: string;
2194
2243
  }
2195
2244
 
2196
- declare function Content_2({ className, ...props }: React_2.ComponentProps<"div">): JSX.Element;
2245
+ declare function Content_2({ className, padding, ...props }: ContentProps): JSX.Element;
2197
2246
 
2198
2247
  declare namespace Content_2 {
2199
2248
  var displayName: string;
@@ -2236,6 +2285,15 @@ export declare type ContentContainerProps = {
2236
2285
  children?: React.ReactNode;
2237
2286
  };
2238
2287
 
2288
+ declare type ContentProps = React_2.ComponentProps<"div"> & {
2289
+ /**
2290
+ * `"none"` renders the content edge-to-edge, for a `Table`, `DataTable` or
2291
+ * divided list that should meet the card's border.
2292
+ * @default "default"
2293
+ */
2294
+ padding?: "default" | "none";
2295
+ };
2296
+
2239
2297
  /**
2240
2298
  * Context data type inferred from AppShellRegister.
2241
2299
  * Falls back to Record<string, unknown> if not augmented.
@@ -2528,6 +2586,26 @@ export declare type CsvSchema = {
2528
2586
  columns: readonly CsvColumn[];
2529
2587
  };
2530
2588
 
2589
+ /**
2590
+ * Anything the built-in controls do not cover. Declares the `fields` it writes
2591
+ * so Clear all, Clear and the settings panel still treat it as rail-owned.
2592
+ */
2593
+ declare type CustomSection<TField extends string = string> = SectionBase & {
2594
+ control: "custom";
2595
+ fields: readonly TField[];
2596
+ clearable?: boolean;
2597
+ render: (context: CustomSectionContext<TField>) => ReactNode;
2598
+ };
2599
+
2600
+ /** What a custom section's `render` receives. */
2601
+ declare type CustomSectionContext<TField extends string = string> = {
2602
+ control: CollectionControl<TField>;
2603
+ /** The current filter on `field`, if any. */
2604
+ getFilter: (field: TField) => Filter<TField> | undefined;
2605
+ /** Replace (or with `null`, remove) the filter on `field`. */
2606
+ setFilter: (field: TField, next: Omit<Filter<TField>, "field"> | null) => void;
2607
+ };
2608
+
2531
2609
  export declare const DataTable: {
2532
2610
  /**
2533
2611
  * Context/provider root. Wraps all other `DataTable.*` components and
@@ -2547,6 +2625,8 @@ export declare const DataTable: {
2547
2625
  * `useCollectionVariables()`, otherwise this component throws at render time.
2548
2626
  */
2549
2627
  readonly Filters: typeof DataTableFilters;
2628
+ /** Built-in column visibility, ordering, and pinning controls. */
2629
+ readonly ColumnSettings: typeof DataTableColumnSettings;
2550
2630
  /**
2551
2631
  * Renders `<table>` with built-in `Headers` and `Body`.
2552
2632
  * Place inside `DataTable.Root`.
@@ -2555,6 +2635,11 @@ export declare const DataTable: {
2555
2635
  /**
2556
2636
  * Footer container for pagination and other footer content.
2557
2637
  * Place inside `DataTable.Root`, after `DataTable.Table`.
2638
+ *
2639
+ * When `useDataTable()` is given `rowSelection.actions`, the footer becomes the
2640
+ * bulk-action bar while rows are selected — the selection count, the
2641
+ * actions, and a Clear button — with its own children (usually
2642
+ * `DataTable.Pagination`) kept alongside.
2558
2643
  */
2559
2644
  readonly Footer: typeof DataTableFooter;
2560
2645
  /**
@@ -2570,8 +2655,32 @@ export declare const DataTable: {
2570
2655
  readonly Pagination: typeof DataTablePagination;
2571
2656
  };
2572
2657
 
2658
+ /** Presentation shared by row actions and selection actions. */
2659
+ export declare interface DataTableAction {
2660
+ id: string;
2661
+ label: string;
2662
+ icon?: ReactNode;
2663
+ variant?: "default" | "destructive";
2664
+ }
2665
+
2573
2666
  declare type DataTableBooleanFilterOperator = OperatorForFilterType["boolean"];
2574
2667
 
2668
+ /**
2669
+ * A "Columns" toolbar popover with three drop zones — **Fixed left**,
2670
+ * **Scrollable**, and **Fixed right**. Drag a column into a zone to pin it to
2671
+ * that edge (or unpin it), and drag within a zone to reorder. Each row has a
2672
+ * visibility checkbox. State persists when `useDataTable` has a `tableId`.
2673
+ *
2674
+ * Place inside any toolbar or other action layout within `DataTable.Root`.
2675
+ */
2676
+ declare function DataTableColumnSettings({ className }: {
2677
+ className?: string;
2678
+ }): JSX.Element;
2679
+
2680
+ declare namespace DataTableColumnSettings {
2681
+ var displayName: string;
2682
+ }
2683
+
2575
2684
  /**
2576
2685
  * Context value provided by `DataTable.Root`.
2577
2686
  *
@@ -2623,15 +2732,29 @@ export declare interface DataTableContextValue<TRow extends Record<string, unkno
2623
2732
  setPin: (key: string, side: "left" | "right" | "none" | null) => void;
2624
2733
  onClickRow?: (row: TRow) => void;
2625
2734
  rowActions?: RowAction<TRow>[];
2735
+ /** Selection config, including bulk actions shown by `DataTable.Footer`. */
2736
+ rowSelection?: RowSelectionOptions;
2626
2737
  selectedIds: string[];
2627
2738
  isRowSelected: (row: TRow) => boolean;
2628
2739
  toggleRowSelection?: (row: TRow) => void;
2629
2740
  /**
2630
- * Selects all rows on the **current page** only. Cross-page selection is not supported.
2631
- * Undefined when `onSelectionChange` is not provided.
2741
+ * Adds every row on the **current page** to the selection; rows selected on
2742
+ * other pages are kept.
2632
2743
  */
2633
2744
  selectAllRows?: () => void;
2745
+ /**
2746
+ * Removes the **current page's** rows from the selection; rows selected on
2747
+ * other pages stay selected.
2748
+ */
2749
+ deselectAllRows?: () => void;
2750
+ /** Empties the selection across all pages. */
2634
2751
  clearSelection?: () => void;
2752
+ /** Id of the selection action whose request is in flight, or `null`. */
2753
+ pendingActionId?: string | null;
2754
+ /** See `UseDataTableReturn.runSelectionAction`. */
2755
+ runSelectionAction?: (action: {
2756
+ id: string;
2757
+ }, request: PromiseLike<unknown>) => void;
2635
2758
  isAllSelected: boolean;
2636
2759
  isIndeterminate: boolean;
2637
2760
  /** Ids of the currently expanded rows. */
@@ -2669,6 +2792,10 @@ export declare type DataTableFilterConfig = (Extract<FilterConfig, {
2669
2792
  type: "number";
2670
2793
  }> & {
2671
2794
  operators?: NonEmptyReadonlyArray<DataTableNumericTemporalFilterOperator>;
2795
+ }) | (Extract<FilterConfig, {
2796
+ type: "decimal";
2797
+ }> & {
2798
+ operators?: NonEmptyReadonlyArray<DataTableNumericTemporalFilterOperator>;
2672
2799
  }) | (Extract<FilterConfig, {
2673
2800
  type: "datetime";
2674
2801
  }> & {
@@ -2721,7 +2848,7 @@ declare namespace DataTableFilters {
2721
2848
 
2722
2849
  /** Use `DataTable.Footer` instead of calling this directly. */
2723
2850
  declare function DataTableFooter({ children, className }: {
2724
- children: ReactNode;
2851
+ children?: ReactNode;
2725
2852
  className?: string;
2726
2853
  }): JSX.Element;
2727
2854
 
@@ -2790,6 +2917,7 @@ declare namespace DataTableToolbar {
2790
2917
  declare type DataTableUiFilterOperatorByType = {
2791
2918
  string: DataTableStringFilterOperator;
2792
2919
  number: DataTableNumericTemporalFilterOperator;
2920
+ decimal: DataTableNumericTemporalFilterOperator;
2793
2921
  datetime: DataTableNumericTemporalFilterOperator;
2794
2922
  date: DataTableDateFilterOperator;
2795
2923
  time: DataTableNumericTemporalFilterOperator;
@@ -2833,6 +2961,7 @@ declare interface DateControlProps<T extends DateValue> {
2833
2961
  isRequired?: boolean;
2834
2962
  isInvalid?: boolean;
2835
2963
  autoFocus?: boolean;
2964
+ /** 12- or 24-hour time; defaults to the locale. */
2836
2965
  hourCycle?: HourCycle;
2837
2966
  placeholderValue?: DateValue;
2838
2967
  firstDayOfWeek?: FirstDayOfWeek;
@@ -2847,6 +2976,8 @@ declare interface DateControlProps<T extends DateValue> {
2847
2976
  "aria-describedby"?: string;
2848
2977
  /** BCP-47 locale override; defaults to the AppShell formatting locale. */
2849
2978
  locale?: string;
2979
+ /** Show the locale's short day of the week next to the date (e.g. `(金)`, `Fri,`). */
2980
+ showDayOfWeek?: boolean;
2850
2981
  }
2851
2982
 
2852
2983
  /**
@@ -2932,6 +3063,7 @@ export declare type DateRangePickerProps<T extends DateValue = DateValue> = {
2932
3063
  isRequired?: boolean;
2933
3064
  isInvalid?: boolean;
2934
3065
  autoFocus?: boolean;
3066
+ /** 12- or 24-hour time; defaults to the locale. */
2935
3067
  hourCycle?: HourCycle;
2936
3068
  placeholderValue?: DateValue;
2937
3069
  firstDayOfWeek?: FirstDayOfWeek;
@@ -2957,6 +3089,31 @@ export declare type DateRangePickerProps<T extends DateValue = DateValue> = {
2957
3089
  locale?: string;
2958
3090
  /** IANA timezone; defaults to the AppShell `timeZone`. */
2959
3091
  timeZone?: string;
3092
+ /** Show the locale's short day of the week next to each date. */
3093
+ showDayOfWeek?: boolean;
3094
+ };
3095
+
3096
+ /** A from/to date pair, committed as `between` `{ min, max }`. */
3097
+ declare type DateRangeSection<TField extends string = string> = FieldSectionBase<TField> & {
3098
+ control: "dateRange";
3099
+ min?: string;
3100
+ max?: string;
3101
+ /** Named spans offered above the picker ("Last 30 days"). Click again to clear. */
3102
+ presets?: readonly {
3103
+ label: string;
3104
+ from: string;
3105
+ to: string;
3106
+ }[];
3107
+ };
3108
+
3109
+ /** A single `YYYY-MM-DD` date with one fixed operator. */
3110
+ declare type DateSection<TField extends string = string> = FieldSectionBase<TField> & {
3111
+ control: "date";
3112
+ operator: "eq" | "gte" | "lte";
3113
+ /** `YYYY-MM-DD` */
3114
+ min?: string;
3115
+ /** `YYYY-MM-DD` */
3116
+ max?: string;
2960
3117
  };
2961
3118
 
2962
3119
  export { DateValue }
@@ -3147,7 +3304,7 @@ export declare const defineI18nLabels: <const L extends Exclude<string, "en">, c
3147
3304
  };
3148
3305
  /**
3149
3306
  * A function to get the translater for a specific label key.
3150
- * This is expected to be used in `meta.title` in module/resource definitions.
3307
+ * Use directly in `meta.title` or `meta.breadcrumbTitle` in module/resource definitions.
3151
3308
  *
3152
3309
  * Note: When using dynamic labels with props in meta.title, the props are
3153
3310
  * bound at definition time (when calling labels.t), not at render time.
@@ -3620,6 +3777,25 @@ declare type ExtractBasePath<T extends string> = T extends `${infer Base}?${stri
3620
3777
  /** Extracts the item type from a possibly-grouped items array element. */
3621
3778
  declare type ExtractItem<I> = I extends ItemGroup<infer T> ? T : I;
3622
3779
 
3780
+ /**
3781
+ * One choice in a checkbox or radio section.
3782
+ *
3783
+ * Widens `SelectOption` (`{ value, label }`) and stays assignable **from** it,
3784
+ * so an existing `column.filter.options` array passes straight in.
3785
+ *
3786
+ * `value` is a string on purpose: `useURLCollectionVariables` stringifies array
3787
+ * members when it writes the URL, so a numeric `in` filter would come back as
3788
+ * `["1","2"]` and match nothing after a reload.
3789
+ */
3790
+ declare type FacetOption = SelectOption & {
3791
+ /** Leading adornment — a colour swatch, a status dot. */
3792
+ icon?: ReactNode;
3793
+ /** Rendered but not selectable, with this as the reason (shown as a tooltip). */
3794
+ disabledReason?: string;
3795
+ /** A data-quality note shown as a tooltip, e.g. "Legacy spelling". */
3796
+ note?: string;
3797
+ };
3798
+
3623
3799
  /** Shown when there is no image or the image failed to load. */
3624
3800
  declare function Fallback({ className, ...props }: React_2.ComponentProps<typeof Avatar_2.Fallback>): JSX.Element;
3625
3801
 
@@ -3743,6 +3919,12 @@ declare type FieldRootProps = Pick<React_2.ComponentProps<typeof Field_2.Root>,
3743
3919
  };
3744
3920
  };
3745
3921
 
3922
+ declare type FieldSectionBase<TField extends string> = SectionBase & {
3923
+ field: TField;
3924
+ /** Show the per-section Clear. Default `true`. */
3925
+ clearable?: boolean;
3926
+ };
3927
+
3746
3928
  export declare const Fieldset: {
3747
3929
  Root: typeof Root_9;
3748
3930
  Legend: typeof Legend;
@@ -3773,7 +3955,7 @@ declare type FieldsetRootProps = Pick<React_2.ComponentProps<typeof Fieldset_2.R
3773
3955
  /**
3774
3956
  * Field type mapping for Data View.
3775
3957
  */
3776
- export declare type FieldType = "string" | "number" | "boolean" | "uuid" | "datetime" | "date" | "time" | "enum" | "array" | "nested" | "file";
3958
+ export declare type FieldType = "string" | "number" | "decimal" | "boolean" | "uuid" | "datetime" | "date" | "time" | "enum" | "array" | "nested" | "file";
3777
3959
 
3778
3960
  /**
3779
3961
  * Supported field types for DescriptionCard
@@ -3792,6 +3974,7 @@ export declare function fieldTypeToFilterConfig(field: string, type: FieldType,
3792
3974
  declare type FieldTypeToFilterConfigType = {
3793
3975
  string: "string";
3794
3976
  number: "number";
3977
+ decimal: "decimal";
3795
3978
  boolean: "boolean";
3796
3979
  uuid: "uuid";
3797
3980
  datetime: "datetime";
@@ -3812,6 +3995,7 @@ export declare function fieldTypeToSortConfig(field: string, type: FieldType): S
3812
3995
  declare type FieldTypeToTSType = {
3813
3996
  string: string;
3814
3997
  number: number;
3998
+ decimal: string;
3815
3999
  boolean: boolean;
3816
4000
  uuid: string;
3817
4001
  datetime: string;
@@ -3843,6 +4027,9 @@ export declare type FilterConfig = {
3843
4027
  } | {
3844
4028
  field: string;
3845
4029
  type: "number";
4030
+ } | {
4031
+ field: string;
4032
+ type: "decimal";
3846
4033
  } | {
3847
4034
  field: string;
3848
4035
  type: "datetime";
@@ -3873,6 +4060,75 @@ declare type FilterInputForFieldType<TFilterConfigType extends FilterConfig["typ
3873
4060
  */
3874
4061
  export declare type FilterOperator = OperatorForFilterType[FilterConfig["type"]];
3875
4062
 
4063
+ /**
4064
+ * An always-visible faceted filter rail. Sections are config (`sections`), so
4065
+ * any mix of checkbox, radio, boolean, text, date, range and custom sections
4066
+ * works; every other feature is an optional part you include or leave out.
4067
+ *
4068
+ * It writes the same `CollectionControl` a `DataTable` reads, so it can sit in
4069
+ * a separate `Layout.Column` beside the table. Below `lg` it turns itself into
4070
+ * a left sheet behind a "Filters" button, like the Sidebar does.
4071
+ *
4072
+ * @example
4073
+ * ```tsx
4074
+ * <FilterRail.Root control={control} sections={sections} layout={layout}>
4075
+ * <FilterRail.Header>
4076
+ * <FilterRail.ClearAll />
4077
+ * <FilterRail.Settings />
4078
+ * </FilterRail.Header>
4079
+ * <FilterRail.Sections />
4080
+ * </FilterRail.Root>
4081
+ * ```
4082
+ */
4083
+ export declare const FilterRail: {
4084
+ Provider: typeof Provider_2;
4085
+ Root: typeof Root_14;
4086
+ Header: typeof Header_7;
4087
+ ClearAll: typeof ClearAll;
4088
+ Sections: typeof Sections;
4089
+ Settings: typeof Settings;
4090
+ Trigger: typeof Trigger_5;
4091
+ };
4092
+
4093
+ /** Everything the rail filters with. Given to `Provider`, or to `Root` directly. */
4094
+ /**
4095
+ * `TField` is the control's field type; `TSectionField` the sections' — it must
4096
+ * fit inside `TField`, and defaults to it. With an untyped control
4097
+ * (`CollectionControl<string>`), type the sections with the row's keys to catch
4098
+ * a `field` that is not on the table:
4099
+ *
4100
+ * ```ts
4101
+ * const sections: FilterRailSection<keyof Row & string>[] = [...];
4102
+ * ```
4103
+ */
4104
+ declare type FilterRailConfig<TField extends string = string, TSectionField extends TField = TField> = {
4105
+ /**
4106
+ * The same `control` passed to `useDataTable`. A prop rather than context:
4107
+ * the rail sits in a different `Layout.Column`, outside `DataTable.Root`.
4108
+ */
4109
+ control: CollectionControl<TField>;
4110
+ /** Top to bottom. Any mix of section types. */
4111
+ sections: readonly FilterRailSection<TSectionField>[];
4112
+ /** User layout (order / hidden / sort). Required for `FilterRail.Settings`. */
4113
+ layout?: RailLayoutBinding;
4114
+ /** 32px rows (default) or 40px. */
4115
+ density?: "compact" | "comfortable";
4116
+ /** Fires after the rail applies a change. */
4117
+ onFilterChange?: (next: Filter<TField>[], changed: readonly TSectionField[]) => void;
4118
+ };
4119
+
4120
+ declare type FilterRailProviderProps<TField extends string = string, TSectionField extends TField = TField> = FilterRailConfig<TField, TSectionField> & {
4121
+ children: ReactNode;
4122
+ };
4123
+
4124
+ /**
4125
+ * Standalone, `Root` takes the config itself. Inside `FilterRail.Provider` —
4126
+ * needed only when a `FilterRail.Trigger` sits outside the rail — it takes none.
4127
+ */
4128
+ export declare type FilterRailRootProps<TField extends string = string, TSectionField extends TField = TField> = RootOwnProps & (FilterRailConfig<TField, TSectionField> | NoConfig);
4129
+
4130
+ export declare type FilterRailSection<TField extends string = string> = TextSection<TField> | RadioSection<TField> | CheckboxSection<TField> | DateSection<TField> | DateRangeSection<TField> | NumberRangeSection<TField> | BooleanSection<TField> | CustomSection<TField>;
4131
+
3876
4132
  /**
3877
4133
  * Week-start override for the `weekStart`/`weekEnd` shortcuts (and the calendar
3878
4134
  * grid). Defined here — with the resolver that consumes it — so the field and
@@ -4232,6 +4488,13 @@ declare namespace Group {
4232
4488
  var displayName: string;
4233
4489
  }
4234
4490
 
4491
+ /** A related group of controls within a toolbar row. */
4492
+ declare function Group_2({ className, ...props }: ToolbarGroupProps): JSX.Element;
4493
+
4494
+ declare namespace Group_2 {
4495
+ var displayName: string;
4496
+ }
4497
+
4235
4498
  /** An accessible label that is automatically associated with its parent group. */
4236
4499
  declare function GroupLabel({ className, ...props }: React_2.ComponentProps<typeof Menu_2.GroupLabel>): JSX.Element;
4237
4500
 
@@ -4357,11 +4620,25 @@ declare namespace Header_6 {
4357
4620
  var displayName: string;
4358
4621
  }
4359
4622
 
4623
+ declare function Header_7({ title, children, className }: HeaderProps_2): JSX.Element;
4624
+
4625
+ declare namespace Header_7 {
4626
+ var displayName: string;
4627
+ }
4628
+
4360
4629
  declare type HeaderProps = Omit<React_2.ComponentProps<"div">, "title"> & {
4361
4630
  title?: React_2.ReactNode;
4362
4631
  description?: React_2.ReactNode;
4363
4632
  };
4364
4633
 
4634
+ declare type HeaderProps_2 = {
4635
+ /** Default "Filters". */
4636
+ title?: ReactNode;
4637
+ /** Actions on the right — `FilterRail.ClearAll`, `FilterRail.Settings`, or your own. */
4638
+ children?: ReactNode;
4639
+ className?: string;
4640
+ };
4641
+
4365
4642
  /**
4366
4643
  * Context passed to custom `header` renderers.
4367
4644
  */
@@ -4439,7 +4716,7 @@ declare type InferredFieldFilterType<TTable extends TableMetadata, TFieldName ex
4439
4716
  * <Input type="email" disabled />
4440
4717
  * ```
4441
4718
  */
4442
- export declare function Input({ className, type, ...props }: InputProps): JSX.Element;
4719
+ export declare function Input({ className, type, ref: forwardedRef, ...props }: InputProps): JSX.Element;
4443
4720
 
4444
4721
  export declare type InputProps = React_2.ComponentProps<"input">;
4445
4722
 
@@ -4670,6 +4947,11 @@ declare type LocalizedString = string | ((locale: string) => string);
4670
4947
 
4671
4948
  export { Location_2 as Location }
4672
4949
 
4950
+ declare type Login = {
4951
+ (): ReturnType<AuthClient["login"]>;
4952
+ (options: NonNullable<Parameters<AuthClient["login"]>[0]>): ReturnType<AuthClient["login"]>;
4953
+ };
4954
+
4673
4955
  /** Shape returned by `mapItem` to describe how an item appears in the dropdown. */
4674
4956
  export declare interface MappedItem {
4675
4957
  /** Display text — used for filtering, a11y, and fallback display. */
@@ -4856,6 +5138,10 @@ export { NavLink }
4856
5138
 
4857
5139
  export { NavLinkProps }
4858
5140
 
5141
+ declare type NoConfig = {
5142
+ [K in keyof FilterRailConfig]?: never;
5143
+ };
5144
+
4859
5145
  /**
4860
5146
  * Extract the node type from a cursor connection result.
4861
5147
  */
@@ -4885,6 +5171,17 @@ declare interface NumberCellOptions {
4885
5171
  locale?: string;
4886
5172
  }
4887
5173
 
5174
+ /** A numeric from/to pair: `between` `{ min, max }`, or `gte` / `lte` when half-open. */
5175
+ declare type NumberRangeSection<TField extends string = string> = FieldSectionBase<TField> & {
5176
+ control: "numberRange";
5177
+ /** Input bounds and placeholders. One end typed alone commits `gte` / `lte`. */
5178
+ min?: number;
5179
+ max?: number;
5180
+ step?: number;
5181
+ /** Rendered after the inputs — "units", "$". */
5182
+ unit?: ReactNode;
5183
+ };
5184
+
4888
5185
  export declare type OpenCommandPaletteOptions = {
4889
5186
  /** Optional initial text to prefill into the palette input. */
4890
5187
  search?: string;
@@ -4916,6 +5213,7 @@ declare type OperatorForFilterType = {
4916
5213
  export declare const OPERATORS_BY_FILTER_TYPE: {
4917
5214
  readonly string: readonly ["eq", "ne", "contains", "notContains", "hasPrefix", "hasSuffix", "notHasPrefix", "notHasSuffix", "in", "nin", "regex"];
4918
5215
  readonly number: readonly ["eq", "ne", "gt", "gte", "lt", "lte", "between", "in", "nin"];
5216
+ readonly decimal: readonly ["eq", "ne", "gt", "gte", "lt", "lte", "between", "in", "nin"];
4919
5217
  readonly datetime: readonly ["eq", "ne", "gt", "gte", "lt", "lte", "between", "in", "nin"];
4920
5218
  readonly date: readonly ["eq", "ne", "gt", "gte", "lt", "lte", "between", "in", "nin"];
4921
5219
  readonly time: readonly ["eq", "ne", "gt", "gte", "lt", "lte", "between", "in", "nin"];
@@ -4929,7 +5227,16 @@ declare type OperatorValueType<TOp extends string, TValue> = TOp extends "in" |
4929
5227
  max: TValue;
4930
5228
  } : TValue;
4931
5229
 
4932
- declare type OrderableFieldType = "string" | "number" | "boolean" | "datetime" | "date" | "time" | "enum";
5230
+ /**
5231
+ * How a checkbox section's options are ordered.
5232
+ *
5233
+ * `"given"` (default) keeps the authored order — a curated vocabulary
5234
+ * (XS · S · M · L) must never be reordered. `"label"` sorts A–Z. A comparator
5235
+ * gives any other fixed order.
5236
+ */
5237
+ declare type OptionSort = "given" | "label" | ((a: FacetOption, b: FacetOption) => number);
5238
+
5239
+ declare type OrderableFieldType = "string" | "number" | "decimal" | "boolean" | "datetime" | "date" | "time" | "enum";
4933
5240
 
4934
5241
  /**
4935
5242
  * A React component that can be used as a page in file-based routing.
@@ -5045,6 +5352,17 @@ declare namespace Provider {
5045
5352
  var displayName: string;
5046
5353
  }
5047
5354
 
5355
+ /**
5356
+ * Holds the rail's state for every part beneath it. Only needed when a
5357
+ * `FilterRail.Trigger` sits outside `FilterRail.Root` (in a table toolbar, say);
5358
+ * otherwise give `Root` the config directly.
5359
+ */
5360
+ declare function Provider_2<TField extends string = string, TSectionField extends TField = TField>({ control, sections, layout, density, onFilterChange, children, }: FilterRailProviderProps<TField, TSectionField>): JSX.Element;
5361
+
5362
+ declare namespace Provider_2 {
5363
+ var displayName: string;
5364
+ }
5365
+
5048
5366
  declare type ProviderProps = Pick<React_2.ComponentProps<typeof Tooltip_2.Provider>, "delay" | "closeDelay" | "timeout"> & {
5049
5367
  children: React_2.ReactNode;
5050
5368
  };
@@ -5070,6 +5388,36 @@ declare namespace RadioItemIndicator {
5070
5388
  var displayName: string;
5071
5389
  }
5072
5390
 
5391
+ /** Mutually exclusive choices — one filter, or none. */
5392
+ declare type RadioSection<TField extends string = string> = FieldSectionBase<TField> & {
5393
+ control: "radio";
5394
+ operator?: "eq" | "ne";
5395
+ options: readonly FacetOption[];
5396
+ /** The "no constraint" row. Default "Any"; `null` removes it. */
5397
+ anyLabel?: ReactNode | null;
5398
+ };
5399
+
5400
+ /**
5401
+ * The user's override of the authored section order, visibility and option
5402
+ * sort. Kept separate from `sections` so a new authored section needs no
5403
+ * migration of anyone's saved layout.
5404
+ */
5405
+ declare type RailLayout = {
5406
+ /** Section ids, top to bottom. Unlisted ids follow in authored order. */
5407
+ order: readonly string[];
5408
+ /** Section ids the user has switched off. */
5409
+ hidden: readonly string[];
5410
+ /** Per-section override of the authored `sort`. Checkbox sections only. */
5411
+ sort: Readonly<Record<string, UserOptionSort>>;
5412
+ };
5413
+
5414
+ declare type RailLayoutBinding = {
5415
+ value: RailLayout;
5416
+ onChange: (next: RailLayout) => void;
5417
+ /** Back to the authored defaults. Omit and no Reset is offered. */
5418
+ onReset?: () => void;
5419
+ };
5420
+
5073
5421
  /**
5074
5422
  * A standalone inline range calendar. The first click sets one end of the
5075
5423
  * range, the highlight follows the pointer (or arrow keys), and the second
@@ -5203,9 +5551,11 @@ declare type ResourceMeta = {
5203
5551
  title?: LocalizedString;
5204
5552
  icon?: ReactNode;
5205
5553
  /**
5206
- * Custom breadcrumb segment title for this page. Can be a string or a function.
5554
+ * Custom breadcrumb segment title. Pass `labels.t("key")` directly for localization.
5555
+ * Other callbacks receive the URL segment and may return a LocalizedString
5556
+ * (e.g. `(segment) => labels.t("order", { id: segment })`), resolved using the current locale.
5207
5557
  */
5208
- breadcrumbTitle?: string | ((segment: string) => string);
5558
+ breadcrumbTitle?: string | ((segment: string) => LocalizedString);
5209
5559
  };
5210
5560
 
5211
5561
  /**
@@ -5324,6 +5674,24 @@ declare namespace Root_12 {
5324
5674
  var displayName: string;
5325
5675
  }
5326
5676
 
5677
+ /** A full-width visual container for one or more rows of related controls. */
5678
+ declare function Root_13({ className, ...props }: ToolbarProps): JSX.Element;
5679
+
5680
+ declare namespace Root_13 {
5681
+ var displayName: string;
5682
+ }
5683
+
5684
+ /**
5685
+ * The rail. Give it the config directly, or render it inside
5686
+ * `FilterRail.Provider` with no config when a `FilterRail.Trigger` lives
5687
+ * elsewhere on the page.
5688
+ */
5689
+ declare function Root_14<TField extends string = string, TSectionField extends TField = TField>(props: FilterRailRootProps<TField, TSectionField>): JSX.Element;
5690
+
5691
+ declare namespace Root_14 {
5692
+ var displayName: string;
5693
+ }
5694
+
5327
5695
  /**
5328
5696
  * Provides the shared time range used by all timeline primitives.
5329
5697
  *
@@ -5338,9 +5706,9 @@ declare namespace Root_12 {
5338
5706
  * </Timeline.Root>
5339
5707
  * ```
5340
5708
  */
5341
- declare function Root_13({ start, end, children, className, style }: TimelineRootProps): JSX.Element;
5709
+ declare function Root_15({ start, end, children, className, style }: TimelineRootProps): JSX.Element;
5342
5710
 
5343
- declare namespace Root_13 {
5711
+ declare namespace Root_15 {
5344
5712
  var displayName: string;
5345
5713
  }
5346
5714
 
@@ -5509,9 +5877,19 @@ declare type RootConfiguration = {
5509
5877
  timeZone?: string;
5510
5878
  };
5511
5879
 
5880
+ declare type RootOwnProps = {
5881
+ /** Accessible name of the rail landmark. Default "Filters". */
5882
+ "aria-label"?: string;
5883
+ className?: string;
5884
+ children: ReactNode;
5885
+ };
5886
+
5512
5887
  declare type RootProps = React_2.ComponentProps<"div"> & VariantProps<typeof alertVariants> & {
5888
+ /** Action element rendered below the description */
5513
5889
  action?: React_2.ReactNode;
5890
+ /** Shows a dismiss button; hides the alert when clicked */
5514
5891
  dismissible?: boolean;
5892
+ /** Callback invoked when the dismiss button is clicked */
5515
5893
  onDismiss?: () => void;
5516
5894
  };
5517
5895
 
@@ -5550,6 +5928,13 @@ declare namespace Row {
5550
5928
  var displayName: string;
5551
5929
  }
5552
5930
 
5931
+ /** One independently navigable horizontal row of toolbar controls. */
5932
+ declare function Row_2({ className, justify, onKeyDown, ref: forwardedRef, ...props }: ToolbarRowProps): JSX.Element;
5933
+
5934
+ declare namespace Row_2 {
5935
+ var displayName: string;
5936
+ }
5937
+
5553
5938
  /**
5554
5939
  * A single body row.
5555
5940
  *
@@ -5563,20 +5948,25 @@ declare namespace Row {
5563
5948
  * </Timeline.Row>
5564
5949
  * ```
5565
5950
  */
5566
- declare function Row_2({ children, className, style, height, background }: TimelineRowProps): JSX.Element;
5951
+ declare function Row_3({ children, className, style, height, background }: TimelineRowProps): JSX.Element;
5567
5952
 
5568
- declare namespace Row_2 {
5953
+ declare namespace Row_3 {
5569
5954
  var displayName: string;
5570
5955
  }
5571
5956
 
5572
5957
  /**
5573
5958
  * A single row action definition for the actions column.
5574
5959
  */
5575
- export declare interface RowAction<TRow extends Record<string, unknown>> {
5576
- id: string;
5577
- label: string;
5578
- icon?: ReactNode;
5579
- variant?: "default" | "destructive";
5960
+ export declare interface RowAction<TRow extends Record<string, unknown>> extends DataTableAction {
5961
+ /** Whether the action can act on this row. Return `false` to disable it. */
5962
+ canApply?: (row: TRow) => boolean;
5963
+ /**
5964
+ * Return `true` to disable the action for a given row.
5965
+ *
5966
+ * @deprecated Use `canApply`, which reads the other way round:
5967
+ * `isDisabled: (row) => x` is `canApply: (row) => !x`. If both are set, the
5968
+ * action is disabled when either one says so.
5969
+ */
5580
5970
  isDisabled?: (row: TRow) => boolean;
5581
5971
  onClick: (row: TRow) => void;
5582
5972
  }
@@ -5629,6 +6019,32 @@ declare type RowExpansionOptions<TRow extends Record<string, unknown>> = {
5629
6019
  onChange?: (ids: string[]) => void;
5630
6020
  });
5631
6021
 
6022
+ /** Controlled or uncontrolled row-selection configuration. Keep the mode stable while mounted. */
6023
+ export declare type RowSelectionOptions = {
6024
+ /**
6025
+ * Bulk actions for the selected IDs, shown in `DataTable.Footer` while at
6026
+ * least one row is selected. The bar includes the selection count, these
6027
+ * actions, and Clear, with pagination kept alongside. The first three actions
6028
+ * render as buttons; the rest collapse into a "More actions" menu.
6029
+ * Omit or pass an empty array to enable selection without an action bar.
6030
+ */
6031
+ actions?: SelectionAction[];
6032
+ } & ({
6033
+ /**
6034
+ * Controlled selected ids. Update this array from `onChange`.
6035
+ * Commands issued before the owner commits each derive from this value.
6036
+ */
6037
+ selectedIds: string[];
6038
+ onChange: (ids: string[]) => void;
6039
+ defaultSelectedIds?: never;
6040
+ } | {
6041
+ selectedIds?: never;
6042
+ /** Initial selected ids in uncontrolled mode; subsequent changes are ignored. */
6043
+ defaultSelectedIds?: string[];
6044
+ /** Notification of user-driven selection changes, including under StrictMode. */
6045
+ onChange?: (ids: string[]) => void;
6046
+ });
6047
+
5632
6048
  /**
5633
6049
  * Setter shape compatible with `useSearchParams()`.
5634
6050
  */
@@ -5659,6 +6075,32 @@ export declare type SearchSource = {
5659
6075
  }) => Promise<CommandPaletteSearchResult[]>;
5660
6076
  };
5661
6077
 
6078
+ declare type SectionBase = {
6079
+ /** Stable and unique within the rail. Keys the layout and a11y ids. */
6080
+ id: string;
6081
+ /** The section heading — the word the business uses, not the field name. */
6082
+ label: ReactNode;
6083
+ /** One muted line under the heading. */
6084
+ hint?: ReactNode;
6085
+ /**
6086
+ * Start collapsed. Users expand or collapse any section from the chevron by
6087
+ * its title; while collapsed, the header still shows how many values are
6088
+ * selected. Default `false`.
6089
+ */
6090
+ defaultCollapsed?: boolean;
6091
+ };
6092
+
6093
+ /** Every section, in the user's layout. Scrolls; the header stays put. */
6094
+ declare function Sections({ className }: SectionsProps): JSX.Element;
6095
+
6096
+ declare namespace Sections {
6097
+ var displayName: string;
6098
+ }
6099
+
6100
+ declare type SectionsProps = {
6101
+ className?: string;
6102
+ };
6103
+
5662
6104
  export declare const Select: SelectComponent;
5663
6105
 
5664
6106
  /**
@@ -5759,6 +6201,38 @@ declare namespace SelectGroupLabel {
5759
6201
  var displayName: string;
5760
6202
  }
5761
6203
 
6204
+ /**
6205
+ * An ID-based bulk action shown in `DataTable.Footer` while a selection is open.
6206
+ * Configure through `UseDataTableOptions.rowSelection.actions`.
6207
+ */
6208
+ export declare interface SelectionAction extends DataTableAction {
6209
+ /**
6210
+ * Called with a click-time copy of all selected IDs, including unloaded rows.
6211
+ * Consumers own eligibility checks, fetching, confirmation, and execution.
6212
+ * Selection is never automatically cleared: update controlled selection based
6213
+ * on the actual result, preserving ineligible IDs and any new selections.
6214
+ *
6215
+ * Return a promise to disable the bar and show a spinner while it is pending.
6216
+ * For work started later by a confirmation dialog, pass the request to
6217
+ * `helpers.run` instead. Neither success nor failure changes selection.
6218
+ */
6219
+ onClick: (ids: string[], helpers: SelectionActionHelpers) => void | Promise<unknown>;
6220
+ }
6221
+
6222
+ /** The second argument to `SelectionAction.onClick`. */
6223
+ export declare interface SelectionActionHelpers {
6224
+ /** Empty the selection across all pages. */
6225
+ clearSelection: () => void;
6226
+ /**
6227
+ * Hand the bar a request it should track — for one that starts after
6228
+ * `onClick` has returned, typically from a confirm dialog's confirm button.
6229
+ * The bar then behaves as if `onClick` had returned it: actions (and Clear)
6230
+ * are disabled while it is pending. It never changes selection. Returns the
6231
+ * request, so it can be awaited too.
6232
+ */
6233
+ run: <T>(request: PromiseLike<T>) => PromiseLike<T>;
6234
+ }
6235
+
5762
6236
  declare function SelectItem({ className, children, ...props }: React_2.ComponentProps<typeof Select_2.Item>): JSX.Element;
5763
6237
 
5764
6238
  declare namespace SelectItem {
@@ -5894,7 +6368,7 @@ declare type SelectStandaloneProps<I> = ({
5894
6368
  items: I[];
5895
6369
  } & SelectPropsMultiple<ExtractItem<I>>);
5896
6370
 
5897
- declare function SelectTrigger({ className, children, ...props }: React_2.ComponentProps<typeof Select_2.Trigger>): JSX.Element;
6371
+ declare function SelectTrigger({ className, children, ref: forwardedRef, ...props }: React_2.ComponentProps<typeof Select_2.Trigger>): JSX.Element;
5898
6372
 
5899
6373
  declare namespace SelectTrigger {
5900
6374
  var displayName: string;
@@ -5906,6 +6380,30 @@ declare namespace SelectValue {
5906
6380
  var displayName: string;
5907
6381
  }
5908
6382
 
6383
+ /** A vertical separator for groups within a horizontal toolbar row. */
6384
+ declare function Separator({ className, ...props }: ToolbarSeparatorProps): JSX.Element;
6385
+
6386
+ declare namespace Separator {
6387
+ var displayName: string;
6388
+ }
6389
+
6390
+ /**
6391
+ * Show / hide, reorder and sort the sections. Renders nothing unless
6392
+ * `FilterRail.Root` has a `layout` binding.
6393
+ *
6394
+ * Hiding a section that carries a filter also clears that filter — hiding must
6395
+ * never strand an active filter somewhere the user cannot see it.
6396
+ */
6397
+ declare function Settings({ className }: SettingsProps): JSX.Element | null;
6398
+
6399
+ declare namespace Settings {
6400
+ var displayName: string;
6401
+ }
6402
+
6403
+ declare type SettingsProps = {
6404
+ className?: string;
6405
+ };
6406
+
5909
6407
  /**
5910
6408
  * Shared props between `AppShellProps` and the internal `WithPages` wrapper.
5911
6409
  *
@@ -6212,10 +6710,10 @@ export declare type SidebarItemProps = {
6212
6710
  */
6213
6711
  to: string;
6214
6712
  /**
6215
- * Override title.
6713
+ * Override title (i18n supported).
6216
6714
  * When omitted, title is auto-resolved from resource meta.
6217
6715
  */
6218
- title?: string;
6716
+ title?: LocalizedString;
6219
6717
  /**
6220
6718
  * Override icon.
6221
6719
  * When omitted, icon is auto-resolved from resource meta.
@@ -6437,9 +6935,45 @@ declare const sidebarMenuButtonVariants: (props?: ({
6437
6935
 
6438
6936
  export declare function SidebarMenuItem({ className, ...props }: React_2.ComponentProps<"li">): JSX.Element;
6439
6937
 
6938
+ /**
6939
+ * A static heading for a run of flat sidebar navigation items.
6940
+ *
6941
+ * Unlike `SidebarGroup`, a section is neither collapsible nor navigable, and its
6942
+ * items keep the same styling and indentation as top-level items. In the icon
6943
+ * rail the heading is hidden so the compact layout is unaffected. Add dividers
6944
+ * between sections with `SidebarSeparator`.
6945
+ *
6946
+ * @example
6947
+ * ```tsx
6948
+ * <DefaultSidebar>
6949
+ * <SidebarItem to="/overview" />
6950
+ * <SidebarSeparator />
6951
+ * <SidebarSection title={labels.t("services")}>
6952
+ * <SidebarItem to="/ai-gateways" />
6953
+ * <SidebarItem to="/applications" />
6954
+ * </SidebarSection>
6955
+ * </DefaultSidebar>
6956
+ * ```
6957
+ */
6958
+ export declare const SidebarSection: (props: SidebarSectionProps) => JSX.Element;
6959
+
6960
+ export declare type SidebarSectionProps = {
6961
+ /**
6962
+ * Section heading (i18n supported).
6963
+ */
6964
+ title: LocalizedString;
6965
+ /**
6966
+ * Child items (SidebarItem, SidebarGroup, etc.)
6967
+ */
6968
+ children: ReactNode;
6969
+ };
6970
+
6440
6971
  /**
6441
6972
  * A visual divider for sidebar navigation.
6442
6973
  *
6974
+ * Adds 4px above and 8px below the line (on top of the menu's own gap) so the
6975
+ * items that follow read as a new section.
6976
+ *
6443
6977
  * @example
6444
6978
  * ```tsx
6445
6979
  * <DefaultSidebar>
@@ -6579,7 +7113,7 @@ declare function Suggestions({ className, children, ...props }: SuggestionsProps
6579
7113
  declare type SuggestionsProps = React_2.ComponentProps<"div">;
6580
7114
 
6581
7115
  /** An individual interactive tab button that toggles the corresponding panel. */
6582
- declare function Tab({ className, children, ...props }: React_2.ComponentProps<typeof Tabs_2.Tab>): JSX.Element;
7116
+ declare function Tab({ className, children, ref: forwardedRef, ...props }: React_2.ComponentProps<typeof Tabs_2.Tab>): JSX.Element;
6583
7117
 
6584
7118
  declare namespace Tab {
6585
7119
  var displayName: string;
@@ -6720,6 +7254,17 @@ export declare type TextareaProps = Omit<React_2.ComponentProps<typeof Field_2.C
6720
7254
  className?: string;
6721
7255
  };
6722
7256
 
7257
+ /** Free text with one fixed operator. */
7258
+ declare type TextSection<TField extends string = string> = FieldSectionBase<TField> & {
7259
+ control: "text";
7260
+ operator: "contains" | "hasPrefix" | "eq";
7261
+ placeholder?: string;
7262
+ /** Default 250 ms. Every commit resets pagination. */
7263
+ debounceMs?: number;
7264
+ /** Below this length the filter is removed instead of applied. Default 1. */
7265
+ minLength?: number;
7266
+ };
7267
+
6723
7268
  export { Time }
6724
7269
 
6725
7270
  /**
@@ -6738,9 +7283,9 @@ export { Time }
6738
7283
  * ```
6739
7284
  */
6740
7285
  export declare const Timeline: {
6741
- Root: typeof Root_13;
7286
+ Root: typeof Root_15;
6742
7287
  Viewport: typeof Viewport;
6743
- Row: typeof Row_2;
7288
+ Row: typeof Row_3;
6744
7289
  Interval: typeof Interval;
6745
7290
  Link: typeof TimelineLink;
6746
7291
  };
@@ -7123,6 +7668,25 @@ export { To }
7123
7668
  */
7124
7669
  declare function Tool({ className, children, ...props }: ToolProps): JSX.Element;
7125
7670
 
7671
+ export declare const Toolbar: {
7672
+ Root: typeof Root_13;
7673
+ Row: typeof Row_2;
7674
+ Group: typeof Group_2;
7675
+ Separator: typeof Separator;
7676
+ };
7677
+
7678
+ declare type ToolbarGroupProps = React_2.ComponentProps<"div">;
7679
+
7680
+ export declare type ToolbarProps = React_2.ComponentProps<"div">;
7681
+
7682
+ declare type ToolbarRowProps = Omit<React_2.ComponentProps<"div">, "role" | "onKeyDown"> & {
7683
+ /** Distribute the row's outer groups between its two edges. */
7684
+ justify?: "start" | "between";
7685
+ onKeyDown?: React_2.KeyboardEventHandler<HTMLDivElement>;
7686
+ };
7687
+
7688
+ declare type ToolbarSeparatorProps = Omit<React_2.ComponentProps<"div">, "role" | "aria-orientation">;
7689
+
7126
7690
  declare function ToolContent({ className, ...props }: ToolContentProps): JSX.Element;
7127
7691
 
7128
7692
  declare type ToolContentProps = ComponentProps<typeof DisclosurePanel>;
@@ -7202,6 +7766,23 @@ declare namespace Trigger_4 {
7202
7766
  var displayName: string;
7203
7767
  }
7204
7768
 
7769
+ /**
7770
+ * Opens the rail on narrow screens, carrying the active filter count. Place it
7771
+ * anywhere inside `FilterRail.Provider` — a table toolbar, a page header. It
7772
+ * renders nothing on wide screens, where the rail is already visible, and while
7773
+ * it is mounted `FilterRail.Root` skips its own fallback button.
7774
+ */
7775
+ declare function Trigger_5({ children, className }: TriggerProps_2): JSX.Element | null;
7776
+
7777
+ declare namespace Trigger_5 {
7778
+ var displayName: string;
7779
+ }
7780
+
7781
+ declare type TriggerButtonProps = {
7782
+ children?: ReactNode;
7783
+ className?: string;
7784
+ };
7785
+
7205
7786
  declare type TriggerProps = {
7206
7787
  /** Extra classes for the trigger button. */
7207
7788
  className?: string;
@@ -7212,6 +7793,8 @@ declare type TriggerProps = {
7212
7793
  onClick?: React.MouseEventHandler<HTMLButtonElement>;
7213
7794
  };
7214
7795
 
7796
+ declare type TriggerProps_2 = TriggerButtonProps;
7797
+
7215
7798
  /**
7216
7799
  * Metadata-aware collection variables that remain assignable to the broad
7217
7800
  * `CollectionVariables` shape expected by GraphQL clients.
@@ -7566,7 +8149,7 @@ declare type UseAttachmentReturn = {
7566
8149
  * const { isAuthenticated, isReady, login, logout } = useAuth();
7567
8150
  *
7568
8151
  * if (!isReady) return <Loading />;
7569
- * if (!isAuthenticated) return <button onClick={login}>Log In</button>;
8152
+ * if (!isAuthenticated) return <button onClick={() => void login()}>Log In</button>;
7570
8153
  *
7571
8154
  * return <button onClick={logout}>Log Out</button>;
7572
8155
  * }
@@ -7576,7 +8159,7 @@ export declare const useAuth: () => {
7576
8159
  error: string | null;
7577
8160
  isAuthenticated: boolean;
7578
8161
  isReady: boolean;
7579
- login: () => Promise<void>;
8162
+ login: Login;
7580
8163
  logout: () => Promise<void>;
7581
8164
  checkAuthStatus: () => Promise<AuthState>;
7582
8165
  };
@@ -7620,7 +8203,7 @@ export declare const useAuth: () => {
7620
8203
  * // isReady is guaranteed to be true here (Suspense handles loading)
7621
8204
  *
7622
8205
  * if (!isAuthenticated) {
7623
- * return <button onClick={login}>Log In</button>;
8206
+ * return <button onClick={() => void login()}>Log In</button>;
7624
8207
  * }
7625
8208
  *
7626
8209
  * return (
@@ -7635,7 +8218,7 @@ export declare const useAuth: () => {
7635
8218
  export declare const useAuthSuspense: () => {
7636
8219
  error: string | null;
7637
8220
  isAuthenticated: boolean;
7638
- login: () => Promise<void>;
8221
+ login: Login;
7639
8222
  logout: () => Promise<void>;
7640
8223
  checkAuthStatus: () => Promise<AuthState>;
7641
8224
  };
@@ -7672,6 +8255,8 @@ export declare interface UseCollectionReturn<TFieldName extends string = string,
7672
8255
  /**
7673
8256
  * Hook for managing collection query parameters (filters, sort, pagination)
7674
8257
  * with metadata-based field name typing and automatic `fieldType` detection.
8258
+ * Datetime filters are normalized to RFC 3339 using the AppShell timezone
8259
+ * before initialization or updates. Invalid datetime values throw a TypeError.
7675
8260
  *
7676
8261
  * Returns `variables` with `query`, `order`, and `pagination` sub-properties
7677
8262
  * that can be mapped to GraphQL query variables.
@@ -7958,16 +8543,27 @@ export declare type UseDataTableOptions<TRow extends Record<string, unknown>, TF
7958
8543
  * The column is omitted when this array is empty or not provided.
7959
8544
  */
7960
8545
  rowActions?: RowAction<TRow>[];
8546
+ /**
8547
+ * Controlled or uncontrolled row selection. Providing this option enables
8548
+ * checkboxes. Uses string-normalized `row.id`; rows without an id are excluded.
8549
+ * The header checkbox adds/removes only the current page, preserving other ids.
8550
+ */
8551
+ rowSelection?: RowSelectionOptions;
7961
8552
  /**
7962
8553
  * Called with the current array of selected row IDs whenever the selection
7963
- * changes. Providing this prop enables the checkbox selection column.
7964
- * Selection is ID-based (`row.id`) and persists across page changes.
8554
+ * changes. Providing this prop or `rowSelection` enables the checkbox
8555
+ * selection column. Selection is ID-based (`row.id`) and persists
8556
+ * across page changes. Remains supported; `rowSelection.onChange` takes
8557
+ * precedence when both callbacks are supplied.
7965
8558
  *
7966
8559
  * **Requirement:** Each row must have a string or number `id` field.
7967
8560
  * Rows without `id` are excluded from selection.
7968
8561
  *
7969
- * **Note:** `selectAllRows` (triggered by the header checkbox) selects only
7970
- * the rows on the **current page**, not all pages.
8562
+ * **Note:** The header checkbox acts on the **current page**: checking it adds
8563
+ * the page's rows to the selection and unchecking it removes them. Rows
8564
+ * selected on other pages are kept.
8565
+ *
8566
+ * @deprecated Use `rowSelection.onChange` instead.
7971
8567
  */
7972
8568
  onSelectionChange?: (ids: string[]) => void;
7973
8569
  /**
@@ -8063,11 +8659,27 @@ export declare interface UseDataTableReturn<TRow extends Record<string, unknown>
8063
8659
  control: CollectionControl | undefined;
8064
8660
  onClickRow?: (row: TRow) => void;
8065
8661
  rowActions?: RowAction<TRow>[];
8662
+ /** Selection config (passthrough for `DataTable.Root`). */
8663
+ rowSelection?: RowSelectionOptions;
8066
8664
  selectedIds: string[];
8067
8665
  isRowSelected: (row: TRow) => boolean;
8068
8666
  toggleRowSelection?: (row: TRow) => void;
8667
+ /** Adds every row on the current page to the selection. */
8069
8668
  selectAllRows?: () => void;
8669
+ /** Removes the current page's rows from the selection; other pages' rows stay selected. */
8670
+ deselectAllRows?: () => void;
8671
+ /** Empties the selection across all pages. */
8070
8672
  clearSelection?: () => void;
8673
+ /** Id of the selection action whose request is in flight, or `null`. */
8674
+ pendingActionId?: string | null;
8675
+ /**
8676
+ * Tracks a selection action's request: disables the bar while it is pending
8677
+ * without changing selection. This is what `SelectionActionHelpers.run` calls.
8678
+ * Undefined when selection is off.
8679
+ */
8680
+ runSelectionAction?: (action: {
8681
+ id: string;
8682
+ }, request: PromiseLike<unknown>) => void;
8071
8683
  isAllSelected: boolean;
8072
8684
  isIndeterminate: boolean;
8073
8685
  /** Ids of the currently expanded rows. */
@@ -8124,6 +8736,16 @@ declare function useFilter(options?: ComboboxFilterOptions): ComboboxFilter;
8124
8736
  */
8125
8737
  declare function useFilter_2(options?: AutocompleteFilterOptions): AutocompleteFilter;
8126
8738
 
8739
+ /**
8740
+ * The user's section order, visibility and option sort, persisted to
8741
+ * localStorage under `storageKey`. Pass the result to `FilterRail.Root`'s
8742
+ * `layout` prop to enable `FilterRail.Settings`.
8743
+ *
8744
+ * For a team-shared layout, build a `{ value, onChange, onReset }` binding over
8745
+ * your own store instead — the rail does not care where it lives.
8746
+ */
8747
+ export declare function useFilterRailLayout(storageKey: string): RailLayoutBinding;
8748
+
8127
8749
  export { useLocation }
8128
8750
 
8129
8751
  export { useMatch }
@@ -8226,6 +8848,9 @@ export declare const useResolvedLocale: () => {
8226
8848
 
8227
8849
  export { useResolvedPath }
8228
8850
 
8851
+ /** The option sorts a user may pick in `FilterRail.Settings`. */
8852
+ declare type UserOptionSort = "given" | "label";
8853
+
8229
8854
  export { useRouteError }
8230
8855
 
8231
8856
  export { useSearchParams }
@@ -8487,12 +9112,12 @@ declare namespace Root {
8487
9112
  }
8488
9113
 
8489
9114
 
8490
- declare namespace Title {
9115
+ declare namespace Image {
8491
9116
  var displayName: string;
8492
9117
  }
8493
9118
 
8494
9119
 
8495
- declare namespace Description {
9120
+ declare namespace Fallback {
8496
9121
  var displayName: string;
8497
9122
  }
8498
9123
 
@@ -8502,27 +9127,37 @@ declare namespace Root {
8502
9127
  }
8503
9128
 
8504
9129
 
8505
- declare namespace Image {
9130
+ declare namespace Header {
8506
9131
  var displayName: string;
8507
9132
  }
8508
9133
 
8509
9134
 
8510
- declare namespace Fallback {
9135
+ declare namespace Body {
8511
9136
  var displayName: string;
8512
9137
  }
8513
9138
 
8514
9139
 
8515
- declare namespace Root {
9140
+ declare namespace Footer {
8516
9141
  var displayName: string;
8517
9142
  }
8518
9143
 
8519
9144
 
8520
- declare namespace Header {
9145
+ declare namespace Row {
8521
9146
  var displayName: string;
8522
9147
  }
8523
9148
 
8524
9149
 
8525
- declare namespace Content {
9150
+ declare namespace Head {
9151
+ var displayName: string;
9152
+ }
9153
+
9154
+
9155
+ declare namespace Cell {
9156
+ var displayName: string;
9157
+ }
9158
+
9159
+
9160
+ declare namespace Caption {
8526
9161
  var displayName: string;
8527
9162
  }
8528
9163
 
@@ -8532,7 +9167,12 @@ declare namespace Root {
8532
9167
  }
8533
9168
 
8534
9169
 
8535
- declare namespace Legend {
9170
+ declare namespace Header {
9171
+ var displayName: string;
9172
+ }
9173
+
9174
+
9175
+ declare namespace Content {
8536
9176
  var displayName: string;
8537
9177
  }
8538
9178
 
@@ -8582,212 +9222,217 @@ declare namespace Root {
8582
9222
  }
8583
9223
 
8584
9224
 
8585
- declare namespace Header {
9225
+ declare namespace Legend {
8586
9226
  var displayName: string;
8587
9227
  }
8588
9228
 
8589
9229
 
8590
- declare namespace Body {
9230
+ declare namespace ComboboxRoot {
8591
9231
  var displayName: string;
8592
9232
  }
8593
9233
 
8594
9234
 
8595
- declare namespace Footer {
9235
+ declare namespace ComboboxInput {
8596
9236
  var displayName: string;
8597
9237
  }
8598
9238
 
8599
9239
 
8600
- declare namespace Row {
9240
+ declare namespace ComboboxTrigger {
8601
9241
  var displayName: string;
8602
9242
  }
8603
9243
 
8604
9244
 
8605
- declare namespace Head {
9245
+ declare namespace ComboboxInputGroup {
8606
9246
  var displayName: string;
8607
9247
  }
8608
9248
 
8609
9249
 
8610
- declare namespace Cell {
9250
+ declare namespace ComboboxContent {
8611
9251
  var displayName: string;
8612
9252
  }
8613
9253
 
8614
9254
 
8615
- declare namespace Caption {
9255
+ declare namespace ComboboxList {
8616
9256
  var displayName: string;
8617
9257
  }
8618
9258
 
8619
9259
 
8620
- declare namespace Root {
9260
+ declare namespace ComboboxItem {
8621
9261
  var displayName: string;
8622
9262
  }
8623
9263
 
8624
9264
 
8625
- declare namespace Label {
9265
+ declare namespace ComboboxEmpty {
8626
9266
  var displayName: string;
8627
9267
  }
8628
9268
 
8629
9269
 
8630
- declare namespace Control {
9270
+ declare namespace ComboboxGroup {
8631
9271
  var displayName: string;
8632
9272
  }
8633
9273
 
8634
9274
 
8635
- declare namespace Description {
9275
+ declare namespace ComboboxGroupLabel {
8636
9276
  var displayName: string;
8637
9277
  }
8638
9278
 
8639
9279
 
8640
- declare namespace Error {
9280
+ declare namespace ComboboxClear {
8641
9281
  var displayName: string;
8642
9282
  }
8643
9283
 
8644
9284
 
8645
- declare namespace Validity {
9285
+ declare namespace ComboboxChips {
8646
9286
  var displayName: string;
8647
9287
  }
8648
9288
 
8649
9289
 
8650
- declare namespace Provider {
9290
+ declare namespace ComboboxChip {
8651
9291
  var displayName: string;
8652
9292
  }
8653
9293
 
8654
9294
 
8655
- declare namespace Root {
9295
+ declare namespace ComboboxChipRemove {
8656
9296
  var displayName: string;
8657
9297
  }
8658
9298
 
8659
9299
 
8660
- declare namespace Trigger {
9300
+ declare namespace ComboboxValue {
8661
9301
  var displayName: string;
8662
9302
  }
8663
9303
 
8664
9304
 
8665
- declare namespace Content {
9305
+ declare namespace ComboboxStatus {
8666
9306
  var displayName: string;
8667
9307
  }
8668
9308
 
8669
9309
 
8670
- declare namespace SelectRoot {
9310
+ declare namespace ComboboxCollection {
8671
9311
  var displayName: string;
8672
9312
  }
8673
9313
 
8674
9314
 
8675
- declare namespace SelectTrigger {
9315
+ declare namespace Root {
8676
9316
  var displayName: string;
8677
9317
  }
8678
9318
 
8679
9319
 
8680
- declare namespace SelectValue {
9320
+ declare namespace Label {
8681
9321
  var displayName: string;
8682
9322
  }
8683
9323
 
8684
9324
 
8685
- declare namespace SelectContent {
9325
+ declare namespace Control {
8686
9326
  var displayName: string;
8687
9327
  }
8688
9328
 
8689
9329
 
8690
- declare namespace SelectItem {
9330
+ declare namespace Description {
8691
9331
  var displayName: string;
8692
9332
  }
8693
9333
 
8694
9334
 
8695
- declare namespace SelectGroup {
9335
+ declare namespace Error {
8696
9336
  var displayName: string;
8697
9337
  }
8698
9338
 
8699
9339
 
8700
- declare namespace SelectGroupLabel {
9340
+ declare namespace Validity {
8701
9341
  var displayName: string;
8702
9342
  }
8703
9343
 
8704
9344
 
8705
- declare namespace SelectSeparator {
9345
+ declare namespace Root {
8706
9346
  var displayName: string;
8707
9347
  }
8708
9348
 
8709
9349
 
8710
- declare namespace ComboboxRoot {
9350
+ declare namespace Trigger {
8711
9351
  var displayName: string;
8712
9352
  }
8713
9353
 
8714
9354
 
8715
- declare namespace ComboboxInput {
9355
+ declare namespace Content {
8716
9356
  var displayName: string;
8717
9357
  }
8718
9358
 
8719
9359
 
8720
- declare namespace ComboboxTrigger {
9360
+ declare namespace Item {
8721
9361
  var displayName: string;
8722
9362
  }
8723
9363
 
8724
9364
 
8725
- declare namespace ComboboxInputGroup {
9365
+ declare namespace LinkItem {
8726
9366
  var displayName: string;
8727
9367
  }
8728
9368
 
8729
9369
 
8730
- declare namespace ComboboxContent {
9370
+ declare namespace CheckboxItem {
8731
9371
  var displayName: string;
8732
9372
  }
8733
9373
 
8734
9374
 
8735
- declare namespace ComboboxList {
9375
+ declare namespace CheckboxItemIndicator {
8736
9376
  var displayName: string;
8737
9377
  }
8738
9378
 
8739
9379
 
8740
- declare namespace ComboboxItem {
9380
+ declare namespace RadioItem {
8741
9381
  var displayName: string;
8742
9382
  }
8743
9383
 
8744
9384
 
8745
- declare namespace ComboboxEmpty {
9385
+ declare namespace RadioItemIndicator {
8746
9386
  var displayName: string;
8747
9387
  }
8748
9388
 
8749
9389
 
8750
- declare namespace ComboboxGroup {
9390
+ declare namespace RadioGroup {
8751
9391
  var displayName: string;
8752
9392
  }
8753
9393
 
8754
9394
 
8755
- declare namespace ComboboxGroupLabel {
9395
+ declare namespace Group {
8756
9396
  var displayName: string;
8757
9397
  }
8758
9398
 
8759
9399
 
8760
- declare namespace ComboboxClear {
9400
+ declare namespace GroupLabel {
8761
9401
  var displayName: string;
8762
9402
  }
8763
9403
 
8764
9404
 
8765
- declare namespace ComboboxChips {
9405
+ declare namespace MenuSeparator {
8766
9406
  var displayName: string;
8767
9407
  }
8768
9408
 
8769
9409
 
8770
- declare namespace ComboboxChip {
9410
+ declare namespace SubmenuRoot {
8771
9411
  var displayName: string;
8772
9412
  }
8773
9413
 
8774
9414
 
8775
- declare namespace ComboboxChipRemove {
9415
+ declare namespace SubmenuTrigger {
8776
9416
  var displayName: string;
8777
9417
  }
8778
9418
 
8779
9419
 
8780
- declare namespace ComboboxValue {
9420
+ declare namespace Root {
8781
9421
  var displayName: string;
8782
9422
  }
8783
9423
 
8784
9424
 
8785
- declare namespace ComboboxStatus {
9425
+ declare namespace Row {
8786
9426
  var displayName: string;
8787
9427
  }
8788
9428
 
8789
9429
 
8790
- declare namespace ComboboxCollection {
9430
+ declare namespace Group {
9431
+ var displayName: string;
9432
+ }
9433
+
9434
+
9435
+ declare namespace Separator {
8791
9436
  var displayName: string;
8792
9437
  }
8793
9438
 
@@ -8832,192 +9477,227 @@ declare namespace Description {
8832
9477
  }
8833
9478
 
8834
9479
 
8835
- declare namespace DataTableRoot {
9480
+ declare namespace Root {
8836
9481
  var displayName: string;
8837
9482
  }
8838
9483
 
8839
9484
 
8840
- declare namespace DataTableTable {
9485
+ declare namespace List {
8841
9486
  var displayName: string;
8842
9487
  }
8843
9488
 
8844
9489
 
8845
- declare namespace DataTableFooter {
9490
+ declare namespace Tab {
8846
9491
  var displayName: string;
8847
9492
  }
8848
9493
 
8849
9494
 
8850
- declare namespace AutocompleteStandalone {
9495
+ declare namespace Panel {
8851
9496
  var displayName: string;
8852
9497
  }
8853
9498
 
8854
9499
 
8855
- declare namespace AutocompleteAsyncStandalone {
9500
+ declare namespace Root {
8856
9501
  var displayName: string;
8857
9502
  }
8858
9503
 
8859
9504
 
8860
- declare namespace AutocompleteRoot {
9505
+ declare namespace Title {
8861
9506
  var displayName: string;
8862
9507
  }
8863
9508
 
8864
9509
 
8865
- declare namespace AutocompleteValue {
9510
+ declare namespace Description {
8866
9511
  var displayName: string;
8867
9512
  }
8868
9513
 
8869
9514
 
8870
- declare namespace AutocompleteInput {
9515
+ declare namespace Trigger {
8871
9516
  var displayName: string;
8872
9517
  }
8873
9518
 
8874
9519
 
8875
- declare namespace AutocompleteTrigger {
9520
+ declare namespace Settings {
8876
9521
  var displayName: string;
8877
9522
  }
8878
9523
 
8879
9524
 
8880
- declare namespace AutocompleteInputGroup {
9525
+ declare namespace Provider {
8881
9526
  var displayName: string;
8882
9527
  }
8883
9528
 
8884
9529
 
8885
- declare namespace AutocompleteContent {
9530
+ declare namespace Root {
8886
9531
  var displayName: string;
8887
9532
  }
8888
9533
 
8889
9534
 
8890
- declare namespace AutocompleteList {
9535
+ declare namespace Header {
8891
9536
  var displayName: string;
8892
9537
  }
8893
9538
 
8894
9539
 
8895
- declare namespace AutocompleteItem {
9540
+ declare namespace ClearAll {
8896
9541
  var displayName: string;
8897
9542
  }
8898
9543
 
8899
9544
 
8900
- declare namespace AutocompleteEmpty {
9545
+ declare namespace Sections {
8901
9546
  var displayName: string;
8902
9547
  }
8903
9548
 
8904
9549
 
8905
- declare namespace AutocompleteClear {
9550
+ declare namespace Provider {
8906
9551
  var displayName: string;
8907
9552
  }
8908
9553
 
8909
9554
 
8910
- declare namespace AutocompleteGroup {
9555
+ declare namespace Root {
8911
9556
  var displayName: string;
8912
9557
  }
8913
9558
 
8914
9559
 
8915
- declare namespace AutocompleteGroupLabel {
9560
+ declare namespace Trigger {
8916
9561
  var displayName: string;
8917
9562
  }
8918
9563
 
8919
9564
 
8920
- declare namespace AutocompleteCollection {
9565
+ declare namespace Content {
8921
9566
  var displayName: string;
8922
9567
  }
8923
9568
 
8924
9569
 
8925
- declare namespace AutocompleteStatus {
9570
+ declare namespace SelectRoot {
8926
9571
  var displayName: string;
8927
9572
  }
8928
9573
 
8929
9574
 
8930
- declare namespace Root {
9575
+ declare namespace SelectTrigger {
8931
9576
  var displayName: string;
8932
9577
  }
8933
9578
 
8934
9579
 
8935
- declare namespace List {
9580
+ declare namespace SelectValue {
8936
9581
  var displayName: string;
8937
9582
  }
8938
9583
 
8939
9584
 
8940
- declare namespace Tab {
9585
+ declare namespace SelectContent {
8941
9586
  var displayName: string;
8942
9587
  }
8943
9588
 
8944
9589
 
8945
- declare namespace Panel {
9590
+ declare namespace SelectItem {
8946
9591
  var displayName: string;
8947
9592
  }
8948
9593
 
8949
9594
 
8950
- declare namespace Root {
9595
+ declare namespace SelectGroup {
8951
9596
  var displayName: string;
8952
9597
  }
8953
9598
 
8954
9599
 
8955
- declare namespace Trigger {
9600
+ declare namespace SelectGroupLabel {
8956
9601
  var displayName: string;
8957
9602
  }
8958
9603
 
8959
9604
 
8960
- declare namespace Content {
9605
+ declare namespace SelectSeparator {
8961
9606
  var displayName: string;
8962
9607
  }
8963
9608
 
8964
9609
 
8965
- declare namespace Item {
9610
+ declare namespace AutocompleteStandalone {
8966
9611
  var displayName: string;
8967
9612
  }
8968
9613
 
8969
9614
 
8970
- declare namespace LinkItem {
9615
+ declare namespace AutocompleteAsyncStandalone {
8971
9616
  var displayName: string;
8972
9617
  }
8973
9618
 
8974
9619
 
8975
- declare namespace CheckboxItem {
9620
+ declare namespace AutocompleteRoot {
8976
9621
  var displayName: string;
8977
9622
  }
8978
9623
 
8979
9624
 
8980
- declare namespace CheckboxItemIndicator {
9625
+ declare namespace AutocompleteValue {
8981
9626
  var displayName: string;
8982
9627
  }
8983
9628
 
8984
9629
 
8985
- declare namespace RadioItem {
9630
+ declare namespace AutocompleteInput {
8986
9631
  var displayName: string;
8987
9632
  }
8988
9633
 
8989
9634
 
8990
- declare namespace RadioItemIndicator {
9635
+ declare namespace AutocompleteTrigger {
8991
9636
  var displayName: string;
8992
9637
  }
8993
9638
 
8994
9639
 
8995
- declare namespace RadioGroup {
9640
+ declare namespace AutocompleteInputGroup {
8996
9641
  var displayName: string;
8997
9642
  }
8998
9643
 
8999
9644
 
9000
- declare namespace Group {
9645
+ declare namespace AutocompleteContent {
9001
9646
  var displayName: string;
9002
9647
  }
9003
9648
 
9004
9649
 
9005
- declare namespace GroupLabel {
9650
+ declare namespace AutocompleteList {
9006
9651
  var displayName: string;
9007
9652
  }
9008
9653
 
9009
9654
 
9010
- declare namespace MenuSeparator {
9655
+ declare namespace AutocompleteItem {
9011
9656
  var displayName: string;
9012
9657
  }
9013
9658
 
9014
9659
 
9015
- declare namespace SubmenuRoot {
9660
+ declare namespace AutocompleteEmpty {
9016
9661
  var displayName: string;
9017
9662
  }
9018
9663
 
9019
9664
 
9020
- declare namespace SubmenuTrigger {
9665
+ declare namespace AutocompleteClear {
9666
+ var displayName: string;
9667
+ }
9668
+
9669
+
9670
+ declare namespace AutocompleteGroup {
9671
+ var displayName: string;
9672
+ }
9673
+
9674
+
9675
+ declare namespace AutocompleteGroupLabel {
9676
+ var displayName: string;
9677
+ }
9678
+
9679
+
9680
+ declare namespace AutocompleteCollection {
9681
+ var displayName: string;
9682
+ }
9683
+
9684
+
9685
+ declare namespace AutocompleteStatus {
9686
+ var displayName: string;
9687
+ }
9688
+
9689
+
9690
+ declare namespace DataTableRoot {
9691
+ var displayName: string;
9692
+ }
9693
+
9694
+
9695
+ declare namespace DataTableTable {
9696
+ var displayName: string;
9697
+ }
9698
+
9699
+
9700
+ declare namespace DataTableFooter {
9021
9701
  var displayName: string;
9022
9702
  }
9023
9703
 
@@ -9037,21 +9717,21 @@ declare namespace Item {
9037
9717
  }
9038
9718
 
9039
9719
 
9040
- declare namespace DataTableToolbar {
9720
+ declare namespace DataTableColumnSettings {
9041
9721
  var displayName: string;
9042
9722
  }
9043
9723
 
9044
9724
 
9045
- declare namespace DataTableFilters {
9725
+ declare namespace DataTableToolbar {
9046
9726
  var displayName: string;
9047
9727
  }
9048
9728
 
9049
9729
 
9050
- declare namespace AsyncErrorState {
9730
+ declare namespace DataTableFilters {
9051
9731
  var displayName: string;
9052
9732
  }
9053
9733
 
9054
9734
 
9055
- declare namespace DataTableColumnSettings {
9735
+ declare namespace AsyncErrorState {
9056
9736
  var displayName: string;
9057
9737
  }