react-os-shell 3.8.5 → 3.9.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 (54) hide show
  1. package/dist/Browser-Z6EGTCHG.js +7 -0
  2. package/dist/{Browser-46EJUBW5.js.map → Browser-Z6EGTCHG.js.map} +1 -1
  3. package/dist/{Calculator-5E7C5YLX.js → Calculator-2HX5CQHC.js} +4 -4
  4. package/dist/{Calculator-5E7C5YLX.js.map → Calculator-2HX5CQHC.js.map} +1 -1
  5. package/dist/{CurrencyConverter-27Q7CDIJ.js → CurrencyConverter-CCYVPA2T.js} +4 -4
  6. package/dist/{CurrencyConverter-27Q7CDIJ.js.map → CurrencyConverter-CCYVPA2T.js.map} +1 -1
  7. package/dist/{Documents-U7KFKFNT.js → Documents-W3WVPHAM.js} +4 -4
  8. package/dist/{Documents-U7KFKFNT.js.map → Documents-W3WVPHAM.js.map} +1 -1
  9. package/dist/Files-7TGZSJHD.js +12 -0
  10. package/dist/{Files-ZBUFKYWD.js.map → Files-7TGZSJHD.js.map} +1 -1
  11. package/dist/{Notepad-5OGGCJGO.js → Notepad-CVKD2JFL.js} +4 -4
  12. package/dist/{Notepad-5OGGCJGO.js.map → Notepad-CVKD2JFL.js.map} +1 -1
  13. package/dist/{PomodoroTimer-2FXTKPCH.js → PomodoroTimer-CHR6G3HN.js} +5 -5
  14. package/dist/{PomodoroTimer-2FXTKPCH.js.map → PomodoroTimer-CHR6G3HN.js.map} +1 -1
  15. package/dist/Preview-DVXWKJYX.js +8 -0
  16. package/dist/{Preview-JA4S64C6.js.map → Preview-DVXWKJYX.js.map} +1 -1
  17. package/dist/Spreadsheet-26YE7FV7.js +7 -0
  18. package/dist/{Spreadsheet-G6CQ6FU4.js.map → Spreadsheet-26YE7FV7.js.map} +1 -1
  19. package/dist/{Stock-YZFDBHRV.js → Stock-ALK2CV7R.js} +4 -4
  20. package/dist/{Stock-YZFDBHRV.js.map → Stock-ALK2CV7R.js.map} +1 -1
  21. package/dist/{Weather-ECNKTQWZ.js → Weather-CW5JMDKQ.js} +4 -4
  22. package/dist/{Weather-ECNKTQWZ.js.map → Weather-CW5JMDKQ.js.map} +1 -1
  23. package/dist/{WorldClock-WRIK5RPI.js → WorldClock-7B4JZOQR.js} +4 -4
  24. package/dist/{WorldClock-WRIK5RPI.js.map → WorldClock-7B4JZOQR.js.map} +1 -1
  25. package/dist/apps/index.d.ts +14 -13
  26. package/dist/apps/index.js +19 -19
  27. package/dist/{chunk-S3ZVBCKK.js → chunk-2E474D7Q.js} +132 -28
  28. package/dist/chunk-2E474D7Q.js.map +1 -0
  29. package/dist/{chunk-QTDUNBNQ.js → chunk-H7K4IKB6.js} +4 -4
  30. package/dist/{chunk-QTDUNBNQ.js.map → chunk-H7K4IKB6.js.map} +1 -1
  31. package/dist/{chunk-HJ5ZNXPB.js → chunk-JXW7H3DU.js} +54 -3
  32. package/dist/chunk-JXW7H3DU.js.map +1 -0
  33. package/dist/{chunk-3BN3QZX5.js → chunk-PM5G3GVW.js} +3 -3
  34. package/dist/{chunk-3BN3QZX5.js.map → chunk-PM5G3GVW.js.map} +1 -1
  35. package/dist/{chunk-OY6GC3ZI.js → chunk-R2M7SXLN.js} +4 -4
  36. package/dist/{chunk-OY6GC3ZI.js.map → chunk-R2M7SXLN.js.map} +1 -1
  37. package/dist/{chunk-6FET2LA4.js → chunk-RTHUQTNU.js} +4 -4
  38. package/dist/{chunk-6FET2LA4.js.map → chunk-RTHUQTNU.js.map} +1 -1
  39. package/dist/{chunk-3T75O6VR.js → chunk-SNIBFLLT.js} +4 -4
  40. package/dist/{chunk-3T75O6VR.js.map → chunk-SNIBFLLT.js.map} +1 -1
  41. package/dist/{chunk-YWRNK24T.js → chunk-YFKCWZ3A.js} +5 -5
  42. package/dist/{chunk-YWRNK24T.js.map → chunk-YFKCWZ3A.js.map} +1 -1
  43. package/dist/{chunk-F2KBTMSP.js → chunk-YLJY5LDU.js} +3 -3
  44. package/dist/{chunk-F2KBTMSP.js.map → chunk-YLJY5LDU.js.map} +1 -1
  45. package/dist/index.d.ts +82 -81
  46. package/dist/index.js +12 -12
  47. package/dist/{types-CXBKusuC.d.ts → types-CTPtgkiG.d.ts} +1 -1
  48. package/package.json +1 -1
  49. package/dist/Browser-46EJUBW5.js +0 -7
  50. package/dist/Files-ZBUFKYWD.js +0 -12
  51. package/dist/Preview-JA4S64C6.js +0 -8
  52. package/dist/Spreadsheet-G6CQ6FU4.js +0 -7
  53. package/dist/chunk-HJ5ZNXPB.js.map +0 -1
  54. package/dist/chunk-S3ZVBCKK.js.map +0 -1
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, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes, LabelHTMLAttributes } 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,11 +893,11 @@ 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. */
@@ -946,7 +947,7 @@ interface ClockCalendarConfig {
946
947
  close: () => void;
947
948
  }) => ReactNode;
