@bigbinary/neeto-image-uploader-frontend 2.3.5 → 2.3.7
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.
- package/dist/AssetLibrary.js +34 -1978
- package/dist/AssetLibrary.js.map +1 -1
- package/dist/ImageUploader.js +3 -3
- package/dist/ImageUploader.js.map +1 -1
- package/dist/cjs/AssetLibrary.js +35 -1998
- package/dist/cjs/AssetLibrary.js.map +1 -1
- package/dist/cjs/ImageUploader.js +4 -4
- package/dist/cjs/ImageUploader.js.map +1 -1
- package/dist/cjs/hooks.js +2 -2
- package/dist/cjs/index.js +4 -4
- package/dist/hooks.js +2 -2
- package/dist/index-14b217c0.js +2010 -0
- package/dist/index-14b217c0.js.map +1 -0
- package/dist/index-60324d58.js +1984 -0
- package/dist/index-60324d58.js.map +1 -0
- package/dist/index.js +3 -3
- package/dist/{useImageUploader-608bca32.js → useImageUploader-1c60ac64.js} +3 -2
- package/dist/useImageUploader-1c60ac64.js.map +1 -0
- package/dist/{useImageUploader-8b4e333c.js → useImageUploader-3de58fe2.js} +3 -2
- package/dist/useImageUploader-3de58fe2.js.map +1 -0
- package/dist/{useProfileImageUpload-29d226a6.js → useProfileImageUpload-69bf6ee9.js} +2 -2
- package/dist/{useProfileImageUpload-29d226a6.js.map → useProfileImageUpload-69bf6ee9.js.map} +1 -1
- package/dist/{useProfileImageUpload-08752a73.js → useProfileImageUpload-cad1ed36.js} +2 -2
- package/dist/{useProfileImageUpload-08752a73.js.map → useProfileImageUpload-cad1ed36.js.map} +1 -1
- package/package.json +8 -8
- package/dist/useImageUploader-608bca32.js.map +0 -1
- package/dist/useImageUploader-8b4e333c.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-60324d58.js","sources":["../app/javascript/src/components/utils.js","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../app/javascript/stylesheets/components/_modal.scss","../app/javascript/src/components/Modal/utils.js","../node_modules/react-image-crop/dist/ReactCrop.min.js","../app/javascript/src/apis/development.js","../app/javascript/src/hooks/useDevelopmentApi.js","../app/javascript/src/components/ImageEditor/hooks/useImageControls.js","../app/javascript/src/components/ImageEditor/Controls.jsx","../app/javascript/src/components/ImageEditor/index.jsx","../app/javascript/src/apis/images.js","../app/javascript/src/hooks/useAssetsApi.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/bricks.js/dist/bricks.module.js","../node_modules/react-infinite-scroller/dist/InfiniteScroll.js","../node_modules/react-infinite-scroller/index.js","../node_modules/react-masonry-infinite/lib/index.js","../app/javascript/stylesheets/components/_image-library.scss","../app/javascript/src/components/ImageLibrary/InfiniteScroller.jsx","../app/javascript/src/components/ImageLibrary/Images.jsx","../app/javascript/src/apis/unsplash.js","../app/javascript/src/hooks/useUnsplashApi.js","../app/javascript/src/components/ImageLibrary/Unsplash.jsx","../app/javascript/src/components/ImageLibrary/index.jsx","../app/javascript/src/components/Modal/index.jsx"],"sourcesContent":["export const constructCloudflareImageURL = url => {\n const domain = window.location.host.split(\".\").slice(-2).join(\".\");\n\n return url.replace(\n \"https://imagedelivery.net\",\n `https://images.${domain}/cdn-cgi/imagedelivery`\n );\n};\n","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}}export{n as default};\n","//Abstracts\n@import \"../abstracts/variables\";\n\n.niu-modal {\n width: $niu-modal-width !important;\n height: $niu-modal-height !important;\n max-width: $niu-modal-max-width !important;\n max-height: $niu-modal-max-height !important;\n position: relative !important;\n}\n","import { findBy } from \"neetocist\";\nimport { mergeLeft } from \"ramda\";\n\nimport { OPTIONS } from \"../constants\";\n\nexport const createOptions = (options = []) =>\n OPTIONS.map(option =>\n mergeLeft(findBy({ key: option.key }, options), option)\n );\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],t):\"object\"==typeof exports?exports.ReactCrop=t(require(\"react\")):e.ReactCrop=t(e.React)}(this,(e=>(()=>{\"use strict\";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})()));","import axios from \"axios\";\n\nconst cropImage = payload =>\n axios.post(\"neeto_image_uploader_engine/development/crop_image\", payload);\n\nconst developmentApi = { cropImage };\n\nexport default developmentApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport developmentApi from \"apis/development\";\n\nconst useCropImage = options =>\n useMutation({ mutationFn: developmentApi.cropImage, ...options });\n\nexport { useCropImage };\n","import { mergeRight } from \"ramda\";\n\nconst useImageControls = ({\n isAspectRatioLocked,\n setAspectRatioLocked,\n setCrop,\n crop = {},\n aspectRatio,\n imageRef,\n setAspectRatio,\n setHeight,\n setWidth,\n}) => {\n const onToggleAspectRatioLock = () => {\n setAspectRatioLocked(isAspectRatioLocked => !isAspectRatioLocked);\n if (!isAspectRatioLocked) {\n const newHeight = crop.width / (aspectRatio.width / aspectRatio.height);\n const newWidth = crop.height * (aspectRatio.width / aspectRatio.height);\n newWidth + Math.trunc(crop.x) <= imageRef.current.width\n ? setCrop(mergeRight(crop, { width: newWidth }))\n : setCrop(mergeRight(crop, { height: newHeight }));\n }\n };\n\n const handleWidthChange = width => {\n const cropWidth = Number(width);\n\n const displayWidth =\n (cropWidth * imageRef.current.width) / imageRef.current.naturalWidth;\n\n if (\n displayWidth > 0 &&\n Math.trunc(crop.x) + displayWidth <= imageRef.current.width\n ) {\n if (isAspectRatioLocked) {\n const displayHeight =\n displayWidth / (aspectRatio.width / aspectRatio.height);\n\n displayHeight + Math.trunc(crop.y) <= imageRef.current.height &&\n setCrop(\n mergeRight(crop, { width: displayWidth, height: displayHeight })\n );\n } else {\n setCrop(mergeRight(crop, { width: displayWidth }));\n }\n } else {\n setWidth(crop.width.toFixed(2));\n }\n };\n\n const handleHeightChange = height => {\n const cropHeight = Number(height);\n\n const displayHeight =\n (cropHeight * imageRef.current.height) / imageRef.current.naturalHeight;\n\n if (\n displayHeight > 0 &&\n Math.trunc(crop.y) + displayHeight <= imageRef.current.height\n ) {\n if (isAspectRatioLocked) {\n const displayWidth =\n (displayHeight * aspectRatio.width) / aspectRatio.height;\n\n displayWidth + Math.trunc(crop.x) <= imageRef.current.width &&\n setCrop(\n mergeRight(crop, { height: displayHeight, width: displayWidth })\n );\n } else {\n setCrop(mergeRight(crop, { height: displayHeight }));\n }\n } else {\n setHeight(crop.height.toFixed(2));\n }\n };\n\n const handleAspectWidthChange = aspectWidth => {\n if (aspectWidth <= 0) {\n return;\n }\n\n if (!isAspectRatioLocked) {\n setAspectRatio(mergeRight(aspectRatio, { width: aspectWidth }));\n\n return;\n }\n\n const newWidth = crop.height * (aspectWidth / aspectRatio.height);\n if (newWidth + Math.trunc(crop.x) <= imageRef.current.width) {\n setCrop(mergeRight(crop, { width: newWidth }));\n setAspectRatio(mergeRight(aspectRatio, { width: aspectWidth }));\n }\n };\n\n const handleAspectHeightChange = aspectHeight => {\n if (aspectHeight <= 0) {\n return;\n }\n\n if (!isAspectRatioLocked) {\n setAspectRatio(mergeRight(aspectRatio, { height: aspectHeight }));\n\n return;\n }\n\n const newHeight = crop.width / (aspectRatio.width / aspectHeight);\n if (newHeight + Math.trunc(crop.y) <= imageRef.current.height) {\n setCrop(mergeRight(crop, { height: newHeight }));\n setAspectRatio(mergeRight(aspectRatio, { height: aspectHeight }));\n }\n };\n\n return {\n onToggleAspectRatioLock,\n handleWidthChange,\n handleHeightChange,\n handleAspectWidthChange,\n handleAspectHeightChange,\n };\n};\n\nexport default useImageControls;\n","import { useEffect, useState } from \"react\";\n\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport { withEventTargetValue } from \"neetocommons/utils\";\nimport { Button, Input, Switch, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useImageControls from \"./hooks/useImageControls\";\nimport { isNilOrEmpty } from \"./utils\";\n\nconst Controls = ({\n aspectRatio,\n isAspectRatioLocked,\n crop,\n handleSubmit,\n setAspectRatio,\n setAspectRatioLocked,\n setCrop,\n imageRef,\n isFullImage,\n setIsFullImage,\n hideControls = false,\n}) => {\n const { t } = useTranslation();\n\n const getActualCropHeight = cropHeight =>\n cropHeight * (imageRef.current?.naturalHeight / imageRef.current?.height);\n\n const getActualCropWidth = cropHeight =>\n cropHeight * (imageRef.current?.naturalWidth / imageRef.current?.width);\n\n const [height, setHeight] = useState(getActualCropHeight(crop.height));\n const [width, setWidth] = useState(getActualCropWidth(crop.width));\n\n const {\n onToggleAspectRatioLock,\n handleWidthChange,\n handleHeightChange,\n handleAspectWidthChange,\n handleAspectHeightChange,\n } = useImageControls({\n isAspectRatioLocked,\n setAspectRatioLocked,\n setCrop,\n crop,\n aspectRatio,\n imageRef,\n setAspectRatio,\n setHeight,\n setWidth,\n });\n\n const debouncedHeight = useDebounce(height, 800);\n const debouncedWidth = useDebounce(width, 800);\n\n useEffect(() => {\n handleHeightChange(debouncedHeight);\n }, [debouncedHeight]);\n\n useEffect(() => {\n handleWidthChange(debouncedWidth);\n }, [debouncedWidth]);\n\n useEffect(() => {\n setHeight(getActualCropHeight(crop.height));\n setWidth(getActualCropWidth(crop.width));\n }, [crop]);\n\n return (\n <div className=\"flex flex-col p-4 md:w-2/6 \">\n {!hideControls && (\n <>\n <Switch\n checked={isFullImage}\n className=\"flex-grow-0\"\n label={t(\"neetoImageUploader.labels.selectOriginalImage\")}\n onChange={() => setIsFullImage(isFullImage => !isFullImage)}\n />\n <Switch\n checked={isAspectRatioLocked}\n className=\"mt-4 flex-grow-0\"\n disabled={isFullImage}\n label={t(\"neetoImageUploader.labels.lockAspectRatio\")}\n onChange={onToggleAspectRatioLock}\n />\n <Typography className=\"mb-2 mt-6\" style=\"body2\">\n {t(\"neetoImageUploader.imageEditor.aspectRatio\")}\n </Typography>\n <div className=\"flex gap-4 self-start\">\n <Input\n data-cy=\"aspect-ratio-width-input\"\n disabled={isFullImage}\n size=\"small\"\n type=\"number\"\n value={aspectRatio.width}\n onChange={withEventTargetValue(handleAspectWidthChange)}\n />\n <Typography> : </Typography>\n <Input\n data-cy=\"aspect-ratio-height-input\"\n disabled={isFullImage}\n size=\"small\"\n type=\"number\"\n value={aspectRatio.height}\n onChange={withEventTargetValue(handleAspectHeightChange)}\n />\n </div>\n </>\n )}\n <Input\n className=\"mt-4 flex-grow-0\"\n disabled={isFullImage}\n label={t(\"neetoImageUploader.labels.width\")}\n type=\"number\"\n value={Math.round(width)}\n onChange={withEventTargetValue(setWidth)}\n />\n <Input\n className=\"mt-4 flex-grow-0\"\n disabled={isFullImage}\n label={t(\"neetoImageUploader.labels.height\")}\n type=\"number\"\n value={Math.round(height)}\n onChange={withEventTargetValue(setHeight)}\n />\n <Button\n className=\"mt-6 self-start\"\n data-cy=\"neeto-image-uploader-crop-submit-button\"\n label={t(\"neetoImageUploader.labels.done\")}\n disabled={\n isNilOrEmpty(imageRef.current) &&\n (crop.width <= 0 || crop.height <= 0)\n }\n onClick={handleSubmit}\n />\n </div>\n );\n};\nexport default Controls;\n","import { useState, useRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent, noop } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { LeftArrow } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { mergeRight } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport ReactCrop from \"react-image-crop\";\n\nimport { useCropImage } from \"hooks/useDevelopmentApi\";\nimport { CLOUD_FLARE, IS_DEVELOPMENT_OR_HEROKU_ENV } from \"src/constants\";\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/_react-crop.scss\";\n\nimport Controls from \"./Controls\";\nimport {\n isItemsCenter,\n getCropValues,\n onImageLoaded,\n getImageKitCroppedURL,\n getCloudFlareCroppedURL,\n} from \"./utils\";\n\nimport { DEFAULT_CROP_CONFIG } from \"../constants\";\n\nconst ImageEditor = ({\n image,\n handleReset,\n handleImageEditComplete = noop,\n signedId = \"\",\n fixedAspectRatio = {},\n}) => {\n const [isAspectRatioLocked, setIsAspectRatioLocked] = useState(true);\n const [isFullImage, setIsFullImage] = useState(false);\n const [aspectRatio, setAspectRatio] = useState({\n width: fixedAspectRatio?.width || 16,\n height: fixedAspectRatio?.height || 9,\n });\n\n const [crop, setCrop] = useState(DEFAULT_CROP_CONFIG);\n\n const { t } = useTranslation();\n\n const { mutate: cropImage } = useCropImage();\n\n const imageRef = useRef(null);\n const wrapperRef = useRef(null);\n\n const cropAspectRatio =\n isPresent(fixedAspectRatio?.width) && isPresent(fixedAspectRatio.height)\n ? fixedAspectRatio?.width / fixedAspectRatio?.height\n : 16 / 9;\n\n const processCrop = () => {\n if (isFullImage) {\n handleImageEditComplete(image);\n\n return;\n }\n\n cropImage(\n { crop: getCropValues({ crop, imageRef }), signedId },\n { onSuccess: handleImageEditComplete }\n );\n };\n\n const handleSubmit = () => {\n if (IS_DEVELOPMENT_OR_HEROKU_ENV) {\n processCrop();\n\n return;\n }\n\n if (isFullImage) {\n handleImageEditComplete(image);\n\n return;\n }\n\n const newURL =\n globalProps.assetsUploaderService === CLOUD_FLARE\n ? getCloudFlareCroppedURL({ imageRef, image, crop })\n : getImageKitCroppedURL({ crop, imageURL: image.url, imageRef });\n handleImageEditComplete(mergeRight(image, { url: newURL }));\n };\n\n return (\n <div className=\"flex h-full flex-col gap-4 px-8 py-12\">\n <Button\n className=\"self-start\"\n data-cy=\"image-editor-back-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n style=\"text\"\n onClick={handleReset}\n />\n <div className=\"flex h-full w-full flex-col gap-2 overflow-y-scroll md:flex-row md:overflow-y-auto\">\n <div\n id=\"imageEditor\"\n ref={wrapperRef}\n className={classNames(\n \"flex\",\n \"h-full w-full md:w-4/6\",\n \"justify-around\",\n \"neeto-ui-bg-gray-200\",\n {\n \"items-center\": isItemsCenter({ wrapperRef, imageRef }),\n }\n )}\n >\n <ReactCrop\n crop={isFullImage ? null : crop}\n src={image?.url}\n aspect={\n isAspectRatioLocked ? aspectRatio.width / aspectRatio.height : 0\n }\n onChange={setCrop}\n onComplete={setCrop}\n >\n <img\n alt={t(\"neetoImageUploader.common.image\")}\n data-cy=\"image-editor-uploaded-image\"\n ref={imageRef}\n src={image?.url}\n onLoad={e =>\n onImageLoaded({\n image: e.target,\n setCrop,\n cropAspectRatio,\n })\n }\n />\n </ReactCrop>\n </div>\n <Controls\n {...{\n aspectRatio,\n crop,\n handleSubmit,\n imageRef,\n isAspectRatioLocked,\n isFullImage,\n setAspectRatio,\n setCrop,\n setIsFullImage,\n }}\n hideControls={isPresent(fixedAspectRatio)}\n setAspectRatioLocked={setIsAspectRatioLocked}\n />\n </div>\n </div>\n );\n};\n\nexport default ImageEditor;\n","import axios from \"axios\";\n\nconst fetch = ({ searchTerm, url, page, per }) =>\n axios.get(url, { params: { searchTerm, page, per } });\n\nconst bulkDestroy = (imageIds, url) =>\n axios.delete(url, { params: { imageIds } });\n\nconst imagesApi = { fetch, bulkDestroy };\n\nexport default imagesApi;\n","import {\n useInfiniteQuery,\n useMutation,\n useQueryClient,\n} from \"@tanstack/react-query\";\nimport { identity } from \"ramda\";\n\nimport imagesApi from \"apis/images\";\nimport { IMAGES_PER_PAGE } from \"components/constants\";\nimport { ASSETS_STALE_TIME, QUERY_KEYS } from \"src/constants/query\";\n\nconst useFetchAssets = ({ searchTerm, url, per }, options = {}) =>\n useInfiniteQuery({\n queryKey: [QUERY_KEYS.ASSETS_LIST, searchTerm],\n queryFn: ({ pageParam = 1 }) =>\n imagesApi.fetch({ searchTerm, url, page: pageParam, per }),\n getNextPageParam: (lastPage, _, lastPageParam) =>\n lastPage.length === IMAGES_PER_PAGE ? lastPageParam + 1 : null,\n select: data => {\n const results = data.pages.flatMap(identity);\n\n return { results };\n },\n initialPageParam: 1,\n staleTime: ASSETS_STALE_TIME,\n ...options,\n });\n\nconst useBulkDestroyAssets = url => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: imageIds => imagesApi.bulkDestroy(imageIds, url),\n onSuccess: (_, variables) => {\n queryClient.setQueriesData(\n { queryKey: [QUERY_KEYS.ASSETS_LIST] },\n old => ({\n pages: old.pages.map(page =>\n page.filter(item => !variables.includes(item.fileId || item.id))\n ),\n pageParams: old.pageParams,\n })\n );\n },\n });\n};\n\nexport { useFetchAssets, useBulkDestroyAssets };\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar knot = function knot() {\n var extended = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var events = Object.create(null);\n\n function on(name, handler) {\n events[name] = events[name] || [];\n events[name].push(handler);\n return this;\n }\n\n function once(name, handler) {\n handler._once = true;\n on(name, handler);\n return this;\n }\n\n function off(name) {\n var handler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n handler ? events[name].splice(events[name].indexOf(handler), 1) : delete events[name];\n\n return this;\n }\n\n function emit(name) {\n var _this = this;\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n // cache the events, to avoid consequences of mutation\n var cache = events[name] && events[name].slice();\n\n // only fire handlers if they exist\n cache && cache.forEach(function (handler) {\n // remove handlers added with 'once'\n handler._once && off(name, handler);\n\n // set 'this' context, pass args to handlers\n handler.apply(_this, args);\n });\n\n return this;\n }\n\n return _extends({}, extended, {\n\n on: on,\n once: once,\n off: off,\n emit: emit\n });\n};\n\nvar bricks = function bricks() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n // privates\n\n var persist = void 0; // packing new elements, or all elements?\n var ticking = void 0; // for debounced resize\n\n var sizeIndex = void 0;\n var sizeDetail = void 0;\n\n var columnTarget = void 0;\n var columnHeights = void 0;\n\n var nodeTop = void 0;\n var nodeLeft = void 0;\n var nodeWidth = void 0;\n var nodeHeight = void 0;\n\n var nodes = void 0;\n var nodesWidths = void 0;\n var nodesHeights = void 0;\n\n // resolve options\n\n var packed = options.packed.indexOf('data-') === 0 ? options.packed : 'data-' + options.packed;\n var sizes = options.sizes.slice().reverse();\n var position = options.position !== false;\n\n var container = options.container.nodeType ? options.container : document.querySelector(options.container);\n\n var selectors = {\n all: function all() {\n return toArray(container.children);\n },\n new: function _new() {\n return toArray(container.children).filter(function (node) {\n return !node.hasAttribute('' + packed);\n });\n }\n };\n\n // series\n\n var setup = [setSizeIndex, setSizeDetail, setColumns];\n\n var run = [setNodes, setNodesDimensions, setNodesStyles, setContainerStyles];\n\n // instance\n\n var instance = knot({\n pack: pack,\n update: update,\n resize: resize\n });\n\n return instance;\n\n // general helpers\n\n function runSeries(functions) {\n functions.forEach(function (func) {\n return func();\n });\n }\n\n // array helpers\n\n function toArray(input) {\n var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;\n\n return Array.prototype.slice.call(input);\n }\n\n function fillArray(length) {\n return Array.apply(null, Array(length)).map(function () {\n return 0;\n });\n }\n\n // size helpers\n\n function getSizeIndex() {\n // find index of widest matching media query\n return sizes.map(function (size) {\n return size.mq && window.matchMedia('(min-width: ' + size.mq + ')').matches;\n }).indexOf(true);\n }\n\n function setSizeIndex() {\n sizeIndex = getSizeIndex();\n }\n\n function setSizeDetail() {\n // if no media queries matched, use the base case\n sizeDetail = sizeIndex === -1 ? sizes[sizes.length - 1] : sizes[sizeIndex];\n }\n\n // column helpers\n\n function setColumns() {\n columnHeights = fillArray(sizeDetail.columns);\n }\n\n // node helpers\n\n function setNodes() {\n nodes = selectors[persist ? 'new' : 'all']();\n }\n\n function setNodesDimensions() {\n // exit if empty container\n if (nodes.length === 0) {\n return;\n }\n\n nodesWidths = nodes.map(function (element) {\n return element.clientWidth;\n });\n nodesHeights = nodes.map(function (element) {\n return element.clientHeight;\n });\n }\n\n function setNodesStyles() {\n nodes.forEach(function (element, index) {\n columnTarget = columnHeights.indexOf(Math.min.apply(Math, columnHeights));\n\n element.style.position = 'absolute';\n\n nodeTop = columnHeights[columnTarget] + 'px';\n nodeLeft = columnTarget * nodesWidths[index] + columnTarget * sizeDetail.gutter + 'px';\n\n // support positioned elements (default) or transformed elements\n if (position) {\n element.style.top = nodeTop;\n element.style.left = nodeLeft;\n } else {\n element.style.transform = 'translate3d(' + nodeLeft + ', ' + nodeTop + ', 0)';\n }\n\n element.setAttribute(packed, '');\n\n // ignore nodes with no width and/or height\n nodeWidth = nodesWidths[index];\n nodeHeight = nodesHeights[index];\n\n if (nodeWidth && nodeHeight) {\n columnHeights[columnTarget] += nodeHeight + sizeDetail.gutter;\n }\n });\n }\n\n // container helpers\n\n function setContainerStyles() {\n container.style.position = 'relative';\n container.style.width = sizeDetail.columns * nodeWidth + (sizeDetail.columns - 1) * sizeDetail.gutter + 'px';\n container.style.height = Math.max.apply(Math, columnHeights) - sizeDetail.gutter + 'px';\n }\n\n // resize helpers\n\n function resizeFrame() {\n if (!ticking) {\n window.requestAnimationFrame(resizeHandler);\n ticking = true;\n }\n }\n\n function resizeHandler() {\n if (sizeIndex !== getSizeIndex()) {\n pack();\n instance.emit('resize', sizeDetail);\n }\n\n ticking = false;\n }\n\n // API\n\n function pack() {\n persist = false;\n runSeries(setup.concat(run));\n\n return instance.emit('pack');\n }\n\n function update() {\n persist = true;\n runSeries(run);\n\n return instance.emit('update');\n }\n\n function resize() {\n var flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n var action = flag ? 'addEventListener' : 'removeEventListener';\n\n window[action]('resize', resizeFrame);\n\n return instance;\n }\n};\n\nexport default bricks;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _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; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _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; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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; }\n\nfunction _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; }\n\nvar InfiniteScroll = function (_Component) {\n _inherits(InfiniteScroll, _Component);\n\n function InfiniteScroll(props) {\n _classCallCheck(this, InfiniteScroll);\n\n var _this = _possibleConstructorReturn(this, (InfiniteScroll.__proto__ || Object.getPrototypeOf(InfiniteScroll)).call(this, props));\n\n _this.scrollListener = _this.scrollListener.bind(_this);\n _this.eventListenerOptions = _this.eventListenerOptions.bind(_this);\n _this.mousewheelListener = _this.mousewheelListener.bind(_this);\n return _this;\n }\n\n _createClass(InfiniteScroll, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.pageLoaded = this.props.pageStart;\n this.options = this.eventListenerOptions();\n this.attachScrollListener();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n if (this.props.isReverse && this.loadMore) {\n var parentElement = this.getParentElement(this.scrollComponent);\n parentElement.scrollTop = parentElement.scrollHeight - this.beforeScrollHeight + this.beforeScrollTop;\n this.loadMore = false;\n }\n this.attachScrollListener();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.detachScrollListener();\n this.detachMousewheelListener();\n }\n }, {\n key: 'isPassiveSupported',\n value: function isPassiveSupported() {\n var passive = false;\n\n var testOptions = {\n get passive() {\n passive = true;\n }\n };\n\n try {\n document.addEventListener('test', null, testOptions);\n document.removeEventListener('test', null, testOptions);\n } catch (e) {\n // ignore\n }\n return passive;\n }\n }, {\n key: 'eventListenerOptions',\n value: function eventListenerOptions() {\n var options = this.props.useCapture;\n\n if (this.isPassiveSupported()) {\n options = {\n useCapture: this.props.useCapture,\n passive: true\n };\n } else {\n options = {\n passive: false\n };\n }\n return options;\n }\n\n // Set a defaut loader for all your `InfiniteScroll` components\n\n }, {\n key: 'setDefaultLoader',\n value: function setDefaultLoader(loader) {\n this.defaultLoader = loader;\n }\n }, {\n key: 'detachMousewheelListener',\n value: function detachMousewheelListener() {\n var scrollEl = window;\n if (this.props.useWindow === false) {\n scrollEl = this.scrollComponent.parentNode;\n }\n\n scrollEl.removeEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);\n }\n }, {\n key: 'detachScrollListener',\n value: function detachScrollListener() {\n var scrollEl = window;\n if (this.props.useWindow === false) {\n scrollEl = this.getParentElement(this.scrollComponent);\n }\n\n scrollEl.removeEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);\n scrollEl.removeEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);\n }\n }, {\n key: 'getParentElement',\n value: function getParentElement(el) {\n var scrollParent = this.props.getScrollParent && this.props.getScrollParent();\n if (scrollParent != null) {\n return scrollParent;\n }\n return el && el.parentNode;\n }\n }, {\n key: 'filterProps',\n value: function filterProps(props) {\n return props;\n }\n }, {\n key: 'attachScrollListener',\n value: function attachScrollListener() {\n var parentElement = this.getParentElement(this.scrollComponent);\n\n if (!this.props.hasMore || !parentElement) {\n return;\n }\n\n var scrollEl = window;\n if (this.props.useWindow === false) {\n scrollEl = parentElement;\n }\n\n scrollEl.addEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);\n scrollEl.addEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);\n scrollEl.addEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);\n\n if (this.props.initialLoad) {\n this.scrollListener();\n }\n }\n }, {\n key: 'mousewheelListener',\n value: function mousewheelListener(e) {\n // Prevents Chrome hangups\n // See: https://stackoverflow.com/questions/47524205/random-high-content-download-time-in-chrome/47684257#47684257\n if (e.deltaY === 1 && !this.isPassiveSupported()) {\n e.preventDefault();\n }\n }\n }, {\n key: 'scrollListener',\n value: function scrollListener() {\n var el = this.scrollComponent;\n var scrollEl = window;\n var parentNode = this.getParentElement(el);\n\n var offset = void 0;\n if (this.props.useWindow) {\n var doc = document.documentElement || document.body.parentNode || document.body;\n var scrollTop = scrollEl.pageYOffset !== undefined ? scrollEl.pageYOffset : doc.scrollTop;\n if (this.props.isReverse) {\n offset = scrollTop;\n } else {\n offset = this.calculateOffset(el, scrollTop);\n }\n } else if (this.props.isReverse) {\n offset = parentNode.scrollTop;\n } else {\n offset = el.scrollHeight - parentNode.scrollTop - parentNode.clientHeight;\n }\n\n // Here we make sure the element is visible as well as checking the offset\n if (offset < Number(this.props.threshold) && el && el.offsetParent !== null) {\n this.detachScrollListener();\n this.beforeScrollHeight = parentNode.scrollHeight;\n this.beforeScrollTop = parentNode.scrollTop;\n // Call loadMore after detachScrollListener to allow for non-async loadMore functions\n if (typeof this.props.loadMore === 'function') {\n this.props.loadMore(this.pageLoaded += 1);\n this.loadMore = true;\n }\n }\n }\n }, {\n key: 'calculateOffset',\n value: function calculateOffset(el, scrollTop) {\n if (!el) {\n return 0;\n }\n\n return this.calculateTopPosition(el) + (el.offsetHeight - scrollTop - window.innerHeight);\n }\n }, {\n key: 'calculateTopPosition',\n value: function calculateTopPosition(el) {\n if (!el) {\n return 0;\n }\n return el.offsetTop + this.calculateTopPosition(el.offsetParent);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var renderProps = this.filterProps(this.props);\n\n var children = renderProps.children,\n element = renderProps.element,\n hasMore = renderProps.hasMore,\n initialLoad = renderProps.initialLoad,\n isReverse = renderProps.isReverse,\n loader = renderProps.loader,\n loadMore = renderProps.loadMore,\n pageStart = renderProps.pageStart,\n ref = renderProps.ref,\n threshold = renderProps.threshold,\n useCapture = renderProps.useCapture,\n useWindow = renderProps.useWindow,\n getScrollParent = renderProps.getScrollParent,\n props = _objectWithoutProperties(renderProps, ['children', 'element', 'hasMore', 'initialLoad', 'isReverse', 'loader', 'loadMore', 'pageStart', 'ref', 'threshold', 'useCapture', 'useWindow', 'getScrollParent']);\n\n props.ref = function (node) {\n _this2.scrollComponent = node;\n if (ref) {\n ref(node);\n }\n };\n\n var childrenArray = [children];\n if (hasMore) {\n if (loader) {\n isReverse ? childrenArray.unshift(loader) : childrenArray.push(loader);\n } else if (this.defaultLoader) {\n isReverse ? childrenArray.unshift(this.defaultLoader) : childrenArray.push(this.defaultLoader);\n }\n }\n return _react2.default.createElement(element, props, childrenArray);\n }\n }]);\n\n return InfiniteScroll;\n}(_react.Component);\n\nInfiniteScroll.propTypes = {\n children: _propTypes2.default.node.isRequired,\n element: _propTypes2.default.node,\n hasMore: _propTypes2.default.bool,\n initialLoad: _propTypes2.default.bool,\n isReverse: _propTypes2.default.bool,\n loader: _propTypes2.default.node,\n loadMore: _propTypes2.default.func.isRequired,\n pageStart: _propTypes2.default.number,\n ref: _propTypes2.default.func,\n getScrollParent: _propTypes2.default.func,\n threshold: _propTypes2.default.number,\n useCapture: _propTypes2.default.bool,\n useWindow: _propTypes2.default.bool\n};\nInfiniteScroll.defaultProps = {\n element: 'div',\n hasMore: false,\n initialLoad: true,\n pageStart: 0,\n ref: null,\n threshold: 250,\n useWindow: true,\n isReverse: false,\n useCapture: false,\n loader: null,\n getScrollParent: null\n};\nexports.default = InfiniteScroll;\nmodule.exports = exports['default'];\n","module.exports = require('./dist/InfiniteScroll')\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = undefined;\n\nvar _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; }; }();\n\nvar _class, _temp2;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _bricks = require('bricks.js');\n\nvar _bricks2 = _interopRequireDefault(_bricks);\n\nvar _reactInfiniteScroller = require('react-infinite-scroller');\n\nvar _reactInfiniteScroller2 = _interopRequireDefault(_reactInfiniteScroller);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _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; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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; }\n\nfunction _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; }\n\nvar MasonryInfiniteScroller = (_temp2 = _class = function (_Component) {\n _inherits(MasonryInfiniteScroller, _Component);\n\n function MasonryInfiniteScroller() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, MasonryInfiniteScroller);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = MasonryInfiniteScroller.__proto__ || Object.getPrototypeOf(MasonryInfiniteScroller)).call.apply(_ref, [this].concat(args))), _this), _this.setContainerRef = function (component) {\n _this.masonryContainer = component;\n }, _this.forcePack = function () {\n if (_this.masonryContainer) {\n _this.state.instance.pack();\n }\n }, _this.forceUpdate = function () {\n if (_this.masonryContainer) {\n _this.state.instance.update();\n }\n }, _this.createNewInstance = function () {\n var _this$props = _this.props,\n packed = _this$props.packed,\n sizes = _this$props.sizes,\n children = _this$props.children,\n position = _this$props.position;\n\n var instance = (0, _bricks2.default)({\n container: _this.masonryContainer,\n packed: packed,\n sizes: sizes,\n position: position\n });\n\n instance.resize(true);\n\n if (children.length > 0) {\n instance.pack();\n }\n\n _this.setState(function () {\n return { instance: instance };\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(MasonryInfiniteScroller, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.createNewInstance();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n var children = this.props.children;\n var instance = this.state.instance;\n\n\n if (prevProps.children.length === 0 && children.length === 0) {\n return;\n }\n\n if (prevProps.children.length === 0 && children.length > 0) {\n return instance.pack();\n }\n\n if (prevProps.children.length !== children.length) {\n if (this.props.pack) {\n return instance.pack();\n } else {\n return instance.update();\n }\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.state) {\n this.state.instance.resize(false);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n children = _props.children,\n className = _props.className,\n style = _props.style,\n pack = _props.pack,\n packed = _props.packed,\n position = _props.position,\n sizes = _props.sizes,\n props = _objectWithoutProperties(_props, ['children', 'className', 'style', 'pack', 'packed', 'position', 'sizes']);\n\n return _react2.default.createElement(\n _reactInfiniteScroller2.default,\n props,\n _react2.default.createElement(\n 'div',\n { ref: this.setContainerRef, className: className, style: style },\n children\n )\n );\n }\n }]);\n\n return MasonryInfiniteScroller;\n}(_react.Component), _class.propTypes = {\n children: _propTypes2.default.arrayOf(_propTypes2.default.element).isRequired,\n className: _propTypes2.default.string,\n initialLoad: _propTypes2.default.bool,\n pack: _propTypes2.default.bool,\n packed: _propTypes2.default.string,\n position: _propTypes2.default.bool,\n sizes: _propTypes2.default.array,\n style: _propTypes2.default.object\n}, _class.defaultProps = {\n className: '',\n initialLoad: true,\n pack: false,\n packed: 'data-packed',\n position: true,\n sizes: [{ columns: 1, gutter: 20 }, { mq: '768px', columns: 2, gutter: 20 }, { mq: '1024px', columns: 3, gutter: 20 }],\n style: {}\n}, _temp2);\nexports.default = MasonryInfiniteScroller;","//Abstracts\n@import \"../abstracts/variables\";\n\n.niu-unsplash-container {\n height: calc(#{$niu-modal-height} - #{$niu-modal-header-height}) !important;\n max-height: $niu-unsplash-container-max-height;\n\n img {\n height: 100%;\n width: 100%;\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 }\n}\n","import { useCallback, useState } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { hasPermission } from \"neetocommons/utils\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { VIEW_ROLES_PERMISSION } from \"neetoteam\";\nimport { Alert, Dropdown, Spinner } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport MasonryInfiniteScroller from \"react-masonry-infinite\";\n\nimport { useBulkDestroyAssets } from \"hooks/useAssetsApi\";\nimport { CLOUD_FLARE } from \"src/constants\";\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/_image-library.scss\";\n\nimport {\n ASSETS_DESTROY_URL,\n INFINITE_SCROLLER_SIZES,\n INFINITE_SCROLLER_STYLE,\n TABS,\n} from \"../constants\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst InfiniteScroller = ({\n hasMore = false,\n loadMore = noop,\n tab,\n images,\n setSelectedImage = noop,\n handleUnsplashImageSelect = noop,\n}) => {\n const { t } = useTranslation();\n const [deleteConfirmation, setDeleteConfirmation] = useState({\n isOpen: false,\n imageIds: [],\n });\n\n const isMenuButtonEnabled = globalProps.assetsUploaderService !== CLOUD_FLARE;\n\n const { isPending, mutate: bulkDelete } =\n useBulkDestroyAssets(ASSETS_DESTROY_URL);\n\n const handleDelete = useCallback(() => {\n bulkDelete(deleteConfirmation.imageIds, {\n onSuccess: () => setDeleteConfirmation({ isOpen: false, imageIds: [] }),\n });\n }, [deleteConfirmation.imageIds]);\n\n const Loader = (\n <div className=\"flex justify-center\">\n <Spinner />\n </div>\n );\n\n return (\n <div className=\"niu-unsplash-container mr-2 max-w-full overflow-x-hidden overflow-y-scroll\">\n <MasonryInfiniteScroller\n {...{ hasMore, loadMore }}\n pack\n position\n className=\"w-full\"\n loader={Loader}\n sizes={INFINITE_SCROLLER_SIZES}\n style={INFINITE_SCROLLER_STYLE}\n useWindow={false}\n >\n {images.map((image, index) => (\n <div className=\"float-left w-1/2 pb-4 pr-4 md:w-1/4\" key={image.id}>\n <div\n className=\"relative w-full\"\n style={{\n paddingBottom: `${(image.height / image.width) * 100}%`,\n }}\n >\n <div\n className=\"neeto-ui-rounded-sm neeto-ui-bg-gray-100 group absolute h-full w-full\"\n data-cy=\"library-image-card\"\n id={`unsplashImage${image.id}`}\n >\n {tab === TABS[1].key && (\n <>\n <img\n data-cy={`niu-unsplash-image-${index}`}\n src={image?.urls?.regular}\n onClick={() => handleUnsplashImageSelect(image)}\n />\n <a\n className=\"neeto-ui-text-gray-100 absolute bottom-2 left-2 m-auto text-xs underline opacity-0 group-hover:opacity-100\"\n href={`https://unsplash.com/@${image?.user?.username}`}\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n {image?.user?.name}\n {\" | \"} {t(\"neetoImageUploader.labels.unsplash\")}\n </a>\n </>\n )}\n {tab === TABS[0].key && (\n <>\n {hasPermission(VIEW_ROLES_PERMISSION) &&\n isMenuButtonEnabled && (\n <Dropdown\n buttonSize=\"small\"\n buttonStyle=\"tertiary\"\n data-cy={`image-library-image-options-${index}`}\n icon={MenuHorizontal}\n buttonProps={{\n className:\n // eslint-disable-next-line @bigbinary/neeto/use-neetoui-classes\n \"absolute right-2 top-2 z-[1] rounded-full\",\n }}\n >\n <Menu>\n <MenuItem.Button\n data-cy=\"image-library-image-delete\"\n onClick={() =>\n setDeleteConfirmation({\n isOpen: true,\n imageIds: [image?.fileId || image.id],\n })\n }\n >\n {t(\n \"neetoImageUploader.deleteConfirmation.delete\"\n )}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n )}\n <img\n data-cy={`niu-library-image-${index}`}\n src={image?.url}\n onClick={() => setSelectedImage(image)}\n />\n </>\n )}\n </div>\n </div>\n </div>\n ))}\n </MasonryInfiniteScroller>\n <Alert\n isOpen={deleteConfirmation.isOpen}\n isSubmitting={isPending}\n message={t(\"neetoImageUploader.deleteConfirmation.message\")}\n submitButtonLabel={t(\"neetoImageUploader.deleteConfirmation.delete\")}\n title={t(\"neetoImageUploader.deleteConfirmation.title\")}\n onClose={() => setDeleteConfirmation({ isOpen: false, imageIds: [] })}\n onSubmit={handleDelete}\n />\n </div>\n );\n};\n\nexport default InfiniteScroller;\n","import { Spinner, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchAssets } from \"hooks/useAssetsApi\";\n\nimport InfiniteScroller from \"./InfiniteScroller\";\n\nimport { ASSETS_FETCH_URL, IMAGES_PER_PAGE, TABS } from \"../constants\";\n\nconst Images = ({ debouncedQuery, setSelectedImage }) => {\n const { t } = useTranslation();\n\n const {\n fetchNextPage,\n hasNextPage,\n data: { results = [] } = {},\n isLoading,\n isError,\n } = useFetchAssets({\n searchTerm: debouncedQuery,\n per: IMAGES_PER_PAGE,\n url: ASSETS_FETCH_URL,\n });\n\n if (isError) {\n return (\n <Typography className=\"mt-9 flex justify-center\" style=\"body2\">\n {t(\"neetoImageUploader.unsplash.errorMessage\")}\n </Typography>\n );\n }\n\n if (isLoading) {\n return (\n <div className=\"flex justify-around\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <InfiniteScroller\n {...{ setSelectedImage }}\n hasMore={hasNextPage}\n images={results}\n key={debouncedQuery}\n loadMore={fetchNextPage}\n tab={TABS[0].key}\n />\n );\n};\n\nexport default Images;\n","import axios from \"axios\";\n\nconst newAxiosInstance = axios.create();\n\nconst searchUnsplashImages = ({ pageNo, query }) =>\n axios.get(\"neeto_image_uploader_engine/unsplash/fetch\", {\n params: { page: pageNo, per_page: 30, query: query || \"latest\" },\n });\n\nconst getUnsplashImage = (url, config = {}) =>\n newAxiosInstance.get(url, config);\n\nconst unsplashApi = { searchUnsplashImages, getUnsplashImage };\n\nexport default unsplashApi;\n","import { keepPreviousData, useInfiniteQuery } from \"@tanstack/react-query\";\nimport { prop } from \"ramda\";\n\nimport unsplashApi from \"apis/unsplash\";\nimport { UNSPLASH_STALE_TIME, QUERY_KEYS } from \"src/constants/query\";\n\nconst { UNSPLASH_LIST } = QUERY_KEYS;\n\nconst useFetchUnsplashImages = ({ query }, options = {}) =>\n useInfiniteQuery({\n queryKey: [UNSPLASH_LIST, { query }],\n queryFn: ({ pageParam = 1 }) =>\n unsplashApi.searchUnsplashImages({ pageNo: pageParam, query }),\n initialPageParam: 1,\n getNextPageParam: (lastPage, _, lastPageParam) =>\n lastPageParam < lastPage.totalPages ? lastPageParam + 1 : null,\n select: data => {\n const results = data.pages.flatMap(prop(\"results\"));\n\n return { results };\n },\n staleTime: UNSPLASH_STALE_TIME,\n placeholderData: keepPreviousData,\n ...options,\n });\n\nexport { useFetchUnsplashImages };\n","import { globalProps } from \"neetocommons/initializers\";\nimport { Spinner, Toastr, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport unsplashApi from \"apis/unsplash\";\nimport { constructCloudflareImageURL } from \"components/utils\";\nimport { useCreateBlob } from \"hooks/useDirectUploads\";\nimport useImageUploader from \"hooks/useImageUploader\";\nimport { useFetchUnsplashImages } from \"hooks/useUnsplashApi\";\nimport { generateASCIIFileName } from \"hooks/utils\";\nimport { CLOUD_FLARE } from \"src/constants\";\n\nimport InfiniteScroller from \"./InfiniteScroller\";\n\nimport {\n TABS,\n UNSPLASH_DEFAULT_NAME,\n UNSPLASH_DEFAULT_REQUEST_CONFIG,\n} from \"../constants\";\n\nconst UnsplashLibrary = ({\n debouncedQuery,\n setSelectedImage,\n setIsUploading,\n setActiveTab,\n}) => {\n const { mutate: createBlob } = useCreateBlob();\n\n const handleBlobCreation = image => {\n const payload = {\n filename: generateASCIIFileName(image.filename),\n content_type: image.contentType,\n byte_size: image.byteSize,\n checksum: image.checksum,\n metadata: {\n ...image.metadata,\n url: constructCloudflareImageURL(image.url),\n isCropped: false,\n },\n service_name: \"cloudflare_image\",\n };\n\n createBlob(payload);\n };\n\n const handleUploadComplete = image => {\n globalProps.assetsUploaderService === CLOUD_FLARE &&\n handleBlobCreation(image);\n setSelectedImage(image);\n };\n\n const { uploadFile } = useImageUploader({\n onUploadComplete: handleUploadComplete,\n setIsUploading,\n });\n\n const handleUnsplashImageSelect = async image => {\n try {\n setIsUploading(true);\n const response = await unsplashApi.getUnsplashImage(\n image.urls?.regular,\n UNSPLASH_DEFAULT_REQUEST_CONFIG\n );\n\n const file = new File([response.data], UNSPLASH_DEFAULT_NAME, {\n type: response.data.type,\n });\n\n uploadFile(file);\n } catch (error) {\n Toastr.error(error);\n setActiveTab(TABS[0].key);\n setIsUploading(false);\n }\n };\n\n const { t } = useTranslation();\n\n const {\n fetchNextPage,\n hasNextPage,\n data: { results = [] } = {},\n isError,\n isLoading,\n } = useFetchUnsplashImages({ query: debouncedQuery });\n\n if (isError) {\n return (\n <Typography className=\"mt-9 flex justify-center\" style=\"body2\">\n {t(\"neetoImageUploader.unsplash.errorMessage\")}\n </Typography>\n );\n }\n\n if (isLoading) {\n return (\n <div className=\"flex justify-around\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <InfiniteScroller\n {...{ debouncedQuery, handleUnsplashImageSelect }}\n hasMore={hasNextPage}\n images={results}\n key={debouncedQuery}\n loadMore={fetchNextPage}\n tab={TABS[1].key}\n />\n );\n};\n\nexport default UnsplashLibrary;\n","import { useEffect, useState } from \"react\";\n\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport { Input } from \"neetoui\";\nimport { equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Images from \"./Images\";\nimport Unsplash from \"./Unsplash\";\n\nimport { TABS } from \"../constants\";\n\nconst ImageLibrary = ({\n setSelectedImage,\n tab,\n setIsUploading,\n setActiveTab,\n}) => {\n const [query, setQuery] = useState(\"\");\n\n const { t } = useTranslation();\n\n const debouncedQuery = useDebounce(query, 400);\n\n const inputPlaceHolder = equals(tab, TABS[1].key)\n ? t(\"neetoImageUploader.placeholders.searchImageFromWeb\")\n : t(\"neetoImageUploader.placeholders.searchImage\");\n\n useEffect(() => {\n setQuery(\"\");\n }, [tab]);\n\n return (\n <div className=\"w-full pb-2 pl-6 pt-1\">\n <Input\n autoFocus\n className=\"mb-4 mr-6\"\n data-cy=\"niu-unsplash-image-picker-search-input\"\n name=\"text\"\n placeholder={inputPlaceHolder}\n value={query}\n onChange={({ target: { value } }) => setQuery(value)}\n />\n {tab === TABS[0].key ? (\n <Images {...{ debouncedQuery, query, setSelectedImage }} />\n ) : (\n <Unsplash\n {...{\n debouncedQuery,\n query,\n setActiveTab,\n setIsUploading,\n setSelectedImage,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default ImageLibrary;\n","import { useEffect, useState } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport {\n Modal as NeetoUIModal,\n Button,\n Tab,\n Spinner,\n Toastr,\n Typography,\n} from \"neetoui\";\nimport { equals, mergeRight } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { DEFAULT_UPLOAD_CONFIG } from \"components/ImageUploader/constants\";\nimport { constructCloudflareImageURL } from \"components/utils\";\nimport { useCreateBlob } from \"hooks/useDirectUploads\";\nimport useImageUploader from \"hooks/useImageUploader\";\nimport useUploadDropzone from \"hooks/useUploadDropzone\";\nimport { generateASCIIFileName } from \"hooks/utils\";\nimport { CLOUD_FLARE, IS_DEVELOPMENT_OR_HEROKU_ENV } from \"src/constants\";\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/_modal.scss\";\n\nimport { createOptions } from \"./utils\";\n\nimport { TABS, UNSPLASH_URL } from \"../constants\";\nimport ImageEditor from \"../ImageEditor\";\nimport { isNilOrEmpty } from \"../ImageEditor/utils\";\nimport ImageLibrary from \"../ImageLibrary\";\n\nconst Modal = ({\n isOpen,\n onClose = noop,\n onUploadComplete = noop,\n uploadConfig = {},\n fixedAspectRatio = {},\n}) => {\n const [activeTab, setActiveTab] = useState(TABS[0].key);\n const [selectedImage, setSelectedImage] = useState({});\n const [isUploading, setIsUploading] = useState(false);\n\n const { t } = useTranslation();\n\n const { mutate: createBlob } = useCreateBlob();\n\n const uploadConfigWithDefaults = mergeRight(\n DEFAULT_UPLOAD_CONFIG,\n uploadConfig\n );\n\n const isCloudFlareImageUploader =\n globalProps.assetsUploaderService === CLOUD_FLARE;\n\n const handleCloseModal = () => {\n onClose();\n setSelectedImage({});\n };\n\n const handleImageEditComplete = editedImage => {\n handleCreateBlob(editedImage, true);\n handleCloseModal();\n };\n\n const handleUploadComplete = image => {\n isCloudFlareImageUploader && handleCreateBlob(image);\n setSelectedImage(image);\n };\n\n const handleCreateBlob = (editedImage, isCropped = false) => {\n if (IS_DEVELOPMENT_OR_HEROKU_ENV) {\n onUploadComplete({\n url: editedImage.url,\n signedId: editedImage.signedId,\n });\n } else {\n const imageKitPayload = () => ({\n filename: generateASCIIFileName(editedImage.name),\n byte_size: editedImage.size,\n content_type: editedImage.fileType,\n checksum: editedImage.fileId,\n metadata: editedImage,\n service_name: \"imagekitio\",\n });\n\n const cloudFlarePayload = () => ({\n filename: generateASCIIFileName(editedImage.filename),\n content_type: editedImage.contentType,\n byte_size: editedImage.byteSize,\n checksum: editedImage.checksum,\n metadata: {\n ...editedImage.metadata,\n url: constructCloudflareImageURL(editedImage.url),\n isCropped,\n },\n service_name: \"cloudflare_image\",\n });\n\n const payload = isCloudFlareImageUploader\n ? cloudFlarePayload()\n : imageKitPayload();\n\n createBlob(payload, {\n onSuccess: image => {\n onUploadComplete({\n url: image.blobUrl,\n signedId: image.signedId,\n });\n },\n onError: Toastr.error,\n });\n }\n };\n\n const { uploadFile } = useImageUploader({\n onUploadComplete: handleUploadComplete,\n setIsUploading,\n });\n\n const { getRootProps, getInputProps, isDragActive, inputRef } =\n useUploadDropzone({\n uploadConfig: uploadConfigWithDefaults,\n onDrop: uploadFile,\n });\n\n const openFileUploadDialog = () => inputRef.current?.click();\n const options = createOptions([\n { key: \"local\", onClick: openFileUploadDialog },\n ]);\n\n useEffect(() => {\n setActiveTab(TABS[0].key);\n }, [isOpen]);\n\n return (\n <NeetoUIModal\n {...{ isOpen }}\n className=\"niu-modal\"\n size=\"large\"\n onClose={handleCloseModal}\n >\n {isUploading && (\n <div className=\"neeto-ui-bg-gray-400 absolute inset-0 z-50 flex h-full items-center justify-center opacity-50\">\n <Spinner />\n </div>\n )}\n {isNilOrEmpty(selectedImage) && isDragActive && (\n <div\n 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\"\n {...getRootProps()}\n >\n <Typography>{t(\"neetoImageUploader.common.dropHere\")}</Typography>\n </div>\n )}\n {!isNilOrEmpty(selectedImage) ? (\n <ImageEditor\n {...{ fixedAspectRatio, handleImageEditComplete }}\n handleReset={() => setSelectedImage({})}\n image={selectedImage}\n signedId={selectedImage?.signedId}\n />\n ) : (\n <div\n className=\"h-full flex-col\"\n {...getRootProps({\n onClick: event => event.stopPropagation(),\n })}\n >\n <NeetoUIModal.Header>\n <Typography style=\"h2\">\n {t(\"neetoImageUploader.common.imageLibrary\")}\n </Typography>\n </NeetoUIModal.Header>\n <div className=\"px-6 py-2\">\n <div className=\"flex flex-col items-center justify-between gap-2 sm:flex-row\">\n <div className=\"flex gap-2\">\n <Tab size=\"small\">\n {TABS.map(tab => (\n <Tab.Item\n active={activeTab === tab.key}\n data-cy={tab.dataCy}\n key={tab.key}\n onClick={() => setActiveTab(tab.key)}\n >\n {tab.label}\n </Tab.Item>\n ))}\n </Tab>\n </div>\n <div className=\"flex gap-2\">\n {options.map(({ key, ...otherProps }) => (\n <Button {...otherProps} key={key} size=\"small\" />\n ))}\n </div>\n </div>\n </div>\n <ImageLibrary\n {...{ setActiveTab, setIsUploading, setSelectedImage }}\n tab={activeTab}\n />\n {equals(activeTab, TABS[1].key) && (\n <NeetoUIModal.Footer className=\"flex items-center justify-center gap-2\">\n <Typography style=\"body2\">\n <Trans\n i18nKey=\"neetoImageUploader.unsplash.poweredByUnsplash\"\n components={{\n a: (\n <a href={UNSPLASH_URL} rel=\"noreferrer\" target=\"_blank\" />\n ),\n }}\n />\n </Typography>\n </NeetoUIModal.Footer>\n )}\n </div>\n )}\n <input {...getInputProps()} />\n </NeetoUIModal>\n );\n};\n\nexport default Modal;\n"],"names":["constructCloudflareImageURL","url","domain","window","location","host","split","slice","join","replace","concat","css","createOptions","options","arguments","length","undefined","OPTIONS","map","option","mergeLeft","findBy","key","this","cropImage","payload","axios","post","developmentApi","useCropImage","useMutation","_objectSpread","mutationFn","useImageControls","_ref","isAspectRatioLocked","setAspectRatioLocked","setCrop","_ref$crop","crop","aspectRatio","imageRef","setAspectRatio","setHeight","setWidth","onToggleAspectRatioLock","newHeight","width","height","newWidth","Math","trunc","x","current","mergeRight","handleWidthChange","cropWidth","Number","displayWidth","naturalWidth","displayHeight","y","toFixed","handleHeightChange","cropHeight","naturalHeight","handleAspectWidthChange","aspectWidth","handleAspectHeightChange","aspectHeight","Controls","handleSubmit","isFullImage","setIsFullImage","_ref$hideControls","hideControls","_useTranslation","useTranslation","t","getActualCropHeight","_imageRef$current","_imageRef$current2","getActualCropWidth","_imageRef$current3","_imageRef$current4","_useState","useState","_useState2","_slicedToArray","_useState3","_useState4","_useImageControls","debouncedHeight","useDebounce","debouncedWidth","useEffect","_jsxs","className","children","_Fragment","_jsx","Switch","checked","label","onChange","disabled","Typography","style","Input","size","type","value","withEventTargetValue","round","Button","isNilOrEmpty","onClick","ImageEditor","image","handleReset","_ref$handleImageEditC","handleImageEditComplete","noop","_ref$signedId","signedId","_ref$fixedAspectRatio","fixedAspectRatio","setIsAspectRatioLocked","_useState5","_useState6","_useState7","DEFAULT_CROP_CONFIG","_useState8","_useCropImage","mutate","useRef","wrapperRef","cropAspectRatio","isPresent","processCrop","getCropValues","onSuccess","IS_DEVELOPMENT_OR_HEROKU_ENV","newURL","globalProps","assetsUploaderService","CLOUD_FLARE","getCloudFlareCroppedURL","getImageKitCroppedURL","imageURL","icon","LeftArrow","iconPosition","id","ref","classNames","isItemsCenter","ReactCrop","src","aspect","onComplete","alt","onLoad","e","onImageLoaded","target","fetch","searchTerm","page","per","get","params","bulkDestroy","imageIds","imagesApi","useFetchAssets","useInfiniteQuery","queryKey","QUERY_KEYS","ASSETS_LIST","queryFn","_ref2","_ref2$pageParam","pageParam","getNextPageParam","lastPage","_","lastPageParam","IMAGES_PER_PAGE","select","data","results","pages","flatMap","identity","initialPageParam","staleTime","ASSETS_STALE_TIME","useBulkDestroyAssets","queryClient","useQueryClient","variables","setQueriesData","old","filter","item","includes","fileId","pageParams","ReactPropTypesSecret","require$$0","propTypesModule","require$$1","require$$3","injector_5175b9d6","Menu","Dropdown","MenuItem","InfiniteScroller","_ref$hasMore","hasMore","_ref$loadMore","loadMore","tab","images","_ref$setSelectedImage","setSelectedImage","_ref$handleUnsplashIm","handleUnsplashImageSelect","isOpen","deleteConfirmation","setDeleteConfirmation","isMenuButtonEnabled","_useBulkDestroyAssets","ASSETS_DESTROY_URL","isPending","bulkDelete","handleDelete","useCallback","Loader","Spinner","MasonryInfiniteScroller","pack","position","loader","sizes","INFINITE_SCROLLER_SIZES","INFINITE_SCROLLER_STYLE","useWindow","index","_image$urls","_image$user","_image$user2","paddingBottom","TABS","urls","regular","href","user","username","rel","name","hasPermission","VIEW_ROLES_PERMISSION","buttonSize","buttonStyle","MenuHorizontal","buttonProps","Alert","isSubmitting","message","submitButtonLabel","title","onClose","onSubmit","Images","debouncedQuery","_useFetchAssets","ASSETS_FETCH_URL","fetchNextPage","hasNextPage","_useFetchAssets$data","_useFetchAssets$data2","_useFetchAssets$data3","isLoading","isError","_createElement","newAxiosInstance","create","searchUnsplashImages","pageNo","query","per_page","getUnsplashImage","config","unsplashApi","UNSPLASH_LIST","useFetchUnsplashImages","totalPages","prop","UNSPLASH_STALE_TIME","placeholderData","keepPreviousData","UnsplashLibrary","setIsUploading","setActiveTab","_useCreateBlob","useCreateBlob","createBlob","handleBlobCreation","filename","generateASCIIFileName","content_type","contentType","byte_size","byteSize","checksum","metadata","isCropped","service_name","handleUploadComplete","_useImageUploader","useImageUploader","onUploadComplete","uploadFile","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","file","wrap","_callee$","_context","prev","next","UNSPLASH_DEFAULT_REQUEST_CONFIG","sent","File","UNSPLASH_DEFAULT_NAME","t0","Toastr","error","stop","_x","apply","_useFetchUnsplashImag","_useFetchUnsplashImag2","_useFetchUnsplashImag3","_useFetchUnsplashImag4","ImageLibrary","setQuery","inputPlaceHolder","equals","autoFocus","placeholder","Unsplash","Modal","_ref$onClose","_ref$onUploadComplete","_ref$uploadConfig","uploadConfig","activeTab","selectedImage","isUploading","uploadConfigWithDefaults","DEFAULT_UPLOAD_CONFIG","isCloudFlareImageUploader","handleCloseModal","editedImage","handleCreateBlob","imageKitPayload","fileType","cloudFlarePayload","blobUrl","onError","_useUploadDropzone","useUploadDropzone","onDrop","getRootProps","getInputProps","isDragActive","inputRef","openFileUploadDialog","_inputRef$current","click","NeetoUIModal","event","stopPropagation","Header","Tab","Item","active","dataCy","otherProps","_objectWithoutProperties","_excluded","Footer","Trans","i18nKey","components","a","UNSPLASH_URL"],"mappings":"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AAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAM,WAAW,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,C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AAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,E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"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { default as BasicImageUploader } from './BasicImageUploader.js';
|
|
2
2
|
export { default as ImageUploader } from './ImageUploader.js';
|
|
3
|
-
export {
|
|
4
|
-
export { u as useImageUpload, a as useProfileImageUpload } from './useProfileImageUpload-
|
|
5
|
-
export { a as useImageUploader } from './useImageUploader-
|
|
3
|
+
export { M as AssetLibrary } from './index-60324d58.js';
|
|
4
|
+
export { u as useImageUpload, a as useProfileImageUpload } from './useProfileImageUpload-cad1ed36.js';
|
|
5
|
+
export { a as useImageUploader } from './useImageUploader-1c60ac64.js';
|
|
6
6
|
export { refetchImageLibraryAssetList } from './utils.js';
|
|
7
7
|
import '@babel/runtime/helpers/defineProperty';
|
|
8
8
|
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
@@ -230,7 +230,8 @@ var useImageUploader = function useImageUploader(_ref) {
|
|
|
230
230
|
}, _callee2, null, [[3, 11]]);
|
|
231
231
|
}));
|
|
232
232
|
};
|
|
233
|
-
var uploadFile = function uploadFile(file
|
|
233
|
+
var uploadFile = function uploadFile(file) {
|
|
234
|
+
var setUploadProgress = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;
|
|
234
235
|
if (isNil(file)) return;
|
|
235
236
|
var fileSize = file.size;
|
|
236
237
|
var XHRProgress = new XMLHttpRequest();
|
|
@@ -248,4 +249,4 @@ var useImageUploader = function useImageUploader(_ref) {
|
|
|
248
249
|
};
|
|
249
250
|
|
|
250
251
|
export { useImageUploader as a, directUploadsApi as d, generateASCIIFileName as g, useCreateBlob as u };
|
|
251
|
-
//# sourceMappingURL=useImageUploader-
|
|
252
|
+
//# sourceMappingURL=useImageUploader-1c60ac64.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useImageUploader-1c60ac64.js","sources":["../app/javascript/src/apis/direct_uploads.js","../app/javascript/src/hooks/useDirectUploads.js","../app/javascript/src/apis/cloudflare_image.js","../app/javascript/src/hooks/useCloudFlareImageApi.js","../app/javascript/src/hooks/utils.js","../app/javascript/src/hooks/useImageUploader.js"],"sourcesContent":["import axios from \"axios\";\n\nconst create = payload =>\n axios.post(\n \"/api/direct_uploads\",\n { blob: payload },\n { transformRequestCase: false }\n );\n\nconst update = ({ id, payload }) =>\n axios.put(\n `neeto_image_uploader_engine/api/direct_uploads/${id}`,\n { blob: payload },\n { transformRequestCase: false }\n );\nconst directUploadsApi = { create, update };\n\nexport default directUploadsApi;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useCreateBlob = options =>\n useMutationWithInvalidation(directUploadsApi.create, {\n keysToInvalidate: [QUERY_KEYS.ASSETS_LIST],\n ...options,\n });\n\nconst useUpdateBlob = options =>\n useMutation({ mutationFn: directUploadsApi.update, ...options });\n\nexport { useCreateBlob, useUpdateBlob };\n","import axios from \"axios\";\n\nconst generate = () =>\n axios.post(\"neeto_image_uploader_engine/cloudflare_images\");\n\nconst upload = ({ url, formData, setUploadProgress }) =>\n axios.post(url, formData, {\n headers: { \"Content-Type\": \"multipart/form-data\" },\n onUploadProgress: event => {\n const percentComplete = Math.round((event.loaded / event.total) * 100);\n setUploadProgress(percentComplete);\n },\n transformRequestCase: false,\n });\n\nconst cloudflareImageApi = { generate, upload };\n\nexport default cloudflareImageApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport cloudflareImageApi from \"apis/cloudflare_image\";\n\nexport const useCloudFlareImageUpload = () =>\n useMutation({ mutationFn: cloudflareImageApi.upload });\n","export const generateASCIIFileName = originalFileName => {\n const sanitizedFileName = originalFileName.replace(/[\\u00A0\\u202F]/g, \" \");\n\n if (/^[A-Za-z0-9-_.~ ]*$/.test(sanitizedFileName)) {\n return originalFileName;\n }\n\n const extension = originalFileName.split(\".\").pop();\n\n return `image.${extension}`;\n};\n","import { DirectUpload } from \"@rails/activestorage\";\nimport ImageKit from \"imagekit-javascript\";\nimport { keysToCamelCase, noop } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Toastr } from \"neetoui\";\nimport { equals, isNil, mergeRight } from \"ramda\";\n\nimport cloudflareImageApi from \"apis/cloudflare_image\";\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { CLOUD_FLARE, IS_DEVELOPMENT_OR_HEROKU_ENV } from \"src/constants\";\n\nimport { useCloudFlareImageUpload } from \"./useCloudFlareImageApi\";\nimport { generateASCIIFileName } from \"./utils\";\n\nconst useImageUploader = ({\n onUploadComplete = noop,\n setIsUploading = noop,\n}) => {\n const authenticationEndpoint = `${window.location.origin}/neeto_image_uploader_engine/imagekit/auth`;\n\n const { mutate: cloudFlareImage } = useCloudFlareImageUpload();\n\n const handleUploadProgress = (e, fileSize, setUploadProgress) => {\n if (e.loaded <= fileSize) {\n const percent = Math.round((e.loaded / fileSize) * 100);\n setUploadProgress(percent);\n }\n equals(e.loaded, e.total) && setUploadProgress(100);\n };\n\n const developmentUpload = (file, setUploadProgress) => {\n try {\n setIsUploading(true);\n const upload = new DirectUpload(file, \"/api/direct_uploads\", {\n directUploadWillStoreFileWithXHR: xhr => {\n xhr.upload.addEventListener(\"progress\", event => {\n const percentComplete = Math.round(\n (event.loaded / event.total) * 100\n );\n setUploadProgress(percentComplete);\n });\n },\n });\n\n upload.create((_, blob) => {\n const payload = {\n id: blob.signed_id,\n payload: {\n metadata: {\n organizationKey: globalProps.organization.publicApiKey,\n url: blob.blob_url,\n height: 200,\n width: 200,\n },\n },\n };\n directUploadsApi.update(payload);\n\n const result = mergeRight(keysToCamelCase(blob), {\n url: blob.blob_url,\n });\n\n onUploadComplete(result);\n });\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsUploading(false);\n }\n };\n\n const imageKitUpload = async (file, XHRProgress) => {\n try {\n const imagekit = new ImageKit(\n mergeRight(globalProps.imagekit, { authenticationEndpoint })\n );\n setIsUploading(true);\n const result = await imagekit.upload({\n xhr: XHRProgress,\n file,\n fileName: generateASCIIFileName(file.name),\n folder: globalProps.imagekit.folder,\n customMetadata: {\n organizationKey: globalProps.organization.publicApiKey,\n appName: globalProps.appName,\n },\n });\n\n onUploadComplete(result);\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsUploading(false);\n }\n };\n\n const cloudFlareImageUpload = (file, setUploadProgress) => {\n const img = new Image();\n img.src = URL.createObjectURL(file);\n\n const formData = new FormData();\n formData.append(\"file\", file);\n\n img.onload = async () => {\n const { width, height } = img;\n URL.revokeObjectURL(img.src);\n\n setIsUploading(true);\n try {\n // eslint-disable-next-line @bigbinary/neeto/use-react-query-for-managing-remote-data\n const { result } = await cloudflareImageApi.generate();\n\n cloudFlareImage(\n { url: result.uploadURL, formData, setUploadProgress },\n {\n onSuccess: ({ result }) => {\n const uploadData = {\n ...result,\n contentType: file.type,\n metadata: { ...result, width, height },\n url: result.variants[0],\n byteSize: file.size,\n checksum: result.id,\n };\n\n onUploadComplete(uploadData);\n setIsUploading(false);\n },\n }\n );\n } catch (error) {\n Toastr.error(error);\n setIsUploading(false);\n }\n };\n };\n\n const uploadFile = (file, setUploadProgress = noop) => {\n if (isNil(file)) return;\n\n const fileSize = file.size;\n const XHRProgress = new XMLHttpRequest();\n XHRProgress.upload.addEventListener(\"progress\", e => {\n handleUploadProgress(e, fileSize, setUploadProgress);\n });\n\n const productionUpload = () =>\n globalProps.assetsUploaderService === CLOUD_FLARE\n ? cloudFlareImageUpload(file, setUploadProgress)\n : imageKitUpload(file, XHRProgress);\n\n IS_DEVELOPMENT_OR_HEROKU_ENV\n ? developmentUpload(file, setUploadProgress)\n : productionUpload();\n };\n\n return { uploadFile };\n};\n\nexport default useImageUploader;\n"],"names":["create","payload","axios","post","blob","transformRequestCase","update","_ref","id","put","concat","directUploadsApi","useCreateBlob","options","useMutationWithInvalidation","_objectSpread","keysToInvalidate","QUERY_KEYS","ASSETS_LIST","generate","upload","url","formData","setUploadProgress","headers","onUploadProgress","event","percentComplete","Math","round","loaded","total","cloudflareImageApi","useCloudFlareImageUpload","useMutation","mutationFn","generateASCIIFileName","originalFileName","sanitizedFileName","replace","test","extension","split","pop","useImageUploader","_ref$onUploadComplete","onUploadComplete","noop","_ref$setIsUploading","setIsUploading","authenticationEndpoint","window","location","origin","_useCloudFlareImageUp","cloudFlareImage","mutate","handleUploadProgress","e","fileSize","percent","equals","developmentUpload","file","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","_","signed_id","metadata","organizationKey","globalProps","organization","publicApiKey","blob_url","height","width","result","mergeRight","keysToCamelCase","error","Toastr","imageKitUpload","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","XHRProgress","imagekit","wrap","_callee$","_context","prev","next","ImageKit","fileName","name","folder","customMetadata","appName","sent","t0","finish","stop","_x","_x2","apply","arguments","cloudFlareImageUpload","img","Image","src","URL","createObjectURL","FormData","append","onload","_callee2","_yield$cloudflareImag","_callee2$","_context2","revokeObjectURL","uploadURL","onSuccess","_ref4","uploadData","contentType","type","variants","byteSize","size","checksum","uploadFile","length","undefined","isNil","XMLHttpRequest","productionUpload","assetsUploaderService","CLOUD_FLARE","IS_DEVELOPMENT_OR_HEROKU_ENV"],"mappings":"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"}
|
|
@@ -240,7 +240,8 @@ var useImageUploader = function useImageUploader(_ref) {
|
|
|
240
240
|
}, _callee2, null, [[3, 11]]);
|
|
241
241
|
}));
|
|
242
242
|
};
|
|
243
|
-
var uploadFile = function uploadFile(file
|
|
243
|
+
var uploadFile = function uploadFile(file) {
|
|
244
|
+
var setUploadProgress = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : neetoCist.noop;
|
|
244
245
|
if (ramda.isNil(file)) return;
|
|
245
246
|
var fileSize = file.size;
|
|
246
247
|
var XHRProgress = new XMLHttpRequest();
|
|
@@ -261,4 +262,4 @@ exports.directUploadsApi = directUploadsApi;
|
|
|
261
262
|
exports.generateASCIIFileName = generateASCIIFileName;
|
|
262
263
|
exports.useCreateBlob = useCreateBlob;
|
|
263
264
|
exports.useImageUploader = useImageUploader;
|
|
264
|
-
//# sourceMappingURL=useImageUploader-
|
|
265
|
+
//# sourceMappingURL=useImageUploader-3de58fe2.js.map
|