react-os-shell 2.9.0 → 2.9.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 (29) hide show
  1. package/dist/{Browser-MMVOWX6V.js → Browser-HDKOMCUA.js} +4 -4
  2. package/dist/{Browser-MMVOWX6V.js.map → Browser-HDKOMCUA.js.map} +1 -1
  3. package/dist/{Documents-YOILVZTR.js → Documents-JXLU2ILH.js} +3 -3
  4. package/dist/{Documents-YOILVZTR.js.map → Documents-JXLU2ILH.js.map} +1 -1
  5. package/dist/{Files-DQPXOF2C.js → Files-Q2YCSHYG.js} +7 -7
  6. package/dist/{Files-DQPXOF2C.js.map → Files-Q2YCSHYG.js.map} +1 -1
  7. package/dist/{Notepad-VWPY5QBS.js → Notepad-TBAF2SHJ.js} +3 -3
  8. package/dist/{Notepad-VWPY5QBS.js.map → Notepad-TBAF2SHJ.js.map} +1 -1
  9. package/dist/Preview-CHYOTNEP.js +9 -0
  10. package/dist/{Preview-OZBOKT2W.js.map → Preview-CHYOTNEP.js.map} +1 -1
  11. package/dist/{Spreadsheet-SFWYWPGX.js → Spreadsheet-I2GJKC6Y.js} +4 -4
  12. package/dist/{Spreadsheet-SFWYWPGX.js.map → Spreadsheet-I2GJKC6Y.js.map} +1 -1
  13. package/dist/apps/index.js +12 -12
  14. package/dist/{chunk-EMVVW7CY.js → chunk-75YZMM5Q.js} +4 -4
  15. package/dist/{chunk-EMVVW7CY.js.map → chunk-75YZMM5Q.js.map} +1 -1
  16. package/dist/{chunk-UXJKPSLC.js → chunk-DF6TNR4B.js} +3 -3
  17. package/dist/{chunk-UXJKPSLC.js.map → chunk-DF6TNR4B.js.map} +1 -1
  18. package/dist/{chunk-6EUBB5B5.js → chunk-EHB2QYJX.js} +3 -3
  19. package/dist/{chunk-6EUBB5B5.js.map → chunk-EHB2QYJX.js.map} +1 -1
  20. package/dist/{chunk-Y4FCCBR7.js → chunk-IONOMHM2.js} +3 -3
  21. package/dist/{chunk-Y4FCCBR7.js.map → chunk-IONOMHM2.js.map} +1 -1
  22. package/dist/{chunk-6XRORZDB.js → chunk-QFOOSV3I.js} +4 -4
  23. package/dist/{chunk-6XRORZDB.js.map → chunk-QFOOSV3I.js.map} +1 -1
  24. package/dist/{chunk-YUZRECE6.js → chunk-RADCIHYG.js} +3 -3
  25. package/dist/{chunk-YUZRECE6.js.map → chunk-RADCIHYG.js.map} +1 -1
  26. package/dist/index.js +20 -17
  27. package/dist/index.js.map +1 -1
  28. package/package.json +1 -1
  29. package/dist/Preview-OZBOKT2W.js +0 -9
package/dist/index.js CHANGED
@@ -1,17 +1,17 @@
1
1
  import { subscribePomo, getPomoSnapshot } from './chunk-FIUUGSGJ.js';
2
2
  export { setShellTodoProvider } from './chunk-FIUUGSGJ.js';
3
- import { PREVIEW_OPENED_EVENT, publishDesktopFolders, requestFilesTrashView, FolderGlyph, openPreviewFile, requestFilesDesktopFolderView, FileIconTile, hashGradient } from './chunk-EMVVW7CY.js';
4
- export { Breadcrumbs } from './chunk-EMVVW7CY.js';
3
+ import { PREVIEW_OPENED_EVENT, publishDesktopFolders, requestFilesTrashView, FolderGlyph, openPreviewFile, requestFilesDesktopFolderView, FileIconTile, hashGradient } from './chunk-75YZMM5Q.js';
4
+ export { Breadcrumbs } from './chunk-75YZMM5Q.js';
5
5
  import { SidebarLayout } from './chunk-VGTEM5RZ.js';
