react-os-shell 3.3.0 → 3.3.2

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-ZNEYNG2T.js → Browser-GGKJBZCQ.js} +4 -4
  2. package/dist/{Browser-ZNEYNG2T.js.map → Browser-GGKJBZCQ.js.map} +1 -1
  3. package/dist/{Documents-JLFY2LT2.js → Documents-GY6E25YJ.js} +3 -3
  4. package/dist/{Documents-JLFY2LT2.js.map → Documents-GY6E25YJ.js.map} +1 -1
  5. package/dist/Files-ZCGJDSXN.js +12 -0
  6. package/dist/{Files-PX52MFPM.js.map → Files-ZCGJDSXN.js.map} +1 -1
  7. package/dist/{Notepad-XA45TQKF.js → Notepad-JBG2GDDQ.js} +3 -3
  8. package/dist/{Notepad-XA45TQKF.js.map → Notepad-JBG2GDDQ.js.map} +1 -1
  9. package/dist/Preview-T2XC46AG.js +8 -0
  10. package/dist/{Preview-V4D7KDJW.js.map → Preview-T2XC46AG.js.map} +1 -1
  11. package/dist/{Spreadsheet-DFOEXXRX.js → Spreadsheet-L6DMYE6W.js} +4 -4
  12. package/dist/{Spreadsheet-DFOEXXRX.js.map → Spreadsheet-L6DMYE6W.js.map} +1 -1
  13. package/dist/apps/index.d.ts +14 -13
  14. package/dist/apps/index.js +12 -12
  15. package/dist/{chunk-WKJ4YVF5.js → chunk-44B7SHZQ.js} +4 -4
  16. package/dist/{chunk-WKJ4YVF5.js.map → chunk-44B7SHZQ.js.map} +1 -1
  17. package/dist/{chunk-4WUEFQWP.js → chunk-4J4V7FLN.js} +3 -3
  18. package/dist/{chunk-4WUEFQWP.js.map → chunk-4J4V7FLN.js.map} +1 -1
  19. package/dist/{chunk-XM647QLH.js → chunk-GLKDDFJL.js} +3 -3
  20. package/dist/{chunk-XM647QLH.js.map → chunk-GLKDDFJL.js.map} +1 -1
  21. package/dist/{chunk-GM3VN2NL.js → chunk-HM2POVAI.js} +4 -4
  22. package/dist/{chunk-GM3VN2NL.js.map → chunk-HM2POVAI.js.map} +1 -1
  23. package/dist/{chunk-F25NBUMJ.js → chunk-OS36T6ZP.js} +3 -3
  24. package/dist/{chunk-F25NBUMJ.js.map → chunk-OS36T6ZP.js.map} +1 -1
  25. package/dist/{chunk-WZIH7WZM.js → chunk-ZDTM7HX6.js} +3 -3
  26. package/dist/{chunk-WZIH7WZM.js.map → chunk-ZDTM7HX6.js.map} +1 -1
  27. package/dist/index.d.ts +49 -47
  28. package/dist/index.js +7 -7
  29. package/dist/index.js.map +1 -1
  30. package/dist/{types-CXBKusuC.d.ts → types-CTPtgkiG.d.ts} +1 -1
  31. package/package.json +1 -1
  32. package/dist/Files-PX52MFPM.js +0 -12
  33. package/dist/Preview-V4D7KDJW.js +0 -8
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
- import { W as WindowRegistry } from './types-CXBKusuC.js';
2
- export { M as ModalRegistryEntry, P as PageRegistryEntry, a as WindowRegistryEntry, i as isEntityEntry, b as isPageEntry, s as setShellWindowRegistry } from './types-CXBKusuC.js';
1
+ import { W as WindowRegistry } from './types-CTPtgkiG.js';
2
+ export { M as ModalRegistryEntry, P as PageRegistryEntry, a as WindowRegistryEntry, i as isEntityEntry, b as isPageEntry, s as setShellWindowRegistry } from './types-CTPtgkiG.js';
3
3
  import * as react from 'react';
