@bigbinary/neeto-image-uploader-frontend 2.0.2 → 2.2.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 (44) hide show
  1. package/app/javascript/src/translations/en.json +5 -0
  2. package/dist/AssetLibrary.js +10231 -0
  3. package/dist/AssetLibrary.js.map +1 -0
  4. package/dist/BasicImageUploader.js +66 -0
  5. package/dist/BasicImageUploader.js.map +1 -0
  6. package/dist/ImageUploader.js +228 -0
  7. package/dist/ImageUploader.js.map +1 -0
  8. package/dist/ImageWithFallback-7492935f.js +167 -0
  9. package/dist/ImageWithFallback-7492935f.js.map +1 -0
  10. package/dist/ImageWithFallback-e6b44c73.js +158 -0
  11. package/dist/ImageWithFallback-e6b44c73.js.map +1 -0
  12. package/dist/cjs/AssetLibrary.js +10303 -0
  13. package/dist/cjs/AssetLibrary.js.map +1 -0
  14. package/dist/cjs/BasicImageUploader.js +74 -0
  15. package/dist/cjs/BasicImageUploader.js.map +1 -0
  16. package/dist/cjs/ImageUploader.js +237 -0
  17. package/dist/cjs/ImageUploader.js.map +1 -0
  18. package/dist/cjs/hooks.js +24 -0
  19. package/dist/cjs/hooks.js.map +1 -0
  20. package/dist/cjs/index.js +95 -0
  21. package/dist/cjs/index.js.map +1 -0
  22. package/dist/hooks.js +14 -0
  23. package/dist/hooks.js.map +1 -0
  24. package/dist/index-7f064861.js +663 -0
  25. package/dist/index-7f064861.js.map +1 -0
  26. package/dist/index-b9963255.js +658 -0
  27. package/dist/index-b9963255.js.map +1 -0
  28. package/dist/index.js +81 -3910
  29. package/dist/index.js.map +1 -1
  30. package/dist/useImageUploader-36a03350.js +598 -0
  31. package/dist/useImageUploader-36a03350.js.map +1 -0
  32. package/dist/useImageUploader-550a5fdc.js +616 -0
  33. package/dist/useImageUploader-550a5fdc.js.map +1 -0
  34. package/dist/useProfileImageUpload-837e76b8.js +256 -0
  35. package/dist/useProfileImageUpload-837e76b8.js.map +1 -0
  36. package/dist/useProfileImageUpload-f0088c2a.js +263 -0
  37. package/dist/useProfileImageUpload-f0088c2a.js.map +1 -0
  38. package/dist/utils-88cce499.js +277 -0
  39. package/dist/utils-88cce499.js.map +1 -0
  40. package/dist/utils-96eacd77.js +248 -0
  41. package/dist/utils-96eacd77.js.map +1 -0
  42. package/package.json +30 -18
  43. package/dist/index.cjs.js +0 -3939
  44. package/dist/index.cjs.js.map +0 -1
