@solostylist/image-editor 1.0.20 → 1.0.22

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 (53) hide show
  1. package/lib/components/app/index.d.ts.map +1 -1
  2. package/lib/components/app/index.js +16 -20
  3. package/lib/components/feedback-popup/index.d.ts.map +1 -1
  4. package/lib/components/feedback-popup/index.js +1 -1
  5. package/lib/components/main-canvas/image-context-menu.d.ts +13 -0
  6. package/lib/components/main-canvas/image-context-menu.d.ts.map +1 -0
  7. package/lib/components/main-canvas/image-context-menu.js +108 -0
  8. package/lib/components/main-canvas/index.d.ts.map +1 -1
  9. package/lib/components/main-canvas/index.js +84 -3
  10. package/lib/components/tabs/index.d.ts.map +1 -1
  11. package/lib/components/tabs/index.js +51 -80
  12. package/lib/components/tabs/nav-items.d.ts +6 -0
  13. package/lib/components/tabs/nav-items.d.ts.map +1 -0
  14. package/lib/components/tabs/nav-items.js +19 -0
  15. package/lib/components/tabs/tab-nav-link.d.ts +5 -0
  16. package/lib/components/tabs/tab-nav-link.d.ts.map +1 -0
  17. package/lib/components/tabs/tab-nav-link.js +27 -0
  18. package/lib/components/tools/image/image-options.d.ts.map +1 -1
  19. package/lib/components/tools/image/image-options.js +2 -1
  20. package/lib/components/tools/watermark/watermark.d.ts.map +1 -1
  21. package/lib/components/tools/watermark/watermark.js +5 -2
  22. package/lib/components/tools-bar/tools-bar-item-button.d.ts.map +1 -1
  23. package/lib/components/tools-bar/tools-bar-item-button.js +6 -2
  24. package/lib/context/default-config.d.ts.map +1 -1
  25. package/lib/context/default-config.js +3 -1
  26. package/lib/context/default-translations.d.ts.map +1 -1
  27. package/lib/context/default-translations.js +61 -29
  28. package/lib/hooks/index.d.ts +1 -0
  29. package/lib/hooks/index.d.ts.map +1 -1
  30. package/lib/hooks/index.js +2 -1
  31. package/lib/hooks/use-feedback-handler.d.ts +11 -0
  32. package/lib/hooks/use-feedback-handler.d.ts.map +1 -0
  33. package/lib/hooks/use-feedback-handler.js +43 -0
  34. package/lib/hooks/use-image-editor-actions.d.ts.map +1 -1
  35. package/lib/hooks/use-image-editor-actions.js +6 -11
  36. package/lib/hooks/use-transformed-img-data.d.ts +1 -1
  37. package/lib/hooks/use-transformed-img-data.d.ts.map +1 -1
  38. package/lib/hooks/use-transformed-img-data.js +6 -3
  39. package/lib/types/actions.d.ts +1 -0
  40. package/lib/types/actions.d.ts.map +1 -1
  41. package/lib/types/annotations.d.ts +1 -0
  42. package/lib/types/annotations.d.ts.map +1 -1
  43. package/lib/types/config.d.ts +4 -0
  44. package/lib/types/config.d.ts.map +1 -1
  45. package/lib/types/state.d.ts +1 -1
  46. package/lib/types/state.d.ts.map +1 -1
  47. package/lib/utils/constants.d.ts +2 -0
  48. package/lib/utils/constants.d.ts.map +1 -1
  49. package/lib/utils/constants.js +2 -0
  50. package/lib/utils/file.d.ts +4 -0
  51. package/lib/utils/file.d.ts.map +1 -0
  52. package/lib/utils/file.js +110 -0
  53. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,EAAE,MAAmB,CAAC;AAC5D,eAAO,MAAM,eAAe,EAAE,MAA2B,CAAC;AAC1D,eAAO,MAAM,qBAAqB,EAAE,MAAiC,CAAC;AACtE,eAAO,MAAM,aAAa,EAAE,MAA6B,CAAC;AAC1D,eAAO,MAAM,oBAAoB,EAAE,MAAgC,CAAC;AAEpE,eAAO,MAAM,uBAAuB,EAAE,MAAoB,CAAC;AAE3D,eAAO,MAAM,oBAAoB,EAAE,MAAa,CAAC;AAEjD,eAAO,MAAM,QAAQ;;;;;;;CAOX,CAAC;AAEX,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;CAyBZ,CAAC;AAEX,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,eAAO,MAAM,mBAAmB,EAAE,MAAU,CAAC;AAE7C,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAKzC,CAAC;AACX,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAMxC,CAAC;AAEX,eAAO,MAAM,kBAAkB,EAAE,MAAiC,CAAC;AAEnE,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAEX,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAS3C,CAAC;AAEX,eAAO,MAAM,aAAa,EAAE,MAAe,CAAC;AAC5C,eAAO,MAAM,WAAW,EAAE,MAAiB,CAAC;AAC5C,eAAO,MAAM,YAAY,EAAE,MAAkB,CAAC;AAE9C,eAAO,MAAM,SAAS;;;;;;;;;;CAUZ,CAAC;AAEX,eAAO,MAAM,QAAQ;;;CAGX,CAAC;AAEX,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,EAAE,MAAmB,CAAC;AAC5D,eAAO,MAAM,eAAe,EAAE,MAA2B,CAAC;AAC1D,eAAO,MAAM,qBAAqB,EAAE,MAAiC,CAAC;AACtE,eAAO,MAAM,aAAa,EAAE,MAA6B,CAAC;AAC1D,eAAO,MAAM,oBAAoB,EAAE,MAAgC,CAAC;AAEpE,eAAO,MAAM,uBAAuB,EAAE,MAAoB,CAAC;AAE3D,eAAO,MAAM,oBAAoB,EAAE,MAAa,CAAC;AAEjD,eAAO,MAAM,QAAQ;;;;;;;CAOX,CAAC;AAEX,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;CAyBZ,CAAC;AAEX,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX,eAAO,MAAM,mBAAmB,EAAE,MAAU,CAAC;AAE7C,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAKzC,CAAC;AACX,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAMxC,CAAC;AAEX,eAAO,MAAM,kBAAkB,EAAE,MAAiC,CAAC;AAEnE,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAEX,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAS3C,CAAC;AAEX,eAAO,MAAM,aAAa,EAAE,MAAe,CAAC;AAC5C,eAAO,MAAM,WAAW,EAAE,MAAiB,CAAC;AAC5C,eAAO,MAAM,YAAY,EAAE,MAAkB,CAAC;AAE9C,eAAO,MAAM,SAAS;;;;;;;;;;CAUZ,CAAC;AAEX,eAAO,MAAM,QAAQ;;;CAGX,CAAC;AAEX,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAC"}