4
4
  import react__default, { ReactNode, Component, ErrorInfo, CSSProperties, Dispatch, SetStateAction, RefObject } from 'react';
5
- import * as _tanstack_react_query from '@tanstack/react-query';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import * as _tanstack_query_core from '@tanstack/query-core';
6
7
  import { AxiosInstance } from 'axios';
7
8
 
8
9
  /**
@@ -89,7 +90,7 @@ declare function useWindowMenuItem(label: string, onClick: () => void, icon?: Re
89
90
  * than React Context, which has separate instances in each bundle). */
90
91
  declare function WindowTitle({ title }: {
91
92
  title: string;
92
- }): react.JSX.Element;
93
+ }): react_jsx_runtime.JSX.Element;
93
94
  /** @deprecated Use <WindowTitle> instead — the hook variant doesn't work
94
95
  * across bundle boundaries (apps barrel has its own ModalIdContext). */
95
96
  declare function useWindowTitle(_title: string): void;
@@ -99,7 +100,7 @@ declare function useWindowTitle(_title: string): void;
99
100
  */
100
101
  declare function CopyButton({ text }: {
101
102
  text: string;
102
- }): react.JSX.Element;
103
+ }): react_jsx_runtime.JSX.Element;
103
104
  /** Hook to check if the current modal is active (frontmost) */
104
105
  declare function useModalActive(): boolean;
105
106
  declare function ModalActions({ children, position }: {
@@ -114,7 +115,7 @@ declare function CancelButton({ onClick, children, className }: {
114
115
  onClick: () => void;
115
116
  children?: React.ReactNode;
116
117
  className?: string;
117
- }): react.JSX.Element;
118
+ }): react_jsx_runtime.JSX.Element;
118
119
  /**
119
120
  * Seed an initial position for a window — applied only when no saved
120
121
  * position already exists for the given key. Use this from the consumer
@@ -246,7 +247,7 @@ declare function Modal({ open, onClose, title, icon, copyText, size, dirty, onNe
246
247
  declare function WindowCrashedFallback({ error, onReload }: {
247
248
  error: Error;
248
249
  onReload: () => void;
249
- }): react.JSX.Element;
250
+ }): react_jsx_runtime.JSX.Element;
250
251
  interface WindowErrorBoundaryProps {
251
252
  children: ReactNode;
252
253
  /** Replaces the default inline {@link WindowCrashedFallback}. `reset`
@@ -273,7 +274,7 @@ declare class WindowErrorBoundary extends Component<WindowErrorBoundaryProps, {
273
274
  };
274
275
  componentDidCatch(error: Error, info: ErrorInfo): void;
275
276
  reset: () => void;
276
- render(): string | number | boolean | Iterable<ReactNode> | react.JSX.Element | null | undefined;
277
+ render(): string | number | boolean | Iterable<ReactNode> | react_jsx_runtime.JSX.Element | null | undefined;
277
278
  }
278
279
 
279
280
  /**
@@ -295,7 +296,7 @@ interface PopupMenuProps {
295
296
  portal?: boolean;
296
297
  }
297
298
  /** Container for a popup menu — auto-clamps to stay within viewport */
298
- declare function PopupMenu({ children, style, className, onClose, minWidth, portal }: PopupMenuProps): react.JSX.Element;
299
+ declare function PopupMenu({ children, style, className, onClose, minWidth, portal }: PopupMenuProps): react_jsx_runtime.JSX.Element;
299
300
  /** A clickable menu item */
300
301
  declare function PopupMenuItem({ onClick, children, className, danger, disabled }: {
301
302
  onClick?: () => void;
@@ -303,13 +304,13 @@ declare function PopupMenuItem({ onClick, children, className, danger, disabled
303
304
  className?: string;
304
305
  danger?: boolean;
305
306
  disabled?: boolean;
306
- }): react.JSX.Element;
307
+ }): react_jsx_runtime.JSX.Element;
307
308
  /** A divider line between menu items */
