react-os-shell 4.2.1 → 4.3.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 (58) hide show
  1. package/README.md +5 -0
  2. package/dist/{Browser-JDPFFM43.js → Browser-674YMWMK.js} +6 -6
  3. package/dist/{Browser-JDPFFM43.js.map → Browser-674YMWMK.js.map} +1 -1
  4. package/dist/{Calculator-EIKUYW6O.js → Calculator-3ULKK5ZA.js} +5 -5
  5. package/dist/{Calculator-EIKUYW6O.js.map → Calculator-3ULKK5ZA.js.map} +1 -1
  6. package/dist/ConfirmDialog-XJP67AHR.js +4 -0
  7. package/dist/{ConfirmDialog-C25OKJZP.js.map → ConfirmDialog-XJP67AHR.js.map} +1 -1
  8. package/dist/{CurrencyConverter-PJUTWMCD.js → CurrencyConverter-JC2N7AY3.js} +5 -5
  9. package/dist/{CurrencyConverter-PJUTWMCD.js.map → CurrencyConverter-JC2N7AY3.js.map} +1 -1
  10. package/dist/{Documents-TIPUTUSS.js → Documents-MJKEUOOL.js} +6 -6
  11. package/dist/{Documents-TIPUTUSS.js.map → Documents-MJKEUOOL.js.map} +1 -1
  12. package/dist/{Files-Z6R3YGEB.js → Files-BTZMPTL6.js} +8 -8
  13. package/dist/{Files-Z6R3YGEB.js.map → Files-BTZMPTL6.js.map} +1 -1
  14. package/dist/{Notepad-NZXSKZ6I.js → Notepad-NGLFEJLA.js} +6 -6
  15. package/dist/{Notepad-NZXSKZ6I.js.map → Notepad-NGLFEJLA.js.map} +1 -1
  16. package/dist/{PomodoroTimer-K5NBAIVW.js → PomodoroTimer-RPCRTUKC.js} +6 -6
  17. package/dist/{PomodoroTimer-K5NBAIVW.js.map → PomodoroTimer-RPCRTUKC.js.map} +1 -1
  18. package/dist/{Preview-3F4LFED7.js → Preview-H4S427VB.js} +6 -6
  19. package/dist/{Preview-3F4LFED7.js.map → Preview-H4S427VB.js.map} +1 -1
  20. package/dist/{Sidebar-VF2IOOFX.js → Sidebar-E553SOXC.js} +4 -4
  21. package/dist/{Sidebar-VF2IOOFX.js.map → Sidebar-E553SOXC.js.map} +1 -1
  22. package/dist/{Spreadsheet-P2DB7LGI.js → Spreadsheet-2YYUKKSY.js} +6 -6
  23. package/dist/{Spreadsheet-P2DB7LGI.js.map → Spreadsheet-2YYUKKSY.js.map} +1 -1
  24. package/dist/{Stock-2XTWWH6K.js → Stock-YTQ2OYQ7.js} +5 -5
  25. package/dist/{Stock-2XTWWH6K.js.map → Stock-YTQ2OYQ7.js.map} +1 -1
  26. package/dist/{Weather-GCBITKTJ.js → Weather-4I4EFUJO.js} +5 -5
  27. package/dist/{Weather-GCBITKTJ.js.map → Weather-4I4EFUJO.js.map} +1 -1
  28. package/dist/{WorldClock-S52UINCL.js → WorldClock-7PZI7VRE.js} +5 -5
  29. package/dist/{WorldClock-S52UINCL.js.map → WorldClock-7PZI7VRE.js.map} +1 -1
  30. package/dist/apps/index.js +18 -18
  31. package/dist/chunk-3NZSR3ZG.js +20 -0
  32. package/dist/chunk-3NZSR3ZG.js.map +1 -0
  33. package/dist/{chunk-XIMGKR4G.js → chunk-ASRXGCSQ.js} +5 -5
  34. package/dist/{chunk-XIMGKR4G.js.map → chunk-ASRXGCSQ.js.map} +1 -1
  35. package/dist/{chunk-6Q4KYGMH.js → chunk-DKDD5KXG.js} +14 -3
  36. package/dist/chunk-DKDD5KXG.js.map +1 -0
  37. package/dist/chunk-K6MB36UJ.js +7 -0
  38. package/dist/{chunk-3S5NISAL.js.map → chunk-K6MB36UJ.js.map} +1 -1
  39. package/dist/{chunk-CWFH34LM.js → chunk-LBY7KH2W.js} +3 -3
  40. package/dist/{chunk-CWFH34LM.js.map → chunk-LBY7KH2W.js.map} +1 -1
  41. package/dist/{chunk-QAVN7ZV5.js → chunk-PMPJLVZV.js} +3 -3
  42. package/dist/{chunk-QAVN7ZV5.js.map → chunk-PMPJLVZV.js.map} +1 -1
  43. package/dist/{chunk-52RFL3OQ.js → chunk-QAKURGOG.js} +3 -3
  44. package/dist/{chunk-52RFL3OQ.js.map → chunk-QAKURGOG.js.map} +1 -1
  45. package/dist/{chunk-URHWXWZE.js → chunk-VA6M46NL.js} +274 -16
  46. package/dist/chunk-VA6M46NL.js.map +1 -0
  47. package/dist/{chunk-IGYB3NRR.js → chunk-YF2XNVGN.js} +3 -3
  48. package/dist/{chunk-IGYB3NRR.js.map → chunk-YF2XNVGN.js.map} +1 -1
  49. package/dist/index.d.ts +222 -1
  50. package/dist/index.js +53 -16
  51. package/dist/index.js.map +1 -1
  52. package/package.json +3 -2
  53. package/dist/ConfirmDialog-C25OKJZP.js +0 -4
  54. package/dist/chunk-3S5NISAL.js +0 -7
  55. package/dist/chunk-6Q4KYGMH.js.map +0 -1
  56. package/dist/chunk-ADJ3CERD.js +0 -31
  57. package/dist/chunk-ADJ3CERD.js.map +0 -1
  58. package/dist/chunk-URHWXWZE.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { subscribePomo, getPomoSnapshot } from './chunk-IGYB3NRR.js';