package/dist/index.cjs.js DELETED
@@ -1,3939 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var require$$0 = require('react');
6
- var classnames = require('classnames');
7
- var neetoCist = require('@bigbinary/neeto-cist');
8
- var Delete = require('@bigbinary/neeto-icons/Delete');
9
- var Button = require('@bigbinary/neetoui/Button');
10
- var Typography = require('@bigbinary/neetoui/Typography');
11
- var ramda = require('ramda');
12
- var reactI18next = require('react-i18next');
13
- var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
14
- var reactDropzone = require('react-dropzone');
15
- var i18next = require('i18next');
16
- var Toastr = require('@bigbinary/neetoui/Toastr');
17
- var jsxRuntime = require('react/jsx-runtime');
18
- var MenuHorizontal = require('@bigbinary/neeto-icons/MenuHorizontal');
19
- var Dropdown = require('@bigbinary/neetoui/Dropdown');
20
- var NeetoUIModal = require('@bigbinary/neetoui/Modal');
21
- var Tab = require('@bigbinary/neetoui/Tab');
22
- var Spinner = require('@bigbinary/neetoui/Spinner');
23
- var reactQuery = require('@tanstack/react-query');
24
- var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
25
- var axios = require('axios');
26
- var activestorage = require('@rails/activestorage');
27
- var LeftArrow = require('@bigbinary/neeto-icons/LeftArrow');
28
- var utils = require('@bigbinary/neeto-commons-frontend/utils');
29
- var Input = require('@bigbinary/neetoui/Input');
30
- var Switch = require('@bigbinary/neetoui/Switch');
31
-
32
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
33
-
34
- var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0);
35
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
36
- var Delete__default = /*#__PURE__*/_interopDefaultLegacy(Delete);
37
- var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
38
- var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
39
- var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
40
- var Toastr__default = /*#__PURE__*/_interopDefaultLegacy(Toastr);
41
- var MenuHorizontal__default = /*#__PURE__*/_interopDefaultLegacy(MenuHorizontal);
42
- var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
43
- var NeetoUIModal__default = /*#__PURE__*/_interopDefaultLegacy(NeetoUIModal);
44
- var Tab__default = /*#__PURE__*/_interopDefaultLegacy(Tab);
45
- var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
46
- var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
47
- var LeftArrow__default = /*#__PURE__*/_interopDefaultLegacy(LeftArrow);
48
- var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
49
- var Switch__default = /*#__PURE__*/_interopDefaultLegacy(Switch);
50
-
51
- var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
52
-
53
- var css = ".ReactCrop{position:relative;display:inline-block;cursor:crosshair;overflow:hidden;max-width:100%}.ReactCrop *,.ReactCrop *::before,.ReactCrop *::after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translate3d(0, 0, 0);cursor:move;box-shadow:0 0 0 9999em rgba(0,0,0,.5);border:1px dashed #fff}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%;box-shadow:0px 0px 1px 1px #fff,0 0 0 9999em rgba(0,0,0,.5)}.ReactCrop__crop-selection:focus{outline:none;border-color:blue;border-style:solid}.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt::before,.ReactCrop__rule-of-thirds-vt::after,.ReactCrop__rule-of-thirds-hz::before,.ReactCrop__rule-of-thirds-hz::after{content:\"\";display:block;position:absolute;background-color:rgba(255,255,255,.4)}.ReactCrop__rule-of-thirds-vt::before,.ReactCrop__rule-of-thirds-vt::after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt::before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt::after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz::before,.ReactCrop__rule-of-thirds-hz::after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz::before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz::after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute}.ReactCrop__drag-handle::after{position:absolute;content:\"\";display:block;width:10px;height:10px;background-color:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.7);outline:1px solid rgba(0,0,0,0)}.ReactCrop__drag-handle:focus::after{border-color:blue;background:#2dbfff}.ReactCrop .ord-nw{top:0;left:0;margin-top:-5px;margin-left:-5px;cursor:nw-resize}.ReactCrop .ord-nw::after{top:0;left:0}.ReactCrop .ord-n{top:0;left:50%;margin-top:-5px;margin-left:-5px;cursor:n-resize}.ReactCrop .ord-n::after{top:0}.ReactCrop .ord-ne{top:0;right:0;margin-top:-5px;margin-right:-5px;cursor:ne-resize}.ReactCrop .ord-ne::after{top:0;right:0}.ReactCrop .ord-e{top:50%;right:0;margin-top:-5px;margin-right:-5px;cursor:e-resize}.ReactCrop .ord-e::after{right:0}.ReactCrop .ord-se{bottom:0;right:0;margin-bottom:-5px;margin-right:-5px;cursor:se-resize}.ReactCrop .ord-se::after{bottom:0;right:0}.ReactCrop .ord-s{bottom:0;left:50%;margin-bottom:-5px;margin-left:-5px;cursor:s-resize}.ReactCrop .ord-s::after{bottom:0}.ReactCrop .ord-sw{bottom:0;left:0;margin-bottom:-5px;margin-left:-5px;cursor:sw-resize}.ReactCrop .ord-sw::after{bottom:0;left:0}.ReactCrop .ord-w{top:50%;left:0;margin-top:-5px;margin-left:-5px;cursor:w-resize}.ReactCrop .ord-w::after{left:0}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:6px;margin-top:-3px}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:6px;height:100%;margin-right:-3px}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:6px;margin-bottom:-3px}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:6px;height:100%;margin-left:-3px}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar{display:none}.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer: coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:24px;height:24px}}.niu-modal {\n width: 95vw !important;\n height: 75vh !important;\n max-width: 1152px !important;\n max-height: 576px !important;\n position: relative !important;\n}.niu-unsplash-container {\n height: calc(75vh - 220px) !important;\n max-height: 355px;\n}.niu-unsplash-container img {\n height: 100%;\n width: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n animation: fade-in 1.2s 1s cubic-bezier(0.39, 0.575, 0.565, 1) both;\n border-radius: var(--neeto-ui-rounded);\n position: relative;\n cursor: pointer;\n}.ReactCrop .ReactCrop__child-wrapper {\n width: 100%;\n height: 100%;\n}.ReactCrop .ReactCrop__child-wrapper img {\n height: auto;\n width: auto;\n max-width: 100%;\n max-height: 100%;\n display: block;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9yZWFjdC1pbWFnZS1jcm9wL2Rpc3QvUmVhY3RDcm9wLmNzcyIsImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX21vZGFsLnNjc3MiLCJhcHAvamF2YXNjcmlwdC9zdHlsZXNoZWV0cy9hcHBsaWNhdGlvbi5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3R5bGVzaGVldHMvY29tcG9uZW50cy9faW1hZ2UtbGlicmFyeS5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3R5bGVzaGVldHMvYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX3JlYWN0LWNyb3Auc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxXQUFXLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsc0RBQXNELHFCQUFxQixDQUFDLHdDQUF3QyxjQUFjLENBQUMsMEJBQTBCLGtCQUFrQixDQUFDLDhEQUE4RCxhQUFhLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLHdJQUF3SSxpQkFBaUIsQ0FBQyxnRUFBZ0UsaUJBQWlCLENBQUMsMkJBQTJCLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsOEJBQThCLENBQUMsV0FBVyxDQUFDLHNDQUFzQyxDQUFDLHNCQUFzQixDQUFDLGdEQUFnRCxjQUFjLENBQUMscURBQXFELGlCQUFpQixDQUFDLDJEQUEyRCxDQUFDLGlDQUFpQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsc0RBQXNELFlBQVksQ0FBQyxzSkFBc0osVUFBVSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxxQ0FBcUMsQ0FBQywyRUFBMkUsU0FBUyxDQUFDLFdBQVcsQ0FBQyxzQ0FBb0QsbUJBQW1CLENBQUMscUNBQW1ELG1CQUFtQixDQUFDLDJFQUEyRSxVQUFVLENBQUMsVUFBVSxDQUFDLHNDQUFtRCxrQkFBa0IsQ0FBQyxxQ0FBa0Qsa0JBQWtCLENBQUMsd0JBQXdCLGlCQUFpQixDQUFDLCtCQUErQixpQkFBaUIsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsK0JBQStCLENBQUMscUNBQXFDLENBQUMsK0JBQStCLENBQUMscUNBQXFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQywwQkFBMEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLHlCQUF5QixLQUFLLENBQUMsbUJBQW1CLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLDBCQUEwQixLQUFLLENBQUMsT0FBTyxDQUFDLGtCQUFrQixPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMseUJBQXlCLE9BQU8sQ0FBQyxtQkFBbUIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQywwQkFBMEIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsUUFBUSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMseUJBQXlCLFFBQVEsQ0FBQyxtQkFBbUIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQywwQkFBMEIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLHlCQUF5QixNQUFNLENBQUMsNkNBQTZDLGNBQWMsQ0FBQyxxQkFBcUIsaUJBQWlCLENBQUMsMkJBQTJCLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsMkJBQTJCLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQywyQkFBMkIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLDJCQUEyQixLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMscUlBQXFJLFlBQVksQ0FBQyw0TkFBNE4sWUFBWSxDQUFDLHdCQUF3Qix3RUFBd0UsWUFBWSxDQUFDLHdCQUF3QixVQUFVLENBQUMsV0FBVyxDQUFDLENDQS8rSDtFQUNFLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSw0QkFBQTtFQUNBLDRCQUFBO0VBQ0EsNkJBQUE7QUNFRixDQ1BBO0VBQ0UscUNBQUE7RUFDQSxpQkNJa0M7QUZNcEMsQ0NSRTtFQUNFLFlBQUE7RUFDQSxXQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtFQUNBLG1FQUFBO0VBQ0Esc0NBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7QURVSixDR3BCRTtFQUNFLFdBQUE7RUFDQSxZQUFBO0FIdUJKLENHckJJO0VBQ0UsWUFBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0FIdUJOIiwic291cmNlc0NvbnRlbnQiOlsiLlJlYWN0Q3JvcHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jaztjdXJzb3I6Y3Jvc3NoYWlyO292ZXJmbG93OmhpZGRlbjttYXgtd2lkdGg6MTAwJX0uUmVhY3RDcm9wICosLlJlYWN0Q3JvcCAqOjpiZWZvcmUsLlJlYWN0Q3JvcCAqOjphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3h9LlJlYWN0Q3JvcC0tZGlzYWJsZWQsLlJlYWN0Q3JvcC0tbG9ja2Vke2N1cnNvcjppbmhlcml0fS5SZWFjdENyb3BfX2NoaWxkLXdyYXBwZXJ7bWF4LWhlaWdodDppbmhlcml0fS5SZWFjdENyb3BfX2NoaWxkLXdyYXBwZXI+aW1nLC5SZWFjdENyb3BfX2NoaWxkLXdyYXBwZXI+dmlkZW97ZGlzcGxheTpibG9jazttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OmluaGVyaXR9LlJlYWN0Q3JvcDpub3QoLlJlYWN0Q3JvcC0tZGlzYWJsZWQpIC5SZWFjdENyb3BfX2NoaWxkLXdyYXBwZXI+aW1nLC5SZWFjdENyb3A6bm90KC5SZWFjdENyb3AtLWRpc2FibGVkKSAuUmVhY3RDcm9wX19jaGlsZC13cmFwcGVyPnZpZGVve3RvdWNoLWFjdGlvbjpub25lfS5SZWFjdENyb3A6bm90KC5SZWFjdENyb3AtLWRpc2FibGVkKSAuUmVhY3RDcm9wX19jcm9wLXNlbGVjdGlvbnt0b3VjaC1hY3Rpb246bm9uZX0uUmVhY3RDcm9wX19jcm9wLXNlbGVjdGlvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIDAsIDApO2N1cnNvcjptb3ZlO2JveC1zaGFkb3c6MCAwIDAgOTk5OWVtIHJnYmEoMCwwLDAsLjUpO2JvcmRlcjoxcHggZGFzaGVkICNmZmZ9LlJlYWN0Q3JvcC0tZGlzYWJsZWQgLlJlYWN0Q3JvcF9fY3JvcC1zZWxlY3Rpb257Y3Vyc29yOmluaGVyaXR9LlJlYWN0Q3JvcC0tY2lyY3VsYXItY3JvcCAuUmVhY3RDcm9wX19jcm9wLXNlbGVjdGlvbntib3JkZXItcmFkaXVzOjUwJTtib3gtc2hhZG93OjBweCAwcHggMXB4IDFweCAjZmZmLDAgMCAwIDk5OTllbSByZ2JhKDAsMCwwLC41KX0uUmVhY3RDcm9wX19jcm9wLXNlbGVjdGlvbjpmb2N1c3tvdXRsaW5lOm5vbmU7Ym9yZGVyLWNvbG9yOmJsdWU7Ym9yZGVyLXN0eWxlOnNvbGlkfS5SZWFjdENyb3AtLWludmlzaWJsZS1jcm9wIC5SZWFjdENyb3BfX2Nyb3Atc2VsZWN0aW9ue2Rpc3BsYXk6bm9uZX0uUmVhY3RDcm9wX19ydWxlLW9mLXRoaXJkcy12dDo6YmVmb3JlLC5SZWFjdENyb3BfX3J1bGUtb2YtdGhpcmRzLXZ0OjphZnRlciwuUmVhY3RDcm9wX19ydWxlLW9mLXRoaXJkcy1oejo6YmVmb3JlLC5SZWFjdENyb3BfX3J1bGUtb2YtdGhpcmRzLWh6OjphZnRlcntjb250ZW50OlwiXCI7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5SZWFjdENyb3BfX3J1bGUtb2YtdGhpcmRzLXZ0OjpiZWZvcmUsLlJlYWN0Q3JvcF9fcnVsZS1vZi10aGlyZHMtdnQ6OmFmdGVye3dpZHRoOjFweDtoZWlnaHQ6MTAwJX0uUmVhY3RDcm9wX19ydWxlLW9mLXRoaXJkcy12dDo6YmVmb3Jle2xlZnQ6MzMuMzMzMyU7bGVmdDozMy4zMzMzMzMzMzMzJX0uUmVhY3RDcm9wX19ydWxlLW9mLXRoaXJkcy12dDo6YWZ0ZXJ7bGVmdDo2Ni42NjY2JTtsZWZ0OjY2LjY2NjY2NjY2NjclfS5SZWFjdENyb3BfX3J1bGUtb2YtdGhpcmRzLWh6OjpiZWZvcmUsLlJlYWN0Q3JvcF9fcnVsZS1vZi10aGlyZHMtaHo6OmFmdGVye3dpZHRoOjEwMCU7aGVpZ2h0OjFweH0uUmVhY3RDcm9wX19ydWxlLW9mLXRoaXJkcy1oejo6YmVmb3Jle3RvcDozMy4zMzMzJTt0b3A6MzMuMzMzMzMzMzMzMyV9LlJlYWN0Q3JvcF9fcnVsZS1vZi10aGlyZHMtaHo6OmFmdGVye3RvcDo2Ni42NjY2JTt0b3A6NjYuNjY2NjY2NjY2NyV9LlJlYWN0Q3JvcF9fZHJhZy1oYW5kbGV7cG9zaXRpb246YWJzb2x1dGV9LlJlYWN0Q3JvcF9fZHJhZy1oYW5kbGU6OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6XCJcIjtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4yKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjcpO291dGxpbmU6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMCl9LlJlYWN0Q3JvcF9fZHJhZy1oYW5kbGU6Zm9jdXM6OmFmdGVye2JvcmRlci1jb2xvcjpibHVlO2JhY2tncm91bmQ6IzJkYmZmZn0uUmVhY3RDcm9wIC5vcmQtbnd7dG9wOjA7bGVmdDowO21hcmdpbi10b3A6LTVweDttYXJnaW4tbGVmdDotNXB4O2N1cnNvcjpudy1yZXNpemV9LlJlYWN0Q3JvcCAub3JkLW53OjphZnRlcnt0b3A6MDtsZWZ0OjB9LlJlYWN0Q3JvcCAub3JkLW57dG9wOjA7bGVmdDo1MCU7bWFyZ2luLXRvcDotNXB4O21hcmdpbi1sZWZ0Oi01cHg7Y3Vyc29yOm4tcmVzaXplfS5SZWFjdENyb3AgLm9yZC1uOjphZnRlcnt0b3A6MH0uUmVhY3RDcm9wIC5vcmQtbmV7dG9wOjA7cmlnaHQ6MDttYXJnaW4tdG9wOi01cHg7bWFyZ2luLXJpZ2h0Oi01cHg7Y3Vyc29yOm5lLXJlc2l6ZX0uUmVhY3RDcm9wIC5vcmQtbmU6OmFmdGVye3RvcDowO3JpZ2h0OjB9LlJlYWN0Q3JvcCAub3JkLWV7dG9wOjUwJTtyaWdodDowO21hcmdpbi10b3A6LTVweDttYXJnaW4tcmlnaHQ6LTVweDtjdXJzb3I6ZS1yZXNpemV9LlJlYWN0Q3JvcCAub3JkLWU6OmFmdGVye3JpZ2h0OjB9LlJlYWN0Q3JvcCAub3JkLXNle2JvdHRvbTowO3JpZ2h0OjA7bWFyZ2luLWJvdHRvbTotNXB4O21hcmdpbi1yaWdodDotNXB4O2N1cnNvcjpzZS1yZXNpemV9LlJlYWN0Q3JvcCAub3JkLXNlOjphZnRlcntib3R0b206MDtyaWdodDowfS5SZWFjdENyb3AgLm9yZC1ze2JvdHRvbTowO2xlZnQ6NTAlO21hcmdpbi1ib3R0b206LTVweDttYXJnaW4tbGVmdDotNXB4O2N1cnNvcjpzLXJlc2l6ZX0uUmVhY3RDcm9wIC5vcmQtczo6YWZ0ZXJ7Ym90dG9tOjB9LlJlYWN0Q3JvcCAub3JkLXN3e2JvdHRvbTowO2xlZnQ6MDttYXJnaW4tYm90dG9tOi01cHg7bWFyZ2luLWxlZnQ6LTVweDtjdXJzb3I6c3ctcmVzaXplfS5SZWFjdENyb3AgLm9yZC1zdzo6YWZ0ZXJ7Ym90dG9tOjA7bGVmdDowfS5SZWFjdENyb3AgLm9yZC13e3RvcDo1MCU7bGVmdDowO21hcmdpbi10b3A6LTVweDttYXJnaW4tbGVmdDotNXB4O2N1cnNvcjp3LXJlc2l6ZX0uUmVhY3RDcm9wIC5vcmQtdzo6YWZ0ZXJ7bGVmdDowfS5SZWFjdENyb3BfX2Rpc2FibGVkIC5SZWFjdENyb3BfX2RyYWctaGFuZGxle2N1cnNvcjppbmhlcml0fS5SZWFjdENyb3BfX2RyYWctYmFye3Bvc2l0aW9uOmFic29sdXRlfS5SZWFjdENyb3BfX2RyYWctYmFyLm9yZC1ue3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDo2cHg7bWFyZ2luLXRvcDotM3B4fS5SZWFjdENyb3BfX2RyYWctYmFyLm9yZC1le3JpZ2h0OjA7dG9wOjA7d2lkdGg6NnB4O2hlaWdodDoxMDAlO21hcmdpbi1yaWdodDotM3B4fS5SZWFjdENyb3BfX2RyYWctYmFyLm9yZC1ze2JvdHRvbTowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDo2cHg7bWFyZ2luLWJvdHRvbTotM3B4fS5SZWFjdENyb3BfX2RyYWctYmFyLm9yZC13e3RvcDowO2xlZnQ6MDt3aWR0aDo2cHg7aGVpZ2h0OjEwMCU7bWFyZ2luLWxlZnQ6LTNweH0uUmVhY3RDcm9wLS1uZXctY3JvcCAuUmVhY3RDcm9wX19kcmFnLWJhciwuUmVhY3RDcm9wLS1uZXctY3JvcCAuUmVhY3RDcm9wX19kcmFnLWhhbmRsZSwuUmVhY3RDcm9wLS1maXhlZC1hc3BlY3QgLlJlYWN0Q3JvcF9fZHJhZy1iYXJ7ZGlzcGxheTpub25lfS5SZWFjdENyb3AtLWZpeGVkLWFzcGVjdCAuUmVhY3RDcm9wX19kcmFnLWhhbmRsZS5vcmQtbiwuUmVhY3RDcm9wLS1maXhlZC1hc3BlY3QgLlJlYWN0Q3JvcF9fZHJhZy1oYW5kbGUub3JkLWUsLlJlYWN0Q3JvcC0tZml4ZWQtYXNwZWN0IC5SZWFjdENyb3BfX2RyYWctaGFuZGxlLm9yZC1zLC5SZWFjdENyb3AtLWZpeGVkLWFzcGVjdCAuUmVhY3RDcm9wX19kcmFnLWhhbmRsZS5vcmQtd3tkaXNwbGF5Om5vbmV9QG1lZGlhKHBvaW50ZXI6IGNvYXJzZSl7LlJlYWN0Q3JvcCAub3JkLW4sLlJlYWN0Q3JvcCAub3JkLWUsLlJlYWN0Q3JvcCAub3JkLXMsLlJlYWN0Q3JvcCAub3JkLXd7ZGlzcGxheTpub25lfS5SZWFjdENyb3BfX2RyYWctaGFuZGxle3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9fVxuIiwiLm5pdS1tb2RhbCB7XG4gIHdpZHRoOiAkbml1LW1vZGFsLXdpZHRoICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogJG5pdS1tb2RhbC1oZWlnaHQgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiAkbml1LW1vZGFsLW1heC13aWR0aCAhaW1wb3J0YW50O1xuICBtYXgtaGVpZ2h0OiAkbml1LW1vZGFsLW1heC1oZWlnaHQgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG59XG4iLCJAaW1wb3J0IFwicmVhY3QtaW1hZ2UtY3JvcC9kaXN0L1JlYWN0Q3JvcC5jc3NcIjtcblxuLy9BYnN0cmFjdHNcbkBpbXBvcnQgXCJhYnN0cmFjdHMvdmFyaWFibGVzXCI7XG5cbi8vQ29tcG9uZW50c1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9tb2RhbFwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9pbWFnZS1saWJyYXJ5XCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3JlYWN0LWNyb3BcIjtcbiIsIi5uaXUtdW5zcGxhc2gtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiBjYWxjKCN7JG5pdS1tb2RhbC1oZWlnaHR9IC0gI3skbml1LW1vZGFsLWhlYWRlci1oZWlnaHR9KSAhaW1wb3J0YW50O1xuICBtYXgtaGVpZ2h0OiAkbml1LXVuc3BsYXNoLWNvbnRhaW5lci1tYXgtaGVpZ2h0O1xuXG4gIGltZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGFuaW1hdGlvbjogZmFkZS1pbiAxLjJzIDFzIGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpIGJvdGg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbmVldG8tdWktcm91bmRlZCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuIiwiJG5pdS1tb2RhbC13aWR0aDogOTV2dztcbiRuaXUtbW9kYWwtaGVpZ2h0OiA3NXZoO1xuJG5pdS1tb2RhbC1tYXgtd2lkdGg6IDExNTJweDtcbiRuaXUtbW9kYWwtbWF4LWhlaWdodDogNTc2cHg7XG4kbml1LW1vZGFsLWhlYWRlci1oZWlnaHQ6IDIyMHB4O1xuXG4kbml1LXVuc3BsYXNoLWNvbnRhaW5lci1tYXgtaGVpZ2h0OiAzNTVweDtcbiIsIi5SZWFjdENyb3Age1xuICAuUmVhY3RDcm9wX19jaGlsZC13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iXX0= */";
54
- n(css,{});
55
-
56
- function _typeof$2(o) {
57
- "@babel/helpers - typeof";
58
-
59
- return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
60
- return typeof o;
61
- } : function (o) {
62
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
63
- }, _typeof$2(o);
64
- }
65
-
66
- function _toPrimitive(input, hint) {
67
- if (_typeof$2(input) !== "object" || input === null) return input;
68
- var prim = input[Symbol.toPrimitive];
69
- if (prim !== undefined) {
70
- var res = prim.call(input, hint || "default");
71
- if (_typeof$2(res) !== "object") return res;
72
- throw new TypeError("@@toPrimitive must return a primitive value.");
73
- }
74
- return (hint === "string" ? String : Number)(input);
75
- }
76
-
77
- function _toPropertyKey(arg) {
78
- var key = _toPrimitive(arg, "string");
79
- return _typeof$2(key) === "symbol" ? key : String(key);
80
- }
81
-
82
- function _defineProperty$1(obj, key, value) {
83
- key = _toPropertyKey(key);
84
- if (key in obj) {
85
- Object.defineProperty(obj, key, {
86
- value: value,
87
- enumerable: true,
88
- configurable: true,
89
- writable: true
90
- });
91
- } else {
92
- obj[key] = value;
93
- }
94
- return obj;
95
- }
96
-
97
- function _objectWithoutPropertiesLoose(source, excluded) {
98
- if (source == null) return {};
99
- var target = {};
100
- var sourceKeys = Object.keys(source);
101
- var key, i;
102
- for (i = 0; i < sourceKeys.length; i++) {
103
- key = sourceKeys[i];
104
- if (excluded.indexOf(key) >= 0) continue;
105
- target[key] = source[key];
106
- }
107
- return target;
108
- }
109
-
110
- function _objectWithoutProperties$1(source, excluded) {
111
- if (source == null) return {};
112
- var target = _objectWithoutPropertiesLoose(source, excluded);
113
- var key, i;
114
- if (Object.getOwnPropertySymbols) {
115
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
116
- for (i = 0; i < sourceSymbolKeys.length; i++) {
117
- key = sourceSymbolKeys[i];
118
- if (excluded.indexOf(key) >= 0) continue;
119
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
120
- target[key] = source[key];
121
- }
122
- }
123
- return target;
124
- }
125
-
126
- var DEFAULT_ALLOWED_IMAGE_TYPES = {
127
- "image/png": [".png"],
128
- "image/jpg": [".jpg", ".jpeg"],
129
- "image/gif": [".gif"],
130
- "image/svg+xml": [".svg"]
131
- };
132
- var DEFAULT_UPLOAD_CONFIG = {
133
- maxImageSize: initializers.globalProps.endUserUploadedFileSizeLimitInMb,
134
- allowedImageTypes: DEFAULT_ALLOWED_IMAGE_TYPES
135
- };
136
- var OPTION_KEYS = {
137
- asset: "asset",
138
- remove: "remove"
139
- };
140
-
141
- var getAllowedTypes = function getAllowedTypes(uploadConfig) {
142
- return ramda.pipe(ramda.values, ramda.flatten, ramda.map(function (extension) {
143
- return extension.slice(1);
144
- }), ramda.map(ramda.toUpper), ramda.join(", "))(uploadConfig.allowedImageTypes);
145
- };
146
-
147
- function _arrayWithHoles(arr) {
148
- if (Array.isArray(arr)) return arr;
149
- }
150
-
151
- function _iterableToArrayLimit(r, l) {
152
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
153
- if (null != t) {
154
- var e,
155
- n,
156
- i,
157
- u,
158
- a = [],
159
- f = !0,
160
- o = !1;
161
- try {
162
- if (i = (t = t.call(r)).next, 0 === l) {
163
- if (Object(t) !== t) return;
164
- f = !1;
165
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
166
- } catch (r) {
167
- o = !0, n = r;
168
- } finally {
169
- try {
170
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
171
- } finally {
172
- if (o) throw n;
173
- }
174
- }
175
- return a;
176
- }
177
- }
178
-
179
- function _arrayLikeToArray(arr, len) {
180
- if (len == null || len > arr.length) len = arr.length;
181
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
182
- return arr2;
183
- }
184
-
185
- function _unsupportedIterableToArray(o, minLen) {
186
- if (!o) return;
187
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
188
- var n = Object.prototype.toString.call(o).slice(8, -1);
189
- if (n === "Object" && o.constructor) n = o.constructor.name;
190
- if (n === "Map" || n === "Set") return Array.from(o);
191
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
192
- }
193
-
194
- function _nonIterableRest() {
195
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
196
- }
197
-
198
- function _slicedToArray(arr, i) {
199
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
200
- }
201
-
202
- var DROPZONE_ROOT_DIV_CLASSNAME = "neeto-ui-border-primary-600 hover:neeto-ui-bg-gray-100 neeto-ui-rounded-lg flex h-full w-full flex-col items-center justify-center gap-3 border border-dashed p-5 transition-all duration-300 ease-in-out";
203
- var FILE_ERRORS = {
204
- "file-invalid-type": i18next.t("neetoImageUploader.imageUpload.fileTypeError"),
205
- "file-too-large": i18next.t("neetoImageUploader.imageUpload.fileSizeError")
206
- };
207
-
208
- var handleDropRejected = function handleDropRejected(fileRejections) {
209
- fileRejections.map(function (_ref) {
210
- var errors = _ref.errors;
211
- return errors.map(function (_ref2) {
212
- var code = _ref2.code;
213
- return Toastr__default["default"].error(FILE_ERRORS[code] || i18next.t("neetoImageUploader.imageUpload.genericError"));
214
- });
215
- });
216
- };
217
-
218
- var useUploadDropzone = function useUploadDropzone(_ref) {
219
- var _ref$uploadConfig = _ref.uploadConfig,
220
- uploadConfig = _ref$uploadConfig === void 0 ? {
221
- allowedImageTypes: [],
222
- maxImageSize: 0
223
- } : _ref$uploadConfig,
224
- _onDrop = _ref.onDrop;
225
- var _useState = require$$0.useState(0),
226
- _useState2 = _slicedToArray(_useState, 2),
227
- uploadProgress = _useState2[0],
228
- setUploadProgress = _useState2[1];
229
- var _useDropzone = reactDropzone.useDropzone({
230
- onDrop: function onDrop(acceptedFiles) {
231
- return _onDrop(acceptedFiles[0], setUploadProgress);
232
- },
233
- accept: uploadConfig === null || uploadConfig === void 0 ? void 0 : uploadConfig.allowedImageTypes,
234
- multiple: false,
235
- maxSize: uploadConfig.maxImageSize * 1048576,
236
- onDropRejected: handleDropRejected
237
- }),
238
- getRootProps = _useDropzone.getRootProps,
239
- getInputProps = _useDropzone.getInputProps,
240
- isDragActive = _useDropzone.isDragActive,
241
- inputRef = _useDropzone.inputRef;
242
- return {
243
- getRootProps: getRootProps,
244
- getInputProps: getInputProps,
245
- isDragActive: isDragActive,
246
- uploadProgress: uploadProgress,
247
- inputRef: inputRef
248
- };
249
- };
250
-
251
- var ProgressBar = function ProgressBar(_ref) {
252
- var _ref$progressPercenta = _ref.progressPercentage,
253
- progressPercentage = _ref$progressPercenta === void 0 ? 0 : _ref$progressPercenta,
254
- progressValue = _ref.progressValue;
255
- return /*#__PURE__*/jsxRuntime.jsx("div", {
256
- className: "neeto-ui-border-primary-600 hover:neeto-ui-bg-gray-100 neeto-ui-rounded-lg flex h-full cursor-pointer items-center justify-center gap-3 border border-dashed p-5 transition-all duration-300 ease-in-out",
257
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
258
- className: "neeto-ui-bg-gray-200 neeto-ui-rounded-full w-full overflow-hidden dark:bg-gray-700",
259
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
260
- className: "neeto-ui-bg-primary-600 text-2xs neeto-ui-text-primary-100 neeto-ui-rounded-full flex h-3 animate-pulse items-center justify-center font-medium leading-none transition-all duration-300 ease-in-out",
261
- "data-cy": "neeto-image-uploader-progress-bar",
262
- style: {
263
- width: "".concat(progressPercentage, "%")
264
- },
265
- children: progressValue
266
- })
267
- })
268
- });
269
- };
270
-
271
- function ownKeys$a(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
272
- function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$a(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$a(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
273
- var ImageDirectUpload = function ImageDirectUpload(_ref) {
274
- var _ref$uploadConfig = _ref.uploadConfig,
275
- uploadConfig = _ref$uploadConfig === void 0 ? DEFAULT_UPLOAD_CONFIG : _ref$uploadConfig,
276
- _ref$onDrop = _ref.onDrop,
277
- onDrop = _ref$onDrop === void 0 ? neetoCist.noop : _ref$onDrop,
278
- _ref$isDisabled = _ref.isDisabled,
279
- isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
280
- setIsAssetLibraryOpen = _ref.setIsAssetLibraryOpen;
281
- var _useUploadDropzone = useUploadDropzone({
282
- uploadConfig: uploadConfig,
283
- onDrop: onDrop
284
- }),
285
- getRootProps = _useUploadDropzone.getRootProps,
286
- getInputProps = _useUploadDropzone.getInputProps,
287
- isDragActive = _useUploadDropzone.isDragActive,
288
- uploadProgress = _useUploadDropzone.uploadProgress;
289
- var shouldShowProgress = !!(uploadProgress && !ramda.equals(uploadProgress, 1));
290
- return shouldShowProgress ? /*#__PURE__*/jsxRuntime.jsx(ProgressBar, {
291
- progressPercentage: uploadProgress,
292
- progressValue: "".concat(uploadProgress, "%")
293
- }) : /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$9(_objectSpread$9({}, getRootProps()), {}, {
294
- className: classnames__default["default"](DROPZONE_ROOT_DIV_CLASSNAME, {
295
- "neeto-ui-border-gray-300": !isDragActive,
296
- "neeto-ui-border-gray-700": isDragActive
297
- }),
298
- children: /*#__PURE__*/jsxRuntime.jsxs("div", {
299
- className: "flex flex-col space-y-1",
300
- children: [!isDisabled && /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
301
- className: "neeto-ui-text-gray-800 text-center leading-4",
302
- style: "body2",
303
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
304
- i18nKey: "neetoImageUploader.imageUpload.dragAndDropOrBrowseFile",
305
- components: {
306
- span: /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
307
- "data-cy": "neeto-image-uploader-browse-text",
308
- style: "link"
309
- })
310
- }
311
- })
312
- }), setIsAssetLibraryOpen && /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
313
- className: "text-center leading-4",
314
- style: "body2",
315
- onClick: function onClick(e) {
316
- e.stopPropagation();
317
- setIsAssetLibraryOpen(true);
318
- },
319
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
320
- i18nKey: "neetoImageUploader.imageUpload.selectImagefromImageLibrary",
321
- components: {
322
- span: /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
323
- "data-cy": "open-asset-library-button",
324
- style: "link"
325
- })
326
- }
327
- })
328
- }), /*#__PURE__*/jsxRuntime.jsx("input", _objectSpread$9(_objectSpread$9({}, getInputProps()), {}, {
329
- "data-cy": "neeto-image-uploader-file-input",
330
- disabled: isDisabled
331
- })), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
332
- className: "neeto-ui-text-gray-700 text-center leading-4",
333
- "data-cy": "neeto-image-uploader-restriction-message",
334
- lineHeight: "snug",
335
- style: "nano",
336
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
337
- i18nKey: "neetoImageUploader.imageUpload.restrictionMessage",
338
- values: {
339
- fileTypes: getAllowedTypes(uploadConfig),
340
- size: uploadConfig === null || uploadConfig === void 0 ? void 0 : uploadConfig.maxImageSize
341
- }
342
- })
343
- })]
344
- })
345
- }));
346
- };
347
-
348
- var _excluded$4 = ["className"];
349
- function ownKeys$9(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
350
- function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$9(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
351
- var ImagePlaceholder = function ImagePlaceholder(_ref) {
352
- var _ref$className = _ref.className,
353
- className = _ref$className === void 0 ? "" : _ref$className,
354
- props = _objectWithoutProperties$1(_ref, _excluded$4);
355
- return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$8({
356
- className: classnames__default["default"]("neeto-ui-bg-gray-200", _defineProperty$1({}, className, className))
357
- }, props));
358
- };
359
-
360
- var _excluded$3 = ["src", "className", "fallback"];
361
- function ownKeys$8(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
362
- function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
363
- var ImageWithFallback = function ImageWithFallback(_ref) {
364
- var src = _ref.src,
365
- _ref$className = _ref.className,
366
- className = _ref$className === void 0 ? "h-full w-full" : _ref$className,
367
- _ref$fallback = _ref.fallback,
368
- Fallback = _ref$fallback === void 0 ? ImagePlaceholder : _ref$fallback,
369
- props = _objectWithoutProperties$1(_ref, _excluded$3);
370
- var _useState = require$$0.useState(false),
371
- _useState2 = _slicedToArray(_useState, 2),
372
- isLoaded = _useState2[0],
373
- setIsLoaded = _useState2[1];
374
- require$$0.useEffect(function () {
375
- var img = new Image();
376
- img.onload = function () {
377
- setIsLoaded(true);
378
- };
379
- img.src = src;
380
- }, [src]);
381
- return isLoaded ? /*#__PURE__*/jsxRuntime.jsx("img", _objectSpread$7(_objectSpread$7({}, _objectSpread$7({
382
- src: src
383
- }, props)), {}, {
384
- className: "h-full w-auto object-contain"
385
- })) : /*#__PURE__*/jsxRuntime.jsx(Fallback, _objectSpread$7({}, _objectSpread$7({
386
- className: className
387
- }, props)));
388
- };
389
-
390
- var IS_DEVELOPMENT_OR_HEROKU_ENV = process.env.RAILS_ENV === "development" || process.env.RAILS_ENV === "heroku";
391
-
392
- var UNSPLASH_DEFAULT_NAME = "Unsplash-asset";
393
- var UNSPLASH_URL = "https://unsplash.com/";
394
- var IMAGES_PER_PAGE = 30;
395
- var UNSPLASH_DEFAULT_REQUEST_CONFIG = {
396
- headers: {
397
- "Access-Control-Allow-Origin": "*",
398
- "Access-Control-Allow-Methods": "GET"
399
- },
400
- responseType: "blob"
401
- };
402
- var TABS = [{
403
- label: i18next__default["default"].t("neetoImageUploader.labels.myImages"),
404
- key: "images",
405
- dataCy: "neeto-image-uploader-my-images-tab"
406
- }, {
407
- label: i18next__default["default"].t("neetoImageUploader.labels.searchTheWeb"),
408
- key: "unsplash",
409
- dataCy: "neeto-image-uploader-unsplash-tab"
410
- }];
411
- var OPTIONS = [{
412
- key: "local",
413
- label: i18next__default["default"].t("neetoImageUploader.labels.uploadNewImage"),
414
- "data-cy": "upload-new-asset",
415
- style: "primary",
416
- onClick: neetoCist.noop
417
- }];
418
- var DEFAULT_CROP_CONFIG = {
419
- unit: "px",
420
- height: 0,
421
- width: 0,
422
- x: 0,
423
- y: 0
424
- };
425
- var INFINITE_SCROLLER_SIZES = [{
426
- columns: 2,
427
- gutter: 0
428
- }, {
429
- mq: "768px",
430
- columns: 4,
431
- gutter: 0
432
- }, {
433
- mq: "1024px",
434
- columns: 4,
435
- gutter: 0
436
- }];
437
- var INFINITE_SCROLLER_STYLE = {
438
- width: "100%"
439
- };
440
- var ASSETS_FETCH_URL = IS_DEVELOPMENT_OR_HEROKU_ENV ? "neeto_image_uploader_engine/development/fetch" : "neeto_image_uploader_engine/images/fetch";
441
- var IMAGE_WRAPPER_CLASSNAME = "neeto-ui-border-gray-300 neeto-ui-bg-gray-100 hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg relative flex h-full w-full flex-col items-center justify-center gap-5 border border-dashed p-2 transition-all duration-300 ease-in-out";
442
-
443
- function _typeof$1(obj) {
444
- "@babel/helpers - typeof";
445
-
446
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
447
- _typeof$1 = function (obj) {
448
- return typeof obj;
449
- };
450
- } else {
451
- _typeof$1 = function (obj) {
452
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
453
- };
454
- }
455
-
456
- return _typeof$1(obj);
457
- }
458
-
459
- function _classCallCheck$1(instance, Constructor) {
460
- if (!(instance instanceof Constructor)) {
461
- throw new TypeError("Cannot call a class as a function");
462
- }
463
- }
464
-
465
- function _defineProperties(target, props) {
466
- for (var i = 0; i < props.length; i++) {
467
- var descriptor = props[i];
468
- descriptor.enumerable = descriptor.enumerable || false;
469
- descriptor.configurable = true;
470
- if ("value" in descriptor) descriptor.writable = true;
471
- Object.defineProperty(target, descriptor.key, descriptor);
472
- }
473
- }
474
-
475
- function _createClass$1(Constructor, protoProps, staticProps) {
476
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
477
- if (staticProps) _defineProperties(Constructor, staticProps);
478
- return Constructor;
479
- }
480
-
481
- function _defineProperty(obj, key, value) {
482
- if (key in obj) {
483
- Object.defineProperty(obj, key, {
484
- value: value,
485
- enumerable: true,
486
- configurable: true,
487
- writable: true
488
- });
489
- } else {
490
- obj[key] = value;
491
- }
492
-
493
- return obj;
494
- }
495
-
496
- function ownKeys$7(object, enumerableOnly) {
497
- var keys = Object.keys(object);
498
-
499
- if (Object.getOwnPropertySymbols) {
500
- var symbols = Object.getOwnPropertySymbols(object);
501
- if (enumerableOnly) symbols = symbols.filter(function (sym) {
502
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
503
- });
504
- keys.push.apply(keys, symbols);
505
- }
506
-
507
- return keys;
508
- }
509
-
510
- function _objectSpread2(target) {
511
- for (var i = 1; i < arguments.length; i++) {
512
- var source = arguments[i] != null ? arguments[i] : {};
513
-
514
- if (i % 2) {
515
- ownKeys$7(Object(source), true).forEach(function (key) {
516
- _defineProperty(target, key, source[key]);
517
- });
518
- } else if (Object.getOwnPropertyDescriptors) {
519
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
520
- } else {
521
- ownKeys$7(Object(source)).forEach(function (key) {
522
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
523
- });
524
- }
525
- }
526
-
527
- return target;
528
- }
529
-
530
- var version = "1.5.5";
531
-
532
- var errorMessages = {
533
- MANDATORY_INITIALIZATION_MISSING: {
534
- message: "Missing urlEndpoint during SDK initialization",
535
- help: ""
536
- },
537
- INVALID_TRANSFORMATION_POSITION: {
538
- message: "Invalid transformationPosition parameter",
539
- help: ""
540
- },
541
- PRIVATE_KEY_CLIENT_SIDE: {
542
- message: "privateKey should not be passed on the client side",
543
- help: ""
544
- },
545
- MISSING_UPLOAD_DATA: {
546
- message: "Missing data for upload",
547
- help: ""
548
- },
549
- MISSING_UPLOAD_FILE_PARAMETER: {
550
- message: "Missing file parameter for upload",
551
- help: ""
552
- },
553
- MISSING_UPLOAD_FILENAME_PARAMETER: {
554
- message: "Missing fileName parameter for upload",
555
- help: ""
556
- },
557
- MISSING_AUTHENTICATION_ENDPOINT: {
558
- message: "Missing authentication endpoint for upload",
559
- help: ""
560
- },
561
- MISSING_PUBLIC_KEY: {
562
- message: "Missing public key for upload",
563
- help: ""
564
- },
565
- AUTH_ENDPOINT_TIMEOUT: {
566
- message: "The authenticationEndpoint you provided timed out in 60 seconds",
567
- help: ""
568
- },
569
- AUTH_ENDPOINT_NETWORK_ERROR: {
570
- message: "Request to authenticationEndpoint failed due to network error",
571
- help: ""
572
- },
573
- AUTH_INVALID_RESPONSE: {
574
- message: "Invalid response from authenticationEndpoint. The SDK expects a JSON response with three fields i.e. signature, token and expire.",
575
- help: ""
576
- },
577
- UPLOAD_ENDPOINT_NETWORK_ERROR: {
578
- message: "Request to ImageKit upload endpoint failed due to network error",
579
- help: ""
580
- },
581
- INVALID_UPLOAD_OPTIONS: {
582
- message: "Invalid uploadOptions parameter",
583
- help: ""
584
- }
585
- };
586
-
587
- function respond (isError, response, callback) {
588
- if (typeof callback == "function") {
589
- if (isError) {
590
- callback(response, null);
591
- } else {
592
- callback(null, response);
593
- }
594
- }
595
- }
596
-
597
- function getResponseHeaderMap(xhr) {
598
- var headers = {};
599
- var responseHeaders = xhr.getAllResponseHeaders();
600
- if (Object.keys(responseHeaders).length) {
601
- responseHeaders.trim().split(/[\r\n]+/).map(function (value) {
602
- return value.split(/: /);
603
- }).forEach(function (keyValue) {
604
- headers[keyValue[0].trim()] = keyValue[1].trim();
605
- });
606
- }
607
- return headers;
608
- }
609
- var addResponseHeadersAndBody = function addResponseHeadersAndBody(body, xhr) {
610
- var response = _objectSpread2({}, body);
611
- var responseMetadata = {
612
- statusCode: xhr.status,
613
- headers: getResponseHeaderMap(xhr)
614
- };
615
- Object.defineProperty(response, "$ResponseMetadata", {
616
- value: responseMetadata,
617
- enumerable: false,
618
- writable: false
619
- });
620
- return response;
621
- };
622
- var request = function request(uploadFileXHR, formData, options, callback) {
623
- generateSignatureToken(options.authenticationEndpoint).then(function (signaturObj) {
624
- formData.append("signature", signaturObj.signature);
625
- formData.append("expire", String(signaturObj.expire));
626
- formData.append("token", signaturObj.token);
627
- uploadFile(uploadFileXHR, formData).then(function (result) {
628
- return respond(false, result, callback);
629
- }, function (ex) {
630
- return respond(true, ex, callback);
631
- });
632
- }, function (ex) {
633
- return respond(true, ex, callback);
634
- });
635
- };
636
- var generateSignatureToken = function generateSignatureToken(authenticationEndpoint) {
637
- return new Promise(function (resolve, reject) {
638
- var xhr = new XMLHttpRequest();
639
- xhr.timeout = 60000;
640
- var urlObj = new URL(authenticationEndpoint);
641
- urlObj.searchParams.append("t", Math.random().toString());
642
- xhr.open('GET', urlObj.toString());
643
- xhr.ontimeout = function (e) {
644
- return reject(errorMessages.AUTH_ENDPOINT_TIMEOUT);
645
- };
646
- xhr.onerror = function () {
647
- return reject(errorMessages.AUTH_ENDPOINT_NETWORK_ERROR);
648
- };
649
- xhr.onload = function () {
650
- if (xhr.status === 200) {
651
- try {
652
- var body = JSON.parse(xhr.responseText);
653
- var obj = {
654
- signature: body.signature,
655
- expire: body.expire,
656
- token: body.token
657
- };
658
- if (!obj.signature || !obj.expire || !obj.token) {
659
- return reject(errorMessages.AUTH_INVALID_RESPONSE);
660
- }
661
- return resolve(obj);
662
- } catch (ex) {
663
- return reject(errorMessages.AUTH_INVALID_RESPONSE);
664
- }
665
- } else {
666
- return reject(errorMessages.AUTH_INVALID_RESPONSE);
667
- }
668
- };
669
- xhr.send();
670
- });
671
- };
672
- var uploadFile = function uploadFile(uploadFileXHR, formData) {
673
- return new Promise(function (resolve, reject) {
674
- uploadFileXHR.open('POST', 'https://upload.imagekit.io/api/v1/files/upload');
675
- uploadFileXHR.onerror = function (e) {
676
- return reject(errorMessages.UPLOAD_ENDPOINT_NETWORK_ERROR);
677
- };
678
- uploadFileXHR.onload = function () {
679
- if (uploadFileXHR.status === 200) {
680
- try {
681
- var body = JSON.parse(uploadFileXHR.responseText);
682
- var uploadResponse = addResponseHeadersAndBody(body, uploadFileXHR);
683
- return resolve(uploadResponse);
684
- } catch (ex) {
685
- return reject(ex);
686
- }
687
- } else {
688
- try {
689
- var body = JSON.parse(uploadFileXHR.responseText);
690
- var uploadError = addResponseHeadersAndBody(body, uploadFileXHR);
691
- return reject(uploadError);
692
- } catch (ex) {
693
- return reject(ex);
694
- }
695
- }
696
- };
697
- uploadFileXHR.send(formData);
698
- });
699
- };
700
-
701
- var upload = function upload(xhr, uploadOptions, options, callback) {
702
- if (!uploadOptions.file) {
703
- respond(true, errorMessages.MISSING_UPLOAD_FILE_PARAMETER, callback);
704
- return;
705
- }
706
- if (!uploadOptions.fileName) {
707
- respond(true, errorMessages.MISSING_UPLOAD_FILENAME_PARAMETER, callback);
708
- return;
709
- }
710
- if (!options.authenticationEndpoint) {
711
- respond(true, errorMessages.MISSING_AUTHENTICATION_ENDPOINT, callback);
712
- return;
713
- }
714
- if (!options.publicKey) {
715
- respond(true, errorMessages.MISSING_PUBLIC_KEY, callback);
716
- return;
717
- }
718
- var formData = new FormData();
719
- var key;
720
- for (key in uploadOptions) {
721
- if (key) {
722
- if (key === "file" && typeof uploadOptions.file != "string") {
723
- formData.append('file', uploadOptions.file, String(uploadOptions.fileName));
724
- } else if (key === "tags" && Array.isArray(uploadOptions.tags)) {
725
- formData.append('tags', uploadOptions.tags.join(","));
726
- } else if (key === "responseFields" && Array.isArray(uploadOptions.responseFields)) {
727
- formData.append('responseFields', uploadOptions.responseFields.join(","));
728
- } else if (key === "extensions" && Array.isArray(uploadOptions.extensions)) {
729
- formData.append('extensions', JSON.stringify(uploadOptions.extensions));
730
- } else if (key === "customMetadata" && _typeof$1(uploadOptions.customMetadata) === "object" && !Array.isArray(uploadOptions.customMetadata) && uploadOptions.customMetadata !== null) {
731
- formData.append('customMetadata', JSON.stringify(uploadOptions.customMetadata));
732
- } else if (uploadOptions[key] !== undefined) {
733
- formData.append(key, String(uploadOptions[key]));
734
- }
735
- }
736
- }
737
- formData.append("publicKey", options.publicKey);
738
- request(xhr, formData, _objectSpread2(_objectSpread2({}, options), {}, {
739
- authenticationEndpoint: options.authenticationEndpoint
740
- }), callback);
741
- };
742
-
743
- var supportedTransforms = {
744
- width: "w",
745
- height: "h",
746
- aspectRatio: "ar",
747
- quality: "q",
748
- crop: "c",
749
- cropMode: "cm",
750
- focus: "fo",
751
- x: "x",
752
- y: "y",
753
- format: "f",
754
- radius: "r",
755
- background: "bg",
756
- border: "b",
757
- rotation: "rt",
758
- rotate: "rt",
759
- blur: "bl",
760
- named: "n",
761
- overlayImage: "oi",
762
- overlayImageAspectRatio: "oiar",
763
- overlayImageBackground: "oibg",
764
- overlayImageBorder: "oib",
765
- overlayImageDPR: "oidpr",
766
- overlayImageQuality: "oiq",
767
- overlayImageCropping: "oic",
768
- overlayImageTrim: "oit",
769
- overlayX: "ox",
770
- overlayY: "oy",
771
- overlayFocus: "ofo",
772
- overlayHeight: "oh",
773
- overlayWidth: "ow",
774
- overlayText: "ot",
775
- overlayTextFontSize: "ots",
776
- overlayTextFontFamily: "otf",
777
- overlayTextColor: "otc",
778
- overlayTextTransparency: "oa",
779
- overlayAlpha: "oa",
780
- overlayTextTypography: "ott",
781
- overlayBackground: "obg",
782
- overlayTextEncoded: "ote",
783
- overlayTextWidth: "otw",
784
- overlayTextBackground: "otbg",
785
- overlayTextPadding: "otp",
786
- overlayTextInnerAlignment: "otia",
787
- overlayRadius: "or",
788
- progressive: "pr",
789
- lossless: "lo",
790
- trim: "t",
791
- metadata: "md",
792
- colorProfile: "cp",
793
- defaultImage: "di",
794
- dpr: "dpr",
795
- effectSharpen: "e-sharpen",
796
- effectUSM: "e-usm",
797
- effectContrast: "e-contrast",
798
- effectGray: "e-grayscale",
799
- original: "orig",
800
- raw: "raw"
801
- };
802
-
803
- var DEFAULT_TRANSFORMATION_POSITION = "path";
804
- var QUERY_TRANSFORMATION_POSITION = "query";
805
- var VALID_TRANSFORMATION_POSITIONS = [DEFAULT_TRANSFORMATION_POSITION, QUERY_TRANSFORMATION_POSITION];
806
- var CHAIN_TRANSFORM_DELIMITER = ":";
807
- var TRANSFORM_DELIMITER = ",";
808
- var TRANSFORM_KEY_VALUE_DELIMITER = "-";
809
- var transformationUtils = {
810
- getDefault: function getDefault() {
811
- return DEFAULT_TRANSFORMATION_POSITION;
812
- },
813
- addAsQueryParameter: function addAsQueryParameter(options) {
814
- return options.transformationPosition === QUERY_TRANSFORMATION_POSITION;
815
- },
816
- validParameters: function validParameters(options) {
817
- if (typeof options.transformationPosition == "undefined") return false;
818
- return VALID_TRANSFORMATION_POSITIONS.indexOf(options.transformationPosition) != -1;
819
- },
820
- getTransformKey: function getTransformKey(transform) {
821
- if (!transform) {
822
- return "";
823
- }
824
- return supportedTransforms[transform] || supportedTransforms[transform.toLowerCase()] || "";
825
- },
826
- getChainTransformDelimiter: function getChainTransformDelimiter() {
827
- return CHAIN_TRANSFORM_DELIMITER;
828
- },
829
- getTransformDelimiter: function getTransformDelimiter() {
830
- return TRANSFORM_DELIMITER;
831
- },
832
- getTransformKeyValueDelimiter: function getTransformKeyValueDelimiter() {
833
- return TRANSFORM_KEY_VALUE_DELIMITER;
834
- }
835
- };
836
-
837
- var TRANSFORMATION_PARAMETER = "tr";
838
- function removeTrailingSlash(str) {
839
- if (typeof str == "string" && str[str.length - 1] == "/") {
840
- str = str.substring(0, str.length - 1);
841
- }
842
- return str;
843
- }
844
- function removeLeadingSlash(str) {
845
- if (typeof str == "string" && str[0] == "/") {
846
- str = str.slice(1);
847
- }
848
- return str;
849
- }
850
- function pathJoin(parts, sep) {
851
- var separator = sep || "/";
852
- var replace = new RegExp(separator + "{1,}", "g");
853
- return parts.join(separator).replace(replace, separator);
854
- }
855
- var buildURL = function buildURL(opts) {
856
- if (!opts.path && !opts.src) {
857
- return "";
858
- }
859
- var urlObj, isSrcParameterUsedForURL, urlEndpointPattern;
860
- try {
861
- if (opts.path) {
862
- urlEndpointPattern = new URL(opts.urlEndpoint).pathname;
863
- urlObj = new URL(pathJoin([opts.urlEndpoint.replace(urlEndpointPattern, ""), opts.path]));
864
- } else {
865
- urlObj = new URL(opts.src);
866
- isSrcParameterUsedForURL = true;
867
- }
868
- } catch (e) {
869
- console.error(e);
870
- return "";
871
- }
872
- for (var i in opts.queryParameters) {
873
- urlObj.searchParams.append(i, String(opts.queryParameters[i]));
874
- }
875
- var transformationString = constructTransformationString(opts.transformation);
876
- if (transformationString && transformationString.length) {
877
- if (transformationUtils.addAsQueryParameter(opts) || isSrcParameterUsedForURL) {
878
- urlObj.searchParams.append(TRANSFORMATION_PARAMETER, transformationString);
879
- } else {
880
- urlObj.pathname = pathJoin([TRANSFORMATION_PARAMETER + transformationUtils.getChainTransformDelimiter() + transformationString, urlObj.pathname]);
881
- }
882
- }
883
- if (urlEndpointPattern) {
884
- urlObj.pathname = pathJoin([urlEndpointPattern, urlObj.pathname]);
885
- } else {
886
- urlObj.pathname = pathJoin([urlObj.pathname]);
887
- }
888
- return urlObj.href;
889
- };
890
- function constructTransformationString(transformation) {
891
- if (!Array.isArray(transformation)) {
892
- return "";
893
- }
894
- var parsedTransforms = [];
895
- for (var i = 0, l = transformation.length; i < l; i++) {
896
- var parsedTransformStep = [];
897
- for (var key in transformation[i]) {
898
- var transformKey = transformationUtils.getTransformKey(key);
899
- if (!transformKey) {
900
- transformKey = key;
901
- }
902
- if (transformation[i][key] === "-") {
903
- parsedTransformStep.push(transformKey);
904
- } else if (key === "raw") {
905
- parsedTransformStep.push(transformation[i][key]);
906
- } else {
907
- var value = transformation[i][key];
908
- if (transformKey === "oi" || transformKey === "di") {
909
- value = removeTrailingSlash(removeLeadingSlash(value || ""));
910
- value = value.replace(/\//g, "@@");
911
- }
912
- parsedTransformStep.push([transformKey, value].join(transformationUtils.getTransformKeyValueDelimiter()));
913
- }
914
- }
915
- parsedTransforms.push(parsedTransformStep.join(transformationUtils.getTransformDelimiter()));
916
- }
917
- return parsedTransforms.join(transformationUtils.getChainTransformDelimiter());
918
- }
919
-
920
- var url = function url(urlOpts, defaultOptions) {
921
- return buildURL(_objectSpread2(_objectSpread2({}, defaultOptions), urlOpts));
922
- };
923
-
924
- function mandatoryParametersAvailable(options) {
925
- return options.urlEndpoint;
926
- }
927
- var promisify = function promisify(thisContext, fn) {
928
- return function () {
929
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
930
- args[_key] = arguments[_key];
931
- }
932
- if (args.length === fn.length && typeof args[args.length - 1] !== "undefined") {
933
- if (typeof args[args.length - 1] !== "function") {
934
- throw new Error("Callback must be a function.");
935
- }
936
- fn.call.apply(fn, [thisContext].concat(args));
937
- } else {
938
- return new Promise(function (resolve, reject) {
939
- var callback = function callback(err) {
940
- if (err) {
941
- return reject(err);
942
- } else {
943
- for (var _len2 = arguments.length, results = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
944
- results[_key2 - 1] = arguments[_key2];
945
- }
946
- resolve(results.length > 1 ? results : results[0]);
947
- }
948
- };
949
- args.pop();
950
- args.push(callback);
951
- fn.call.apply(fn, [thisContext].concat(args));
952
- });
953
- }
954
- };
955
- };
956
- var ImageKit = function () {
957
- function ImageKit(opts) {
958
- _classCallCheck$1(this, ImageKit);
959
- _defineProperty(this, "options", {
960
- sdkVersion: "javascript-".concat(version),
961
- publicKey: "",
962
- urlEndpoint: "",
963
- transformationPosition: transformationUtils.getDefault()
964
- });
965
- this.options = _objectSpread2(_objectSpread2({}, this.options), opts || {});
966
- if (!mandatoryParametersAvailable(this.options)) {
967
- throw errorMessages.MANDATORY_INITIALIZATION_MISSING;
968
- }
969
- if (!transformationUtils.validParameters(this.options)) {
970
- throw errorMessages.INVALID_TRANSFORMATION_POSITION;
971
- }
972
- }
973
- _createClass$1(ImageKit, [{
974
- key: "url",
975
- value: function url$1(urlOptions) {
976
- return url(urlOptions, this.options);
977
- }
978
- }, {
979
- key: "upload",
980
- value: function upload$1(uploadOptions, callbackOrOptions, options) {
981
- var callback;
982
- if (typeof callbackOrOptions === 'function') {
983
- callback = callbackOrOptions;
984
- } else {
985
- options = callbackOrOptions || {};
986
- }
987
- if (!uploadOptions || _typeof$1(uploadOptions) !== "object") {
988
- return respond(true, errorMessages.INVALID_UPLOAD_OPTIONS, callback);
989
- }
990
- var mergedOptions = _objectSpread2(_objectSpread2({}, this.options), options);
991
- var _ref = uploadOptions || {},
992
- userProvidedXHR = _ref.xhr;
993
- delete uploadOptions.xhr;
994
- var xhr = userProvidedXHR || new XMLHttpRequest();
995
- return promisify(this, upload)(xhr, uploadOptions, mergedOptions, callback);
996
- }
997
- }]);
998
- return ImageKit;
999
- }();
1000
-
1001
- var getCropValues = function getCropValues(_ref) {
1002
- var crop = _ref.crop,
1003
- imageRef = _ref.imageRef;
1004
- return {
1005
- x: imageRef.current.naturalWidth * (crop.x / imageRef.current.width),
1006
- y: imageRef.current.naturalHeight * (crop.y / imageRef.current.height),
1007
- height: imageRef.current.naturalHeight * (crop.height / imageRef.current.height),
1008
- width: imageRef.current.naturalWidth * (crop.width / imageRef.current.width)
1009
- };
1010
- };
1011
- var getCroppedImageURL = function getCroppedImageURL(_ref2) {
1012
- var imageURL = _ref2.imageURL,
1013
- crop = _ref2.crop,
1014
- imageRef = _ref2.imageRef;
1015
- var imagekit = new ImageKit({
1016
- urlEndpoint: initializers.globalProps.imagekit.urlEndpoint
1017
- });
1018
- var _getCropValues = getCropValues({
1019
- crop: crop,
1020
- imageRef: imageRef
1021
- }),
1022
- x = _getCropValues.x,
1023
- y = _getCropValues.y,
1024
- height = _getCropValues.height,
1025
- width = _getCropValues.width;
1026
- var transformation = [{
1027
- cropMode: "extract",
1028
- x: x,
1029
- y: y,
1030
- height: height,
1031
- width: width
1032
- }];
1033
- return imagekit.url({
1034
- src: imageURL,
1035
- transformation: transformation
1036
- });
1037
- };
1038
- var isNilOrEmpty = function isNilOrEmpty(value) {
1039
- return ramda.isNil(value) || ramda.isEmpty(value);
1040
- };
1041
- var isNotNilOrEmpty = function isNotNilOrEmpty(value) {
1042
- return !isNilOrEmpty(value);
1043
- };
1044
- var onImageLoaded = function onImageLoaded(_ref3) {
1045
- var image = _ref3.image,
1046
- setCrop = _ref3.setCrop,
1047
- _ref3$cropAspectRatio = _ref3.cropAspectRatio,
1048
- cropAspectRatio = _ref3$cropAspectRatio === void 0 ? 16 / 9 : _ref3$cropAspectRatio;
1049
- var width = image.width,
1050
- height = image.height;
1051
- var imageAspectRatio = width / height;
1052
- var maxCropWidth = 250;
1053
- var maxCropHeight = maxCropWidth / cropAspectRatio;
1054
- var cropWidth, cropHeight;
1055
- if (imageAspectRatio > cropAspectRatio) {
1056
- cropWidth = Math.min(maxCropWidth, width);
1057
- cropHeight = cropWidth / cropAspectRatio;
1058
- } else if (height < maxCropHeight) {
1059
- cropWidth = width;
1060
- cropHeight = height;
1061
- } else {
1062
- cropHeight = Math.min(maxCropHeight, height);
1063
- cropWidth = cropHeight * cropAspectRatio;
1064
- }
1065
- var cropX = (width - cropWidth) / 2;
1066
- var cropY = (height - cropHeight) / 2;
1067
- setCrop({
1068
- unit: "px",
1069
- width: cropWidth,
1070
- height: cropHeight,
1071
- x: cropX,
1072
- y: cropY
1073
- });
1074
- };
1075
- var isItemsCenter = function isItemsCenter(_ref4) {
1076
- var imageRef = _ref4.imageRef,
1077
- wrapperRef = _ref4.wrapperRef;
1078
- var _ref5 = imageRef.current || {},
1079
- imageHeight = _ref5.height,
1080
- imageWidth = _ref5.width;
1081
- var wrapperHeight = (wrapperRef.current || {}).clientHeight;
1082
- if (imageHeight < imageWidth && imageHeight < wrapperHeight - 1) {
1083
- // Landscape images smaller than wrapper dimensions
1084
- return true;
1085
- }
1086
- if (imageHeight === imageWidth && imageHeight < wrapperHeight - 1) {
1087
- // Square images smaller than wrapper dimensions
1088
- return true;
1089
- }
1090
- return imageHeight > imageWidth && imageHeight < wrapperHeight - 1;
1091
- };
1092
-
1093
- var _excluded$2 = ["src", "className", "imageFallbackProps", "onDrop", "isDisabled", "onRemove"];
1094
- function ownKeys$6(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1095
- function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1096
- var BasicImageUploader = function BasicImageUploader(_ref) {
1097
- var _ref$src = _ref.src,
1098
- src = _ref$src === void 0 ? "" : _ref$src,
1099
- _ref$className = _ref.className,
1100
- className = _ref$className === void 0 ? "" : _ref$className,
1101
- _ref$imageFallbackPro = _ref.imageFallbackProps,
1102
- imageFallbackProps = _ref$imageFallbackPro === void 0 ? {
1103
- alt: "Uplaoded Image",
1104
- className: "h-full w-full"
1105
- } : _ref$imageFallbackPro,
1106
- _ref$onDrop = _ref.onDrop,
1107
- onDrop = _ref$onDrop === void 0 ? neetoCist.noop : _ref$onDrop,
1108
- _ref$isDisabled = _ref.isDisabled,
1109
- isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
1110
- _ref$onRemove = _ref.onRemove,
1111
- onRemove = _ref$onRemove === void 0 ? neetoCist.noop : _ref$onRemove,
1112
- props = _objectWithoutProperties$1(_ref, _excluded$2);
1113
- return /*#__PURE__*/jsxRuntime.jsx("div", {
1114
- className: classnames__default["default"](className, {
1115
- "cursor-pointer": true,
1116
- "cursor-not-allowed": isDisabled,
1117
- "opacity-70": isDisabled && isNilOrEmpty(src)
1118
- }),
1119
- children: isNotNilOrEmpty(src) ? /*#__PURE__*/jsxRuntime.jsxs("div", {
1120
- className: IMAGE_WRAPPER_CLASSNAME,
1121
- children: [/*#__PURE__*/jsxRuntime.jsx(ImageWithFallback, _objectSpread$6(_objectSpread$6({}, _objectSpread$6(_objectSpread$6({}, imageFallbackProps), {}, {
1122
- src: src
1123
- })), {}, {
1124
- "data-cy": "uploaded-image"
1125
- })), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
1126
- className: "absolute right-3 top-3",
1127
- "data-cy": "basic-image-uploader-remove-button",
1128
- disabled: isDisabled,
1129
- icon: Delete__default["default"],
1130
- size: "small",
1131
- onClick: onRemove
1132
- })]
1133
- }) : /*#__PURE__*/jsxRuntime.jsx(ImageDirectUpload, _objectSpread$6({}, _objectSpread$6(_objectSpread$6({}, props), {}, {
1134
- isDisabled: isDisabled,
1135
- onDrop: onDrop
1136
- })))
1137
- });
1138
- };
1139
-
1140
- var create = function create(payload) {
1141
- return axios__default["default"].post("/api/direct_uploads", {
1142
- blob: payload
1143
- }, {
1144
- transformRequestCase: false
1145
- });
1146
- };
1147
- var update = function update(_ref) {
1148
- var id = _ref.id,
1149
- payload = _ref.payload;
1150
- return axios__default["default"].put("neeto_image_uploader_engine/api/direct_uploads/".concat(id), {
1151
- blob: payload
1152
- }, {
1153
- transformRequestCase: false
1154
- });
1155
- };
1156
- var directUploadsApi = {
1157
- create: create,
1158
- update: update
1159
- };
1160
-
1161
- var QUERY_KEYS = {
1162
- ASSETS_LIST: "neeto-image-uploader-images-list",
1163
- UNSPLASH_LIST: "neeto-image-uploader-unsplash-list"
1164
- };
1165
- var ASSETS_STALE_TIME = 900000; // 15 mins
1166
-
1167
- var UNSPLASH_STALE_TIME = 900000;
1168
-
1169
- function ownKeys$5(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1170
- function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1171
- var useCreateBlob = function useCreateBlob(options) {
1172
- return reactUtils.useMutationWithInvalidation(directUploadsApi.create, _objectSpread$5({
1173
- keysToInvalidate: [QUERY_KEYS.ASSETS_LIST]
1174
- }, options));
1175
- };
1176
-
1177
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
1178
- try {
1179
- var info = gen[key](arg);
1180
- var value = info.value;
1181
- } catch (error) {
1182
- reject(error);
1183
- return;
1184
- }
1185
- if (info.done) {
1186
- resolve(value);
1187
- } else {
1188
- Promise.resolve(value).then(_next, _throw);
1189
- }
1190
- }
1191
- function _asyncToGenerator(fn) {
1192
- return function () {
1193
- var self = this,
1194
- args = arguments;
1195
- return new Promise(function (resolve, reject) {
1196
- var gen = fn.apply(self, args);
1197
- function _next(value) {
1198
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
1199
- }
1200
- function _throw(err) {
1201
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
1202
- }
1203
- _next(undefined);
1204
- });
1205
- };
1206
- }
1207
-
1208
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
1209
-
1210
- function getDefaultExportFromCjs (x) {
1211
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
1212
- }
1213
-
1214
- function getAugmentedNamespace(n) {
1215
- if (n.__esModule) return n;
1216
- var f = n.default;
1217
- if (typeof f == "function") {
1218
- var a = function a () {
1219
- if (this instanceof a) {
1220
- return Reflect.construct(f, arguments, this.constructor);
1221
- }
1222
- return f.apply(this, arguments);
1223
- };
1224
- a.prototype = f.prototype;
1225
- } else a = {};
1226
- Object.defineProperty(a, '__esModule', {value: true});
1227
- Object.keys(n).forEach(function (k) {
1228
- var d = Object.getOwnPropertyDescriptor(n, k);
1229
- Object.defineProperty(a, k, d.get ? d : {
1230
- enumerable: true,
1231
- get: function () {
1232
- return n[k];
1233
- }
1234
- });
1235
- });
1236
- return a;
1237
- }
1238
-
1239
- var regeneratorRuntime$1 = {exports: {}};
1240
-
1241
- var _typeof = {exports: {}};
1242
-
1243
- _typeof.exports;
1244
-
1245
- (function (module) {
1246
- function _typeof(o) {
1247
- "@babel/helpers - typeof";
1248
-
1249
- return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
1250
- return typeof o;
1251
- } : function (o) {
1252
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
1253
- }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
1254
- }
1255
- module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
1256
- } (_typeof));
1257
-
1258
- var _typeofExports = _typeof.exports;
1259
-
1260
- regeneratorRuntime$1.exports;
1261
-
1262
- (function (module) {
1263
- var _typeof = _typeofExports["default"];
1264
- function _regeneratorRuntime() {
1265
- module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
1266
- return e;
1267
- }, module.exports.__esModule = true, module.exports["default"] = module.exports;
1268
- var t,
1269
- e = {},
1270
- r = Object.prototype,
1271
- n = r.hasOwnProperty,
1272
- o = Object.defineProperty || function (t, e, r) {
1273
- t[e] = r.value;
1274
- },
1275
- i = "function" == typeof Symbol ? Symbol : {},
1276
- a = i.iterator || "@@iterator",
1277
- c = i.asyncIterator || "@@asyncIterator",
1278
- u = i.toStringTag || "@@toStringTag";
1279
- function define(t, e, r) {
1280
- return Object.defineProperty(t, e, {
1281
- value: r,
1282
- enumerable: !0,
1283
- configurable: !0,
1284
- writable: !0
1285
- }), t[e];
1286
- }
1287
- try {
1288
- define({}, "");
1289
- } catch (t) {
1290
- define = function define(t, e, r) {
1291
- return t[e] = r;
1292
- };
1293
- }
1294
- function wrap(t, e, r, n) {
1295
- var i = e && e.prototype instanceof Generator ? e : Generator,
1296
- a = Object.create(i.prototype),
1297
- c = new Context(n || []);
1298
- return o(a, "_invoke", {
1299
- value: makeInvokeMethod(t, r, c)
1300
- }), a;
1301
- }
1302
- function tryCatch(t, e, r) {
1303
- try {
1304
- return {
1305
- type: "normal",
1306
- arg: t.call(e, r)
1307
- };
1308
- } catch (t) {
1309
- return {
1310
- type: "throw",
1311
- arg: t
1312
- };
1313
- }
1314
- }
1315
- e.wrap = wrap;
1316
- var h = "suspendedStart",
1317
- l = "suspendedYield",
1318
- f = "executing",
1319
- s = "completed",
1320
- y = {};
1321
- function Generator() {}
1322
- function GeneratorFunction() {}
1323
- function GeneratorFunctionPrototype() {}
1324
- var p = {};
1325
- define(p, a, function () {
1326
- return this;
1327
- });
1328
- var d = Object.getPrototypeOf,
1329
- v = d && d(d(values([])));
1330
- v && v !== r && n.call(v, a) && (p = v);
1331
- var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
1332
- function defineIteratorMethods(t) {
1333
- ["next", "throw", "return"].forEach(function (e) {
1334
- define(t, e, function (t) {
1335
- return this._invoke(e, t);
1336
- });
1337
- });
1338
- }
1339
- function AsyncIterator(t, e) {
1340
- function invoke(r, o, i, a) {
1341
- var c = tryCatch(t[r], t, o);
1342
- if ("throw" !== c.type) {
1343
- var u = c.arg,
1344
- h = u.value;
1345
- return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
1346
- invoke("next", t, i, a);
1347
- }, function (t) {
1348
- invoke("throw", t, i, a);
1349
- }) : e.resolve(h).then(function (t) {
1350
- u.value = t, i(u);
1351
- }, function (t) {
1352
- return invoke("throw", t, i, a);
1353
- });
1354
- }
1355
- a(c.arg);
1356
- }
1357
- var r;
1358
- o(this, "_invoke", {
1359
- value: function value(t, n) {
1360
- function callInvokeWithMethodAndArg() {
1361
- return new e(function (e, r) {
1362
- invoke(t, n, e, r);
1363
- });
1364
- }
1365
- return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
1366
- }
1367
- });
1368
- }
1369
- function makeInvokeMethod(e, r, n) {
1370
- var o = h;
1371
- return function (i, a) {
1372
- if (o === f) throw new Error("Generator is already running");
1373
- if (o === s) {
1374
- if ("throw" === i) throw a;
1375
- return {
1376
- value: t,
1377
- done: !0
1378
- };
1379
- }
1380
- for (n.method = i, n.arg = a;;) {
1381
- var c = n.delegate;
1382
- if (c) {
1383
- var u = maybeInvokeDelegate(c, n);
1384
- if (u) {
1385
- if (u === y) continue;
1386
- return u;
1387
- }
1388
- }
1389
- if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
1390
- if (o === h) throw o = s, n.arg;
1391
- n.dispatchException(n.arg);
1392
- } else "return" === n.method && n.abrupt("return", n.arg);
1393
- o = f;
1394
- var p = tryCatch(e, r, n);
1395
- if ("normal" === p.type) {
1396
- if (o = n.done ? s : l, p.arg === y) continue;
1397
- return {
1398
- value: p.arg,
1399
- done: n.done
1400
- };
1401
- }
1402
- "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
1403
- }
1404
- };
1405
- }
1406
- function maybeInvokeDelegate(e, r) {
1407
- var n = r.method,
1408
- o = e.iterator[n];
1409
- if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
1410
- var i = tryCatch(o, e.iterator, r.arg);
1411
- if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
1412
- var a = i.arg;
1413
- return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
1414
- }
1415
- function pushTryEntry(t) {
1416
- var e = {
1417
- tryLoc: t[0]
1418
- };
1419
- 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
1420
- }
1421
- function resetTryEntry(t) {
1422
- var e = t.completion || {};
1423
- e.type = "normal", delete e.arg, t.completion = e;
1424
- }
1425
- function Context(t) {
1426
- this.tryEntries = [{
1427
- tryLoc: "root"
1428
- }], t.forEach(pushTryEntry, this), this.reset(!0);
1429
- }
1430
- function values(e) {
1431
- if (e || "" === e) {
1432
- var r = e[a];
1433
- if (r) return r.call(e);
1434
- if ("function" == typeof e.next) return e;
1435
- if (!isNaN(e.length)) {
1436
- var o = -1,
1437
- i = function next() {
1438
- for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
1439
- return next.value = t, next.done = !0, next;
1440
- };
1441
- return i.next = i;
1442
- }
1443
- }
1444
- throw new TypeError(_typeof(e) + " is not iterable");
1445
- }
1446
- return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
1447
- value: GeneratorFunctionPrototype,
1448
- configurable: !0
1449
- }), o(GeneratorFunctionPrototype, "constructor", {
1450
- value: GeneratorFunction,
1451
- configurable: !0
1452
- }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
1453
- var e = "function" == typeof t && t.constructor;
1454
- return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
1455
- }, e.mark = function (t) {
1456
- return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
1457
- }, e.awrap = function (t) {
1458
- return {
1459
- __await: t
1460
- };
1461
- }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
1462
- return this;
1463
- }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
1464
- void 0 === i && (i = Promise);
1465
- var a = new AsyncIterator(wrap(t, r, n, o), i);
1466
- return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
1467
- return t.done ? t.value : a.next();
1468
- });
1469
- }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
1470
- return this;
1471
- }), define(g, "toString", function () {
1472
- return "[object Generator]";
1473
- }), e.keys = function (t) {
1474
- var e = Object(t),
1475
- r = [];
1476
- for (var n in e) r.push(n);
1477
- return r.reverse(), function next() {
1478
- for (; r.length;) {
1479
- var t = r.pop();
1480
- if (t in e) return next.value = t, next.done = !1, next;
1481
- }
1482
- return next.done = !0, next;
1483
- };
1484
- }, e.values = values, Context.prototype = {
1485
- constructor: Context,
1486
- reset: function reset(e) {
1487
- if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
1488
- },
1489
- stop: function stop() {
1490
- this.done = !0;
1491
- var t = this.tryEntries[0].completion;
1492
- if ("throw" === t.type) throw t.arg;
1493
- return this.rval;
1494
- },
1495
- dispatchException: function dispatchException(e) {
1496
- if (this.done) throw e;
1497
- var r = this;
1498
- function handle(n, o) {
1499
- return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
1500
- }
1501
- for (var o = this.tryEntries.length - 1; o >= 0; --o) {
1502
- var i = this.tryEntries[o],
1503
- a = i.completion;
1504
- if ("root" === i.tryLoc) return handle("end");
1505
- if (i.tryLoc <= this.prev) {
1506
- var c = n.call(i, "catchLoc"),
1507
- u = n.call(i, "finallyLoc");
1508
- if (c && u) {
1509
- if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
1510
- if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
1511
- } else if (c) {
1512
- if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
1513
- } else {
1514
- if (!u) throw new Error("try statement without catch or finally");
1515
- if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
1516
- }
1517
- }
1518
- }
1519
- },
1520
- abrupt: function abrupt(t, e) {
1521
- for (var r = this.tryEntries.length - 1; r >= 0; --r) {
1522
- var o = this.tryEntries[r];
1523
- if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
1524
- var i = o;
1525
- break;
1526
- }
1527
- }
1528
- i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
1529
- var a = i ? i.completion : {};
1530
- return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
1531
- },
1532
- complete: function complete(t, e) {
1533
- if ("throw" === t.type) throw t.arg;
1534
- return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y;
1535
- },
1536
- finish: function finish(t) {
1537
- for (var e = this.tryEntries.length - 1; e >= 0; --e) {
1538
- var r = this.tryEntries[e];
1539
- if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
1540
- }
1541
- },
1542
- "catch": function _catch(t) {
1543
- for (var e = this.tryEntries.length - 1; e >= 0; --e) {
1544
- var r = this.tryEntries[e];
1545
- if (r.tryLoc === t) {
1546
- var n = r.completion;
1547
- if ("throw" === n.type) {
1548
- var o = n.arg;
1549
- resetTryEntry(r);
1550
- }
1551
- return o;
1552
- }
1553
- }
1554
- throw new Error("illegal catch attempt");
1555
- },
1556
- delegateYield: function delegateYield(e, r, n) {
1557
- return this.delegate = {
1558
- iterator: values(e),
1559
- resultName: r,
1560
- nextLoc: n
1561
- }, "next" === this.method && (this.arg = t), y;
1562
- }
1563
- }, e;
1564
- }
1565
- module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
1566
- } (regeneratorRuntime$1));
1567
-
1568
- var regeneratorRuntimeExports = regeneratorRuntime$1.exports;
1569
-
1570
- // TODO(Babel 8): Remove this file.
1571
-
1572
- var runtime = regeneratorRuntimeExports();
1573
- var regenerator = runtime;
1574
-
1575
- // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
1576
- try {
1577
- regeneratorRuntime = runtime;
1578
- } catch (accidentalStrictMode) {
1579
- if (typeof globalThis === "object") {
1580
- globalThis.regeneratorRuntime = runtime;
1581
- } else {
1582
- Function("r", "regeneratorRuntime = r")(runtime);
1583
- }
1584
- }
1585
-
1586
- var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regenerator);
1587
-
1588
- var generateASCIIFileName = function generateASCIIFileName(originalFileName) {
1589
- if (/^[ -~]*$/.test(originalFileName)) {
1590
- return originalFileName;
1591
- }
1592
- var extension = originalFileName.split(".").pop();
1593
- return "image.".concat(extension);
1594
- };
1595
-
1596
- var useImageUploader = function useImageUploader(_ref) {
1597
- var _ref$onUploadComplete = _ref.onUploadComplete,
1598
- onUploadComplete = _ref$onUploadComplete === void 0 ? neetoCist.noop : _ref$onUploadComplete,
1599
- _ref$setIsUploading = _ref.setIsUploading,
1600
- setIsUploading = _ref$setIsUploading === void 0 ? neetoCist.noop : _ref$setIsUploading;
1601
- var authenticationEndpoint = "".concat(window.location.origin, "/neeto_image_uploader_engine/imagekit/auth");
1602
- var handleUploadProgress = function handleUploadProgress(e, fileSize, setUploadProgress) {
1603
- if (e.loaded <= fileSize) {
1604
- var percent = Math.round(e.loaded / fileSize * 100);
1605
- setUploadProgress(percent);
1606
- }
1607
- ramda.equals(e.loaded, e.total) && setUploadProgress(100);
1608
- };
1609
- var developmentUpload = function developmentUpload(file, setUploadProgress) {
1610
- try {
1611
- setIsUploading(true);
1612
- var upload = new activestorage.DirectUpload(file, "/api/direct_uploads", {
1613
- directUploadWillStoreFileWithXHR: function directUploadWillStoreFileWithXHR(xhr) {
1614
- xhr.upload.addEventListener("progress", function (event) {
1615
- var percentComplete = Math.round(event.loaded / event.total * 100);
1616
- setUploadProgress(percentComplete);
1617
- });
1618
- }
1619
- });
1620
- upload.create(function (_, blob) {
1621
- var payload = {
1622
- id: blob.signed_id,
1623
- payload: {
1624
- metadata: {
1625
- organizationKey: initializers.globalProps.organization.publicApiKey,
1626
- url: blob.blob_url,
1627
- height: 200,
1628
- width: 200
1629
- }
1630
- }
1631
- };
1632
- directUploadsApi.update(payload);
1633
- onUploadComplete(ramda.mergeRight(neetoCist.keysToCamelCase(blob), {
1634
- url: blob.blob_url
1635
- }));
1636
- setIsUploading(false);
1637
- });
1638
- } catch (error) {
1639
- Toastr__default["default"].error(error);
1640
- }
1641
- };
1642
- var productionUpload = /*#__PURE__*/function () {
1643
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(file, XHRProgress) {
1644
- var imagekit, result;
1645
- return _regeneratorRuntime.wrap(function _callee$(_context) {
1646
- while (1) switch (_context.prev = _context.next) {
1647
- case 0:
1648
- _context.prev = 0;
1649
- imagekit = new ImageKit(ramda.mergeRight(initializers.globalProps.imagekit, {
1650
- authenticationEndpoint: authenticationEndpoint
1651
- }));
1652
- setIsUploading(true);
1653
- _context.next = 5;
1654
- return imagekit.upload({
1655
- xhr: XHRProgress,
1656
- file: file,
1657
- fileName: generateASCIIFileName(file.name),
1658
- folder: initializers.globalProps.imagekit.folder,
1659
- customMetadata: {
1660
- organizationKey: initializers.globalProps.organization.publicApiKey,
1661
- appName: initializers.globalProps.appName
1662
- }
1663
- });
1664
- case 5:
1665
- result = _context.sent;
1666
- onUploadComplete(result);
1667
- setIsUploading(false);
1668
- _context.next = 13;
1669
- break;
1670
- case 10:
1671
- _context.prev = 10;
1672
- _context.t0 = _context["catch"](0);
1673
- Toastr__default["default"].error(_context.t0);
1674
- case 13:
1675
- case "end":
1676
- return _context.stop();
1677
- }
1678
- }, _callee, null, [[0, 10]]);
1679
- }));
1680
- return function productionUpload(_x, _x2) {
1681
- return _ref2.apply(this, arguments);
1682
- };
1683
- }();
1684
- var uploadFile = /*#__PURE__*/function () {
1685
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(file, setUploadProgress) {
1686
- var fileSize, XHRProgress;
1687
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
1688
- while (1) switch (_context2.prev = _context2.next) {
1689
- case 0:
1690
- if (!ramda.isNil(file)) {
1691
- _context2.next = 2;
1692
- break;
1693
- }
1694
- return _context2.abrupt("return");
1695
- case 2:
1696
- fileSize = file.size;
1697
- XHRProgress = new XMLHttpRequest();
1698
- XHRProgress.upload.addEventListener("progress", function (e) {
1699
- handleUploadProgress(e, fileSize, setUploadProgress);
1700
- });
1701
- if (!IS_DEVELOPMENT_OR_HEROKU_ENV) {
1702
- _context2.next = 9;
1703
- break;
1704
- }
1705
- developmentUpload(file, setUploadProgress);
1706
- _context2.next = 11;
1707
- break;
1708
- case 9:
1709
- _context2.next = 11;
1710
- return productionUpload(file, XHRProgress);
1711
- case 11:
1712
- case "end":
1713
- return _context2.stop();
1714
- }
1715
- }, _callee2);
1716
- }));
1717
- return function uploadFile(_x3, _x4) {
1718
- return _ref3.apply(this, arguments);
1719
- };
1720
- }();
1721
- return {
1722
- uploadFile: uploadFile
1723
- };
1724
- };
1725
-
1726
- var createOptions = function createOptions() {
1727
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
1728
- return OPTIONS.map(function (option) {
1729
- return ramda.mergeLeft(neetoCist.findBy({
1730
- key: option.key
1731
- }, options), option);
1732
- });
1733
- };
1734
-
1735
- var ReactCrop_min = {exports: {}};
1736
-
1737
- ReactCrop_min.exports;
1738
-
1739
- (function (module, exports) {
1740
- !function(e,t){module.exports=t(require$$0__default["default"]);}(commonjsGlobal,(e=>(()=>{var t={899:t=>{t.exports=e;}},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]});},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0});};var r={};return (()=>{o.r(r),o.d(r,{Component:()=>u,areCropsEqual:()=>h,centerCrop:()=>d,clamp:()=>a,containCrop:()=>p,convertToPercentCrop:()=>c,convertToPixelCrop:()=>l,default:()=>u,defaultCrop:()=>i,makeAspectCrop:()=>s,nudgeCrop:()=>g});var e=o(899),t=o.n(e);function n(e){var t,o,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(o=n(e[t]))&&(r&&(r+=" "),r+=o);else for(t in e)e[t]&&(r&&(r+=" "),r+=t);return r}const i={x:0,y:0,width:0,height:0,unit:"px"};function a(e,t,n){return Math.min(Math.max(e,t),n)}function h(e,t){return e.width===t.width&&e.height===t.height&&e.x===t.x&&e.y===t.y&&e.unit===t.unit}function s(e,t,n,o){const r=l(e,n,o);return e.width&&(r.height=r.width/t),e.height&&(r.width=r.height*t),r.y+r.height>o&&(r.height=o-r.y,r.width=r.height*t),r.x+r.width>n&&(r.width=n-r.x,r.height=r.width/t),"%"===e.unit?c(r,n,o):r}function d(e,t,n){const o=l(e,t,n);return o.x=(t-o.width)/2,o.y=(n-o.height)/2,"%"===e.unit?c(o,t,n):o}function c(e,t,n){return "%"===e.unit?{...i,...e,unit:"%"}:{unit:"%",x:e.x?e.x/t*100:0,y:e.y?e.y/n*100:0,width:e.width?e.width/t*100:0,height:e.height?e.height/n*100:0}}function l(e,t,n){return e.unit?"px"===e.unit?{...i,...e,unit:"px"}:{unit:"px",x:e.x?e.x*t/100:0,y:e.y?e.y*n/100:0,width:e.width?e.width*t/100:0,height:e.height?e.height*n/100:0}:{...i,...e,unit:"px"}}function p(e,t,n,o,r,i=0,a=0,h=o,s=r){const d={...e};let c=Math.min(i,o),l=Math.min(a,r),p=Math.min(h,o),g=Math.min(s,r);t&&(t>1?(c=a?a*t:c,l=c/t,p=h*t):(l=i?i/t:l,c=l*t,g=s/t)),d.y<0&&(d.height=Math.max(d.height+d.y,l),d.y=0),d.x<0&&(d.width=Math.max(d.width+d.x,c),d.x=0);const w=o-(d.x+d.width);w<0&&(d.x=Math.min(d.x,o-c),d.width+=w);const u=r-(d.y+d.height);if(u<0&&(d.y=Math.min(d.y,r-l),d.height+=u),d.width<c&&("sw"!==n&&"nw"!=n||(d.x-=c-d.width),d.width=c),d.height<l&&("nw"!==n&&"ne"!=n||(d.y-=l-d.height),d.height=l),d.width>p&&("sw"!==n&&"nw"!=n||(d.x-=p-d.width),d.width=p),d.height>g&&("nw"!==n&&"ne"!=n||(d.y-=g-d.height),d.height=g),t){const e=d.width/d.height;if(e<t){const e=Math.max(d.width/t,l);"nw"!==n&&"ne"!=n||(d.y-=e-d.height),d.height=e;}else if(e>t){const e=Math.max(d.height*t,c);"sw"!==n&&"nw"!=n||(d.x-=e-d.width),d.width=e;}}return d}function g(e,t,n,o){const r={...e};return "ArrowLeft"===t?"nw"===o?(r.x-=n,r.y-=n,r.width+=n,r.height+=n):"w"===o?(r.x-=n,r.width+=n):"sw"===o?(r.x-=n,r.width+=n,r.height+=n):"ne"===o?(r.y+=n,r.width-=n,r.height-=n):"e"===o?r.width-=n:"se"===o&&(r.width-=n,r.height-=n):"ArrowRight"===t&&("nw"===o?(r.x+=n,r.y+=n,r.width-=n,r.height-=n):"w"===o?(r.x+=n,r.width-=n):"sw"===o?(r.x+=n,r.width-=n,r.height-=n):"ne"===o?(r.y-=n,r.width+=n,r.height+=n):"e"===o?r.width+=n:"se"===o&&(r.width+=n,r.height+=n)),"ArrowUp"===t?"nw"===o?(r.x-=n,r.y-=n,r.width+=n,r.height+=n):"n"===o?(r.y-=n,r.height+=n):"ne"===o?(r.y-=n,r.width+=n,r.height+=n):"sw"===o?(r.x+=n,r.width-=n,r.height-=n):"s"===o?r.height-=n:"se"===o&&(r.width-=n,r.height-=n):"ArrowDown"===t&&("nw"===o?(r.x+=n,r.y+=n,r.width-=n,r.height-=n):"n"===o?(r.y+=n,r.height-=n):"ne"===o?(r.y+=n,r.width-=n,r.height-=n):"sw"===o?(r.x-=n,r.width+=n,r.height+=n):"s"===o?r.height+=n:"se"===o&&(r.width+=n,r.height+=n)),r}const w={capture:!0,passive:!1};class u extends e.PureComponent{constructor(){super(...arguments),this.docMoveBound=!1,this.mouseDownOnCrop=!1,this.dragStarted=!1,this.evData={startClientX:0,startClientY:0,startCropX:0,startCropY:0,clientX:0,clientY:0,isResize:!0},this.componentRef=(0, e.createRef)(),this.mediaRef=(0, e.createRef)(),this.initChangeCalled=!1,this.state={cropIsActive:!1,newCropIsBeingDrawn:!1},this.onCropPointerDown=e=>{const{crop:t,disabled:n}=this.props,o=this.getBox();if(!t)return;const r=l(t,o.width,o.height);if(n)return;e.cancelable&&e.preventDefault(),this.bindDocMove(),this.componentRef.current.focus({preventScroll:!0});const i=e.target.dataset.ord,a=Boolean(i);let h=e.clientX,s=e.clientY,d=r.x,c=r.y;if(i){const t=e.clientX-o.x,n=e.clientY-o.y;let a=0,l=0;"ne"===i||"e"==i?(a=t-(r.x+r.width),l=n-r.y,d=r.x,c=r.y+r.height):"se"===i||"s"===i?(a=t-(r.x+r.width),l=n-(r.y+r.height),d=r.x,c=r.y):"sw"===i||"w"==i?(a=t-r.x,l=n-(r.y+r.height),d=r.x+r.width,c=r.y):"nw"!==i&&"n"!=i||(a=t-r.x,l=n-r.y,d=r.x+r.width,c=r.y+r.height),h=d+o.x+a,s=c+o.y+l;}this.evData={startClientX:h,startClientY:s,startCropX:d,startCropY:c,clientX:e.clientX,clientY:e.clientY,isResize:a,ord:i},this.mouseDownOnCrop=!0,this.setState({cropIsActive:!0});},this.onComponentPointerDown=e=>{const{crop:t,disabled:n,locked:o,keepSelection:r,onChange:i}=this.props,a=this.getBox();if(n||o||r&&t)return;e.cancelable&&e.preventDefault(),this.bindDocMove(),this.componentRef.current.focus({preventScroll:!0});const h=e.clientX-a.x,s=e.clientY-a.y,d={unit:"px",x:h,y:s,width:0,height:0};this.evData={startClientX:e.clientX,startClientY:e.clientY,startCropX:h,startCropY:s,clientX:e.clientX,clientY:e.clientY,isResize:!0},this.mouseDownOnCrop=!0,i(l(d,a.width,a.height),c(d,a.width,a.height)),this.setState({cropIsActive:!0,newCropIsBeingDrawn:!0});},this.onDocPointerMove=e=>{const{crop:t,disabled:n,onChange:o,onDragStart:r}=this.props,i=this.getBox();if(n||!t||!this.mouseDownOnCrop)return;e.cancelable&&e.preventDefault(),this.dragStarted||(this.dragStarted=!0,r&&r(e));const{evData:a}=this;let s;a.clientX=e.clientX,a.clientY=e.clientY,s=a.isResize?this.resizeCrop():this.dragCrop(),h(t,s)||o(l(s,i.width,i.height),c(s,i.width,i.height));},this.onComponentKeyDown=e=>{const{crop:t,disabled:n,onChange:o,onComplete:r}=this.props,i=this.getBox();if(n)return;const h=e.key;let s=!1;if(!t)return;const d=this.makePixelCrop(),p=(navigator.platform.match("Mac")?e.metaKey:e.ctrlKey)?u.nudgeStepLarge:e.shiftKey?u.nudgeStepMedium:u.nudgeStep;if("ArrowLeft"===h?(d.x-=p,s=!0):"ArrowRight"===h?(d.x+=p,s=!0):"ArrowUp"===h?(d.y-=p,s=!0):"ArrowDown"===h&&(d.y+=p,s=!0),s){e.cancelable&&e.preventDefault(),d.x=a(d.x,0,i.width-d.width),d.y=a(d.y,0,i.height-d.height);const t=l(d,i.width,i.height),n=c(d,i.width,i.height);o(t,n),r&&r(t,n);}},this.onHandlerKeyDown=(e,t)=>{const{aspect:n=0,crop:o,disabled:r,minWidth:i=0,minHeight:a=0,maxWidth:s,maxHeight:d,onChange:w,onComplete:m}=this.props,y=this.getBox();if(r||!o)return;if("ArrowUp"!==e.key&&"ArrowDown"!==e.key&&"ArrowLeft"!==e.key&&"ArrowRight"!==e.key)return;e.stopPropagation(),e.preventDefault();const x=(navigator.platform.match("Mac")?e.metaKey:e.ctrlKey)?u.nudgeStepLarge:e.shiftKey?u.nudgeStepMedium:u.nudgeStep,C=p(g(l(o,y.width,y.height),e.key,x,t),n,t,y.width,y.height,i,a,s,d);if(!h(o,C)){const e=c(C,y.width,y.height);w(C,e),m&&m(C,e);}},this.onDocPointerDone=e=>{const{crop:t,disabled:n,onComplete:o,onDragEnd:r}=this.props,i=this.getBox();this.unbindDocMove(),!n&&t&&this.mouseDownOnCrop&&(this.mouseDownOnCrop=!1,this.dragStarted=!1,r&&r(e),o&&o(l(t,i.width,i.height),c(t,i.width,i.height)),this.setState({cropIsActive:!1,newCropIsBeingDrawn:!1}));},this.onDragFocus=e=>{var t;null===(t=this.componentRef.current)||void 0===t||t.scrollTo(0,0);};}get document(){return document}getBox(){const e=this.mediaRef.current;if(!e)return {x:0,y:0,width:0,height:0};const{x:t,y:n,width:o,height:r}=e.getBoundingClientRect();return {x:t,y:n,width:o,height:r}}componentDidUpdate(e){const{crop:t,onComplete:n}=this.props;if(n&&!e.crop&&t){const{width:e,height:o}=this.getBox();e&&o&&n(l(t,e,o),c(t,e,o));}}componentWillUnmount(){this.resizeObserver&&this.resizeObserver.disconnect();}bindDocMove(){this.docMoveBound||(this.document.addEventListener("pointermove",this.onDocPointerMove,w),this.document.addEventListener("pointerup",this.onDocPointerDone,w),this.document.addEventListener("pointercancel",this.onDocPointerDone,w),this.docMoveBound=!0);}unbindDocMove(){this.docMoveBound&&(this.document.removeEventListener("pointermove",this.onDocPointerMove,w),this.document.removeEventListener("pointerup",this.onDocPointerDone,w),this.document.removeEventListener("pointercancel",this.onDocPointerDone,w),this.docMoveBound=!1);}getCropStyle(){const{crop:e}=this.props;if(e)return {top:`${e.y}${e.unit}`,left:`${e.x}${e.unit}`,width:`${e.width}${e.unit}`,height:`${e.height}${e.unit}`}}dragCrop(){const{evData:e}=this,t=this.getBox(),n=this.makePixelCrop(),o=e.clientX-e.startClientX,r=e.clientY-e.startClientY;return n.x=a(e.startCropX+o,0,t.width-n.width),n.y=a(e.startCropY+r,0,t.height-n.height),n}getPointRegion(e){const{evData:t}=this,n=t.clientX-e.x,o=t.clientY-e.y<t.startCropY;return n<t.startCropX?o?"nw":"sw":o?"ne":"se"}resizeCrop(){const{evData:e}=this,t=this.getBox(),{aspect:n=0,minWidth:o=0,minHeight:r=0,maxWidth:i,maxHeight:a}=this.props,h=this.getPointRegion(t),s=this.makePixelCrop(),d=e.ord?e.ord:h,c=e.clientX-e.startClientX,l=e.clientY-e.startClientY,g={unit:"px",x:0,y:0,width:0,height:0};"ne"===h?(g.x=e.startCropX,g.width=c,n?(g.height=g.width/n,g.y=e.startCropY-g.height):(g.height=Math.abs(l),g.y=e.startCropY-g.height)):"se"===h?(g.x=e.startCropX,g.y=e.startCropY,g.width=c,g.height=n?g.width/n:l):"sw"===h?(g.x=e.startCropX+c,g.y=e.startCropY,g.width=Math.abs(c),g.height=n?g.width/n:l):"nw"===h&&(g.x=e.startCropX+c,g.width=Math.abs(c),n?(g.height=g.width/n,g.y=e.startCropY-g.height):(g.height=Math.abs(l),g.y=e.startCropY+l));const w=p(g,n,h,t.width,t.height,o,r,i,a);return n||u.xyOrds.indexOf(d)>-1?(s.x=w.x,s.y=w.y,s.width=w.width,s.height=w.height):u.xOrds.indexOf(d)>-1?(s.x=w.x,s.width=w.width):u.yOrds.indexOf(d)>-1&&(s.y=w.y,s.height=w.height),s}createCropSelection(){const{ariaLabels:e=u.defaultProps.ariaLabels,disabled:n,locked:o,renderSelectionAddon:r,ruleOfThirds:i,crop:a}=this.props,h=this.getCropStyle();if(a)return t().createElement("div",{style:h,className:"ReactCrop__crop-selection",onPointerDown:this.onCropPointerDown,"aria-label":e.cropArea,tabIndex:0,onKeyDown:this.onComponentKeyDown,role:"group"},!n&&!o&&t().createElement("div",{className:"ReactCrop__drag-elements",onFocus:this.onDragFocus},t().createElement("div",{className:"ReactCrop__drag-bar ord-n","data-ord":"n"}),t().createElement("div",{className:"ReactCrop__drag-bar ord-e","data-ord":"e"}),t().createElement("div",{className:"ReactCrop__drag-bar ord-s","data-ord":"s"}),t().createElement("div",{className:"ReactCrop__drag-bar ord-w","data-ord":"w"}),t().createElement("div",{className:"ReactCrop__drag-handle ord-nw","data-ord":"nw",tabIndex:0,"aria-label":e.nwDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"nw"),role:"button"}),t().createElement("div",{className:"ReactCrop__drag-handle ord-n","data-ord":"n",tabIndex:0,"aria-label":e.nDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"n"),role:"button"}),t().createElement("div",{className:"ReactCrop__drag-handle ord-ne","data-ord":"ne",tabIndex:0,"aria-label":e.neDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"ne"),role:"button"}),t().createElement("div",{className:"ReactCrop__drag-handle ord-e","data-ord":"e",tabIndex:0,"aria-label":e.eDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"e"),role:"button"}),t().createElement("div",{className:"ReactCrop__drag-handle ord-se","data-ord":"se",tabIndex:0,"aria-label":e.seDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"se"),role:"button"}),t().createElement("div",{className:"ReactCrop__drag-handle ord-s","data-ord":"s",tabIndex:0,"aria-label":e.sDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"s"),role:"button"}),t().createElement("div",{className:"ReactCrop__drag-handle ord-sw","data-ord":"sw",tabIndex:0,"aria-label":e.swDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"sw"),role:"button"}),t().createElement("div",{className:"ReactCrop__drag-handle ord-w","data-ord":"w",tabIndex:0,"aria-label":e.wDragHandle,onKeyDown:e=>this.onHandlerKeyDown(e,"w"),role:"button"})),r&&t().createElement("div",{className:"ReactCrop__selection-addon",onMouseDown:e=>e.stopPropagation()},r(this.state)),i&&t().createElement(t().Fragment,null,t().createElement("div",{className:"ReactCrop__rule-of-thirds-hz"}),t().createElement("div",{className:"ReactCrop__rule-of-thirds-vt"})))}makePixelCrop(){const e={...i,...this.props.crop||{}},t=this.getBox();return l(e,t.width,t.height)}render(){const{aspect:e,children:o,circularCrop:r,className:i,crop:a,disabled:h,locked:s,style:d,ruleOfThirds:c}=this.props,{cropIsActive:l,newCropIsBeingDrawn:p}=this.state,g=a?this.createCropSelection():null,w=function(){for(var e,t,o=0,r="";o<arguments.length;)(e=arguments[o++])&&(t=n(e))&&(r&&(r+=" "),r+=t);return r}("ReactCrop",i,{"ReactCrop--active":l,"ReactCrop--disabled":h,"ReactCrop--locked":s,"ReactCrop--new-crop":p,"ReactCrop--fixed-aspect":a&&e,"ReactCrop--circular-crop":a&&r,"ReactCrop--rule-of-thirds":a&&c,"ReactCrop--invisible-crop":!this.dragStarted&&a&&!a.width&&!a.height});return t().createElement("div",{ref:this.componentRef,className:w,style:d},t().createElement("div",{ref:this.mediaRef,className:"ReactCrop__child-wrapper",onPointerDown:this.onComponentPointerDown},o),g)}}u.xOrds=["e","w"],u.yOrds=["n","s"],u.xyOrds=["nw","ne","se","sw"],u.nudgeStep=1,u.nudgeStepMedium=10,u.nudgeStepLarge=100,u.defaultProps={ariaLabels:{cropArea:"Use the arrow keys to move the crop selection area",nwDragHandle:"Use the arrow keys to move the north west drag handle to change the crop selection area",nDragHandle:"Use the up and down arrow keys to move the north drag handle to change the crop selection area",neDragHandle:"Use the arrow keys to move the north east drag handle to change the crop selection area",eDragHandle:"Use the up and down arrow keys to move the east drag handle to change the crop selection area",seDragHandle:"Use the arrow keys to move the south east drag handle to change the crop selection area",sDragHandle:"Use the up and down arrow keys to move the south drag handle to change the crop selection area",swDragHandle:"Use the arrow keys to move the south west drag handle to change the crop selection area",wDragHandle:"Use the up and down arrow keys to move the west drag handle to change the crop selection area"}};})(),r})()));
1741
- } (ReactCrop_min, ReactCrop_min.exports));
1742
-
1743
- var ReactCrop_minExports = ReactCrop_min.exports;
1744
- var ReactCrop = /*@__PURE__*/getDefaultExportFromCjs(ReactCrop_minExports);
1745
-
1746
- var cropImage = function cropImage(payload) {
1747
- return axios__default["default"].post("neeto_image_uploader_engine/development/crop_image", payload);
1748
- };
1749
- var developmentApi = {
1750
- cropImage: cropImage
1751
- };
1752
-
1753
- function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1754
- function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1755
- var useCropImage = function useCropImage(options) {
1756
- return reactQuery.useMutation(_objectSpread$4({
1757
- mutationFn: developmentApi.cropImage
1758
- }, options));
1759
- };
1760
-
1761
- var useImageControls = function useImageControls(_ref) {
1762
- var isAspectRatioLocked = _ref.isAspectRatioLocked,
1763
- setAspectRatioLocked = _ref.setAspectRatioLocked,
1764
- setCrop = _ref.setCrop,
1765
- _ref$crop = _ref.crop,
1766
- crop = _ref$crop === void 0 ? {} : _ref$crop,
1767
- aspectRatio = _ref.aspectRatio,
1768
- imageRef = _ref.imageRef,
1769
- setAspectRatio = _ref.setAspectRatio,
1770
- setHeight = _ref.setHeight,
1771
- setWidth = _ref.setWidth;
1772
- var onToggleAspectRatioLock = function onToggleAspectRatioLock() {
1773
- setAspectRatioLocked(function (isAspectRatioLocked) {
1774
- return !isAspectRatioLocked;
1775
- });
1776
- if (!isAspectRatioLocked) {
1777
- var newHeight = crop.width / (aspectRatio.width / aspectRatio.height);
1778
- var newWidth = crop.height * (aspectRatio.width / aspectRatio.height);
1779
- newWidth + Math.trunc(crop.x) <= imageRef.current.width ? setCrop(ramda.mergeRight(crop, {
1780
- width: newWidth
1781
- })) : setCrop(ramda.mergeRight(crop, {
1782
- height: newHeight
1783
- }));
1784
- }
1785
- };
1786
- var handleWidthChange = function handleWidthChange(width) {
1787
- var cropWidth = Number(width);
1788
- var displayWidth = cropWidth * imageRef.current.width / imageRef.current.naturalWidth;
1789
- if (displayWidth > 0 && Math.trunc(crop.x) + displayWidth <= imageRef.current.width) {
1790
- if (isAspectRatioLocked) {
1791
- var displayHeight = displayWidth / (aspectRatio.width / aspectRatio.height);
1792
- displayHeight + Math.trunc(crop.y) <= imageRef.current.height && setCrop(ramda.mergeRight(crop, {
1793
- width: displayWidth,
1794
- height: displayHeight
1795
- }));
1796
- } else {
1797
- setCrop(ramda.mergeRight(crop, {
1798
- width: displayWidth
1799
- }));
1800
- }
1801
- } else {
1802
- setWidth(crop.width.toFixed(2));
1803
- }
1804
- };
1805
- var handleHeightChange = function handleHeightChange(height) {
1806
- var cropHeight = Number(height);
1807
- var displayHeight = cropHeight * imageRef.current.height / imageRef.current.naturalHeight;
1808
- if (displayHeight > 0 && Math.trunc(crop.y) + displayHeight <= imageRef.current.height) {
1809
- if (isAspectRatioLocked) {
1810
- var displayWidth = displayHeight * aspectRatio.width / aspectRatio.height;
1811
- displayWidth + Math.trunc(crop.x) <= imageRef.current.width && setCrop(ramda.mergeRight(crop, {
1812
- height: displayHeight,
1813
- width: displayWidth
1814
- }));
1815
- } else {
1816
- setCrop(ramda.mergeRight(crop, {
1817
- height: displayHeight
1818
- }));
1819
- }
1820
- } else {
1821
- setHeight(crop.height.toFixed(2));
1822
- }
1823
- };
1824
- var handleAspectWidthChange = function handleAspectWidthChange(aspectWidth) {
1825
- if (aspectWidth <= 0) {
1826
- return;
1827
- }
1828
- if (!isAspectRatioLocked) {
1829
- setAspectRatio(ramda.mergeRight(aspectRatio, {
1830
- width: aspectWidth
1831
- }));
1832
- return;
1833
- }
1834
- var newWidth = crop.height * (aspectWidth / aspectRatio.height);
1835
- if (newWidth + Math.trunc(crop.x) <= imageRef.current.width) {
1836
- setCrop(ramda.mergeRight(crop, {
1837
- width: newWidth
1838
- }));
1839
- setAspectRatio(ramda.mergeRight(aspectRatio, {
1840
- width: aspectWidth
1841
- }));
1842
- }
1843
- };
1844
- var handleAspectHeightChange = function handleAspectHeightChange(aspectHeight) {
1845
- if (aspectHeight <= 0) {
1846
- return;
1847
- }
1848
- if (!isAspectRatioLocked) {
1849
- setAspectRatio(ramda.mergeRight(aspectRatio, {
1850
- height: aspectHeight
1851
- }));
1852
- return;
1853
- }
1854
- var newHeight = crop.width / (aspectRatio.width / aspectHeight);
1855
- if (newHeight + Math.trunc(crop.y) <= imageRef.current.height) {
1856
- setCrop(ramda.mergeRight(crop, {
1857
- height: newHeight
1858
- }));
1859
- setAspectRatio(ramda.mergeRight(aspectRatio, {
1860
- height: aspectHeight
1861
- }));
1862
- }
1863
- };
1864
- return {
1865
- onToggleAspectRatioLock: onToggleAspectRatioLock,
1866
- handleWidthChange: handleWidthChange,
1867
- handleHeightChange: handleHeightChange,
1868
- handleAspectWidthChange: handleAspectWidthChange,
1869
- handleAspectHeightChange: handleAspectHeightChange
1870
- };
1871
- };
1872
-
1873
- var Controls = function Controls(_ref) {
1874
- var aspectRatio = _ref.aspectRatio,
1875
- isAspectRatioLocked = _ref.isAspectRatioLocked,
1876
- crop = _ref.crop,
1877
- handleSubmit = _ref.handleSubmit,
1878
- setAspectRatio = _ref.setAspectRatio,
1879
- setAspectRatioLocked = _ref.setAspectRatioLocked,
1880
- setCrop = _ref.setCrop,
1881
- imageRef = _ref.imageRef,
1882
- isFullImage = _ref.isFullImage,
1883
- setIsFullImage = _ref.setIsFullImage,
1884
- _ref$hideControls = _ref.hideControls,
1885
- hideControls = _ref$hideControls === void 0 ? false : _ref$hideControls;
1886
- var _useTranslation = reactI18next.useTranslation(),
1887
- t = _useTranslation.t;
1888
- var getActualCropHeight = function getActualCropHeight(cropHeight) {
1889
- var _imageRef$current, _imageRef$current2;
1890
- return cropHeight * (((_imageRef$current = imageRef.current) === null || _imageRef$current === void 0 ? void 0 : _imageRef$current.naturalHeight) / ((_imageRef$current2 = imageRef.current) === null || _imageRef$current2 === void 0 ? void 0 : _imageRef$current2.height));
1891
- };
1892
- var getActualCropWidth = function getActualCropWidth(cropHeight) {
1893
- var _imageRef$current3, _imageRef$current4;
1894
- return cropHeight * (((_imageRef$current3 = imageRef.current) === null || _imageRef$current3 === void 0 ? void 0 : _imageRef$current3.naturalWidth) / ((_imageRef$current4 = imageRef.current) === null || _imageRef$current4 === void 0 ? void 0 : _imageRef$current4.width));
1895
- };
1896
- var _useState = require$$0.useState(getActualCropHeight(crop.height)),
1897
- _useState2 = _slicedToArray(_useState, 2),
1898
- height = _useState2[0],
1899
- setHeight = _useState2[1];
1900
- var _useState3 = require$$0.useState(getActualCropWidth(crop.width)),
1901
- _useState4 = _slicedToArray(_useState3, 2),
1902
- width = _useState4[0],
1903
- setWidth = _useState4[1];
1904
- var _useImageControls = useImageControls({
1905
- isAspectRatioLocked: isAspectRatioLocked,
1906
- setAspectRatioLocked: setAspectRatioLocked,
1907
- setCrop: setCrop,
1908
- crop: crop,
1909
- aspectRatio: aspectRatio,
1910
- imageRef: imageRef,
1911
- setAspectRatio: setAspectRatio,
1912
- setHeight: setHeight,
1913
- setWidth: setWidth
1914
- }),
1915
- onToggleAspectRatioLock = _useImageControls.onToggleAspectRatioLock,
1916
- handleWidthChange = _useImageControls.handleWidthChange,
1917
- handleHeightChange = _useImageControls.handleHeightChange,
1918
- handleAspectWidthChange = _useImageControls.handleAspectWidthChange,
1919
- handleAspectHeightChange = _useImageControls.handleAspectHeightChange;
1920
- var debouncedHeight = reactUtils.useDebounce(height, 800);
1921
- var debouncedWidth = reactUtils.useDebounce(width, 800);
1922
- require$$0.useEffect(function () {
1923
- handleHeightChange(debouncedHeight);
1924
- }, [debouncedHeight]);
1925
- require$$0.useEffect(function () {
1926
- handleWidthChange(debouncedWidth);
1927
- }, [debouncedWidth]);
1928
- require$$0.useEffect(function () {
1929
- setHeight(getActualCropHeight(crop.height));
1930
- setWidth(getActualCropWidth(crop.width));
1931
- }, [crop]);
1932
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
1933
- className: "flex flex-col p-4 md:w-2/6 ",
1934
- children: [!hideControls && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
1935
- children: [/*#__PURE__*/jsxRuntime.jsx(Switch__default["default"], {
1936
- checked: isFullImage,
1937
- className: "flex-grow-0",
1938
- label: t("neetoImageUploader.labels.selectOriginalImage"),
1939
- onChange: function onChange() {
1940
- return setIsFullImage(function (isFullImage) {
1941
- return !isFullImage;
1942
- });
1943
- }
1944
- }), /*#__PURE__*/jsxRuntime.jsx(Switch__default["default"], {
1945
- checked: isAspectRatioLocked,
1946
- className: "mt-4 flex-grow-0",
1947
- disabled: isFullImage,
1948
- label: t("neetoImageUploader.labels.lockAspectRatio"),
1949
- onChange: onToggleAspectRatioLock
1950
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1951
- className: "mb-2 mt-6",
1952
- style: "body2",
1953
- children: t("neetoImageUploader.imageEditor.aspectRatio")
1954
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
1955
- className: "flex gap-4 self-start",
1956
- children: [/*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
1957
- "data-cy": "aspect-ratio-width-input",
1958
- disabled: isFullImage,
1959
- size: "small",
1960
- type: "number",
1961
- value: aspectRatio.width,
1962
- onChange: utils.withEventTargetValue(handleAspectWidthChange)
1963
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1964
- children: " : "
1965
- }), /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
1966
- "data-cy": "aspect-ratio-height-input",
1967
- disabled: isFullImage,
1968
- size: "small",
1969
- type: "number",
1970
- value: aspectRatio.height,
1971
- onChange: utils.withEventTargetValue(handleAspectHeightChange)
1972
- })]
1973
- })]
1974
- }), /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
1975
- className: "mt-4 flex-grow-0",
1976
- disabled: isFullImage,
1977
- label: t("neetoImageUploader.labels.width"),
1978
- type: "number",
1979
- value: Math.round(width),
1980
- onChange: utils.withEventTargetValue(setWidth)
1981
- }), /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
1982
- className: "mt-4 flex-grow-0",
1983
- disabled: isFullImage,
1984
- label: t("neetoImageUploader.labels.height"),
1985
- type: "number",
1986
- value: Math.round(height),
1987
- onChange: utils.withEventTargetValue(setHeight)
1988
- }), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
1989
- className: "mt-6 self-start",
1990
- "data-cy": "neeto-image-uploader-crop-submit-button",
1991
- label: t("neetoImageUploader.labels.done"),
1992
- disabled: isNilOrEmpty(imageRef.current) && (crop.width <= 0 || crop.height <= 0),
1993
- onClick: handleSubmit
1994
- })]
1995
- });
1996
- };
1997
-
1998
- var ImageEditor = function ImageEditor(_ref) {
1999
- var image = _ref.image,
2000
- handleReset = _ref.handleReset,
2001
- _ref$handleImageEditC = _ref.handleImageEditComplete,
2002
- handleImageEditComplete = _ref$handleImageEditC === void 0 ? neetoCist.noop : _ref$handleImageEditC,
2003
- _ref$signedId = _ref.signedId,
2004
- signedId = _ref$signedId === void 0 ? "" : _ref$signedId,
2005
- _ref$fixedAspectRatio = _ref.fixedAspectRatio,
2006
- fixedAspectRatio = _ref$fixedAspectRatio === void 0 ? {} : _ref$fixedAspectRatio;
2007
- var _useState = require$$0.useState(true),
2008
- _useState2 = _slicedToArray(_useState, 2),
2009
- isAspectRatioLocked = _useState2[0],
2010
- setIsAspectRatioLocked = _useState2[1];
2011
- var _useState3 = require$$0.useState(false),
2012
- _useState4 = _slicedToArray(_useState3, 2),
2013
- isFullImage = _useState4[0],
2014
- setIsFullImage = _useState4[1];
2015
- var _useState5 = require$$0.useState({
2016
- width: (fixedAspectRatio === null || fixedAspectRatio === void 0 ? void 0 : fixedAspectRatio.width) || 16,
2017
- height: (fixedAspectRatio === null || fixedAspectRatio === void 0 ? void 0 : fixedAspectRatio.height) || 9
2018
- }),
2019
- _useState6 = _slicedToArray(_useState5, 2),
2020
- aspectRatio = _useState6[0],
2021
- setAspectRatio = _useState6[1];
2022
- var _useState7 = require$$0.useState(DEFAULT_CROP_CONFIG),
2023
- _useState8 = _slicedToArray(_useState7, 2),
2024
- crop = _useState8[0],
2025
- setCrop = _useState8[1];
2026
- var _useTranslation = reactI18next.useTranslation(),
2027
- t = _useTranslation.t;
2028
- var _useCropImage = useCropImage(),
2029
- cropImage = _useCropImage.mutate;
2030
- var imageRef = require$$0.useRef(null);
2031
- var wrapperRef = require$$0.useRef(null);
2032
- var cropAspectRatio = neetoCist.isPresent(fixedAspectRatio === null || fixedAspectRatio === void 0 ? void 0 : fixedAspectRatio.width) && neetoCist.isPresent(fixedAspectRatio.height) ? (fixedAspectRatio === null || fixedAspectRatio === void 0 ? void 0 : fixedAspectRatio.width) / (fixedAspectRatio === null || fixedAspectRatio === void 0 ? void 0 : fixedAspectRatio.height) : 16 / 9;
2033
- var processCrop = function processCrop() {
2034
- if (isFullImage) {
2035
- handleImageEditComplete(image);
2036
- return;
2037
- }
2038
- cropImage({
2039
- crop: getCropValues({
2040
- crop: crop,
2041
- imageRef: imageRef
2042
- }),
2043
- signedId: signedId
2044
- }, {
2045
- onSuccess: handleImageEditComplete
2046
- });
2047
- };
2048
- var handleSubmit = function handleSubmit() {
2049
- if (IS_DEVELOPMENT_OR_HEROKU_ENV) {
2050
- processCrop();
2051
- return;
2052
- }
2053
- if (isFullImage) {
2054
- handleImageEditComplete(image);
2055
- return;
2056
- }
2057
- var newURL = getCroppedImageURL({
2058
- crop: crop,
2059
- imageURL: image.url,
2060
- imageRef: imageRef
2061
- });
2062
- handleImageEditComplete(ramda.mergeRight(image, {
2063
- url: newURL
2064
- }));
2065
- };
2066
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
2067
- className: "flex h-full flex-col gap-4 px-8 py-12",
2068
- children: [/*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
2069
- className: "self-start",
2070
- "data-cy": "image-editor-back-button",
2071
- icon: LeftArrow__default["default"],
2072
- iconPosition: "left",
2073
- style: "text",
2074
- onClick: handleReset
2075
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
2076
- className: "flex h-full w-full flex-col gap-2 overflow-y-scroll md:flex-row md:overflow-y-auto",
2077
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
2078
- id: "imageEditor",
2079
- ref: wrapperRef,
2080
- className: classnames__default["default"]("flex", "h-full w-full md:w-4/6", "justify-around", "neeto-ui-bg-gray-200", {
2081
- "items-center": isItemsCenter({
2082
- wrapperRef: wrapperRef,
2083
- imageRef: imageRef
2084
- })
2085
- }),
2086
- children: /*#__PURE__*/jsxRuntime.jsx(ReactCrop, {
2087
- crop: isFullImage ? null : crop,
2088
- src: image === null || image === void 0 ? void 0 : image.url,
2089
- aspect: isAspectRatioLocked ? aspectRatio.width / aspectRatio.height : 0,
2090
- onChange: setCrop,
2091
- onComplete: setCrop,
2092
- children: /*#__PURE__*/jsxRuntime.jsx("img", {
2093
- alt: t("neetoImageUploader.common.image"),
2094
- "data-cy": "image-editor-uploaded-image",
2095
- ref: imageRef,
2096
- src: image === null || image === void 0 ? void 0 : image.url,
2097
- onLoad: function onLoad(e) {
2098
- return onImageLoaded({
2099
- image: e.target,
2100
- setCrop: setCrop,
2101
- cropAspectRatio: cropAspectRatio
2102
- });
2103
- }
2104
- })
2105
- })
2106
- }), /*#__PURE__*/jsxRuntime.jsx(Controls, {
2107
- aspectRatio: aspectRatio,
2108
- crop: crop,
2109
- handleSubmit: handleSubmit,
2110
- imageRef: imageRef,
2111
- isAspectRatioLocked: isAspectRatioLocked,
2112
- isFullImage: isFullImage,
2113
- setAspectRatio: setAspectRatio,
2114
- setCrop: setCrop,
2115
- setIsFullImage: setIsFullImage,
2116
- hideControls: neetoCist.isPresent(fixedAspectRatio),
2117
- setAspectRatioLocked: setIsAspectRatioLocked
2118
- })]
2119
- })]
2120
- });
2121
- };
2122
-
2123
- var fetch = function fetch(_ref) {
2124
- var searchTerm = _ref.searchTerm,
2125
- url = _ref.url,
2126
- page = _ref.page,
2127
- per = _ref.per;
2128
- return axios__default["default"].get(url, {
2129
- params: {
2130
- searchTerm: searchTerm,
2131
- page: page,
2132
- per: per
2133
- }
2134
- });
2135
- };
2136
- var imagesApi = {
2137
- fetch: fetch
2138
- };
2139
-
2140
- function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2141
- function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2142
- var useFetchAssets = function useFetchAssets(_ref) {
2143
- var searchTerm = _ref.searchTerm,
2144
- url = _ref.url,
2145
- per = _ref.per;
2146
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2147
- return reactQuery.useInfiniteQuery(_objectSpread$3({
2148
- queryKey: [QUERY_KEYS.ASSETS_LIST, searchTerm],
2149
- queryFn: function queryFn(_ref2) {
2150
- var _ref2$pageParam = _ref2.pageParam,
2151
- pageParam = _ref2$pageParam === void 0 ? 1 : _ref2$pageParam;
2152
- return imagesApi.fetch({
2153
- searchTerm: searchTerm,
2154
- url: url,
2155
- page: pageParam,
2156
- per: per
2157
- });
2158
- },
2159
- getNextPageParam: function getNextPageParam(lastPage, _, lastPageParam) {
2160
- return lastPage.length === IMAGES_PER_PAGE ? lastPageParam + 1 : null;
2161
- },
2162
- select: function select(data) {
2163
- var results = data.pages.flatMap(ramda.identity);
2164
- return {
2165
- results: results
2166
- };
2167
- },
2168
- initialPageParam: 1,
2169
- staleTime: ASSETS_STALE_TIME
2170
- }, options));
2171
- };
2172
-
2173
- var lib = {};
2174
-
2175
- var propTypes = {exports: {}};
2176
-
2177
- /**
2178
- * Copyright (c) 2013-present, Facebook, Inc.
2179
- *
2180
- * This source code is licensed under the MIT license found in the
2181
- * LICENSE file in the root directory of this source tree.
2182
- */
2183
-
2184
- var ReactPropTypesSecret$1 = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
2185
-
2186
- var ReactPropTypesSecret_1 = ReactPropTypesSecret$1;
2187
-
2188
- /**
2189
- * Copyright (c) 2013-present, Facebook, Inc.
2190
- *
2191
- * This source code is licensed under the MIT license found in the
2192
- * LICENSE file in the root directory of this source tree.
2193
- */
2194
-
2195
- var ReactPropTypesSecret = ReactPropTypesSecret_1;
2196
-
2197
- function emptyFunction() {}
2198
- function emptyFunctionWithReset() {}
2199
- emptyFunctionWithReset.resetWarningCache = emptyFunction;
2200
-
2201
- var factoryWithThrowingShims = function() {
2202
- function shim(props, propName, componentName, location, propFullName, secret) {
2203
- if (secret === ReactPropTypesSecret) {
2204
- // It is still safe when called from React.
2205
- return;
2206
- }
2207
- var err = new Error(
2208
- 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
2209
- 'Use PropTypes.checkPropTypes() to call them. ' +
2210
- 'Read more at http://fb.me/use-check-prop-types'
2211
- );
2212
- err.name = 'Invariant Violation';
2213
- throw err;
2214
- } shim.isRequired = shim;
2215
- function getShim() {
2216
- return shim;
2217
- } // Important!
2218
- // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
2219
- var ReactPropTypes = {
2220
- array: shim,
2221
- bigint: shim,
2222
- bool: shim,
2223
- func: shim,
2224
- number: shim,
2225
- object: shim,
2226
- string: shim,
2227
- symbol: shim,
2228
-
2229
- any: shim,
2230
- arrayOf: getShim,
2231
- element: shim,
2232
- elementType: shim,
2233
- instanceOf: getShim,
2234
- node: shim,
2235
- objectOf: getShim,
2236
- oneOf: getShim,
2237
- oneOfType: getShim,
2238
- shape: getShim,
2239
- exact: getShim,
2240
-
2241
- checkPropTypes: emptyFunctionWithReset,
2242
- resetWarningCache: emptyFunction
2243
- };
2244
-
2245
- ReactPropTypes.PropTypes = ReactPropTypes;
2246
-
2247
- return ReactPropTypes;
2248
- };
2249
-
2250
- /**
2251
- * Copyright (c) 2013-present, Facebook, Inc.
2252
- *
2253
- * This source code is licensed under the MIT license found in the
2254
- * LICENSE file in the root directory of this source tree.
2255
- */
2256
-
2257
- {
2258
- // By explicitly using `prop-types` you are opting into new production behavior.
2259
- // http://fb.me/prop-types-in-prod
2260
- propTypes.exports = factoryWithThrowingShims();
2261
- }
2262
-
2263
- var propTypesExports = propTypes.exports;
2264
-
2265
- var _extends = Object.assign || function (target) {
2266
- for (var i = 1; i < arguments.length; i++) {
2267
- var source = arguments[i];
2268
-
2269
- for (var key in source) {
2270
- if (Object.prototype.hasOwnProperty.call(source, key)) {
2271
- target[key] = source[key];
2272
- }
2273
- }
2274
- }
2275
-
2276
- return target;
2277
- };
2278
-
2279
- var knot = function knot() {
2280
- var extended = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2281
-
2282
- var events = Object.create(null);
2283
-
2284
- function on(name, handler) {
2285
- events[name] = events[name] || [];
2286
- events[name].push(handler);
2287
- return this;
2288
- }
2289
-
2290
- function once(name, handler) {
2291
- handler._once = true;
2292
- on(name, handler);
2293
- return this;
2294
- }
2295
-
2296
- function off(name) {
2297
- var handler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
2298
-
2299
- handler ? events[name].splice(events[name].indexOf(handler), 1) : delete events[name];
2300
-
2301
- return this;
2302
- }
2303
-
2304
- function emit(name) {
2305
- var _this = this;
2306
-
2307
- for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
2308
- args[_key - 1] = arguments[_key];
2309
- }
2310
-
2311
- // cache the events, to avoid consequences of mutation
2312
- var cache = events[name] && events[name].slice();
2313
-
2314
- // only fire handlers if they exist
2315
- cache && cache.forEach(function (handler) {
2316
- // remove handlers added with 'once'
2317
- handler._once && off(name, handler);
2318
-
2319
- // set 'this' context, pass args to handlers
2320
- handler.apply(_this, args);
2321
- });
2322
-
2323
- return this;
2324
- }
2325
-
2326
- return _extends({}, extended, {
2327
-
2328
- on: on,
2329
- once: once,
2330
- off: off,
2331
- emit: emit
2332
- });
2333
- };
2334
-
2335
- var bricks = function bricks() {
2336
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2337
-
2338
- // privates
2339
-
2340
- var persist = void 0; // packing new elements, or all elements?
2341
- var ticking = void 0; // for debounced resize
2342
-
2343
- var sizeIndex = void 0;
2344
- var sizeDetail = void 0;
2345
-
2346
- var columnTarget = void 0;
2347
- var columnHeights = void 0;
2348
-
2349
- var nodeTop = void 0;
2350
- var nodeLeft = void 0;
2351
- var nodeWidth = void 0;
2352
- var nodeHeight = void 0;
2353
-
2354
- var nodes = void 0;
2355
- var nodesWidths = void 0;
2356
- var nodesHeights = void 0;
2357
-
2358
- // resolve options
2359
-
2360
- var packed = options.packed.indexOf('data-') === 0 ? options.packed : 'data-' + options.packed;
2361
- var sizes = options.sizes.slice().reverse();
2362
- var position = options.position !== false;
2363
-
2364
- var container = options.container.nodeType ? options.container : document.querySelector(options.container);
2365
-
2366
- var selectors = {
2367
- all: function all() {
2368
- return toArray(container.children);
2369
- },
2370
- new: function _new() {
2371
- return toArray(container.children).filter(function (node) {
2372
- return !node.hasAttribute('' + packed);
2373
- });
2374
- }
2375
- };
2376
-
2377
- // series
2378
-
2379
- var setup = [setSizeIndex, setSizeDetail, setColumns];
2380
-
2381
- var run = [setNodes, setNodesDimensions, setNodesStyles, setContainerStyles];
2382
-
2383
- // instance
2384
-
2385
- var instance = knot({
2386
- pack: pack,
2387
- update: update,
2388
- resize: resize
2389
- });
2390
-
2391
- return instance;
2392
-
2393
- // general helpers
2394
-
2395
- function runSeries(functions) {
2396
- functions.forEach(function (func) {
2397
- return func();
2398
- });
2399
- }
2400
-
2401
- // array helpers
2402
-
2403
- function toArray(input) {
2404
-
2405
- return Array.prototype.slice.call(input);
2406
- }
2407
-
2408
- function fillArray(length) {
2409
- return Array.apply(null, Array(length)).map(function () {
2410
- return 0;
2411
- });
2412
- }
2413
-
2414
- // size helpers
2415
-
2416
- function getSizeIndex() {
2417
- // find index of widest matching media query
2418
- return sizes.map(function (size) {
2419
- return size.mq && window.matchMedia('(min-width: ' + size.mq + ')').matches;
2420
- }).indexOf(true);
2421
- }
2422
-
2423
- function setSizeIndex() {
2424
- sizeIndex = getSizeIndex();
2425
- }
2426
-
2427
- function setSizeDetail() {
2428
- // if no media queries matched, use the base case
2429
- sizeDetail = sizeIndex === -1 ? sizes[sizes.length - 1] : sizes[sizeIndex];
2430
- }
2431
-
2432
- // column helpers
2433
-
2434
- function setColumns() {
2435
- columnHeights = fillArray(sizeDetail.columns);
2436
- }
2437
-
2438
- // node helpers
2439
-
2440
- function setNodes() {
2441
- nodes = selectors[persist ? 'new' : 'all']();
2442
- }
2443
-
2444
- function setNodesDimensions() {
2445
- // exit if empty container
2446
- if (nodes.length === 0) {
2447
- return;
2448
- }
2449
-
2450
- nodesWidths = nodes.map(function (element) {
2451
- return element.clientWidth;
2452
- });
2453
- nodesHeights = nodes.map(function (element) {
2454
- return element.clientHeight;
2455
- });
2456
- }
2457
-
2458
- function setNodesStyles() {
2459
- nodes.forEach(function (element, index) {
2460
- columnTarget = columnHeights.indexOf(Math.min.apply(Math, columnHeights));
2461
-
2462
- element.style.position = 'absolute';
2463
-
2464
- nodeTop = columnHeights[columnTarget] + 'px';
2465
- nodeLeft = columnTarget * nodesWidths[index] + columnTarget * sizeDetail.gutter + 'px';
2466
-
2467
- // support positioned elements (default) or transformed elements
2468
- if (position) {
2469
- element.style.top = nodeTop;
2470
- element.style.left = nodeLeft;
2471
- } else {
2472
- element.style.transform = 'translate3d(' + nodeLeft + ', ' + nodeTop + ', 0)';
2473
- }
2474
-
2475
- element.setAttribute(packed, '');
2476
-
2477
- // ignore nodes with no width and/or height
2478
- nodeWidth = nodesWidths[index];
2479
- nodeHeight = nodesHeights[index];
2480
-
2481
- if (nodeWidth && nodeHeight) {
2482
- columnHeights[columnTarget] += nodeHeight + sizeDetail.gutter;
2483
- }
2484
- });
2485
- }
2486
-
2487
- // container helpers
2488
-
2489
- function setContainerStyles() {
2490
- container.style.position = 'relative';
2491
- container.style.width = sizeDetail.columns * nodeWidth + (sizeDetail.columns - 1) * sizeDetail.gutter + 'px';
2492
- container.style.height = Math.max.apply(Math, columnHeights) - sizeDetail.gutter + 'px';
2493
- }
2494
-
2495
- // resize helpers
2496
-
2497
- function resizeFrame() {
2498
- if (!ticking) {
2499
- window.requestAnimationFrame(resizeHandler);
2500
- ticking = true;
2501
- }
2502
- }
2503
-
2504
- function resizeHandler() {
2505
- if (sizeIndex !== getSizeIndex()) {
2506
- pack();
2507
- instance.emit('resize', sizeDetail);
2508
- }
2509
-
2510
- ticking = false;
2511
- }
2512
-
2513
- // API
2514
-
2515
- function pack() {
2516
- persist = false;
2517
- runSeries(setup.concat(run));
2518
-
2519
- return instance.emit('pack');
2520
- }
2521
-
2522
- function update() {
2523
- persist = true;
2524
- runSeries(run);
2525
-
2526
- return instance.emit('update');
2527
- }
2528
-
2529
- function resize() {
2530
- var flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
2531
-
2532
- var action = flag ? 'addEventListener' : 'removeEventListener';
2533
-
2534
- window[action]('resize', resizeFrame);
2535
-
2536
- return instance;
2537
- }
2538
- };
2539
-
2540
- var bricks_module = /*#__PURE__*/Object.freeze({
2541
- __proto__: null,
2542
- 'default': bricks
2543
- });
2544
-
2545
- var require$$2 = /*@__PURE__*/getAugmentedNamespace(bricks_module);
2546
-
2547
- var InfiniteScroll = {exports: {}};
2548
-
2549
- InfiniteScroll.exports;
2550
-
2551
- (function (module, exports) {
2552
-
2553
- Object.defineProperty(exports, "__esModule", {
2554
- value: true
2555
- });
2556
-
2557
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
2558
-
2559
- var _react = require$$0__default["default"];
2560
-
2561
- var _react2 = _interopRequireDefault(_react);
2562
-
2563
- var _propTypes = propTypesExports;
2564
-
2565
- var _propTypes2 = _interopRequireDefault(_propTypes);
2566
-
2567
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2568
-
2569
- function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
2570
-
2571
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2572
-
2573
- function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
2574
-
2575
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
2576
-
2577
- var InfiniteScroll = function (_Component) {
2578
- _inherits(InfiniteScroll, _Component);
2579
-
2580
- function InfiniteScroll(props) {
2581
- _classCallCheck(this, InfiniteScroll);
2582
-
2583
- var _this = _possibleConstructorReturn(this, (InfiniteScroll.__proto__ || Object.getPrototypeOf(InfiniteScroll)).call(this, props));
2584
-
2585
- _this.scrollListener = _this.scrollListener.bind(_this);
2586
- _this.eventListenerOptions = _this.eventListenerOptions.bind(_this);
2587
- _this.mousewheelListener = _this.mousewheelListener.bind(_this);
2588
- return _this;
2589
- }
2590
-
2591
- _createClass(InfiniteScroll, [{
2592
- key: 'componentDidMount',
2593
- value: function componentDidMount() {
2594
- this.pageLoaded = this.props.pageStart;
2595
- this.options = this.eventListenerOptions();
2596
- this.attachScrollListener();
2597
- }
2598
- }, {
2599
- key: 'componentDidUpdate',
2600
- value: function componentDidUpdate() {
2601
- if (this.props.isReverse && this.loadMore) {
2602
- var parentElement = this.getParentElement(this.scrollComponent);
2603
- parentElement.scrollTop = parentElement.scrollHeight - this.beforeScrollHeight + this.beforeScrollTop;
2604
- this.loadMore = false;
2605
- }
2606
- this.attachScrollListener();
2607
- }
2608
- }, {
2609
- key: 'componentWillUnmount',
2610
- value: function componentWillUnmount() {
2611
- this.detachScrollListener();
2612
- this.detachMousewheelListener();
2613
- }
2614
- }, {
2615
- key: 'isPassiveSupported',
2616
- value: function isPassiveSupported() {
2617
- var passive = false;
2618
-
2619
- var testOptions = {
2620
- get passive() {
2621
- passive = true;
2622
- }
2623
- };
2624
-
2625
- try {
2626
- document.addEventListener('test', null, testOptions);
2627
- document.removeEventListener('test', null, testOptions);
2628
- } catch (e) {
2629
- // ignore
2630
- }
2631
- return passive;
2632
- }
2633
- }, {
2634
- key: 'eventListenerOptions',
2635
- value: function eventListenerOptions() {
2636
- var options = this.props.useCapture;
2637
-
2638
- if (this.isPassiveSupported()) {
2639
- options = {
2640
- useCapture: this.props.useCapture,
2641
- passive: true
2642
- };
2643
- } else {
2644
- options = {
2645
- passive: false
2646
- };
2647
- }
2648
- return options;
2649
- }
2650
-
2651
- // Set a defaut loader for all your `InfiniteScroll` components
2652
-
2653
- }, {
2654
- key: 'setDefaultLoader',
2655
- value: function setDefaultLoader(loader) {
2656
- this.defaultLoader = loader;
2657
- }
2658
- }, {
2659
- key: 'detachMousewheelListener',
2660
- value: function detachMousewheelListener() {
2661
- var scrollEl = window;
2662
- if (this.props.useWindow === false) {
2663
- scrollEl = this.scrollComponent.parentNode;
2664
- }
2665
-
2666
- scrollEl.removeEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);
2667
- }
2668
- }, {
2669
- key: 'detachScrollListener',
2670
- value: function detachScrollListener() {
2671
- var scrollEl = window;
2672
- if (this.props.useWindow === false) {
2673
- scrollEl = this.getParentElement(this.scrollComponent);
2674
- }
2675
-
2676
- scrollEl.removeEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);
2677
- scrollEl.removeEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);
2678
- }
2679
- }, {
2680
- key: 'getParentElement',
2681
- value: function getParentElement(el) {
2682
- var scrollParent = this.props.getScrollParent && this.props.getScrollParent();
2683
- if (scrollParent != null) {
2684
- return scrollParent;
2685
- }
2686
- return el && el.parentNode;
2687
- }
2688
- }, {
2689
- key: 'filterProps',
2690
- value: function filterProps(props) {
2691
- return props;
2692
- }
2693
- }, {
2694
- key: 'attachScrollListener',
2695
- value: function attachScrollListener() {
2696
- var parentElement = this.getParentElement(this.scrollComponent);
2697
-
2698
- if (!this.props.hasMore || !parentElement) {
2699
- return;
2700
- }
2701
-
2702
- var scrollEl = window;
2703
- if (this.props.useWindow === false) {
2704
- scrollEl = parentElement;
2705
- }
2706
-
2707
- scrollEl.addEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);
2708
- scrollEl.addEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);
2709
- scrollEl.addEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);
2710
-
2711
- if (this.props.initialLoad) {
2712
- this.scrollListener();
2713
- }
2714
- }
2715
- }, {
2716
- key: 'mousewheelListener',
2717
- value: function mousewheelListener(e) {
2718
- // Prevents Chrome hangups
2719
- // See: https://stackoverflow.com/questions/47524205/random-high-content-download-time-in-chrome/47684257#47684257
2720
- if (e.deltaY === 1 && !this.isPassiveSupported()) {
2721
- e.preventDefault();
2722
- }
2723
- }
2724
- }, {
2725
- key: 'scrollListener',
2726
- value: function scrollListener() {
2727
- var el = this.scrollComponent;
2728
- var scrollEl = window;
2729
- var parentNode = this.getParentElement(el);
2730
-
2731
- var offset = void 0;
2732
- if (this.props.useWindow) {
2733
- var doc = document.documentElement || document.body.parentNode || document.body;
2734
- var scrollTop = scrollEl.pageYOffset !== undefined ? scrollEl.pageYOffset : doc.scrollTop;
2735
- if (this.props.isReverse) {
2736
- offset = scrollTop;
2737
- } else {
2738
- offset = this.calculateOffset(el, scrollTop);
2739
- }
2740
- } else if (this.props.isReverse) {
2741
- offset = parentNode.scrollTop;
2742
- } else {
2743
- offset = el.scrollHeight - parentNode.scrollTop - parentNode.clientHeight;
2744
- }
2745
-
2746
- // Here we make sure the element is visible as well as checking the offset
2747
- if (offset < Number(this.props.threshold) && el && el.offsetParent !== null) {
2748
- this.detachScrollListener();
2749
- this.beforeScrollHeight = parentNode.scrollHeight;
2750
- this.beforeScrollTop = parentNode.scrollTop;
2751
- // Call loadMore after detachScrollListener to allow for non-async loadMore functions
2752
- if (typeof this.props.loadMore === 'function') {
2753
- this.props.loadMore(this.pageLoaded += 1);
2754
- this.loadMore = true;
2755
- }
2756
- }
2757
- }
2758
- }, {
2759
- key: 'calculateOffset',
2760
- value: function calculateOffset(el, scrollTop) {
2761
- if (!el) {
2762
- return 0;
2763
- }
2764
-
2765
- return this.calculateTopPosition(el) + (el.offsetHeight - scrollTop - window.innerHeight);
2766
- }
2767
- }, {
2768
- key: 'calculateTopPosition',
2769
- value: function calculateTopPosition(el) {
2770
- if (!el) {
2771
- return 0;
2772
- }
2773
- return el.offsetTop + this.calculateTopPosition(el.offsetParent);
2774
- }
2775
- }, {
2776
- key: 'render',
2777
- value: function render() {
2778
- var _this2 = this;
2779
-
2780
- var renderProps = this.filterProps(this.props);
2781
-
2782
- var children = renderProps.children,
2783
- element = renderProps.element,
2784
- hasMore = renderProps.hasMore;
2785
- renderProps.initialLoad;
2786
- var isReverse = renderProps.isReverse,
2787
- loader = renderProps.loader;
2788
- renderProps.loadMore;
2789
- renderProps.pageStart;
2790
- var ref = renderProps.ref;
2791
- renderProps.threshold;
2792
- renderProps.useCapture;
2793
- renderProps.useWindow;
2794
- renderProps.getScrollParent;
2795
- var props = _objectWithoutProperties(renderProps, ['children', 'element', 'hasMore', 'initialLoad', 'isReverse', 'loader', 'loadMore', 'pageStart', 'ref', 'threshold', 'useCapture', 'useWindow', 'getScrollParent']);
2796
-
2797
- props.ref = function (node) {
2798
- _this2.scrollComponent = node;
2799
- if (ref) {
2800
- ref(node);
2801
- }
2802
- };
2803
-
2804
- var childrenArray = [children];
2805
- if (hasMore) {
2806
- if (loader) {
2807
- isReverse ? childrenArray.unshift(loader) : childrenArray.push(loader);
2808
- } else if (this.defaultLoader) {
2809
- isReverse ? childrenArray.unshift(this.defaultLoader) : childrenArray.push(this.defaultLoader);
2810
- }
2811
- }
2812
- return _react2.default.createElement(element, props, childrenArray);
2813
- }
2814
- }]);
2815
-
2816
- return InfiniteScroll;
2817
- }(_react.Component);
2818
-
2819
- InfiniteScroll.propTypes = {
2820
- children: _propTypes2.default.node.isRequired,
2821
- element: _propTypes2.default.node,
2822
- hasMore: _propTypes2.default.bool,
2823
- initialLoad: _propTypes2.default.bool,
2824
- isReverse: _propTypes2.default.bool,
2825
- loader: _propTypes2.default.node,
2826
- loadMore: _propTypes2.default.func.isRequired,
2827
- pageStart: _propTypes2.default.number,
2828
- ref: _propTypes2.default.func,
2829
- getScrollParent: _propTypes2.default.func,
2830
- threshold: _propTypes2.default.number,
2831
- useCapture: _propTypes2.default.bool,
2832
- useWindow: _propTypes2.default.bool
2833
- };
2834
- InfiniteScroll.defaultProps = {
2835
- element: 'div',
2836
- hasMore: false,
2837
- initialLoad: true,
2838
- pageStart: 0,
2839
- ref: null,
2840
- threshold: 250,
2841
- useWindow: true,
2842
- isReverse: false,
2843
- useCapture: false,
2844
- loader: null,
2845
- getScrollParent: null
2846
- };
2847
- exports.default = InfiniteScroll;
2848
- module.exports = exports['default'];
2849
- } (InfiniteScroll, InfiniteScroll.exports));
2850
-
2851
- var InfiniteScrollExports = InfiniteScroll.exports;
2852
-
2853
- var reactInfiniteScroller = InfiniteScrollExports;
2854
-
2855
- Object.defineProperty(lib, "__esModule", {
2856
- value: true
2857
- });
2858
- var _default = lib.default = undefined;
2859
-
2860
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
2861
-
2862
- var _class, _temp2;
2863
-
2864
- var _react = require$$0__default["default"];
2865
-
2866
- var _react2 = _interopRequireDefault(_react);
2867
-
2868
- var _propTypes = propTypesExports;
2869
-
2870
- var _propTypes2 = _interopRequireDefault(_propTypes);
2871
-
2872
- var _bricks = require$$2;
2873
-
2874
- var _bricks2 = _interopRequireDefault(_bricks);
2875
-
2876
- var _reactInfiniteScroller = reactInfiniteScroller;
2877
-
2878
- var _reactInfiniteScroller2 = _interopRequireDefault(_reactInfiniteScroller);
2879
-
2880
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2881
-
2882
- function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
2883
-
2884
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2885
-
2886
- function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
2887
-
2888
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
2889
-
2890
- var MasonryInfiniteScroller = (_temp2 = _class = function (_Component) {
2891
- _inherits(MasonryInfiniteScroller, _Component);
2892
-
2893
- function MasonryInfiniteScroller() {
2894
- var _ref;
2895
-
2896
- var _temp, _this, _ret;
2897
-
2898
- _classCallCheck(this, MasonryInfiniteScroller);
2899
-
2900
- for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
2901
- args[_key] = arguments[_key];
2902
- }
2903
-
2904
- return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = MasonryInfiniteScroller.__proto__ || Object.getPrototypeOf(MasonryInfiniteScroller)).call.apply(_ref, [this].concat(args))), _this), _this.setContainerRef = function (component) {
2905
- _this.masonryContainer = component;
2906
- }, _this.forcePack = function () {
2907
- if (_this.masonryContainer) {
2908
- _this.state.instance.pack();
2909
- }
2910
- }, _this.forceUpdate = function () {
2911
- if (_this.masonryContainer) {
2912
- _this.state.instance.update();
2913
- }
2914
- }, _this.createNewInstance = function () {
2915
- var _this$props = _this.props,
2916
- packed = _this$props.packed,
2917
- sizes = _this$props.sizes,
2918
- children = _this$props.children,
2919
- position = _this$props.position;
2920
-
2921
- var instance = (0, _bricks2.default)({
2922
- container: _this.masonryContainer,
2923
- packed: packed,
2924
- sizes: sizes,
2925
- position: position
2926
- });
2927
-
2928
- instance.resize(true);
2929
-
2930
- if (children.length > 0) {
2931
- instance.pack();
2932
- }
2933
-
2934
- _this.setState(function () {
2935
- return { instance: instance };
2936
- });
2937
- }, _temp), _possibleConstructorReturn(_this, _ret);
2938
- }
2939
-
2940
- _createClass(MasonryInfiniteScroller, [{
2941
- key: 'componentDidMount',
2942
- value: function componentDidMount() {
2943
- this.createNewInstance();
2944
- }
2945
- }, {
2946
- key: 'componentDidUpdate',
2947
- value: function componentDidUpdate(prevProps) {
2948
- var children = this.props.children;
2949
- var instance = this.state.instance;
2950
-
2951
-
2952
- if (prevProps.children.length === 0 && children.length === 0) {
2953
- return;
2954
- }
2955
-
2956
- if (prevProps.children.length === 0 && children.length > 0) {
2957
- return instance.pack();
2958
- }
2959
-
2960
- if (prevProps.children.length !== children.length) {
2961
- if (this.props.pack) {
2962
- return instance.pack();
2963
- } else {
2964
- return instance.update();
2965
- }
2966
- }
2967
- }
2968
- }, {
2969
- key: 'componentWillUnmount',
2970
- value: function componentWillUnmount() {
2971
- if (this.state) {
2972
- this.state.instance.resize(false);
2973
- }
2974
- }
2975
- }, {
2976
- key: 'render',
2977
- value: function render() {
2978
- var _props = this.props,
2979
- children = _props.children,
2980
- className = _props.className,
2981
- style = _props.style;
2982
- _props.pack;
2983
- _props.packed;
2984
- _props.position;
2985
- _props.sizes;
2986
- var props = _objectWithoutProperties(_props, ['children', 'className', 'style', 'pack', 'packed', 'position', 'sizes']);
2987
-
2988
- return _react2.default.createElement(
2989
- _reactInfiniteScroller2.default,
2990
- props,
2991
- _react2.default.createElement(
2992
- 'div',
2993
- { ref: this.setContainerRef, className: className, style: style },
2994
- children
2995
- )
2996
- );
2997
- }
2998
- }]);
2999
-
3000
- return MasonryInfiniteScroller;
3001
- }(_react.Component), _class.propTypes = {
3002
- children: _propTypes2.default.arrayOf(_propTypes2.default.element).isRequired,
3003
- className: _propTypes2.default.string,
3004
- initialLoad: _propTypes2.default.bool,
3005
- pack: _propTypes2.default.bool,
3006
- packed: _propTypes2.default.string,
3007
- position: _propTypes2.default.bool,
3008
- sizes: _propTypes2.default.array,
3009
- style: _propTypes2.default.object
3010
- }, _class.defaultProps = {
3011
- className: '',
3012
- initialLoad: true,
3013
- pack: false,
3014
- packed: 'data-packed',
3015
- position: true,
3016
- sizes: [{ columns: 1, gutter: 20 }, { mq: '768px', columns: 2, gutter: 20 }, { mq: '1024px', columns: 3, gutter: 20 }],
3017
- style: {}
3018
- }, _temp2);
3019
- _default = lib.default = MasonryInfiniteScroller;
3020
-
3021
- var InfiniteScroller = function InfiniteScroller(_ref) {
3022
- var _ref$hasMore = _ref.hasMore,
3023
- hasMore = _ref$hasMore === void 0 ? false : _ref$hasMore,
3024
- _ref$loadMore = _ref.loadMore,
3025
- loadMore = _ref$loadMore === void 0 ? neetoCist.noop : _ref$loadMore,
3026
- tab = _ref.tab,
3027
- images = _ref.images,
3028
- _ref$setSelectedImage = _ref.setSelectedImage,
3029
- setSelectedImage = _ref$setSelectedImage === void 0 ? neetoCist.noop : _ref$setSelectedImage,
3030
- _ref$handleUnsplashIm = _ref.handleUnsplashImageSelect,
3031
- handleUnsplashImageSelect = _ref$handleUnsplashIm === void 0 ? neetoCist.noop : _ref$handleUnsplashIm;
3032
- var _useTranslation = reactI18next.useTranslation(),
3033
- t = _useTranslation.t;
3034
- var Loader = /*#__PURE__*/jsxRuntime.jsx("div", {
3035
- className: "flex justify-center",
3036
- children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {})
3037
- });
3038
- return /*#__PURE__*/jsxRuntime.jsx("div", {
3039
- className: "niu-unsplash-container mr-2 max-w-full overflow-x-hidden overflow-y-scroll",
3040
- children: /*#__PURE__*/jsxRuntime.jsx(_default, {
3041
- hasMore: hasMore,
3042
- loadMore: loadMore,
3043
- pack: true,
3044
- position: true,
3045
- className: "w-full",
3046
- loader: Loader,
3047
- sizes: INFINITE_SCROLLER_SIZES,
3048
- style: INFINITE_SCROLLER_STYLE,
3049
- useWindow: false,
3050
- children: images.map(function (image, index) {
3051
- var _image$urls, _image$user, _image$user2;
3052
- return /*#__PURE__*/jsxRuntime.jsx("div", {
3053
- className: "float-left w-1/2 pb-4 pr-4 md:w-1/4",
3054
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
3055
- className: "relative w-full",
3056
- style: {
3057
- paddingBottom: "".concat(image.height / image.width * 100, "%")
3058
- },
3059
- children: /*#__PURE__*/jsxRuntime.jsxs("div", {
3060
- className: "neeto-ui-rounded-sm neeto-ui-bg-gray-100 group absolute h-full w-full",
3061
- id: "unsplashImage".concat(image.id),
3062
- children: [tab === TABS[1].key && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
3063
- children: [/*#__PURE__*/jsxRuntime.jsx("img", {
3064
- "data-cy": "niu-unsplash-image-".concat(index),
3065
- src: image === null || image === void 0 || (_image$urls = image.urls) === null || _image$urls === void 0 ? void 0 : _image$urls.regular,
3066
- onClick: function onClick() {
3067
- return handleUnsplashImageSelect(image);
3068
- }
3069
- }), /*#__PURE__*/jsxRuntime.jsxs("a", {
3070
- className: "neeto-ui-text-gray-100 absolute bottom-2 left-2 m-auto text-xs underline opacity-0 group-hover:opacity-100",
3071
- href: "https://unsplash.com/@".concat(image === null || image === void 0 || (_image$user = image.user) === null || _image$user === void 0 ? void 0 : _image$user.username),
3072
- rel: "noreferrer",
3073
- target: "_blank",
3074
- children: [image === null || image === void 0 || (_image$user2 = image.user) === null || _image$user2 === void 0 ? void 0 : _image$user2.name, " | ", " ", t("neetoImageUploader.labels.unsplash")]
3075
- })]
3076
- }), tab === TABS[0].key && /*#__PURE__*/jsxRuntime.jsx("img", {
3077
- "data-cy": "niu-library-image-".concat(index),
3078
- src: image === null || image === void 0 ? void 0 : image.url,
3079
- onClick: function onClick() {
3080
- return setSelectedImage(image);
3081
- }
3082
- })]
3083
- })
3084
- })
3085
- }, image.id);
3086
- })
3087
- })
3088
- });
3089
- };
3090
-
3091
- var Images = function Images(_ref) {
3092
- var debouncedQuery = _ref.debouncedQuery,
3093
- setSelectedImage = _ref.setSelectedImage;
3094
- var _useTranslation = reactI18next.useTranslation(),
3095
- t = _useTranslation.t;
3096
- var _useFetchAssets = useFetchAssets({
3097
- searchTerm: debouncedQuery,
3098
- per: IMAGES_PER_PAGE,
3099
- url: ASSETS_FETCH_URL
3100
- }),
3101
- fetchNextPage = _useFetchAssets.fetchNextPage,
3102
- hasNextPage = _useFetchAssets.hasNextPage,
3103
- _useFetchAssets$data = _useFetchAssets.data,
3104
- _useFetchAssets$data2 = _useFetchAssets$data === void 0 ? {} : _useFetchAssets$data,
3105
- _useFetchAssets$data3 = _useFetchAssets$data2.results,
3106
- results = _useFetchAssets$data3 === void 0 ? [] : _useFetchAssets$data3,
3107
- isLoading = _useFetchAssets.isLoading,
3108
- isError = _useFetchAssets.isError;
3109
- if (isError) {
3110
- return /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
3111
- className: "mt-9 flex justify-center",
3112
- style: "body2",
3113
- children: t("neetoImageUploader.unsplash.errorMessage")
3114
- });
3115
- }
3116
- if (isLoading) {
3117
- return /*#__PURE__*/jsxRuntime.jsx("div", {
3118
- className: "flex justify-around",
3119
- children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {})
3120
- });
3121
- }
3122
- return /*#__PURE__*/require$$0.createElement(InfiniteScroller, {
3123
- setSelectedImage: setSelectedImage,
3124
- hasMore: hasNextPage,
3125
- images: results,
3126
- key: debouncedQuery,
3127
- loadMore: fetchNextPage,
3128
- tab: TABS[0].key
3129
- });
3130
- };
3131
-
3132
- var newAxiosInstance = axios__default["default"].create();
3133
- var searchUnsplashImages = function searchUnsplashImages(_ref) {
3134
- var pageNo = _ref.pageNo,
3135
- query = _ref.query;
3136
- return axios__default["default"].get("neeto_image_uploader_engine/unsplash/fetch", {
3137
- params: {
3138
- page: pageNo,
3139
- per_page: 30,
3140
- query: query || "latest"
3141
- }
3142
- });
3143
- };
3144
- var getUnsplashImage = function getUnsplashImage(url) {
3145
- var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3146
- return newAxiosInstance.get(url, config);
3147
- };
3148
- var unsplashApi = {
3149
- searchUnsplashImages: searchUnsplashImages,
3150
- getUnsplashImage: getUnsplashImage
3151
- };
3152
-
3153
- function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3154
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3155
- var UNSPLASH_LIST = QUERY_KEYS.UNSPLASH_LIST;
3156
- var useFetchUnsplashImages = function useFetchUnsplashImages(_ref) {
3157
- var query = _ref.query;
3158
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3159
- return reactQuery.useInfiniteQuery(_objectSpread$2({
3160
- queryKey: [UNSPLASH_LIST, {
3161
- query: query
3162
- }],
3163
- queryFn: function queryFn(_ref2) {
3164
- var _ref2$pageParam = _ref2.pageParam,
3165
- pageParam = _ref2$pageParam === void 0 ? 1 : _ref2$pageParam;
3166
- return unsplashApi.searchUnsplashImages({
3167
- pageNo: pageParam,
3168
- query: query
3169
- });
3170
- },
3171
- initialPageParam: 1,
3172
- getNextPageParam: function getNextPageParam(lastPage, _, lastPageParam) {
3173
- return lastPageParam < lastPage.totalPages ? lastPageParam + 1 : null;
3174
- },
3175
- select: function select(data) {
3176
- var results = data.pages.flatMap(ramda.prop("results"));
3177
- return {
3178
- results: results
3179
- };
3180
- },
3181
- staleTime: UNSPLASH_STALE_TIME,
3182
- placeholderData: reactQuery.keepPreviousData
3183
- }, options));
3184
- };
3185
-
3186
- var uploadWithDirectUpload = function uploadWithDirectUpload(file) {
3187
- return new Promise(function (resolve, reject) {
3188
- var upload = new activestorage.DirectUpload(file, "/api/direct_uploads");
3189
- upload.create(function (error, blob) {
3190
- if (error) {
3191
- reject(error);
3192
- return;
3193
- }
3194
- var payload = {
3195
- id: blob.signed_id,
3196
- payload: {
3197
- metadata: {
3198
- organizationKey: initializers.globalProps.organization.publicApiKey,
3199
- url: blob.blob_url,
3200
- height: 200,
3201
- width: 200
3202
- }
3203
- }
3204
- };
3205
- directUploadsApi.update(payload);
3206
- resolve(ramda.mergeRight(neetoCist.keysToCamelCase(blob), {
3207
- url: blob.blob_url
3208
- }));
3209
- });
3210
- });
3211
- };
3212
- var uploadWithImageKit = function uploadWithImageKit(file) {
3213
- var authenticationEndpoint = "".concat(window.location.origin, "/neeto_image_uploader_engine/imagekit/auth");
3214
- var imagekit = new ImageKit(ramda.mergeRight(initializers.globalProps.imagekit, {
3215
- authenticationEndpoint: authenticationEndpoint
3216
- }));
3217
- return imagekit.upload({
3218
- file: file,
3219
- fileName: UNSPLASH_DEFAULT_NAME,
3220
- folder: initializers.globalProps.imagekit.folder,
3221
- customMetadata: {
3222
- organizationKey: initializers.globalProps.organization.publicApiKey,
3223
- appName: initializers.globalProps.appName
3224
- }
3225
- });
3226
- };
3227
-
3228
- var UnsplashLibrary = function UnsplashLibrary(_ref) {
3229
- var debouncedQuery = _ref.debouncedQuery,
3230
- setSelectedImage = _ref.setSelectedImage,
3231
- setIsUploading = _ref.setIsUploading,
3232
- setActiveTab = _ref.setActiveTab;
3233
- var handleUnsplashImageSelect = /*#__PURE__*/function () {
3234
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(image) {
3235
- var _image$urls, response, file, result;
3236
- return _regeneratorRuntime.wrap(function _callee$(_context) {
3237
- while (1) switch (_context.prev = _context.next) {
3238
- case 0:
3239
- _context.prev = 0;
3240
- setIsUploading(true);
3241
- _context.next = 4;
3242
- return unsplashApi.getUnsplashImage((_image$urls = image.urls) === null || _image$urls === void 0 ? void 0 : _image$urls.regular, UNSPLASH_DEFAULT_REQUEST_CONFIG);
3243
- case 4:
3244
- response = _context.sent;
3245
- file = new File([response.data], UNSPLASH_DEFAULT_NAME, {
3246
- type: response.data.type
3247
- });
3248
- if (!IS_DEVELOPMENT_OR_HEROKU_ENV) {
3249
- _context.next = 12;
3250
- break;
3251
- }
3252
- _context.next = 9;
3253
- return uploadWithDirectUpload(file);
3254
- case 9:
3255
- _context.t0 = _context.sent;
3256
- _context.next = 15;
3257
- break;
3258
- case 12:
3259
- _context.next = 14;
3260
- return uploadWithImageKit(file);
3261
- case 14:
3262
- _context.t0 = _context.sent;
3263
- case 15:
3264
- result = _context.t0;
3265
- setSelectedImage(result);
3266
- _context.next = 23;
3267
- break;
3268
- case 19:
3269
- _context.prev = 19;
3270
- _context.t1 = _context["catch"](0);
3271
- Toastr__default["default"].error(_context.t1);
3272
- setActiveTab(TABS[0].key);
3273
- case 23:
3274
- _context.prev = 23;
3275
- setIsUploading(false);
3276
- return _context.finish(23);
3277
- case 26:
3278
- case "end":
3279
- return _context.stop();
3280
- }
3281
- }, _callee, null, [[0, 19, 23, 26]]);
3282
- }));
3283
- return function handleUnsplashImageSelect(_x) {
3284
- return _ref2.apply(this, arguments);
3285
- };
3286
- }();
3287
- var _useTranslation = reactI18next.useTranslation(),
3288
- t = _useTranslation.t;
3289
- var _useFetchUnsplashImag = useFetchUnsplashImages({
3290
- query: debouncedQuery
3291
- }),
3292
- fetchNextPage = _useFetchUnsplashImag.fetchNextPage,
3293
- hasNextPage = _useFetchUnsplashImag.hasNextPage,
3294
- _useFetchUnsplashImag2 = _useFetchUnsplashImag.data,
3295
- _useFetchUnsplashImag3 = _useFetchUnsplashImag2 === void 0 ? {} : _useFetchUnsplashImag2,
3296
- _useFetchUnsplashImag4 = _useFetchUnsplashImag3.results,
3297
- results = _useFetchUnsplashImag4 === void 0 ? [] : _useFetchUnsplashImag4,
3298
- isError = _useFetchUnsplashImag.isError,
3299
- isLoading = _useFetchUnsplashImag.isLoading;
3300
- if (isError) {
3301
- return /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
3302
- className: "mt-9 flex justify-center",
3303
- style: "body2",
3304
- children: t("neetoImageUploader.unsplash.errorMessage")
3305
- });
3306
- }
3307
- if (isLoading) {
3308
- return /*#__PURE__*/jsxRuntime.jsx("div", {
3309
- className: "flex justify-around",
3310
- children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {})
3311
- });
3312
- }
3313
- return /*#__PURE__*/require$$0.createElement(InfiniteScroller, {
3314
- debouncedQuery: debouncedQuery,
3315
- handleUnsplashImageSelect: handleUnsplashImageSelect,
3316
- hasMore: hasNextPage,
3317
- images: results,
3318
- key: debouncedQuery,
3319
- loadMore: fetchNextPage,
3320
- tab: TABS[1].key
3321
- });
3322
- };
3323
-
3324
- var ImageLibrary = function ImageLibrary(_ref) {
3325
- var setSelectedImage = _ref.setSelectedImage,
3326
- tab = _ref.tab,
3327
- setIsUploading = _ref.setIsUploading,
3328
- setActiveTab = _ref.setActiveTab;
3329
- var _useState = require$$0.useState(""),
3330
- _useState2 = _slicedToArray(_useState, 2),
3331
- query = _useState2[0],
3332
- setQuery = _useState2[1];
3333
- var _useTranslation = reactI18next.useTranslation(),
3334
- t = _useTranslation.t;
3335
- var debouncedQuery = reactUtils.useDebounce(query, 400);
3336
- var inputPlaceHolder = ramda.equals(tab, TABS[1].key) ? t("neetoImageUploader.placeholders.searchImageFromWeb") : t("neetoImageUploader.placeholders.searchImage");
3337
- require$$0.useEffect(function () {
3338
- setQuery("");
3339
- }, [tab]);
3340
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
3341
- className: "w-full pb-2 pl-6 pt-1",
3342
- children: [/*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
3343
- autoFocus: true,
3344
- className: "mb-4 mr-6",
3345
- "data-cy": "niu-unsplash-image-picker-search-input",
3346
- name: "text",
3347
- placeholder: inputPlaceHolder,
3348
- value: query,
3349
- onChange: function onChange(_ref2) {
3350
- var value = _ref2.target.value;
3351
- return setQuery(value);
3352
- }
3353
- }), tab === TABS[0].key ? /*#__PURE__*/jsxRuntime.jsx(Images, {
3354
- debouncedQuery: debouncedQuery,
3355
- query: query,
3356
- setSelectedImage: setSelectedImage
3357
- }) : /*#__PURE__*/jsxRuntime.jsx(UnsplashLibrary, {
3358
- debouncedQuery: debouncedQuery,
3359
- query: query,
3360
- setActiveTab: setActiveTab,
3361
- setIsUploading: setIsUploading,
3362
- setSelectedImage: setSelectedImage
3363
- })]
3364
- });
3365
- };
3366
-
3367
- var _excluded$1 = ["key"];
3368
- function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3369
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3370
- var Modal = function Modal(_ref) {
3371
- var isOpen = _ref.isOpen,
3372
- _ref$onClose = _ref.onClose,
3373
- onClose = _ref$onClose === void 0 ? neetoCist.noop : _ref$onClose,
3374
- _ref$onUploadComplete = _ref.onUploadComplete,
3375
- onUploadComplete = _ref$onUploadComplete === void 0 ? neetoCist.noop : _ref$onUploadComplete,
3376
- _ref$uploadConfig = _ref.uploadConfig,
3377
- uploadConfig = _ref$uploadConfig === void 0 ? {} : _ref$uploadConfig,
3378
- _ref$fixedAspectRatio = _ref.fixedAspectRatio,
3379
- fixedAspectRatio = _ref$fixedAspectRatio === void 0 ? {} : _ref$fixedAspectRatio;
3380
- var _useState = require$$0.useState(TABS[0].key),
3381
- _useState2 = _slicedToArray(_useState, 2),
3382
- activeTab = _useState2[0],
3383
- setActiveTab = _useState2[1];
3384
- var _useState3 = require$$0.useState({}),
3385
- _useState4 = _slicedToArray(_useState3, 2),
3386
- selectedImage = _useState4[0],
3387
- setSelectedImage = _useState4[1];
3388
- var _useState5 = require$$0.useState(false),
3389
- _useState6 = _slicedToArray(_useState5, 2),
3390
- isUploading = _useState6[0],
3391
- setIsUploading = _useState6[1];
3392
- var _useTranslation = reactI18next.useTranslation(),
3393
- t = _useTranslation.t;
3394
- var _useCreateBlob = useCreateBlob(),
3395
- createBlob = _useCreateBlob.mutate;
3396
- var uploadConfigWithDefaults = ramda.mergeRight(DEFAULT_UPLOAD_CONFIG, uploadConfig);
3397
- var handleCloseModal = function handleCloseModal() {
3398
- onClose();
3399
- setSelectedImage({});
3400
- };
3401
- var handleImageEditComplete = function handleImageEditComplete(editedImage) {
3402
- if (IS_DEVELOPMENT_OR_HEROKU_ENV) {
3403
- onUploadComplete({
3404
- url: editedImage.url,
3405
- signedId: editedImage.signedId
3406
- });
3407
- } else {
3408
- var payload = {
3409
- filename: editedImage.name,
3410
- byte_size: editedImage.size,
3411
- content_type: editedImage.fileType,
3412
- checksum: editedImage.fileId,
3413
- metadata: editedImage,
3414
- service_name: "imagekitio"
3415
- };
3416
- createBlob(payload, {
3417
- onSuccess: function onSuccess(image) {
3418
- onUploadComplete({
3419
- url: image.blobUrl,
3420
- signedId: image.signedId
3421
- });
3422
- },
3423
- onError: Toastr__default["default"].error
3424
- });
3425
- }
3426
- handleCloseModal();
3427
- };
3428
- var _useImageUploader = useImageUploader({
3429
- onUploadComplete: setSelectedImage,
3430
- setIsUploading: setIsUploading
3431
- }),
3432
- uploadFile = _useImageUploader.uploadFile;
3433
- var _useUploadDropzone = useUploadDropzone({
3434
- uploadConfig: uploadConfigWithDefaults,
3435
- onDrop: uploadFile
3436
- }),
3437
- getRootProps = _useUploadDropzone.getRootProps,
3438
- getInputProps = _useUploadDropzone.getInputProps,
3439
- isDragActive = _useUploadDropzone.isDragActive,
3440
- inputRef = _useUploadDropzone.inputRef;
3441
- var openFileUploadDialog = function openFileUploadDialog() {
3442
- var _inputRef$current;
3443
- return (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.click();
3444
- };
3445
- var options = createOptions([{
3446
- key: "local",
3447
- onClick: openFileUploadDialog
3448
- }]);
3449
- require$$0.useEffect(function () {
3450
- setActiveTab(TABS[0].key);
3451
- }, [isOpen]);
3452
- return /*#__PURE__*/jsxRuntime.jsxs(NeetoUIModal__default["default"], {
3453
- isOpen: isOpen,
3454
- className: "niu-modal",
3455
- size: "large",
3456
- onClose: handleCloseModal,
3457
- children: [isUploading && /*#__PURE__*/jsxRuntime.jsx("div", {
3458
- className: "neeto-ui-bg-gray-400 absolute inset-0 z-50 flex h-full items-center justify-center opacity-50",
3459
- children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {})
3460
- }), isNilOrEmpty(selectedImage) && isDragActive && /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$1(_objectSpread$1({
3461
- className: "neeto-ui-rounded-xl neeto-ui-bg-gray-400 absolute flex h-full w-full flex-col items-center justify-around border-4 border-dashed border-gray-900 opacity-40"
3462
- }, getRootProps()), {}, {
3463
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
3464
- children: t("neetoImageUploader.common.dropHere")
3465
- })
3466
- })), !isNilOrEmpty(selectedImage) ? /*#__PURE__*/jsxRuntime.jsx(ImageEditor, {
3467
- fixedAspectRatio: fixedAspectRatio,
3468
- handleImageEditComplete: handleImageEditComplete,
3469
- handleReset: function handleReset() {
3470
- return setSelectedImage({});
3471
- },
3472
- image: selectedImage,
3473
- signedId: selectedImage === null || selectedImage === void 0 ? void 0 : selectedImage.signedId
3474
- }) : /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread$1(_objectSpread$1({
3475
- className: "h-full flex-col"
3476
- }, getRootProps({
3477
- onClick: function onClick(event) {
3478
- return event.stopPropagation();
3479
- }
3480
- })), {}, {
3481
- children: [/*#__PURE__*/jsxRuntime.jsx(NeetoUIModal__default["default"].Header, {
3482
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
3483
- style: "h2",
3484
- children: t("neetoImageUploader.common.imageLibrary")
3485
- })
3486
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
3487
- className: "px-6 py-2",
3488
- children: /*#__PURE__*/jsxRuntime.jsxs("div", {
3489
- className: "flex flex-col items-center justify-between gap-2 sm:flex-row",
3490
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
3491
- className: "flex gap-2",
3492
- children: /*#__PURE__*/jsxRuntime.jsx(Tab__default["default"], {
3493
- size: "small",
3494
- children: TABS.map(function (tab) {
3495
- return /*#__PURE__*/jsxRuntime.jsx(Tab__default["default"].Item, {
3496
- active: activeTab === tab.key,
3497
- "data-cy": tab.dataCy,
3498
- onClick: function onClick() {
3499
- return setActiveTab(tab.key);
3500
- },
3501
- children: tab.label
3502
- }, tab.key);
3503
- })
3504
- })
3505
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
3506
- className: "flex gap-2",
3507
- children: options.map(function (_ref2) {
3508
- var key = _ref2.key,
3509
- otherProps = _objectWithoutProperties$1(_ref2, _excluded$1);
3510
- return /*#__PURE__*/require$$0.createElement(Button__default["default"], _objectSpread$1(_objectSpread$1({}, otherProps), {}, {
3511
- key: key,
3512
- size: "small"
3513
- }));
3514
- })
3515
- })]
3516
- })
3517
- }), /*#__PURE__*/jsxRuntime.jsx(ImageLibrary, {
3518
- setActiveTab: setActiveTab,
3519
- setIsUploading: setIsUploading,
3520
- setSelectedImage: setSelectedImage,
3521
- tab: activeTab
3522
- }), ramda.equals(activeTab, TABS[1].key) && /*#__PURE__*/jsxRuntime.jsx(NeetoUIModal__default["default"].Footer, {
3523
- className: "flex items-center justify-center gap-2",
3524
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
3525
- style: "body2",
3526
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
3527
- i18nKey: "neetoImageUploader.unsplash.poweredByUnsplash",
3528
- components: {
3529
- a: /*#__PURE__*/jsxRuntime.jsx("a", {
3530
- href: UNSPLASH_URL,
3531
- rel: "noreferrer",
3532
- target: "_blank"
3533
- })
3534
- }
3535
- })
3536
- })
3537
- })]
3538
- })), /*#__PURE__*/jsxRuntime.jsx("input", _objectSpread$1({}, getInputProps()))]
3539
- });
3540
- };
3541
-
3542
- var _excluded = ["key", "label"];
3543
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3544
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3545
- var Menu = Dropdown__default["default"].Menu,
3546
- MenuItem = Dropdown__default["default"].MenuItem;
3547
- var ImageUploader = function ImageUploader(_ref) {
3548
- var _ref$onUploadComplete = _ref.onUploadComplete,
3549
- onUploadComplete = _ref$onUploadComplete === void 0 ? neetoCist.noop : _ref$onUploadComplete,
3550
- _ref$className = _ref.className,
3551
- className = _ref$className === void 0 ? "" : _ref$className,
3552
- _ref$src = _ref.src,
3553
- src = _ref$src === void 0 ? "" : _ref$src,
3554
- _ref$uploadConfig = _ref.uploadConfig,
3555
- uploadConfig = _ref$uploadConfig === void 0 ? {} : _ref$uploadConfig,
3556
- _ref$fixedAspectRatio = _ref.fixedAspectRatio,
3557
- fixedAspectRatio = _ref$fixedAspectRatio === void 0 ? {} : _ref$fixedAspectRatio;
3558
- var _useState = require$$0.useState(false),
3559
- _useState2 = _slicedToArray(_useState, 2),
3560
- isAssetLibraryOpen = _useState2[0],
3561
- setIsAssetLibraryOpen = _useState2[1];
3562
- var _useState3 = require$$0.useState({
3563
- url: src
3564
- }),
3565
- _useState4 = _slicedToArray(_useState3, 2),
3566
- image = _useState4[0],
3567
- setImage = _useState4[1];
3568
- var _useTranslation = reactI18next.useTranslation(),
3569
- t = _useTranslation.t;
3570
- var _useCreateBlob = useCreateBlob(),
3571
- createBlob = _useCreateBlob.mutate;
3572
- var uploadConfigWithDefaults = ramda.mergeRight(DEFAULT_UPLOAD_CONFIG, uploadConfig);
3573
- var handleDelete = function handleDelete() {
3574
- setImage({});
3575
- onChange({
3576
- url: "",
3577
- signedId: "",
3578
- key: "",
3579
- filename: "",
3580
- size: "",
3581
- type: ""
3582
- });
3583
- };
3584
- var onChange = function onChange(file) {
3585
- return onUploadComplete(file);
3586
- };
3587
- var handleSuccess = function handleSuccess(attachedImage) {
3588
- setImage(ramda.mergeRight(image, {
3589
- url: attachedImage.metadata.url
3590
- }));
3591
- onChange({
3592
- filename: attachedImage.filename,
3593
- key: attachedImage.key,
3594
- url: attachedImage.blobUrl,
3595
- signedId: attachedImage.signedId,
3596
- size: attachedImage.byteSize,
3597
- type: attachedImage.contentType
3598
- });
3599
- };
3600
- var handleImageSelectionFromLibrary = function handleImageSelectionFromLibrary(image) {
3601
- setImage(image);
3602
- onChange(image);
3603
- };
3604
- var handleUploadComplete = function handleUploadComplete(image) {
3605
- if (IS_DEVELOPMENT_OR_HEROKU_ENV) {
3606
- handleSuccess(ramda.mergeRight(image, {
3607
- metadata: {
3608
- url: image.url
3609
- }
3610
- }));
3611
- return;
3612
- }
3613
- var payload = {
3614
- filename: image.name,
3615
- byte_size: image.size,
3616
- content_type: image.fileType,
3617
- checksum: image.fileId,
3618
- metadata: image,
3619
- service_name: "imagekitio"
3620
- };
3621
- createBlob(payload, {
3622
- onSuccess: handleSuccess,
3623
- onError: Toastr__default["default"].error
3624
- });
3625
- };
3626
- var _useImageUploader = useImageUploader({
3627
- onUploadComplete: handleUploadComplete
3628
- }),
3629
- uploadFile = _useImageUploader.uploadFile;
3630
- var options = [{
3631
- key: OPTION_KEYS.asset,
3632
- label: t("neetoImageUploader.imageUpload.imageLibrary"),
3633
- onClick: function onClick() {
3634
- return setIsAssetLibraryOpen(true);
3635
- },
3636
- "data-cy": "image-uploader-open-image-library-button"
3637
- }, {
3638
- key: OPTION_KEYS.remove,
3639
- label: t("neetoImageUploader.imageUpload.remove"),
3640
- onClick: handleDelete,
3641
- "data-cy": "image-uploader-remove-button"
3642
- }];
3643
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
3644
- className: classnames__default["default"](className, {
3645
- "cursor-pointer": true
3646
- }),
3647
- children: [isNotNilOrEmpty(image.url) ? /*#__PURE__*/jsxRuntime.jsxs("div", {
3648
- className: IMAGE_WRAPPER_CLASSNAME,
3649
- "data-cy": "image-uploader-wrapper",
3650
- children: [/*#__PURE__*/jsxRuntime.jsx(ImageWithFallback, {
3651
- className: "h-full w-full",
3652
- "data-cy": "uploaded-image",
3653
- src: image.url
3654
- }), /*#__PURE__*/jsxRuntime.jsx(Dropdown__default["default"], {
3655
- buttonProps: {
3656
- className: "absolute right-3 top-3"
3657
- },
3658
- buttonSize: "small",
3659
- buttonStyle: "primary",
3660
- icon: MenuHorizontal__default["default"],
3661
- children: /*#__PURE__*/jsxRuntime.jsx(Menu, {
3662
- children: options.map(function (_ref2) {
3663
- var key = _ref2.key,
3664
- label = _ref2.label,
3665
- otherProps = _objectWithoutProperties$1(_ref2, _excluded);
3666
- return /*#__PURE__*/require$$0.createElement(MenuItem.Button, _objectSpread(_objectSpread({}, otherProps), {}, {
3667
- key: key
3668
- }), label);
3669
- })
3670
- })
3671
- })]
3672
- }) : /*#__PURE__*/jsxRuntime.jsx(ImageDirectUpload, {
3673
- setIsAssetLibraryOpen: setIsAssetLibraryOpen,
3674
- isDisabled: neetoCist.isPresent(fixedAspectRatio),
3675
- uploadConfig: uploadConfigWithDefaults,
3676
- onDrop: uploadFile
3677
- }), /*#__PURE__*/jsxRuntime.jsx(Modal, {
3678
- fixedAspectRatio: fixedAspectRatio,
3679
- isOpen: isAssetLibraryOpen,
3680
- uploadConfig: uploadConfigWithDefaults,
3681
- onClose: function onClose() {
3682
- return setIsAssetLibraryOpen(false);
3683
- },
3684
- onUploadComplete: handleImageSelectionFromLibrary
3685
- })]
3686
- });
3687
- };
3688
-
3689
- var useImageUpload = function useImageUpload() {
3690
- var _useState = require$$0.useState(0),
3691
- _useState2 = _slicedToArray(_useState, 2),
3692
- uploadProgress = _useState2[0],
3693
- setUploadProgress = _useState2[1];
3694
- var _useState3 = require$$0.useState(false),
3695
- _useState4 = _slicedToArray(_useState3, 2),
3696
- isUploading = _useState4[0],
3697
- setIsUploading = _useState4[1];
3698
- var authenticationEndpoint = "".concat(window.location.origin, "/neeto_image_uploader_engine/imagekit/auth");
3699
- var _useCreateBlob = useCreateBlob(),
3700
- createBlob = _useCreateBlob.mutate;
3701
- var handleUploadProgress = function handleUploadProgress(e, fileSize) {
3702
- if (e.loaded <= fileSize) {
3703
- var percent = Math.round(e.loaded / fileSize * 100);
3704
- setUploadProgress(percent);
3705
- }
3706
- ramda.equals(e.loaded, e.total) && setUploadProgress(100);
3707
- };
3708
- var developmentUpload = function developmentUpload(file, onUploadComplete) {
3709
- try {
3710
- setIsUploading(true);
3711
- var upload = new activestorage.DirectUpload(file, "/api/direct_uploads");
3712
- upload.create(function (_, blob) {
3713
- var payload = {
3714
- id: blob.signed_id,
3715
- payload: {
3716
- metadata: {
3717
- organizationKey: initializers.globalProps.organization.publicApiKey,
3718
- url: blob.blob_url,
3719
- height: 200,
3720
- width: 200
3721
- }
3722
- }
3723
- };
3724
- directUploadsApi.update(payload);
3725
- onUploadComplete(ramda.mergeRight(neetoCist.keysToCamelCase(blob), {
3726
- url: blob.blob_url
3727
- }));
3728
- });
3729
- } catch (error) {
3730
- Toastr__default["default"].error(error);
3731
- } finally {
3732
- setIsUploading(false);
3733
- }
3734
- };
3735
- var productionUpload = /*#__PURE__*/function () {
3736
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(file, XHRProgress, onUploadComplete) {
3737
- var imagekit, image, payload;
3738
- return _regeneratorRuntime.wrap(function _callee$(_context) {
3739
- while (1) switch (_context.prev = _context.next) {
3740
- case 0:
3741
- _context.prev = 0;
3742
- imagekit = new ImageKit(ramda.mergeRight(initializers.globalProps.imagekit, {
3743
- authenticationEndpoint: authenticationEndpoint
3744
- }));
3745
- setIsUploading(true);
3746
- _context.next = 5;
3747
- return imagekit.upload({
3748
- xhr: XHRProgress,
3749
- file: file,
3750
- fileName: generateASCIIFileName(file.name),
3751
- folder: initializers.globalProps.imagekit.folder,
3752
- customMetadata: {
3753
- organizationKey: initializers.globalProps.organization.publicApiKey,
3754
- appName: initializers.globalProps.appName
3755
- }
3756
- });
3757
- case 5:
3758
- image = _context.sent;
3759
- payload = {
3760
- filename: image.name,
3761
- byte_size: image.size,
3762
- content_type: image.fileType,
3763
- checksum: image.fileId,
3764
- metadata: image,
3765
- service_name: "imagekitio"
3766
- };
3767
- createBlob(payload, {
3768
- onSuccess: onUploadComplete,
3769
- onError: Toastr__default["default"].error
3770
- });
3771
- _context.next = 13;
3772
- break;
3773
- case 10:
3774
- _context.prev = 10;
3775
- _context.t0 = _context["catch"](0);
3776
- Toastr__default["default"].error(_context.t0);
3777
- case 13:
3778
- _context.prev = 13;
3779
- setIsUploading(false);
3780
- return _context.finish(13);
3781
- case 16:
3782
- case "end":
3783
- return _context.stop();
3784
- }
3785
- }, _callee, null, [[0, 10, 13, 16]]);
3786
- }));
3787
- return function productionUpload(_x, _x2, _x3) {
3788
- return _ref.apply(this, arguments);
3789
- };
3790
- }();
3791
- var uploadImage = /*#__PURE__*/function () {
3792
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(file, onUploadComplete) {
3793
- var fileSize, XHRProgress;
3794
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
3795
- while (1) switch (_context2.prev = _context2.next) {
3796
- case 0:
3797
- setUploadProgress(0);
3798
- fileSize = file.size;
3799
- XHRProgress = new XMLHttpRequest();
3800
- XHRProgress.upload.addEventListener("progress", function (e) {
3801
- handleUploadProgress(e, fileSize);
3802
- });
3803
- if (!IS_DEVELOPMENT_OR_HEROKU_ENV) {
3804
- _context2.next = 9;
3805
- break;
3806
- }
3807
- _context2.next = 7;
3808
- return developmentUpload(file, onUploadComplete);
3809
- case 7:
3810
- _context2.next = 11;
3811
- break;
3812
- case 9:
3813
- _context2.next = 11;
3814
- return productionUpload(file, XHRProgress, onUploadComplete);
3815
- case 11:
3816
- case "end":
3817
- return _context2.stop();
3818
- }
3819
- }, _callee2);
3820
- }));
3821
- return function uploadImage(_x4, _x5) {
3822
- return _ref2.apply(this, arguments);
3823
- };
3824
- }();
3825
- return {
3826
- uploadImage: uploadImage,
3827
- uploadProgress: uploadProgress,
3828
- isUploading: isUploading
3829
- };
3830
- };
3831
-
3832
- var useProfileImageUpload = function useProfileImageUpload(_ref) {
3833
- var _ref$uploadConfig = _ref.uploadConfig,
3834
- uploadConfig = _ref$uploadConfig === void 0 ? {} : _ref$uploadConfig;
3835
- var _useState = require$$0.useState(0),
3836
- _useState2 = _slicedToArray(_useState, 2),
3837
- uploadProgress = _useState2[0],
3838
- setUploadProgress = _useState2[1];
3839
- var _useState3 = require$$0.useState(false),
3840
- _useState4 = _slicedToArray(_useState3, 2),
3841
- isUploading = _useState4[0],
3842
- setIsUploading = _useState4[1];
3843
- var authenticationEndpoint = "".concat(window.location.origin, "/neeto_image_uploader_engine/imagekit/auth");
3844
- var defaultImageKitConfig = {
3845
- folder: initializers.globalProps.imagekit.folder,
3846
- customMetadata: {
3847
- organizationKey: initializers.globalProps.organization.publicApiKey,
3848
- appName: initializers.globalProps.appName
3849
- }
3850
- };
3851
- var imagekitConfig = ramda.mergeDeepRight(defaultImageKitConfig, uploadConfig);
3852
- var handleUploadProgress = function handleUploadProgress(e, fileSize) {
3853
- if (e.loaded <= fileSize) {
3854
- var percent = Math.round(e.loaded / fileSize * 100);
3855
- setUploadProgress(percent);
3856
- }
3857
- ramda.equals(e.loaded, e.total) && setUploadProgress(100);
3858
- };
3859
- var uploadToImagekit = /*#__PURE__*/function () {
3860
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(file, XHRProgress, onUploadComplete) {
3861
- var imagekit, image, errorMessage;
3862
- return _regeneratorRuntime.wrap(function _callee$(_context) {
3863
- while (1) switch (_context.prev = _context.next) {
3864
- case 0:
3865
- _context.prev = 0;
3866
- imagekit = new ImageKit(ramda.mergeRight(initializers.globalProps.imagekit, {
3867
- authenticationEndpoint: authenticationEndpoint
3868
- }));
3869
- setIsUploading(true);
3870
- _context.next = 5;
3871
- return imagekit.upload({
3872
- xhr: XHRProgress,
3873
- file: file,
3874
- fileName: generateASCIIFileName(file.name),
3875
- folder: imagekitConfig.folder,
3876
- customMetadata: imagekitConfig.customMetadata
3877
- });
3878
- case 5:
3879
- image = _context.sent;
3880
- onUploadComplete(image);
3881
- _context.next = 13;
3882
- break;
3883
- case 9:
3884
- _context.prev = 9;
3885
- _context.t0 = _context["catch"](0);
3886
- errorMessage = ramda.equals(_context.t0.message, i18next.t("neetoImageUploader.errors.sdkKeysMissing")) ? i18next.t("neetoImageUploader.errors.imagekitKeysMissing") : _context.t0.message;
3887
- Toastr__default["default"].error(errorMessage);
3888
- case 13:
3889
- _context.prev = 13;
3890
- setIsUploading(false);
3891
- return _context.finish(13);
3892
- case 16:
3893
- case "end":
3894
- return _context.stop();
3895
- }
3896
- }, _callee, null, [[0, 9, 13, 16]]);
3897
- }));
3898
- return function uploadToImagekit(_x, _x2, _x3) {
3899
- return _ref2.apply(this, arguments);
3900
- };
3901
- }();
3902
- var uploadImage = /*#__PURE__*/function () {
3903
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(file, onUploadComplete) {
3904
- var fileSize, XHRProgress;
3905
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
3906
- while (1) switch (_context2.prev = _context2.next) {
3907
- case 0:
3908
- setUploadProgress(0);
3909
- fileSize = file.size;
3910
- XHRProgress = new XMLHttpRequest();
3911
- XHRProgress.upload.addEventListener("progress", function (e) {
3912
- handleUploadProgress(e, fileSize);
3913
- });
3914
- _context2.next = 6;
3915
- return uploadToImagekit(file, XHRProgress, onUploadComplete);
3916
- case 6:
3917
- case "end":
3918
- return _context2.stop();
3919
- }
3920
- }, _callee2);
3921
- }));
3922
- return function uploadImage(_x4, _x5) {
3923
- return _ref3.apply(this, arguments);
3924
- };
3925
- }();
3926
- return {
3927
- uploadImage: uploadImage,
3928
- uploadProgress: uploadProgress,
3929
- isUploading: isUploading
3930
- };
3931
- };
3932
-
3933
- exports.AssetLibrary = Modal;
3934
- exports.BasicImageUploader = BasicImageUploader;
3935
- exports.ImageUploader = ImageUploader;
3936
- exports.useImageUpload = useImageUpload;
3937
- exports.useImageUploader = useImageUploader;
3938
- exports.useProfileImageUpload = useProfileImageUpload;
3939
- //# sourceMappingURL=index.cjs.js.map