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