react-os-shell 3.14.2 → 3.15.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 (33) hide show
  1. package/dist/{Browser-XFQRBIF2.js → Browser-MGPP32VZ.js} +4 -4
  2. package/dist/{Browser-XFQRBIF2.js.map → Browser-MGPP32VZ.js.map} +1 -1
  3. package/dist/{Documents-GEBFR23U.js → Documents-GUAZ2I6C.js} +3 -3
  4. package/dist/{Documents-GEBFR23U.js.map → Documents-GUAZ2I6C.js.map} +1 -1
  5. package/dist/Files-4OWK6XKC.js +12 -0
  6. package/dist/{Files-PZ3XY3QV.js.map → Files-4OWK6XKC.js.map} +1 -1
  7. package/dist/{Notepad-QLWMRFXJ.js → Notepad-DTOSYSHN.js} +3 -3
  8. package/dist/{Notepad-QLWMRFXJ.js.map → Notepad-DTOSYSHN.js.map} +1 -1
  9. package/dist/Preview-XSJH2DJX.js +8 -0
  10. package/dist/{Preview-XSENQ2JX.js.map → Preview-XSJH2DJX.js.map} +1 -1
  11. package/dist/{Spreadsheet-VE2FEXFK.js → Spreadsheet-M552BN3Q.js} +4 -4
  12. package/dist/{Spreadsheet-VE2FEXFK.js.map → Spreadsheet-M552BN3Q.js.map} +1 -1
  13. package/dist/apps/index.d.ts +13 -14
  14. package/dist/apps/index.js +12 -12
  15. package/dist/{chunk-GYAP4IBA.js → chunk-72RLGQXP.js} +4 -4
  16. package/dist/{chunk-GYAP4IBA.js.map → chunk-72RLGQXP.js.map} +1 -1
  17. package/dist/{chunk-FKZTCOOQ.js → chunk-BK3ZZRRD.js} +3 -3
  18. package/dist/{chunk-FKZTCOOQ.js.map → chunk-BK3ZZRRD.js.map} +1 -1
  19. package/dist/{chunk-7E7UQYFL.js → chunk-CTEIE7ZI.js} +3 -3
  20. package/dist/{chunk-7E7UQYFL.js.map → chunk-CTEIE7ZI.js.map} +1 -1
  21. package/dist/{chunk-ATLWPGXH.js → chunk-DARFRWON.js} +4 -4
  22. package/dist/{chunk-ATLWPGXH.js.map → chunk-DARFRWON.js.map} +1 -1
  23. package/dist/{chunk-6GVIP3TJ.js → chunk-F4YQYEJQ.js} +3 -3
  24. package/dist/{chunk-6GVIP3TJ.js.map → chunk-F4YQYEJQ.js.map} +1 -1
  25. package/dist/{chunk-7GSHFSWI.js → chunk-Q2T2FDU3.js} +3 -3
  26. package/dist/{chunk-7GSHFSWI.js.map → chunk-Q2T2FDU3.js.map} +1 -1
  27. package/dist/index.d.ts +107 -87
  28. package/dist/index.js +124 -46
  29. package/dist/index.js.map +1 -1
  30. package/dist/{types-BHVq95fp.d.ts → types-CVECHskm.d.ts} +1 -1
  31. package/package.json +1 -1
  32. package/dist/Files-PZ3XY3QV.js +0 -12
  33. package/dist/Preview-XSENQ2JX.js +0 -8
package/dist/index.d.ts CHANGED
@@ -1,9 +1,8 @@
1
- import { W as WindowRegistry } from './types-BHVq95fp.js';
2
- export { M as ModalRegistryEntry, P as PageRegistryEntry, a as WindowRegistryEntry, i as isEntityEntry, b as isPageEntry, s as setShellWindowRegistry } from './types-BHVq95fp.js';
1
+ import { W as WindowRegistry } from './types-CVECHskm.js';
2
+ export { M as ModalRegistryEntry, P as PageRegistryEntry, a as WindowRegistryEntry, i as isEntityEntry, b as isPageEntry, s as setShellWindowRegistry } from './types-CVECHskm.js';
3
3
  import * as react from 'react';
4
4
  import react__default, { ReactNode, Component, ErrorInfo, CSSProperties, Dispatch, SetStateAction, RefObject, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes, LabelHTMLAttributes } from 'react';
5
- import * as react_jsx_runtime from 'react/jsx-runtime';
6
- import * as _tanstack_query_core from '@tanstack/query-core';
5
+ import * as _tanstack_react_query from '@tanstack/react-query';
7
6
  import { AxiosInstance } from 'axios';
8
7
 
9
8
  /**
@@ -90,7 +89,7 @@ declare function useWindowMenuItem(label: string, onClick: () => void, icon?: Re
90
89
  * than React Context, which has separate instances in each bundle). */
91
90
  declare function WindowTitle({ title }: {
92
91
  title: string;
93
- }): react_jsx_runtime.JSX.Element;
92
+ }): react.JSX.Element;
94
93
  /** @deprecated Use <WindowTitle> instead — the hook variant doesn't work
95
94
  * across bundle boundaries (apps barrel has its own ModalIdContext). */
96
95
  declare function useWindowTitle(_title: string): void;
@@ -100,7 +99,7 @@ declare function useWindowTitle(_title: string): void;
100
99
  */
101
100
  declare function CopyButton({ text }: {
102
101
  text: string;
103
- }): react_jsx_runtime.JSX.Element;
102
+ }): react.JSX.Element;
104
103
  /** Hook to check if the current modal is active (frontmost) */
105
104
  declare function useModalActive(): boolean;
106
105
  declare function ModalActions({ children, position }: {
@@ -115,7 +114,7 @@ declare function CancelButton({ onClick, children, className }: {
115
114
  onClick: () => void;
116
115
  children?: React.ReactNode;
117
116
  className?: string;
118
- }): react_jsx_runtime.JSX.Element;
117
+ }): react.JSX.Element;
119
118
  /**
120
119
  * Seed an initial position for a window — applied only when no saved
121
120
  * position already exists for the given key. Use this from the consumer
@@ -247,7 +246,7 @@ declare function Modal({ open, onClose, title, icon, copyText, size, dirty, onNe
247
246
  declare function WindowCrashedFallback({ error, onReload }: {
248
247
  error: Error;
249
248
  onReload: () => void;
250
- }): react_jsx_runtime.JSX.Element;
249
+ }): react.JSX.Element;
251
250
  interface WindowErrorBoundaryProps {
252
251
  children: ReactNode;
253
252
  /** Replaces the default inline {@link WindowCrashedFallback}. `reset`
@@ -274,7 +273,7 @@ declare class WindowErrorBoundary extends Component<WindowErrorBoundaryProps, {
274
273
  };
275
274
  componentDidCatch(error: Error, info: ErrorInfo): void;
276
275
  reset: () => void;
277
- render(): string | number | boolean | Iterable<ReactNode> | react_jsx_runtime.JSX.Element | null | undefined;
276
+ render(): string | number | boolean | Iterable<ReactNode> | react.JSX.Element | null | undefined;
278
277
  }
279
278
 
280
279
  /**
@@ -296,7 +295,7 @@ interface PopupMenuProps {
296
295
  portal?: boolean;
297
296
  }
298
297
  /** Container for a popup menu — auto-clamps to stay within viewport */
299
- declare function PopupMenu({ children, style, className, onClose, minWidth, portal }: PopupMenuProps): react_jsx_runtime.JSX.Element;
298
+ declare function PopupMenu({ children, style, className, onClose, minWidth, portal }: PopupMenuProps): react.JSX.Element;
300
299
  /** A clickable menu item */
