@useupup/react 3.3.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 (71) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +72 -0
  3. package/dist/AudioUploader-2WITC5YR.js +298 -0
  4. package/dist/AudioUploader-2WITC5YR.js.map +1 -0
  5. package/dist/AudioUploader-HWP4U6UJ.cjs +298 -0
  6. package/dist/AudioUploader-HWP4U6UJ.cjs.map +1 -0
  7. package/dist/BoxUploader-NEGZOMR4.cjs +172 -0
  8. package/dist/BoxUploader-NEGZOMR4.cjs.map +1 -0
  9. package/dist/BoxUploader-VE5LRJ7M.js +172 -0
  10. package/dist/BoxUploader-VE5LRJ7M.js.map +1 -0
  11. package/dist/CameraUploader-BJ3AU3VS.cjs +200 -0
  12. package/dist/CameraUploader-BJ3AU3VS.cjs.map +1 -0
  13. package/dist/CameraUploader-WF5A6UIS.js +200 -0
  14. package/dist/CameraUploader-WF5A6UIS.js.map +1 -0
  15. package/dist/DropboxUploader-INTOYHJP.cjs +174 -0
  16. package/dist/DropboxUploader-INTOYHJP.cjs.map +1 -0
  17. package/dist/DropboxUploader-VMUYG3OP.js +174 -0
  18. package/dist/DropboxUploader-VMUYG3OP.js.map +1 -0
  19. package/dist/GoogleDriveUploader-CXZUZI6R.cjs +177 -0
  20. package/dist/GoogleDriveUploader-CXZUZI6R.cjs.map +1 -0
  21. package/dist/GoogleDriveUploader-YA56X3QR.js +177 -0
  22. package/dist/GoogleDriveUploader-YA56X3QR.js.map +1 -0
  23. package/dist/ImageEditorInline-GJ3HCPPZ.cjs +185 -0
  24. package/dist/ImageEditorInline-GJ3HCPPZ.cjs.map +1 -0
  25. package/dist/ImageEditorInline-N2NSAODR.js +185 -0
  26. package/dist/ImageEditorInline-N2NSAODR.js.map +1 -0
  27. package/dist/ImageEditorModal-CWKMDVPY.js +236 -0
  28. package/dist/ImageEditorModal-CWKMDVPY.js.map +1 -0
  29. package/dist/ImageEditorModal-XJKPBTVQ.cjs +236 -0
  30. package/dist/ImageEditorModal-XJKPBTVQ.cjs.map +1 -0
  31. package/dist/OneDriveUploader-4RPTY7KT.cjs +175 -0
  32. package/dist/OneDriveUploader-4RPTY7KT.cjs.map +1 -0
  33. package/dist/OneDriveUploader-I25Y6AJP.js +175 -0
  34. package/dist/OneDriveUploader-I25Y6AJP.js.map +1 -0
  35. package/dist/ScreenCaptureUploader-7K6QPD42.cjs +281 -0
  36. package/dist/ScreenCaptureUploader-7K6QPD42.cjs.map +1 -0
  37. package/dist/ScreenCaptureUploader-WKDO4S75.js +281 -0
  38. package/dist/ScreenCaptureUploader-WKDO4S75.js.map +1 -0
  39. package/dist/chunk-6TFTTLOD.js +852 -0
  40. package/dist/chunk-6TFTTLOD.js.map +1 -0
  41. package/dist/chunk-DZQBTC6T.cjs +39 -0
  42. package/dist/chunk-DZQBTC6T.cjs.map +1 -0
  43. package/dist/chunk-GNMEQB32.cjs +195 -0
  44. package/dist/chunk-GNMEQB32.cjs.map +1 -0
  45. package/dist/chunk-IG62MHVQ.cjs +276 -0
  46. package/dist/chunk-IG62MHVQ.cjs.map +1 -0
  47. package/dist/chunk-L3E5OMY7.cjs +852 -0
  48. package/dist/chunk-L3E5OMY7.cjs.map +1 -0
  49. package/dist/chunk-LCMDDPUD.js +276 -0
  50. package/dist/chunk-LCMDDPUD.js.map +1 -0
  51. package/dist/chunk-N4XGN66E.cjs +79 -0
  52. package/dist/chunk-N4XGN66E.cjs.map +1 -0
  53. package/dist/chunk-N7TWHP5Z.js +195 -0
  54. package/dist/chunk-N7TWHP5Z.js.map +1 -0
  55. package/dist/chunk-OXWVO7Z6.cjs +70 -0
  56. package/dist/chunk-OXWVO7Z6.cjs.map +1 -0
  57. package/dist/chunk-PLGHK2Y4.js +79 -0
  58. package/dist/chunk-PLGHK2Y4.js.map +1 -0
  59. package/dist/chunk-SSLP3MEC.js +39 -0
  60. package/dist/chunk-SSLP3MEC.js.map +1 -0
  61. package/dist/chunk-WYMKISZI.js +70 -0
  62. package/dist/chunk-WYMKISZI.js.map +1 -0
  63. package/dist/index.cjs +4219 -0
  64. package/dist/index.cjs.map +1 -0
  65. package/dist/index.d.cts +240 -0
  66. package/dist/index.d.ts +240 -0
  67. package/dist/index.js +4219 -0
  68. package/dist/index.js.map +1 -0
  69. package/dist/styles.d.ts +4 -0
  70. package/dist/tailwind-prefixed.css +2529 -0
  71. package/package.json +110 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ImageEditorModal.tsx"],"sourcesContent":["import React, {\r\n ComponentType,\r\n memo,\r\n useCallback,\r\n useEffect,\r\n useMemo,\r\n useRef,\r\n useState,\r\n} from 'react'\r\nimport { createPortal } from 'react-dom'\r\nimport { cn } from '@useupup/core/internal'\r\nimport type { UploadFile } from '@useupup/core'\r\nimport {\r\n useUploaderOptions,\r\n useUploaderTheme,\r\n} from '../context/UploaderContext'\r\nimport {\r\n getFilerobotTheme,\r\n getImageEditorCssOverrides,\r\n} from '../lib/imageEditorHelpers'\r\n\r\ntype Props = {\r\n file: UploadFile\r\n onClose: () => void\r\n onSave: (editedImageData: string, mimeType?: string) => void\r\n}\r\n\r\n/**\r\n * Filerobot's onBeforeSave / onSave callback signature.\r\n * We only use the imageData.imageBase64 field.\r\n */\r\ntype FilerobotImageState = {\r\n imageBase64?: string\r\n fullName?: string\r\n mimeType?: string\r\n width?: number\r\n height?: number\r\n}\r\n\r\ntype FilerobotDesignState = Record<string, unknown>\r\n\r\n/**\r\n * The props shape of the default-exported <FilerobotImageEditor> component.\r\n * We only type the subset we use to keep this lightweight.\r\n */\r\ntype FilerobotEditorProps = {\r\n source: string\r\n savingPixelRatio?: number\r\n previewPixelRatio?: number\r\n onSave?: (\r\n imageData: FilerobotImageState,\r\n designState: FilerobotDesignState,\r\n ) => void\r\n onClose?: () => void\r\n onBeforeSave?: (imageData: FilerobotImageState) => boolean | undefined\r\n annotationsCommon?: Record<string, unknown>\r\n Rotate?: Record<string, unknown>\r\n Crop?: Record<string, unknown>\r\n tabsIds?: unknown[]\r\n defaultTabId?: unknown\r\n defaultToolId?: unknown\r\n [key: string]: unknown\r\n}\r\n\r\n/**\r\n * Accessible modal shell for the image editor.\r\n * Lazy-loads `react-filerobot-image-editor` at runtime so the dependency\r\n * is never bundled into the core entry point.\r\n *\r\n * - Focus trap: keeps focus inside the modal while open.\r\n * - ESC closes.\r\n * - Restores focus to the triggering element on close.\r\n * - aria-label / role=\"dialog\".\r\n */\r\nexport default memo(function ImageEditorModal(props: Props) {\r\n const { file, onClose, onSave } = props\r\n const { imageEditor: editorConfig } = useUploaderOptions()\r\n const { isDark: dark } = useUploaderTheme()\r\n\r\n const overlayRef = useRef<HTMLDivElement>(null)\r\n const previousFocusRef = useRef<Element | null>(null)\r\n\r\n // Lazy-loaded editor component + TABS/TOOLS constants\r\n const [EditorComponent, setEditorComponent] =\r\n useState<ComponentType<FilerobotEditorProps> | null>(null)\r\n const [editorConstants, setEditorConstants] = useState<{\r\n TABS: Record<string, unknown>\r\n TOOLS: Record<string, unknown>\r\n } | null>(null)\r\n const [loadError, setLoadError] = useState<string | null>(null)\r\n\r\n // StyleSheetManager from styled-components to filter custom props\r\n // that filerobot passes to DOM elements (fixes React 19 warnings/errors).\r\n const [StyleSheetMgr, setStyleSheetMgr] = useState<ComponentType<{\r\n shouldForwardProp?: (prop: string) => boolean\r\n children: React.ReactNode\r\n }> | null>(null)\r\n\r\n // Dynamically import react-filerobot-image-editor (browser only)\r\n useEffect(() => {\r\n if (typeof window === 'undefined') return\r\n\r\n let cancelled = false\r\n void (async () => {\r\n try {\r\n const [mod, scMod] = await Promise.all([\r\n import('react-filerobot-image-editor'),\r\n import('styled-components').catch(() => null),\r\n ])\r\n if (cancelled) return\r\n setEditorComponent(\r\n () => mod.default as ComponentType<FilerobotEditorProps>,\r\n )\r\n setEditorConstants({\r\n TABS: (mod as Record<string, unknown>).TABS as Record<\r\n string,\r\n unknown\r\n >,\r\n TOOLS: (mod as Record<string, unknown>).TOOLS as Record<\r\n string,\r\n unknown\r\n >,\r\n })\r\n if (scMod?.StyleSheetManager) {\r\n setStyleSheetMgr(\r\n () =>\r\n scMod.StyleSheetManager as ComponentType<{\r\n shouldForwardProp?: (prop: string) => boolean\r\n children: React.ReactNode\r\n }>,\r\n )\r\n }\r\n } catch {\r\n // upup-catch: dynamic import failure (editor dep not installed) is surfaced to the user via setLoadError\r\n if (cancelled) return\r\n setLoadError(\r\n 'Image editor failed to load. Make sure \"react-filerobot-image-editor\" is installed.',\r\n )\r\n }\r\n })()\r\n\r\n return () => {\r\n cancelled = true\r\n }\r\n }, [])\r\n\r\n // Capture the element that had focus before the modal opened\r\n // and restore it when the modal closes.\r\n useEffect(() => {\r\n previousFocusRef.current = document.activeElement\r\n return () => {\r\n if (previousFocusRef.current instanceof HTMLElement) {\r\n previousFocusRef.current.focus()\r\n }\r\n }\r\n }, [])\r\n\r\n // Auto-focus the overlay so keyboard events work immediately.\r\n useEffect(() => {\r\n overlayRef.current?.focus()\r\n }, [])\r\n\r\n // Close on ESC\r\n const handleKeyDown = useCallback(\r\n (e: React.KeyboardEvent) => {\r\n if (e.key === 'Escape') {\r\n e.stopPropagation()\r\n onClose()\r\n }\r\n\r\n // Basic focus trap: Tab cycles within the modal.\r\n if (e.key === 'Tab') {\r\n const focusable =\r\n overlayRef.current?.querySelectorAll<HTMLElement>(\r\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\r\n )\r\n if (!focusable || focusable.length === 0) return\r\n const first = focusable[0]\r\n const last = focusable[focusable.length - 1]\r\n if (!first || !last) return\r\n\r\n if (e.shiftKey) {\r\n if (document.activeElement === first) {\r\n e.preventDefault()\r\n last.focus()\r\n }\r\n } else {\r\n if (document.activeElement === last) {\r\n e.preventDefault()\r\n first.focus()\r\n }\r\n }\r\n }\r\n },\r\n [onClose],\r\n )\r\n\r\n // Prevent clicks on the inner content from closing the modal\r\n const handleContentClick = useCallback((e: React.MouseEvent) => {\r\n e.stopPropagation()\r\n }, [])\r\n\r\n // Filerobot onSave handler\r\n const handleEditorSave = useCallback(\r\n (imageData: FilerobotImageState) => {\r\n if (!imageData.imageBase64) return\r\n const dataURL = imageData.imageBase64.startsWith('data:')\r\n ? imageData.imageBase64\r\n : `data:${imageData.mimeType || file.type};base64,${\r\n imageData.imageBase64\r\n }`\r\n onSave(dataURL, imageData.mimeType)\r\n },\r\n [file.type, onSave],\r\n )\r\n\r\n // Props that filerobot-image-editor's styled-components pass to DOM elements.\r\n // Filter them out via StyleSheetManager to avoid React 19 warnings / errors.\r\n const shouldForwardProp = useCallback(\r\n (prop: string) => !FILEROBOT_CUSTOM_PROPS.has(prop),\r\n [],\r\n )\r\n\r\n // Build Filerobot tabs from config\r\n const resolvedTabs = editorConstants?.TABS\r\n ? editorConfig.tabs?.map(\r\n tab => editorConstants.TABS[tab.toUpperCase()] ?? tab,\r\n )\r\n : undefined\r\n\r\n const filerobotTheme = useMemo(() => getFilerobotTheme(dark), [dark])\r\n const editorCssOverrides = useMemo(\r\n () => getImageEditorCssOverrides(dark),\r\n [dark],\r\n )\r\n\r\n return createPortal(\r\n <div className=\"upup-scope\" data-upup-slot=\"image-editor\">\r\n <div\r\n ref={overlayRef}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label={`Edit image: ${file.name}`}\r\n tabIndex={-1}\r\n className=\"upup-fixed upup-inset-0 upup-z-[2147483647] upup-flex upup-items-center upup-justify-center upup-bg-black/60 upup-outline-none\"\r\n onClick={onClose}\r\n onKeyDown={handleKeyDown}\r\n >\r\n <div\r\n className={cn(\r\n 'upup-relative upup-flex upup-h-[90vh] upup-w-[90vw] upup-max-w-5xl upup-flex-col upup-overflow-hidden upup-rounded-xl upup-shadow-2xl upup-ring-1',\r\n dark\r\n ? 'upup-bg-[#232323] upup-ring-white/[0.08]'\r\n : 'upup-bg-white upup-ring-black/10',\r\n )}\r\n data-upup-theme={dark ? 'dark' : 'light'}\r\n onClick={handleContentClick}\r\n >\r\n {editorCssOverrides && (\r\n <style\r\n dangerouslySetInnerHTML={{\r\n __html: editorCssOverrides,\r\n }}\r\n />\r\n )}\r\n\r\n {/* Filerobot provides its own top bar with save / close */}\r\n <div className=\"upup-relative upup-flex-1 upup-overflow-hidden\">\r\n {loadError && (\r\n <div className=\"upup-flex upup-h-full upup-items-center upup-justify-center upup-p-8\">\r\n <p\r\n className={cn(\r\n 'upup-text-center upup-text-sm',\r\n dark\r\n ? 'upup-text-red-400'\r\n : 'upup-text-red-600',\r\n )}\r\n >\r\n {loadError}\r\n </p>\r\n </div>\r\n )}\r\n\r\n {!EditorComponent && !loadError && (\r\n <div className=\"upup-flex upup-h-full upup-items-center upup-justify-center\">\r\n <div\r\n className={cn(\r\n 'upup-h-8 upup-w-8 upup-animate-spin upup-rounded-full upup-border-2 upup-border-t-transparent',\r\n dark\r\n ? 'upup-border-[#38bdf8]'\r\n : 'upup-border-[#0ea5e9]',\r\n )}\r\n />\r\n </div>\r\n )}\r\n\r\n {EditorComponent && !loadError && (\r\n <EditorWrapper\r\n StyleSheetMgr={StyleSheetMgr}\r\n shouldForwardProp={shouldForwardProp}\r\n >\r\n <EditorComponent\r\n source={file.url ?? ''}\r\n onSave={handleEditorSave}\r\n onClose={onClose}\r\n savingPixelRatio={4}\r\n previewPixelRatio={4}\r\n theme={filerobotTheme}\r\n defaultTabId={\r\n editorConstants?.TABS\r\n ? editorConstants.TABS.ADJUST\r\n : undefined\r\n }\r\n {...(resolvedTabs !== undefined\r\n ? { tabsIds: resolvedTabs }\r\n : {})}\r\n onBeforeSave={() => false}\r\n />\r\n </EditorWrapper>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>,\r\n document.body,\r\n )\r\n})\r\n\r\n/**\r\n * Custom props that filerobot-image-editor's styled-components leak to the DOM.\r\n * Maintained as a Set so `shouldForwardProp` can block them via StyleSheetManager.\r\n */\r\nconst FILEROBOT_CUSTOM_PROPS = new Set([\r\n 'active',\r\n 'noMargin',\r\n 'showBackButton',\r\n 'isPhoneScreen',\r\n 'showTabsDrawer',\r\n 'hasChildren',\r\n 'isAccordion',\r\n])\r\n\r\n/**\r\n * Wraps children with styled-components' StyleSheetManager (when available)\r\n * to prevent custom props from leaking to the DOM in React 19+.\r\n * Falls back to a plain fragment if styled-components is not loaded.\r\n */\r\nfunction EditorWrapper({\r\n children,\r\n StyleSheetMgr,\r\n shouldForwardProp,\r\n}: {\r\n children: React.ReactNode\r\n StyleSheetMgr: ComponentType<{\r\n shouldForwardProp?: (prop: string) => boolean\r\n children: React.ReactNode\r\n }> | null\r\n shouldForwardProp: (prop: string) => boolean\r\n}) {\r\n if (StyleSheetMgr) {\r\n return (\r\n <StyleSheetMgr shouldForwardProp={shouldForwardProp}>\r\n {children}\r\n </StyleSheetMgr>\r\n )\r\n }\r\n return <>{children}</>\r\n}\r\n"],"mappings":"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","names":["_a"]}
@@ -0,0 +1,236 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
2
+
3
+
4
+ var _chunkGNMEQB32cjs = require('./chunk-GNMEQB32.cjs');
5
+
6
+
7
+
8
+ var _chunkIG62MHVQcjs = require('./chunk-IG62MHVQ.cjs');
9
+
10
+ // src/components/ImageEditorModal.tsx
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+ var _react = require('react');
19
+ var _reactdom = require('react-dom');
20
+ var _internal = require('@useupup/core/internal');
21
+ var _jsxruntime = require('react/jsx-runtime');
22
+ var ImageEditorModal_default = _react.memo.call(void 0, function ImageEditorModal(props) {
23
+ var _a, _b;
24
+ const { file, onClose, onSave } = props;
25
+ const { imageEditor: editorConfig } = _chunkIG62MHVQcjs.useUploaderOptions.call(void 0, );
26
+ const { isDark: dark } = _chunkIG62MHVQcjs.useUploaderTheme.call(void 0, );
27
+ const overlayRef = _react.useRef.call(void 0, null);
28
+ const previousFocusRef = _react.useRef.call(void 0, null);
29
+ const [EditorComponent, setEditorComponent] = _react.useState.call(void 0, null);
30
+ const [editorConstants, setEditorConstants] = _react.useState.call(void 0, null);
31
+ const [loadError, setLoadError] = _react.useState.call(void 0, null);
32
+ const [StyleSheetMgr, setStyleSheetMgr] = _react.useState.call(void 0, null);
33
+ _react.useEffect.call(void 0, () => {
34
+ if (typeof window === "undefined") return;
35
+ let cancelled = false;
36
+ void (async () => {
37
+ try {
38
+ const [mod, scMod] = await Promise.all([
39
+ Promise.resolve().then(() => _interopRequireWildcard(require("react-filerobot-image-editor"))),
40
+ Promise.resolve().then(() => _interopRequireWildcard(require("styled-components"))).catch(() => null)
41
+ ]);
42
+ if (cancelled) return;
43
+ setEditorComponent(
44
+ () => mod.default
45
+ );
46
+ setEditorConstants({
47
+ TABS: mod.TABS,
48
+ TOOLS: mod.TOOLS
49
+ });
50
+ if (scMod == null ? void 0 : scMod.StyleSheetManager) {
51
+ setStyleSheetMgr(
52
+ () => scMod.StyleSheetManager
53
+ );
54
+ }
55
+ } catch (e2) {
56
+ if (cancelled) return;
57
+ setLoadError(
58
+ 'Image editor failed to load. Make sure "react-filerobot-image-editor" is installed.'
59
+ );
60
+ }
61
+ })();
62
+ return () => {
63
+ cancelled = true;
64
+ };
65
+ }, []);
66
+ _react.useEffect.call(void 0, () => {
67
+ previousFocusRef.current = document.activeElement;
68
+ return () => {
69
+ if (previousFocusRef.current instanceof HTMLElement) {
70
+ previousFocusRef.current.focus();
71
+ }
72
+ };
73
+ }, []);
74
+ _react.useEffect.call(void 0, () => {
75
+ var _a2;
76
+ (_a2 = overlayRef.current) == null ? void 0 : _a2.focus();
77
+ }, []);
78
+ const handleKeyDown = _react.useCallback.call(void 0,
79
+ (e) => {
80
+ var _a2;
81
+ if (e.key === "Escape") {
82
+ e.stopPropagation();
83
+ onClose();
84
+ }
85
+ if (e.key === "Tab") {
86
+ const focusable = (_a2 = overlayRef.current) == null ? void 0 : _a2.querySelectorAll(
87
+ 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
88
+ );
89
+ if (!focusable || focusable.length === 0) return;
90
+ const first = focusable[0];
91
+ const last = focusable[focusable.length - 1];
92
+ if (!first || !last) return;
93
+ if (e.shiftKey) {
94
+ if (document.activeElement === first) {
95
+ e.preventDefault();
96
+ last.focus();
97
+ }
98
+ } else {
99
+ if (document.activeElement === last) {
100
+ e.preventDefault();
101
+ first.focus();
102
+ }
103
+ }
104
+ }
105
+ },
106
+ [onClose]
107
+ );
108
+ const handleContentClick = _react.useCallback.call(void 0, (e) => {
109
+ e.stopPropagation();
110
+ }, []);
111
+ const handleEditorSave = _react.useCallback.call(void 0,
112
+ (imageData) => {
113
+ if (!imageData.imageBase64) return;
114
+ const dataURL = imageData.imageBase64.startsWith("data:") ? imageData.imageBase64 : `data:${imageData.mimeType || file.type};base64,${imageData.imageBase64}`;
115
+ onSave(dataURL, imageData.mimeType);
116
+ },
117
+ [file.type, onSave]
118
+ );
119
+ const shouldForwardProp = _react.useCallback.call(void 0,
120
+ (prop) => !FILEROBOT_CUSTOM_PROPS.has(prop),
121
+ []
122
+ );
123
+ const resolvedTabs = (editorConstants == null ? void 0 : editorConstants.TABS) ? (_a = editorConfig.tabs) == null ? void 0 : _a.map(
124
+ (tab) => {
125
+ var _a2;
126
+ return (_a2 = editorConstants.TABS[tab.toUpperCase()]) != null ? _a2 : tab;
127
+ }
128
+ ) : void 0;
129
+ const filerobotTheme = _react.useMemo.call(void 0, () => _chunkGNMEQB32cjs.getFilerobotTheme.call(void 0, dark), [dark]);
130
+ const editorCssOverrides = _react.useMemo.call(void 0,
131
+ () => _chunkGNMEQB32cjs.getImageEditorCssOverrides.call(void 0, dark),
132
+ [dark]
133
+ );
134
+ return _reactdom.createPortal.call(void 0,
135
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "upup-scope", "data-upup-slot": "image-editor", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
136
+ "div",
137
+ {
138
+ ref: overlayRef,
139
+ role: "dialog",
140
+ "aria-modal": "true",
141
+ "aria-label": `Edit image: ${file.name}`,
142
+ tabIndex: -1,
143
+ className: "upup-fixed upup-inset-0 upup-z-[2147483647] upup-flex upup-items-center upup-justify-center upup-bg-black/60 upup-outline-none",
144
+ onClick: onClose,
145
+ onKeyDown: handleKeyDown,
146
+ children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
147
+ "div",
148
+ {
149
+ className: _internal.cn.call(void 0,
150
+ "upup-relative upup-flex upup-h-[90vh] upup-w-[90vw] upup-max-w-5xl upup-flex-col upup-overflow-hidden upup-rounded-xl upup-shadow-2xl upup-ring-1",
151
+ dark ? "upup-bg-[#232323] upup-ring-white/[0.08]" : "upup-bg-white upup-ring-black/10"
152
+ ),
153
+ "data-upup-theme": dark ? "dark" : "light",
154
+ onClick: handleContentClick,
155
+ children: [
156
+ editorCssOverrides && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
157
+ "style",
158
+ {
159
+ dangerouslySetInnerHTML: {
160
+ __html: editorCssOverrides
161
+ }
162
+ }
163
+ ),
164
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "upup-relative upup-flex-1 upup-overflow-hidden", children: [
165
+ loadError && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "upup-flex upup-h-full upup-items-center upup-justify-center upup-p-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
166
+ "p",
167
+ {
168
+ className: _internal.cn.call(void 0,
169
+ "upup-text-center upup-text-sm",
170
+ dark ? "upup-text-red-400" : "upup-text-red-600"
171
+ ),
172
+ children: loadError
173
+ }
174
+ ) }),
175
+ !EditorComponent && !loadError && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "upup-flex upup-h-full upup-items-center upup-justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
176
+ "div",
177
+ {
178
+ className: _internal.cn.call(void 0,
179
+ "upup-h-8 upup-w-8 upup-animate-spin upup-rounded-full upup-border-2 upup-border-t-transparent",
180
+ dark ? "upup-border-[#38bdf8]" : "upup-border-[#0ea5e9]"
181
+ )
182
+ }
183
+ ) }),
184
+ EditorComponent && !loadError && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
185
+ EditorWrapper,
186
+ {
187
+ StyleSheetMgr,
188
+ shouldForwardProp,
189
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
190
+ EditorComponent,
191
+ {
192
+ source: (_b = file.url) != null ? _b : "",
193
+ onSave: handleEditorSave,
194
+ onClose,
195
+ savingPixelRatio: 4,
196
+ previewPixelRatio: 4,
197
+ theme: filerobotTheme,
198
+ defaultTabId: (editorConstants == null ? void 0 : editorConstants.TABS) ? editorConstants.TABS.ADJUST : void 0,
199
+ ...resolvedTabs !== void 0 ? { tabsIds: resolvedTabs } : {},
200
+ onBeforeSave: () => false
201
+ }
202
+ )
203
+ }
204
+ )
205
+ ] })
206
+ ]
207
+ }
208
+ )
209
+ }
210
+ ) }),
211
+ document.body
212
+ );
213
+ });
214
+ var FILEROBOT_CUSTOM_PROPS = /* @__PURE__ */ new Set([
215
+ "active",
216
+ "noMargin",
217
+ "showBackButton",
218
+ "isPhoneScreen",
219
+ "showTabsDrawer",
220
+ "hasChildren",
221
+ "isAccordion"
222
+ ]);
223
+ function EditorWrapper({
224
+ children,
225
+ StyleSheetMgr,
226
+ shouldForwardProp
227
+ }) {
228
+ if (StyleSheetMgr) {
229
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, StyleSheetMgr, { shouldForwardProp, children });
230
+ }
231
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children });
232
+ }
233
+
234
+
235
+ exports.default = ImageEditorModal_default;
236
+ //# sourceMappingURL=ImageEditorModal-XJKPBTVQ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["c:\\Users\\amind\\OneDrive\\Desktop\\Projects\\INTERNAL\\upup\\packages\\react\\dist\\ImageEditorModal-XJKPBTVQ.cjs"],"names":[],"mappings":"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CAAC,QAAQ,EAAE,SAAS,CAAC,WAAW,CAAC,CAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,oBAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,cAAA;AACA,cAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACA,YAAA;AACA,cAAA;AACA,gBAAA;AACA,gBAAA;AACA,kBAAA;AACA,oBAAA;AACA,kBAAA;AACA,gBAAA;AACA,cAAA;AACA,8BAAA;AACA,gBAAA;AACA,kBAAA;AACA,kBAAA;AACA,oBAAA;AACA,sBAAA;AACA,sBAAA;AACA,oBAAA;AACA,oBAAA;AACA,kBAAA;AACA,gBAAA;AACA,gBAAA;AACA,kBAAA;AACA,kBAAA;AACA,oBAAA;AACA,sBAAA;AACA,sBAAA;AACA,oBAAA;AACA,kBAAA;AACA,gBAAA;AACA,gBAAA;AACA,kBAAA;AACA,kBAAA;AACA,oBAAA;AACA,oBAAA;AACA,oBAAA;AACA,sBAAA;AACA,sBAAA;AACA,wBAAA;AACA,wBAAA;AACA,wBAAA;AACA,wBAAA;AACA,wBAAA;AACA,wBAAA;AACA,wBAAA;AACA,wBAAA;AACA,wBAAA;AACA,sBAAA;AACA,oBAAA;AACA,kBAAA;AACA,gBAAA;AACA,cAAA;AACA,YAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA,EAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA","file":"C:\\Users\\amind\\OneDrive\\Desktop\\Projects\\INTERNAL\\upup\\packages\\react\\dist\\ImageEditorModal-XJKPBTVQ.cjs","sourcesContent":[null]}
@@ -0,0 +1,175 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+ var _chunkL3E5OMY7cjs = require('./chunk-L3E5OMY7.cjs');
6
+ require('./chunk-N4XGN66E.cjs');
7
+ require('./chunk-DZQBTC6T.cjs');
8
+
9
+
10
+
11
+
12
+ var _chunkIG62MHVQcjs = require('./chunk-IG62MHVQ.cjs');
13
+
14
+ // src/hooks/useOneDrive.ts
15
+
16
+
17
+
18
+
19
+
20
+ var _react = require('react');
21
+
22
+
23
+ var _core = require('@useupup/core');
24
+
25
+
26
+ var _internal = require('@useupup/core/internal');
27
+ var SERVER_SNAPSHOT = {
28
+ user: void 0,
29
+ folder: void 0,
30
+ path: [],
31
+ selectedFiles: [],
32
+ isClickLoading: false,
33
+ showLoader: false,
34
+ isAuthReady: false,
35
+ isAuthenticated: false,
36
+ isLoading: true,
37
+ authCancelled: false,
38
+ token: void 0,
39
+ error: void 0,
40
+ hasMore: false,
41
+ isLoadingMore: false
42
+ };
43
+ function useOneDrive() {
44
+ var _a, _b;
45
+ const { core } = _chunkIG62MHVQcjs.useUploaderRuntime.call(void 0, );
46
+ const { setActiveSource } = _chunkIG62MHVQcjs.useUploaderSource.call(void 0, );
47
+ const { setFiles } = _chunkIG62MHVQcjs.useUploaderFiles.call(void 0, );
48
+ const controllerRef = _react.useRef.call(void 0, null);
49
+ if (!controllerRef.current && core) {
50
+ controllerRef.current = new (0, _internal.DriveBrowserController)(
51
+ core,
52
+ _core.ONE_DRIVE_DESCRIPTOR,
53
+ {
54
+ onFilesSelected: (files) => {
55
+ setFiles(files);
56
+ },
57
+ onClose: () => {
58
+ setActiveSource(void 0);
59
+ }
60
+ }
61
+ );
62
+ }
63
+ const controller = controllerRef.current;
64
+ _react.useEffect.call(void 0, () => {
65
+ controller == null ? void 0 : controller.init();
66
+ return () => controller == null ? void 0 : controller.destroy();
67
+ }, [controller]);
68
+ const state = _react.useSyncExternalStore.call(void 0,
69
+ (_a = controller == null ? void 0 : controller.subscribe) != null ? _a : (() => () => {
70
+ }),
71
+ (_b = controller == null ? void 0 : controller.getSnapshot) != null ? _b : (() => SERVER_SNAPSHOT),
72
+ () => SERVER_SNAPSHOT
73
+ );
74
+ const setPath = _react.useCallback.call(void 0,
75
+ (value) => controller == null ? void 0 : controller.setPath(
76
+ typeof value === "function" ? value(controller.getSnapshot().path) : value
77
+ ),
78
+ [controller]
79
+ );
80
+ return {
81
+ user: state.user,
82
+ oneDriveFiles: state.folder,
83
+ signOut: () => controller == null ? void 0 : controller.signOut(),
84
+ signIn: () => controller == null ? void 0 : controller.signIn(),
85
+ authenticate: () => controller == null ? void 0 : controller.signIn(),
86
+ // 'active' is a presence sentinel the component checks via `!token`; the real
87
+ // GIS token lives in state.token and is intentionally not surfaced here.
88
+ token: state.isAuthenticated ? "active" : void 0,
89
+ isAuthenticated: state.isAuthenticated,
90
+ isLoading: state.isLoading,
91
+ path: state.path,
92
+ setPath,
93
+ isClickLoading: state.isClickLoading,
94
+ handleClick: (file) => controller == null ? void 0 : controller.handleClick(file),
95
+ selectedFiles: state.selectedFiles,
96
+ showLoader: state.showLoader,
97
+ handleSubmit: () => {
98
+ var _a2;
99
+ return (_a2 = controller == null ? void 0 : controller.handleSubmit()) != null ? _a2 : Promise.resolve();
100
+ },
101
+ handleCancelDownload: () => {
102
+ controller == null ? void 0 : controller.handleCancelDownload();
103
+ },
104
+ onSelectCurrentFolder: () => {
105
+ var _a2;
106
+ return (_a2 = controller == null ? void 0 : controller.onSelectCurrentFolder()) != null ? _a2 : Promise.resolve();
107
+ },
108
+ error: state.error,
109
+ hasMore: state.hasMore,
110
+ isLoadingMore: state.isLoadingMore,
111
+ loadMore: () => {
112
+ var _a2;
113
+ return (_a2 = controller == null ? void 0 : controller.loadMore()) != null ? _a2 : Promise.resolve();
114
+ }
115
+ };
116
+ }
117
+
118
+ // src/components/OneDriveUploader.tsx
119
+ var _jsxruntime = require('react/jsx-runtime');
120
+ function OneDriveUploader() {
121
+ const { mode } = _chunkIG62MHVQcjs.useUploaderRuntime.call(void 0, );
122
+ const { setActiveSource } = _chunkIG62MHVQcjs.useUploaderSource.call(void 0, );
123
+ if (mode === "server") {
124
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
125
+ _chunkL3E5OMY7cjs.ServerModeDriveUploader,
126
+ {
127
+ provider: "one-drive",
128
+ onBack: () => {
129
+ setActiveSource(void 0);
130
+ }
131
+ }
132
+ );
133
+ }
134
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ClientOneDriveUploader, {});
135
+ }
136
+ function ClientOneDriveUploader() {
137
+ const {
138
+ user,
139
+ oneDriveFiles: driveFiles,
140
+ signOut,
141
+ token,
142
+ isAuthenticated,
143
+ authenticate,
144
+ isLoading,
145
+ ...uploaderProps
146
+ } = useOneDrive();
147
+ const handleSignOut = async () => {
148
+ signOut();
149
+ return Promise.resolve();
150
+ };
151
+ if (!isAuthenticated && !token && !isLoading) {
152
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
153
+ _chunkL3E5OMY7cjs.DriveAuthFallback,
154
+ {
155
+ providerName: "OneDrive",
156
+ onRetry: authenticate,
157
+ "data-upup-slot": "one-drive-uploader"
158
+ }
159
+ );
160
+ }
161
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
162
+ _chunkL3E5OMY7cjs.DriveBrowser,
163
+ {
164
+ driveFiles,
165
+ user,
166
+ handleSignOut,
167
+ "data-upup-slot": "one-drive-uploader",
168
+ ...uploaderProps
169
+ }
170
+ );
171
+ }
172
+
173
+
174
+ exports.default = OneDriveUploader;
175
+ //# sourceMappingURL=OneDriveUploader-4RPTY7KT.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["c:\\Users\\amind\\OneDrive\\Desktop\\Projects\\INTERNAL\\upup\\packages\\react\\dist\\OneDriveUploader-4RPTY7KT.cjs"],"names":[],"mappings":"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","file":"C:\\Users\\amind\\OneDrive\\Desktop\\Projects\\INTERNAL\\upup\\packages\\react\\dist\\OneDriveUploader-4RPTY7KT.cjs","sourcesContent":[null]}
@@ -0,0 +1,175 @@
1
+ import {
2
+ DriveAuthFallback,
3
+ DriveBrowser,
4
+ ServerModeDriveUploader
5
+ } from "./chunk-6TFTTLOD.js";
6
+ import "./chunk-PLGHK2Y4.js";
7
+ import "./chunk-SSLP3MEC.js";
8
+ import {
9
+ useUploaderFiles,
10
+ useUploaderRuntime,
11
+ useUploaderSource
12
+ } from "./chunk-LCMDDPUD.js";
13
+
14
+ // src/hooks/useOneDrive.ts
15
+ import {
16
+ useCallback,
17
+ useEffect,
18
+ useRef,
19
+ useSyncExternalStore
20
+ } from "react";
21
+ import {
22
+ ONE_DRIVE_DESCRIPTOR
23
+ } from "@useupup/core";
24
+ import {
25
+ DriveBrowserController
26
+ } from "@useupup/core/internal";
27
+ var SERVER_SNAPSHOT = {
28
+ user: void 0,
29
+ folder: void 0,
30
+ path: [],
31
+ selectedFiles: [],
32
+ isClickLoading: false,
33
+ showLoader: false,
34
+ isAuthReady: false,
35
+ isAuthenticated: false,
36
+ isLoading: true,
37
+ authCancelled: false,
38
+ token: void 0,
39
+ error: void 0,
40
+ hasMore: false,
41
+ isLoadingMore: false
42
+ };
43
+ function useOneDrive() {
44
+ var _a, _b;
45
+ const { core } = useUploaderRuntime();
46
+ const { setActiveSource } = useUploaderSource();
47
+ const { setFiles } = useUploaderFiles();
48
+ const controllerRef = useRef(null);
49
+ if (!controllerRef.current && core) {
50
+ controllerRef.current = new DriveBrowserController(
51
+ core,
52
+ ONE_DRIVE_DESCRIPTOR,
53
+ {
54
+ onFilesSelected: (files) => {
55
+ setFiles(files);
56
+ },
57
+ onClose: () => {
58
+ setActiveSource(void 0);
59
+ }
60
+ }
61
+ );
62
+ }
63
+ const controller = controllerRef.current;
64
+ useEffect(() => {
65
+ controller == null ? void 0 : controller.init();
66
+ return () => controller == null ? void 0 : controller.destroy();
67
+ }, [controller]);
68
+ const state = useSyncExternalStore(
69
+ (_a = controller == null ? void 0 : controller.subscribe) != null ? _a : (() => () => {
70
+ }),
71
+ (_b = controller == null ? void 0 : controller.getSnapshot) != null ? _b : (() => SERVER_SNAPSHOT),
72
+ () => SERVER_SNAPSHOT
73
+ );
74
+ const setPath = useCallback(
75
+ (value) => controller == null ? void 0 : controller.setPath(
76
+ typeof value === "function" ? value(controller.getSnapshot().path) : value
77
+ ),
78
+ [controller]
79
+ );
80
+ return {
81
+ user: state.user,
82
+ oneDriveFiles: state.folder,
83
+ signOut: () => controller == null ? void 0 : controller.signOut(),
84
+ signIn: () => controller == null ? void 0 : controller.signIn(),
85
+ authenticate: () => controller == null ? void 0 : controller.signIn(),
86
+ // 'active' is a presence sentinel the component checks via `!token`; the real
87
+ // GIS token lives in state.token and is intentionally not surfaced here.
88
+ token: state.isAuthenticated ? "active" : void 0,
89
+ isAuthenticated: state.isAuthenticated,
90
+ isLoading: state.isLoading,
91
+ path: state.path,
92
+ setPath,
93
+ isClickLoading: state.isClickLoading,
94
+ handleClick: (file) => controller == null ? void 0 : controller.handleClick(file),
95
+ selectedFiles: state.selectedFiles,
96
+ showLoader: state.showLoader,
97
+ handleSubmit: () => {
98
+ var _a2;
99
+ return (_a2 = controller == null ? void 0 : controller.handleSubmit()) != null ? _a2 : Promise.resolve();
100
+ },
101
+ handleCancelDownload: () => {
102
+ controller == null ? void 0 : controller.handleCancelDownload();
103
+ },
104
+ onSelectCurrentFolder: () => {
105
+ var _a2;
106
+ return (_a2 = controller == null ? void 0 : controller.onSelectCurrentFolder()) != null ? _a2 : Promise.resolve();
107
+ },
108
+ error: state.error,
109
+ hasMore: state.hasMore,
110
+ isLoadingMore: state.isLoadingMore,
111
+ loadMore: () => {
112
+ var _a2;
113
+ return (_a2 = controller == null ? void 0 : controller.loadMore()) != null ? _a2 : Promise.resolve();
114
+ }
115
+ };
116
+ }
117
+
118
+ // src/components/OneDriveUploader.tsx
119
+ import { jsx } from "react/jsx-runtime";
120
+ function OneDriveUploader() {
121
+ const { mode } = useUploaderRuntime();
122
+ const { setActiveSource } = useUploaderSource();
123
+ if (mode === "server") {
124
+ return /* @__PURE__ */ jsx(
125
+ ServerModeDriveUploader,
126
+ {
127
+ provider: "one-drive",
128
+ onBack: () => {
129
+ setActiveSource(void 0);
130
+ }
131
+ }
132
+ );
133
+ }
134
+ return /* @__PURE__ */ jsx(ClientOneDriveUploader, {});
135
+ }
136
+ function ClientOneDriveUploader() {
137
+ const {
138
+ user,
139
+ oneDriveFiles: driveFiles,
140
+ signOut,
141
+ token,
142
+ isAuthenticated,
143
+ authenticate,
144
+ isLoading,
145
+ ...uploaderProps
146
+ } = useOneDrive();
147
+ const handleSignOut = async () => {
148
+ signOut();
149
+ return Promise.resolve();
150
+ };
151
+ if (!isAuthenticated && !token && !isLoading) {
152
+ return /* @__PURE__ */ jsx(
153
+ DriveAuthFallback,
154
+ {
155
+ providerName: "OneDrive",
156
+ onRetry: authenticate,
157
+ "data-upup-slot": "one-drive-uploader"
158
+ }
159
+ );
160
+ }
161
+ return /* @__PURE__ */ jsx(
162
+ DriveBrowser,
163
+ {
164
+ driveFiles,
165
+ user,
166
+ handleSignOut,
167
+ "data-upup-slot": "one-drive-uploader",
168
+ ...uploaderProps
169
+ }
170
+ );
171
+ }
172
+ export {
173
+ OneDriveUploader as default
174
+ };
175
+ //# sourceMappingURL=OneDriveUploader-I25Y6AJP.js.map