react-os-shell 0.13.2 → 0.14.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 (47) hide show
  1. package/dist/{Browser-W63A4RUT.js → Browser-M5Y3ENA7.js} +3 -3
  2. package/dist/{Browser-W63A4RUT.js.map → Browser-M5Y3ENA7.js.map} +1 -1
  3. package/dist/{Calculator-Z2DAZD6K.js → Calculator-DJYKVGOK.js} +4 -4
  4. package/dist/{Calculator-Z2DAZD6K.js.map → Calculator-DJYKVGOK.js.map} +1 -1
  5. package/dist/{CurrencyConverter-S6RQB3OJ.js → CurrencyConverter-ZJWZCO5U.js} +4 -4
  6. package/dist/{CurrencyConverter-S6RQB3OJ.js.map → CurrencyConverter-ZJWZCO5U.js.map} +1 -1
  7. package/dist/{Documents-VE5Z7DRX.js → Documents-2S4QPAI3.js} +3 -3
  8. package/dist/{Documents-VE5Z7DRX.js.map → Documents-2S4QPAI3.js.map} +1 -1
  9. package/dist/Files-5N64E375.js +11 -0
  10. package/dist/{Files-5IXGRZKM.js.map → Files-5N64E375.js.map} +1 -1
  11. package/dist/{Minesweeper-WVAFWKCZ.js → Minesweeper-YNXOWMIP.js} +3 -3
  12. package/dist/{Minesweeper-WVAFWKCZ.js.map → Minesweeper-YNXOWMIP.js.map} +1 -1
  13. package/dist/{Notepad-OLNPHKTT.js → Notepad-AFAUA4KJ.js} +3 -3
  14. package/dist/{Notepad-OLNPHKTT.js.map → Notepad-AFAUA4KJ.js.map} +1 -1
  15. package/dist/{PomodoroTimer-ZJYDPFCT.js → PomodoroTimer-SBBPQMYB.js} +4 -4
  16. package/dist/{PomodoroTimer-ZJYDPFCT.js.map → PomodoroTimer-SBBPQMYB.js.map} +1 -1
  17. package/dist/Preview-KUAQIPBY.js +8 -0
  18. package/dist/{Preview-LTZOUTQ7.js.map → Preview-KUAQIPBY.js.map} +1 -1
  19. package/dist/Spreadsheet-TVP3SXT6.js +6 -0
  20. package/dist/{Spreadsheet-VT3ZISIN.js.map → Spreadsheet-TVP3SXT6.js.map} +1 -1
  21. package/dist/{Stock-DWESS6UC.js → Stock-ICDNFM7U.js} +4 -4
  22. package/dist/{Stock-DWESS6UC.js.map → Stock-ICDNFM7U.js.map} +1 -1
  23. package/dist/{Weather-NJHYEKH3.js → Weather-WH3URRSL.js} +4 -4
  24. package/dist/{Weather-NJHYEKH3.js.map → Weather-WH3URRSL.js.map} +1 -1
  25. package/dist/{WorldClock-UJKD253K.js → WorldClock-LJRWPGJW.js} +4 -4
  26. package/dist/{WorldClock-UJKD253K.js.map → WorldClock-LJRWPGJW.js.map} +1 -1
  27. package/dist/apps/index.js +18 -18
  28. package/dist/{chunk-IMFUTSYY.js → chunk-4RXDOSKZ.js} +22 -5
  29. package/dist/chunk-4RXDOSKZ.js.map +1 -0
  30. package/dist/{chunk-66GIT3PM.js → chunk-6DDVFASF.js} +3 -3
  31. package/dist/{chunk-66GIT3PM.js.map → chunk-6DDVFASF.js.map} +1 -1
  32. package/dist/{chunk-BS7EHYBT.js → chunk-7TG7VNJS.js} +3 -3
  33. package/dist/{chunk-BS7EHYBT.js.map → chunk-7TG7VNJS.js.map} +1 -1
  34. package/dist/{chunk-EFNKEBDB.js → chunk-D4ZM3K2S.js} +4 -4
  35. package/dist/{chunk-EFNKEBDB.js.map → chunk-D4ZM3K2S.js.map} +1 -1
  36. package/dist/{chunk-DMSHU2HJ.js → chunk-K354WXU5.js} +3 -3
  37. package/dist/{chunk-DMSHU2HJ.js.map → chunk-K354WXU5.js.map} +1 -1
  38. package/dist/{chunk-3SIZAHR6.js → chunk-OB7T3Q5C.js} +4 -4
  39. package/dist/{chunk-3SIZAHR6.js.map → chunk-OB7T3Q5C.js.map} +1 -1
  40. package/dist/index.d.ts +69 -2
  41. package/dist/index.js +350 -264
  42. package/dist/index.js.map +1 -1
  43. package/package.json +1 -1
  44. package/dist/Files-5IXGRZKM.js +0 -11
  45. package/dist/Preview-LTZOUTQ7.js +0 -8
  46. package/dist/Spreadsheet-VT3ZISIN.js +0 -6
  47. package/dist/chunk-IMFUTSYY.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { setPdfPreview } from './chunk-DMSHU2HJ.js';