2
- export { setShellTodoProvider } from './chunk-IGYB3NRR.js';
1
+ import { subscribePomo, getPomoSnapshot } from './chunk-YF2XNVGN.js';
2
+ export { setShellTodoProvider } from './chunk-YF2XNVGN.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';
@@ -7,20 +7,20 @@ import { SidebarLayout } from './chunk-YG45DAUT.js';
7
7
  export { SidebarLayout } from './chunk-YG45DAUT.js';
8
8
  import { toast_default } from './chunk-VENYVK3L.js';
9
9
  export { toast_default as toast } from './chunk-VENYVK3L.js';
10
- import { publishDesktopFolders, requestFilesTrashView, FolderGlyph, requestFilesDesktopFolderView, FileIconTile } from './chunk-52RFL3OQ.js';
10
+ import { publishDesktopFolders, requestFilesTrashView, FolderGlyph, requestFilesDesktopFolderView, FileIconTile } from './chunk-QAKURGOG.js';
11
11
  import { setPdfPreview } from './chunk-BV6SQ46N.js';
12
12
  import { playNotification, playStartup, soundsEnabled, getSoundConfig, SOUND_PACK_KEYS, SOUND_PACKS, SOUND_TYPES, SOUND_TYPE_LABELS, setSoundForType, previewSound, setAllSounds, playLogout } from './chunk-D7PYW2QS.js';
13
- import { useAuth, useShellAuth } from './chunk-ADJ3CERD.js';
14
- export { ShellAuthProvider, setShellAuthBridge, useShellAuth } from './chunk-ADJ3CERD.js';
13
+ import { useAuth } from './chunk-3NZSR3ZG.js';
14
+ export { setShellAuthBridge } from './chunk-3NZSR3ZG.js';
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-3S5NISAL.js';
19
- export { VERSION } from './chunk-3S5NISAL.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
- import { glassStyle, startMenuCategories, navSections, isSection, GLASS_INPUT_BG, navIcons, isReachable, sectionIcons, visibleChildren } from './chunk-6Q4KYGMH.js';
23
- export { GLASS_DIVIDER, GLASS_INPUT_BG, glassStyle, setShellNavIcons } from './chunk-6Q4KYGMH.js';
18
+ import { APP_VERSION, VERSION } from './chunk-K6MB36UJ.js';
19
+ export { VERSION } from './chunk-K6MB36UJ.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, useUndo, CancelButton, setWindowPosition } from './chunk-VA6M46NL.js';
21
+ export { CancelButton, ConfirmProvider, CopyButton, DocFavStar, Modal, ModalActions, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, ShellPrefsProvider, UndoProvider, WindowCrashedFallback, WindowErrorBoundary, WindowManagerProvider, WindowTitle, commitExposeHighlight, confirm, confirmDestructive, exitExposeMode, getActiveWindowRoute, getExposeHighlight, getWindowPosition, isEntityEntry, isPageEntry, prompt, registerModalEscapeInterceptor, setExposeHighlight, setShellApiClient, setShellWindowRegistry, setWindowDefaultPosition, setWindowPosition, subscribeExposeHighlight, toggleExposeMode, useIsActiveWindow, useLocalStoragePrefs, useModalActive, useShellPrefs, useUndo, useUndoable, useUndoableState, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle } from './chunk-VA6M46NL.js';
22
+ import { glassStyle, startMenuCategories, navSections, isSection, GLASS_INPUT_BG, navIcons, isReachable, sectionIcons, useShellAuth, visibleChildren } from './chunk-DKDD5KXG.js';
23
+ export { GLASS_DIVIDER, GLASS_INPUT_BG, ShellAuthProvider, glassStyle, setShellNavIcons, useShellAuth } from './chunk-DKDD5KXG.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';
25
25
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
26
26
  import { Dialog, DialogBackdrop, DialogPanel } from '@headlessui/react';
@@ -177,6 +177,8 @@ var CMD_S = isMac ? "\u2318S" : "Ctrl+S";
177
177
  var CMD_K = isMac ? "\u2318K" : "Ctrl+K";
178
178
  var CMD_DOT = isMac ? "\u2318." : "Ctrl+.";
179
179
  var CMD_A = isMac ? "\u2318A" : "Ctrl+A";
180
+ var CMD_Z = isMac ? "\u2318Z" : "Ctrl+Z";
181
+ var CMD_SHIFT_Z = isMac ? "\u2318\u21E7Z" : "Ctrl+Shift+Z";
180
182
  var ALT_SHIFT_D = isMac ? "\u2325\u21E7D" : "Alt+Shift+D";
181
183
  var ALT_SHIFT_E = isMac ? "\u2325\u21E7E" : "Alt+Shift+E";
182
184
  var ALT_SHIFT_N = isMac ? "\u2325\u21E7N" : "Alt+Shift+N";
@@ -211,6 +213,8 @@ var sections = [
211
213
  { keys: CMD_ENTER, description: "Submit" },
212
214
  { keys: CMD_S, description: "Save" },
213
215
  { keys: ALT_SHIFT_D, description: "Save as new (duplicate)" },
216
+ { keys: CMD_Z, description: "Undo the last change to the form" },
217
+ { keys: CMD_SHIFT_Z, description: "Redo it" },
214
218
  { keys: "ESC", description: "Close modal" }
215
219
  ]
216
220
  }
@@ -3827,7 +3831,7 @@ function MobileAppLanding({
3827
3831
  }
3828
3832
  );
3829
3833
  }
3830
- var Sidebar = lazy(() => import('./Sidebar-VF2IOOFX.js'));
3834
+ var Sidebar = lazy(() => import('./Sidebar-E553SOXC.js'));
3831
3835
  function useFavorites(wallpapers) {
3832
3836
  const { prefs, save } = useShellPrefs();
3833
3837
  const favorites = prefs.favorite_pages || [];
@@ -8796,11 +8800,14 @@ function BulkImportGrid({ columns, onImport, description, mergeDuplicates = fals
8796
8800
  const cleaned = data.map((row) => {
8797
8801
  const r = [...row];
8798
8802
  while (r.length < colCount) r.push("");
8799
- return r.slice(0, colCount).map((cell, i) => i === 0 ? cell : cleanNumber(cell));
8803
+ return r.slice(0, colCount).map((cell, i) => {
8804
+ const kind = colKind(columns[i], i);
8805
+ return kind === "price" || kind === "qty" ? cleanNumber(cell) : cell;
8806
+ });
8800
8807
  });
8801
8808
  while (cleaned.length < 15) cleaned.push(Array(colCount).fill(""));
8802
8809
  setGridData(cleaned);
8803
- }, [colCount]);
8810
+ }, [colCount, columns]);
8804
8811
  const handleCSV = (e) => {
8805
8812
  const file = e.target.files?.[0];
8806
8813
  if (!file) return;
@@ -8840,7 +8847,8 @@ function BulkImportGrid({ columns, onImport, description, mergeDuplicates = fals
8840
8847
  const obj = {};
8841
8848
  columns.forEach((col, i) => {
8842
8849
  const val = row[i]?.trim() || "";
8843
- obj[col.key] = i === 0 ? val : cleanNumber(val);
8850
+ const kind = colKind(col, i);
8851
+ obj[col.key] = kind === "price" || kind === "qty" ? cleanNumber(val) : val;
8844
8852
  });
8845
8853
  return obj;
8846
8854
  });
@@ -8973,6 +8981,35 @@ function BulkImportGrid({ columns, onImport, description, mergeDuplicates = fals
8973
8981
  error && /* @__PURE__ */ jsx("p", { className: "text-xs text-red-600 px-4 py-1", children: error })
8974
8982
  ] });
8975
8983
  }
8984
+ var BTN2 = "text-xs text-gray-500 hover:text-gray-700 disabled:opacity-40 disabled:hover:text-gray-500 disabled:cursor-default";
8985
+ function UndoControls({ className = "" }) {
8986
+ const { undo, redo, canUndo, canRedo, undoLabel, redoLabel, enabled } = useUndo();
8987
+ if (!enabled) return null;
8988
+ return /* @__PURE__ */ jsxs("div", { className: `flex items-center gap-2 ${className}`, children: [
8989
+ /* @__PURE__ */ jsx(
8990
+ "button",
8991
+ {
8992
+ type: "button",
8993
+ onClick: undo,
8994
+ disabled: !canUndo,
8995
+ title: canUndo ? `Undo ${undoLabel} (${CMD_Z})` : "Nothing to undo",
8996
+ className: BTN2,
8997
+ children: "Undo"
8998
+ }
8999
+ ),
9000
+ /* @__PURE__ */ jsx(
9001
+ "button",
9002
+ {
9003
+ type: "button",
9004
+ onClick: redo,
9005
+ disabled: !canRedo,
9006
+ title: canRedo ? `Redo ${redoLabel} (${CMD_SHIFT_Z})` : "Nothing to redo",
9007
+ className: BTN2,
9008
+ children: "Redo"
9009
+ }
9010
+ )
9011
+ ] });
9012
+ }
8976
9013
  var C20 = 33;
8977
9014
  var C40 = 67;
8978
9015
  var toInt = (v) => typeof v === "number" ? v : parseInt(String(v ?? "")) || 0;
@@ -10467,6 +10504,6 @@ function useEditHotkey(callback) {
10467
10504
  }, [callback, isActive]);
10468
10505
  }
10469
10506
 
10470
- export { ALT, ALT_SHIFT_D, ALT_SHIFT_E, ALT_SHIFT_N, Accordion, AuthScreen, Avatar, AvatarGroup, BLOCKED_PCT_CPU, Banner, BarChart, BehaviorPanel, BulkImportGrid, Button_default as Button, CMD_A, CMD_DOT, CMD_ENTER, CMD_K, CMD_S, Card, ChangePasswordForm, ChatTemplate, Checkbox_default as Checkbox, CheckoutTemplate, ColoredBadge, ContainerFillChart, Customization, DEV_BANNER_TEXT, DashboardTemplate, DataTablePage, DateRangePicker, Desktop, DesktopHostProvider, DevIndicator, DonutChart, ENTER, EmailTemplate, EmptyState, EntityList, ErrorPage, FilterBar, FormField, FormLayoutPage, GalleryTemplate, GlobalSearch, HelpCenter, INPUT_BASE, Input_default as Input, Kanban, LOG_CAP, Label, Layout, ListFooter, ListLoadError, LoadingSpinner2 as LoadingSpinner, MIN_GROUP_SAMPLES, MOD, Markdown, MediaUploadField, MediaUploadGrid, MetricBar, MilestoneTimeline, NativeSelect, NotificationBell, PageHeader, Pagination, PdfActionButton, PerfStats, Radio_default as Radio, ResizableTable, SHIFT, SMOOTH_FPS, SearchableSelect, Select_default as Select, ServerStatusIndicator, ShellEntityFetcherProvider, ShortcutHelp, SidebarActionButton, SidebarGroupLabel, SidebarNavItem, SoundsPanel, Sparkline, StartMenu, StatCard, StatusBadge, StatusBadgeProvider, SystemPreferences, Tabs, Textarea_default as Textarea, Tooltip, TopNav, WidgetManager, appendRecord as appendPerfRecord, applyDevTitle, classify as classifyPerf, createWindowRegistry, findDuplicateKeys, formatDate, inputClasses, isDevEnv, isInteracting, isMac, isSeverityTone, mediaFileName, mergeBulkItems, toCsv as perfLogToCsv, severityOf, summariseFrames, summariseLog as summarisePerfLog, toISODate2 as toISODate, useClickOutside, useColumnConfig, useDesktopHost, useEditHotkey, useFilters, useInfiniteScroll, useNewHotkey, useShellEntityFetcher, useSort, useTableNav };
10507
+ export { ALT, ALT_SHIFT_D, ALT_SHIFT_E, ALT_SHIFT_N, Accordion, AuthScreen, Avatar, AvatarGroup, BLOCKED_PCT_CPU, Banner, BarChart, BehaviorPanel, BulkImportGrid, Button_default as Button, CMD_A, CMD_DOT, CMD_ENTER, CMD_K, CMD_S, Card, ChangePasswordForm, ChatTemplate, Checkbox_default as Checkbox, CheckoutTemplate, ColoredBadge, ContainerFillChart, Customization, DEV_BANNER_TEXT, DashboardTemplate, DataTablePage, DateRangePicker, Desktop, DesktopHostProvider, DevIndicator, DonutChart, ENTER, EmailTemplate, EmptyState, EntityList, ErrorPage, FilterBar, FormField, FormLayoutPage, GalleryTemplate, GlobalSearch, HelpCenter, INPUT_BASE, Input_default as Input, Kanban, LOG_CAP, Label, Layout, ListFooter, ListLoadError, LoadingSpinner2 as LoadingSpinner, MIN_GROUP_SAMPLES, MOD, Markdown, MediaUploadField, MediaUploadGrid, MetricBar, MilestoneTimeline, NativeSelect, NotificationBell, PageHeader, Pagination, PdfActionButton, PerfStats, Radio_default as Radio, ResizableTable, SHIFT, SMOOTH_FPS, SearchableSelect, Select_default as Select, ServerStatusIndicator, ShellEntityFetcherProvider, ShortcutHelp, SidebarActionButton, SidebarGroupLabel, SidebarNavItem, SoundsPanel, Sparkline, StartMenu, StatCard, StatusBadge, StatusBadgeProvider, SystemPreferences, Tabs, Textarea_default as Textarea, Tooltip, TopNav, UndoControls, WidgetManager, appendRecord as appendPerfRecord, applyDevTitle, classify as classifyPerf, createWindowRegistry, findDuplicateKeys, formatDate, inputClasses, isDevEnv, isInteracting, isMac, isSeverityTone, mediaFileName, mergeBulkItems, toCsv as perfLogToCsv, severityOf, summariseFrames, summariseLog as summarisePerfLog, toISODate2 as toISODate, useClickOutside, useColumnConfig, useDesktopHost, useEditHotkey, useFilters, useInfiniteScroll, useNewHotkey, useShellEntityFetcher, useSort, useTableNav };
10471
10508
  //# sourceMappingURL=index.js.map
10472
10509
  //# sourceMappingURL=index.js.map