6
6
  export { SidebarLayout } from './chunk-VGTEM5RZ.js';
7
7
  import { playNotification, playStartup, soundsEnabled, getSoundConfig, SOUND_PACK_KEYS, SOUND_PACKS, SOUND_TYPES, SOUND_TYPE_LABELS, setSoundForType, previewSound, setAllSounds, playLogout } from './chunk-D7PYW2QS.js';
8
- import { setPdfPreview } from './chunk-UXJKPSLC.js';
8
+ import { setPdfPreview } from './chunk-DF6TNR4B.js';
9
9
  import './chunk-NUPYEVU4.js';
10
10
  import { toast_default } from './chunk-VENYVK3L.js';
11
11
  export { toast_default as toast } from './chunk-VENYVK3L.js';
12
- export { EditableGrid } from './chunk-YUZRECE6.js';
13
- import { APP_VERSION } from './chunk-Y4FCCBR7.js';
14
- export { VERSION } from './chunk-Y4FCCBR7.js';
12
+ export { EditableGrid } from './chunk-RADCIHYG.js';
13
+ import { APP_VERSION } from './chunk-IONOMHM2.js';
14
+ export { VERSION } from './chunk-IONOMHM2.js';
15
15
  import { useWindowManager, PopupMenu, PopupMenuLabel, PopupMenuDivider, PopupMenuItem, Modal, WINDOW_REGISTRY, isPageEntry, useShellPrefs, useIsMobile, ModalActions, useModalActive, client_default, LoadingSpinner, setWindowPosition, ThumbCard, activateModal } from './chunk-JNF5VRPB.js';
16
16
  export { CancelButton, CopyButton, DocFavStar, Modal, ModalActions, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, ShellPrefsProvider, WindowCrashedFallback, WindowErrorBoundary, WindowManagerProvider, WindowTitle, commitExposeHighlight, exitExposeMode, getActiveWindowRoute, getExposeHighlight, getWindowPosition, isEntityEntry, isPageEntry, registerModalEscapeInterceptor, setExposeHighlight, setShellApiClient, setShellWindowRegistry, setWindowDefaultPosition, setWindowPosition, subscribeExposeHighlight, toggleExposeMode, useLocalStoragePrefs, useModalActive, useShellPrefs, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle } from './chunk-JNF5VRPB.js';
17
17
  import { confirm } from './chunk-UBN4IUDE.js';
