ultra-image-uploader 0.0.2 → 1.0.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 (46) hide show
  1. package/README.md +408 -55
  2. package/dist/components/ImageUploader.d.ts +58 -4
  3. package/dist/components/ImageUploader.d.ts.map +1 -0
  4. package/dist/components/ImageUploader.js +203 -13
  5. package/dist/components/ImageUploader.js.map +1 -0
  6. package/dist/index.d.ts +10 -3
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +12 -1
  9. package/dist/index.js.map +1 -0
  10. package/dist/providers/BaseProvider.d.ts +19 -0
  11. package/dist/providers/BaseProvider.d.ts.map +1 -0
  12. package/dist/providers/BaseProvider.js +48 -0
  13. package/dist/providers/BaseProvider.js.map +1 -0
  14. package/dist/providers/CloudinaryProvider.d.ts +17 -0
  15. package/dist/providers/CloudinaryProvider.d.ts.map +1 -0
  16. package/dist/providers/CloudinaryProvider.js +123 -0
  17. package/dist/providers/CloudinaryProvider.js.map +1 -0
  18. package/dist/providers/ImgBBProvider.d.ts +13 -0
  19. package/dist/providers/ImgBBProvider.d.ts.map +1 -0
  20. package/dist/providers/ImgBBProvider.js +68 -0
  21. package/dist/providers/ImgBBProvider.js.map +1 -0
  22. package/dist/providers/index.d.ts +20 -0
  23. package/dist/providers/index.d.ts.map +1 -0
  24. package/dist/providers/index.js +36 -0
  25. package/dist/providers/index.js.map +1 -0
  26. package/dist/types/index.d.ts +67 -0
  27. package/dist/types/index.d.ts.map +1 -0
  28. package/dist/types/index.js +5 -0
  29. package/dist/types/index.js.map +1 -0
  30. package/dist/utils/imageUpload.d.ts +1 -0
  31. package/dist/utils/imageUpload.d.ts.map +1 -0
  32. package/dist/utils/imageUpload.js +1 -0
  33. package/dist/utils/imageUpload.js.map +1 -0
  34. package/dist/utils/upload.d.ts +49 -0
  35. package/dist/utils/upload.d.ts.map +1 -0
  36. package/dist/utils/upload.js +62 -0
  37. package/dist/utils/upload.js.map +1 -0
  38. package/dist/utils/validation.d.ts +11 -0
  39. package/dist/utils/validation.d.ts.map +1 -0
  40. package/dist/utils/validation.js +125 -0
  41. package/dist/utils/validation.js.map +1 -0
  42. package/package.json +51 -15
  43. package/src/components/ImageUploader.tsx +0 -115
  44. package/src/index.ts +0 -4
  45. package/src/utils/imageUpload.ts +0 -56
  46. package/tsconfig.json +0 -17
@@ -1,56 +0,0 @@
1
- export interface ImageBBResponse {
2
- success: boolean;
3
- data: {
4
- url: string;
5
- };
6
-
7
- }
8
- export interface ImageBBUrlResult {
9
- urls: string[];
10
- }
11
- const uploadImageToImageBB = async (
12
- imageFile: File,
13
- apiKey: string
14
- ): Promise<string | null> => {
15
- const formData = new FormData();
16
- formData.append("image", imageFile);
17
-
18
- try {
19
- const response = await fetch(
20
- `https://api.imgbb.com/1/upload?key=${apiKey}`,
21
- {
22
- method: "POST",
23
- body: formData,
24
- }
25
- );
26
-
27
- const data: ImageBBResponse = await response.json();
28
-
29
- if (data.success) {
30
- return data.data.url;
31
- } else {
32
- throw new Error("Image upload failed");
33
- }
34
- } catch (error) {
35
- console.error("Error uploading image:", error);
36
- alert("❌ Failed to upload image. Please try again.");
37
- return null;
38
- }
39
- };
40
-
41
- export const uploadImagesToImageBB = async (
42
- images: File[],
43
- apiKey: string
44
- ): Promise<ImageBBUrlResult> => {
45
- const imageURLs = (
46
- await Promise.all(images.map((image) => uploadImageToImageBB(image, apiKey)))
47
- ).filter((url): url is string => url !== null);
48
-
49
- if (imageURLs.length === 0) {
50
- throw new Error("Failed to upload images");
51
- }
52
-
53
- return {
54
- urls: imageURLs,
55
- };
56
- };
package/tsconfig.json DELETED
@@ -1,17 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "outDir": "./dist",
4
- "rootDir": "./src",
5
- "esModuleInterop": true,
6
- "module": "ESNext",
7
- "moduleResolution": "Node",
8
- "target": "ESNext",
9
- "lib": ["DOM", "ESNext", "DOM.Iterable"],
10
- "declaration": true,
11
- "declarationDir": "./dist",
12
- "jsx": "react-jsx",
13
- "strict": true,
14
- "resolveJsonModule": true,
15
- }
16
-
17
- }