react-os-shell 3.10.0 → 3.11.1

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 (52) hide show
  1. package/dist/Browser-OMB2YWT7.js +7 -0
  2. package/dist/{Browser-KMNCDY7D.js.map → Browser-OMB2YWT7.js.map} +1 -1
  3. package/dist/{Calculator-2HX5CQHC.js → Calculator-K3KWPHJI.js} +4 -4
  4. package/dist/{Calculator-2HX5CQHC.js.map → Calculator-K3KWPHJI.js.map} +1 -1
  5. package/dist/{CurrencyConverter-CCYVPA2T.js → CurrencyConverter-ROLJLHT4.js} +4 -4
  6. package/dist/{CurrencyConverter-CCYVPA2T.js.map → CurrencyConverter-ROLJLHT4.js.map} +1 -1
  7. package/dist/{Documents-7GJ5YKN5.js → Documents-FNUDJADL.js} +4 -4
  8. package/dist/{Documents-7GJ5YKN5.js.map → Documents-FNUDJADL.js.map} +1 -1
  9. package/dist/Files-YVG267R2.js +12 -0
  10. package/dist/{Files-ERJ5LMYQ.js.map → Files-YVG267R2.js.map} +1 -1
  11. package/dist/{Notepad-FQM7GCF7.js → Notepad-ZOF2A7Q7.js} +4 -4
  12. package/dist/{Notepad-FQM7GCF7.js.map → Notepad-ZOF2A7Q7.js.map} +1 -1
  13. package/dist/{PomodoroTimer-CHR6G3HN.js → PomodoroTimer-IKLRQIU3.js} +5 -5
  14. package/dist/{PomodoroTimer-CHR6G3HN.js.map → PomodoroTimer-IKLRQIU3.js.map} +1 -1
  15. package/dist/Preview-PNMJG2WL.js +8 -0
  16. package/dist/{Preview-XJLBPDGQ.js.map → Preview-PNMJG2WL.js.map} +1 -1
  17. package/dist/Spreadsheet-BPJIYAXF.js +7 -0
  18. package/dist/{Spreadsheet-TFBKD377.js.map → Spreadsheet-BPJIYAXF.js.map} +1 -1
  19. package/dist/{Stock-ALK2CV7R.js → Stock-VGTJEM4B.js} +4 -4
  20. package/dist/{Stock-ALK2CV7R.js.map → Stock-VGTJEM4B.js.map} +1 -1
  21. package/dist/{Weather-CW5JMDKQ.js → Weather-JXDY47YQ.js} +4 -4
  22. package/dist/{Weather-CW5JMDKQ.js.map → Weather-JXDY47YQ.js.map} +1 -1
  23. package/dist/{WorldClock-7B4JZOQR.js → WorldClock-ACR63JED.js} +4 -4
  24. package/dist/{WorldClock-7B4JZOQR.js.map → WorldClock-ACR63JED.js.map} +1 -1
  25. package/dist/apps/index.js +19 -19
  26. package/dist/{chunk-HMCBPRIZ.js → chunk-5HBGCZKG.js} +4 -4
  27. package/dist/{chunk-HMCBPRIZ.js.map → chunk-5HBGCZKG.js.map} +1 -1
  28. package/dist/{chunk-7UJLZUWX.js → chunk-76SEPQRP.js} +5 -5
  29. package/dist/{chunk-7UJLZUWX.js.map → chunk-76SEPQRP.js.map} +1 -1
  30. package/dist/{chunk-HUQGQCC7.js → chunk-GOT6PRT2.js} +4 -4
  31. package/dist/{chunk-HUQGQCC7.js.map → chunk-GOT6PRT2.js.map} +1 -1
  32. package/dist/{chunk-JXW7H3DU.js → chunk-HLWEKEKD.js} +10 -3
  33. package/dist/chunk-HLWEKEKD.js.map +1 -0
  34. package/dist/{chunk-PM5G3GVW.js → chunk-MRFKIP3G.js} +3 -3
  35. package/dist/{chunk-PM5G3GVW.js.map → chunk-MRFKIP3G.js.map} +1 -1
  36. package/dist/{chunk-ZYKRG3BM.js → chunk-MSP7WNTK.js} +4 -4
  37. package/dist/{chunk-ZYKRG3BM.js.map → chunk-MSP7WNTK.js.map} +1 -1
  38. package/dist/{chunk-IIEI3RDA.js → chunk-PQYTYQ62.js} +4 -4
  39. package/dist/{chunk-IIEI3RDA.js.map → chunk-PQYTYQ62.js.map} +1 -1
  40. package/dist/{chunk-YLJY5LDU.js → chunk-VGJ3KCOP.js} +3 -3
  41. package/dist/{chunk-YLJY5LDU.js.map → chunk-VGJ3KCOP.js.map} +1 -1
  42. package/dist/{chunk-S6CH5S26.js → chunk-XORQ5BQL.js} +4 -4
  43. package/dist/{chunk-S6CH5S26.js.map → chunk-XORQ5BQL.js.map} +1 -1
  44. package/dist/index.d.ts +138 -2
  45. package/dist/index.js +460 -16
  46. package/dist/index.js.map +1 -1
  47. package/package.json +1 -1
  48. package/dist/Browser-KMNCDY7D.js +0 -7
  49. package/dist/Files-ERJ5LMYQ.js +0 -12
  50. package/dist/Preview-XJLBPDGQ.js +0 -8
  51. package/dist/Spreadsheet-TFBKD377.js +0 -7
  52. package/dist/chunk-JXW7H3DU.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1512,6 +1512,9 @@ interface FormFieldProps {
1512
1512
  label?: ReactNode;
1513
1513
  /** id of the control, for label-for wiring. */
1514
1514
  htmlFor?: string;
1515
+ /** id for the `<label>` element itself, so a non-labelable control (e.g. a
1516
+ * `role="group"` wrapper) can name itself via `aria-labelledby`. */
1517
+ labelId?: string;
1515
1518
  /** Greyed helper text below the control. */
1516
1519
  hint?: ReactNode;
1517
1520
  /** Red error text below the control — overrides `hint` when present. */
@@ -1521,7 +1524,7 @@ interface FormFieldProps {
1521
1524
  className?: string;
1522
1525
  children: ReactNode;
1523
1526
  }
1524
- declare function FormField({ label, htmlFor, hint, error, required, className, children, }: FormFieldProps): react_jsx_runtime.JSX.Element;
1527
+ declare function FormField({ label, htmlFor, labelId, hint, error, required, className, children, }: FormFieldProps): react_jsx_runtime.JSX.Element;
1525
1528
 
1526
1529
  interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
1527
1530
  /** Append a red asterisk. */
@@ -1529,6 +1532,139 @@ interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
1529
1532
  }
