react-os-shell 3.11.2 → 3.12.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.
- package/dist/Browser-2FY74OL6.js +7 -0
- package/dist/{Browser-FX577ZG2.js.map → Browser-2FY74OL6.js.map} +1 -1
- package/dist/{Calculator-K3KWPHJI.js → Calculator-47JKICCY.js} +4 -4
- package/dist/{Calculator-K3KWPHJI.js.map → Calculator-47JKICCY.js.map} +1 -1
- package/dist/{CurrencyConverter-ROLJLHT4.js → CurrencyConverter-V6MDJF34.js} +4 -4
- package/dist/{CurrencyConverter-ROLJLHT4.js.map → CurrencyConverter-V6MDJF34.js.map} +1 -1
- package/dist/{Documents-JJKFUSJ6.js → Documents-IHK2JMWI.js} +4 -4
- package/dist/{Documents-JJKFUSJ6.js.map → Documents-IHK2JMWI.js.map} +1 -1
- package/dist/Files-JK45SHMI.js +12 -0
- package/dist/{Files-L5SN24XK.js.map → Files-JK45SHMI.js.map} +1 -1
- package/dist/{Notepad-S2EZKPZQ.js → Notepad-2WJML7F3.js} +4 -4
- package/dist/{Notepad-S2EZKPZQ.js.map → Notepad-2WJML7F3.js.map} +1 -1
- package/dist/{PomodoroTimer-IKLRQIU3.js → PomodoroTimer-GH2L545O.js} +5 -5
- package/dist/{PomodoroTimer-IKLRQIU3.js.map → PomodoroTimer-GH2L545O.js.map} +1 -1
- package/dist/Preview-EH5SPVRS.js +8 -0
- package/dist/{Preview-BSQJ3GGL.js.map → Preview-EH5SPVRS.js.map} +1 -1
- package/dist/Spreadsheet-ZYL35FIB.js +7 -0
- package/dist/{Spreadsheet-HF47TRAV.js.map → Spreadsheet-ZYL35FIB.js.map} +1 -1
- package/dist/{Stock-VGTJEM4B.js → Stock-D2GVQNCO.js} +4 -4
- package/dist/{Stock-VGTJEM4B.js.map → Stock-D2GVQNCO.js.map} +1 -1
- package/dist/{Weather-JXDY47YQ.js → Weather-LMBR67BX.js} +4 -4
- package/dist/{Weather-JXDY47YQ.js.map → Weather-LMBR67BX.js.map} +1 -1
- package/dist/{WorldClock-ACR63JED.js → WorldClock-HWHH52IB.js} +4 -4
- package/dist/{WorldClock-ACR63JED.js.map → WorldClock-HWHH52IB.js.map} +1 -1
- package/dist/apps/index.d.ts +1 -1
- package/dist/apps/index.js +19 -19
- package/dist/{chunk-VGJ3KCOP.js → chunk-55MDWJQ2.js} +3 -3
- package/dist/{chunk-VGJ3KCOP.js.map → chunk-55MDWJQ2.js.map} +1 -1
- package/dist/{chunk-AW2BPHVS.js → chunk-5GXZVC32.js} +4 -4
- package/dist/{chunk-AW2BPHVS.js.map → chunk-5GXZVC32.js.map} +1 -1
- package/dist/{chunk-OKFJBJY6.js → chunk-EOHB7ETC.js} +4 -4
- package/dist/{chunk-OKFJBJY6.js.map → chunk-EOHB7ETC.js.map} +1 -1
- package/dist/{chunk-MRFKIP3G.js → chunk-HDXKSJDT.js} +3 -3
- package/dist/{chunk-MRFKIP3G.js.map → chunk-HDXKSJDT.js.map} +1 -1
- package/dist/{chunk-BI5XBNI5.js → chunk-HT74MVNF.js} +4 -4
- package/dist/{chunk-BI5XBNI5.js.map → chunk-HT74MVNF.js.map} +1 -1
- package/dist/{chunk-NZLE6YR6.js → chunk-JSBH5CKG.js} +4 -4
- package/dist/{chunk-NZLE6YR6.js.map → chunk-JSBH5CKG.js.map} +1 -1
- package/dist/{chunk-HLWEKEKD.js → chunk-PQFF4IXI.js} +20 -6
- package/dist/chunk-PQFF4IXI.js.map +1 -0
- package/dist/{chunk-CCIP3ADU.js → chunk-PXJWC5FZ.js} +5 -5
- package/dist/{chunk-CCIP3ADU.js.map → chunk-PXJWC5FZ.js.map} +1 -1
- package/dist/{chunk-P3DVY4XJ.js → chunk-UY2ZQNVM.js} +4 -4
- package/dist/{chunk-P3DVY4XJ.js.map → chunk-UY2ZQNVM.js.map} +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +25 -12
- package/dist/index.js.map +1 -1
- package/dist/{types-CTPtgkiG.d.ts → types-DqonitKD.d.ts} +4 -0
- package/package.json +1 -1
- package/dist/Browser-FX577ZG2.js +0 -7
- package/dist/Files-L5SN24XK.js +0 -12
- package/dist/Preview-BSQJ3GGL.js +0 -8
- package/dist/Spreadsheet-HF47TRAV.js +0 -7
- package/dist/chunk-HLWEKEKD.js.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { useWindowMenuItem, Modal } from './chunk-
|
|
1
|
+
import { useWindowMenuItem, Modal } from './chunk-PQFF4IXI.js';
|
|
2
2
|
import { navIcons } from './chunk-ZF6AYO4G.js';
|
|
3
3
|
import { useState, useCallback, isValidElement, cloneElement } from 'react';
|
|
4
4
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
5
|
|
|
6
6
|
// src/version.ts
|
|
7
|
-
var VERSION = "3.
|
|
7
|
+
var VERSION = "3.12.0" ;
|
|
8
8
|
var APP_VERSION = VERSION;
|
|
9
9
|
var BUILTIN_APP_INFO = {
|
|
10
10
|
spreadsheet: {
|
|
@@ -77,5 +77,5 @@ function AboutApp({ app }) {
|
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
export { APP_VERSION, AboutApp, BUILTIN_APP_INFO, VERSION };
|
|
80
|
-
//# sourceMappingURL=chunk-
|
|
81
|
-
//# sourceMappingURL=chunk-
|
|
80
|
+
//# sourceMappingURL=chunk-JSBH5CKG.js.map
|
|
81
|
+
//# sourceMappingURL=chunk-JSBH5CKG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/version.ts","../src/apps/_about.tsx"],"names":[],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/version.ts","../src/apps/_about.tsx"],"names":[],"mappings":"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","file":"chunk-JSBH5CKG.js","sourcesContent":["declare const __PKG_VERSION__: string | undefined;\n\n/** Package version, injected by tsup at build time. Stays as an empty\n * string when the source is consumed without a build (e.g. tests). */\nexport const VERSION: string = typeof __PKG_VERSION__ === 'string' ? __PKG_VERSION__ : '';\n\n/** Legacy alias kept so existing consumers do not break. */\nexport const APP_VERSION = VERSION;\n","/**\n * Shared \"About\" dialog for the bundled apps.\n *\n * Each bundled app carries its own version (independent of the package\n * version) so app-level changes can be tracked without bumping every app at\n * once. `<AboutApp app=\"…\" />` registers an \"About <Name>\" item in the\n * window title menu and renders the dialog: app icon, name, app version and\n * the react-os-shell attribution + shell version.\n *\n * Bump an app's version in `BUILTIN_APP_INFO` whenever that app's behaviour\n * changes, alongside the package-level CHANGELOG entry.\n */\nimport { useCallback, useState, isValidElement, cloneElement, type ReactElement } from 'react';\nimport Modal, { useWindowMenuItem } from '../shell/Modal';\nimport { navIcons } from '../shell-config/nav';\nimport { VERSION } from '../version';\n\nexport interface BuiltinAppInfo {\n /** Display name — matches the window-registry label. */\n name: string;\n /** App version, independent of the package version. */\n version: string;\n /** One-line summary shown in the About dialog. */\n description: string;\n /** Registry route — used to look up the consumer-registered nav icon. */\n route: string;\n}\n\nexport const BUILTIN_APP_INFO = {\n spreadsheet: {\n name: 'Spreadsheets',\n version: '1.1.0',\n route: '/spreadsheet',\n description: 'Multi-sheet spreadsheet editor with CSV / TSV import and export.',\n },\n notepad: {\n name: 'Notepad',\n version: '1.0.0',\n route: '/notepad',\n description: 'Color-coded notes with checklists, desktop stickies and entity autolinking.',\n },\n documents: {\n name: 'Documents',\n version: '1.1.0',\n route: '/documents',\n description: 'Letter-page editor for Word documents and plain-text files — images, lists, alignment.',\n },\n preview: {\n name: 'Preview',\n version: '1.2.1',\n route: '/preview',\n description: 'Viewer for PDF documents, images, DXF drawings and 3D models — CAD-style measuring with object snap and an AutoCAD-like command bar.',\n },\n files: {\n name: 'Files',\n version: '1.1.0',\n route: '/files',\n description: 'Personal file manager with folders, uploads, quota, trash and desktop shortcut folders.',\n },\n browser: {\n name: 'Browser',\n version: '1.0.0',\n route: '/browser',\n description: 'Minimal web browser with bookmarks, history and navigation bar.',\n },\n} satisfies Record<string, BuiltinAppInfo>;\n\nexport type BuiltinAppId = keyof typeof BUILTIN_APP_INFO;\n\nconst ABOUT_MENU_ICON = (\n <svg className=\"h-4 w-4 text-gray-400\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={1.5}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z\" />\n </svg>\n);\n\n// Generic window glyph shown when the consumer hasn't registered a nav icon\n// for the app's route (same fallback shape as the Modal title bar).\nconst FALLBACK_APP_ICON = (\n <svg className=\"h-9 w-9\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={1.5}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M3.75 6.75A2.25 2.25 0 016 4.5h12a2.25 2.25 0 012.25 2.25v10.5A2.25 2.25 0 0118 19.5H6a2.25 2.25 0 01-2.25-2.25V6.75z M3.75 9h16.5\" />\n </svg>\n);\n\n/** Registers \"About <Name>\" in the window title menu and renders the dialog.\n * Render anywhere inside the app's window. */\nexport default function AboutApp({ app }: { app: BuiltinAppId }) {\n const info = BUILTIN_APP_INFO[app];\n const [open, setOpen] = useState(false);\n const openDialog = useCallback(() => setOpen(true), []);\n useWindowMenuItem(`About ${info.name}`, openDialog, ABOUT_MENU_ICON);\n\n if (!open) return null;\n\n const registered = navIcons[info.route];\n const appIcon = isValidElement(registered)\n ? cloneElement(registered as ReactElement, { className: 'h-9 w-9' } as any)\n : FALLBACK_APP_ICON;\n\n return (\n <Modal open onClose={() => setOpen(false)} title={`About ${info.name}`} size=\"sm\" compact bodyScroll={false} autoHeight dimensions={[320, 320]}>\n <div className=\"flex flex-col items-center text-center px-5 pt-5 pb-4\">\n <div className=\"flex h-16 w-16 items-center justify-center rounded-2xl bg-gray-100 text-gray-600 shrink-0\">\n {appIcon}\n </div>\n <h2 className=\"mt-3 text-lg font-bold text-gray-900\">{info.name}</h2>\n <p className=\"text-[11px] font-mono text-gray-400\">Version {info.version}</p>\n <p className=\"mt-2 text-xs text-gray-500 leading-relaxed\">{info.description}</p>\n <div className=\"mt-4 pt-3 border-t border-gray-200 w-full\">\n <p className=\"text-[11px] text-gray-500\">\n Part of the <span className=\"font-medium text-gray-700\">react-os-shell</span> desktop environment\n </p>\n {VERSION && <p className=\"mt-0.5 text-[10px] font-mono text-gray-400\">shell v{VERSION}</p>}\n </div>\n </div>\n </Modal>\n );\n}\n"]}
|
|
@@ -684,6 +684,7 @@ var RESIZE_CURSOR = {
|
|
|
684
684
|
e: "ew-resize",
|
|
685
685
|
w: "ew-resize"
|
|
686
686
|
};
|
|
687
|
+
var DRAG_THRESHOLD = 4;
|
|
687
688
|
function beginPointerGesture(handle, pointerId, cursor) {
|
|
688
689
|
ensureGestureStyle();
|
|
689
690
|
try {
|
|
@@ -1351,7 +1352,9 @@ function Modal({ open, onClose, title, icon, copyText, size = "lg", dirty = fals
|
|
|
1351
1352
|
return;
|
|
1352
1353
|
}
|
|
1353
1354
|
e.preventDefault();
|
|
1354
|
-
const
|
|
1355
|
+
const dragHandle = e.currentTarget;
|
|
1356
|
+
const dragPointerId = e.pointerId;
|
|
1357
|
+
let endGesture = null;
|
|
1355
1358
|
const sx = e.clientX, sy = e.clientY;
|
|
1356
1359
|
const panel = panelRef.current;
|
|
1357
1360
|
const rect = panel?.getBoundingClientRect();
|
|
@@ -1380,6 +1383,10 @@ function Modal({ open, onClose, title, icon, copyText, size = "lg", dirty = fals
|
|
|
1380
1383
|
setBox((b) => ({ ...b, x: ox, y: oy, w: actualW, h: actualH }));
|
|
1381
1384
|
let currentZone = null;
|
|
1382
1385
|
const move = (ev) => {
|
|
1386
|
+
if (!endGesture) {
|
|
1387
|
+
if (Math.abs(ev.clientX - sx) < DRAG_THRESHOLD && Math.abs(ev.clientY - sy) < DRAG_THRESHOLD) return;
|
|
1388
|
+
endGesture = beginPointerGesture(dragHandle, dragPointerId, "move");
|
|
1389
|
+
}
|
|
1383
1390
|
const nx = ox + ev.clientX - sx;
|
|
1384
1391
|
const ny = Math.max(0, oy + ev.clientY - sy);
|
|
1385
1392
|
if (panel) {
|
|
@@ -1399,7 +1406,7 @@ function Modal({ open, onClose, title, icon, copyText, size = "lg", dirty = fals
|
|
|
1399
1406
|
const up = () => {
|
|
1400
1407
|
window.removeEventListener("pointermove", move);
|
|
1401
1408
|
window.removeEventListener("pointerup", up);
|
|
1402
|
-
endGesture();
|
|
1409
|
+
endGesture?.();
|
|
1403
1410
|
hideSnapPreview();
|
|
1404
1411
|
const finalBox = { ...boxRef.current };
|
|
1405
1412
|
if (!widget && currentZone) {
|
|
@@ -1421,7 +1428,9 @@ function Modal({ open, onClose, title, icon, copyText, size = "lg", dirty = fals
|
|
|
1421
1428
|
if (e.button !== 0) return;
|
|
1422
1429
|
e.preventDefault();
|
|
1423
1430
|
e.stopPropagation();
|
|
1424
|
-
const
|
|
1431
|
+
const resizeHandle = e.currentTarget;
|
|
1432
|
+
const resizePointerId = e.pointerId;
|
|
1433
|
+
let endGesture = null;
|
|
1425
1434
|
const sx = e.clientX, sy = e.clientY;
|
|
1426
1435
|
const panel = panelRef.current;
|
|
1427
1436
|
const rect = panel?.getBoundingClientRect();
|
|
@@ -1470,6 +1479,10 @@ function Modal({ open, onClose, title, icon, copyText, size = "lg", dirty = fals
|
|
|
1470
1479
|
}
|
|
1471
1480
|
};
|
|
1472
1481
|
const move = (ev) => {
|
|
1482
|
+
if (!endGesture) {
|
|
1483
|
+
if (Math.abs(ev.clientX - sx) < DRAG_THRESHOLD && Math.abs(ev.clientY - sy) < DRAG_THRESHOLD) return;
|
|
1484
|
+
endGesture = beginPointerGesture(resizeHandle, resizePointerId, RESIZE_CURSOR[corner]);
|
|
1485
|
+
}
|
|
1473
1486
|
pending = compute(ev.clientX - sx, ev.clientY - sy);
|
|
1474
1487
|
if (!raf) raf = requestAnimationFrame(flush);
|
|
1475
1488
|
};
|
|
@@ -1478,7 +1491,7 @@ function Modal({ open, onClose, title, icon, copyText, size = "lg", dirty = fals
|
|
|
1478
1491
|
window.removeEventListener("pointerup", up);
|
|
1479
1492
|
if (raf) cancelAnimationFrame(raf);
|
|
1480
1493
|
flush();
|
|
1481
|
-
endGesture();
|
|
1494
|
+
endGesture?.();
|
|
1482
1495
|
setBox({ ...boxRef.current });
|
|
1483
1496
|
};
|
|
1484
1497
|
window.addEventListener("pointermove", move);
|
|
@@ -2090,6 +2103,7 @@ function RestoredRegistryModal({ item, onClose, onMinimize }) {
|
|
|
2090
2103
|
windowKey: item.id,
|
|
2091
2104
|
openedFromKey: item.openedFrom,
|
|
2092
2105
|
size: entry.size || "2xl",
|
|
2106
|
+
dimensions: entry.dimensions,
|
|
2093
2107
|
autoHeight: entry.autoHeight,
|
|
2094
2108
|
autoMinHeight: entry.autoMinHeight,
|
|
2095
2109
|
appStyle: entry.appStyle,
|
|
@@ -2621,5 +2635,5 @@ function WindowManagerProvider({ children }) {
|
|
|
2621
2635
|
}
|
|
2622
2636
|
|
|
2623
2637
|
export { CancelButton, CopyButton, DocFavStar, LoadingSpinner, Modal, ModalActions, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, ShellPrefsProvider, ThumbCard, WINDOW_REGISTRY, WindowCrashedFallback, WindowErrorBoundary, WindowManagerProvider, WindowTitle, activateModal, client_default, commitExposeHighlight, exitExposeMode, getActiveModalId, getActiveWindowRoute, getExposeHighlight, getWindowPosition, isEntityEntry, isPageEntry, registerModalEscapeInterceptor, setExposeHighlight, setShellApiClient, setShellWindowRegistry, setWindowDefaultPosition, setWindowPosition, subscribeExposeHighlight, toggleExposeMode, useIsMobile, useLocalStoragePrefs, useModalActive, useShellPrefs, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle };
|
|
2624
|
-
//# sourceMappingURL=chunk-
|
|
2625
|
-
//# sourceMappingURL=chunk-
|
|
2638
|
+
//# sourceMappingURL=chunk-PQFF4IXI.js.map
|
|
2639
|
+
//# sourceMappingURL=chunk-PQFF4IXI.js.map
|