301
300
  declare function PopupMenuItem({ onClick, children, className, danger, disabled }: {
302
301
  onClick?: () => void;
@@ -304,13 +303,13 @@ declare function PopupMenuItem({ onClick, children, className, danger, disabled
304
303
  className?: string;
305
304
  danger?: boolean;
306
305
  disabled?: boolean;
307
- }): react_jsx_runtime.JSX.Element;
306
+ }): react.JSX.Element;
308
307
  /** A divider line between menu items */
309
- declare function PopupMenuDivider(): react_jsx_runtime.JSX.Element;
308
+ declare function PopupMenuDivider(): react.JSX.Element;
310
309
  /** A section header label */
311
310
  declare function PopupMenuLabel({ children }: {
312
311
  children: ReactNode;
313
- }): react_jsx_runtime.JSX.Element;
312
+ }): react.JSX.Element;
314
313
 
315
314
  interface ConfirmOptions {
316
315
  title?: string;
@@ -339,7 +338,7 @@ interface PromptOptions {
339
338
  declare const prompt: (opts: PromptOptions | string) => Promise<string | null>;
340
339
  declare function ConfirmProvider({ children }: {
341
340
  children: React.ReactNode;
342
- }): react_jsx_runtime.JSX.Element;
341
+ }): react.JSX.Element;
343
342
 
344
343
  interface SearchResult {
345
344
  /** Category label, e.g. "Sales Order". */
@@ -365,9 +364,9 @@ interface SearchConfig {
365
364
  }
366
365
  interface GlobalSearchProps extends Partial<SearchConfig> {
367
366
  }
368
- declare function GlobalSearch({ providers, typeIcons, placeholder }?: GlobalSearchProps): react_jsx_runtime.JSX.Element | null;
367
+ declare function GlobalSearch({ providers, typeIcons, placeholder }?: GlobalSearchProps): react.JSX.Element | null;
369
368
 
370
- declare function ShortcutHelp(): react_jsx_runtime.JSX.Element;
369
+ declare function ShortcutHelp(): react.JSX.Element;
371
370
 
372
371
  /**
373
372
  * One help article. Generic shape — the consuming portal maps its own
@@ -412,13 +411,13 @@ interface HelpCenterProps {
412
411
  * Search is client-side: a case-insensitive substring match over title, body
413
412
  * and category label. While searching, matching groups auto-expand.
414
413
  */
415
- declare function HelpCenter({ docs, loading, categoryOrder, canEdit, onNew, onEdit, renderBody, emptyMessage, }: HelpCenterProps): react_jsx_runtime.JSX.Element;
414
+ declare function HelpCenter({ docs, loading, categoryOrder, canEdit, onNew, onEdit, renderBody, emptyMessage, }: HelpCenterProps): react.JSX.Element;
416
415
 
417
416
  interface MarkdownProps {
418
417
  children: string;
419
418
  className?: string;
420
419
  }
421
- declare function Markdown({ children, className }: MarkdownProps): react_jsx_runtime.JSX.Element;
420
+ declare function Markdown({ children, className }: MarkdownProps): react.JSX.Element;
422
421
 
423
422
  declare const isMac: boolean;
424
423
  /** Platform-aware modifier symbols */
@@ -507,7 +506,7 @@ interface EditableGridProps {
507
506
  * - Multi-cell paste from spreadsheets (Ctrl+V)
508
507
  * - Tab/Enter/Arrow keyboard navigation
509
508
  */
510
- declare function EditableGrid({ columns, data, onChange, onColumnsChange, fixedRows, minRows, maxHeight, cellStyles, onFocusChange, onSelectionChange }: EditableGridProps): react_jsx_runtime.JSX.Element;
509
+ declare function EditableGrid({ columns, data, onChange, onColumnsChange, fixedRows, minRows, maxHeight, cellStyles, onFocusChange, onSelectionChange }: EditableGridProps): react.JSX.Element;
511
510
 
512
511
  /**
513
512
  * Two-pane layout with a drag-to-resize sidebar (left or right).
@@ -560,7 +559,7 @@ interface SidebarLayoutProps {
560
559
  /** Classes for the main content pane. Defaults to a white background. */
561
560
  contentClassName?: string;
562
561
  }
563
- declare function SidebarLayout({ sidebar, sidebarTop, sidebarBottom, children, side, storageKey, defaultWidth, minWidth, maxWidth, className, sidebarClassName, contentClassName, }: SidebarLayoutProps): react_jsx_runtime.JSX.Element;
562
+ declare function SidebarLayout({ sidebar, sidebarTop, sidebarBottom, children, side, storageKey, defaultWidth, minWidth, maxWidth, className, sidebarClassName, contentClassName, }: SidebarLayoutProps): react.JSX.Element;
564
563
 
565
564
  /**
566
565
  * Full-width action button for the `SidebarLayout` `sidebarTop` / `sidebarBottom`
@@ -590,7 +589,7 @@ interface SidebarActionButtonProps {
590
589
  /** Extra classes appended after the variant styles (escape hatch). */
591
590
  className?: string;
592
591
  }
593
- declare function SidebarActionButton({ children, onClick, variant, hotkey, disabled, type, title, className, }: SidebarActionButtonProps): react_jsx_runtime.JSX.Element;
592
+ declare function SidebarActionButton({ children, onClick, variant, hotkey, disabled, type, title, className, }: SidebarActionButtonProps): react.JSX.Element;
594
593
 
