@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,200 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+ var _chunkOXWVO7Z6cjs = require('./chunk-OXWVO7Z6.cjs');
4
+
5
+
6
+ var _chunkDZQBTC6Tcjs = require('./chunk-DZQBTC6T.cjs');
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+ var _chunkIG62MHVQcjs = require('./chunk-IG62MHVQ.cjs');
15
+
16
+ // src/components/CameraUploader.tsx
17
+ var _reactwebcam = require('react-webcam'); var _reactwebcam2 = _interopRequireDefault(_reactwebcam);
18
+ var _core = require('@useupup/core');
19
+ var _internal = require('@useupup/core/internal');
20
+
21
+ // src/hooks/useCameraUploader.ts
22
+ var _react = require('react');
23
+ function useCameraUploader() {
24
+ const { core } = _chunkIG62MHVQcjs.useUploaderRuntime.call(void 0, );
25
+ const { setFiles } = _chunkIG62MHVQcjs.useUploaderFiles.call(void 0, );
26
+ const { setActiveSource } = _chunkIG62MHVQcjs.useUploaderSource.call(void 0, );
27
+ const { translations } = _chunkIG62MHVQcjs.useUploaderI18n.call(void 0, );
28
+ const props = _chunkIG62MHVQcjs.useUploaderOptions.call(void 0, );
29
+ const theme = _chunkIG62MHVQcjs.useUploaderTheme.call(void 0, );
30
+ const { fetchImage } = _chunkOXWVO7Z6cjs.useFetchFileByUrl.call(void 0, );
31
+ const webcamRef = _react.useRef.call(void 0, null);
32
+ const [url, setUrl] = _react.useState.call(void 0, "");
33
+ const [facingMode, setFacingMode] = _react.useState.call(void 0,
34
+ "environment" /* Environment */
35
+ );
36
+ const newCameraSide = facingMode === "environment" /* Environment */ ? "front" : "back";
37
+ const clearUrl = () => {
38
+ setUrl("");
39
+ };
40
+ const capture = () => {
41
+ var _a;
42
+ const url2 = (_a = webcamRef.current) == null ? void 0 : _a.getScreenshot();
43
+ if (!url2) return;
44
+ setUrl(url2);
45
+ core == null ? void 0 : core.emit("camera-capture", { dataUrl: url2 });
46
+ };
47
+ const handleFetchImage = () => {
48
+ void (async () => {
49
+ const file = await fetchImage(url);
50
+ if (file) {
51
+ setFiles([file]);
52
+ setUrl("");
53
+ setActiveSource(void 0);
54
+ core == null ? void 0 : core.emit("camera-confirm", { file });
55
+ }
56
+ })();
57
+ };
58
+ const handleCameraSwitch = () => {
59
+ setFacingMode(
60
+ (prevState) => prevState === "environment" /* Environment */ ? "user" /* User */ : "environment" /* Environment */
61
+ );
62
+ };
63
+ return {
64
+ url,
65
+ webcamRef,
66
+ facingMode,
67
+ capture,
68
+ handleFetchImage,
69
+ clearUrl,
70
+ handleCameraSwitch,
71
+ newCameraSide,
72
+ translations,
73
+ props,
74
+ theme
75
+ };
76
+ }
77
+
78
+ // src/components/CameraUploader.tsx
79
+ var _jsxruntime = require('react/jsx-runtime');
80
+ function CameraUploader() {
81
+ const {
82
+ capture,
83
+ handleFetchImage,
84
+ clearUrl,
85
+ handleCameraSwitch,
86
+ newCameraSide,
87
+ url,
88
+ webcamRef,
89
+ facingMode,
90
+ translations: tr,
91
+ props: {
92
+ icons: { CameraCaptureIcon, CameraDeleteIcon, CameraRotateIcon }
93
+ },
94
+ theme: { isDark: dark, slotOverrides: slotClasses }
95
+ } = useCameraUploader();
96
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDZQBTC6Tcjs.SourceViewContainer, { "data-upup-slot": "camera-uploader", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
97
+ "div",
98
+ {
99
+ "data-testid": "upup-camera-uploader",
100
+ className: "upup-flex upup-h-full upup-w-full upup-flex-col upup-justify-center upup-overflow-hidden upup-px-3 upup-py-2",
101
+ children: [
102
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "upup-flex upup-min-h-0 upup-flex-1 upup-items-center upup-justify-center upup-pt-2", children: [
103
+ !!url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
104
+ "div",
105
+ {
106
+ className: _internal.cn.call(void 0,
107
+ "upup-relative upup-aspect-video upup-max-h-full upup-max-w-full upup-bg-black/[0.025] upup-bg-contain upup-bg-center upup-bg-no-repeat upup-shadow-xl",
108
+ {
109
+ "upup-bg-white/5 dark:upup-bg-white/5": dark
110
+ },
111
+ slotClasses.cameraPreviewContainer
112
+ ),
113
+ style: { backgroundImage: `url(${url})` },
114
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
115
+ "button",
116
+ {
117
+ onClick: clearUrl,
118
+ className: _internal.cn.call(void 0,
119
+ "upup-absolute upup--right-2 upup--top-2 upup-z-10 upup-rounded-full upup-bg-[#272727] upup-p-1 upup-text-xl upup-text-[#f5f5f5]",
120
+ slotClasses.cameraDeleteButton
121
+ ),
122
+ type: "button",
123
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CameraDeleteIcon, {})
124
+ }
125
+ )
126
+ }
127
+ ),
128
+ !url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
129
+ _reactwebcam2.default,
130
+ {
131
+ audio: false,
132
+ ref: webcamRef,
133
+ screenshotFormat: "image/jpeg",
134
+ videoConstraints: { facingMode },
135
+ className: "upup-aspect-video upup-max-h-full upup-max-w-full upup-rounded-xl upup-object-contain"
136
+ }
137
+ )
138
+ ] }),
139
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "upup-flex upup-shrink-0 upup-gap-4", children: [
140
+ !url && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
141
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
142
+ "button",
143
+ {
144
+ className: _internal.cn.call(void 0,
145
+ "upup-mt-2 upup-flex upup-w-1/3 upup-flex-col upup-items-center upup-justify-center upup-rounded-md upup-bg-[#0ea5e9] upup-p-2 upup-text-white upup-transition-all upup-duration-300",
146
+ {
147
+ "upup-bg-[#38bdf8] dark:upup-bg-[#38bdf8]": dark
148
+ },
149
+ slotClasses.cameraCaptureButton
150
+ ),
151
+ onClick: capture,
152
+ type: "button",
153
+ children: [
154
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CameraCaptureIcon, {}) }),
155
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: tr.capture })
156
+ ]
157
+ }
158
+ ),
159
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
160
+ "button",
161
+ {
162
+ className: _internal.cn.call(void 0,
163
+ "upup-mt-2 upup-flex upup-w-1/3 upup-flex-col upup-items-center upup-rounded-md upup-bg-gray-500 upup-p-2 upup-text-white upup-transition-all upup-duration-300 hover:upup-bg-gray-600",
164
+ slotClasses.cameraRotateButton
165
+ ),
166
+ onClick: handleCameraSwitch,
167
+ type: "button",
168
+ children: [
169
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CameraRotateIcon, {}) }),
170
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _core.formatUiMessage.call(void 0, tr.switchToCamera, {
171
+ side: newCameraSide === "front" ? tr.front : tr.back
172
+ }) })
173
+ ]
174
+ }
175
+ )
176
+ ] }),
177
+ !!url && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
178
+ "button",
179
+ {
180
+ className: _internal.cn.call(void 0,
181
+ "upup-mt-2 upup-w-full upup-rounded-md upup-bg-[#0ea5e9] upup-p-2 upup-text-white upup-transition-all upup-duration-300",
182
+ {
183
+ "upup-bg-[#38bdf8] dark:upup-bg-[#38bdf8]": dark
184
+ },
185
+ slotClasses.cameraAddButton
186
+ ),
187
+ onClick: handleFetchImage,
188
+ type: "button",
189
+ children: tr.addImage
190
+ }
191
+ )
192
+ ] })
193
+ ]
194
+ }
195
+ ) });
196
+ }
197
+
198
+
199
+ exports.default = CameraUploader;
200
+ //# sourceMappingURL=CameraUploader-BJ3AU3VS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["c:\\Users\\amind\\OneDrive\\Desktop\\Projects\\INTERNAL\\upup\\packages\\react\\dist\\CameraUploader-BJ3AU3VS.cjs"],"names":[],"mappings":"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","file":"C:\\Users\\amind\\OneDrive\\Desktop\\Projects\\INTERNAL\\upup\\packages\\react\\dist\\CameraUploader-BJ3AU3VS.cjs","sourcesContent":[null]}
@@ -0,0 +1,200 @@
1
+ import {
2
+ useFetchFileByUrl
3
+ } from "./chunk-WYMKISZI.js";
4
+ import {
5
+ SourceViewContainer
6
+ } from "./chunk-SSLP3MEC.js";
7
+ import {
8
+ useUploaderFiles,
9
+ useUploaderI18n,
10
+ useUploaderOptions,
11
+ useUploaderRuntime,
12
+ useUploaderSource,
13
+ useUploaderTheme
14
+ } from "./chunk-LCMDDPUD.js";
15
+
16
+ // src/components/CameraUploader.tsx
17
+ import Webcam from "react-webcam";
18
+ import { formatUiMessage as t } from "@useupup/core";
19
+ import { cn } from "@useupup/core/internal";
20
+
21
+ // src/hooks/useCameraUploader.ts
22
+ import { useRef, useState } from "react";
23
+ function useCameraUploader() {
24
+ const { core } = useUploaderRuntime();
25
+ const { setFiles } = useUploaderFiles();
26
+ const { setActiveSource } = useUploaderSource();
27
+ const { translations } = useUploaderI18n();
28
+ const props = useUploaderOptions();
29
+ const theme = useUploaderTheme();
30
+ const { fetchImage } = useFetchFileByUrl();
31
+ const webcamRef = useRef(null);
32
+ const [url, setUrl] = useState("");
33
+ const [facingMode, setFacingMode] = useState(
34
+ "environment" /* Environment */
35
+ );
36
+ const newCameraSide = facingMode === "environment" /* Environment */ ? "front" : "back";
37
+ const clearUrl = () => {
38
+ setUrl("");
39
+ };
40
+ const capture = () => {
41
+ var _a;
42
+ const url2 = (_a = webcamRef.current) == null ? void 0 : _a.getScreenshot();
43
+ if (!url2) return;
44
+ setUrl(url2);
45
+ core == null ? void 0 : core.emit("camera-capture", { dataUrl: url2 });
46
+ };
47
+ const handleFetchImage = () => {
48
+ void (async () => {
49
+ const file = await fetchImage(url);
50
+ if (file) {
51
+ setFiles([file]);
52
+ setUrl("");
53
+ setActiveSource(void 0);
54
+ core == null ? void 0 : core.emit("camera-confirm", { file });
55
+ }
56
+ })();
57
+ };
58
+ const handleCameraSwitch = () => {
59
+ setFacingMode(
60
+ (prevState) => prevState === "environment" /* Environment */ ? "user" /* User */ : "environment" /* Environment */
61
+ );
62
+ };
63
+ return {
64
+ url,
65
+ webcamRef,
66
+ facingMode,
67
+ capture,
68
+ handleFetchImage,
69
+ clearUrl,
70
+ handleCameraSwitch,
71
+ newCameraSide,
72
+ translations,
73
+ props,
74
+ theme
75
+ };
76
+ }
77
+
78
+ // src/components/CameraUploader.tsx
79
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
80
+ function CameraUploader() {
81
+ const {
82
+ capture,
83
+ handleFetchImage,
84
+ clearUrl,
85
+ handleCameraSwitch,
86
+ newCameraSide,
87
+ url,
88
+ webcamRef,
89
+ facingMode,
90
+ translations: tr,
91
+ props: {
92
+ icons: { CameraCaptureIcon, CameraDeleteIcon, CameraRotateIcon }
93
+ },
94
+ theme: { isDark: dark, slotOverrides: slotClasses }
95
+ } = useCameraUploader();
96
+ return /* @__PURE__ */ jsx(SourceViewContainer, { "data-upup-slot": "camera-uploader", children: /* @__PURE__ */ jsxs(
97
+ "div",
98
+ {
99
+ "data-testid": "upup-camera-uploader",
100
+ className: "upup-flex upup-h-full upup-w-full upup-flex-col upup-justify-center upup-overflow-hidden upup-px-3 upup-py-2",
101
+ children: [
102
+ /* @__PURE__ */ jsxs("div", { className: "upup-flex upup-min-h-0 upup-flex-1 upup-items-center upup-justify-center upup-pt-2", children: [
103
+ !!url && /* @__PURE__ */ jsx(
104
+ "div",
105
+ {
106
+ className: cn(
107
+ "upup-relative upup-aspect-video upup-max-h-full upup-max-w-full upup-bg-black/[0.025] upup-bg-contain upup-bg-center upup-bg-no-repeat upup-shadow-xl",
108
+ {
109
+ "upup-bg-white/5 dark:upup-bg-white/5": dark
110
+ },
111
+ slotClasses.cameraPreviewContainer
112
+ ),
113
+ style: { backgroundImage: `url(${url})` },
114
+ children: /* @__PURE__ */ jsx(
115
+ "button",
116
+ {
117
+ onClick: clearUrl,
118
+ className: cn(
119
+ "upup-absolute upup--right-2 upup--top-2 upup-z-10 upup-rounded-full upup-bg-[#272727] upup-p-1 upup-text-xl upup-text-[#f5f5f5]",
120
+ slotClasses.cameraDeleteButton
121
+ ),
122
+ type: "button",
123
+ children: /* @__PURE__ */ jsx(CameraDeleteIcon, {})
124
+ }
125
+ )
126
+ }
127
+ ),
128
+ !url && /* @__PURE__ */ jsx(
129
+ Webcam,
130
+ {
131
+ audio: false,
132
+ ref: webcamRef,
133
+ screenshotFormat: "image/jpeg",
134
+ videoConstraints: { facingMode },
135
+ className: "upup-aspect-video upup-max-h-full upup-max-w-full upup-rounded-xl upup-object-contain"
136
+ }
137
+ )
138
+ ] }),
139
+ /* @__PURE__ */ jsxs("div", { className: "upup-flex upup-shrink-0 upup-gap-4", children: [
140
+ !url && /* @__PURE__ */ jsxs(Fragment, { children: [
141
+ /* @__PURE__ */ jsxs(
142
+ "button",
143
+ {
144
+ className: cn(
145
+ "upup-mt-2 upup-flex upup-w-1/3 upup-flex-col upup-items-center upup-justify-center upup-rounded-md upup-bg-[#0ea5e9] upup-p-2 upup-text-white upup-transition-all upup-duration-300",
146
+ {
147
+ "upup-bg-[#38bdf8] dark:upup-bg-[#38bdf8]": dark
148
+ },
149
+ slotClasses.cameraCaptureButton
150
+ ),
151
+ onClick: capture,
152
+ type: "button",
153
+ children: [
154
+ /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(CameraCaptureIcon, {}) }),
155
+ /* @__PURE__ */ jsx("span", { children: tr.capture })
156
+ ]
157
+ }
158
+ ),
159
+ /* @__PURE__ */ jsxs(
160
+ "button",
161
+ {
162
+ className: cn(
163
+ "upup-mt-2 upup-flex upup-w-1/3 upup-flex-col upup-items-center upup-rounded-md upup-bg-gray-500 upup-p-2 upup-text-white upup-transition-all upup-duration-300 hover:upup-bg-gray-600",
164
+ slotClasses.cameraRotateButton
165
+ ),
166
+ onClick: handleCameraSwitch,
167
+ type: "button",
168
+ children: [
169
+ /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(CameraRotateIcon, {}) }),
170
+ /* @__PURE__ */ jsx("span", { children: t(tr.switchToCamera, {
171
+ side: newCameraSide === "front" ? tr.front : tr.back
172
+ }) })
173
+ ]
174
+ }
175
+ )
176
+ ] }),
177
+ !!url && /* @__PURE__ */ jsx(
178
+ "button",
179
+ {
180
+ className: cn(
181
+ "upup-mt-2 upup-w-full upup-rounded-md upup-bg-[#0ea5e9] upup-p-2 upup-text-white upup-transition-all upup-duration-300",
182
+ {
183
+ "upup-bg-[#38bdf8] dark:upup-bg-[#38bdf8]": dark
184
+ },
185
+ slotClasses.cameraAddButton
186
+ ),
187
+ onClick: handleFetchImage,
188
+ type: "button",
189
+ children: tr.addImage
190
+ }
191
+ )
192
+ ] })
193
+ ]
194
+ }
195
+ ) });
196
+ }
197
+ export {
198
+ CameraUploader as default
199
+ };
200
+ //# sourceMappingURL=CameraUploader-WF5A6UIS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/CameraUploader.tsx","../src/hooks/useCameraUploader.ts"],"sourcesContent":["import React from 'react'\r\nimport Webcam from 'react-webcam'\r\nimport { formatUiMessage as t } from '@useupup/core'\r\nimport { cn } from '@useupup/core/internal'\r\nimport useCameraUploader from '../hooks/useCameraUploader'\r\nimport SourceViewContainer from './shared/SourceViewContainer'\r\n\r\nexport default function CameraUploader(): React.ReactElement | null {\r\n const {\r\n capture,\r\n handleFetchImage,\r\n clearUrl,\r\n handleCameraSwitch,\r\n newCameraSide,\r\n url,\r\n webcamRef,\r\n facingMode,\r\n translations: tr,\r\n props: {\r\n icons: { CameraCaptureIcon, CameraDeleteIcon, CameraRotateIcon },\r\n },\r\n theme: { isDark: dark, slotOverrides: slotClasses },\r\n } = useCameraUploader()\r\n\r\n return (\r\n <SourceViewContainer data-upup-slot=\"camera-uploader\">\r\n <div\r\n data-testid=\"upup-camera-uploader\"\r\n className=\"upup-flex upup-h-full upup-w-full upup-flex-col upup-justify-center upup-overflow-hidden upup-px-3 upup-py-2\"\r\n >\r\n <div className=\"upup-flex upup-min-h-0 upup-flex-1 upup-items-center upup-justify-center upup-pt-2\">\r\n {!!url && (\r\n <div\r\n className={cn(\r\n 'upup-relative upup-aspect-video upup-max-h-full upup-max-w-full upup-bg-black/[0.025] upup-bg-contain upup-bg-center upup-bg-no-repeat upup-shadow-xl',\r\n {\r\n 'upup-bg-white/5 dark:upup-bg-white/5':\r\n dark,\r\n },\r\n slotClasses.cameraPreviewContainer,\r\n )}\r\n style={{ backgroundImage: `url(${url})` }}\r\n >\r\n <button\r\n onClick={clearUrl}\r\n className={cn(\r\n 'upup-absolute upup--right-2 upup--top-2 upup-z-10 upup-rounded-full upup-bg-[#272727] upup-p-1 upup-text-xl upup-text-[#f5f5f5]',\r\n slotClasses.cameraDeleteButton,\r\n )}\r\n type=\"button\"\r\n >\r\n <CameraDeleteIcon />\r\n </button>\r\n </div>\r\n )}\r\n\r\n {!url && (\r\n <Webcam\r\n audio={false}\r\n ref={webcamRef}\r\n screenshotFormat=\"image/jpeg\"\r\n videoConstraints={{ facingMode }}\r\n className=\"upup-aspect-video upup-max-h-full upup-max-w-full upup-rounded-xl upup-object-contain\"\r\n />\r\n )}\r\n </div>\r\n <div className=\"upup-flex upup-shrink-0 upup-gap-4\">\r\n {!url && (\r\n <>\r\n <button\r\n className={cn(\r\n 'upup-mt-2 upup-flex upup-w-1/3 upup-flex-col upup-items-center upup-justify-center upup-rounded-md upup-bg-[#0ea5e9] upup-p-2 upup-text-white upup-transition-all upup-duration-300',\r\n {\r\n 'upup-bg-[#38bdf8] dark:upup-bg-[#38bdf8]':\r\n dark,\r\n },\r\n slotClasses.cameraCaptureButton,\r\n )}\r\n onClick={capture}\r\n type=\"button\"\r\n >\r\n <span>\r\n <CameraCaptureIcon />\r\n </span>\r\n <span>{tr.capture}</span>\r\n </button>\r\n <button\r\n className={cn(\r\n 'upup-mt-2 upup-flex upup-w-1/3 upup-flex-col upup-items-center upup-rounded-md upup-bg-gray-500 upup-p-2 upup-text-white upup-transition-all upup-duration-300 hover:upup-bg-gray-600',\r\n slotClasses.cameraRotateButton,\r\n )}\r\n onClick={handleCameraSwitch}\r\n type=\"button\"\r\n >\r\n <span>\r\n <CameraRotateIcon />\r\n </span>\r\n <span>\r\n {t(tr.switchToCamera, {\r\n side:\r\n newCameraSide === 'front'\r\n ? tr.front\r\n : tr.back,\r\n })}\r\n </span>\r\n </button>\r\n </>\r\n )}\r\n {!!url && (\r\n <button\r\n className={cn(\r\n 'upup-mt-2 upup-w-full upup-rounded-md upup-bg-[#0ea5e9] upup-p-2 upup-text-white upup-transition-all upup-duration-300',\r\n {\r\n 'upup-bg-[#38bdf8] dark:upup-bg-[#38bdf8]':\r\n dark,\r\n },\r\n slotClasses.cameraAddButton,\r\n )}\r\n onClick={handleFetchImage}\r\n type=\"button\"\r\n >\r\n {tr.addImage}\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n </SourceViewContainer>\r\n )\r\n}\r\n","import { MouseEventHandler, RefObject, useRef, useState } from 'react'\r\nimport Webcam from 'react-webcam'\r\nimport {\r\n useUploaderFiles,\r\n useUploaderI18n,\r\n useUploaderOptions,\r\n useUploaderRuntime,\r\n useUploaderSource,\r\n useUploaderTheme,\r\n type ContextI18n,\r\n type ContextProps,\r\n type ContextTheme,\r\n} from '../context/UploaderContext'\r\nimport useFetchFileByUrl from './useFetchFileByUrl'\r\n\r\nexport enum FacingMode {\r\n Environment = 'environment',\r\n User = 'user',\r\n}\r\n\r\nexport default function useCameraUploader(): {\r\n url: string\r\n webcamRef: RefObject<Webcam | null>\r\n facingMode: FacingMode\r\n capture: () => void\r\n handleFetchImage: MouseEventHandler<HTMLButtonElement>\r\n clearUrl: () => void\r\n handleCameraSwitch: () => void\r\n newCameraSide: string\r\n translations: ContextI18n['translations']\r\n props: ContextProps\r\n theme: ContextTheme\r\n} {\r\n const { core } = useUploaderRuntime()\r\n const { setFiles } = useUploaderFiles()\r\n const { setActiveSource } = useUploaderSource()\r\n const { translations } = useUploaderI18n()\r\n const props = useUploaderOptions()\r\n const theme = useUploaderTheme()\r\n const { fetchImage } = useFetchFileByUrl()\r\n const webcamRef = useRef<Webcam>(null)\r\n const [url, setUrl] = useState('')\r\n const [facingMode, setFacingMode] = useState<FacingMode>(\r\n FacingMode.Environment,\r\n )\r\n const newCameraSide =\r\n facingMode === FacingMode.Environment ? 'front' : 'back'\r\n const clearUrl = () => {\r\n setUrl('')\r\n }\r\n\r\n const capture = () => {\r\n const url = webcamRef.current?.getScreenshot()\r\n if (!url) return\r\n\r\n setUrl(url)\r\n core?.emit('camera-capture', { dataUrl: url })\r\n }\r\n\r\n const handleFetchImage: MouseEventHandler<HTMLButtonElement> = () => {\r\n void (async () => {\r\n const file = await fetchImage(url)\r\n if (file) {\r\n setFiles([file])\r\n setUrl('')\r\n setActiveSource(undefined)\r\n core?.emit('camera-confirm', { file })\r\n }\r\n })()\r\n }\r\n\r\n const handleCameraSwitch = () => {\r\n setFacingMode(prevState =>\r\n prevState === FacingMode.Environment\r\n ? FacingMode.User\r\n : FacingMode.Environment,\r\n )\r\n }\r\n\r\n return {\r\n url,\r\n webcamRef,\r\n facingMode,\r\n capture,\r\n handleFetchImage,\r\n clearUrl,\r\n handleCameraSwitch,\r\n newCameraSide,\r\n translations,\r\n props,\r\n theme,\r\n }\r\n}\r\n"],"mappings":"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","names":["url"]}
@@ -0,0 +1,174 @@
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/useDropbox.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 useDropbox() {
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.DROPBOX_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
+ dropboxFiles: state.folder,
83
+ logout: () => controller == null ? void 0 : controller.signOut(),
84
+ authenticate: () => controller == null ? void 0 : controller.signIn(),
85
+ // 'active' is a presence sentinel the component checks via `!token`; the real
86
+ // token lives in state.token and is intentionally not surfaced here.
87
+ token: state.isAuthenticated ? "active" : void 0,
88
+ isAuthenticated: state.isAuthenticated,
89
+ isLoading: state.isLoading,
90
+ path: state.path,
91
+ setPath,
92
+ isClickLoading: state.isClickLoading,
93
+ handleClick: (file) => controller == null ? void 0 : controller.handleClick(file),
94
+ selectedFiles: state.selectedFiles,
95
+ showLoader: state.showLoader,
96
+ handleSubmit: () => {
97
+ var _a2;
98
+ return (_a2 = controller == null ? void 0 : controller.handleSubmit()) != null ? _a2 : Promise.resolve();
99
+ },
100
+ handleCancelDownload: () => {
101
+ controller == null ? void 0 : controller.handleCancelDownload();
102
+ },
103
+ onSelectCurrentFolder: () => {
104
+ var _a2;
105
+ return (_a2 = controller == null ? void 0 : controller.onSelectCurrentFolder()) != null ? _a2 : Promise.resolve();
106
+ },
107
+ error: state.error,
108
+ hasMore: state.hasMore,
109
+ isLoadingMore: state.isLoadingMore,
110
+ loadMore: () => {
111
+ var _a2;
112
+ return (_a2 = controller == null ? void 0 : controller.loadMore()) != null ? _a2 : Promise.resolve();
113
+ }
114
+ };
115
+ }
116
+
117
+ // src/components/DropboxUploader.tsx
118
+ var _jsxruntime = require('react/jsx-runtime');
119
+ function DropboxUploader() {
120
+ const { mode } = _chunkIG62MHVQcjs.useUploaderRuntime.call(void 0, );
121
+ const { setActiveSource } = _chunkIG62MHVQcjs.useUploaderSource.call(void 0, );
122
+ if (mode === "server") {
123
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
124
+ _chunkL3E5OMY7cjs.ServerModeDriveUploader,
125
+ {
126
+ provider: "dropbox",
127
+ onBack: () => {
128
+ setActiveSource(void 0);
129
+ }
130
+ }
131
+ );
132
+ }
133
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ClientDropboxUploader, {});
134
+ }
135
+ function ClientDropboxUploader() {
136
+ const {
137
+ user,
138
+ dropboxFiles: driveFiles,
139
+ logout,
140
+ token,
141
+ isAuthenticated,
142
+ authenticate,
143
+ isLoading,
144
+ ...uploaderProps
145
+ } = useDropbox();
146
+ const handleSignOut = async () => {
147
+ logout();
148
+ return Promise.resolve();
149
+ };
150
+ if (!isAuthenticated && !token && !isLoading) {
151
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
152
+ _chunkL3E5OMY7cjs.DriveAuthFallback,
153
+ {
154
+ providerName: "Dropbox",
155
+ onRetry: authenticate,
156
+ "data-upup-slot": "dropbox-uploader"
157
+ }
158
+ );
159
+ }
160
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
161
+ _chunkL3E5OMY7cjs.DriveBrowser,
162
+ {
163
+ driveFiles,
164
+ user,
165
+ handleSignOut,
166
+ "data-upup-slot": "dropbox-uploader",
167
+ ...uploaderProps
168
+ }
169
+ );
170
+ }
171
+
172
+
173
+ exports.default = DropboxUploader;
174
+ //# sourceMappingURL=DropboxUploader-INTOYHJP.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["c:\\Users\\amind\\OneDrive\\Desktop\\Projects\\INTERNAL\\upup\\packages\\react\\dist\\DropboxUploader-INTOYHJP.cjs"],"names":[],"mappings":"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","file":"C:\\Users\\amind\\OneDrive\\Desktop\\Projects\\INTERNAL\\upup\\packages\\react\\dist\\DropboxUploader-INTOYHJP.cjs","sourcesContent":[null]}