pacem 0.21.0-dilmun → 0.21.0-ephesus

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/css/pacem-dark-content.min.css +1 -1
  2. package/dist/css/pacem-dark-shell.min.css +1 -1
  3. package/dist/css/pacem-dark.min.css +1 -1
  4. package/dist/css/pacem-light-content.min.css +1 -1
  5. package/dist/css/pacem-light-shell.min.css +1 -1
  6. package/dist/css/pacem-light.min.css +1 -1
  7. package/dist/css/pacem-phousys-content.min.css +1 -1
  8. package/dist/css/pacem-phousys-shell.min.css +1 -1
  9. package/dist/css/pacem-phousys.min.css +1 -1
  10. package/dist/js/azure-maps.d.ts +1 -1
  11. package/dist/js/pacem-2d.d.ts +1 -1
  12. package/dist/js/pacem-2d.js +7 -4
  13. package/dist/js/pacem-2d.min.js +2 -2
  14. package/dist/js/pacem-3d.d.ts +1 -1
  15. package/dist/js/pacem-3d.js +1 -1
  16. package/dist/js/pacem-3d.min.js +1 -1
  17. package/dist/js/pacem-charts.d.ts +1 -1
  18. package/dist/js/pacem-charts.js +1 -1
  19. package/dist/js/pacem-charts.min.js +1 -1
  20. package/dist/js/pacem-cms.d.ts +1 -1
  21. package/dist/js/pacem-cms.js +1 -1
  22. package/dist/js/pacem-cms.min.js +1 -1
  23. package/dist/js/pacem-core.d.ts +1 -1
  24. package/dist/js/pacem-core.js +1 -1
  25. package/dist/js/pacem-core.min.js +1 -1
  26. package/dist/js/pacem-foundation.d.ts +1 -1
  27. package/dist/js/pacem-foundation.js +1 -1
  28. package/dist/js/pacem-foundation.min.js +1 -1
  29. package/dist/js/pacem-fx.d.ts +1 -1
  30. package/dist/js/pacem-fx.js +1 -1
  31. package/dist/js/pacem-fx.min.js +1 -1
  32. package/dist/js/pacem-logging.d.ts +1 -1
  33. package/dist/js/pacem-logging.js +1 -1
  34. package/dist/js/pacem-logging.min.js +1 -1
  35. package/dist/js/pacem-maps.d.ts +1 -1
  36. package/dist/js/pacem-maps.js +1 -1
  37. package/dist/js/pacem-maps.min.js +1 -1
  38. package/dist/js/pacem-networking.js +1 -1
  39. package/dist/js/pacem-networking.min.js +1 -1
  40. package/dist/js/pacem-numerical.d.ts +1 -1
  41. package/dist/js/pacem-numerical.js +1 -1
  42. package/dist/js/pacem-numerical.min.js +1 -1
  43. package/dist/js/pacem-plus.d.ts +1 -1
  44. package/dist/js/pacem-plus.js +1 -1
  45. package/dist/js/pacem-plus.min.js +1 -1
  46. package/dist/js/pacem-scaffolding.d.ts +1 -1
  47. package/dist/js/pacem-scaffolding.js +1 -1
  48. package/dist/js/pacem-scaffolding.min.js +1 -1
  49. package/dist/js/pacem-ui.d.ts +1 -1
  50. package/dist/js/pacem-ui.js +1 -1
  51. package/dist/js/pacem-ui.min.js +1 -1
  52. package/dist/js/swagger-types.d.ts +1 -1
  53. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1115,7 +1115,8 @@ var Pacem;
1115
1115
  data.item.translateY = offset.y;
1116
1116
  }
1117
1117
  else {
1118
- Pacem.Utils.extend(data.item, { transformMatrix: Pacem.Matrix2D.translate(data.initialTransformMatrix, offset) });
1118
+ const init = data.initialTransformMatrix, actual = { a: init.a, b: init.b, c: init.c, d: init.d, e: offset.x, f: offset.y };
1119
+ Pacem.Utils.extend(data.item, { transformMatrix: actual });
1119
1120
  }
1120
1121
  // console.log(data.item.transformMatrix);
1121
1122
  }
@@ -1629,7 +1630,8 @@ var Pacem;
1629
1630
  super(...arguments);
1630
1631
  this._hitTarget = null;
