PageSourceSearch

https://dashboard.prodigi.com/static/js/983.275f6fbf.chunk.js

js prodigi.com collected 2026-09-25 19:40:03 UTC 67,521 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkpwinty_dashboard_react=self.webpackChunkpwinty_dashboard_react||[]).push([[983],{64983:(t,e,i)=>{i.r(e),i.d(e,{dropdown_button:()=>It,dropdown_item:()=>vt,image_editor_alignment_tools:()=>bt,image_editor_border_controls:()=>At,image_editor_controls:()=>Nt,image_editor_example:()=>Pt,image_editor_preview:()=>ge,image_editor_preview_controller:()=>ue,section_title:()=>me,unit_toggle:()=>pe});var n=i(4715);function o(t,e,i){const n=function(t,e){return{x:t.x,y:t.y,width:t.width-2*e,height:t.height-2*e}}(e,i),o=Math.max(t.height,t.width),s=t.height/o,r=t.width/o,a=n.width/r,h=n.height/s;return a<h||a===h?h:a}const s={ARTWORK_PX:"artworkPx",PRINT_PX:"printPx",IN:"in",CM:"cm"},r="fill",a="printSize",h=2.54,l=40,c=30,d="#4a4a4a33",g={TOP:"TOP",RIGHT:"RIGHT",BOTTOM:"BOTTOM",LEFT:"LEFT",VERTICAL_CENTER:"VERTICAL_CENTER",HORIZONTAL_CENTER:"HORIZONTAL_CENTER"},u="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMiAyMEgwVjBIMlYyMFpNMjAgNUg0VjhIMjBWNVpNMTQgMTJINFYxNUgxNFYxMloiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=",m="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMTggMEgyMFYyMEgxOFYwWk0wIDhIMTZWNUgwVjhaTTYgMTVIMTZWMTJINlYxNVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=",p="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjAgMFYySDBWMEgyMFpNNSAyMEg4VjRINVYyMFpNMTIgMTRIMTVWNEgxMlYxNFoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=",w="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjAgMjBIMFYxOEgyMFYyMFpNOCAwSDVWMTZIOFYwWk0xNSA2SDEyVjE2SDE1VjZaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K",I="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyMSAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjEgOEgxNlYzSDEzVjhIOS4wMDAwM1YwSDYuMDAwMDNWOEgwLjg0MDAyN1YxMEg2LjAwMDAzVjE4SDkuMDAwMDNWMTBIMTNWMTVIMTZWMTBIMjFWOFoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=",v="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAxOCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMTAgMjFMMTAgMTZMMTUgMTZMMTUgMTNMMTAgMTNMMTAgOC45OTk5N0wxOCA4Ljk5OTk3TDE4IDUuOTk5OTdMMTAgNS45OTk5N0wxMCAwLjgzOTk2NUw4IDAuODM5OTY1TDggNS45OTk5N0wtMi4yNTU1MWUtMDcgNS45OTk5NkwtMy41NjY4NWUtMDcgOC45OTk5Nkw4IDguOTk5OTdMOCAxM0wzIDEzTDMgMTZMOCAxNkw4IDIxTDEwIDIxWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==",{TOP:M,RIGHT:x,BOTTOM:y,LEFT:C,VERTICAL_CENTER:D,HORIZONTAL_CENTER:T}=g,f={[M]:p,[x]:m,[y]:w,[C]:u,[D]:I,[T]:v},{TOP:b,RIGHT:A,BOTTOM:N,LEFT:k,VERTICAL_CENTER:E,HORIZONTAL_CENTER:P}=g,S={[b]:"Align image to top",[A]:"Align image to right",[N]:"Align image to bottom",[k]:"Align image to left",[E]:"Align image to vertical centre",[P]:"Align image to horizontal centre"};function O(t,e){const i=Math.abs(e),n=i>90?180-i:i,o=Math.abs(n*Math.PI/180),s=t.width*Math.cos(o),r=t.height*Math.sin(o),a=t.height*Math.cos(o);return{width:r+s,height:t.width*Math.sin(o)+a}}function j(t,e,i,n){const o=O({width:t.width-2*i,height:t.height-2*i},n);return o.height/e.height<o.width/e.width?o.width/e.width:o.height/e.height}function R(t,e,i){const n=Math.PI/180*i,o=Math.cos(n),s=Math.sin(n);return{x:o*(t.x-e.x)+s*(t.y-e.y)+e.x,y:o*(t.y-e.y)-s*(t.x-e.x)+e.y}}function L(t,e){return 180*Math.atan2(e.y-t.y,e.x-t.x)/Math.PI}function z(t,e){return Math.abs(Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)))}function B(t,e){const i=t.x+t.width/2,n=t.y+t.height/2;return{x:i+e.x,y:n+e.y}}function U(t){return t*h}function G(t){return{x:U(t.x),y:U(t.y)}}function Z(t){return t/h}function Y(t){return{x:Z(t.x),y:Z(t.y)}}function W(t){return Math.trunc(10*t*10)/100}const{ARTWORK_PX:F,PRINT_PX:V,IN:H,CM:Q}=s;class _{constructor(t,e,i,n){this.printDimensionsInPx=t,this.artworkDimensionsInPx=e,this.cropRectangle=i,this.printDpi=n}toCropRectanglePosition(t,e){switch(e){case F:return this.artworkPxToCropRectanglePosition(t);case V:return this.printPxToCropRectanglePosition(t);case H:return this.inchToCropRectanglePosition(t);case Q:return this.cmToCropRectanglePosition(t);default:throw new Error(`Position unit: ${e}
1 is invalid.`)}}cropRectanglePositionToPositionUnit(t,e){switch(e){case F:return this.cropRectanglePositionToArtworkPx(t);case V:return this.cropRectanglePositionToPrintPx(t);case H:return this.cropRectanglePositionToInch(t);case Q:return this.cropRectanglePositionToCm(t);default:throw new Error(`Position unit: ${e} is invalid.`)}}printPxToCropRectanglePosition(t){const e=this.printDimensionsInPx.width/t.x,i=this.printDimensionsInPx.height/t.y,n={x:this.cropRectangle.width/e,y:this.cropRectangle.height/i};return B(this.cropRectangle,n)}cmToCropRectanglePosition(t){const e=Y(t);return this.inchToCropRectanglePosition(e)}inchToCropRectanglePosition(t){const e=this.inchToArtworkPx(t);return this.artworkPxToCropRectanglePosition(e)}artworkPxToCropRectanglePosition(t){const e=this.artworkDimensionsInPx.width/t.x,i=this.artworkDimensionsInPx.height/t.y,n={x:this.cropRectangle.width/e,y:this.cropRectangle.height/i};return B(this.cropRectangle,n)}cropRectanglePositionToArtworkPx(t){const e=this.cropRectangle.x+this.cropRectangle.width/2,i=this.cropRectangle.y+this.cropRectangle.height/2,n=this.cropRectangle.width/(t.x-e),o=this.cropRectangle.height/(t.y-i);return{x:this.artworkDimensionsInPx.width/n,y:this.artworkDimensionsInPx.height/o}}cropRectanglePositionToPrintPx(t){const e=this.cropRectanglePositionToArtworkPx(t);return this.artworkPxToPrintPx(e)}artworkPxToPrintPx(t){const e=this.artworkDimensionsInPx.width/t.x,i=this.artworkDimensionsInPx.height/t.y;return{x:this.printDimensionsInPx.width/e,y:this.printDimensionsInPx.height/i}}inchToArtworkPx(t){const e=this.printDimensionsInPx.width/this.artworkDimensionsInPx.width,i=this.printDimensionsInPx.height/this.artworkDimensionsInPx.height;return{x:t.x*this.printDpi/e,y:t.y*this.printDpi/i}}inchToPrintPx(t){const e=this.inchToArtworkPx(t);return this.artworkPxToPrintPx(e)}cmToPrintPx(t){const e={x:t.x/h,y:t.y/h};return this.inchToPrintPx(e)}cropRectanglePositionToInch(t){const e=this.cropRectanglePositionToArtworkPx(t);return this.artworkPxToInch(e)}artworkPxToInch(t){const e=this.printDimensionsInPx.width/this.artworkDimensionsInPx.width,i=this.printDimensionsInPx.height/this.artworkDimensionsInPx.height;return{x:t.x*e/this.printDpi,y:t.y*i/this.printDpi}}cropRectanglePositionToCm(t){const e=this.cropRectanglePositionToArtworkPx(t);return G(this.artworkPxToInch(e))}}var X,J,K;function $(t,e,i){const n=function(t,e){const{width:i,height:n}=e,o={top:-n/2,right:i/2,bottom:n/2,left:-i/2};switch(t){case X.TOP_LEFT:return{y:o.top,x:o.left};case X.TOP_RIGHT:return{y:o.top,x:o.right};case X.BOTTOM_RIGHT:return{y:o.bottom,x:o.right};case X.BOTTOM_LEFT:return{y:o.bottom,x:o.left}}}(t,e);return{x:i.x+n.x,y:i.y+n.y}}!function(t){t.TOP_LEFT="TOP_LEFT",t.TOP_RIGHT="TOP_RIGHT",t.BOTTOM_LEFT="BOTTOM_LEFT",t.BOTTOM_RIGHT="BOTTOM_RIGHT"}(X||(X={})),function(t){t.IDLE="IDLE",t.DRAGGING="DRAGGING",t.SCALING="SCALING",t.ROTATING="ROTATING",t.REMOVE_ARTWORK="REMOVE_ARTWORK"}(J||(J={})),function(t){t.NONE="none",t.DEFAULT="default",t.MOVE="move",t.SCALE="scale",t.ROTATE="rotate",t.POINT="point"}(K||(K={}));const{TOP_LEFT:q,TOP_RIGHT:tt,BOTTOM_RIGHT:et,BOTTOM_LEFT:it}=X;const{TOP:nt,RIGHT:ot,BOTTOM:st,LEFT:rt,VERTICAL_CENTER:at,HORIZONTAL_CENTER:ht}=g;function lt(t,e,i,n,s,h){const l=o(n,s,h);if(e===r)return t*l;if(e===a){return t/j(i,n,h,0)*l}throw new Error(`Scale type: ${e} is invalid.`)}function ct(t,e,i,n,o,s,r){const{position:a,positionUnit:h,scaleFactor:l,scaleType:c,rotationAngle:d,borderUnit:g,borderWidth:u}=r,m=pt(s,g,u,e,o),p=new _(e,i,o,s),w=p.toCropRectanglePosition(a,h),I=function(t,e,i,n,o,s,r){const a=lt(o,s,t,e,n,r)/Math.max(i.height,i.width);return{width:i.width*a,height:i.height*a}}(e,i,n,o,l,c,m),v=function(t,e,i){const n=$(q,t,e),o=$(tt,t,e),s=$(et,t,e),r=$(it,t,e);return[R(n,e,-i),R(o,e,-i),R(s,e,-i),R(r,e,-i)]}(I,w,d),M=function(t,e,i,n,o){const s=t.map((t=>t.x)),r=t.map((t=>t.y)),a=Math.max(...s),h=Math.min(...s),l=Math.max(...r),c=Math.min(...r);switch(i){case nt:return{x:e.x,y:e.y+(n.y-c)+o};case ot:return{x:e.x+(n.x+n.width-a)-o,y:e.y};case rt:return{x:e.x+(n.x-h)+o,y:e.y};case st:return{x:e.x,y:e.y+(n.y+n.height-l)-o};case at:return{x:e.x,y:n.y+n.height/2};case ht:return{x:n.x+n.width/2,y:e.y};default:throw new Error(`Alignment point: ${i}
1 is invalid.`)}}(v,w,t,o,m);return p.cropRectanglePositionToPositionUnit(M,h)}function dt(t,e){return Math.min(t,e)/4}var gt;function ut(t,e,i){switch(i){case gt.LEFT:return{x:t.x,y:t.y,width:e,height:t.height};case gt.RIGHT:return{x:t.x+t.width-e,y:t.y,width:e,height:t.height};case gt.TOP:return{x:t.x,y:t.y,width:t.width,height:e};case gt.BOTTOM:return{x:t.x,y:t.y+t.height-e,width:t.width,height:e}}}function mt(t,e,i){const n=i===s.CM?e:U(e);var o,r;return o=10*n,r=t,Math.round(.03937*o*r)}function pt(t,e,i,n,o){const s=dt(o.width,o.height),r=dt(n.width,n.height);return mt(t,i,e)/r*s}function wt(t,e,i,n,o){if(e===a)return t;if(e===r){return t/j(i,n,o,0)}throw new Error(`Scale type: ${e} is invalid.`)}!function(t){t.LEFT="LEFT",t.TOP="TOP",t.RIGHT="RIGHT",t.BOTTOM="BOTTOM"}(gt||(gt={}));let It=class{constructor(t){(0,n.r)(this,t),this.mainButtonClick=(0,n.c)(this,"mainButtonClick",7),this.sideButtonRef=null,this.isDropdownOpen=!1,this.isCursorHoveringOverButton=!1,this.inlineStyles={},this.closeDropdown=t=>{const e=t.composedPath()[0];this.sideButtonRef!==e&&(this.isDropdownOpen=!1)},this.onMainButtonClick=()=>this.mainButtonClick.emit(this.mainButtonValue),this.onSideButtonClick=t=>{this.sideButtonRef=t.target,this.isDropdownOpen=!this.isDropdownOpen},this.handleKeyDown=t=>{"Escape"===t.key&&(this.isDropdownOpen=!1)},this.onMouseEnter=()=>{this.isCursorHoveringOverButton=!0},this.onMouseLeave=()=>{this.isCursorHoveringOverButton=!1}}connectedCallback(){document.addEventListener("click",this.closeDropdown),document.addEventListener("keydown",this.handleKeyDown)}disconnectedCallback(){document.removeEventListener("click",this.closeDropdown),document.removeEventListener("keydown",this.handleKeyDown)}render(){return(0,n.h)("div",{class:"dropdown-button",part:"dropdown-button"},(0,n.h)("div",{class:"button-container",style:this.inlineStyles,onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},(0,n.h)("button",{id:"main-button",class:this.isDropdownOpen||this.isCursorHoveringOverButton?"main-button button-active":"main-button",onClick:this.onMainButtonClick},(0,n.h)("slot",{name:"selected-item"})),(0,n.h)("button",{id:"side-button","aria-haspopup":"true","aria-expanded":this.isDropdownOpen,class:this.isDropdownOpen||this.isCursorHoveringOverButton?"side-button button-active":"side-button",onClick:this.onSideButtonClick},(0,n.h)("img",{class:"chevron-down-icon",src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXctYm94PSIwIDAgMjQgMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxucy14bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgcm9sZT0iaW1nIj4KICA8dGl0bGU+RG93biBjaGV2cm9uIGljb248L3RpdGxlPgogIDxnIHN0cm9rZT0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiA+CiAgICA8cG9seWdvbiBmaWxsPSIjQkVCRUJFIiBwb2ludHM9IjEyIDE2LjUgNC41IDkgNS41NSA3Ljk1IDEyIDE0LjQgMTguNDUgNy45NSAxOS41IDkiPjwvcG9seWdvbj4KICA8L2c+Cjwvc3ZnPgo=",alt:""}))),(0,n.h)("div",{class:this.isDropdownOpen?"dropdown-list-container display-block":"dropdown-list-container"},(0,n.h)("div",{class:"chevron"}),(0,n.h)("div",{tabIndex:0,"aria-labelledby":"side-button",class:"dropdown-list"},(0,n.h)("slot",{name:"items"}))))}};It.style=".dropdown-button{--dropdown-list-background-color:var(--color-grey-100);--active-dropdown-list-outline-color:var(--color-grey-90);--dropdown-button-background-color:var(--color-grey-90);--active-dropdown-button-background-color:var(--color-grey-80);position:relative;display:inline-block;color:white}.button-container{display:flex;height:32px}.button-container button{border:none;cursor:pointer;display:flex;align-items:center}.button-container button:focus{outline:none;opacity:1}.main-button{border-radius:4px 0 0 4px;padding:6px;background-color:var(--dropdown-button-background-color);opacity:0.6}.side-button{border-radius:0 4px 4px 0;padding:6px 4px 6px 4px;background-color:var(--dropdown-button-background-color)}.button-active{background-color:var(--active-dropdown-button-background-color);opacity:1}.chevron-down-icon{max-width:14px;width:100%;opacity:0.6}.dropdown-list-container{top:48px;right:0;position:absolute;display:none;z-index:1000}.dropdown-list{background-color:var(--dropdown-list-background-color);padding:8px;overflow:visible;border-radius:4px;display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dropdown-list:focus{outline:none;box-shadow:0 0 0 1px var(--active-dropdown-list-outline-color)}.chevron{z-index:-10;position:absolute;width:12px;height:12px;right:12px;top:-6px;background-color:var(--dropdown-list-background-color);transform:rotate(45deg)}.display-block{display:block;opacity:1}.button-active .chevron-down-icon{opacity:1}";let vt=class{constructor(t){(0,n.r)(this,t),this.clickItem=(0,n.c)(this,"clickItem",7),this.handleOnClick=t=>{const e=t.currentTarget;this.clickItem.emit(e.value)}}render(){return(0,n.h)("button",{id:this.htmlId,value:this.value,class:"dropdown-item",part:"dropdown-item",onClick:this.handleOnClick},(0,n.h)("slot",null))}};vt.style=".dropdown-item{cursor:pointer;background-color:transparent;border:none;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:8px;--dropdown-item-hover-color:var(--color-grey-90);opacity:0.6}.dropdown-item:hover{background-color:var(--dropdown-item-hover-color);opacity:1}.dropdown-item:focus{outline:none;opacity:1}";
1const{TOP:Mt,RIGHT:xt,BOTTOM:yt,LEFT:Ct,VERTICAL_CENTER:Dt,HORIZONTAL_CENTER:Tt}=g;function ft(t,e){const i=t.getContext("2d");if(!i)throw Error("Context cannot be null.");i.save(),e(i,t),i.restore()}let bt=class{constructor(t){(0,n.r)(this,t),this.alignmentPointChange=(0,n.c)(this,"alignmentPointChange",7),this.fill=(0,n.c)(this,"fill",7),this.fit=(0,n.c)(this,"fit",7),this.dropdownItems=[],this.selectedAlignmentPoint=g.LEFT,this.selectedAlignmentPointIconSrc=f[g.LEFT],this.selectedAlignmentPointTitle=S[g.LEFT],this.inlineStyles={},this.onAlignmentButtonClick=t=>{let{detail:e}=t;if(i=e,!Object.values(g).includes(i))throw new Error(`Alignment point: ${e} is invalid.`);var i;this.selectedAlignmentPoint=e,this.selectedAlignmentPointIconSrc=f[e],this.selectedAlignmentPointTitle=S[e],this.alignmentPointChange.emit(e)},this.onFillButtonClick=()=>this.fill.emit(),this.onFitButtonClick=()=>this.fit.emit(),this.dropdownItems=function(t){const e=(0,n.h)("dropdown-item",{exportparts:"dropdown-item",slot:"items",onClickItem:t,title:S[Mt],htmlId:"align-top-icon",value:Mt},(0,n.h)("img",{src:p,alt:"align top"})),i=(0,n.h)("dropdown-item",{exportparts:"dropdown-item",slot:"items",onClickItem:t,title:S[xt],htmlId:"align-right-icon",value:xt},(0,n.h)("img",{src:m,alt:"align right"})),o=(0,n.h)("dropdown-item",{exportparts:"dropdown-item",slot:"items",onClickItem:t,title:S[yt],htmlId:"align-bottom-icon",value:yt},(0,n.h)("img",{src:w,alt:"align bottom"}));return[(0,n.h)("dropdown-item",{exportparts:"dropdown-item",slot:"items",onClickItem:t,title:S[Ct],htmlId:"align-left-icon",value:Ct},(0,n.h)("img",{src:u,alt:"align left"})),(0,n.h)("dropdown-item",{exportparts:"dropdown-item",slot:"items",onClickItem:t,title:S[Dt],htmlId:"align-vertical-center-icon",value:Dt},(0,n.h)("img",{src:I,alt:"align vertical center"})),i,e,(0,n.h)("dropdown-item",{exportparts:"dropdown-item",slot:"items",onClickItem:t,title:S[Tt],htmlId:"align-horizontal-center-icon",value:Tt},(0,n.h)("img",{src:v,alt:"align horizontal center"})),o]}(this.onAlignmentButtonClick)}render(){return(0,n.h)("div",{part:"alignment-tools",class:"alignment-tools",style:this.inlineStyles},(0,n.h)("section-title",{text:"Placement Tools"}),(0,n.h)("div",{class:"buttons"},(0,n.h)("button",{class:"fit-fill",id:"fit-button",title:"Fit image to template",onClick:this.onFitButtonClick},(0,n.h)("img",{src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8Zz4KICAgIDxwYXRoIGQ9Ik04IDE3Ljk5OTlWMjMuOTk5OUgxNFYyNS45OTk5SDZWMTcuOTk5OUg4Wk0xMS43NTcyIDE4LjgyODRMMTMuMTcxMiAyMC4yNDI0TDExLjc1NzIgMjEuNjU3NEwxMC4zNDMyIDIwLjI0MjRMMTEuNzU3MiAxOC44Mjg0Wk0xNC41ODYyIDE2LjAwMDRMMTYuMDAwMiAxNy40MTQ0TDE0LjU4NjIgMTguODI4NEwxMy4xNzEyIDE3LjQxNDRMMTQuNTg2MiAxNi4wMDA0Wk0xNy40MTQyIDEzLjE3MTRMMTguODI4MiAxNC41ODY0TDE3LjQxNDIgMTYuMDAwNEwxNi4wMDAyIDE0LjU4NjRMMTcuNDE0MiAxMy4xNzE0Wk0yNiA2VjE0SDI0VjhIMThWNkgyNlpNMjAuMjQyMiAxMC4zNDM0TDIxLjY1NzIgMTEuNzU3NEwyMC4yNDIyIDEzLjE3MTRMMTguODI4MiAxMS43NTc0TDIwLjI0MjIgMTAuMzQzNFoiIGZpbGw9IndoaXRlIi8+CiAgPC9nPgo8L3N2Zz4K",alt:"fit"})),(0,n.h)("button",{class:"fit-fill",id:"fill-button",title:"Fill template area",onClick:this.onFillButtonClick},(0,n.h)("img",{src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8Zz4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjMgMjNWMjVIMjFWMjNIMjNaTTI3IDIzQzI3IDI0IDI2IDI1IDI1IDI1VjIzSDI3Wk03IDIzVjI1QzYgMjUgNSAyNCA1IDIzSDdaTTExIDIzVjI1SDlWMjNIMTFaTTE5IDIzVjI1SDE3VjIzSDE5Wk0xNSAyM1YyNUgxM1YyM0gxNVpNMjEgMTFDMjIuMSAxMSAyMyAxMS45IDIzIDEzVjE5QzIzIDIwLjEgMjIuMSAyMSAyMSAyMUgxMUM5LjkgMjEgOSAyMC4xIDkgMTlWMTNDOSAxMS45IDkuOSAxMSAxMSAxMUgyMVpNMjcgMTlWMjFIMjVWMTlIMjdaTTcgMTlWMjFINVYxOUg3Wk0xNy43OSAxNC43MkwxNS4yOSAxNy45NEwxMy41IDE1Ljc5TDExIDE5SDIxTDE3Ljc5IDE0LjcyWk0yNyAxNVYxN0gyNVYxNUgyN1pNNyAxNVYxN0g1VjE1SDdaTTI3IDExVjEzSDI1VjExSDI3Wk03IDExVjEzSDVWMTFIN1pNMjMgN1Y5SDIxVjdIMjNaTTI1IDdDMjYgNyAyNyA4IDI3IDlIMjVWN1pNNyA3VjlINUM1IDggNiA3IDcgN1pNMTEgN1Y5SDlWN0gxMVpNMTkgN1Y5SDE3VjdIMTlaTTE1IDdWOUgxM1Y3SDE1WiIgZmlsbD0id2hp
1dGUiLz4KICA8L2c+Cjwvc3ZnPgo=",alt:"fill"})),(0,n.h)("dropdown-button",{onMainButtonClick:this.onAlignmentButtonClick,class:"dropdown-button",exportparts:"dropdown-button",mainButtonValue:this.selectedAlignmentPoint,title:this.selectedAlignmentPointTitle},(0,n.h)("img",{slot:"selected-item",src:this.selectedAlignmentPointIconSrc,alt:"alignment point"}),this.dropdownItems),(0,n.h)("br",null)))}};bt.style=".alignment-tools{--alignment-tools-background-color:var(--color-grey-90);--hover-button-background-color:var(--color-grey-80);background-color:var(--alignment-tools-background-color);color:white;letter-spacing:0.44px;width:320px}.buttons{display:flex;flex-direction:row;margin-top:8px;height:32px}.buttons button:not(:first-of-type){margin-left:10px}.dropdown-button{margin-left:10px}.fit-fill{border:none;cursor:pointer;background-color:var(--alignment-tools-background-color);border-radius:4px;padding:2px;opacity:0.6}.fit-fill img{width:28px;height:28px}.fit-fill:hover{background-color:var(--hover-button-background-color)}.fit-fill:focus{outline:none;opacity:1}.fit-fill:hover{opacity:1}";let At=class{constructor(t){(0,n.r)(this,t),this.borderChange=(0,n.c)(this,"borderChange",7),this.inlineStyles={},this.borderWidthChange=t=>{const e=t.target.value,i=Number.parseFloat(e);this.borderChange.emit(i)}}convertBorder(t){switch(this.borderUnit){case s.CM:return W(t);case s.IN:return W(Z(t));default:throw new Error(`Border unit: ${this.borderUnit} is invalid.`)}}get maxBorderWidth(){const t=dt(this.printDimensionsInPx.width,this.printDimensionsInPx.height);var e,i;const n=(e=t,i=this.printDpi,Math.round(25.4*e/i))/10,o=this.convertBorder(n);return s=o,Math.round(10*s)/10;var s}render(){return(0,n.h)("div",{part:"container",class:"container",style:this.inlineStyles},(0,n.h)("section-title",{text:"Border"}),(0,n.h)("p",{class:"subtitle"},"Use the scale below to add a border to your print."),(0,n.h)("p",{class:"borderValue"},"Border: ",W(this.borderWidth),this.borderUnit),(0,n.h)("input",{type:"range",class:"borderSlider",min:0,step:.1,max:this.maxBorderWidth,onInput:this.borderWidthChange,value:this.borderWidth}),(0,n.h)("div",{class:"scaleValueContainer"},(0,n.h)("p",{class:"minBorder"},"0",this.borderUnit),(0,n.h)("p",{class:"maxBorder"},this.maxBorderWidth,this.borderUnit)))}};At.style=".container{background-color:var(--controls-background-color);color:white;letter-spacing:0.44px;width:324px;
1letter-spacing:var(--line-spacing);font-size:14px}.subtitle,.borderValue{margin-top:8px;margin-bottom:8px;color:var(--color-grey-30);margin:0px;line-height:20px}.subtitle{padding-bottom:16px;margin-top:8px}.borderValue{padding-bottom:8px}.borderSlider,.borderSlider::-webkit-slider-thumb{cursor:pointer;-webkit-appearance:none;appearance:none}.borderSlider{height:3px;width:100%;background-color:var(--color-grey-60)}.borderSlider:focus{outline:none;opacity:0.92}.borderSlider::-webkit-slider-thumb{width:18px;height:18px;background-color:var(--color-white);border-radius:50%}.scaleValueContainer{width:inherit;justify-content:space-between;display:flex}.minBorder,.maxBorder{margin:0;padding:0;padding-top:8px;color:var(--color-grey-30)}.maxBorder{float:right}";let Nt=class{constructor(t){(0,n.r)(this,t),this.positionChange=(0,n.c)(this,"positionChange",7),this.scaleChange=(0,n.c)(this,"scaleChange",7),this.rotationAngleChange=(0,n.c)(this,"rotationAngleChange",7),this.positionUnitChange=(0,n.c)(this,"positionUnitChange",7),this.borderChange=(0,n.c)(this,"borderChange",7),this.inlineStyles={},this.onXPositionChange=t=>{this.positionChange.emit({x:+t.target.value,y:this.position.y})},this.onYPositionChange=t=>{this.positionChange.emit({y:+t.target.value,x:this.position.x})},this.onPositionUnitChange=t=>{const e=t===s.IN?Y(this.position):G(this.position),i=t===s.IN?Z(this.borderWidth):U(this.borderWidth);this.positionUnitChange.emit(t),this.positionChange.emit(e),this.borderChange.emit(i)},this.onRotationAngleChange=t=>{const e=+t.target.value;e<-360?this.rotationAngleChange.emit(-360):e>360?this.rotationAngleChange.emit(360):this.rotationAngleChange.emit(e)},this.onScaleChange=t=>{const e=+t.target.value;e<1?this.scaleChange.emit(.01):this.scaleChange.emit(e/100)}}get scaleInPercents(){return 100*this.scaleFactor}render(){return(0,n.h)("div",{part:"container",class:"container",style:this.inlineStyles,exportparts:"unit-toggle"},(0,n.h)("div",{class:"heading"},(0,n.h)("div",null,(0,n.h)("section-title",{text:"Position"}),(0,n.h)("p",{class:"subtitle"},"Drag your artwork or enter position below")),(0,n.h)("unit-toggle",{part:"unit-toggle",positionUnitChange:this.onPositionUnitChange,unit:this.positionUnit})),(0,n.h)("fieldset",null,(0,n.h)("div",{class:"input-group"},(0,n.h)("label",{htmlFor:"rotation-angle"},"Rotate"),(0,n.h)("input",{class:"edit-group",onChange:this.onRotationAngleChange,name:"rotation-angle",type:"number",step:"0.1",min:"0",max:"360",value:W(this.rotationAngle)}),(0,n.h)("span",{class:"input-unit"},"deg")),(0,n.h)("div",{class:"input-group"},(0,n.h)("label",{htmlFor:"scale"},"Scale"),(0,n.h)("input",{class:"edit-group",onChange:this.onScaleChange,name:"scale",type:"number",step:"0.1",min:"1",value:W(this.scaleInPercents)}),(0,n.h)("span",{class:"input-unit"},"%"))),(0,n.h)("fieldset",null,(0,n.h)("div",{class:"input-group"},(0,n.h)("label",{htmlFor:"position-x"},"Left"),(0,n.h)("input",{class:"edit-group",onChange:this.onXPositionChange,name:"position-x",type:"number",step:"0.1",value:W(this.position.x)}),(0,n.h)("span",{class:"input-unit"},this.positionUnit)),(0,n.h)("div",{class:"input-group"},(0,n.h)("label",{htmlFor:"position-y"},"Top"),(0,n.h)("input",{class:"edit-group",onChange:this.onYPositionChange,name:"position-y",type:"number",step:"0.1",value:W(this.position.y)}),(0,n.h)("span",{class:"input-unit"},this.positionUnit))))}};Nt.style=".container{background-color:var(--controls-background-color);letter-spacing:0.44px;width:320px}.subtitle{margin-top:8px;margin-bottom:8px;color:var(--color-grey-30);font-size:var(--size-small);line-height:20px}.container fieldset{display:flex;border:none;align-items:center;padding:0;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:0;margin-inline-end:0}.edit-group{background-color:transparent;color:white;font-family:var(--font-regular);font-size:var(--size-small);font-weight:500;letter-spacing:0.44px;text-align:right;border:1px solid transparent;width:60px;min-width:60px;height:30px;margin-left:8px;display:flex;padding:5px;padding-right:40px;z-index:100}.edit-group:hover{border:1px solid var(--color-grey-20);outline:1px solid var(--color-grey-20)}.edit-group:focus-within{border:1px solid var(--color-grey-20);outline:1px solid var(--color-grey-20)}.input-unit{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--color-grey-30);font-weight:500;font-size:var(--size-small);position:relative;width:35px;left:-35px;top:14px;z-index:99}.container label{font-weight:400;color:var(--color-grey-20);font-size:var(--size-xxsmall);letter-spacing:1px;text-transform:uppercase;height:40px;
1display:flex;align-items:center;width:45px;min-width:45px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.input-group{display:flex;width:160px;margin-bottom:8px;margin-top:8px}.input-group:not(:first-child){margin-left:14px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.heading{display:flex;width:100%;justify-content:space-between}.subtitle{width:90%}";const kt=[{name:"Portrait Artwork / Portrait Template With Overlay",value:{template:{overlayUrl:"https://dev-services.pwinty.com/templates//templates/A-MH-JH050-SGR-S-UK2/render/Landscape/Overlay",underlayUrl:"https://dev-services.pwinty.com/templates//templates/A-MH-JH050-SGR-S-UK2/render/Landscape/Underlay",cropRectangle:{height:602.8125,width:487.1875,x:506.40625,y:430},printDimensionsInPx:{width:4677,height:5787},printDpi:300},artwork:{dimensions:{height:4797,width:3598},full:"https://s3.amazonaws.com/kiteshopify/2b558178-e0bf-4f4c-abe8-b8192ef3fc9f.jpeg",preview:"https://s3.amazonaws.com/kiteshopify/2b558178-e0bf-4f4c-abe8-b8192ef3fc9f_preview.jpeg"}}},{name:"Portrait Artwork / Landscape Template",value:{template:{cropRectangle:{x:0,y:187,width:1500,height:1125},printDimensionsInPx:{width:2400,height:1800},overlayUrl:"https://dev-services.pwinty.com/templates//templates/GLOBAL-CFP-6X8-BLA-US1/render/Landscape/Overlay",underlayUrl:null,printDpi:300},artwork:{dimensions:{height:4797,width:3598},full:"https://s3.amazonaws.com/kiteshopify/869ec290-fff6-4a90-b55e-cd379e8516b3.jpeg",preview:"https://s3.amazonaws.com/kiteshopify/869ec290-fff6-4a90-b55e-cd379e8516b3_preview.jpeg"}}},{name:"Portrait Artwork / Square Template",value:{artwork:{dimensions:{height:6e3,width:4e3},full:"https://s3.amazonaws.com/kiteshopify/f37b221f-1c13-45ba-8a7c-f071ce878114.jpeg",preview:"https://s3.amazonaws.com/kiteshopify/f37b221f-1c13-45ba-8a7c-f071ce878114_preview.jpeg"},template:{cropRectangle:{x:0,y:0,width:1500,height:1500},printDimensionsInPx:{width:6e3,height:6e3},overlayUrl:"https://dev-services.pwinty.com/templates//templates/GLOBAL-CFP-20X20-BLA-US1/render/Landscape/Overlay",underlayUrl:null,printDpi:300}}},{name:"Landscape Artwork / Landscape Template",value:{template:{overlayUrl:"https://dev-services.pwinty.com/templates//templates/GLOBAL-CFP-6X8-BACKLOADER-BLA-PRODIGI_GB3/render/Landscape/Overlay",underlayUrl:null,cropRectangle:{x:0,y:187,width:1500,height:1125},printDimensionsInPx:{width:2400,height:1800},printDpi:300},artwork:{dimensions:{height:2950,width:3700},full:"https://s3.amazonaws.com/kiteshopify/f3943172-ea66-4bbe-a149-e2fe6fe210dd.png",preview:"https://s3.amazonaws.com/kiteshopify/f3943172-ea66-4bbe-a149-e2fe6fe210dd_preview.png"}}},{name:"Landscape Artwork / Portrait Template",value:{artwork:{dimensions:{height:3600,width:5400},full:"https://s3.amazonaws.com/kiteshopify/139142a2-8adc-4c2f-85d6-79f7c0588ee6.jpeg",preview:"https://s3.amazonaws.com/kiteshopify/139142a2-8adc-4c2f-85d6-79f7c0588ee6_preview.jpeg"},template:{cropRectangle:{x:161,y:0,width:1178,height:1500},printDimensionsInPx:{width:3300,height:4200},overlayUrl:"https://dev-services.pwinty.com/templates//templates/GLOBAL-CFP-11X14-BLA-US1/render/Portrait/Overlay",underlayUrl:null,printDpi:300}}},{name:"Square Artwork / Landscape Template",value:{artwork:{dimensions:{height:1,width:1},full:"https://s3.amazonaws.com/kiteshopify/68315865-f591-48e4-ab49-9275c7b52f9c.png",preview:"https://s3.amazonaws.com/kiteshopify/68315865-f591-48e4-ab49-9275c7b52f9c_preview.jpeg"},template:{cropRectangle:{x:0,y:187,width:1500,height:1125},printDimensionsInPx:{width:2400,height:1800},overlayUrl:"https://dev-services.pwinty.com/templates//templates/GLOBAL-CFP-6X8-BLA-US1/render/Landscape/Overlay",underlayUrl:null,printDpi:300}}},{name:"Square Artwork / Square Template",value:{artwork:{dimensions:{height:6e3,width:6e3},full:"https://s3.amazonaws.com/kiteshopify/ec6e5da6-1e3d-4054-bdce-bb2798f694b9.png",preview:"https://s3.amazonaws.com/kiteshopify/ec6e5da6-1e3d-4054-bdce-bb2798f694b9_preview.jpeg"},template:{cropRectangle:{x:0,y:0,width:1500,height:1500},printDimensionsInPx:{width:6e3,height:6e3},overlayUrl:"https://dev-services.pwinty.com/templates//templates/GLOBAL-CFP-20X20-BLA-US1/render/Landscape/Overlay",underlayUrl:null,printDpi:300}}},{name:"Fit and fill - explanation",value:{artwork:{dimensions:{height:904,width:1464},full:"https://s3.amazonaws.com/kiteshopify/5989599a-84a5-47fd-bb7c-e41293a6f2b5.png",preview:"https://s3.amazonaws.com/kiteshopify/5989599a-84a5-47fd-bb7c-e41293a6f2b5_preview.png"},template:{overlayUrl:"https://dev-services.pwinty.com/templates//templates/GLOBAL-CFP-6X8-BACKLOADER-BLA-PRODIGI_GB3/render/Landscape/Overlay",underlayUrl:null,cropRectangle:{x:0,y:187,width:1500,height:1125},printDimensionsInPx:{width:2400,height:1800},printDpi:300}}},{name:"PIG template example",value:{template:{overlayUrl:"https://image.kite.ly/product_images/bc6004_womens_tshirt_uk/foreground.png",underlayUrl:"https://image.kite.ly/product_images/bc6004_womens_tshirt_uk/background.png",cropRectangle:{x:368,y:267,width:451,height:515},printDimensionsInPx:{width:1503,height:1718},printDpi:200},artwork:{dimensions:{height:2950,width:3700},full:"https://s3.amazonaws.com/kiteshopify/f3943172-ea66-4bbe-a149-e2fe6fe210dd.png",preview:"https://s3.amazonaws.com/kiteshopify/f3943172-ea66-4bbe-a149-e2fe6fe210dd_preview.png"}}}];const Et=new window.URLSearchParams(window.location.search).get("example");let Pt=class{constructor(t){(0,n.r)(this,t),this.inlineStyles={},this.artwork=Et?kt.find((t=>t.name===Et)).value.artwork:kt[0].value.artwork,this.template=Et?kt.find((t=>t.name===Et)).value.template:kt[0].value.template,this.exampleName=null!==Et&&void 0!==Et?Et:kt[0].name,this.transformations={scaleFactor:1,scaleType:r,position:{x:0,y:0},positionUnit:s.IN,rotationAngle:0,borderWidth:0,borderUnit:s.IN,isTiled:!1},this.artworkPreviewDimensionsInPx=null,this.onPositionChange=t=>{let{detail:e}=t;this.transformations=Object.assign(Object.assign({},this.transformations),{position:e})},this.onPositionUnitChange=t=>{let{detail:e}=t;this.transformations=Object.assign(Object.assign({},this.transformations),{positionUnit:e,borderUnit:e})},this.rotationChange=t=>{let{detail:e}=t;this.transformations=Object.assign(Object.assign({},this.transformations),{rotationAngle:e})},this.onScaleChange=t=>{let{detail:e}=t;this.transformations=Object.assign(Object.assign({},this.transformations),{scaleFactor:e})},this.onRemoveArtwork=()=>{console.log("remove artwork")},this.onBorderChange=t=>{let{detail:e}=t;this.transformations=Object.assign(Object.assign({},this.transformations),{borderWidth:e})},this.onAlignmentPointChange=t=>{let{detail:e}=t;if(!this.artworkPreviewDimensionsInPx)return;const i=ct(e,this.template.printDimensionsInPx,this.artwork.dimensions,this.artworkPreviewDimensionsInPx,this.template.cropRectangle,this.template.printDpi,this.transformations);this.transformations=Object.assign(Object.assign({},this.transformations),{position:i})},this.onFill=()=>{if(!this.artworkPreviewDimensionsInPx)return;const t=mt(this.template.printDpi,this.transformations.borderWidth,this.transformations.borderUnit),e=wt(j(this.template.printDimensionsInPx,this.artwork.dimensions,t,this.transformations.rotationAngle),this.transformations.scaleType,this.template.printDimensionsInPx,this.artwork.dimensions,t);this.transformations=Object.assign(Object.assign({},this.transformations),{position:{x:0,y:0},scaleFactor:e})},this.onFit=()=>{if(!this.artworkPreviewDimensionsInPx)return;const t=mt(this.template.printDpi,this.transformations.borderWidth,this.transformations.borderUnit),e=function(t,e,
1i,n){const o=t.width-2*i,s=t.height-2*i,r=O(e,n);return r.width/r.height<o/s?s/r.height*100:o/r.width*100}(this.template.printDimensionsInPx,this.artwork.dimensions,t,this.transformations.rotationAngle),i=wt(e/100,this.transformations.scaleType,this.template.printDimensionsInPx,this.artwork.dimensions,t);this.transformations=Object.assign(Object.assign({},this.transformations),{position:{x:0,y:0},scaleFactor:i})},this.selectTemplateAndArtwork=t=>{const e=t.composedPath()[0],i=kt.find((t=>t.name===e.value));this.exampleName=e.value,this.template=i.value.template,this.artwork=i.value.artwork,window.location.search=`example=${this.exampleName}`},this.onTileToggle=()=>{this.transformations=Object.assign(Object.assign({},this.transformations),{isTiled:!this.transformations.isTiled})}}onLoadArtwork(t){let{detail:e}=t;this.artworkPreviewDimensionsInPx=e}get scaledBorderInPx(){return pt(this.template.printDpi,this.transformations.borderUnit,this.transformations.borderWidth,this.template.printDimensionsInPx,this.template.cropRectangle)}get imageUrls(){return{artwork:this.artwork.preview,overlay:this.template.overlayUrl,underlay:this.template.underlayUrl}}get controlsStyle(){return{padding:"1em"}}render(){return(0,n.h)("div",{class:"container"},(0,n.h)("div",{class:"side-bar"},(0,n.h)("image-editor-controls",{inlineStyles:this.controlsStyle,position:this.transformations.position,positionUnit:this.transformations.positionUnit,scaleFactor:this.transformations.scaleFactor,rotationAngle:this.transformations.rotationAngle,borderWidth:this.transformations.borderWidth,onRotationAngleChange:this.rotationChange,onScaleChange:this.onScaleChange,onPositionUnitChange:this.onPositionUnitChange,onPositionChange:this.onPositionChange,onBorderChange:this.onBorderChange}),(0,n.h)("image-editor-alignment-tools",{onAlignmentPointChange:this.onAlignmentPointChange,onFill:this.onFill,onFit:this.onFit,inlineStyles:this.controlsStyle}),(0,n.h)("image-editor-border-controls",{inlineStyles:this.controlsStyle,printDimensionsInPx:this.template.printDimensionsInPx,printDpi:this.template.printDpi,borderWidth:this.transformations.borderWidth,borderUnit:this.transformations.borderUnit,onBorderChange:this.onBorderChange}),(0,n.h)("select",{onChange:this.selectTemplateAndArtwork},kt.map((t=>(0,n.h)("option",{selected:this.exampleName===t.name,value:t.name},t.name)))),(0,n.h)("label",{class:"tiling-checkbox"},"Enable tiling",(0,n.h)("input",{type:"checkbox",onChange:this.onTileToggle,checked:this.transformations.isTiled}))),(0,n.h)("div",{class:"preview-container"},(0,n.h)("image-editor-preview-controller",{key:this.exampleName,onPositionChange:this.onPositionChange,onScaleChange:this.onScaleChange,onRemoveArtwork:this.onRemoveArtwork,onRotationChange:this.rotationChange,printDpi:this.template.printDpi,transformations:this.transformations,printDimensionsInPx:this.template.printDimensionsInPx,artworkDimensionsInPx:this.artwork.dimensions,inlineStyles:this.inlineStyles,imageUrls:this.imageUrls,cropRectangle:this.template.cropRectangle})))}};Pt.style=".container{display:flex}.side-bar{display:flex;flex-direction:column}.preview-container{padding:20px}.tiling-checkbox{line-height:20px;margin-top:10px;display:flex;cursor:pointer;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.tiling-checkbox input{cursor:pointer;margin-left:15px;width:20px;height:20px}";class St{constructor(t,e,i,n){if(this.cropRectangle=e,this.transformations=i,this.canvasImageElements=n,this.maxArtworkSizeInPx=0,this.draw=t=>{t.areImagesReady&&this.useCanvasContext(((e,i)=>{e.clearRect(0,0,i.width,i.height);const{underlay:n,overlay:o}=this.canvasImageElements;n&&e.drawImage(n,0,0,n.width,n.height),this.drawArtwork(t),this.drawBorders(),this.drawBorderOutline(),this.drawTranslucentOverlayAroundPrintArea(),e.drawImage(o,0,0,o.width,o.height)}))},this.drawBorders=()=>{const{scaledBorderInPx:t}=this.transformations;[ut(this.cropRectangle,t,gt.LEFT),ut(this.cropRectangle,t,gt.TOP),ut(this.cropRectangle,t,gt.RIGHT),ut(this.cropRectangle,t,gt.BOTTOM)].forEach((t=>this.drawBorder(t)))},this.drawBorder=t=>{this.useCanvasContext((e=>{e.globalCompositeOperation="source-over",e.fillStyle="#FFFFFF",e.fillRect(t.x,t.y,t.width,t.height)}))},this.drawBorderOutline=()=>{const{scaledBorderInPx:t}=this.transformations;this.useCanvasContext((e=>{e.globalCompositeOperation="source-over",e.strokeRect(this.cropRectangle.x+t,this.cropRectangle.y+t,this.cropRectangle.width-2*t,this.cropRectangle.height-2*t)}))},this.drawArtwork=t=>{const{scaleFactor:e,rotationAngle:i,artworkCenterCoords:n}=this.transformations,o=e/this.maxArtworkSizeInPx,{x:s,y:r}=n;t.isTiled?this.drawTiledImage(this.canvasImageElements.artwork,s,r,o,i):this.drawTransformedImage(this.canvasImageElements.artwork,s,r,o,i)},this.drawTransformedImage=(t,e,i,n,o)=>{this.useCanvasContext((s=>{const r=o*Math.PI/180;s.setTransform(n,0,0,n,e,i),s.rotate(r),s.drawImage(t,-t.width/2,-t.height/2)}))},this.drawTiledImage=(t,e,i,n,o)=>{this.useCanvasContext(((s,r)=>{const a=document.createElement("canvas"),h=t.width*n,l=t.height*n;a.width=h,a.height=l;const c=a.getContext("2d");if(!c||0===a.width||0===a.height)return;c.drawImage(t,0,0,h,l);const d=s.createPattern(a,"repeat");if(d){const t=new DOMMatrix([1,0,0,1,e-h/2,i-l/2]);t.translateSelf(h/2,l/2),t.rotateSelf(o),t.translateSelf(-h/2,-l/2),d.setTransform(t),s.fillStyle=d,s.fillRect(0,0,r.width,r.height)}}))},this.useCanvasContext=t=>ft(this.canvas,t),this.isAtPreviewCanvasPosition=t=>{const e=this.canvas.getBoundingClientRect(),i=t.x+e.x,n=t.y+e.y,o=e.x,s=e.x+e.width,r=e.y,a=e.y+e.height;return o<=i&&i<=s&&(r<=n&&n<=a)},!t)throw Error("canvasRef cannot be null");this.canvas=t}drawTranslucentOverlayAroundPrintArea(){this.useCanvasContext(((t,e)=>
1{const{top:i,right:n,bottom:o,left:s}=(r=this.cropRectangle,a=e.width,h=e.height,{top:[0,0,a,r.y],right:[r.x+r.width,r.y,h-(r.x+r.width),r.height],bottom:[0,r.y+r.height,a,h-(r.y+r.height)],left:[0,r.y,r.x,r.height]});var r,a,h;t.globalCompositeOperation="destination-in";const l=new Path2D;l.rect(...i),l.rect(...n),l.rect(...o),l.rect(...s),t.fillStyle="white",t.globalAlpha=.3,t.clip(l),t.fillRect(0,0,e.width,e.height),t.globalCompositeOperation="source-over"}))}}const{SCALING:Ot}=J;class jt{constructor(t,e,i,n,o){if(this.artwork=e,this.rotateIcon=i,this.cropRectangle=n,this.transformations=o,this.maxArtworkSizeInPx=0,this.draw=t=>{let{canvasStatus:e}=t;this.useCanvasContext((t=>{t.clearRect(0,0,this.canvas.width,this.canvas.height),e!==Ot&&this.drawRotateIcon()}))},this.drawRotateIcon=()=>{const{x:t,y:e}=this.calcRotationIconPosition();this.useCanvasContext((i=>{i.beginPath(),i.strokeStyle=d,i.arc(t+20,e+20,25,0,2*Math.PI),i.fillStyle="white",i.fill(),i.stroke(),i.drawImage(this.rotateIcon,t,e,l,l)}))},this.isAtRotationIconPosition=t=>{const e=this.toCanvasScale(t),i=this.calcRotationIconPosition();return Boolean(Math.abs(e.x-i.x-20)<=20&&Math.abs(e.y-i.y-20)<=20)},this.calcRotationIconPosition=()=>{const{rotationAngle:t,artworkCenterCoords:e}=this.transformations,i=this.artwork.height*this.artworkScale,n=R({x:e.x-20,y:e.y-i/2-60},{x:e.x-20,y:e.y-20},-t);return{x:this.calcRotationIconEdgePositionX(n.x,l),y:this.calcRotationIconEdgePositionY(n.y,l)}},this.calcRotationIconEdgePositionX=(t,e)=>{const i=e+5;return t>0&&t<this.canvas.width-i?t:t>this.canvas.width-i?this.canvas.width-i:5},this.calcRotationIconEdgePositionY=(t,e)=>{const i=e+5;return t>0&&t<this.canvas.height-i?t:t>this.canvas.height-i?this.canvas.height-i:5},this.toCanvasScale=t=>{const e=this.canvas.getBoundingClientRect(),i=this.canvas.width/e.width;return{x:t.x*i,y:t.y*i}},this.useCanvasContext=t=>ft(this.canvas,t),!t)throw Error("canvasRef cannot be null");this.canvas=t}get artworkScale(){return this.transformations.scaleFactor/this.maxArtworkSizeInPx}}class Rt{constructor(t,e,i,n,o){if(this.artwork=e,this.cornerIcons=i,this.cropRectangle=n,this.transformations=o,this.maxArtworkSizeInPx=0,this.draw=t=>{let{canvasStatus:e}=t;this.useCanvasContext((t=>{t.clearRect(0,0,this.canvas.width,this.canvas.height),e!==J.ROTATING&&this.drawCornerIcons()}))},this.drawCornerIcons=()=>{const t=this.calcCornerIconPositions(),{scaleCornerTopLeft:e,scaleCornerTopRight:i,scaleCornerBottomRight:n,scaleCornerBottomLeft:o}=this.cornerIcons;var s,r;(r=t,(s=[e,i,n,o]).length<r.length?s.map(((t,e)=>[t,r[e]])):r.map(((t,e)=>[s[e],t]))).forEach(((t,e)=>{this.drawCornerIcon(t,e)}))},this.drawCornerIcon=(t,e)=>{let[i,n]=t;const{rotationAngle:o}=this.transformations,s=(90*e+o)*Math.PI/180;this.useCanvasContext((t=>{t.setTransform(1,0,0,1,n.x,n.y),t.rotate(s),t.drawImage(i,-15,-15,c,c)}))},this.calcCornerIconPositions=()=>{const{artworkCenterCoords:t}=this.transformations;return[this.calcCornerIconPosition(t,X.TOP_LEFT),this.calcCornerIconPosition(t,X.TOP_RIGHT),this.calcCornerIconPosition(t,X.BOTTOM_RIGHT),this.calcCornerIconPosition(t,X.BOTTOM_LEFT)]},this.calcCornerIconPosition=(t,e)=>{const{rotationAngle:i,artworkCenterCoords:n}=this.transformations,o=R($(e,{width:this.artwork.width*this.artworkScale,height:this.artwork.height*this.artworkScale},n),t,-i);return{x:this.calcScaleIconEdgePositionX(o.x,c),y:this.calcScaleIconEdgePositionY(o.y,c)}},this.calcScaleIconEdgePositionX=(t,e)=>{const i=e/2;return t-i>0&&t+i<this.canvas.width?t:t+i>this.canvas.width?this.canvas.width-i:0+i},this.calcScaleIconEdgePositionY=(t,e)=>{const i=e/2;return t-i>0&&t+i<this.canvas.height?t:t+i>this.canvas.height?this.canvas.height-i:0+i},this.isAtScaleIconPosition=t=>{const e=this.toCanvasScale(t);return this.calcCornerIconPositions().some(this.isDistanceSmallerOrEqualHalfIconSize(e))},this.isDistanceSmallerOrEqualHalfIconSize=t=>e=>Boolean(Math.abs(t.x-e.x)<=15&&Math.abs(t.y-e.y)<=15),this.toCanvasScale=t=>{const e=this.canvas.getBoundingClientRect(),i=this.canvas.width/e.width;return{x:t.x*i,y:t.y*i}},this.useCanvasContext=t=>ft(this.canvas,t),!t)throw Error("canvasRef cannot be null");this.canvas=t}get artworkScale(){return this.transformations.scaleFactor/this.maxArtworkSizeInPx}}function Lt(t,e){return class extends t{constructor(){super(...arguments),this.setCanvasSize=t=>{this.canvas.width=t.width,this.canvas.height=t.height,e&&(this.canvas.height=t.height+100)},this.setTransformations=t=>{this.transformations=t},this.setMaxArtworkSizeInPx=t=>{this.maxArtworkSizeInPx=t}}}}class zt{constructor(t,e,i,n,o){if(this.artwork=e,this.removeArtworkIcon=i,this.cropRectangle=n,this.transformations=o,this.maxArtworkSizeInPx=0,this.draw=()=>{this.useCanvasContext((t=>{t.clearRect(0,0,this.canvas.width,this.canvas.height),this.drawRemoveIcon()}))},this.drawRemoveIcon=()=>{const{x:t,y:e}=this.calcRemoveIconPosition();this.useCanvasContext((i=>{i.beginPath(),i.strokeStyle=d,i.arc(t+15,e+15,25,0,2*Math.PI),i.fillStyle="white",i.fill(),i.stroke(),i.drawImage(this.removeArtworkIcon,t,e,30,30)}))},this.isAtRemoveIconPosition=t=>{const e=this.toCanvasScale(t),i=this.calcRemoveIconPosition();return Boolean(Math.abs(e.x-i.x-15)<=15&&Math.abs(e.y-i.y-15)<=15)},this.calcRemoveIconPosition=()=>({x:this.cropRectangle.x+this.cropRectangle.width/2-15,y:this.cropRectangle.y+this.cropRectangle.height+15+10}),this.toCanvasScale=t=>{const e=this.canvas.getBoundingClientRect(),i=this.canvas.width/e.width;return{x:t.x*i,y:t.y*i}},this.useCanvasContext=t=>ft(this.canvas,t),!t)throw Error("canvasRef cannot be null");this.canvas=t}}const{ROTATING:Bt,SCALING:Ut,DRAGGING:Gt,REMOVE_ARTWORK:Zt}=J,{MOVE:Yt,DEFAULT:Wt,SCALE:Ft,ROTATE:Vt,POINT:Ht}=K;class Qt{constructor(t,e,i,n,o,s,r,a){this.canvasImages=t,this.previewCanvas=e,this.scaleCanvas=i,this.rotateCanvas=n,this.removeCanvas=o,this.setCursorStyle=s,this.previewCanvasController=null,this.scaleCanvasController=null,this.rotateCanvasController=null,this.removeArtworkCanvasController=null,this.canvasControllers=[],this.update=(t,e)=>
1{this.canvasControllers.forEach((i=>{i.setTransformations(t),i.draw(e)}))},this.draw=t=>this.canvasControllers.forEach((e=>e.draw(t))),this.setCanvasSize=t=>{this.canvasControllers.forEach((e=>e.setCanvasSize(t)))},this.setMaxArtworkSizeInPx=t=>this.canvasControllers.forEach((e=>e.setMaxArtworkSizeInPx(t))),this.onMouseDown=(t,e)=>{var i,n,o,s;(null===(i=this.rotateCanvasController)||void 0===i?void 0:i.isAtRotationIconPosition(t.mouseOffsetCoords))?e(Bt):(null===(n=this.scaleCanvasController)||void 0===n?void 0:n.isAtScaleIconPosition(t.mouseOffsetCoords))?e(Ut):(null===(o=this.removeArtworkCanvasController)||void 0===o?void 0:o.isAtRemoveIconPosition(t.mouseOffsetCoords))?e(Zt):(null===(s=this.previewCanvasController)||void 0===s?void 0:s.isAtPreviewCanvasPosition(t.mouseOffsetCoords))&&e(Gt)},this.onMouseMove=t=>{if(!this.scaleCanvasController||!this.rotateCanvasController||!this.previewCanvasController||!this.removeArtworkCanvasController)return;const e=t.canvasStatus===Ut||this.scaleCanvasController.isAtScaleIconPosition(t.mouseOffsetCoords),i=t.canvasStatus===Bt||this.rotateCanvasController.isAtRotationIconPosition(t.mouseOffsetCoords),n=t.canvasStatus===Gt||this.previewCanvasController.isAtPreviewCanvasPosition(t.mouseOffsetCoords),o=t.canvasStatus===Zt||this.removeArtworkCanvasController.isAtRemoveIconPosition(t.mouseOffsetCoords),s=!this.previewCanvasController.isAtPreviewCanvasPosition(t.mouseOffsetCoords);e?this.setCursorStyle(Ft):i?this.setCursorStyle(Vt):o?this.setCursorStyle(Ht):n?this.setCursorStyle(Yt):s&&this.setCursorStyle(Wt)},this.onMouseUp=t=>this.onMouseMove(t),this.onMouseOut=t=>{this.onMouseMove(t),this.draw(t),this.setCursorStyle(Wt)},this.previewCanvasController=new(Lt(St))(e,r,a,{underlay:this.canvasImages.underlay,overlay:this.canvasImages.overlay,artwork:this.canvasImages.artwork}),this.rotateCanvasController=new(Lt(jt))(n,this.canvasImages.artwork,this.canvasImages.rotateIcon,r,a),this.scaleCanvasController=new(Lt(Rt))(i,this.canvasImages.artwork,{scaleCornerTopLeft:this.canvasImages.scaleCornerTopLeftIcon,scaleCornerTopRight:this.canvasImages.scaleCornerTopRightIcon,scaleCornerBottomRight:this.canvasImages.scaleCornerBottomRightIcon,scaleCornerBottomLeft:this.canvasImages.scaleCornerBottomLeftIcon},r,a),this.removeArtworkCanvasController=new(Lt(zt,!0))(o,this.canvasImages.artwork,this.canvasImages.removeArtworkIcon,r,a),this.canvasControllers=[this.previewCanvasController,this.rotateCanvasController,this.scaleCanvasController,this.removeArtworkCanvasController]}}const _t="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij4KICAgIDxnIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiPgogICAgICAgIDxwb2x5bGluZSBzdHJva2U9IiM0QTRBNEEiIHN0cm9rZS13aWR0aD0iOCIgb3BhY2l0eT0iMC4yMDAwMDAwMDMiIHBvaW50cz0iNCAxNCA0IDQgMTQgNCI+PC9wb2x5bGluZT4KICAgICAgICA8cG9seWxpbmUgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjYiIHBvaW50cz0iNCAxNCA0IDQgMTQgNCI+PC9wb2x5bGluZT4KICAgIDwvZz4KPC9zdmc+Cg==";const{MOVE:Xt,DEFAULT:Jt,SCALE:Kt,ROTATE:$t,POINT:qt}=K,te="prodigi-image-editor-cursor-container";class ee{constructor(){var t;this.cursorDiv=document.createElement("div"),this.cursorImage=new Image,this.onMouseMove=(t,e,i,n)=>{const o={x:t.clientX,y:t.clientY+document.documentElement.scrollTop};i===$t?(t.preventDefault(),this.drawRotationCursor(o,n)):i===Kt?(t.preventDefault(),this.drawScaleCursor(o,e)):i===Xt?(t.preventDefault(),this.cursorDiv.style.display="none",document.documentElement.style.cursor="move"):i===qt?(this.cursorDiv.style.display="none",document.documentElement.style.cursor="pointer"):i===Jt&&(this.cursorDiv.style.display="none",document.documentElement.style.cursor="default")},this.drawRotationCursor=(t,e)=>window.requestAnimationFrame((()=>{const i={x:t.x-14,y:t.y-14},n=225+e;this.drawCursor(i,n,28,"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjEiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZmlsbD0iYmxhY2siIGQ9Ik0xNS45MjY5NTY1LDYuMD
1M3MzU2NTIgTDEyLjYzMjM0NzgsMC44NDY0IEMxMi41MDQzNDc4LDAuNjQ1MzU2NTIyIDEyLjE3MjUyMTcsMC42NDUzNTY1MjIgMTIuMDQ0NTIxNywwLjg0NjQgTDguNzQ5MjE3MzksNi4wMzczNTY1MiBDOC42ODEwNDM0OCw2LjE0NDQ4Njk2IDguNjc3NTY1MjIsNi4yODAxMzkxMyA4LjczODc4MjYxLDYuMzkxNDQzNDggQzguNzk5MzA0MzUsNi41MDI3NDc4MyA4LjkxNjE3MzkxLDYuNTcxNjE3MzkgOS4wNDI3ODI2MSw2LjU3MTYxNzM5IEwxMS4zMzU2NTIyLDYuNTcxNjE3MzkgQzExLjE0NzgyNjEsOS40ODY0IDguNzk4NjA4NywxMS44NjM0NDM1IDUuODg2NjA4NywxMi4wODk1MzA0IEw1Ljg4NjYwODcsOS44NTE2MTczOSBDNS44ODY2MDg3LDkuNzI0MzEzMDQgNS44MTc3MzkxMyw5LjYwODEzOTEzIDUuNzA2NDM0NzgsOS41NDY5MjE3NCBDNS41OTQ0MzQ3OCw5LjQ4NTcwNDM1IDUuNDYwMTczOTEsOS40ODkxODI2MSA1LjM1MjM0NzgzLDkuNTU4MDUyMTcgTDAuMTYxMzkxMzA0LDEyLjg1MzM1NjUgQzAuMDYwNTIxNzM5MSwxMi45MTczNTY1IDAsMTMuMDI3OTY1MiAwLDEzLjE0NjkyMTcgQzAsMTMuMjY2NTczOSAwLjA2MDUyMTczOTEsMTMuMzc3MTgyNiAwLjE2MTM5MTMwNCwxMy40NDExODI2IEw1LjM1MjM0NzgzLDE2LjczNTc5MTMgQzUuNDA4Njk1NjUsMTYuNzcxOTY1MiA1LjQ3NDA4Njk2LDE2Ljc5MDA1MjIgNS41Mzg3ODI2MSwxNi43OTAwNTIyIEM1LjU5NjUyMTc0LDE2Ljc5MDA1MjIgNS42NTM1NjUyMiwxNi43NzYxMzkxIDUuNzA2NDM0NzgsMTYuNzQ2OTIxNyBDNS44MTc3MzkxMywxNi42ODU3MDQzIDUuODg2NjA4NywxNi41Njk1MzA0IDUuODg2NjA4NywxNi40NDIyMjYxIEw1Ljg4NjYwODcsMTQuMTgxMzU2NSBDOS45NDg1MjE3NCwxMy45NDk3MDQzIDEzLjIzMzM5MTMsMTAuNjMzNTMwNCAxMy40MjYwODcsNi41NzE2MTczOSBMMTUuNjMzMzkxMyw2LjU3MTYxNzM5IEMxNS43NjA2OTU3LDYuNTcxNjE3MzkgMTUuODc3NTY1Miw2LjUwMjc0NzgzIDE1LjkzODc4MjYsNi4zOTE0NDM0OCBDMTUuOTk5MzA0Myw2LjI4MDEzOTEzIDE1Ljk5NTEzMDQsNi4xNDQ0ODY5NiAxNS45MjY5NTY1LDYuMDM3MzU2NTIiPjwvcGF0aD4KICAgIDxwYXRoIGZpbGw9IndoaXRlIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjAuMjUiIGQ9Ik0xMi4zMzgyOTU3LDEuMDMyOTA0MzUgTDkuMDQyOTkxMyw2LjIyMzg2MDg3IEwxMS42OTYyMDg3LDYuMjIzODYwODcgQzExLjY3OTUxMyw5LjYyODM4MjYxIDguOTMzNzczOTEsMTIuMzk2MzgyNiA1LjUzODk5MTMsMTIuNDU0MTIxNyBMNS41Mzg5OTEzLDkuODUxNjg2OTYgTDAuMzQ4MDM0NzgzLDEzLjE0Njk5MTMgTDUuNTM4OTkxMywxNi40NDIyOTU3IEw1LjUzODk5MTMsMTMuODQ1NDI2MSBDOS43MDEwNzgyNiwxMy43ODY5OTEzIDEzLjA3MDgxNzQsMTAuMzk1Njg3IDEzLjA4NzUxMyw2LjIyMzg2MDg3IEwxNS42MzM2LDYuMjIzODYwODcgTDEyLjMzODI5NTcsMS4wMzI5MDQzNSBaIiA+PC9wYXRoPgo8L3N2Zz4K")})),this.drawScaleCursor=(t,e)=>window.requestAnimationFrame((()=>{const i={x:t.x-14,y:t.y-14},n=L(e,t)+180;this.drawCursor(i,n,28,"data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjQ5Mi40MjYiIGhlaWdodD0iNDkyLjQyNiIgdmlld0JveD0iMCAwIDQ5Mi40MjYgNDkyLjQyNiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CiAgPHBvbHlnb24gcG9pbnRzPSI0OTIuNDI2LDI0Ni4yMTMgNDA2LjIxMywxNjAgNDA2LjIxMywyMzEuMjEzIDg2LjIxMywyMzEuMjEzIDg2LjIxMywxNjAgMCwyNDYuMjEzIDg2LjIxMywzMzIuNDI3IDg2LjIxMywyNjEuMjEzIAogICAgNDA2LjIxMywyNjEuMjEzIDQwNi4yMTMsMzMyLjQyNyAiIGZpbGw9IndoaXRlIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEwIiAvPgo8L3N2Zz4K")})),this.drawCursor=(t,e,i,n)=>{const o=`translate(${this.adjustXToFitWithinViewportArea(t.x,i)}px, ${this.adjustYToFitWithinViewportArea(t.y,i)}px)`,s=`rotate(${e}deg)`;document.documentElement.style.cursor="none",this.cursorImage.src=n,this.cursorDiv.style.display="block",this.cursorImage.style.height=i+"px",this.cursorDiv.style.transform=`${o} ${s}`},this.adjustXToFitWithinViewportArea=(t,e)=>t<0?4:t>window.innerWidth-e?window.innerWidth-e-9:t,this.adjustYToFitWithinViewportArea=(t,e)=>t<0?4:t>window.innerHeight-e?window.innerHeight-e-9:t,null===(t=document.getElementById(te))||void 0===t||t.remove(),this.cursorDiv.style.display="none",this.cursorDiv.style.position="absolute",this.cursorDiv.style.zIndex=2147483647..toString(),this.cursorDiv.style.top="0",this.cursorDiv.style.left="0",this.cursorDiv.id=te,this.cursorDiv.append(this.cursorImage),document.documentElement.append(this.cursorDiv)}}var ie;!function(t){t.ARTWORK="ARTWORK",t.OVERLAY="OVERLAY",t.UNDERLAY="UNDERLAY"}(ie||(ie={}));const ne={x:-1,y:-1},{ROTATING:oe,SCALING:se,DRAGGING:re,IDLE:ae,REMOVE_ARTWORK:he}=J,{ARTWORK:le,OVERLAY:ce,UNDERLAY:de}=ie;let ge=class{constructor(t){(0,n.r)(this,t),this.move=(0,n.c)(this,"move",7),this.rotate=(0,n.c)(this,"rotate",7),this.scale=(0,n.c)(this,"scale",7),this.removeArtwork=(0,n.c)(this,"removeArtwork",7),this.loadArtwork=(0,n.c)(this,"loadArtwork",7),this.artworkError=(0,n.c)(this,"artworkError",7),this.overlayError=(0,n.c)(this,"overlayError",7),this.underlayError=(0,n.c)(this,"underlayError",7),this.loadOverlay=(0,n.c)(this,"loadOverlay",7),this.loadUnderlay=(0,n.c)(this,"loadUnderlay",7),this.previewCanvasRef=null,this.scaleCanvasRef=null,this.rotateCanvasRef=null,this.canvasContainerRef
1=null,this.removeArtworkRef=null,this.canvasController=null,this.cursorController=new ee,this.inlineStyles={},this.mouseStartX=0,this.mouseStartY=0,this.artworkStartX=0,this.artworkStartY=0,this.scaleFactorStart=0,this.canvasStatus=ae,this.cursorStyle=K.DEFAULT,this.mouseOffsetCoords=ne,this.loadedImages=[],this.clearCanvasElements=()=>{var t;null===(t=this.canvasController)||void 0===t||t.canvasControllers.forEach((t=>{t.canvas.width=0,t.canvas.height=0}))},this.initImages=t=>{this.imageUrls.underlay&&(t.underlay.addEventListener("load",this.onUnderlayLoaded),t.underlay.addEventListener("error",this.onUnderlayError)),t.overlay.addEventListener("load",this.onOverlayLoaded),t.overlay.addEventListener("error",this.onOverlayError),t.artwork.addEventListener("load",this.onArtworkLoaded),t.artwork.addEventListener("error",this.onArtworkError)},this.onArtworkError=()=>this.artworkError.emit(),this.onOverlayError=()=>this.overlayError.emit(),this.onUnderlayError=()=>this.underlayError.emit(),this.onOverlayLoaded=t=>{var e;const i=t.target;null===(e=this.canvasController)||void 0===e||e.setCanvasSize({width:i.width,height:i.height}),this.loadedImages=[...this.loadedImages,ce],this.loadOverlay.emit(i),this.makeCanvasVisible()},this.onUnderlayLoaded=t=>{this.loadedImages=[...this.loadedImages,de],this.loadUnderlay.emit(t.target)},this.onArtworkLoaded=t=>{var e;const{naturalWidth:i,naturalHeight:n}=t.target,o=Math.max(i,n);this.loadedImages=[...this.loadedImages,le],null===(e=this.canvasController)||void 0===e||e.setMaxArtworkSizeInPx(o),this.loadArtwork.emit({width:i,height:n}),this.forceRender()},this.onContactStart=t=>{var e;const i=this.calcOffsetCoords(t);this.mouseStartX=i.x,this.mouseStartY=i.y,this.artworkStartX=this.artworkCenterCoords.x,this.artworkStartY=this.artworkCenterCoords.y,this.scaleFactorStart=this.scaleFactor,this.mouseOffsetCoords=i,null===(e=this.canvasController)||void 0===e||e.onMouseDown(this.state,this.setCanvasStatus)},this.onMove=t=>{var e,i;this.mouseOffsetCoords=this.calcOffsetCoords(t);Boolean(!(t instanceof MouseEvent)&&(this.state.canvasStatus===re||this.state.canvasStatus===oe||this.state.canvasStatus===se))&&(t.preventDefault(),document.documentElement.style.touchAction="none"),this.state.canvasStatus===re?this.dragArtwork(t):this.state.canvasStatus===oe?this.rotateArtwork(t):this.state.canvasStatus===se&&this.scaleArtwork(t),null===(e=this.canvasController)||void 0===e||e.onMouseMove(this.state),t instanceof MouseEvent&&(null===(i=this.cursorController)||void 0===i||i.onMouseMove(t,this.absoluteArtworkCenterCoords,this.cursorStyle,this.transformations.rotationAngle))},this.onContactEnd=()=>{var t;this.state.canvasStatus===he&&this.removeArtwork.emit(),this.canvasStatus=ae,null===(t=this.canvasController)||void 0===t||t.onMouseUp(this.state),document.documentElement.style.touchAction="initial"},this.scaleArtwork=t=>{const e=this.calcOffsetCoords(t),i={x:e.x*this.controlCanvasScale,y:e.y*this.controlCanvasScale},n={x:this.mouseStartX*this.controlCanvasScale,y:this.mouseStartY*this.controlCanvasScale},o=z(this.artworkCenterCoords,n)/z(this.artworkCenterCoords,i);this.scale.emit(this.scaleFactorStart/o)},this.rotateArtwork=t=>{const e=this.calcOffsetCoords(t),i={x:e.x*this.controlCanvasScale,y:e.y*this.controlCanvasScale},n=L(this.artworkCenterCoords,i)+90;this.rotate.emit(n)},this.dragArtwork=t=>{const e=this.calcOffsetCoords(t),i={x:this.artworkStartX+(e.x-this.mouseStartX)*this.previewCanvasScale,y:this.artworkStartY+(e.y-this.mouseStartY)*this.previewCanvasScale};this.move.emit(i)},this.setCanvasStatus=t=>{this.canvasStatus=t},this.setCursorStyle=t=>{this.cursorStyle=t},this.forceRender=()=>this.move.emit(this.artworkCenterCoords),this.makeCanvasVisible=()=>{this.canvasContainerRef&&(this.canvasContainerRef.style.visibility="visible")},this.calcOffsetCoords=t=>{if(!this.canvasContainerRef)throw new Error("canvasContainerRef cannot be null");const e=this.canvasContainerRef.getBoundingClientRect();return t instanceof MouseEvent?{x:t.clientX-e.x,y:t.clientY-e.y}:{x:t.touches[0].clientX-e.x,y:t.touches[0].clientY-e.y}}}componentDidLoad(){if(!this.previewCanvasRef||!this.scaleCanvasRef||!this.rotateCanvasRef||!this.removeArtwork
1Ref)return;const t=function(t,e){const i=new Image,n=new Image,o=new Image,s=new Image,r=new Image,a=new Image,h=new Image,l=new Image,c=new Image;return s.addEventListener("load",e),r.addEventListener("load",e),a.addEventListener("load",e),h.addEventListener("load",e),l.addEventListener("load",e),c.addEventListener("load",e),n.src=t.overlay,i.src=t.artwork,t.underlay&&(o.src=t.underlay),s.src="data:image/svg+xml;base64,PHN2ZyBpZD0icm90YXRlSWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+CiAgICA8cGF0aCBkPSJNMTUuNTUsNS41NSBMMTEsMSBMMTEsNC4wNyBDNy4wNiw0LjU2IDQsNy45MiA0LDEyIEM0LDE2LjA4IDcuMDUsMTkuNDQgMTEsMTkuOTMgTDExLDE3LjkxIEM4LjE2LDE3LjQzIDYsMTQuOTcgNiwxMiBDNiw5LjAzIDguMTYsNi41NyAxMSw2LjA5IEwxMSwxMCBMMTUuNTUsNS41NSBaIE0xMywxNy45IEwxMywxOS45MiBDMTQuMzksMTkuNzUgMTUuNzQsMTkuMjEgMTYuOSwxOC4zMSBMMTUuNDYsMTYuODcgQzE0LjcxLDE3LjQxIDEzLjg3LDE3Ljc2IDEzLDE3LjkgWiBNMTYuODksMTUuNDggTDE4LjMxLDE2Ljg5IEMxOS4yMSwxNS43MyAxOS43NiwxNC4zOSAxOS45MywxMyBMMTcuOTEsMTMgQzE3Ljc3LDEzLjg3IDE3LjQzLDE0LjcyIDE2Ljg5LDE1LjQ4IEwxNi44OSwxNS40OCBaIj48L3BhdGg+Cjwvc3ZnPgo=",r.src=_t,a.src=_t,h.src=_t,l.src=_t,c.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNOC43NSA3LjVINy41VjE1SDguNzVWNy41WiIgZmlsbD0iYmxhY2siLz4KICA8cGF0aCBkPSJNMTIuNSA3LjVIMTEuMjVWMTVIMTIuNVY3LjVaIiBmaWxsPSJibGFjayIvPgogIDxwYXRoIGQ9Ik0yLjUgMy43NVY1SDMuNzVWMTcuNUMzLjc1IDE3LjgzMTUgMy44ODE3IDE4LjE0OTUgNC4xMTYxMiAxOC4zODM5QzQuMzUwNTQgMTguNjE4MyA0LjY2ODQ4IDE4Ljc1IDUgMTguNzVIMTVDMTUuMzMxNSAxOC43NSAxNS42NDk1IDE4LjYxODMgMTUuODgzOSAxOC4zODM5QzE2LjExODMgMTguMTQ5NSAxNi4yNSAxNy44MzE1IDE2LjI1IDE3LjVWNUgxNy41VjMuNzVIMi41Wk01IDE3LjVWNUgxNVYxNy41SDVaIiBmaWxsPSJibGFjayIvPgogIDxwYXRoIGQ9Ik0xMi41IDEuMjVINy41VjIuNUgxMi41VjEuMjVaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K",{underlay:o,artwork:i,overlay:n,rotateIcon:s,scaleCornerTopLeftIcon:r,scaleCornerTopRightIcon:a,scaleCornerBottomLeftIcon:h,scaleCornerBottomRightIcon:l,removeArtworkIcon:c}}(this.imageUrls,this.forceRender);this.initImages(t),this.canvasController=new Qt(t,this.previewCanvasRef,this.scaleCanvasRef,this.rotateCanvasRef,this.removeArtwork
1Ref,this.setCursorStyle,this.cropRectangle,this.transformations),this.isPreviewOnly||(document.documentElement.addEventListener("mousemove",this.onMove,!0),document.documentElement.addEventListener("mousedown",this.onContactStart,!0),document.documentElement.addEventListener("mouseup",this.onContactEnd,!0),document.documentElement.addEventListener("touchstart",this.onContactStart,!0),document.documentElement.addEventListener("touchmove",this.onMove,{capture:!0,passive:!1}),document.documentElement.addEventListener("touchend",this.onContactEnd,!0))}disconnectedCallback(){this.clearCanvasElements(),document.documentElement.removeEventListener("mousemove",this.onMove),document.documentElement.removeEventListener("mousedown",this.onContactStart),document.documentElement.removeEventListener("mouseup",this.onContactEnd),document.documentElement.removeEventListener("touchstart",this.onContactStart,!0),document.documentElement.removeEventListener("touchmove",this.onMove,{capture:!0}),document.documentElement.removeEventListener("touchend",this.onContactEnd,!0)}componentWillUpdate(){var t;null===(t=this.canvasController)||void 0===t||t.update(this.transformations,this.state)}get absoluteArtworkCenterCoords(){if(!this.canvasContainerRef)throw new Error("canvasContainerRef cannot be null");const t=this.canvasContainerRef.getBoundingClientRect();return{x:this.transformations.artworkCenterCoords.x/this.previewCanvasScale+t.x,y:this.transformations.artworkCenterCoords.y/this.previewCanvasScale+t.y}}get previewCanvasScale(){const t=this.previewCanvas.getBoundingClientRect();return this.previewCanvas.width/t.width}get controlCanvasScale(){if(!this.scaleCanvasRef)throw Error("scaleCanvasRef cannot be null");const t=this.scaleCanvasRef.getBoundingClientRect();return this.scaleCanvasRef.width/t.width}get previewCanvas(){if(!this.previewCanvasRef)throw Error("previewCanvasRef cannot be null");return this.previewCanvasRef}get transformations(){return{artworkCenterCoords:this.artworkCenterCoords,scaleFactor:this.scaleFactor,rotationAngle:this.rotationAngle,scaledBorderInPx:this.scaledBorderInPx}}get state(){return{canvasStatus:this.canvasStatus,mouseOffsetCoords:this.mouseOffsetCoords,areImagesReady:this.areImagesReady,isTiled:this.isTiled}}get areImagesReady(){return this.imageUrls.underlay?this.loadedImages.includes(le)&&this.loadedImages.includes(ce)&&this.loadedImages.includes(de):this.loadedImages.includes(le)&&this.loadedImages.includes(ce)}render(){return(0,n.h)("div",{ref:t=>{t&&(this.canvasContainerRef=t)},class:"container",part:"preview-canvas"},(0,n.h)("canvas",{part:"preview-canvas",style:this.inlineStyles,ref:t=>{t&&(this.previewCanvasRef=t)}}),(0,n.h)("canvas",{part:"preview-canvas control-canvas",style:this.inlineStyles,class:"control-canvas",ref:t=>{t&&(this.scaleCanvasRef=t)}}),(0,n.h)("canvas",{part:"preview-canvas control-canvas",style:this.inlineStyles,class:"control-canvas",ref:t=>{t&&(this.rotateCanvasRef=t)}}),(0,n.h)("canvas",{part:"remove-canvas",style:this.inlineStyles,class:"remove-canvas "+(this.showRemoveArtworkButton?"":"do-not-display"),ref:t=>
1{t&&(this.removeArtworkRef=t)}}))}};ge.style=":host{display:block}.container{visibility:hidden;position:relative;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.control-canvas,.remove-canvas{position:absolute;top:0;left:0}.do-not-display{display:none}";let ue=class{constructor(t){(0,n.r)(this,t),this.positionChange=(0,n.c)(this,"positionChange",7),this.rotationChange=(0,n.c)(this,"rotationChange",7),this.scaleChange=(0,n.c)(this,"scaleChange",7),this.removeArtwork=(0,n.c)(this,"removeArtwork",7),this.inlineStyles={},this.showRemoveArtworkButton=!0,this.isPreviewOnly=!1,this.onMove=t=>{let{detail:e}=t;const i=this.converter.cropRectanglePositionToPositionUnit(e,this.transformations.positionUnit);this.positionChange.emit(i)},this.onRemoveArtwork=()=>{this.removeArtwork.emit()},this.onRotate=t=>this.rotationChange.emit(t.detail),this.onScale=t=>{let{detail:e}=t;const i=function(t,e,i,n,s,h){const l=o(n,s,h),c=j(i,n,h,0);if(e===r)return t/l;if(e===a)return t*c/l;throw new Error(`Scale type: ${e} is invalid.`)}(e,this.transformations.scaleType,this.printDimensionsInPx,this.artworkDimensionsInPx,this.cropRectangle,this.scaledBorderInPx);this.scaleChange.emit(i)},this.forceRender=()=>this.positionChange.emit(this.transformations.position)}get scaleFactor(){return lt(this.transformations.scaleFactor,this.transformations.scaleType,this.printDimensionsInPx,this.artworkDimensionsInPx,this.cropRectangle,this.scaledBorderInPx)}get artworkCenterCoords(){const{positionUnit:t,position:e}=this.transformations;return this.converter.toCropRectanglePosition(e,t)}get converter(){return new _(this.printDimensionsInPx,this.artworkDimensionsInPx,this.cropRectangle,this.printDpi)}get scaledBorderInPx(){return pt(this.printDpi,this.transformations.borderUnit,this.transformations.borderWidth,this.printDimensionsInPx,this.cropRectangle)}render(){return(0,n.h)("image-editor-preview",{part:"image-editor-preview",exportparts:"preview-canvas, remove-canvas, control-canvas",onMove:this.onMove,onRotate:this.onRotate,onScale:this.onScale,onLoadOverlay:this.forceRender,showRemoveArtworkButton:this.showRemoveArtworkButton,isPreviewOnly:this.isPreviewOnly,onRemoveArtwork:this.onRemoveArtwork,scaleFactor:this.scaleFactor,artworkCenterCoords:this.artworkCenterCoords,rotationAngle:this.transformations.rotationAngle,inlineStyles:this.inlineStyles,imageUrls:this.imageUrls,isTiled:this.transformations.isTiled,scaledBorderInPx:this.scaledBorderInPx,artworkDimensions:this.artworkDimensionsInPx,cropRectangle:this.cropRectangle})}};let me=class{constructor(t){(0,n.r)(this,t)}render(){return(0,n.h)("p",{class:"title"},this.text)}};me.style=".title{font-weight:400;font-size:var(--size-xxsmall);margin-bottom:0;margin-top:0;text-transform:uppercase;color:white}";let pe=class{constructor(t){(0,n.r)(this,t),this.inlineStyles={},this.onToggleChange=()=>{this.isUnitInches?this.positionUnitChange(s.CM):this.positionUnitChange(s.IN)}}get isUnitInches(){return this.unit===s.IN}render(){return(0,n.h)("div",{part:"container",style:this.inlineStyles},(0,n.h)("label",{class:"toggle"},(0,n.h)("input",{type:"checkbox",onChange:this.onToggleChange,checked:this.isUnitInches}),(0,n.h)("div",{class:"unitsContainer"},(0,n.h)("p",{class:"cm"},"CM"),(0,n.h)("p",{class:"in"},"IN"))))}};pe.style=".toggle{display:flex;width:80px;height:26px;border:1px solid var(--color-grey-30);
1letter-spacing:var(--line-spacing);font-size:10px;line-height:14.39px;color:var(--color-grey-90)}.toggle input{display:none}.unitsContainer{display:flex;position:absolute}.in,.cm,.unitsContainer:before{display:flex;justify-content:center;align-items:center;padding:0;margin:0;background-color:var(--controls-background-color)}.in,.cm{cursor:pointer;height:26px;width:40px;color:var(--color-grey-30)}.unitsContainer:before{content:'CM';height:28px;width:41px;position:absolute;left:-1px;top:-1px;color:var(--color-grey-90);background-color:var(--color-grey-30)}input:checked+.unitsContainer:before{content:'IN';transform:translate(40px, 0px)}"}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.