1
+ import { setPdfPreview } from './chunk-K354WXU5.js';
2
2
  import { toast_default } from './chunk-WIJ45SYD.js';
3
- import { setSpreadsheetPreview } from './chunk-66GIT3PM.js';
3
+ import { setSpreadsheetPreview } from './chunk-6DDVFASF.js';
4
4
 
5
5
  // src/utils/openPreviewFile.ts
6
6
  var PREVIEW_OPENED_EVENT = "react-os-shell:preview-opened";
@@ -42,5 +42,5 @@ async function openPreviewFile(opts) {
42
42
  }
43
43
 
44
44
  export { PREVIEW_OPENED_EVENT, openPreviewFile };
45
- //# sourceMappingURL=chunk-3SIZAHR6.js.map
46
- //# sourceMappingURL=chunk-3SIZAHR6.js.map
45
+ //# sourceMappingURL=chunk-OB7T3Q5C.js.map
46
+ //# sourceMappingURL=chunk-OB7T3Q5C.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils/openPreviewFile.ts"],"names":[],"mappings":";;;;;AA6BO,IAAM,oBAAA,GAAuB;AAQpC,SAAS,SAAA,GAAY;AACnB,EAAA,MAAM,QAAA,GAAY,OAAO,MAAA,KAAW,WAAA,IAAgB,MAAA,CAAe,8BAAA;AACnE,EAAA,OAAA,CAAQ,QAAA,IAAY,uBAAA,EAAyB,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AAChE;AAEA,eAAsB,gBAAgB,IAAA,EAA6C;AACjF,EAAA,MAAM,EAAE,QAAA,EAAU,QAAA,EAAU,IAAA,EAAM,UAAS,GAAI,IAAA;AAC/C,EAAA,IAAI;AACF,IAAA,MAAM,MAAM,MAAM,KAAA;AAAA,MAChB,GAAG,SAAA,EAAW,CAAA,eAAA,EAAkB,kBAAA,CAAmB,QAAQ,CAAC,CAAA,CAAA;AAAA,MAC5D,EAAE,aAAa,SAAA;AAAU,KAC3B;AACA,IAAA,IAAI,CAAC,IAAI,EAAA,EAAI;AACX,MAAA,aAAA,CAAM,KAAA,CAAM,CAAA,iBAAA,EAAoB,GAAA,CAAI,MAAM,CAAA,CAAA,CAAG,CAAA;AAC7C,MAAA,OAAO,KAAA;AAAA,IACT;AACA,IAAA,MAAM,IAAA,GAAO,MAAM,GAAA,CAAI,IAAA,EAAK;AAC5B,IAAA,IAAI,SAAS,KAAA,EAAO;AAClB,MAAA,MAAM,IAAA,GAAO,MAAM,IAAA,CAAK,IAAA,EAAK;AAC7B,MAAA,qBAAA,CAAsB,EAAE,GAAA,EAAK,IAAA,EAAM,QAAA,EAAU,CAAA;AAC7C,MAAA,QAAA,GAAW,cAAc,CAAA;AAAA,IAC3B,CAAA,MAAO;AACL,MAAA,MAAM,GAAA,GAAM,GAAA,CAAI,eAAA,CAAgB,IAAI,CAAA;AACpC,MAAA,aAAA,CAAc,EAAE,GAAA,EAAK,QAAA,EAAU,IAAA,EAAM,CAAA;AACrC,MAAA,QAAA,GAAW,UAAU,CAAA;AAAA,IACvB;AACA,IAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AACjC,MAAA,MAAA,CAAO,aAAA,CAAc,IAAI,WAAA,CAAiC,oBAAA,EAAsB;AAAA,QAC9E,MAAA,EAAQ,EAAE,QAAA,EAAU,QAAA,EAAU,IAAA;AAAK,OACpC,CAAC,CAAA;AAAA,IACJ;AACA,IAAA,OAAO,IAAA;AAAA,EACT,SAAS,CAAA,EAAQ;AACf,IAAA,aAAA,CAAM,KAAA,CAAM,CAAA,EAAG,OAAA,IAAW,aAAa,CAAA;AACvC,IAAA,OAAO,KAAA;AAAA,EACT;AACF","file":"chunk-3SIZAHR6.js","sourcesContent":["/**\n * Fetch a file from the user's file-server and route it into the right\n * preview window. Shared by the Files app and the desktop Documents\n * folder's shortcut click-through.\n *\n * On success, dispatches `react-os-shell:preview-opened` so Desktop can\n * record the file as a shortcut without this util needing access to the\n * prefs adapter.\n */\nimport toast from '../shell/toast';\nimport { setPdfPreview } from '../apps/Preview';\nimport { setSpreadsheetPreview } from '../apps/Spreadsheet';\n\nexport type PreviewFileKind = 'pdf' | 'dxf' | '3d' | 'image' | 'csv';\n\nexport interface OpenPreviewFileOpts {\n /** Server-relative path, e.g. \"/reports/Q1.pdf\". */\n filePath: string;\n /** Display name (also used as the download filename). */\n filename: string;\n /** Which viewer to route into. CSV opens in Spreadsheet; the rest open in Preview. */\n kind: PreviewFileKind;\n /** Optional callback invoked after staging the preview, with the route to\n * open (e.g. '/preview' or '/spreadsheet'). The caller is responsible\n * for actually opening the page since the window manager hook is\n * React-scoped. */\n onStaged?: (route: '/preview' | '/spreadsheet') => void;\n}\n\nexport const PREVIEW_OPENED_EVENT = 'react-os-shell:preview-opened';\n\nexport interface PreviewOpenedDetail {\n filePath: string;\n filename: string;\n kind: PreviewFileKind;\n}\n\nfunction getServer() {\n const override = (typeof window !== 'undefined' && (window as any).__REACT_OS_SHELL_FILE_SERVER__) as string | undefined;\n return (override || 'http://localhost:4000').replace(/\\/$/, '');\n}\n\nexport async function openPreviewFile(opts: OpenPreviewFileOpts): Promise<boolean> {\n const { filePath, filename, kind, onStaged } = opts;\n try {\n const res = await fetch(\n `${getServer()}/api/file?path=${encodeURIComponent(filePath)}`,\n { credentials: 'include' },\n );\n if (!res.ok) {\n toast.error(`Download failed (${res.status})`);\n return false;\n }\n const blob = await res.blob();\n if (kind === 'csv') {\n const text = await blob.text();\n setSpreadsheetPreview({ csv: text, filename });\n onStaged?.('/spreadsheet');\n } else {\n const url = URL.createObjectURL(blob);\n setPdfPreview({ url, filename, kind });\n onStaged?.('/preview');\n }\n if (typeof window !== 'undefined') {\n window.dispatchEvent(new CustomEvent<PreviewOpenedDetail>(PREVIEW_OPENED_EVENT, {\n detail: { filePath, filename, kind },\n }));\n }\n return true;\n } catch (e: any) {\n toast.error(e?.message || 'Open failed');\n return false;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/utils/openPreviewFile.ts"],"names":[],"mappings":";;;;;AA6BO,IAAM,oBAAA,GAAuB;AAQpC,SAAS,SAAA,GAAY;AACnB,EAAA,MAAM,QAAA,GAAY,OAAO,MAAA,KAAW,WAAA,IAAgB,MAAA,CAAe,8BAAA;AACnE,EAAA,OAAA,CAAQ,QAAA,IAAY,uBAAA,EAAyB,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AAChE;AAEA,eAAsB,gBAAgB,IAAA,EAA6C;AACjF,EAAA,MAAM,EAAE,QAAA,EAAU,QAAA,EAAU,IAAA,EAAM,UAAS,GAAI,IAAA;AAC/C,EAAA,IAAI;AACF,IAAA,MAAM,MAAM,MAAM,KAAA;AAAA,MAChB,GAAG,SAAA,EAAW,CAAA,eAAA,EAAkB,kBAAA,CAAmB,QAAQ,CAAC,CAAA,CAAA;AAAA,MAC5D,EAAE,aAAa,SAAA;AAAU,KAC3B;AACA,IAAA,IAAI,CAAC,IAAI,EAAA,EAAI;AACX,MAAA,aAAA,CAAM,KAAA,CAAM,CAAA,iBAAA,EAAoB,GAAA,CAAI,MAAM,CAAA,CAAA,CAAG,CAAA;AAC7C,MAAA,OAAO,KAAA;AAAA,IACT;AACA,IAAA,MAAM,IAAA,GAAO,MAAM,GAAA,CAAI,IAAA,EAAK;AAC5B,IAAA,IAAI,SAAS,KAAA,EAAO;AAClB,MAAA,MAAM,IAAA,GAAO,MAAM,IAAA,CAAK,IAAA,EAAK;AAC7B,MAAA,qBAAA,CAAsB,EAAE,GAAA,EAAK,IAAA,EAAM,QAAA,EAAU,CAAA;AAC7C,MAAA,QAAA,GAAW,cAAc,CAAA;AAAA,IAC3B,CAAA,MAAO;AACL,MAAA,MAAM,GAAA,GAAM,GAAA,CAAI,eAAA,CAAgB,IAAI,CAAA;AACpC,MAAA,aAAA,CAAc,EAAE,GAAA,EAAK,QAAA,EAAU,IAAA,EAAM,CAAA;AACrC,MAAA,QAAA,GAAW,UAAU,CAAA;AAAA,IACvB;AACA,IAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AACjC,MAAA,MAAA,CAAO,aAAA,CAAc,IAAI,WAAA,CAAiC,oBAAA,EAAsB;AAAA,QAC9E,MAAA,EAAQ,EAAE,QAAA,EAAU,QAAA,EAAU,IAAA;AAAK,OACpC,CAAC,CAAA;AAAA,IACJ;AACA,IAAA,OAAO,IAAA;AAAA,EACT,SAAS,CAAA,EAAQ;AACf,IAAA,aAAA,CAAM,KAAA,CAAM,CAAA,EAAG,OAAA,IAAW,aAAa,CAAA;AACvC,IAAA,OAAO,KAAA;AAAA,EACT;AACF","file":"chunk-OB7T3Q5C.js","sourcesContent":["/**\n * Fetch a file from the user's file-server and route it into the right\n * preview window. Shared by the Files app and the desktop Documents\n * folder's shortcut click-through.\n *\n * On success, dispatches `react-os-shell:preview-opened` so Desktop can\n * record the file as a shortcut without this util needing access to the\n * prefs adapter.\n */\nimport toast from '../shell/toast';\nimport { setPdfPreview } from '../apps/Preview';\nimport { setSpreadsheetPreview } from '../apps/Spreadsheet';\n\nexport type PreviewFileKind = 'pdf' | 'dxf' | '3d' | 'image' | 'csv';\n\nexport interface OpenPreviewFileOpts {\n /** Server-relative path, e.g. \"/reports/Q1.pdf\". */\n filePath: string;\n /** Display name (also used as the download filename). */\n filename: string;\n /** Which viewer to route into. CSV opens in Spreadsheet; the rest open in Preview. */\n kind: PreviewFileKind;\n /** Optional callback invoked after staging the preview, with the route to\n * open (e.g. '/preview' or '/spreadsheet'). The caller is responsible\n * for actually opening the page since the window manager hook is\n * React-scoped. */\n onStaged?: (route: '/preview' | '/spreadsheet') => void;\n}\n\nexport const PREVIEW_OPENED_EVENT = 'react-os-shell:preview-opened';\n\nexport interface PreviewOpenedDetail {\n filePath: string;\n filename: string;\n kind: PreviewFileKind;\n}\n\nfunction getServer() {\n const override = (typeof window !== 'undefined' && (window as any).__REACT_OS_SHELL_FILE_SERVER__) as string | undefined;\n return (override || 'http://localhost:4000').replace(/\\/$/, '');\n}\n\nexport async function openPreviewFile(opts: OpenPreviewFileOpts): Promise<boolean> {\n const { filePath, filename, kind, onStaged } = opts;\n try {\n const res = await fetch(\n `${getServer()}/api/file?path=${encodeURIComponent(filePath)}`,\n { credentials: 'include' },\n );\n if (!res.ok) {\n toast.error(`Download failed (${res.status})`);\n return false;\n }\n const blob = await res.blob();\n if (kind === 'csv') {\n const text = await blob.text();\n setSpreadsheetPreview({ csv: text, filename });\n onStaged?.('/spreadsheet');\n } else {\n const url = URL.createObjectURL(blob);\n setPdfPreview({ url, filename, kind });\n onStaged?.('/preview');\n }\n if (typeof window !== 'undefined') {\n window.dispatchEvent(new CustomEvent<PreviewOpenedDetail>(PREVIEW_OPENED_EVENT, {\n detail: { filePath, filename, kind },\n }));\n }\n return true;\n } catch (e: any) {\n toast.error(e?.message || 'Open failed');\n return false;\n }\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -497,6 +497,67 @@ interface SidebarLayoutProps {
497
497
  }
