react-os-shell 3.7.0 → 3.8.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 (31) hide show
  1. package/dist/{Browser-IYC3LJ5P.js → Browser-HVG4RSGD.js} +4 -4
  2. package/dist/{Browser-IYC3LJ5P.js.map → Browser-HVG4RSGD.js.map} +1 -1
  3. package/dist/{Documents-YK7FB475.js → Documents-VOZ2WASX.js} +3 -3
  4. package/dist/{Documents-YK7FB475.js.map → Documents-VOZ2WASX.js.map} +1 -1
  5. package/dist/Files-7BZV5HOG.js +12 -0
  6. package/dist/{Files-FKLB5NV2.js.map → Files-7BZV5HOG.js.map} +1 -1
  7. package/dist/{Notepad-TXUDJ4TG.js → Notepad-SJDAS6CF.js} +3 -3
  8. package/dist/{Notepad-TXUDJ4TG.js.map → Notepad-SJDAS6CF.js.map} +1 -1
  9. package/dist/Preview-W6XLBSUR.js +8 -0
  10. package/dist/{Preview-WIV5TUJU.js.map → Preview-W6XLBSUR.js.map} +1 -1
  11. package/dist/{Spreadsheet-MUIPMKMH.js → Spreadsheet-KKWKUZVP.js} +4 -4
  12. package/dist/{Spreadsheet-MUIPMKMH.js.map → Spreadsheet-KKWKUZVP.js.map} +1 -1
  13. package/dist/apps/index.js +12 -12
  14. package/dist/{chunk-N3UIMOYF.js → chunk-HWHRQMYQ.js} +3 -3
  15. package/dist/{chunk-N3UIMOYF.js.map → chunk-HWHRQMYQ.js.map} +1 -1
  16. package/dist/{chunk-AUQ74UJM.js → chunk-L7UUXITN.js} +3 -3
  17. package/dist/{chunk-AUQ74UJM.js.map → chunk-L7UUXITN.js.map} +1 -1
  18. package/dist/{chunk-RTT4QFJ7.js → chunk-LIBK24SJ.js} +4 -4
  19. package/dist/{chunk-RTT4QFJ7.js.map → chunk-LIBK24SJ.js.map} +1 -1
  20. package/dist/{chunk-ACJVFI6M.js → chunk-TU7WAYDY.js} +3 -3
  21. package/dist/{chunk-ACJVFI6M.js.map → chunk-TU7WAYDY.js.map} +1 -1
  22. package/dist/{chunk-6FKV2CQK.js → chunk-VNDRNSOU.js} +3 -3
  23. package/dist/{chunk-6FKV2CQK.js.map → chunk-VNDRNSOU.js.map} +1 -1
  24. package/dist/{chunk-K62Q5WNU.js → chunk-X33RYNHS.js} +4 -4
  25. package/dist/{chunk-K62Q5WNU.js.map → chunk-X33RYNHS.js.map} +1 -1
  26. package/dist/index.d.ts +338 -1
  27. package/dist/index.js +1370 -8
  28. package/dist/index.js.map +1 -1
  29. package/package.json +1 -1
  30. package/dist/Files-FKLB5NV2.js +0 -12
  31. package/dist/Preview-WIV5TUJU.js +0 -8
package/dist/index.d.ts CHANGED
@@ -1730,6 +1730,343 @@ declare function SidebarNavItem({ label, count, active, onClick }: {
1730
1730
  onClick: () => void;
1731
1731
  }): react_jsx_runtime.JSX.Element;
1732
1732
 