1631
1632
  this._dragInitHandler = (evt) => {
1632
- const args = evt.detail, el = args.element, drawable = Pacem.CustomElementUtils.getAttachedPropertyValue(el, DRAWABLE_VAR), stageTransformMatrix = drawable.stage.transformMatrix, initialMatrix = drawable.transformMatrix;
1633
+ var _a;
1634
+ const args = evt.detail, el = args.element, drawable = Pacem.CustomElementUtils.getAttachedPropertyValue(el, DRAWABLE_VAR), stageTransformMatrix = drawable.stage.transformMatrix, initialMatrix = (_a = drawable.transformMatrix) !== null && _a !== void 0 ? _a : Pacem.Matrix2D.identity;
1633
1635
  args.data = {
1634
1636
  stageTransformMatrix, item: drawable,
1635
1637
  initialTransformMatrix: initialMatrix
@@ -1674,7 +1676,8 @@ var Pacem;
1674
1676
  data.item.translateY = transform.f;
1675
1677
  }
1676
1678
  else {
1677
- Pacem.Utils.extend(data.item, { transformMatrix: Pacem.Matrix2D.translate(data.initialTransformMatrix, offset) });
1679
+ const init = data.initialTransformMatrix, actual = { a: init.a, b: init.b, c: init.c, d: init.d, e: offset.x, f: offset.y };
1680
+ Pacem.Utils.extend(data.item, { transformMatrix: actual });
1678
1681
  }
1679
1682
  el.style.transform = '';
1680
1683
  this._itemDispatch(data.item, evt, { x: transform.e, y: transform.f });
@@ -1,6 +1,6 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
6
- var Pacem,__decorate=this&&this.__decorate||function(t,e,i,r){var a,s=arguments.length,n=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,i,r);else for(var o=t.length-1;o>=0;o--)(a=t[o])&&(n=(s<3?a(n):s>3?a(e,i,n):a(e,i))||n);return s>3&&n&&Object.defineProperty(e,i,n),n},__classPrivateFieldSet=this&&this.__classPrivateFieldSet||function(t,e,i,r,a){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?a.call(t,i):a?a.value=i:e.set(t,i),i},__classPrivateFieldGet=this&&this.__classPrivateFieldGet||function(t,e,i,r){if("a"===i&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(t):r?r.value:e.get(t)};!function(t){!function(e){var i;function r(e){return!t.Utils.isNull(e)&&"stage"in e}function a(t){return r(t)}e.isDrawable=r,e.isUiObject=a,e.isShape=function(t){return a(t)&&"pathData"in t},e.isGroup=function(e){return a(e)&&"items"in e&&!t.Utils.isNullOrEmpty(e.items)},e.isText=function(t){return a(t)&&"text"in t&&"string"==typeof t.text},e.isImage=function(t){return a(t)&&"src"in t&&"string"==typeof t.src};class UI2DEvent extends t.CustomUIEvent{constructor(t,e,r,a){super(t,e,r),i.set(this,void 0),__classPrivateFieldSet(this,i,a,"f")}get transformMatrix(){return __classPrivateFieldGet(this,i,"f")}project(e={x:this.screenX,y:this.screenY}){return t.Matrix2D.multiply(e,__classPrivateFieldGet(this,i,"f"))}}i=new WeakMap,e.UI2DEvent=UI2DEvent;e.Shape=class Shape{static empty(){return{pathData:"",vertices:[],boundingRect:{x:0,y:0,width:0,height:0}}}};e.DragEvent=class DragEvent extends UI2DEvent{};e.DrawableEvent=class DrawableEvent extends UI2DEvent{constructor(t,e,i,r){super(t,{detail:e,bubbles:!0,cancelable:!0},i,r)}}}(t.Drawing||(t.Drawing={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(i){var r,a,s;i.TAG_MIDDLE_NAME="2d",i.TWO_PI=2*Math.PI;const n=Math.PI/180;class Pacem2DAdapterElement extends e.PacemEventTarget{constructor(){super(...arguments),this.DefaultShapeValues={stroke:"#000",lineWidth:1,fill:"#fff"}}}i.Pacem2DAdapterElement=Pacem2DAdapterElement;class DrawableElement extends e.PacemCrossItemsContainerElement{validate(t){return!1}findContainer(){return this.parent||this.stage}get stage(){return this._scene=this._scene||t.CustomElementUtils.findAncestorOfType(this,i.Pacem2DElement)}get parent(){return this._drawableParent=this._drawableParent||t.CustomElementUtils.findAncestor(this,(t=>t instanceof DrawableElement))}disconnectedCallback(){delete this._scene,delete this._drawableParent,super.disconnectedCallback()}propertyChangedCallback(e,i,r,a){switch(super.propertyChangedCallback(e,i,r,a),e){case"hide":case"items":const i=this.stage;t.Utils.isNull(i)||("hide"===e?i.draw(this):i.requestDraw(this,!0))}}}__decorate([t.Watch({emit:!1,reflectBack:!0,converter:t.PropertyConverters.String})],DrawableElement.prototype,"tag",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],DrawableElement.prototype,"inert",void 0),i.DrawableElement=DrawableElement;class UiElement extends DrawableElement{constructor(){super(...arguments),r.set(this,t.Matrix2D.identity)}propertyChangedCallback(e,i,r,a){if(super.propertyChangedCallback(e,i,r,a),!a)switch(e){case"rotate":case"scaleX":case"scaleY":case"translateX":case"translateY":this._updateTransformMatrix();case"opacity":t.Utils.isNull(this.stage)||this.stage.draw(this)}}_updateTransformMatrix(){var t,e,i,a;let s=n*(this.rotate||0),o=Math.cos(s),l=Math.sin(s),c=(null!==(t=this.scaleX)&&void 0!==t?t:1)*o,h=-l,d=l,m=(null!==(e=this.scaleY)&&void 0!==e?e:1)*o,p=null!==(i=this.translateX)&&void 0!==i?i:0,u=null!==(a=this.translateY)&&void 0!==a?a:0;__classPrivateFieldSet(this,r,{a:c,b:h,c:d,d:m,e:p,f:u},"f")}get transformMatrix(){const t=__classPrivateFieldGet(this,r,"f");return{a:t.a,b:t.b,c:t.c,d:t.d,e:t.e,f:t.f}}}r=new WeakMap,__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],UiElement.prototype,"rotate",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],UiElement.prototype,"scaleX",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],UiElement.prototype,"scaleY",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],UiElement.prototype,"translateX",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],UiElement.prototype,"translateY",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],UiElement.prototype,"opacity",void 0),i.UiElement=UiElement;class ShapeElement extends UiElement{constructor(){super(...arguments),a.set(this,void 0),s.set(this,void 0)}propertyChangedCallback(e,i,r,a){if(super.propertyChangedCallback(e,i,r,a),!a)switch(e){case"data":case"stroke":case"lineWidth":case"fill":t.Utils.isNull(this.stage)||this.stage.draw(this)}}viewActivatedCallback(){super.viewActivatedCallback(),this.recomputeShape()}recomputeShape(){const{pathData:t,vertices:e,boundingRect:i}=this.getShapeGeometry();__classPrivateFieldSet(this,s,e,"f"),__classPrivateFieldSet(this,a,i,"f"),this.data=t}get pathData(){return this.data}get boundingRect(){return __classPrivateFieldGet(this,a,"f")}get vertices(){return __classPrivateFieldGet(this,s,"f")}}a=new WeakMap,s=new WeakMap,__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],ShapeElement.prototype,"data",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],ShapeElement.prototype,"stroke",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],ShapeElement.prototype,"fill",void 0),__decorate([t.Watch({emit:!1,converter:{convert:t=>null==t?void 0:t.split(",").map((t=>parseInt(t))).filter((t=>!Number.isNaN(t))),convertBack:t=>null==t?void 0:t.join(",")}})],ShapeElement.prototype,"dashArray",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],ShapeElement.prototype,"lineWidth",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],ShapeElement.prototype,"lineJoin",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],ShapeElement.prototype,"lineCap",void 0),i.ShapeElement=ShapeElement}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){var i;let r=i=class PacemCircleElement extends e.ShapeElement{propertyChangedCallback(t,e,i,r){if(super.propertyChangedCallback(t,e,i,r),!r)switch(t){case"center":case"radius":this.recomputeShape()}}getPathData(){const e=this.radius,r=this.center;return t.Utils.isNull(r)||t.Utils.isNull(e)?null:i.getPathData(r,e)}getShapeGeometry(){var t,e;const i=null!==(t=this.center)&&void 0!==t?t:{x:0,y:0},r=null!==(e=this.radius)&&void 0!==e?e:0,a=2*r,s=i.x,n=i.y;return{pathData:this.getPathData(),boundingRect:{x:s-r,y:n-r,width:a,height:a},vertices:[]}}static getPathData(t={x:NaN,y:NaN},e=NaN){const i=2*e;return`M ${t.x} ${t.y} m ${-e}, 0 a ${e},${e} 0 1,1 ${i},0 a ${e},${e} 0 1,1 ${-i},0`}};__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Point})],r.prototype,"center",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],r.prototype,"radius",void 0),r=i=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-circle"})],r),e.PacemCircleElement=r}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){let i=class PacemGroupElement extends e.DrawableElement{validate(t){return t instanceof e.DrawableElement&&t.parent===this}};i=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-group"})],i),e.PacemGroupElement=i}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){let i=class PacemImageElement extends e.UiElement{propertyChangedCallback(e,i,r,a){if(!a)switch(e){case"src":case"x":case"y":case"width":case"height":t.Utils.isNull(this.stage)||this.stage.draw(this)}}};__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],i.prototype,"src",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],i.prototype,"x",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],i.prototype,"y",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],i.prototype,"width",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],i.prototype,"height",void 0),i=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-image"})],i),e.PacemImageElement=i}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){var i;let r=i=class PacemLineElement extends e.ShapeElement{propertyChangedCallback(t,e,i,r){if(super.propertyChangedCallback(t,e,i,r),!r)switch(t){case"from":case"to":this.recomputeShape()}}getShapeGeometry(){const e=this.from,i=this.to;if(t.Utils.isNull(e)||t.Utils.isNull(i))return t.Drawing.Shape.empty();const r=e.x,a=e.y,s=i.x,n=i.y,o={x:Math.min(r,s),y:Math.min(a,n),width:Math.abs(r-s),height:Math.abs(a-n)};return{pathData:this.getPathData(),vertices:[e,i],boundingRect:o}}getPathData(){const e=this.from,r=this.to;return t.Utils.isNull(e)||t.Utils.isNull(r)?null:i.getPathData(e,r)}static getPathData(t={x:NaN,y:NaN},e={x:NaN,y:NaN}){return`M ${t.x} ${t.y} L ${e.x} ${e.y}`}};__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Point})],r.prototype,"from",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Point})],r.prototype,"to",void 0),r=i=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-line"})],r),e.PacemLineElement=r}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){let i=class PacemPathElement extends e.ShapeElement{constructor(){super(...arguments),this.getPathData=()=>this.d}propertyChangedCallback(t,e,i,r){super.propertyChangedCallback(t,e,i,r),"d"===t&&this.recomputeShape()}getShapeGeometry(){return{pathData:this.getPathData(),boundingRect:null,vertices:[]}}};__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],i.prototype,"d",void 0),i=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-path"})],i),e.PacemPathElement=i}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){var i,r;let a=r=class PacemPolygonElement extends e.ShapeElement{constructor(){super(...arguments),i.set(this,[])}propertyChangedCallback(t,e,i,r){if(super.propertyChangedCallback(t,e,i,r),!r)switch(t){case"radius":case"starIndent":case"sides":this.data=this.getPathData()}}get vertices(){return __classPrivateFieldGet(this,i,"f")}getPathData(){const e=this.sides,i=this.radius,a=this.center;return t.Utils.isNull(e)||t.Utils.isNull(i)?null:r.getPathData(a,i,e,this.starIndent)}getShapeGeometry(){var e,i,a;const s=null!==(e=this.center)&&void 0!==e?e:{x:0,y:0},n=null!==(i=this.radius)&&void 0!==i?i:0,o=null!==(a=this.sides)&&void 0!==a?a:3,l=this.starIndent;return o<3?t.Drawing.Shape.empty():r.getShapeGeometry(s,n,o,l)}static getShapeGeometry(t,e,i,r=0){const a={x:t.x,y:t.y-e};let s=`M ${a.x} ${a.y}`;const n=[a],o=2*Math.PI/i,l=.5*o,c=r>0,h=e*Math.cos(l);for(let a=1;a<i;a++){const i=a*o,d=t.x+Math.sin(i)*e,m=t.y-Math.cos(i)*e;if(c){const e=h*(1-r),a=i-l,o=t.x+Math.sin(a)*e,c=t.y-Math.cos(a)*e;s+=` L ${o} ${c} L ${d} ${m}`,n.push({x:o,y:c})}else s+=` L ${d} ${m}`;n.push({x:d,y:m})}if(c){const e=h*(1-r),i=2*Math.PI-l,a=t.x+Math.sin(i)*e,o=t.y-Math.cos(i)*e;s+=` L ${a} ${o}`,n.push({x:a,y:o})}n.push(a);const d=2*e;return{pathData:s+" Z",vertices:n,boundingRect:{x:a.x-e,y:a.y,width:d,height:d}}}static getPathData(t,e,i,a=0){const{pathData:s}=r.getShapeGeometry(t,e,i,a);return s}};i=new WeakMap,__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],a.prototype,"sides",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],a.prototype,"radius",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Point})],a.prototype,"center",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],a.prototype,"starIndent",void 0),a=r=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-polygon"})],a),e.PacemPolygonElement=a}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){var i;let r=i=class PacemRectElement extends e.ShapeElement{propertyChangedCallback(t,e,i,r){super.propertyChangedCallback(t,e,i,r),r||"x"!==t&&"y"!==t&&"w"!==t&&"h"!==t||this.recomputeShape()}getPathData(){const e=this.x,r=this.y,a=this.w,s=this.h;return t.Utils.isNull(e)||t.Utils.isNull(r)||t.Utils.isNull(a)||t.Utils.isNull(s)?null:i.getPathData(e,r,a,s)}getShapeGeometry(){const t=this.x,e=this.y,i=t+this.w,r=e+this.h;return{pathData:this.getPathData(),vertices:[{x:t,y:e},{x:i,y:e},{x:i,y:r},{x:t,y:r}],boundingRect:{x:t,y:e,width:this.w,height:this.h}}}static getPathData(t=NaN,e=NaN,i=NaN,r=NaN){return`M ${t} ${e} h ${i} v ${r} h ${-i} z`}};__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],r.prototype,"x",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],r.prototype,"y",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],r.prototype,"w",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],r.prototype,"h",void 0),r=i=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-rect"})],r),e.PacemRectElement=r}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(i){var r,a;const s=/^\s*[xX]\s*([Mm](in|ax|id))\s*[yY]\s*([Mm](in|ax|id))(\s+(none|slice|meet))?\s*$/,n={convert:t=>{const e=s.exec(t);return e&&e.length>=4?{x:e[1].toLowerCase(),y:e[3].toLowerCase(),slice:"slice"===e[6]}:"none"},convertBack:e=>t.Utils.isNull(e)||"string"==typeof e?"none":`xM${e.x.substr(1)}YM${e.y.substr(1)} ${e.slice?"slice":"meet"}`},o={panControl:!0,zoomControl:!0,panModifiers:[t.EventKeyModifier.AltKey],zoomModifiers:[t.EventKeyModifier.AltKey]};let l=class Pacem2DElement extends e.PacemItemsContainerElement{constructor(){super(...arguments),r.set(this,void 0),a.set(this,t.Matrix2D.identity),this._options=o,this._resizeHandler=e=>{this._size={width:e.detail.width,height:e.detail.height};const i=this.adapter;t.Utils.isNull(i)||this._invalidateSize()},this._zoomHandler=e=>{const i=this._options;if(i.zoomControl&&t.CustomEventUtils.matchModifiers(e,i.zoomModifiers)){t.avoidHandler(e);const i=1+.1*(e.deltaY<0?-1:1),r=t.Utils.offsetRect(e.currentTarget),a={x:e.clientX,y:e.clientY};this._zoom(i,r,a)}},this._panHandler=e=>{const i=this._panningStart,r=this._getPanPoint(e);if(!t.Utils.isNullOrEmpty(i&&i.point)&&!t.Utils.isNull(r)){t.avoidHandler(e);const a=i.factor,s=i.box,n=i.point;this.viewbox={x:s.x-a*(r.x-n.x),y:s.y-a*(r.y-n.y),width:s.width,height:s.height}}},this._panStartHandler=e=>{if(!this._options.panControl)return;const i=this._size,r=this.viewbox||{x:0,y:0,width:i.width,height:i.height},a=this._getPanPoint(e);if(a){t.avoidHandler(e),this._stage.style.pointerEvents="none";const s=this._getActualAspectRatio(),n=r.width/i.width,o=r.height/i.height,l=s.slice?Math.min(n,o):Math.max(n,o);this._panningStart={point:a,box:r,factor:l}}},this._panEndHandler=t=>{this._stage.style.pointerEvents="",this._panningStart=null}}get stage(){return this._stage}snapshot(e){const i=this.adapter;return t.Utils.isNull(i)?Promise.resolve(null):i.snapshot(this,e)}get transformMatrix(){return __classPrivateFieldGet(this,a,"f")}_transformMatrixScale(){const e=t.Utils.extend(this._size||t.Utils.offsetRect(this._stage),{x:0,y:0});var i=__classPrivateFieldGet(this,r,"f")||{x:0,y:0,width:e.width,height:e.height};const a=this.viewbox||i,s=this.aspectRatio||"none",n="none"===s?"stretch":s.slice?"cover":"contain";return t.Rect.findTransform(a,i,n).a}validate(e){return e instanceof i.DrawableElement&&t.Utils.isNull(e.parent)}draw(e,i=!1){const r=this.adapter;if(!this.disabled&&!t.Utils.isNull(r)){let t=new CustomEvent("predraw",{cancelable:!0});this.dispatchEvent(t),t.defaultPrevented||(r.draw(this,e,i),this.dispatchEvent(new CustomEvent("draw")))}}_drawDebounced(e,i=!1){!t.Utils.isNull(e)&&t.Drawing.isGroup(e)?this.draw(e,i):this.draw(e)}requestDraw(t,e=!1){this._drawDebounced(t,e)}_buildUpDatasourceFromDOM(){this.datasource=(this.items||[]).slice()}_getActualAspectRatio(){const t=this.aspectRatio||"none";return{x:"none"===t?"mid":t.x,y:"none"===t?"mid":t.y,slice:"none"!==t&&t.slice}}_zoomFromValue(e){const i=this._size;if(t.Utils.isNull(i))return;const a=t.Utils.extend(i,{x:0,y:0}),s=__classPrivateFieldGet(this,r,"f")||{x:0,y:0,width:i.width,height:i.height},n=this.viewbox||s,o=this.aspectRatio||"none",l="none"===o?"stretch":o.slice?"cover":"contain",c=t.Rect.findTransform(n,a,l),h=t.Rect.findTransform(s,a,l),d=c.a/(h.a*e);this._zoom(d)}_zoom(e,i,r){t.Utils.isNull(i)&&(i=t.Utils.offsetRect(this._stage)),t.Utils.isNull(r)&&(r={x:i.x+.5*i.width,y:i.y+.5*i.height});const a=this._size,s=this.viewbox||{x:0,y:0,width:a.width,height:a.height},n=Math.min(s.width,s.height),o=n*e,l=n*e;if(o>0&&l>0){const t=this._getActualAspectRatio(),e=t.x,a=t.y,n=t.slice,c=s.width/s.height,h=n?Math.max(i.width,i.height):Math.min(i.width,i.height);let d,m;switch(e){case"mid":d=(o-s.width)*(r.x-i.x-.5*(i.width-h))/(h*c);break;case"max":d=(o-s.width)*(r.x-i.x-(i.width-h))/(h*c);break;default:d=(o-s.width)*(r.x-i.x)/(h*c)}switch(a){case"mid":m=(l-s.height)*(r.y-i.y-.5*(i.height-h))/(h*c);break;case"max":m=(l-s.height)*(r.y-i.y-(i.height-h))/(h*c);break;default:m=(l-s.height)*(r.y-i.y)/(h*c)}const p=s.x-d,u=s.y-m;this.viewbox={x:p,y:u,width:o,height:l}}}_getPanPoint(e){const i=this._options;return e instanceof MouseEvent&&t.CustomEventUtils.matchModifiers(e,i.panModifiers)?t.CustomEventUtils.getEventCoordinates(e).page:null}_invalidateSize(){this.adapter.invalidateSize(this,this._size),__classPrivateFieldSet(this,a,this.adapter.getTransformMatrix(this),"f"),this.zoom=this._transformMatrixScale(),this.dispatchEvent(new e.ResizeEvent(this._size))}viewActivatedCallback(){super.viewActivatedCallback();const e=this.adapter;t.Utils.isNull(e)||(e.initialize(this),this._invalidateSize(),this._drawDebounced());const i=this._resize;i.addEventListener(t.Components.ResizeEventName,this._resizeHandler,!1);const r=this._stage;i.target=r;const a={capture:!1,passive:!0};r.addEventListener("wheel",this._zoomHandler,!1),r.addEventListener("mousedown",this._panStartHandler,!1),r.addEventListener("touchstart",this._panStartHandler,a),window.addEventListener("mousemove",this._panHandler,!1),window.addEventListener("mouseup",this._panEndHandler,!1),window.addEventListener("touchmove",this._panHandler,a),window.addEventListener("touchend",this._panEndHandler,a)}propertyChangedCallback(e,i,a,s){var n;switch(super.propertyChangedCallback(e,i,a,s),e){case"adapter":t.Utils.isNull(i)||i.dispose(this),t.Utils.isNull(a)||(a.initialize(this),this._invalidateSize(),this._drawDebounced());break;case"aspectRatio":t.Utils.isNull(this.adapter)||this._invalidateSize();break;case"viewbox":t.Utils.isNull(this.adapter)||this._invalidateSize(),__classPrivateFieldSet(this,r,null!==(n=__classPrivateFieldGet(this,r,"f"))&&void 0!==n?n:this.viewbox||null,"f");break;case"items":this._buildUpDatasourceFromDOM();break;case"zoom":a!==this._transformMatrixScale()&&this._zoomFromValue(a);break;case"options":this._options=t.Utils.extend({},o,a||{});break;case"disabled":case"datasource":this._drawDebounced()}}disconnectedCallback(){const e=this._resize,i=this._stage;t.Utils.isNull(e)||e.removeEventListener(t.Components.ResizeEventName,this._resizeHandler,!1),t.Utils.isNull(i)||(i.removeEventListener("wheel",this._zoomHandler,!1),i.removeEventListener("mousedown",this._panStartHandler,!1),i.removeEventListener("touchstart",this._panStartHandler),window.removeEventListener("mousemove",this._panHandler,!1),window.removeEventListener("mouseup",this._panEndHandler,!1),window.removeEventListener("touchmove",this._panHandler),window.removeEventListener("touchend",this._panEndHandler)),t.Utils.isNull(this.adapter)||this.adapter.dispose(this),super.disconnectedCallback()}};r=new WeakMap,a=new WeakMap,__decorate([t.Watch({converter:t.PropertyConverters.Element})],l.prototype,"adapter",void 0),__decorate([t.Watch({reflectBack:!0,converter:t.PropertyConverters.Rect})],l.prototype,"viewbox",void 0),__decorate([t.Watch({emit:!1,reflectBack:!0,converter:n})],l.prototype,"aspectRatio",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Json})],l.prototype,"datasource",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Json})],l.prototype,"options",void 0),__decorate([t.Watch({converter:t.PropertyConverters.Number})],l.prototype,"zoom",void 0),__decorate([t.ViewChild("."+t.PCSS+"-2d")],l.prototype,"_stage",void 0),__decorate([t.ViewChild(t.P+"-resize")],l.prototype,"_resize",void 0),__decorate([t.Debounce(!0)],l.prototype,"_drawDebounced",null),l=__decorate([t.CustomElement({tagName:t.P+"-"+i.TAG_MIDDLE_NAME,shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-resize></${t.P}-resize><div class="${t.PCSS}-2d"></div><${t.P}-content></${t.P}-content>`})],l),i.Pacem2DElement=l}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){let i=class PacemTextElement extends e.UiElement{propertyChangedCallback(e,i,r,a){if(!a)switch(e){case"text":case"color":case"fontFamily":case"fontSize":case"anchor":t.Utils.isNull(this.stage)||this.stage.draw(this)}}};__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],i.prototype,"text",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],i.prototype,"color",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],i.prototype,"fontFamily",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],i.prototype,"fontSize",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Point})],i.prototype,"anchor",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],i.prototype,"textAnchor",void 0),i=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-text"})],i),e.PacemTextElement=i}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){var i;const r="pacem:2d-canvas-scene",a="pacem:2d-parent-matrix",s=t.CustomElementUtils.setAttachedPropertyValue,n=t.CustomElementUtils.getAttachedPropertyValue;function o(e){return"none"===e||t.Utils.isNullOrEmpty(e)}function l(e,i){return t.Utils.isNull(e)?i:e}let c=class PacemCanvasAdapterElement extends e.Pacem2DAdapterElement{constructor(){super(...arguments),i.set(this,void 0),this._pointer={page:{x:0,y:0},screen:{x:0,y:0},client:{x:0,y:0}},this._canvasOffset={x:0,y:0,width:0,height:0},this._clickHandler=e=>{const i=e.srcElement,a=n(i,r);this.draw(a);const s=this._hitTarget;if(!t.Utils.isNull(s)){const i=s.stage.transformMatrix;s instanceof Element&&s.dispatchEvent(new t.Drawing.DrawableEvent("click",s,e,i)),s.stage.dispatchEvent(new t.Drawing.DrawableEvent("itemclick",s,e,i))}},this._dragInitHandler=e=>{var i;const r=this._hitTarget;if(t.Utils.isNull(r)||!t.Drawing.isUiObject(r)||!r.draggable)return void e.preventDefault();const s=e.detail,o=r,l=null!==(i=r.transformMatrix)&&void 0!==i?i:t.Matrix2D.identity,c=n(r,a,t.Matrix2D.identity);s.data={item:o,initialTransformMatrix:l,parentMatrix:c};this._itemDispatch(o,e,{x:0,y:0})&&e.preventDefault()},this._draggingHandler=e=>{t.avoidHandler(e),this._dragging=!0;const i=e.detail,r=i.data,a=i.currentPosition.x-i.origin.x,s=i.currentPosition.y-i.origin.y,n={x:a*r.parentMatrix.a+r.initialTransformMatrix.e,y:s*r.parentMatrix.d+r.initialTransformMatrix.f},o=r.item.stage.transformMatrix;this._itemDispatch(r.item,e,{x:a*o.a+o.e,y:s*o.d+o.f})||(r.item instanceof t.Components.Drawing.UiElement?(r.item.translateX=n.x,r.item.translateY=n.y):t.Utils.extend(r.item,{transformMatrix:t.Matrix2D.translate(r.initialTransformMatrix,n)}))},this._dragEndHandler=t=>{this._dragging=!1;const e=t.detail.data,i=e.item.transformMatrix;this._itemDispatch(e.item,t,{x:i.e,y:i.f})},this._mousemoveHandler=e=>{this._scopeEvent=e,this._pointer=t.CustomEventUtils.getEventCoordinates(e);const i=e.srcElement,a=n(i,r);this._requestDraw(a)},this._touchstartHandler=e=>{1===e.touches.length&&(this._scopeEvent=e,this._pointer=t.CustomEventUtils.getEventCoordinates(e))},this._scenes=new WeakMap,this._handles=new WeakMap}snapshot(e,i){const r=this._scenes;if(r.has(e)){const a=r.get(e).context.canvas;return t.Utils.snapshotElement(a,i)}return Promise.resolve(null)}getTransformMatrix(e){const i=this._scenes;if(i.has(e)){const r=i.get(e).transformMatrix;if(!t.Utils.isNull(r))return t.Matrix2D.invert(r)}return t.Matrix2D.identity}viewActivatedCallback(){super.viewActivatedCallback();const e=this._dragger=document.createElement(t.P+"-drag-drop");e.mode=t.UI.DragDataMode.Copy,e.dropBehavior=t.UI.DropBehavior.None,e.spillBehavior=t.UI.DropTargetMissedBehavior.None;const i=document.createElement("div");i.hidden=!0,e.floater=i;t.CustomElementUtils.findAncestorShell(this).appendChild(e),e.addEventListener(t.UI.DragDropEventType.Init,this._dragInitHandler,!1),e.addEventListener(t.UI.DragDropEventType.Drag,this._draggingHandler,!1),e.addEventListener(t.UI.DragDropEventType.End,this._dragEndHandler,!1)}disconnectedCallback(){const e=this._dragger;t.Utils.isNull(e)||(e.removeEventListener(t.UI.DragDropEventType.Init,this._dragInitHandler,!1),e.removeEventListener(t.UI.DragDropEventType.Drag,this._draggingHandler,!1),e.removeEventListener(t.UI.DragDropEventType.End,this._dragEndHandler,!1),e.remove()),super.disconnectedCallback()}invalidateSize(e,i){const r=this._scenes;if(!t.Utils.isNull(e)&&!t.Utils.isNullOrEmpty(i)&&r.has(e)){const a=r.get(e),s=a.context;s.canvas.width=i.width,s.canvas.height=i.height,this._canvasOffset=t.Utils.offsetRect(s.canvas);const n={x:0,y:0,width:i.width,height:i.height},o=e.aspectRatio,l=e.viewbox;if(t.Utils.isNullOrEmpty(l))a.transformMatrix=t.Matrix2D.identity;else{let e="contain",i="center",r="middle";if("object"==typeof o){switch(e=o.slice?"cover":"contain",o.x){case"min":i="left";break;case"max":i="right"}switch(o.y){case"min":r="top";break;case"max":r="bottom"}}const s=t.Rect.findTransform({x:0,y:0,width:l.width,height:l.height},n,e,i,r),c=t.Matrix2D.translate(s,{x:-s.a*l.x,y:-s.a*l.y});a.transformMatrix=c}}this._requestDraw(e)}getHitTarget(e){const i=this._hitTarget;return t.Utils.isNull(i)||i.stage!==e?null:i}initialize(e){if(t.Utils.isNull(e))throw"Provided scene is null or undefined.";const i=this._scenes,a=this._dragger;if(i.has(e)){const r=i.get(e).context.canvas;return t.Utils.isNull(a)||a.register(r),r}const n=e.stage;n.innerHTML="";const o=document.createElement("canvas");s(o,r,e);const l=o.getContext("2d");return o.addEventListener("mousemove",this._mousemoveHandler,!1),o.addEventListener("touchstart",this._touchstartHandler,{passive:!0}),o.addEventListener("touchmove",this._touchstartHandler,{passive:!0}),o.addEventListener("touchend",this._clickHandler,{passive:!0}),o.addEventListener("click",this._clickHandler,!1),n.appendChild(o),i.set(e,{context:l,transformMatrix:t.Matrix2D.identity}),t.Utils.isNull(a)||a.register(o),o}dispose(e){const i=this._scenes;if(i.has(e)){var r=i.get(e).context.canvas;const a=this._dragger;t.Utils.isNull(a)||a.unregister(r),r.removeEventListener("click",this._clickHandler,!1),r.removeEventListener("touchend",this._clickHandler,!1),r.removeEventListener("touchmove",this._touchstartHandler),r.removeEventListener("touchstart",this._touchstartHandler),r.removeEventListener("mousemove",this._mousemoveHandler,!1),r.remove(),i.delete(e)}}_requestDraw(t){const e=this._handles;e.has(t)&&cancelAnimationFrame(e.get(t)),e.set(t,requestAnimationFrame((()=>{this.draw(t)})))}draw(e){const r=this._scenes,a=this._handles;if(!t.Utils.isNull(e)){if(e.adapter!==this)return void(r.has(e)&&(r.delete(e),a.get(e)));if(!r.has(e))return void this.initialize(e);a.has(e)&&cancelAnimationFrame(a.get(e));const s=this._hitTarget,n=e.datasource||[];this._hitTarget=null;const o=r.get(e),l=o.context,c=l.canvas;__classPrivateFieldSet(this,i,getComputedStyle(c),"f"),l.resetTransform(),l.clearRect(0,0,c.width,c.height);const h=o.transformMatrix;l.setTransform(h);const d=this._pointer,m=this._canvasOffset,p={x:d.page.x-m.x,y:d.page.y-m.y};for(let t of n)this._draw(e,l,t,h,p);const u=this._hitTarget;u!=s&&(t.Utils.isNull(s)||(s instanceof Element&&s.dispatchEvent(new t.Drawing.DrawableEvent("out",s,this._scopeEvent,h)),e.dispatchEvent(new t.Drawing.DrawableEvent("itemout",s,this._scopeEvent,h))),t.Utils.isNull(u)||(u instanceof Element&&u.dispatchEvent(new t.Drawing.DrawableEvent("over",u,this._scopeEvent,h)),e.dispatchEvent(new t.Drawing.DrawableEvent("itemover",u,this._scopeEvent,h))))}}_itemDispatch(e,i,r){if(!t.Utils.isNull(e)){var a,s,n;r instanceof Event?s=r:a={item:e,offset:r},"string"==typeof i?n=i:(n=i.type,s=i.originalEvent);const l=t.Matrix2D.multiply({a:1,b:0,c:0,d:1,e:-this._canvasOffset.x,f:-this._canvasOffset.y},e.stage.transformMatrix),c=()=>r instanceof Event?new t.Drawing.DrawableEvent(n,e,s,l):new t.Drawing.DragEvent(n,{detail:a,cancelable:n===t.UI.DragDropEventType.Init||n===t.UI.DragDropEventType.Drag},s,l),h=r instanceof Event?new t.Drawing.DrawableEvent("item"+n,e,s,l):new t.Drawing.DragEvent("item"+n,{detail:a,cancelable:n===t.UI.DragDropEventType.Init||n===t.UI.DragDropEventType.Drag},s,l);var o=!1;if(e instanceof EventTarget){const t=c();e.dispatchEvent(t),o=t.defaultPrevented}return e.stage.dispatchEvent(h),o||h.defaultPrevented}return!1}_draw(e,i,r,n,o){var l;if(null!==(l=r.stage)&&void 0!==l||(r.stage=e),t.Drawing.isDrawable(r)&&r.hide)return;let c;if(t.Drawing.isUiObject(r)&&r.draggable&&!r.hide&&!r.inert&&s(r,a,i.getTransform().inverse()),t.Drawing.isUiObject(r)&&(c=r.transformMatrix,t.Utils.isNull(c)||t.Matrix2D.isIdentity(c)||i.transform(c.a,c.b,c.c,c.d,c.e,c.f)),t.Drawing.isShape(r))this._drawShape(i,r,o);else if(t.Drawing.isText(r))this._drawText(i,r,o);else if(t.Drawing.isImage(r))this._drawImage(i,r,o);else if(t.Drawing.isGroup(r))for(let t of r.items||[])this._draw(e,i,t,i.getTransform(),o);t.Drawing.isUiObject(r)&&r.draggable&&!r.hide&&!r.inert&&s(r,"pacem:2d-world-matrix",i.getTransform().inverse()),i.setTransform(n)}_drawImage(e,i,r){const a="pacem:2d-canvas-imagesrc";let o=n(i,a);const c=()=>{let a=o.naturalWidth,s=o.naturalHeight,n=i.width,c=i.height;if(n>0&&c>0||(n>0?c=s*n/a:c>0?n=a*c/s:(n=a,c=s)),!this._dragging&&!i.inert&&!t.Utils.isNull(r)){const t=new Path2D(`M ${i.x} ${i.y} h ${n} v ${c} H ${i.x} Z`);e.isPointInPath(t,r.x,r.y)&&(this._hitTarget=i)}e.globalAlpha=l(i.opacity,1),e.drawImage(o,i.x,i.y,n,c)};t.Utils.isNull(o)?(o=new Image,o.src=i.src,o.onload=()=>{s(i,a,o),c()}):c()}_drawText(e,r,a){var s;const n=this.DefaultShapeValues,c=e.fillStyle=l(r.color,n.stroke),h=(e.getTransform(),r.fontSize>0?`${r.fontSize}px`:__classPrivateFieldGet(this,i,"f").fontSize);e.font=`${h} ${null!==(s=r.fontFamily)&&void 0!==s?s:__classPrivateFieldGet(this,i,"f").fontFamily}`,e.textAlign="middle"===r.textAnchor?"center":r.textAnchor,e.fillText(r.text,r.anchor.x,r.anchor.y),e.globalAlpha=l(r.opacity,1);const d=!o(c);if(!this._dragging&&!r.inert&&!t.Utils.isNull(a)){const t=e.measureText(r.text),i=t.width,s=t.actualBoundingBoxAscent+t.actualBoundingBoxDescent,n=r.anchor.x-t.actualBoundingBoxLeft,o=r.anchor.y-t.actualBoundingBoxAscent,l=new Path2D(`M ${n} ${o} h ${i} v ${s} H ${n} z`);d&&e.isPointInPath(l,a.x,a.y)&&(this._hitTarget=r)}}_drawShape(e,i,r){if(t.Utils.isNullOrEmpty(null==i?void 0:i.pathData))return;const a=this.DefaultShapeValues;e.strokeStyle=l(i.stroke,a.stroke),e.lineWidth=l(i.lineWidth,a.lineWidth),t.Utils.isNullOrEmpty(i.dashArray)?e.setLineDash([]):e.setLineDash(i.dashArray),t.Utils.isNullOrEmpty(i.lineCap)?e.lineCap="butt":e.lineCap=i.lineCap,t.Utils.isNullOrEmpty(i.lineJoin)?e.lineJoin="miter":e.lineJoin=i.lineJoin,e.lineWidth=l(i.lineWidth,a.lineWidth),e.fillStyle=l(i.fill,a.fill),e.globalAlpha=l(i.opacity,1),e.beginPath();const s=!o(i.fill),n=!o(i.stroke);var c=new Path2D(i.pathData);this._dragging||i.inert||t.Utils.isNull(r)||(s&&e.isPointInPath(c,r.x,r.y)||n&&e.isPointInStroke(c,r.x,r.y))&&(this._hitTarget=i),n&&e.stroke(c),s&&e.fill(c);const h=!t.Utils.isNullOrEmpty(i.vertices)&&i.vertices.length>1,d=!t.Utils.isNull(i.markerEnd),m=!t.Utils.isNull(i.markerStart),p=!t.Utils.isNull(i.markerMid);if((d||p||m)&&(h||this.log(t.Logging.LogLevel.Warn,"Not enough vertices were explicited in order to make markers renderable.")),h){const t=e.getTransform();if(m){const t=i.markerEnd,r=i.vertices[1],a=i.vertices[0],s=Math.atan2(a.y-r.y,a.x-r.x);this._drawMarker(e,t,a,s)}if(p){const r=i.markerEnd;for(let a=1;a<i.vertices.length-1;a++){e.setTransform(t);const s=i.vertices[a],n=i.vertices[a+1],o=Math.atan2(n.y-s.y,n.x-s.x);this._drawMarker(e,r,n,o)}}if(d){e.setTransform(t);const r=i.markerEnd,a=i.vertices[i.vertices.length-2],s=i.vertices[i.vertices.length-1],n=Math.atan2(s.y-a.y,s.x-a.x);this._drawMarker(e,r,s,n)}}}_drawMarker(e,i,r,a){var s,n;const c=this.DefaultShapeValues,h=(null===(s=i.ref)||void 0===s?void 0:s.x)||0,d=(null===(n=i.ref)||void 0===n?void 0:n.y)||0,m=(i.width||1)*e.lineWidth,p=(i.width||1)*e.lineWidth;let u=i.viewbox,v={x:0,y:0,width:m,height:p};t.Utils.isNull(u)&&(u=v);const g={a:v.width/u.width,d:v.height/u.height};e.translate(r.x,r.y),e.rotate(a),e.scale(g.a,g.d),e.translate(-h,-d),e.fillStyle=l(i.fill,c.fill),e.strokeStyle=l(i.stroke,c.stroke);const _=!o(i.fill),f=!o(i.stroke);var y=new Path2D(i.pathData);_&&e.fill(y),f&&e.stroke(y)}};i=new WeakMap,c=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-canvas-adapter"})],c),e.PacemCanvasAdapterElement=c}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){const i="http://www.w3.org/2000/svg",r="pacem:drawable";function a(e,i){return t.Utils.isNull(e)?i:e}function s(t,e,i){return i>=t.children.length?(t.appendChild(e),null):t.replaceChild(e,t.children.item(i))}let n=class PacemSvgAdapterElement extends e.Pacem2DAdapterElement{constructor(){super(...arguments),this._hitTarget=null,this._dragInitHandler=e=>{const i=e.detail,a=i.element,s=t.CustomElementUtils.getAttachedPropertyValue(a,r),n=s.stage.transformMatrix,o=s.transformMatrix;i.data={stageTransformMatrix:n,item:s,initialTransformMatrix:o};this._itemDispatch(s,e,{x:0,y:0})&&e.preventDefault()},this._draggingHandler=e=>{t.avoidHandler(e),this._dragging=!0;const i=e.detail.element,r=e.detail.data,a=e.detail,s=(a.currentPosition.x-a.origin.x)*r.stageTransformMatrix.a,n=(a.currentPosition.y-a.origin.y)*r.stageTransformMatrix.d,o=s+r.initialTransformMatrix.e,l=n+r.initialTransformMatrix.f,c={x:s+r.stageTransformMatrix.e,y:n+r.stageTransformMatrix.f};this._itemDispatch(r.item,e,c)||(i.style.transform=`matrix(1,0,0,1,${o},${l})`)},this._dragEndHandler=e=>{this._dragging=!1;const i=e.detail,r=i.element,a=i.data,s=t.Utils.deserializeTransform(r.style),n={x:s.e,y:s.f};a.item instanceof t.Components.Drawing.UiElement?(a.item.translateX=s.e,a.item.translateY=s.f):t.Utils.extend(a.item,{transformMatrix:t.Matrix2D.translate(a.initialTransformMatrix,n)}),r.style.transform="",this._itemDispatch(a.item,e,{x:s.e,y:s.f})},this._mousemoveHandler=e=>{var i=t.CustomEventUtils.getEventCoordinates(e).client;if(!this._dragging){var a=null,s=(document.elementsFromPoint(i.x,i.y).find((e=>(a=t.CustomElementUtils.getAttachedPropertyValue(e,r))&&!a.inert)),this._hitTarget),n=a;(t.Utils.isNull(a&&a.stage)||!this._scenes.has(a.stage)||a.inert)&&(n=null),this._hitTarget=n,n!==s&&(t.Utils.isNull(s)||(this._dragger.unregister(this._items.get(s)),this._itemDispatch(s,"out",e)),t.Utils.isNull(n)||(n.draggable&&this._dragger.register(this._items.get(n)),this._itemDispatch(n,"over",e)))}},this._mouseDownUpHandler=e=>{if(!t.Utils.isNull(this._hitTarget)){const t=e.type.replace(/^mouse/,"");this._itemDispatch(this._hitTarget,t,e)}},this._scenes=new WeakMap,this._markers=new WeakMap,this._items=new WeakMap}snapshot(e,i){if(this._scenes.has(e)){const r=this._scenes.get(e);return t.Utils.snapshotElement(r,i)}return Promise.resolve(null)}getTransformMatrix(e){const i=this._scenes;return i.has(e)?i.get(e).getScreenCTM().inverse():t.Matrix2D.identity}viewActivatedCallback(){super.viewActivatedCallback();const e=this._dragger=document.createElement(t.P+"-drag-drop");e.mode=t.UI.DragDataMode.Self;t.CustomElementUtils.findAncestorShell(this).appendChild(e),e.addEventListener(t.UI.DragDropEventType.Init,this._dragInitHandler,!1),e.addEventListener(t.UI.DragDropEventType.Drag,this._draggingHandler,!1),e.addEventListener(t.UI.DragDropEventType.End,this._dragEndHandler,!1)}disconnectedCallback(){const e=this._dragger;t.Utils.isNull(e)||(e.removeEventListener(t.UI.DragDropEventType.Init,this._dragInitHandler,!1),e.removeEventListener(t.UI.DragDropEventType.Drag,this._draggingHandler,!1),e.removeEventListener(t.UI.DragDropEventType.End,this._dragEndHandler,!1),e.remove()),super.disconnectedCallback()}invalidateSize(e,i){const r=this._scenes;if(!t.Utils.isNull(e)&&!t.Utils.isNullOrEmpty(i)&&r.has(e)){var a=r.get(e);a.setAttribute("width",i.width+""),a.setAttribute("height",i.height+"");const s=e.viewbox,n=e.aspectRatio;t.Utils.isNullOrEmpty(s)?a.removeAttribute("viewBox"):a.setAttribute("viewBox",`${s.x} ${s.y} ${s.width} ${s.height}`),t.Utils.isNullOrEmpty(n)||"string"==typeof n?a.removeAttribute("preserveAspectRatio"):a.setAttribute("preserveAspectRatio",`xM${n.x.substr(1)}YM${n.y.substr(1)} ${n.slice?"slice":"meet"}`)}}initialize(e){if(t.Utils.isNull(e))throw"Provided scene is null or undefined.";const r=this._scenes;if(r.has(e))return r.get(e);const a=e.stage;a.innerHTML="",this._items=new WeakMap;var s=document.createElementNS(i,"svg");a.appendChild(s),r.set(e,s);return s.addEventListener("mousemove",this._mousemoveHandler,!1),s.addEventListener("click",this._mouseDownUpHandler,!1),s.addEventListener("mousedown",this._mouseDownUpHandler,!1),s.addEventListener("mouseup",this._mouseDownUpHandler,!1),s}dispose(t){const e=this._scenes;if(e.has(t)){var i=e.get(t);i.removeEventListener("mousemove",this._mousemoveHandler),i.removeEventListener("click",this._mouseDownUpHandler),i.removeEventListener("mousedown",this._mouseDownUpHandler),i.removeEventListener("mouseup",this._mouseDownUpHandler),i.remove(),e.delete(t)}}getHitTarget(t){return this._hitTarget}draw(e,i,r=!1){const a=this._scenes,s=this._items;if(!t.Utils.isNull(e))if(e.adapter===this){a.has(e)||this.initialize(e);var n=e.datasource,o=!0,l=a.get(e);t.Utils.isNull(i)||s.has(i)&&(n=[i],l=s.get(i).parentNode,o=!1),o&&(l.innerHTML="<defs></defs>",this._markers=new WeakMap),this._draw(e,l,n||[],o,r)}else a.has(e)&&a.delete(e)}_itemDispatch(e,i,r){if(!t.Utils.isNull(e)){var a,s,n;r instanceof Event?s=r:a={item:e,offset:r},"string"==typeof i?n=i:(n=i.type,s=i.originalEvent);const l=e.stage.transformMatrix,c=()=>r instanceof Event?new t.Drawing.DrawableEvent(n,e,s,l):new t.Drawing.DragEvent(n,{detail:a,cancelable:n===t.UI.DragDropEventType.Init||n===t.UI.DragDropEventType.Drag},s,l),h=r instanceof Event?new t.Drawing.DrawableEvent("item"+n,e,s,l):new t.Drawing.DragEvent("item"+n,{detail:a,cancelable:n===t.UI.DragDropEventType.Init||n===t.UI.DragDropEventType.Drag},s,l);var o=!1;if(e instanceof EventTarget){const t=c();e.dispatchEvent(t),o=t.defaultPrevented}return e.stage.dispatchEvent(h),o||h.defaultPrevented}return!1}_hasItems(e){return t.Drawing.isGroup(e)}_disposeSvg(e){if(!t.Utils.isNull(e)){var i=t.CustomElementUtils.getAttachedPropertyValue(e,r);this._items.delete(i)}}_draw(e,i,n,o,l){var c;const h=this._items;let d=0;if(i.firstElementChild instanceof SVGDefsElement&&d++,!t.Utils.isNullOrEmpty(n))for(let m of n){let n;if(null!==(c=m.stage)&&void 0!==c||(m.stage=e),h.has(m)?(n=h.get(m),n.parentNode!==i&&this._disposeSvg(s(i,n,d))):(n=this._buildSVGElement(m),t.CustomElementUtils.setAttachedPropertyValue(n,r,m),this._disposeSvg(s(i,n,d)),h.set(m,n)),t.Drawing.isDrawable(m)&&(m.hide?n.setAttribute("display","none"):n.removeAttribute("display"),n.style.transform="none"),t.Drawing.isShape(m)){const e=n,r=this.DefaultShapeValues;e.setAttribute("d",a(m.pathData,"M0,0"));for(let{marker:t,suffix:r}of[{marker:m.markerStart,suffix:"start"},{marker:m.markerEnd,suffix:"end"},{marker:m.markerMid,suffix:"mid"}])if(t){const a=this._ensureMarker(i,t);e.setAttribute("marker-"+r,`url(#${a.id})`)}else e.removeAttribute("marker-"+r);e.setAttribute("fill",a(m.fill,r.fill)),e.setAttribute("stroke",a(m.stroke,r.stroke));let s="";t.Utils.isNullOrEmpty(m.dashArray)||(s+=`stroke-dasharray: ${m.dashArray.join(",")};`),t.Utils.isNullOrEmpty(m.lineCap)||(s+=`stroke-linecap: ${m.lineCap};`),t.Utils.isNullOrEmpty(m.lineJoin)||(s+=`stroke-linejoin: ${m.lineJoin};`),e.style.cssText=s,e.setAttribute("stroke-width",""+a(m.lineWidth,r.lineWidth))}else if(t.Drawing.isText(m)){const e=n;e.textContent=m.text,e.style.fill=t.Utils.isNullOrEmpty(m.color)?"":m.color,e.style.fontFamily=t.Utils.isNullOrEmpty(m.fontFamily)?"":m.fontFamily,e.style.fontSize=t.Utils.isNull(m.fontSize)?"":m.fontSize+"px",e.setAttribute("text-anchor",a(m.textAnchor,"start")),t.Utils.isNull(m.anchor)?(e.removeAttribute("x"),e.removeAttribute("y")):(e.setAttribute("x",m.anchor.x.toString()),e.setAttribute("y",m.anchor.y.toString()))}else if(t.Drawing.isImage(m)){const e=n;e.setAttribute("href",m.src),m.width>0?e.setAttribute("width",""+m.width):e.removeAttribute("width"),m.height>0?e.setAttribute("height",""+m.height):e.removeAttribute("height"),t.Utils.isNull(m.x)?e.removeAttribute("x"):e.setAttribute("x",""+m.x),t.Utils.isNull(m.y)?e.removeAttribute("y"):e.setAttribute("y",""+m.y)}if(t.Drawing.isUiObject(m)){const e=m.transformMatrix;t.Utils.isNull(e)||t.Matrix2D.isIdentity(e)?n.removeAttribute("transform"):n.setAttribute("transform",`matrix(${e.a} ${e.b} ${e.c} ${e.d} ${e.e} ${e.f})`);const i=a(m.opacity,1);1===i?n.removeAttribute("opacity"):n.setAttribute("opacity",""+i)}m.inert?n.style.pointerEvents="none":n.style.pointerEvents="",(o||l)&&this._hasItems(m)&&this._draw(e,n,m.items,!0,l),d++}if(o)for(let t=i.children.length-1;t>=d;t--){const e=i.children.item(t);this._disposeSvg(e),e.remove()}}_buildSVGElement(e){return t.Drawing.isShape(e)?document.createElementNS(i,"path"):t.Drawing.isText(e)?document.createElementNS(i,"text"):t.Drawing.isImage(e)?document.createElementNS(i,"image"):document.createElementNS(i,"g")}_ensureMarker(e,r){const a=this._markers;a.has(e)||a.set(e,new WeakMap);const s=a.get(e);if(!s.has(r)){const a=document.createElementNS(i,"marker");s.set(r,a);const n=document.createElementNS(i,"path");a.appendChild(n),a.setAttribute("id","mark"+t.Utils.uniqueCode());let o,l=e;for(;t.Utils.isNull(o=l.querySelector(":scope > defs"));){const t=l.parentElement;if(!(t instanceof SVGElement))break;l=t}if(t.Utils.isNull(o))throw new Error("Must provide a <defs> element.");o.appendChild(a)}const n=s.get(r),o=n.firstElementChild;return n.setAttribute("orient","auto-start-reverse"),t.Utils.isNullOrEmpty(r.viewbox)?n.removeAttribute("viewBox"):n.setAttribute("viewBox",`${r.viewbox.x} ${r.viewbox.y} ${r.viewbox.width} ${r.viewbox.height}`),t.Utils.isNullOrEmpty(r.ref)?(n.removeAttribute("refX"),n.removeAttribute("refY")):(n.setAttribute("refX",r.ref.x.toString()),n.setAttribute("refY",r.ref.y.toString())),r.height>0?n.setAttribute("markerHeight",r.height.toString()):n.removeAttribute("markerHeight"),r.width>0?n.setAttribute("markerWidth",r.width.toString()):n.removeAttribute("markerWidth"),o.setAttribute("d",r.pathData),t.Utils.isNullOrEmpty(r.fill)?o.removeAttribute("fill"):o.setAttribute("fill",r.fill),t.Utils.isNullOrEmpty(r.stroke)?o.removeAttribute("stroke"):o.setAttribute("stroke",r.stroke),n}};n=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-svg-adapter"})],n),e.PacemSvgAdapterElement=n}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={}));
6
+ var Pacem,__decorate=this&&this.__decorate||function(t,e,i,r){var a,s=arguments.length,n=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,i,r);else for(var o=t.length-1;o>=0;o--)(a=t[o])&&(n=(s<3?a(n):s>3?a(e,i,n):a(e,i))||n);return s>3&&n&&Object.defineProperty(e,i,n),n},__classPrivateFieldSet=this&&this.__classPrivateFieldSet||function(t,e,i,r,a){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?a.call(t,i):a?a.value=i:e.set(t,i),i},__classPrivateFieldGet=this&&this.__classPrivateFieldGet||function(t,e,i,r){if("a"===i&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(t):r?r.value:e.get(t)};!function(t){!function(e){var i;function r(e){return!t.Utils.isNull(e)&&"stage"in e}function a(t){return r(t)}e.isDrawable=r,e.isUiObject=a,e.isShape=function(t){return a(t)&&"pathData"in t},e.isGroup=function(e){return a(e)&&"items"in e&&!t.Utils.isNullOrEmpty(e.items)},e.isText=function(t){return a(t)&&"text"in t&&"string"==typeof t.text},e.isImage=function(t){return a(t)&&"src"in t&&"string"==typeof t.src};class UI2DEvent extends t.CustomUIEvent{constructor(t,e,r,a){super(t,e,r),i.set(this,void 0),__classPrivateFieldSet(this,i,a,"f")}get transformMatrix(){return __classPrivateFieldGet(this,i,"f")}project(e={x:this.screenX,y:this.screenY}){return t.Matrix2D.multiply(e,__classPrivateFieldGet(this,i,"f"))}}i=new WeakMap,e.UI2DEvent=UI2DEvent;e.Shape=class Shape{static empty(){return{pathData:"",vertices:[],boundingRect:{x:0,y:0,width:0,height:0}}}};e.DragEvent=class DragEvent extends UI2DEvent{};e.DrawableEvent=class DrawableEvent extends UI2DEvent{constructor(t,e,i,r){super(t,{detail:e,bubbles:!0,cancelable:!0},i,r)}}}(t.Drawing||(t.Drawing={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(i){var r,a,s;i.TAG_MIDDLE_NAME="2d",i.TWO_PI=2*Math.PI;const n=Math.PI/180;class Pacem2DAdapterElement extends e.PacemEventTarget{constructor(){super(...arguments),this.DefaultShapeValues={stroke:"#000",lineWidth:1,fill:"#fff"}}}i.Pacem2DAdapterElement=Pacem2DAdapterElement;class DrawableElement extends e.PacemCrossItemsContainerElement{validate(t){return!1}findContainer(){return this.parent||this.stage}get stage(){return this._scene=this._scene||t.CustomElementUtils.findAncestorOfType(this,i.Pacem2DElement)}get parent(){return this._drawableParent=this._drawableParent||t.CustomElementUtils.findAncestor(this,(t=>t instanceof DrawableElement))}disconnectedCallback(){delete this._scene,delete this._drawableParent,super.disconnectedCallback()}propertyChangedCallback(e,i,r,a){switch(super.propertyChangedCallback(e,i,r,a),e){case"hide":case"items":const i=this.stage;t.Utils.isNull(i)||("hide"===e?i.draw(this):i.requestDraw(this,!0))}}}__decorate([t.Watch({emit:!1,reflectBack:!0,converter:t.PropertyConverters.String})],DrawableElement.prototype,"tag",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Boolean})],DrawableElement.prototype,"inert",void 0),i.DrawableElement=DrawableElement;class UiElement extends DrawableElement{constructor(){super(...arguments),r.set(this,t.Matrix2D.identity)}propertyChangedCallback(e,i,r,a){if(super.propertyChangedCallback(e,i,r,a),!a)switch(e){case"rotate":case"scaleX":case"scaleY":case"translateX":case"translateY":this._updateTransformMatrix();case"opacity":t.Utils.isNull(this.stage)||this.stage.draw(this)}}_updateTransformMatrix(){var t,e,i,a;let s=n*(this.rotate||0),o=Math.cos(s),l=Math.sin(s),c=(null!==(t=this.scaleX)&&void 0!==t?t:1)*o,h=-l,d=l,m=(null!==(e=this.scaleY)&&void 0!==e?e:1)*o,p=null!==(i=this.translateX)&&void 0!==i?i:0,u=null!==(a=this.translateY)&&void 0!==a?a:0;__classPrivateFieldSet(this,r,{a:c,b:h,c:d,d:m,e:p,f:u},"f")}get transformMatrix(){const t=__classPrivateFieldGet(this,r,"f");return{a:t.a,b:t.b,c:t.c,d:t.d,e:t.e,f:t.f}}}r=new WeakMap,__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],UiElement.prototype,"rotate",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],UiElement.prototype,"scaleX",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],UiElement.prototype,"scaleY",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],UiElement.prototype,"translateX",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],UiElement.prototype,"translateY",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],UiElement.prototype,"opacity",void 0),i.UiElement=UiElement;class ShapeElement extends UiElement{constructor(){super(...arguments),a.set(this,void 0),s.set(this,void 0)}propertyChangedCallback(e,i,r,a){if(super.propertyChangedCallback(e,i,r,a),!a)switch(e){case"data":case"stroke":case"lineWidth":case"fill":t.Utils.isNull(this.stage)||this.stage.draw(this)}}viewActivatedCallback(){super.viewActivatedCallback(),this.recomputeShape()}recomputeShape(){const{pathData:t,vertices:e,boundingRect:i}=this.getShapeGeometry();__classPrivateFieldSet(this,s,e,"f"),__classPrivateFieldSet(this,a,i,"f"),this.data=t}get pathData(){return this.data}get boundingRect(){return __classPrivateFieldGet(this,a,"f")}get vertices(){return __classPrivateFieldGet(this,s,"f")}}a=new WeakMap,s=new WeakMap,__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],ShapeElement.prototype,"data",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],ShapeElement.prototype,"stroke",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],ShapeElement.prototype,"fill",void 0),__decorate([t.Watch({emit:!1,converter:{convert:t=>null==t?void 0:t.split(",").map((t=>parseInt(t))).filter((t=>!Number.isNaN(t))),convertBack:t=>null==t?void 0:t.join(",")}})],ShapeElement.prototype,"dashArray",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],ShapeElement.prototype,"lineWidth",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],ShapeElement.prototype,"lineJoin",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],ShapeElement.prototype,"lineCap",void 0),i.ShapeElement=ShapeElement}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){var i;let r=i=class PacemCircleElement extends e.ShapeElement{propertyChangedCallback(t,e,i,r){if(super.propertyChangedCallback(t,e,i,r),!r)switch(t){case"center":case"radius":this.recomputeShape()}}getPathData(){const e=this.radius,r=this.center;return t.Utils.isNull(r)||t.Utils.isNull(e)?null:i.getPathData(r,e)}getShapeGeometry(){var t,e;const i=null!==(t=this.center)&&void 0!==t?t:{x:0,y:0},r=null!==(e=this.radius)&&void 0!==e?e:0,a=2*r,s=i.x,n=i.y;return{pathData:this.getPathData(),boundingRect:{x:s-r,y:n-r,width:a,height:a},vertices:[]}}static getPathData(t={x:NaN,y:NaN},e=NaN){const i=2*e;return`M ${t.x} ${t.y} m ${-e}, 0 a ${e},${e} 0 1,1 ${i},0 a ${e},${e} 0 1,1 ${-i},0`}};__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Point})],r.prototype,"center",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],r.prototype,"radius",void 0),r=i=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-circle"})],r),e.PacemCircleElement=r}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){let i=class PacemGroupElement extends e.DrawableElement{validate(t){return t instanceof e.DrawableElement&&t.parent===this}};i=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-group"})],i),e.PacemGroupElement=i}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){let i=class PacemImageElement extends e.UiElement{propertyChangedCallback(e,i,r,a){if(!a)switch(e){case"src":case"x":case"y":case"width":case"height":t.Utils.isNull(this.stage)||this.stage.draw(this)}}};__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],i.prototype,"src",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],i.prototype,"x",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],i.prototype,"y",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],i.prototype,"width",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],i.prototype,"height",void 0),i=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-image"})],i),e.PacemImageElement=i}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){var i;let r=i=class PacemLineElement extends e.ShapeElement{propertyChangedCallback(t,e,i,r){if(super.propertyChangedCallback(t,e,i,r),!r)switch(t){case"from":case"to":this.recomputeShape()}}getShapeGeometry(){const e=this.from,i=this.to;if(t.Utils.isNull(e)||t.Utils.isNull(i))return t.Drawing.Shape.empty();const r=e.x,a=e.y,s=i.x,n=i.y,o={x:Math.min(r,s),y:Math.min(a,n),width:Math.abs(r-s),height:Math.abs(a-n)};return{pathData:this.getPathData(),vertices:[e,i],boundingRect:o}}getPathData(){const e=this.from,r=this.to;return t.Utils.isNull(e)||t.Utils.isNull(r)?null:i.getPathData(e,r)}static getPathData(t={x:NaN,y:NaN},e={x:NaN,y:NaN}){return`M ${t.x} ${t.y} L ${e.x} ${e.y}`}};__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Point})],r.prototype,"from",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Point})],r.prototype,"to",void 0),r=i=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-line"})],r),e.PacemLineElement=r}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){let i=class PacemPathElement extends e.ShapeElement{constructor(){super(...arguments),this.getPathData=()=>this.d}propertyChangedCallback(t,e,i,r){super.propertyChangedCallback(t,e,i,r),"d"===t&&this.recomputeShape()}getShapeGeometry(){return{pathData:this.getPathData(),boundingRect:null,vertices:[]}}};__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],i.prototype,"d",void 0),i=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-path"})],i),e.PacemPathElement=i}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){var i,r;let a=r=class PacemPolygonElement extends e.ShapeElement{constructor(){super(...arguments),i.set(this,[])}propertyChangedCallback(t,e,i,r){if(super.propertyChangedCallback(t,e,i,r),!r)switch(t){case"radius":case"starIndent":case"sides":this.data=this.getPathData()}}get vertices(){return __classPrivateFieldGet(this,i,"f")}getPathData(){const e=this.sides,i=this.radius,a=this.center;return t.Utils.isNull(e)||t.Utils.isNull(i)?null:r.getPathData(a,i,e,this.starIndent)}getShapeGeometry(){var e,i,a;const s=null!==(e=this.center)&&void 0!==e?e:{x:0,y:0},n=null!==(i=this.radius)&&void 0!==i?i:0,o=null!==(a=this.sides)&&void 0!==a?a:3,l=this.starIndent;return o<3?t.Drawing.Shape.empty():r.getShapeGeometry(s,n,o,l)}static getShapeGeometry(t,e,i,r=0){const a={x:t.x,y:t.y-e};let s=`M ${a.x} ${a.y}`;const n=[a],o=2*Math.PI/i,l=.5*o,c=r>0,h=e*Math.cos(l);for(let a=1;a<i;a++){const i=a*o,d=t.x+Math.sin(i)*e,m=t.y-Math.cos(i)*e;if(c){const e=h*(1-r),a=i-l,o=t.x+Math.sin(a)*e,c=t.y-Math.cos(a)*e;s+=` L ${o} ${c} L ${d} ${m}`,n.push({x:o,y:c})}else s+=` L ${d} ${m}`;n.push({x:d,y:m})}if(c){const e=h*(1-r),i=2*Math.PI-l,a=t.x+Math.sin(i)*e,o=t.y-Math.cos(i)*e;s+=` L ${a} ${o}`,n.push({x:a,y:o})}n.push(a);const d=2*e;return{pathData:s+" Z",vertices:n,boundingRect:{x:a.x-e,y:a.y,width:d,height:d}}}static getPathData(t,e,i,a=0){const{pathData:s}=r.getShapeGeometry(t,e,i,a);return s}};i=new WeakMap,__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],a.prototype,"sides",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],a.prototype,"radius",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Point})],a.prototype,"center",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],a.prototype,"starIndent",void 0),a=r=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-polygon"})],a),e.PacemPolygonElement=a}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){var i;let r=i=class PacemRectElement extends e.ShapeElement{propertyChangedCallback(t,e,i,r){super.propertyChangedCallback(t,e,i,r),r||"x"!==t&&"y"!==t&&"w"!==t&&"h"!==t||this.recomputeShape()}getPathData(){const e=this.x,r=this.y,a=this.w,s=this.h;return t.Utils.isNull(e)||t.Utils.isNull(r)||t.Utils.isNull(a)||t.Utils.isNull(s)?null:i.getPathData(e,r,a,s)}getShapeGeometry(){const t=this.x,e=this.y,i=t+this.w,r=e+this.h;return{pathData:this.getPathData(),vertices:[{x:t,y:e},{x:i,y:e},{x:i,y:r},{x:t,y:r}],boundingRect:{x:t,y:e,width:this.w,height:this.h}}}static getPathData(t=NaN,e=NaN,i=NaN,r=NaN){return`M ${t} ${e} h ${i} v ${r} h ${-i} z`}};__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],r.prototype,"x",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],r.prototype,"y",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],r.prototype,"w",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],r.prototype,"h",void 0),r=i=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-rect"})],r),e.PacemRectElement=r}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(i){var r,a;const s=/^\s*[xX]\s*([Mm](in|ax|id))\s*[yY]\s*([Mm](in|ax|id))(\s+(none|slice|meet))?\s*$/,n={convert:t=>{const e=s.exec(t);return e&&e.length>=4?{x:e[1].toLowerCase(),y:e[3].toLowerCase(),slice:"slice"===e[6]}:"none"},convertBack:e=>t.Utils.isNull(e)||"string"==typeof e?"none":`xM${e.x.substr(1)}YM${e.y.substr(1)} ${e.slice?"slice":"meet"}`},o={panControl:!0,zoomControl:!0,panModifiers:[t.EventKeyModifier.AltKey],zoomModifiers:[t.EventKeyModifier.AltKey]};let l=class Pacem2DElement extends e.PacemItemsContainerElement{constructor(){super(...arguments),r.set(this,void 0),a.set(this,t.Matrix2D.identity),this._options=o,this._resizeHandler=e=>{this._size={width:e.detail.width,height:e.detail.height};const i=this.adapter;t.Utils.isNull(i)||this._invalidateSize()},this._zoomHandler=e=>{const i=this._options;if(i.zoomControl&&t.CustomEventUtils.matchModifiers(e,i.zoomModifiers)){t.avoidHandler(e);const i=1+.1*(e.deltaY<0?-1:1),r=t.Utils.offsetRect(e.currentTarget),a={x:e.clientX,y:e.clientY};this._zoom(i,r,a)}},this._panHandler=e=>{const i=this._panningStart,r=this._getPanPoint(e);if(!t.Utils.isNullOrEmpty(i&&i.point)&&!t.Utils.isNull(r)){t.avoidHandler(e);const a=i.factor,s=i.box,n=i.point;this.viewbox={x:s.x-a*(r.x-n.x),y:s.y-a*(r.y-n.y),width:s.width,height:s.height}}},this._panStartHandler=e=>{if(!this._options.panControl)return;const i=this._size,r=this.viewbox||{x:0,y:0,width:i.width,height:i.height},a=this._getPanPoint(e);if(a){t.avoidHandler(e),this._stage.style.pointerEvents="none";const s=this._getActualAspectRatio(),n=r.width/i.width,o=r.height/i.height,l=s.slice?Math.min(n,o):Math.max(n,o);this._panningStart={point:a,box:r,factor:l}}},this._panEndHandler=t=>{this._stage.style.pointerEvents="",this._panningStart=null}}get stage(){return this._stage}snapshot(e){const i=this.adapter;return t.Utils.isNull(i)?Promise.resolve(null):i.snapshot(this,e)}get transformMatrix(){return __classPrivateFieldGet(this,a,"f")}_transformMatrixScale(){const e=t.Utils.extend(this._size||t.Utils.offsetRect(this._stage),{x:0,y:0});var i=__classPrivateFieldGet(this,r,"f")||{x:0,y:0,width:e.width,height:e.height};const a=this.viewbox||i,s=this.aspectRatio||"none",n="none"===s?"stretch":s.slice?"cover":"contain";return t.Rect.findTransform(a,i,n).a}validate(e){return e instanceof i.DrawableElement&&t.Utils.isNull(e.parent)}draw(e,i=!1){const r=this.adapter;if(!this.disabled&&!t.Utils.isNull(r)){let t=new CustomEvent("predraw",{cancelable:!0});this.dispatchEvent(t),t.defaultPrevented||(r.draw(this,e,i),this.dispatchEvent(new CustomEvent("draw")))}}_drawDebounced(e,i=!1){!t.Utils.isNull(e)&&t.Drawing.isGroup(e)?this.draw(e,i):this.draw(e)}requestDraw(t,e=!1){this._drawDebounced(t,e)}_buildUpDatasourceFromDOM(){this.datasource=(this.items||[]).slice()}_getActualAspectRatio(){const t=this.aspectRatio||"none";return{x:"none"===t?"mid":t.x,y:"none"===t?"mid":t.y,slice:"none"!==t&&t.slice}}_zoomFromValue(e){const i=this._size;if(t.Utils.isNull(i))return;const a=t.Utils.extend(i,{x:0,y:0}),s=__classPrivateFieldGet(this,r,"f")||{x:0,y:0,width:i.width,height:i.height},n=this.viewbox||s,o=this.aspectRatio||"none",l="none"===o?"stretch":o.slice?"cover":"contain",c=t.Rect.findTransform(n,a,l),h=t.Rect.findTransform(s,a,l),d=c.a/(h.a*e);this._zoom(d)}_zoom(e,i,r){t.Utils.isNull(i)&&(i=t.Utils.offsetRect(this._stage)),t.Utils.isNull(r)&&(r={x:i.x+.5*i.width,y:i.y+.5*i.height});const a=this._size,s=this.viewbox||{x:0,y:0,width:a.width,height:a.height},n=Math.min(s.width,s.height),o=n*e,l=n*e;if(o>0&&l>0){const t=this._getActualAspectRatio(),e=t.x,a=t.y,n=t.slice,c=s.width/s.height,h=n?Math.max(i.width,i.height):Math.min(i.width,i.height);let d,m;switch(e){case"mid":d=(o-s.width)*(r.x-i.x-.5*(i.width-h))/(h*c);break;case"max":d=(o-s.width)*(r.x-i.x-(i.width-h))/(h*c);break;default:d=(o-s.width)*(r.x-i.x)/(h*c)}switch(a){case"mid":m=(l-s.height)*(r.y-i.y-.5*(i.height-h))/(h*c);break;case"max":m=(l-s.height)*(r.y-i.y-(i.height-h))/(h*c);break;default:m=(l-s.height)*(r.y-i.y)/(h*c)}const p=s.x-d,u=s.y-m;this.viewbox={x:p,y:u,width:o,height:l}}}_getPanPoint(e){const i=this._options;return e instanceof MouseEvent&&t.CustomEventUtils.matchModifiers(e,i.panModifiers)?t.CustomEventUtils.getEventCoordinates(e).page:null}_invalidateSize(){this.adapter.invalidateSize(this,this._size),__classPrivateFieldSet(this,a,this.adapter.getTransformMatrix(this),"f"),this.zoom=this._transformMatrixScale(),this.dispatchEvent(new e.ResizeEvent(this._size))}viewActivatedCallback(){super.viewActivatedCallback();const e=this.adapter;t.Utils.isNull(e)||(e.initialize(this),this._invalidateSize(),this._drawDebounced());const i=this._resize;i.addEventListener(t.Components.ResizeEventName,this._resizeHandler,!1);const r=this._stage;i.target=r;const a={capture:!1,passive:!0};r.addEventListener("wheel",this._zoomHandler,!1),r.addEventListener("mousedown",this._panStartHandler,!1),r.addEventListener("touchstart",this._panStartHandler,a),window.addEventListener("mousemove",this._panHandler,!1),window.addEventListener("mouseup",this._panEndHandler,!1),window.addEventListener("touchmove",this._panHandler,a),window.addEventListener("touchend",this._panEndHandler,a)}propertyChangedCallback(e,i,a,s){var n;switch(super.propertyChangedCallback(e,i,a,s),e){case"adapter":t.Utils.isNull(i)||i.dispose(this),t.Utils.isNull(a)||(a.initialize(this),this._invalidateSize(),this._drawDebounced());break;case"aspectRatio":t.Utils.isNull(this.adapter)||this._invalidateSize();break;case"viewbox":t.Utils.isNull(this.adapter)||this._invalidateSize(),__classPrivateFieldSet(this,r,null!==(n=__classPrivateFieldGet(this,r,"f"))&&void 0!==n?n:this.viewbox||null,"f");break;case"items":this._buildUpDatasourceFromDOM();break;case"zoom":a!==this._transformMatrixScale()&&this._zoomFromValue(a);break;case"options":this._options=t.Utils.extend({},o,a||{});break;case"disabled":case"datasource":this._drawDebounced()}}disconnectedCallback(){const e=this._resize,i=this._stage;t.Utils.isNull(e)||e.removeEventListener(t.Components.ResizeEventName,this._resizeHandler,!1),t.Utils.isNull(i)||(i.removeEventListener("wheel",this._zoomHandler,!1),i.removeEventListener("mousedown",this._panStartHandler,!1),i.removeEventListener("touchstart",this._panStartHandler),window.removeEventListener("mousemove",this._panHandler,!1),window.removeEventListener("mouseup",this._panEndHandler,!1),window.removeEventListener("touchmove",this._panHandler),window.removeEventListener("touchend",this._panEndHandler)),t.Utils.isNull(this.adapter)||this.adapter.dispose(this),super.disconnectedCallback()}};r=new WeakMap,a=new WeakMap,__decorate([t.Watch({converter:t.PropertyConverters.Element})],l.prototype,"adapter",void 0),__decorate([t.Watch({reflectBack:!0,converter:t.PropertyConverters.Rect})],l.prototype,"viewbox",void 0),__decorate([t.Watch({emit:!1,reflectBack:!0,converter:n})],l.prototype,"aspectRatio",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Json})],l.prototype,"datasource",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Json})],l.prototype,"options",void 0),__decorate([t.Watch({converter:t.PropertyConverters.Number})],l.prototype,"zoom",void 0),__decorate([t.ViewChild("."+t.PCSS+"-2d")],l.prototype,"_stage",void 0),__decorate([t.ViewChild(t.P+"-resize")],l.prototype,"_resize",void 0),__decorate([t.Debounce(!0)],l.prototype,"_drawDebounced",null),l=__decorate([t.CustomElement({tagName:t.P+"-"+i.TAG_MIDDLE_NAME,shadow:t.Defaults.USE_SHADOW_ROOT,template:`<${t.P}-resize></${t.P}-resize><div class="${t.PCSS}-2d"></div><${t.P}-content></${t.P}-content>`})],l),i.Pacem2DElement=l}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){let i=class PacemTextElement extends e.UiElement{propertyChangedCallback(e,i,r,a){if(!a)switch(e){case"text":case"color":case"fontFamily":case"fontSize":case"anchor":t.Utils.isNull(this.stage)||this.stage.draw(this)}}};__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],i.prototype,"text",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],i.prototype,"color",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],i.prototype,"fontFamily",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Number})],i.prototype,"fontSize",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.Point})],i.prototype,"anchor",void 0),__decorate([t.Watch({emit:!1,converter:t.PropertyConverters.String})],i.prototype,"textAnchor",void 0),i=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-text"})],i),e.PacemTextElement=i}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){var i;const r="pacem:2d-canvas-scene",a="pacem:2d-parent-matrix",s=t.CustomElementUtils.setAttachedPropertyValue,n=t.CustomElementUtils.getAttachedPropertyValue;function o(e){return"none"===e||t.Utils.isNullOrEmpty(e)}function l(e,i){return t.Utils.isNull(e)?i:e}let c=class PacemCanvasAdapterElement extends e.Pacem2DAdapterElement{constructor(){super(...arguments),i.set(this,void 0),this._pointer={page:{x:0,y:0},screen:{x:0,y:0},client:{x:0,y:0}},this._canvasOffset={x:0,y:0,width:0,height:0},this._clickHandler=e=>{const i=e.srcElement,a=n(i,r);this.draw(a);const s=this._hitTarget;if(!t.Utils.isNull(s)){const i=s.stage.transformMatrix;s instanceof Element&&s.dispatchEvent(new t.Drawing.DrawableEvent("click",s,e,i)),s.stage.dispatchEvent(new t.Drawing.DrawableEvent("itemclick",s,e,i))}},this._dragInitHandler=e=>{var i;const r=this._hitTarget;if(t.Utils.isNull(r)||!t.Drawing.isUiObject(r)||!r.draggable)return void e.preventDefault();const s=e.detail,o=r,l=null!==(i=r.transformMatrix)&&void 0!==i?i:t.Matrix2D.identity,c=n(r,a,t.Matrix2D.identity);s.data={item:o,initialTransformMatrix:l,parentMatrix:c};this._itemDispatch(o,e,{x:0,y:0})&&e.preventDefault()},this._draggingHandler=e=>{t.avoidHandler(e),this._dragging=!0;const i=e.detail,r=i.data,a=i.currentPosition.x-i.origin.x,s=i.currentPosition.y-i.origin.y,n={x:a*r.parentMatrix.a+r.initialTransformMatrix.e,y:s*r.parentMatrix.d+r.initialTransformMatrix.f},o=r.item.stage.transformMatrix;if(!this._itemDispatch(r.item,e,{x:a*o.a+o.e,y:s*o.d+o.f}))if(r.item instanceof t.Components.Drawing.UiElement)r.item.translateX=n.x,r.item.translateY=n.y;else{const e=r.initialTransformMatrix,i={a:e.a,b:e.b,c:e.c,d:e.d,e:n.x,f:n.y};t.Utils.extend(r.item,{transformMatrix:i})}},this._dragEndHandler=t=>{this._dragging=!1;const e=t.detail.data,i=e.item.transformMatrix;this._itemDispatch(e.item,t,{x:i.e,y:i.f})},this._mousemoveHandler=e=>{this._scopeEvent=e,this._pointer=t.CustomEventUtils.getEventCoordinates(e);const i=e.srcElement,a=n(i,r);this._requestDraw(a)},this._touchstartHandler=e=>{1===e.touches.length&&(this._scopeEvent=e,this._pointer=t.CustomEventUtils.getEventCoordinates(e))},this._scenes=new WeakMap,this._handles=new WeakMap}snapshot(e,i){const r=this._scenes;if(r.has(e)){const a=r.get(e).context.canvas;return t.Utils.snapshotElement(a,i)}return Promise.resolve(null)}getTransformMatrix(e){const i=this._scenes;if(i.has(e)){const r=i.get(e).transformMatrix;if(!t.Utils.isNull(r))return t.Matrix2D.invert(r)}return t.Matrix2D.identity}viewActivatedCallback(){super.viewActivatedCallback();const e=this._dragger=document.createElement(t.P+"-drag-drop");e.mode=t.UI.DragDataMode.Copy,e.dropBehavior=t.UI.DropBehavior.None,e.spillBehavior=t.UI.DropTargetMissedBehavior.None;const i=document.createElement("div");i.hidden=!0,e.floater=i;t.CustomElementUtils.findAncestorShell(this).appendChild(e),e.addEventListener(t.UI.DragDropEventType.Init,this._dragInitHandler,!1),e.addEventListener(t.UI.DragDropEventType.Drag,this._draggingHandler,!1),e.addEventListener(t.UI.DragDropEventType.End,this._dragEndHandler,!1)}disconnectedCallback(){const e=this._dragger;t.Utils.isNull(e)||(e.removeEventListener(t.UI.DragDropEventType.Init,this._dragInitHandler,!1),e.removeEventListener(t.UI.DragDropEventType.Drag,this._draggingHandler,!1),e.removeEventListener(t.UI.DragDropEventType.End,this._dragEndHandler,!1),e.remove()),super.disconnectedCallback()}invalidateSize(e,i){const r=this._scenes;if(!t.Utils.isNull(e)&&!t.Utils.isNullOrEmpty(i)&&r.has(e)){const a=r.get(e),s=a.context;s.canvas.width=i.width,s.canvas.height=i.height,this._canvasOffset=t.Utils.offsetRect(s.canvas);const n={x:0,y:0,width:i.width,height:i.height},o=e.aspectRatio,l=e.viewbox;if(t.Utils.isNullOrEmpty(l))a.transformMatrix=t.Matrix2D.identity;else{let e="contain",i="center",r="middle";if("object"==typeof o){switch(e=o.slice?"cover":"contain",o.x){case"min":i="left";break;case"max":i="right"}switch(o.y){case"min":r="top";break;case"max":r="bottom"}}const s=t.Rect.findTransform({x:0,y:0,width:l.width,height:l.height},n,e,i,r),c=t.Matrix2D.translate(s,{x:-s.a*l.x,y:-s.a*l.y});a.transformMatrix=c}}this._requestDraw(e)}getHitTarget(e){const i=this._hitTarget;return t.Utils.isNull(i)||i.stage!==e?null:i}initialize(e){if(t.Utils.isNull(e))throw"Provided scene is null or undefined.";const i=this._scenes,a=this._dragger;if(i.has(e)){const r=i.get(e).context.canvas;return t.Utils.isNull(a)||a.register(r),r}const n=e.stage;n.innerHTML="";const o=document.createElement("canvas");s(o,r,e);const l=o.getContext("2d");return o.addEventListener("mousemove",this._mousemoveHandler,!1),o.addEventListener("touchstart",this._touchstartHandler,{passive:!0}),o.addEventListener("touchmove",this._touchstartHandler,{passive:!0}),o.addEventListener("touchend",this._clickHandler,{passive:!0}),o.addEventListener("click",this._clickHandler,!1),n.appendChild(o),i.set(e,{context:l,transformMatrix:t.Matrix2D.identity}),t.Utils.isNull(a)||a.register(o),o}dispose(e){const i=this._scenes;if(i.has(e)){var r=i.get(e).context.canvas;const a=this._dragger;t.Utils.isNull(a)||a.unregister(r),r.removeEventListener("click",this._clickHandler,!1),r.removeEventListener("touchend",this._clickHandler,!1),r.removeEventListener("touchmove",this._touchstartHandler),r.removeEventListener("touchstart",this._touchstartHandler),r.removeEventListener("mousemove",this._mousemoveHandler,!1),r.remove(),i.delete(e)}}_requestDraw(t){const e=this._handles;e.has(t)&&cancelAnimationFrame(e.get(t)),e.set(t,requestAnimationFrame((()=>{this.draw(t)})))}draw(e){const r=this._scenes,a=this._handles;if(!t.Utils.isNull(e)){if(e.adapter!==this)return void(r.has(e)&&(r.delete(e),a.get(e)));if(!r.has(e))return void this.initialize(e);a.has(e)&&cancelAnimationFrame(a.get(e));const s=this._hitTarget,n=e.datasource||[];this._hitTarget=null;const o=r.get(e),l=o.context,c=l.canvas;__classPrivateFieldSet(this,i,getComputedStyle(c),"f"),l.resetTransform(),l.clearRect(0,0,c.width,c.height);const h=o.transformMatrix;l.setTransform(h);const d=this._pointer,m=this._canvasOffset,p={x:d.page.x-m.x,y:d.page.y-m.y};for(let t of n)this._draw(e,l,t,h,p);const u=this._hitTarget;u!=s&&(t.Utils.isNull(s)||(s instanceof Element&&s.dispatchEvent(new t.Drawing.DrawableEvent("out",s,this._scopeEvent,h)),e.dispatchEvent(new t.Drawing.DrawableEvent("itemout",s,this._scopeEvent,h))),t.Utils.isNull(u)||(u instanceof Element&&u.dispatchEvent(new t.Drawing.DrawableEvent("over",u,this._scopeEvent,h)),e.dispatchEvent(new t.Drawing.DrawableEvent("itemover",u,this._scopeEvent,h))))}}_itemDispatch(e,i,r){if(!t.Utils.isNull(e)){var a,s,n;r instanceof Event?s=r:a={item:e,offset:r},"string"==typeof i?n=i:(n=i.type,s=i.originalEvent);const l=t.Matrix2D.multiply({a:1,b:0,c:0,d:1,e:-this._canvasOffset.x,f:-this._canvasOffset.y},e.stage.transformMatrix),c=()=>r instanceof Event?new t.Drawing.DrawableEvent(n,e,s,l):new t.Drawing.DragEvent(n,{detail:a,cancelable:n===t.UI.DragDropEventType.Init||n===t.UI.DragDropEventType.Drag},s,l),h=r instanceof Event?new t.Drawing.DrawableEvent("item"+n,e,s,l):new t.Drawing.DragEvent("item"+n,{detail:a,cancelable:n===t.UI.DragDropEventType.Init||n===t.UI.DragDropEventType.Drag},s,l);var o=!1;if(e instanceof EventTarget){const t=c();e.dispatchEvent(t),o=t.defaultPrevented}return e.stage.dispatchEvent(h),o||h.defaultPrevented}return!1}_draw(e,i,r,n,o){var l;if(null!==(l=r.stage)&&void 0!==l||(r.stage=e),t.Drawing.isDrawable(r)&&r.hide)return;let c;if(t.Drawing.isUiObject(r)&&r.draggable&&!r.hide&&!r.inert&&s(r,a,i.getTransform().inverse()),t.Drawing.isUiObject(r)&&(c=r.transformMatrix,t.Utils.isNull(c)||t.Matrix2D.isIdentity(c)||i.transform(c.a,c.b,c.c,c.d,c.e,c.f)),t.Drawing.isShape(r))this._drawShape(i,r,o);else if(t.Drawing.isText(r))this._drawText(i,r,o);else if(t.Drawing.isImage(r))this._drawImage(i,r,o);else if(t.Drawing.isGroup(r))for(let t of r.items||[])this._draw(e,i,t,i.getTransform(),o);t.Drawing.isUiObject(r)&&r.draggable&&!r.hide&&!r.inert&&s(r,"pacem:2d-world-matrix",i.getTransform().inverse()),i.setTransform(n)}_drawImage(e,i,r){const a="pacem:2d-canvas-imagesrc";let o=n(i,a);const c=()=>{let a=o.naturalWidth,s=o.naturalHeight,n=i.width,c=i.height;if(n>0&&c>0||(n>0?c=s*n/a:c>0?n=a*c/s:(n=a,c=s)),!this._dragging&&!i.inert&&!t.Utils.isNull(r)){const t=new Path2D(`M ${i.x} ${i.y} h ${n} v ${c} H ${i.x} Z`);e.isPointInPath(t,r.x,r.y)&&(this._hitTarget=i)}e.globalAlpha=l(i.opacity,1),e.drawImage(o,i.x,i.y,n,c)};t.Utils.isNull(o)?(o=new Image,o.src=i.src,o.onload=()=>{s(i,a,o),c()}):c()}_drawText(e,r,a){var s;const n=this.DefaultShapeValues,c=e.fillStyle=l(r.color,n.stroke),h=(e.getTransform(),r.fontSize>0?`${r.fontSize}px`:__classPrivateFieldGet(this,i,"f").fontSize);e.font=`${h} ${null!==(s=r.fontFamily)&&void 0!==s?s:__classPrivateFieldGet(this,i,"f").fontFamily}`,e.textAlign="middle"===r.textAnchor?"center":r.textAnchor,e.fillText(r.text,r.anchor.x,r.anchor.y),e.globalAlpha=l(r.opacity,1);const d=!o(c);if(!this._dragging&&!r.inert&&!t.Utils.isNull(a)){const t=e.measureText(r.text),i=t.width,s=t.actualBoundingBoxAscent+t.actualBoundingBoxDescent,n=r.anchor.x-t.actualBoundingBoxLeft,o=r.anchor.y-t.actualBoundingBoxAscent,l=new Path2D(`M ${n} ${o} h ${i} v ${s} H ${n} z`);d&&e.isPointInPath(l,a.x,a.y)&&(this._hitTarget=r)}}_drawShape(e,i,r){if(t.Utils.isNullOrEmpty(null==i?void 0:i.pathData))return;const a=this.DefaultShapeValues;e.strokeStyle=l(i.stroke,a.stroke),e.lineWidth=l(i.lineWidth,a.lineWidth),t.Utils.isNullOrEmpty(i.dashArray)?e.setLineDash([]):e.setLineDash(i.dashArray),t.Utils.isNullOrEmpty(i.lineCap)?e.lineCap="butt":e.lineCap=i.lineCap,t.Utils.isNullOrEmpty(i.lineJoin)?e.lineJoin="miter":e.lineJoin=i.lineJoin,e.lineWidth=l(i.lineWidth,a.lineWidth),e.fillStyle=l(i.fill,a.fill),e.globalAlpha=l(i.opacity,1),e.beginPath();const s=!o(i.fill),n=!o(i.stroke);var c=new Path2D(i.pathData);this._dragging||i.inert||t.Utils.isNull(r)||(s&&e.isPointInPath(c,r.x,r.y)||n&&e.isPointInStroke(c,r.x,r.y))&&(this._hitTarget=i),n&&e.stroke(c),s&&e.fill(c);const h=!t.Utils.isNullOrEmpty(i.vertices)&&i.vertices.length>1,d=!t.Utils.isNull(i.markerEnd),m=!t.Utils.isNull(i.markerStart),p=!t.Utils.isNull(i.markerMid);if((d||p||m)&&(h||this.log(t.Logging.LogLevel.Warn,"Not enough vertices were explicited in order to make markers renderable.")),h){const t=e.getTransform();if(m){const t=i.markerEnd,r=i.vertices[1],a=i.vertices[0],s=Math.atan2(a.y-r.y,a.x-r.x);this._drawMarker(e,t,a,s)}if(p){const r=i.markerEnd;for(let a=1;a<i.vertices.length-1;a++){e.setTransform(t);const s=i.vertices[a],n=i.vertices[a+1],o=Math.atan2(n.y-s.y,n.x-s.x);this._drawMarker(e,r,n,o)}}if(d){e.setTransform(t);const r=i.markerEnd,a=i.vertices[i.vertices.length-2],s=i.vertices[i.vertices.length-1],n=Math.atan2(s.y-a.y,s.x-a.x);this._drawMarker(e,r,s,n)}}}_drawMarker(e,i,r,a){var s,n;const c=this.DefaultShapeValues,h=(null===(s=i.ref)||void 0===s?void 0:s.x)||0,d=(null===(n=i.ref)||void 0===n?void 0:n.y)||0,m=(i.width||1)*e.lineWidth,p=(i.width||1)*e.lineWidth;let u=i.viewbox,v={x:0,y:0,width:m,height:p};t.Utils.isNull(u)&&(u=v);const g={a:v.width/u.width,d:v.height/u.height};e.translate(r.x,r.y),e.rotate(a),e.scale(g.a,g.d),e.translate(-h,-d),e.fillStyle=l(i.fill,c.fill),e.strokeStyle=l(i.stroke,c.stroke);const _=!o(i.fill),f=!o(i.stroke);var y=new Path2D(i.pathData);_&&e.fill(y),f&&e.stroke(y)}};i=new WeakMap,c=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-canvas-adapter"})],c),e.PacemCanvasAdapterElement=c}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={})),function(t){!function(e){!function(e){const i="http://www.w3.org/2000/svg",r="pacem:drawable";function a(e,i){return t.Utils.isNull(e)?i:e}function s(t,e,i){return i>=t.children.length?(t.appendChild(e),null):t.replaceChild(e,t.children.item(i))}let n=class PacemSvgAdapterElement extends e.Pacem2DAdapterElement{constructor(){super(...arguments),this._hitTarget=null,this._dragInitHandler=e=>{var i;const a=e.detail,s=a.element,n=t.CustomElementUtils.getAttachedPropertyValue(s,r),o=n.stage.transformMatrix,l=null!==(i=n.transformMatrix)&&void 0!==i?i:t.Matrix2D.identity;a.data={stageTransformMatrix:o,item:n,initialTransformMatrix:l};this._itemDispatch(n,e,{x:0,y:0})&&e.preventDefault()},this._draggingHandler=e=>{t.avoidHandler(e),this._dragging=!0;const i=e.detail.element,r=e.detail.data,a=e.detail,s=(a.currentPosition.x-a.origin.x)*r.stageTransformMatrix.a,n=(a.currentPosition.y-a.origin.y)*r.stageTransformMatrix.d,o=s+r.initialTransformMatrix.e,l=n+r.initialTransformMatrix.f,c={x:s+r.stageTransformMatrix.e,y:n+r.stageTransformMatrix.f};this._itemDispatch(r.item,e,c)||(i.style.transform=`matrix(1,0,0,1,${o},${l})`)},this._dragEndHandler=e=>{this._dragging=!1;const i=e.detail,r=i.element,a=i.data,s=t.Utils.deserializeTransform(r.style),n={x:s.e,y:s.f};if(a.item instanceof t.Components.Drawing.UiElement)a.item.translateX=s.e,a.item.translateY=s.f;else{const e=a.initialTransformMatrix,i={a:e.a,b:e.b,c:e.c,d:e.d,e:n.x,f:n.y};t.Utils.extend(a.item,{transformMatrix:i})}r.style.transform="",this._itemDispatch(a.item,e,{x:s.e,y:s.f})},this._mousemoveHandler=e=>{var i=t.CustomEventUtils.getEventCoordinates(e).client;if(!this._dragging){var a=null,s=(document.elementsFromPoint(i.x,i.y).find((e=>(a=t.CustomElementUtils.getAttachedPropertyValue(e,r))&&!a.inert)),this._hitTarget),n=a;(t.Utils.isNull(a&&a.stage)||!this._scenes.has(a.stage)||a.inert)&&(n=null),this._hitTarget=n,n!==s&&(t.Utils.isNull(s)||(this._dragger.unregister(this._items.get(s)),this._itemDispatch(s,"out",e)),t.Utils.isNull(n)||(n.draggable&&this._dragger.register(this._items.get(n)),this._itemDispatch(n,"over",e)))}},this._mouseDownUpHandler=e=>{if(!t.Utils.isNull(this._hitTarget)){const t=e.type.replace(/^mouse/,"");this._itemDispatch(this._hitTarget,t,e)}},this._scenes=new WeakMap,this._markers=new WeakMap,this._items=new WeakMap}snapshot(e,i){if(this._scenes.has(e)){const r=this._scenes.get(e);return t.Utils.snapshotElement(r,i)}return Promise.resolve(null)}getTransformMatrix(e){const i=this._scenes;return i.has(e)?i.get(e).getScreenCTM().inverse():t.Matrix2D.identity}viewActivatedCallback(){super.viewActivatedCallback();const e=this._dragger=document.createElement(t.P+"-drag-drop");e.mode=t.UI.DragDataMode.Self;t.CustomElementUtils.findAncestorShell(this).appendChild(e),e.addEventListener(t.UI.DragDropEventType.Init,this._dragInitHandler,!1),e.addEventListener(t.UI.DragDropEventType.Drag,this._draggingHandler,!1),e.addEventListener(t.UI.DragDropEventType.End,this._dragEndHandler,!1)}disconnectedCallback(){const e=this._dragger;t.Utils.isNull(e)||(e.removeEventListener(t.UI.DragDropEventType.Init,this._dragInitHandler,!1),e.removeEventListener(t.UI.DragDropEventType.Drag,this._draggingHandler,!1),e.removeEventListener(t.UI.DragDropEventType.End,this._dragEndHandler,!1),e.remove()),super.disconnectedCallback()}invalidateSize(e,i){const r=this._scenes;if(!t.Utils.isNull(e)&&!t.Utils.isNullOrEmpty(i)&&r.has(e)){var a=r.get(e);a.setAttribute("width",i.width+""),a.setAttribute("height",i.height+"");const s=e.viewbox,n=e.aspectRatio;t.Utils.isNullOrEmpty(s)?a.removeAttribute("viewBox"):a.setAttribute("viewBox",`${s.x} ${s.y} ${s.width} ${s.height}`),t.Utils.isNullOrEmpty(n)||"string"==typeof n?a.removeAttribute("preserveAspectRatio"):a.setAttribute("preserveAspectRatio",`xM${n.x.substr(1)}YM${n.y.substr(1)} ${n.slice?"slice":"meet"}`)}}initialize(e){if(t.Utils.isNull(e))throw"Provided scene is null or undefined.";const r=this._scenes;if(r.has(e))return r.get(e);const a=e.stage;a.innerHTML="",this._items=new WeakMap;var s=document.createElementNS(i,"svg");a.appendChild(s),r.set(e,s);return s.addEventListener("mousemove",this._mousemoveHandler,!1),s.addEventListener("click",this._mouseDownUpHandler,!1),s.addEventListener("mousedown",this._mouseDownUpHandler,!1),s.addEventListener("mouseup",this._mouseDownUpHandler,!1),s}dispose(t){const e=this._scenes;if(e.has(t)){var i=e.get(t);i.removeEventListener("mousemove",this._mousemoveHandler),i.removeEventListener("click",this._mouseDownUpHandler),i.removeEventListener("mousedown",this._mouseDownUpHandler),i.removeEventListener("mouseup",this._mouseDownUpHandler),i.remove(),e.delete(t)}}getHitTarget(t){return this._hitTarget}draw(e,i,r=!1){const a=this._scenes,s=this._items;if(!t.Utils.isNull(e))if(e.adapter===this){a.has(e)||this.initialize(e);var n=e.datasource,o=!0,l=a.get(e);t.Utils.isNull(i)||s.has(i)&&(n=[i],l=s.get(i).parentNode,o=!1),o&&(l.innerHTML="<defs></defs>",this._markers=new WeakMap),this._draw(e,l,n||[],o,r)}else a.has(e)&&a.delete(e)}_itemDispatch(e,i,r){if(!t.Utils.isNull(e)){var a,s,n;r instanceof Event?s=r:a={item:e,offset:r},"string"==typeof i?n=i:(n=i.type,s=i.originalEvent);const l=e.stage.transformMatrix,c=()=>r instanceof Event?new t.Drawing.DrawableEvent(n,e,s,l):new t.Drawing.DragEvent(n,{detail:a,cancelable:n===t.UI.DragDropEventType.Init||n===t.UI.DragDropEventType.Drag},s,l),h=r instanceof Event?new t.Drawing.DrawableEvent("item"+n,e,s,l):new t.Drawing.DragEvent("item"+n,{detail:a,cancelable:n===t.UI.DragDropEventType.Init||n===t.UI.DragDropEventType.Drag},s,l);var o=!1;if(e instanceof EventTarget){const t=c();e.dispatchEvent(t),o=t.defaultPrevented}return e.stage.dispatchEvent(h),o||h.defaultPrevented}return!1}_hasItems(e){return t.Drawing.isGroup(e)}_disposeSvg(e){if(!t.Utils.isNull(e)){var i=t.CustomElementUtils.getAttachedPropertyValue(e,r);this._items.delete(i)}}_draw(e,i,n,o,l){var c;const h=this._items;let d=0;if(i.firstElementChild instanceof SVGDefsElement&&d++,!t.Utils.isNullOrEmpty(n))for(let m of n){let n;if(null!==(c=m.stage)&&void 0!==c||(m.stage=e),h.has(m)?(n=h.get(m),n.parentNode!==i&&this._disposeSvg(s(i,n,d))):(n=this._buildSVGElement(m),t.CustomElementUtils.setAttachedPropertyValue(n,r,m),this._disposeSvg(s(i,n,d)),h.set(m,n)),t.Drawing.isDrawable(m)&&(m.hide?n.setAttribute("display","none"):n.removeAttribute("display"),n.style.transform="none"),t.Drawing.isShape(m)){const e=n,r=this.DefaultShapeValues;e.setAttribute("d",a(m.pathData,"M0,0"));for(let{marker:t,suffix:r}of[{marker:m.markerStart,suffix:"start"},{marker:m.markerEnd,suffix:"end"},{marker:m.markerMid,suffix:"mid"}])if(t){const a=this._ensureMarker(i,t);e.setAttribute("marker-"+r,`url(#${a.id})`)}else e.removeAttribute("marker-"+r);e.setAttribute("fill",a(m.fill,r.fill)),e.setAttribute("stroke",a(m.stroke,r.stroke));let s="";t.Utils.isNullOrEmpty(m.dashArray)||(s+=`stroke-dasharray: ${m.dashArray.join(",")};`),t.Utils.isNullOrEmpty(m.lineCap)||(s+=`stroke-linecap: ${m.lineCap};`),t.Utils.isNullOrEmpty(m.lineJoin)||(s+=`stroke-linejoin: ${m.lineJoin};`),e.style.cssText=s,e.setAttribute("stroke-width",""+a(m.lineWidth,r.lineWidth))}else if(t.Drawing.isText(m)){const e=n;e.textContent=m.text,e.style.fill=t.Utils.isNullOrEmpty(m.color)?"":m.color,e.style.fontFamily=t.Utils.isNullOrEmpty(m.fontFamily)?"":m.fontFamily,e.style.fontSize=t.Utils.isNull(m.fontSize)?"":m.fontSize+"px",e.setAttribute("text-anchor",a(m.textAnchor,"start")),t.Utils.isNull(m.anchor)?(e.removeAttribute("x"),e.removeAttribute("y")):(e.setAttribute("x",m.anchor.x.toString()),e.setAttribute("y",m.anchor.y.toString()))}else if(t.Drawing.isImage(m)){const e=n;e.setAttribute("href",m.src),m.width>0?e.setAttribute("width",""+m.width):e.removeAttribute("width"),m.height>0?e.setAttribute("height",""+m.height):e.removeAttribute("height"),t.Utils.isNull(m.x)?e.removeAttribute("x"):e.setAttribute("x",""+m.x),t.Utils.isNull(m.y)?e.removeAttribute("y"):e.setAttribute("y",""+m.y)}if(t.Drawing.isUiObject(m)){const e=m.transformMatrix;t.Utils.isNull(e)||t.Matrix2D.isIdentity(e)?n.removeAttribute("transform"):n.setAttribute("transform",`matrix(${e.a} ${e.b} ${e.c} ${e.d} ${e.e} ${e.f})`);const i=a(m.opacity,1);1===i?n.removeAttribute("opacity"):n.setAttribute("opacity",""+i)}m.inert?n.style.pointerEvents="none":n.style.pointerEvents="",(o||l)&&this._hasItems(m)&&this._draw(e,n,m.items,!0,l),d++}if(o)for(let t=i.children.length-1;t>=d;t--){const e=i.children.item(t);this._disposeSvg(e),e.remove()}}_buildSVGElement(e){return t.Drawing.isShape(e)?document.createElementNS(i,"path"):t.Drawing.isText(e)?document.createElementNS(i,"text"):t.Drawing.isImage(e)?document.createElementNS(i,"image"):document.createElementNS(i,"g")}_ensureMarker(e,r){const a=this._markers;a.has(e)||a.set(e,new WeakMap);const s=a.get(e);if(!s.has(r)){const a=document.createElementNS(i,"marker");s.set(r,a);const n=document.createElementNS(i,"path");a.appendChild(n),a.setAttribute("id","mark"+t.Utils.uniqueCode());let o,l=e;for(;t.Utils.isNull(o=l.querySelector(":scope > defs"));){const t=l.parentElement;if(!(t instanceof SVGElement))break;l=t}if(t.Utils.isNull(o))throw new Error("Must provide a <defs> element.");o.appendChild(a)}const n=s.get(r),o=n.firstElementChild;return n.setAttribute("orient","auto-start-reverse"),t.Utils.isNullOrEmpty(r.viewbox)?n.removeAttribute("viewBox"):n.setAttribute("viewBox",`${r.viewbox.x} ${r.viewbox.y} ${r.viewbox.width} ${r.viewbox.height}`),t.Utils.isNullOrEmpty(r.ref)?(n.removeAttribute("refX"),n.removeAttribute("refY")):(n.setAttribute("refX",r.ref.x.toString()),n.setAttribute("refY",r.ref.y.toString())),r.height>0?n.setAttribute("markerHeight",r.height.toString()):n.removeAttribute("markerHeight"),r.width>0?n.setAttribute("markerWidth",r.width.toString()):n.removeAttribute("markerWidth"),o.setAttribute("d",r.pathData),t.Utils.isNullOrEmpty(r.fill)?o.removeAttribute("fill"):o.setAttribute("fill",r.fill),t.Utils.isNullOrEmpty(r.stroke)?o.removeAttribute("stroke"):o.setAttribute("stroke",r.stroke),n}};n=__decorate([t.CustomElement({tagName:t.P+"-"+e.TAG_MIDDLE_NAME+"-svg-adapter"})],n),e.PacemSvgAdapterElement=n}(e.Drawing||(e.Drawing={}))}(t.Components||(t.Components={}))}(Pacem||(Pacem={}));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * pacem v0.21.0-dilmun (https://js.pacem.it)
2
+ * pacem v0.21.0-ephesus (https://js.pacem.it)
3
3
  * Copyright 2022 Pacem (https://pacem.it)
4
4
  * Licensed under MIT
5
5
  */
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.21.0-dilmun",
2
+ "version": "0.21.0-ephesus",
3
3
  "name": "pacem",
4
4
  "homepage": "https://js.pacem.it",
5
5
  "repository": {