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.
Files changed (54) hide show
  1. package/dist/Browser-2FY74OL6.js +7 -0
  2. package/dist/{Browser-FX577ZG2.js.map → Browser-2FY74OL6.js.map} +1 -1
  3. package/dist/{Calculator-K3KWPHJI.js → Calculator-47JKICCY.js} +4 -4
  4. package/dist/{Calculator-K3KWPHJI.js.map → Calculator-47JKICCY.js.map} +1 -1
  5. package/dist/{CurrencyConverter-ROLJLHT4.js → CurrencyConverter-V6MDJF34.js} +4 -4
  6. package/dist/{CurrencyConverter-ROLJLHT4.js.map → CurrencyConverter-V6MDJF34.js.map} +1 -1
  7. package/dist/{Documents-JJKFUSJ6.js → Documents-IHK2JMWI.js} +4 -4
  8. package/dist/{Documents-JJKFUSJ6.js.map → Documents-IHK2JMWI.js.map} +1 -1
  9. package/dist/Files-JK45SHMI.js +12 -0
  10. package/dist/{Files-L5SN24XK.js.map → Files-JK45SHMI.js.map} +1 -1
  11. package/dist/{Notepad-S2EZKPZQ.js → Notepad-2WJML7F3.js} +4 -4
  12. package/dist/{Notepad-S2EZKPZQ.js.map → Notepad-2WJML7F3.js.map} +1 -1
  13. package/dist/{PomodoroTimer-IKLRQIU3.js → PomodoroTimer-GH2L545O.js} +5 -5
  14. package/dist/{PomodoroTimer-IKLRQIU3.js.map → PomodoroTimer-GH2L545O.js.map} +1 -1
  15. package/dist/Preview-EH5SPVRS.js +8 -0
  16. package/dist/{Preview-BSQJ3GGL.js.map → Preview-EH5SPVRS.js.map} +1 -1
  17. package/dist/Spreadsheet-ZYL35FIB.js +7 -0
  18. package/dist/{Spreadsheet-HF47TRAV.js.map → Spreadsheet-ZYL35FIB.js.map} +1 -1
  19. package/dist/{Stock-VGTJEM4B.js → Stock-D2GVQNCO.js} +4 -4
  20. package/dist/{Stock-VGTJEM4B.js.map → Stock-D2GVQNCO.js.map} +1 -1
  21. package/dist/{Weather-JXDY47YQ.js → Weather-LMBR67BX.js} +4 -4
  22. package/dist/{Weather-JXDY47YQ.js.map → Weather-LMBR67BX.js.map} +1 -1
  23. package/dist/{WorldClock-ACR63JED.js → WorldClock-HWHH52IB.js} +4 -4
  24. package/dist/{WorldClock-ACR63JED.js.map → WorldClock-HWHH52IB.js.map} +1 -1
  25. package/dist/apps/index.d.ts +1 -1
  26. package/dist/apps/index.js +19 -19
  27. package/dist/{chunk-VGJ3KCOP.js → chunk-55MDWJQ2.js} +3 -3
  28. package/dist/{chunk-VGJ3KCOP.js.map → chunk-55MDWJQ2.js.map} +1 -1
  29. package/dist/{chunk-AW2BPHVS.js → chunk-5GXZVC32.js} +4 -4
  30. package/dist/{chunk-AW2BPHVS.js.map → chunk-5GXZVC32.js.map} +1 -1
  31. package/dist/{chunk-OKFJBJY6.js → chunk-EOHB7ETC.js} +4 -4
  32. package/dist/{chunk-OKFJBJY6.js.map → chunk-EOHB7ETC.js.map} +1 -1
  33. package/dist/{chunk-MRFKIP3G.js → chunk-HDXKSJDT.js} +3 -3
  34. package/dist/{chunk-MRFKIP3G.js.map → chunk-HDXKSJDT.js.map} +1 -1
  35. package/dist/{chunk-BI5XBNI5.js → chunk-HT74MVNF.js} +4 -4
  36. package/dist/{chunk-BI5XBNI5.js.map → chunk-HT74MVNF.js.map} +1 -1
  37. package/dist/{chunk-NZLE6YR6.js → chunk-JSBH5CKG.js} +4 -4
  38. package/dist/{chunk-NZLE6YR6.js.map → chunk-JSBH5CKG.js.map} +1 -1
  39. package/dist/{chunk-HLWEKEKD.js → chunk-PQFF4IXI.js} +20 -6
  40. package/dist/chunk-PQFF4IXI.js.map +1 -0
  41. package/dist/{chunk-CCIP3ADU.js → chunk-PXJWC5FZ.js} +5 -5
  42. package/dist/{chunk-CCIP3ADU.js.map → chunk-PXJWC5FZ.js.map} +1 -1
  43. package/dist/{chunk-P3DVY4XJ.js → chunk-UY2ZQNVM.js} +4 -4
  44. package/dist/{chunk-P3DVY4XJ.js.map → chunk-UY2ZQNVM.js.map} +1 -1
  45. package/dist/index.d.ts +2 -2
  46. package/dist/index.js +25 -12
  47. package/dist/index.js.map +1 -1
  48. package/dist/{types-CTPtgkiG.d.ts → types-DqonitKD.d.ts} +4 -0
  49. package/package.json +1 -1
  50. package/dist/Browser-FX577ZG2.js +0 -7
  51. package/dist/Files-L5SN24XK.js +0 -12
  52. package/dist/Preview-BSQJ3GGL.js +0 -8
  53. package/dist/Spreadsheet-HF47TRAV.js +0 -7
  54. package/dist/chunk-HLWEKEKD.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { W as WindowRegistry } from './types-CTPtgkiG.js';
