react-os-shell 0.2.57 → 0.2.59
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.
package/dist/apps/index.js
CHANGED
|
@@ -20,7 +20,7 @@ var Sudoku = lazy(() => import('../Sudoku-XHLYCEVT.js'));
|
|
|
20
20
|
var Tetris = lazy(() => import('../Tetris-ZHCZYL24.js'));
|
|
21
21
|
var Game2048 = lazy(() => import('../Game2048-3RH3ELRD.js'));
|
|
22
22
|
var Minesweeper = lazy(() => import('../Minesweeper-L7YLY73F.js'));
|
|
23
|
-
var Email = lazy(() => import('../Email-
|
|
23
|
+
var Email = lazy(() => import('../Email-WGLHELAS.js'));
|
|
24
24
|
var GeminiChat = lazy(() => import('../GeminiChat-XTEBZIVK.js'));
|
|
25
25
|
var Calendar = lazy(() => import('../Calendar-SGDRB5L7.js'));
|
|
26
26
|
var Preview = lazy(() => import('../Preview-7PVR2MB7.js'));
|
package/dist/index.d.ts
CHANGED
|
@@ -315,6 +315,56 @@ declare const toast: {
|
|
|
315
315
|
}) => void;
|
|
316
316
|
};
|
|
317
317
|
|
|
318
|
+
interface GridColumn {
|
|
319
|
+
key: string;
|
|
320
|
+
title: string;
|
|
321
|
+
width?: number;
|
|
322
|
+
readOnly?: boolean;
|
|
323
|
+
align?: 'left' | 'right' | 'center';
|
|
324
|
+
}
|
|
325
|
+
type CellStyle = {
|
|
326
|
+
bold?: boolean;
|
|
327
|
+
italic?: boolean;
|
|
328
|
+
underline?: boolean;
|
|
329
|
+
fontSize?: 'sm' | 'base' | 'lg' | 'xl';
|
|
330
|
+
};
|
|
331
|
+
interface EditableGridProps {
|
|
332
|
+
columns: GridColumn[];
|
|
333
|
+
data: string[][];
|
|
334
|
+
onChange: (data: string[][]) => void;
|
|
335
|
+
onColumnsChange?: (columns: GridColumn[]) => void;
|
|
336
|
+
/** Fixed row count — disables add/delete rows */
|
|
337
|
+
fixedRows?: boolean;
|
|
338
|
+
minRows?: number;
|
|
339
|
+
maxHeight?: string;
|
|
340
|
+
/** Per-cell text styling, keyed by `${row}:${col}`. */
|
|
341
|
+
cellStyles?: Record<string, CellStyle>;
|
|
342
|
+
/** Notifies the parent when the focused/edited cell changes. */
|
|
343
|
+
onFocusChange?: (pos: {
|
|
344
|
+
row: number;
|
|
345
|
+
col: number;
|
|
346
|
+
} | null) => void;
|
|
347
|
+
/** Notifies the parent when the selection rectangle changes. */
|
|
348
|
+
onSelectionChange?: (sel: {
|
|
349
|
+
anchor: {
|
|
350
|
+
row: number;
|
|
351
|
+
col: number;
|
|
352
|
+
};
|
|
353
|
+
end: {
|
|
354
|
+
row: number;
|
|
355
|
+
col: number;
|
|
356
|
+
};
|
|
357
|
+
} | null) => void;
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Lightweight editable grid with spreadsheet-like features:
|
|
361
|
+
* - Click + drag to select a range of cells
|
|
362
|
+
* - Ctrl+C / Cmd+C to copy selection as tab-delimited text
|
|
363
|
+
* - Multi-cell paste from spreadsheets (Ctrl+V)
|
|
364
|
+
* - Tab/Enter/Arrow keyboard navigation
|
|
365
|
+
*/
|
|
366
|
+
declare function EditableGrid({ columns, data, onChange, onColumnsChange, fixedRows, minRows, maxHeight, cellStyles, onFocusChange, onSelectionChange }: EditableGridProps): react_jsx_runtime.JSX.Element;
|
|
367
|
+
|
|
318
368
|
/** Generic notification shape consumed by the shell. Consumer-specific
|
|
319
369
|
* fields live on `extra` (or just on additional properties — TS structural
|
|
320
370
|
* typing is permissive). */
|
|
@@ -795,4 +845,4 @@ declare function useNewHotkey(callback: () => void): void;
|
|
|
795
845
|
*/
|
|
796
846
|
declare function useEditHotkey(callback: (() => void) | null): void;
|
|
797
847
|
|
|
798
|
-
export { ALT, ALT_SHIFT_D, ALT_SHIFT_E, ALT_SHIFT_N, 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 ChangelogEntry, ConfirmProvider, CopyButton, Customization, Desktop, type DesktopHostConfig, DesktopHostProvider, DocFavStar, ENTER, type EntityFetcher, GLASS_DIVIDER, GLASS_INPUT_BG, GlobalSearch, Layout, type LayoutProps, MOD, Modal, ModalActions, NotificationBell, type NotificationsConfig, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, type ReportType, SHIFT, type SearchConfig, type SearchProvider, type SearchResult, type SemanticGroup, type ShellAuth, ShellAuthProvider, ShellEntityFetcherProvider, type ShellNotification, type ShellPrefsAdapter, ShellPrefsProvider, ShortcutHelp, StartMenu, StatusBadge, StatusBadgeProvider, type StickyEntityRef, type StickyResolver, VERSION, WindowManagerProvider, WindowRegistry, WindowTitle, commitExposeHighlight, confirm, confirmDestructive, createWindowRegistry, exitExposeMode, formatDate, getActiveWindowRoute, getExposeHighlight, glassStyle, isMac, openBugReportDialog, prompt, reportBug, setExposeHighlight, setShellApiClient, setShellAuthBridge, setShellNavIcons, setWindowDefaultPosition, subscribeExposeHighlight, toast, toggleExposeMode, useBugReport, useClickOutside, useDesktopHost, useEditHotkey, useLocalStoragePrefs, useModalActive, useNewHotkey, useShellAuth, useShellEntityFetcher, useShellPrefs, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle };
|
|
848
|
+
export { ALT, ALT_SHIFT_D, ALT_SHIFT_E, ALT_SHIFT_N, 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, ConfirmProvider, CopyButton, Customization, Desktop, type DesktopHostConfig, DesktopHostProvider, DocFavStar, ENTER, EditableGrid, type EditableGridProps, type EntityFetcher, GLASS_DIVIDER, GLASS_INPUT_BG, GlobalSearch, type GridColumn, Layout, type LayoutProps, MOD, Modal, ModalActions, NotificationBell, type NotificationsConfig, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, type ReportType, SHIFT, type SearchConfig, type SearchProvider, type SearchResult, type SemanticGroup, type ShellAuth, ShellAuthProvider, ShellEntityFetcherProvider, type ShellNotification, type ShellPrefsAdapter, ShellPrefsProvider, ShortcutHelp, StartMenu, StatusBadge, StatusBadgeProvider, type StickyEntityRef, type StickyResolver, VERSION, WindowManagerProvider, WindowRegistry, WindowTitle, commitExposeHighlight, confirm, confirmDestructive, createWindowRegistry, exitExposeMode, formatDate, getActiveWindowRoute, getExposeHighlight, glassStyle, isMac, openBugReportDialog, prompt, reportBug, setExposeHighlight, setShellApiClient, setShellAuthBridge, setShellNavIcons, setWindowDefaultPosition, subscribeExposeHighlight, toast, toggleExposeMode, useBugReport, useClickOutside, useDesktopHost, useEditHotkey, useLocalStoragePrefs, useModalActive, useNewHotkey, useShellAuth, useShellEntityFetcher, useShellPrefs, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle };
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useEmailUnreadCount } from './chunk-PDFQNHW7.js';
|
|
2
2
|
import { formatDate } from './chunk-NSU7OHPC.js';
|
|
3
3
|
export { formatDate } from './chunk-NSU7OHPC.js';
|
|
4
|
+
export { EditableGrid } from './chunk-GP4Y3VCB.js';
|
|
4
5
|
import { subscribePomo, getPomoSnapshot } from './chunk-MK3HLUO4.js';
|
|
5
6
|
import { useGoogleAuth } from './chunk-MVWEL34Y.js';
|
|
6
7
|
import { useShellPrefs } from './chunk-36VM54SC.js';
|
|
@@ -526,6 +527,19 @@ function BugReportProvider({ children }) {
|
|
|
526
527
|
setPreviewUrl(url);
|
|
527
528
|
return () => URL.revokeObjectURL(url);
|
|
528
529
|
}, [screenshot]);
|
|
530
|
+
useEffect(() => {
|
|
531
|
+
if (!open) return;
|
|
532
|
+
const onPaste = (e) => {
|
|
533
|
+
const items = Array.from(e.clipboardData?.items ?? []);
|
|
534
|
+
const imageItem = items.find((it) => it.kind === "file" && it.type.startsWith("image/"));
|
|
535
|
+
if (!imageItem) return;
|
|
536
|
+
const blob = imageItem.getAsFile();
|
|
537
|
+
if (!blob) return;
|
|
538
|
+
setScreenshot(blob);
|
|
539
|
+
};
|
|
540
|
+
document.addEventListener("paste", onPaste);
|
|
541
|
+
return () => document.removeEventListener("paste", onPaste);
|
|
542
|
+
}, [open]);
|
|
529
543
|
const handleSubmit = () => {
|
|
530
544
|
setAnnotating(false);
|
|
531
545
|
setOpen(false);
|
|
@@ -588,7 +602,7 @@ function BugReportProvider({ children }) {
|
|
|
588
602
|
}
|
|
589
603
|
)
|
|
590
604
|
] }),
|
|
591
|
-
/* @__PURE__ */ jsx("p", { className: "mt-1 text-[11px] text-gray-400", children: "Click Annotate to mark up the screenshot before sending." })
|
|
605
|
+
/* @__PURE__ */ jsx("p", { className: "mt-1 text-[11px] text-gray-400", children: "Click Annotate to mark up the screenshot before sending. Or paste a different image from the clipboard to replace it." })
|
|
592
606
|
] }),
|
|
593
607
|
!previewUrl && /* @__PURE__ */ jsx(UploadDropZone, { onSelect: (blob) => setScreenshot(blob) }),
|
|
594
608
|
extraFields.length > 0 && /* @__PURE__ */ jsx("div", { className: "mt-4 space-y-3", children: extraFields.map((f) => /* @__PURE__ */ jsxs("div", { children: [
|
|
@@ -687,7 +701,7 @@ function UploadDropZone({ onSelect }) {
|
|
|
687
701
|
children: [
|
|
688
702
|
/* @__PURE__ */ jsx("p", { className: "text-gray-700 font-medium", children: "Screenshot capture failed" }),
|
|
689
703
|
/* @__PURE__ */ jsxs("p", { className: "mt-1 text-xs text-gray-500", children: [
|
|
690
|
-
"Drop an image here, or ",
|
|
704
|
+
"Drop an image here, paste one from the clipboard, or ",
|
|
691
705
|
/* @__PURE__ */ jsx("span", { className: "text-blue-600 underline", children: "click to upload" }),
|
|
692
706
|
". Your description will be sent either way."
|
|
693
707
|
] }),
|
|
@@ -895,7 +909,7 @@ function StatusBadge({ status }) {
|
|
|
895
909
|
}
|
|
896
910
|
|
|
897
911
|
// src/version.ts
|
|
898
|
-
var VERSION = "0.2.
|
|
912
|
+
var VERSION = "0.2.59" ;
|
|
899
913
|
var APP_VERSION = VERSION;
|
|
900
914
|
|
|
901
915
|
// src/changelog.ts
|