@pairbo/ui-kit 0.3.5 → 0.3.6
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/src/components/{selector/selector.component.d.ts → font-selector/font-selector.component.d.ts} +1 -1
- package/dist/src/components/font-selector/font-selector.d.ts +8 -0
- package/dist/src/components/main.d.ts +1 -1
- package/dist/src/components/type-form/type-form.component.d.ts +3 -3
- package/dist/ui-kit.js +100 -59
- package/package.json +1 -1
- package/dist/src/components/selector/selector.d.ts +0 -8
- /package/dist/src/components/{selector/selector.styles.d.ts → font-selector/font-selector.styles.d.ts} +0 -0
package/dist/ui-kit.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
13
13
|
*/const ir=globalThis,An=ir.trustedTypes,_l=An?An.createPolicy("lit-html",{createHTML:n=>n}):void 0,Yc="$lit$",xi=`lit$${Math.random().toFixed(9).slice(2)}$`,Xc="?"+xi,cd=`<${Xc}>`,Qi=document,hr=()=>Qi.createComment(""),ur=n=>n===null||typeof n!="object"&&typeof n!="function",Oa=Array.isArray,hd=n=>Oa(n)||typeof(n==null?void 0:n[Symbol.iterator])=="function",To=`[
|
|
14
14
|
\f\r]`,Us=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,yl=/-->/g,xl=/>/g,zi=RegExp(`>|${To}(?:([^\\s"'>=/]+)(${To}*=${To}*(?:[^
|
|
15
|
-
\f\r"'\`<>=]|("|')|))|$)`,"g"),wl=/'/g,Cl=/"/g,Kc=/^(?:script|style|textarea|title)$/i,ud=n=>(t,...e)=>({_$litType$:n,strings:t,values:e}),V=ud(1),Ce=Symbol.for("lit-noChange"),
|
|
15
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),wl=/'/g,Cl=/"/g,Kc=/^(?:script|style|textarea|title)$/i,ud=n=>(t,...e)=>({_$litType$:n,strings:t,values:e}),V=ud(1),Ce=Symbol.for("lit-noChange"),rt=Symbol.for("lit-nothing"),Sl=new WeakMap,Yi=Qi.createTreeWalker(Qi,129);function qc(n,t){if(!Oa(n)||!n.hasOwnProperty("raw"))throw Error("invalid template strings array");return _l!==void 0?_l.createHTML(t):t}const dd=(n,t)=>{const e=n.length-1,i=[];let s,r=t===2?"<svg>":t===3?"<math>":"",o=Us;for(let a=0;a<e;a++){const l=n[a];let c,h,u=-1,d=0;for(;d<l.length&&(o.lastIndex=d,h=o.exec(l),h!==null);)d=o.lastIndex,o===Us?h[1]==="!--"?o=yl:h[1]!==void 0?o=xl:h[2]!==void 0?(Kc.test(h[2])&&(s=RegExp("</"+h[2],"g")),o=zi):h[3]!==void 0&&(o=zi):o===zi?h[0]===">"?(o=s??Us,u=-1):h[1]===void 0?u=-2:(u=o.lastIndex-h[2].length,c=h[1],o=h[3]===void 0?zi:h[3]==='"'?Cl:wl):o===Cl||o===wl?o=zi:o===yl||o===xl?o=Us:(o=zi,s=void 0);const p=o===zi&&n[a+1].startsWith("/>")?" ":"";r+=o===Us?l+cd:u>=0?(i.push(c),l.slice(0,u)+Yc+l.slice(u)+xi+p):l+xi+(u===-2?a:p)}return[qc(n,r+(n[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),i]};let qo=class Zc{constructor({strings:t,_$litType$:e},i){let s;this.parts=[];let r=0,o=0;const a=t.length-1,l=this.parts,[c,h]=dd(t,e);if(this.el=Zc.createElement(c,i),Yi.currentNode=this.el.content,e===2||e===3){const u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(s=Yi.nextNode())!==null&&l.length<a;){if(s.nodeType===1){if(s.hasAttributes())for(const u of s.getAttributeNames())if(u.endsWith(Yc)){const d=h[o++],p=s.getAttribute(u).split(xi),g=/([.?@])?(.*)/.exec(d);l.push({type:1,index:r,name:g[2],strings:p,ctor:g[1]==="."?gd:g[1]==="?"?fd:g[1]==="@"?md:Zn}),s.removeAttribute(u)}else u.startsWith(xi)&&(l.push({type:6,index:r}),s.removeAttribute(u));if(Kc.test(s.tagName)){const u=s.textContent.split(xi),d=u.length-1;if(d>0){s.textContent=An?An.emptyScript:"";for(let p=0;p<d;p++)s.append(u[p],hr()),Yi.nextNode(),l.push({type:2,index:++r});s.append(u[d],hr())}}}else if(s.nodeType===8)if(s.data===Xc)l.push({type:2,index:r});else{let u=-1;for(;(u=s.data.indexOf(xi,u+1))!==-1;)l.push({type:7,index:r}),u+=xi.length-1}r++}}static createElement(t,e){const i=Qi.createElement("template");return i.innerHTML=t,i}};function Os(n,t,e=n,i){var o,a;if(t===Ce)return t;let s=i!==void 0?(o=e._$Co)==null?void 0:o[i]:e._$Cl;const r=ur(t)?void 0:t._$litDirective$;return(s==null?void 0:s.constructor)!==r&&((a=s==null?void 0:s._$AO)==null||a.call(s,!1),r===void 0?s=void 0:(s=new r(n),s._$AT(n,e,i)),i!==void 0?(e._$Co??(e._$Co=[]))[i]=s:e._$Cl=s),s!==void 0&&(t=Os(n,s._$AS(n,t.values),s,i)),t}let pd=class{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:i}=this._$AD,s=((t==null?void 0:t.creationScope)??Qi).importNode(e,!0);Yi.currentNode=s;let r=Yi.nextNode(),o=0,a=0,l=i[0];for(;l!==void 0;){if(o===l.index){let c;l.type===2?c=new qn(r,r.nextSibling,this,t):l.type===1?c=new l.ctor(r,l.name,l.strings,this,t):l.type===6&&(c=new vd(r,this,t)),this._$AV.push(c),l=i[++a]}o!==(l==null?void 0:l.index)&&(r=Yi.nextNode(),o++)}return Yi.currentNode=Qi,s}p(t){let e=0;for(const i of this._$AV)i!==void 0&&(i.strings!==void 0?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}},qn=class Jc{get _$AU(){var t;return((t=this._$AM)==null?void 0:t._$AU)??this._$Cv}constructor(t,e,i,s){this.type=2,this._$AH=rt,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=s,this._$Cv=(s==null?void 0:s.isConnected)??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&(t==null?void 0:t.nodeType)===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=Os(this,t,e),ur(t)?t===rt||t==null||t===""?(this._$AH!==rt&&this._$AR(),this._$AH=rt):t!==this._$AH&&t!==Ce&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):hd(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==rt&&ur(this._$AH)?this._$AA.nextSibling.data=t:this.T(Qi.createTextNode(t)),this._$AH=t}$(t){var r;const{values:e,_$litType$:i}=t,s=typeof i=="number"?this._$AC(t):(i.el===void 0&&(i.el=qo.createElement(qc(i.h,i.h[0]),this.options)),i);if(((r=this._$AH)==null?void 0:r._$AD)===s)this._$AH.p(e);else{const o=new pd(s,this),a=o.u(this.options);o.p(e),this.T(a),this._$AH=o}}_$AC(t){let e=Sl.get(t.strings);return e===void 0&&Sl.set(t.strings,e=new qo(t)),e}k(t){Oa(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,s=0;for(const r of t)s===e.length?e.push(i=new Jc(this.O(hr()),this.O(hr()),this,this.options)):i=e[s],i._$AI(r),s++;s<e.length&&(this._$AR(i&&i._$AB.nextSibling,s),e.length=s)}_$AR(t=this._$AA.nextSibling,e){var i;for((i=this._$AP)==null?void 0:i.call(this,!1,!0,e);t&&t!==this._$AB;){const s=t.nextSibling;t.remove(),t=s}}setConnected(t){var e;this._$AM===void 0&&(this._$Cv=t,(e=this._$AP)==null||e.call(this,t))}},Zn=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,i,s,r){this.type=1,this._$AH=rt,this._$AN=void 0,this.element=t,this.name=e,this._$AM=s,this.options=r,i.length>2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=rt}_$AI(t,e=this,i,s){const r=this.strings;let o=!1;if(r===void 0)t=Os(this,t,e,0),o=!ur(t)||t!==this._$AH&&t!==Ce,o&&(this._$AH=t);else{const a=t;let l,c;for(t=r[0],l=0;l<r.length-1;l++)c=Os(this,a[i+l],e,l),c===Ce&&(c=this._$AH[l]),o||(o=!ur(c)||c!==this._$AH[l]),c===rt?t=rt:t!==rt&&(t+=(c??"")+r[l+1]),this._$AH[l]=c}o&&!s&&this.j(t)}j(t){t===rt?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},gd=class extends Zn{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===rt?void 0:t}},fd=class extends Zn{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==rt)}},md=class extends Zn{constructor(t,e,i,s,r){super(t,e,i,s,r),this.type=5}_$AI(t,e=this){if((t=Os(this,t,e,0)??rt)===Ce)return;const i=this._$AH,s=t===rt&&i!==rt||t.capture!==i.capture||t.once!==i.once||t.passive!==i.passive,r=t!==rt&&(i===rt||s);s&&this.element.removeEventListener(this.name,this,i),r&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e;typeof this._$AH=="function"?this._$AH.call(((e=this.options)==null?void 0:e.host)??this.element,t):this._$AH.handleEvent(t)}},vd=class{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){Os(this,t)}};const bd={I:qn},Eo=ir.litHtmlPolyfillSupport;Eo==null||Eo(qo,qn),(ir.litHtmlVersions??(ir.litHtmlVersions=[])).push("3.2.1");const Qc=(n,t,e)=>{const i=(e==null?void 0:e.renderBefore)??t;let s=i._$litPart$;if(s===void 0){const r=(e==null?void 0:e.renderBefore)??null;i._$litPart$=s=new qn(t.insertBefore(hr(),r),r,void 0,e??{})}return s._$AI(n),s};/**
|
|
16
16
|
* @license
|
|
17
17
|
* Copyright 2017 Google LLC
|
|
18
18
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
@@ -145,13 +145,17 @@
|
|
|
145
145
|
:host {
|
|
146
146
|
display: block;
|
|
147
147
|
}
|
|
148
|
-
|
|
149
|
-
background-color: red;
|
|
150
|
-
}
|
|
148
|
+
|
|
151
149
|
.choices__item {
|
|
152
150
|
font-size: 16px;
|
|
153
151
|
}
|
|
154
152
|
|
|
153
|
+
.choices__inner {
|
|
154
|
+
height: 32px;
|
|
155
|
+
background-color: rgb(255, 255, 255) !important;
|
|
156
|
+
border-radius: 3.75px !important;
|
|
157
|
+
}
|
|
158
|
+
|
|
155
159
|
.form-control__label > slot {
|
|
156
160
|
font-size: 16.5px;
|
|
157
161
|
}
|
|
@@ -254,7 +258,7 @@
|
|
|
254
258
|
<slot name="label">${this.label}</slot>
|
|
255
259
|
</label>
|
|
256
260
|
</div>
|
|
257
|
-
<select part="base" class="js-choice"></select>`}};He.styles=[Tt,Td,Tr,Kn(fh)];os([S({type:Array})],He.prototype,"fonts",2);os([S({type:Boolean,reflect:!0})],He.prototype,"disabled",2);os([S()],He.prototype,"size",2);os([S()],He.prototype,"label",2);os([q(".js-choice")],He.prototype,"choiceEl",2);os([Z("disabled",{waitUntilFirstUpdate:!0})],He.prototype,"handleDisabledChanged",1);He=os([xt("pbo-selector")],He);const mh=ct`
|
|
261
|
+
<select part="base" class="js-choice"></select>`}};He.styles=[Tt,Td,Tr,Kn(fh)];os([S({type:Array})],He.prototype,"fonts",2);os([S({type:Boolean,reflect:!0})],He.prototype,"disabled",2);os([S()],He.prototype,"size",2);os([S()],He.prototype,"label",2);os([q(".js-choice")],He.prototype,"choiceEl",2);os([Z("disabled",{waitUntilFirstUpdate:!0})],He.prototype,"handleDisabledChanged",1);He=os([xt("pbo-font-selector")],He);const mh=ct`
|
|
258
262
|
:host {
|
|
259
263
|
display: inline-block;
|
|
260
264
|
position: relative;
|
|
@@ -921,7 +925,7 @@
|
|
|
921
925
|
* @license
|
|
922
926
|
* Copyright 2018 Google LLC
|
|
923
927
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
924
|
-
*/const wi=n=>n??
|
|
928
|
+
*/const wi=n=>n??rt,rg=ct`
|
|
925
929
|
:host {
|
|
926
930
|
--track-width: 2px;
|
|
927
931
|
--track-color: rgb(128 128 128 / 25%);
|
|
@@ -1341,7 +1345,7 @@
|
|
|
1341
1345
|
* @license
|
|
1342
1346
|
* Copyright 2020 Google LLC
|
|
1343
1347
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
1344
|
-
*/const Tg=to(class extends eo{constructor(n){if(super(n),n.type!==yi.PROPERTY&&n.type!==yi.ATTRIBUTE&&n.type!==yi.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!wg(n))throw Error("`live` bindings can only contain a single expression")}render(n){return n}update(n,[t]){if(t===Ce||t===
|
|
1348
|
+
*/const Tg=to(class extends eo{constructor(n){if(super(n),n.type!==yi.PROPERTY&&n.type!==yi.ATTRIBUTE&&n.type!==yi.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!wg(n))throw Error("`live` bindings can only contain a single expression")}render(n){return n}update(n,[t]){if(t===Ce||t===rt)return t;const e=n.element,i=n.name;if(n.type===yi.PROPERTY){if(t===e[i])return Ce}else if(n.type===yi.BOOLEAN_ATTRIBUTE){if(!!t===e.hasAttribute(i))return Ce}else if(n.type===yi.ATTRIBUTE&&e.getAttribute(i)===t+"")return Ce;return ra(n),t}});var Eg=Object.defineProperty,Og=Object.getOwnPropertyDescriptor,zt=(n,t,e,i)=>{for(var s=i>1?void 0:i?Og(t,e):t,r=n.length-1,o;r>=0;r--)(o=n[r])&&(s=(i?o(t,e,s):o(s))||s);return i&&s&&Eg(t,e,s),s};let bt=class extends Dt{constructor(){super(...arguments),this.formControlController=new Da(this,{assumeInteractionOn:["pbo-input"]}),this.hasSlotController=new ns(this,"help-text"),this.hasFocus=!1,this.name="",this.value="",this.size="medium",this.filled=!1,this.placeholder="",this.rows=4,this.resize="vertical",this.disabled=!1,this.readonly=!1,this.form="",this.required=!1,this.helpText=""}get validity(){return this.input.validity}get validationMessage(){return this.input.validationMessage}firstUpdated(){this.formControlController.updateValidity()}handleChange(){this.value=this.input.value,this.emit("pbo-change")}handleBlur(){this.hasFocus=!1,this.emit("pbo-blur")}handleFocus(){this.hasFocus=!0,this.emit("pbo-focus")}handleInput(){this.value=this.input.value,this.emit("pbo-input")}handleInvalid(t){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(t)}focus(t){this.input.focus(t)}blur(){this.input.blur()}select(){this.input.select()}scrollPosition(t){if(t){typeof t.top=="number"&&(this.input.scrollTop=t.top),typeof t.left=="number"&&(this.input.scrollLeft=t.left);return}return{top:this.input.scrollTop,left:this.input.scrollTop}}setSelectionRange(t,e,i="none"){this.input.setSelectionRange(t,e,i)}setRangeText(t,e,i,s="preserve"){const r=e??this.input.selectionStart,o=i??this.input.selectionEnd;this.input.setRangeText(t,r,o,s),this.value!==this.input.value&&(this.value=this.input.value)}checkValidity(){return this.input.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return this.input.reportValidity()}setCustomValidity(t){this.input.setCustomValidity(t),this.formControlController.updateValidity()}render(){const t=this.hasSlotController.test("help-text"),e=this.helpText?!0:!!t;return V` <div
|
|
1345
1349
|
part="form-control"
|
|
1346
1350
|
class=${ve({"form-control":!0,"form-control--small":this.size==="small","form-control--medium":this.size==="medium","form-control--large":this.size==="large","form-control--has-help-text":e,invalid:!0})}
|
|
1347
1351
|
>
|
|
@@ -1405,7 +1409,7 @@
|
|
|
1405
1409
|
.editor__form {
|
|
1406
1410
|
display: flex;
|
|
1407
1411
|
flex-direction: column;
|
|
1408
|
-
gap:
|
|
1412
|
+
gap: 4px;
|
|
1409
1413
|
}
|
|
1410
1414
|
|
|
1411
1415
|
@media screen and (min-width: 640px) {
|
|
@@ -1470,7 +1474,7 @@
|
|
|
1470
1474
|
.skip::part(label) {
|
|
1471
1475
|
font-size: 14px;
|
|
1472
1476
|
}
|
|
1473
|
-
`,vs=()=>/Mobi|Android|iPhone|iPad|iPod/i.test(navigator.userAgent),Zs=n=>n!=null,_h=n=>Object.entries(n).reduce((t,[e,i])=>(i==null||(t[e]=i),t),{});function Pg(n,t){let e;return function(...i){clearTimeout(e),e=setTimeout(()=>n.apply(this,i),t)}}var Dg=Object.defineProperty,Mg=Object.getOwnPropertyDescriptor,Lt=(n,t,e,i)=>{for(var s=i>1?void 0:i?Mg(t,e):t,r=n.length-1,o;r>=0;r--)(o=n[r])&&(s=(i?o(t,e,s):o(s))||s);return i&&s&&Dg(t,e,s),s};let
|
|
1477
|
+
`,vs=()=>/Mobi|Android|iPhone|iPad|iPod/i.test(navigator.userAgent),Zs=n=>n!=null,_h=n=>Object.entries(n).reduce((t,[e,i])=>(i==null||(t[e]=i),t),{});function Pg(n,t){let e;return function(...i){clearTimeout(e),e=setTimeout(()=>n.apply(this,i),t)}}var Dg=Object.defineProperty,Mg=Object.getOwnPropertyDescriptor,Lt=(n,t,e,i)=>{for(var s=i>1?void 0:i?Mg(t,e):t,r=n.length-1,o;r>=0;r--)(o=n[r])&&(s=(i?o(t,e,s):o(s))||s);return i&&s&&Dg(t,e,s),s};let nt=class extends Dt{constructor(){super(...arguments),this.resizeTimeout=null,this.cardInnerImageUrl="../../../public/Greeting Card from Pairbo.png",this.card=null,this.submitTypeForm=async t=>{console.error("submitTypingForm function not implemented",t)},this.loading=!1,this.disabled=!1,this.windowHeight=window.innerHeight,this.charsNum=0,this.ctaButtonState=nt.CTA_STATES.primary,this.wrappedSubmitTypeForm=async t=>{console.warn("submitTypingForm function not implemented",t)},this.handleResize=()=>{this.resizeTimeout&&window.clearTimeout(this.resizeTimeout),this.resizeTimeout=window.setTimeout(()=>{this.windowHeight=window.innerHeight},50)}}updateWrappedSubmitTypeForm(){this.wrappedSubmitTypeForm=async t=>{this.loading=!0,this.disabled=!0;try{this.submitTypeForm(t),await new Promise(e=>setTimeout(e,1e3))}catch(e){console.error("Error submitting type form:",e)}finally{this.loading=!1,this.disabled=!1}}}isLoadingChanged(){this.ctaButtons.forEach(t=>{t.loading=this.loading})}disabledChanged(){this.greetingText.disabled=this.disabled,this.fontSelector.disabled=this.disabled,this.textColor.childNodes.forEach(t=>{t.disabled=this.disabled}),this.textAlignment.childNodes.forEach(t=>{t.disabled=this.disabled}),this.ctaButtons.forEach(t=>{t.disabled=this.disabled})}firstUpdated(){this.disabledChanged(),this.isLoadingChanged(),this.textArea.addEventListener("invalid",()=>{alert("Please add a message to continue")})}get formData(){var e,i,s,r,o,a,l,c;const t={pboCardId:((e=this.card)==null?void 0:e.pboId)||"Unknown",productId:(i=this.card)==null?void 0:i.productId,sku:(s=this.card)==null?void 0:s.sku,variantId:(r=this.card)==null?void 0:r.variantId,font:((o=this.fontSelector)==null?void 0:o.value)||"",text:((a=this.greetingText)==null?void 0:a.value)||"",color:((l=this.textColor)==null?void 0:l.value)||"",alignment:((c=this.textAlignment)==null?void 0:c.value)||""};return _h(t)}handleFormChange(t){var e;this.ctaButtonState=nt.CTA_STATES.primary,this.charsNum=((e=this.greetingText)==null?void 0:e.value.length)||0,this.emit("pbo-change",{detail:this.formData})}hostConnected(){this.addEventListener("pbo-change",this.handleFormChange)}hostDisconnected(){this.removeEventListener("pbo-change",this.handleFormChange)}submitFormHandler(t){var i;t.preventDefault();const e=(i=t.submitter)==null?void 0:i.name;if(this.ctaButtonState.type==="danger"){e==="skip"&&this.wrappedSubmitTypeForm(this.formData);return}if(this.greetingText.value===""||this.greetingText.value===null||this.greetingText.value===void 0){this.ctaButtonState=nt.CTA_STATES.danger,this.greetingText.focus();return}this.wrappedSubmitTypeForm(this.formData)}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.handleResize)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("resize",this.handleResize),this.resizeTimeout&&window.clearTimeout(this.resizeTimeout)}render(){const t=223-this.charsNum;return V`
|
|
1474
1478
|
<form class="typing-form" @submit=${this.submitFormHandler}>
|
|
1475
1479
|
<pbo-textarea
|
|
1476
1480
|
exportparts="textarea:editor-textarea"
|
|
@@ -1484,7 +1488,7 @@
|
|
|
1484
1488
|
>
|
|
1485
1489
|
</pbo-textarea>
|
|
1486
1490
|
|
|
1487
|
-
<pbo-selector
|
|
1491
|
+
<pbo-font-selector
|
|
1488
1492
|
label="Font"
|
|
1489
1493
|
class="font-selector"
|
|
1490
1494
|
exportparts="form-control-label:font-selector-label,base:font-selector-base,form-control-label:type-form-label"
|
|
@@ -1492,7 +1496,7 @@
|
|
|
1492
1496
|
@pbo-change=${this.handleFormChange}
|
|
1493
1497
|
size="large"
|
|
1494
1498
|
disabled="${this.disabled}"
|
|
1495
|
-
></pbo-selector>
|
|
1499
|
+
></pbo-font-selector>
|
|
1496
1500
|
|
|
1497
1501
|
<div class="color-alignment-container">
|
|
1498
1502
|
<pbo-radio-group
|
|
@@ -1581,11 +1585,11 @@
|
|
|
1581
1585
|
`:""}
|
|
1582
1586
|
</div>
|
|
1583
1587
|
</form>
|
|
1584
|
-
`}};
|
|
1588
|
+
`}};nt.styles=[Tt,Tr,Ag];nt.dependencies={"pbo-font-selector":He,"pbo-textarea":bt,"pbo-color-radio-group":vt,"pbo-radio-group":vt,"pbo-radio-button":vt,"pbo-button":pt};nt.CTA_STATES={danger:{type:"danger",message:"Add a message to Continue"},primary:{type:"primary",message:"Save and Continue"}};Lt([S({type:String,reflect:!0})],nt.prototype,"cardInnerImageUrl",2);Lt([S()],nt.prototype,"card",2);Lt([S()],nt.prototype,"submitTypeForm",2);Lt([S({type:Boolean,reflect:!0})],nt.prototype,"loading",2);Lt([S({type:Boolean,reflect:!0})],nt.prototype,"disabled",2);Lt([q(".greeting-text")],nt.prototype,"greetingText",2);Lt([q(".font-selector")],nt.prototype,"fontSelector",2);Lt([q(".text-color")],nt.prototype,"textColor",2);Lt([q(".text-alignment")],nt.prototype,"textAlignment",2);Lt([q(".typing-form")],nt.prototype,"typingForm",2);Lt([q("pbo-textarea")],nt.prototype,"textArea",2);Lt([ka(".cta-buttons pbo-button")],nt.prototype,"ctaButtons",2);Lt([W()],nt.prototype,"windowHeight",2);Lt([W()],nt.prototype,"charsNum",2);Lt([W()],nt.prototype,"ctaButtonState",2);Lt([W()],nt.prototype,"wrappedSubmitTypeForm",2);Lt([Z("submitTypeForm")],nt.prototype,"updateWrappedSubmitTypeForm",1);Lt([Z("loading",{waitUntilFirstUpdate:!0})],nt.prototype,"isLoadingChanged",1);Lt([Z("disabled",{waitUntilFirstUpdate:!0})],nt.prototype,"disabledChanged",1);nt=Lt([xt("pbo-type-form")],nt);/**
|
|
1585
1589
|
* @license
|
|
1586
1590
|
* Copyright 2017 Google LLC
|
|
1587
1591
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
1588
|
-
*/const Xl=n=>xg(n)?n._$litType$.h:n.strings,Mo=to(class extends eo{constructor(n){super(n),this.et=new WeakMap}render(n){return[n]}update(n,[t]){const e=Ul(this.it)?Xl(this.it):null,i=Ul(t)?Xl(t):null;if(e!==null&&(i===null||e!==i)){const s=Yl(n).pop();let r=this.et.get(e);if(r===void 0){const o=document.createDocumentFragment();r=Qc(
|
|
1592
|
+
*/const Xl=n=>xg(n)?n._$litType$.h:n.strings,Mo=to(class extends eo{constructor(n){super(n),this.et=new WeakMap}render(n){return[n]}update(n,[t]){const e=Ul(this.it)?Xl(this.it):null,i=Ul(t)?Xl(t):null;if(e!==null&&(i===null||e!==i)){const s=Yl(n).pop();let r=this.et.get(e);if(r===void 0){const o=document.createDocumentFragment();r=Qc(rt,o),r.setConnected(!1),this.et.set(e,r)}ra(r,[s]),Gl(r,void 0,s)}if(i!==null){if(e===null||e!==i){const s=this.et.get(i);if(s!==void 0){const r=Yl(s).pop();Sg(n),Gl(n,void 0,r),ra(n,[r])}}this.it=t}else this.it=void 0;return this.render(t)}}),Ig=ct`
|
|
1589
1593
|
:host {
|
|
1590
1594
|
display: block;
|
|
1591
1595
|
width: 100%;
|
|
@@ -1627,8 +1631,8 @@
|
|
|
1627
1631
|
display: none;
|
|
1628
1632
|
width: 100%;
|
|
1629
1633
|
height: 100%;
|
|
1630
|
-
background-color:
|
|
1631
|
-
border: 2px solid
|
|
1634
|
+
background-color: rgb(241, 245, 249);
|
|
1635
|
+
border: 2px solid rgb(241, 245, 249);
|
|
1632
1636
|
}
|
|
1633
1637
|
|
|
1634
1638
|
@media screen and (min-width: 640px) {
|
|
@@ -1679,14 +1683,17 @@
|
|
|
1679
1683
|
|
|
1680
1684
|
.thumbnail {
|
|
1681
1685
|
cursor: pointer;
|
|
1682
|
-
opacity: 0.35;
|
|
1683
1686
|
width: 100%;
|
|
1684
1687
|
box-sizing: border-box;
|
|
1685
|
-
border: 2px solid
|
|
1688
|
+
border: 2px solid rgb(241, 245, 249);
|
|
1686
1689
|
}
|
|
1687
1690
|
|
|
1691
|
+
.thumbnail:not(.active):hover {
|
|
1692
|
+
border-color: rgb(203, 213, 225);
|
|
1693
|
+
}
|
|
1688
1694
|
.thumbnail.active {
|
|
1689
1695
|
opacity: 1;
|
|
1696
|
+
border-color: rgb(148, 163, 184);
|
|
1690
1697
|
}
|
|
1691
1698
|
|
|
1692
1699
|
.main-slide.active {
|
|
@@ -1773,19 +1780,25 @@
|
|
|
1773
1780
|
<div class="card--slider--wrapper">
|
|
1774
1781
|
<div id="thumbnails" class="thumbnails">
|
|
1775
1782
|
<div class="thumbnail">
|
|
1776
|
-
<pbo-image src="${((t=this.card)==null?void 0:t.medias.cover.url)||"https://picsum.photos/id/1/300/400"}" alt=""
|
|
1783
|
+
<pbo-image src="${((t=this.card)==null?void 0:t.medias.cover.url)||"https://picsum.photos/id/1/300/400"}" alt=""> </pbo-image>
|
|
1777
1784
|
</div>
|
|
1778
1785
|
<div class="thumbnail">
|
|
1779
|
-
<pbo-image
|
|
1786
|
+
<pbo-image
|
|
1787
|
+
src="${((e=this.card)==null?void 0:e.medias.rendered_1.url)||"https://picsum.photos/id/10/300/400"}"
|
|
1788
|
+
alt=""
|
|
1789
|
+
></pbo-image>
|
|
1780
1790
|
</div>
|
|
1781
1791
|
<div class="thumbnail">
|
|
1782
|
-
<pbo-image
|
|
1792
|
+
<pbo-image
|
|
1793
|
+
src="${((i=this.card)==null?void 0:i.medias.rendered_2.url)||"https://picsum.photos/id/10/300/400"}"
|
|
1794
|
+
alt=""
|
|
1795
|
+
></pbo-image>
|
|
1783
1796
|
</div>
|
|
1784
1797
|
</div>
|
|
1785
1798
|
|
|
1786
1799
|
<div class="main-slide-container">
|
|
1787
1800
|
<div class="main-slide" @click="${this.handleOpenZoomedClick}">
|
|
1788
|
-
<pbo-image src="${((s=this.card)==null?void 0:s.medias.cover.url)||"https://picsum.photos/id/1/300/400"}" alt=""
|
|
1801
|
+
<pbo-image src="${((s=this.card)==null?void 0:s.medias.cover.url)||"https://picsum.photos/id/1/300/400"}" alt=""></pbo-image>
|
|
1789
1802
|
${vs()?V`<div class="zoomed-preview-open-button" @click="${this.handleOpenZoomedClick}">
|
|
1790
1803
|
<svg
|
|
1791
1804
|
stroke="currentColor"
|
|
@@ -1804,7 +1817,7 @@
|
|
|
1804
1817
|
<line x1="11" y1="8" x2="11" y2="14"></line>
|
|
1805
1818
|
<line x1="8" y1="11" x2="14" y2="11"></line>
|
|
1806
1819
|
</svg>
|
|
1807
|
-
</div>`:
|
|
1820
|
+
</div>`:rt}
|
|
1808
1821
|
</div>
|
|
1809
1822
|
<div class="main-slide" @click="${this.handleOpenZoomedClick}">
|
|
1810
1823
|
${Mo(this.type==="type"?V`<pbo-type-canvas
|
|
@@ -1838,10 +1851,13 @@
|
|
|
1838
1851
|
<line x1="11" y1="8" x2="11" y2="14"></line>
|
|
1839
1852
|
<line x1="8" y1="11" x2="14" y2="11"></line>
|
|
1840
1853
|
</svg>
|
|
1841
|
-
</div>`:
|
|
1854
|
+
</div>`:rt}
|
|
1842
1855
|
</div>
|
|
1843
1856
|
<div class="main-slide" @click=${this.handleOpenZoomedClick}>
|
|
1844
|
-
<pbo-image
|
|
1857
|
+
<pbo-image
|
|
1858
|
+
src="${((u=this.card)==null?void 0:u.medias.rendered_2.url)||"https://picsum.photos/id/10/300/400"}"
|
|
1859
|
+
alt=""
|
|
1860
|
+
></pbo-image>
|
|
1845
1861
|
${vs()?V`<div class="zoomed-preview-open-button" @click="${this.handleOpenZoomedClick}">
|
|
1846
1862
|
<svg
|
|
1847
1863
|
stroke="currentColor"
|
|
@@ -1860,10 +1876,12 @@
|
|
|
1860
1876
|
<line x1="11" y1="8" x2="11" y2="14"></line>
|
|
1861
1877
|
<line x1="8" y1="11" x2="14" y2="11"></line>
|
|
1862
1878
|
</svg>
|
|
1863
|
-
</div>`:
|
|
1879
|
+
</div>`:rt}
|
|
1864
1880
|
</div>
|
|
1865
1881
|
</div>
|
|
1866
1882
|
</div>
|
|
1883
|
+
|
|
1884
|
+
<!-- Zoomed preview -->
|
|
1867
1885
|
<pbo-drawer
|
|
1868
1886
|
placement="bottom"
|
|
1869
1887
|
style="${oe({"--size":"100%","--panel-background-color":"#454545ca"})}"
|
|
@@ -1888,14 +1906,14 @@
|
|
|
1888
1906
|
font=${(y=this.livePreviewProps)==null?void 0:y.font}
|
|
1889
1907
|
@click="${this.handleOpenZoomedClick}"
|
|
1890
1908
|
style=${oe({display:this.focusIndex===1?"block":"none"})}
|
|
1891
|
-
></pbo-type-canvas>`:
|
|
1909
|
+
></pbo-type-canvas>`:rt)}
|
|
1892
1910
|
${Mo(this.type==="handwritten"?V`<pbo-handwritten-canvas
|
|
1893
1911
|
id="handwritten-zoomed-preview-canvas"
|
|
1894
1912
|
background-url=${(x=this.card)==null?void 0:x.medias.insert.url}
|
|
1895
1913
|
handwritten-url=${this.handwrittenPreviewProps.processedFileUrl}
|
|
1896
1914
|
@click="${this.handleOpenZoomedClick}"
|
|
1897
1915
|
style=${oe({display:this.focusIndex===1?"block":"none"})}
|
|
1898
|
-
></pbo-handwritten-canvas>`:
|
|
1916
|
+
></pbo-handwritten-canvas>`:rt)}
|
|
1899
1917
|
<img
|
|
1900
1918
|
src="${((E=this.card)==null?void 0:E.medias.rendered_2.url)||"https://picsum.photos/id/10/300/400"}"
|
|
1901
1919
|
alt=""
|
|
@@ -1962,7 +1980,7 @@
|
|
|
1962
1980
|
.close=${this.closeZoomedPreview}
|
|
1963
1981
|
></pbo-zoomed-preview>
|
|
1964
1982
|
</pbo-drawer>
|
|
1965
|
-
`}};Nt.styles=[Tt,kg];Nt.dependencies={"editor-card-slider":At,"pbo-type-form":
|
|
1983
|
+
`}};Nt.styles=[Tt,kg];Nt.dependencies={"editor-card-slider":At,"pbo-type-form":nt};_e([S({type:Object})],Nt.prototype,"card",2);_e([S()],Nt.prototype,"submitTypeForm",2);_e([S()],Nt.prototype,"submitHandwrittenForm",2);_e([S()],Nt.prototype,"getProcessedImg",2);_e([q("pbo-type-form")],Nt.prototype,"typeForm",2);_e([q("pbo-handwritten-form")],Nt.prototype,"handwrittenForm",2);_e([q("pbo-editor-card-slider")],Nt.prototype,"slider",2);_e([q(".editor__zoomed")],Nt.prototype,"zoomedPreview",2);_e([W()],Nt.prototype,"formData",2);_e([W()],Nt.prototype,"handwrittenFormState",2);_e([W()],Nt.prototype,"editorType",2);_e([Z("card")],Nt.prototype,"handleCardChange",1);Nt=_e([xt("pbo-editor")],Nt);const J_=Nt,Q_=nt,t0=At,zg=ct`
|
|
1966
1984
|
:host {
|
|
1967
1985
|
display: block;
|
|
1968
1986
|
--title-font-size: 18.75px;
|
|
@@ -2063,7 +2081,7 @@
|
|
|
2063
2081
|
* Version : 4.1.4
|
|
2064
2082
|
* License : MIT
|
|
2065
2083
|
* Copyright: 2022 Naotoshi Fujita
|
|
2066
|
-
*/var Kl="(prefers-reduced-motion: reduce)",bs=1,Wg=2,As=3,Is=4,Er=5,_n=6,Mn=7,Gg={CREATED:bs,MOUNTED:Wg,IDLE:As,MOVING:Is,SCROLLING:Er,DRAGGING:_n,DESTROYED:Mn};function di(n){n.length=0}function ji(n,t,e){return Array.prototype.slice.call(n,t,e)}function lt(n){return n.bind.apply(n,[null].concat(ji(arguments,1)))}var yh=setTimeout,na=function(){};function ql(n){return requestAnimationFrame(n)}function ro(n,t){return typeof t===n}function dr(n){return!Ia(n)&&ro("object",n)}var Ma=Array.isArray,xh=lt(ro,"function"),ki=lt(ro,"string"),Or=lt(ro,"undefined");function Ia(n){return n===null}function wh(n){try{return n instanceof(n.ownerDocument.defaultView||window).HTMLElement}catch{return!1}}function kr(n){return Ma(n)?n:[n]}function Te(n,t){kr(n).forEach(t)}function La(n,t){return n.indexOf(t)>-1}function yn(n,t){return n.push.apply(n,kr(t)),n}function si(n,t,e){n&&Te(t,function(i){i&&n.classList[e?"add":"remove"](i)})}function Ve(n,t){si(n,ki(t)?t.split(" "):t,!0)}function Ar(n,t){Te(t,n.appendChild.bind(n))}function Fa(n,t){Te(n,function(e){var i=(t||e).parentNode;i&&i.insertBefore(e,t)})}function pr(n,t){return wh(n)&&(n.msMatchesSelector||n.matches).call(n,t)}function Ch(n,t){var e=n?ji(n.children):[];return t?e.filter(function(i){return pr(i,t)}):e}function Pr(n,t){return t?Ch(n,t)[0]:n.firstElementChild}var gr=Object.keys;function Ji(n,t,e){return n&&(e?gr(n).reverse():gr(n)).forEach(function(i){i!=="__proto__"&&t(n[i],i)}),n}function fr(n){return ji(arguments,1).forEach(function(t){Ji(t,function(e,i){n[i]=t[i]})}),n}function Si(n){return ji(arguments,1).forEach(function(t){Ji(t,function(e,i){Ma(e)?n[i]=e.slice():dr(e)?n[i]=Si({},dr(n[i])?n[i]:{},e):n[i]=e})}),n}function Zl(n,t){Te(t||gr(n),function(e){delete n[e]})}function Ue(n,t){Te(n,function(e){Te(t,function(i){e&&e.removeAttribute(i)})})}function Y(n,t,e){dr(t)?Ji(t,function(i,s){Y(n,s,i)}):Te(n,function(i){Ia(e)||e===""?Ue(i,t):i.setAttribute(t,String(e))})}function ws(n,t,e){var i=document.createElement(n);return t&&(ki(t)?Ve(i,t):Y(i,t)),e&&Ar(e,i),i}function Pe(n,t,e){if(Or(e))return getComputedStyle(n)[t];Ia(e)||(n.style[t]=""+e)}function mr(n,t){Pe(n,"display",t)}function Sh(n){n.setActive&&n.setActive()||n.focus({preventScroll:!0})}function Me(n,t){return n.getAttribute(t)}function Jl(n,t){return n&&n.classList.contains(t)}function xe(n){return n.getBoundingClientRect()}function ts(n){Te(n,function(t){t&&t.parentNode&&t.parentNode.removeChild(t)})}function Th(n){return Pr(new DOMParser().parseFromString(n,"text/html").body)}function ti(n,t){n.preventDefault(),t&&(n.stopPropagation(),n.stopImmediatePropagation())}function Eh(n,t){return n&&n.querySelector(t)}function ja(n,t){return t?ji(n.querySelectorAll(t)):[]}function ri(n,t){si(n,t,!1)}function oa(n){return n.timeStamp}function Hi(n){return ki(n)?n:n?n+"px":""}var Dr="splide",Ra="data-"+Dr;function rr(n,t){if(!n)throw new Error("["+Dr+"] "+(t||""))}var Ai=Math.min,In=Math.max,Ln=Math.floor,vr=Math.ceil,ae=Math.abs;function Oh(n,t,e){return ae(n-t)<e}function xn(n,t,e,i){var s=Ai(t,e),r=In(t,e);return i?s<n&&n<r:s<=n&&n<=r}function ps(n,t,e){var i=Ai(t,e),s=In(t,e);return Ai(In(i,n),s)}function aa(n){return+(n>0)-+(n<0)}function la(n,t){return Te(t,function(e){n=n.replace("%s",""+e)}),n}function $a(n){return n<10?"0"+n:""+n}var Ql={};function Yg(n){return""+n+$a(Ql[n]=(Ql[n]||0)+1)}function kh(){var n=[];function t(o,a,l,c){s(o,a,function(h,u,d){var p="addEventListener"in h,g=p?h.removeEventListener.bind(h,u,l,c):h.removeListener.bind(h,l);p?h.addEventListener(u,l,c):h.addListener(l),n.push([h,u,d,l,g])})}function e(o,a,l){s(o,a,function(c,h,u){n=n.filter(function(d){return d[0]===c&&d[1]===h&&d[2]===u&&(!l||d[3]===l)?(d[4](),!1):!0})})}function i(o,a,l){var c,h=!0;return typeof CustomEvent=="function"?c=new CustomEvent(a,{bubbles:h,detail:l}):(c=document.createEvent("CustomEvent"),c.initCustomEvent(a,h,!1,l)),o.dispatchEvent(c),c}function s(o,a,l){Te(o,function(c){c&&Te(a,function(h){h.split(" ").forEach(function(u){var d=u.split(".");l(c,d[0],d[1])})})})}function r(){n.forEach(function(o){o[4]()}),di(n)}return{bind:t,unbind:e,dispatch:i,destroy:r}}var as="mounted",tc="ready",Pi="move",Mr="moved",Ah="click",Xg="active",Kg="inactive",qg="visible",Zg="hidden",jt="refresh",de="updated",br="resize",Ba="resized",Jg="drag",Qg="dragging",tf="dragged",Na="scroll",Ls="scrolled",ef="overflow",Ph="destroy",sf="arrows:mounted",rf="arrows:updated",nf="pagination:mounted",of="pagination:updated",Dh="navigation:mounted",Mh="autoplay:play",af="autoplay:playing",Ih="autoplay:pause",Lh="lazyload:loaded",Fh="sk",jh="sh",Fn="ei";function _t(n){var t=n?n.event.bus:document.createDocumentFragment(),e=kh();function i(r,o){e.bind(t,kr(r).join(" "),function(a){o.apply(o,Ma(a.detail)?a.detail:[])})}function s(r){e.dispatch(t,r,ji(arguments,1))}return n&&n.event.on(Ph,e.destroy),fr(e,{bus:t,on:i,off:lt(e.unbind,t),emit:s})}function no(n,t,e,i){var s=Date.now,r,o=0,a,l=!0,c=0;function h(){if(!l){if(o=n?Ai((s()-r)/n,1):1,e&&e(o),o>=1&&(t(),r=s(),i&&++c>=i))return d();a=ql(h)}}function u(v){v||g(),r=s()-(v?o*n:0),l=!1,a=ql(h)}function d(){l=!0}function p(){r=s(),o=0,e&&e(o)}function g(){a&&cancelAnimationFrame(a),o=0,a=0,l=!0}function f(v){n=v}function m(){return l}return{start:u,rewind:p,pause:d,cancel:g,set:f,isPaused:m}}function lf(n){var t=n;function e(s){t=s}function i(s){return La(kr(s),t)}return{set:e,is:i}}function cf(n,t){var e=no(0,n,null,1);return function(){e.isPaused()&&e.start()}}function hf(n,t,e){var i=n.state,s=e.breakpoints||{},r=e.reducedMotion||{},o=kh(),a=[];function l(){var g=e.mediaQuery==="min";gr(s).sort(function(f,m){return g?+f-+m:+m-+f}).forEach(function(f){h(s[f],"("+(g?"min":"max")+"-width:"+f+"px)")}),h(r,Kl),u()}function c(g){g&&o.destroy()}function h(g,f){var m=matchMedia(f);o.bind(m,"change",u),a.push([g,m])}function u(){var g=i.is(Mn),f=e.direction,m=a.reduce(function(v,y){return Si(v,y[1].matches?y[0]:{})},{});Zl(e),p(m),e.destroy?n.destroy(e.destroy==="completely"):g?(c(!0),n.mount()):f!==e.direction&&n.refresh()}function d(g){matchMedia(Kl).matches&&(g?Si(e,r):Zl(e,gr(r)))}function p(g,f,m){Si(e,g),f&&Si(Object.getPrototypeOf(e),g),(m||!i.is(bs))&&n.emit(de,e)}return{setup:l,destroy:c,reduce:d,set:p}}var oo="Arrow",ao=oo+"Left",lo=oo+"Right",Rh=oo+"Up",$h=oo+"Down",ec="rtl",co="ttb",Io={width:["height"],left:["top","right"],right:["bottom","left"],x:["y"],X:["Y"],Y:["X"],ArrowLeft:[Rh,lo],ArrowRight:[$h,ao]};function uf(n,t,e){function i(r,o,a){a=a||e.direction;var l=a===ec&&!o?1:a===co?0:-1;return Io[r]&&Io[r][l]||r.replace(/width|left|right/i,function(c,h){var u=Io[c.toLowerCase()][l]||c;return h>0?u.charAt(0).toUpperCase()+u.slice(1):u})}function s(r){return r*(e.direction===ec?1:-1)}return{resolve:i,orient:s}}var li="role",Cs="tabindex",df="disabled",je="aria-",Ir=je+"controls",Bh=je+"current",ic=je+"selected",Se=je+"label",za=je+"labelledby",Nh=je+"hidden",Ha=je+"orientation",_r=je+"roledescription",sc=je+"live",rc=je+"busy",nc=je+"atomic",Va=[li,Cs,df,Ir,Bh,Se,za,Nh,Ha,_r],Ze=Dr+"__",Ri="is-",Lo=Dr,oc=Ze+"track",pf=Ze+"list",ho=Ze+"slide",zh=ho+"--clone",gf=ho+"__container",Ua=Ze+"arrows",uo=Ze+"arrow",Hh=uo+"--prev",Vh=uo+"--next",po=Ze+"pagination",Uh=po+"__page",ff=Ze+"progress",mf=ff+"__bar",vf=Ze+"toggle",bf=Ze+"spinner",_f=Ze+"sr",yf=Ri+"initialized",es=Ri+"active",Wh=Ri+"prev",Gh=Ri+"next",ca=Ri+"visible",ha=Ri+"loading",Yh=Ri+"focus-in",Xh=Ri+"overflow",xf=[es,ca,Wh,Gh,ha,Yh,Xh],wf={slide:ho,clone:zh,arrows:Ua,arrow:uo,prev:Hh,next:Vh,pagination:po,page:Uh,spinner:bf};function Cf(n,t){if(xh(n.closest))return n.closest(t);for(var e=n;e&&e.nodeType===1&&!pr(e,t);)e=e.parentElement;return e}var Sf=5,ac=200,Kh="touchstart mousedown",Fo="touchmove mousemove",jo="touchend touchcancel mouseup click";function Tf(n,t,e){var i=_t(n),s=i.on,r=i.bind,o=n.root,a=e.i18n,l={},c=[],h=[],u=[],d,p,g;function f(){x(),E(),y()}function m(){s(jt,v),s(jt,f),s(de,y),r(document,Kh+" keydown",function(C){g=C.type==="keydown"},{capture:!0}),r(o,"focusin",function(){si(o,Yh,!!g)})}function v(C){var T=Va.concat("style");di(c),ri(o,h),ri(d,u),Ue([d,p],T),Ue(o,C?T:["style",_r])}function y(){ri(o,h),ri(d,u),h=D(Lo),u=D(oc),Ve(o,h),Ve(d,u),Y(o,Se,e.label),Y(o,za,e.labelledby)}function x(){d=O("."+oc),p=Pr(d,"."+pf),rr(d&&p,"A track/list element is missing."),yn(c,Ch(p,"."+ho+":not(."+zh+")")),Ji({arrows:Ua,pagination:po,prev:Hh,next:Vh,bar:mf,toggle:vf},function(C,T){l[T]=O("."+C)}),fr(l,{root:o,track:d,list:p,slides:c})}function E(){var C=o.id||Yg(Dr),T=e.role;o.id=C,d.id=d.id||C+"-track",p.id=p.id||C+"-list",!Me(o,li)&&o.tagName!=="SECTION"&&T&&Y(o,li,T),Y(o,_r,a.carousel),Y(p,li,"presentation")}function O(C){var T=Eh(o,C);return T&&Cf(T,"."+Lo)===o?T:void 0}function D(C){return[C+"--"+e.type,C+"--"+e.direction,e.drag&&C+"--draggable",e.isNavigation&&C+"--nav",C===Lo&&es]}return fr(l,{setup:f,mount:m,destroy:v})}var Ps="slide",Fs="loop",Lr="fade";function Ef(n,t,e,i){var s=_t(n),r=s.on,o=s.emit,a=s.bind,l=n.Components,c=n.root,h=n.options,u=h.isNavigation,d=h.updateOnMove,p=h.i18n,g=h.pagination,f=h.slideFocus,m=l.Direction.resolve,v=Me(i,"style"),y=Me(i,Se),x=e>-1,E=Pr(i,"."+gf),O;function D(){x||(i.id=c.id+"-slide"+$a(t+1),Y(i,li,g?"tabpanel":"group"),Y(i,_r,p.slide),Y(i,Se,y||la(p.slideLabel,[t+1,n.length]))),C()}function C(){a(i,"click",lt(o,Ah,$)),a(i,"keydown",lt(o,Fh,$)),r([Mr,jh,Ls],A),r(Dh,F),d&&r(Pi,j)}function T(){O=!0,s.destroy(),ri(i,xf),Ue(i,Va),Y(i,"style",v),Y(i,Se,y||"")}function F(){var B=n.splides.map(function(M){var H=M.splide.Components.Slides.getAt(t);return H?H.slide.id:""}).join(" ");Y(i,Se,la(p.slideX,(x?e:t)+1)),Y(i,Ir,B),Y(i,li,f?"button":""),f&&Ue(i,_r)}function j(){O||A()}function A(){if(!O){var B=n.index;k(),P(),si(i,Wh,t===B-1),si(i,Gh,t===B+1)}}function k(){var B=z();B!==Jl(i,es)&&(si(i,es,B),Y(i,Bh,u&&B||""),o(B?Xg:Kg,$))}function P(){var B=X(),M=!B&&(!z()||x);if(n.state.is([Is,Er])||Y(i,Nh,M||""),Y(ja(i,h.focusableNodes||""),Cs,M?-1:""),f&&Y(i,Cs,M?-1:0),B!==Jl(i,ca)&&(si(i,ca,B),o(B?qg:Zg,$)),!B&&document.activeElement===i){var H=l.Slides.getAt(n.index);H&&Sh(H.slide)}}function L(B,M,H){Pe(H&&E||i,B,M)}function z(){var B=n.index;return B===t||h.cloneStatus&&B===e}function X(){if(n.is(Lr))return z();var B=xe(l.Elements.track),M=xe(i),H=m("left",!0),Q=m("right",!0);return Ln(B[H])<=vr(M[H])&&Ln(M[Q])<=vr(B[Q])}function J(B,M){var H=ae(B-t);return!x&&(h.rewind||n.is(Fs))&&(H=Ai(H,n.length-H)),H<=M}var $={index:t,slideIndex:e,slide:i,container:E,isClone:x,mount:D,destroy:T,update:A,style:L,isWithin:J};return $}function Of(n,t,e){var i=_t(n),s=i.on,r=i.emit,o=i.bind,a=t.Elements,l=a.slides,c=a.list,h=[];function u(){d(),s(jt,p),s(jt,d)}function d(){l.forEach(function(A,k){f(A,k,-1)})}function p(){O(function(A){A.destroy()}),di(h)}function g(){O(function(A){A.update()})}function f(A,k,P){var L=Ef(n,k,P,A);L.mount(),h.push(L),h.sort(function(z,X){return z.index-X.index})}function m(A){return A?D(function(k){return!k.isClone}):h}function v(A){var k=t.Controller,P=k.toIndex(A),L=k.hasFocus()?1:e.perPage;return D(function(z){return xn(z.index,P,P+L-1)})}function y(A){return D(A)[0]}function x(A,k){Te(A,function(P){if(ki(P)&&(P=Th(P)),wh(P)){var L=l[k];L?Fa(P,L):Ar(c,P),Ve(P,e.classes.slide),T(P,lt(r,br))}}),r(jt)}function E(A){ts(D(A).map(function(k){return k.slide})),r(jt)}function O(A,k){m(k).forEach(A)}function D(A){return h.filter(xh(A)?A:function(k){return ki(A)?pr(k.slide,A):La(kr(A),k.index)})}function C(A,k,P){O(function(L){L.style(A,k,P)})}function T(A,k){var P=ja(A,"img"),L=P.length;L?P.forEach(function(z){o(z,"load error",function(){--L||k()})}):k()}function F(A){return A?l.length:h.length}function j(){return h.length>e.perPage}return{mount:u,destroy:p,update:g,register:f,get:m,getIn:v,getAt:y,add:x,remove:E,forEach:O,filter:D,style:C,getLength:F,isEnough:j}}function kf(n,t,e){var i=_t(n),s=i.on,r=i.bind,o=i.emit,a=t.Slides,l=t.Direction.resolve,c=t.Elements,h=c.root,u=c.track,d=c.list,p=a.getAt,g=a.style,f,m,v;function y(){x(),r(window,"resize load",cf(lt(o,br))),s([de,jt],x),s(br,E)}function x(){f=e.direction===co,Pe(h,"maxWidth",Hi(e.width)),Pe(u,l("paddingLeft"),O(!1)),Pe(u,l("paddingRight"),O(!0)),E(!0)}function E($){var B=xe(h);($||m.width!==B.width||m.height!==B.height)&&(Pe(u,"height",D()),g(l("marginRight"),Hi(e.gap)),g("width",T()),g("height",F(),!0),m=B,o(Ba),v!==(v=J())&&(si(h,Xh,v),o(ef,v)))}function O($){var B=e.padding,M=l($?"right":"left");return B&&Hi(B[M]||(dr(B)?0:B))||"0px"}function D(){var $="";return f&&($=C(),rr($,"height or heightRatio is missing."),$="calc("+$+" - "+O(!1)+" - "+O(!0)+")"),$}function C(){return Hi(e.height||xe(d).width*e.heightRatio)}function T(){return e.autoWidth?null:Hi(e.fixedWidth)||(f?"":j())}function F(){return Hi(e.fixedHeight)||(f?e.autoHeight?null:j():C())}function j(){var $=Hi(e.gap);return"calc((100%"+($&&" + "+$)+")/"+(e.perPage||1)+($&&" - "+$)+")"}function A(){return xe(d)[l("width")]}function k($,B){var M=p($||0);return M?xe(M.slide)[l("width")]+(B?0:z()):0}function P($,B){var M=p($);if(M){var H=xe(M.slide)[l("right")],Q=xe(d)[l("left")];return ae(H-Q)+(B?0:z())}return 0}function L($){return P(n.length-1)-P(0)+k(0,$)}function z(){var $=p(0);return $&&parseFloat(Pe($.slide,l("marginRight")))||0}function X($){return parseFloat(Pe(u,l("padding"+($?"Right":"Left"))))||0}function J(){return n.is(Lr)||L(!0)>A()}return{mount:y,resize:E,listSize:A,slideSize:k,sliderSize:L,totalSize:P,getPadding:X,isOverflow:J}}var Af=2;function Pf(n,t,e){var i=_t(n),s=i.on,r=t.Elements,o=t.Slides,a=t.Direction.resolve,l=[],c;function h(){s(jt,u),s([de,br],p),(c=m())&&(g(c),t.Layout.resize(!0))}function u(){d(),h()}function d(){ts(l),di(l),i.destroy()}function p(){var v=m();c!==v&&(c<v||!v)&&i.emit(jt)}function g(v){var y=o.get().slice(),x=y.length;if(x){for(;y.length<v;)yn(y,y);yn(y.slice(-v),y.slice(0,v)).forEach(function(E,O){var D=O<v,C=f(E.slide,O);D?Fa(C,y[0].slide):Ar(r.list,C),yn(l,C),o.register(C,O-v+(D?0:x),E.index)})}}function f(v,y){var x=v.cloneNode(!0);return Ve(x,e.classes.clone),x.id=n.root.id+"-clone"+$a(y+1),x}function m(){var v=e.clones;if(!n.is(Fs))v=0;else if(Or(v)){var y=e[a("fixedWidth")]&&t.Layout.slideSize(0),x=y&&vr(xe(r.track)[a("width")]/y);v=x||e[a("autoWidth")]&&n.length||e.perPage*Af}return v}return{mount:h,destroy:d}}function Df(n,t,e){var i=_t(n),s=i.on,r=i.emit,o=n.state.set,a=t.Layout,l=a.slideSize,c=a.getPadding,h=a.totalSize,u=a.listSize,d=a.sliderSize,p=t.Direction,g=p.resolve,f=p.orient,m=t.Elements,v=m.list,y=m.track,x;function E(){x=t.Transition,s([as,Ba,de,jt],O)}function O(){t.Controller.isBusy()||(t.Scroll.cancel(),C(n.index),t.Slides.update())}function D(M,H,Q,Ct){M!==H&&$(M>Q)&&(A(),T(j(L(),M>Q),!0)),o(Is),r(Pi,H,Q,M),x.start(H,function(){o(As),r(Mr,H,Q,M),Ct&&Ct()})}function C(M){T(P(M,!0))}function T(M,H){if(!n.is(Lr)){var Q=H?M:F(M);Pe(v,"transform","translate"+g("X")+"("+Q+"px)"),M!==Q&&r(jh)}}function F(M){if(n.is(Fs)){var H=k(M),Q=H>t.Controller.getEnd(),Ct=H<0;(Ct||Q)&&(M=j(M,Q))}return M}function j(M,H){var Q=M-J(H),Ct=d();return M-=f(Ct*(vr(ae(Q)/Ct)||1))*(H?1:-1),M}function A(){T(L(),!0),x.cancel()}function k(M){for(var H=t.Slides.get(),Q=0,Ct=1/0,ot=0;ot<H.length;ot++){var ge=H[ot].index,I=ae(P(ge,!0)-M);if(I<=Ct)Ct=I,Q=ge;else break}return Q}function P(M,H){var Q=f(h(M-1)-X(M));return H?z(Q):Q}function L(){var M=g("left");return xe(v)[M]-xe(y)[M]+f(c(!1))}function z(M){return e.trimSpace&&n.is(Ps)&&(M=ps(M,0,f(d(!0)-u()))),M}function X(M){var H=e.focus;return H==="center"?(u()-l(M,!0))/2:+H*l(M)||0}function J(M){return P(M?t.Controller.getEnd():0,!!e.trimSpace)}function $(M){var H=f(j(L(),M));return M?H>=0:H<=v[g("scrollWidth")]-xe(y)[g("width")]}function B(M,H){H=Or(H)?L():H;var Q=M!==!0&&f(H)<f(J(!1)),Ct=M!==!1&&f(H)>f(J(!0));return Q||Ct}return{mount:E,move:D,jump:C,translate:T,shift:j,cancel:A,toIndex:k,toPosition:P,getPosition:L,getLimit:J,exceededLimit:B,reposition:O}}function Mf(n,t,e){var i=_t(n),s=i.on,r=i.emit,o=t.Move,a=o.getPosition,l=o.getLimit,c=o.toPosition,h=t.Slides,u=h.isEnough,d=h.getLength,p=e.omitEnd,g=n.is(Fs),f=n.is(Ps),m=lt(L,!1),v=lt(L,!0),y=e.start||0,x,E=y,O,D,C;function T(){F(),s([de,jt,Fn],F),s(Ba,j)}function F(){O=d(!0),D=e.perMove,C=e.perPage,x=$();var I=ps(y,0,p?x:O-1);I!==y&&(y=I,o.reposition())}function j(){x!==$()&&r(Fn)}function A(I,et,Gt){if(!ge()){var ht=P(I),ut=J(ht);ut>-1&&(et||ut!==y)&&(Q(ut),o.move(ht,ut,E,Gt))}}function k(I,et,Gt,ht){t.Scroll.scroll(I,et,Gt,function(){var ut=J(o.toIndex(a()));Q(p?Ai(ut,x):ut),ht&&ht()})}function P(I){var et=y;if(ki(I)){var Gt=I.match(/([+\-<>])(\d+)?/)||[],ht=Gt[1],ut=Gt[2];ht==="+"||ht==="-"?et=z(y+ +(""+ht+(+ut||1)),y):ht===">"?et=ut?B(+ut):m(!0):ht==="<"&&(et=v(!0))}else et=g?I:ps(I,0,x);return et}function L(I,et){var Gt=D||(ot()?1:C),ht=z(y+Gt*(I?-1:1),y,!(D||ot()));return ht===-1&&f&&!Oh(a(),l(!I),1)?I?0:x:et?ht:J(ht)}function z(I,et,Gt){if(u()||ot()){var ht=X(I);ht!==I&&(et=I,I=ht,Gt=!1),I<0||I>x?!D&&(xn(0,I,et,!0)||xn(x,et,I,!0))?I=B(M(I)):g?I=Gt?I<0?-(O%C||C):O:I:e.rewind?I=I<0?x:0:I=-1:Gt&&I!==et&&(I=B(M(et)+(I<et?-1:1)))}else I=-1;return I}function X(I){if(f&&e.trimSpace==="move"&&I!==y)for(var et=a();et===c(I,!0)&&xn(I,0,n.length-1,!e.rewind);)I<y?--I:++I;return I}function J(I){return g?(I+O)%O||0:I}function $(){for(var I=O-(ot()||g&&D?1:C);p&&I-- >0;)if(c(O-1,!0)!==c(I,!0)){I++;break}return ps(I,0,O-1)}function B(I){return ps(ot()?I:C*I,0,x)}function M(I){return ot()?Ai(I,x):Ln((I>=x?O-1:I)/C)}function H(I){var et=o.toIndex(I);return f?ps(et,0,x):et}function Q(I){I!==y&&(E=y,y=I)}function Ct(I){return I?E:y}function ot(){return!Or(e.focus)||e.isNavigation}function ge(){return n.state.is([Is,Er])&&!!e.waitForTransition}return{mount:T,go:A,scroll:k,getNext:m,getPrev:v,getAdjacent:L,getEnd:$,setIndex:Q,getIndex:Ct,toIndex:B,toPage:M,toDest:H,hasFocus:ot,isBusy:ge}}var If="http://www.w3.org/2000/svg",Lf="m15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z",Wr=40;function Ff(n,t,e){var i=_t(n),s=i.on,r=i.bind,o=i.emit,a=e.classes,l=e.i18n,c=t.Elements,h=t.Controller,u=c.arrows,d=c.track,p=u,g=c.prev,f=c.next,m,v,y={};function x(){O(),s(de,E)}function E(){D(),x()}function O(){var k=e.arrows;k&&!(g&&f)&&F(),g&&f&&(fr(y,{prev:g,next:f}),mr(p,k?"":"none"),Ve(p,v=Ua+"--"+e.direction),k&&(C(),A(),Y([g,f],Ir,d.id),o(sf,g,f)))}function D(){i.destroy(),ri(p,v),m?(ts(u?[g,f]:p),g=f=null):Ue([g,f],Va)}function C(){s([as,Mr,jt,Ls,Fn],A),r(f,"click",lt(T,">")),r(g,"click",lt(T,"<"))}function T(k){h.go(k,!0)}function F(){p=u||ws("div",a.arrows),g=j(!0),f=j(!1),m=!0,Ar(p,[g,f]),!u&&Fa(p,d)}function j(k){var P='<button class="'+a.arrow+" "+(k?a.prev:a.next)+'" type="button"><svg xmlns="'+If+'" viewBox="0 0 '+Wr+" "+Wr+'" width="'+Wr+'" height="'+Wr+'" focusable="false"><path d="'+(e.arrowPath||Lf)+'" />';return Th(P)}function A(){if(g&&f){var k=n.index,P=h.getPrev(),L=h.getNext(),z=P>-1&&k<P?l.last:l.prev,X=L>-1&&k>L?l.first:l.next;g.disabled=P<0,f.disabled=L<0,Y(g,Se,z),Y(f,Se,X),o(rf,g,f,P,L)}}return{arrows:y,mount:x,destroy:D,update:A}}var jf=Ra+"-interval";function Rf(n,t,e){var i=_t(n),s=i.on,r=i.bind,o=i.emit,a=no(e.interval,n.go.bind(n,">"),C),l=a.isPaused,c=t.Elements,h=t.Elements,u=h.root,d=h.toggle,p=e.autoplay,g,f,m=p==="pause";function v(){p&&(y(),d&&Y(d,Ir,c.track.id),m||x(),D())}function y(){e.pauseOnHover&&r(u,"mouseenter mouseleave",function(F){g=F.type==="mouseenter",O()}),e.pauseOnFocus&&r(u,"focusin focusout",function(F){f=F.type==="focusin",O()}),d&&r(d,"click",function(){m?x():E(!0)}),s([Pi,Na,jt],a.rewind),s(Pi,T)}function x(){l()&&t.Slides.isEnough()&&(a.start(!e.resetProgress),f=g=m=!1,D(),o(Mh))}function E(F){F===void 0&&(F=!0),m=!!F,D(),l()||(a.pause(),o(Ih))}function O(){m||(g||f?E(!1):x())}function D(){d&&(si(d,es,!m),Y(d,Se,e.i18n[m?"play":"pause"]))}function C(F){var j=c.bar;j&&Pe(j,"width",F*100+"%"),o(af,F)}function T(F){var j=t.Slides.getAt(F);a.set(j&&+Me(j.slide,jf)||e.interval)}return{mount:v,destroy:a.cancel,play:x,pause:E,isPaused:l}}function $f(n,t,e){var i=_t(n),s=i.on;function r(){e.cover&&(s(Lh,lt(a,!0)),s([as,de,jt],lt(o,!0)))}function o(l){t.Slides.forEach(function(c){var h=Pr(c.container||c.slide,"img");h&&h.src&&a(l,h,c)})}function a(l,c,h){h.style("background",l?'center/cover no-repeat url("'+c.src+'")':"",!0),mr(c,l?"none":"")}return{mount:r,destroy:lt(o,!1)}}var Bf=10,Nf=600,zf=.6,Hf=1.5,Vf=800;function Uf(n,t,e){var i=_t(n),s=i.on,r=i.emit,o=n.state.set,a=t.Move,l=a.getPosition,c=a.getLimit,h=a.exceededLimit,u=a.translate,d=n.is(Ps),p,g,f=1;function m(){s(Pi,E),s([de,jt],O)}function v(C,T,F,j,A){var k=l();if(E(),F&&(!d||!h())){var P=t.Layout.sliderSize(),L=aa(C)*P*Ln(ae(C)/P)||0;C=a.toPosition(t.Controller.toDest(C%P))+L}var z=Oh(k,C,1);f=1,T=z?0:T||In(ae(C-k)/Hf,Vf),g=j,p=no(T,y,lt(x,k,C,A),1),o(Er),r(Na),p.start()}function y(){o(As),g&&g(),r(Ls)}function x(C,T,F,j){var A=l(),k=C+(T-C)*D(j),P=(k-A)*f;u(A+P),d&&!F&&h()&&(f*=zf,ae(P)<Bf&&v(c(h(!0)),Nf,!1,g,!0))}function E(){p&&p.cancel()}function O(){p&&!p.isPaused()&&(E(),y())}function D(C){var T=e.easingFunc;return T?T(C):1-Math.pow(1-C,4)}return{mount:m,destroy:E,scroll:v,cancel:O}}var gs={passive:!1,capture:!0};function Wf(n,t,e){var i=_t(n),s=i.on,r=i.emit,o=i.bind,a=i.unbind,l=n.state,c=t.Move,h=t.Scroll,u=t.Controller,d=t.Elements.track,p=t.Media.reduce,g=t.Direction,f=g.resolve,m=g.orient,v=c.getPosition,y=c.exceededLimit,x,E,O,D,C,T=!1,F,j,A;function k(){o(d,Fo,na,gs),o(d,jo,na,gs),o(d,Kh,L,gs),o(d,"click",J,{capture:!0}),o(d,"dragstart",ti),s([as,de],P)}function P(){var N=e.drag;gl(!N),D=N==="free"}function L(N){if(F=!1,!j){var dt=ut(N);ht(N.target)&&(dt||!N.button)&&(u.isBusy()?ti(N,!0):(A=dt?d:window,C=l.is([Is,Er]),O=null,o(A,Fo,z,gs),o(A,jo,X,gs),c.cancel(),h.cancel(),$(N)))}}function z(N){if(l.is(_n)||(l.set(_n),r(Jg)),N.cancelable)if(C){c.translate(x+Gt(ot(N)));var dt=ge(N)>ac,Ni=T!==(T=y());(dt||Ni)&&$(N),F=!0,r(Qg),ti(N)}else H(N)&&(C=M(N),ti(N))}function X(N){l.is(_n)&&(l.set(As),r(tf)),C&&(B(N),ti(N)),a(A,Fo,z),a(A,jo,X),C=!1}function J(N){!j&&F&&ti(N,!0)}function $(N){O=E,E=N,x=v()}function B(N){var dt=Q(N),Ni=Ct(dt),Vs=e.rewind&&e.rewindByDrag;p(!1),D?u.scroll(Ni,0,e.snap):n.is(Lr)?u.go(m(aa(dt))<0?Vs?"<":"-":Vs?">":"+"):n.is(Ps)&&T&&Vs?u.go(y(!0)?">":"<"):u.go(u.toDest(Ni),!0),p(!0)}function M(N){var dt=e.dragMinThreshold,Ni=dr(dt),Vs=Ni&&dt.mouse||0,td=(Ni?dt.touch:+dt)||10;return ae(ot(N))>(ut(N)?td:Vs)}function H(N){return ae(ot(N))>ae(ot(N,!0))}function Q(N){if(n.is(Fs)||!T){var dt=ge(N);if(dt&&dt<ac)return ot(N)/dt}return 0}function Ct(N){return v()+aa(N)*Ai(ae(N)*(e.flickPower||600),D?1/0:t.Layout.listSize()*(e.flickMaxPages||1))}function ot(N,dt){return et(N,dt)-et(I(N),dt)}function ge(N){return oa(N)-oa(I(N))}function I(N){return E===N&&O||E}function et(N,dt){return(ut(N)?N.changedTouches[0]:N)["page"+f(dt?"Y":"X")]}function Gt(N){return N/(T&&n.is(Ps)?Sf:1)}function ht(N){var dt=e.noDrag;return!pr(N,"."+Uh+", ."+uo)&&(!dt||!pr(N,dt))}function ut(N){return typeof TouchEvent<"u"&&N instanceof TouchEvent}function Qu(){return C}function gl(N){j=N}return{mount:k,disable:gl,isDragging:Qu}}var Gf={Spacebar:" ",Right:lo,Left:ao,Up:Rh,Down:$h};function Wa(n){return n=ki(n)?n:n.key,Gf[n]||n}var lc="keydown";function Yf(n,t,e){var i=_t(n),s=i.on,r=i.bind,o=i.unbind,a=n.root,l=t.Direction.resolve,c,h;function u(){d(),s(de,p),s(de,d),s(Pi,f)}function d(){var v=e.keyboard;v&&(c=v==="global"?window:a,r(c,lc,m))}function p(){o(c,lc)}function g(v){h=v}function f(){var v=h;h=!0,yh(function(){h=v})}function m(v){if(!h){var y=Wa(v);y===l(ao)?n.go("<"):y===l(lo)&&n.go(">")}}return{mount:u,destroy:p,disable:g}}var nr=Ra+"-lazy",wn=nr+"-srcset",Xf="["+nr+"], ["+wn+"]";function Kf(n,t,e){var i=_t(n),s=i.on,r=i.off,o=i.bind,a=i.emit,l=e.lazyLoad==="sequential",c=[Mr,Ls],h=[];function u(){e.lazyLoad&&(d(),s(jt,d))}function d(){di(h),p(),l?v():(r(c),s(c,g),g())}function p(){t.Slides.forEach(function(y){ja(y.slide,Xf).forEach(function(x){var E=Me(x,nr),O=Me(x,wn);if(E!==x.src||O!==x.srcset){var D=e.classes.spinner,C=x.parentElement,T=Pr(C,"."+D)||ws("span",D,C);h.push([x,y,T]),x.src||mr(x,"none")}})})}function g(){h=h.filter(function(y){var x=e.perPage*((e.preloadPages||1)+1)-1;return y[1].isWithin(n.index,x)?f(y):!0}),h.length||r(c)}function f(y){var x=y[0];Ve(y[1].slide,ha),o(x,"load error",lt(m,y)),Y(x,"src",Me(x,nr)),Y(x,"srcset",Me(x,wn)),Ue(x,nr),Ue(x,wn)}function m(y,x){var E=y[0],O=y[1];ri(O.slide,ha),x.type!=="error"&&(ts(y[2]),mr(E,""),a(Lh,E,O),a(br)),l&&v()}function v(){h.length&&f(h.shift())}return{mount:u,destroy:lt(di,h),check:g}}function qf(n,t,e){var i=_t(n),s=i.on,r=i.emit,o=i.bind,a=t.Slides,l=t.Elements,c=t.Controller,h=c.hasFocus,u=c.getIndex,d=c.go,p=t.Direction.resolve,g=l.pagination,f=[],m,v;function y(){x(),s([de,jt,Fn],y);var j=e.pagination;g&&mr(g,j?"":"none"),j&&(s([Pi,Na,Ls],F),E(),F(),r(nf,{list:m,items:f},T(n.index)))}function x(){m&&(ts(g?ji(m.children):m),ri(m,v),di(f),m=null),i.destroy()}function E(){var j=n.length,A=e.classes,k=e.i18n,P=e.perPage,L=h()?c.getEnd()+1:vr(j/P);m=g||ws("ul",A.pagination,l.track.parentElement),Ve(m,v=po+"--"+C()),Y(m,li,"tablist"),Y(m,Se,k.select),Y(m,Ha,C()===co?"vertical":"");for(var z=0;z<L;z++){var X=ws("li",null,m),J=ws("button",{class:A.page,type:"button"},X),$=a.getIn(z).map(function(M){return M.slide.id}),B=!h()&&P>1?k.pageX:k.slideX;o(J,"click",lt(O,z)),e.paginationKeyboard&&o(J,"keydown",lt(D,z)),Y(X,li,"presentation"),Y(J,li,"tab"),Y(J,Ir,$.join(" ")),Y(J,Se,la(B,z+1)),Y(J,Cs,-1),f.push({li:X,button:J,page:z})}}function O(j){d(">"+j,!0)}function D(j,A){var k=f.length,P=Wa(A),L=C(),z=-1;P===p(lo,!1,L)?z=++j%k:P===p(ao,!1,L)?z=(--j+k)%k:P==="Home"?z=0:P==="End"&&(z=k-1);var X=f[z];X&&(Sh(X.button),d(">"+z),ti(A,!0))}function C(){return e.paginationDirection||e.direction}function T(j){return f[c.toPage(j)]}function F(){var j=T(u(!0)),A=T(u());if(j){var k=j.button;ri(k,es),Ue(k,ic),Y(k,Cs,-1)}if(A){var P=A.button;Ve(P,es),Y(P,ic,!0),Y(P,Cs,"")}r(of,{list:m,items:f},j,A)}return{items:f,mount:y,destroy:x,getAt:T,update:F}}var Zf=[" ","Enter"];function Jf(n,t,e){var i=e.isNavigation,s=e.slideFocus,r=[];function o(){n.splides.forEach(function(g){g.isParent||(c(n,g.splide),c(g.splide,n))}),i&&h()}function a(){r.forEach(function(g){g.destroy()}),di(r)}function l(){a(),o()}function c(g,f){var m=_t(g);m.on(Pi,function(v,y,x){f.go(f.is(Fs)?x:v)}),r.push(m)}function h(){var g=_t(n),f=g.on;f(Ah,d),f(Fh,p),f([as,de],u),r.push(g),g.emit(Dh,n.splides)}function u(){Y(t.Elements.list,Ha,e.direction===co?"vertical":"")}function d(g){n.go(g.index)}function p(g,f){La(Zf,Wa(f))&&(d(g),ti(f))}return{setup:lt(t.Media.set,{slideFocus:Or(s)?i:s},!0),mount:o,destroy:a,remount:l}}function Qf(n,t,e){var i=_t(n),s=i.bind,r=0;function o(){e.wheel&&s(t.Elements.track,"wheel",a,gs)}function a(c){if(c.cancelable){var h=c.deltaY,u=h<0,d=oa(c),p=e.wheelMinThreshold||0,g=e.wheelSleep||0;ae(h)>p&&d-r>g&&(n.go(u?"<":">"),r=d),l(u)&&ti(c)}}function l(c){return!e.releaseWheel||n.state.is(Is)||t.Controller.getAdjacent(c)!==-1}return{mount:o}}var tm=90;function em(n,t,e){var i=_t(n),s=i.on,r=t.Elements.track,o=e.live&&!e.isNavigation,a=ws("span",_f),l=no(tm,lt(h,!1));function c(){o&&(d(!t.Autoplay.isPaused()),Y(r,nc,!0),a.textContent="…",s(Mh,lt(d,!0)),s(Ih,lt(d,!1)),s([Mr,Ls],lt(h,!0)))}function h(p){Y(r,rc,p),p?(Ar(r,a),l.start()):(ts(a),l.cancel())}function u(){Ue(r,[sc,nc,rc]),ts(a)}function d(p){o&&Y(r,sc,p?"off":"polite")}return{mount:c,disable:d,destroy:u}}var im=Object.freeze({__proto__:null,Media:hf,Direction:uf,Elements:Tf,Slides:Of,Layout:kf,Clones:Pf,Move:Df,Controller:Mf,Arrows:Ff,Autoplay:Rf,Cover:$f,Scroll:Uf,Drag:Wf,Keyboard:Yf,LazyLoad:Kf,Pagination:qf,Sync:Jf,Wheel:Qf,Live:em}),sm={prev:"Previous slide",next:"Next slide",first:"Go to first slide",last:"Go to last slide",slideX:"Go to slide %s",pageX:"Go to page %s",play:"Start autoplay",pause:"Pause autoplay",carousel:"carousel",slide:"slide",select:"Select a slide to show",slideLabel:"%s of %s"},rm={type:"slide",role:"region",speed:400,perPage:1,cloneStatus:!0,arrows:!0,pagination:!0,paginationKeyboard:!0,interval:5e3,pauseOnHover:!0,pauseOnFocus:!0,resetProgress:!0,easing:"cubic-bezier(0.25, 1, 0.5, 1)",drag:!0,direction:"ltr",trimSpace:!0,focusableNodes:"a, button, textarea, input, select, iframe",live:!0,classes:wf,i18n:sm,reducedMotion:{speed:0,rewindSpeed:0,autoplay:"pause"}};function nm(n,t,e){var i=t.Slides;function s(){_t(n).on([as,jt],r)}function r(){i.forEach(function(a){a.style("transform","translateX(-"+100*a.index+"%)")})}function o(a,l){i.style("transition","opacity "+e.speed+"ms "+e.easing),yh(l)}return{mount:s,start:o,cancel:na}}function om(n,t,e){var i=t.Move,s=t.Controller,r=t.Scroll,o=t.Elements.list,a=lt(Pe,o,"transition"),l;function c(){_t(n).bind(o,"transitionend",function(p){p.target===o&&l&&(u(),l())})}function h(p,g){var f=i.toPosition(p,!0),m=i.getPosition(),v=d(p);ae(f-m)>=1&&v>=1?e.useScroll?r.scroll(f,v,!1,g):(a("transform "+v+"ms "+e.easing),i.translate(f,!0),l=g):(i.jump(p),g())}function u(){a(""),r.cancel()}function d(p){var g=e.rewindSpeed;if(n.is(Ps)&&g){var f=s.getIndex(!0),m=s.getEnd();if(f===0&&p>=m||f>=m&&p===0)return g}return e.speed}return{mount:c,start:h,cancel:u}}var am=function(){function n(e,i){this.event=_t(),this.Components={},this.state=lf(bs),this.splides=[],this._o={},this._E={};var s=ki(e)?Eh(document,e):e;rr(s,s+" is invalid."),this.root=s,i=Si({label:Me(s,Se)||"",labelledby:Me(s,za)||""},rm,n.defaults,i||{});try{Si(i,JSON.parse(Me(s,Ra)))}catch{rr(!1,"Invalid JSON")}this._o=Object.create(Si({},i))}var t=n.prototype;return t.mount=function(i,s){var r=this,o=this.state,a=this.Components;rr(o.is([bs,Mn]),"Already mounted!"),o.set(bs),this._C=a,this._T=s||this._T||(this.is(Lr)?nm:om),this._E=i||this._E;var l=fr({},im,this._E,{Transition:this._T});return Ji(l,function(c,h){var u=c(r,a,r._o);a[h]=u,u.setup&&u.setup()}),Ji(a,function(c){c.mount&&c.mount()}),this.emit(as),Ve(this.root,yf),o.set(As),this.emit(tc),this},t.sync=function(i){return this.splides.push({splide:i}),i.splides.push({splide:this,isParent:!0}),this.state.is(As)&&(this._C.Sync.remount(),i.Components.Sync.remount()),this},t.go=function(i){return this._C.Controller.go(i),this},t.on=function(i,s){return this.event.on(i,s),this},t.off=function(i){return this.event.off(i),this},t.emit=function(i){var s;return(s=this.event).emit.apply(s,[i].concat(ji(arguments,1))),this},t.add=function(i,s){return this._C.Slides.add(i,s),this},t.remove=function(i){return this._C.Slides.remove(i),this},t.is=function(i){return this._o.type===i},t.refresh=function(){return this.emit(jt),this},t.destroy=function(i){i===void 0&&(i=!0);var s=this.event,r=this.state;return r.is(bs)?_t(this).on(tc,this.destroy.bind(this,i)):(Ji(this._C,function(o){o.destroy&&o.destroy(i)},!0),s.emit(Ph),s.destroy(),i&&di(this.splides),r.set(Mn)),this},Ug(n,[{key:"options",get:function(){return this._o},set:function(i){this._C.Media.set(i,!0,!0)}},{key:"length",get:function(){return this._C.Slides.getLength(!0)}},{key:"index",get:function(){return this._C.Controller.getIndex()}}]),n}(),Ga=am;Ga.defaults={};Ga.STATES=Gg;/**
|
|
2084
|
+
*/var Kl="(prefers-reduced-motion: reduce)",bs=1,Wg=2,As=3,Is=4,Er=5,_n=6,Mn=7,Gg={CREATED:bs,MOUNTED:Wg,IDLE:As,MOVING:Is,SCROLLING:Er,DRAGGING:_n,DESTROYED:Mn};function di(n){n.length=0}function ji(n,t,e){return Array.prototype.slice.call(n,t,e)}function lt(n){return n.bind.apply(n,[null].concat(ji(arguments,1)))}var yh=setTimeout,na=function(){};function ql(n){return requestAnimationFrame(n)}function ro(n,t){return typeof t===n}function dr(n){return!Ia(n)&&ro("object",n)}var Ma=Array.isArray,xh=lt(ro,"function"),ki=lt(ro,"string"),Or=lt(ro,"undefined");function Ia(n){return n===null}function wh(n){try{return n instanceof(n.ownerDocument.defaultView||window).HTMLElement}catch{return!1}}function kr(n){return Ma(n)?n:[n]}function Te(n,t){kr(n).forEach(t)}function La(n,t){return n.indexOf(t)>-1}function yn(n,t){return n.push.apply(n,kr(t)),n}function si(n,t,e){n&&Te(t,function(i){i&&n.classList[e?"add":"remove"](i)})}function Ve(n,t){si(n,ki(t)?t.split(" "):t,!0)}function Ar(n,t){Te(t,n.appendChild.bind(n))}function Fa(n,t){Te(n,function(e){var i=(t||e).parentNode;i&&i.insertBefore(e,t)})}function pr(n,t){return wh(n)&&(n.msMatchesSelector||n.matches).call(n,t)}function Ch(n,t){var e=n?ji(n.children):[];return t?e.filter(function(i){return pr(i,t)}):e}function Pr(n,t){return t?Ch(n,t)[0]:n.firstElementChild}var gr=Object.keys;function Ji(n,t,e){return n&&(e?gr(n).reverse():gr(n)).forEach(function(i){i!=="__proto__"&&t(n[i],i)}),n}function fr(n){return ji(arguments,1).forEach(function(t){Ji(t,function(e,i){n[i]=t[i]})}),n}function Si(n){return ji(arguments,1).forEach(function(t){Ji(t,function(e,i){Ma(e)?n[i]=e.slice():dr(e)?n[i]=Si({},dr(n[i])?n[i]:{},e):n[i]=e})}),n}function Zl(n,t){Te(t||gr(n),function(e){delete n[e]})}function Ue(n,t){Te(n,function(e){Te(t,function(i){e&&e.removeAttribute(i)})})}function Y(n,t,e){dr(t)?Ji(t,function(i,s){Y(n,s,i)}):Te(n,function(i){Ia(e)||e===""?Ue(i,t):i.setAttribute(t,String(e))})}function ws(n,t,e){var i=document.createElement(n);return t&&(ki(t)?Ve(i,t):Y(i,t)),e&&Ar(e,i),i}function Pe(n,t,e){if(Or(e))return getComputedStyle(n)[t];Ia(e)||(n.style[t]=""+e)}function mr(n,t){Pe(n,"display",t)}function Sh(n){n.setActive&&n.setActive()||n.focus({preventScroll:!0})}function Me(n,t){return n.getAttribute(t)}function Jl(n,t){return n&&n.classList.contains(t)}function xe(n){return n.getBoundingClientRect()}function ts(n){Te(n,function(t){t&&t.parentNode&&t.parentNode.removeChild(t)})}function Th(n){return Pr(new DOMParser().parseFromString(n,"text/html").body)}function ti(n,t){n.preventDefault(),t&&(n.stopPropagation(),n.stopImmediatePropagation())}function Eh(n,t){return n&&n.querySelector(t)}function ja(n,t){return t?ji(n.querySelectorAll(t)):[]}function ri(n,t){si(n,t,!1)}function oa(n){return n.timeStamp}function Hi(n){return ki(n)?n:n?n+"px":""}var Dr="splide",Ra="data-"+Dr;function rr(n,t){if(!n)throw new Error("["+Dr+"] "+(t||""))}var Ai=Math.min,In=Math.max,Ln=Math.floor,vr=Math.ceil,ae=Math.abs;function Oh(n,t,e){return ae(n-t)<e}function xn(n,t,e,i){var s=Ai(t,e),r=In(t,e);return i?s<n&&n<r:s<=n&&n<=r}function ps(n,t,e){var i=Ai(t,e),s=In(t,e);return Ai(In(i,n),s)}function aa(n){return+(n>0)-+(n<0)}function la(n,t){return Te(t,function(e){n=n.replace("%s",""+e)}),n}function $a(n){return n<10?"0"+n:""+n}var Ql={};function Yg(n){return""+n+$a(Ql[n]=(Ql[n]||0)+1)}function kh(){var n=[];function t(o,a,l,c){s(o,a,function(h,u,d){var p="addEventListener"in h,g=p?h.removeEventListener.bind(h,u,l,c):h.removeListener.bind(h,l);p?h.addEventListener(u,l,c):h.addListener(l),n.push([h,u,d,l,g])})}function e(o,a,l){s(o,a,function(c,h,u){n=n.filter(function(d){return d[0]===c&&d[1]===h&&d[2]===u&&(!l||d[3]===l)?(d[4](),!1):!0})})}function i(o,a,l){var c,h=!0;return typeof CustomEvent=="function"?c=new CustomEvent(a,{bubbles:h,detail:l}):(c=document.createEvent("CustomEvent"),c.initCustomEvent(a,h,!1,l)),o.dispatchEvent(c),c}function s(o,a,l){Te(o,function(c){c&&Te(a,function(h){h.split(" ").forEach(function(u){var d=u.split(".");l(c,d[0],d[1])})})})}function r(){n.forEach(function(o){o[4]()}),di(n)}return{bind:t,unbind:e,dispatch:i,destroy:r}}var as="mounted",tc="ready",Pi="move",Mr="moved",Ah="click",Xg="active",Kg="inactive",qg="visible",Zg="hidden",jt="refresh",de="updated",br="resize",Ba="resized",Jg="drag",Qg="dragging",tf="dragged",Na="scroll",Ls="scrolled",ef="overflow",Ph="destroy",sf="arrows:mounted",rf="arrows:updated",nf="pagination:mounted",of="pagination:updated",Dh="navigation:mounted",Mh="autoplay:play",af="autoplay:playing",Ih="autoplay:pause",Lh="lazyload:loaded",Fh="sk",jh="sh",Fn="ei";function _t(n){var t=n?n.event.bus:document.createDocumentFragment(),e=kh();function i(r,o){e.bind(t,kr(r).join(" "),function(a){o.apply(o,Ma(a.detail)?a.detail:[])})}function s(r){e.dispatch(t,r,ji(arguments,1))}return n&&n.event.on(Ph,e.destroy),fr(e,{bus:t,on:i,off:lt(e.unbind,t),emit:s})}function no(n,t,e,i){var s=Date.now,r,o=0,a,l=!0,c=0;function h(){if(!l){if(o=n?Ai((s()-r)/n,1):1,e&&e(o),o>=1&&(t(),r=s(),i&&++c>=i))return d();a=ql(h)}}function u(v){v||g(),r=s()-(v?o*n:0),l=!1,a=ql(h)}function d(){l=!0}function p(){r=s(),o=0,e&&e(o)}function g(){a&&cancelAnimationFrame(a),o=0,a=0,l=!0}function f(v){n=v}function m(){return l}return{start:u,rewind:p,pause:d,cancel:g,set:f,isPaused:m}}function lf(n){var t=n;function e(s){t=s}function i(s){return La(kr(s),t)}return{set:e,is:i}}function cf(n,t){var e=no(0,n,null,1);return function(){e.isPaused()&&e.start()}}function hf(n,t,e){var i=n.state,s=e.breakpoints||{},r=e.reducedMotion||{},o=kh(),a=[];function l(){var g=e.mediaQuery==="min";gr(s).sort(function(f,m){return g?+f-+m:+m-+f}).forEach(function(f){h(s[f],"("+(g?"min":"max")+"-width:"+f+"px)")}),h(r,Kl),u()}function c(g){g&&o.destroy()}function h(g,f){var m=matchMedia(f);o.bind(m,"change",u),a.push([g,m])}function u(){var g=i.is(Mn),f=e.direction,m=a.reduce(function(v,y){return Si(v,y[1].matches?y[0]:{})},{});Zl(e),p(m),e.destroy?n.destroy(e.destroy==="completely"):g?(c(!0),n.mount()):f!==e.direction&&n.refresh()}function d(g){matchMedia(Kl).matches&&(g?Si(e,r):Zl(e,gr(r)))}function p(g,f,m){Si(e,g),f&&Si(Object.getPrototypeOf(e),g),(m||!i.is(bs))&&n.emit(de,e)}return{setup:l,destroy:c,reduce:d,set:p}}var oo="Arrow",ao=oo+"Left",lo=oo+"Right",Rh=oo+"Up",$h=oo+"Down",ec="rtl",co="ttb",Io={width:["height"],left:["top","right"],right:["bottom","left"],x:["y"],X:["Y"],Y:["X"],ArrowLeft:[Rh,lo],ArrowRight:[$h,ao]};function uf(n,t,e){function i(r,o,a){a=a||e.direction;var l=a===ec&&!o?1:a===co?0:-1;return Io[r]&&Io[r][l]||r.replace(/width|left|right/i,function(c,h){var u=Io[c.toLowerCase()][l]||c;return h>0?u.charAt(0).toUpperCase()+u.slice(1):u})}function s(r){return r*(e.direction===ec?1:-1)}return{resolve:i,orient:s}}var li="role",Cs="tabindex",df="disabled",je="aria-",Ir=je+"controls",Bh=je+"current",ic=je+"selected",Se=je+"label",za=je+"labelledby",Nh=je+"hidden",Ha=je+"orientation",_r=je+"roledescription",sc=je+"live",rc=je+"busy",nc=je+"atomic",Va=[li,Cs,df,Ir,Bh,Se,za,Nh,Ha,_r],Ze=Dr+"__",Ri="is-",Lo=Dr,oc=Ze+"track",pf=Ze+"list",ho=Ze+"slide",zh=ho+"--clone",gf=ho+"__container",Ua=Ze+"arrows",uo=Ze+"arrow",Hh=uo+"--prev",Vh=uo+"--next",po=Ze+"pagination",Uh=po+"__page",ff=Ze+"progress",mf=ff+"__bar",vf=Ze+"toggle",bf=Ze+"spinner",_f=Ze+"sr",yf=Ri+"initialized",es=Ri+"active",Wh=Ri+"prev",Gh=Ri+"next",ca=Ri+"visible",ha=Ri+"loading",Yh=Ri+"focus-in",Xh=Ri+"overflow",xf=[es,ca,Wh,Gh,ha,Yh,Xh],wf={slide:ho,clone:zh,arrows:Ua,arrow:uo,prev:Hh,next:Vh,pagination:po,page:Uh,spinner:bf};function Cf(n,t){if(xh(n.closest))return n.closest(t);for(var e=n;e&&e.nodeType===1&&!pr(e,t);)e=e.parentElement;return e}var Sf=5,ac=200,Kh="touchstart mousedown",Fo="touchmove mousemove",jo="touchend touchcancel mouseup click";function Tf(n,t,e){var i=_t(n),s=i.on,r=i.bind,o=n.root,a=e.i18n,l={},c=[],h=[],u=[],d,p,g;function f(){x(),E(),y()}function m(){s(jt,v),s(jt,f),s(de,y),r(document,Kh+" keydown",function(C){g=C.type==="keydown"},{capture:!0}),r(o,"focusin",function(){si(o,Yh,!!g)})}function v(C){var T=Va.concat("style");di(c),ri(o,h),ri(d,u),Ue([d,p],T),Ue(o,C?T:["style",_r])}function y(){ri(o,h),ri(d,u),h=D(Lo),u=D(oc),Ve(o,h),Ve(d,u),Y(o,Se,e.label),Y(o,za,e.labelledby)}function x(){d=O("."+oc),p=Pr(d,"."+pf),rr(d&&p,"A track/list element is missing."),yn(c,Ch(p,"."+ho+":not(."+zh+")")),Ji({arrows:Ua,pagination:po,prev:Hh,next:Vh,bar:mf,toggle:vf},function(C,T){l[T]=O("."+C)}),fr(l,{root:o,track:d,list:p,slides:c})}function E(){var C=o.id||Yg(Dr),T=e.role;o.id=C,d.id=d.id||C+"-track",p.id=p.id||C+"-list",!Me(o,li)&&o.tagName!=="SECTION"&&T&&Y(o,li,T),Y(o,_r,a.carousel),Y(p,li,"presentation")}function O(C){var T=Eh(o,C);return T&&Cf(T,"."+Lo)===o?T:void 0}function D(C){return[C+"--"+e.type,C+"--"+e.direction,e.drag&&C+"--draggable",e.isNavigation&&C+"--nav",C===Lo&&es]}return fr(l,{setup:f,mount:m,destroy:v})}var Ps="slide",Fs="loop",Lr="fade";function Ef(n,t,e,i){var s=_t(n),r=s.on,o=s.emit,a=s.bind,l=n.Components,c=n.root,h=n.options,u=h.isNavigation,d=h.updateOnMove,p=h.i18n,g=h.pagination,f=h.slideFocus,m=l.Direction.resolve,v=Me(i,"style"),y=Me(i,Se),x=e>-1,E=Pr(i,"."+gf),O;function D(){x||(i.id=c.id+"-slide"+$a(t+1),Y(i,li,g?"tabpanel":"group"),Y(i,_r,p.slide),Y(i,Se,y||la(p.slideLabel,[t+1,n.length]))),C()}function C(){a(i,"click",lt(o,Ah,$)),a(i,"keydown",lt(o,Fh,$)),r([Mr,jh,Ls],A),r(Dh,F),d&&r(Pi,j)}function T(){O=!0,s.destroy(),ri(i,xf),Ue(i,Va),Y(i,"style",v),Y(i,Se,y||"")}function F(){var B=n.splides.map(function(M){var H=M.splide.Components.Slides.getAt(t);return H?H.slide.id:""}).join(" ");Y(i,Se,la(p.slideX,(x?e:t)+1)),Y(i,Ir,B),Y(i,li,f?"button":""),f&&Ue(i,_r)}function j(){O||A()}function A(){if(!O){var B=n.index;k(),P(),si(i,Wh,t===B-1),si(i,Gh,t===B+1)}}function k(){var B=z();B!==Jl(i,es)&&(si(i,es,B),Y(i,Bh,u&&B||""),o(B?Xg:Kg,$))}function P(){var B=X(),M=!B&&(!z()||x);if(n.state.is([Is,Er])||Y(i,Nh,M||""),Y(ja(i,h.focusableNodes||""),Cs,M?-1:""),f&&Y(i,Cs,M?-1:0),B!==Jl(i,ca)&&(si(i,ca,B),o(B?qg:Zg,$)),!B&&document.activeElement===i){var H=l.Slides.getAt(n.index);H&&Sh(H.slide)}}function L(B,M,H){Pe(H&&E||i,B,M)}function z(){var B=n.index;return B===t||h.cloneStatus&&B===e}function X(){if(n.is(Lr))return z();var B=xe(l.Elements.track),M=xe(i),H=m("left",!0),Q=m("right",!0);return Ln(B[H])<=vr(M[H])&&Ln(M[Q])<=vr(B[Q])}function J(B,M){var H=ae(B-t);return!x&&(h.rewind||n.is(Fs))&&(H=Ai(H,n.length-H)),H<=M}var $={index:t,slideIndex:e,slide:i,container:E,isClone:x,mount:D,destroy:T,update:A,style:L,isWithin:J};return $}function Of(n,t,e){var i=_t(n),s=i.on,r=i.emit,o=i.bind,a=t.Elements,l=a.slides,c=a.list,h=[];function u(){d(),s(jt,p),s(jt,d)}function d(){l.forEach(function(A,k){f(A,k,-1)})}function p(){O(function(A){A.destroy()}),di(h)}function g(){O(function(A){A.update()})}function f(A,k,P){var L=Ef(n,k,P,A);L.mount(),h.push(L),h.sort(function(z,X){return z.index-X.index})}function m(A){return A?D(function(k){return!k.isClone}):h}function v(A){var k=t.Controller,P=k.toIndex(A),L=k.hasFocus()?1:e.perPage;return D(function(z){return xn(z.index,P,P+L-1)})}function y(A){return D(A)[0]}function x(A,k){Te(A,function(P){if(ki(P)&&(P=Th(P)),wh(P)){var L=l[k];L?Fa(P,L):Ar(c,P),Ve(P,e.classes.slide),T(P,lt(r,br))}}),r(jt)}function E(A){ts(D(A).map(function(k){return k.slide})),r(jt)}function O(A,k){m(k).forEach(A)}function D(A){return h.filter(xh(A)?A:function(k){return ki(A)?pr(k.slide,A):La(kr(A),k.index)})}function C(A,k,P){O(function(L){L.style(A,k,P)})}function T(A,k){var P=ja(A,"img"),L=P.length;L?P.forEach(function(z){o(z,"load error",function(){--L||k()})}):k()}function F(A){return A?l.length:h.length}function j(){return h.length>e.perPage}return{mount:u,destroy:p,update:g,register:f,get:m,getIn:v,getAt:y,add:x,remove:E,forEach:O,filter:D,style:C,getLength:F,isEnough:j}}function kf(n,t,e){var i=_t(n),s=i.on,r=i.bind,o=i.emit,a=t.Slides,l=t.Direction.resolve,c=t.Elements,h=c.root,u=c.track,d=c.list,p=a.getAt,g=a.style,f,m,v;function y(){x(),r(window,"resize load",cf(lt(o,br))),s([de,jt],x),s(br,E)}function x(){f=e.direction===co,Pe(h,"maxWidth",Hi(e.width)),Pe(u,l("paddingLeft"),O(!1)),Pe(u,l("paddingRight"),O(!0)),E(!0)}function E($){var B=xe(h);($||m.width!==B.width||m.height!==B.height)&&(Pe(u,"height",D()),g(l("marginRight"),Hi(e.gap)),g("width",T()),g("height",F(),!0),m=B,o(Ba),v!==(v=J())&&(si(h,Xh,v),o(ef,v)))}function O($){var B=e.padding,M=l($?"right":"left");return B&&Hi(B[M]||(dr(B)?0:B))||"0px"}function D(){var $="";return f&&($=C(),rr($,"height or heightRatio is missing."),$="calc("+$+" - "+O(!1)+" - "+O(!0)+")"),$}function C(){return Hi(e.height||xe(d).width*e.heightRatio)}function T(){return e.autoWidth?null:Hi(e.fixedWidth)||(f?"":j())}function F(){return Hi(e.fixedHeight)||(f?e.autoHeight?null:j():C())}function j(){var $=Hi(e.gap);return"calc((100%"+($&&" + "+$)+")/"+(e.perPage||1)+($&&" - "+$)+")"}function A(){return xe(d)[l("width")]}function k($,B){var M=p($||0);return M?xe(M.slide)[l("width")]+(B?0:z()):0}function P($,B){var M=p($);if(M){var H=xe(M.slide)[l("right")],Q=xe(d)[l("left")];return ae(H-Q)+(B?0:z())}return 0}function L($){return P(n.length-1)-P(0)+k(0,$)}function z(){var $=p(0);return $&&parseFloat(Pe($.slide,l("marginRight")))||0}function X($){return parseFloat(Pe(u,l("padding"+($?"Right":"Left"))))||0}function J(){return n.is(Lr)||L(!0)>A()}return{mount:y,resize:E,listSize:A,slideSize:k,sliderSize:L,totalSize:P,getPadding:X,isOverflow:J}}var Af=2;function Pf(n,t,e){var i=_t(n),s=i.on,r=t.Elements,o=t.Slides,a=t.Direction.resolve,l=[],c;function h(){s(jt,u),s([de,br],p),(c=m())&&(g(c),t.Layout.resize(!0))}function u(){d(),h()}function d(){ts(l),di(l),i.destroy()}function p(){var v=m();c!==v&&(c<v||!v)&&i.emit(jt)}function g(v){var y=o.get().slice(),x=y.length;if(x){for(;y.length<v;)yn(y,y);yn(y.slice(-v),y.slice(0,v)).forEach(function(E,O){var D=O<v,C=f(E.slide,O);D?Fa(C,y[0].slide):Ar(r.list,C),yn(l,C),o.register(C,O-v+(D?0:x),E.index)})}}function f(v,y){var x=v.cloneNode(!0);return Ve(x,e.classes.clone),x.id=n.root.id+"-clone"+$a(y+1),x}function m(){var v=e.clones;if(!n.is(Fs))v=0;else if(Or(v)){var y=e[a("fixedWidth")]&&t.Layout.slideSize(0),x=y&&vr(xe(r.track)[a("width")]/y);v=x||e[a("autoWidth")]&&n.length||e.perPage*Af}return v}return{mount:h,destroy:d}}function Df(n,t,e){var i=_t(n),s=i.on,r=i.emit,o=n.state.set,a=t.Layout,l=a.slideSize,c=a.getPadding,h=a.totalSize,u=a.listSize,d=a.sliderSize,p=t.Direction,g=p.resolve,f=p.orient,m=t.Elements,v=m.list,y=m.track,x;function E(){x=t.Transition,s([as,Ba,de,jt],O)}function O(){t.Controller.isBusy()||(t.Scroll.cancel(),C(n.index),t.Slides.update())}function D(M,H,Q,Ct){M!==H&&$(M>Q)&&(A(),T(j(L(),M>Q),!0)),o(Is),r(Pi,H,Q,M),x.start(H,function(){o(As),r(Mr,H,Q,M),Ct&&Ct()})}function C(M){T(P(M,!0))}function T(M,H){if(!n.is(Lr)){var Q=H?M:F(M);Pe(v,"transform","translate"+g("X")+"("+Q+"px)"),M!==Q&&r(jh)}}function F(M){if(n.is(Fs)){var H=k(M),Q=H>t.Controller.getEnd(),Ct=H<0;(Ct||Q)&&(M=j(M,Q))}return M}function j(M,H){var Q=M-J(H),Ct=d();return M-=f(Ct*(vr(ae(Q)/Ct)||1))*(H?1:-1),M}function A(){T(L(),!0),x.cancel()}function k(M){for(var H=t.Slides.get(),Q=0,Ct=1/0,at=0;at<H.length;at++){var ge=H[at].index,I=ae(P(ge,!0)-M);if(I<=Ct)Ct=I,Q=ge;else break}return Q}function P(M,H){var Q=f(h(M-1)-X(M));return H?z(Q):Q}function L(){var M=g("left");return xe(v)[M]-xe(y)[M]+f(c(!1))}function z(M){return e.trimSpace&&n.is(Ps)&&(M=ps(M,0,f(d(!0)-u()))),M}function X(M){var H=e.focus;return H==="center"?(u()-l(M,!0))/2:+H*l(M)||0}function J(M){return P(M?t.Controller.getEnd():0,!!e.trimSpace)}function $(M){var H=f(j(L(),M));return M?H>=0:H<=v[g("scrollWidth")]-xe(y)[g("width")]}function B(M,H){H=Or(H)?L():H;var Q=M!==!0&&f(H)<f(J(!1)),Ct=M!==!1&&f(H)>f(J(!0));return Q||Ct}return{mount:E,move:D,jump:C,translate:T,shift:j,cancel:A,toIndex:k,toPosition:P,getPosition:L,getLimit:J,exceededLimit:B,reposition:O}}function Mf(n,t,e){var i=_t(n),s=i.on,r=i.emit,o=t.Move,a=o.getPosition,l=o.getLimit,c=o.toPosition,h=t.Slides,u=h.isEnough,d=h.getLength,p=e.omitEnd,g=n.is(Fs),f=n.is(Ps),m=lt(L,!1),v=lt(L,!0),y=e.start||0,x,E=y,O,D,C;function T(){F(),s([de,jt,Fn],F),s(Ba,j)}function F(){O=d(!0),D=e.perMove,C=e.perPage,x=$();var I=ps(y,0,p?x:O-1);I!==y&&(y=I,o.reposition())}function j(){x!==$()&&r(Fn)}function A(I,et,Gt){if(!ge()){var ht=P(I),ut=J(ht);ut>-1&&(et||ut!==y)&&(Q(ut),o.move(ht,ut,E,Gt))}}function k(I,et,Gt,ht){t.Scroll.scroll(I,et,Gt,function(){var ut=J(o.toIndex(a()));Q(p?Ai(ut,x):ut),ht&&ht()})}function P(I){var et=y;if(ki(I)){var Gt=I.match(/([+\-<>])(\d+)?/)||[],ht=Gt[1],ut=Gt[2];ht==="+"||ht==="-"?et=z(y+ +(""+ht+(+ut||1)),y):ht===">"?et=ut?B(+ut):m(!0):ht==="<"&&(et=v(!0))}else et=g?I:ps(I,0,x);return et}function L(I,et){var Gt=D||(at()?1:C),ht=z(y+Gt*(I?-1:1),y,!(D||at()));return ht===-1&&f&&!Oh(a(),l(!I),1)?I?0:x:et?ht:J(ht)}function z(I,et,Gt){if(u()||at()){var ht=X(I);ht!==I&&(et=I,I=ht,Gt=!1),I<0||I>x?!D&&(xn(0,I,et,!0)||xn(x,et,I,!0))?I=B(M(I)):g?I=Gt?I<0?-(O%C||C):O:I:e.rewind?I=I<0?x:0:I=-1:Gt&&I!==et&&(I=B(M(et)+(I<et?-1:1)))}else I=-1;return I}function X(I){if(f&&e.trimSpace==="move"&&I!==y)for(var et=a();et===c(I,!0)&&xn(I,0,n.length-1,!e.rewind);)I<y?--I:++I;return I}function J(I){return g?(I+O)%O||0:I}function $(){for(var I=O-(at()||g&&D?1:C);p&&I-- >0;)if(c(O-1,!0)!==c(I,!0)){I++;break}return ps(I,0,O-1)}function B(I){return ps(at()?I:C*I,0,x)}function M(I){return at()?Ai(I,x):Ln((I>=x?O-1:I)/C)}function H(I){var et=o.toIndex(I);return f?ps(et,0,x):et}function Q(I){I!==y&&(E=y,y=I)}function Ct(I){return I?E:y}function at(){return!Or(e.focus)||e.isNavigation}function ge(){return n.state.is([Is,Er])&&!!e.waitForTransition}return{mount:T,go:A,scroll:k,getNext:m,getPrev:v,getAdjacent:L,getEnd:$,setIndex:Q,getIndex:Ct,toIndex:B,toPage:M,toDest:H,hasFocus:at,isBusy:ge}}var If="http://www.w3.org/2000/svg",Lf="m15.5 0.932-4.3 4.38 14.5 14.6-14.5 14.5 4.3 4.4 14.6-14.6 4.4-4.3-4.4-4.4-14.6-14.6z",Wr=40;function Ff(n,t,e){var i=_t(n),s=i.on,r=i.bind,o=i.emit,a=e.classes,l=e.i18n,c=t.Elements,h=t.Controller,u=c.arrows,d=c.track,p=u,g=c.prev,f=c.next,m,v,y={};function x(){O(),s(de,E)}function E(){D(),x()}function O(){var k=e.arrows;k&&!(g&&f)&&F(),g&&f&&(fr(y,{prev:g,next:f}),mr(p,k?"":"none"),Ve(p,v=Ua+"--"+e.direction),k&&(C(),A(),Y([g,f],Ir,d.id),o(sf,g,f)))}function D(){i.destroy(),ri(p,v),m?(ts(u?[g,f]:p),g=f=null):Ue([g,f],Va)}function C(){s([as,Mr,jt,Ls,Fn],A),r(f,"click",lt(T,">")),r(g,"click",lt(T,"<"))}function T(k){h.go(k,!0)}function F(){p=u||ws("div",a.arrows),g=j(!0),f=j(!1),m=!0,Ar(p,[g,f]),!u&&Fa(p,d)}function j(k){var P='<button class="'+a.arrow+" "+(k?a.prev:a.next)+'" type="button"><svg xmlns="'+If+'" viewBox="0 0 '+Wr+" "+Wr+'" width="'+Wr+'" height="'+Wr+'" focusable="false"><path d="'+(e.arrowPath||Lf)+'" />';return Th(P)}function A(){if(g&&f){var k=n.index,P=h.getPrev(),L=h.getNext(),z=P>-1&&k<P?l.last:l.prev,X=L>-1&&k>L?l.first:l.next;g.disabled=P<0,f.disabled=L<0,Y(g,Se,z),Y(f,Se,X),o(rf,g,f,P,L)}}return{arrows:y,mount:x,destroy:D,update:A}}var jf=Ra+"-interval";function Rf(n,t,e){var i=_t(n),s=i.on,r=i.bind,o=i.emit,a=no(e.interval,n.go.bind(n,">"),C),l=a.isPaused,c=t.Elements,h=t.Elements,u=h.root,d=h.toggle,p=e.autoplay,g,f,m=p==="pause";function v(){p&&(y(),d&&Y(d,Ir,c.track.id),m||x(),D())}function y(){e.pauseOnHover&&r(u,"mouseenter mouseleave",function(F){g=F.type==="mouseenter",O()}),e.pauseOnFocus&&r(u,"focusin focusout",function(F){f=F.type==="focusin",O()}),d&&r(d,"click",function(){m?x():E(!0)}),s([Pi,Na,jt],a.rewind),s(Pi,T)}function x(){l()&&t.Slides.isEnough()&&(a.start(!e.resetProgress),f=g=m=!1,D(),o(Mh))}function E(F){F===void 0&&(F=!0),m=!!F,D(),l()||(a.pause(),o(Ih))}function O(){m||(g||f?E(!1):x())}function D(){d&&(si(d,es,!m),Y(d,Se,e.i18n[m?"play":"pause"]))}function C(F){var j=c.bar;j&&Pe(j,"width",F*100+"%"),o(af,F)}function T(F){var j=t.Slides.getAt(F);a.set(j&&+Me(j.slide,jf)||e.interval)}return{mount:v,destroy:a.cancel,play:x,pause:E,isPaused:l}}function $f(n,t,e){var i=_t(n),s=i.on;function r(){e.cover&&(s(Lh,lt(a,!0)),s([as,de,jt],lt(o,!0)))}function o(l){t.Slides.forEach(function(c){var h=Pr(c.container||c.slide,"img");h&&h.src&&a(l,h,c)})}function a(l,c,h){h.style("background",l?'center/cover no-repeat url("'+c.src+'")':"",!0),mr(c,l?"none":"")}return{mount:r,destroy:lt(o,!1)}}var Bf=10,Nf=600,zf=.6,Hf=1.5,Vf=800;function Uf(n,t,e){var i=_t(n),s=i.on,r=i.emit,o=n.state.set,a=t.Move,l=a.getPosition,c=a.getLimit,h=a.exceededLimit,u=a.translate,d=n.is(Ps),p,g,f=1;function m(){s(Pi,E),s([de,jt],O)}function v(C,T,F,j,A){var k=l();if(E(),F&&(!d||!h())){var P=t.Layout.sliderSize(),L=aa(C)*P*Ln(ae(C)/P)||0;C=a.toPosition(t.Controller.toDest(C%P))+L}var z=Oh(k,C,1);f=1,T=z?0:T||In(ae(C-k)/Hf,Vf),g=j,p=no(T,y,lt(x,k,C,A),1),o(Er),r(Na),p.start()}function y(){o(As),g&&g(),r(Ls)}function x(C,T,F,j){var A=l(),k=C+(T-C)*D(j),P=(k-A)*f;u(A+P),d&&!F&&h()&&(f*=zf,ae(P)<Bf&&v(c(h(!0)),Nf,!1,g,!0))}function E(){p&&p.cancel()}function O(){p&&!p.isPaused()&&(E(),y())}function D(C){var T=e.easingFunc;return T?T(C):1-Math.pow(1-C,4)}return{mount:m,destroy:E,scroll:v,cancel:O}}var gs={passive:!1,capture:!0};function Wf(n,t,e){var i=_t(n),s=i.on,r=i.emit,o=i.bind,a=i.unbind,l=n.state,c=t.Move,h=t.Scroll,u=t.Controller,d=t.Elements.track,p=t.Media.reduce,g=t.Direction,f=g.resolve,m=g.orient,v=c.getPosition,y=c.exceededLimit,x,E,O,D,C,T=!1,F,j,A;function k(){o(d,Fo,na,gs),o(d,jo,na,gs),o(d,Kh,L,gs),o(d,"click",J,{capture:!0}),o(d,"dragstart",ti),s([as,de],P)}function P(){var N=e.drag;gl(!N),D=N==="free"}function L(N){if(F=!1,!j){var dt=ut(N);ht(N.target)&&(dt||!N.button)&&(u.isBusy()?ti(N,!0):(A=dt?d:window,C=l.is([Is,Er]),O=null,o(A,Fo,z,gs),o(A,jo,X,gs),c.cancel(),h.cancel(),$(N)))}}function z(N){if(l.is(_n)||(l.set(_n),r(Jg)),N.cancelable)if(C){c.translate(x+Gt(at(N)));var dt=ge(N)>ac,Ni=T!==(T=y());(dt||Ni)&&$(N),F=!0,r(Qg),ti(N)}else H(N)&&(C=M(N),ti(N))}function X(N){l.is(_n)&&(l.set(As),r(tf)),C&&(B(N),ti(N)),a(A,Fo,z),a(A,jo,X),C=!1}function J(N){!j&&F&&ti(N,!0)}function $(N){O=E,E=N,x=v()}function B(N){var dt=Q(N),Ni=Ct(dt),Vs=e.rewind&&e.rewindByDrag;p(!1),D?u.scroll(Ni,0,e.snap):n.is(Lr)?u.go(m(aa(dt))<0?Vs?"<":"-":Vs?">":"+"):n.is(Ps)&&T&&Vs?u.go(y(!0)?">":"<"):u.go(u.toDest(Ni),!0),p(!0)}function M(N){var dt=e.dragMinThreshold,Ni=dr(dt),Vs=Ni&&dt.mouse||0,td=(Ni?dt.touch:+dt)||10;return ae(at(N))>(ut(N)?td:Vs)}function H(N){return ae(at(N))>ae(at(N,!0))}function Q(N){if(n.is(Fs)||!T){var dt=ge(N);if(dt&&dt<ac)return at(N)/dt}return 0}function Ct(N){return v()+aa(N)*Ai(ae(N)*(e.flickPower||600),D?1/0:t.Layout.listSize()*(e.flickMaxPages||1))}function at(N,dt){return et(N,dt)-et(I(N),dt)}function ge(N){return oa(N)-oa(I(N))}function I(N){return E===N&&O||E}function et(N,dt){return(ut(N)?N.changedTouches[0]:N)["page"+f(dt?"Y":"X")]}function Gt(N){return N/(T&&n.is(Ps)?Sf:1)}function ht(N){var dt=e.noDrag;return!pr(N,"."+Uh+", ."+uo)&&(!dt||!pr(N,dt))}function ut(N){return typeof TouchEvent<"u"&&N instanceof TouchEvent}function Qu(){return C}function gl(N){j=N}return{mount:k,disable:gl,isDragging:Qu}}var Gf={Spacebar:" ",Right:lo,Left:ao,Up:Rh,Down:$h};function Wa(n){return n=ki(n)?n:n.key,Gf[n]||n}var lc="keydown";function Yf(n,t,e){var i=_t(n),s=i.on,r=i.bind,o=i.unbind,a=n.root,l=t.Direction.resolve,c,h;function u(){d(),s(de,p),s(de,d),s(Pi,f)}function d(){var v=e.keyboard;v&&(c=v==="global"?window:a,r(c,lc,m))}function p(){o(c,lc)}function g(v){h=v}function f(){var v=h;h=!0,yh(function(){h=v})}function m(v){if(!h){var y=Wa(v);y===l(ao)?n.go("<"):y===l(lo)&&n.go(">")}}return{mount:u,destroy:p,disable:g}}var nr=Ra+"-lazy",wn=nr+"-srcset",Xf="["+nr+"], ["+wn+"]";function Kf(n,t,e){var i=_t(n),s=i.on,r=i.off,o=i.bind,a=i.emit,l=e.lazyLoad==="sequential",c=[Mr,Ls],h=[];function u(){e.lazyLoad&&(d(),s(jt,d))}function d(){di(h),p(),l?v():(r(c),s(c,g),g())}function p(){t.Slides.forEach(function(y){ja(y.slide,Xf).forEach(function(x){var E=Me(x,nr),O=Me(x,wn);if(E!==x.src||O!==x.srcset){var D=e.classes.spinner,C=x.parentElement,T=Pr(C,"."+D)||ws("span",D,C);h.push([x,y,T]),x.src||mr(x,"none")}})})}function g(){h=h.filter(function(y){var x=e.perPage*((e.preloadPages||1)+1)-1;return y[1].isWithin(n.index,x)?f(y):!0}),h.length||r(c)}function f(y){var x=y[0];Ve(y[1].slide,ha),o(x,"load error",lt(m,y)),Y(x,"src",Me(x,nr)),Y(x,"srcset",Me(x,wn)),Ue(x,nr),Ue(x,wn)}function m(y,x){var E=y[0],O=y[1];ri(O.slide,ha),x.type!=="error"&&(ts(y[2]),mr(E,""),a(Lh,E,O),a(br)),l&&v()}function v(){h.length&&f(h.shift())}return{mount:u,destroy:lt(di,h),check:g}}function qf(n,t,e){var i=_t(n),s=i.on,r=i.emit,o=i.bind,a=t.Slides,l=t.Elements,c=t.Controller,h=c.hasFocus,u=c.getIndex,d=c.go,p=t.Direction.resolve,g=l.pagination,f=[],m,v;function y(){x(),s([de,jt,Fn],y);var j=e.pagination;g&&mr(g,j?"":"none"),j&&(s([Pi,Na,Ls],F),E(),F(),r(nf,{list:m,items:f},T(n.index)))}function x(){m&&(ts(g?ji(m.children):m),ri(m,v),di(f),m=null),i.destroy()}function E(){var j=n.length,A=e.classes,k=e.i18n,P=e.perPage,L=h()?c.getEnd()+1:vr(j/P);m=g||ws("ul",A.pagination,l.track.parentElement),Ve(m,v=po+"--"+C()),Y(m,li,"tablist"),Y(m,Se,k.select),Y(m,Ha,C()===co?"vertical":"");for(var z=0;z<L;z++){var X=ws("li",null,m),J=ws("button",{class:A.page,type:"button"},X),$=a.getIn(z).map(function(M){return M.slide.id}),B=!h()&&P>1?k.pageX:k.slideX;o(J,"click",lt(O,z)),e.paginationKeyboard&&o(J,"keydown",lt(D,z)),Y(X,li,"presentation"),Y(J,li,"tab"),Y(J,Ir,$.join(" ")),Y(J,Se,la(B,z+1)),Y(J,Cs,-1),f.push({li:X,button:J,page:z})}}function O(j){d(">"+j,!0)}function D(j,A){var k=f.length,P=Wa(A),L=C(),z=-1;P===p(lo,!1,L)?z=++j%k:P===p(ao,!1,L)?z=(--j+k)%k:P==="Home"?z=0:P==="End"&&(z=k-1);var X=f[z];X&&(Sh(X.button),d(">"+z),ti(A,!0))}function C(){return e.paginationDirection||e.direction}function T(j){return f[c.toPage(j)]}function F(){var j=T(u(!0)),A=T(u());if(j){var k=j.button;ri(k,es),Ue(k,ic),Y(k,Cs,-1)}if(A){var P=A.button;Ve(P,es),Y(P,ic,!0),Y(P,Cs,"")}r(of,{list:m,items:f},j,A)}return{items:f,mount:y,destroy:x,getAt:T,update:F}}var Zf=[" ","Enter"];function Jf(n,t,e){var i=e.isNavigation,s=e.slideFocus,r=[];function o(){n.splides.forEach(function(g){g.isParent||(c(n,g.splide),c(g.splide,n))}),i&&h()}function a(){r.forEach(function(g){g.destroy()}),di(r)}function l(){a(),o()}function c(g,f){var m=_t(g);m.on(Pi,function(v,y,x){f.go(f.is(Fs)?x:v)}),r.push(m)}function h(){var g=_t(n),f=g.on;f(Ah,d),f(Fh,p),f([as,de],u),r.push(g),g.emit(Dh,n.splides)}function u(){Y(t.Elements.list,Ha,e.direction===co?"vertical":"")}function d(g){n.go(g.index)}function p(g,f){La(Zf,Wa(f))&&(d(g),ti(f))}return{setup:lt(t.Media.set,{slideFocus:Or(s)?i:s},!0),mount:o,destroy:a,remount:l}}function Qf(n,t,e){var i=_t(n),s=i.bind,r=0;function o(){e.wheel&&s(t.Elements.track,"wheel",a,gs)}function a(c){if(c.cancelable){var h=c.deltaY,u=h<0,d=oa(c),p=e.wheelMinThreshold||0,g=e.wheelSleep||0;ae(h)>p&&d-r>g&&(n.go(u?"<":">"),r=d),l(u)&&ti(c)}}function l(c){return!e.releaseWheel||n.state.is(Is)||t.Controller.getAdjacent(c)!==-1}return{mount:o}}var tm=90;function em(n,t,e){var i=_t(n),s=i.on,r=t.Elements.track,o=e.live&&!e.isNavigation,a=ws("span",_f),l=no(tm,lt(h,!1));function c(){o&&(d(!t.Autoplay.isPaused()),Y(r,nc,!0),a.textContent="…",s(Mh,lt(d,!0)),s(Ih,lt(d,!1)),s([Mr,Ls],lt(h,!0)))}function h(p){Y(r,rc,p),p?(Ar(r,a),l.start()):(ts(a),l.cancel())}function u(){Ue(r,[sc,nc,rc]),ts(a)}function d(p){o&&Y(r,sc,p?"off":"polite")}return{mount:c,disable:d,destroy:u}}var im=Object.freeze({__proto__:null,Media:hf,Direction:uf,Elements:Tf,Slides:Of,Layout:kf,Clones:Pf,Move:Df,Controller:Mf,Arrows:Ff,Autoplay:Rf,Cover:$f,Scroll:Uf,Drag:Wf,Keyboard:Yf,LazyLoad:Kf,Pagination:qf,Sync:Jf,Wheel:Qf,Live:em}),sm={prev:"Previous slide",next:"Next slide",first:"Go to first slide",last:"Go to last slide",slideX:"Go to slide %s",pageX:"Go to page %s",play:"Start autoplay",pause:"Pause autoplay",carousel:"carousel",slide:"slide",select:"Select a slide to show",slideLabel:"%s of %s"},rm={type:"slide",role:"region",speed:400,perPage:1,cloneStatus:!0,arrows:!0,pagination:!0,paginationKeyboard:!0,interval:5e3,pauseOnHover:!0,pauseOnFocus:!0,resetProgress:!0,easing:"cubic-bezier(0.25, 1, 0.5, 1)",drag:!0,direction:"ltr",trimSpace:!0,focusableNodes:"a, button, textarea, input, select, iframe",live:!0,classes:wf,i18n:sm,reducedMotion:{speed:0,rewindSpeed:0,autoplay:"pause"}};function nm(n,t,e){var i=t.Slides;function s(){_t(n).on([as,jt],r)}function r(){i.forEach(function(a){a.style("transform","translateX(-"+100*a.index+"%)")})}function o(a,l){i.style("transition","opacity "+e.speed+"ms "+e.easing),yh(l)}return{mount:s,start:o,cancel:na}}function om(n,t,e){var i=t.Move,s=t.Controller,r=t.Scroll,o=t.Elements.list,a=lt(Pe,o,"transition"),l;function c(){_t(n).bind(o,"transitionend",function(p){p.target===o&&l&&(u(),l())})}function h(p,g){var f=i.toPosition(p,!0),m=i.getPosition(),v=d(p);ae(f-m)>=1&&v>=1?e.useScroll?r.scroll(f,v,!1,g):(a("transform "+v+"ms "+e.easing),i.translate(f,!0),l=g):(i.jump(p),g())}function u(){a(""),r.cancel()}function d(p){var g=e.rewindSpeed;if(n.is(Ps)&&g){var f=s.getIndex(!0),m=s.getEnd();if(f===0&&p>=m||f>=m&&p===0)return g}return e.speed}return{mount:c,start:h,cancel:u}}var am=function(){function n(e,i){this.event=_t(),this.Components={},this.state=lf(bs),this.splides=[],this._o={},this._E={};var s=ki(e)?Eh(document,e):e;rr(s,s+" is invalid."),this.root=s,i=Si({label:Me(s,Se)||"",labelledby:Me(s,za)||""},rm,n.defaults,i||{});try{Si(i,JSON.parse(Me(s,Ra)))}catch{rr(!1,"Invalid JSON")}this._o=Object.create(Si({},i))}var t=n.prototype;return t.mount=function(i,s){var r=this,o=this.state,a=this.Components;rr(o.is([bs,Mn]),"Already mounted!"),o.set(bs),this._C=a,this._T=s||this._T||(this.is(Lr)?nm:om),this._E=i||this._E;var l=fr({},im,this._E,{Transition:this._T});return Ji(l,function(c,h){var u=c(r,a,r._o);a[h]=u,u.setup&&u.setup()}),Ji(a,function(c){c.mount&&c.mount()}),this.emit(as),Ve(this.root,yf),o.set(As),this.emit(tc),this},t.sync=function(i){return this.splides.push({splide:i}),i.splides.push({splide:this,isParent:!0}),this.state.is(As)&&(this._C.Sync.remount(),i.Components.Sync.remount()),this},t.go=function(i){return this._C.Controller.go(i),this},t.on=function(i,s){return this.event.on(i,s),this},t.off=function(i){return this.event.off(i),this},t.emit=function(i){var s;return(s=this.event).emit.apply(s,[i].concat(ji(arguments,1))),this},t.add=function(i,s){return this._C.Slides.add(i,s),this},t.remove=function(i){return this._C.Slides.remove(i),this},t.is=function(i){return this._o.type===i},t.refresh=function(){return this.emit(jt),this},t.destroy=function(i){i===void 0&&(i=!0);var s=this.event,r=this.state;return r.is(bs)?_t(this).on(tc,this.destroy.bind(this,i)):(Ji(this._C,function(o){o.destroy&&o.destroy(i)},!0),s.emit(Ph),s.destroy(),i&&di(this.splides),r.set(Mn)),this},Ug(n,[{key:"options",get:function(){return this._o},set:function(i){this._C.Media.set(i,!0,!0)}},{key:"length",get:function(){return this._C.Slides.getLength(!0)}},{key:"index",get:function(){return this._C.Controller.getIndex()}}]),n}(),Ga=am;Ga.defaults={};Ga.STATES=Gg;/**
|
|
2067
2085
|
* @license
|
|
2068
2086
|
* Copyright 2021 Google LLC
|
|
2069
2087
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
@@ -2406,7 +2424,7 @@
|
|
|
2406
2424
|
<h4 class="notification">
|
|
2407
2425
|
An error occurred while loading the page. Please refresh the page and try again.
|
|
2408
2426
|
</h4>
|
|
2409
|
-
${this.errorMessage&&this.errorMessage!==""?V`<p class="error-message">${this.errorMessage}</p>`:
|
|
2427
|
+
${this.errorMessage&&this.errorMessage!==""?V`<p class="error-message">${this.errorMessage}</p>`:rt}
|
|
2410
2428
|
</div>
|
|
2411
2429
|
<pbo-button
|
|
2412
2430
|
variant="primary"
|
|
@@ -2416,7 +2434,7 @@
|
|
|
2416
2434
|
>
|
|
2417
2435
|
Refresh page now
|
|
2418
2436
|
</pbo-button>
|
|
2419
|
-
</div>`:
|
|
2437
|
+
</div>`:rt}
|
|
2420
2438
|
<div
|
|
2421
2439
|
class="category-selection"
|
|
2422
2440
|
?hidden=${this.currentPage!=="selection"}
|
|
@@ -2530,11 +2548,11 @@ Resulting to default behavior: removing object from previous canvas and adding t
|
|
|
2530
2548
|
<feMergeNode in="SourceGraphic"></feMergeNode>
|
|
2531
2549
|
</feMerge>
|
|
2532
2550
|
</filter>
|
|
2533
|
-
`)}toObject(){const t={color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY,affectStroke:this.affectStroke,nonScaling:this.nonScaling,type:this.constructor.type},e=hi.ownDefaults;return this.includeDefaultValues?t:il(t,(i,s)=>i!==e[s])}static async fromObject(t){return new this(t)}}b(hi,"ownDefaults",{color:"rgb(0,0,0)",blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,nonScaling:!1}),b(hi,"type","shadow"),R.setClass(hi,"shadow");const Ds=(n,t,e)=>Math.max(n,Math.min(t,e)),Xm=[le,it,pe,Ee,"flipX","flipY","originX","originY","angle","opacity","globalCompositeOperation","shadow","visible",Rs,$s],mi=[Rt,he,"strokeWidth","strokeDashArray","width","height","paintFirst","strokeUniform","strokeLineCap","strokeDashOffset","strokeLineJoin","strokeMiterLimit","backgroundColor","clipPath"],Km={top:0,left:0,width:0,height:0,angle:0,flipX:!1,flipY:!1,scaleX:1,scaleY:1,minScaleLimit:0,skewX:0,skewY:0,originX:it,originY:le,strokeWidth:1,strokeUniform:!1,padding:0,opacity:1,paintFirst:Rt,fill:"rgb(0,0,0)",fillRule:"nonzero",stroke:null,strokeDashArray:null,strokeDashOffset:0,strokeLineCap:"butt",strokeLineJoin:"miter",strokeMiterLimit:4,globalCompositeOperation:"source-over",backgroundColor:"",shadow:null,visible:!0,includeDefaultValues:!0,excludeFromExport:!1,objectCaching:!0,clipPath:void 0,inverted:!1,absolutePositioned:!1,centeredRotation:!0,centeredScaling:!1,dirty:!0},qm=(n,t,e,i)=>-e*Math.cos(n/i*jr)+e+t,Zm=()=>!1;class ol{constructor(t){let{startValue:e,byValue:i,duration:s=500,delay:r=0,easing:o=qm,onStart:a=Cn,onChange:l=Cn,onComplete:c=Cn,abort:h=Zm,target:u}=t;b(this,"_state","pending"),b(this,"durationProgress",0),b(this,"valueProgress",0),this.tick=this.tick.bind(this),this.duration=s,this.delay=r,this.easing=o,this._onStart=a,this._onChange=l,this._onComplete=c,this._abort=h,this.target=u,this.startValue=e,this.byValue=i,this.value=this.startValue,this.endValue=Object.freeze(this.calculate(this.duration).value)}get state(){return this._state}isDone(){return this._state==="aborted"||this._state==="completed"}start(){const t=e=>{this._state==="pending"&&(this.startTime=e||+new Date,this._state="running",this._onStart(),this.tick(this.startTime))};this.register(),this.delay>0?setTimeout(()=>Tn(t),this.delay):Tn(t)}tick(t){const e=(t||+new Date)-this.startTime,i=Math.min(e,this.duration);this.durationProgress=i/this.duration;const{value:s,valueProgress:r}=this.calculate(i);this.value=Object.freeze(s),this.valueProgress=r,this._state!=="aborted"&&(this._abort(this.value,this.valueProgress,this.durationProgress)?(this._state="aborted",this.unregister()):e>=this.duration?(this.durationProgress=this.valueProgress=1,this._onChange(this.endValue,this.valueProgress,this.durationProgress),this._state="completed",this._onComplete(this.endValue,this.valueProgress,this.durationProgress),this.unregister()):(this._onChange(this.value,this.valueProgress,this.durationProgress),Tn(this.tick)))}register(){Bn.push(this)}unregister(){Bn.remove(this)}abort(){this._state="aborted",this.unregister()}}const Jm=["startValue","endValue"];class Qm extends ol{constructor(t){let{startValue:e=0,endValue:i=100}=t;super(_(_({},gt(t,Jm)),{},{startValue:e,byValue:i-e}))}calculate(t){const e=this.easing(t,this.startValue,this.byValue,this.duration);return{value:e,valueProgress:Math.abs((e-this.startValue)/this.byValue)}}}const tv=["startValue","endValue"];class ev extends ol{constructor(t){let{startValue:e=[0],endValue:i=[100]}=t;super(_(_({},gt(t,tv)),{},{startValue:e,byValue:i.map((s,r)=>s-e[r])}))}calculate(t){const e=this.startValue.map((i,s)=>this.easing(t,i,this.byValue[s],this.duration,s));return{value:e,valueProgress:Math.abs((e[0]-this.startValue[0])/this.byValue[0])}}}const iv=["startValue","endValue","easing","onChange","onComplete","abort"],sv=(n,t,e,i)=>t+e*(1-Math.cos(n/i*jr)),zo=n=>n&&((t,e,i)=>n(new st(t).toRgba(),e,i));class rv extends ol{constructor(t){let{startValue:e,endValue:i,easing:s=sv,onChange:r,onComplete:o,abort:a}=t,l=gt(t,iv);const c=new st(e).getSource(),h=new st(i).getSource();super(_(_({},l),{},{startValue:c,byValue:h.map((u,d)=>u-c[d]),easing:s,onChange:zo(r),onComplete:zo(o),abort:zo(a)}))}calculate(t){const[e,i,s,r]=this.startValue.map((a,l)=>this.easing(t,a,this.byValue[l],this.duration,l)),o=[...[e,i,s].map(Math.round),Ds(0,r,1)];return{value:o,valueProgress:o.map((a,l)=>this.byValue[l]!==0?Math.abs((a-this.startValue[l])/this.byValue[l]):0).find(a=>a!==0)||0}}}function xu(n){const t=(e=>Array.isArray(e.startValue)||Array.isArray(e.endValue))(n)?new ev(n):new Qm(n);return t.start(),t}function nv(n){const t=new rv(n);return t.start(),t}class ft{constructor(t){this.status=t,this.points=[]}includes(t){return this.points.some(e=>e.eq(t))}append(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return this.points=this.points.concat(e.filter(s=>!this.includes(s))),this}static isPointContained(t,e,i){let s=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(e.eq(i))return t.eq(e);if(e.x===i.x)return t.x===e.x&&(s||t.y>=Math.min(e.y,i.y)&&t.y<=Math.max(e.y,i.y));if(e.y===i.y)return t.y===e.y&&(s||t.x>=Math.min(e.x,i.x)&&t.x<=Math.max(e.x,i.x));{const r=ma(e,i),o=ma(e,t).divide(r);return s?Math.abs(o.x)===Math.abs(o.y):o.x===o.y&&o.x>=0&&o.x<=1}}static isPointInPolygon(t,e){const i=new w(t).setX(Math.min(t.x-1,...e.map(r=>r.x)));let s=0;for(let r=0;r<e.length;r++){const o=this.intersectSegmentSegment(e[r],e[(r+1)%e.length],t,i);if(o.includes(t))return!0;s+=+(o.status==="Intersection")}return s%2==1}static intersectLineLine(t,e,i,s){let r=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],o=!(arguments.length>5&&arguments[5]!==void 0)||arguments[5];const a=e.x-t.x,l=e.y-t.y,c=s.x-i.x,h=s.y-i.y,u=t.x-i.x,d=t.y-i.y,p=c*d-h*u,g=a*d-l*u,f=h*a-c*l;if(f!==0){const m=p/f,v=g/f;return(r||0<=m&&m<=1)&&(o||0<=v&&v<=1)?new ft("Intersection").append(new w(t.x+m*a,t.y+m*l)):new ft}if(p===0||g===0){const m=r||o||ft.isPointContained(t,i,s)||ft.isPointContained(e,i,s)||ft.isPointContained(i,t,e)||ft.isPointContained(s,t,e);return new ft(m?"Coincident":void 0)}return new ft("Parallel")}static intersectSegmentLine(t,e,i,s){return ft.intersectLineLine(t,e,i,s,!1,!0)}static intersectSegmentSegment(t,e,i,s){return ft.intersectLineLine(t,e,i,s,!1,!1)}static intersectLinePolygon(t,e,i){let s=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3];const r=new ft,o=i.length;for(let a,l,c,h=0;h<o;h++){if(a=i[h],l=i[(h+1)%o],c=ft.intersectLineLine(t,e,a,l,s,!1),c.status==="Coincident")return c;r.append(...c.points)}return r.points.length>0&&(r.status="Intersection"),r}static intersectSegmentPolygon(t,e,i){return ft.intersectLinePolygon(t,e,i,!1)}static intersectPolygonPolygon(t,e){const i=new ft,s=t.length,r=[];for(let o=0;o<s;o++){const a=t[o],l=t[(o+1)%s],c=ft.intersectSegmentPolygon(a,l,e);c.status==="Coincident"?(r.push(c),i.append(a,l)):i.append(...c.points)}return r.length>0&&r.length===t.length?new ft("Coincident"):(i.points.length>0&&(i.status="Intersection"),i)}static intersectPolygonRectangle(t,e,i){const s=e.min(i),r=e.max(i),o=new w(r.x,s.y),a=new w(s.x,r.y);return ft.intersectPolygonPolygon(t,[s,o,r,a])}}class ov extends iu{getX(){return this.getXY().x}setX(t){this.setXY(this.getXY().setX(t))}getY(){return this.getXY().y}setY(t){this.setXY(this.getXY().setY(t))}getRelativeX(){return this.left}setRelativeX(t){this.left=t}getRelativeY(){return this.top}setRelativeY(t){this.top=t}getXY(){const t=this.getRelativeXY();return this.group?ne(t,this.group.calcTransformMatrix()):t}setXY(t,e,i){this.group&&(t=ne(t,Ie(this.group.calcTransformMatrix()))),this.setRelativeXY(t,e,i)}getRelativeXY(){return new w(this.left,this.top)}setRelativeXY(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.originX,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.originY;this.setPositionByOrigin(t,e,i)}isStrokeAccountedForInDimensions(){return!1}getCoords(){const{tl:t,tr:e,br:i,bl:s}=this.aCoords||(this.aCoords=this.calcACoords()),r=[t,e,i,s];if(this.group){const o=this.group.calcTransformMatrix();return r.map(a=>ne(a,o))}return r}intersectsWithRect(t,e){return ft.intersectPolygonRectangle(this.getCoords(),t,e).status==="Intersection"}intersectsWithObject(t){const e=ft.intersectPolygonPolygon(this.getCoords(),t.getCoords());return e.status==="Intersection"||e.status==="Coincident"||t.isContainedWithinObject(this)||this.isContainedWithinObject(t)}isContainedWithinObject(t){return this.getCoords().every(e=>t.containsPoint(e))}isContainedWithinRect(t,e){const{left:i,top:s,width:r,height:o}=this.getBoundingRect();return i>=t.x&&i+r<=e.x&&s>=t.y&&s+o<=e.y}isOverlapping(t){return this.intersectsWithObject(t)||this.isContainedWithinObject(t)||t.isContainedWithinObject(this)}containsPoint(t){return ft.isPointInPolygon(t,this.getCoords())}isOnScreen(){if(!this.canvas)return!1;const{tl:t,br:e}=this.canvas.vptCoords;return!!this.getCoords().some(i=>i.x<=e.x&&i.x>=t.x&&i.y<=e.y&&i.y>=t.y)||!!this.intersectsWithRect(t,e)||this.containsPoint(t.midPointFrom(e))}isPartiallyOnScreen(){if(!this.canvas)return!1;const{tl:t,br:e}=this.canvas.vptCoords;return this.intersectsWithRect(t,e)?!0:this.getCoords().every(i=>(i.x>=e.x||i.x<=t.x)&&(i.y>=e.y||i.y<=t.y))&&this.containsPoint(t.midPointFrom(e))}getBoundingRect(){return ci(this.getCoords())}getScaledWidth(){return this._getTransformedDimensions().x}getScaledHeight(){return this._getTransformedDimensions().y}scale(t){this._set(pe,t),this._set(Ee,t),this.setCoords()}scaleToWidth(t){const e=this.getBoundingRect().width/this.getScaledWidth();return this.scale(t/this.width/e)}scaleToHeight(t){const e=this.getBoundingRect().height/this.getScaledHeight();return this.scale(t/this.height/e)}getCanvasRetinaScaling(){var t;return((t=this.canvas)===null||t===void 0?void 0:t.getRetinaScaling())||1}getTotalAngle(){return this.group?ss(ru(this.calcTransformMatrix())):this.angle}getViewportTransform(){var t;return((t=this.canvas)===null||t===void 0?void 0:t.viewportTransform)||ie.concat()}calcACoords(){const t=$r({angle:this.angle}),{x:e,y:i}=this.getRelativeCenterPoint(),s=Rr(e,i),r=Vt(s,t),o=this._getTransformedDimensions(),a=o.x/2,l=o.y/2;return{tl:ne({x:-a,y:-l},r),tr:ne({x:a,y:-l},r),bl:ne({x:-a,y:l},r),br:ne({x:a,y:l},r)}}setCoords(){this.aCoords=this.calcACoords()}transformMatrixKey(){let t=arguments.length>0&&arguments[0]!==void 0&&arguments[0],e=[];return!t&&this.group&&(e=this.group.transformMatrixKey(t)),e.push(this.top,this.left,this.width,this.height,this.scaleX,this.scaleY,this.angle,this.strokeWidth,this.skewX,this.skewY,+this.flipX,+this.flipY,Mt(this.originX),Mt(this.originY)),e}calcTransformMatrix(){let t=arguments.length>0&&arguments[0]!==void 0&&arguments[0],e=this.calcOwnMatrix();if(t||!this.group)return e;const i=this.transformMatrixKey(t),s=this.matrixCache;return s&&s.key.every((r,o)=>r===i[o])?s.value:(this.group&&(e=Vt(this.group.calcTransformMatrix(!1),e)),this.matrixCache={key:i,value:e},e)}calcOwnMatrix(){const t=this.transformMatrixKey(!0),e=this.ownMatrixCache;if(e&&e.key===t)return e.value;const i=this.getRelativeCenterPoint(),s={angle:this.angle,translateX:i.x,translateY:i.y,scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY},r=Dm(s);return this.ownMatrixCache={key:t,value:r},r}_getNonTransformedDimensions(){return new w(this.width,this.height).scalarAdd(this.strokeWidth)}_calculateCurrentDimensions(t){return this._getTransformedDimensions(t).transform(this.getViewportTransform(),!0).scalarAdd(2*this.padding)}_getTransformedDimensions(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const e=_({scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,width:this.width,height:this.height,strokeWidth:this.strokeWidth},t),i=e.strokeWidth;let s=i,r=0;this.strokeUniform&&(s=0,r=i);const o=e.width+s,a=e.height+s;let l;return l=e.skewX===0&&e.skewY===0?new w(o*e.scaleX,a*e.scaleY):sl(o,a,mo(e)),l.scalarAdd(r)}translateToGivenOrigin(t,e,i,s,r){let o=t.x,a=t.y;const l=Mt(s)-Mt(e),c=Mt(r)-Mt(i);if(l||c){const h=this._getTransformedDimensions();o+=l*h.x,a+=c*h.y}return new w(o,a)}translateToCenterPoint(t,e,i){if(e===K&&i===K)return t;const s=this.translateToGivenOrigin(t,e,i,K,K);return this.angle?s.rotate(kt(this.angle),t):s}translateToOriginPoint(t,e,i){const s=this.translateToGivenOrigin(t,K,K,e,i);return this.angle?s.rotate(kt(this.angle),t):s}getCenterPoint(){const t=this.getRelativeCenterPoint();return this.group?ne(t,this.group.calcTransformMatrix()):t}getRelativeCenterPoint(){return this.translateToCenterPoint(new w(this.left,this.top),this.originX,this.originY)}getPointByOrigin(t,e){return this.translateToOriginPoint(this.getRelativeCenterPoint(),t,e)}setPositionByOrigin(t,e,i){const s=this.translateToCenterPoint(t,e,i),r=this.translateToOriginPoint(s,this.originX,this.originY);this.set({left:r.x,top:r.y})}_getLeftTopCoords(){return this.translateToOriginPoint(this.getRelativeCenterPoint(),it,le)}}const av=["type"],lv=["extraParam"];let Qe=class On extends ov{static getDefaults(){return On.ownDefaults}get type(){const t=this.constructor.type;return t==="FabricObject"?"object":t.toLowerCase()}set type(t){Mi("warn","Setting type has no effect",t)}constructor(t){super(),b(this,"_cacheContext",null),Object.assign(this,On.ownDefaults),this.setOptions(t)}_createCacheCanvas(){this._cacheCanvas=Fe(),this._cacheContext=this._cacheCanvas.getContext("2d"),this._updateCacheCanvas(),this.dirty=!0}_limitCacheSize(t){const e=t.width,i=t.height,s=tt.maxCacheSideLimit,r=tt.minCacheSideLimit;if(e<=s&&i<=s&&e*i<=tt.perfLimitSizeTotal)return e<r&&(t.width=r),i<r&&(t.height=r),t;const o=e/i,[a,l]=or.limitDimsByArea(o),c=Ds(r,a,s),h=Ds(r,l,s);return e>c&&(t.zoomX/=e/c,t.width=c,t.capped=!0),i>h&&(t.zoomY/=i/h,t.height=h,t.capped=!0),t}_getCacheCanvasDimensions(){const t=this.getTotalObjectScaling(),e=this._getTransformedDimensions({skewX:0,skewY:0}),i=e.x*t.x/this.scaleX,s=e.y*t.y/this.scaleY;return{width:Math.ceil(i+2),height:Math.ceil(s+2),zoomX:t.x,zoomY:t.y,x:i,y:s}}_updateCacheCanvas(){const t=this._cacheCanvas,e=this._cacheContext,{width:i,height:s,zoomX:r,zoomY:o,x:a,y:l}=this._limitCacheSize(this._getCacheCanvasDimensions()),c=i!==t.width||s!==t.height,h=this.zoomX!==r||this.zoomY!==o;if(!t||!e)return!1;if(c||h){i!==t.width||s!==t.height?(t.width=i,t.height=s):(e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,t.width,t.height));const u=a/2,d=l/2;return this.cacheTranslationX=Math.round(t.width/2-u)+u,this.cacheTranslationY=Math.round(t.height/2-d)+d,e.translate(this.cacheTranslationX,this.cacheTranslationY),e.scale(r,o),this.zoomX=r,this.zoomY=o,!0}return!1}setOptions(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setOptions(t)}transform(t){const e=this.group&&!this.group._transformDone||this.group&&this.canvas&&t===this.canvas.contextTop,i=this.calcTransformMatrix(!e);t.transform(i[0],i[1],i[2],i[3],i[4],i[5])}getObjectScaling(){if(!this.group)return new w(Math.abs(this.scaleX),Math.abs(this.scaleY));const t=Nn(this.calcTransformMatrix());return new w(Math.abs(t.scaleX),Math.abs(t.scaleY))}getTotalObjectScaling(){const t=this.getObjectScaling();if(this.canvas){const e=this.canvas.getZoom(),i=this.getCanvasRetinaScaling();return t.scalarMultiply(e*i)}return t}getObjectOpacity(){let t=this.opacity;return this.group&&(t*=this.group.getObjectOpacity()),t}_constrainScale(t){return Math.abs(t)<this.minScaleLimit?t<0?-this.minScaleLimit:this.minScaleLimit:t===0?1e-4:t}_set(t,e){t!==pe&&t!==Ee||(e=this._constrainScale(e)),t===pe&&e<0?(this.flipX=!this.flipX,e*=-1):t==="scaleY"&&e<0?(this.flipY=!this.flipY,e*=-1):t!=="shadow"||!e||e instanceof hi||(e=new hi(e));const i=this[t]!==e;return this[t]=e,i&&this.constructor.cacheProperties.includes(t)&&(this.dirty=!0),this.parent&&(this.dirty||i&&this.constructor.stateProperties.includes(t))&&this.parent._set("dirty",!0),this}isNotVisible(){return this.opacity===0||!this.width&&!this.height&&this.strokeWidth===0||!this.visible}render(t){this.isNotVisible()||this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(t.save(),this._setupCompositeOperation(t),this.drawSelectionBackground(t),this.transform(t),this._setOpacity(t),this._setShadow(t),this.shouldCache()?(this.renderCache(),this.drawCacheOnCanvas(t)):(this._removeCacheCanvas(),this.drawObject(t,!1,{}),this.dirty=!1),t.restore())}drawSelectionBackground(t){}renderCache(t){if(t=t||{},this._cacheCanvas&&this._cacheContext||this._createCacheCanvas(),this.isCacheDirty()&&this._cacheContext){const{zoomX:e,zoomY:i,cacheTranslationX:s,cacheTranslationY:r}=this,{width:o,height:a}=this._cacheCanvas;this.drawObject(this._cacheContext,t.forClipping,{zoomX:e,zoomY:i,cacheTranslationX:s,cacheTranslationY:r,width:o,height:a,parentClipPaths:[]}),this.dirty=!1}}_removeCacheCanvas(){this._cacheCanvas=void 0,this._cacheContext=null}hasStroke(){return this.stroke&&this.stroke!=="transparent"&&this.strokeWidth!==0}hasFill(){return this.fill&&this.fill!=="transparent"}needsItsOwnCache(){return!!(this.paintFirst===he&&this.hasFill()&&this.hasStroke()&&this.shadow)||!!this.clipPath}shouldCache(){return this.ownCaching=this.objectCaching&&(!this.parent||!this.parent.isOnACache())||this.needsItsOwnCache(),this.ownCaching}willDrawShadow(){return!!this.shadow&&(this.shadow.offsetX!==0||this.shadow.offsetY!==0)}drawClipPathOnCache(t,e,i){t.save(),e.inverted?t.globalCompositeOperation="destination-out":t.globalCompositeOperation="destination-in",t.setTransform(1,0,0,1,0,0),t.drawImage(i,0,0),t.restore()}drawObject(t,e,i){const s=this.fill,r=this.stroke;e?(this.fill="black",this.stroke="",this._setClippingProperties(t)):this._renderBackground(t),this._render(t),this._drawClipPath(t,this.clipPath,i),this.fill=s,this.stroke=r}createClipPathLayer(t,e){const i=Ye(e),s=i.getContext("2d");if(s.translate(e.cacheTranslationX,e.cacheTranslationY),s.scale(e.zoomX,e.zoomY),t._cacheCanvas=i,e.parentClipPaths.forEach(r=>{r.transform(s)}),e.parentClipPaths.push(t),t.absolutePositioned){const r=Ie(this.calcTransformMatrix());s.transform(r[0],r[1],r[2],r[3],r[4],r[5])}return t.transform(s),t.drawObject(s,!0,e),i}_drawClipPath(t,e,i){if(!e)return;e._transformDone=!0;const s=this.createClipPathLayer(e,i);this.drawClipPathOnCache(t,e,s)}drawCacheOnCanvas(t){t.scale(1/this.zoomX,1/this.zoomY),t.drawImage(this._cacheCanvas,-this.cacheTranslationX,-this.cacheTranslationY)}isCacheDirty(){let t=arguments.length>0&&arguments[0]!==void 0&&arguments[0];if(this.isNotVisible())return!1;const e=this._cacheCanvas,i=this._cacheContext;return!(!e||!i||t||!this._updateCacheCanvas())||!!(this.dirty||this.clipPath&&this.clipPath.absolutePositioned)&&(e&&i&&!t&&(i.save(),i.setTransform(1,0,0,1,0,0),i.clearRect(0,0,e.width,e.height),i.restore()),!0)}_renderBackground(t){if(!this.backgroundColor)return;const e=this._getNonTransformedDimensions();t.fillStyle=this.backgroundColor,t.fillRect(-e.x/2,-e.y/2,e.x,e.y),this._removeShadow(t)}_setOpacity(t){this.group&&!this.group._transformDone?t.globalAlpha=this.getObjectOpacity():t.globalAlpha*=this.opacity}_setStrokeStyles(t,e){const i=e.stroke;i&&(t.lineWidth=e.strokeWidth,t.lineCap=e.strokeLineCap,t.lineDashOffset=e.strokeDashOffset,t.lineJoin=e.strokeLineJoin,t.miterLimit=e.strokeMiterLimit,we(i)?i.gradientUnits==="percentage"||i.gradientTransform||i.patternTransform?this._applyPatternForTransformedGradient(t,i):(t.strokeStyle=i.toLive(t),this._applyPatternGradientTransform(t,i)):t.strokeStyle=e.stroke)}_setFillStyles(t,e){let{fill:i}=e;i&&(we(i)?(t.fillStyle=i.toLive(t),this._applyPatternGradientTransform(t,i)):t.fillStyle=i)}_setClippingProperties(t){t.globalAlpha=1,t.strokeStyle="transparent",t.fillStyle="#000000"}_setLineDash(t,e){e&&e.length!==0&&t.setLineDash(e)}_setShadow(t){if(!this.shadow)return;const e=this.shadow,i=this.canvas,s=this.getCanvasRetinaScaling(),[r,,,o]=(i==null?void 0:i.viewportTransform)||ie,a=r*s,l=o*s,c=e.nonScaling?new w(1,1):this.getObjectScaling();t.shadowColor=e.color,t.shadowBlur=e.blur*tt.browserShadowBlurConstant*(a+l)*(c.x+c.y)/4,t.shadowOffsetX=e.offsetX*a*c.x,t.shadowOffsetY=e.offsetY*l*c.y}_removeShadow(t){this.shadow&&(t.shadowColor="",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0)}_applyPatternGradientTransform(t,e){if(!we(e))return{offsetX:0,offsetY:0};const i=e.gradientTransform||e.patternTransform,s=-this.width/2+e.offsetX||0,r=-this.height/2+e.offsetY||0;return e.gradientUnits==="percentage"?t.transform(this.width,0,0,this.height,s,r):t.transform(1,0,0,1,s,r),i&&t.transform(i[0],i[1],i[2],i[3],i[4],i[5]),{offsetX:s,offsetY:r}}_renderPaintInOrder(t){this.paintFirst===he?(this._renderStroke(t),this._renderFill(t)):(this._renderFill(t),this._renderStroke(t))}_render(t){}_renderFill(t){this.fill&&(t.save(),this._setFillStyles(t,this),this.fillRule==="evenodd"?t.fill("evenodd"):t.fill(),t.restore())}_renderStroke(t){if(this.stroke&&this.strokeWidth!==0){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this.strokeUniform){const e=this.getObjectScaling();t.scale(1/e.x,1/e.y)}this._setLineDash(t,this.strokeDashArray),this._setStrokeStyles(t,this),t.stroke(),t.restore()}}_applyPatternForTransformedGradient(t,e){var i;const s=this._limitCacheSize(this._getCacheCanvasDimensions()),r=this.getCanvasRetinaScaling(),o=s.x/this.scaleX/r,a=s.y/this.scaleY/r,l=Ye({width:Math.ceil(o),height:Math.ceil(a)}),c=l.getContext("2d");c&&(c.beginPath(),c.moveTo(0,0),c.lineTo(o,0),c.lineTo(o,a),c.lineTo(0,a),c.closePath(),c.translate(o/2,a/2),c.scale(s.zoomX/this.scaleX/r,s.zoomY/this.scaleY/r),this._applyPatternGradientTransform(c,e),c.fillStyle=e.toLive(t),c.fill(),t.translate(-this.width/2-this.strokeWidth/2,-this.height/2-this.strokeWidth/2),t.scale(r*this.scaleX/s.zoomX,r*this.scaleY/s.zoomY),t.strokeStyle=(i=c.createPattern(l,"no-repeat"))!==null&&i!==void 0?i:"")}_findCenterFromElement(){return new w(this.left+this.width/2,this.top+this.height/2)}clone(t){const e=this.toObject(t);return this.constructor.fromObject(e)}cloneAsImage(t){const e=this.toCanvasElement(t);return new(R.getClass("image"))(e)}toCanvasElement(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const e=du(this),i=this.group,s=this.shadow,r=Math.abs,o=t.enableRetinaScaling?Zh():1,a=(t.multiplier||1)*o,l=t.canvasProvider||(y=>new Br(y,{enableRetinaScaling:!1,renderOnAddRemove:!1,skipOffscreen:!1}));delete this.group,t.withoutTransform&&$m(this),t.withoutShadow&&(this.shadow=null),t.viewportTransform&&Nm(this,this.getViewportTransform()),this.setCoords();const c=Fe(),h=this.getBoundingRect(),u=this.shadow,d=new w;if(u){const y=u.blur,x=u.nonScaling?new w(1,1):this.getObjectScaling();d.x=2*Math.round(r(u.offsetX)+y)*r(x.x),d.y=2*Math.round(r(u.offsetY)+y)*r(x.y)}const p=h.width+d.x,g=h.height+d.y;c.width=Math.ceil(p),c.height=Math.ceil(g);const f=l(c);t.format==="jpeg"&&(f.backgroundColor="#fff"),this.setPositionByOrigin(new w(f.width/2,f.height/2),K,K);const m=this.canvas;f._objects=[this],this.set("canvas",f),this.setCoords();const v=f.toCanvasElement(a||1,t);return this.set("canvas",m),this.shadow=s,i&&(this.group=i),this.set(e),this.setCoords(),f._objects=[],f.destroy(),v}toDataURL(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return su(this.toCanvasElement(t),t.format||"png",t.quality||1)}isType(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return e.includes(this.constructor.type)||e.includes(this.type)}complexity(){return 1}toJSON(){return this.toObject()}rotate(t){const{centeredRotation:e,originX:i,originY:s}=this;if(e){const{x:r,y:o}=this.getRelativeCenterPoint();this.originX=K,this.originY=K,this.left=r,this.top=o}if(this.set("angle",t),e){const{x:r,y:o}=this.translateToOriginPoint(this.getRelativeCenterPoint(),i,s);this.left=r,this.top=o,this.originX=i,this.originY=s}}setOnGroup(){}_setupCompositeOperation(t){this.globalCompositeOperation&&(t.globalCompositeOperation=this.globalCompositeOperation)}dispose(){Bn.cancelByTarget(this),this.off(),this._set("canvas",void 0),this._cacheCanvas&&Ge().dispose(this._cacheCanvas),this._cacheCanvas=void 0,this._cacheContext=null}animate(t,e){return Object.entries(t).reduce((i,s)=>{let[r,o]=s;return i[r]=this._animate(r,o,e),i},{})}_animate(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const s=t.split("."),r=this.constructor.colorProperties.includes(s[s.length-1]),{abort:o,startValue:a,onChange:l,onComplete:c}=i,h=_(_({},i),{},{target:this,startValue:a??s.reduce((u,d)=>u[d],this),endValue:e,abort:o==null?void 0:o.bind(this),onChange:(u,d,p)=>{s.reduce((g,f,m)=>(m===s.length-1&&(g[f]=u),g[f]),this),l&&l(u,d,p)},onComplete:(u,d,p)=>{this.setCoords(),c&&c(u,d,p)}});return r?nv(h):xu(h)}isDescendantOf(t){const{parent:e,group:i}=this;return e===t||i===t||!!e&&e.isDescendantOf(t)||!!i&&i!==e&&i.isDescendantOf(t)}getAncestors(){const t=[];let e=this;do e=e.parent,e&&t.push(e);while(e);return t}findCommonAncestors(t){if(this===t)return{fork:[],otherFork:[],common:[this,...this.getAncestors()]};const e=this.getAncestors(),i=t.getAncestors();if(e.length===0&&i.length>0&&this===i[i.length-1])return{fork:[],otherFork:[t,...i.slice(0,i.length-1)],common:[this]};for(let s,r=0;r<e.length;r++){if(s=e[r],s===t)return{fork:[this,...e.slice(0,r)],otherFork:[],common:e.slice(r)};for(let o=0;o<i.length;o++){if(this===i[o])return{fork:[],otherFork:[t,...i.slice(0,o)],common:[this,...e]};if(s===i[o])return{fork:[this,...e.slice(0,r)],otherFork:[t,...i.slice(0,o)],common:e.slice(r)}}}return{fork:[this,...e],otherFork:[t,...i],common:[]}}hasCommonAncestors(t){const e=this.findCommonAncestors(t);return e&&!!e.common.length}isInFrontOf(t){if(this===t)return;const e=this.findCommonAncestors(t);if(e.fork.includes(t))return!0;if(e.otherFork.includes(this))return!1;const i=e.common[0]||this.canvas;if(!i)return;const s=e.fork.pop(),r=e.otherFork.pop(),o=i._objects.indexOf(s),a=i._objects.indexOf(r);return o>-1&&o>a}toObject(){const t=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).concat(On.customProperties,this.constructor.customProperties||[]);let e;const i=tt.NUM_FRACTION_DIGITS,{clipPath:s,fill:r,stroke:o,shadow:a,strokeDashArray:l,left:c,top:h,originX:u,originY:d,width:p,height:g,strokeWidth:f,strokeLineCap:m,strokeDashOffset:v,strokeLineJoin:y,strokeUniform:x,strokeMiterLimit:E,scaleX:O,scaleY:D,angle:C,flipX:T,flipY:F,opacity:j,visible:A,backgroundColor:k,fillRule:P,paintFirst:L,globalCompositeOperation:z,skewX:X,skewY:J}=this;s&&!s.excludeFromExport&&(e=s.toObject(t.concat("inverted","absolutePositioned")));const $=M=>mt(M,i),B=_(_({},Bs(this,t)),{},{type:this.constructor.type,version:ua,originX:u,originY:d,left:$(c),top:$(h),width:$(p),height:$(g),fill:mc(r)?r.toObject():r,stroke:mc(o)?o.toObject():o,strokeWidth:$(f),strokeDashArray:l&&l.concat(),strokeLineCap:m,strokeDashOffset:v,strokeLineJoin:y,strokeUniform:x,strokeMiterLimit:$(E),scaleX:$(O),scaleY:$(D),angle:$(C),flipX:T,flipY:F,opacity:$(j),shadow:a&&a.toObject(),visible:A,backgroundColor:k,fillRule:P,paintFirst:L,globalCompositeOperation:z,skewX:$(X),skewY:$(J)},e?{clipPath:e}:null);return this.includeDefaultValues?B:this._removeDefaultValues(B)}toDatalessObject(t){return this.toObject(t)}_removeDefaultValues(t){const e=this.constructor.getDefaults(),i=Object.keys(e).length>0?e:Object.getPrototypeOf(this);return il(t,(s,r)=>{if(r===it||r===le||r==="type")return!0;const o=i[r];return s!==o&&!(Array.isArray(s)&&Array.isArray(o)&&s.length===0&&o.length===0)})}toString(){return"#<".concat(this.constructor.type,">")}static _fromObject(t){let e=gt(t,av),i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{extraParam:s}=i,r=gt(i,lv);return vo(e,r).then(o=>s?(delete o[s],new this(e[s],o)):new this(o))}static fromObject(t,e){return this._fromObject(t,e)}};b(Qe,"stateProperties",Xm),b(Qe,"cacheProperties",mi),b(Qe,"ownDefaults",Km),b(Qe,"type","FabricObject"),b(Qe,"colorProperties",[Rt,he,"backgroundColor"]),b(Qe,"customProperties",[]),R.setClass(Qe),R.setClass(Qe,"object");const Ns=(n,t,e)=>(i,s,r,o)=>{const a=t(i,s,r,o);return a&&pu(n,_(_({},fu(i,s,r,o)),e)),a};function zs(n){return(t,e,i,s)=>{const{target:r,originX:o,originY:a}=e,l=r.getRelativeCenterPoint(),c=r.translateToOriginPoint(l,o,a),h=n(t,e,i,s);return r.setPositionByOrigin(c,e.originX,e.originY),h}}const Tc=Ns(yr,zs((n,t,e,i)=>{const s=rl(t,t.originX,t.originY,e,i);if(Mt(t.originX)===Mt(K)||Mt(t.originX)===Mt(Ot)&&s.x<0||Mt(t.originX)===Mt(it)&&s.x>0){const{target:r}=t,o=r.strokeWidth/(r.strokeUniform?r.scaleX:1),a=gu(t)?2:1,l=r.width,c=Math.abs(s.x*a/r.scaleX)-o;return r.set("width",Math.max(c,1)),l!==r.width}return!1}));function cv(n,t,e,i,s){i=i||{};const r=this.sizeX||i.cornerSize||s.cornerSize,o=this.sizeY||i.cornerSize||s.cornerSize,a=i.transparentCorners!==void 0?i.transparentCorners:s.transparentCorners,l=a?he:Rt,c=!a&&(i.cornerStrokeColor||s.cornerStrokeColor);let h,u=t,d=e;n.save(),n.fillStyle=i.cornerColor||s.cornerColor||"",n.strokeStyle=i.cornerStrokeColor||s.cornerStrokeColor||"",r>o?(h=r,n.scale(1,o/r),d=e*r/o):o>r?(h=o,n.scale(r/o,1),u=t*o/r):h=r,n.beginPath(),n.arc(u,d,h/2,0,jn,!1),n[l](),c&&n.stroke(),n.restore()}function hv(n,t,e,i,s){i=i||{};const r=this.sizeX||i.cornerSize||s.cornerSize,o=this.sizeY||i.cornerSize||s.cornerSize,a=i.transparentCorners!==void 0?i.transparentCorners:s.transparentCorners,l=a?he:Rt,c=!a&&(i.cornerStrokeColor||s.cornerStrokeColor),h=r/2,u=o/2;n.save(),n.fillStyle=i.cornerColor||s.cornerColor||"",n.strokeStyle=i.cornerStrokeColor||s.cornerStrokeColor||"",n.translate(t,e);const d=s.getTotalAngle();n.rotate(kt(d)),n["".concat(l,"Rect")](-h,-u,r,o),c&&n.strokeRect(-h,-u,r,o),n.restore()}class ke{constructor(t){b(this,"visible",!0),b(this,"actionName",fo),b(this,"angle",0),b(this,"x",0),b(this,"y",0),b(this,"offsetX",0),b(this,"offsetY",0),b(this,"sizeX",0),b(this,"sizeY",0),b(this,"touchSizeX",0),b(this,"touchSizeY",0),b(this,"cursorStyle","crosshair"),b(this,"withConnection",!1),Object.assign(this,t)}shouldActivate(t,e,i,s){var r;let{tl:o,tr:a,br:l,bl:c}=s;return((r=e.canvas)===null||r===void 0?void 0:r.getActiveObject())===e&&e.isControlVisible(t)&&ft.isPointInPolygon(i,[o,a,l,c])}getActionHandler(t,e,i){return this.actionHandler}getMouseDownHandler(t,e,i){return this.mouseDownHandler}getMouseUpHandler(t,e,i){return this.mouseUpHandler}cursorStyleHandler(t,e,i){return e.cursorStyle}getActionName(t,e,i){return e.actionName}getVisibility(t,e){var i,s;return(i=(s=t._controlsVisibility)===null||s===void 0?void 0:s[e])!==null&&i!==void 0?i:this.visible}setVisibility(t,e,i){this.visible=t}positionHandler(t,e,i,s){return new w(this.x*t.x+this.offsetX,this.y*t.y+this.offsetY).transform(e)}calcCornerCoords(t,e,i,s,r,o){const a=tl([Rr(i,s),$r({angle:t}),el((r?this.touchSizeX:this.sizeX)||e,(r?this.touchSizeY:this.sizeY)||e)]);return{tl:new w(-.5,-.5).transform(a),tr:new w(.5,-.5).transform(a),br:new w(.5,.5).transform(a),bl:new w(-.5,.5).transform(a)}}render(t,e,i,s,r){((s=s||{}).cornerStyle||r.cornerStyle)==="circle"?cv.call(this,t,e,i,s,r):hv.call(this,t,e,i,s,r)}}const uv=(n,t,e)=>e.lockRotation?Vn:t.cursorStyle,dv=Ns(Qh,zs((n,t,e,i)=>{let{target:s,ex:r,ey:o,theta:a,originX:l,originY:c}=t;const h=s.translateToOriginPoint(s.getRelativeCenterPoint(),l,c);if(Le(s,"lockRotation"))return!1;const u=Math.atan2(o-h.y,r-h.x),d=Math.atan2(i-h.y,e-h.x);let p=ss(d-u+a);if(s.snapAngle&&s.snapAngle>0){const f=s.snapAngle,m=s.snapThreshold||f,v=Math.ceil(p/f)*f,y=Math.floor(p/f)*f;Math.abs(p-y)<m?p=y:Math.abs(p-v)<m&&(p=v)}p<0&&(p=360+p),p%=360;const g=s.angle!==p;return s.angle=p,g}));function wu(n,t){const e=t.canvas,i=n[e.uniScaleKey];return e.uniformScaling&&!i||!e.uniformScaling&&i}function Cu(n,t,e){const i=Le(n,"lockScalingX"),s=Le(n,"lockScalingY");if(i&&s||!t&&(i||s)&&e||i&&t==="x"||s&&t==="y")return!0;const{width:r,height:o,strokeWidth:a}=n;return r===0&&a===0&&t!=="y"||o===0&&a===0&&t!=="x"}const pv=["e","se","s","sw","w","nw","n","ne","e"],tr=(n,t,e)=>{const i=wu(n,e);if(Cu(e,t.x!==0&&t.y===0?"x":t.x===0&&t.y!==0?"y":"",i))return Vn;const s=mu(e,t);return"".concat(pv[s],"-resize")};function al(n,t,e,i){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{};const r=t.target,o=s.by,a=wu(n,r);let l,c,h,u,d,p;if(Cu(r,o,a))return!1;if(t.gestureScale)c=t.scaleX*t.gestureScale,h=t.scaleY*t.gestureScale;else{if(l=rl(t,t.originX,t.originY,e,i),d=o!=="y"?Math.sign(l.x||t.signX||1):1,p=o!=="x"?Math.sign(l.y||t.signY||1):1,t.signX||(t.signX=d),t.signY||(t.signY=p),Le(r,"lockScalingFlip")&&(t.signX!==d||t.signY!==p))return!1;if(u=r._getTransformedDimensions(),a&&!o){const m=Math.abs(l.x)+Math.abs(l.y),{original:v}=t,y=m/(Math.abs(u.x*v.scaleX/r.scaleX)+Math.abs(u.y*v.scaleY/r.scaleY));c=v.scaleX*y,h=v.scaleY*y}else c=Math.abs(l.x*r.scaleX/u.x),h=Math.abs(l.y*r.scaleY/u.y);gu(t)&&(c*=2,h*=2),t.signX!==d&&o!=="y"&&(t.originX=_c(t.originX),c*=-1,t.signX=d),t.signY!==p&&o!=="x"&&(t.originY=_c(t.originY),h*=-1,t.signY=p)}const g=r.scaleX,f=r.scaleY;return o?(o==="x"&&r.set(pe,c),o==="y"&&r.set(Ee,h)):(!Le(r,"lockScalingX")&&r.set(pe,c),!Le(r,"lockScalingY")&&r.set(Ee,h)),g!==r.scaleX||f!==r.scaleY}const Yr=Ns(go,zs((n,t,e,i)=>al(n,t,e,i))),gv=Ns(go,zs((n,t,e,i)=>al(n,t,e,i,{by:"x"}))),fv=Ns(go,zs((n,t,e,i)=>al(n,t,e,i,{by:"y"}))),mv=["target","ex","ey","skewingSide"],Ho={x:{counterAxis:"y",scale:pe,skew:Rs,lockSkewing:"lockSkewingX",origin:"originX",flip:"flipX"},y:{counterAxis:"x",scale:Ee,skew:$s,lockSkewing:"lockSkewingY",origin:"originY",flip:"flipY"}},vv=["ns","nesw","ew","nwse"],bv=(n,t,e)=>{if(t.x!==0&&Le(e,"lockSkewingY")||t.y!==0&&Le(e,"lockSkewingX"))return Vn;const i=mu(e,t)%4;return"".concat(vv[i],"-resize")};function Su(n,t,e,i,s){const{target:r}=e,{counterAxis:o,origin:a,lockSkewing:l,skew:c,flip:h}=Ho[n];if(Le(r,l))return!1;const{origin:u,flip:d}=Ho[o],p=Mt(e[u])*(r[d]?-1:1),g=-Math.sign(p)*(r[h]?-1:1),f=.5*-((r[c]===0&&rl(e,K,K,i,s)[n]>0||r[c]>0?1:-1)*g)+.5;return Ns(tu,zs((v,y,x,E)=>function(O,D,C){let{target:T,ex:F,ey:j,skewingSide:A}=D,k=gt(D,mv);const{skew:P}=Ho[O],L=C.subtract(new w(F,j)).divide(new w(T.scaleX,T.scaleY))[O],z=T[P],X=k[P],J=Math.tan(kt(X)),$=O==="y"?T._getTransformedDimensions({scaleX:1,scaleY:1,skewX:0}).x:T._getTransformedDimensions({scaleX:1,scaleY:1}).y,B=2*L*A/Math.max($,1)+J,M=ss(Math.atan(B));T.set(P,M);const H=z!==T[P];if(H&&O==="y"){const{skewX:Q,scaleX:Ct}=T,ot=T._getTransformedDimensions({skewY:z}),ge=T._getTransformedDimensions(),I=Q!==0?ot.x/ge.x:1;I!==1&&T.set(pe,I*Ct)}return H}(n,y,new w(x,E))))(t,_(_({},e),{},{[a]:f,skewingSide:g}),i,s)}const _v=(n,t,e,i)=>Su("x",n,t,e,i),yv=(n,t,e,i)=>Su("y",n,t,e,i);function yo(n,t){return n[t.canvas.altActionKey]}const Xr=(n,t,e)=>{const i=yo(n,e);return t.x===0?i?Rs:Ee:t.y===0?i?$s:pe:""},_s=(n,t,e)=>yo(n,e)?bv(0,t,e):tr(n,t,e),Ec=(n,t,e,i)=>yo(n,t.target)?yv(n,t,e,i):gv(n,t,e,i),Oc=(n,t,e,i)=>yo(n,t.target)?_v(n,t,e,i):fv(n,t,e,i),Tu=()=>({ml:new ke({x:-.5,y:0,cursorStyleHandler:_s,actionHandler:Ec,getActionName:Xr}),mr:new ke({x:.5,y:0,cursorStyleHandler:_s,actionHandler:Ec,getActionName:Xr}),mb:new ke({x:0,y:.5,cursorStyleHandler:_s,actionHandler:Oc,getActionName:Xr}),mt:new ke({x:0,y:-.5,cursorStyleHandler:_s,actionHandler:Oc,getActionName:Xr}),tl:new ke({x:-.5,y:-.5,cursorStyleHandler:tr,actionHandler:Yr}),tr:new ke({x:.5,y:-.5,cursorStyleHandler:tr,actionHandler:Yr}),bl:new ke({x:-.5,y:.5,cursorStyleHandler:tr,actionHandler:Yr}),br:new ke({x:.5,y:.5,cursorStyleHandler:tr,actionHandler:Yr}),mtr:new ke({x:0,y:-.5,actionHandler:dv,cursorStyleHandler:uv,offsetY:-40,withConnection:!0,actionName:Ja})}),xv=()=>({mr:new ke({x:.5,y:0,actionHandler:Tc,cursorStyleHandler:_s,actionName:yr}),ml:new ke({x:-.5,y:0,actionHandler:Tc,cursorStyleHandler:_s,actionName:yr})}),wv=()=>_(_({},Tu()),xv());class Cr extends Qe{static getDefaults(){return _(_({},super.getDefaults()),Cr.ownDefaults)}constructor(t){super(),Object.assign(this,this.constructor.createControls(),Cr.ownDefaults),this.setOptions(t)}static createControls(){return{controls:Tu()}}_updateCacheCanvas(){const t=this.canvas;if(this.noScaleCache&&t&&t._currentTransform){const e=t._currentTransform,i=e.target,s=e.action;if(this===i&&s&&s.startsWith(fo))return!1}return super._updateCacheCanvas()}getActiveControl(){const t=this.__corner;return t?{key:t,control:this.controls[t],coord:this.oCoords[t]}:void 0}findControl(t){let e=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!this.hasControls||!this.canvas)return;this.__corner=void 0;const i=Object.entries(this.oCoords);for(let s=i.length-1;s>=0;s--){const[r,o]=i[s],a=this.controls[r];if(a.shouldActivate(r,this,t,e?o.touchCorner:o.corner))return this.__corner=r,{key:r,control:a,coord:this.oCoords[r]}}}calcOCoords(){const t=this.getViewportTransform(),e=this.getCenterPoint(),i=Rr(e.x,e.y),s=$r({angle:this.getTotalAngle()-(this.group&&this.flipX?180:0)}),r=Vt(i,s),o=Vt(t,r),a=Vt(o,[1/t[0],0,0,1/t[3],0,0]),l=this.group?Nn(this.calcTransformMatrix()):void 0;l&&(l.scaleX=Math.abs(l.scaleX),l.scaleY=Math.abs(l.scaleY));const c=this._calculateCurrentDimensions(l),h={};return this.forEachControl((u,d)=>{const p=u.positionHandler(c,a,this,u);h[d]=Object.assign(p,this._calcCornerCoords(u,p))}),h}_calcCornerCoords(t,e){const i=this.getTotalAngle();return{corner:t.calcCornerCoords(i,this.cornerSize,e.x,e.y,!1,this),touchCorner:t.calcCornerCoords(i,this.touchCornerSize,e.x,e.y,!0,this)}}setCoords(){super.setCoords(),this.canvas&&(this.oCoords=this.calcOCoords())}forEachControl(t){for(const e in this.controls)t(this.controls[e],e,this)}drawSelectionBackground(t){if(!this.selectionBackgroundColor||this.canvas&&this.canvas._activeObject!==this)return;t.save();const e=this.getRelativeCenterPoint(),i=this._calculateCurrentDimensions(),s=this.getViewportTransform();t.translate(e.x,e.y),t.scale(1/s[0],1/s[3]),t.rotate(kt(this.angle)),t.fillStyle=this.selectionBackgroundColor,t.fillRect(-i.x/2,-i.y/2,i.x,i.y),t.restore()}strokeBorders(t,e){t.strokeRect(-e.x/2,-e.y/2,e.x,e.y)}_drawBorders(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const s=_({hasControls:this.hasControls,borderColor:this.borderColor,borderDashArray:this.borderDashArray},i);t.save(),t.strokeStyle=s.borderColor,this._setLineDash(t,s.borderDashArray),this.strokeBorders(t,e),s.hasControls&&this.drawControlsConnectingLines(t,e),t.restore()}_renderControls(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{hasBorders:i,hasControls:s}=this,r=_({hasBorders:i,hasControls:s},e),o=this.getViewportTransform(),a=r.hasBorders,l=r.hasControls,c=Vt(o,this.calcTransformMatrix()),h=Nn(c);t.save(),t.translate(h.translateX,h.translateY),t.lineWidth=this.borderScaleFactor,this.group===this.parent&&(t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1),this.flipX&&(h.angle-=180),t.rotate(kt(this.group?h.angle:this.angle)),a&&this.drawBorders(t,h,e),l&&this.drawControls(t,e),t.restore()}drawBorders(t,e,i){let s;if(i&&i.forActiveSelection||this.group){const r=sl(this.width,this.height,mo(e)),o=this.isStrokeAccountedForInDimensions()?Qa:(this.strokeUniform?new w().scalarAdd(this.canvas?this.canvas.getZoom():1):new w(e.scaleX,e.scaleY)).scalarMultiply(this.strokeWidth);s=r.add(o).scalarAdd(this.borderScaleFactor).scalarAdd(2*this.padding)}else s=this._calculateCurrentDimensions().scalarAdd(this.borderScaleFactor);this._drawBorders(t,s,i)}drawControlsConnectingLines(t,e){let i=!1;t.beginPath(),this.forEachControl((s,r)=>{s.withConnection&&s.getVisibility(this,r)&&(i=!0,t.moveTo(s.x*e.x,s.y*e.y),t.lineTo(s.x*e.x+s.offsetX,s.y*e.y+s.offsetY))}),i&&t.stroke()}drawControls(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};t.save();const i=this.getCanvasRetinaScaling(),{cornerStrokeColor:s,cornerDashArray:r,cornerColor:o}=this,a=_({cornerStrokeColor:s,cornerDashArray:r,cornerColor:o},e);t.setTransform(i,0,0,i,0,0),t.strokeStyle=t.fillStyle=a.cornerColor,this.transparentCorners||(t.strokeStyle=a.cornerStrokeColor),this._setLineDash(t,a.cornerDashArray),this.forEachControl((l,c)=>{if(l.getVisibility(this,c)){const h=this.oCoords[c];l.render(t,h.x,h.y,a,this)}}),t.restore()}isControlVisible(t){return this.controls[t]&&this.controls[t].getVisibility(this,t)}setControlVisible(t,e){this._controlsVisibility||(this._controlsVisibility={}),this._controlsVisibility[t]=e}setControlsVisibility(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Object.entries(t).forEach(e=>{let[i,s]=e;return this.setControlVisible(i,s)})}clearContextTop(t){if(!this.canvas)return;const e=this.canvas.contextTop;if(!e)return;const i=this.canvas.viewportTransform;e.save(),e.transform(i[0],i[1],i[2],i[3],i[4],i[5]),this.transform(e);const s=this.width+4,r=this.height+4;return e.clearRect(-s/2,-r/2,s,r),t||e.restore(),e}onDeselect(t){return!1}onSelect(t){return!1}shouldStartDragging(t){return!1}onDragStart(t){return!1}canDrop(t){return!1}renderDragSourceEffect(t){}renderDropTargetEffect(t){}}function Eu(n,t){return t.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(i=>{i!=="constructor"&&Object.defineProperty(n.prototype,i,Object.getOwnPropertyDescriptor(e.prototype,i)||Object.create(null))})}),n}b(Cr,"ownDefaults",{noScaleCache:!0,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockSkewingX:!1,lockSkewingY:!1,lockScalingFlip:!1,cornerSize:13,touchCornerSize:24,transparentCorners:!0,cornerColor:"rgb(178,204,255)",cornerStrokeColor:"",cornerStyle:"rect",cornerDashArray:null,hasControls:!0,borderColor:"rgb(178,204,255)",borderDashArray:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,hasBorders:!0,selectionBackgroundColor:"",selectable:!0,evented:!0,perPixelTargetFind:!1,activeOn:"down",hoverCursor:null,moveCursor:null});class Kt extends Cr{}Eu(Kt,[vu]),R.setClass(Kt),R.setClass(Kt,"object");const Cv=(n,t,e,i)=>{const s=2*(i=Math.round(i))+1,{data:r}=n.getImageData(t-i,e-i,s,s);for(let o=3;o<r.length;o+=4)if(r[o]>0)return!1;return!0};class Ou{constructor(t){this.options=t,this.strokeProjectionMagnitude=this.options.strokeWidth/2,this.scale=new w(this.options.scaleX,this.options.scaleY),this.strokeUniformScalar=this.options.strokeUniform?new w(1/this.options.scaleX,1/this.options.scaleY):new w(1,1)}createSideVector(t,e){const i=ma(t,e);return this.options.strokeUniform?i.multiply(this.scale):i}projectOrthogonally(t,e,i){return this.applySkew(t.add(this.calcOrthogonalProjection(t,e,i)))}isSkewed(){return this.options.skewX!==0||this.options.skewY!==0}applySkew(t){const e=new w(t);return e.y+=e.x*Math.tan(kt(this.options.skewY)),e.x+=e.y*Math.tan(kt(this.options.skewX)),e}scaleUnitVector(t,e){return t.multiply(this.strokeUniformScalar).scalarMultiply(e)}}const Sv=new w;class Es extends Ou{static getOrthogonalRotationFactor(t,e){const i=e?ba(t,e):Gm(t);return Math.abs(i)<jr?-1:1}constructor(t,e,i,s){super(s),b(this,"AB",void 0),b(this,"AC",void 0),b(this,"alpha",void 0),b(this,"bisector",void 0),this.A=new w(t),this.B=new w(e),this.C=new w(i),this.AB=this.createSideVector(this.A,this.B),this.AC=this.createSideVector(this.A,this.C),this.alpha=ba(this.AB,this.AC),this.bisector=nl(_u(this.AB.eq(Sv)?this.AC:this.AB,this.alpha/2))}calcOrthogonalProjection(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.strokeProjectionMagnitude;const s=this.createSideVector(t,e),r=yu(s),o=Es.getOrthogonalRotationFactor(r,this.bisector);return this.scaleUnitVector(r,i*o)}projectBevel(){const t=[];return(this.alpha%jn==0?[this.B]:[this.B,this.C]).forEach(e=>{t.push(this.projectOrthogonally(this.A,e)),t.push(this.projectOrthogonally(this.A,e,-this.strokeProjectionMagnitude))}),t}projectMiter(){const t=[],e=Math.abs(this.alpha),i=1/Math.sin(e/2),s=this.scaleUnitVector(this.bisector,-this.strokeProjectionMagnitude*i),r=this.options.strokeUniform?va(this.scaleUnitVector(this.bisector,this.options.strokeMiterLimit)):this.options.strokeMiterLimit;return va(s)/this.strokeProjectionMagnitude<=r&&t.push(this.applySkew(this.A.add(s))),t.push(...this.projectBevel()),t}projectRoundNoSkew(t,e){const i=[],s=new w(Es.getOrthogonalRotationFactor(this.bisector),Es.getOrthogonalRotationFactor(new w(this.bisector.y,this.bisector.x)));return[new w(1,0).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(s),new w(0,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(s)].forEach(r=>{wc(r,t,e)&&i.push(this.A.add(r))}),i}projectRoundWithSkew(t,e){const i=[],{skewX:s,skewY:r,scaleX:o,scaleY:a,strokeUniform:l}=this.options,c=new w(Math.tan(kt(s)),Math.tan(kt(r))),h=this.strokeProjectionMagnitude,u=l?h/a/Math.sqrt(1/a**2+1/o**2*c.y**2):h/Math.sqrt(1+c.y**2),d=new w(Math.sqrt(Math.max(h**2-u**2,0)),u),p=l?h/Math.sqrt(1+c.x**2*(1/a)**2/(1/o+1/o*c.x*c.y)**2):h/Math.sqrt(1+c.x**2/(1+c.x*c.y)**2),g=new w(p,Math.sqrt(Math.max(h**2-p**2,0)));return[g,g.scalarMultiply(-1),d,d.scalarMultiply(-1)].map(f=>this.applySkew(l?f.multiply(this.strokeUniformScalar):f)).forEach(f=>{wc(f,t,e)&&i.push(this.applySkew(this.A).add(f))}),i}projectRound(){const t=[];t.push(...this.projectBevel());const e=this.alpha%jn==0,i=this.applySkew(this.A),s=t[e?0:2].subtract(i),r=t[e?1:0].subtract(i),o=e?this.applySkew(this.AB.scalarMultiply(-1)):this.applySkew(this.bisector.multiply(this.strokeUniformScalar).scalarMultiply(-1)),a=ar(s,o)>0,l=a?s:r,c=a?r:s;return this.isSkewed()?t.push(...this.projectRoundWithSkew(l,c)):t.push(...this.projectRoundNoSkew(l,c)),t}projectPoints(){switch(this.options.strokeLineJoin){case"miter":return this.projectMiter();case"round":return this.projectRound();default:return this.projectBevel()}}project(){return this.projectPoints().map(t=>({originPoint:this.A,projectedPoint:t,angle:this.alpha,bisector:this.bisector}))}}class kc extends Ou{constructor(t,e,i){super(i),this.A=new w(t),this.T=new w(e)}calcOrthogonalProjection(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.strokeProjectionMagnitude;const s=this.createSideVector(t,e);return this.scaleUnitVector(yu(s),i)}projectButt(){return[this.projectOrthogonally(this.A,this.T,this.strokeProjectionMagnitude),this.projectOrthogonally(this.A,this.T,-this.strokeProjectionMagnitude)]}projectRound(){const t=[];if(!this.isSkewed()&&this.A.eq(this.T)){const e=new w(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);t.push(this.applySkew(this.A.add(e)),this.applySkew(this.A.subtract(e)))}else t.push(...new Es(this.A,this.T,this.T,this.options).projectRound());return t}projectSquare(){const t=[];if(this.A.eq(this.T)){const e=new w(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);t.push(this.A.add(e),this.A.subtract(e))}else{const e=this.calcOrthogonalProjection(this.A,this.T,this.strokeProjectionMagnitude),i=this.scaleUnitVector(nl(this.createSideVector(this.A,this.T)),-this.strokeProjectionMagnitude),s=this.A.add(i);t.push(s.add(e),s.subtract(e))}return t.map(e=>this.applySkew(e))}projectPoints(){switch(this.options.strokeLineCap){case"round":return this.projectRound();case"square":return this.projectSquare();default:return this.projectButt()}}project(){return this.projectPoints().map(t=>({originPoint:this.A,projectedPoint:t}))}}const Tv=function(n,t){let e=arguments.length>2&&arguments[2]!==void 0&&arguments[2];const i=[];if(n.length===0)return i;const s=n.reduce((r,o)=>(r[r.length-1].eq(o)||r.push(new w(o)),r),[new w(n[0])]);if(s.length===1)e=!0;else if(!e){const r=s[0],o=((a,l)=>{for(let c=a.length-1;c>=0;c--)if(l(a[c],c,a))return c;return-1})(s,a=>!a.eq(r));s.splice(o+1)}return s.forEach((r,o,a)=>{let l,c;o===0?(c=a[1],l=e?r:a[a.length-1]):o===a.length-1?(l=a[o-1],c=e?r:a[0]):(l=a[o-1],c=a[o+1]),e&&a.length===1?i.push(...new kc(r,r,t).project()):!e||o!==0&&o!==a.length-1?i.push(...new Es(r,l,c,t).project()):i.push(...new kc(r,o===0?c:l,t).project())}),i},ll=n=>{const t={};return Object.keys(n).forEach(e=>{t[e]={},Object.keys(n[e]).forEach(i=>{t[e][i]=_({},n[e][i])})}),t},Ev=n=>n.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">"),cl=n=>{const t=[];for(let e,i=0;i<n.length;i++)(e=Ov(n,i))!==!1&&t.push(e);return t},Ov=(n,t)=>{const e=n.charCodeAt(t);if(isNaN(e))return"";if(e<55296||e>57343)return n.charAt(t);if(55296<=e&&e<=56319){if(n.length<=t+1)throw"High surrogate without following low surrogate";const s=n.charCodeAt(t+1);if(56320>s||s>57343)throw"High surrogate without following low surrogate";return n.charAt(t)+n.charAt(t+1)}if(t===0)throw"Low surrogate without preceding high surrogate";const i=n.charCodeAt(t-1);if(55296>i||i>56319)throw"Low surrogate without preceding high surrogate";return!1},hl=function(n,t){let e=arguments.length>2&&arguments[2]!==void 0&&arguments[2];return n.fill!==t.fill||n.stroke!==t.stroke||n.strokeWidth!==t.strokeWidth||n.fontSize!==t.fontSize||n.fontFamily!==t.fontFamily||n.fontWeight!==t.fontWeight||n.fontStyle!==t.fontStyle||n.textBackgroundColor!==t.textBackgroundColor||n.deltaY!==t.deltaY||e&&(n.overline!==t.overline||n.underline!==t.underline||n.linethrough!==t.linethrough)},kv=(n,t)=>{const e=t.split(`
|
|
2551
|
+
`)}toObject(){const t={color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY,affectStroke:this.affectStroke,nonScaling:this.nonScaling,type:this.constructor.type},e=hi.ownDefaults;return this.includeDefaultValues?t:il(t,(i,s)=>i!==e[s])}static async fromObject(t){return new this(t)}}b(hi,"ownDefaults",{color:"rgb(0,0,0)",blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,nonScaling:!1}),b(hi,"type","shadow"),R.setClass(hi,"shadow");const Ds=(n,t,e)=>Math.max(n,Math.min(t,e)),Xm=[le,it,pe,Ee,"flipX","flipY","originX","originY","angle","opacity","globalCompositeOperation","shadow","visible",Rs,$s],mi=[Rt,he,"strokeWidth","strokeDashArray","width","height","paintFirst","strokeUniform","strokeLineCap","strokeDashOffset","strokeLineJoin","strokeMiterLimit","backgroundColor","clipPath"],Km={top:0,left:0,width:0,height:0,angle:0,flipX:!1,flipY:!1,scaleX:1,scaleY:1,minScaleLimit:0,skewX:0,skewY:0,originX:it,originY:le,strokeWidth:1,strokeUniform:!1,padding:0,opacity:1,paintFirst:Rt,fill:"rgb(0,0,0)",fillRule:"nonzero",stroke:null,strokeDashArray:null,strokeDashOffset:0,strokeLineCap:"butt",strokeLineJoin:"miter",strokeMiterLimit:4,globalCompositeOperation:"source-over",backgroundColor:"",shadow:null,visible:!0,includeDefaultValues:!0,excludeFromExport:!1,objectCaching:!0,clipPath:void 0,inverted:!1,absolutePositioned:!1,centeredRotation:!0,centeredScaling:!1,dirty:!0},qm=(n,t,e,i)=>-e*Math.cos(n/i*jr)+e+t,Zm=()=>!1;class ol{constructor(t){let{startValue:e,byValue:i,duration:s=500,delay:r=0,easing:o=qm,onStart:a=Cn,onChange:l=Cn,onComplete:c=Cn,abort:h=Zm,target:u}=t;b(this,"_state","pending"),b(this,"durationProgress",0),b(this,"valueProgress",0),this.tick=this.tick.bind(this),this.duration=s,this.delay=r,this.easing=o,this._onStart=a,this._onChange=l,this._onComplete=c,this._abort=h,this.target=u,this.startValue=e,this.byValue=i,this.value=this.startValue,this.endValue=Object.freeze(this.calculate(this.duration).value)}get state(){return this._state}isDone(){return this._state==="aborted"||this._state==="completed"}start(){const t=e=>{this._state==="pending"&&(this.startTime=e||+new Date,this._state="running",this._onStart(),this.tick(this.startTime))};this.register(),this.delay>0?setTimeout(()=>Tn(t),this.delay):Tn(t)}tick(t){const e=(t||+new Date)-this.startTime,i=Math.min(e,this.duration);this.durationProgress=i/this.duration;const{value:s,valueProgress:r}=this.calculate(i);this.value=Object.freeze(s),this.valueProgress=r,this._state!=="aborted"&&(this._abort(this.value,this.valueProgress,this.durationProgress)?(this._state="aborted",this.unregister()):e>=this.duration?(this.durationProgress=this.valueProgress=1,this._onChange(this.endValue,this.valueProgress,this.durationProgress),this._state="completed",this._onComplete(this.endValue,this.valueProgress,this.durationProgress),this.unregister()):(this._onChange(this.value,this.valueProgress,this.durationProgress),Tn(this.tick)))}register(){Bn.push(this)}unregister(){Bn.remove(this)}abort(){this._state="aborted",this.unregister()}}const Jm=["startValue","endValue"];class Qm extends ol{constructor(t){let{startValue:e=0,endValue:i=100}=t;super(_(_({},gt(t,Jm)),{},{startValue:e,byValue:i-e}))}calculate(t){const e=this.easing(t,this.startValue,this.byValue,this.duration);return{value:e,valueProgress:Math.abs((e-this.startValue)/this.byValue)}}}const tv=["startValue","endValue"];class ev extends ol{constructor(t){let{startValue:e=[0],endValue:i=[100]}=t;super(_(_({},gt(t,tv)),{},{startValue:e,byValue:i.map((s,r)=>s-e[r])}))}calculate(t){const e=this.startValue.map((i,s)=>this.easing(t,i,this.byValue[s],this.duration,s));return{value:e,valueProgress:Math.abs((e[0]-this.startValue[0])/this.byValue[0])}}}const iv=["startValue","endValue","easing","onChange","onComplete","abort"],sv=(n,t,e,i)=>t+e*(1-Math.cos(n/i*jr)),zo=n=>n&&((t,e,i)=>n(new st(t).toRgba(),e,i));class rv extends ol{constructor(t){let{startValue:e,endValue:i,easing:s=sv,onChange:r,onComplete:o,abort:a}=t,l=gt(t,iv);const c=new st(e).getSource(),h=new st(i).getSource();super(_(_({},l),{},{startValue:c,byValue:h.map((u,d)=>u-c[d]),easing:s,onChange:zo(r),onComplete:zo(o),abort:zo(a)}))}calculate(t){const[e,i,s,r]=this.startValue.map((a,l)=>this.easing(t,a,this.byValue[l],this.duration,l)),o=[...[e,i,s].map(Math.round),Ds(0,r,1)];return{value:o,valueProgress:o.map((a,l)=>this.byValue[l]!==0?Math.abs((a-this.startValue[l])/this.byValue[l]):0).find(a=>a!==0)||0}}}function xu(n){const t=(e=>Array.isArray(e.startValue)||Array.isArray(e.endValue))(n)?new ev(n):new Qm(n);return t.start(),t}function nv(n){const t=new rv(n);return t.start(),t}class ft{constructor(t){this.status=t,this.points=[]}includes(t){return this.points.some(e=>e.eq(t))}append(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return this.points=this.points.concat(e.filter(s=>!this.includes(s))),this}static isPointContained(t,e,i){let s=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(e.eq(i))return t.eq(e);if(e.x===i.x)return t.x===e.x&&(s||t.y>=Math.min(e.y,i.y)&&t.y<=Math.max(e.y,i.y));if(e.y===i.y)return t.y===e.y&&(s||t.x>=Math.min(e.x,i.x)&&t.x<=Math.max(e.x,i.x));{const r=ma(e,i),o=ma(e,t).divide(r);return s?Math.abs(o.x)===Math.abs(o.y):o.x===o.y&&o.x>=0&&o.x<=1}}static isPointInPolygon(t,e){const i=new w(t).setX(Math.min(t.x-1,...e.map(r=>r.x)));let s=0;for(let r=0;r<e.length;r++){const o=this.intersectSegmentSegment(e[r],e[(r+1)%e.length],t,i);if(o.includes(t))return!0;s+=+(o.status==="Intersection")}return s%2==1}static intersectLineLine(t,e,i,s){let r=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],o=!(arguments.length>5&&arguments[5]!==void 0)||arguments[5];const a=e.x-t.x,l=e.y-t.y,c=s.x-i.x,h=s.y-i.y,u=t.x-i.x,d=t.y-i.y,p=c*d-h*u,g=a*d-l*u,f=h*a-c*l;if(f!==0){const m=p/f,v=g/f;return(r||0<=m&&m<=1)&&(o||0<=v&&v<=1)?new ft("Intersection").append(new w(t.x+m*a,t.y+m*l)):new ft}if(p===0||g===0){const m=r||o||ft.isPointContained(t,i,s)||ft.isPointContained(e,i,s)||ft.isPointContained(i,t,e)||ft.isPointContained(s,t,e);return new ft(m?"Coincident":void 0)}return new ft("Parallel")}static intersectSegmentLine(t,e,i,s){return ft.intersectLineLine(t,e,i,s,!1,!0)}static intersectSegmentSegment(t,e,i,s){return ft.intersectLineLine(t,e,i,s,!1,!1)}static intersectLinePolygon(t,e,i){let s=!(arguments.length>3&&arguments[3]!==void 0)||arguments[3];const r=new ft,o=i.length;for(let a,l,c,h=0;h<o;h++){if(a=i[h],l=i[(h+1)%o],c=ft.intersectLineLine(t,e,a,l,s,!1),c.status==="Coincident")return c;r.append(...c.points)}return r.points.length>0&&(r.status="Intersection"),r}static intersectSegmentPolygon(t,e,i){return ft.intersectLinePolygon(t,e,i,!1)}static intersectPolygonPolygon(t,e){const i=new ft,s=t.length,r=[];for(let o=0;o<s;o++){const a=t[o],l=t[(o+1)%s],c=ft.intersectSegmentPolygon(a,l,e);c.status==="Coincident"?(r.push(c),i.append(a,l)):i.append(...c.points)}return r.length>0&&r.length===t.length?new ft("Coincident"):(i.points.length>0&&(i.status="Intersection"),i)}static intersectPolygonRectangle(t,e,i){const s=e.min(i),r=e.max(i),o=new w(r.x,s.y),a=new w(s.x,r.y);return ft.intersectPolygonPolygon(t,[s,o,r,a])}}class ov extends iu{getX(){return this.getXY().x}setX(t){this.setXY(this.getXY().setX(t))}getY(){return this.getXY().y}setY(t){this.setXY(this.getXY().setY(t))}getRelativeX(){return this.left}setRelativeX(t){this.left=t}getRelativeY(){return this.top}setRelativeY(t){this.top=t}getXY(){const t=this.getRelativeXY();return this.group?ne(t,this.group.calcTransformMatrix()):t}setXY(t,e,i){this.group&&(t=ne(t,Ie(this.group.calcTransformMatrix()))),this.setRelativeXY(t,e,i)}getRelativeXY(){return new w(this.left,this.top)}setRelativeXY(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.originX,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.originY;this.setPositionByOrigin(t,e,i)}isStrokeAccountedForInDimensions(){return!1}getCoords(){const{tl:t,tr:e,br:i,bl:s}=this.aCoords||(this.aCoords=this.calcACoords()),r=[t,e,i,s];if(this.group){const o=this.group.calcTransformMatrix();return r.map(a=>ne(a,o))}return r}intersectsWithRect(t,e){return ft.intersectPolygonRectangle(this.getCoords(),t,e).status==="Intersection"}intersectsWithObject(t){const e=ft.intersectPolygonPolygon(this.getCoords(),t.getCoords());return e.status==="Intersection"||e.status==="Coincident"||t.isContainedWithinObject(this)||this.isContainedWithinObject(t)}isContainedWithinObject(t){return this.getCoords().every(e=>t.containsPoint(e))}isContainedWithinRect(t,e){const{left:i,top:s,width:r,height:o}=this.getBoundingRect();return i>=t.x&&i+r<=e.x&&s>=t.y&&s+o<=e.y}isOverlapping(t){return this.intersectsWithObject(t)||this.isContainedWithinObject(t)||t.isContainedWithinObject(this)}containsPoint(t){return ft.isPointInPolygon(t,this.getCoords())}isOnScreen(){if(!this.canvas)return!1;const{tl:t,br:e}=this.canvas.vptCoords;return!!this.getCoords().some(i=>i.x<=e.x&&i.x>=t.x&&i.y<=e.y&&i.y>=t.y)||!!this.intersectsWithRect(t,e)||this.containsPoint(t.midPointFrom(e))}isPartiallyOnScreen(){if(!this.canvas)return!1;const{tl:t,br:e}=this.canvas.vptCoords;return this.intersectsWithRect(t,e)?!0:this.getCoords().every(i=>(i.x>=e.x||i.x<=t.x)&&(i.y>=e.y||i.y<=t.y))&&this.containsPoint(t.midPointFrom(e))}getBoundingRect(){return ci(this.getCoords())}getScaledWidth(){return this._getTransformedDimensions().x}getScaledHeight(){return this._getTransformedDimensions().y}scale(t){this._set(pe,t),this._set(Ee,t),this.setCoords()}scaleToWidth(t){const e=this.getBoundingRect().width/this.getScaledWidth();return this.scale(t/this.width/e)}scaleToHeight(t){const e=this.getBoundingRect().height/this.getScaledHeight();return this.scale(t/this.height/e)}getCanvasRetinaScaling(){var t;return((t=this.canvas)===null||t===void 0?void 0:t.getRetinaScaling())||1}getTotalAngle(){return this.group?ss(ru(this.calcTransformMatrix())):this.angle}getViewportTransform(){var t;return((t=this.canvas)===null||t===void 0?void 0:t.viewportTransform)||ie.concat()}calcACoords(){const t=$r({angle:this.angle}),{x:e,y:i}=this.getRelativeCenterPoint(),s=Rr(e,i),r=Vt(s,t),o=this._getTransformedDimensions(),a=o.x/2,l=o.y/2;return{tl:ne({x:-a,y:-l},r),tr:ne({x:a,y:-l},r),bl:ne({x:-a,y:l},r),br:ne({x:a,y:l},r)}}setCoords(){this.aCoords=this.calcACoords()}transformMatrixKey(){let t=arguments.length>0&&arguments[0]!==void 0&&arguments[0],e=[];return!t&&this.group&&(e=this.group.transformMatrixKey(t)),e.push(this.top,this.left,this.width,this.height,this.scaleX,this.scaleY,this.angle,this.strokeWidth,this.skewX,this.skewY,+this.flipX,+this.flipY,Mt(this.originX),Mt(this.originY)),e}calcTransformMatrix(){let t=arguments.length>0&&arguments[0]!==void 0&&arguments[0],e=this.calcOwnMatrix();if(t||!this.group)return e;const i=this.transformMatrixKey(t),s=this.matrixCache;return s&&s.key.every((r,o)=>r===i[o])?s.value:(this.group&&(e=Vt(this.group.calcTransformMatrix(!1),e)),this.matrixCache={key:i,value:e},e)}calcOwnMatrix(){const t=this.transformMatrixKey(!0),e=this.ownMatrixCache;if(e&&e.key===t)return e.value;const i=this.getRelativeCenterPoint(),s={angle:this.angle,translateX:i.x,translateY:i.y,scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY},r=Dm(s);return this.ownMatrixCache={key:t,value:r},r}_getNonTransformedDimensions(){return new w(this.width,this.height).scalarAdd(this.strokeWidth)}_calculateCurrentDimensions(t){return this._getTransformedDimensions(t).transform(this.getViewportTransform(),!0).scalarAdd(2*this.padding)}_getTransformedDimensions(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const e=_({scaleX:this.scaleX,scaleY:this.scaleY,skewX:this.skewX,skewY:this.skewY,width:this.width,height:this.height,strokeWidth:this.strokeWidth},t),i=e.strokeWidth;let s=i,r=0;this.strokeUniform&&(s=0,r=i);const o=e.width+s,a=e.height+s;let l;return l=e.skewX===0&&e.skewY===0?new w(o*e.scaleX,a*e.scaleY):sl(o,a,mo(e)),l.scalarAdd(r)}translateToGivenOrigin(t,e,i,s,r){let o=t.x,a=t.y;const l=Mt(s)-Mt(e),c=Mt(r)-Mt(i);if(l||c){const h=this._getTransformedDimensions();o+=l*h.x,a+=c*h.y}return new w(o,a)}translateToCenterPoint(t,e,i){if(e===K&&i===K)return t;const s=this.translateToGivenOrigin(t,e,i,K,K);return this.angle?s.rotate(kt(this.angle),t):s}translateToOriginPoint(t,e,i){const s=this.translateToGivenOrigin(t,K,K,e,i);return this.angle?s.rotate(kt(this.angle),t):s}getCenterPoint(){const t=this.getRelativeCenterPoint();return this.group?ne(t,this.group.calcTransformMatrix()):t}getRelativeCenterPoint(){return this.translateToCenterPoint(new w(this.left,this.top),this.originX,this.originY)}getPointByOrigin(t,e){return this.translateToOriginPoint(this.getRelativeCenterPoint(),t,e)}setPositionByOrigin(t,e,i){const s=this.translateToCenterPoint(t,e,i),r=this.translateToOriginPoint(s,this.originX,this.originY);this.set({left:r.x,top:r.y})}_getLeftTopCoords(){return this.translateToOriginPoint(this.getRelativeCenterPoint(),it,le)}}const av=["type"],lv=["extraParam"];let Qe=class On extends ov{static getDefaults(){return On.ownDefaults}get type(){const t=this.constructor.type;return t==="FabricObject"?"object":t.toLowerCase()}set type(t){Mi("warn","Setting type has no effect",t)}constructor(t){super(),b(this,"_cacheContext",null),Object.assign(this,On.ownDefaults),this.setOptions(t)}_createCacheCanvas(){this._cacheCanvas=Fe(),this._cacheContext=this._cacheCanvas.getContext("2d"),this._updateCacheCanvas(),this.dirty=!0}_limitCacheSize(t){const e=t.width,i=t.height,s=tt.maxCacheSideLimit,r=tt.minCacheSideLimit;if(e<=s&&i<=s&&e*i<=tt.perfLimitSizeTotal)return e<r&&(t.width=r),i<r&&(t.height=r),t;const o=e/i,[a,l]=or.limitDimsByArea(o),c=Ds(r,a,s),h=Ds(r,l,s);return e>c&&(t.zoomX/=e/c,t.width=c,t.capped=!0),i>h&&(t.zoomY/=i/h,t.height=h,t.capped=!0),t}_getCacheCanvasDimensions(){const t=this.getTotalObjectScaling(),e=this._getTransformedDimensions({skewX:0,skewY:0}),i=e.x*t.x/this.scaleX,s=e.y*t.y/this.scaleY;return{width:Math.ceil(i+2),height:Math.ceil(s+2),zoomX:t.x,zoomY:t.y,x:i,y:s}}_updateCacheCanvas(){const t=this._cacheCanvas,e=this._cacheContext,{width:i,height:s,zoomX:r,zoomY:o,x:a,y:l}=this._limitCacheSize(this._getCacheCanvasDimensions()),c=i!==t.width||s!==t.height,h=this.zoomX!==r||this.zoomY!==o;if(!t||!e)return!1;if(c||h){i!==t.width||s!==t.height?(t.width=i,t.height=s):(e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,t.width,t.height));const u=a/2,d=l/2;return this.cacheTranslationX=Math.round(t.width/2-u)+u,this.cacheTranslationY=Math.round(t.height/2-d)+d,e.translate(this.cacheTranslationX,this.cacheTranslationY),e.scale(r,o),this.zoomX=r,this.zoomY=o,!0}return!1}setOptions(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setOptions(t)}transform(t){const e=this.group&&!this.group._transformDone||this.group&&this.canvas&&t===this.canvas.contextTop,i=this.calcTransformMatrix(!e);t.transform(i[0],i[1],i[2],i[3],i[4],i[5])}getObjectScaling(){if(!this.group)return new w(Math.abs(this.scaleX),Math.abs(this.scaleY));const t=Nn(this.calcTransformMatrix());return new w(Math.abs(t.scaleX),Math.abs(t.scaleY))}getTotalObjectScaling(){const t=this.getObjectScaling();if(this.canvas){const e=this.canvas.getZoom(),i=this.getCanvasRetinaScaling();return t.scalarMultiply(e*i)}return t}getObjectOpacity(){let t=this.opacity;return this.group&&(t*=this.group.getObjectOpacity()),t}_constrainScale(t){return Math.abs(t)<this.minScaleLimit?t<0?-this.minScaleLimit:this.minScaleLimit:t===0?1e-4:t}_set(t,e){t!==pe&&t!==Ee||(e=this._constrainScale(e)),t===pe&&e<0?(this.flipX=!this.flipX,e*=-1):t==="scaleY"&&e<0?(this.flipY=!this.flipY,e*=-1):t!=="shadow"||!e||e instanceof hi||(e=new hi(e));const i=this[t]!==e;return this[t]=e,i&&this.constructor.cacheProperties.includes(t)&&(this.dirty=!0),this.parent&&(this.dirty||i&&this.constructor.stateProperties.includes(t))&&this.parent._set("dirty",!0),this}isNotVisible(){return this.opacity===0||!this.width&&!this.height&&this.strokeWidth===0||!this.visible}render(t){this.isNotVisible()||this.canvas&&this.canvas.skipOffscreen&&!this.group&&!this.isOnScreen()||(t.save(),this._setupCompositeOperation(t),this.drawSelectionBackground(t),this.transform(t),this._setOpacity(t),this._setShadow(t),this.shouldCache()?(this.renderCache(),this.drawCacheOnCanvas(t)):(this._removeCacheCanvas(),this.drawObject(t,!1,{}),this.dirty=!1),t.restore())}drawSelectionBackground(t){}renderCache(t){if(t=t||{},this._cacheCanvas&&this._cacheContext||this._createCacheCanvas(),this.isCacheDirty()&&this._cacheContext){const{zoomX:e,zoomY:i,cacheTranslationX:s,cacheTranslationY:r}=this,{width:o,height:a}=this._cacheCanvas;this.drawObject(this._cacheContext,t.forClipping,{zoomX:e,zoomY:i,cacheTranslationX:s,cacheTranslationY:r,width:o,height:a,parentClipPaths:[]}),this.dirty=!1}}_removeCacheCanvas(){this._cacheCanvas=void 0,this._cacheContext=null}hasStroke(){return this.stroke&&this.stroke!=="transparent"&&this.strokeWidth!==0}hasFill(){return this.fill&&this.fill!=="transparent"}needsItsOwnCache(){return!!(this.paintFirst===he&&this.hasFill()&&this.hasStroke()&&this.shadow)||!!this.clipPath}shouldCache(){return this.ownCaching=this.objectCaching&&(!this.parent||!this.parent.isOnACache())||this.needsItsOwnCache(),this.ownCaching}willDrawShadow(){return!!this.shadow&&(this.shadow.offsetX!==0||this.shadow.offsetY!==0)}drawClipPathOnCache(t,e,i){t.save(),e.inverted?t.globalCompositeOperation="destination-out":t.globalCompositeOperation="destination-in",t.setTransform(1,0,0,1,0,0),t.drawImage(i,0,0),t.restore()}drawObject(t,e,i){const s=this.fill,r=this.stroke;e?(this.fill="black",this.stroke="",this._setClippingProperties(t)):this._renderBackground(t),this._render(t),this._drawClipPath(t,this.clipPath,i),this.fill=s,this.stroke=r}createClipPathLayer(t,e){const i=Ye(e),s=i.getContext("2d");if(s.translate(e.cacheTranslationX,e.cacheTranslationY),s.scale(e.zoomX,e.zoomY),t._cacheCanvas=i,e.parentClipPaths.forEach(r=>{r.transform(s)}),e.parentClipPaths.push(t),t.absolutePositioned){const r=Ie(this.calcTransformMatrix());s.transform(r[0],r[1],r[2],r[3],r[4],r[5])}return t.transform(s),t.drawObject(s,!0,e),i}_drawClipPath(t,e,i){if(!e)return;e._transformDone=!0;const s=this.createClipPathLayer(e,i);this.drawClipPathOnCache(t,e,s)}drawCacheOnCanvas(t){t.scale(1/this.zoomX,1/this.zoomY),t.drawImage(this._cacheCanvas,-this.cacheTranslationX,-this.cacheTranslationY)}isCacheDirty(){let t=arguments.length>0&&arguments[0]!==void 0&&arguments[0];if(this.isNotVisible())return!1;const e=this._cacheCanvas,i=this._cacheContext;return!(!e||!i||t||!this._updateCacheCanvas())||!!(this.dirty||this.clipPath&&this.clipPath.absolutePositioned)&&(e&&i&&!t&&(i.save(),i.setTransform(1,0,0,1,0,0),i.clearRect(0,0,e.width,e.height),i.restore()),!0)}_renderBackground(t){if(!this.backgroundColor)return;const e=this._getNonTransformedDimensions();t.fillStyle=this.backgroundColor,t.fillRect(-e.x/2,-e.y/2,e.x,e.y),this._removeShadow(t)}_setOpacity(t){this.group&&!this.group._transformDone?t.globalAlpha=this.getObjectOpacity():t.globalAlpha*=this.opacity}_setStrokeStyles(t,e){const i=e.stroke;i&&(t.lineWidth=e.strokeWidth,t.lineCap=e.strokeLineCap,t.lineDashOffset=e.strokeDashOffset,t.lineJoin=e.strokeLineJoin,t.miterLimit=e.strokeMiterLimit,we(i)?i.gradientUnits==="percentage"||i.gradientTransform||i.patternTransform?this._applyPatternForTransformedGradient(t,i):(t.strokeStyle=i.toLive(t),this._applyPatternGradientTransform(t,i)):t.strokeStyle=e.stroke)}_setFillStyles(t,e){let{fill:i}=e;i&&(we(i)?(t.fillStyle=i.toLive(t),this._applyPatternGradientTransform(t,i)):t.fillStyle=i)}_setClippingProperties(t){t.globalAlpha=1,t.strokeStyle="transparent",t.fillStyle="#000000"}_setLineDash(t,e){e&&e.length!==0&&t.setLineDash(e)}_setShadow(t){if(!this.shadow)return;const e=this.shadow,i=this.canvas,s=this.getCanvasRetinaScaling(),[r,,,o]=(i==null?void 0:i.viewportTransform)||ie,a=r*s,l=o*s,c=e.nonScaling?new w(1,1):this.getObjectScaling();t.shadowColor=e.color,t.shadowBlur=e.blur*tt.browserShadowBlurConstant*(a+l)*(c.x+c.y)/4,t.shadowOffsetX=e.offsetX*a*c.x,t.shadowOffsetY=e.offsetY*l*c.y}_removeShadow(t){this.shadow&&(t.shadowColor="",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0)}_applyPatternGradientTransform(t,e){if(!we(e))return{offsetX:0,offsetY:0};const i=e.gradientTransform||e.patternTransform,s=-this.width/2+e.offsetX||0,r=-this.height/2+e.offsetY||0;return e.gradientUnits==="percentage"?t.transform(this.width,0,0,this.height,s,r):t.transform(1,0,0,1,s,r),i&&t.transform(i[0],i[1],i[2],i[3],i[4],i[5]),{offsetX:s,offsetY:r}}_renderPaintInOrder(t){this.paintFirst===he?(this._renderStroke(t),this._renderFill(t)):(this._renderFill(t),this._renderStroke(t))}_render(t){}_renderFill(t){this.fill&&(t.save(),this._setFillStyles(t,this),this.fillRule==="evenodd"?t.fill("evenodd"):t.fill(),t.restore())}_renderStroke(t){if(this.stroke&&this.strokeWidth!==0){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this.strokeUniform){const e=this.getObjectScaling();t.scale(1/e.x,1/e.y)}this._setLineDash(t,this.strokeDashArray),this._setStrokeStyles(t,this),t.stroke(),t.restore()}}_applyPatternForTransformedGradient(t,e){var i;const s=this._limitCacheSize(this._getCacheCanvasDimensions()),r=this.getCanvasRetinaScaling(),o=s.x/this.scaleX/r,a=s.y/this.scaleY/r,l=Ye({width:Math.ceil(o),height:Math.ceil(a)}),c=l.getContext("2d");c&&(c.beginPath(),c.moveTo(0,0),c.lineTo(o,0),c.lineTo(o,a),c.lineTo(0,a),c.closePath(),c.translate(o/2,a/2),c.scale(s.zoomX/this.scaleX/r,s.zoomY/this.scaleY/r),this._applyPatternGradientTransform(c,e),c.fillStyle=e.toLive(t),c.fill(),t.translate(-this.width/2-this.strokeWidth/2,-this.height/2-this.strokeWidth/2),t.scale(r*this.scaleX/s.zoomX,r*this.scaleY/s.zoomY),t.strokeStyle=(i=c.createPattern(l,"no-repeat"))!==null&&i!==void 0?i:"")}_findCenterFromElement(){return new w(this.left+this.width/2,this.top+this.height/2)}clone(t){const e=this.toObject(t);return this.constructor.fromObject(e)}cloneAsImage(t){const e=this.toCanvasElement(t);return new(R.getClass("image"))(e)}toCanvasElement(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const e=du(this),i=this.group,s=this.shadow,r=Math.abs,o=t.enableRetinaScaling?Zh():1,a=(t.multiplier||1)*o,l=t.canvasProvider||(y=>new Br(y,{enableRetinaScaling:!1,renderOnAddRemove:!1,skipOffscreen:!1}));delete this.group,t.withoutTransform&&$m(this),t.withoutShadow&&(this.shadow=null),t.viewportTransform&&Nm(this,this.getViewportTransform()),this.setCoords();const c=Fe(),h=this.getBoundingRect(),u=this.shadow,d=new w;if(u){const y=u.blur,x=u.nonScaling?new w(1,1):this.getObjectScaling();d.x=2*Math.round(r(u.offsetX)+y)*r(x.x),d.y=2*Math.round(r(u.offsetY)+y)*r(x.y)}const p=h.width+d.x,g=h.height+d.y;c.width=Math.ceil(p),c.height=Math.ceil(g);const f=l(c);t.format==="jpeg"&&(f.backgroundColor="#fff"),this.setPositionByOrigin(new w(f.width/2,f.height/2),K,K);const m=this.canvas;f._objects=[this],this.set("canvas",f),this.setCoords();const v=f.toCanvasElement(a||1,t);return this.set("canvas",m),this.shadow=s,i&&(this.group=i),this.set(e),this.setCoords(),f._objects=[],f.destroy(),v}toDataURL(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return su(this.toCanvasElement(t),t.format||"png",t.quality||1)}isType(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return e.includes(this.constructor.type)||e.includes(this.type)}complexity(){return 1}toJSON(){return this.toObject()}rotate(t){const{centeredRotation:e,originX:i,originY:s}=this;if(e){const{x:r,y:o}=this.getRelativeCenterPoint();this.originX=K,this.originY=K,this.left=r,this.top=o}if(this.set("angle",t),e){const{x:r,y:o}=this.translateToOriginPoint(this.getRelativeCenterPoint(),i,s);this.left=r,this.top=o,this.originX=i,this.originY=s}}setOnGroup(){}_setupCompositeOperation(t){this.globalCompositeOperation&&(t.globalCompositeOperation=this.globalCompositeOperation)}dispose(){Bn.cancelByTarget(this),this.off(),this._set("canvas",void 0),this._cacheCanvas&&Ge().dispose(this._cacheCanvas),this._cacheCanvas=void 0,this._cacheContext=null}animate(t,e){return Object.entries(t).reduce((i,s)=>{let[r,o]=s;return i[r]=this._animate(r,o,e),i},{})}_animate(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const s=t.split("."),r=this.constructor.colorProperties.includes(s[s.length-1]),{abort:o,startValue:a,onChange:l,onComplete:c}=i,h=_(_({},i),{},{target:this,startValue:a??s.reduce((u,d)=>u[d],this),endValue:e,abort:o==null?void 0:o.bind(this),onChange:(u,d,p)=>{s.reduce((g,f,m)=>(m===s.length-1&&(g[f]=u),g[f]),this),l&&l(u,d,p)},onComplete:(u,d,p)=>{this.setCoords(),c&&c(u,d,p)}});return r?nv(h):xu(h)}isDescendantOf(t){const{parent:e,group:i}=this;return e===t||i===t||!!e&&e.isDescendantOf(t)||!!i&&i!==e&&i.isDescendantOf(t)}getAncestors(){const t=[];let e=this;do e=e.parent,e&&t.push(e);while(e);return t}findCommonAncestors(t){if(this===t)return{fork:[],otherFork:[],common:[this,...this.getAncestors()]};const e=this.getAncestors(),i=t.getAncestors();if(e.length===0&&i.length>0&&this===i[i.length-1])return{fork:[],otherFork:[t,...i.slice(0,i.length-1)],common:[this]};for(let s,r=0;r<e.length;r++){if(s=e[r],s===t)return{fork:[this,...e.slice(0,r)],otherFork:[],common:e.slice(r)};for(let o=0;o<i.length;o++){if(this===i[o])return{fork:[],otherFork:[t,...i.slice(0,o)],common:[this,...e]};if(s===i[o])return{fork:[this,...e.slice(0,r)],otherFork:[t,...i.slice(0,o)],common:e.slice(r)}}}return{fork:[this,...e],otherFork:[t,...i],common:[]}}hasCommonAncestors(t){const e=this.findCommonAncestors(t);return e&&!!e.common.length}isInFrontOf(t){if(this===t)return;const e=this.findCommonAncestors(t);if(e.fork.includes(t))return!0;if(e.otherFork.includes(this))return!1;const i=e.common[0]||this.canvas;if(!i)return;const s=e.fork.pop(),r=e.otherFork.pop(),o=i._objects.indexOf(s),a=i._objects.indexOf(r);return o>-1&&o>a}toObject(){const t=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).concat(On.customProperties,this.constructor.customProperties||[]);let e;const i=tt.NUM_FRACTION_DIGITS,{clipPath:s,fill:r,stroke:o,shadow:a,strokeDashArray:l,left:c,top:h,originX:u,originY:d,width:p,height:g,strokeWidth:f,strokeLineCap:m,strokeDashOffset:v,strokeLineJoin:y,strokeUniform:x,strokeMiterLimit:E,scaleX:O,scaleY:D,angle:C,flipX:T,flipY:F,opacity:j,visible:A,backgroundColor:k,fillRule:P,paintFirst:L,globalCompositeOperation:z,skewX:X,skewY:J}=this;s&&!s.excludeFromExport&&(e=s.toObject(t.concat("inverted","absolutePositioned")));const $=M=>mt(M,i),B=_(_({},Bs(this,t)),{},{type:this.constructor.type,version:ua,originX:u,originY:d,left:$(c),top:$(h),width:$(p),height:$(g),fill:mc(r)?r.toObject():r,stroke:mc(o)?o.toObject():o,strokeWidth:$(f),strokeDashArray:l&&l.concat(),strokeLineCap:m,strokeDashOffset:v,strokeLineJoin:y,strokeUniform:x,strokeMiterLimit:$(E),scaleX:$(O),scaleY:$(D),angle:$(C),flipX:T,flipY:F,opacity:$(j),shadow:a&&a.toObject(),visible:A,backgroundColor:k,fillRule:P,paintFirst:L,globalCompositeOperation:z,skewX:$(X),skewY:$(J)},e?{clipPath:e}:null);return this.includeDefaultValues?B:this._removeDefaultValues(B)}toDatalessObject(t){return this.toObject(t)}_removeDefaultValues(t){const e=this.constructor.getDefaults(),i=Object.keys(e).length>0?e:Object.getPrototypeOf(this);return il(t,(s,r)=>{if(r===it||r===le||r==="type")return!0;const o=i[r];return s!==o&&!(Array.isArray(s)&&Array.isArray(o)&&s.length===0&&o.length===0)})}toString(){return"#<".concat(this.constructor.type,">")}static _fromObject(t){let e=gt(t,av),i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{extraParam:s}=i,r=gt(i,lv);return vo(e,r).then(o=>s?(delete o[s],new this(e[s],o)):new this(o))}static fromObject(t,e){return this._fromObject(t,e)}};b(Qe,"stateProperties",Xm),b(Qe,"cacheProperties",mi),b(Qe,"ownDefaults",Km),b(Qe,"type","FabricObject"),b(Qe,"colorProperties",[Rt,he,"backgroundColor"]),b(Qe,"customProperties",[]),R.setClass(Qe),R.setClass(Qe,"object");const Ns=(n,t,e)=>(i,s,r,o)=>{const a=t(i,s,r,o);return a&&pu(n,_(_({},fu(i,s,r,o)),e)),a};function zs(n){return(t,e,i,s)=>{const{target:r,originX:o,originY:a}=e,l=r.getRelativeCenterPoint(),c=r.translateToOriginPoint(l,o,a),h=n(t,e,i,s);return r.setPositionByOrigin(c,e.originX,e.originY),h}}const Tc=Ns(yr,zs((n,t,e,i)=>{const s=rl(t,t.originX,t.originY,e,i);if(Mt(t.originX)===Mt(K)||Mt(t.originX)===Mt(Ot)&&s.x<0||Mt(t.originX)===Mt(it)&&s.x>0){const{target:r}=t,o=r.strokeWidth/(r.strokeUniform?r.scaleX:1),a=gu(t)?2:1,l=r.width,c=Math.abs(s.x*a/r.scaleX)-o;return r.set("width",Math.max(c,1)),l!==r.width}return!1}));function cv(n,t,e,i,s){i=i||{};const r=this.sizeX||i.cornerSize||s.cornerSize,o=this.sizeY||i.cornerSize||s.cornerSize,a=i.transparentCorners!==void 0?i.transparentCorners:s.transparentCorners,l=a?he:Rt,c=!a&&(i.cornerStrokeColor||s.cornerStrokeColor);let h,u=t,d=e;n.save(),n.fillStyle=i.cornerColor||s.cornerColor||"",n.strokeStyle=i.cornerStrokeColor||s.cornerStrokeColor||"",r>o?(h=r,n.scale(1,o/r),d=e*r/o):o>r?(h=o,n.scale(r/o,1),u=t*o/r):h=r,n.beginPath(),n.arc(u,d,h/2,0,jn,!1),n[l](),c&&n.stroke(),n.restore()}function hv(n,t,e,i,s){i=i||{};const r=this.sizeX||i.cornerSize||s.cornerSize,o=this.sizeY||i.cornerSize||s.cornerSize,a=i.transparentCorners!==void 0?i.transparentCorners:s.transparentCorners,l=a?he:Rt,c=!a&&(i.cornerStrokeColor||s.cornerStrokeColor),h=r/2,u=o/2;n.save(),n.fillStyle=i.cornerColor||s.cornerColor||"",n.strokeStyle=i.cornerStrokeColor||s.cornerStrokeColor||"",n.translate(t,e);const d=s.getTotalAngle();n.rotate(kt(d)),n["".concat(l,"Rect")](-h,-u,r,o),c&&n.strokeRect(-h,-u,r,o),n.restore()}class ke{constructor(t){b(this,"visible",!0),b(this,"actionName",fo),b(this,"angle",0),b(this,"x",0),b(this,"y",0),b(this,"offsetX",0),b(this,"offsetY",0),b(this,"sizeX",0),b(this,"sizeY",0),b(this,"touchSizeX",0),b(this,"touchSizeY",0),b(this,"cursorStyle","crosshair"),b(this,"withConnection",!1),Object.assign(this,t)}shouldActivate(t,e,i,s){var r;let{tl:o,tr:a,br:l,bl:c}=s;return((r=e.canvas)===null||r===void 0?void 0:r.getActiveObject())===e&&e.isControlVisible(t)&&ft.isPointInPolygon(i,[o,a,l,c])}getActionHandler(t,e,i){return this.actionHandler}getMouseDownHandler(t,e,i){return this.mouseDownHandler}getMouseUpHandler(t,e,i){return this.mouseUpHandler}cursorStyleHandler(t,e,i){return e.cursorStyle}getActionName(t,e,i){return e.actionName}getVisibility(t,e){var i,s;return(i=(s=t._controlsVisibility)===null||s===void 0?void 0:s[e])!==null&&i!==void 0?i:this.visible}setVisibility(t,e,i){this.visible=t}positionHandler(t,e,i,s){return new w(this.x*t.x+this.offsetX,this.y*t.y+this.offsetY).transform(e)}calcCornerCoords(t,e,i,s,r,o){const a=tl([Rr(i,s),$r({angle:t}),el((r?this.touchSizeX:this.sizeX)||e,(r?this.touchSizeY:this.sizeY)||e)]);return{tl:new w(-.5,-.5).transform(a),tr:new w(.5,-.5).transform(a),br:new w(.5,.5).transform(a),bl:new w(-.5,.5).transform(a)}}render(t,e,i,s,r){((s=s||{}).cornerStyle||r.cornerStyle)==="circle"?cv.call(this,t,e,i,s,r):hv.call(this,t,e,i,s,r)}}const uv=(n,t,e)=>e.lockRotation?Vn:t.cursorStyle,dv=Ns(Qh,zs((n,t,e,i)=>{let{target:s,ex:r,ey:o,theta:a,originX:l,originY:c}=t;const h=s.translateToOriginPoint(s.getRelativeCenterPoint(),l,c);if(Le(s,"lockRotation"))return!1;const u=Math.atan2(o-h.y,r-h.x),d=Math.atan2(i-h.y,e-h.x);let p=ss(d-u+a);if(s.snapAngle&&s.snapAngle>0){const f=s.snapAngle,m=s.snapThreshold||f,v=Math.ceil(p/f)*f,y=Math.floor(p/f)*f;Math.abs(p-y)<m?p=y:Math.abs(p-v)<m&&(p=v)}p<0&&(p=360+p),p%=360;const g=s.angle!==p;return s.angle=p,g}));function wu(n,t){const e=t.canvas,i=n[e.uniScaleKey];return e.uniformScaling&&!i||!e.uniformScaling&&i}function Cu(n,t,e){const i=Le(n,"lockScalingX"),s=Le(n,"lockScalingY");if(i&&s||!t&&(i||s)&&e||i&&t==="x"||s&&t==="y")return!0;const{width:r,height:o,strokeWidth:a}=n;return r===0&&a===0&&t!=="y"||o===0&&a===0&&t!=="x"}const pv=["e","se","s","sw","w","nw","n","ne","e"],tr=(n,t,e)=>{const i=wu(n,e);if(Cu(e,t.x!==0&&t.y===0?"x":t.x===0&&t.y!==0?"y":"",i))return Vn;const s=mu(e,t);return"".concat(pv[s],"-resize")};function al(n,t,e,i){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{};const r=t.target,o=s.by,a=wu(n,r);let l,c,h,u,d,p;if(Cu(r,o,a))return!1;if(t.gestureScale)c=t.scaleX*t.gestureScale,h=t.scaleY*t.gestureScale;else{if(l=rl(t,t.originX,t.originY,e,i),d=o!=="y"?Math.sign(l.x||t.signX||1):1,p=o!=="x"?Math.sign(l.y||t.signY||1):1,t.signX||(t.signX=d),t.signY||(t.signY=p),Le(r,"lockScalingFlip")&&(t.signX!==d||t.signY!==p))return!1;if(u=r._getTransformedDimensions(),a&&!o){const m=Math.abs(l.x)+Math.abs(l.y),{original:v}=t,y=m/(Math.abs(u.x*v.scaleX/r.scaleX)+Math.abs(u.y*v.scaleY/r.scaleY));c=v.scaleX*y,h=v.scaleY*y}else c=Math.abs(l.x*r.scaleX/u.x),h=Math.abs(l.y*r.scaleY/u.y);gu(t)&&(c*=2,h*=2),t.signX!==d&&o!=="y"&&(t.originX=_c(t.originX),c*=-1,t.signX=d),t.signY!==p&&o!=="x"&&(t.originY=_c(t.originY),h*=-1,t.signY=p)}const g=r.scaleX,f=r.scaleY;return o?(o==="x"&&r.set(pe,c),o==="y"&&r.set(Ee,h)):(!Le(r,"lockScalingX")&&r.set(pe,c),!Le(r,"lockScalingY")&&r.set(Ee,h)),g!==r.scaleX||f!==r.scaleY}const Yr=Ns(go,zs((n,t,e,i)=>al(n,t,e,i))),gv=Ns(go,zs((n,t,e,i)=>al(n,t,e,i,{by:"x"}))),fv=Ns(go,zs((n,t,e,i)=>al(n,t,e,i,{by:"y"}))),mv=["target","ex","ey","skewingSide"],Ho={x:{counterAxis:"y",scale:pe,skew:Rs,lockSkewing:"lockSkewingX",origin:"originX",flip:"flipX"},y:{counterAxis:"x",scale:Ee,skew:$s,lockSkewing:"lockSkewingY",origin:"originY",flip:"flipY"}},vv=["ns","nesw","ew","nwse"],bv=(n,t,e)=>{if(t.x!==0&&Le(e,"lockSkewingY")||t.y!==0&&Le(e,"lockSkewingX"))return Vn;const i=mu(e,t)%4;return"".concat(vv[i],"-resize")};function Su(n,t,e,i,s){const{target:r}=e,{counterAxis:o,origin:a,lockSkewing:l,skew:c,flip:h}=Ho[n];if(Le(r,l))return!1;const{origin:u,flip:d}=Ho[o],p=Mt(e[u])*(r[d]?-1:1),g=-Math.sign(p)*(r[h]?-1:1),f=.5*-((r[c]===0&&rl(e,K,K,i,s)[n]>0||r[c]>0?1:-1)*g)+.5;return Ns(tu,zs((v,y,x,E)=>function(O,D,C){let{target:T,ex:F,ey:j,skewingSide:A}=D,k=gt(D,mv);const{skew:P}=Ho[O],L=C.subtract(new w(F,j)).divide(new w(T.scaleX,T.scaleY))[O],z=T[P],X=k[P],J=Math.tan(kt(X)),$=O==="y"?T._getTransformedDimensions({scaleX:1,scaleY:1,skewX:0}).x:T._getTransformedDimensions({scaleX:1,scaleY:1}).y,B=2*L*A/Math.max($,1)+J,M=ss(Math.atan(B));T.set(P,M);const H=z!==T[P];if(H&&O==="y"){const{skewX:Q,scaleX:Ct}=T,at=T._getTransformedDimensions({skewY:z}),ge=T._getTransformedDimensions(),I=Q!==0?at.x/ge.x:1;I!==1&&T.set(pe,I*Ct)}return H}(n,y,new w(x,E))))(t,_(_({},e),{},{[a]:f,skewingSide:g}),i,s)}const _v=(n,t,e,i)=>Su("x",n,t,e,i),yv=(n,t,e,i)=>Su("y",n,t,e,i);function yo(n,t){return n[t.canvas.altActionKey]}const Xr=(n,t,e)=>{const i=yo(n,e);return t.x===0?i?Rs:Ee:t.y===0?i?$s:pe:""},_s=(n,t,e)=>yo(n,e)?bv(0,t,e):tr(n,t,e),Ec=(n,t,e,i)=>yo(n,t.target)?yv(n,t,e,i):gv(n,t,e,i),Oc=(n,t,e,i)=>yo(n,t.target)?_v(n,t,e,i):fv(n,t,e,i),Tu=()=>({ml:new ke({x:-.5,y:0,cursorStyleHandler:_s,actionHandler:Ec,getActionName:Xr}),mr:new ke({x:.5,y:0,cursorStyleHandler:_s,actionHandler:Ec,getActionName:Xr}),mb:new ke({x:0,y:.5,cursorStyleHandler:_s,actionHandler:Oc,getActionName:Xr}),mt:new ke({x:0,y:-.5,cursorStyleHandler:_s,actionHandler:Oc,getActionName:Xr}),tl:new ke({x:-.5,y:-.5,cursorStyleHandler:tr,actionHandler:Yr}),tr:new ke({x:.5,y:-.5,cursorStyleHandler:tr,actionHandler:Yr}),bl:new ke({x:-.5,y:.5,cursorStyleHandler:tr,actionHandler:Yr}),br:new ke({x:.5,y:.5,cursorStyleHandler:tr,actionHandler:Yr}),mtr:new ke({x:0,y:-.5,actionHandler:dv,cursorStyleHandler:uv,offsetY:-40,withConnection:!0,actionName:Ja})}),xv=()=>({mr:new ke({x:.5,y:0,actionHandler:Tc,cursorStyleHandler:_s,actionName:yr}),ml:new ke({x:-.5,y:0,actionHandler:Tc,cursorStyleHandler:_s,actionName:yr})}),wv=()=>_(_({},Tu()),xv());class Cr extends Qe{static getDefaults(){return _(_({},super.getDefaults()),Cr.ownDefaults)}constructor(t){super(),Object.assign(this,this.constructor.createControls(),Cr.ownDefaults),this.setOptions(t)}static createControls(){return{controls:Tu()}}_updateCacheCanvas(){const t=this.canvas;if(this.noScaleCache&&t&&t._currentTransform){const e=t._currentTransform,i=e.target,s=e.action;if(this===i&&s&&s.startsWith(fo))return!1}return super._updateCacheCanvas()}getActiveControl(){const t=this.__corner;return t?{key:t,control:this.controls[t],coord:this.oCoords[t]}:void 0}findControl(t){let e=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!this.hasControls||!this.canvas)return;this.__corner=void 0;const i=Object.entries(this.oCoords);for(let s=i.length-1;s>=0;s--){const[r,o]=i[s],a=this.controls[r];if(a.shouldActivate(r,this,t,e?o.touchCorner:o.corner))return this.__corner=r,{key:r,control:a,coord:this.oCoords[r]}}}calcOCoords(){const t=this.getViewportTransform(),e=this.getCenterPoint(),i=Rr(e.x,e.y),s=$r({angle:this.getTotalAngle()-(this.group&&this.flipX?180:0)}),r=Vt(i,s),o=Vt(t,r),a=Vt(o,[1/t[0],0,0,1/t[3],0,0]),l=this.group?Nn(this.calcTransformMatrix()):void 0;l&&(l.scaleX=Math.abs(l.scaleX),l.scaleY=Math.abs(l.scaleY));const c=this._calculateCurrentDimensions(l),h={};return this.forEachControl((u,d)=>{const p=u.positionHandler(c,a,this,u);h[d]=Object.assign(p,this._calcCornerCoords(u,p))}),h}_calcCornerCoords(t,e){const i=this.getTotalAngle();return{corner:t.calcCornerCoords(i,this.cornerSize,e.x,e.y,!1,this),touchCorner:t.calcCornerCoords(i,this.touchCornerSize,e.x,e.y,!0,this)}}setCoords(){super.setCoords(),this.canvas&&(this.oCoords=this.calcOCoords())}forEachControl(t){for(const e in this.controls)t(this.controls[e],e,this)}drawSelectionBackground(t){if(!this.selectionBackgroundColor||this.canvas&&this.canvas._activeObject!==this)return;t.save();const e=this.getRelativeCenterPoint(),i=this._calculateCurrentDimensions(),s=this.getViewportTransform();t.translate(e.x,e.y),t.scale(1/s[0],1/s[3]),t.rotate(kt(this.angle)),t.fillStyle=this.selectionBackgroundColor,t.fillRect(-i.x/2,-i.y/2,i.x,i.y),t.restore()}strokeBorders(t,e){t.strokeRect(-e.x/2,-e.y/2,e.x,e.y)}_drawBorders(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const s=_({hasControls:this.hasControls,borderColor:this.borderColor,borderDashArray:this.borderDashArray},i);t.save(),t.strokeStyle=s.borderColor,this._setLineDash(t,s.borderDashArray),this.strokeBorders(t,e),s.hasControls&&this.drawControlsConnectingLines(t,e),t.restore()}_renderControls(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{hasBorders:i,hasControls:s}=this,r=_({hasBorders:i,hasControls:s},e),o=this.getViewportTransform(),a=r.hasBorders,l=r.hasControls,c=Vt(o,this.calcTransformMatrix()),h=Nn(c);t.save(),t.translate(h.translateX,h.translateY),t.lineWidth=this.borderScaleFactor,this.group===this.parent&&(t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1),this.flipX&&(h.angle-=180),t.rotate(kt(this.group?h.angle:this.angle)),a&&this.drawBorders(t,h,e),l&&this.drawControls(t,e),t.restore()}drawBorders(t,e,i){let s;if(i&&i.forActiveSelection||this.group){const r=sl(this.width,this.height,mo(e)),o=this.isStrokeAccountedForInDimensions()?Qa:(this.strokeUniform?new w().scalarAdd(this.canvas?this.canvas.getZoom():1):new w(e.scaleX,e.scaleY)).scalarMultiply(this.strokeWidth);s=r.add(o).scalarAdd(this.borderScaleFactor).scalarAdd(2*this.padding)}else s=this._calculateCurrentDimensions().scalarAdd(this.borderScaleFactor);this._drawBorders(t,s,i)}drawControlsConnectingLines(t,e){let i=!1;t.beginPath(),this.forEachControl((s,r)=>{s.withConnection&&s.getVisibility(this,r)&&(i=!0,t.moveTo(s.x*e.x,s.y*e.y),t.lineTo(s.x*e.x+s.offsetX,s.y*e.y+s.offsetY))}),i&&t.stroke()}drawControls(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};t.save();const i=this.getCanvasRetinaScaling(),{cornerStrokeColor:s,cornerDashArray:r,cornerColor:o}=this,a=_({cornerStrokeColor:s,cornerDashArray:r,cornerColor:o},e);t.setTransform(i,0,0,i,0,0),t.strokeStyle=t.fillStyle=a.cornerColor,this.transparentCorners||(t.strokeStyle=a.cornerStrokeColor),this._setLineDash(t,a.cornerDashArray),this.forEachControl((l,c)=>{if(l.getVisibility(this,c)){const h=this.oCoords[c];l.render(t,h.x,h.y,a,this)}}),t.restore()}isControlVisible(t){return this.controls[t]&&this.controls[t].getVisibility(this,t)}setControlVisible(t,e){this._controlsVisibility||(this._controlsVisibility={}),this._controlsVisibility[t]=e}setControlsVisibility(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Object.entries(t).forEach(e=>{let[i,s]=e;return this.setControlVisible(i,s)})}clearContextTop(t){if(!this.canvas)return;const e=this.canvas.contextTop;if(!e)return;const i=this.canvas.viewportTransform;e.save(),e.transform(i[0],i[1],i[2],i[3],i[4],i[5]),this.transform(e);const s=this.width+4,r=this.height+4;return e.clearRect(-s/2,-r/2,s,r),t||e.restore(),e}onDeselect(t){return!1}onSelect(t){return!1}shouldStartDragging(t){return!1}onDragStart(t){return!1}canDrop(t){return!1}renderDragSourceEffect(t){}renderDropTargetEffect(t){}}function Eu(n,t){return t.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(i=>{i!=="constructor"&&Object.defineProperty(n.prototype,i,Object.getOwnPropertyDescriptor(e.prototype,i)||Object.create(null))})}),n}b(Cr,"ownDefaults",{noScaleCache:!0,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockSkewingX:!1,lockSkewingY:!1,lockScalingFlip:!1,cornerSize:13,touchCornerSize:24,transparentCorners:!0,cornerColor:"rgb(178,204,255)",cornerStrokeColor:"",cornerStyle:"rect",cornerDashArray:null,hasControls:!0,borderColor:"rgb(178,204,255)",borderDashArray:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,hasBorders:!0,selectionBackgroundColor:"",selectable:!0,evented:!0,perPixelTargetFind:!1,activeOn:"down",hoverCursor:null,moveCursor:null});class Kt extends Cr{}Eu(Kt,[vu]),R.setClass(Kt),R.setClass(Kt,"object");const Cv=(n,t,e,i)=>{const s=2*(i=Math.round(i))+1,{data:r}=n.getImageData(t-i,e-i,s,s);for(let o=3;o<r.length;o+=4)if(r[o]>0)return!1;return!0};class Ou{constructor(t){this.options=t,this.strokeProjectionMagnitude=this.options.strokeWidth/2,this.scale=new w(this.options.scaleX,this.options.scaleY),this.strokeUniformScalar=this.options.strokeUniform?new w(1/this.options.scaleX,1/this.options.scaleY):new w(1,1)}createSideVector(t,e){const i=ma(t,e);return this.options.strokeUniform?i.multiply(this.scale):i}projectOrthogonally(t,e,i){return this.applySkew(t.add(this.calcOrthogonalProjection(t,e,i)))}isSkewed(){return this.options.skewX!==0||this.options.skewY!==0}applySkew(t){const e=new w(t);return e.y+=e.x*Math.tan(kt(this.options.skewY)),e.x+=e.y*Math.tan(kt(this.options.skewX)),e}scaleUnitVector(t,e){return t.multiply(this.strokeUniformScalar).scalarMultiply(e)}}const Sv=new w;class Es extends Ou{static getOrthogonalRotationFactor(t,e){const i=e?ba(t,e):Gm(t);return Math.abs(i)<jr?-1:1}constructor(t,e,i,s){super(s),b(this,"AB",void 0),b(this,"AC",void 0),b(this,"alpha",void 0),b(this,"bisector",void 0),this.A=new w(t),this.B=new w(e),this.C=new w(i),this.AB=this.createSideVector(this.A,this.B),this.AC=this.createSideVector(this.A,this.C),this.alpha=ba(this.AB,this.AC),this.bisector=nl(_u(this.AB.eq(Sv)?this.AC:this.AB,this.alpha/2))}calcOrthogonalProjection(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.strokeProjectionMagnitude;const s=this.createSideVector(t,e),r=yu(s),o=Es.getOrthogonalRotationFactor(r,this.bisector);return this.scaleUnitVector(r,i*o)}projectBevel(){const t=[];return(this.alpha%jn==0?[this.B]:[this.B,this.C]).forEach(e=>{t.push(this.projectOrthogonally(this.A,e)),t.push(this.projectOrthogonally(this.A,e,-this.strokeProjectionMagnitude))}),t}projectMiter(){const t=[],e=Math.abs(this.alpha),i=1/Math.sin(e/2),s=this.scaleUnitVector(this.bisector,-this.strokeProjectionMagnitude*i),r=this.options.strokeUniform?va(this.scaleUnitVector(this.bisector,this.options.strokeMiterLimit)):this.options.strokeMiterLimit;return va(s)/this.strokeProjectionMagnitude<=r&&t.push(this.applySkew(this.A.add(s))),t.push(...this.projectBevel()),t}projectRoundNoSkew(t,e){const i=[],s=new w(Es.getOrthogonalRotationFactor(this.bisector),Es.getOrthogonalRotationFactor(new w(this.bisector.y,this.bisector.x)));return[new w(1,0).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(s),new w(0,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar).multiply(s)].forEach(r=>{wc(r,t,e)&&i.push(this.A.add(r))}),i}projectRoundWithSkew(t,e){const i=[],{skewX:s,skewY:r,scaleX:o,scaleY:a,strokeUniform:l}=this.options,c=new w(Math.tan(kt(s)),Math.tan(kt(r))),h=this.strokeProjectionMagnitude,u=l?h/a/Math.sqrt(1/a**2+1/o**2*c.y**2):h/Math.sqrt(1+c.y**2),d=new w(Math.sqrt(Math.max(h**2-u**2,0)),u),p=l?h/Math.sqrt(1+c.x**2*(1/a)**2/(1/o+1/o*c.x*c.y)**2):h/Math.sqrt(1+c.x**2/(1+c.x*c.y)**2),g=new w(p,Math.sqrt(Math.max(h**2-p**2,0)));return[g,g.scalarMultiply(-1),d,d.scalarMultiply(-1)].map(f=>this.applySkew(l?f.multiply(this.strokeUniformScalar):f)).forEach(f=>{wc(f,t,e)&&i.push(this.applySkew(this.A).add(f))}),i}projectRound(){const t=[];t.push(...this.projectBevel());const e=this.alpha%jn==0,i=this.applySkew(this.A),s=t[e?0:2].subtract(i),r=t[e?1:0].subtract(i),o=e?this.applySkew(this.AB.scalarMultiply(-1)):this.applySkew(this.bisector.multiply(this.strokeUniformScalar).scalarMultiply(-1)),a=ar(s,o)>0,l=a?s:r,c=a?r:s;return this.isSkewed()?t.push(...this.projectRoundWithSkew(l,c)):t.push(...this.projectRoundNoSkew(l,c)),t}projectPoints(){switch(this.options.strokeLineJoin){case"miter":return this.projectMiter();case"round":return this.projectRound();default:return this.projectBevel()}}project(){return this.projectPoints().map(t=>({originPoint:this.A,projectedPoint:t,angle:this.alpha,bisector:this.bisector}))}}class kc extends Ou{constructor(t,e,i){super(i),this.A=new w(t),this.T=new w(e)}calcOrthogonalProjection(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.strokeProjectionMagnitude;const s=this.createSideVector(t,e);return this.scaleUnitVector(yu(s),i)}projectButt(){return[this.projectOrthogonally(this.A,this.T,this.strokeProjectionMagnitude),this.projectOrthogonally(this.A,this.T,-this.strokeProjectionMagnitude)]}projectRound(){const t=[];if(!this.isSkewed()&&this.A.eq(this.T)){const e=new w(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);t.push(this.applySkew(this.A.add(e)),this.applySkew(this.A.subtract(e)))}else t.push(...new Es(this.A,this.T,this.T,this.options).projectRound());return t}projectSquare(){const t=[];if(this.A.eq(this.T)){const e=new w(1,1).scalarMultiply(this.strokeProjectionMagnitude).multiply(this.strokeUniformScalar);t.push(this.A.add(e),this.A.subtract(e))}else{const e=this.calcOrthogonalProjection(this.A,this.T,this.strokeProjectionMagnitude),i=this.scaleUnitVector(nl(this.createSideVector(this.A,this.T)),-this.strokeProjectionMagnitude),s=this.A.add(i);t.push(s.add(e),s.subtract(e))}return t.map(e=>this.applySkew(e))}projectPoints(){switch(this.options.strokeLineCap){case"round":return this.projectRound();case"square":return this.projectSquare();default:return this.projectButt()}}project(){return this.projectPoints().map(t=>({originPoint:this.A,projectedPoint:t}))}}const Tv=function(n,t){let e=arguments.length>2&&arguments[2]!==void 0&&arguments[2];const i=[];if(n.length===0)return i;const s=n.reduce((r,o)=>(r[r.length-1].eq(o)||r.push(new w(o)),r),[new w(n[0])]);if(s.length===1)e=!0;else if(!e){const r=s[0],o=((a,l)=>{for(let c=a.length-1;c>=0;c--)if(l(a[c],c,a))return c;return-1})(s,a=>!a.eq(r));s.splice(o+1)}return s.forEach((r,o,a)=>{let l,c;o===0?(c=a[1],l=e?r:a[a.length-1]):o===a.length-1?(l=a[o-1],c=e?r:a[0]):(l=a[o-1],c=a[o+1]),e&&a.length===1?i.push(...new kc(r,r,t).project()):!e||o!==0&&o!==a.length-1?i.push(...new Es(r,l,c,t).project()):i.push(...new kc(r,o===0?c:l,t).project())}),i},ll=n=>{const t={};return Object.keys(n).forEach(e=>{t[e]={},Object.keys(n[e]).forEach(i=>{t[e][i]=_({},n[e][i])})}),t},Ev=n=>n.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">"),cl=n=>{const t=[];for(let e,i=0;i<n.length;i++)(e=Ov(n,i))!==!1&&t.push(e);return t},Ov=(n,t)=>{const e=n.charCodeAt(t);if(isNaN(e))return"";if(e<55296||e>57343)return n.charAt(t);if(55296<=e&&e<=56319){if(n.length<=t+1)throw"High surrogate without following low surrogate";const s=n.charCodeAt(t+1);if(56320>s||s>57343)throw"High surrogate without following low surrogate";return n.charAt(t)+n.charAt(t+1)}if(t===0)throw"Low surrogate without preceding high surrogate";const i=n.charCodeAt(t-1);if(55296>i||i>56319)throw"Low surrogate without preceding high surrogate";return!1},hl=function(n,t){let e=arguments.length>2&&arguments[2]!==void 0&&arguments[2];return n.fill!==t.fill||n.stroke!==t.stroke||n.strokeWidth!==t.strokeWidth||n.fontSize!==t.fontSize||n.fontFamily!==t.fontFamily||n.fontWeight!==t.fontWeight||n.fontStyle!==t.fontStyle||n.textBackgroundColor!==t.textBackgroundColor||n.deltaY!==t.deltaY||e&&(n.overline!==t.overline||n.underline!==t.underline||n.linethrough!==t.linethrough)},kv=(n,t)=>{const e=t.split(`
|
|
2534
2552
|
`),i=[];let s=-1,r={};n=ll(n);for(let o=0;o<e.length;o++){const a=cl(e[o]);if(n[o])for(let l=0;l<a.length;l++){s++;const c=n[o][l];c&&Object.keys(c).length>0&&(hl(r,c,!0)?i.push({start:s,end:s+1,style:c}):i[i.length-1].end++),r=c||{}}else s+=a.length,r={}}return i},Av=(n,t)=>{if(!Array.isArray(n))return ll(n);const e=t.split(Za),i={};let s=-1,r=0;for(let o=0;o<e.length;o++){const a=cl(e[o]);for(let l=0;l<a.length;l++)s++,n[r]&&n[r].start<=s&&s<n[r].end&&(i[o]=i[o]||{},i[o][l]=_({},n[r].style),s===n[r].end-1&&r++)}return i},Bi=["display","transform",Rt,"fill-opacity","fill-rule","opacity",he,"stroke-dasharray","stroke-linecap","stroke-dashoffset","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","id","paint-order","vector-effect","instantiated_by_use","clip-path"];function Ac(n,t){const e=n.nodeName,i=n.getAttribute("class"),s=n.getAttribute("id"),r="(?![a-zA-Z\\-]+)";let o;if(o=new RegExp("^"+e,"i"),t=t.replace(o,""),s&&t.length&&(o=new RegExp("#"+s+r,"i"),t=t.replace(o,"")),i&&t.length){const a=i.split(" ");for(let l=a.length;l--;)o=new RegExp("\\."+a[l]+r,"i"),t=t.replace(o,"")}return t.length===0}function Pv(n,t){let e=!0;const i=Ac(n,t.pop());return i&&t.length&&(e=function(s,r){let o,a=!0;for(;s.parentElement&&s.parentElement.nodeType===1&&r.length;)a&&(o=r.pop()),a=Ac(s=s.parentElement,o);return r.length===0}(n,t)),i&&e&&t.length===0}const Dv=n=>{var t;return(t=Um[n])!==null&&t!==void 0?t:n},Mv=new RegExp("(".concat(rs,")"),"gi"),Iv=n=>n.replace(Mv," $1 ").replace(/,/gi," ").replace(/\s+/gi," ");var Pc,Dc,Mc,Ic,Lc,Fc,jc;const ee="(".concat(rs,")"),Lv=String.raw(Pc||(Pc=$i(["(skewX)(",")"],["(skewX)\\(","\\)"])),ee),Fv=String.raw(Dc||(Dc=$i(["(skewY)(",")"],["(skewY)\\(","\\)"])),ee),jv=String.raw(Mc||(Mc=$i(["(rotate)(","(?: "," ",")?)"],["(rotate)\\(","(?: "," ",")?\\)"])),ee,ee,ee),Rv=String.raw(Ic||(Ic=$i(["(scale)(","(?: ",")?)"],["(scale)\\(","(?: ",")?\\)"])),ee,ee),$v=String.raw(Lc||(Lc=$i(["(translate)(","(?: ",")?)"],["(translate)\\(","(?: ",")?\\)"])),ee,ee),Bv=String.raw(Fc||(Fc=$i(["(matrix)("," "," "," "," "," ",")"],["(matrix)\\("," "," "," "," "," ","\\)"])),ee,ee,ee,ee,ee,ee),ul="(?:".concat(Bv,"|").concat($v,"|").concat(jv,"|").concat(Rv,"|").concat(Lv,"|").concat(Fv,")"),Nv="(?:".concat(ul,"*)"),zv=String.raw(jc||(jc=$i(["^s*(?:","?)s*$"],["^\\s*(?:","?)\\s*$"])),Nv),Hv=new RegExp(zv),Vv=new RegExp(ul),Uv=new RegExp(ul,"g");function _a(n){const t=[];if(!(n=Iv(n).replace(/\s*([()])\s*/gi,"$1"))||n&&!Hv.test(n))return[...ie];for(const e of n.matchAll(Uv)){const i=Vv.exec(e[0]);if(!i)continue;let s=ie;const r=i.filter(g=>!!g),[,o,...a]=r,[l,c,h,u,d,p]=a.map(g=>parseFloat(g));switch(o){case"translate":s=Rr(l,c);break;case Ja:s=$r({angle:l},{x:c,y:h});break;case fo:s=el(l,c);break;case Rs:s=ou(l);break;case $s:s=au(l);break;case"matrix":s=[l,c,h,u,d,p]}t.push(s)}return tl(t)}function Wv(n,t,e,i){const s=Array.isArray(t);let r,o=t;if(n!==Rt&&n!==he||t!==ce){if(n==="strokeUniform")return t==="non-scaling-stroke";if(n==="strokeDashArray")o=t===ce?null:t.replace(/,/g," ").split(/\s+/).map(parseFloat);else if(n==="transformMatrix")o=e&&e.transformMatrix?Vt(e.transformMatrix,_a(t)):_a(t);else if(n==="visible")o=t!==ce&&t!=="hidden",e&&e.visible===!1&&(o=!1);else if(n==="opacity")o=parseFloat(t),e&&e.opacity!==void 0&&(o*=e.opacity);else if(n==="textAnchor")o=t==="start"?it:t==="end"?Ot:K;else if(n==="charSpacing")r=Ss(t,i)/i*1e3;else if(n==="paintFirst"){const a=t.indexOf(Rt),l=t.indexOf(he);o=Rt,(a>-1&&l>-1&&l<a||a===-1&&l>-1)&&(o=he)}else{if(n==="href"||n==="xlink:href"||n==="font"||n==="id")return t;if(n==="imageSmoothing")return t==="optimizeQuality";r=s?t.map(Ss):Ss(t,i)}}else o="";return!s&&isNaN(r)?o:r}function Gv(n,t){const e=n.match(Vm);if(!e)return;const i=e[1],s=e[3],r=e[4],o=e[5],a=e[6];i&&(t.fontStyle=i),s&&(t.fontWeight=isNaN(parseFloat(s))?s:parseFloat(s)),r&&(t.fontSize=Ss(r)),a&&(t.fontFamily=a),o&&(t.lineHeight=o==="normal"?1:o)}function Yv(n,t){n.replace(/;\s*$/,"").split(";").forEach(e=>{if(!e)return;const[i,s]=e.split(":");t[i.trim().toLowerCase()]=s.trim()})}function Xv(n){const t={},e=n.getAttribute("style");return e&&(typeof e=="string"?Yv(e,t):function(i,s){Object.entries(i).forEach(r=>{let[o,a]=r;a!==void 0&&(s[o.toLowerCase()]=a)})}(e,t)),t}const Kv={stroke:"strokeOpacity",fill:"fillOpacity"};function vi(n,t,e){if(!n)return{};let i,s={},r=qa;n.parentNode&&xc.test(n.parentNode.nodeName)&&(s=vi(n.parentElement,t,e),s.fontSize&&(i=r=Ss(s.fontSize)));const o=_(_(_({},t.reduce((c,h)=>{const u=n.getAttribute(h);return u&&(c[h]=u),c},{})),function(c){let h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},u={};for(const d in h)Pv(c,d.split(" "))&&(u=_(_({},u),h[d]));return u}(n,e)),Xv(n));o[No]&&n.setAttribute(No,o[No]),o[Bo]&&(i=Ss(o[Bo],r),o[Bo]="".concat(i));const a={};for(const c in o){const h=Dv(c),u=Wv(h,o[c],s,i);a[h]=u}a&&a.font&&Gv(a.font,a);const l=_(_({},s),a);return xc.test(n.nodeName)?l:function(c){const h=Kt.getDefaults();return Object.entries(Kv).forEach(u=>{let[d,p]=u;if(c[p]===void 0||c[d]==="")return;if(c[d]===void 0){if(!h[d])return;c[d]=h[d]}if(c[d].indexOf("url(")===0)return;const g=new st(c[d]);c[d]=g.setAlpha(mt(g.getAlpha()*c[p],2)).toRgba()}),c}(l)}const qv=["left","top","width","height","visible"],ku=["rx","ry"];class Ht extends Kt{static getDefaults(){return _(_({},super.getDefaults()),Ht.ownDefaults)}constructor(t){super(),Object.assign(this,Ht.ownDefaults),this.setOptions(t),this._initRxRy()}_initRxRy(){const{rx:t,ry:e}=this;t&&!e?this.ry=t:e&&!t&&(this.rx=e)}_render(t){const{width:e,height:i}=this,s=-e/2,r=-i/2,o=this.rx?Math.min(this.rx,e/2):0,a=this.ry?Math.min(this.ry,i/2):0,l=o!==0||a!==0;t.beginPath(),t.moveTo(s+o,r),t.lineTo(s+e-o,r),l&&t.bezierCurveTo(s+e-bi*o,r,s+e,r+bi*a,s+e,r+a),t.lineTo(s+e,r+i-a),l&&t.bezierCurveTo(s+e,r+i-bi*a,s+e-bi*o,r+i,s+e-o,r+i),t.lineTo(s+o,r+i),l&&t.bezierCurveTo(s+bi*o,r+i,s,r+i-bi*a,s,r+i-a),t.lineTo(s,r+a),l&&t.bezierCurveTo(s,r+bi*a,s+bi*o,r,s+o,r),t.closePath(),this._renderPaintInOrder(t)}toObject(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return super.toObject([...ku,...t])}_toSVG(){const{width:t,height:e,rx:i,ry:s}=this;return["<rect ","COMMON_PARTS",'x="'.concat(-t/2,'" y="').concat(-e/2,'" rx="').concat(i,'" ry="').concat(s,'" width="').concat(t,'" height="').concat(e,`" />
|
|
2535
2553
|
`)]}static async fromElement(t,e,i){const s=vi(t,this.ATTRIBUTE_NAMES,i),{left:r=0,top:o=0,width:a=0,height:l=0,visible:c=!0}=s,h=gt(s,qv);return new this(_(_(_({},e),h),{},{left:r,top:o,width:a,height:l,visible:!!(c&&a&&l)}))}}b(Ht,"type","Rect"),b(Ht,"cacheProperties",[...mi,...ku]),b(Ht,"ownDefaults",{rx:0,ry:0}),b(Ht,"ATTRIBUTE_NAMES",[...Bi,"x","y","rx","ry","width","height"]),R.setClass(Ht),R.setSVGClass(Ht);const ni="initialization",Un="added",dl="removed",Wn="imperative",Au=(n,t)=>{const{strokeUniform:e,strokeWidth:i,width:s,height:r,group:o}=t,a=o&&o!==n?bo(o.calcTransformMatrix(),n.calcTransformMatrix()):null,l=a?t.getRelativeCenterPoint().transform(a):t.getRelativeCenterPoint(),c=!t.isStrokeAccountedForInDimensions(),h=e&&c?Bm(new w(i,i),void 0,n.calcTransformMatrix()):Qa,u=!e&&c?i:0,d=sl(s+u,r+u,tl([a,t.calcOwnMatrix()],!0)).add(h).scalarDivide(2);return[l.subtract(d),l.add(d)]};class xo{calcLayoutResult(t,e){if(this.shouldPerformLayout(t))return this.calcBoundingBox(e,t)}shouldPerformLayout(t){let{type:e,prevStrategy:i,strategy:s}=t;return e===ni||e===Wn||!!i&&s!==i}shouldLayoutClipPath(t){let{type:e,target:{clipPath:i}}=t;return e!==ni&&i&&!i.absolutePositioned}getInitialSize(t,e){return e.size}calcBoundingBox(t,e){const{type:i,target:s}=e;if(i===Wn&&e.overrides)return e.overrides;if(t.length===0)return;const{left:r,top:o,width:a,height:l}=ci(t.map(u=>Au(s,u)).reduce((u,d)=>u.concat(d),[])),c=new w(a,l),h=new w(r,o).add(c.scalarDivide(2));if(i===ni){const u=this.getInitialSize(e,{size:c,center:h});return{center:h,relativeCorrection:new w(0,0),size:u}}return{center:h.transform(s.calcOwnMatrix()),size:c}}}b(xo,"type","strategy");class ya extends xo{shouldPerformLayout(t){return!0}}b(ya,"type","fit-content"),R.setClass(ya);const Zv=["strategy"],Jv=["target","strategy","bubbles","prevStrategy"],Pu="layoutManager";class Sr{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new ya;b(this,"strategy",void 0),this.strategy=t,this._subscriptions=new Map}performLayout(t){const e=_(_({bubbles:!0,strategy:this.strategy},t),{},{prevStrategy:this._prevLayoutStrategy,stopPropagation(){this.bubbles=!1}});this.onBeforeLayout(e);const i=this.getLayoutResult(e);i&&this.commitLayout(e,i),this.onAfterLayout(e,i),this._prevLayoutStrategy=e.strategy}attachHandlers(t,e){const{target:i}=e;return[$n,Jh,yr,Qh,go,tu,Rn,Sm,Tm].map(s=>t.on(s,r=>this.performLayout(s===$n?{type:"object_modified",trigger:s,e:r,target:i}:{type:"object_modifying",trigger:s,e:r,target:i})))}subscribe(t,e){this.unsubscribe(t,e);const i=this.attachHandlers(t,e);this._subscriptions.set(t,i)}unsubscribe(t,e){(this._subscriptions.get(t)||[]).forEach(i=>i()),this._subscriptions.delete(t)}unsubscribeTargets(t){t.targets.forEach(e=>this.unsubscribe(e,t))}subscribeTargets(t){t.targets.forEach(e=>this.subscribe(e,t))}onBeforeLayout(t){const{target:e,type:i}=t,{canvas:s}=e;if(i===ni||i===Un?this.subscribeTargets(t):i===dl&&this.unsubscribeTargets(t),e.fire("layout:before",{context:t}),s&&s.fire("object:layout:before",{target:e,context:t}),i===Wn&&t.deep){const r=gt(t,Zv);e.forEachObject(o=>o.layoutManager&&o.layoutManager.performLayout(_(_({},r),{},{bubbles:!1,target:o})))}}getLayoutResult(t){const{target:e,strategy:i,type:s}=t,r=i.calcLayoutResult(t,e.getObjects());if(!r)return;const o=s===ni?new w:e.getRelativeCenterPoint(),{center:a,correction:l=new w,relativeCorrection:c=new w}=r,h=o.subtract(a).add(l).transform(s===ni?ie:Ie(e.calcOwnMatrix()),!0).add(c);return{result:r,prevCenter:o,nextCenter:a,offset:h}}commitLayout(t,e){const{target:i}=t,{result:{size:s},nextCenter:r}=e;var o,a;i.set({width:s.x,height:s.y}),this.layoutObjects(t,e),t.type===ni?i.set({left:(o=t.x)!==null&&o!==void 0?o:r.x+s.x*Mt(i.originX),top:(a=t.y)!==null&&a!==void 0?a:r.y+s.y*Mt(i.originY)}):(i.setPositionByOrigin(r,K,K),i.setCoords(),i.set("dirty",!0))}layoutObjects(t,e){const{target:i}=t;i.forEachObject(s=>{s.group===i&&this.layoutObject(t,e,s)}),t.strategy.shouldLayoutClipPath(t)&&this.layoutObject(t,e,i.clipPath)}layoutObject(t,e,i){let{offset:s}=e;i.set({left:i.left+s.x,top:i.top+s.y})}onAfterLayout(t,e){const{target:i,strategy:s,bubbles:r,prevStrategy:o}=t,a=gt(t,Jv),{canvas:l}=i;i.fire("layout:after",{context:t,result:e}),l&&l.fire("object:layout:after",{context:t,result:e,target:i});const c=i.parent;r&&c!=null&&c.layoutManager&&((a.path||(a.path=[])).push(i),c.layoutManager.performLayout(_(_({},a),{},{target:c}))),i.set("dirty",!0)}dispose(){const{_subscriptions:t}=this;t.forEach(e=>e.forEach(i=>i())),t.clear()}toObject(){return{type:Pu,strategy:this.strategy.constructor.type}}toJSON(){return this.toObject()}}R.setClass(Sr,Pu);const Qv=["type","objects","layoutManager"];class tb extends Sr{performLayout(){}}class Ei extends eu(Kt){static getDefaults(){return _(_({},super.getDefaults()),Ei.ownDefaults)}constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),b(this,"_activeObjects",[]),b(this,"__objectSelectionTracker",void 0),b(this,"__objectSelectionDisposer",void 0),Object.assign(this,Ei.ownDefaults),this.setOptions(e),this.groupInit(t,e)}groupInit(t,e){var i;this._objects=[...t],this.__objectSelectionTracker=this.__objectSelectionMonitor.bind(this,!0),this.__objectSelectionDisposer=this.__objectSelectionMonitor.bind(this,!1),this.forEachObject(s=>{this.enterGroup(s,!1)}),this.layoutManager=(i=e.layoutManager)!==null&&i!==void 0?i:new Sr,this.layoutManager.performLayout({type:ni,target:this,targets:[...t],x:e.left,y:e.top})}canEnterGroup(t){return t===this||this.isDescendantOf(t)?(Mi("error","Group: circular object trees are not supported, this call has no effect"),!1):this._objects.indexOf(t)===-1||(Mi("error","Group: duplicate objects are not supported inside group, this call has no effect"),!1)}_filterObjectsBeforeEnteringGroup(t){return t.filter((e,i,s)=>this.canEnterGroup(e)&&s.indexOf(e)===i)}add(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];const s=this._filterObjectsBeforeEnteringGroup(e),r=super.add(...s);return this._onAfterObjectsChange(Un,s),r}insertAt(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];const r=this._filterObjectsBeforeEnteringGroup(i),o=super.insertAt(t,...r);return this._onAfterObjectsChange(Un,r),o}remove(){const t=super.remove(...arguments);return this._onAfterObjectsChange(dl,t),t}_onObjectAdded(t){this.enterGroup(t,!0),this.fire("object:added",{target:t}),t.fire("added",{target:this})}_onObjectRemoved(t,e){this.exitGroup(t,e),this.fire("object:removed",{target:t}),t.fire("removed",{target:this})}_onAfterObjectsChange(t,e){this.layoutManager.performLayout({type:t,targets:e,target:this})}_onStackOrderChanged(){this._set("dirty",!0)}_set(t,e){const i=this[t];return super._set(t,e),t==="canvas"&&i!==e&&(this._objects||[]).forEach(s=>{s._set(t,e)}),this}_shouldSetNestedCoords(){return this.subTargetCheck}removeAll(){return this._activeObjects=[],this.remove(...this._objects)}__objectSelectionMonitor(t,e){let{target:i}=e;const s=this._activeObjects;if(t)s.push(i),this._set("dirty",!0);else if(s.length>0){const r=s.indexOf(i);r>-1&&(s.splice(r,1),this._set("dirty",!0))}}_watchObject(t,e){t&&this._watchObject(!1,e),t?(e.on("selected",this.__objectSelectionTracker),e.on("deselected",this.__objectSelectionDisposer)):(e.off("selected",this.__objectSelectionTracker),e.off("deselected",this.__objectSelectionDisposer))}enterGroup(t,e){t.group&&t.group.remove(t),t._set("parent",this),this._enterGroup(t,e)}_enterGroup(t,e){e&&Hn(t,Vt(Ie(this.calcTransformMatrix()),t.calcTransformMatrix())),this._shouldSetNestedCoords()&&t.setCoords(),t._set("group",this),t._set("canvas",this.canvas),this._watchObject(!0,t);const i=this.canvas&&this.canvas.getActiveObject&&this.canvas.getActiveObject();i&&(i===t||t.isDescendantOf(i))&&this._activeObjects.push(t)}exitGroup(t,e){this._exitGroup(t,e),t._set("parent",void 0),t._set("canvas",void 0)}_exitGroup(t,e){t._set("group",void 0),e||(Hn(t,Vt(this.calcTransformMatrix(),t.calcTransformMatrix())),t.setCoords()),this._watchObject(!1,t);const i=this._activeObjects.length>0?this._activeObjects.indexOf(t):-1;i>-1&&this._activeObjects.splice(i,1)}shouldCache(){const t=Kt.prototype.shouldCache.call(this);if(t){for(let e=0;e<this._objects.length;e++)if(this._objects[e].willDrawShadow())return this.ownCaching=!1,!1}return t}willDrawShadow(){if(super.willDrawShadow())return!0;for(let t=0;t<this._objects.length;t++)if(this._objects[t].willDrawShadow())return!0;return!1}isOnACache(){return this.ownCaching||!!this.parent&&this.parent.isOnACache()}drawObject(t,e,i){this._renderBackground(t);for(let r=0;r<this._objects.length;r++){var s;const o=this._objects[r];(s=this.canvas)!==null&&s!==void 0&&s.preserveObjectStacking&&o.group!==this?(t.save(),t.transform(...Ie(this.calcTransformMatrix())),o.render(t),t.restore()):o.group===this&&o.render(t)}this._drawClipPath(t,this.clipPath,i)}setCoords(){super.setCoords(),this._shouldSetNestedCoords()&&this.forEachObject(t=>t.setCoords())}triggerLayout(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.layoutManager.performLayout(_({target:this,type:Wn},t))}render(t){this._transformDone=!0,super.render(t),this._transformDone=!1}__serializeObjects(t,e){const i=this.includeDefaultValues;return this._objects.filter(function(s){return!s.excludeFromExport}).map(function(s){const r=s.includeDefaultValues;s.includeDefaultValues=i;const o=s[t||"toObject"](e);return s.includeDefaultValues=r,o})}toObject(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];const e=this.layoutManager.toObject();return _(_(_({},super.toObject(["subTargetCheck","interactive",...t])),e.strategy!=="fit-content"||this.includeDefaultValues?{layoutManager:e}:{}),{},{objects:this.__serializeObjects("toObject",t)})}toString(){return"#<Group: (".concat(this.complexity(),")>")}dispose(){this.layoutManager.unsubscribeTargets({targets:this.getObjects(),target:this}),this._activeObjects=[],this.forEachObject(t=>{this._watchObject(!1,t),t.dispose()}),super.dispose()}_createSVGBgRect(t){if(!this.backgroundColor)return"";const e=Ht.prototype._toSVG.call(this),i=e.indexOf("COMMON_PARTS");e[i]='for="group" ';const s=e.join("");return t?t(s):s}_toSVG(t){const e=["<g ","COMMON_PARTS",` >
|
|
2536
2554
|
`],i=this._createSVGBgRect(t);i&&e.push(" ",i);for(let s=0;s<this._objects.length;s++)e.push(" ",this._objects[s].toSVG(t));return e.push(`</g>
|
|
2537
|
-
`),e}getSvgStyles(){const t=this.opacity!==void 0&&this.opacity!==1?"opacity: ".concat(this.opacity,";"):"",e=this.visible?"":" visibility: hidden;";return[t,this.getSvgFilter(),e].join("")}toClipPathSVG(t){const e=[],i=this._createSVGBgRect(t);i&&e.push(" ",i);for(let s=0;s<this._objects.length;s++)e.push(" ",this._objects[s].toClipPathSVG(t));return this._createBaseClipPathSVGMarkup(e,{reviver:t})}static fromObject(t,e){let{type:i,objects:s=[],layoutManager:r}=t,o=gt(t,Qv);return Promise.all([xr(s,e),vo(o,e)]).then(a=>{let[l,c]=a;const h=new this(l,_(_(_({},o),c),{},{layoutManager:new tb}));if(r){const u=R.getClass(r.type),d=R.getClass(r.strategy);h.layoutManager=new u(new d)}else h.layoutManager=new Sr;return h.layoutManager.subscribeTargets({type:ni,target:h,targets:h.getObjects()}),h.setCoords(),h})}}b(Ei,"type","Group"),b(Ei,"ownDefaults",{strokeWidth:0,subTargetCheck:!1,interactive:!1}),R.setClass(Ei);const eb=(n,t)=>Math.min(t.width/n.width,t.height/n.height),ib=(n,t)=>Math.max(t.width/n.width,t.height/n.height),xa="\\s*,?\\s*",Js="".concat(xa,"(").concat(rs,")"),sb="".concat(Js).concat(Js).concat(Js).concat(xa,"([01])").concat(xa,"([01])").concat(Js).concat(Js),rb={m:"l",M:"L"},nb=(n,t,e,i,s,r,o,a,l,c,h)=>{const u=pi(n),d=gi(n),p=pi(t),g=gi(t),f=e*s*p-i*r*g+o,m=i*s*p+e*r*g+a;return["C",c+l*(-e*s*d-i*r*u),h+l*(-i*s*d+e*r*u),f+l*(e*s*g+i*r*p),m+l*(i*s*g-e*r*p),f,m]},Rc=(n,t,e,i)=>{const s=Math.atan2(t,n),r=Math.atan2(i,e);return r>=s?r-s:2*Math.PI-(s-r)};function $c(n,t,e,i,s,r,o,a){let l;if(tt.cachesBoundsOfCurve&&(l=[...arguments].join(),or.boundsOfCurveCache[l]))return or.boundsOfCurveCache[l];const c=Math.sqrt,h=Math.abs,u=[],d=[[0,0],[0,0]];let p=6*n-12*e+6*s,g=-3*n+9*e-9*s+3*o,f=3*e-3*n;for(let E=0;E<2;++E){if(E>0&&(p=6*t-12*i+6*r,g=-3*t+9*i-9*r+3*a,f=3*i-3*t),h(g)<1e-12){if(h(p)<1e-12)continue;const F=-f/p;0<F&&F<1&&u.push(F);continue}const O=p*p-4*f*g;if(O<0)continue;const D=c(O),C=(-p+D)/(2*g);0<C&&C<1&&u.push(C);const T=(-p-D)/(2*g);0<T&&T<1&&u.push(T)}let m=u.length;const v=m,y=Du(n,t,e,i,s,r,o,a);for(;m--;){const{x:E,y:O}=y(u[m]);d[0][m]=E,d[1][m]=O}d[0][v]=n,d[1][v]=t,d[0][v+1]=o,d[1][v+1]=a;const x=[new w(Math.min(...d[0]),Math.min(...d[1])),new w(Math.max(...d[0]),Math.max(...d[1]))];return tt.cachesBoundsOfCurve&&(or.boundsOfCurveCache[l]=x),x}const ob=(n,t,e)=>{let[i,s,r,o,a,l,c,h]=e;const u=((d,p,g,f,m,v,y)=>{if(g===0||f===0)return[];let x=0,E=0,O=0;const D=Math.PI,C=y*Ka,T=gi(C),F=pi(C),j=.5*(-F*d-T*p),A=.5*(-F*p+T*d),k=g**2,P=f**2,L=A**2,z=j**2,X=k*P-k*L-P*z;let J=Math.abs(g),$=Math.abs(f);if(X<0){const ut=Math.sqrt(1-X/(k*P));J*=ut,$*=ut}else O=(m===v?-1:1)*Math.sqrt(X/(k*L+P*z));const B=O*J*A/$,M=-O*$*j/J,H=F*B-T*M+.5*d,Q=T*B+F*M+.5*p;let Ct=Rc(1,0,(j-B)/J,(A-M)/$),ot=Rc((j-B)/J,(A-M)/$,(-j-B)/J,(-A-M)/$);v===0&&ot>0?ot-=2*D:v===1&&ot<0&&(ot+=2*D);const ge=Math.ceil(Math.abs(ot/D*2)),I=[],et=ot/ge,Gt=8/3*Math.sin(et/4)*Math.sin(et/4)/Math.sin(et/2);let ht=Ct+et;for(let ut=0;ut<ge;ut++)I[ut]=nb(Ct,ht,F,T,J,$,H,Q,Gt,x,E),x=I[ut][5],E=I[ut][6],Ct=ht,ht+=et;return I})(c-n,h-t,s,r,a,l,o);for(let d=0,p=u.length;d<p;d++)u[d][1]+=n,u[d][2]+=t,u[d][3]+=n,u[d][4]+=t,u[d][5]+=n,u[d][6]+=t;return u},ab=n=>{let t=0,e=0,i=0,s=0;const r=[];let o,a=0,l=0;for(const c of n){const h=[...c];let u;switch(h[0]){case"l":h[1]+=t,h[2]+=e;case"L":t=h[1],e=h[2],u=["L",t,e];break;case"h":h[1]+=t;case"H":t=h[1],u=["L",t,e];break;case"v":h[1]+=e;case"V":e=h[1],u=["L",t,e];break;case"m":h[1]+=t,h[2]+=e;case"M":t=h[1],e=h[2],i=h[1],s=h[2],u=["M",t,e];break;case"c":h[1]+=t,h[2]+=e,h[3]+=t,h[4]+=e,h[5]+=t,h[6]+=e;case"C":a=h[3],l=h[4],t=h[5],e=h[6],u=["C",h[1],h[2],a,l,t,e];break;case"s":h[1]+=t,h[2]+=e,h[3]+=t,h[4]+=e;case"S":o==="C"?(a=2*t-a,l=2*e-l):(a=t,l=e),t=h[3],e=h[4],u=["C",a,l,h[1],h[2],t,e],a=u[3],l=u[4];break;case"q":h[1]+=t,h[2]+=e,h[3]+=t,h[4]+=e;case"Q":a=h[1],l=h[2],t=h[3],e=h[4],u=["Q",a,l,t,e];break;case"t":h[1]+=t,h[2]+=e;case"T":o==="Q"?(a=2*t-a,l=2*e-l):(a=t,l=e),t=h[1],e=h[2],u=["Q",a,l,t,e];break;case"a":h[6]+=t,h[7]+=e;case"A":ob(t,e,h).forEach(d=>r.push(d)),t=h[6],e=h[7];break;case"z":case"Z":t=i,e=s,u=["Z"]}u?(r.push(u),o=u[0]):o=""}return r},Gn=(n,t,e,i)=>Math.sqrt((e-n)**2+(i-t)**2),Du=(n,t,e,i,s,r,o,a)=>l=>{const c=l**3,h=(p=>3*p**2*(1-p))(l),u=(p=>3*p*(1-p)**2)(l),d=(p=>(1-p)**3)(l);return new w(o*c+s*h+e*u+n*d,a*c+r*h+i*u+t*d)},Mu=n=>n**2,Iu=n=>2*n*(1-n),Lu=n=>(1-n)**2,lb=(n,t,e,i,s,r,o,a)=>l=>{const c=Mu(l),h=Iu(l),u=Lu(l),d=3*(u*(e-n)+h*(s-e)+c*(o-s)),p=3*(u*(i-t)+h*(r-i)+c*(a-r));return Math.atan2(p,d)},cb=(n,t,e,i,s,r)=>o=>{const a=Mu(o),l=Iu(o),c=Lu(o);return new w(s*a+e*l+n*c,r*a+i*l+t*c)},hb=(n,t,e,i,s,r)=>o=>{const a=1-o,l=2*(a*(e-n)+o*(s-e)),c=2*(a*(i-t)+o*(r-i));return Math.atan2(c,l)},Bc=(n,t,e)=>{let i=new w(t,e),s=0;for(let r=1;r<=100;r+=1){const o=n(r/100);s+=Gn(i.x,i.y,o.x,o.y),i=o}return s},ub=(n,t)=>{let e,i=0,s=0,r={x:n.x,y:n.y},o=_({},r),a=.01,l=0;const c=n.iterator,h=n.angleFinder;for(;s<t&&a>1e-4;)o=c(i),l=i,e=Gn(r.x,r.y,o.x,o.y),e+s>t?(i-=a,a/=2):(r=o,i+=a,s+=e);return _(_({},o),{},{angle:h(l)})},Fu=n=>{let t,e,i=0,s=0,r=0,o=0,a=0;const l=[];for(const c of n){const h={x:s,y:r,command:c[0],length:0};switch(c[0]){case"M":e=h,e.x=o=s=c[1],e.y=a=r=c[2];break;case"L":e=h,e.length=Gn(s,r,c[1],c[2]),s=c[1],r=c[2];break;case"C":t=Du(s,r,c[1],c[2],c[3],c[4],c[5],c[6]),e=h,e.iterator=t,e.angleFinder=lb(s,r,c[1],c[2],c[3],c[4],c[5],c[6]),e.length=Bc(t,s,r),s=c[5],r=c[6];break;case"Q":t=cb(s,r,c[1],c[2],c[3],c[4]),e=h,e.iterator=t,e.angleFinder=hb(s,r,c[1],c[2],c[3],c[4]),e.length=Bc(t,s,r),s=c[3],r=c[4];break;case"Z":e=h,e.destX=o,e.destY=a,e.length=Gn(s,r,o,a),s=o,r=a}i+=e.length,l.push(e)}return l.push({length:i,x:s,y:r}),l},db=function(n,t){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Fu(n),i=0;for(;t-e[i].length>0&&i<e.length-2;)t-=e[i].length,i++;const s=e[i],r=t/s.length,o=n[i];switch(s.command){case"M":return{x:s.x,y:s.y,angle:0};case"Z":return _(_({},new w(s.x,s.y).lerp(new w(s.destX,s.destY),r)),{},{angle:Math.atan2(s.destY-s.y,s.destX-s.x)});case"L":return _(_({},new w(s.x,s.y).lerp(new w(o[1],o[2]),r)),{},{angle:Math.atan2(o[2]-s.y,o[1]-s.x)});case"C":case"Q":return ub(s,t)}},pb=new RegExp("[mzlhvcsqta][^mzlhvcsqta]*","gi"),Nc=new RegExp(sb,"g"),gb=new RegExp(rs,"gi"),fb={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},mb=n=>{var t;const e=[],i=(t=n.match(pb))!==null&&t!==void 0?t:[];for(const s of i){const r=s[0];if(r==="z"||r==="Z"){e.push([r]);continue}const o=fb[r.toLowerCase()];let a=[];if(r==="a"||r==="A"){Nc.lastIndex=0;for(let l=null;l=Nc.exec(s);)a.push(...l.slice(1))}else a=s.match(gb)||[];for(let l=0;l<a.length;l+=o){const c=new Array(o),h=rb[r];c[0]=l>0&&h?h:r;for(let u=0;u<o;u++)c[u+1]=parseFloat(a[l+u]);e.push(c)}}return e},vb=(n,t)=>n.map(e=>e.map((i,s)=>s===0||t===void 0?i:mt(i,t)).join(" ")).join(" ");function wa(n,t){const e=n.style;e&&t&&(typeof t=="string"?e.cssText+=";"+t:Object.entries(t).forEach(i=>{let[s,r]=i;return e.setProperty(s,r)}))}class bb extends uu{constructor(t){let{allowTouchScrolling:e=!1,containerClass:i=""}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t),b(this,"upper",void 0),b(this,"container",void 0);const{el:s}=this.lower,r=this.createUpperCanvas();this.upper={el:r,ctx:r.getContext("2d")},this.applyCanvasStyle(s,{allowTouchScrolling:e}),this.applyCanvasStyle(r,{allowTouchScrolling:e,styles:{position:"absolute",left:"0",top:"0"}});const o=this.createContainerElement();o.classList.add(i),s.parentNode&&s.parentNode.replaceChild(o,s),o.append(s,r),this.container=o}createUpperCanvas(){const{el:t}=this.lower,e=Fe();return e.className=t.className,e.classList.remove("lower-canvas"),e.classList.add("upper-canvas"),e.setAttribute("data-fabric","top"),e.style.cssText=t.style.cssText,e.setAttribute("draggable","true"),e}createContainerElement(){const t=js().createElement("div");return t.setAttribute("data-fabric","wrapper"),wa(t,{position:"relative"}),bc(t),t}applyCanvasStyle(t,e){const{styles:i,allowTouchScrolling:s}=e;wa(t,_(_({},i),{},{"touch-action":s?"manipulation":ce})),bc(t)}setDimensions(t,e){super.setDimensions(t,e);const{el:i,ctx:s}=this.upper;hu(i,s,t,e)}setCSSDimensions(t){super.setCSSDimensions(t),pa(this.upper.el,t),pa(this.container,t)}cleanupDOM(t){const e=this.container,{el:i}=this.lower,{el:s}=this.upper;super.cleanupDOM(t),e.removeChild(s),e.removeChild(i),e.parentNode&&e.parentNode.replaceChild(i,e)}dispose(){super.dispose(),Ge().dispose(this.upper.el),delete this.upper,delete this.container}}class wo extends Br{constructor(){super(...arguments),b(this,"targets",[]),b(this,"_hoveredTargets",[]),b(this,"_objectsToRender",void 0),b(this,"_currentTransform",null),b(this,"_groupSelector",null),b(this,"contextTopDirty",!1)}static getDefaults(){return _(_({},super.getDefaults()),wo.ownDefaults)}get upperCanvasEl(){var t;return(t=this.elements.upper)===null||t===void 0?void 0:t.el}get contextTop(){var t;return(t=this.elements.upper)===null||t===void 0?void 0:t.ctx}get wrapperEl(){return this.elements.container}initElements(t){this.elements=new bb(t,{allowTouchScrolling:this.allowTouchScrolling,containerClass:this.containerClass}),this._createCacheCanvas()}_onObjectAdded(t){this._objectsToRender=void 0,super._onObjectAdded(t)}_onObjectRemoved(t){this._objectsToRender=void 0,t===this._activeObject&&(this.fire("before:selection:cleared",{deselected:[t]}),this._discardActiveObject(),this.fire("selection:cleared",{deselected:[t]}),t.fire("deselected",{target:t})),t===this._hoveredTarget&&(this._hoveredTarget=void 0,this._hoveredTargets=[]),super._onObjectRemoved(t)}_onStackOrderChanged(){this._objectsToRender=void 0,super._onStackOrderChanged()}_chooseObjectsToRender(){const t=this._activeObject;return!this.preserveObjectStacking&&t?this._objects.filter(e=>!e.group&&e!==t).concat(t):this._objects}renderAll(){this.cancelRequestedRender(),this.destroyed||(!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1),!this._objectsToRender&&(this._objectsToRender=this._chooseObjectsToRender()),this.renderCanvas(this.getContext(),this._objectsToRender))}renderTopLayer(t){t.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(t),this.contextTopDirty=!0),t.restore()}renderTop(){const t=this.contextTop;this.clearContext(t),this.renderTopLayer(t),this.fire("after:render",{ctx:t})}setTargetFindTolerance(t){t=Math.round(t),this.targetFindTolerance=t;const e=this.getRetinaScaling(),i=Math.ceil((2*t+1)*e);this.pixelFindCanvasEl.width=this.pixelFindCanvasEl.height=i,this.pixelFindContext.scale(e,e)}isTargetTransparent(t,e,i){const s=this.targetFindTolerance,r=this.pixelFindContext;this.clearContext(r),r.save(),r.translate(-e+s,-i+s),r.transform(...this.viewportTransform);const o=t.selectionBackgroundColor;t.selectionBackgroundColor="",t.render(r),t.selectionBackgroundColor=o,r.restore();const a=Math.round(s*this.getRetinaScaling());return Cv(r,a,a,a)}_isSelectionKeyPressed(t){const e=this.selectionKey;return!!e&&(Array.isArray(e)?!!e.find(i=>!!i&&t[i]===!0):t[e])}_shouldClearSelection(t,e){const i=this.getActiveObjects(),s=this._activeObject;return!!(!e||e&&s&&i.length>1&&i.indexOf(e)===-1&&s!==e&&!this._isSelectionKeyPressed(t)||e&&!e.evented||e&&!e.selectable&&s&&s!==e)}_shouldCenterTransform(t,e,i){if(!t)return;let s;return e===fo||e===pe||e===Ee||e===yr?s=this.centeredScaling||t.centeredScaling:e===Ja&&(s=this.centeredRotation||t.centeredRotation),s?!i:i}_getOriginFromCorner(t,e){const i={x:t.originX,y:t.originY};return e&&(["ml","tl","bl"].includes(e)?i.x=Ot:["mr","tr","br"].includes(e)&&(i.x=it),["tl","mt","tr"].includes(e)?i.y=da:["bl","mb","br"].includes(e)&&(i.y=le)),i}_setupCurrentTransform(t,e,i){var s;const r=e.group?Ts(this.getScenePoint(t),void 0,e.group.calcTransformMatrix()):this.getScenePoint(t),{key:o="",control:a}=e.getActiveControl()||{},l=i&&a?(s=a.getActionHandler(t,e,a))===null||s===void 0?void 0:s.bind(a):Hm,c=((p,g,f,m)=>{if(!g||!p)return"drag";const v=m.controls[g];return v.getActionName(f,v,m)})(i,o,t,e),h=t[this.centeredKey],u=this._shouldCenterTransform(e,c,h)?{x:K,y:K}:this._getOriginFromCorner(e,o),d={target:e,action:c,actionHandler:l,actionPerformed:!1,corner:o,scaleX:e.scaleX,scaleY:e.scaleY,skewX:e.skewX,skewY:e.skewY,offsetX:r.x-e.left,offsetY:r.y-e.top,originX:u.x,originY:u.y,ex:r.x,ey:r.y,lastX:r.x,lastY:r.y,theta:kt(e.angle),width:e.width,height:e.height,shiftKey:t.shiftKey,altKey:h,original:_(_({},du(e)),{},{originX:u.x,originY:u.y})};this._currentTransform=d,this.fire("before:transform",{e:t,transform:d})}setCursor(t){this.upperCanvasEl.style.cursor=t}_drawSelection(t){const{x:e,y:i,deltaX:s,deltaY:r}=this._groupSelector,o=new w(e,i).transform(this.viewportTransform),a=new w(e+s,i+r).transform(this.viewportTransform),l=this.selectionLineWidth/2;let c=Math.min(o.x,a.x),h=Math.min(o.y,a.y),u=Math.max(o.x,a.x),d=Math.max(o.y,a.y);this.selectionColor&&(t.fillStyle=this.selectionColor,t.fillRect(c,h,u-c,d-h)),this.selectionLineWidth&&this.selectionBorderColor&&(t.lineWidth=this.selectionLineWidth,t.strokeStyle=this.selectionBorderColor,c+=l,h+=l,u-=l,d-=l,Kt.prototype._setLineDash.call(this,t,this.selectionDashArray),t.strokeRect(c,h,u-c,d-h))}findTarget(t){if(this.skipTargetFind)return;const e=this.getViewportPoint(t),i=this._activeObject,s=this.getActiveObjects();if(this.targets=[],i&&s.length>=1){if(i.findControl(e,ga(t))||s.length>1&&this.searchPossibleTargets([i],e))return i;if(i===this.searchPossibleTargets([i],e)){if(this.preserveObjectStacking){const r=this.targets;this.targets=[];const o=this.searchPossibleTargets(this._objects,e);return t[this.altSelectionKey]&&o&&o!==i?(this.targets=r,i):o}return i}}return this.searchPossibleTargets(this._objects,e)}_pointIsInObjectSelectionArea(t,e){let i=t.getCoords();const s=this.getZoom(),r=t.padding/s;if(r){const[o,a,l,c]=i,h=Math.atan2(a.y-o.y,a.x-o.x),u=pi(h)*r,d=gi(h)*r,p=u+d,g=u-d;i=[new w(o.x-g,o.y-p),new w(a.x+p,a.y-g),new w(l.x+g,l.y+p),new w(c.x-p,c.y+g)]}return ft.isPointInPolygon(e,i)}_checkTarget(t,e){return!!(t&&t.visible&&t.evented&&this._pointIsInObjectSelectionArea(t,Ts(e,void 0,this.viewportTransform))&&(!this.perPixelTargetFind&&!t.perPixelTargetFind||t.isEditing||!this.isTargetTransparent(t,e.x,e.y)))}_searchPossibleTargets(t,e){let i=t.length;for(;i--;){const s=t[i];if(this._checkTarget(s,e)){if(Sn(s)&&s.subTargetCheck){const r=this._searchPossibleTargets(s._objects,e);r&&this.targets.push(r)}return s}}}searchPossibleTargets(t,e){const i=this._searchPossibleTargets(t,e);if(i&&Sn(i)&&i.interactive&&this.targets[0]){const s=this.targets;for(let r=s.length-1;r>0;r--){const o=s[r];if(!Sn(o)||!o.interactive)return o}return s[0]}return i}getViewportPoint(t){return this._pointer?this._pointer:this.getPointer(t,!0)}getScenePoint(t){return this._absolutePointer?this._absolutePointer:this.getPointer(t)}getPointer(t){let e=arguments.length>1&&arguments[1]!==void 0&&arguments[1];const i=this.upperCanvasEl,s=i.getBoundingClientRect();let r=Fm(t),o=s.width||0,a=s.height||0;o&&a||(le in s&&da in s&&(a=Math.abs(s.top-s.bottom)),Ot in s&&it in s&&(o=Math.abs(s.right-s.left))),this.calcOffset(),r.x=r.x-this._offset.left,r.y=r.y-this._offset.top,e||(r=Ts(r,void 0,this.viewportTransform));const l=this.getRetinaScaling();l!==1&&(r.x/=l,r.y/=l);const c=o===0||a===0?new w(1,1):new w(i.width/o,i.height/a);return r.multiply(c)}_setDimensionsImpl(t,e){this._resetTransformEventData(),super._setDimensionsImpl(t,e),this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop)}_createCacheCanvas(){this.pixelFindCanvasEl=Fe(),this.pixelFindContext=this.pixelFindCanvasEl.getContext("2d",{willReadFrequently:!0}),this.setTargetFindTolerance(this.targetFindTolerance)}getTopContext(){return this.elements.upper.ctx}getSelectionContext(){return this.elements.upper.ctx}getSelectionElement(){return this.elements.upper.el}getActiveObject(){return this._activeObject}getActiveObjects(){const t=this._activeObject;return Ui(t)?t.getObjects():t?[t]:[]}_fireSelectionEvents(t,e){let i=!1,s=!1;const r=this.getActiveObjects(),o=[],a=[];t.forEach(l=>{r.includes(l)||(i=!0,l.fire("deselected",{e,target:l}),a.push(l))}),r.forEach(l=>{t.includes(l)||(i=!0,l.fire("selected",{e,target:l}),o.push(l))}),t.length>0&&r.length>0?(s=!0,i&&this.fire("selection:updated",{e,selected:o,deselected:a})):r.length>0?(s=!0,this.fire("selection:created",{e,selected:o})):t.length>0&&(s=!0,this.fire("selection:cleared",{e,deselected:a})),s&&(this._objectsToRender=void 0)}setActiveObject(t,e){const i=this.getActiveObjects(),s=this._setActiveObject(t,e);return this._fireSelectionEvents(i,e),s}_setActiveObject(t,e){const i=this._activeObject;return i!==t&&!(!this._discardActiveObject(e,t)&&this._activeObject)&&!t.onSelect({e})&&(this._activeObject=t,Ui(t)&&i!==t&&t.set("canvas",this),t.setCoords(),!0)}_discardActiveObject(t,e){const i=this._activeObject;return!!i&&!i.onDeselect({e:t,object:e})&&(this._currentTransform&&this._currentTransform.target===i&&this.endCurrentTransform(t),Ui(i)&&i===this._hoveredTarget&&(this._hoveredTarget=void 0),this._activeObject=void 0,!0)}discardActiveObject(t){const e=this.getActiveObjects(),i=this.getActiveObject();e.length&&this.fire("before:selection:cleared",{e:t,deselected:[i]});const s=this._discardActiveObject(t);return this._fireSelectionEvents(e,t),s}endCurrentTransform(t){const e=this._currentTransform;this._finalizeCurrentTransform(t),e&&e.target&&(e.target.isMoving=!1),this._currentTransform=null}_finalizeCurrentTransform(t){const e=this._currentTransform,i=e.target,s={e:t,target:i,transform:e,action:e.action};i._scaling&&(i._scaling=!1),i.setCoords(),e.actionPerformed&&(this.fire("object:modified",s),i.fire($n,s))}setViewportTransform(t){super.setViewportTransform(t);const e=this._activeObject;e&&e.setCoords()}destroy(){const t=this._activeObject;Ui(t)&&(t.removeAll(),t.dispose()),delete this._activeObject,super.destroy(),this.pixelFindContext=null,this.pixelFindCanvasEl=void 0}clear(){this.discardActiveObject(),this._activeObject=void 0,this.clearContext(this.contextTop),super.clear()}drawControls(t){const e=this._activeObject;e&&e._renderControls(t)}_toObject(t,e,i){const s=this._realizeGroupTransformOnObject(t),r=super._toObject(t,e,i);return t.set(s),r}_realizeGroupTransformOnObject(t){const{group:e}=t;if(e&&Ui(e)&&this._activeObject===e){const i=Bs(t,["angle","flipX","flipY",it,pe,Ee,Rs,$s,le]);return Rm(t,e.calcOwnMatrix()),i}return{}}_setSVGObject(t,e,i){const s=this._realizeGroupTransformOnObject(e);super._setSVGObject(t,e,i),e.set(s)}}b(wo,"ownDefaults",{uniformScaling:!0,uniScaleKey:"shiftKey",centeredScaling:!1,centeredRotation:!1,centeredKey:"altKey",altActionKey:"shiftKey",selection:!0,selectionKey:"shiftKey",selectionColor:"rgba(100, 100, 255, 0.3)",selectionDashArray:[],selectionBorderColor:"rgba(255, 255, 255, 0.3)",selectionLineWidth:1,selectionFullyContained:!1,hoverCursor:"move",moveCursor:"move",defaultCursor:"default",freeDrawingCursor:"crosshair",notAllowedCursor:"not-allowed",perPixelTargetFind:!1,targetFindTolerance:0,skipTargetFind:!1,stopContextMenu:!1,fireRightClick:!1,fireMiddleClick:!1,enablePointerEvents:!1,containerClass:"canvas-container",preserveObjectStacking:!1});class _b{constructor(t){b(this,"targets",[]),b(this,"__disposer",void 0);const e=()=>{const{hiddenTextarea:s}=t.getActiveObject()||{};s&&s.focus()},i=t.upperCanvasEl;i.addEventListener("click",e),this.__disposer=()=>i.removeEventListener("click",e)}exitTextEditing(){this.target=void 0,this.targets.forEach(t=>{t.isEditing&&t.exitEditing()})}add(t){this.targets.push(t)}remove(t){this.unregister(t),fs(this.targets,t)}register(t){this.target=t}unregister(t){t===this.target&&(this.target=void 0)}onMouseMove(t){var e;!((e=this.target)===null||e===void 0)&&e.isEditing&&this.target.updateSelectionOnMouseMove(t)}clear(){this.targets=[],this.target=void 0}dispose(){this.clear(),this.__disposer(),delete this.__disposer}}const yb=["target","oldTarget","fireCanvas","e"],fe={passive:!1},us=(n,t)=>{const e=n.getViewportPoint(t),i=n.getScenePoint(t);return{viewportPoint:e,scenePoint:i,pointer:e,absolutePointer:i}},_i=function(n){for(var t=arguments.length,e=new Array(t>1?t-1:0),i=1;i<t;i++)e[i-1]=arguments[i];return n.addEventListener(...e)},ye=function(n){for(var t=arguments.length,e=new Array(t>1?t-1:0),i=1;i<t;i++)e[i-1]=arguments[i];return n.removeEventListener(...e)},xb={mouse:{in:"over",out:"out",targetIn:"mouseover",targetOut:"mouseout",canvasIn:"mouse:over",canvasOut:"mouse:out"},drag:{in:"enter",out:"leave",targetIn:"dragenter",targetOut:"dragleave",canvasIn:"drag:enter",canvasOut:"drag:leave"}};class Yn extends wo{constructor(t){super(t,arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}),b(this,"_isClick",void 0),b(this,"textEditingManager",new _b(this)),["_onMouseDown","_onTouchStart","_onMouseMove","_onMouseUp","_onTouchEnd","_onResize","_onMouseWheel","_onMouseOut","_onMouseEnter","_onContextMenu","_onDoubleClick","_onDragStart","_onDragEnd","_onDragProgress","_onDragOver","_onDragEnter","_onDragLeave","_onDrop"].forEach(e=>{this[e]=this[e].bind(this)}),this.addOrRemove(_i,"add")}_getEventPrefix(){return this.enablePointerEvents?"pointer":"mouse"}addOrRemove(t,e){const i=this.upperCanvasEl,s=this._getEventPrefix();t(cu(i),"resize",this._onResize),t(i,s+"down",this._onMouseDown),t(i,"".concat(s,"move"),this._onMouseMove,fe),t(i,"".concat(s,"out"),this._onMouseOut),t(i,"".concat(s,"enter"),this._onMouseEnter),t(i,"wheel",this._onMouseWheel),t(i,"contextmenu",this._onContextMenu),t(i,"dblclick",this._onDoubleClick),t(i,"dragstart",this._onDragStart),t(i,"dragend",this._onDragEnd),t(i,"dragover",this._onDragOver),t(i,"dragenter",this._onDragEnter),t(i,"dragleave",this._onDragLeave),t(i,"drop",this._onDrop),this.enablePointerEvents||t(i,"touchstart",this._onTouchStart,fe)}removeListeners(){this.addOrRemove(ye,"remove");const t=this._getEventPrefix(),e=De(this.upperCanvasEl);ye(e,"".concat(t,"up"),this._onMouseUp),ye(e,"touchend",this._onTouchEnd,fe),ye(e,"".concat(t,"move"),this._onMouseMove,fe),ye(e,"touchmove",this._onMouseMove,fe),clearTimeout(this._willAddMouseDown)}_onMouseWheel(t){this.__onMouseWheel(t)}_onMouseOut(t){const e=this._hoveredTarget,i=_({e:t},us(this,t));this.fire("mouse:out",_(_({},i),{},{target:e})),this._hoveredTarget=void 0,e&&e.fire("mouseout",_({},i)),this._hoveredTargets.forEach(s=>{this.fire("mouse:out",_(_({},i),{},{target:s})),s&&s.fire("mouseout",_({},i))}),this._hoveredTargets=[]}_onMouseEnter(t){this._currentTransform||this.findTarget(t)||(this.fire("mouse:over",_({e:t},us(this,t))),this._hoveredTarget=void 0,this._hoveredTargets=[])}_onDragStart(t){this._isClick=!1;const e=this.getActiveObject();if(e&&e.onDragStart(t)){this._dragSource=e;const i={e:t,target:e};return this.fire("dragstart",i),e.fire("dragstart",i),void _i(this.upperCanvasEl,"drag",this._onDragProgress)}fa(t)}_renderDragEffects(t,e,i){let s=!1;const r=this._dropTarget;r&&r!==e&&r!==i&&(r.clearContextTop(),s=!0),e==null||e.clearContextTop(),i!==e&&(i==null||i.clearContextTop());const o=this.contextTop;o.save(),o.transform(...this.viewportTransform),e&&(o.save(),e.transform(o),e.renderDragSourceEffect(t),o.restore(),s=!0),i&&(o.save(),i.transform(o),i.renderDropTargetEffect(t),o.restore(),s=!0),o.restore(),s&&(this.contextTopDirty=!0)}_onDragEnd(t){const e=!!t.dataTransfer&&t.dataTransfer.dropEffect!==ce,i=e?this._activeObject:void 0,s={e:t,target:this._dragSource,subTargets:this.targets,dragSource:this._dragSource,didDrop:e,dropTarget:i};ye(this.upperCanvasEl,"drag",this._onDragProgress),this.fire("dragend",s),this._dragSource&&this._dragSource.fire("dragend",s),delete this._dragSource,this._onMouseUp(t)}_onDragProgress(t){const e={e:t,target:this._dragSource,dragSource:this._dragSource,dropTarget:this._draggedoverTarget};this.fire("drag",e),this._dragSource&&this._dragSource.fire("drag",e)}findDragTargets(t){return this.targets=[],{target:this._searchPossibleTargets(this._objects,this.getViewportPoint(t)),targets:[...this.targets]}}_onDragOver(t){const e="dragover",{target:i,targets:s}=this.findDragTargets(t),r=this._dragSource,o={e:t,target:i,subTargets:s,dragSource:r,canDrop:!1,dropTarget:void 0};let a;this.fire(e,o),this._fireEnterLeaveEvents(i,o),i&&(i.canDrop(t)&&(a=i),i.fire(e,o));for(let l=0;l<s.length;l++){const c=s[l];c.canDrop(t)&&(a=c),c.fire(e,o)}this._renderDragEffects(t,r,a),this._dropTarget=a}_onDragEnter(t){const{target:e,targets:i}=this.findDragTargets(t),s={e:t,target:e,subTargets:i,dragSource:this._dragSource};this.fire("dragenter",s),this._fireEnterLeaveEvents(e,s)}_onDragLeave(t){const e={e:t,target:this._draggedoverTarget,subTargets:this.targets,dragSource:this._dragSource};this.fire("dragleave",e),this._fireEnterLeaveEvents(void 0,e),this._renderDragEffects(t,this._dragSource),this._dropTarget=void 0,this.targets=[],this._hoveredTargets=[]}_onDrop(t){const{target:e,targets:i}=this.findDragTargets(t),s=this._basicEventHandler("drop:before",_({e:t,target:e,subTargets:i,dragSource:this._dragSource},us(this,t)));s.didDrop=!1,s.dropTarget=void 0,this._basicEventHandler("drop",s),this.fire("drop:after",s)}_onContextMenu(t){const e=this.findTarget(t),i=this.targets||[],s=this._basicEventHandler("contextmenu:before",{e:t,target:e,subTargets:i});return this.stopContextMenu&&fa(t),this._basicEventHandler("contextmenu",s),!1}_onDoubleClick(t){this._cacheTransformEventData(t),this._handleEvent(t,"dblclick"),this._resetTransformEventData()}getPointerId(t){const e=t.changedTouches;return e?e[0]&&e[0].identifier:this.enablePointerEvents?t.pointerId:-1}_isMainEvent(t){return t.isPrimary===!0||t.isPrimary!==!1&&(t.type==="touchend"&&t.touches.length===0||!t.changedTouches||t.changedTouches[0].identifier===this.mainTouchId)}_onTouchStart(t){let e=!this.allowTouchScrolling;const i=this._activeObject;this.mainTouchId===void 0&&(this.mainTouchId=this.getPointerId(t)),this.__onMouseDown(t),(this.isDrawingMode||i&&this._target===i)&&(e=!0),e&&t.preventDefault(),this._resetTransformEventData();const s=this.upperCanvasEl,r=this._getEventPrefix(),o=De(s);_i(o,"touchend",this._onTouchEnd,fe),e&&_i(o,"touchmove",this._onMouseMove,fe),ye(s,"".concat(r,"down"),this._onMouseDown)}_onMouseDown(t){this.__onMouseDown(t),this._resetTransformEventData();const e=this.upperCanvasEl,i=this._getEventPrefix();ye(e,"".concat(i,"move"),this._onMouseMove,fe);const s=De(e);_i(s,"".concat(i,"up"),this._onMouseUp),_i(s,"".concat(i,"move"),this._onMouseMove,fe)}_onTouchEnd(t){if(t.touches.length>0)return;this.__onMouseUp(t),this._resetTransformEventData(),delete this.mainTouchId;const e=this._getEventPrefix(),i=De(this.upperCanvasEl);ye(i,"touchend",this._onTouchEnd,fe),ye(i,"touchmove",this._onMouseMove,fe),this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout(()=>{_i(this.upperCanvasEl,"".concat(e,"down"),this._onMouseDown),this._willAddMouseDown=0},400)}_onMouseUp(t){this.__onMouseUp(t),this._resetTransformEventData();const e=this.upperCanvasEl,i=this._getEventPrefix();if(this._isMainEvent(t)){const s=De(this.upperCanvasEl);ye(s,"".concat(i,"up"),this._onMouseUp),ye(s,"".concat(i,"move"),this._onMouseMove,fe),_i(e,"".concat(i,"move"),this._onMouseMove,fe)}}_onMouseMove(t){const e=this.getActiveObject();!this.allowTouchScrolling&&(!e||!e.shouldStartDragging(t))&&t.preventDefault&&t.preventDefault(),this.__onMouseMove(t)}_onResize(){this.calcOffset(),this._resetTransformEventData()}_shouldRender(t){const e=this.getActiveObject();return!!e!=!!t||e&&t&&e!==t}__onMouseUp(t){var e;this._cacheTransformEventData(t),this._handleEvent(t,"up:before");const i=this._currentTransform,s=this._isClick,r=this._target,{button:o}=t;if(o)return(this.fireMiddleClick&&o===1||this.fireRightClick&&o===2)&&this._handleEvent(t,"up"),void this._resetTransformEventData();if(this.isDrawingMode&&this._isCurrentlyDrawing)return void this._onMouseUpInDrawingMode(t);if(!this._isMainEvent(t))return;let a,l,c=!1;if(i&&(this._finalizeCurrentTransform(t),c=i.actionPerformed),!s){const h=r===this._activeObject;this.handleSelection(t),c||(c=this._shouldRender(r)||!h&&r===this._activeObject)}if(r){const h=r.findControl(this.getViewportPoint(t),ga(t)),{key:u,control:d}=h||{};if(l=u,r.selectable&&r!==this._activeObject&&r.activeOn==="up")this.setActiveObject(r,t),c=!0;else if(d){const p=d.getMouseUpHandler(t,r,d);p&&(a=this.getScenePoint(t),p.call(d,t,i,a.x,a.y))}r.isMoving=!1}if(i&&(i.target!==r||i.corner!==l)){const h=i.target&&i.target.controls[i.corner],u=h&&h.getMouseUpHandler(t,i.target,h);a=a||this.getScenePoint(t),u&&u.call(h,t,i,a.x,a.y)}this._setCursorFromEvent(t,r),this._handleEvent(t,"up"),this._groupSelector=null,this._currentTransform=null,r&&(r.__corner=void 0),c?this.requestRenderAll():s||(e=this._activeObject)!==null&&e!==void 0&&e.isEditing||this.renderTop()}_basicEventHandler(t,e){const{target:i,subTargets:s=[]}=e;this.fire(t,e),i&&i.fire(t,e);for(let r=0;r<s.length;r++)s[r]!==i&&s[r].fire(t,e);return e}_handleEvent(t,e){const i=this._target,s=this.targets||[],r=_(_({e:t,target:i,subTargets:s},us(this,t)),{},{transform:this._currentTransform},e==="up:before"||e==="up"?{isClick:this._isClick,currentTarget:this.findTarget(t),currentSubTargets:this.targets}:{});this.fire("mouse:".concat(e),r),i&&i.fire("mouse".concat(e),r);for(let o=0;o<s.length;o++)s[o]!==i&&s[o].fire("mouse".concat(e),r)}_onMouseDownInDrawingMode(t){this._isCurrentlyDrawing=!0,this.getActiveObject()&&(this.discardActiveObject(t),this.requestRenderAll());const e=this.getScenePoint(t);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseDown(e,{e:t,pointer:e}),this._handleEvent(t,"down")}_onMouseMoveInDrawingMode(t){if(this._isCurrentlyDrawing){const e=this.getScenePoint(t);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseMove(e,{e:t,pointer:e})}this.setCursor(this.freeDrawingCursor),this._handleEvent(t,"move")}_onMouseUpInDrawingMode(t){const e=this.getScenePoint(t);this.freeDrawingBrush?this._isCurrentlyDrawing=!!this.freeDrawingBrush.onMouseUp({e:t,pointer:e}):this._isCurrentlyDrawing=!1,this._handleEvent(t,"up")}__onMouseDown(t){this._isClick=!0,this._cacheTransformEventData(t),this._handleEvent(t,"down:before");let e=this._target;const{button:i}=t;if(i)return(this.fireMiddleClick&&i===1||this.fireRightClick&&i===2)&&this._handleEvent(t,"down"),void this._resetTransformEventData();if(this.isDrawingMode)return void this._onMouseDownInDrawingMode(t);if(!this._isMainEvent(t)||this._currentTransform)return;let s=this._shouldRender(e),r=!1;if(this.handleMultiSelection(t,e)?(e=this._activeObject,r=!0,s=!0):this._shouldClearSelection(t,e)&&this.discardActiveObject(t),this.selection&&(!e||!e.selectable&&!e.isEditing&&e!==this._activeObject)){const o=this.getScenePoint(t);this._groupSelector={x:o.x,y:o.y,deltaY:0,deltaX:0}}if(e){const o=e===this._activeObject;e.selectable&&e.activeOn==="down"&&this.setActiveObject(e,t);const a=e.findControl(this.getViewportPoint(t),ga(t));if(e===this._activeObject&&(a||!r)){this._setupCurrentTransform(t,e,o);const l=a?a.control:void 0,c=this.getScenePoint(t),h=l&&l.getMouseDownHandler(t,e,l);h&&h.call(l,t,this._currentTransform,c.x,c.y)}}s&&(this._objectsToRender=void 0),this._handleEvent(t,"down"),s&&this.requestRenderAll()}_resetTransformEventData(){this._target=this._pointer=this._absolutePointer=void 0}_cacheTransformEventData(t){this._resetTransformEventData(),this._pointer=this.getViewportPoint(t),this._absolutePointer=Ts(this._pointer,void 0,this.viewportTransform),this._target=this._currentTransform?this._currentTransform.target:this.findTarget(t)}__onMouseMove(t){if(this._isClick=!1,this._cacheTransformEventData(t),this._handleEvent(t,"move:before"),this.isDrawingMode)return void this._onMouseMoveInDrawingMode(t);if(!this._isMainEvent(t))return;const e=this._groupSelector;if(e){const i=this.getScenePoint(t);e.deltaX=i.x-e.x,e.deltaY=i.y-e.y,this.renderTop()}else if(this._currentTransform)this._transformObject(t);else{const i=this.findTarget(t);this._setCursorFromEvent(t,i),this._fireOverOutEvents(t,i)}this.textEditingManager.onMouseMove(t),this._handleEvent(t,"move"),this._resetTransformEventData()}_fireOverOutEvents(t,e){const i=this._hoveredTarget,s=this._hoveredTargets,r=this.targets,o=Math.max(s.length,r.length);this.fireSyntheticInOutEvents("mouse",{e:t,target:e,oldTarget:i,fireCanvas:!0});for(let a=0;a<o;a++)this.fireSyntheticInOutEvents("mouse",{e:t,target:r[a],oldTarget:s[a]});this._hoveredTarget=e,this._hoveredTargets=this.targets.concat()}_fireEnterLeaveEvents(t,e){const i=this._draggedoverTarget,s=this._hoveredTargets,r=this.targets,o=Math.max(s.length,r.length);this.fireSyntheticInOutEvents("drag",_(_({},e),{},{target:t,oldTarget:i,fireCanvas:!0}));for(let a=0;a<o;a++)this.fireSyntheticInOutEvents("drag",_(_({},e),{},{target:r[a],oldTarget:s[a]}));this._draggedoverTarget=t}fireSyntheticInOutEvents(t,e){let{target:i,oldTarget:s,fireCanvas:r,e:o}=e,a=gt(e,yb);const{targetIn:l,targetOut:c,canvasIn:h,canvasOut:u}=xb[t],d=s!==i;if(s&&d){const p=_(_({},a),{},{e:o,target:s,nextTarget:i},us(this,o));r&&this.fire(u,p),s.fire(c,p)}if(i&&d){const p=_(_({},a),{},{e:o,target:i,previousTarget:s},us(this,o));r&&this.fire(h,p),i.fire(l,p)}}__onMouseWheel(t){this._cacheTransformEventData(t),this._handleEvent(t,"wheel"),this._resetTransformEventData()}_transformObject(t){const e=this.getScenePoint(t),i=this._currentTransform,s=i.target,r=s.group?Ts(e,void 0,s.group.calcTransformMatrix()):e;i.shiftKey=t.shiftKey,i.altKey=!!this.centeredKey&&t[this.centeredKey],this._performTransformAction(t,i,r),i.actionPerformed&&this.requestRenderAll()}_performTransformAction(t,e,i){const{action:s,actionHandler:r,target:o}=e,a=!!r&&r(t,e,i.x,i.y);a&&o.setCoords(),s==="drag"&&a&&(e.target.isMoving=!0,this.setCursor(e.target.moveCursor||this.moveCursor)),e.actionPerformed=e.actionPerformed||a}_setCursorFromEvent(t,e){if(!e)return void this.setCursor(this.defaultCursor);let i=e.hoverCursor||this.hoverCursor;const s=Ui(this._activeObject)?this._activeObject:null,r=(!s||e.group!==s)&&e.findControl(this.getViewportPoint(t));if(r){const o=r.control;this.setCursor(o.cursorStyleHandler(t,o,e))}else e.subTargetCheck&&this.targets.concat().reverse().map(o=>{i=o.hoverCursor||i}),this.setCursor(i)}handleMultiSelection(t,e){const i=this._activeObject,s=Ui(i);if(i&&this._isSelectionKeyPressed(t)&&this.selection&&e&&e.selectable&&(i!==e||s)&&(s||!e.isDescendantOf(i)&&!i.isDescendantOf(e))&&!e.onSelect({e:t})&&!i.getActiveControl()){if(s){const r=i.getObjects();if(e===i){const o=this.getViewportPoint(t);if(!(e=this.searchPossibleTargets(r,o)||this.searchPossibleTargets(this._objects,o))||!e.selectable)return!1}e.group===i?(i.remove(e),this._hoveredTarget=e,this._hoveredTargets=[...this.targets],i.size()===1&&this._setActiveObject(i.item(0),t)):(i.multiSelectAdd(e),this._hoveredTarget=i,this._hoveredTargets=[...this.targets]),this._fireSelectionEvents(r,t)}else{i.isEditing&&i.exitEditing();const r=new(R.getClass("ActiveSelection"))([],{canvas:this});r.multiSelectAdd(i,e),this._hoveredTarget=r,this._setActiveObject(r,t),this._fireSelectionEvents([i],t)}return!0}return!1}handleSelection(t){if(!this.selection||!this._groupSelector)return!1;const{x:e,y:i,deltaX:s,deltaY:r}=this._groupSelector,o=new w(e,i),a=o.add(new w(s,r)),l=o.min(a),c=o.max(a).subtract(l),h=this.collectObjects({left:l.x,top:l.y,width:c.x,height:c.y},{includeIntersecting:!this.selectionFullyContained}),u=o.eq(a)?h[0]?[h[0]]:[]:h.length>1?h.filter(d=>!d.onSelect({e:t})).reverse():h;if(u.length===1)this.setActiveObject(u[0],t);else if(u.length>1){const d=R.getClass("ActiveSelection");this.setActiveObject(new d(u,{canvas:this}),t)}return this._groupSelector=null,!0}clear(){this.textEditingManager.clear(),super.clear()}destroy(){this.removeListeners(),this.textEditingManager.dispose(),super.destroy()}}const ju={x1:0,y1:0,x2:0,y2:0},wb=_(_({},ju),{},{r1:0,r2:0}),ys=(n,t)=>isNaN(n)&&typeof t=="number"?t:n,Cb=/^(\d+\.\d+)%|(\d+)%$/;function Ru(n){return n&&Cb.test(n)}function $u(n,t){const e=typeof n=="number"?n:typeof n=="string"?parseFloat(n)/(Ru(n)?100:1):NaN;return Ds(0,ys(e,t),1)}const Sb=/\s*;\s*/,Tb=/\s*:\s*/;function Eb(n,t){let e,i;const s=n.getAttribute("style");if(s){const o=s.split(Sb);o[o.length-1]===""&&o.pop();for(let a=o.length;a--;){const[l,c]=o[a].split(Tb).map(h=>h.trim());l==="stop-color"?e=c:l==="stop-opacity"&&(i=c)}}const r=new st(e||n.getAttribute("stop-color")||"rgb(0,0,0)");return{offset:$u(n.getAttribute("offset"),0),color:r.toRgb(),opacity:ys(parseFloat(i||n.getAttribute("stop-opacity")||""),1)*r.getAlpha()*t}}function Ob(n,t){const e=[],i=n.getElementsByTagName("stop"),s=$u(t,1);for(let r=i.length;r--;)e.push(Eb(i[r],s));return e}function Bu(n){return n.nodeName==="linearGradient"||n.nodeName==="LINEARGRADIENT"?"linear":"radial"}function Nu(n){return n.getAttribute("gradientUnits")==="userSpaceOnUse"?"pixels":"percentage"}function Oe(n,t){return n.getAttribute(t)}function kb(n,t){return function(e,i){let s,{width:r,height:o,gradientUnits:a}=i;return Object.keys(e).reduce((l,c)=>{const h=e[c];return h==="Infinity"?s=1:h==="-Infinity"?s=0:(s=typeof h=="string"?parseFloat(h):h,typeof h=="string"&&Ru(h)&&(s*=.01,a==="pixels"&&(c!=="x1"&&c!=="x2"&&c!=="r2"||(s*=r),c!=="y1"&&c!=="y2"||(s*=o)))),l[c]=s,l},{})}(Bu(n)==="linear"?function(e){return{x1:Oe(e,"x1")||0,y1:Oe(e,"y1")||0,x2:Oe(e,"x2")||"100%",y2:Oe(e,"y2")||0}}(n):function(e){return{x1:Oe(e,"fx")||Oe(e,"cx")||"50%",y1:Oe(e,"fy")||Oe(e,"cy")||"50%",r1:0,x2:Oe(e,"cx")||"50%",y2:Oe(e,"cy")||"50%",r2:Oe(e,"r")||"50%"}}(n),_(_({},t),{},{gradientUnits:Nu(n)}))}class Kr{constructor(t){const{type:e="linear",gradientUnits:i="pixels",coords:s={},colorStops:r=[],offsetX:o=0,offsetY:a=0,gradientTransform:l,id:c}=t||{};Object.assign(this,{type:e,gradientUnits:i,coords:_(_({},e==="radial"?wb:ju),s),colorStops:r,offsetX:o,offsetY:a,gradientTransform:l,id:c?"".concat(c,"_").concat(Ii()):Ii()})}addColorStop(t){for(const e in t){const i=new st(t[e]);this.colorStops.push({offset:parseFloat(e),color:i.toRgb(),opacity:i.getAlpha()})}return this}toObject(t){return _(_({},Bs(this,t)),{},{type:this.type,coords:_({},this.coords),colorStops:this.colorStops.map(e=>_({},e)),offsetX:this.offsetX,offsetY:this.offsetY,gradientUnits:this.gradientUnits,gradientTransform:this.gradientTransform?[...this.gradientTransform]:void 0})}toSVG(t){let{additionalTransform:e}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=[],s=this.gradientTransform?this.gradientTransform.concat():ie.concat(),r=this.gradientUnits==="pixels"?"userSpaceOnUse":"objectBoundingBox",o=this.colorStops.map(u=>_({},u)).sort((u,d)=>u.offset-d.offset);let a=-this.offsetX,l=-this.offsetY;var c;r==="objectBoundingBox"?(a/=t.width,l/=t.height):(a+=t.width/2,l+=t.height/2),(c=t)&&typeof c._renderPathCommands=="function"&&this.gradientUnits!=="percentage"&&(a-=t.pathOffset.x,l-=t.pathOffset.y),s[4]-=a,s[5]-=l;const h=['id="SVGID_'.concat(this.id,'"'),'gradientUnits="'.concat(r,'"'),'gradientTransform="'.concat(e?e+" ":"").concat(zn(s),'"'),""].join(" ");if(this.type==="linear"){const{x1:u,y1:d,x2:p,y2:g}=this.coords;i.push("<linearGradient ",h,' x1="',u,'" y1="',d,'" x2="',p,'" y2="',g,`">
|
|
2555
|
+
`),e}getSvgStyles(){const t=this.opacity!==void 0&&this.opacity!==1?"opacity: ".concat(this.opacity,";"):"",e=this.visible?"":" visibility: hidden;";return[t,this.getSvgFilter(),e].join("")}toClipPathSVG(t){const e=[],i=this._createSVGBgRect(t);i&&e.push(" ",i);for(let s=0;s<this._objects.length;s++)e.push(" ",this._objects[s].toClipPathSVG(t));return this._createBaseClipPathSVGMarkup(e,{reviver:t})}static fromObject(t,e){let{type:i,objects:s=[],layoutManager:r}=t,o=gt(t,Qv);return Promise.all([xr(s,e),vo(o,e)]).then(a=>{let[l,c]=a;const h=new this(l,_(_(_({},o),c),{},{layoutManager:new tb}));if(r){const u=R.getClass(r.type),d=R.getClass(r.strategy);h.layoutManager=new u(new d)}else h.layoutManager=new Sr;return h.layoutManager.subscribeTargets({type:ni,target:h,targets:h.getObjects()}),h.setCoords(),h})}}b(Ei,"type","Group"),b(Ei,"ownDefaults",{strokeWidth:0,subTargetCheck:!1,interactive:!1}),R.setClass(Ei);const eb=(n,t)=>Math.min(t.width/n.width,t.height/n.height),ib=(n,t)=>Math.max(t.width/n.width,t.height/n.height),xa="\\s*,?\\s*",Js="".concat(xa,"(").concat(rs,")"),sb="".concat(Js).concat(Js).concat(Js).concat(xa,"([01])").concat(xa,"([01])").concat(Js).concat(Js),rb={m:"l",M:"L"},nb=(n,t,e,i,s,r,o,a,l,c,h)=>{const u=pi(n),d=gi(n),p=pi(t),g=gi(t),f=e*s*p-i*r*g+o,m=i*s*p+e*r*g+a;return["C",c+l*(-e*s*d-i*r*u),h+l*(-i*s*d+e*r*u),f+l*(e*s*g+i*r*p),m+l*(i*s*g-e*r*p),f,m]},Rc=(n,t,e,i)=>{const s=Math.atan2(t,n),r=Math.atan2(i,e);return r>=s?r-s:2*Math.PI-(s-r)};function $c(n,t,e,i,s,r,o,a){let l;if(tt.cachesBoundsOfCurve&&(l=[...arguments].join(),or.boundsOfCurveCache[l]))return or.boundsOfCurveCache[l];const c=Math.sqrt,h=Math.abs,u=[],d=[[0,0],[0,0]];let p=6*n-12*e+6*s,g=-3*n+9*e-9*s+3*o,f=3*e-3*n;for(let E=0;E<2;++E){if(E>0&&(p=6*t-12*i+6*r,g=-3*t+9*i-9*r+3*a,f=3*i-3*t),h(g)<1e-12){if(h(p)<1e-12)continue;const F=-f/p;0<F&&F<1&&u.push(F);continue}const O=p*p-4*f*g;if(O<0)continue;const D=c(O),C=(-p+D)/(2*g);0<C&&C<1&&u.push(C);const T=(-p-D)/(2*g);0<T&&T<1&&u.push(T)}let m=u.length;const v=m,y=Du(n,t,e,i,s,r,o,a);for(;m--;){const{x:E,y:O}=y(u[m]);d[0][m]=E,d[1][m]=O}d[0][v]=n,d[1][v]=t,d[0][v+1]=o,d[1][v+1]=a;const x=[new w(Math.min(...d[0]),Math.min(...d[1])),new w(Math.max(...d[0]),Math.max(...d[1]))];return tt.cachesBoundsOfCurve&&(or.boundsOfCurveCache[l]=x),x}const ob=(n,t,e)=>{let[i,s,r,o,a,l,c,h]=e;const u=((d,p,g,f,m,v,y)=>{if(g===0||f===0)return[];let x=0,E=0,O=0;const D=Math.PI,C=y*Ka,T=gi(C),F=pi(C),j=.5*(-F*d-T*p),A=.5*(-F*p+T*d),k=g**2,P=f**2,L=A**2,z=j**2,X=k*P-k*L-P*z;let J=Math.abs(g),$=Math.abs(f);if(X<0){const ut=Math.sqrt(1-X/(k*P));J*=ut,$*=ut}else O=(m===v?-1:1)*Math.sqrt(X/(k*L+P*z));const B=O*J*A/$,M=-O*$*j/J,H=F*B-T*M+.5*d,Q=T*B+F*M+.5*p;let Ct=Rc(1,0,(j-B)/J,(A-M)/$),at=Rc((j-B)/J,(A-M)/$,(-j-B)/J,(-A-M)/$);v===0&&at>0?at-=2*D:v===1&&at<0&&(at+=2*D);const ge=Math.ceil(Math.abs(at/D*2)),I=[],et=at/ge,Gt=8/3*Math.sin(et/4)*Math.sin(et/4)/Math.sin(et/2);let ht=Ct+et;for(let ut=0;ut<ge;ut++)I[ut]=nb(Ct,ht,F,T,J,$,H,Q,Gt,x,E),x=I[ut][5],E=I[ut][6],Ct=ht,ht+=et;return I})(c-n,h-t,s,r,a,l,o);for(let d=0,p=u.length;d<p;d++)u[d][1]+=n,u[d][2]+=t,u[d][3]+=n,u[d][4]+=t,u[d][5]+=n,u[d][6]+=t;return u},ab=n=>{let t=0,e=0,i=0,s=0;const r=[];let o,a=0,l=0;for(const c of n){const h=[...c];let u;switch(h[0]){case"l":h[1]+=t,h[2]+=e;case"L":t=h[1],e=h[2],u=["L",t,e];break;case"h":h[1]+=t;case"H":t=h[1],u=["L",t,e];break;case"v":h[1]+=e;case"V":e=h[1],u=["L",t,e];break;case"m":h[1]+=t,h[2]+=e;case"M":t=h[1],e=h[2],i=h[1],s=h[2],u=["M",t,e];break;case"c":h[1]+=t,h[2]+=e,h[3]+=t,h[4]+=e,h[5]+=t,h[6]+=e;case"C":a=h[3],l=h[4],t=h[5],e=h[6],u=["C",h[1],h[2],a,l,t,e];break;case"s":h[1]+=t,h[2]+=e,h[3]+=t,h[4]+=e;case"S":o==="C"?(a=2*t-a,l=2*e-l):(a=t,l=e),t=h[3],e=h[4],u=["C",a,l,h[1],h[2],t,e],a=u[3],l=u[4];break;case"q":h[1]+=t,h[2]+=e,h[3]+=t,h[4]+=e;case"Q":a=h[1],l=h[2],t=h[3],e=h[4],u=["Q",a,l,t,e];break;case"t":h[1]+=t,h[2]+=e;case"T":o==="Q"?(a=2*t-a,l=2*e-l):(a=t,l=e),t=h[1],e=h[2],u=["Q",a,l,t,e];break;case"a":h[6]+=t,h[7]+=e;case"A":ob(t,e,h).forEach(d=>r.push(d)),t=h[6],e=h[7];break;case"z":case"Z":t=i,e=s,u=["Z"]}u?(r.push(u),o=u[0]):o=""}return r},Gn=(n,t,e,i)=>Math.sqrt((e-n)**2+(i-t)**2),Du=(n,t,e,i,s,r,o,a)=>l=>{const c=l**3,h=(p=>3*p**2*(1-p))(l),u=(p=>3*p*(1-p)**2)(l),d=(p=>(1-p)**3)(l);return new w(o*c+s*h+e*u+n*d,a*c+r*h+i*u+t*d)},Mu=n=>n**2,Iu=n=>2*n*(1-n),Lu=n=>(1-n)**2,lb=(n,t,e,i,s,r,o,a)=>l=>{const c=Mu(l),h=Iu(l),u=Lu(l),d=3*(u*(e-n)+h*(s-e)+c*(o-s)),p=3*(u*(i-t)+h*(r-i)+c*(a-r));return Math.atan2(p,d)},cb=(n,t,e,i,s,r)=>o=>{const a=Mu(o),l=Iu(o),c=Lu(o);return new w(s*a+e*l+n*c,r*a+i*l+t*c)},hb=(n,t,e,i,s,r)=>o=>{const a=1-o,l=2*(a*(e-n)+o*(s-e)),c=2*(a*(i-t)+o*(r-i));return Math.atan2(c,l)},Bc=(n,t,e)=>{let i=new w(t,e),s=0;for(let r=1;r<=100;r+=1){const o=n(r/100);s+=Gn(i.x,i.y,o.x,o.y),i=o}return s},ub=(n,t)=>{let e,i=0,s=0,r={x:n.x,y:n.y},o=_({},r),a=.01,l=0;const c=n.iterator,h=n.angleFinder;for(;s<t&&a>1e-4;)o=c(i),l=i,e=Gn(r.x,r.y,o.x,o.y),e+s>t?(i-=a,a/=2):(r=o,i+=a,s+=e);return _(_({},o),{},{angle:h(l)})},Fu=n=>{let t,e,i=0,s=0,r=0,o=0,a=0;const l=[];for(const c of n){const h={x:s,y:r,command:c[0],length:0};switch(c[0]){case"M":e=h,e.x=o=s=c[1],e.y=a=r=c[2];break;case"L":e=h,e.length=Gn(s,r,c[1],c[2]),s=c[1],r=c[2];break;case"C":t=Du(s,r,c[1],c[2],c[3],c[4],c[5],c[6]),e=h,e.iterator=t,e.angleFinder=lb(s,r,c[1],c[2],c[3],c[4],c[5],c[6]),e.length=Bc(t,s,r),s=c[5],r=c[6];break;case"Q":t=cb(s,r,c[1],c[2],c[3],c[4]),e=h,e.iterator=t,e.angleFinder=hb(s,r,c[1],c[2],c[3],c[4]),e.length=Bc(t,s,r),s=c[3],r=c[4];break;case"Z":e=h,e.destX=o,e.destY=a,e.length=Gn(s,r,o,a),s=o,r=a}i+=e.length,l.push(e)}return l.push({length:i,x:s,y:r}),l},db=function(n,t){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Fu(n),i=0;for(;t-e[i].length>0&&i<e.length-2;)t-=e[i].length,i++;const s=e[i],r=t/s.length,o=n[i];switch(s.command){case"M":return{x:s.x,y:s.y,angle:0};case"Z":return _(_({},new w(s.x,s.y).lerp(new w(s.destX,s.destY),r)),{},{angle:Math.atan2(s.destY-s.y,s.destX-s.x)});case"L":return _(_({},new w(s.x,s.y).lerp(new w(o[1],o[2]),r)),{},{angle:Math.atan2(o[2]-s.y,o[1]-s.x)});case"C":case"Q":return ub(s,t)}},pb=new RegExp("[mzlhvcsqta][^mzlhvcsqta]*","gi"),Nc=new RegExp(sb,"g"),gb=new RegExp(rs,"gi"),fb={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},mb=n=>{var t;const e=[],i=(t=n.match(pb))!==null&&t!==void 0?t:[];for(const s of i){const r=s[0];if(r==="z"||r==="Z"){e.push([r]);continue}const o=fb[r.toLowerCase()];let a=[];if(r==="a"||r==="A"){Nc.lastIndex=0;for(let l=null;l=Nc.exec(s);)a.push(...l.slice(1))}else a=s.match(gb)||[];for(let l=0;l<a.length;l+=o){const c=new Array(o),h=rb[r];c[0]=l>0&&h?h:r;for(let u=0;u<o;u++)c[u+1]=parseFloat(a[l+u]);e.push(c)}}return e},vb=(n,t)=>n.map(e=>e.map((i,s)=>s===0||t===void 0?i:mt(i,t)).join(" ")).join(" ");function wa(n,t){const e=n.style;e&&t&&(typeof t=="string"?e.cssText+=";"+t:Object.entries(t).forEach(i=>{let[s,r]=i;return e.setProperty(s,r)}))}class bb extends uu{constructor(t){let{allowTouchScrolling:e=!1,containerClass:i=""}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t),b(this,"upper",void 0),b(this,"container",void 0);const{el:s}=this.lower,r=this.createUpperCanvas();this.upper={el:r,ctx:r.getContext("2d")},this.applyCanvasStyle(s,{allowTouchScrolling:e}),this.applyCanvasStyle(r,{allowTouchScrolling:e,styles:{position:"absolute",left:"0",top:"0"}});const o=this.createContainerElement();o.classList.add(i),s.parentNode&&s.parentNode.replaceChild(o,s),o.append(s,r),this.container=o}createUpperCanvas(){const{el:t}=this.lower,e=Fe();return e.className=t.className,e.classList.remove("lower-canvas"),e.classList.add("upper-canvas"),e.setAttribute("data-fabric","top"),e.style.cssText=t.style.cssText,e.setAttribute("draggable","true"),e}createContainerElement(){const t=js().createElement("div");return t.setAttribute("data-fabric","wrapper"),wa(t,{position:"relative"}),bc(t),t}applyCanvasStyle(t,e){const{styles:i,allowTouchScrolling:s}=e;wa(t,_(_({},i),{},{"touch-action":s?"manipulation":ce})),bc(t)}setDimensions(t,e){super.setDimensions(t,e);const{el:i,ctx:s}=this.upper;hu(i,s,t,e)}setCSSDimensions(t){super.setCSSDimensions(t),pa(this.upper.el,t),pa(this.container,t)}cleanupDOM(t){const e=this.container,{el:i}=this.lower,{el:s}=this.upper;super.cleanupDOM(t),e.removeChild(s),e.removeChild(i),e.parentNode&&e.parentNode.replaceChild(i,e)}dispose(){super.dispose(),Ge().dispose(this.upper.el),delete this.upper,delete this.container}}class wo extends Br{constructor(){super(...arguments),b(this,"targets",[]),b(this,"_hoveredTargets",[]),b(this,"_objectsToRender",void 0),b(this,"_currentTransform",null),b(this,"_groupSelector",null),b(this,"contextTopDirty",!1)}static getDefaults(){return _(_({},super.getDefaults()),wo.ownDefaults)}get upperCanvasEl(){var t;return(t=this.elements.upper)===null||t===void 0?void 0:t.el}get contextTop(){var t;return(t=this.elements.upper)===null||t===void 0?void 0:t.ctx}get wrapperEl(){return this.elements.container}initElements(t){this.elements=new bb(t,{allowTouchScrolling:this.allowTouchScrolling,containerClass:this.containerClass}),this._createCacheCanvas()}_onObjectAdded(t){this._objectsToRender=void 0,super._onObjectAdded(t)}_onObjectRemoved(t){this._objectsToRender=void 0,t===this._activeObject&&(this.fire("before:selection:cleared",{deselected:[t]}),this._discardActiveObject(),this.fire("selection:cleared",{deselected:[t]}),t.fire("deselected",{target:t})),t===this._hoveredTarget&&(this._hoveredTarget=void 0,this._hoveredTargets=[]),super._onObjectRemoved(t)}_onStackOrderChanged(){this._objectsToRender=void 0,super._onStackOrderChanged()}_chooseObjectsToRender(){const t=this._activeObject;return!this.preserveObjectStacking&&t?this._objects.filter(e=>!e.group&&e!==t).concat(t):this._objects}renderAll(){this.cancelRequestedRender(),this.destroyed||(!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1),!this._objectsToRender&&(this._objectsToRender=this._chooseObjectsToRender()),this.renderCanvas(this.getContext(),this._objectsToRender))}renderTopLayer(t){t.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(t),this.contextTopDirty=!0),t.restore()}renderTop(){const t=this.contextTop;this.clearContext(t),this.renderTopLayer(t),this.fire("after:render",{ctx:t})}setTargetFindTolerance(t){t=Math.round(t),this.targetFindTolerance=t;const e=this.getRetinaScaling(),i=Math.ceil((2*t+1)*e);this.pixelFindCanvasEl.width=this.pixelFindCanvasEl.height=i,this.pixelFindContext.scale(e,e)}isTargetTransparent(t,e,i){const s=this.targetFindTolerance,r=this.pixelFindContext;this.clearContext(r),r.save(),r.translate(-e+s,-i+s),r.transform(...this.viewportTransform);const o=t.selectionBackgroundColor;t.selectionBackgroundColor="",t.render(r),t.selectionBackgroundColor=o,r.restore();const a=Math.round(s*this.getRetinaScaling());return Cv(r,a,a,a)}_isSelectionKeyPressed(t){const e=this.selectionKey;return!!e&&(Array.isArray(e)?!!e.find(i=>!!i&&t[i]===!0):t[e])}_shouldClearSelection(t,e){const i=this.getActiveObjects(),s=this._activeObject;return!!(!e||e&&s&&i.length>1&&i.indexOf(e)===-1&&s!==e&&!this._isSelectionKeyPressed(t)||e&&!e.evented||e&&!e.selectable&&s&&s!==e)}_shouldCenterTransform(t,e,i){if(!t)return;let s;return e===fo||e===pe||e===Ee||e===yr?s=this.centeredScaling||t.centeredScaling:e===Ja&&(s=this.centeredRotation||t.centeredRotation),s?!i:i}_getOriginFromCorner(t,e){const i={x:t.originX,y:t.originY};return e&&(["ml","tl","bl"].includes(e)?i.x=Ot:["mr","tr","br"].includes(e)&&(i.x=it),["tl","mt","tr"].includes(e)?i.y=da:["bl","mb","br"].includes(e)&&(i.y=le)),i}_setupCurrentTransform(t,e,i){var s;const r=e.group?Ts(this.getScenePoint(t),void 0,e.group.calcTransformMatrix()):this.getScenePoint(t),{key:o="",control:a}=e.getActiveControl()||{},l=i&&a?(s=a.getActionHandler(t,e,a))===null||s===void 0?void 0:s.bind(a):Hm,c=((p,g,f,m)=>{if(!g||!p)return"drag";const v=m.controls[g];return v.getActionName(f,v,m)})(i,o,t,e),h=t[this.centeredKey],u=this._shouldCenterTransform(e,c,h)?{x:K,y:K}:this._getOriginFromCorner(e,o),d={target:e,action:c,actionHandler:l,actionPerformed:!1,corner:o,scaleX:e.scaleX,scaleY:e.scaleY,skewX:e.skewX,skewY:e.skewY,offsetX:r.x-e.left,offsetY:r.y-e.top,originX:u.x,originY:u.y,ex:r.x,ey:r.y,lastX:r.x,lastY:r.y,theta:kt(e.angle),width:e.width,height:e.height,shiftKey:t.shiftKey,altKey:h,original:_(_({},du(e)),{},{originX:u.x,originY:u.y})};this._currentTransform=d,this.fire("before:transform",{e:t,transform:d})}setCursor(t){this.upperCanvasEl.style.cursor=t}_drawSelection(t){const{x:e,y:i,deltaX:s,deltaY:r}=this._groupSelector,o=new w(e,i).transform(this.viewportTransform),a=new w(e+s,i+r).transform(this.viewportTransform),l=this.selectionLineWidth/2;let c=Math.min(o.x,a.x),h=Math.min(o.y,a.y),u=Math.max(o.x,a.x),d=Math.max(o.y,a.y);this.selectionColor&&(t.fillStyle=this.selectionColor,t.fillRect(c,h,u-c,d-h)),this.selectionLineWidth&&this.selectionBorderColor&&(t.lineWidth=this.selectionLineWidth,t.strokeStyle=this.selectionBorderColor,c+=l,h+=l,u-=l,d-=l,Kt.prototype._setLineDash.call(this,t,this.selectionDashArray),t.strokeRect(c,h,u-c,d-h))}findTarget(t){if(this.skipTargetFind)return;const e=this.getViewportPoint(t),i=this._activeObject,s=this.getActiveObjects();if(this.targets=[],i&&s.length>=1){if(i.findControl(e,ga(t))||s.length>1&&this.searchPossibleTargets([i],e))return i;if(i===this.searchPossibleTargets([i],e)){if(this.preserveObjectStacking){const r=this.targets;this.targets=[];const o=this.searchPossibleTargets(this._objects,e);return t[this.altSelectionKey]&&o&&o!==i?(this.targets=r,i):o}return i}}return this.searchPossibleTargets(this._objects,e)}_pointIsInObjectSelectionArea(t,e){let i=t.getCoords();const s=this.getZoom(),r=t.padding/s;if(r){const[o,a,l,c]=i,h=Math.atan2(a.y-o.y,a.x-o.x),u=pi(h)*r,d=gi(h)*r,p=u+d,g=u-d;i=[new w(o.x-g,o.y-p),new w(a.x+p,a.y-g),new w(l.x+g,l.y+p),new w(c.x-p,c.y+g)]}return ft.isPointInPolygon(e,i)}_checkTarget(t,e){return!!(t&&t.visible&&t.evented&&this._pointIsInObjectSelectionArea(t,Ts(e,void 0,this.viewportTransform))&&(!this.perPixelTargetFind&&!t.perPixelTargetFind||t.isEditing||!this.isTargetTransparent(t,e.x,e.y)))}_searchPossibleTargets(t,e){let i=t.length;for(;i--;){const s=t[i];if(this._checkTarget(s,e)){if(Sn(s)&&s.subTargetCheck){const r=this._searchPossibleTargets(s._objects,e);r&&this.targets.push(r)}return s}}}searchPossibleTargets(t,e){const i=this._searchPossibleTargets(t,e);if(i&&Sn(i)&&i.interactive&&this.targets[0]){const s=this.targets;for(let r=s.length-1;r>0;r--){const o=s[r];if(!Sn(o)||!o.interactive)return o}return s[0]}return i}getViewportPoint(t){return this._pointer?this._pointer:this.getPointer(t,!0)}getScenePoint(t){return this._absolutePointer?this._absolutePointer:this.getPointer(t)}getPointer(t){let e=arguments.length>1&&arguments[1]!==void 0&&arguments[1];const i=this.upperCanvasEl,s=i.getBoundingClientRect();let r=Fm(t),o=s.width||0,a=s.height||0;o&&a||(le in s&&da in s&&(a=Math.abs(s.top-s.bottom)),Ot in s&&it in s&&(o=Math.abs(s.right-s.left))),this.calcOffset(),r.x=r.x-this._offset.left,r.y=r.y-this._offset.top,e||(r=Ts(r,void 0,this.viewportTransform));const l=this.getRetinaScaling();l!==1&&(r.x/=l,r.y/=l);const c=o===0||a===0?new w(1,1):new w(i.width/o,i.height/a);return r.multiply(c)}_setDimensionsImpl(t,e){this._resetTransformEventData(),super._setDimensionsImpl(t,e),this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop)}_createCacheCanvas(){this.pixelFindCanvasEl=Fe(),this.pixelFindContext=this.pixelFindCanvasEl.getContext("2d",{willReadFrequently:!0}),this.setTargetFindTolerance(this.targetFindTolerance)}getTopContext(){return this.elements.upper.ctx}getSelectionContext(){return this.elements.upper.ctx}getSelectionElement(){return this.elements.upper.el}getActiveObject(){return this._activeObject}getActiveObjects(){const t=this._activeObject;return Ui(t)?t.getObjects():t?[t]:[]}_fireSelectionEvents(t,e){let i=!1,s=!1;const r=this.getActiveObjects(),o=[],a=[];t.forEach(l=>{r.includes(l)||(i=!0,l.fire("deselected",{e,target:l}),a.push(l))}),r.forEach(l=>{t.includes(l)||(i=!0,l.fire("selected",{e,target:l}),o.push(l))}),t.length>0&&r.length>0?(s=!0,i&&this.fire("selection:updated",{e,selected:o,deselected:a})):r.length>0?(s=!0,this.fire("selection:created",{e,selected:o})):t.length>0&&(s=!0,this.fire("selection:cleared",{e,deselected:a})),s&&(this._objectsToRender=void 0)}setActiveObject(t,e){const i=this.getActiveObjects(),s=this._setActiveObject(t,e);return this._fireSelectionEvents(i,e),s}_setActiveObject(t,e){const i=this._activeObject;return i!==t&&!(!this._discardActiveObject(e,t)&&this._activeObject)&&!t.onSelect({e})&&(this._activeObject=t,Ui(t)&&i!==t&&t.set("canvas",this),t.setCoords(),!0)}_discardActiveObject(t,e){const i=this._activeObject;return!!i&&!i.onDeselect({e:t,object:e})&&(this._currentTransform&&this._currentTransform.target===i&&this.endCurrentTransform(t),Ui(i)&&i===this._hoveredTarget&&(this._hoveredTarget=void 0),this._activeObject=void 0,!0)}discardActiveObject(t){const e=this.getActiveObjects(),i=this.getActiveObject();e.length&&this.fire("before:selection:cleared",{e:t,deselected:[i]});const s=this._discardActiveObject(t);return this._fireSelectionEvents(e,t),s}endCurrentTransform(t){const e=this._currentTransform;this._finalizeCurrentTransform(t),e&&e.target&&(e.target.isMoving=!1),this._currentTransform=null}_finalizeCurrentTransform(t){const e=this._currentTransform,i=e.target,s={e:t,target:i,transform:e,action:e.action};i._scaling&&(i._scaling=!1),i.setCoords(),e.actionPerformed&&(this.fire("object:modified",s),i.fire($n,s))}setViewportTransform(t){super.setViewportTransform(t);const e=this._activeObject;e&&e.setCoords()}destroy(){const t=this._activeObject;Ui(t)&&(t.removeAll(),t.dispose()),delete this._activeObject,super.destroy(),this.pixelFindContext=null,this.pixelFindCanvasEl=void 0}clear(){this.discardActiveObject(),this._activeObject=void 0,this.clearContext(this.contextTop),super.clear()}drawControls(t){const e=this._activeObject;e&&e._renderControls(t)}_toObject(t,e,i){const s=this._realizeGroupTransformOnObject(t),r=super._toObject(t,e,i);return t.set(s),r}_realizeGroupTransformOnObject(t){const{group:e}=t;if(e&&Ui(e)&&this._activeObject===e){const i=Bs(t,["angle","flipX","flipY",it,pe,Ee,Rs,$s,le]);return Rm(t,e.calcOwnMatrix()),i}return{}}_setSVGObject(t,e,i){const s=this._realizeGroupTransformOnObject(e);super._setSVGObject(t,e,i),e.set(s)}}b(wo,"ownDefaults",{uniformScaling:!0,uniScaleKey:"shiftKey",centeredScaling:!1,centeredRotation:!1,centeredKey:"altKey",altActionKey:"shiftKey",selection:!0,selectionKey:"shiftKey",selectionColor:"rgba(100, 100, 255, 0.3)",selectionDashArray:[],selectionBorderColor:"rgba(255, 255, 255, 0.3)",selectionLineWidth:1,selectionFullyContained:!1,hoverCursor:"move",moveCursor:"move",defaultCursor:"default",freeDrawingCursor:"crosshair",notAllowedCursor:"not-allowed",perPixelTargetFind:!1,targetFindTolerance:0,skipTargetFind:!1,stopContextMenu:!1,fireRightClick:!1,fireMiddleClick:!1,enablePointerEvents:!1,containerClass:"canvas-container",preserveObjectStacking:!1});class _b{constructor(t){b(this,"targets",[]),b(this,"__disposer",void 0);const e=()=>{const{hiddenTextarea:s}=t.getActiveObject()||{};s&&s.focus()},i=t.upperCanvasEl;i.addEventListener("click",e),this.__disposer=()=>i.removeEventListener("click",e)}exitTextEditing(){this.target=void 0,this.targets.forEach(t=>{t.isEditing&&t.exitEditing()})}add(t){this.targets.push(t)}remove(t){this.unregister(t),fs(this.targets,t)}register(t){this.target=t}unregister(t){t===this.target&&(this.target=void 0)}onMouseMove(t){var e;!((e=this.target)===null||e===void 0)&&e.isEditing&&this.target.updateSelectionOnMouseMove(t)}clear(){this.targets=[],this.target=void 0}dispose(){this.clear(),this.__disposer(),delete this.__disposer}}const yb=["target","oldTarget","fireCanvas","e"],fe={passive:!1},us=(n,t)=>{const e=n.getViewportPoint(t),i=n.getScenePoint(t);return{viewportPoint:e,scenePoint:i,pointer:e,absolutePointer:i}},_i=function(n){for(var t=arguments.length,e=new Array(t>1?t-1:0),i=1;i<t;i++)e[i-1]=arguments[i];return n.addEventListener(...e)},ye=function(n){for(var t=arguments.length,e=new Array(t>1?t-1:0),i=1;i<t;i++)e[i-1]=arguments[i];return n.removeEventListener(...e)},xb={mouse:{in:"over",out:"out",targetIn:"mouseover",targetOut:"mouseout",canvasIn:"mouse:over",canvasOut:"mouse:out"},drag:{in:"enter",out:"leave",targetIn:"dragenter",targetOut:"dragleave",canvasIn:"drag:enter",canvasOut:"drag:leave"}};class Yn extends wo{constructor(t){super(t,arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}),b(this,"_isClick",void 0),b(this,"textEditingManager",new _b(this)),["_onMouseDown","_onTouchStart","_onMouseMove","_onMouseUp","_onTouchEnd","_onResize","_onMouseWheel","_onMouseOut","_onMouseEnter","_onContextMenu","_onDoubleClick","_onDragStart","_onDragEnd","_onDragProgress","_onDragOver","_onDragEnter","_onDragLeave","_onDrop"].forEach(e=>{this[e]=this[e].bind(this)}),this.addOrRemove(_i,"add")}_getEventPrefix(){return this.enablePointerEvents?"pointer":"mouse"}addOrRemove(t,e){const i=this.upperCanvasEl,s=this._getEventPrefix();t(cu(i),"resize",this._onResize),t(i,s+"down",this._onMouseDown),t(i,"".concat(s,"move"),this._onMouseMove,fe),t(i,"".concat(s,"out"),this._onMouseOut),t(i,"".concat(s,"enter"),this._onMouseEnter),t(i,"wheel",this._onMouseWheel),t(i,"contextmenu",this._onContextMenu),t(i,"dblclick",this._onDoubleClick),t(i,"dragstart",this._onDragStart),t(i,"dragend",this._onDragEnd),t(i,"dragover",this._onDragOver),t(i,"dragenter",this._onDragEnter),t(i,"dragleave",this._onDragLeave),t(i,"drop",this._onDrop),this.enablePointerEvents||t(i,"touchstart",this._onTouchStart,fe)}removeListeners(){this.addOrRemove(ye,"remove");const t=this._getEventPrefix(),e=De(this.upperCanvasEl);ye(e,"".concat(t,"up"),this._onMouseUp),ye(e,"touchend",this._onTouchEnd,fe),ye(e,"".concat(t,"move"),this._onMouseMove,fe),ye(e,"touchmove",this._onMouseMove,fe),clearTimeout(this._willAddMouseDown)}_onMouseWheel(t){this.__onMouseWheel(t)}_onMouseOut(t){const e=this._hoveredTarget,i=_({e:t},us(this,t));this.fire("mouse:out",_(_({},i),{},{target:e})),this._hoveredTarget=void 0,e&&e.fire("mouseout",_({},i)),this._hoveredTargets.forEach(s=>{this.fire("mouse:out",_(_({},i),{},{target:s})),s&&s.fire("mouseout",_({},i))}),this._hoveredTargets=[]}_onMouseEnter(t){this._currentTransform||this.findTarget(t)||(this.fire("mouse:over",_({e:t},us(this,t))),this._hoveredTarget=void 0,this._hoveredTargets=[])}_onDragStart(t){this._isClick=!1;const e=this.getActiveObject();if(e&&e.onDragStart(t)){this._dragSource=e;const i={e:t,target:e};return this.fire("dragstart",i),e.fire("dragstart",i),void _i(this.upperCanvasEl,"drag",this._onDragProgress)}fa(t)}_renderDragEffects(t,e,i){let s=!1;const r=this._dropTarget;r&&r!==e&&r!==i&&(r.clearContextTop(),s=!0),e==null||e.clearContextTop(),i!==e&&(i==null||i.clearContextTop());const o=this.contextTop;o.save(),o.transform(...this.viewportTransform),e&&(o.save(),e.transform(o),e.renderDragSourceEffect(t),o.restore(),s=!0),i&&(o.save(),i.transform(o),i.renderDropTargetEffect(t),o.restore(),s=!0),o.restore(),s&&(this.contextTopDirty=!0)}_onDragEnd(t){const e=!!t.dataTransfer&&t.dataTransfer.dropEffect!==ce,i=e?this._activeObject:void 0,s={e:t,target:this._dragSource,subTargets:this.targets,dragSource:this._dragSource,didDrop:e,dropTarget:i};ye(this.upperCanvasEl,"drag",this._onDragProgress),this.fire("dragend",s),this._dragSource&&this._dragSource.fire("dragend",s),delete this._dragSource,this._onMouseUp(t)}_onDragProgress(t){const e={e:t,target:this._dragSource,dragSource:this._dragSource,dropTarget:this._draggedoverTarget};this.fire("drag",e),this._dragSource&&this._dragSource.fire("drag",e)}findDragTargets(t){return this.targets=[],{target:this._searchPossibleTargets(this._objects,this.getViewportPoint(t)),targets:[...this.targets]}}_onDragOver(t){const e="dragover",{target:i,targets:s}=this.findDragTargets(t),r=this._dragSource,o={e:t,target:i,subTargets:s,dragSource:r,canDrop:!1,dropTarget:void 0};let a;this.fire(e,o),this._fireEnterLeaveEvents(i,o),i&&(i.canDrop(t)&&(a=i),i.fire(e,o));for(let l=0;l<s.length;l++){const c=s[l];c.canDrop(t)&&(a=c),c.fire(e,o)}this._renderDragEffects(t,r,a),this._dropTarget=a}_onDragEnter(t){const{target:e,targets:i}=this.findDragTargets(t),s={e:t,target:e,subTargets:i,dragSource:this._dragSource};this.fire("dragenter",s),this._fireEnterLeaveEvents(e,s)}_onDragLeave(t){const e={e:t,target:this._draggedoverTarget,subTargets:this.targets,dragSource:this._dragSource};this.fire("dragleave",e),this._fireEnterLeaveEvents(void 0,e),this._renderDragEffects(t,this._dragSource),this._dropTarget=void 0,this.targets=[],this._hoveredTargets=[]}_onDrop(t){const{target:e,targets:i}=this.findDragTargets(t),s=this._basicEventHandler("drop:before",_({e:t,target:e,subTargets:i,dragSource:this._dragSource},us(this,t)));s.didDrop=!1,s.dropTarget=void 0,this._basicEventHandler("drop",s),this.fire("drop:after",s)}_onContextMenu(t){const e=this.findTarget(t),i=this.targets||[],s=this._basicEventHandler("contextmenu:before",{e:t,target:e,subTargets:i});return this.stopContextMenu&&fa(t),this._basicEventHandler("contextmenu",s),!1}_onDoubleClick(t){this._cacheTransformEventData(t),this._handleEvent(t,"dblclick"),this._resetTransformEventData()}getPointerId(t){const e=t.changedTouches;return e?e[0]&&e[0].identifier:this.enablePointerEvents?t.pointerId:-1}_isMainEvent(t){return t.isPrimary===!0||t.isPrimary!==!1&&(t.type==="touchend"&&t.touches.length===0||!t.changedTouches||t.changedTouches[0].identifier===this.mainTouchId)}_onTouchStart(t){let e=!this.allowTouchScrolling;const i=this._activeObject;this.mainTouchId===void 0&&(this.mainTouchId=this.getPointerId(t)),this.__onMouseDown(t),(this.isDrawingMode||i&&this._target===i)&&(e=!0),e&&t.preventDefault(),this._resetTransformEventData();const s=this.upperCanvasEl,r=this._getEventPrefix(),o=De(s);_i(o,"touchend",this._onTouchEnd,fe),e&&_i(o,"touchmove",this._onMouseMove,fe),ye(s,"".concat(r,"down"),this._onMouseDown)}_onMouseDown(t){this.__onMouseDown(t),this._resetTransformEventData();const e=this.upperCanvasEl,i=this._getEventPrefix();ye(e,"".concat(i,"move"),this._onMouseMove,fe);const s=De(e);_i(s,"".concat(i,"up"),this._onMouseUp),_i(s,"".concat(i,"move"),this._onMouseMove,fe)}_onTouchEnd(t){if(t.touches.length>0)return;this.__onMouseUp(t),this._resetTransformEventData(),delete this.mainTouchId;const e=this._getEventPrefix(),i=De(this.upperCanvasEl);ye(i,"touchend",this._onTouchEnd,fe),ye(i,"touchmove",this._onMouseMove,fe),this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout(()=>{_i(this.upperCanvasEl,"".concat(e,"down"),this._onMouseDown),this._willAddMouseDown=0},400)}_onMouseUp(t){this.__onMouseUp(t),this._resetTransformEventData();const e=this.upperCanvasEl,i=this._getEventPrefix();if(this._isMainEvent(t)){const s=De(this.upperCanvasEl);ye(s,"".concat(i,"up"),this._onMouseUp),ye(s,"".concat(i,"move"),this._onMouseMove,fe),_i(e,"".concat(i,"move"),this._onMouseMove,fe)}}_onMouseMove(t){const e=this.getActiveObject();!this.allowTouchScrolling&&(!e||!e.shouldStartDragging(t))&&t.preventDefault&&t.preventDefault(),this.__onMouseMove(t)}_onResize(){this.calcOffset(),this._resetTransformEventData()}_shouldRender(t){const e=this.getActiveObject();return!!e!=!!t||e&&t&&e!==t}__onMouseUp(t){var e;this._cacheTransformEventData(t),this._handleEvent(t,"up:before");const i=this._currentTransform,s=this._isClick,r=this._target,{button:o}=t;if(o)return(this.fireMiddleClick&&o===1||this.fireRightClick&&o===2)&&this._handleEvent(t,"up"),void this._resetTransformEventData();if(this.isDrawingMode&&this._isCurrentlyDrawing)return void this._onMouseUpInDrawingMode(t);if(!this._isMainEvent(t))return;let a,l,c=!1;if(i&&(this._finalizeCurrentTransform(t),c=i.actionPerformed),!s){const h=r===this._activeObject;this.handleSelection(t),c||(c=this._shouldRender(r)||!h&&r===this._activeObject)}if(r){const h=r.findControl(this.getViewportPoint(t),ga(t)),{key:u,control:d}=h||{};if(l=u,r.selectable&&r!==this._activeObject&&r.activeOn==="up")this.setActiveObject(r,t),c=!0;else if(d){const p=d.getMouseUpHandler(t,r,d);p&&(a=this.getScenePoint(t),p.call(d,t,i,a.x,a.y))}r.isMoving=!1}if(i&&(i.target!==r||i.corner!==l)){const h=i.target&&i.target.controls[i.corner],u=h&&h.getMouseUpHandler(t,i.target,h);a=a||this.getScenePoint(t),u&&u.call(h,t,i,a.x,a.y)}this._setCursorFromEvent(t,r),this._handleEvent(t,"up"),this._groupSelector=null,this._currentTransform=null,r&&(r.__corner=void 0),c?this.requestRenderAll():s||(e=this._activeObject)!==null&&e!==void 0&&e.isEditing||this.renderTop()}_basicEventHandler(t,e){const{target:i,subTargets:s=[]}=e;this.fire(t,e),i&&i.fire(t,e);for(let r=0;r<s.length;r++)s[r]!==i&&s[r].fire(t,e);return e}_handleEvent(t,e){const i=this._target,s=this.targets||[],r=_(_({e:t,target:i,subTargets:s},us(this,t)),{},{transform:this._currentTransform},e==="up:before"||e==="up"?{isClick:this._isClick,currentTarget:this.findTarget(t),currentSubTargets:this.targets}:{});this.fire("mouse:".concat(e),r),i&&i.fire("mouse".concat(e),r);for(let o=0;o<s.length;o++)s[o]!==i&&s[o].fire("mouse".concat(e),r)}_onMouseDownInDrawingMode(t){this._isCurrentlyDrawing=!0,this.getActiveObject()&&(this.discardActiveObject(t),this.requestRenderAll());const e=this.getScenePoint(t);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseDown(e,{e:t,pointer:e}),this._handleEvent(t,"down")}_onMouseMoveInDrawingMode(t){if(this._isCurrentlyDrawing){const e=this.getScenePoint(t);this.freeDrawingBrush&&this.freeDrawingBrush.onMouseMove(e,{e:t,pointer:e})}this.setCursor(this.freeDrawingCursor),this._handleEvent(t,"move")}_onMouseUpInDrawingMode(t){const e=this.getScenePoint(t);this.freeDrawingBrush?this._isCurrentlyDrawing=!!this.freeDrawingBrush.onMouseUp({e:t,pointer:e}):this._isCurrentlyDrawing=!1,this._handleEvent(t,"up")}__onMouseDown(t){this._isClick=!0,this._cacheTransformEventData(t),this._handleEvent(t,"down:before");let e=this._target;const{button:i}=t;if(i)return(this.fireMiddleClick&&i===1||this.fireRightClick&&i===2)&&this._handleEvent(t,"down"),void this._resetTransformEventData();if(this.isDrawingMode)return void this._onMouseDownInDrawingMode(t);if(!this._isMainEvent(t)||this._currentTransform)return;let s=this._shouldRender(e),r=!1;if(this.handleMultiSelection(t,e)?(e=this._activeObject,r=!0,s=!0):this._shouldClearSelection(t,e)&&this.discardActiveObject(t),this.selection&&(!e||!e.selectable&&!e.isEditing&&e!==this._activeObject)){const o=this.getScenePoint(t);this._groupSelector={x:o.x,y:o.y,deltaY:0,deltaX:0}}if(e){const o=e===this._activeObject;e.selectable&&e.activeOn==="down"&&this.setActiveObject(e,t);const a=e.findControl(this.getViewportPoint(t),ga(t));if(e===this._activeObject&&(a||!r)){this._setupCurrentTransform(t,e,o);const l=a?a.control:void 0,c=this.getScenePoint(t),h=l&&l.getMouseDownHandler(t,e,l);h&&h.call(l,t,this._currentTransform,c.x,c.y)}}s&&(this._objectsToRender=void 0),this._handleEvent(t,"down"),s&&this.requestRenderAll()}_resetTransformEventData(){this._target=this._pointer=this._absolutePointer=void 0}_cacheTransformEventData(t){this._resetTransformEventData(),this._pointer=this.getViewportPoint(t),this._absolutePointer=Ts(this._pointer,void 0,this.viewportTransform),this._target=this._currentTransform?this._currentTransform.target:this.findTarget(t)}__onMouseMove(t){if(this._isClick=!1,this._cacheTransformEventData(t),this._handleEvent(t,"move:before"),this.isDrawingMode)return void this._onMouseMoveInDrawingMode(t);if(!this._isMainEvent(t))return;const e=this._groupSelector;if(e){const i=this.getScenePoint(t);e.deltaX=i.x-e.x,e.deltaY=i.y-e.y,this.renderTop()}else if(this._currentTransform)this._transformObject(t);else{const i=this.findTarget(t);this._setCursorFromEvent(t,i),this._fireOverOutEvents(t,i)}this.textEditingManager.onMouseMove(t),this._handleEvent(t,"move"),this._resetTransformEventData()}_fireOverOutEvents(t,e){const i=this._hoveredTarget,s=this._hoveredTargets,r=this.targets,o=Math.max(s.length,r.length);this.fireSyntheticInOutEvents("mouse",{e:t,target:e,oldTarget:i,fireCanvas:!0});for(let a=0;a<o;a++)this.fireSyntheticInOutEvents("mouse",{e:t,target:r[a],oldTarget:s[a]});this._hoveredTarget=e,this._hoveredTargets=this.targets.concat()}_fireEnterLeaveEvents(t,e){const i=this._draggedoverTarget,s=this._hoveredTargets,r=this.targets,o=Math.max(s.length,r.length);this.fireSyntheticInOutEvents("drag",_(_({},e),{},{target:t,oldTarget:i,fireCanvas:!0}));for(let a=0;a<o;a++)this.fireSyntheticInOutEvents("drag",_(_({},e),{},{target:r[a],oldTarget:s[a]}));this._draggedoverTarget=t}fireSyntheticInOutEvents(t,e){let{target:i,oldTarget:s,fireCanvas:r,e:o}=e,a=gt(e,yb);const{targetIn:l,targetOut:c,canvasIn:h,canvasOut:u}=xb[t],d=s!==i;if(s&&d){const p=_(_({},a),{},{e:o,target:s,nextTarget:i},us(this,o));r&&this.fire(u,p),s.fire(c,p)}if(i&&d){const p=_(_({},a),{},{e:o,target:i,previousTarget:s},us(this,o));r&&this.fire(h,p),i.fire(l,p)}}__onMouseWheel(t){this._cacheTransformEventData(t),this._handleEvent(t,"wheel"),this._resetTransformEventData()}_transformObject(t){const e=this.getScenePoint(t),i=this._currentTransform,s=i.target,r=s.group?Ts(e,void 0,s.group.calcTransformMatrix()):e;i.shiftKey=t.shiftKey,i.altKey=!!this.centeredKey&&t[this.centeredKey],this._performTransformAction(t,i,r),i.actionPerformed&&this.requestRenderAll()}_performTransformAction(t,e,i){const{action:s,actionHandler:r,target:o}=e,a=!!r&&r(t,e,i.x,i.y);a&&o.setCoords(),s==="drag"&&a&&(e.target.isMoving=!0,this.setCursor(e.target.moveCursor||this.moveCursor)),e.actionPerformed=e.actionPerformed||a}_setCursorFromEvent(t,e){if(!e)return void this.setCursor(this.defaultCursor);let i=e.hoverCursor||this.hoverCursor;const s=Ui(this._activeObject)?this._activeObject:null,r=(!s||e.group!==s)&&e.findControl(this.getViewportPoint(t));if(r){const o=r.control;this.setCursor(o.cursorStyleHandler(t,o,e))}else e.subTargetCheck&&this.targets.concat().reverse().map(o=>{i=o.hoverCursor||i}),this.setCursor(i)}handleMultiSelection(t,e){const i=this._activeObject,s=Ui(i);if(i&&this._isSelectionKeyPressed(t)&&this.selection&&e&&e.selectable&&(i!==e||s)&&(s||!e.isDescendantOf(i)&&!i.isDescendantOf(e))&&!e.onSelect({e:t})&&!i.getActiveControl()){if(s){const r=i.getObjects();if(e===i){const o=this.getViewportPoint(t);if(!(e=this.searchPossibleTargets(r,o)||this.searchPossibleTargets(this._objects,o))||!e.selectable)return!1}e.group===i?(i.remove(e),this._hoveredTarget=e,this._hoveredTargets=[...this.targets],i.size()===1&&this._setActiveObject(i.item(0),t)):(i.multiSelectAdd(e),this._hoveredTarget=i,this._hoveredTargets=[...this.targets]),this._fireSelectionEvents(r,t)}else{i.isEditing&&i.exitEditing();const r=new(R.getClass("ActiveSelection"))([],{canvas:this});r.multiSelectAdd(i,e),this._hoveredTarget=r,this._setActiveObject(r,t),this._fireSelectionEvents([i],t)}return!0}return!1}handleSelection(t){if(!this.selection||!this._groupSelector)return!1;const{x:e,y:i,deltaX:s,deltaY:r}=this._groupSelector,o=new w(e,i),a=o.add(new w(s,r)),l=o.min(a),c=o.max(a).subtract(l),h=this.collectObjects({left:l.x,top:l.y,width:c.x,height:c.y},{includeIntersecting:!this.selectionFullyContained}),u=o.eq(a)?h[0]?[h[0]]:[]:h.length>1?h.filter(d=>!d.onSelect({e:t})).reverse():h;if(u.length===1)this.setActiveObject(u[0],t);else if(u.length>1){const d=R.getClass("ActiveSelection");this.setActiveObject(new d(u,{canvas:this}),t)}return this._groupSelector=null,!0}clear(){this.textEditingManager.clear(),super.clear()}destroy(){this.removeListeners(),this.textEditingManager.dispose(),super.destroy()}}const ju={x1:0,y1:0,x2:0,y2:0},wb=_(_({},ju),{},{r1:0,r2:0}),ys=(n,t)=>isNaN(n)&&typeof t=="number"?t:n,Cb=/^(\d+\.\d+)%|(\d+)%$/;function Ru(n){return n&&Cb.test(n)}function $u(n,t){const e=typeof n=="number"?n:typeof n=="string"?parseFloat(n)/(Ru(n)?100:1):NaN;return Ds(0,ys(e,t),1)}const Sb=/\s*;\s*/,Tb=/\s*:\s*/;function Eb(n,t){let e,i;const s=n.getAttribute("style");if(s){const o=s.split(Sb);o[o.length-1]===""&&o.pop();for(let a=o.length;a--;){const[l,c]=o[a].split(Tb).map(h=>h.trim());l==="stop-color"?e=c:l==="stop-opacity"&&(i=c)}}const r=new st(e||n.getAttribute("stop-color")||"rgb(0,0,0)");return{offset:$u(n.getAttribute("offset"),0),color:r.toRgb(),opacity:ys(parseFloat(i||n.getAttribute("stop-opacity")||""),1)*r.getAlpha()*t}}function Ob(n,t){const e=[],i=n.getElementsByTagName("stop"),s=$u(t,1);for(let r=i.length;r--;)e.push(Eb(i[r],s));return e}function Bu(n){return n.nodeName==="linearGradient"||n.nodeName==="LINEARGRADIENT"?"linear":"radial"}function Nu(n){return n.getAttribute("gradientUnits")==="userSpaceOnUse"?"pixels":"percentage"}function Oe(n,t){return n.getAttribute(t)}function kb(n,t){return function(e,i){let s,{width:r,height:o,gradientUnits:a}=i;return Object.keys(e).reduce((l,c)=>{const h=e[c];return h==="Infinity"?s=1:h==="-Infinity"?s=0:(s=typeof h=="string"?parseFloat(h):h,typeof h=="string"&&Ru(h)&&(s*=.01,a==="pixels"&&(c!=="x1"&&c!=="x2"&&c!=="r2"||(s*=r),c!=="y1"&&c!=="y2"||(s*=o)))),l[c]=s,l},{})}(Bu(n)==="linear"?function(e){return{x1:Oe(e,"x1")||0,y1:Oe(e,"y1")||0,x2:Oe(e,"x2")||"100%",y2:Oe(e,"y2")||0}}(n):function(e){return{x1:Oe(e,"fx")||Oe(e,"cx")||"50%",y1:Oe(e,"fy")||Oe(e,"cy")||"50%",r1:0,x2:Oe(e,"cx")||"50%",y2:Oe(e,"cy")||"50%",r2:Oe(e,"r")||"50%"}}(n),_(_({},t),{},{gradientUnits:Nu(n)}))}class Kr{constructor(t){const{type:e="linear",gradientUnits:i="pixels",coords:s={},colorStops:r=[],offsetX:o=0,offsetY:a=0,gradientTransform:l,id:c}=t||{};Object.assign(this,{type:e,gradientUnits:i,coords:_(_({},e==="radial"?wb:ju),s),colorStops:r,offsetX:o,offsetY:a,gradientTransform:l,id:c?"".concat(c,"_").concat(Ii()):Ii()})}addColorStop(t){for(const e in t){const i=new st(t[e]);this.colorStops.push({offset:parseFloat(e),color:i.toRgb(),opacity:i.getAlpha()})}return this}toObject(t){return _(_({},Bs(this,t)),{},{type:this.type,coords:_({},this.coords),colorStops:this.colorStops.map(e=>_({},e)),offsetX:this.offsetX,offsetY:this.offsetY,gradientUnits:this.gradientUnits,gradientTransform:this.gradientTransform?[...this.gradientTransform]:void 0})}toSVG(t){let{additionalTransform:e}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=[],s=this.gradientTransform?this.gradientTransform.concat():ie.concat(),r=this.gradientUnits==="pixels"?"userSpaceOnUse":"objectBoundingBox",o=this.colorStops.map(u=>_({},u)).sort((u,d)=>u.offset-d.offset);let a=-this.offsetX,l=-this.offsetY;var c;r==="objectBoundingBox"?(a/=t.width,l/=t.height):(a+=t.width/2,l+=t.height/2),(c=t)&&typeof c._renderPathCommands=="function"&&this.gradientUnits!=="percentage"&&(a-=t.pathOffset.x,l-=t.pathOffset.y),s[4]-=a,s[5]-=l;const h=['id="SVGID_'.concat(this.id,'"'),'gradientUnits="'.concat(r,'"'),'gradientTransform="'.concat(e?e+" ":"").concat(zn(s),'"'),""].join(" ");if(this.type==="linear"){const{x1:u,y1:d,x2:p,y2:g}=this.coords;i.push("<linearGradient ",h,' x1="',u,'" y1="',d,'" x2="',p,'" y2="',g,`">
|
|
2538
2556
|
`)}else if(this.type==="radial"){const{x1:u,y1:d,x2:p,y2:g,r1:f,r2:m}=this.coords,v=f>m;i.push("<radialGradient ",h,' cx="',v?u:p,'" cy="',v?d:g,'" r="',v?f:m,'" fx="',v?p:u,'" fy="',v?g:d,`">
|
|
2539
2557
|
`),v&&(o.reverse(),o.forEach(x=>{x.offset=1-x.offset}));const y=Math.min(f,m);if(y>0){const x=y/Math.max(f,m);o.forEach(E=>{E.offset+=x*(1-E.offset)})}}return o.forEach(u=>{let{color:d,offset:p,opacity:g}=u;i.push("<stop ",'offset="',100*p+"%",'" style="stop-color:',d,g!==void 0?";stop-opacity: "+g:";",`"/>
|
|
2540
2558
|
`)}),i.push(this.type==="linear"?"</linearGradient>":"</radialGradient>",`
|
|
@@ -3068,23 +3086,34 @@ void main() {
|
|
|
3068
3086
|
line-height: normal;
|
|
3069
3087
|
font-size: 15px;
|
|
3070
3088
|
}
|
|
3089
|
+
|
|
3071
3090
|
.label svg {
|
|
3072
3091
|
vertical-align: middle;
|
|
3073
3092
|
pointer-events: none;
|
|
3093
|
+
color: rgb(107 114 128);
|
|
3074
3094
|
}
|
|
3095
|
+
|
|
3075
3096
|
.icon {
|
|
3076
3097
|
/* display: inline; */
|
|
3077
3098
|
vertical-align: top;
|
|
3078
3099
|
}
|
|
3100
|
+
|
|
3079
3101
|
.choice-wrapper {
|
|
3080
3102
|
display: inline-flex;
|
|
3081
3103
|
}
|
|
3104
|
+
|
|
3082
3105
|
.choices__inner .choices__item .choice-wrapper {
|
|
3083
3106
|
width: 100%;
|
|
3084
3107
|
text-overflow: ellipsis;
|
|
3085
3108
|
white-space: nowrap;
|
|
3086
3109
|
overflow: hidden;
|
|
3087
3110
|
}
|
|
3111
|
+
|
|
3112
|
+
.choices__inner {
|
|
3113
|
+
height: 32px;
|
|
3114
|
+
background-color: rgb(255, 255, 255) !important;
|
|
3115
|
+
border-radius: 3.75px !important;
|
|
3116
|
+
}
|
|
3088
3117
|
`;var p_=Object.defineProperty,g_=Object.getOwnPropertyDescriptor,Hs=(n,t,e,i)=>{for(var s=i>1?void 0:i?g_(t,e):t,r=n.length-1,o;r>=0;r--)(o=n[r])&&(s=(i?o(t,e,s):o(s))||s);return i&&s&&p_(t,e,s),s};let fi=class extends Dt{constructor(){super(...arguments),this.hasSlotController=new ns(this,"help-text","label"),this.size="medium",this.label="",this.disabled=!1,this._handleDocumentClick=t=>{var i;const e=t.composedPath();this&&!e.includes(this)&&((i=this._choices)==null||i.hideDropdown())}}handleDisabledChanged(){var t;this._choices&&this.disabled?this._choices.disable():(t=this._choices)==null||t.enable()}get value(){var t;return(t=this._choices)==null?void 0:t.getValue().value}firstUpdated(){this._initializeChoices(),this.handleDisabledChanged(),document.addEventListener("click",this._handleDocumentClick,!0)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this._handleDocumentClick,!0)}_initializeChoices(){var t;(t=this._choices)==null||t.destroy(),this._choices=new gh(this.choiceEl,{allowHTML:!0,searchEnabled:!1,shouldSort:!1,removeItemButton:!1,shadowRoot:this.shadowRoot,choices:[{value:"type",label:`
|
|
3089
3118
|
<div class="choice-wrapper">
|
|
3090
3119
|
<span class="label">Type message
|
|
@@ -3187,6 +3216,7 @@ void main() {
|
|
|
3187
3216
|
width: 1;
|
|
3188
3217
|
opacity: 0;
|
|
3189
3218
|
}
|
|
3219
|
+
|
|
3190
3220
|
.buttons-container {
|
|
3191
3221
|
display: flex;
|
|
3192
3222
|
flex-direction: column;
|
|
@@ -3198,6 +3228,7 @@ void main() {
|
|
|
3198
3228
|
|
|
3199
3229
|
.step-title {
|
|
3200
3230
|
margin: 0;
|
|
3231
|
+
margin-bottom: 4.5px;
|
|
3201
3232
|
font-size: 17.5px;
|
|
3202
3233
|
font-weight: 800;
|
|
3203
3234
|
font-style: normal;
|
|
@@ -3205,8 +3236,7 @@ void main() {
|
|
|
3205
3236
|
}
|
|
3206
3237
|
|
|
3207
3238
|
.step-description {
|
|
3208
|
-
margin
|
|
3209
|
-
margin-bottom: 0;
|
|
3239
|
+
margin: 0;
|
|
3210
3240
|
font-size: 17.5px;
|
|
3211
3241
|
font-weight: 400;
|
|
3212
3242
|
font-style: normal;
|
|
@@ -3229,9 +3259,18 @@ void main() {
|
|
|
3229
3259
|
.reupload-cta::part(base) {
|
|
3230
3260
|
color: black;
|
|
3231
3261
|
}
|
|
3262
|
+
|
|
3232
3263
|
.reupload-cta::part(label) {
|
|
3233
3264
|
font-size: 14px;
|
|
3234
3265
|
}
|
|
3266
|
+
|
|
3267
|
+
.handwritten-tutorials {
|
|
3268
|
+
margin-top: 25px;
|
|
3269
|
+
margin-bottom: 25px;
|
|
3270
|
+
display: flex;
|
|
3271
|
+
flex-direction: column;
|
|
3272
|
+
gap: 15px;
|
|
3273
|
+
}
|
|
3235
3274
|
`,m_=ct`
|
|
3236
3275
|
:host {
|
|
3237
3276
|
display: block;
|
|
@@ -3262,27 +3301,29 @@ void main() {
|
|
|
3262
3301
|
style="${oe({"--track-width":"3px","--indicator-color":"black"})}"
|
|
3263
3302
|
></pbo-spinner>
|
|
3264
3303
|
<span>${Math.round(this.progress)}%</span>
|
|
3265
|
-
</div>`}};Xe.styles=[Tt,m_];Xe.dependencies={"pbo-spinner":ks};zr([S({type:Boolean,reflect:!0})],Xe.prototype,"loading",2);zr([S({type:Number})],Xe.prototype,"loadingTime",2);zr([S()],Xe.prototype,"loadingPattern",2);zr([W()],Xe.prototype,"progress",2);Xe=zr([xt("pbo-fake-loading")],Xe);var __=Object.defineProperty,y_=Object.getOwnPropertyDescriptor,wt=(n,t,e,i)=>{for(var s=i>1?void 0:i?y_(t,e):t,r=n.length-1,o;r>=0;r--)(o=n[r])&&(s=(i?o(t,e,s):o(s))||s);return i&&s&&__(t,e,s),s};let
|
|
3304
|
+
</div>`}};Xe.styles=[Tt,m_];Xe.dependencies={"pbo-spinner":ks};zr([S({type:Boolean,reflect:!0})],Xe.prototype,"loading",2);zr([S({type:Number})],Xe.prototype,"loadingTime",2);zr([S()],Xe.prototype,"loadingPattern",2);zr([W()],Xe.prototype,"progress",2);Xe=zr([xt("pbo-fake-loading")],Xe);var __=Object.defineProperty,y_=Object.getOwnPropertyDescriptor,wt=(n,t,e,i)=>{for(var s=i>1?void 0:i?y_(t,e):t,r=n.length-1,o;r>=0;r--)(o=n[r])&&(s=(i?o(t,e,s):o(s))||s);return i&&s&&__(t,e,s),s};let ot=class extends Dt{constructor(){super(...arguments),this.card=null,this.submitHandwrittenForm=async t=>{console.warn("submitHandwrittenForm not implemented",t)},this.getProcessedImg=async t=>(console.warn("getProcessedImg not implemented",t.name),{masked_img:"",uid:""}),this.isSubmitLoading=!1,this.isSubmitDisabled=!1,this.isProcessingError=!1,this.isImageProcessing=!1,this.sourceImg=null,this.processedImg={uid:null,masked_img:null},this.handwrittenDimensions={top:null,left:null,width:null,height:null,cardHeight:null,cardWidth:null}}showPicker(){this.imageInput.showPicker()}setButtonsDisabled(t){this.uploadButton&&this.saveButton&&this.reuploadButton&&(this.uploadButton.disabled=t,this.saveButton.disabled=t,this.reuploadButton.disabled=t)}setButtonsError(t){this.uploadButton&&this.saveButton&&(this.uploadButton.variant=t?"danger":"primary",this.saveButton.variant=t?"danger":"primary",this.uploadButton.value=t?"Error uploading image":"Upload Handwritten Image")}setButtonsLoading(t){this.uploadButton&&this.saveButton&&(this.saveButton.loading=t)}handleSubmitLoadingChange(){this.setButtonsLoading(this.isSubmitLoading)}handleSubmitDisabledChange(){this.setButtonsDisabled(this.isSubmitDisabled)}handleProcessingErrorChange(){this.setButtonsError(this.isProcessingError)}handleSourceImgChange(t,e){this.processedImg={uid:null,masked_img:null},this.emit("pbo-change",{detail:{isLoading:!0,processedFileUrl:null}})}handleProcessImageChange(t,e){this.emit("pbo-change",{detail:{isLoading:!1,processedFileUrl:e}})}handleImageProcessingChange(){this.setButtonsDisabled(this.isImageProcessing),this.setButtonsLoading(this.isImageProcessing),this.emit("pbo-image-processing",{detail:{isLoading:this.isImageProcessing}})}get formData(){var s,r,o,a;const t=177.8/this.handwrittenDimensions.cardHeight,e=127/this.handwrittenDimensions.cardWidth,i={pboCardId:((s=this.card)==null?void 0:s.pboId)||"Unknown",productId:(r=this.card)==null?void 0:r.productId,sku:(o=this.card)==null?void 0:o.sku,variantId:(a=this.card)==null?void 0:a.variantId,pred_image_uid:this.processedImg.uid||"",position_x:this.handwrittenDimensions.top*e,position_y:this.handwrittenDimensions.left*t,height:this.handwrittenDimensions.height*t,width:this.handwrittenDimensions.width*e};return _h(i)}setDimensions(t){this.handwrittenDimensions=t}handleProcessedImgChange(){this.processedImg.masked_img&&this.emit("pbo-change",{detail:{isLoading:!1,processedFileUrl:this.processedImg.masked_img}})}async handleFileChange(t){var i,s;this.sourceImg=null,this.processedImg={uid:null,masked_img:null},this.isProcessingError=!1;const e=(s=(i=t.target)==null?void 0:i.files)==null?void 0:s[0];if(e!=null){this.sourceImg=e,this.isImageProcessing=!0;try{const r=await this.getProcessedImg(e);console.log(r),this.processedImg={masked_img:`data:image/png;base64,${r.masked_img}`,uid:r.uid}}catch{this.isProcessingError=!0}finally{this.isImageProcessing=!1}}}async handleSubmit(t){t.preventDefault(),this.isSubmitLoading=!0,this.isSubmitDisabled=!0;try{await this.submitHandwrittenForm(this.formData)}catch(e){console.error("Error submitting handwritten form:",e)}finally{this.isSubmitLoading=!1,this.isSubmitDisabled=!1}}render(){return V`
|
|
3266
3305
|
<form name="handwritten-form" class="handwritten-form" @submit=${this.handleSubmit}>
|
|
3267
|
-
<
|
|
3268
|
-
<
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
<
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
<
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
<
|
|
3284
|
-
|
|
3285
|
-
|
|
3306
|
+
<div class="handwritten-tutorials">
|
|
3307
|
+
<section>
|
|
3308
|
+
<div class="step-title">Step 1</div>
|
|
3309
|
+
<div class="step-description">Write message & signature on white paper</div>
|
|
3310
|
+
</section>
|
|
3311
|
+
|
|
3312
|
+
<section>
|
|
3313
|
+
<div class="step-title">Step 2</div>
|
|
3314
|
+
<div class="step-description">Take a well-lit photo on your phone, then crop and save it</div>
|
|
3315
|
+
</section>
|
|
3316
|
+
|
|
3317
|
+
<section>
|
|
3318
|
+
<div class="step-title">Step 3</div>
|
|
3319
|
+
<div class="step-description">Crop photo tightly around text, then upload</div>
|
|
3320
|
+
</section>
|
|
3321
|
+
|
|
3322
|
+
<section>
|
|
3323
|
+
<div class="step-title">Step 4</div>
|
|
3324
|
+
<div class="step-description">Review preview & adjust if needed</div>
|
|
3325
|
+
</section>
|
|
3326
|
+
</div>
|
|
3286
3327
|
|
|
3287
3328
|
<input
|
|
3288
3329
|
id="handwritten-file-input"
|
|
@@ -3296,7 +3337,7 @@ void main() {
|
|
|
3296
3337
|
<!-- Fake loading -->
|
|
3297
3338
|
${this.isImageProcessing?V`<div class="fake-loading-container">
|
|
3298
3339
|
<pbo-fake-loading ?loading=${this.isImageProcessing}></pbo-fake-loading>
|
|
3299
|
-
</div>`:
|
|
3340
|
+
</div>`:rt}
|
|
3300
3341
|
|
|
3301
3342
|
<div class="buttons-container">
|
|
3302
3343
|
<!-- Upload button -->
|
|
@@ -3338,7 +3379,7 @@ void main() {
|
|
|
3338
3379
|
</pbo-button>
|
|
3339
3380
|
</div>
|
|
3340
3381
|
</form>
|
|
3341
|
-
`}};
|
|
3382
|
+
`}};ot.styles=[Tt,f_];ot.dependencies={"pbo-button":pt,"pbo-fake-loading":Xe};wt([S()],ot.prototype,"card",2);wt([S()],ot.prototype,"submitHandwrittenForm",2);wt([S()],ot.prototype,"getProcessedImg",2);wt([S({type:Boolean,reflect:!0,attribute:"loading"})],ot.prototype,"isSubmitLoading",2);wt([S({type:Boolean,reflect:!0,attribute:"disabled"})],ot.prototype,"isSubmitDisabled",2);wt([q(".pixel-input")],ot.prototype,"imageInput",2);wt([q(".handwritten-form")],ot.prototype,"handwrittenForm",2);wt([q("pbo-button[name='upload']")],ot.prototype,"uploadButton",2);wt([q("pbo-button[name='save']")],ot.prototype,"saveButton",2);wt([q("pbo-button[name='reupload']")],ot.prototype,"reuploadButton",2);wt([W()],ot.prototype,"isProcessingError",2);wt([W()],ot.prototype,"isImageProcessing",2);wt([W()],ot.prototype,"sourceImg",2);wt([W()],ot.prototype,"processedImg",2);wt([W()],ot.prototype,"handwrittenDimensions",2);wt([Z("isSubmitLoading")],ot.prototype,"handleSubmitLoadingChange",1);wt([Z("isSubmitDisabled")],ot.prototype,"handleSubmitDisabledChange",1);wt([Z("isProcessingError")],ot.prototype,"handleProcessingErrorChange",1);wt([Z("sourceImg")],ot.prototype,"handleSourceImgChange",1);wt([Z("processedFileUrl")],ot.prototype,"handleProcessImageChange",1);wt([Z("isImageProcessing")],ot.prototype,"handleImageProcessingChange",1);wt([Z("processedImg")],ot.prototype,"handleProcessedImgChange",1);ot=wt([xt("pbo-handwritten-form")],ot);const m0=ot,x_=ct`
|
|
3342
3383
|
:host {
|
|
3343
3384
|
display: block;
|
|
3344
3385
|
width: 100%;
|
|
@@ -3366,7 +3407,7 @@ void main() {
|
|
|
3366
3407
|
display: block;
|
|
3367
3408
|
object-fit: contain;
|
|
3368
3409
|
}
|
|
3369
|
-
`;var w_=Object.defineProperty,C_=Object.getOwnPropertyDescriptor,Bt=(n,t,e,i)=>{for(var s=i>1?void 0:i?C_(t,e):t,r=n.length-1,o;r>=0;r--)(o=n[r])&&(s=(i?o(t,e,s):o(s))||s);return i&&s&&w_(t,e,s),s};let St=class extends Dt{constructor(){super(...arguments),this.backgroundImageUrl=void 0,this.handwrittenImageUrl=void 0,this.imageHeight=null,this.imageWidth=null,this.imageLeft=null,this.imageTop=null,this.backgroundFabImg=void 0,this.rect=void 0,this.areaPosition={left:0,top:0},this.uploadingText=void 0,this.handwrittenImage=void 0,this.clipMaskOverlay=void 0,this.areaSize={width:0,height:0},this._dimensionsUpdateTimeout=void 0}async handleBackgroundImageUrlChange(){this.canvas&&(this.backgroundFabImg&&this.canvas.remove(this.backgroundFabImg),await this.appendBackgroundImageToCanvas(this.backgroundImageUrl||"https://cdn.shopify.com/s/files/1/1956/2323/files/insert_86e8bcd5-3e82-4910-b350-485fa6958502.png?v=1726598821"),this.updateProcessedImgAreaPosition(),this.canvas.renderAll())}async handleHandwrittenImageUrlChange(t,e){if(this.canvas){if(this.handwrittenImage&&this.canvas.remove(this.handwrittenImage),e){this.handwrittenImage=await te.fromURL(e),this.handwrittenImage.selectable=!0,this.handwrittenImage.lockRotation=!0,this.handwrittenImage.lockScalingFlip=!0,this.handwrittenImage.noScaleCache=!1;const i=this.areaSize.width/this.handwrittenImage.width,s=this.areaSize.height/this.handwrittenImage.height,r=Math.min(i,s);this.handwrittenImage.set({transparentCorners:!1,cornerColor:"#4287f5",cornerStyle:"circle",cornerSize:this.areaSize.width*(vs()?.06:.03),cornerStrokeWidth:2,cornerStrokeColor:"#2563eb",touchCornerSize:this.areaSize.width*(vs()?.2:.06),scalingLimitations:"preserveAspectRatio",left:this.areaPosition.left,top:this.areaPosition.top,scaleX:r,scaleY:r,bringToFrontOnSelect:!1,borderColor:"#4287f5",borderScaleFactor:10}),this.setHandwrittenImageDimensions({top:this.areaPosition.top,left:this.areaPosition.left,height:this.handwrittenImage.height*r,width:this.handwrittenImage.width*r}),this.handwrittenImage.setControlsVisibility({tl:!0,tr:!0,bl:!0,br:!0,mt:!1,mb:!1,ml:!1,mr:!1,mtr:!1});const o=new Ht({width:this.areaSize.width,height:this.areaSize.height,left:this.areaPosition.left,top:this.areaPosition.top,absolutePositioned:!0});this.handwrittenImage.set({clipPath:o}),this.handwrittenImage.on("scaling",a=>{const{top:l,left:c,height:h,width:u,scaleX:d,scaleY:p}=a.transform.target;this.setHandwrittenImageDimensions({top:l,left:c,height:h*p,width:u*d})}),this.handwrittenImage.on("moving",a=>{const{top:l,left:c}=a.transform.target;this.setHandwrittenImageDimensions({top:l,left:c})}),this.handwrittenImage.on("selected",()=>{var a,l;(a=this.rect)==null||a.set("visible",!0),(l=this.handwrittenImage)==null||l.set("clipPath",null),this.clipMaskOverlay?this.clipMaskOverlay.set("visible",!0):(this.clipMaskOverlay=this.createClipMaskOverlay(),this.canvas.add(this.clipMaskOverlay)),this.canvas.bringObjectToFront(this.clipMaskOverlay),this.canvas.renderAll()}),this.handwrittenImage.on("deselected",()=>{var a,l,c;(a=this.rect)==null||a.set("visible",!1),(l=this.handwrittenImage)==null||l.set({clipPath:o}),(c=this.clipMaskOverlay)==null||c.set("visible",!1)}),this.canvas.add(this.handwrittenImage),this.canvas.renderAll()}this.updateProcessedImgAreaPosition(),this.canvas.renderAll()}}createClipMaskOverlay(){const t=this.canvas.getWidth(),e=this.canvas.getHeight(),{left:i,top:s}=this.areaPosition,{width:r,height:o}=this.areaSize,a="rgba(0,0,0,0.1)",l=new Ht({left:0,top:0,width:t,height:s,fill:a,selectable:!1,evented:!1}),c=new Ht({left:0,top:s+o,width:t,height:e-(s+o),fill:a,selectable:!1,evented:!1}),h=new Ht({left:0,top:s,width:i,height:o,fill:a,selectable:!1,evented:!1}),u=new Ht({left:i+r,top:s,width:t-(i+r),height:o,fill:a,selectable:!1,evented:!1});return new Ei([l,c,h,u],{selectable:!1,evented:!1})}updateProcessedImgAreaPosition(){this.areaPosition={left:.084*this.canvas.getWidth(),top:.4874*this.canvas.getHeight()},this.areaSize={width:.832*this.canvas.getWidth(),height:this.canvas.getHeight()-this.areaPosition.top-this.areaPosition.left},this.rect?(this.rect.set("left",this.areaPosition.left),this.rect.set("top",this.areaPosition.top),this.rect.set("width",this.areaSize.width),this.rect.set("height",this.areaSize.height)):(this.rect=new Ht({left:this.areaPosition.left,top:this.areaPosition.top,width:this.areaSize.width,height:this.areaSize.height,selectable:!1,fill:"rgba(255, 255, 255, 0.5)",visible:!1,evented:!1}),this.canvas.add(this.rect))}handleHandwrittenImageDimensionsChange(t,e){this._dimensionsUpdateTimeout&&clearTimeout(this._dimensionsUpdateTimeout),this._dimensionsUpdateTimeout=setTimeout(()=>{var i,s,r;this.applyHandwrittenImageDimensions(),(i=this.canvas)==null||i.renderAll(),this.emit("handwritten-image-dimensions-changed",{detail:{left:this.imageLeft,top:this.imageTop,width:this.imageWidth,height:this.imageHeight,cardHeight:((s=this.backgroundFabImg)==null?void 0:s.height)||0,cardWidth:((r=this.backgroundFabImg)==null?void 0:r.width)||0}})},300)}applyHandwrittenImageDimensions(){!Zs(this.handwrittenImage)||!Zs(this.imageLeft)||!Zs(this.imageTop)||!Zs(this.imageWidth)||!Zs(this.imageHeight)||(this.handwrittenImage.set({left:this.imageLeft,top:this.imageTop}),this.handwrittenImage.scaleToHeight(this.imageHeight),this.handwrittenImage.scaleToWidth(this.imageWidth))}setHandwrittenImageDimensions(t){const{top:e=null,left:i=null,height:s=null,width:r=null}=t;if(!e&&!i&&!s&&!r){console.warn("Invalid dimensions provided for handwritten image");return}i&&this.imageLeft!==i&&(this.imageLeft=i),e&&this.imageTop!==e&&(this.imageTop=e),s&&this.imageHeight!==s&&(this.imageHeight=s),r&&this.imageWidth!==r&&(this.imageWidth=r)}firstUpdated(){this.canvas=new Yn(this.baseCanvas,{width:500,height:500,containerClass:"fabric-container",preserveObjectStacking:!0}),this.backgroundImageUrl?this.appendBackgroundImageToCanvas(this.backgroundImageUrl,()=>{}).then(()=>{this.updateProcessedImgAreaPosition(),this.uploadingText=new ai("Uploading
|
|
3410
|
+
`;var w_=Object.defineProperty,C_=Object.getOwnPropertyDescriptor,Bt=(n,t,e,i)=>{for(var s=i>1?void 0:i?C_(t,e):t,r=n.length-1,o;r>=0;r--)(o=n[r])&&(s=(i?o(t,e,s):o(s))||s);return i&&s&&w_(t,e,s),s};let St=class extends Dt{constructor(){super(...arguments),this.backgroundImageUrl=void 0,this.handwrittenImageUrl=void 0,this.imageHeight=null,this.imageWidth=null,this.imageLeft=null,this.imageTop=null,this.backgroundFabImg=void 0,this.rect=void 0,this.areaPosition={left:0,top:0},this.uploadingText=void 0,this.handwrittenImage=void 0,this.clipMaskOverlay=void 0,this.areaSize={width:0,height:0},this._dimensionsUpdateTimeout=void 0}async handleBackgroundImageUrlChange(){this.canvas&&(this.backgroundFabImg&&this.canvas.remove(this.backgroundFabImg),await this.appendBackgroundImageToCanvas(this.backgroundImageUrl||"https://cdn.shopify.com/s/files/1/1956/2323/files/insert_86e8bcd5-3e82-4910-b350-485fa6958502.png?v=1726598821"),this.updateProcessedImgAreaPosition(),this.canvas.renderAll())}async handleHandwrittenImageUrlChange(t,e){if(this.canvas){if(this.handwrittenImage&&this.canvas.remove(this.handwrittenImage),e){this.handwrittenImage=await te.fromURL(e),this.handwrittenImage.selectable=!0,this.handwrittenImage.lockRotation=!0,this.handwrittenImage.lockScalingFlip=!0,this.handwrittenImage.noScaleCache=!1;const i=this.areaSize.width/this.handwrittenImage.width,s=this.areaSize.height/this.handwrittenImage.height,r=Math.min(i,s);this.handwrittenImage.set({transparentCorners:!1,cornerColor:"#4287f5",cornerStyle:"circle",cornerSize:this.areaSize.width*(vs()?.06:.03),cornerStrokeWidth:2,cornerStrokeColor:"#2563eb",touchCornerSize:this.areaSize.width*(vs()?.2:.06),scalingLimitations:"preserveAspectRatio",left:this.areaPosition.left,top:this.areaPosition.top,scaleX:r,scaleY:r,bringToFrontOnSelect:!1,borderColor:"#4287f5",borderScaleFactor:10}),this.setHandwrittenImageDimensions({top:this.areaPosition.top,left:this.areaPosition.left,height:this.handwrittenImage.height*r,width:this.handwrittenImage.width*r}),this.handwrittenImage.setControlsVisibility({tl:!0,tr:!0,bl:!0,br:!0,mt:!1,mb:!1,ml:!1,mr:!1,mtr:!1});const o=new Ht({width:this.areaSize.width,height:this.areaSize.height,left:this.areaPosition.left,top:this.areaPosition.top,absolutePositioned:!0});this.handwrittenImage.set({clipPath:o}),this.handwrittenImage.on("scaling",a=>{const{top:l,left:c,height:h,width:u,scaleX:d,scaleY:p}=a.transform.target;this.setHandwrittenImageDimensions({top:l,left:c,height:h*p,width:u*d})}),this.handwrittenImage.on("moving",a=>{const{top:l,left:c}=a.transform.target;this.setHandwrittenImageDimensions({top:l,left:c})}),this.handwrittenImage.on("selected",()=>{var a,l;(a=this.rect)==null||a.set("visible",!0),(l=this.handwrittenImage)==null||l.set("clipPath",null),this.clipMaskOverlay?this.clipMaskOverlay.set("visible",!0):(this.clipMaskOverlay=this.createClipMaskOverlay(),this.canvas.add(this.clipMaskOverlay)),this.canvas.bringObjectToFront(this.clipMaskOverlay),this.canvas.renderAll()}),this.handwrittenImage.on("deselected",()=>{var a,l,c;(a=this.rect)==null||a.set("visible",!1),(l=this.handwrittenImage)==null||l.set({clipPath:o}),(c=this.clipMaskOverlay)==null||c.set("visible",!1)}),this.canvas.add(this.handwrittenImage),this.canvas.renderAll()}this.updateProcessedImgAreaPosition(),this.canvas.renderAll()}}createClipMaskOverlay(){const t=this.canvas.getWidth(),e=this.canvas.getHeight(),{left:i,top:s}=this.areaPosition,{width:r,height:o}=this.areaSize,a="rgba(0,0,0,0.1)",l=new Ht({left:0,top:0,width:t,height:s,fill:a,selectable:!1,evented:!1}),c=new Ht({left:0,top:s+o,width:t,height:e-(s+o),fill:a,selectable:!1,evented:!1}),h=new Ht({left:0,top:s,width:i,height:o,fill:a,selectable:!1,evented:!1}),u=new Ht({left:i+r,top:s,width:t-(i+r),height:o,fill:a,selectable:!1,evented:!1});return new Ei([l,c,h,u],{selectable:!1,evented:!1})}updateProcessedImgAreaPosition(){this.areaPosition={left:.084*this.canvas.getWidth(),top:.4874*this.canvas.getHeight()},this.areaSize={width:.832*this.canvas.getWidth(),height:this.canvas.getHeight()-this.areaPosition.top-this.areaPosition.left},this.rect?(this.rect.set("left",this.areaPosition.left),this.rect.set("top",this.areaPosition.top),this.rect.set("width",this.areaSize.width),this.rect.set("height",this.areaSize.height)):(this.rect=new Ht({left:this.areaPosition.left,top:this.areaPosition.top,width:this.areaSize.width,height:this.areaSize.height,selectable:!1,fill:"rgba(255, 255, 255, 0.5)",visible:!1,evented:!1}),this.canvas.add(this.rect))}handleHandwrittenImageDimensionsChange(t,e){this._dimensionsUpdateTimeout&&clearTimeout(this._dimensionsUpdateTimeout),this._dimensionsUpdateTimeout=setTimeout(()=>{var i,s,r;this.applyHandwrittenImageDimensions(),(i=this.canvas)==null||i.renderAll(),this.emit("handwritten-image-dimensions-changed",{detail:{left:this.imageLeft,top:this.imageTop,width:this.imageWidth,height:this.imageHeight,cardHeight:((s=this.backgroundFabImg)==null?void 0:s.height)||0,cardWidth:((r=this.backgroundFabImg)==null?void 0:r.width)||0}})},300)}applyHandwrittenImageDimensions(){!Zs(this.handwrittenImage)||!Zs(this.imageLeft)||!Zs(this.imageTop)||!Zs(this.imageWidth)||!Zs(this.imageHeight)||(this.handwrittenImage.set({left:this.imageLeft,top:this.imageTop}),this.handwrittenImage.scaleToHeight(this.imageHeight),this.handwrittenImage.scaleToWidth(this.imageWidth))}setHandwrittenImageDimensions(t){const{top:e=null,left:i=null,height:s=null,width:r=null}=t;if(!e&&!i&&!s&&!r){console.warn("Invalid dimensions provided for handwritten image");return}i&&this.imageLeft!==i&&(this.imageLeft=i),e&&this.imageTop!==e&&(this.imageTop=e),s&&this.imageHeight!==s&&(this.imageHeight=s),r&&this.imageWidth!==r&&(this.imageWidth=r)}firstUpdated(){this.canvas=new Yn(this.baseCanvas,{width:500,height:500,containerClass:"fabric-container",preserveObjectStacking:!0}),this.backgroundImageUrl?this.appendBackgroundImageToCanvas(this.backgroundImageUrl,()=>{}).then(()=>{this.updateProcessedImgAreaPosition(),this.uploadingText=new ai("Uploading",{left:this.areaPosition.left,top:this.areaPosition.top+this.areaSize.height/2-this.areaSize.height/13/1.1,width:this.areaSize.width,textAlign:"center",fontSize:this.areaSize.height/13/1.1,fontFamily:"Arial",selectable:!1,evented:!1}),this.canvas.renderAll()}):(this.updateProcessedImgAreaPosition(),this.canvas.renderAll()),document.addEventListener("pbo-image-processing",t=>{const e=t.detail.isLoading;this.uploadingText&&(e?this.canvas.add(this.uploadingText):this.canvas.remove(this.uploadingText),this.canvas.renderAll())})}async appendBackgroundImageToCanvas(t,e){const i=await te.fromURL(t);i.selectable=!1,this.backgroundFabImg=i,this.canvas.setDimensions({width:i.width,height:i.height}),this.canvas.add(i),this.canvas.sendObjectToBack(i),this.canvas.renderAll(),e&&e()}render(){return V`<canvas class="base-canvas"></canvas> `}};St.styles=[Tt,x_];Bt([S({attribute:"background-url"})],St.prototype,"backgroundImageUrl",2);Bt([S({attribute:"handwritten-url"})],St.prototype,"handwrittenImageUrl",2);Bt([S({type:Number,reflect:!0,attribute:"height"})],St.prototype,"imageHeight",2);Bt([S({type:Number,reflect:!0,attribute:"width"})],St.prototype,"imageWidth",2);Bt([S({type:Number,reflect:!0,attribute:"left"})],St.prototype,"imageLeft",2);Bt([S({type:Number,reflect:!0,attribute:"top"})],St.prototype,"imageTop",2);Bt([q(".base-canvas")],St.prototype,"baseCanvas",2);Bt([W()],St.prototype,"canvas",2);Bt([W()],St.prototype,"backgroundFabImg",2);Bt([W()],St.prototype,"rect",2);Bt([W()],St.prototype,"areaPosition",2);Bt([W()],St.prototype,"uploadingText",2);Bt([W()],St.prototype,"handwrittenImage",2);Bt([W()],St.prototype,"clipMaskOverlay",2);Bt([W()],St.prototype,"areaSize",2);Bt([Z("backgroundImageUrl")],St.prototype,"handleBackgroundImageUrlChange",1);Bt([Z("handwrittenImageUrl")],St.prototype,"handleHandwrittenImageUrlChange",1);Bt([Z("imageLeft"),Z("imageTop"),Z("imageWidth"),Z("imageHeight")],St.prototype,"handleHandwrittenImageDimensionsChange",1);St=Bt([xt("pbo-handwritten-canvas")],St);const b0=St,S_=ct`
|
|
3370
3411
|
:host {
|
|
3371
3412
|
display: block;
|
|
3372
3413
|
width: auto;
|
|
@@ -3484,4 +3525,4 @@ void main() {
|
|
|
3484
3525
|
</div>
|
|
3485
3526
|
<hr part="divider" class="divider" ?hidden=${!this.divided||!this.isGift} />
|
|
3486
3527
|
</div>
|
|
3487
|
-
`}clear(){this.isPremiumChecked=!1,this.isFreeMessageChecked=!1,this.freeMessage=""}};Pt.styles=[Tt,S_];Pt.dependencies={"pbo-textarea":bt};Wt([S({type:Function})],Pt.prototype,"onPremiumSelected",2);Wt([S({type:Function})],Pt.prototype,"onFreeMessageChange",2);Wt([S({type:Function})],Pt.prototype,"onFreeMessageClear",2);Wt([S({type:Boolean,reflect:!0})],Pt.prototype,"hidden",2);Wt([S({type:Boolean,reflect:!0})],Pt.prototype,"expand",2);Wt([S({type:Boolean,reflect:!0})],Pt.prototype,"divided",2);Wt([S()],Pt.prototype,"freeMessage",2);Wt([S()],Pt.prototype,"isGift",2);Wt([S()],Pt.prototype,"isPremiumChecked",2);Wt([S()],Pt.prototype,"isFreeMessageChecked",2);Wt([W()],Pt.prototype,"debouncedFreeMessageChange",2);Wt([Z("onFreeMessageChange")],Pt.prototype,"handleOnFreeMessageChange",1);Wt([Z("isGift")],Pt.prototype,"handleIsGiftChange",1);Wt([Z("isFreeMessageChecked")],Pt.prototype,"handleIsFreeMessageCheckedChange",1);Wt([Z("isPremiumChecked")],Pt.prototype,"handleIsPremiumCheckedChange",1);Wt([Z("freeMessage")],Pt.prototype,"handleFreeMessageChange",1);Pt=Wt([xt("pbo-gift-options")],Pt);const y0=Pt,x0=ks,w0=ue,C0=Xe;export{Pn as MessageSelector,B_ as PboButton,z_ as PboButtonGroup,a0 as PboCardSelection,i0 as PboCategory,s0 as PboDrawer,J_ as PboEditor,t0 as PboEditorCardSlider,p0 as PboEditorSelector,C0 as PboFakeLoading,y0 as PboGiftOption,b0 as PboHandwrittenCanvas,m0 as PboHandwrittenForm,w0 as PboImage,o0 as PboPageManager,V_ as PboRadioButton,W_ as PboRadioGroup,
|
|
3528
|
+
`}clear(){this.isPremiumChecked=!1,this.isFreeMessageChecked=!1,this.freeMessage=""}};Pt.styles=[Tt,S_];Pt.dependencies={"pbo-textarea":bt};Wt([S({type:Function})],Pt.prototype,"onPremiumSelected",2);Wt([S({type:Function})],Pt.prototype,"onFreeMessageChange",2);Wt([S({type:Function})],Pt.prototype,"onFreeMessageClear",2);Wt([S({type:Boolean,reflect:!0})],Pt.prototype,"hidden",2);Wt([S({type:Boolean,reflect:!0})],Pt.prototype,"expand",2);Wt([S({type:Boolean,reflect:!0})],Pt.prototype,"divided",2);Wt([S()],Pt.prototype,"freeMessage",2);Wt([S()],Pt.prototype,"isGift",2);Wt([S()],Pt.prototype,"isPremiumChecked",2);Wt([S()],Pt.prototype,"isFreeMessageChecked",2);Wt([W()],Pt.prototype,"debouncedFreeMessageChange",2);Wt([Z("onFreeMessageChange")],Pt.prototype,"handleOnFreeMessageChange",1);Wt([Z("isGift")],Pt.prototype,"handleIsGiftChange",1);Wt([Z("isFreeMessageChecked")],Pt.prototype,"handleIsFreeMessageCheckedChange",1);Wt([Z("isPremiumChecked")],Pt.prototype,"handleIsPremiumCheckedChange",1);Wt([Z("freeMessage")],Pt.prototype,"handleFreeMessageChange",1);Pt=Wt([xt("pbo-gift-options")],Pt);const y0=Pt,x0=ks,w0=ue,C0=Xe;export{Pn as MessageSelector,B_ as PboButton,z_ as PboButtonGroup,a0 as PboCardSelection,i0 as PboCategory,s0 as PboDrawer,J_ as PboEditor,t0 as PboEditorCardSlider,p0 as PboEditorSelector,C0 as PboFakeLoading,He as PboFontSelector,y0 as PboGiftOption,b0 as PboHandwrittenCanvas,m0 as PboHandwrittenForm,w0 as PboImage,o0 as PboPageManager,V_ as PboRadioButton,W_ as PboRadioGroup,x0 as PboSpinner,Y_ as PboTextarea,c0 as PboTypeCanvas,Q_ as PboTypeForm,u0 as PboZoomedPreview};
|