2
- export { M as ModalRegistryEntry, P as PageRegistryEntry, a as WindowRegistryEntry, i as isEntityEntry, b as isPageEntry, s as setShellWindowRegistry } from './types-CTPtgkiG.js';
1
+ import { W as WindowRegistry } from './types-DqonitKD.js';
2
+ export { M as ModalRegistryEntry, P as PageRegistryEntry, a as WindowRegistryEntry, i as isEntityEntry, b as isPageEntry, s as setShellWindowRegistry } from './types-DqonitKD.js';
3
3
  import * as react from 'react';
4
4
  import react__default, { ReactNode, Component, ErrorInfo, CSSProperties, Dispatch, SetStateAction, RefObject, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes, LabelHTMLAttributes } from 'react';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
package/dist/index.js CHANGED
@@ -1,22 +1,22 @@
1
- import { subscribePomo, getPomoSnapshot } from './chunk-VGJ3KCOP.js';
2
- export { setShellTodoProvider } from './chunk-VGJ3KCOP.js';
3
- import { PREVIEW_OPENED_EVENT, publishDesktopFolders, requestFilesTrashView, FolderGlyph, openPreviewFile, requestFilesDesktopFolderView, FileIconTile, hashGradient } from './chunk-P3DVY4XJ.js';
4
- export { Breadcrumbs } from './chunk-P3DVY4XJ.js';
1
+ import { subscribePomo, getPomoSnapshot } from './chunk-55MDWJQ2.js';
2
+ export { setShellTodoProvider } from './chunk-55MDWJQ2.js';
3
+ import { PREVIEW_OPENED_EVENT, publishDesktopFolders, requestFilesTrashView, FolderGlyph, openPreviewFile, requestFilesDesktopFolderView, FileIconTile, hashGradient } from './chunk-UY2ZQNVM.js';
4
+ export { Breadcrumbs } from './chunk-UY2ZQNVM.js';
5
5
  import { SidebarLayout } from './chunk-YG45DAUT.js';
6
6
  export { SidebarLayout } from './chunk-YG45DAUT.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-BI5XBNI5.js';
9
- export { ImageAnnotator_default as ImageAnnotator } from './chunk-BI5XBNI5.js';
8
+ import { setPdfPreview } from './chunk-HT74MVNF.js';
9
+ export { ImageAnnotator_default as ImageAnnotator } from './chunk-HT74MVNF.js';
10
10
  import { toast_default } from './chunk-VENYVK3L.js';