@@ -79,6 +79,8 @@ export var CLOSING_REASONS = {
79
79
  BACK_BUTTON: 'back-button-clicked'
80
80
  };
81
81
  export var FEEDBACK_STATUSES = {
82
+ SUCCESS: 'success',
83
+ INFO: 'info',
82
84
  WARNING: 'warning',
83
85
  ERROR: 'error'
84
86
  };
@@ -0,0 +1,4 @@
1
+ import { SavedImageData } from 'types/common';
2
+ export declare const downloadImageData: (imageData: SavedImageData) => Promise<void>;
3
+ export declare const copyImageDataToClipboard: (imageData: SavedImageData) => Promise<void>;
4
+ //# sourceMappingURL=file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/utils/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAsD9C,eAAO,MAAM,iBAAiB,GAAU,WAAW,cAAc,kBAMhE,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAU,WAAW,cAAc,kBAavE,CAAC"}
@@ -0,0 +1,110 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
+ var createDownloadLink = function createDownloadLink(blob, fileName) {
5
+ var objectUrl = URL.createObjectURL(blob);
6
+ var link = document.createElement('a');
7
+ link.href = objectUrl;
8
+ link.download = fileName;
9
+ link.style.display = 'none';
10
+ document.body.appendChild(link);
11
+ link.click();
12
+ document.body.removeChild(link);
13
+ URL.revokeObjectURL(objectUrl);
14
+ };
15
+ var canvasToBlob = function canvasToBlob(canvas, mimeType, quality) {
16
+ return new Promise(function (resolve, reject) {
17
+ canvas.toBlob(function (blob) {
18
+ if (blob) {
19
+ resolve(blob);
20
+ return;
21
+ }
22
+ reject(new Error('Failed to process image.'));
23
+ }, mimeType, quality);
24
+ });
25
+ };
26
+ var getImageBlob = function () {
27
+ var _ref = _asyncToGenerator(_regeneratorRuntime.mark(function _callee(imageData) {
28
+ var response;
29
+ return _regeneratorRuntime.wrap(function (_context) {
30
+ while (1) switch (_context.prev = _context.next) {
31
+ case 0:
32
+ if (!imageData.imageCanvas) {
33
+ _context.next = 1;
34
+ break;
35
+ }
36
+ return _context.abrupt("return", canvasToBlob(imageData.imageCanvas, imageData.mimeType, imageData.quality));
37
+ case 1:
38
+ if (!imageData.imageBase64) {
39
+ _context.next = 3;
40
+ break;
41
+ }
42
+ _context.next = 2;
43
+ return fetch(imageData.imageBase64);
44
+ case 2:
45
+ response = _context.sent;
46
+ return _context.abrupt("return", response.blob());
47
+ case 3:
48
+ throw new Error('No image data available.');
49
+ case 4:
50
+ case "end":
51
+ return _context.stop();
52
+ }
53
+ }, _callee);
54
+ }));
55
+ return function getImageBlob(_x) {
56
+ return _ref.apply(this, arguments);
57
+ };
58
+ }();
59
+ export var downloadImageData = function () {
60
+ var _ref2 = _asyncToGenerator(_regeneratorRuntime.mark(function _callee2(imageData) {
61
+ var _imageData$fullName;
62
+ var blob;
63
+ return _regeneratorRuntime.wrap(function (_context2) {
64
+ while (1) switch (_context2.prev = _context2.next) {
65
+ case 0:
66
+ _context2.next = 1;
67
+ return getImageBlob(imageData);
68
+ case 1:
69
+ blob = _context2.sent;
70
+ createDownloadLink(blob, (_imageData$fullName = imageData.fullName) !== null && _imageData$fullName !== void 0 ? _imageData$fullName : "".concat(imageData.name, ".").concat(imageData.extension));
71
+ case 2:
72
+ case "end":
73
+ return _context2.stop();
74
+ }
75
+ }, _callee2);
76
+ }));
77
+ return function downloadImageData(_x2) {
78
+ return _ref2.apply(this, arguments);
79
+ };
80
+ }();
81
+ export var copyImageDataToClipboard = function () {
82
+ var _ref3 = _asyncToGenerator(_regeneratorRuntime.mark(function _callee3(imageData) {
83
+ var _navigator$clipboard;
84
+ var blob, mimeType;
85
+ return _regeneratorRuntime.wrap(function (_context3) {
86
+ while (1) switch (_context3.prev = _context3.next) {
87
+ case 0:
88
+ if (!(!((_navigator$clipboard = navigator.clipboard) !== null && _navigator$clipboard !== void 0 && _navigator$clipboard.write) || typeof ClipboardItem === 'undefined')) {
89
+ _context3.next = 1;
90
+ break;
91
+ }
92
+ throw new Error('Clipboard image write is not supported in this browser.');
93
+ case 1:
94
+ _context3.next = 2;
95
+ return getImageBlob(imageData);
96
+ case 2:
97
+ blob = _context3.sent;
98
+ mimeType = blob.type || imageData.mimeType || 'image/png';
99
+ _context3.next = 3;
100
+ return navigator.clipboard.write([new ClipboardItem(_defineProperty({}, mimeType, blob))]);
101
+ case 3:
102
+ case "end":
103
+ return _context3.stop();
104
+ }
105
+ }, _callee3);
106
+ }));
107
+ return function copyImageDataToClipboard(_x3) {
108
+ return _ref3.apply(this, arguments);
109
+ };
110
+ }();
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.0.20",
6
+ "version": "1.0.22",
7
7
  "license": "MIT",
8
8
  "author": "Lê Đặng Trường Đạt",
9
9
  "main": "./lib/index.js",
@@ -58,7 +58,7 @@
58
58
  "@mui/material": "^7.3.9",
59
59
  "@mui/system": "^7.3.9",
60
60
  "@mui/utils": "^7.3.9",
61
- "@solostylist/ui-kit": "^1.0.210",
61
+ "@solostylist/ui-kit": "^1.0.214",
62
62
  "dayjs": "^1.11.20",
63
63
  "embla-carousel": "8.6.0",
64
64
  "embla-carousel-autoplay": "^8.6.0",