From 7de49ebb08ec38ea3102ed09917f3d3c21f995c0 Mon Sep 17 00:00:00 2001
From: hanif salafi
Date: Thu, 2 Jan 2025 10:32:38 +0700
Subject: [PATCH 1/4] feat: add file upload in content image
---
components/form/content/image-form.tsx | 69 ++++++++++++++++----------
1 file changed, 44 insertions(+), 25 deletions(-)
diff --git a/components/form/content/image-form.tsx b/components/form/content/image-form.tsx
index 8e8edb02..998cf17f 100644
--- a/components/form/content/image-form.tsx
+++ b/components/form/content/image-form.tsx
@@ -10,7 +10,7 @@ import * as z from "zod";
import { Upload } from 'tus-js-client';
import Swal from "sweetalert2";
import withReactContent from "sweetalert2-react-content";
-import { useRouter } from "next/navigation";
+import { redirect, useRouter } from "next/navigation";
import {
Select,
SelectContent,
@@ -52,7 +52,7 @@ import { useDropzone } from "react-dropzone";
import { Icon } from "@iconify/react";
import { CloudUpload } from "lucide-react";
import Image from "next/image";
-import { error } from "@/config/swal";
+import { error, loading } from "@/config/swal";
import { Item } from "@radix-ui/react-dropdown-menu";
interface FileWithPreview extends File {
@@ -111,7 +111,8 @@ export default function FormImage() {
});
let fileTypeId = "1";
- let progressInfo = [];
+ let progressInfo: any = [];
+ let counterUpdateProgress = 0;
const [progressList, setProgressList] = useState([]);
let uploadPersen = 0;
const [isStartUpload, setIsStartUpload] = useState(false);
@@ -344,6 +345,7 @@ export default function FormImage() {
};
const save = async (data: ImageSchema) => {
+ loading();
const finalTitle = isSwitchOn ? title : data.title;
const requestData = {
...data,
@@ -413,17 +415,7 @@ export default function FormImage() {
Cookies.remove('idCreate');
- MySwal.fire("Sukses", "Data berhasil disimpan.", "success");
-
- MySwal.fire({
- title: "Sukses",
- text: "Data berhasil disimpan.",
- icon: "success",
- confirmButtonColor: "#3085d6",
- confirmButtonText: "OK",
- }).then(() => {
- // router.push("/en/contributor/content/image");
- });
+ // MySwal.fire("Sukses", "Data berhasil disimpan.", "success");
};
// function showProgress() {
@@ -465,32 +457,59 @@ export default function FormImage() {
filename: file.name,
filetype: file.type,
duration,
- isWatermark: true, // hardcode
+ isWatermark: 'true', // hardcode
},
onError: async (e: any) => {
console.log('Error upload :', e);
error(e);
},
onChunkComplete: (chunkSize: any, bytesAccepted: any, bytesTotal: any) => {
- // const uploadPersen = Math.floor((bytesAccepted / bytesTotal) * 100);
- // progressInfo[idx].percentage = uploadPersen;
- // counterUpdateProgress++;
- // // console.log(counterUpdateProgress);
- // setProgressList(progressInfo);
- // setCounterProgress(counterUpdateProgress);
+ const uploadPersen = Math.floor((bytesAccepted / bytesTotal) * 100);
+ progressInfo[idx].percentage = uploadPersen;
+ counterUpdateProgress++;
+ console.log(counterUpdateProgress);
+ setProgressList(progressInfo);
+ setCounterProgress(counterUpdateProgress);
},
onSuccess: async () => {
uploadPersen = 100;
- // progressInfo[idx].percentage = 100;
- // counterUpdateProgress++;
- // setCounterProgress(counterUpdateProgress);
- // successTodo();
+ progressInfo[idx].percentage = 100;
+ counterUpdateProgress++;
+ setCounterProgress(counterUpdateProgress);
+ successTodo();
},
});
upload.start();
}
+ const successSubmit = (redirect: string) => {
+ MySwal.fire({
+ title: "Sukses",
+ text: "Data berhasil disimpan.",
+ icon: "success",
+ confirmButtonColor: "#3085d6",
+ confirmButtonText: "OK",
+ }).then(() => {
+ router.push(redirect);
+ });
+ }
+
+ function successTodo() {
+ let counter = 0;
+ for (const element of progressInfo) {
+ if (element.percentage == 100) {
+ counter++;
+ }
+ }
+ if (counter == progressInfo.length) {
+ setIsStartUpload(false);
+ // hideProgress();
+ Cookies.remove('idCreate');
+ successSubmit("/in/contributor/content/image/");
+ }
+ }
+
const handleImageChange = (e: React.ChangeEvent) => {
const file = e.target.files?.[0];
if (file) {
From a6a8bca7ce3caba1098d81423663733e696f5ada Mon Sep 17 00:00:00 2001
From: hanif salafi
Date: Thu, 2 Jan 2025 11:00:27 +0700
Subject: [PATCH 2/4] feat: add preview in detail image
---
components/form/content/image-detail-form.tsx | 91 ++++++++++++++++++-
1 file changed, 90 insertions(+), 1 deletion(-)
diff --git a/components/form/content/image-detail-form.tsx b/components/form/content/image-detail-form.tsx
index ae78ece7..b9545af0 100644
--- a/components/form/content/image-detail-form.tsx
+++ b/components/form/content/image-detail-form.tsx
@@ -79,9 +79,10 @@ export default function FormImageDetail() {
const [categories, setCategories] = useState([]);
const [selectedCategory, setSelectedCategory] = useState();
const [tags, setTags] = useState([]);
- const [detail, setDetail] = useState();
+ const [detail, setDetail] = useState();
const [refresh, setRefresh] = useState(false);
const [selectedPublishers, setSelectedPublishers] = useState([]);
+ const [main, setMain] = useState([]);
const [selectedTarget, setSelectedTarget] = useState("");
const [unitSelection, setUnitSelection] = useState({
@@ -175,6 +176,12 @@ export default function FormImageDetail() {
const details = response.data?.data;
setDetail(details);
+ setMain({
+ type: details?.fileType.name,
+ url: details?.files[0]?.url,
+ names: details?.files[0]?.fileName,
+ format: details?.files[0]?.format,
+ });
if (details.publishedForObject) {
const publisherIds = details.publishedForObject.map(
@@ -245,6 +252,18 @@ export default function FormImageDetail() {
});
};
+ const handleMain = (type: string, url: string, names: string, format: string) => {
+ console.log("Test 3 :", type, url, names, format);
+ setMain({
+ type,
+ url,
+ names,
+ format,
+ });
+ return false;
+ };
+
+
return (
)}
+
+
+
+ {/* Preview Image */}
+
+

+
+
+ {/* Thumbnail Container with Navigation */}
+
+ {/* Scroll Left Button */}
+ {/*
*/}
+
+ {/* Scrollable Thumbnail Container */}
+
+
+ {detail?.files?.map((list: any, index: number) => (
+
+ ))}
+
+
+
+ {/* Scroll Right Button */}
+ {/*
*/}
+
+
From 0fc38f879ea26f79488eae5560b2ce71c4857e30 Mon Sep 17 00:00:00 2001
From: hanif salafi
Date: Thu, 2 Jan 2025 11:00:46 +0700
Subject: [PATCH 3/4] feat: fixing error
---
components/form/content/image-detail-form.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/form/content/image-detail-form.tsx b/components/form/content/image-detail-form.tsx
index b9545af0..6caa44f6 100644
--- a/components/form/content/image-detail-form.tsx
+++ b/components/form/content/image-detail-form.tsx
@@ -450,7 +450,7 @@ export default function FormImageDetail() {
- {detail?.tags?.split(",").map((tag, index) => (
+ {detail?.tags?.split(",").map((tag: string, index: number) => (
Date: Thu, 2 Jan 2025 11:02:03 +0700
Subject: [PATCH 4/4] feat: update pnpm lockfile
---
pnpm-lock.yaml | 129 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 129 insertions(+)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a72f02cb..9b499e23 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -374,6 +374,9 @@ importers:
tailwindcss-animate:
specifier: ^1.0.7
version: 1.0.7(tailwindcss@3.4.17)
+ tus-js-client:
+ specifier: ^4.2.3
+ version: 4.2.3
use-places-autocomplete:
specifier: ^4.0.1
version: 4.0.1(react@18.3.1)
@@ -2144,6 +2147,9 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
+ buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+
busboy@1.6.0:
resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
engines: {node: '>=10.16.0'}
@@ -2257,6 +2263,9 @@ packages:
resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
engines: {node: '>=12.5.0'}
+ combine-errors@3.0.3:
+ resolution: {integrity: sha512-C8ikRNRMygCwaTx+Ek3Yr+OuZzgZjduCOfSQBjbM8V3MfgcjSTeto/GXP6PAwKvJz/v15b7GHZvx5rOlczFw/Q==}
+
combined-stream@1.0.8:
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
engines: {node: '>= 0.8'}
@@ -2320,6 +2329,9 @@ packages:
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+ custom-error-instance@2.1.1:
+ resolution: {integrity: sha512-p6JFxJc3M4OTD2li2qaHkDCw9SfMw82Ldr6OC9Je1aXiGfhx2W8p3GaoeaGrPJTUN9NirTM/KTxHWMUdR1rsUg==}
+
cytoscape-cose-bilkent@4.1.0:
resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==}
peerDependencies:
@@ -3394,6 +3406,10 @@ packages:
resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
engines: {node: '>=0.10.0'}
+ is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+
is-string@1.1.1:
resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
engines: {node: '>= 0.4'}
@@ -3466,6 +3482,9 @@ packages:
jquery@2.2.4:
resolution: {integrity: sha512-lBHj60ezci2u1v2FqnZIraShGgEXq35qCzMv4lITyHGppTnA13rwR0MgwyNJh9TnDs3aXUvd1xjAotfraMHX/Q==}
+ js-base64@3.7.7:
+ resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==}
+
js-cookie@3.0.5:
resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==}
engines: {node: '>=14'}
@@ -3573,6 +3592,24 @@ packages:
lodash-es@4.17.21:
resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
+ lodash._baseiteratee@4.7.0:
+ resolution: {integrity: sha512-nqB9M+wITz0BX/Q2xg6fQ8mLkyfF7MU7eE+MNBNjTHFKeKaZAPEzEg+E8LWxKWf1DQVflNEn9N49yAuqKh2mWQ==}
+
+ lodash._basetostring@4.12.0:
+ resolution: {integrity: sha512-SwcRIbyxnN6CFEEK4K1y+zuApvWdpQdBHM/swxP962s8HIxPO3alBH5t3m/dl+f4CMUug6sJb7Pww8d13/9WSw==}
+
+ lodash._baseuniq@4.6.0:
+ resolution: {integrity: sha512-Ja1YevpHZctlI5beLA7oc5KNDhGcPixFhcqSiORHNsp/1QTv7amAXzw+gu4YOvErqVlMVyIJGgtzeepCnnur0A==}
+
+ lodash._createset@4.0.3:
+ resolution: {integrity: sha512-GTkC6YMprrJZCYU3zcqZj+jkXkrXzq3IPBcF/fIPpNEAB4hZEtXU8zp/RwKOvZl43NUmwDbyRk3+ZTbeRdEBXA==}
+
+ lodash._root@3.0.1:
+ resolution: {integrity: sha512-O0pWuFSK6x4EXhM1dhZ8gchNtG7JMqBtrHdoUFUWXD7dJnNSUze1GuyQr5sOs0aCvgGeI3o/OJW8f4ca7FDxmQ==}
+
+ lodash._stringtopath@4.8.0:
+ resolution: {integrity: sha512-SXL66C731p0xPDC5LZg4wI5H+dJo/EO4KTqOMwLYCH3+FmmfAKJEZCm6ohGpI+T1xwsDsJCfL4OnhorllvlTPQ==}
+
lodash.clonedeep@4.5.0:
resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==}
@@ -3588,6 +3625,12 @@ packages:
lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+ lodash.throttle@4.1.1:
+ resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
+
+ lodash.uniqby@4.5.0:
+ resolution: {integrity: sha512-IRt7cfTtHy6f1aRVA5n7kT8rgN3N1nH6MOWLcHfpWG2SH19E3JksLK38MktLxZDhlAjCP9jpIXkOnRXlu6oByQ==}
+
lodash@2.4.2:
resolution: {integrity: sha512-Kak1hi6/hYHGVPmdyiZijoQyz5x2iGVzs6w9GYB/HiXEtylY7tIoYEROMjvM1d9nXJqPOrG2MNPMn01bJ+S0Rw==}
engines: {'0': node, '1': rhino}
@@ -4208,6 +4251,9 @@ packages:
prop-types@15.8.1:
resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+ proper-lockfile@4.1.2:
+ resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==}
+
property-expr@2.0.6:
resolution: {integrity: sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==}
@@ -4234,6 +4280,9 @@ packages:
resolution: {integrity: sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==}
engines: {node: '>=0.6'}
+ querystringify@2.2.0:
+ resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
+
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@@ -4549,6 +4598,9 @@ packages:
remove-accents@0.5.0:
resolution: {integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==}
+ requires-port@1.0.0:
+ resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+
resize-observer-polyfill@1.5.1:
resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
@@ -4572,6 +4624,10 @@ packages:
resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
hasBin: true
+ retry@0.12.0:
+ resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==}
+ engines: {node: '>= 4'}
+
reusify@1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
@@ -4977,6 +5033,10 @@ packages:
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+ tus-js-client@4.2.3:
+ resolution: {integrity: sha512-UkQUCeDWKh5AwArcasIJWcL5EP66XPypKQtsdPu82wNnTea8eAUHdpDx3DcfZgDERAiCII895zMYkXri4M1wzw==}
+ engines: {node: '>=18'}
+
type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
@@ -5084,6 +5144,9 @@ packages:
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ url-parse@1.5.10:
+ resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
+
use-callback-ref@1.3.3:
resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
engines: {node: '>=10'}
@@ -7023,6 +7086,8 @@ snapshots:
dependencies:
fill-range: 7.1.1
+ buffer-from@1.1.2: {}
+
busboy@1.6.0:
dependencies:
streamsearch: 1.1.0
@@ -7144,6 +7209,11 @@ snapshots:
color-convert: 2.0.1
color-string: 1.9.1
+ combine-errors@3.0.3:
+ dependencies:
+ custom-error-instance: 2.1.1
+ lodash.uniqby: 4.5.0
+
combined-stream@1.0.8:
dependencies:
delayed-stream: 1.0.0
@@ -7198,6 +7268,8 @@ snapshots:
csstype@3.1.3: {}
+ custom-error-instance@2.1.1: {}
+
cytoscape-cose-bilkent@4.1.0(cytoscape@3.30.4):
dependencies:
cose-base: 1.0.3
@@ -8496,6 +8568,8 @@ snapshots:
is-stream@1.1.0: {}
+ is-stream@2.0.1: {}
+
is-string@1.1.1:
dependencies:
call-bound: 1.0.3
@@ -8568,6 +8642,8 @@ snapshots:
jquery@2.2.4: {}
+ js-base64@3.7.7: {}
+
js-cookie@3.0.5: {}
js-tokens@4.0.0: {}
@@ -8657,6 +8733,25 @@ snapshots:
lodash-es@4.17.21: {}
+ lodash._baseiteratee@4.7.0:
+ dependencies:
+ lodash._stringtopath: 4.8.0
+
+ lodash._basetostring@4.12.0: {}
+
+ lodash._baseuniq@4.6.0:
+ dependencies:
+ lodash._createset: 4.0.3
+ lodash._root: 3.0.1
+
+ lodash._createset@4.0.3: {}
+
+ lodash._root@3.0.1: {}
+
+ lodash._stringtopath@4.8.0:
+ dependencies:
+ lodash._basetostring: 4.12.0
+
lodash.clonedeep@4.5.0: {}
lodash.debounce@4.0.8: {}
@@ -8667,6 +8762,13 @@ snapshots:
lodash.merge@4.6.2: {}
+ lodash.throttle@4.1.1: {}
+
+ lodash.uniqby@4.5.0:
+ dependencies:
+ lodash._baseiteratee: 4.7.0
+ lodash._baseuniq: 4.6.0
+
lodash@2.4.2: {}
lodash@4.17.21: {}
@@ -9603,6 +9705,12 @@ snapshots:
object-assign: 4.1.1
react-is: 16.13.1
+ proper-lockfile@4.1.2:
+ dependencies:
+ graceful-fs: 4.2.11
+ retry: 0.12.0
+ signal-exit: 3.0.7
+
property-expr@2.0.6: {}
property-information@5.6.0:
@@ -9623,6 +9731,8 @@ snapshots:
dependencies:
side-channel: 1.1.0
+ querystringify@2.2.0: {}
+
queue-microtask@1.2.3: {}
quill-delta@5.1.0:
@@ -10029,6 +10139,8 @@ snapshots:
remove-accents@0.5.0: {}
+ requires-port@1.0.0: {}
+
resize-observer-polyfill@1.5.1: {}
resolve-from@4.0.0: {}
@@ -10049,6 +10161,8 @@ snapshots:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
+ retry@0.12.0: {}
+
reusify@1.0.4: {}
rich-text@1.0.3:
@@ -10502,6 +10616,16 @@ snapshots:
tslib@2.8.1: {}
+ tus-js-client@4.2.3:
+ dependencies:
+ buffer-from: 1.1.2
+ combine-errors: 3.0.3
+ is-stream: 2.0.1
+ js-base64: 3.7.7
+ lodash.throttle: 4.1.1
+ proper-lockfile: 4.1.2
+ url-parse: 1.5.10
+
type-check@0.4.0:
dependencies:
prelude-ls: 1.2.1
@@ -10656,6 +10780,11 @@ snapshots:
dependencies:
punycode: 2.3.1
+ url-parse@1.5.10:
+ dependencies:
+ querystringify: 2.2.0
+ requires-port: 1.0.0
+
use-callback-ref@1.3.3(@types/react@18.3.18)(react@18.3.1):
dependencies:
react: 18.3.1