595
594
  interface SearchableOption {
596
595
  value: string;
@@ -632,7 +631,7 @@ interface SearchableSelectProps {
632
631
  * Hidden while the user is typing so the search text stays legible. */
633
632
  rightAdornment?: ReactNode;
634
633
  }
635
- declare function SearchableSelect({ value, onChange, options, placeholder, emptyOptionLabel, className, disabled, id, allowFreeText, onSearchChange, rightAdornment, }: SearchableSelectProps): react_jsx_runtime.JSX.Element;
634
+ declare function SearchableSelect({ value, onChange, options, placeholder, emptyOptionLabel, className, disabled, id, allowFreeText, onSearchChange, rightAdornment, }: SearchableSelectProps): react.JSX.Element;
636
635
 
637
636
  /**
638
637
  * Generic top navigation bar. A horizontal row of tab-style links with an
@@ -664,7 +663,7 @@ interface TopNavProps {
664
663
  actions?: ReactNode;
665
664
  className?: string;
666
665
  }
667
- declare function TopNav({ items, activeKey, onSelect, brand, actions, className }: TopNavProps): react_jsx_runtime.JSX.Element;
666
+ declare function TopNav({ items, activeKey, onSelect, brand, actions, className }: TopNavProps): react.JSX.Element;
668
667
 
669
668
  /**
670
669
  * Generic breadcrumb trail. Self-contained and styled with the same Tailwind
@@ -693,7 +692,7 @@ interface BreadcrumbsProps {
693
692
  maxItems?: number;
694
693
  className?: string;
695
694
  }
696
- declare function Breadcrumbs({ items, separator, maxItems, className }: BreadcrumbsProps): react_jsx_runtime.JSX.Element | null;
695
+ declare function Breadcrumbs({ items, separator, maxItems, className }: BreadcrumbsProps): react.JSX.Element | null;
697
696
 
698
697
  /** Generic notification shape consumed by the shell. Consumer-specific
699
698
  * fields live on `extra` (or just on additional properties — TS structural
@@ -733,17 +732,17 @@ interface NotificationsConfig {
733
732
  interface NotificationBellProps extends NotificationsConfig {
734
733
  popDirection?: 'left' | 'right';
735
734
  }
736
- declare function NotificationBell({ useUnreadCount, list, markRead, markAllRead, onItemClick, onViewAll, popDirection, }: NotificationBellProps): react_jsx_runtime.JSX.Element;
735
+ declare function NotificationBell({ useUnreadCount, list, markRead, markAllRead, onItemClick, onViewAll, popDirection, }: NotificationBellProps): react.JSX.Element;
737
736
 
738
737
  type SemanticGroup = 'success' | 'active' | 'queued' | 'info' | 'pending' | 'warning' | 'danger' | 'draft' | 'neutral';
739
738
  declare function StatusBadgeProvider({ groups, children, }: {
740
739
  groups: Record<string, SemanticGroup>;
741
740
  children: ReactNode;
742
- }): react_jsx_runtime.JSX.Element;
741
+ }): react.JSX.Element;
743
742
  interface StatusBadgeProps {
744
743
  status: string;
745
744
  }
746
- declare function StatusBadge({ status }: StatusBadgeProps): react_jsx_runtime.JSX.Element;
745
+ declare function StatusBadge({ status }: StatusBadgeProps): react.JSX.Element;
747
746
 
748
747
  /**
749
748
  * System-tray badge shown only when the app is served from a developer's own
@@ -751,7 +750,7 @@ declare function StatusBadge({ status }: StatusBadgeProps): react_jsx_runtime.JS
751
750
  * slot — it renders nothing off-localhost, so it's safe to leave wired on every
752
751
  * build. Visibility is gated on the runtime hostname; see utils/env.ts.
753
752
  */
754
- declare function DevIndicator(): react_jsx_runtime.JSX.Element | null;
753
+ declare function DevIndicator(): react.JSX.Element | null;
755
754
 
756
755
  /**
757
756
  * Dev-environment detection + browser chrome.
@@ -830,7 +829,7 @@ declare function DocFavStar({ entityType, entityId, label }: {
830
829
  entityType: string;
831
830
  entityId: string;
832
831
  label: string;
833
- }): react_jsx_runtime.JSX.Element;
832
+ }): react.JSX.Element;
834
833
  /** Public, framework-free helper: route ('/orders', '/qc-reports', …)
835
834
  * of the window the user is currently focused on. Returns undefined
836
835
  * when no app window is active (start menu / dashboard with nothing
@@ -840,7 +839,7 @@ declare function DocFavStar({ entityType, entityId, label }: {
840
839
  declare function getActiveWindowRoute(): string | undefined;
841
840
  declare function WindowManagerProvider({ children }: {
842
841
  children: ReactNode;
843
- }): react_jsx_runtime.JSX.Element;
842
+ }): react.JSX.Element;
844
843
 
845
844
  /**
846
845
  * INTERNAL stub — Desktop's About modal references the consumer-side
@@ -933,11 +932,11 @@ interface DesktopHostConfig {
933
932
  declare function DesktopHostProvider({ value, children }: {
934
933
  value: DesktopHostConfig;
935
934
  children: ReactNode;
936
- }): react_jsx_runtime.JSX.Element;
935
+ }): react.JSX.Element;
937
936
  declare function useDesktopHost(): DesktopHostConfig;
938
937
  declare function Desktop({ profile }: {
939
938
  profile: any;
940
- }): react_jsx_runtime.JSX.Element;
939
+ }): react.JSX.Element;
941
940
 
942
941
  interface LayoutProps {
943
942
  /** Brand label rendered on the start-menu button. */
@@ -987,7 +986,7 @@ interface ClockCalendarConfig {
987
986
  close: () => void;
988
987
  }) => ReactNode;
989
988
  }
990
- declare function Layout({ productName, productIcon, wallpapers, navSections, navIcons, sectionIcons, categories, notifications, search, taskbarTrayLeft, clockCalendar, }?: LayoutProps): react_jsx_runtime.JSX.Element;
989
+ declare function Layout({ productName, productIcon, wallpapers, navSections, navIcons, sectionIcons, categories, notifications, search, taskbarTrayLeft, clockCalendar, }?: LayoutProps): react.JSX.Element;
991
990
 
