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