1530
1533
  declare function Label({ required, children, className, ...rest }: LabelProps): react_jsx_runtime.JSX.Element;
1531
1534
 
1535
+ /**
1536
+ * Internal helpers shared by the media-upload primitives (`MediaUploadField`
1537
+ * single slot + `MediaUploadGrid` gallery) so the filename derivation, the
1538
+ * image-vs-video test, and the upload glyph / spinner live in one place (DRY /
1539
+ * SSoT). Not part of the public API except `mediaFileName`, which the field
1540
+ * re-exports.
1541
+ */
1542
+ /**
1543
+ * Derive a human filename from a media URL: drop the query string, strip a
1544
+ * 32-hex upload prefix, and URL-decode.
1545
+ *
1546
+ * "/media/uploads/9f3…a1_My Clip.mp4?v=2" → "My Clip.mp4"
1547
+ */
1548
+ declare function mediaFileName(url: string): string;
1549
+
1550
+ interface MediaUploadFieldProps {
1551
+ /** The current media URL. Empty string (or null/undefined) = the CTA state. */
1552
+ value?: string | null;
1553
+ /** Controlled channel — the newly-chosen URL, or `''` when cleared (Remove). */
1554
+ onChange: (url: string) => void;
1555
+ /**
1556
+ * Open the consumer's library/upload picker. Fires on click and on drop; the
1557
+ * dropped File (if any) is passed so the consumer can seed an immediate
1558
+ * upload. The consumer resolves the selection back through `onChange`.
1559
+ * Omit to fall back to a hidden native `<input type=file>` that emits an
1560
+ * object-URL (demos, staged-then-submit forms).
1561
+ */
1562
+ onPick?: (droppedFile?: File) => void;
1563
+ /** Label rendered above the control. */
1564
+ label?: ReactNode;
1565
+ /** Greyed helper line below the control. */
1566
+ hint?: ReactNode;
1567
+ /** Red error line — overrides `hint`. */
1568
+ error?: ReactNode;
1569
+ /** Append a red asterisk to the label. */
1570
+ required?: boolean;
1571
+ className?: string;
1572
+ /**
1573
+ * Native `accept` string. Drives the preview kind (image vs video), the
1574
+ * fallback file dialog, and the default empty-state copy. Default `image/*`.
1575
+ */
1576
+ accept?: string;
1577
+ /** `object-fit` for the preview. Default `cover`; use `contain` for logos/SVG. */
1578
+ fit?: 'cover' | 'contain';
1579
+ /** Preview / dropzone height in px (applied via inline style). Default 112. */
1580
+ height?: number;
1581
+ /** Dim prompt line, e.g. "Upload a background video". Default derived from `accept`. */
1582
+ placeholder?: ReactNode;
1583
+ /** The link-style CTA line. Default "Choose from library or upload". */
1584
+ cta?: ReactNode;
1585
+ /** Small kind hint under the CTA, e.g. "PNG · JPG · WEBP". */
1586
+ acceptHint?: ReactNode;
1587
+ /** Overlay the derived filename on the preview. Default true. */
1588
+ showFilename?: boolean;
1589
+ /** Show the Replace button when filled. Default true. */
1590
+ allowReplace?: boolean;
1591
+ /** Show the Remove button when filled. Default true. */
1592
+ allowRemove?: boolean;
1593
+ /** Relabel Replace, e.g. "Change". Default "Replace". */
1594
+ replaceLabel?: ReactNode;
1595
+ /** Relabel Remove, e.g. "Clear". Default "Remove". */
1596
+ removeLabel?: ReactNode;
1597
+ /** Busy: disable controls and show a spinner while the caller's upload runs. */
1598
+ busy?: boolean;
1599
+ /** Busy label. Default "Uploading…". */
1600
+ busyLabel?: ReactNode;
1601
+ /** Fully disable the control (no click, no drop, no actions). */
1602
+ disabled?: boolean;
1603
+ }
1604
+
1605
+ declare function MediaUploadField({ value, onChange, onPick, label, hint, error, required, className, accept, fit, height, placeholder, cta, acceptHint, showFilename, allowReplace, allowRemove, replaceLabel, removeLabel, busy, busyLabel, disabled, }: MediaUploadFieldProps): react_jsx_runtime.JSX.Element;
1606
+
1607
+ interface MediaUploadGridItem {
1608
+ /** Stable key — used for React keys, remove, and reorder. */
1609
+ id: string;
1610
+ /** Preview URL. */
1611
+ url: string;
1612
+ /** `image` | `video`. Inferred from the URL when omitted. */
1613
+ kind?: 'image' | 'video';
1614
+ /** Optional label overlaid on the thumbnail (filename, dimensions, …). */
1615
+ caption?: ReactNode;
1616
+ /** Force the "cover" badge on this item (else `showCover` badges the first). */
1617
+ cover?: boolean;
1618
+ }
1619
+ interface MediaUploadGridProps {
1620
+ /** The gallery contents, in display order. */
1621
+ items: MediaUploadGridItem[];
1622
+ /**
1623
+ * Open the consumer's library/upload flow. Fires on click of the Add tile /
1624
+ * empty dropzone and on a file drop onto the zone (the dropped File is passed
1625
+ * so the consumer can seed an immediate upload). Without it the gallery is
1626
+ * read-only for additions (no Add tile, no drop).
1627
+ */
1628
+ onPick?: (droppedFile?: File) => void;
1629
+ /** Remove one item. The per-thumb ✕ shows only when this is provided. */
1630
+ onRemove?: (id: string) => void;
1631
+ /**
1632
+ * Reorder within the grid. Enables drag-to-reorder when provided; called with
1633
+ * the source and target indices on drop.
1634
+ */
1635
+ onReorder?: (fromIndex: number, toIndex: number) => void;
1636
+ label?: ReactNode;
1637
+ hint?: ReactNode;
1638
+ error?: ReactNode;
1639
+ required?: boolean;
1640
+ className?: string;
1641
+ /** Native accept string — drives preview kind, the drop filter, and the copy. Default `image/*`. */
1642
+ accept?: string;
1643
+ /** `object-fit` for the thumbnails. Default `cover`. */
1644
+ fit?: 'cover' | 'contain';
1645
+ /** Thumbnail (and Add tile) square size in px. Default 96. */
1646
+ thumbSize?: number;
1647
+ /** Dim prompt line on the empty dropzone. Default derived from `accept`. */
1648
+ placeholder?: ReactNode;
1649
+ /** The link CTA on the empty dropzone. Default "Choose from library or upload". */
1650
+ cta?: ReactNode;
1651
+ /** Small kind hint under the CTA, e.g. "PNG · JPG · WEBP". */
1652
+ acceptHint?: ReactNode;
1653
+ /** Badge the first item (or the one with `cover`) as the gallery cover. Default false. */
1654
+ showCover?: boolean;
1655
+ /** Cover badge text. Default "Cover". */
1656
+ coverLabel?: ReactNode;
1657
+ /** Busy: dim the zone and show a spinner while the caller's upload runs. */
1658
+ busy?: boolean;
1659
+ /** Busy label. Default "Uploading…". */
1660
+ busyLabel?: ReactNode;
1661
+ /** Disable all interaction. */
1662
+ disabled?: boolean;
1663
+ /** View only — thumbnails without Add / remove / reorder affordances. */
1664
+ readOnly?: boolean;
1665
+ }
1666
+ declare function MediaUploadGrid({ items, onPick, onRemove, onReorder, label, hint, error, required, className, accept, fit, thumbSize, placeholder, cta, acceptHint, showCover, coverLabel, busy, busyLabel, disabled, readOnly, }: MediaUploadGridProps): react_jsx_runtime.JSX.Element;
1667
+
1532
1668
  /**
1533
1669
  * Shared form-control styling — the single source of truth for the kit's
1534
1670
  * text-input look. Promoted out of SearchableSelect so every form control
@@ -2345,4 +2481,4 @@ declare function useNewHotkey(callback: () => void): void;
2345
2481
  */