308
- declare function PopupMenuDivider(): react.JSX.Element;
309
+ declare function PopupMenuDivider(): react_jsx_runtime.JSX.Element;
309
310
  /** A section header label */
310
311
  declare function PopupMenuLabel({ children }: {
311
312
  children: ReactNode;
312
- }): react.JSX.Element;
313
+ }): react_jsx_runtime.JSX.Element;
313
314
 
314
315
  interface ConfirmOptions {
315
316
  title?: string;
@@ -338,7 +339,7 @@ interface PromptOptions {
338
339
  declare const prompt: (opts: PromptOptions | string) => Promise<string | null>;
339
340
  declare function ConfirmProvider({ children }: {
340
341
  children: React.ReactNode;
341
- }): react.JSX.Element;
342
+ }): react_jsx_runtime.JSX.Element;
342
343
 
343
344
  interface SearchResult {
344
345
  /** Category label, e.g. "Sales Order". */
@@ -364,9 +365,9 @@ interface SearchConfig {
364
365
  }
365
366
  interface GlobalSearchProps extends Partial<SearchConfig> {
366
367
  }
367
- declare function GlobalSearch({ providers, typeIcons, placeholder }?: GlobalSearchProps): react.JSX.Element | null;
368
+ declare function GlobalSearch({ providers, typeIcons, placeholder }?: GlobalSearchProps): react_jsx_runtime.JSX.Element | null;
368
369
 
369
- declare function ShortcutHelp(): react.JSX.Element;
370
+ declare function ShortcutHelp(): react_jsx_runtime.JSX.Element;
370
371
 
371
372
  /**
372
373
  * One help article. Generic shape — the consuming portal maps its own
@@ -411,13 +412,13 @@ interface HelpCenterProps {
411
412
  * Search is client-side: a case-insensitive substring match over title, body
412
413
  * and category label. While searching, matching groups auto-expand.
413
414
  */
414
- declare function HelpCenter({ docs, loading, categoryOrder, canEdit, onNew, onEdit, renderBody, emptyMessage, }: HelpCenterProps): react.JSX.Element;
415
+ declare function HelpCenter({ docs, loading, categoryOrder, canEdit, onNew, onEdit, renderBody, emptyMessage, }: HelpCenterProps): react_jsx_runtime.JSX.Element;
415
416
 
416
417
  interface MarkdownProps {
417
418
  children: string;
418
419
  className?: string;
419
420
  }
420
- declare function Markdown({ children, className }: MarkdownProps): react.JSX.Element;
421
+ declare function Markdown({ children, className }: MarkdownProps): react_jsx_runtime.JSX.Element;
421
422
 
422
423
  declare const isMac: boolean;
423
424
  /** Platform-aware modifier symbols */
@@ -506,7 +507,7 @@ interface EditableGridProps {
506
507
  * - Multi-cell paste from spreadsheets (Ctrl+V)
507
508
  * - Tab/Enter/Arrow keyboard navigation
508
509
  */
509
- declare function EditableGrid({ columns, data, onChange, onColumnsChange, fixedRows, minRows, maxHeight, cellStyles, onFocusChange, onSelectionChange }: EditableGridProps): react.JSX.Element;
510
+ declare function EditableGrid({ columns, data, onChange, onColumnsChange, fixedRows, minRows, maxHeight, cellStyles, onFocusChange, onSelectionChange }: EditableGridProps): react_jsx_runtime.JSX.Element;
510
511
 
511
512
  /**
512
513
  * Two-pane layout with a drag-to-resize sidebar (left or right).
@@ -549,7 +550,7 @@ interface SidebarLayoutProps {
549
550
  /** Classes for the main content pane. Defaults to a white background. */
550
551
  contentClassName?: string;
551
552
  }
552
- declare function SidebarLayout({ sidebar, children, side, storageKey, defaultWidth, minWidth, maxWidth, className, sidebarClassName, contentClassName, }: SidebarLayoutProps): react.JSX.Element;
553
+ declare function SidebarLayout({ sidebar, children, side, storageKey, defaultWidth, minWidth, maxWidth, className, sidebarClassName, contentClassName, }: SidebarLayoutProps): react_jsx_runtime.JSX.Element;
553
554
 
554
555
  interface SearchableOption {
555
556
  value: string;
@@ -591,7 +592,7 @@ interface SearchableSelectProps {
591
592
  * Hidden while the user is typing so the search text stays legible. */
592
593
  rightAdornment?: ReactNode;
593
594
  }
594
- declare function SearchableSelect({ value, onChange, options, placeholder, emptyOptionLabel, className, disabled, id, allowFreeText, onSearchChange, rightAdornment, }: SearchableSelectProps): react.JSX.Element;
595
+ declare function SearchableSelect({ value, onChange, options, placeholder, emptyOptionLabel, className, disabled, id, allowFreeText, onSearchChange, rightAdornment, }: SearchableSelectProps): react_jsx_runtime.JSX.Element;
595
596
 
596
597
  /**
597
598
  * Generic top navigation bar. A horizontal row of tab-style links with an
@@ -623,7 +624,7 @@ interface TopNavProps {
623
624
  actions?: ReactNode;
624
625
  className?: string;
625
626
  }
626
- declare function TopNav({ items, activeKey, onSelect, brand, actions, className }: TopNavProps): react.JSX.Element;
627
+ declare function TopNav({ items, activeKey, onSelect, brand, actions, className }: TopNavProps): react_jsx_runtime.JSX.Element;
627
628
 
628
629
  /**
629
630
  * Generic breadcrumb trail. Self-contained and styled with the same Tailwind
@@ -652,7 +653,7 @@ interface BreadcrumbsProps {
652
653
  maxItems?: number;
653
654
  className?: string;
654
655
  }
655
- declare function Breadcrumbs({ items, separator, maxItems, className }: BreadcrumbsProps): react.JSX.Element | null;
656
+ declare function Breadcrumbs({ items, separator, maxItems, className }: BreadcrumbsProps): react_jsx_runtime.JSX.Element | null;
656
657
 
657
658
  /** Generic notification shape consumed by the shell. Consumer-specific
658
659
  * fields live on `extra` (or just on additional properties — TS structural
@@ -692,17 +693,17 @@ interface NotificationsConfig {
692
693
  interface NotificationBellProps extends NotificationsConfig {
693
694
  popDirection?: 'left' | 'right';
694
695
  }
695
- declare function NotificationBell({ useUnreadCount, list, markRead, markAllRead, onItemClick, onViewAll, popDirection, }: NotificationBellProps): react.JSX.Element;
696
+ declare function NotificationBell({ useUnreadCount, list, markRead, markAllRead, onItemClick, onViewAll, popDirection, }: NotificationBellProps): react_jsx_runtime.JSX.Element;
696
697
 
697
698
  type SemanticGroup = 'success' | 'active' | 'queued' | 'info' | 'pending' | 'warning' | 'danger' | 'draft' | 'neutral';
698
699
  declare function StatusBadgeProvider({ groups, children, }: {
699
700
  groups: Record<string, SemanticGroup>;
700
701
  children: ReactNode;
701
- }): react.JSX.Element;
702
+ }): react_jsx_runtime.JSX.Element;
702
703
  interface StatusBadgeProps {
703
704
  status: string;
704
705
  }
705
- declare function StatusBadge({ status }: StatusBadgeProps): react.JSX.Element;
706
+ declare function StatusBadge({ status }: StatusBadgeProps): react_jsx_runtime.JSX.Element;
706
707
 
707
708
  /**
708
709
  * System-tray badge shown only when the app is served from a developer's own
@@ -710,7 +711,7 @@ declare function StatusBadge({ status }: StatusBadgeProps): react.JSX.Element;
710
711
  * slot — it renders nothing off-localhost, so it's safe to leave wired on every
711
712
  * build. Visibility is gated on the runtime hostname; see utils/env.ts.
712
713
  */
713
- declare function DevIndicator(): react.JSX.Element | null;
714
+ declare function DevIndicator(): react_jsx_runtime.JSX.Element | null;
714
715
 
715
716
  /**
716
717
  * Dev-environment detection + browser chrome.
@@ -789,7 +790,7 @@ declare function DocFavStar({ entityType, entityId, label }: {
789
790
  entityType: string;
790
791
  entityId: string;
791
792
  label: string;
792
- }): react.JSX.Element;
793
+ }): react_jsx_runtime.JSX.Element;
793
794
  /** Public, framework-free helper: route ('/orders', '/qc-reports', …)
794
795
  * of the window the user is currently focused on. Returns undefined
795
796
  * when no app window is active (start menu / dashboard with nothing
@@ -799,7 +800,7 @@ declare function DocFavStar({ entityType, entityId, label }: {
799
800
  declare function getActiveWindowRoute(): string | undefined;
800
801
  declare function WindowManagerProvider({ children }: {
801
802
  children: ReactNode;
802
- }): react.JSX.Element;
803
+ }): react_jsx_runtime.JSX.Element;
803
804
 
804
805
  /**
805
806
  * INTERNAL stub — Desktop's About modal references the consumer-side
@@ -892,19 +893,20 @@ interface DesktopHostConfig {
892
893
  declare function DesktopHostProvider({ value, children }: {
893
894
  value: DesktopHostConfig;
894
895
  children: ReactNode;
895
- }): react.JSX.Element;
896
+ }): react_jsx_runtime.JSX.Element;
896
897
  declare function useDesktopHost(): DesktopHostConfig;
897
898
  declare function Desktop({ profile }: {
898
899
  profile: any;
899
- }): react.JSX.Element;
900
+ }): react_jsx_runtime.JSX.Element;
900
901
 
901
902
  interface LayoutProps {
902
903
  /** Brand label rendered on the start-menu button. */
903
904
  productName?: string;
904
905
  /** Icon URL rendered next to the brand label. Defaults to `/favicon.svg`. */
905
906
  productIcon?: string;
906
- /** Wallpaper image URLs for the desktop background. When omitted, the
907
- * desktop renders with no image (just the dark fallback). */
907
+ /** Wallpaper image URLs for the desktop background. When omitted, falls back
908
+ * to the wallpapers registered on the `DesktopHostProvider` (the same pool the
909
+ * Customization picker shows); with neither, the desktop renders no image. */
908
910
  wallpapers?: string[];
909
911
  /** Override the default nav sections shown in the start menu. */
910
912
  navSections?: (NavSection | NavItem)[];
@@ -945,7 +947,7 @@ interface ClockCalendarConfig {
945
947
  close: () => void;
946
948
  }) => ReactNode;
947
949
  }
948
- declare function Layout({ productName, productIcon, wallpapers, navSections, navIcons, sectionIcons, categories, notifications, search, taskbarTrayLeft, clockCalendar, }?: LayoutProps): react.JSX.Element;
950
+ declare function Layout({ productName, productIcon, wallpapers, navSections, navIcons, sectionIcons, categories, notifications, search, taskbarTrayLeft, clockCalendar, }?: LayoutProps): react_jsx_runtime.JSX.Element;
949
951
 
950
952
  interface StartMenuProps {
951
953
  open: boolean;
@@ -972,7 +974,7 @@ interface StartMenuProps {
972
974
  /** Section grouping + virtual flyouts (Utilities-style trays). */
973
975
  categories?: StartMenuCategories;
974
976
  }
975
- declare function StartMenu({ open, onClose, openPage, profile, user, onLogout, taskbarPosition, taskbarH, taskbarW, size, navSections, navIcons, sectionIcons, categories, }: StartMenuProps): react.JSX.Element | null;
977
+ declare function StartMenu({ open, onClose, openPage, profile, user, onLogout, taskbarPosition, taskbarH, taskbarW, size, navSections, navIcons, sectionIcons, categories, }: StartMenuProps): react_jsx_runtime.JSX.Element | null;
976
978
 
977
979
  /**
978
980
  * Widget gallery — the "manage widgets on the desktop" surface.
@@ -992,7 +994,7 @@ declare function StartMenu({ open, onClose, openPage, profile, user, onLogout, t
992
994
  declare function WidgetManager({ open, onClose }: {
993
995
  open: boolean;
994
996
  onClose: () => void;
995
- }): react.JSX.Element | null;
997
+ }): react_jsx_runtime.JSX.Element | null;
996
998
 
997
999
  /** Sections that can be omitted from the inline Customization page when the
998
1000
  * consumer renders them elsewhere (e.g. as separate entries in SystemPreferences). */
@@ -1006,7 +1008,7 @@ interface CustomizationProps {
1006
1008
  /** Render only one logical group of settings. Omit to render everything. */
1007
1009
  section?: CustomizationSection;
1008
1010
  }
1009
- declare function Customization({ omit, section }?: CustomizationProps): react.JSX.Element;
1011
+ declare function Customization({ omit, section }?: CustomizationProps): react_jsx_runtime.JSX.Element;
1010
1012
 
1011
1013
  /**
1012
1014
  * Standalone Behavior settings panel — window position, double-click,
@@ -1016,7 +1018,7 @@ declare function Customization({ omit, section }?: CustomizationProps): react.JS
1016
1018
  * Reads/writes shell prefs via `useShellPrefs()`. Suitable for use as a
1017
1019
  * section in `SystemPreferences` or rendered standalone.
1018
1020
  */
1019
- declare function BehaviorPanel(): react.JSX.Element;
1021
+ declare function BehaviorPanel(): react_jsx_runtime.JSX.Element;
1020
1022
 
1021
1023
  /**
1022
1024
  * Standalone Sounds settings panel — sound effects toggle + per-event
@@ -1025,7 +1027,7 @@ declare function BehaviorPanel(): react.JSX.Element;
1025
1027
  * picked. Suitable as a section in `SystemPreferences` or rendered
1026
1028
  * standalone.
1027
1029
  */
1028
- declare function SoundsPanel(): react.JSX.Element;
1030
+ declare function SoundsPanel(): react_jsx_runtime.JSX.Element;
1029
1031
 
1030
1032
  /** One section in the SystemPreferences sidebar. */
1031
1033
  interface SystemPreferencesSection {
@@ -1072,7 +1074,7 @@ interface SystemPreferencesProps {
1072
1074
  * ]} />
1073
1075
  * ```
1074
1076
  */
1075
- declare function SystemPreferences({ sections, defaultSelected, className, }: SystemPreferencesProps): react.JSX.Element;
1077
+ declare function SystemPreferences({ sections, defaultSelected, className, }: SystemPreferencesProps): react_jsx_runtime.JSX.Element;
1076
1078
 
1077
1079
  interface ImageAnnotatorHandle {
1078
1080
  copy: () => Promise<void>;
@@ -1157,7 +1159,7 @@ interface EntityListProps<T> {
1157
1159
  * emptyState={<EmptyState message="No suppliers yet." />}
1158
1160
  * />
1159
1161
  */
1160
- declare function EntityList<T>(props: EntityListProps<T>): react.JSX.Element;
1162
+ declare function EntityList<T>(props: EntityListProps<T>): react_jsx_runtime.JSX.Element;
1161
1163
 
1162
1164
  /**
1163
1165
  * Generic, drag-and-drop Kanban board. Self-contained (native HTML5 DnD, no
@@ -1219,7 +1221,7 @@ interface KanbanProps<T> {
1219
1221
  /** Label for the per-column add button. */
1220
1222
  addItemText?: string;
1221
1223
  }
1222
- declare function Kanban<T>({ items, columns, columnOf, getId, onMove, renderCard, onCardClick, sortInColumn, isLoading, loadingText, emptyState, columnEmptyText, onAddItem, addItemText, }: KanbanProps<T>): react.JSX.Element;
1224
+ 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;
1223
1225
 
1224
1226
  interface PaginatedResponse<T> {
1225
1227
  count: number;
@@ -1268,7 +1270,7 @@ interface ResizableTableProps {
1268
1270
  * - per-user persistence (via the shell-registered apiClient)
1269
1271
  * - mobile-aware selection mode toggle
1270
1272
  */
1271
- declare function ResizableTable({ tableId, columns, sort, onSort, footer, afterBody, saveDefaultPerms, children, }: ResizableTableProps): react.JSX.Element;
1273
+ declare function ResizableTable({ tableId, columns, sort, onSort, footer, afterBody, saveDefaultPerms, children, }: ResizableTableProps): react_jsx_runtime.JSX.Element;
1272
1274
 
1273
1275
  interface ListFooterProps {
1274
1276
  selectedCount: number;
@@ -1284,7 +1286,7 @@ interface ListFooterProps {
1284
1286
  * "Y of Z records · Loading more..."
1285
1287
  * "All N records loaded"
1286
1288
  */
1287
- declare function ListFooter({ selectedCount, loadedCount, totalCount, label, isFetchingMore, extra, }: ListFooterProps): react.JSX.Element;
1289
+ declare function ListFooter({ selectedCount, loadedCount, totalCount, label, isFetchingMore, extra, }: ListFooterProps): react_jsx_runtime.JSX.Element;
1288
1290
 
1289
1291
  /**
1290
1292
  * Keyboard + shift-click navigation for table rows.
@@ -1362,7 +1364,7 @@ declare function useInfiniteScroll<T>({ queryKey, fetchFn, extraParams, pageSize
1362
1364
  isFetchingNextPage: boolean;
1363
1365
  hasNextPage: boolean;
1364
1366
  sentinelRef: react.RefObject<HTMLDivElement>;
1365
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_tanstack_react_query.InfiniteData<PaginatedResponse<T>, unknown>, Error>>;
1367
+ refetch: (options?: _tanstack_query_core.RefetchOptions) => Promise<_tanstack_query_core.QueryObserverResult<_tanstack_query_core.InfiniteData<PaginatedResponse<T>, unknown>, Error>>;
1366
1368
  };
1367
1369
 
1368
1370
  /**
@@ -1389,7 +1391,7 @@ interface ShellAuth {
1389
1391
  declare function ShellAuthProvider({ value, children }: {
1390
1392
  value: ShellAuth;
1391
1393
  children: ReactNode;
1392
- }): react.JSX.Element;
1394
+ }): react_jsx_runtime.JSX.Element;
1393
1395
  declare function useShellAuth(): ShellAuth;
1394
1396
 
1395
1397
  interface ShellPrefsAdapter {
@@ -1402,7 +1404,7 @@ interface ShellPrefsAdapter {
1402
1404
  declare function ShellPrefsProvider({ value, children, }: {
1403
1405
  value: ShellPrefsAdapter;
1404
1406
  children: ReactNode;
1405
- }): react.JSX.Element;
1407
+ }): react_jsx_runtime.JSX.Element;
1406
1408
  /** Default localStorage-backed adapter — useful when the consumer doesn't
1407
1409
  * ship a backend. Pass the result into <ShellPrefsProvider value={…}>.
1408
1410
  *
@@ -1419,7 +1421,7 @@ type EntityFetcher = (endpoint: string, id: string) => Promise<any>;
1419
1421
  declare function ShellEntityFetcherProvider({ value, children, }: {
1420
1422
  value: EntityFetcher;
1421
1423
  children: ReactNode;
1422
- }): react.JSX.Element;
1424
+ }): react_jsx_runtime.JSX.Element;
1423
1425
  /** Returns the consumer-supplied entity fetcher, or a stub that throws
1424
1426
  * on call. Components that fetch entities call this hook eagerly so any
1425
1427
  * misconfiguration surfaces synchronously rather than at click-time. */
package/dist/index.js CHANGED
@@ -1,18 +1,18 @@
1
1
  import { subscribePomo, getPomoSnapshot } from './chunk-6VMTAVUD.js';
2
2
  export { setShellTodoProvider } from './chunk-6VMTAVUD.js';
3
- import { PREVIEW_OPENED_EVENT, publishDesktopFolders, requestFilesTrashView, FolderGlyph, openPreviewFile, requestFilesDesktopFolderView, FileIconTile, hashGradient } from './chunk-GM3VN2NL.js';
4
- export { Breadcrumbs } from './chunk-GM3VN2NL.js';
3
+ import { PREVIEW_OPENED_EVENT, publishDesktopFolders, requestFilesTrashView, FolderGlyph, openPreviewFile, requestFilesDesktopFolderView, FileIconTile, hashGradient } from './chunk-HM2POVAI.js';
4
+ export { Breadcrumbs } from './chunk-HM2POVAI.js';
5
5
  import { SidebarLayout } from './chunk-VGTEM5RZ.js';
6
6
  export { SidebarLayout } from './chunk-VGTEM5RZ.js';
7
7
  import { playNotification, playStartup, soundsEnabled, getSoundConfig, SOUND_PACK_KEYS, SOUND_PACKS, SOUND_TYPES, SOUND_TYPE_LABELS, setSoundForType, previewSound, setAllSounds, playLogout } from './chunk-D7PYW2QS.js';
8
- export { ImageAnnotator_default as ImageAnnotator } from './chunk-4WUEFQWP.js';
8
+ export { ImageAnnotator_default as ImageAnnotator } from './chunk-4J4V7FLN.js';
9
9
  import { toast_default } from './chunk-VENYVK3L.js';
10
10
  export { toast_default as toast } from './chunk-VENYVK3L.js';
11
- export { EditableGrid } from './chunk-WZIH7WZM.js';
11
+ export { EditableGrid } from './chunk-ZDTM7HX6.js';
12
12
  import { useAuth, useShellAuth } from './chunk-ADJ3CERD.js';
13
13
  export { ShellAuthProvider, setShellAuthBridge, useShellAuth } from './chunk-ADJ3CERD.js';
14
- import { APP_VERSION } from './chunk-XM647QLH.js';
15
- export { VERSION } from './chunk-XM647QLH.js';
14
+ import { APP_VERSION } from './chunk-GLKDDFJL.js';
15
+ export { VERSION } from './chunk-GLKDDFJL.js';
16
16
  import { useWindowManager, PopupMenu, PopupMenuLabel, PopupMenuDivider, PopupMenuItem, WINDOW_REGISTRY, isPageEntry, Modal, useShellPrefs, useIsMobile, ModalActions, useModalActive, client_default, LoadingSpinner, setWindowPosition, ThumbCard, activateModal } from './chunk-6OWYD4O6.js';
17
17
  export { CancelButton, CopyButton, DocFavStar, Modal, ModalActions, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, ShellPrefsProvider, WindowCrashedFallback, WindowErrorBoundary, WindowManagerProvider, WindowTitle, commitExposeHighlight, exitExposeMode, getActiveWindowRoute, getExposeHighlight, getWindowPosition, isEntityEntry, isPageEntry, registerModalEscapeInterceptor, setExposeHighlight, setShellApiClient, setShellWindowRegistry, setWindowDefaultPosition, setWindowPosition, subscribeExposeHighlight, toggleExposeMode, useLocalStoragePrefs, useModalActive, useShellPrefs, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle } from './chunk-6OWYD4O6.js';
18
18
  export { ConfirmProvider, confirm, confirmDestructive, prompt } from './chunk-UBN4IUDE.js';
@@ -4198,7 +4198,7 @@ function Layout({
4198
4198
  const isMobile = useIsMobile();
4199
4199
  const profile = user || {};
4200
4200
  useTheme();
4201
- const { favorites, toggle: toggleFavorite, desktopBg} = useFavorites(wallpapers);
4201
+ const { favorites, toggle: toggleFavorite, desktopBg} = useFavorites(wallpapers ?? host.wallpapers?.map((w) => w.src));
4202
4202
  const { prefs, save: savePrefs } = useShellPrefs();
4203
4203
  const layoutMode = prefs.layout_mode === "sidebar" ? "sidebar" : "classic";
4204
4204
  const sidebarMode = layoutMode === "sidebar";