@@ -3295,12 +3295,14 @@ function StartMenu({
3295
3295
  const flyoutEstH = flyoutItems.length * sizeConfig.itemH + 12;
3296
3296
  const flyoutH = measuredFlyout?.key === hoveredSection ? measuredFlyout.h : flyoutEstH;
3297
3297
  const menuWidth = sizeConfig.mw;
3298
- const menuRect = menuRef.current?.getBoundingClientRect();
3299
- const minTop = menuRect ? menuRect.top : taskbarPosition === "top" ? taskbarH + 4 : 4;
3300
- const maxBottom = menuRect ? menuRect.bottom : taskbarPosition === "bottom" ? window.innerHeight - taskbarH - 4 : window.innerHeight - 4;
3301
- let flyoutTop = hoveredY - flyoutH / 2;
3298
+ const viewportH = typeof window !== "undefined" ? window.innerHeight : 800;
3299
+ const minTop = (taskbarPosition === "top" ? taskbarH : 0) + 8;
3300
+ const maxBottom = viewportH - (taskbarPosition === "bottom" ? taskbarH : 0) - 8;
3301
+ const availH = Math.max(0, maxBottom - minTop);
3302
+ const flyoutBoxH = Math.min(flyoutH, availH);
3303
+ let flyoutTop = hoveredY - flyoutBoxH / 2;
3302
3304
  if (flyoutTop < minTop) flyoutTop = minTop;
3303
- if (flyoutTop + flyoutH > maxBottom) flyoutTop = Math.max(minTop, maxBottom - flyoutH);
3305
+ if (flyoutTop + flyoutBoxH > maxBottom) flyoutTop = Math.max(minTop, maxBottom - flyoutBoxH);
3304
3306
  const handleSectionHover = (label, e) => {
3305
3307
  clearTimeout(hoverTimeout.current);
3306
3308
  const rect = e.currentTarget.getBoundingClientRect();
@@ -3509,7 +3511,7 @@ function StartMenu({
3509
3511
  setHoveredChild(null);
3510
3512
  }, 200);
3511
3513
  },
3512
- children: /* @__PURE__ */ jsx("div", { className: "py-1 px-1", children: flyoutItems.map((item) => {
3514
+ children: /* @__PURE__ */ jsx("div", { className: "py-1 px-1 overflow-y-auto overscroll-contain", style: { maxHeight: availH }, children: flyoutItems.map((item) => {
3513
3515
  const hasChildren = !!item.children && item.children.length > 0;
3514
3516
  const isChildHovered = hoveredChild === item.to;
3515
3517
  return /* @__PURE__ */ jsxs(
@@ -3553,9 +3555,10 @@ function StartMenu({
3553
3555
  const subLeft = flyoutRect ? flyoutRect.right + 4 : 0;
3554
3556
  const subEstH = kids.length * sizeConfig.itemH + 12;
3555
3557
  const subH = measuredSub?.key === hoveredChild ? measuredSub.h : subEstH;
3556
- let subTop = hoveredChildY - subH / 2;
3558
+ const subBoxH = Math.min(subH, availH);
3559
+ let subTop = hoveredChildY - subBoxH / 2;
3557
3560
  if (subTop < minTop) subTop = minTop;
3558
- if (subTop + subH > maxBottom) subTop = Math.max(minTop, maxBottom - subH);
3561
+ if (subTop + subBoxH > maxBottom) subTop = Math.max(minTop, maxBottom - subBoxH);
3559
3562
  return /* @__PURE__ */ jsx(
3560
3563
  "div",
3561
3564
  {
@@ -3569,7 +3572,7 @@ function StartMenu({
3569
3572
  onMouseLeave: () => {
3570
3573
  childHoverTimeout.current = setTimeout(() => setHoveredChild(null), 200);
3571
3574
  },
3572
- children: /* @__PURE__ */ jsx("div", { className: "py-1 px-1", children: kids.map((child) => /* @__PURE__ */ jsxs("div", { children: [
3575
+ children: /* @__PURE__ */ jsx("div", { className: "py-1 px-1 overflow-y-auto overscroll-contain", style: { maxHeight: availH }, children: kids.map((child) => /* @__PURE__ */ jsxs("div", { children: [
3573
3576
  /* @__PURE__ */ jsxs(
3574
3577
  "button",
3575
3578
  {
@@ -5687,14 +5690,14 @@ function SystemPreferences({
5687
5690
  maxWidth: 360,
5688
5691
  className,
5689
5692
  sidebarClassName: "border-r border-gray-200 bg-gray-50",
5690
- sidebar: /* @__PURE__ */ jsx("nav", { className: "py-1.5", children: sections2.map((item) => {
5693
+ sidebar: /* @__PURE__ */ jsx("nav", { className: "px-1 py-1.5 space-y-0.5", children: sections2.map((item) => {
5691
5694
  const isActive = item.key === selected;
5692
5695
  return /* @__PURE__ */ jsxs(
5693
5696
  "button",
5694
5697
  {
5695
5698
  type: "button",
5696
5699
  onClick: () => setSelected(item.key),
5697
- className: `w-full text-left px-3 py-2.5 text-sm transition-colors flex items-start gap-2.5 ${isActive ? "bg-blue-50 text-blue-700" : "hover:bg-gray-100 text-gray-700"}`,
5700
+ className: `w-full text-left rounded-lg px-3 py-2.5 text-sm transition-colors flex items-start gap-2.5 ${isActive ? "bg-blue-50 text-blue-700" : "hover:bg-gray-100 text-gray-700"}`,
5698
5701
  children: [
5699
5702
  item.icon && /* @__PURE__ */ jsx("span", { className: `mt-0.5 ${isActive ? "text-blue-600" : "text-gray-400"}`, children: item.icon }),
5700
5703
  /* @__PURE__ */ jsxs("span", { className: "min-w-0", children: [