2346
2482
  declare function useEditHotkey(callback: (() => void) | null): void;
2347
2483
 
2348
- export { ALT, ALT_SHIFT_D, ALT_SHIFT_E, ALT_SHIFT_N, Accordion, type AccordionItem, type AccordionProps, AuthScreen, type AuthScreenProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, type AvatarStatus, Banner, type BannerProps, type BannerTone, BarChart, type BarChartProps, BehaviorPanel, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, type BulkColumn, type BulkColumnKind, BulkImportGrid, type BulkImportGridProps, type BulkRow, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CMD_A, CMD_DOT, CMD_ENTER, CMD_K, CMD_S, CancelButton, Card, type CardProps, type CellStyle, ChangePasswordForm, type ChangePasswordFormProps, type ChangelogEntry, ChatTemplate, Checkbox, type CheckboxProps, CheckoutTemplate, type ClockCalendarConfig, ColoredBadge, type ColoredBadgeProps, type ColumnDef, ConfirmProvider, ContainerFillChart, type ContainerFillChartProps, type ContainerFillItem, CopyButton, Customization, type CustomizationOmitSection, type CustomizationProps, type CustomizationSection, DEV_BANNER_TEXT, DashboardTemplate, DataTablePage, Desktop, type DesktopContextMenuItem, type DesktopHostConfig, DesktopHostProvider, DevIndicator, DocFavStar, DonutChart, type DonutChartProps, type DonutSegment, type DuplicateGroup, ENTER, EditableGrid, type EditableGridProps, EmailTemplate, EmptyState, type EmptyStateProps, type EntityFetcher, EntityList, type EntityListColumn, type EntityListProps, ErrorPage, type ErrorPageProps, FilterBar, type FilterOption, FormField, type FormFieldProps, FormLayoutPage, GLASS_DIVIDER, GLASS_INPUT_BG, GalleryTemplate, GlobalSearch, type GridColumn, type HealthCheckResult, HelpCenter, type HelpCenterDoc, type HelpCenterProps, INPUT_BASE, ImageAnnotator, type ImageAnnotatorHandle, type ImageAnnotatorProps, Input, type InputProps, Kanban, type KanbanColumn, type KanbanProps, Label, type LabelProps, Layout, type LayoutProps, ListFooter, LoadingSpinner, type LoadingSpinnerProps, MOD, Markdown, type MarkdownProps, type MergeBulkOptions, type MergeBulkResult, type Milestone, type MilestoneKind, MilestoneTimeline, type MilestoneTimelineProps, Modal, ModalActions, NotificationBell, type NotificationsConfig, PageHeader, type PageHeaderProps, type PaginatedResponse, Pagination, type PaginationProps, PdfActionButton, type PdfActionButtonProps, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, Radio, type RadioProps, ResizableTable, SHIFT, type SearchConfig, type SearchProvider, type SearchResult, type SearchableOption, SearchableSelect, type SearchableSelectProps, Select, type SelectOption, type SelectProps, type SemanticGroup, ServerStatusIndicator, type ServerStatusIndicatorProps, type ServerStatusUser, type ShellAuth, ShellAuthProvider, ShellEntityFetcherProvider, type ShellNotification, type ShellPrefsAdapter, ShellPrefsProvider, ShortcutHelp, SidebarActionButton, type SidebarActionButtonProps, SidebarGroupLabel, SidebarLayout, type SidebarLayoutProps, SidebarNavItem, type SortState, SoundsPanel, Sparkline, type SparklineProps, StartMenu, StatCard, type StatCardProps, StatusBadge, StatusBadgeProvider, type StickyEntityRef, type StickyResolver, SystemPreferences, type SystemPreferencesProps, type SystemPreferencesSection, type TabItem, Tabs, type TabsProps, Textarea, type TextareaProps, type TodoProvider, type TodoTask, Tooltip, type TooltipProps, TopNav, type TopNavItem, type TopNavProps, VERSION, WidgetManager, WindowCrashedFallback, WindowErrorBoundary, WindowManagerProvider, WindowRegistry, WindowTitle, applyDevTitle, commitExposeHighlight, confirm, confirmDestructive, createWindowRegistry, exitExposeMode, findDuplicateKeys, formatDate, getActiveWindowRoute, getExposeHighlight, getWindowPosition, glassStyle, inputClasses, isDevEnv, isMac, mergeBulkItems, prompt, registerModalEscapeInterceptor, setExposeHighlight, setShellApiClient, setShellAuthBridge, setShellNavIcons, setShellTodoProvider, setWindowDefaultPosition, setWindowPosition, subscribeExposeHighlight, toast, toggleExposeMode, useClickOutside, useColumnConfig, useDesktopHost, useEditHotkey, useFilters, useInfiniteScroll, useLocalStoragePrefs, useModalActive, useNewHotkey, useShellAuth, useShellEntityFetcher, useShellPrefs, useSort, useTableNav, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle };
2484
+ export { ALT, ALT_SHIFT_D, ALT_SHIFT_E, ALT_SHIFT_N, Accordion, type AccordionItem, type AccordionProps, AuthScreen, type AuthScreenProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, type AvatarStatus, Banner, type BannerProps, type BannerTone, BarChart, type BarChartProps, BehaviorPanel, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, type BulkColumn, type BulkColumnKind, BulkImportGrid, type BulkImportGridProps, type BulkRow, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CMD_A, CMD_DOT, CMD_ENTER, CMD_K, CMD_S, CancelButton, Card, type CardProps, type CellStyle, ChangePasswordForm, type ChangePasswordFormProps, type ChangelogEntry, ChatTemplate, Checkbox, type CheckboxProps, CheckoutTemplate, type ClockCalendarConfig, ColoredBadge, type ColoredBadgeProps, type ColumnDef, ConfirmProvider, ContainerFillChart, type ContainerFillChartProps, type ContainerFillItem, CopyButton, Customization, type CustomizationOmitSection, type CustomizationProps, type CustomizationSection, DEV_BANNER_TEXT, DashboardTemplate, DataTablePage, Desktop, type DesktopContextMenuItem, type DesktopHostConfig, DesktopHostProvider, DevIndicator, DocFavStar, DonutChart, type DonutChartProps, type DonutSegment, type DuplicateGroup, ENTER, EditableGrid, type EditableGridProps, EmailTemplate, EmptyState, type EmptyStateProps, type EntityFetcher, EntityList, type EntityListColumn, type EntityListProps, ErrorPage, type ErrorPageProps, FilterBar, type FilterOption, FormField, type FormFieldProps, FormLayoutPage, GLASS_DIVIDER, GLASS_INPUT_BG, GalleryTemplate, GlobalSearch, type GridColumn, type HealthCheckResult, HelpCenter, type HelpCenterDoc, type HelpCenterProps, INPUT_BASE, ImageAnnotator, type ImageAnnotatorHandle, type ImageAnnotatorProps, Input, type InputProps, Kanban, type KanbanColumn, type KanbanProps, Label, type LabelProps, Layout, type LayoutProps, ListFooter, LoadingSpinner, type LoadingSpinnerProps, MOD, Markdown, type MarkdownProps, MediaUploadField, type MediaUploadFieldProps, MediaUploadGrid, type MediaUploadGridItem, type MediaUploadGridProps, type MergeBulkOptions, type MergeBulkResult, type Milestone, type MilestoneKind, MilestoneTimeline, type MilestoneTimelineProps, Modal, ModalActions, NotificationBell, type NotificationsConfig, PageHeader, type PageHeaderProps, type PaginatedResponse, Pagination, type PaginationProps, PdfActionButton, type PdfActionButtonProps, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, Radio, type RadioProps, ResizableTable, SHIFT, type SearchConfig, type SearchProvider, type SearchResult, type SearchableOption, SearchableSelect, type SearchableSelectProps, Select, type SelectOption, type SelectProps, type SemanticGroup, ServerStatusIndicator, type ServerStatusIndicatorProps, type ServerStatusUser, type ShellAuth, ShellAuthProvider, ShellEntityFetcherProvider, type ShellNotification, type ShellPrefsAdapter, ShellPrefsProvider, ShortcutHelp, SidebarActionButton, type SidebarActionButtonProps, SidebarGroupLabel, SidebarLayout, type SidebarLayoutProps, SidebarNavItem, type SortState, SoundsPanel, Sparkline, type SparklineProps, StartMenu, StatCard, type StatCardProps, StatusBadge, StatusBadgeProvider, type StickyEntityRef, type StickyResolver, SystemPreferences, type SystemPreferencesProps, type SystemPreferencesSection, type TabItem, Tabs, type TabsProps, Textarea, type TextareaProps, type TodoProvider, type TodoTask, Tooltip, type TooltipProps, TopNav, type TopNavItem, type TopNavProps, VERSION, WidgetManager, WindowCrashedFallback, WindowErrorBoundary, WindowManagerProvider, WindowRegistry, WindowTitle, applyDevTitle, commitExposeHighlight, confirm, confirmDestructive, createWindowRegistry, exitExposeMode, findDuplicateKeys, formatDate, getActiveWindowRoute, getExposeHighlight, getWindowPosition, glassStyle, inputClasses, isDevEnv, isMac, mediaFileName, mergeBulkItems, prompt, registerModalEscapeInterceptor, setExposeHighlight, setShellApiClient, setShellAuthBridge, setShellNavIcons, setShellTodoProvider, setWindowDefaultPosition, setWindowPosition, subscribeExposeHighlight, toast, toggleExposeMode, useClickOutside, useColumnConfig, useDesktopHost, useEditHotkey, useFilters, useInfiniteScroll, useLocalStoragePrefs, useModalActive, useNewHotkey, useShellAuth, useShellEntityFetcher, useShellPrefs, useSort, useTableNav, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle };