react-os-shell 4.1.3 → 4.1.5
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-XUBVGSAU.js → Browser-KHY7MXD4.js} +5 -5
- package/dist/{Browser-XUBVGSAU.js.map → Browser-KHY7MXD4.js.map} +1 -1
- package/dist/{Calculator-YI4FFJNC.js → Calculator-EIKUYW6O.js} +4 -4
- package/dist/{Calculator-YI4FFJNC.js.map → Calculator-EIKUYW6O.js.map} +1 -1
- package/dist/ConfirmDialog-C25OKJZP.js +4 -0
- package/dist/{ConfirmDialog-774RXRGC.js.map → ConfirmDialog-C25OKJZP.js.map} +1 -1
- package/dist/{CurrencyConverter-LUX2UEHY.js → CurrencyConverter-PJUTWMCD.js} +4 -4
- package/dist/{CurrencyConverter-LUX2UEHY.js.map → CurrencyConverter-PJUTWMCD.js.map} +1 -1
- package/dist/{Documents-LO76T67B.js → Documents-KI6IZA6A.js} +5 -5
- package/dist/{Documents-LO76T67B.js.map → Documents-KI6IZA6A.js.map} +1 -1
- package/dist/{Files-JA26E7LT.js → Files-XDN7W7S7.js} +5 -5
- package/dist/{Files-JA26E7LT.js.map → Files-XDN7W7S7.js.map} +1 -1
- package/dist/{Notepad-CDB5AOED.js → Notepad-STWMTAB6.js} +5 -5
- package/dist/{Notepad-CDB5AOED.js.map → Notepad-STWMTAB6.js.map} +1 -1
- package/dist/{PomodoroTimer-XPG5D63T.js → PomodoroTimer-K5NBAIVW.js} +5 -5
- package/dist/{PomodoroTimer-XPG5D63T.js.map → PomodoroTimer-K5NBAIVW.js.map} +1 -1
- package/dist/{Preview-CVP4RXD5.js → Preview-73KK2YVP.js} +5 -5
- package/dist/{Preview-CVP4RXD5.js.map → Preview-73KK2YVP.js.map} +1 -1
- package/dist/{Spreadsheet-HJTRTQQU.js → Spreadsheet-YLVGNQ43.js} +5 -5
- package/dist/{Spreadsheet-HJTRTQQU.js.map → Spreadsheet-YLVGNQ43.js.map} +1 -1
- package/dist/{Stock-7QVYY7WE.js → Stock-2XTWWH6K.js} +4 -4
- package/dist/{Stock-7QVYY7WE.js.map → Stock-2XTWWH6K.js.map} +1 -1
- package/dist/{Weather-UESMYSNG.js → Weather-GCBITKTJ.js} +4 -4
- package/dist/{Weather-UESMYSNG.js.map → Weather-GCBITKTJ.js.map} +1 -1
- package/dist/{WorldClock-UONWHVMF.js → WorldClock-S52UINCL.js} +4 -4
- package/dist/{WorldClock-UONWHVMF.js.map → WorldClock-S52UINCL.js.map} +1 -1
- package/dist/apps/index.js +15 -15
- package/dist/{chunk-N36CKRJH.js → chunk-DF4MTEZD.js} +4 -4
- package/dist/{chunk-N36CKRJH.js.map → chunk-DF4MTEZD.js.map} +1 -1
- package/dist/{chunk-AT2OO6B4.js → chunk-IGYB3NRR.js} +3 -3
- package/dist/{chunk-AT2OO6B4.js.map → chunk-IGYB3NRR.js.map} +1 -1
- package/dist/chunk-IMKD43E3.js +7 -0
- package/dist/{chunk-HWOOGLDG.js.map → chunk-IMKD43E3.js.map} +1 -1
- package/dist/{chunk-C7AKG4RE.js → chunk-QAVN7ZV5.js} +3 -3
- package/dist/{chunk-C7AKG4RE.js.map → chunk-QAVN7ZV5.js.map} +1 -1
- package/dist/{chunk-OGL3C2T2.js → chunk-URHWXWZE.js} +12 -10
- package/dist/chunk-URHWXWZE.js.map +1 -0
- package/dist/index.js +46 -15
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/ConfirmDialog-774RXRGC.js +0 -4
- package/dist/chunk-HWOOGLDG.js +0 -7
- package/dist/chunk-OGL3C2T2.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { subscribePomo, getPomoSnapshot } from './chunk-
|
|
2
|
-
export { setShellTodoProvider } from './chunk-
|
|
1
|
+
import { subscribePomo, getPomoSnapshot } from './chunk-IGYB3NRR.js';
|
|
2
|
+
export { setShellTodoProvider } from './chunk-IGYB3NRR.js';
|
|
3
3
|
export { ImageAnnotator_default as ImageAnnotator } from './chunk-QU5L5ZYM.js';
|
|
4
4
|
import { PREVIEW_OPENED_EVENT, openPreviewFile } from './chunk-DINNWYVB.js';
|
|
5
5
|
export { Breadcrumbs } from './chunk-DINNWYVB.js';
|
|
@@ -15,10 +15,10 @@ export { ShellAuthProvider, setShellAuthBridge, useShellAuth } from './chunk-ADJ
|
|
|
15
15
|
import { EditableGrid } from './chunk-GP4Y3VCB.js';
|
|
16
16
|
export { EditableGrid } from './chunk-GP4Y3VCB.js';
|
|
17
17
|
import './chunk-4SQU5YV6.js';
|
|
18
|
-
import { APP_VERSION, VERSION } from './chunk-
|
|
19
|
-
export { VERSION } from './chunk-
|
|
20
|
-
import { registerModalEscapeInterceptor, useIsMobile, useWindowManager, PopupMenu, PopupMenuLabel, PopupMenuDivider, PopupMenuItem, WINDOW_REGISTRY, isPageEntry, Modal, useShellPrefs, SIDEBAR_STRIP_W, forgetMaximizedWindowBoxes, ModalActions, useModalActive, client_default, LoadingSpinner, isShellApiClientConfigured, CancelButton, setWindowPosition } from './chunk-
|
|
21
|
-
export { CancelButton, ConfirmProvider, CopyButton, DocFavStar, Modal, ModalActions, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, ShellPrefsProvider, WindowCrashedFallback, WindowErrorBoundary, WindowManagerProvider, WindowTitle, commitExposeHighlight, confirm, confirmDestructive, exitExposeMode, getActiveWindowRoute, getExposeHighlight, getWindowPosition, isEntityEntry, isPageEntry, prompt, registerModalEscapeInterceptor, setExposeHighlight, setShellApiClient, setShellWindowRegistry, setWindowDefaultPosition, setWindowPosition, subscribeExposeHighlight, toggleExposeMode, useLocalStoragePrefs, useModalActive, useShellPrefs, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle } from './chunk-
|
|
18
|
+
import { APP_VERSION, VERSION } from './chunk-IMKD43E3.js';
|
|
19
|
+
export { VERSION } from './chunk-IMKD43E3.js';
|
|
20
|
+
import { registerModalEscapeInterceptor, useIsMobile, useWindowManager, PopupMenu, PopupMenuLabel, PopupMenuDivider, PopupMenuItem, WINDOW_REGISTRY, isPageEntry, Modal, useShellPrefs, SIDEBAR_STRIP_W, forgetMaximizedWindowBoxes, ModalActions, useModalActive, client_default, LoadingSpinner, isShellApiClientConfigured, CancelButton, setWindowPosition } from './chunk-URHWXWZE.js';
|
|
21
|
+
export { CancelButton, ConfirmProvider, CopyButton, DocFavStar, Modal, ModalActions, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, ShellPrefsProvider, WindowCrashedFallback, WindowErrorBoundary, WindowManagerProvider, WindowTitle, commitExposeHighlight, confirm, confirmDestructive, exitExposeMode, getActiveWindowRoute, getExposeHighlight, getWindowPosition, isEntityEntry, isPageEntry, prompt, registerModalEscapeInterceptor, setExposeHighlight, setShellApiClient, setShellWindowRegistry, setWindowDefaultPosition, setWindowPosition, subscribeExposeHighlight, toggleExposeMode, useLocalStoragePrefs, useModalActive, useShellPrefs, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle } from './chunk-URHWXWZE.js';
|
|
22
22
|
import { glassStyle, startMenuCategories, navSections, isSection, GLASS_INPUT_BG, navIcons, isReachable, sectionIcons, visibleChildren } from './chunk-6Q4KYGMH.js';
|
|
23
23
|
export { GLASS_DIVIDER, GLASS_INPUT_BG, glassStyle, setShellNavIcons } from './chunk-6Q4KYGMH.js';
|
|
24
24
|
import { createContext, lazy, forwardRef, useCallback, useState, useRef, useId, useEffect, useLayoutEffect, useMemo, useContext, isValidElement, cloneElement, Suspense, Fragment as Fragment$1, Children, useSyncExternalStore } from 'react';
|
|
@@ -6379,6 +6379,8 @@ function mediaFileName(url) {
|
|
|
6379
6379
|
var VIDEO_EXT_RE = /\.(mp4|webm|ogg|ogv|mov|m4v)(\?|#|$)/i;
|
|
6380
6380
|
function isVideoUrl(url, accept = "") {
|
|
6381
6381
|
if (!url) return false;
|
|
6382
|
+
const data = DATA_URL_RE.exec(url);
|
|
6383
|
+
if (data) return data[1].toLowerCase() === "video";
|
|
6382
6384
|
const acceptsVideo = accept.includes("video");
|
|
6383
6385
|
const acceptsImage = accept.includes("image") || accept === "*" || accept === "";
|
|
6384
6386
|
return VIDEO_EXT_RE.test(url) || acceptsVideo && !acceptsImage;
|
|
@@ -7578,10 +7580,27 @@ function PlainFilter({ filter, value, onChange }) {
|
|
|
7578
7580
|
className: `flex items-center gap-1.5 border rounded-lg px-2.5 py-1.5 text-sm transition-colors ${value ? "border-blue-400 bg-blue-50 text-blue-700" : "border-gray-300 text-gray-600 hover:border-gray-400"}`,
|
|
7579
7581
|
children: [
|
|
7580
7582
|
/* @__PURE__ */ jsx("span", { className: "truncate max-w-[140px]", children: selectedLabel || filter.label }),
|
|
7581
|
-
value ?
|
|
7582
|
-
|
|
7583
|
-
|
|
7584
|
-
|
|
7583
|
+
value ? (
|
|
7584
|
+
// A span, not a button: this lives INSIDE the combobox <button>, and
|
|
7585
|
+
// `<button>` inside `<button>` is invalid HTML — React logs "cannot
|
|
7586
|
+
// be a descendant of" and warns of a hydration error. It stays out of
|
|
7587
|
+
// the a11y tree because clearing is already a first-class keyboard
|
|
7588
|
+
// action: index 0 of the listbox is the "All" entry (value ''). A
|
|
7589
|
+
// nested control here would only pad the combobox's accessible name
|
|
7590
|
+
// with an affordance Tab can't reach.
|
|
7591
|
+
/* @__PURE__ */ jsx(
|
|
7592
|
+
"span",
|
|
7593
|
+
{
|
|
7594
|
+
"aria-hidden": "true",
|
|
7595
|
+
onClick: (e) => {
|
|
7596
|
+
e.stopPropagation();
|
|
7597
|
+
onChange("");
|
|
7598
|
+
},
|
|
7599
|
+
className: "cursor-pointer text-blue-400 hover:text-blue-600",
|
|
7600
|
+
children: /* @__PURE__ */ jsx(XMarkIcon, { className: "h-3.5 w-3.5" })
|
|
7601
|
+
}
|
|
7602
|
+
)
|
|
7603
|
+
) : /* @__PURE__ */ jsx("svg", { className: `h-3.5 w-3.5 text-gray-400 transition-transform ${open ? "rotate-180" : ""}`, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19.5 8.25l-7.5 7.5-7.5-7.5" }) })
|
|
7585
7604
|
]
|
|
7586
7605
|
}
|
|
7587
7606
|
),
|
|
@@ -7625,11 +7644,23 @@ function SearchableFilter({ filter, value, onChange }) {
|
|
|
7625
7644
|
className: `flex items-center gap-1.5 border rounded-lg px-2.5 py-1.5 text-sm transition-colors ${value ? "border-blue-400 bg-blue-50 text-blue-700" : "border-gray-300 text-gray-600 hover:border-gray-400"}`,
|
|
7626
7645
|
children: [
|
|
7627
7646
|
/* @__PURE__ */ jsx("span", { className: "truncate max-w-[140px]", children: selectedLabel || filter.label }),
|
|
7628
|
-
value ?
|
|
7629
|
-
|
|
7630
|
-
|
|
7631
|
-
|
|
7632
|
-
|
|
7647
|
+
value ? (
|
|
7648
|
+
// Same nested-button fix as PlainFilter — the dropdown's leading
|
|
7649
|
+
// "All" button is the keyboard path to the same clear.
|
|
7650
|
+
/* @__PURE__ */ jsx(
|
|
7651
|
+
"span",
|
|
7652
|
+
{
|
|
7653
|
+
"aria-hidden": "true",
|
|
7654
|
+
onClick: (e) => {
|
|
7655
|
+
e.stopPropagation();
|
|
7656
|
+
onChange("");
|
|
7657
|
+
setSearch("");
|
|
7658
|
+
},
|
|
7659
|
+
className: "cursor-pointer text-blue-400 hover:text-blue-600",
|
|
7660
|
+
children: /* @__PURE__ */ jsx(XMarkIcon, { className: "h-3.5 w-3.5" })
|
|
7661
|
+
}
|
|
7662
|
+
)
|
|
7663
|
+
) : /* @__PURE__ */ jsx("svg", { className: `h-3.5 w-3.5 text-gray-400 transition-transform ${open ? "rotate-180" : ""}`, fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19.5 8.25l-7.5 7.5-7.5-7.5" }) })
|
|
7633
7664
|
]
|
|
7634
7665
|
}
|
|
7635
7666
|
),
|