992
991
  interface StartMenuProps {
993
992
  open: boolean;
@@ -1014,7 +1013,7 @@ interface StartMenuProps {
1014
1013
  /** Section grouping + virtual flyouts (Utilities-style trays). */
1015
1014
  categories?: StartMenuCategories;
1016
1015
  }
1017
- declare function StartMenu({ open, onClose, openPage, profile, user, onLogout, taskbarPosition, taskbarH, taskbarW, size, navSections, navIcons, sectionIcons, categories, }: StartMenuProps): react_jsx_runtime.JSX.Element | null;
1016
+ declare function StartMenu({ open, onClose, openPage, profile, user, onLogout, taskbarPosition, taskbarH, taskbarW, size, navSections, navIcons, sectionIcons, categories, }: StartMenuProps): react.JSX.Element | null;
1018
1017
 
1019
1018
  /**
1020
1019
  * Widget gallery — the "manage widgets on the desktop" surface.
@@ -1034,7 +1033,7 @@ declare function StartMenu({ open, onClose, openPage, profile, user, onLogout, t
1034
1033
  declare function WidgetManager({ open, onClose }: {
1035
1034
  open: boolean;
1036
1035
  onClose: () => void;
1037
- }): react_jsx_runtime.JSX.Element | null;
1036
+ }): react.JSX.Element | null;
1038
1037
 
1039
1038
  /** Sections that can be omitted from the inline Customization page when the
1040
1039
  * consumer renders them elsewhere (e.g. as separate entries in SystemPreferences). */
@@ -1048,7 +1047,7 @@ interface CustomizationProps {
1048
1047
  /** Render only one logical group of settings. Omit to render everything. */
1049
1048
  section?: CustomizationSection;
1050
1049
  }
1051
- declare function Customization({ omit, section }?: CustomizationProps): react_jsx_runtime.JSX.Element;
1050
+ declare function Customization({ omit, section }?: CustomizationProps): react.JSX.Element;
1052
1051
 
1053
1052
  /**
1054
1053
  * Standalone Behavior settings panel — window position, double-click,
@@ -1058,7 +1057,7 @@ declare function Customization({ omit, section }?: CustomizationProps): react_js
1058
1057
  * Reads/writes shell prefs via `useShellPrefs()`. Suitable for use as a
1059
1058
  * section in `SystemPreferences` or rendered standalone.
1060
1059
  */
1061
- declare function BehaviorPanel(): react_jsx_runtime.JSX.Element;
1060
+ declare function BehaviorPanel(): react.JSX.Element;
1062
1061
 
1063
1062
  /**
1064
1063
  * Standalone Sounds settings panel — sound effects toggle + per-event
@@ -1067,7 +1066,7 @@ declare function BehaviorPanel(): react_jsx_runtime.JSX.Element;
1067
1066
  * picked. Suitable as a section in `SystemPreferences` or rendered
1068
1067
  * standalone.
1069
1068
  */
1070
- declare function SoundsPanel(): react_jsx_runtime.JSX.Element;
1069
+ declare function SoundsPanel(): react.JSX.Element;
1071
1070
 
1072
1071
  /** One section in the SystemPreferences sidebar. */
1073
1072
  interface SystemPreferencesSection {
@@ -1114,7 +1113,7 @@ interface SystemPreferencesProps {
1114
1113
  * ]} />
1115
1114
  * ```
1116
1115
  */
1117
- declare function SystemPreferences({ sections, defaultSelected, className, }: SystemPreferencesProps): react_jsx_runtime.JSX.Element;
1116
+ declare function SystemPreferences({ sections, defaultSelected, className, }: SystemPreferencesProps): react.JSX.Element;
1118
1117
 
1119
1118
  interface ImageAnnotatorHandle {
1120
1119
  copy: () => Promise<void>;
@@ -1143,6 +1142,16 @@ interface EntityListColumn {
1143
1142
  sortField?: string;
1144
1143
  headerNode?: ReactNode;
1145
1144
  }
1145
+ /** A page-supplied entry in the right-click bulk menu (e.g. invoice Post /
1146
+ * Cancel). `onClick` receives the currently-selected rows. Set `divider` to
1147
+ * render a separator above the item, `danger` for a destructive tint. */
1148
+ interface EntityListContextAction<T = unknown> {
1149
+ label: string;
1150
+ onClick: (items: T[]) => void;
1151
+ danger?: boolean;
1152
+ disabled?: boolean;
1153
+ divider?: boolean;
1154
+ }
1146
1155
  interface EntityListProps<T> {
1147
1156
  items: T[];
1148
1157
  isLoading: boolean;
@@ -1170,11 +1179,21 @@ interface EntityListProps<T> {
1170
1179
  * picker. Defaults to `['change_numberingconfig']` (admin-portal's proxy
1171
1180
  * for admin access). Pass `[]` to hide the link entirely. */
1172
1181
  saveDefaultPerms?: string[];
1182
+ /** Right-click bulk-action menu. Provide `exportEndpoint` (a list's
1183
+ * `<base>/export_csv/` path, relative to the api base) to get a built-in
1184
+ * "Export selected to CSV" that downloads just the ticked rows (`?ids=`,
1185
+ * honouring the visible/ordered columns). Provide `contextActions` for
1186
+ * domain actions (e.g. invoice Post / Cancel). When neither is set the list
1187
+ * has no context menu — unchanged behaviour. "Clear selection" is always
1188
+ * offered once a menu exists. */
1189
+ exportEndpoint?: string;
1190
+ exportFilename?: string;
1191
+ contextActions?: (items: T[]) => EntityListContextAction<T>[];
1173
1192
  }
1174
1193
  /**
1175
1194
  * The canonical pageless data grid for both portals. Wraps `<ResizableTable>`
1176
1195
  * with selection-checkbox logic, keyboard navigation, the standardized list
1177
- * footer, and an infinite-scroll sentinel hook-up.
1196
+ * footer, an infinite-scroll sentinel hook-up, and a right-click bulk menu.
1178
1197
  *
1179
1198
  * Usage:
1180
1199
  *
@@ -1195,11 +1214,12 @@ interface EntityListProps<T> {
1195
1214
  * sort={sort} onSort={onSort}
1196
1215
  * selected={selected} setSelected={setSelected}
1197
1216
  * onRowClick={(s) => openEntity('supplier', s.id, s, s.mid, '/suppliers')}
1217
+ * exportEndpoint="/suppliers/export_csv/" exportFilename="Suppliers.csv"
1198
1218
  * footerLabel="suppliers"
1199
1219
  * emptyState={<EmptyState message="No suppliers yet." />}
1200
1220
  * />
1201
1221
  */
1202
- declare function EntityList<T>(props: EntityListProps<T>): react_jsx_runtime.JSX.Element;
1222
+ declare function EntityList<T>(props: EntityListProps<T>): react.JSX.Element;
1203
1223
 
1204
1224
  /**
1205
1225
  * Generic, drag-and-drop Kanban board. Self-contained (native HTML5 DnD, no
@@ -1261,7 +1281,7 @@ interface KanbanProps<T> {
1261
1281
  /** Label for the per-column add button. */
1262
1282
  addItemText?: string;
1263
1283
  }
1264
- declare function Kanban<T>({ items, columns, columnOf, getId, onMove, renderCard, onCardClick, sortInColumn, isLoading, loadingText, emptyState, columnEmptyText, onAddItem, addItemText, }: KanbanProps<T>): react_jsx_runtime.JSX.Element;
1284
+ declare function Kanban<T>({ items, columns, columnOf, getId, onMove, renderCard, onCardClick, sortInColumn, isLoading, loadingText, emptyState, columnEmptyText, onAddItem, addItemText, }: KanbanProps<T>): react.JSX.Element;
1265
1285
 
1266
1286
  interface PaginatedResponse<T> {
1267
1287
  count: number;
@@ -1310,7 +1330,7 @@ interface ResizableTableProps {
1310
1330
  * - per-user persistence (via the shell-registered apiClient)
1311
1331
  * - mobile-aware selection mode toggle
1312
1332
  */
1313
- declare function ResizableTable({ tableId, columns, sort, onSort, footer, afterBody, saveDefaultPerms, children, }: ResizableTableProps): react_jsx_runtime.JSX.Element;
1333
+ declare function ResizableTable({ tableId, columns, sort, onSort, footer, afterBody, saveDefaultPerms, children, }: ResizableTableProps): react.JSX.Element;
1314
1334
 
1315
1335
  interface ListFooterProps {
1316
1336
  selectedCount: number;
@@ -1326,7 +1346,7 @@ interface ListFooterProps {
1326
1346
  * "Y of Z records · Loading more..."
1327
1347
  * "All N records loaded"
1328
1348
  */
1329
- declare function ListFooter({ selectedCount, loadedCount, totalCount, label, isFetchingMore, extra, }: ListFooterProps): react_jsx_runtime.JSX.Element;
1349
+ declare function ListFooter({ selectedCount, loadedCount, totalCount, label, isFetchingMore, extra, }: ListFooterProps): react.JSX.Element;
1330
1350
 
1331
1351
  /**
1332
1352
  * Keyboard + shift-click navigation for table rows.
@@ -1404,7 +1424,7 @@ declare function useInfiniteScroll<T>({ queryKey, fetchFn, extraParams, pageSize
1404
1424
  isFetchingNextPage: boolean;
1405
1425
  hasNextPage: boolean;
1406
1426
  sentinelRef: react.RefObject<HTMLDivElement>;
1407
- refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<_tanstack_query_core.InfiniteData<PaginatedResponse<T>, unknown>, Error>>;
1427
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.InfiniteData<PaginatedResponse<T>, unknown>, Error>>;
1408
1428
  };
1409
1429
 
1410
1430
  /**
@@ -1437,7 +1457,7 @@ interface PaginationProps {
1437
1457
  showEdges?: boolean;
1438
1458
  className?: string;
1439
1459
  }
1440
- declare function Pagination({ page, pageCount, onPageChange, siblingCount, showEdges, className, }: PaginationProps): react_jsx_runtime.JSX.Element | null;
1460
+ declare function Pagination({ page, pageCount, onPageChange, siblingCount, showEdges, className, }: PaginationProps): react.JSX.Element | null;
1441
1461
 
1442
1462
  type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger';
1443
1463
  type ButtonSize = 'sm' | 'md';
@@ -1524,13 +1544,13 @@ interface FormFieldProps {
1524
1544
  className?: string;
1525
1545
  children: ReactNode;
1526
1546
  }
1527
- declare function FormField({ label, htmlFor, labelId, hint, error, required, className, children, }: FormFieldProps): react_jsx_runtime.JSX.Element;
1547
+ declare function FormField({ label, htmlFor, labelId, hint, error, required, className, children, }: FormFieldProps): react.JSX.Element;
1528
1548
 
1529
1549
  interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
1530
1550
  /** Append a red asterisk. */
1531
1551
  required?: boolean;
1532
1552
  }
1533
- declare function Label({ required, children, className, ...rest }: LabelProps): react_jsx_runtime.JSX.Element;
1553
+ declare function Label({ required, children, className, ...rest }: LabelProps): react.JSX.Element;
1534
1554
 
1535
1555
  /**
1536
1556
  * Internal helpers shared by the media-upload primitives (`MediaUploadField`
@@ -1602,7 +1622,7 @@ interface MediaUploadFieldProps {
1602
1622
  disabled?: boolean;
1603
1623
  }
1604
1624
 
1605
- declare function MediaUploadField({ value, onChange, onPick, label, hint, error, required, className, accept, fit, height, placeholder, cta, acceptHint, showFilename, allowReplace, allowRemove, replaceLabel, removeLabel, busy, busyLabel, disabled, }: MediaUploadFieldProps): react_jsx_runtime.JSX.Element;
1625
+ declare function MediaUploadField({ value, onChange, onPick, label, hint, error, required, className, accept, fit, height, placeholder, cta, acceptHint, showFilename, allowReplace, allowRemove, replaceLabel, removeLabel, busy, busyLabel, disabled, }: MediaUploadFieldProps): react.JSX.Element;
1606
1626
 
1607
1627
  interface MediaUploadGridItem {
1608
1628
  /** Stable key — used for React keys, remove, and reorder. */
@@ -1663,7 +1683,7 @@ interface MediaUploadGridProps {
1663
1683
  /** View only — thumbnails without Add / remove / reorder affordances. */
1664
1684
  readOnly?: boolean;
1665
1685
  }
1666
- declare function MediaUploadGrid({ items, onPick, onRemove, onReorder, label, hint, error, required, className, accept, fit, thumbSize, placeholder, cta, acceptHint, showCover, coverLabel, busy, busyLabel, disabled, readOnly, }: MediaUploadGridProps): react_jsx_runtime.JSX.Element;
1686
+ declare function MediaUploadGrid({ items, onPick, onRemove, onReorder, label, hint, error, required, className, accept, fit, thumbSize, placeholder, cta, acceptHint, showCover, coverLabel, busy, busyLabel, disabled, readOnly, }: MediaUploadGridProps): react.JSX.Element;
1667
1687
 
1668
1688
  /**
1669
1689
  * Shared form-control styling — the single source of truth for the kit's
@@ -1694,7 +1714,7 @@ interface CardProps {
1694
1714
  padded?: boolean;
1695
1715
  className?: string;
1696
1716
  }
1697
- declare function Card({ children, header, footer, padded, className }: CardProps): react_jsx_runtime.JSX.Element;
1717
+ declare function Card({ children, header, footer, padded, className }: CardProps): react.JSX.Element;
1698
1718
  interface StatCardProps {
1699
1719
  label: ReactNode;
1700
1720
  value: ReactNode;
@@ -1706,7 +1726,7 @@ interface StatCardProps {
1706
1726
  };
1707
1727
  className?: string;
1708
1728
  }
1709
- declare function StatCard({ label, value, icon, delta, className }: StatCardProps): react_jsx_runtime.JSX.Element;
1729
+ declare function StatCard({ label, value, icon, delta, className }: StatCardProps): react.JSX.Element;
1710
1730
 
1711
1731
  type AvatarSize = 'xs' | 'sm' | 'md' | 'lg';
1712
1732
  type AvatarStatus = 'online' | 'offline' | 'busy' | 'away';
@@ -1718,7 +1738,7 @@ interface AvatarProps {
1718
1738
  status?: AvatarStatus;
1719
1739
  className?: string;
1720
1740
  }
1721
- declare function Avatar({ src, name, size, status, className }: AvatarProps): react_jsx_runtime.JSX.Element;
1741
+ declare function Avatar({ src, name, size, status, className }: AvatarProps): react.JSX.Element;
1722
1742
  interface AvatarGroupProps {
1723
1743
  children: ReactNode;
1724
1744
  /** Show at most this many avatars; the rest collapse into a +N chip. */
@@ -1728,7 +1748,7 @@ interface AvatarGroupProps {
1728
1748
  size?: AvatarSize;
1729
1749
  className?: string;
1730
1750
  }
1731
- declare function AvatarGroup({ children, max, size, className }: AvatarGroupProps): react_jsx_runtime.JSX.Element;
1751
+ declare function AvatarGroup({ children, max, size, className }: AvatarGroupProps): react.JSX.Element;
1732
1752
 
1733
1753
  type BannerTone = 'info' | 'success' | 'warning' | 'danger';
1734
1754
  interface BannerProps {
@@ -1741,7 +1761,7 @@ interface BannerProps {
1741
1761
  onDismiss?: () => void;
1742
1762
  className?: string;
1743
1763
  }
1744
- declare function Banner({ tone, title, children, icon, onDismiss, className }: BannerProps): react_jsx_runtime.JSX.Element;
1764
+ declare function Banner({ tone, title, children, icon, onDismiss, className }: BannerProps): react.JSX.Element;
1745
1765
 
1746
1766
  interface TabItem {
1747
1767
  id: string;
@@ -1756,7 +1776,7 @@ interface TabsProps {
1756
1776
  variant?: 'underline' | 'pill';
1757
1777
  className?: string;
1758
1778
  }
1759
- declare function Tabs({ items, value, onChange, variant, className }: TabsProps): react_jsx_runtime.JSX.Element;
1779
+ declare function Tabs({ items, value, onChange, variant, className }: TabsProps): react.JSX.Element;
1760
1780
 
1761
1781
  interface AccordionItem {
1762
1782
  id: string;
@@ -1773,7 +1793,7 @@ interface AccordionProps {
1773
1793
  allowMultiple?: boolean;
1774
1794
  className?: string;
1775
1795
  }
1776
- declare function Accordion({ items, defaultOpenIds, openIds, onOpenChange, allowMultiple, className, }: AccordionProps): react_jsx_runtime.JSX.Element;
1796
+ declare function Accordion({ items, defaultOpenIds, openIds, onOpenChange, allowMultiple, className, }: AccordionProps): react.JSX.Element;
1777
1797
 
1778
1798
  interface TooltipProps {
1779
1799
  content: ReactNode;
@@ -1782,7 +1802,7 @@ interface TooltipProps {
1782
1802
  delay?: number;
1783
1803
  children: ReactNode;
1784
1804
  }
1785
- declare function Tooltip({ content, side, delay, children }: TooltipProps): react_jsx_runtime.JSX.Element;
1805
+ declare function Tooltip({ content, side, delay, children }: TooltipProps): react.JSX.Element;
1786
1806
 
1787
1807
  interface ColoredBadgeProps {
1788
1808
  /** Tailwind classes for the badge color, e.g. `bg-green-100 text-green-800`.
@@ -1801,7 +1821,7 @@ interface ColoredBadgeProps {
1801
1821
  * Tailwind class string. Generic counterpart to StatusBadge (which maps status
1802
1822
  * strings to semantic groups); use this when the caller already knows the color.
1803
1823
  */
1804
- declare function ColoredBadge({ colorClass, children, size, capitalize }: ColoredBadgeProps): react_jsx_runtime.JSX.Element;
1824
+ declare function ColoredBadge({ colorClass, children, size, capitalize }: ColoredBadgeProps): react.JSX.Element;
1805
1825
 
1806
1826
  interface EmptyStateProps {
1807
1827
  /** Bold heading, e.g. "No invoices yet". */
@@ -1828,7 +1848,7 @@ interface EmptyStateProps {
1828
1848
  * copies: accepts both the `title`/`description` and `message`/`hint`/`frameless`
1829
1849
  * prop shapes, with a single unified look.
1830
1850
  */
1831
- declare function EmptyState({ title, message, description, hint, variant, frameless, icon, children, }: EmptyStateProps): react_jsx_runtime.JSX.Element;
1851
+ declare function EmptyState({ title, message, description, hint, variant, frameless, icon, children, }: EmptyStateProps): react.JSX.Element;
1832
1852
 
1833
1853
  interface PageHeaderProps {
1834
1854
  title: string;
@@ -1845,7 +1865,7 @@ interface PageHeaderProps {
1845
1865
  * right-aligned actions slot. Accepts both the `description`/`actions` and the
1846
1866
  * `subtitle`/`children` prop shapes the portals previously used locally.
1847
1867
  */
1848
- declare function PageHeader({ title, description, subtitle, actions, children }: PageHeaderProps): react_jsx_runtime.JSX.Element;
1868
+ declare function PageHeader({ title, description, subtitle, actions, children }: PageHeaderProps): react.JSX.Element;
1849
1869
 
1850
1870
  interface LoadingSpinnerProps {
1851
1871
  /** Ring diameter: `sm` = 20px, `md` = 32px (default), `lg` = 48px. */
@@ -1859,7 +1879,7 @@ interface LoadingSpinnerProps {
1859
1879
  * LoadingSpinner — a centered animated ring for pending/loading regions.
1860
1880
  * (Distinct from the shell's internal "Loading…" text used inside data grids.)
1861
1881
  */
1862
- declare function LoadingSpinner({ size, padding, className }: LoadingSpinnerProps): react_jsx_runtime.JSX.Element;
1882
+ declare function LoadingSpinner({ size, padding, className }: LoadingSpinnerProps): react.JSX.Element;
1863
1883
 
1864
1884
  interface FilterOption {
1865
1885
  label: string;
@@ -1882,7 +1902,7 @@ interface FilterBarProps {
1882
1902
  * `<select>` or, for long lists, a glass-styled searchable dropdown; a "Clear
1883
1903
  * filters" button appears when any filter is active. Pair with `useFilters`.
1884
1904
  */
1885
- declare function FilterBar({ filters, values, onChange, onClear, children }: FilterBarProps): react_jsx_runtime.JSX.Element;
1905
+ declare function FilterBar({ filters, values, onChange, onClear, children }: FilterBarProps): react.JSX.Element;
1886
1906
  /** Local filter-state helper: tracks active filter values + derived params. */
1887
1907
  declare function useFilters(): {
1888
1908
  filterValues: Record<string, string>;
@@ -1898,13 +1918,13 @@ declare function useFilters(): {
1898
1918
  */
1899
1919
  declare function SidebarGroupLabel({ children }: {
1900
1920
  children: ReactNode;
1901
- }): react_jsx_runtime.JSX.Element;
1921
+ }): react.JSX.Element;
1902
1922
  declare function SidebarNavItem({ label, count, active, onClick }: {
1903
1923
  label: string;
1904
1924
  count?: number;
1905
1925
  active: boolean;
1906
1926
  onClick: () => void;
1907
- }): react_jsx_runtime.JSX.Element;
1927
+ }): react.JSX.Element;
1908
1928
 
1909
1929
  /**
1910
1930
  * Semantic role of a column, used to auto-map CSV columns to fields and to
@@ -1956,7 +1976,7 @@ interface BulkImportGridProps {
1956
1976
  * column's `kind` (`price`/`qty`) to opt it into CSV auto-detection and the
1957
1977
  * totals strip.
1958
1978
  */
1959
- declare function BulkImportGrid({ columns, onImport, description, mergeDuplicates }: BulkImportGridProps): react_jsx_runtime.JSX.Element;
1979
+ declare function BulkImportGrid({ columns, onImport, description, mergeDuplicates }: BulkImportGridProps): react.JSX.Element;
1960
1980
 
1961
1981
  /**
1962
1982
  * Pure helpers for reconciling a bulk-import grid (rows of string cells) against
@@ -2063,7 +2083,7 @@ interface ContainerFillChartProps<T = ContainerFillItem> {
2063
2083
  * `getVolume` to inject per-unit volumes; the chart owns the container math and
2064
2084
  * the instruction-vs-loaded dual-bar rendering.
2065
2085
  */
2066
- declare function ContainerFillChart<T = ContainerFillItem>({ items, getVolume, qtyField, showNewIndicator, getInstructionQty, getActualQty, isFilled, isNew, className, style, }: ContainerFillChartProps<T>): react_jsx_runtime.JSX.Element | null;
2086
+ declare function ContainerFillChart<T = ContainerFillItem>({ items, getVolume, qtyField, showNewIndicator, getInstructionQty, getActualQty, isFilled, isNew, className, style, }: ContainerFillChartProps<T>): react.JSX.Element | null;
2067
2087
 
2068
2088
  /** Result of a single health poll. `latencyMs` is optional; when omitted on
2069
2089
  * an ok result the indicator simply shows no latency for that poll. */
@@ -2108,7 +2128,7 @@ interface ServerStatusIndicatorProps {
2108
2128
  * notification bell; supply `healthCheck` (or `healthUrl`), `user`, and
2109
2129
  * `version` via a thin per-app wrapper.
2110
2130
  */
2111
- declare function ServerStatusIndicator({ healthCheck, healthUrl, pollMs, requestTimeoutMs, user, version, }: ServerStatusIndicatorProps): react_jsx_runtime.JSX.Element;
2131
+ declare function ServerStatusIndicator({ healthCheck, healthUrl, pollMs, requestTimeoutMs, user, version, }: ServerStatusIndicatorProps): react.JSX.Element;
2112
2132
 
2113
2133
  interface ChangePasswordFormProps {
2114
2134
  /**
@@ -2135,7 +2155,7 @@ interface ChangePasswordFormProps {
2135
2155
  * Product-agnostic change-password form. The host supplies `onSubmit` to do the
2136
2156
  * actual change (e.g. call an API then re-authenticate).
2137
2157
  */
2138
- declare function ChangePasswordForm({ onSubmit, onSuccess, confirmOnSuccess, minLength, submitLabel, doneLabel, }: ChangePasswordFormProps): react_jsx_runtime.JSX.Element;
2158
+ declare function ChangePasswordForm({ onSubmit, onSuccess, confirmOnSuccess, minLength, submitLabel, doneLabel, }: ChangePasswordFormProps): react.JSX.Element;
2139
2159
 
2140
2160
  interface PdfActionButtonProps {
2141
2161
  /**
@@ -2181,7 +2201,7 @@ interface PdfActionButtonProps {
2181
2201
  * recent-documents logging) are lifted to the optional `onEmail` /
2182
2202
  * `onPreviewOpened` callbacks.
2183
2203
  */
2184
- declare function PdfActionButton({ fetchPdf, filename, label, className, disabled, onEmail, onPreviewOpened, icon, }: PdfActionButtonProps): react_jsx_runtime.JSX.Element;
2204
+ declare function PdfActionButton({ fetchPdf, filename, label, className, disabled, onEmail, onPreviewOpened, icon, }: PdfActionButtonProps): react.JSX.Element;
2185
2205
 
2186
2206
  /** Visual category for a milestone. Drives shape + colour so the user can
2187
2207
  * tell different milestone types apart at a glance. */
@@ -2241,7 +2261,7 @@ interface MilestoneTimelineProps {
2241
2261
  * Product-agnostic: it takes generic `Milestone` data as props. Map your
2242
2262
  * domain records to the `Milestone` shape in a thin wrapper at the call site.
2243
2263
  */
2244
- declare function MilestoneTimeline({ title, milestones, summary, endDate, phaseLabels }: MilestoneTimelineProps): react_jsx_runtime.JSX.Element;
2264
+ declare function MilestoneTimeline({ title, milestones, summary, endDate, phaseLabels }: MilestoneTimelineProps): react.JSX.Element;
2245
2265
 
2246
2266
  /**
2247
2267
  * Shared chart types. The charts are dependency-free inline SVG/CSS — color
@@ -2294,35 +2314,35 @@ interface DonutChartProps {
2294
2314
  style?: CSSProperties;
2295
2315
  }
2296
2316
 
2297
- declare function Sparkline({ data, width, height, stroke, fill, strokeWidth, showDots, className, style, }: SparklineProps): react_jsx_runtime.JSX.Element | null;
2317
+ declare function Sparkline({ data, width, height, stroke, fill, strokeWidth, showDots, className, style, }: SparklineProps): react.JSX.Element | null;
2298
2318
 
2299
- declare function BarChart({ data, labels, height, color, colors, max, gap, className, style, }: BarChartProps): react_jsx_runtime.JSX.Element | null;
2319
+ declare function BarChart({ data, labels, height, color, colors, max, gap, className, style, }: BarChartProps): react.JSX.Element | null;
2300
2320
 
2301
- declare function DonutChart({ segments, size, thickness, centerLabel, className, style }: DonutChartProps): react_jsx_runtime.JSX.Element;
2321
+ declare function DonutChart({ segments, size, thickness, centerLabel, className, style }: DonutChartProps): react.JSX.Element;
2302
2322
 
2303
- declare function DashboardTemplate(): react_jsx_runtime.JSX.Element;
2323
+ declare function DashboardTemplate(): react.JSX.Element;
2304
2324
 
2305
- declare function DataTablePage(): react_jsx_runtime.JSX.Element;
2325
+ declare function DataTablePage(): react.JSX.Element;
2306
2326
 
2307
- declare function FormLayoutPage(): react_jsx_runtime.JSX.Element;
2327
+ declare function FormLayoutPage(): react.JSX.Element;
2308
2328
 
2309
- declare function CheckoutTemplate(): react_jsx_runtime.JSX.Element;
2329
+ declare function CheckoutTemplate(): react.JSX.Element;
2310
2330
 
2311
- declare function EmailTemplate(): react_jsx_runtime.JSX.Element;
2331
+ declare function EmailTemplate(): react.JSX.Element;
2312
2332
 
2313
- declare function ChatTemplate(): react_jsx_runtime.JSX.Element;
2333
+ declare function ChatTemplate(): react.JSX.Element;
2314
2334
 
2315
- declare function GalleryTemplate(): react_jsx_runtime.JSX.Element;
2335
+ declare function GalleryTemplate(): react.JSX.Element;
2316
2336
 
2317
2337
  interface AuthScreenProps {
2318
2338
  mode?: 'login' | 'register' | 'forgot';
2319
2339
  }
2320
- declare function AuthScreen({ mode }: AuthScreenProps): react_jsx_runtime.JSX.Element;
2340
+ declare function AuthScreen({ mode }: AuthScreenProps): react.JSX.Element;
2321
2341
 
2322
2342
  interface ErrorPageProps {
2323
2343
  code?: 403 | 404 | 500;
2324
2344
  }
2325
- declare function ErrorPage({ code }: ErrorPageProps): react_jsx_runtime.JSX.Element;
2345
+ declare function ErrorPage({ code }: ErrorPageProps): react.JSX.Element;
2326
2346
 
2327
2347
  /** Package version, injected by tsup at build time. Stays as an empty
2328
2348
  * string when the source is consumed without a build (e.g. tests). */
@@ -2335,7 +2355,7 @@ interface ShellAuth {
2335
2355
  declare function ShellAuthProvider({ value, children }: {
2336
2356
  value: ShellAuth;
2337
2357
  children: ReactNode;
2338
- }): react_jsx_runtime.JSX.Element;
2358
+ }): react.JSX.Element;
2339
2359
  declare function useShellAuth(): ShellAuth;
2340
2360
 
2341
2361
  interface ShellPrefsAdapter {
@@ -2348,7 +2368,7 @@ interface ShellPrefsAdapter {
2348
2368
  declare function ShellPrefsProvider({ value, children, }: {
2349
2369
  value: ShellPrefsAdapter;
2350
2370
  children: ReactNode;
2351
- }): react_jsx_runtime.JSX.Element;
2371
+ }): react.JSX.Element;
2352
2372
  /** Default localStorage-backed adapter — useful when the consumer doesn't
2353
2373
  * ship a backend. Pass the result into <ShellPrefsProvider value={…}>.
2354
2374
  *
@@ -2365,7 +2385,7 @@ type EntityFetcher = (endpoint: string, id: string) => Promise<any>;
2365
2385
  declare function ShellEntityFetcherProvider({ value, children, }: {
2366
2386
  value: EntityFetcher;
2367
2387
  children: ReactNode;
2368
- }): react_jsx_runtime.JSX.Element;
2388
+ }): react.JSX.Element;
2369
2389
  /** Returns the consumer-supplied entity fetcher, or a stub that throws
2370
2390
  * on call. Components that fetch entities call this hook eagerly so any
2371
2391
  * misconfiguration surfaces synchronously rather than at click-time. */
@@ -2481,4 +2501,4 @@ declare function useNewHotkey(callback: () => void): void;
2481
2501
  */
2482
2502
  declare function useEditHotkey(callback: (() => void) | null): void;
2483
2503
 
2484
- export { ALT, ALT_SHIFT_D, ALT_SHIFT_E, ALT_SHIFT_N, Accordion, type AccordionItem, type AccordionProps, AuthScreen, type AuthScreenProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, type AvatarStatus, Banner, type BannerProps, type BannerTone, BarChart, type BarChartProps, BehaviorPanel, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, type BulkColumn, type BulkColumnKind, BulkImportGrid, type BulkImportGridProps, type BulkRow, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CMD_A, CMD_DOT, CMD_ENTER, CMD_K, CMD_S, CancelButton, Card, type CardProps, type CellStyle, ChangePasswordForm, type ChangePasswordFormProps, type ChangelogEntry, ChatTemplate, Checkbox, type CheckboxProps, CheckoutTemplate, type ClockCalendarConfig, ColoredBadge, type ColoredBadgeProps, type ColumnDef, ConfirmProvider, ContainerFillChart, type ContainerFillChartProps, type ContainerFillItem, CopyButton, Customization, type CustomizationOmitSection, type CustomizationProps, type CustomizationSection, DEV_BANNER_TEXT, DashboardTemplate, DataTablePage, Desktop, type DesktopContextMenuItem, type DesktopHostConfig, DesktopHostProvider, DevIndicator, DocFavStar, DonutChart, type DonutChartProps, type DonutSegment, type DuplicateGroup, ENTER, EditableGrid, type EditableGridProps, EmailTemplate, EmptyState, type EmptyStateProps, type EntityFetcher, EntityList, type EntityListColumn, type EntityListProps, ErrorPage, type ErrorPageProps, FilterBar, type FilterOption, FormField, type FormFieldProps, FormLayoutPage, GLASS_DIVIDER, GLASS_INPUT_BG, GalleryTemplate, GlobalSearch, type GridColumn, type HealthCheckResult, HelpCenter, type HelpCenterDoc, type HelpCenterProps, INPUT_BASE, ImageAnnotator, type ImageAnnotatorHandle, type ImageAnnotatorProps, Input, type InputProps, Kanban, type KanbanColumn, type KanbanProps, Label, type LabelProps, Layout, type LayoutProps, ListFooter, LoadingSpinner, type LoadingSpinnerProps, MOD, Markdown, type MarkdownProps, MediaUploadField, type MediaUploadFieldProps, MediaUploadGrid, type MediaUploadGridItem, type MediaUploadGridProps, type MergeBulkOptions, type MergeBulkResult, type Milestone, type MilestoneKind, MilestoneTimeline, type MilestoneTimelineProps, Modal, ModalActions, NotificationBell, type NotificationsConfig, PageHeader, type PageHeaderProps, type PaginatedResponse, Pagination, type PaginationProps, PdfActionButton, type PdfActionButtonProps, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, Radio, type RadioProps, ResizableTable, SHIFT, type SearchConfig, type SearchProvider, type SearchResult, type SearchableOption, SearchableSelect, type SearchableSelectProps, Select, type SelectOption, type SelectProps, type SemanticGroup, ServerStatusIndicator, type ServerStatusIndicatorProps, type ServerStatusUser, type ShellAuth, ShellAuthProvider, ShellEntityFetcherProvider, type ShellNotification, type ShellPrefsAdapter, ShellPrefsProvider, ShortcutHelp, SidebarActionButton, type SidebarActionButtonProps, SidebarGroupLabel, SidebarLayout, type SidebarLayoutProps, SidebarNavItem, type SortState, SoundsPanel, Sparkline, type SparklineProps, StartMenu, StatCard, type StatCardProps, StatusBadge, StatusBadgeProvider, type StickyEntityRef, type StickyResolver, SystemPreferences, type SystemPreferencesProps, type SystemPreferencesSection, type TabItem, Tabs, type TabsProps, Textarea, type TextareaProps, type TodoProvider, type TodoTask, Tooltip, type TooltipProps, TopNav, type TopNavItem, type TopNavProps, VERSION, WidgetManager, WindowCrashedFallback, WindowErrorBoundary, WindowManagerProvider, WindowRegistry, WindowTitle, applyDevTitle, commitExposeHighlight, confirm, confirmDestructive, createWindowRegistry, exitExposeMode, findDuplicateKeys, formatDate, getActiveWindowRoute, getExposeHighlight, getWindowPosition, glassStyle, inputClasses, isDevEnv, isMac, mediaFileName, mergeBulkItems, prompt, registerModalEscapeInterceptor, setExposeHighlight, setShellApiClient, setShellAuthBridge, setShellNavIcons, setShellTodoProvider, setWindowDefaultPosition, setWindowPosition, subscribeExposeHighlight, toast, toggleExposeMode, useClickOutside, useColumnConfig, useDesktopHost, useEditHotkey, useFilters, useInfiniteScroll, useLocalStoragePrefs, useModalActive, useNewHotkey, useShellAuth, useShellEntityFetcher, useShellPrefs, useSort, useTableNav, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle };
2504
+ export { ALT, ALT_SHIFT_D, ALT_SHIFT_E, ALT_SHIFT_N, Accordion, type AccordionItem, type AccordionProps, AuthScreen, type AuthScreenProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, type AvatarStatus, Banner, type BannerProps, type BannerTone, BarChart, type BarChartProps, BehaviorPanel, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, type BulkColumn, type BulkColumnKind, BulkImportGrid, type BulkImportGridProps, type BulkRow, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CMD_A, CMD_DOT, CMD_ENTER, CMD_K, CMD_S, CancelButton, Card, type CardProps, type CellStyle, ChangePasswordForm, type ChangePasswordFormProps, type ChangelogEntry, ChatTemplate, Checkbox, type CheckboxProps, CheckoutTemplate, type ClockCalendarConfig, ColoredBadge, type ColoredBadgeProps, type ColumnDef, ConfirmProvider, ContainerFillChart, type ContainerFillChartProps, type ContainerFillItem, CopyButton, Customization, type CustomizationOmitSection, type CustomizationProps, type CustomizationSection, DEV_BANNER_TEXT, DashboardTemplate, DataTablePage, Desktop, type DesktopContextMenuItem, type DesktopHostConfig, DesktopHostProvider, DevIndicator, DocFavStar, DonutChart, type DonutChartProps, type DonutSegment, type DuplicateGroup, ENTER, EditableGrid, type EditableGridProps, EmailTemplate, EmptyState, type EmptyStateProps, type EntityFetcher, EntityList, type EntityListColumn, type EntityListContextAction, type EntityListProps, ErrorPage, type ErrorPageProps, FilterBar, type FilterOption, FormField, type FormFieldProps, FormLayoutPage, GLASS_DIVIDER, GLASS_INPUT_BG, GalleryTemplate, GlobalSearch, type GridColumn, type HealthCheckResult, HelpCenter, type HelpCenterDoc, type HelpCenterProps, INPUT_BASE, ImageAnnotator, type ImageAnnotatorHandle, type ImageAnnotatorProps, Input, type InputProps, Kanban, type KanbanColumn, type KanbanProps, Label, type LabelProps, Layout, type LayoutProps, ListFooter, LoadingSpinner, type LoadingSpinnerProps, MOD, Markdown, type MarkdownProps, MediaUploadField, type MediaUploadFieldProps, MediaUploadGrid, type MediaUploadGridItem, type MediaUploadGridProps, type MergeBulkOptions, type MergeBulkResult, type Milestone, type MilestoneKind, MilestoneTimeline, type MilestoneTimelineProps, Modal, ModalActions, NotificationBell, type NotificationsConfig, PageHeader, type PageHeaderProps, type PaginatedResponse, Pagination, type PaginationProps, PdfActionButton, type PdfActionButtonProps, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, Radio, type RadioProps, ResizableTable, SHIFT, type SearchConfig, type SearchProvider, type SearchResult, type SearchableOption, SearchableSelect, type SearchableSelectProps, Select, type SelectOption, type SelectProps, type SemanticGroup, ServerStatusIndicator, type ServerStatusIndicatorProps, type ServerStatusUser, type ShellAuth, ShellAuthProvider, ShellEntityFetcherProvider, type ShellNotification, type ShellPrefsAdapter, ShellPrefsProvider, ShortcutHelp, SidebarActionButton, type SidebarActionButtonProps, SidebarGroupLabel, SidebarLayout, type SidebarLayoutProps, SidebarNavItem, type SortState, SoundsPanel, Sparkline, type SparklineProps, StartMenu, StatCard, type StatCardProps, StatusBadge, StatusBadgeProvider, type StickyEntityRef, type StickyResolver, SystemPreferences, type SystemPreferencesProps, type SystemPreferencesSection, type TabItem, Tabs, type TabsProps, Textarea, type TextareaProps, type TodoProvider, type TodoTask, Tooltip, type TooltipProps, TopNav, type TopNavItem, type TopNavProps, VERSION, WidgetManager, WindowCrashedFallback, WindowErrorBoundary, WindowManagerProvider, WindowRegistry, WindowTitle, applyDevTitle, commitExposeHighlight, confirm, confirmDestructive, createWindowRegistry, exitExposeMode, findDuplicateKeys, formatDate, getActiveWindowRoute, getExposeHighlight, getWindowPosition, glassStyle, inputClasses, isDevEnv, isMac, mediaFileName, mergeBulkItems, prompt, registerModalEscapeInterceptor, setExposeHighlight, setShellApiClient, setShellAuthBridge, setShellNavIcons, setShellTodoProvider, setWindowDefaultPosition, setWindowPosition, subscribeExposeHighlight, toast, toggleExposeMode, useClickOutside, useColumnConfig, useDesktopHost, useEditHotkey, useFilters, useInfiniteScroll, useLocalStoragePrefs, useModalActive, useNewHotkey, useShellAuth, useShellEntityFetcher, useShellPrefs, useSort, useTableNav, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle };