react-os-shell 0.1.45 → 0.1.48
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-QWBQXYB7.js → Browser-B3XVP6HC.js} +86 -11
- package/dist/Browser-B3XVP6HC.js.map +1 -0
- package/dist/{Calculator-VZM3FSTQ.js → Calculator-HJKPXY2B.js} +5 -5
- package/dist/{Calculator-VZM3FSTQ.js.map → Calculator-HJKPXY2B.js.map} +1 -1
- package/dist/{Calendar-7DNNMOKO.js → Calendar-GCQIWTU3.js} +4 -4
- package/dist/{Calendar-7DNNMOKO.js.map → Calendar-GCQIWTU3.js.map} +1 -1
- package/dist/ConfirmDialog-FKCK45O3.js +3 -0
- package/dist/{ConfirmDialog-ZP4AHVUD.js.map → ConfirmDialog-FKCK45O3.js.map} +1 -1
- package/dist/{CurrencyConverter-XFIGUZ46.js → CurrencyConverter-FYF4JLKZ.js} +5 -5
- package/dist/{CurrencyConverter-XFIGUZ46.js.map → CurrencyConverter-FYF4JLKZ.js.map} +1 -1
- package/dist/{Documents-PK7QFWGR.js → Documents-NTWVLYXJ.js} +4 -4
- package/dist/{Documents-PK7QFWGR.js.map → Documents-NTWVLYXJ.js.map} +1 -1
- package/dist/{Email-66BDCI2Q.js → Email-3B63P7ML.js} +4 -4
- package/dist/{Email-66BDCI2Q.js.map → Email-3B63P7ML.js.map} +1 -1
- package/dist/{Files-PPKWOJWV.js → Files-JYXO4AXI.js} +98 -124
- package/dist/Files-JYXO4AXI.js.map +1 -0
- package/dist/{Minesweeper-7OGCUAKF.js → Minesweeper-MAA4NIV4.js} +4 -4
- package/dist/{Minesweeper-7OGCUAKF.js.map → Minesweeper-MAA4NIV4.js.map} +1 -1
- package/dist/{Notepad-MNDA6AHQ.js → Notepad-2K6HQ2WA.js} +4 -4
- package/dist/{Notepad-MNDA6AHQ.js.map → Notepad-2K6HQ2WA.js.map} +1 -1
- package/dist/{PomodoroTimer-6DHC3H6X.js → PomodoroTimer-IJUONN6I.js} +5 -5
- package/dist/{PomodoroTimer-6DHC3H6X.js.map → PomodoroTimer-IJUONN6I.js.map} +1 -1
- package/dist/Preview-SEQ5NHLQ.js +6 -0
- package/dist/{Preview-LKFMKAIR.js.map → Preview-SEQ5NHLQ.js.map} +1 -1
- package/dist/{Spreadsheet-JT4TIKCY.js → Spreadsheet-W7F6IMTJ.js} +4 -4
- package/dist/{Spreadsheet-JT4TIKCY.js.map → Spreadsheet-W7F6IMTJ.js.map} +1 -1
- package/dist/{Weather-A6MEC4PN.js → Weather-MDTM6OEL.js} +5 -5
- package/dist/{Weather-A6MEC4PN.js.map → Weather-MDTM6OEL.js.map} +1 -1
- package/dist/apps/index.js +16 -16
- package/dist/{chunk-UUJLLTV4.js → chunk-IMHD23FR.js} +3 -3
- package/dist/{chunk-UUJLLTV4.js.map → chunk-IMHD23FR.js.map} +1 -1
- package/dist/{chunk-RFTLYCSF.js → chunk-PLGHQ7QW.js} +79 -4
- package/dist/chunk-PLGHQ7QW.js.map +1 -0
- package/dist/{chunk-44AH2OXU.js → chunk-UD2TKHR2.js} +4 -4
- package/dist/{chunk-44AH2OXU.js.map → chunk-UD2TKHR2.js.map} +1 -1
- package/dist/{chunk-IM3T7WV2.js → chunk-VEEO4U4E.js} +3 -3
- package/dist/{chunk-IM3T7WV2.js.map → chunk-VEEO4U4E.js.map} +1 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.js +5 -5
- package/package.json +1 -1
- package/dist/Browser-QWBQXYB7.js.map +0 -1
- package/dist/ConfirmDialog-ZP4AHVUD.js +0 -3
- package/dist/Files-PPKWOJWV.js.map +0 -1
- package/dist/Preview-LKFMKAIR.js +0 -6
- package/dist/chunk-RFTLYCSF.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/shell/ConfirmDialog.tsx"],"names":[],"mappings":"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","file":"chunk-PLGHQ7QW.js","sourcesContent":["import { createContext, useContext, useState, useCallback, useRef, useEffect } from 'react';\nimport { Dialog, DialogBackdrop, DialogPanel, DialogTitle } from '@headlessui/react';\nimport { ExclamationTriangleIcon } from '@heroicons/react/24/outline';\n\ninterface ConfirmOptions {\n title?: string;\n message: string;\n confirmLabel?: string;\n cancelLabel?: string;\n variant?: 'danger' | 'warning' | 'info';\n}\n\ntype ConfirmFn = (options: ConfirmOptions | string) => Promise<boolean>;\n\nconst ConfirmContext = createContext<ConfirmFn>(() => Promise.resolve(false));\n\nexport const useConfirm = () => useContext(ConfirmContext);\n\n// Global callable — works without a hook, usable from any click handler\nlet globalConfirmFn: ConfirmFn = () => Promise.resolve(false);\nexport const confirm = (opts: ConfirmOptions | string) => globalConfirmFn(opts);\n\n// Destructive confirm — requires typing a word (case-sensitive) to confirm\ninterface DestructiveConfirmOptions {\n title?: string;\n message: string;\n confirmWord: string; // e.g. \"Delete\" or \"Cancel\" — user must type this exactly\n variant?: 'danger' | 'warning';\n}\ntype DestructiveConfirmFn = (options: DestructiveConfirmOptions) => Promise<boolean>;\nlet globalDestructiveConfirmFn: DestructiveConfirmFn = () => Promise.resolve(false);\nexport const confirmDestructive = (opts: DestructiveConfirmOptions) => globalDestructiveConfirmFn(opts);\n\n// Prompt — windowed replacement for native window.prompt(). Resolves to the\n// trimmed string, or null if the user cancelled. Empty input counts as\n// cancel by default; pass `allowEmpty: true` to opt in.\ninterface PromptOptions {\n title?: string;\n message?: string;\n defaultValue?: string;\n placeholder?: string;\n confirmLabel?: string;\n cancelLabel?: string;\n allowEmpty?: boolean;\n}\ntype PromptFn = (options: PromptOptions | string) => Promise<string | null>;\nlet globalPromptFn: PromptFn = () => Promise.resolve(null);\nexport const prompt = (opts: PromptOptions | string) => globalPromptFn(opts);\n\nexport function ConfirmProvider({ children }: { children: React.ReactNode }) {\n const [open, setOpen] = useState(false);\n const [options, setOptions] = useState<ConfirmOptions>({ message: '' });\n const resolveRef = useRef<(value: boolean) => void>();\n\n const confirmFn: ConfirmFn = useCallback((opts) => {\n const normalized = typeof opts === 'string' ? { message: opts } : opts;\n setOptions(normalized);\n setOpen(true);\n return new Promise<boolean>((resolve) => {\n resolveRef.current = resolve;\n });\n }, []);\n\n // Destructive confirm state\n const [dOpen, setDOpen] = useState(false);\n const [dOptions, setDOptions] = useState<DestructiveConfirmOptions>({ message: '', confirmWord: 'Delete' });\n const [dInput, setDInput] = useState('');\n const dResolveRef = useRef<(value: boolean) => void>();\n\n const destructiveConfirmFn: DestructiveConfirmFn = useCallback((opts) => {\n setDOptions(opts);\n setDInput('');\n setDOpen(true);\n return new Promise<boolean>((resolve) => {\n dResolveRef.current = resolve;\n });\n }, []);\n\n // Prompt state\n const [pOpen, setPOpen] = useState(false);\n const [pOptions, setPOptions] = useState<PromptOptions>({});\n const [pInput, setPInput] = useState('');\n const pResolveRef = useRef<(value: string | null) => void>();\n\n const promptFn: PromptFn = useCallback((opts) => {\n const normalized = typeof opts === 'string' ? { message: opts } : opts;\n setPOptions(normalized);\n setPInput(normalized.defaultValue ?? '');\n setPOpen(true);\n return new Promise<string | null>((resolve) => {\n pResolveRef.current = resolve;\n });\n }, []);\n\n useEffect(() => {\n globalConfirmFn = confirmFn;\n globalDestructiveConfirmFn = destructiveConfirmFn;\n globalPromptFn = promptFn;\n }, [confirmFn, destructiveConfirmFn, promptFn]);\n\n const handleClose = (result: boolean) => {\n setOpen(false);\n resolveRef.current?.(result);\n };\n\n const handleDClose = (result: boolean) => {\n setDOpen(false);\n setDInput('');\n dResolveRef.current?.(result);\n };\n\n const handlePClose = (commit: boolean) => {\n if (commit) {\n const trimmed = pInput.trim();\n if (!trimmed && !pOptions.allowEmpty) {\n // Empty + not opted-in to allow empty: treat Save as Cancel.\n setPOpen(false);\n pResolveRef.current?.(null);\n return;\n }\n setPOpen(false);\n pResolveRef.current?.(trimmed);\n } else {\n setPOpen(false);\n pResolveRef.current?.(null);\n }\n };\n\n const variant = options.variant || (options.confirmLabel?.toLowerCase().includes('delete') || options.message.toLowerCase().includes('delete') ? 'danger' : 'info');\n const confirmBtnClass = variant === 'danger'\n ? 'bg-red-600 hover:bg-red-700 text-white'\n : variant === 'warning'\n ? 'bg-yellow-600 hover:bg-yellow-700 text-white'\n : 'bg-blue-600 hover:bg-blue-700 text-white';\n const iconClass = variant === 'danger'\n ? 'text-red-600 bg-red-100'\n : variant === 'warning'\n ? 'text-yellow-600 bg-yellow-100'\n : 'text-blue-600 bg-blue-100';\n\n return (\n <ConfirmContext.Provider value={confirmFn}>\n {children}\n <Dialog open={open} onClose={() => handleClose(false)} className=\"relative z-[9999]\">\n <DialogBackdrop className=\"fixed inset-0 bg-black/30 transition-opacity\" />\n <div className=\"fixed inset-0 flex items-center justify-center p-4\">\n <DialogPanel className=\"w-full max-w-md rounded-lg bg-white p-6 shadow-xl\">\n <div className=\"flex gap-4\">\n <div className={`shrink-0 w-10 h-10 rounded-full flex items-center justify-center ${iconClass}`}>\n <ExclamationTriangleIcon className=\"h-5 w-5\" />\n </div>\n <div className=\"flex-1\">\n <DialogTitle className=\"text-base font-semibold text-gray-900\">\n {options.title || 'Confirm'}\n </DialogTitle>\n <p className=\"mt-2 text-sm text-gray-600\">{options.message}</p>\n </div>\n </div>\n <div className=\"mt-6 flex justify-end gap-3\">\n <button\n type=\"button\"\n onClick={() => handleClose(false)}\n className=\"bg-white text-gray-700 border border-gray-300 px-4 py-2 text-sm font-medium rounded-lg hover:bg-gray-50\"\n >\n {options.cancelLabel || 'Cancel'}\n </button>\n <button\n type=\"button\"\n onClick={() => handleClose(true)}\n className={`px-4 py-2 text-sm font-medium rounded-lg ${confirmBtnClass}`}\n >\n {options.confirmLabel || 'OK'}\n </button>\n </div>\n </DialogPanel>\n </div>\n </Dialog>\n {/* Destructive Confirm Dialog — requires typing to confirm */}\n <Dialog open={dOpen} onClose={() => handleDClose(false)} className=\"relative z-[9999]\">\n <DialogBackdrop className=\"fixed inset-0 bg-black/30 transition-opacity\" />\n <div className=\"fixed inset-0 flex items-center justify-center p-4\">\n <DialogPanel className=\"w-full max-w-md rounded-lg bg-white p-6 shadow-xl\">\n <div className=\"flex gap-4\">\n <div className={`shrink-0 w-10 h-10 rounded-full flex items-center justify-center ${dOptions.variant === 'warning' ? 'text-yellow-600 bg-yellow-100' : 'text-red-600 bg-red-100'}`}>\n <ExclamationTriangleIcon className=\"h-5 w-5\" />\n </div>\n <div className=\"flex-1\">\n <DialogTitle className=\"text-base font-semibold text-gray-900\">\n {dOptions.title || 'Confirm Action'}\n </DialogTitle>\n <p className=\"mt-2 text-sm text-gray-600\">{dOptions.message}</p>\n <p className=\"mt-3 text-sm text-gray-700\">\n Type <kbd className=\"rounded border border-gray-300 bg-gray-50 px-1.5 py-0.5 text-xs font-bold text-red-600 font-mono\">{dOptions.confirmWord}</kbd> to confirm:\n </p>\n <input\n autoFocus\n type=\"text\"\n value={dInput}\n onChange={e => setDInput(e.target.value)}\n onKeyDown={e => { if (e.key === 'Enter' && dInput === dOptions.confirmWord) handleDClose(true); }}\n placeholder={dOptions.confirmWord}\n className=\"mt-2 w-full rounded-md border border-gray-300 px-3 py-2 text-sm focus:border-red-500 focus:ring-red-500\"\n />\n </div>\n </div>\n <div className=\"mt-6 flex justify-end gap-3\">\n <button type=\"button\" onClick={() => handleDClose(false)}\n className=\"bg-white text-gray-700 border border-gray-300 px-4 py-2 text-sm font-medium rounded-lg hover:bg-gray-50\">\n Cancel\n </button>\n <button type=\"button\" onClick={() => handleDClose(true)}\n disabled={dInput !== dOptions.confirmWord}\n className={`px-4 py-2 text-sm font-medium rounded-lg disabled:opacity-40 ${dOptions.variant === 'warning' ? 'bg-yellow-600 hover:bg-yellow-700 text-white' : 'bg-red-600 hover:bg-red-700 text-white'}`}>\n {dOptions.confirmWord}\n </button>\n </div>\n </DialogPanel>\n </div>\n </Dialog>\n {/* Prompt Dialog — windowed replacement for window.prompt() */}\n <Dialog open={pOpen} onClose={() => handlePClose(false)} className=\"relative z-[9999]\">\n <DialogBackdrop className=\"fixed inset-0 bg-black/30 transition-opacity\" />\n <div className=\"fixed inset-0 flex items-center justify-center p-4\">\n <DialogPanel className=\"w-full max-w-md rounded-lg bg-white p-6 shadow-xl\">\n <DialogTitle className=\"text-base font-semibold text-gray-900\">\n {pOptions.title || 'Enter a value'}\n </DialogTitle>\n {pOptions.message && (\n <p className=\"mt-2 text-sm text-gray-600\">{pOptions.message}</p>\n )}\n <input\n autoFocus\n type=\"text\"\n value={pInput}\n onChange={(e) => setPInput(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') handlePClose(true);\n else if (e.key === 'Escape') handlePClose(false);\n }}\n onFocus={(e) => e.target.select()}\n placeholder={pOptions.placeholder}\n className=\"mt-3 w-full rounded-md border border-gray-300 px-3 py-2 text-sm focus:border-blue-500 focus:ring-1 focus:ring-blue-500 focus:outline-none\"\n />\n <div className=\"mt-6 flex justify-end gap-3\">\n <button\n type=\"button\"\n onClick={() => handlePClose(false)}\n className=\"bg-white text-gray-700 border border-gray-300 px-4 py-2 text-sm font-medium rounded-lg hover:bg-gray-50\"\n >\n {pOptions.cancelLabel || 'Cancel'}\n </button>\n <button\n type=\"button\"\n onClick={() => handlePClose(true)}\n disabled={!pOptions.allowEmpty && !pInput.trim()}\n className=\"bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 text-sm font-medium rounded-lg disabled:opacity-40\"\n >\n {pOptions.confirmLabel || 'OK'}\n </button>\n </div>\n </DialogPanel>\n </div>\n </Dialog>\n </ConfirmContext.Provider>\n );\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { confirm } from './chunk-
|
|
1
|
+
import { confirm } from './chunk-PLGHQ7QW.js';
|
|
2
2
|
import 'axios';
|
|
3
3
|
import { createContext, useRef, useEffect, useContext, useState, useSyncExternalStore, isValidElement, cloneElement, useCallback, Suspense, useLayoutEffect, useMemo } from 'react';
|
|
4
4
|
import { useLocation } from 'react-router-dom';
|
|
@@ -333,7 +333,7 @@ function CancelButton({ onClick, children, className }) {
|
|
|
333
333
|
const ctx = useContext(ModalActionsContext);
|
|
334
334
|
const handleClick = async () => {
|
|
335
335
|
if (ctx?.isDirty) {
|
|
336
|
-
const { confirm: confirm2 } = await import('./ConfirmDialog-
|
|
336
|
+
const { confirm: confirm2 } = await import('./ConfirmDialog-FKCK45O3.js');
|
|
337
337
|
const ok = await confirm2({
|
|
338
338
|
title: "Discard changes?",
|
|
339
339
|
message: "You have unsaved changes. Are you sure you want to cancel? All changes will be lost.",
|
|
@@ -1723,5 +1723,5 @@ function WindowManagerProvider({ children }) {
|
|
|
1723
1723
|
}
|
|
1724
1724
|
|
|
1725
1725
|
export { CancelButton, CopyButton, DocFavStar, GLASS_DIVIDER, GLASS_INPUT_BG, Modal, ModalActions, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, WindowManagerProvider, WindowTitle, client_default, getActiveModalId, glassStyle, isEntityEntry, isPageEntry, isSection, navIcons, navSections, sectionIcons, setShellApiClient, setShellNavIcons, setShellWindowRegistry, startMenuCategories, useModalActive, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle };
|
|
1726
|
-
//# sourceMappingURL=chunk-
|
|
1727
|
-
//# sourceMappingURL=chunk-
|
|
1726
|
+
//# sourceMappingURL=chunk-UD2TKHR2.js.map
|
|
1727
|
+
//# sourceMappingURL=chunk-UD2TKHR2.js.map
|