1733
+ /**
1734
+ * Semantic role of a column, used to auto-map CSV columns to fields and to
1735
+ * format the per-column totals. The first column is always the merge "key"
1736
+ * regardless of its declared kind.
1737
+ * - `key` — the identifier rows are de-duplicated/merged on (text-like).
1738
+ * - `price` — a money column (matched by `$`/decimals; totalled with 2 dp).
1739
+ * - `qty` — a whole-number quantity column.
1740
+ * - `text` — anything else; never auto-mapped, never totalled.
1741
+ */
1742
+ type BulkColumnKind = 'key' | 'price' | 'qty' | 'text';
1743
+ interface BulkColumn {
1744
+ key: string;
1745
+ title: string;
1746
+ width?: number;
1747
+ required?: boolean;
1748
+ /**
1749
+ * Hint for CSV auto-mapping and totals. Defaults: the first column is `key`,
1750
+ * every other column is `text`. Set `price`/`qty` to opt a column into
1751
+ * auto-detection and the totals strip.
1752
+ */
1753
+ kind?: BulkColumnKind;
1754
+ }
1755
+ interface BulkImportGridProps {
1756
+ /** Column definitions. The FIRST column is always the merge key. */
1757
+ columns: BulkColumn[];
1758
+ /** Called with the resolved, de-duplicated rows (one object per row, keyed by column key). */
1759
+ onImport: (rows: Record<string, string>[]) => Promise<void>;
1760
+ /** Called when the user cancels an in-progress mapping/duplicate review. */
1761
+ onCancel: () => void;
1762
+ /** Optional override for the help text shown above the grid. */
1763
+ description?: string;
1764
+ /**
1765
+ * When set, duplicate key values are merged into a single row with their
1766
+ * numeric columns summed, instead of offering keep-first / keep-last / skip.
1767
+ * Use for quantity-based imports where two rows of the same key mean "both" —
1768
+ * never for price imports, where summing prices would be nonsensical.
1769
+ */
1770
+ mergeDuplicates?: boolean;
1771
+ }
1772
+ /**
1773
+ * Spreadsheet-style bulk entry surface: type, paste, or upload a CSV/TSV, with
1774
+ * automatic column auto-mapping (with a manual mapping fallback) and duplicate
1775
+ * de-duplication (keep-first/last/skip, or summed merge in `mergeDuplicates`
1776
+ * mode). Purely presentational — owns local grid/CSV state and reports the
1777
+ * resolved rows via `onImport`; it does no fetching, auth, or persistence.
1778
+ *
1779
+ * Rows are de-duplicated and merged on the FIRST column (the "key"). Declare a
1780
+ * column's `kind` (`price`/`qty`) to opt it into CSV auto-detection and the
1781
+ * totals strip.
1782
+ */
1783
+ declare function BulkImportGrid({ columns, onImport, description, mergeDuplicates }: BulkImportGridProps): react_jsx_runtime.JSX.Element;
1784
+
1785
+ /**
1786
+ * Pure helpers for reconciling a bulk-import grid (rows of string cells) against
1787
+ * an existing items array, keyed by a designated "key column" (e.g. a part
1788
+ * number, SKU, or code). No app/framework dependencies — usable by any consumer
1789
+ * of {@link BulkImportGrid}.
1790
+ *
1791
+ * Merge rule: a blank cell means "don't touch the original" — only an explicit
1792
+ * value (including "0") replaces what's already there. Existing rows the user
1793
+ * didn't mention in the bulk grid are left untouched. Unknown keys are appended
1794
+ * via the caller-supplied `newItem` factory.
1795
+ */
1796
+ type BulkRow = Record<string, string | undefined>;
1797
+ interface DuplicateGroup {
1798
+ /** Key value as it appeared in the first occurrence (trimmed, original casing). */
1799
+ key: string;
1800
+ /** Indices into the rows array where this key appears. Length is always >= 2. */
1801
+ rowIndices: number[];
1802
+ }
1803
+ /**
1804
+ * Find key values that appear more than once within a single bulk-import file.
1805
+ * Match is case-insensitive (consistent with {@link mergeBulkItems}). Blank key
1806
+ * cells are ignored. The caller is expected to surface these to the user before
1807
+ * merge so they can pick a per-group resolution.
1808
+ */
1809
+ declare function findDuplicateKeys(rows: BulkRow[], keyRowKey: string): DuplicateGroup[];
1810
+ interface BaseItem {
1811
+ [key: string]: unknown;
1812
+ }
1813
+ interface MergeBulkResult<T> {
1814
+ merged: T[];
1815
+ importedCount: number;
1816
+ }
1817
+ interface MergeBulkOptions<T extends BaseItem> {
1818
+ /** Raw rows from BulkImportGrid. */
1819
+ rows: BulkRow[];
1820
+ /** Existing items array to merge into. */
1821
+ existing: T[];
1822
+ /**
1823
+ * Mapping from row column key → item field key.
1824
+ * MUST include the key-column mapping (e.g. `{ pn: 'part_number' }`).
1825
+ * Example: `{ pn: 'part_number', qty: 'quantity', price: 'unit_price' }`.
1826
+ */
1827
+ fieldMap: Record<string, string>;
1828
+ /**
1829
+ * The item field that holds the merge key — the value `fieldMap` maps the
1830
+ * grid's key column onto. Existing items are matched against this field
1831
+ * (case-insensitive). Defaults to `'part_number'`.
1832
+ */
1833
+ keyField?: string;
1834
+ /**
1835
+ * Build a brand-new item for a row whose key isn't in `existing`.
1836
+ * `filled` contains only the fields the user actually entered (mapped to
1837
+ * item-field keys via `fieldMap`); supply defaults for anything required
1838
+ * by your item shape.
1839
+ */
1840
+ newItem: (filled: Partial<T>) => T;
1841
+ }
1842
+ declare function mergeBulkItems<T extends BaseItem>(options: MergeBulkOptions<T>): MergeBulkResult<T>;
1843
+
1844
+ /** Default item shape — overridable via the accessor props for any other shape. */
1845
+ interface ContainerFillItem {
1846
+ quantity?: number | null;
1847
+ actual_qty?: number | null;
1848
+ _isNew?: boolean;
1849
+ }
1850
+ interface ContainerFillChartProps<T = ContainerFillItem> {
1851
+ /** Line items to chart. Each contributes `qty * getVolume(item)` to the total. */
1852
+ items: T[];
1853
+ /**
1854
+ * Per-unit volume (m³) for an item. The lifted app concern — return 0 when
1855
+ * unknown. Total volume per item is `quantity * getVolume(item)`.
1856
+ */
1857
+ getVolume: (item: T) => number;
1858
+ /**
1859
+ * Single-bar quantity source when no actuals are present:
1860
+ * - 'instruction' (default): use the instruction quantity.
1861
+ * - 'actual': use the actual quantity (falling back to instruction).
1862
+ *
1863
+ * When actuals exist on at least one item the chart auto-switches to dual-bar
1864
+ * mode regardless of `qtyField` — instruction (blue) and loaded (green) are
1865
+ * layered into the same bar so both are visible at once.
1866
+ */
1867
+ qtyField?: 'instruction' | 'actual';
1868
+ /** Show the "new items" indicator next to the row count. */
1869
+ showNewIndicator?: boolean;
1870
+ /** Instruction quantity accessor. Defaults to `item.quantity`. */
1871
+ getInstructionQty?: (item: T) => number | null | undefined;
1872
+ /** Actual/loaded quantity accessor. Defaults to `item.actual_qty`. */
1873
+ getActualQty?: (item: T) => number | null | undefined;
1874
+ /**
1875
+ * Whether an item should count as charted at all. Defaults to "has a non-empty
1876
+ * key" — i.e. items whose volume source identifies a real part. By default
1877
+ * every item is charted; supply this to drop placeholder/empty rows.
1878
+ */
1879
+ isFilled?: (item: T) => boolean;
1880
+ /** Whether an item is newly added (drives `showNewIndicator`). Defaults to `item._isNew`. */
1881
+ isNew?: (item: T) => boolean;
1882
+ className?: string;
1883
+ style?: CSSProperties;
1884
+ }
1885
+ /**
1886
+ * Container-fill chart for shipping loading lists. Presentational only — pass
1887
+ * `getVolume` to inject per-unit volumes; the chart owns the container math and
1888
+ * the instruction-vs-loaded dual-bar rendering.
1889
+ */
1890
+ declare function ContainerFillChart<T = ContainerFillItem>({ items, getVolume, qtyField, showNewIndicator, getInstructionQty, getActualQty, isFilled, isNew, className, style, }: ContainerFillChartProps<T>): react_jsx_runtime.JSX.Element | null;
1891
+
1892
+ /** Result of a single health poll. `latencyMs` is optional; when omitted on
1893
+ * an ok result the indicator simply shows no latency for that poll. */
1894
+ interface HealthCheckResult {
1895
+ ok: boolean;
1896
+ latencyMs?: number;
1897
+ }
1898
+ /** Display fields for the signed-in user shown in the popover's Session
1899
+ * section. All optional — the indicator derives a sensible name and hides
1900
+ * the Role row when `role` is empty. Pass `null`/`undefined` for "not
1901
+ * signed in". */
1902
+ interface ServerStatusUser {
1903
+ name?: string;
1904
+ email?: string;
1905
+ /** Secondary label for the Role row (e.g. group names, portal, company).
1906
+ * Hidden when empty. */
1907
+ role?: string;
1908
+ }
1909
+ interface ServerStatusIndicatorProps {
1910
+ /**
1911
+ * Performs one health poll and resolves with the outcome. The shell calls
1912
+ * this on mount and on every interval tick. A custom implementation owns
1913
+ * its own timeout/abort. When omitted, the indicator polls `healthUrl`
1914
+ * (default `/api/health/`) with a `requestTimeoutMs` AbortController.
1915
+ */
1916
+ healthCheck?: () => Promise<HealthCheckResult>;
1917
+ /** URL used by the built-in fetcher when no `healthCheck` is supplied. */
1918
+ healthUrl?: string;
1919
+ /** Poll interval in ms. Default 15 000. */
1920
+ pollMs?: number;
1921
+ /** Per-request timeout for the built-in fetcher, in ms. Default 5 000. */
1922
+ requestTimeoutMs?: number;
1923
+ /** Signed-in user's display fields for the Session section. */
1924
+ user?: ServerStatusUser | null;
1925
+ /** Build/version label for the Build section. Defaults to the shell's own
1926
+ * package version. Pass the consuming app's version here. */
1927
+ version?: string;
1928
+ }
1929
+ /**
1930
+ * System-tray globe that polls a health check and exposes connection details
1931
+ * in a click-to-open popover. Drop into a taskbar tray alongside the
1932
+ * notification bell; supply `healthCheck` (or `healthUrl`), `user`, and
1933
+ * `version` via a thin per-app wrapper.
1934
+ */
1935
+ declare function ServerStatusIndicator({ healthCheck, healthUrl, pollMs, requestTimeoutMs, user, version, }: ServerStatusIndicatorProps): react_jsx_runtime.JSX.Element;
1936
+
1937
+ interface ChangePasswordFormProps {
1938
+ /**
1939
+ * Perform the password change. Resolve to indicate success; reject with an
1940
+ * `Error` whose `message` becomes the inline error shown to the user.
1941
+ */
1942
+ onSubmit: (oldPassword: string, newPassword: string) => Promise<void>;
1943
+ /** Called after a successful change — on Done click, or immediately when
1944
+ * `confirmOnSuccess` is false. */
1945
+ onSuccess?: () => void;
1946
+ /**
1947
+ * Show a success confirmation screen with a Done button after a successful
1948
+ * change. When false, `onSuccess` fires immediately on success. Default true.
1949
+ */
1950
+ confirmOnSuccess?: boolean;
1951
+ /** Minimum length required for the new password. Default 8. */
1952
+ minLength?: number;
1953
+ /** Label for the submit button. Default 'Change Password'. */
1954
+ submitLabel?: string;
1955
+ /** Label for the Done button on the success screen. Default 'Done'. */
1956
+ doneLabel?: string;
1957
+ }
1958
+ /**
1959
+ * Product-agnostic change-password form. The host supplies `onSubmit` to do the
1960
+ * actual change (e.g. call an API then re-authenticate).
1961
+ */
1962
+ declare function ChangePasswordForm({ onSubmit, onSuccess, confirmOnSuccess, minLength, submitLabel, doneLabel, }: ChangePasswordFormProps): react_jsx_runtime.JSX.Element;
1963
+
1964
+ interface PdfActionButtonProps {
1965
+ /**
1966
+ * Resolves the PDF bytes. The consumer owns the transport (axios/fetch/etc.)
1967
+ * and any error reporting; returning `null` aborts the action without the
1968
+ * shell surfacing a toast (the consumer is expected to have explained the
1969
+ * failure already).
1970
+ */
1971
+ fetchPdf: () => Promise<Blob | null>;
1972
+ /** Filename used for download and shown in the Preview window (e.g. "Invoice_CI#1234.pdf"). */
1973
+ filename: string;
1974
+ /** Button label. */
1975
+ label?: string;
1976
+ /** Override the default button styling. */
1977
+ className?: string;
1978
+ /** Disabled state. */
1979
+ disabled?: boolean;
1980
+ /**
1981
+ * Optional email handler. When supplied, a "Send by Email" item (with a
1982
+ * divider above it) is added to the menu and an Email button is wired into
1983
+ * the Preview window — both invoked with the already-fetched blob so the
1984
+ * consumer can hand it to its own composer. Omit it to hide email entirely.
1985
+ */
1986
+ onEmail?: (blob: Blob) => void;
1987
+ /**
1988
+ * Optional notification fired after a Preview window has been opened with the
1989
+ * resolved PDF (e.g. to drop a Recent Documents shortcut). Receives the
1990
+ * filename so the consumer can label the entry.
1991
+ */
1992
+ onPreviewOpened?: (filename: string) => void;
1993
+ /** Optional leading icon override for the button (defaults to a document glyph). */
1994
+ icon?: ReactNode;
1995
+ }
1996
+ /**
1997
+ * A dropdown PDF button that can Preview the document in the shell's Preview
1998
+ * window, Download it, or (when `onEmail` is supplied) hand the bytes to a
1999
+ * consumer-provided email composer.
2000
+ *
2001
+ * The shell is transport-agnostic: it never fetches the PDF itself. The
2002
+ * consumer injects a `fetchPdf()` resolver (typically wrapping its own HTTP
2003
+ * client) and the shell handles object-URL lifecycle, download, the loading
2004
+ * placeholder in Preview, and success toasts. App concerns (email composer,
2005
+ * recent-documents logging) are lifted to the optional `onEmail` /
2006
+ * `onPreviewOpened` callbacks.
2007
+ */
2008
+ declare function PdfActionButton({ fetchPdf, filename, label, className, disabled, onEmail, onPreviewOpened, icon, }: PdfActionButtonProps): react_jsx_runtime.JSX.Element;
2009
+
2010
+ /** Visual category for a milestone. Drives shape + colour so the user can
2011
+ * tell different milestone types apart at a glance. */
2012
+ type MilestoneKind = 'default' | 'dfm' | 'shipment' | 'testing' | 'completion';
2013
+ /** A single point on the timeline. Generic, product-agnostic: the consuming
2014
+ * app maps its domain records to this shape in a thin wrapper. */
2015
+ interface Milestone {
2016
+ /** Stable key — used for React keys and the active-dot lookup. */
2017
+ key: string;
2018
+ /** Short label rendered above the dot when active / hovered. */
2019
+ label: string;
2020
+ /** ISO date string (`YYYY-MM-DD`) for the milestone. Null / undefined =
2021
+ * "not reached yet"; renders as a faded outline dot at the *expected*
2022
+ * position (between its neighbours) instead of a real coordinate. */
2023
+ date: string | null | undefined;
2024
+ /** Optional second line for the hover tooltip. */
2025
+ detail?: string;
2026
+ /** Optional click handler so the caller can open a related entity. */
2027
+ onClick?: () => void;
2028
+ /** Optional visual category — defaults to `'default'` (blue circle). */
2029
+ kind?: MilestoneKind;
2030
+ /** Optional phase grouping — milestones sharing the same `phase` value
2031
+ * render with a bracket below the bar showing they happened in parallel
2032
+ * (e.g. two concurrent QA steps). Lookup the human-readable name from
2033
+ * `MilestoneTimelineProps.phaseLabels`. */
2034
+ phase?: string;
2035
+ }
2036
+ interface MilestoneTimelineProps {
2037
+ /** Title rendered above the bar — e.g. "Mould Development Timeline". */
2038
+ title: string;
2039
+ /** Ordered milestones from earliest expected to latest expected. The order
2040
+ * controls the fallback position for milestones with no date yet. */
2041
+ milestones: Milestone[];
2042
+ /** Optional sub-title to the right of the title (e.g. lead-time summary).
2043
+ * When omitted, an auto lead-time summary is computed from the dates. */
2044
+ summary?: string;
2045
+ /** Optional explicit right edge — when provided, the bar always ends here
2046
+ * rather than padding to today. Used when the axis should stop at a known
2047
+ * final milestone and not run on past it. */
2048
+ endDate?: string | null;
2049
+ /** Maps `Milestone.phase` keys to the human-readable phase label that
2050
+ * appears under the bracket — e.g. `{ qa: 'QA & Sample' }`. Phases
2051
+ * without an entry fall back to the phase key itself. */
2052
+ phaseLabels?: Record<string, string>;
2053
+ }
2054
+ /**
2055
+ * Static date-axis bar showing a sequence of milestones along a single line.
2056
+ *
2057
+ * - No scrubber / playback / interpolation — milestones don't move.
2058
+ * - "Not reached yet" milestones (no date) render as outline dots wedged at
2059
+ * their expected position so the user can see what's still pending.
2060
+ * - First / last milestones render as inline edge labels; middle ones stagger
2061
+ * above/below the bar so adjacent labels never collide.
2062
+ * - Milestones sharing a `phase` (2+ members) get a bracket marking parallel
2063
+ * work. The filled portion of the bar never runs past today.
2064
+ *
2065
+ * Product-agnostic: it takes generic `Milestone` data as props. Map your
2066
+ * domain records to the `Milestone` shape in a thin wrapper at the call site.
2067
+ */
2068
+ declare function MilestoneTimeline({ title, milestones, summary, endDate, phaseLabels }: MilestoneTimelineProps): react_jsx_runtime.JSX.Element;
2069
+
1733
2070
  /**
1734
2071
  * Shared chart types. The charts are dependency-free inline SVG/CSS — color
1735
2072
  * defaults to `currentColor` so a parent `text-*` class themes them, and
@@ -1968,4 +2305,4 @@ declare function useNewHotkey(callback: () => void): void;
1968
2305
  */
1969
2306
  declare function useEditHotkey(callback: (() => void) | null): void;
1970
2307
 
1971
- 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, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CMD_A, CMD_DOT, CMD_ENTER, CMD_K, CMD_S, CancelButton, Card, type CardProps, type CellStyle, type ChangelogEntry, ChatTemplate, Checkbox, type CheckboxProps, CheckoutTemplate, type ClockCalendarConfig, ColoredBadge, type ColoredBadgeProps, type ColumnDef, ConfirmProvider, 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, 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, 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, Modal, ModalActions, NotificationBell, type NotificationsConfig, PageHeader, type PageHeaderProps, type PaginatedResponse, Pagination, type PaginationProps, 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, type ShellAuth, ShellAuthProvider, ShellEntityFetcherProvider, type ShellNotification, type ShellPrefsAdapter, ShellPrefsProvider, ShortcutHelp, 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, formatDate, getActiveWindowRoute, getExposeHighlight, getWindowPosition, glassStyle, inputClasses, isDevEnv, isMac, 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 };
2308
+ 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, 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 };