948
949
  }
949
- 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;
950
951
 
951
952
  interface StartMenuProps {
952
953
  open: boolean;
@@ -973,7 +974,7 @@ interface StartMenuProps {
973
974
  /** Section grouping + virtual flyouts (Utilities-style trays). */
974
975
  categories?: StartMenuCategories;
975
976
  }
976
- 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;
977
978
 
978
979
  /**
979
980
  * Widget gallery — the "manage widgets on the desktop" surface.
@@ -993,7 +994,7 @@ declare function StartMenu({ open, onClose, openPage, profile, user, onLogout, t
993
994
  declare function WidgetManager({ open, onClose }: {
994
995
  open: boolean;
995
996
  onClose: () => void;
996
- }): react.JSX.Element | null;
997
+ }): react_jsx_runtime.JSX.Element | null;
997
998
 
998
999
  /** Sections that can be omitted from the inline Customization page when the
999
1000
  * consumer renders them elsewhere (e.g. as separate entries in SystemPreferences). */
@@ -1007,7 +1008,7 @@ interface CustomizationProps {
1007
1008
  /** Render only one logical group of settings. Omit to render everything. */
1008
1009
  section?: CustomizationSection;
1009
1010
  }
1010
- declare function Customization({ omit, section }?: CustomizationProps): react.JSX.Element;
1011
+ declare function Customization({ omit, section }?: CustomizationProps): react_jsx_runtime.JSX.Element;
1011
1012
 
1012
1013
  /**
1013
1014
  * Standalone Behavior settings panel — window position, double-click,
@@ -1017,7 +1018,7 @@ declare function Customization({ omit, section }?: CustomizationProps): react.JS
1017
1018
  * Reads/writes shell prefs via `useShellPrefs()`. Suitable for use as a
1018
1019
  * section in `SystemPreferences` or rendered standalone.
1019
1020
  */
1020
- declare function BehaviorPanel(): react.JSX.Element;
1021
+ declare function BehaviorPanel(): react_jsx_runtime.JSX.Element;
1021
1022
 
1022
1023
  /**
1023
1024
  * Standalone Sounds settings panel — sound effects toggle + per-event
@@ -1026,7 +1027,7 @@ declare function BehaviorPanel(): react.JSX.Element;
1026
1027
  * picked. Suitable as a section in `SystemPreferences` or rendered
1027
1028
  * standalone.
1028
1029
  */
1029
- declare function SoundsPanel(): react.JSX.Element;
1030
+ declare function SoundsPanel(): react_jsx_runtime.JSX.Element;
1030
1031
 
1031
1032
  /** One section in the SystemPreferences sidebar. */
1032
1033
  interface SystemPreferencesSection {
@@ -1073,7 +1074,7 @@ interface SystemPreferencesProps {
1073
1074
  * ]} />
1074
1075
  * ```
1075
1076
  */
1076
- declare function SystemPreferences({ sections, defaultSelected, className, }: SystemPreferencesProps): react.JSX.Element;
1077
+ declare function SystemPreferences({ sections, defaultSelected, className, }: SystemPreferencesProps): react_jsx_runtime.JSX.Element;
1077
1078
 
1078
1079
  interface ImageAnnotatorHandle {
1079
1080
  copy: () => Promise<void>;
@@ -1158,7 +1159,7 @@ interface EntityListProps<T> {
1158
1159
  * emptyState={<EmptyState message="No suppliers yet." />}
1159
1160
  * />
1160
1161
  */
1161
- declare function EntityList<T>(props: EntityListProps<T>): react.JSX.Element;
1162
+ declare function EntityList<T>(props: EntityListProps<T>): react_jsx_runtime.JSX.Element;
1162
1163
 
1163
1164
  /**
1164
1165
  * Generic, drag-and-drop Kanban board. Self-contained (native HTML5 DnD, no
@@ -1220,7 +1221,7 @@ interface KanbanProps<T> {
1220
1221
  /** Label for the per-column add button. */
1221
1222
  addItemText?: string;
1222
1223
  }
1223
- 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;
1224
1225
 
1225
1226
  interface PaginatedResponse<T> {
1226
1227
  count: number;
@@ -1269,7 +1270,7 @@ interface ResizableTableProps {
1269
1270
  * - per-user persistence (via the shell-registered apiClient)
1270
1271
  * - mobile-aware selection mode toggle
1271
1272
  */
1272
- 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;
1273
1274
 
1274
1275
  interface ListFooterProps {
1275
1276
  selectedCount: number;
@@ -1285,7 +1286,7 @@ interface ListFooterProps {
1285
1286
  * "Y of Z records · Loading more..."
1286
1287
  * "All N records loaded"
1287
1288
  */
1288
- 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;
1289
1290
 
1290
1291
  /**
1291
1292
  * Keyboard + shift-click navigation for table rows.
@@ -1363,7 +1364,7 @@ declare function useInfiniteScroll<T>({ queryKey, fetchFn, extraParams, pageSize
1363
1364
  isFetchingNextPage: boolean;
1364
1365
  hasNextPage: boolean;
1365
1366
  sentinelRef: react.RefObject<HTMLDivElement>;
1366
- 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>>;
1367
1368
  };
1368
1369
 
1369
1370
  /**
@@ -1396,7 +1397,7 @@ interface PaginationProps {
1396
1397
  showEdges?: boolean;
1397
1398
  className?: string;
1398
1399
  }
1399
- declare function Pagination({ page, pageCount, onPageChange, siblingCount, showEdges, className, }: PaginationProps): react.JSX.Element | null;
1400
+ declare function Pagination({ page, pageCount, onPageChange, siblingCount, showEdges, className, }: PaginationProps): react_jsx_runtime.JSX.Element | null;
1400
1401
 
1401
1402
  type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger';
1402
1403
  type ButtonSize = 'sm' | 'md';
@@ -1480,13 +1481,13 @@ interface FormFieldProps {
1480
1481
  className?: string;
1481
1482
  children: ReactNode;
1482
1483
  }
1483
- declare function FormField({ label, htmlFor, hint, error, required, className, children, }: FormFieldProps): react.JSX.Element;
1484
+ declare function FormField({ label, htmlFor, hint, error, required, className, children, }: FormFieldProps): react_jsx_runtime.JSX.Element;
1484
1485
 
1485
1486
  interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
1486
1487
  /** Append a red asterisk. */
1487
1488
  required?: boolean;
1488
1489
  }
1489
- declare function Label({ required, children, className, ...rest }: LabelProps): react.JSX.Element;
1490
+ declare function Label({ required, children, className, ...rest }: LabelProps): react_jsx_runtime.JSX.Element;
1490
1491
 
1491
1492
  /**
1492
1493
  * Shared form-control styling — the single source of truth for the kit's
@@ -1517,7 +1518,7 @@ interface CardProps {
1517
1518
  padded?: boolean;
1518
1519
  className?: string;
1519
1520
  }
1520
- declare function Card({ children, header, footer, padded, className }: CardProps): react.JSX.Element;
1521
+ declare function Card({ children, header, footer, padded, className }: CardProps): react_jsx_runtime.JSX.Element;
1521
1522
  interface StatCardProps {
1522
1523
  label: ReactNode;
1523
1524
  value: ReactNode;
@@ -1529,7 +1530,7 @@ interface StatCardProps {
1529
1530
  };
1530
1531
  className?: string;
1531
1532
  }
1532
- declare function StatCard({ label, value, icon, delta, className }: StatCardProps): react.JSX.Element;
1533
+ declare function StatCard({ label, value, icon, delta, className }: StatCardProps): react_jsx_runtime.JSX.Element;
1533
1534
 
1534
1535
  type AvatarSize = 'xs' | 'sm' | 'md' | 'lg';
1535
1536
  type AvatarStatus = 'online' | 'offline' | 'busy' | 'away';
@@ -1541,7 +1542,7 @@ interface AvatarProps {
1541
1542
  status?: AvatarStatus;
1542
1543
  className?: string;
1543
1544
  }
1544
- declare function Avatar({ src, name, size, status, className }: AvatarProps): react.JSX.Element;
1545
+ declare function Avatar({ src, name, size, status, className }: AvatarProps): react_jsx_runtime.JSX.Element;
1545
1546
  interface AvatarGroupProps {
1546
1547
  children: ReactNode;
1547
1548
  /** Show at most this many avatars; the rest collapse into a +N chip. */
@@ -1551,7 +1552,7 @@ interface AvatarGroupProps {
1551
1552
  size?: AvatarSize;
1552
1553
  className?: string;
1553
1554
  }
1554
- declare function AvatarGroup({ children, max, size, className }: AvatarGroupProps): react.JSX.Element;
1555
+ declare function AvatarGroup({ children, max, size, className }: AvatarGroupProps): react_jsx_runtime.JSX.Element;
1555
1556
 
1556
1557
  type BannerTone = 'info' | 'success' | 'warning' | 'danger';
1557
1558
  interface BannerProps {
@@ -1564,7 +1565,7 @@ interface BannerProps {
1564
1565
  onDismiss?: () => void;
1565
1566
  className?: string;
1566
1567
  }
1567
- declare function Banner({ tone, title, children, icon, onDismiss, className }: BannerProps): react.JSX.Element;
1568
+ declare function Banner({ tone, title, children, icon, onDismiss, className }: BannerProps): react_jsx_runtime.JSX.Element;
1568
1569
 
1569
1570
  interface TabItem {
1570
1571
  id: string;
@@ -1579,7 +1580,7 @@ interface TabsProps {
1579
1580
  variant?: 'underline' | 'pill';
1580
1581
  className?: string;
1581
1582
  }
1582
- declare function Tabs({ items, value, onChange, variant, className }: TabsProps): react.JSX.Element;
1583
+ declare function Tabs({ items, value, onChange, variant, className }: TabsProps): react_jsx_runtime.JSX.Element;
1583
1584
 
1584
1585
  interface AccordionItem {
1585
1586
  id: string;
@@ -1596,7 +1597,7 @@ interface AccordionProps {
1596
1597
  allowMultiple?: boolean;
1597
1598
  className?: string;
1598
1599
  }
1599
- declare function Accordion({ items, defaultOpenIds, openIds, onOpenChange, allowMultiple, className, }: AccordionProps): react.JSX.Element;
1600
+ declare function Accordion({ items, defaultOpenIds, openIds, onOpenChange, allowMultiple, className, }: AccordionProps): react_jsx_runtime.JSX.Element;
1600
1601
 
1601
1602
  interface TooltipProps {
1602
1603
  content: ReactNode;
@@ -1605,7 +1606,7 @@ interface TooltipProps {
1605
1606
  delay?: number;
1606
1607
  children: ReactNode;
1607
1608
  }
1608
- declare function Tooltip({ content, side, delay, children }: TooltipProps): react.JSX.Element;
1609
+ declare function Tooltip({ content, side, delay, children }: TooltipProps): react_jsx_runtime.JSX.Element;
1609
1610
 
1610
1611
  interface ColoredBadgeProps {
1611
1612
  /** Tailwind classes for the badge color, e.g. `bg-green-100 text-green-800`.
@@ -1624,7 +1625,7 @@ interface ColoredBadgeProps {
1624
1625
  * Tailwind class string. Generic counterpart to StatusBadge (which maps status
1625
1626
  * strings to semantic groups); use this when the caller already knows the color.
1626
1627
  */
1627
- declare function ColoredBadge({ colorClass, children, size, capitalize }: ColoredBadgeProps): react.JSX.Element;
1628
+ declare function ColoredBadge({ colorClass, children, size, capitalize }: ColoredBadgeProps): react_jsx_runtime.JSX.Element;
1628
1629
 
1629
1630
  interface EmptyStateProps {
1630
1631
  /** Bold heading, e.g. "No invoices yet". */
@@ -1651,7 +1652,7 @@ interface EmptyStateProps {
1651
1652
  * copies: accepts both the `title`/`description` and `message`/`hint`/`frameless`
1652
1653
  * prop shapes, with a single unified look.
1653
1654
  */
1654
- declare function EmptyState({ title, message, description, hint, variant, frameless, icon, children, }: EmptyStateProps): react.JSX.Element;
1655
+ declare function EmptyState({ title, message, description, hint, variant, frameless, icon, children, }: EmptyStateProps): react_jsx_runtime.JSX.Element;
1655
1656
 
1656
1657
  interface PageHeaderProps {
1657
1658
  title: string;
@@ -1668,7 +1669,7 @@ interface PageHeaderProps {
1668
1669
  * right-aligned actions slot. Accepts both the `description`/`actions` and the
1669
1670
  * `subtitle`/`children` prop shapes the portals previously used locally.
1670
1671
  */
1671
- declare function PageHeader({ title, description, subtitle, actions, children }: PageHeaderProps): react.JSX.Element;
1672
+ declare function PageHeader({ title, description, subtitle, actions, children }: PageHeaderProps): react_jsx_runtime.JSX.Element;
1672
1673
 
1673
1674
  interface LoadingSpinnerProps {
1674
1675
  /** Ring diameter: `sm` = 20px, `md` = 32px (default), `lg` = 48px. */
@@ -1682,7 +1683,7 @@ interface LoadingSpinnerProps {
1682
1683
  * LoadingSpinner — a centered animated ring for pending/loading regions.
1683
1684
  * (Distinct from the shell's internal "Loading…" text used inside data grids.)
1684
1685
  */
1685
- declare function LoadingSpinner({ size, padding, className }: LoadingSpinnerProps): react.JSX.Element;
1686
+ declare function LoadingSpinner({ size, padding, className }: LoadingSpinnerProps): react_jsx_runtime.JSX.Element;
1686
1687
 
1687
1688
  interface FilterOption {
1688
1689
  label: string;
@@ -1705,7 +1706,7 @@ interface FilterBarProps {
1705
1706
  * `<select>` or, for long lists, a glass-styled searchable dropdown; a "Clear
1706
1707
  * filters" button appears when any filter is active. Pair with `useFilters`.
1707
1708
  */
1708
- declare function FilterBar({ filters, values, onChange, onClear, children }: FilterBarProps): react.JSX.Element;
1709
+ declare function FilterBar({ filters, values, onChange, onClear, children }: FilterBarProps): react_jsx_runtime.JSX.Element;
1709
1710
  /** Local filter-state helper: tracks active filter values + derived params. */
1710
1711
  declare function useFilters(): {
1711
1712
  filterValues: Record<string, string>;
@@ -1721,13 +1722,13 @@ declare function useFilters(): {
1721
1722
  */
1722
1723
  declare function SidebarGroupLabel({ children }: {
1723
1724
  children: ReactNode;
1724
- }): react.JSX.Element;
1725
+ }): react_jsx_runtime.JSX.Element;
1725
1726
  declare function SidebarNavItem({ label, count, active, onClick }: {
1726
1727
  label: string;
1727
1728
  count?: number;
1728
1729
  active: boolean;
1729
1730
  onClick: () => void;
1730
- }): react.JSX.Element;
1731
+ }): react_jsx_runtime.JSX.Element;
1731
1732
 
1732
1733
  /**
1733
1734
  * Semantic role of a column, used to auto-map CSV columns to fields and to
@@ -1779,7 +1780,7 @@ interface BulkImportGridProps {
1779
1780
  * column's `kind` (`price`/`qty`) to opt it into CSV auto-detection and the
1780
1781
  * totals strip.
1781
1782
  */
1782
- declare function BulkImportGrid({ columns, onImport, description, mergeDuplicates }: BulkImportGridProps): react.JSX.Element;
1783
+ declare function BulkImportGrid({ columns, onImport, description, mergeDuplicates }: BulkImportGridProps): react_jsx_runtime.JSX.Element;
1783
1784
 
1784
1785
  /**
1785
1786
  * Pure helpers for reconciling a bulk-import grid (rows of string cells) against
@@ -1886,7 +1887,7 @@ interface ContainerFillChartProps<T = ContainerFillItem> {
1886
1887
  * `getVolume` to inject per-unit volumes; the chart owns the container math and
1887
1888
  * the instruction-vs-loaded dual-bar rendering.
1888
1889
  */
1889
- declare function ContainerFillChart<T = ContainerFillItem>({ items, getVolume, qtyField, showNewIndicator, getInstructionQty, getActualQty, isFilled, isNew, className, style, }: ContainerFillChartProps<T>): react.JSX.Element | null;
1890
+ declare function ContainerFillChart<T = ContainerFillItem>({ items, getVolume, qtyField, showNewIndicator, getInstructionQty, getActualQty, isFilled, isNew, className, style, }: ContainerFillChartProps<T>): react_jsx_runtime.JSX.Element | null;
1890
1891
 
1891
1892
  /** Result of a single health poll. `latencyMs` is optional; when omitted on
1892
1893
  * an ok result the indicator simply shows no latency for that poll. */
@@ -1931,7 +1932,7 @@ interface ServerStatusIndicatorProps {
1931
1932
  * notification bell; supply `healthCheck` (or `healthUrl`), `user`, and
1932
1933
  * `version` via a thin per-app wrapper.
1933
1934
  */
1934
- declare function ServerStatusIndicator({ healthCheck, healthUrl, pollMs, requestTimeoutMs, user, version, }: ServerStatusIndicatorProps): react.JSX.Element;
1935
+ declare function ServerStatusIndicator({ healthCheck, healthUrl, pollMs, requestTimeoutMs, user, version, }: ServerStatusIndicatorProps): react_jsx_runtime.JSX.Element;
1935
1936
 
1936
1937
  interface ChangePasswordFormProps {
1937
1938
  /**
@@ -1958,7 +1959,7 @@ interface ChangePasswordFormProps {
1958
1959
  * Product-agnostic change-password form. The host supplies `onSubmit` to do the
1959
1960
  * actual change (e.g. call an API then re-authenticate).
1960
1961
  */
1961
- declare function ChangePasswordForm({ onSubmit, onSuccess, confirmOnSuccess, minLength, submitLabel, doneLabel, }: ChangePasswordFormProps): react.JSX.Element;
1962
+ declare function ChangePasswordForm({ onSubmit, onSuccess, confirmOnSuccess, minLength, submitLabel, doneLabel, }: ChangePasswordFormProps): react_jsx_runtime.JSX.Element;
1962
1963
 
1963
1964
  interface PdfActionButtonProps {
1964
1965
  /**
@@ -2004,7 +2005,7 @@ interface PdfActionButtonProps {
2004
2005
  * recent-documents logging) are lifted to the optional `onEmail` /
2005
2006
  * `onPreviewOpened` callbacks.
2006
2007
  */
2007
- declare function PdfActionButton({ fetchPdf, filename, label, className, disabled, onEmail, onPreviewOpened, icon, }: PdfActionButtonProps): react.JSX.Element;
2008
+ declare function PdfActionButton({ fetchPdf, filename, label, className, disabled, onEmail, onPreviewOpened, icon, }: PdfActionButtonProps): react_jsx_runtime.JSX.Element;
2008
2009
 
2009
2010
  /** Visual category for a milestone. Drives shape + colour so the user can
2010
2011
  * tell different milestone types apart at a glance. */
@@ -2064,7 +2065,7 @@ interface MilestoneTimelineProps {
2064
2065
  * Product-agnostic: it takes generic `Milestone` data as props. Map your
2065
2066
  * domain records to the `Milestone` shape in a thin wrapper at the call site.
2066
2067
  */
2067
- declare function MilestoneTimeline({ title, milestones, summary, endDate, phaseLabels }: MilestoneTimelineProps): react.JSX.Element;
2068
+ declare function MilestoneTimeline({ title, milestones, summary, endDate, phaseLabels }: MilestoneTimelineProps): react_jsx_runtime.JSX.Element;
2068
2069
 
2069
2070
  /**
2070
2071
  * Shared chart types. The charts are dependency-free inline SVG/CSS — color
@@ -2117,35 +2118,35 @@ interface DonutChartProps {
2117
2118
  style?: CSSProperties;
2118
2119
  }
2119
2120
 
2120
- declare function Sparkline({ data, width, height, stroke, fill, strokeWidth, showDots, className, style, }: SparklineProps): react.JSX.Element | null;
2121
+ declare function Sparkline({ data, width, height, stroke, fill, strokeWidth, showDots, className, style, }: SparklineProps): react_jsx_runtime.JSX.Element | null;
2121
2122
 
2122
- declare function BarChart({ data, labels, height, color, colors, max, gap, className, style, }: BarChartProps): react.JSX.Element | null;
2123
+ declare function BarChart({ data, labels, height, color, colors, max, gap, className, style, }: BarChartProps): react_jsx_runtime.JSX.Element | null;
2123
2124
 
2124
- declare function DonutChart({ segments, size, thickness, centerLabel, className, style }: DonutChartProps): react.JSX.Element;
2125
+ declare function DonutChart({ segments, size, thickness, centerLabel, className, style }: DonutChartProps): react_jsx_runtime.JSX.Element;
2125
2126
 
2126
- declare function DashboardTemplate(): react.JSX.Element;
2127
+ declare function DashboardTemplate(): react_jsx_runtime.JSX.Element;
2127
2128
 
2128
- declare function DataTablePage(): react.JSX.Element;
2129
+ declare function DataTablePage(): react_jsx_runtime.JSX.Element;
2129
2130
 
2130
- declare function FormLayoutPage(): react.JSX.Element;
2131
+ declare function FormLayoutPage(): react_jsx_runtime.JSX.Element;
2131
2132
 
2132
- declare function CheckoutTemplate(): react.JSX.Element;
2133
+ declare function CheckoutTemplate(): react_jsx_runtime.JSX.Element;
2133
2134
 
2134
- declare function EmailTemplate(): react.JSX.Element;
2135
+ declare function EmailTemplate(): react_jsx_runtime.JSX.Element;
2135
2136
 
2136
- declare function ChatTemplate(): react.JSX.Element;
2137
+ declare function ChatTemplate(): react_jsx_runtime.JSX.Element;
2137
2138
 
2138
- declare function GalleryTemplate(): react.JSX.Element;
2139
+ declare function GalleryTemplate(): react_jsx_runtime.JSX.Element;
2139
2140
 
2140
2141
  interface AuthScreenProps {
2141
2142
  mode?: 'login' | 'register' | 'forgot';
2142
2143
  }
2143
- declare function AuthScreen({ mode }: AuthScreenProps): react.JSX.Element;
2144
+ declare function AuthScreen({ mode }: AuthScreenProps): react_jsx_runtime.JSX.Element;
2144
2145
 
2145
2146
  interface ErrorPageProps {
2146
2147
  code?: 403 | 404 | 500;
2147
2148
  }
2148
- declare function ErrorPage({ code }: ErrorPageProps): react.JSX.Element;
2149
+ declare function ErrorPage({ code }: ErrorPageProps): react_jsx_runtime.JSX.Element;
2149
2150
 
2150
2151
  /** Package version, injected by tsup at build time. Stays as an empty
2151
2152
  * string when the source is consumed without a build (e.g. tests). */
@@ -2158,7 +2159,7 @@ interface ShellAuth {
2158
2159
  declare function ShellAuthProvider({ value, children }: {
2159
2160
  value: ShellAuth;
2160
2161
  children: ReactNode;
2161
- }): react.JSX.Element;
2162
+ }): react_jsx_runtime.JSX.Element;
2162
2163
  declare function useShellAuth(): ShellAuth;
2163
2164
 
2164
2165
  interface ShellPrefsAdapter {
@@ -2171,7 +2172,7 @@ interface ShellPrefsAdapter {
2171
2172
  declare function ShellPrefsProvider({ value, children, }: {
2172
2173
  value: ShellPrefsAdapter;
2173
2174
  children: ReactNode;
2174
- }): react.JSX.Element;
2175
+ }): react_jsx_runtime.JSX.Element;
2175
2176
  /** Default localStorage-backed adapter — useful when the consumer doesn't
2176
2177
  * ship a backend. Pass the result into <ShellPrefsProvider value={…}>.
2177
2178
  *
@@ -2188,7 +2189,7 @@ type EntityFetcher = (endpoint: string, id: string) => Promise<any>;
2188
2189
  declare function ShellEntityFetcherProvider({ value, children, }: {
2189
2190
  value: EntityFetcher;
2190
2191
  children: ReactNode;
2191
- }): react.JSX.Element;
2192
+ }): react_jsx_runtime.JSX.Element;
2192
2193
  /** Returns the consumer-supplied entity fetcher, or a stub that throws
2193
2194
  * on call. Components that fetch entities call this hook eagerly so any
2194
2195
  * misconfiguration surfaces synchronously rather than at click-time. */
package/dist/index.js CHANGED
@@ -1,22 +1,22 @@
1
- import { subscribePomo, getPomoSnapshot } from './chunk-F2KBTMSP.js';
2
- export { setShellTodoProvider } from './chunk-F2KBTMSP.js';
3
- import { PREVIEW_OPENED_EVENT, publishDesktopFolders, requestFilesTrashView, FolderGlyph, openPreviewFile, requestFilesDesktopFolderView, FileIconTile, hashGradient } from './chunk-OY6GC3ZI.js';
4
- export { Breadcrumbs } from './chunk-OY6GC3ZI.js';
1
+ import { subscribePomo, getPomoSnapshot } from './chunk-YLJY5LDU.js';
2
+ export { setShellTodoProvider } from './chunk-YLJY5LDU.js';
3
+ import { PREVIEW_OPENED_EVENT, publishDesktopFolders, requestFilesTrashView, FolderGlyph, openPreviewFile, requestFilesDesktopFolderView, FileIconTile, hashGradient } from './chunk-R2M7SXLN.js';
4
+ export { Breadcrumbs } from './chunk-R2M7SXLN.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
- import { setPdfPreview } from './chunk-S3ZVBCKK.js';
9
- export { ImageAnnotator_default as ImageAnnotator } from './chunk-S3ZVBCKK.js';
8
+ import { setPdfPreview } from './chunk-2E474D7Q.js';
9
+ export { ImageAnnotator_default as ImageAnnotator } from './chunk-2E474D7Q.js';
10
10
  import { toast_default } from './chunk-VENYVK3L.js';
11
11
  export { toast_default as toast } from './chunk-VENYVK3L.js';
12
- import { EditableGrid } from './chunk-3T75O6VR.js';
13
- export { EditableGrid } from './chunk-3T75O6VR.js';
12
+ import { EditableGrid } from './chunk-SNIBFLLT.js';
13
+ export { EditableGrid } from './chunk-SNIBFLLT.js';
14
14
  import { useAuth, useShellAuth } from './chunk-ADJ3CERD.js';
15
15
  export { ShellAuthProvider, setShellAuthBridge, useShellAuth } from './chunk-ADJ3CERD.js';
16
- import { APP_VERSION, VERSION } from './chunk-6FET2LA4.js';
17
- export { VERSION } from './chunk-6FET2LA4.js';
18
- import { useWindowManager, PopupMenu, PopupMenuLabel, PopupMenuDivider, PopupMenuItem, WINDOW_REGISTRY, isPageEntry, Modal, useShellPrefs, useIsMobile, ModalActions, useModalActive, client_default, LoadingSpinner, CancelButton, setWindowPosition, ThumbCard, activateModal } from './chunk-HJ5ZNXPB.js';
19
- 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-HJ5ZNXPB.js';
16
+ import { APP_VERSION, VERSION } from './chunk-RTHUQTNU.js';
17
+ export { VERSION } from './chunk-RTHUQTNU.js';
18
+ import { useWindowManager, PopupMenu, PopupMenuLabel, PopupMenuDivider, PopupMenuItem, WINDOW_REGISTRY, isPageEntry, Modal, useShellPrefs, useIsMobile, ModalActions, useModalActive, client_default, LoadingSpinner, CancelButton, setWindowPosition, ThumbCard, activateModal } from './chunk-JXW7H3DU.js';
19
+ 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-JXW7H3DU.js';
20
20
  export { ConfirmProvider, confirm, confirmDestructive, prompt } from './chunk-UBN4IUDE.js';
21
21
  import { glassStyle, startMenuCategories, navSections, isSection, GLASS_INPUT_BG, navIcons, sectionIcons } from './chunk-ZF6AYO4G.js';
22
22
  export { GLASS_DIVIDER, GLASS_INPUT_BG, glassStyle, setShellNavIcons } from './chunk-ZF6AYO4G.js';
@@ -1,4 +1,4 @@
1
- import { LazyExoticComponent, ReactNode } from 'react';
1
+ import { ReactNode, LazyExoticComponent } from 'react';
2
2
 
3
3
  /**
4
4
  * Window registry types — generic shell concepts (no consumer-specific data).