498
498
  declare function SidebarLayout({ sidebar, children, side, storageKey, defaultWidth, minWidth, maxWidth, className, sidebarClassName, contentClassName, }: SidebarLayoutProps): react_jsx_runtime.JSX.Element;
499
499
 
500
+ /**
501
+ * Generic top navigation bar. A horizontal row of tab-style links with an
502
+ * optional brand on the left and free-form actions on the right. Self-contained
503
+ * and styled with the shell's Tailwind utilities, so it themes for free.
504
+ *
505
+ * Controlled: pass `activeKey` and handle `onSelect`. The active item gets an
506
+ * accent underline. Items can carry an `icon`, a `badge` (e.g. a count) and be
507
+ * `disabled`.
508
+ */
509
+ interface TopNavItem {
510
+ /** Stable key — what `onSelect` receives and `activeKey` matches. */
511
+ key: string;
512
+ label: ReactNode;
513
+ /** Optional leading icon (typically a 4×4 svg). */
514
+ icon?: ReactNode;
515
+ /** Optional trailing badge — a count, dot, "New", etc. */
516
+ badge?: ReactNode;
517
+ disabled?: boolean;
518
+ }
519
+ interface TopNavProps {
520
+ items: TopNavItem[];
521
+ /** Key of the active item — it gets the accent underline. */
522
+ activeKey?: string;
523
+ onSelect?: (key: string) => void;
524
+ /** Left slot — logo / product title. */
525
+ brand?: ReactNode;
526
+ /** Right slot — actions (buttons, search, avatar…). Pinned to the far right. */
527
+ actions?: ReactNode;
528
+ className?: string;
529
+ }
530
+ declare function TopNav({ items, activeKey, onSelect, brand, actions, className }: TopNavProps): react_jsx_runtime.JSX.Element;
531
+
532
+ /**
533
+ * Generic breadcrumb trail. Self-contained and styled with the same Tailwind
534
+ * utilities the shell already ships, so consumers get it for free.
535
+ *
536
+ * Pass an ordered list of `items` from root → current. Every crumb except the
537
+ * last renders as a button when it has an `onClick`; the last crumb is treated
538
+ * as the current location — rendered inert with `aria-current="page"`. When the
539
+ * trail is long, set `maxItems` to collapse the middle into an ellipsis
540
+ * (`first … last-n` ), keeping the first and the tail visible.
541
+ */
542
+ interface BreadcrumbItem {
543
+ /** Visible label. */
544
+ label: ReactNode;
545
+ /** Optional leading icon (typically a 3.5×3.5 svg). */
546
+ icon?: ReactNode;
547
+ /** Navigate to this crumb. Omitted on the current (last) crumb. */
548
+ onClick?: () => void;
549
+ }
550
+ interface BreadcrumbsProps {
551
+ items: BreadcrumbItem[];
552
+ /** Node rendered between crumbs. Defaults to a chevron. */
553
+ separator?: ReactNode;
554
+ /** Collapse the middle to an ellipsis when there are more than this many
555
+ * crumbs. `0` (default) never collapses. */
556
+ maxItems?: number;
557
+ className?: string;
558
+ }
559
+ declare function Breadcrumbs({ items, separator, maxItems, className }: BreadcrumbsProps): react_jsx_runtime.JSX.Element | null;
560
+
500
561
  /** Generic notification shape consumed by the shell. Consumer-specific
501
562
  * fields live on `extra` (or just on additional properties — TS structural
502
563
  * typing is permissive). */