11
11
  export { toast_default as toast } from './chunk-VENYVK3L.js';
12
- import { EditableGrid } from './chunk-OKFJBJY6.js';
13
- export { EditableGrid } from './chunk-OKFJBJY6.js';
12
+ import { EditableGrid } from './chunk-EOHB7ETC.js';
13
+ export { EditableGrid } from './chunk-EOHB7ETC.js';
14
14
  import { useAuth, useShellAuth } from './chunk-ADJ3CERD.js';
15
15
  export { ShellAuthProvider, setShellAuthBridge, useShellAuth } from './chunk-ADJ3CERD.js';
16
- import { APP_VERSION, VERSION } from './chunk-NZLE6YR6.js';
17
- export { VERSION } from './chunk-NZLE6YR6.js';
18
- import { useWindowManager, PopupMenu, PopupMenuLabel, PopupMenuDivider, PopupMenuItem, WINDOW_REGISTRY, isPageEntry, Modal, useShellPrefs, useIsMobile, ModalActions, useModalActive, client_default, LoadingSpinner, CancelButton, setWindowPosition, ThumbCard, activateModal } from './chunk-HLWEKEKD.js';
19
- 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-HLWEKEKD.js';
16
+ import { APP_VERSION, VERSION } from './chunk-JSBH5CKG.js';
17
+ export { VERSION } from './chunk-JSBH5CKG.js';
18
+ import { useWindowManager, PopupMenu, PopupMenuLabel, PopupMenuDivider, PopupMenuItem, WINDOW_REGISTRY, isPageEntry, Modal, useShellPrefs, useIsMobile, ModalActions, useModalActive, client_default, LoadingSpinner, CancelButton, setWindowPosition, ThumbCard, activateModal } from './chunk-PQFF4IXI.js';
19
+ 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-PQFF4IXI.js';
20
20
  export { ConfirmProvider, confirm, confirmDestructive, prompt } from './chunk-UBN4IUDE.js';
21
21
  import { glassStyle, startMenuCategories, navSections, isSection, GLASS_INPUT_BG, navIcons, sectionIcons } from './chunk-ZF6AYO4G.js';
22
22
  export { GLASS_DIVIDER, GLASS_INPUT_BG, glassStyle, setShellNavIcons } from './chunk-ZF6AYO4G.js';
@@ -610,9 +610,14 @@ function useDropdownPosition(triggerRef, open) {
610
610
  setPos(null);
611
611
  return;
612
612
  }
613
+ let lastLeft = NaN, lastTop = NaN, lastRight = NaN, lastBottom = NaN;
613
614
  const compute = () => {
614
615
  const rect = triggerRef.current?.getBoundingClientRect();
615
616
  if (!rect) return;
617
+ lastLeft = rect.left;
618
+ lastTop = rect.top;
619
+ lastRight = rect.right;
620
+ lastBottom = rect.bottom;
616
621
  const spaceBelow = window.innerHeight - rect.bottom - MENU_GAP - VIEWPORT_MARGIN;
617
622
  const spaceAbove = rect.top - MENU_GAP - VIEWPORT_MARGIN;
618
623
  const placeAbove = spaceBelow < Math.min(MENU_MAX_HEIGHT, 160) && spaceAbove > spaceBelow;
@@ -628,9 +633,17 @@ function useDropdownPosition(triggerRef, open) {
628
633
  setPos(next);
629
634
  };
630
635
  compute();
636
+ let raf = requestAnimationFrame(function tick() {
637
+ const rect = triggerRef.current?.getBoundingClientRect();
638
+ if (rect && (rect.left !== lastLeft || rect.top !== lastTop || rect.right !== lastRight || rect.bottom !== lastBottom)) {
639
+ compute();
640
+ }
641
+ raf = requestAnimationFrame(tick);
642
+ });
631
643
  window.addEventListener("scroll", compute, true);
632
644
  window.addEventListener("resize", compute);
633
645
  return () => {
646
+ cancelAnimationFrame(raf);
634
647
  window.removeEventListener("scroll", compute, true);
635
648
  window.removeEventListener("resize", compute);
636
649
  };