@@ -929,10 +990,16 @@ declare function WidgetManager({ open, onClose }: {
929
990
  /** Sections that can be omitted from the inline Customization page when the
930
991
  * consumer renders them elsewhere (e.g. as separate entries in SystemPreferences). */
931
992
  type CustomizationOmitSection = 'behavior' | 'desktop';
993
+ /** A logical group of the Customization page. Pass `section` to render only one
994
+ * group, so the page can be split across separate SystemPreferences entries
995
+ * (Appearance / Layout / Behavior). Omit `section` to render the whole page. */
996
+ type CustomizationSection = 'appearance' | 'layout' | 'behavior';
932
997
  interface CustomizationProps {
933
998
  omit?: readonly CustomizationOmitSection[];
999
+ /** Render only one logical group of settings. Omit to render everything. */
1000
+ section?: CustomizationSection;
934
1001
  }
935
- declare function Customization({ omit }?: CustomizationProps): react_jsx_runtime.JSX.Element;
1002
+ declare function Customization({ omit, section }?: CustomizationProps): react_jsx_runtime.JSX.Element;
936
1003
 
937
1004
  /**
938
1005
  * Standalone Behavior settings panel — window position, double-click,
@@ -1437,4 +1504,4 @@ declare function useNewHotkey(callback: () => void): void;
1437
1504
  */
1438
1505
  declare function useEditHotkey(callback: (() => void) | null): void;
1439
1506
 
1440
- export { ALT, ALT_SHIFT_D, ALT_SHIFT_E, ALT_SHIFT_N, BehaviorPanel, type BugReport, type BugReportConfig, BugReportConfigProvider, BugReportDetail, type BugReportExtraField, type BugReportExtraSelectField, BugReportProvider, type BugReportSubmission, type BugReportSubmitPayload, CMD_A, CMD_DOT, CMD_ENTER, CMD_K, CMD_S, CancelButton, type CellStyle, type ChangelogEntry, type ColumnDef, ConfirmProvider, CopyButton, Customization, type CustomizationOmitSection, type CustomizationProps, DEV_BANNER_TEXT, Desktop, type DesktopHostConfig, DesktopHostProvider, DevIndicator, DocFavStar, ENTER, EditableGrid, type EditableGridProps, type EntityFetcher, EntityList, type EntityListColumn, type EntityListProps, GLASS_DIVIDER, GLASS_INPUT_BG, GlobalSearch, type GridColumn, HelpCenter, type HelpCenterDoc, type HelpCenterProps, Kanban, type KanbanColumn, type KanbanProps, Layout, type LayoutProps, ListFooter, MOD, Markdown, type MarkdownProps, Modal, ModalActions, NotificationBell, type NotificationsConfig, type PaginatedResponse, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, type ReportType, ResizableTable, SHIFT, type SearchConfig, type SearchProvider, type SearchResult, type SemanticGroup, type ShellAuth, ShellAuthProvider, ShellEntityFetcherProvider, type ShellNotification, type ShellPrefsAdapter, ShellPrefsProvider, ShortcutHelp, SidebarLayout, type SidebarLayoutProps, type SortState, SoundsPanel, StartMenu, StatusBadge, StatusBadgeProvider, type StickyEntityRef, type StickyResolver, SystemPreferences, type SystemPreferencesProps, type SystemPreferencesSection, type TodoProvider, type TodoTask, VERSION, WidgetManager, WindowManagerProvider, WindowRegistry, WindowTitle, applyDevTitle, commitExposeHighlight, confirm, confirmDestructive, createWindowRegistry, exitExposeMode, formatDate, getActiveWindowRoute, getExposeHighlight, getWindowPosition, glassStyle, isDevEnv, isMac, openBugReportDialog, prompt, reportBug, setExposeHighlight, setShellApiClient, setShellAuthBridge, setShellNavIcons, setShellTodoProvider, setWindowDefaultPosition, setWindowPosition, subscribeExposeHighlight, toast, toggleExposeMode, useBugReport, useClickOutside, useColumnConfig, useDesktopHost, useEditHotkey, useInfiniteScroll, useLocalStoragePrefs, useModalActive, useNewHotkey, useShellAuth, useShellEntityFetcher, useShellPrefs, useSort, useTableNav, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle };
1507
+ export { ALT, ALT_SHIFT_D, ALT_SHIFT_E, ALT_SHIFT_N, BehaviorPanel, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, type BugReport, type BugReportConfig, BugReportConfigProvider, BugReportDetail, type BugReportExtraField, type BugReportExtraSelectField, BugReportProvider, type BugReportSubmission, type BugReportSubmitPayload, CMD_A, CMD_DOT, CMD_ENTER, CMD_K, CMD_S, CancelButton, type CellStyle, type ChangelogEntry, type ColumnDef, ConfirmProvider, CopyButton, Customization, type CustomizationOmitSection, type CustomizationProps, type CustomizationSection, DEV_BANNER_TEXT, Desktop, type DesktopHostConfig, DesktopHostProvider, DevIndicator, DocFavStar, ENTER, EditableGrid, type EditableGridProps, type EntityFetcher, EntityList, type EntityListColumn, type EntityListProps, GLASS_DIVIDER, GLASS_INPUT_BG, GlobalSearch, type GridColumn, HelpCenter, type HelpCenterDoc, type HelpCenterProps, Kanban, type KanbanColumn, type KanbanProps, Layout, type LayoutProps, ListFooter, MOD, Markdown, type MarkdownProps, Modal, ModalActions, NotificationBell, type NotificationsConfig, type PaginatedResponse, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, type ReportType, ResizableTable, SHIFT, type SearchConfig, type SearchProvider, type SearchResult, type SemanticGroup, type ShellAuth, ShellAuthProvider, ShellEntityFetcherProvider, type ShellNotification, type ShellPrefsAdapter, ShellPrefsProvider, ShortcutHelp, SidebarLayout, type SidebarLayoutProps, type SortState, SoundsPanel, StartMenu, StatusBadge, StatusBadgeProvider, type StickyEntityRef, type StickyResolver, SystemPreferences, type SystemPreferencesProps, type SystemPreferencesSection, type TodoProvider, type TodoTask, TopNav, type TopNavItem, type TopNavProps, VERSION, WidgetManager, WindowManagerProvider, WindowRegistry, WindowTitle, applyDevTitle, commitExposeHighlight, confirm, confirmDestructive, createWindowRegistry, exitExposeMode, formatDate, getActiveWindowRoute, getExposeHighlight, getWindowPosition, glassStyle, isDevEnv, isMac, openBugReportDialog, prompt, reportBug, setExposeHighlight, setShellApiClient, setShellAuthBridge, setShellNavIcons, setShellTodoProvider, setWindowDefaultPosition, setWindowPosition, subscribeExposeHighlight, toast, toggleExposeMode, useBugReport, useClickOutside, useColumnConfig, useDesktopHost, useEditHotkey, useInfiniteScroll, useLocalStoragePrefs, useModalActive, useNewHotkey, useShellAuth, useShellEntityFetcher, useShellPrefs, useSort, useTableNav, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle };