@syncfusion/ej2-react-form-builder 0.1.0-beta → 35.1.42

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 (160) hide show
  1. package/README.md +81 -36
  2. package/diConfig.json +148 -0
  3. package/dist/ej2-react-form-builder.min.js +10 -0
  4. package/dist/ej2-react-form-builder.umd.min.js +11 -0
  5. package/dist/ej2-react-form-builder.umd.min.js.map +1 -0
  6. package/dist/es6/ej2-react-form-builder.es2015.js +60 -0
  7. package/dist/es6/ej2-react-form-builder.es2015.js.map +1 -0
  8. package/form-builder.d.ts +4 -0
  9. package/form-builder.js +4 -0
  10. package/index.d.ts +2 -4
  11. package/index.js +2 -4
  12. package/license +6 -13
  13. package/package.json +19 -43
  14. package/src/form-builder/formbuilder.component.d.ts +37 -0
  15. package/src/form-builder/formbuilder.component.js +50 -0
  16. package/src/form-builder/index.d.ts +2 -0
  17. package/src/form-builder/index.js +2 -0
  18. package/src/form-builder/toolboxitems-directive.d.ts +28 -0
  19. package/src/form-builder/toolboxitems-directive.js +47 -0
  20. package/src/global.js +1 -0
  21. package/src/index.d.ts +2 -16
  22. package/src/index.js +2 -6
  23. package/Common/CheckboxGroup.d.ts +0 -13
  24. package/Common/CheckboxGroup.js +0 -50
  25. package/Common/ConditionalRuleEngine.d.ts +0 -296
  26. package/Common/ConditionalRuleEngine.js +0 -566
  27. package/Common/CustomTabComponent.d.ts +0 -17
  28. package/Common/CustomTabComponent.js +0 -30
  29. package/Common/CustomValidationEngine.d.ts +0 -58
  30. package/Common/CustomValidationEngine.js +0 -146
  31. package/Common/DataGridComponent.d.ts +0 -20
  32. package/Common/DataGridComponent.js +0 -273
  33. package/Common/FormValidator.d.ts +0 -485
  34. package/Common/FormValidator.js +0 -575
  35. package/Common/MinMaxRuleEngine.d.ts +0 -105
  36. package/Common/MinMaxRuleEngine.js +0 -365
  37. package/Common/StaticHtmlRenderer.d.ts +0 -14
  38. package/Common/StaticHtmlRenderer.js +0 -24
  39. package/Common/expressions/DependencyTracker.d.ts +0 -30
  40. package/Common/expressions/DependencyTracker.js +0 -128
  41. package/Common/expressions/ExpressionEngine.d.ts +0 -95
  42. package/Common/expressions/ExpressionEngine.js +0 -506
  43. package/Common/expressions/ExpressionParser.d.ts +0 -41
  44. package/Common/expressions/ExpressionParser.js +0 -269
  45. package/Common/expressions/useGridExpressions.d.ts +0 -12
  46. package/Common/expressions/useGridExpressions.js +0 -71
  47. package/Common/globalFormId.d.ts +0 -26
  48. package/Common/globalFormId.js +0 -45
  49. package/Common/json-converter.d.ts +0 -444
  50. package/Common/json-converter.js +0 -1184
  51. package/Common/parser.d.ts +0 -98
  52. package/Common/parser.js +0 -753
  53. package/Common/utils.d.ts +0 -130
  54. package/Common/utils.js +0 -574
  55. package/src/FormBuilder.d.ts +0 -211
  56. package/src/FormBuilder.js +0 -1299
  57. package/src/components/Database/ConnectionForm.d.ts +0 -8
  58. package/src/components/Database/ConnectionForm.js +0 -28
  59. package/src/components/TopBar.d.ts +0 -10
  60. package/src/components/TopBar.js +0 -7
  61. package/src/components/icons/ComponentIcons.d.ts +0 -44
  62. package/src/components/icons/ComponentIcons.js +0 -40
  63. package/src/components/layout/FormFieldWrapper.d.ts +0 -41
  64. package/src/components/layout/FormFieldWrapper.js +0 -112
  65. package/src/components/layout/LeftPane.d.ts +0 -23
  66. package/src/components/layout/LeftPane.js +0 -310
  67. package/src/components/layout/ListBoxPane.d.ts +0 -24
  68. package/src/components/layout/ListBoxPane.js +0 -94
  69. package/src/components/layout/MainSection.d.ts +0 -39
  70. package/src/components/layout/MainSection.js +0 -1766
  71. package/src/components/layout/Preview.d.ts +0 -12
  72. package/src/components/layout/Preview.js +0 -337
  73. package/src/components/layout/RightPane.d.ts +0 -22
  74. package/src/components/layout/RightPane.js +0 -370
  75. package/src/components/theme/ThemeSwitcher.d.ts +0 -14
  76. package/src/components/theme/ThemeSwitcher.js +0 -24
  77. package/src/components/theme/theme-constant.d.ts +0 -37
  78. package/src/components/theme/theme-constant.js +0 -23
  79. package/src/config/component-properties.json +0 -4929
  80. package/src/config/form-setting.json +0 -56
  81. package/src/config/locale.d.ts +0 -449
  82. package/src/config/locale.js +0 -449
  83. package/src/context/FormSchemaContext.d.ts +0 -32
  84. package/src/context/FormSchemaContext.js +0 -155
  85. package/src/context/LocalizationContext.d.ts +0 -27
  86. package/src/context/LocalizationContext.js +0 -43
  87. package/src/context/ThemeContext.d.ts +0 -23
  88. package/src/context/ThemeContext.js +0 -161
  89. package/src/context/contexts.d.ts +0 -6
  90. package/src/context/contexts.js +0 -6
  91. package/src/context/defaultFormSchema.d.ts +0 -6
  92. package/src/context/defaultFormSchema.js +0 -20
  93. package/src/defaultPalette.d.ts +0 -9
  94. package/src/defaultPalette.js +0 -45
  95. package/src/defaultTemplate.d.ts +0 -3
  96. package/src/defaultTemplate.js +0 -185
  97. package/src/import/schemaImportUtils.d.ts +0 -24
  98. package/src/import/schemaImportUtils.js +0 -121
  99. package/src/types/ActionButtons.d.ts +0 -44
  100. package/src/types/ActionButtons.js +0 -27
  101. package/src/types/ComponentProperties.d.ts +0 -33
  102. package/src/types/ComponentProperties.js +0 -2
  103. package/src/types/FormSchema.d.ts +0 -585
  104. package/src/types/FormSchema.js +0 -147
  105. package/src/types/connection.d.ts +0 -19
  106. package/src/types/connection.js +0 -9
  107. package/src/utils/AttributesEditor.d.ts +0 -13
  108. package/src/utils/AttributesEditor.js +0 -117
  109. package/src/utils/ButtonGroupEditor.d.ts +0 -15
  110. package/src/utils/ButtonGroupEditor.js +0 -141
  111. package/src/utils/ChoiceBasedFieldEditor.d.ts +0 -16
  112. package/src/utils/ChoiceBasedFieldEditor.js +0 -87
  113. package/src/utils/ClipboardHelper.d.ts +0 -26
  114. package/src/utils/ClipboardHelper.js +0 -83
  115. package/src/utils/ColumnBuilder.d.ts +0 -11
  116. package/src/utils/ColumnBuilder.js +0 -153
  117. package/src/utils/ColumnSpanEditor.d.ts +0 -8
  118. package/src/utils/ColumnSpanEditor.js +0 -98
  119. package/src/utils/ConditionDataEditor.d.ts +0 -29
  120. package/src/utils/ConditionDataEditor.js +0 -177
  121. package/src/utils/ConditionalEditorUtils.d.ts +0 -27
  122. package/src/utils/ConditionalEditorUtils.js +0 -310
  123. package/src/utils/ConditionsEditor.d.ts +0 -20
  124. package/src/utils/ConditionsEditor.js +0 -571
  125. package/src/utils/CustomAccordion.d.ts +0 -13
  126. package/src/utils/CustomAccordion.js +0 -38
  127. package/src/utils/CustomValidationEditor.d.ts +0 -11
  128. package/src/utils/CustomValidationEditor.js +0 -208
  129. package/src/utils/DataSourceCollector.d.ts +0 -3
  130. package/src/utils/DataSourceCollector.js +0 -252
  131. package/src/utils/ExpressionEditor.d.ts +0 -13
  132. package/src/utils/ExpressionEditor.js +0 -99
  133. package/src/utils/FormSettingsPanel.d.ts +0 -9
  134. package/src/utils/FormSettingsPanel.js +0 -60
  135. package/src/utils/LookupConfig.d.ts +0 -11
  136. package/src/utils/LookupConfig.js +0 -159
  137. package/src/utils/MinMaxValueEditor.d.ts +0 -25
  138. package/src/utils/MinMaxValueEditor.js +0 -188
  139. package/src/utils/OptionsEditor.d.ts +0 -8
  140. package/src/utils/OptionsEditor.js +0 -79
  141. package/src/utils/PropertyRenderer.d.ts +0 -22
  142. package/src/utils/PropertyRenderer.js +0 -210
  143. package/src/utils/ValueRenderer.d.ts +0 -2
  144. package/src/utils/ValueRenderer.js +0 -91
  145. package/src/utils/ej2DbAdaptor.d.ts +0 -6
  146. package/src/utils/ej2DbAdaptor.js +0 -38
  147. package/src/utils/mappingHeuristics.d.ts +0 -10
  148. package/src/utils/mappingHeuristics.js +0 -33
  149. package/src/utils/renderComponent.d.ts +0 -18
  150. package/src/utils/renderComponent.js +0 -300
  151. package/styles/tailwind3.css +0 -67
  152. package/styles/themes/action-buttons.css +0 -110
  153. package/styles/themes/datagrid.css +0 -380
  154. package/styles/themes/drag-reorder.css +0 -248
  155. package/styles/themes/import-dialog.css +0 -292
  156. package/styles/themes/index.css +0 -658
  157. package/styles/themes/left-pane.css +0 -253
  158. package/styles/themes/options-editor.css +0 -63
  159. package/styles/themes/preview.css +0 -702
  160. package/styles/themes/property-dialog.css +0 -371
@@ -0,0 +1,10 @@
1
+ /*!
2
+ * filename: ej2-react-form-builder.min.js
3
+ * version : 35.1.42
4
+ * Copyright Syncfusion Inc. 2001 - 2025. All rights reserved.
5
+ * Use of this code is subject to the terms of our license.
6
+ * A copy of the current license can be obtained at any time by e-mailing
7
+ * licensing@syncfusion.com. Any infringement will be prosecuted under
8
+ * applicable laws.
9
+ */
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("SyncfusionReactBase"),require("React"),require("SyncfusionBase"),require("SyncfusionButtons"),require("SyncfusionSplitbuttons"),require("SyncfusionInplaceEditor"),require("SyncfusionNavigations"),require("SyncfusionPopups"),require("SyncfusionInputs"),require("SyncfusionDropdowns"),require("SyncfusionCalendars"),require("SyncfusionNotifications"),require("SyncfusionRichtexteditor"),require("SyncfusionData"),require("SyncfusionGrids"),require("SyncfusionQuerybuilder")):"function"==typeof define&&define.amd?define(["SyncfusionReactBase","React","SyncfusionBase","SyncfusionButtons","SyncfusionSplitbuttons","SyncfusionInplaceEditor","SyncfusionNavigations","SyncfusionPopups","SyncfusionInputs","SyncfusionDropdowns","SyncfusionCalendars","SyncfusionNotifications","SyncfusionRichtexteditor","SyncfusionData","SyncfusionGrids","SyncfusionQuerybuilder"],t):"object"==typeof exports?exports.SyncfusionReactFormBuilder=t(require("SyncfusionReactBase"),require("React"),require("SyncfusionBase"),require("SyncfusionButtons"),require("SyncfusionSplitbuttons"),require("SyncfusionInplaceEditor"),require("SyncfusionNavigations"),require("SyncfusionPopups"),require("SyncfusionInputs"),require("SyncfusionDropdowns"),require("SyncfusionCalendars"),require("SyncfusionNotifications"),require("SyncfusionRichtexteditor"),require("SyncfusionData"),require("SyncfusionGrids"),require("SyncfusionQuerybuilder")):e.SyncfusionReactFormBuilder=t(e.SyncfusionReactBase,e.React,e.SyncfusionBase,e.SyncfusionButtons,e.SyncfusionSplitbuttons,e.SyncfusionInplaceEditor,e.SyncfusionNavigations,e.SyncfusionPopups,e.SyncfusionInputs,e.SyncfusionDropdowns,e.SyncfusionCalendars,e.SyncfusionNotifications,e.SyncfusionRichtexteditor,e.SyncfusionData,e.SyncfusionGrids,e.SyncfusionQuerybuilder)}(self,(e,t,i,o,r,n,a,s,l,p,d,h,c,u,v,g)=>(()=>{"use strict";var f={24:e=>{e.exports=t},766:e=>{e.exports=i},741:e=>{e.exports=o},570:e=>{e.exports=d},74:e=>{e.exports=u},778:e=>{e.exports=p},707:e=>{e.exports=v},914:e=>{e.exports=n},323:e=>{e.exports=l},215:e=>{e.exports=a},344:e=>{e.exports=h},197:e=>{e.exports=s},288:e=>{e.exports=g},705:t=>{t.exports=e},674:e=>{e.exports=c},295:e=>{e.exports=r}},m={};function b(e){var t=m[e];if(void 0!==t)return t.exports;var i=m[e]={exports:{}};return f[e](i,i.exports,b),i.exports}b.d=(e,t)=>{for(var i in t)b.o(t,i)&&!b.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},b.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var y={};return(()=>{b.r(y),b.d(y,{ComponentCategory:()=>t,FormBuilder:()=>or,FormBuilderComponent:()=>nr,FormWidgetType:()=>i,LeftPane:()=>wi,ToolboxItemSetting:()=>g,ToolboxItemSettingDirective:()=>n,ToolboxItemSettingsDirective:()=>a,floatBlur:()=>Ci,floatFocus:()=>yi,getIconMarkup:()=>xi,simpleModeHiddenTypes:()=>bi});var e,t,i,o=b(705),r=(e=function(t,i){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},e(t,i)},function(t,i){function o(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}),n=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.moduleName="toolboxItemSetting",t}(o.ComplexBase),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.propertyName="toolboxItems",t.moduleName="toolboxItemSettings",t}(o.ComplexBase),s=b(24),l=b(766),p=b(741),d=b(295),h=b(914),c=b(215),u=function(){var e=function(t,i){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},e(t,i)};return function(t,i){function o(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),v=function(e,t,i,o){var r,n=arguments.length,a=n<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,o);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(n<3?r(a):n>3?r(t,i,a):r(t,i))||a);return n>3&&a&&Object.defineProperty(t,i,a),a},g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return u(t,e),v([(0,l.Property)(null)],t.prototype,"template",void 0),v([(0,l.Property)("")],t.prototype,"type",void 0),v([(0,l.Property)("")],t.prototype,"templateId",void 0),t}(l.ChildProperty);!function(e){e.Basic="basic",e.Advanced="advanced",e.Layout="layout"}(t||(t={})),function(e){e.Textbox="textbox",e.Textarea="textarea",e.Checkbox="checkbox",e.Radio="radio",e.Number="number",e.InputMask="inputMask",e.Dropdown="dropdown",e.Date="date",e.Button="button",e.CheckboxGroup="checkboxGroup",e.MultiSelect="multiselect",e.DateTime="dateTime",e.Time="time",e.DateRange="dateRange",e.Switch="switch",e.Rating="rating",e.SplitButton="splitButton",e.RangeSlider="rangeSlider",e.Signature="signature",e.ImageEditor="imageEditor",e.FileUpload="fileUpload",e.ColorPicker="colorPicker",e.RichTextEditor="richTextEditor",e.DataGrid="dataGrid",e.Message="message",e.Panel="panel",e.Table="table",e.Tabs="tabs",e.Card="card",e.StaticHtml="staticHtml"}(i||(i={}));var f,m,C,x,w,P,S,j,O,T,k,F,I=b(197),A=b(323),D=b(778),E=b(570),R=b(344),L=function(){function e(e){this.croppedDegree=0,this.cropDestPoints={startX:0,startY:0,width:0,height:0},this.tempFlipPanPoint={x:0,y:0},this.isPreventScaling=!1,this.isInitCrop=!1,this.isTransformCrop=!1,this.parent=e,this.addEventListener()}return e.prototype.destroy=function(){this.parent.isDestroyed||this.removeEventListener()},e.prototype.addEventListener=function(){this.parent.on("crop",this.cropping,this),this.parent.on("destroyed",this.destroy,this)},e.prototype.removeEventListener=function(){this.parent.off("crop",this.cropping),this.parent.off("destroyed",this.destroy)},e.prototype.cropping=function(e){switch(this.updateCropPvtVar(),e.prop){case"cropCircle":this.cropCircle(e.value.context,e.value.isSave,e.value.isFlip);break;case"setCurrSelPoints":this.setCurrSelPoints(e.value.isSetDimension);break;case"updateRotatePan":this.updateRotatePan();break;case"crop":this.crop(e.value.obj);break;case"calcRatio":this.calcRatio(e.value.obj,e.value.dimension);break;case"getCurrFlipState":this.getCurrFlipState(e.value.panObj);break;case"getPreviousCropCurrentObj":e.value.obj.prevObj=this.prevCropCurrObj;break;case"setPreviousCropCurrentObj":this.prevCropCurrObj=e.value.obj;break;case"setCropDestPoints":this.cropDestPoints=e.value.point;break;case"getTempFlipPanPoint":e.value.obj.point=this.tempFlipPanPoint;break;case"setTempFlipPanPoint":(0,l.isNullOrUndefined)(e.value.isAdd)?this.tempFlipPanPoint=e.value.point:(this.tempFlipPanPoint.x+=e.value.point.x,this.tempFlipPanPoint.y+=e.value.point.y);break;case"getPreventScaling":e.value.obj.bool=this.isPreventScaling;break;case"adjustStraightenForShapes":this.adjustStraightenForShapes(e.value.type,e.value.isInitialRotated);break;case"resizeWrapper":this.resizeWrapper();break;case"setTransformCrop":this.isTransformCrop=e.value.bool;break;case"setInitCrop":this.isInitCrop=e.value.bool;break;case"resetZoom":this.resetZoom();break;case"revertTransform":this.revertTransform(e.value.type,e.value.coll);break;case"reset":this.reset()}},e.prototype.getModuleName=function(){return"crop"},e.prototype.updateCropPvtVar=function(){var e=this.parent;e.lowerCanvas&&(this.lowerContext=e.lowerCanvas.getContext("2d")),e.upperCanvas&&(this.upperContext=e.upperCanvas.getContext("2d"))},e.prototype.reset=function(){this.prevCropCurrObj=null,this.croppedDegree=0,this.cropDestPoints={startX:0,startY:0,width:0,height:0},this.tempFlipPanPoint={x:0,y:0},this.isPreventScaling=!1,this.isInitCrop=!1,this.isTransformCrop=!1},e.prototype.cropImg=function(e){for(var t=this.parent,i=(0,l.isNullOrUndefined)(e),o=t.element.querySelector("#"+t.element.id+"_nonaspectratio"),r=t.activeObj.activePoint,n=t.img,a=!1,s=0,p=t.rotateFlipColl.length;s<p;s++){var d=t.rotateFlipColl[s];90!==d&&-90!==d||(a=!0)}if(t.notify("draw",{prop:"setImageEdited",onPropertyChange:!1}),(i||o)&&(this.croppedDegree=t.transform.degree),i&&0!==t.transform.degree||a){this.updateCropObj();var h={startX:n.destLeft,startY:n.destTop,width:n.destWidth,height:n.destHeight};t.notify("transform",{prop:"setCurrDestinationPoint",onPropertyChange:!1,value:{point:h}}),this.rotateCrop()}else if(i&&""!==t.transform.currFlipState){this.updateCropObj();h={startX:n.destLeft,startY:n.destTop,width:n.destWidth,height:n.destHeight};t.notify("transform",{prop:"setCurrDestinationPoint",onPropertyChange:!1,value:{point:h}}),this.flipCrop()}else{this.adjustStraightenForShapes("initial",!1),t.notify("draw",{prop:"setTempZoomFactor",onPropertyChange:!1,value:{tempZoomFactor:t.transform.zoomFactor}});var c=this.calcRatio();if(i||!e){this.updateCropObj(),t.notify("draw",{prop:"resetPanPoints",onPropertyChange:!1}),t.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1});h={startX:n.destLeft,startY:n.destTop,width:n.destWidth,height:n.destHeight};t.notify("transform",{prop:"setCurrDestinationPoint",onPropertyChange:!1,value:{point:h}}),t.currSelectionPoint=(0,l.extend)({},t.activeObj,{},!0),this.cropDestPoints={startX:n.destLeft,startY:n.destTop,width:n.destWidth,height:n.destHeight}}var u={width:0,height:0};t.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:r.width*c.width,height:r.height*c.height,obj:u,isImgShape:null}});var v=u;this.upperContext.clearRect(0,0,t.upperCanvas.width,t.upperCanvas.height),this.lowerContext.clearRect(0,0,t.lowerCanvas.width,t.lowerCanvas.height),t.img={srcLeft:r.startX*c.width-n.destLeft*c.width,srcTop:r.startY*c.height-n.destTop*c.height,srcWidth:r.width*c.width,srcHeight:r.height*c.height,destLeft:(t.lowerCanvas.clientWidth-v.width)/2,destTop:(t.lowerCanvas.clientHeight-v.height)/2,destWidth:v.width,destHeight:v.height};var g=this.lowerContext.filter;t.notify("draw",{prop:"drawImage",onPropertyChange:!1}),this.lowerContext.filter="none";var f=(0,l.extend)({},t.activeObj,{},!0);this.cropObjColl(),t.transform.straighten=0,t.activeObj=f,this.cropFreehandDrawColl(),t.shapeColl=[],t.notify("shape",{prop:"updateShapeColl",onPropertyChange:!1}),t.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),t.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),t.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.upperContext}}),t.currSelectionPoint&&"crop-circle"===t.currSelectionPoint.shape?this.cropCircle(this.lowerContext):t.isCircleCrop=!1,this.lowerContext.filter=g,t.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),t.currObjType.isCustomCrop=!1,t.pan(!1),t.transform.defaultZoomFactor=0}},e.prototype.adjustStraightenForShapes=function(e,t){for(var i=this.parent,o=i.img.destLeft+i.img.destWidth/2,r=i.img.destTop+i.img.destHeight/2,n=0,a=i.objColl;n<a.length;n++){var s=a[n];if(-1!==["rectangle","ellipse","text","image","redact"].indexOf(s.shape)&&(t||0!==s.rotatedAngle)){var l=s.activePoint,p=l.startX,d=l.startY,h=l.width,c=l.height,u="initial"===e?s.rotatedAngle:-s.rotatedAngle,v=p+h/2-o,g=d+c/2-r,f=Math.cos(u),m=Math.sin(u),b=f*v-m*g+o-p-h/2,y=m*v+f*g+r-d-c/2;s.activePoint.startX+=b,s.activePoint.startY+=y,s.activePoint.endX+=b,s.activePoint.endY+=y}}},e.prototype.updateCropObj=function(){this.parent.afterCropActions=[];var e={currObj:{}};this.parent.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:e}});var t=e.currObj;t.straighten=this.parent.transform.straighten,this.parent.cropObj=(0,l.extend)({},t,{},!0)},e.prototype.rotateCrop=function(){var e=this.parent,t=this.getCurrFlipState(),i=e.activeObj.shape||"";e.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),e.currSelectionPoint=(0,l.extend)({},e.activeObj,{},!0),e.objColl.push(e.activeObj),e.activeObj=(0,l.extend)({},e.objColl[e.objColl.length-1],{},!0);var o=(0,l.extend)({},e.objColl[e.objColl.length-1],{},!0),r=(0,l.extend)({},e.currSelectionPoint,{},!0),n={bool:null};e.notify("transform",{prop:"getPreventSelect",onPropertyChange:!1,value:{obj:n}}),e.notify("transform",{prop:"setPreventSelect",onPropertyChange:!1,value:{bool:!0}});var a=(0,l.extend)([],e.rotateFlipColl,[],!0);this.panToSelRangle(!0),o=(0,l.extend)({},e.objColl[e.objColl.length-1],{},!0),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),e.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:o}}),e.objColl.pop(),e.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),e.objColl.push(e.activeObj);var s=e.transform.straighten;0!==s&&(e.transform.straighten=0,e.straightenBaseImageCanvas(),e.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),e.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}})),this.resetZoom();var p=(0,l.extend)([],e.afterCropActions,[],!0);this.revertTransform("initial",a),0!==s&&(e.transform.straighten="horizontal"===t||"vertical"===t?-s:s,e.straightenBaseImageCanvas(),e.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),e.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}}),e.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}})),o=(0,l.extend)({},e.objColl[e.objColl.length-1],{},!0),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),e.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:o}}),e.objColl.pop(),e.transform.degree=0;var d={isIntersect:null};e.notify("draw",{prop:"updateImgCanvasPoints",onPropertyChange:!1}),e.notify("draw",{prop:"isLinesIntersect",onPropertyChange:!1,value:{obj:d}});for(var h=0;0!==s&&d.isIntersect&&50!==++h;)e.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:.025,zoomPoint:null},isResize:null}),e.notify("draw",{prop:"updateImgCanvasPoints",onPropertyChange:!1}),e.notify("draw",{prop:"isLinesIntersect",onPropertyChange:!1,value:{obj:d}});this.cropImg(!0),this.revertTransform("reverse",a),e.afterCropActions=p,e.currSelectionPoint=r,e.notify("transform",{prop:"setPreventSelect",onPropertyChange:!1,value:{bool:n.bool}}),e.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),e.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.upperContext}}),"crop-circle"===i&&this.cropCircle(this.lowerContext),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),e.notify("draw",{prop:"resetPanPoints",onPropertyChange:!1})},e.prototype.revertTransform=function(e,t){var i=this.parent,o={isRotate:!1};if("initial"===e)for(var r=t.length-1;r>=0;r--){switch(a=t[r]){case 90:i.notify("transform",{prop:"rotate",value:{degree:-90,obj:o}});break;case-90:i.notify("transform",{prop:"rotate",value:{degree:90,obj:o}});break;default:i.notify("transform",{prop:"flipImage",value:{direction:i.toPascalCase(a.toString())}})}}else{this.updateFlipState();r=0;for(var n=t.length;r<n;r++){var a;switch(a=t[r]){case 90:i.notify("transform",{prop:"rotate",value:{degree:90,obj:o}});break;case-90:i.notify("transform",{prop:"rotate",value:{degree:-90,obj:o}});break;default:i.notify("transform",{prop:"flipImage",value:{direction:i.toPascalCase(a.toString())}})}}}},e.prototype.updateFlipState=function(){for(var e=this.parent,t=e.objColl,i=0,o=t.length;i<o;i++)t[i].shapeFlip="";var r=e.pointColl;for(i=0;i<e.freehandCounter;i++)r[i].shapeFlip=""},e.prototype.resetZoom=function(){var e=this.parent;if(e.transform.zoomFactor>0){var t=e.transform.zoomFactor,i=e.isUndoRedo;e.setProperties({zoomSettings:{zoomFactor:10*t}},!0),e.notify("transform",{prop:"setPreviousZoomValue",onPropertyChange:!1,value:{previousZoomValue:e.zoomSettings.zoomFactor}});for(var o=0;o<10*t;o++)e.isUndoRedo=!0,e.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:-.1,zoomPoint:null},isResize:null});e.isUndoRedo=i,e.notify("draw",{prop:"resetPanPoints",onPropertyChange:!1})}},e.prototype.flipCrop=function(){var e=this.parent;e.notify("transform",{prop:"setReverseFlip",onPropertyChange:!1,value:{isReverseFlip:!0}}),e.panPoint.totalPannedPoint.x+=this.tempFlipPanPoint.x,e.panPoint.totalPannedPoint.y+=this.tempFlipPanPoint.y;var t=e.transform.currFlipState,i={flipColl:null};e.notify("transform",{prop:"getFlipColl",onPropertyChange:!1,value:{obj:i}});var o=i.flipColl;if(e.notify("transform",{prop:"setFlipColl",onPropertyChange:!1,value:{flipColl:[]}}),e.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),e.objColl.push(e.activeObj),0===e.transform.degree){var r=-e.cropObj.totalPannedPoint.x,n=-e.cropObj.totalPannedPoint.y;e.img.destLeft+=r,e.img.destTop+=n,e.notify("transform",{prop:"drawPannImage",value:{point:{x:r,y:n}}}),e.activeObj=(0,l.extend)({},e.objColl[e.objColl.length-1],{},!0),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),e.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:e.activeObj}}),e.objColl.pop(),e.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),e.objColl.push(e.activeObj)}this.resetZoom(),e.currSelectionPoint=(0,l.extend)({},e.objColl[e.objColl.length-1],{},!0),this.lowerContext.clearRect(0,0,e.lowerCanvas.width,e.lowerCanvas.height),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height);var a=this.lowerContext.filter;e.notify("draw",{prop:"drawImage",onPropertyChange:!1}),this.updateFlipState(),e.notify("shape",{prop:"redrawObj",onPropertyChange:!1,value:{degree:this.getCurrFlipState()}}),e.notify("freehand-draw",{prop:"flipFHDColl",onPropertyChange:!1,value:{value:this.getCurrFlipState()}}),e.activeObj=(0,l.extend)({},e.objColl[e.objColl.length-1],{},!0),e.objColl.pop(),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),e.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate"}}),this.cropImg(!0),e.notify("transform",{prop:"setReverseRotate",onPropertyChange:!1,value:{bool:!0}}),this.lowerContext.setTransform(1,0,0,1,0,0),e.notify("draw",{prop:"setDestPoints",onPropertyChange:!1}),e.notify("draw",{prop:"currTransState",onPropertyChange:!1,value:{type:"initial",isPreventDestination:null,context:null,isPreventCircleCrop:null}}),e.notify("draw",{prop:"drawImage",onPropertyChange:!1}),this.lowerContext.filter=a,e.notify("draw",{prop:"setRotateZoom",onPropertyChange:!1,value:{isRotateZoom:!1}}),e.notify("draw",{prop:"currTransState",onPropertyChange:!1,value:{type:"reverse",isPreventDestination:null,context:null,isPreventCircleCrop:null}}),e.transform.currFlipState=t,e.notify("transform",{prop:"setFlipColl",onPropertyChange:!1,value:{flipColl:o}}),this.lowerContext.filter="none",this.updateFlipState(),e.notify("shape",{prop:"redrawObj",onPropertyChange:!1,value:{degree:this.getCurrFlipState()}}),e.notify("freehand-draw",{prop:"flipFHDColl",onPropertyChange:!1,value:{value:this.getCurrFlipState()}}),e.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),this.lowerContext.filter=a,(e.currSelectionPoint&&"crop-circle"===e.currSelectionPoint.shape||e.isCircleCrop)&&this.cropCircle(this.lowerContext),e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),e.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),e.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.upperContext}}),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),e.notify("transform",{prop:"setReverseFlip",onPropertyChange:!1,value:{isReverseFlip:!1}}),e.notify("draw",{prop:"resetPanPoints",onPropertyChange:!1}),this.tempFlipPanPoint={x:0,y:0}},e.prototype.cropObjColl=function(){var e,t,i,o=this.parent;if(o.objColl.length>0)for(var r=0,n=o.objColl.length;r<n;r++){e=(i=o.objColl[r]).activePoint;var a=o.activeObj.activePoint,s=a.startX,l=a.startY,p=a.width,d=a.height;t=i.shape,i.imageRatio={startX:(e.startX-s)/p,startY:(e.startY-l)/d,endX:(e.endX-s)/p,endY:(e.endY-l)/d,width:p/e.width,height:d/e.height};var h=void 0,c=void 0;switch(t){case"text":c=0===(h=0===i.shapeDegree?o.transform.degree:o.transform.degree-i.shapeDegree)||180===Math.abs(h)?e.width:e.height,i.textSettings.fontRatio=c/i.textSettings.fontSize;break;case"line":case"arrow":this.cropPointCollection(r),"arrow"===t&&o.notify("shape",{prop:"updateArrowRatio",onPropertyChange:!1,value:{obj:i}});break;case"path":this.cropPointCollection(r)}}},e.prototype.cropPointCollection=function(e){var t,i,o,r,n=this.parent,a=n.objColl[e].shape,s=n.activeObj.activePoint,l=n.img,p=l.destLeft,d=l.destTop,h=l.destWidth,c=l.destHeight;"path"===a?(t=s.startX,i=s.startY,o=s.width,r=s.height):(t=p,i=d,o=h,r=c);for(var u=n.objColl[e].pointColl,v=0,g=u.length;v<g;v++)u[v].ratioX=(u[v].x-t)/o,u[v].ratioY=(u[v].y-i)/r},e.prototype.cropFreehandDrawColl=function(){for(var e=this.parent,t=e.activeObj.activePoint,i=t.startX,o=t.startY,r=t.width,n=t.height,a=0;a<e.freehandCounter;a++){e.points=(0,l.extend)([],e.pointColl[a].points,[]),e.notify("freehand-draw",{prop:"setPointCounter",onPropertyChange:!1,value:{value:0}});for(var s=e.points.length,p=0;p<s;p++)e.points[p].ratioX=(e.points[p].x-i)/r,e.points[p].ratioY=(e.points[p].y-o)/n}e.notify("freehand-draw",{prop:"updateCropPtsForSel",onPropertyChange:!1})},e.prototype.resetAnnotations=function(){var e=this.parent;e.objColl=[],e.pointColl=[],e.freehandCounter=0,e.notify("freehand-draw",{prop:"resetStraightenPoint"})},e.prototype.setCurrSelPoints=function(e){var t=this.parent;t.allowDownScale=!1;var i=this.cropDestPoints,o=this.lowerContext.filter,r=t.isCropTab;t.img={srcLeft:0,srcTop:0,srcWidth:t.baseImgCanvas.width,srcHeight:t.baseImgCanvas.height,destLeft:i.startX,destTop:i.startY,destWidth:i.width,destHeight:i.height};var n=t.img,a=t.currSelectionPoint;this.lowerContext.clearRect(0,0,t.lowerCanvas.width,t.lowerCanvas.height),e&&t.notify("draw",{prop:"setDestPoints",onPropertyChange:!1}),t.notify("draw",{prop:"currTransState",onPropertyChange:!1,value:{type:"initial",isPreventDestination:null,context:null,isPreventCircleCrop:null}}),0===this.croppedDegree&&0===t.transform.degree&&a&&"crop-circle"!==a.shape&&"crop-square"!==a.shape&&(n.destLeft=i.startX,n.destTop=i.startY,n.destWidth=i.width,n.destHeight=i.height),0===t.transform.degree&&(n.destLeft+=t.panPoint.totalPannedInternalPoint.x,n.destTop+=t.panPoint.totalPannedInternalPoint.y),t.notify("draw",{prop:"drawImage",onPropertyChange:!1}),this.lowerContext.filter=o,t.notify("draw",{prop:"currTransState",onPropertyChange:!1,value:{type:"reverse",isPreventDestination:null,context:null,isPreventCircleCrop:!0}});var s=(0,l.extend)([],t.objColl,null,!0),p=(0,l.extend)([],t.pointColl,null,!0),d={straightenPoint:null};if(t.notify("freehand-draw",{prop:"getStraightenPoint",onPropertyChange:!1,value:{obj:d}}),this.resetAnnotations(),(0,l.isNullOrUndefined)(t.activeObj.shape)&&t.cropObj.activeObj.shape&&(t.activeObj=(0,l.extend)({},t.cropObj.activeObj,null,!0)),this.panToSelRangle(),t.isCropTab=r,t.objColl=s,t.pointColl=p,t.freehandCounter=t.pointColl.length,d.straightenPoint.x&&d.straightenPoint.y&&t.notify("freehand-draw",{prop:"setStraightenPoint",onPropertyChange:!1,value:{x:d.straightenPoint.x,y:d.straightenPoint.y,ratioX:d.straightenPoint.ratioX,ratioY:d.straightenPoint.ratioY}}),t.cropObj.activeObj.shape){var h={startX:n.destLeft,startY:n.destTop,width:n.destWidth,height:n.destHeight};if(a&&a.activePoint){var c=a.activePoint,u=c.startX,v=c.startY,g=c.width,f=c.height;n.destLeft=u,n.destTop=v,n.destWidth=g,n.destHeight=f}t.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),n.destLeft=h.startX,n.destTop=h.startY,n.destWidth=h.width,n.destHeight=h.height,t.notify("freehand-draw",{prop:"updateFHDColl",onPropertyChange:!1}),s=(0,l.extend)([],t.objColl,null,!0),p=(0,l.extend)([],t.pointColl,null,!0),t.notify("freehand-draw",{prop:"getStraightenPoint",onPropertyChange:!1,value:{obj:d}}),this.resetAnnotations();var m={selPointColl:null};t.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:m}});var b=m.selPointColl;t.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:[]}}}),t.cropObj.filter=this.lowerContext.filter;var y=(0,l.extend)({},t.currSelectionPoint,null,!0);t.notify("draw",{prop:"setCurrentObj",onPropertyChange:!1,value:{obj:null}}),t.activeObj=(0,l.extend)({},y,null,!0);var C=(0,l.extend)({},t.activeObj,null,!0);if(t.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),t.currSelectionPoint=null,t.isCircleCrop=!1,0!==t.transform.degree&&((0,l.isNullOrUndefined)(t.activeObj.shape)&&t.cropObj.activeObj.shape&&(t.activeObj=(0,l.extend)({},t.cropObj.activeObj,null,!0)),t.notify("transform",{prop:"drawPannedImage",value:{xDiff:0,yDiff:0}}),t.panPoint.currentPannedPoint={x:0,y:0}),t.objColl=s,t.pointColl=p,t.freehandCounter=t.pointColl.length,d.straightenPoint.x&&d.straightenPoint.y&&t.notify("freehand-draw",{prop:"setStraightenPoint",onPropertyChange:!1,value:{x:d.straightenPoint.x,y:d.straightenPoint.y,ratioX:d.straightenPoint.ratioX,ratioY:d.straightenPoint.ratioY}}),t.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:b}}}),t.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"iterate",pen:"iterate",isPreventApply:null}}),this.adjustStraightenForShapes("reverse",!1),t.notify("freehand-draw",{prop:"updateFHDColl",onPropertyChange:!1,value:{isPreventApply:!0}}),t.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),0===t.transform.degree?t.notify("transform",{prop:"drawPannImage",onPropertyChange:!1,value:{point:{x:0,y:0}}}):((0,l.isNullOrUndefined)(t.activeObj.shape)&&t.cropObj.activeObj.shape&&(t.activeObj=(0,l.extend)({},t.cropObj.activeObj,null,!0)),t.notify("transform",{prop:"drawPannedImage",value:{xDiff:0,yDiff:0}}),t.panPoint.currentPannedPoint={x:0,y:0}),t.activeObj=C,t.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate"}}),t.notify("transform",{prop:"setTempPanMove",onPropertyChange:!1,value:{point:null}}),this.isInitCrop||0!==t.transform.degree||""===t.cropObj.currFlipState||0===t.cropObj.cropZoom)this.isInitCrop=!1;else{this.isInitCrop=!0;var x={activeObj:null};t.notify("draw",{prop:"getStraightenActObj",onPropertyChange:!1,value:{obj:x}}),t.notify("draw",{prop:"performCancel",value:{isContextualToolbar:null}}),t.notify("draw",{prop:"setStraightenActObj",onPropertyChange:!1,value:{activeObj:x.activeObj}}),t.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"croptransform",isApplyBtn:!1,isCropping:null,isZooming:null,cType:null}})}}else{this.adjustStraightenForShapes("reverse",!0),t.notify("freehand-draw",{prop:"updateFHDColl",onPropertyChange:!1,value:{isPreventApply:!0}});var w=this.lowerContext.filter;this.lowerContext.filter="none",t.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"iterate",pen:"iterate",isPreventApply:null}}),this.lowerContext.filter=w,t.currSelectionPoint=null}t.element.querySelector(".e-ie-straighten-value-span")&&(t.element.querySelector(".e-ie-straighten-value-span").innerHTML=t.transform.straighten.toString()+"&#176")},e.prototype.panToSelRangle=function(e){var t=this.parent,i=t.cropObj.totalPannedClientPoint,o=0!==t.transform.degree?e?-i.x:i.x:0,r=0!==t.transform.degree?e?-i.y:i.y:0;0!==t.transform.degree&&(t.panPoint.currentPannedPoint={x:o,y:r},t.notify("transform",{prop:"drawPannedImage",value:{xDiff:o,yDiff:r}}),t.panPoint.currentPannedPoint={x:0,y:0})},e.prototype.cropCircle=function(e,t,i){var o=this.parent,r=o.img,n=r.destLeft,a=r.destTop,s=r.destWidth,p=r.destHeight;i&&""!==o.transform.currFlipState&&o.notify("draw",{prop:"setTransform",onPropertyChange:!1,value:{context:e,value:o.transform.currFlipState,isReverse:null}});var d=e.filter;e.filter="none",e.globalCompositeOperation="destination-in",e.beginPath();var h=(0,l.isNullOrUndefined)(t)?n+s/2:e.canvas.width/2,c=(0,l.isNullOrUndefined)(t)?a+p/2:e.canvas.height/2,u=t?e.canvas.width/2:s/2;e.arc(h,c,u,0,2*Math.PI),e.closePath(),e.fill(),e.restore(),e.globalCompositeOperation="source-over",o.currObjType.isActiveObj=o.isCircleCrop=!0,e.filter=d,i&&""!==o.transform.currFlipState&&o.notify("draw",{prop:"setTransform",onPropertyChange:!1,value:{context:e,value:o.transform.currFlipState,isReverse:null}})},e.prototype.getCurrCropState=function(){var e=this.parent,t="",i={flipColl:null};return e.notify("transform",{prop:"getFlipColl",onPropertyChange:!1,value:{obj:i}}),t=this.getCurrFlipState(),-90!==e.transform.degree&&-270!==e.transform.degree||("horizontal"===t?t="vertical":"vertical"===t&&(t="horizontal")),""===t&&(t=i.flipColl.length>1?this.getCurrFlipState():e.transform.currFlipState),t},e.prototype.updateRotatePan=function(){var e=this.parent;if(!(0,l.isNullOrUndefined)(e.panPoint.currentPannedPoint)){var t="",i=e.transform.degree,o=e.panPoint.currentPannedPoint,r=o.x,n=o.y;t=e.rotateFlipColl.length>0&&"number"==typeof e.rotateFlipColl[0]&&i<0?this.getCurrCropState():this.getCurrFlipState(),i%90==0&&i%180!=0?90===i||-90===i&&("horizontal"===t||"vertical"===t)||-270===i&&(""===t||"verticalHorizontal"===t||"horizontalVertical"===t)?("horizontal"===t||""===t?e.img.destLeft+=n:e.img.destLeft-=n,""===t||"vertical"===t?e.img.destTop-=r:e.img.destTop+=r):270!==i&&(-270!==i||"horizontal"!==t&&"vertical"!==t)&&(-90!==i||""!==t&&"verticalHorizontal"!==t&&"horizontalVertical"!==t)||(""===t||"horizontal"===t?e.img.destLeft-=n:e.img.destLeft+=n,""===t||"vertical"===t?e.img.destTop+=r:e.img.destTop-=r):180!==i&&-180!==i||(""===t||"vertical"===t?e.img.destLeft-=r:e.img.destLeft+=r,""===t||"horizontal"===t?e.img.destTop-=n:e.img.destTop+=n)}},e.prototype.crop=function(e){var t=this.parent,i=t.activeObj.activePoint,o=i.startX,r=i.startY,n=i.endX,a=i.endY;if(!t.disabled&&t.isImageLoaded){var s={isCropToolbar:t.isCropToolbar};t.currObjType.isUndoAction&&!s.isCropToolbar&&t.notify("undo-redo",{prop:"refreshUrc",value:{bool:null}});var l={cancel:!1,startPoint:{x:o,y:r},endPoint:{x:n,y:a},preventScaling:!1};s.isCropToolbar||(t.trigger("cropping",l),t.editCompleteArgs=l),this.cropEvent(l,e,s)}},e.prototype.cropEvent=function(e,t,i){var o,r=this.parent;if(!e.cancel&&(o=r.activeObj.shape?r.activeObj.shape.split("-"):[],!r.disabled&&r.activeObj.horTopLine&&(r.currObjType.isCustomCrop||o.length>0&&"crop"===o[0]))){t.isCrop=!0;var n=(0,l.extend)({},r.cropObj,{},!0),a=(0,l.extend)({},this.prevCropCurrObj,{},!0);e.preventScaling?this.isPreventScaling=!0:this.isPreventScaling=!1,this.cropImg(),this.isPreventScaling&&(r.aspectWidth=r.img.destWidth,r.aspectHeight=r.img.destHeight),r.notify("freehand-draw",{prop:"resetStraightenPoint"}),r.isCropTab=!1,r.transform.zoomFactor=0,r.setProperties({zoomSettings:{zoomFactor:1}},!0),r.notify("transform",{prop:"setPreviousZoomValue",onPropertyChange:!1,value:{previousZoomValue:r.zoomSettings.zoomFactor}}),l.Browser.isDevice||this.updateUndoRedoColl(a,n,i),r.notify("transform",{prop:"setCropDimension",onPropertyChange:!1,value:{width:r.cropObj.destPoints.width,height:r.cropObj.destPoints.height}});var s=r.element.querySelector("#"+r.element.id+"_aspectratio"),p=r.element.querySelector("#"+r.element.id+"_nonaspectratio");r.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}}),!i.isCropToolbar&&(0,l.isNullOrUndefined)(s)&&(0,l.isNullOrUndefined)(p)&&r.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:!1,isCropping:!1,isZooming:null,cType:null}}),this.resizeWrapper(),l.Browser.isDevice&&this.updateUndoRedoColl(a,n,i)}},e.prototype.updateUndoRedoColl=function(e,t,i){var o=this.parent,r={prevCurrSelectionPoint:o.prevCurrSelectionPoint};e.currSelectionPoint=(0,l.extend)({},r.prevCurrSelectionPoint,{},!0),o.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"crop",previousObj:e,previousObjColl:e.objColl,previousPointColl:e.pointColl,previousSelPointColl:e.selPointColl,previousCropObj:t,previousText:null,currentText:null,previousFilter:null,isCircleCrop:o.isCircleCrop}}),i.isCropToolbar||o.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}})},e.prototype.resizeWrapper=function(){var e=this.parent;if(l.Browser.isDevice){var t=e.element,i=t.querySelector("#"+t.id+"_contextualToolbarArea");i&&""===i.style.position&&!this.isTransformCrop&&(i.style.position="absolute",e.isStraightening=!1,e.update(),e.notify("filter",{prop:"setAdjustmentValue",value:{adjustmentValue:e.canvasFilter}}))}},e.prototype.calcRatio=function(e,t){var i=this.parent,o=i.transform.degree,r=i.img,n=r.destWidth,a=r.destHeight,s=t||i.baseImgCanvas,l=s.width,p=s.height,d=0===o||o%180==0?l/n:p/n,h=0===o||o%180==0?p/a:l/a;return e&&(e.width=d,e.height=h),{width:d,height:h}},e.prototype.getCurrFlipState=function(e){var t=this.parent,i={panRegion:""},o={collection:t.rotateFlipColl};t.notify("shape",{prop:"alignRotateFlipColl",onPropertyChange:!1,value:{collection:t.rotateFlipColl,isRotateFlipCollection:!0,obj:o}}),t.rotateFlipColl=o.collection;for(var r=0,n=t.rotateFlipColl.length;r<n;r++)t.notify("transform",{prop:"setCurrPanRegion",onPropertyChange:!1,value:{region:i.panRegion,type:t.rotateFlipColl[r],obj:i}});return e&&(e.panRegion=i.panRegion),i.panRegion},e}(),z=function(e,t,i,o){return new(i||(i=Promise))(function(r,n){function a(e){try{l(o.next(e))}catch(e){n(e)}}function s(e){try{l(o.throw(e))}catch(e){n(e)}}function l(e){e.done?r(e.value):new i(function(t){t(e.value)}).then(a,s)}l((o=o.apply(e,t||[])).next())})},M=function(e,t){var i,o,r,n,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return n={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function s(n){return function(s){return function(n){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,o&&(r=2&n[0]?o.return:n[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,n[1])).done)return r;switch(o=0,r&&(n=[2&n[0],r.value]),n[0]){case 0:case 1:r=n;break;case 4:return a.label++,{value:n[1],done:!1};case 5:a.label++,o=n[1],n=[0];continue;case 7:n=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==n[0]&&2!==n[0])){a=0;continue}if(3===n[0]&&(!r||n[1]>r[0]&&n[1]<r[3])){a.label=n[1];break}if(6===n[0]&&a.label<r[1]){a.label=r[1],r=n;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(n);break}r[2]&&a.ops.pop(),a.trys.pop();continue}n=t.call(e,a)}catch(e){n=[6,e],o=0}finally{i=r=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,s])}}},B=function(){function e(e){this.isInitialLoading=!1,this.fileName="",this.isErrorImage=!1,this.isShapeTextInserted=!1,this.isRotateZoom=!1,this.tempStrokeSettings={strokeColor:"#fff",fillColor:"",strokeWidth:null,outlineColor:"",radius:null,outlineWidth:null},this.tempTextSettings={text:"Enter Text",fontFamily:"",fontSize:null,fontRatio:null,bold:!1,italic:!1,underline:!1,strikethrough:!1},this.tempAdjValue="",this.tempFilter="",this.tempUndoRedoStep=0,this.tempFreehandCounter=0,this.tempCurrFhdIndex=0,this.tempZoomFactor=null,this.isCancelAction=!1,this.rotatedFlipCropSel=!1,this.zoomCrop={width:0,height:0},this.isImageEdited=!1,this.isFileChanged=!1,this.isNewPath=!1,this.isResizeSelect=!1,this.arrowDimension={bar:{width:10,height:32,ratioX:null,ratioY:null},arrow:{width:24,height:24,ratioX:null,ratioY:null},arrowSolid:{width:32,height:32,ratioX:null,ratioY:null},circle:{width:10,height:10,ratioX:null,ratioY:null},square:{width:20,height:20,ratioX:null,ratioY:null}},this.origDim={width:0,height:0},this.isImageApply=!1,this.imgCanvasPoints=[],this.isCropSelect=!1,this.isDownScale=!1,this.preventStraightening=!1,this.tempObjColl=[],this.tempPointColl={},this.imageBackgroundColor="",this.allowRedactStraighten=!0,this.isNullExtension=!0,this.isRedactStraighten=!1,this.parent=e,this.addEventListener()}return e.prototype.destroy=function(){this.parent.isDestroyed||this.removeEventListener()},e.prototype.addEventListener=function(){this.parent.on("draw",this.draw,this),this.parent.on("destroyed",this.destroy,this)},e.prototype.removeEventListener=function(){this.parent.off("draw",this.draw),this.parent.off("destroyed",this.destroy)},e.prototype.draw=function(e){switch(this.updatePrivateVariables(),e.prop){case"drawObject":this.drawObject(e.value.canvas,e.value.obj,e.value.isCropRatio,e.value.points,e.value.isPreventDrag,e.value.saveContext,e.value.isPreventSelection);break;case"updateActiveObject":this.updateActiveObject(e.value.actPoint,e.value.obj,e.value.isMouseMove,e.value.x,e.value.y);break;case"clearOuterCanvas":this.clearOuterCanvas(e.value.context);break;case"setDestPoints":this.setDestPoints();break;case"updateCurrTransState":this.updateCurrTransState(e.value.type,e.value.isPreventDestination,e.value.isRotatePan);break;case"currTransState":this.currTransState(e.value.type,e.value.isPreventDestination,e.value.context,e.value.isPreventCircleCrop);break;case"setTransform":this.setTransform(e.value.context,e.value.value,e.value.isReverse);break;case"render-image":this.renderImage(e.value.isMouseWheel,e.value.isPreventClearRect,e.value.isFrame,e.value.isStraighten);break;case"draw-image-to-canvas":this.drawImgToCanvas(e.value.dimension);break;case"update-canvas":this.updateCanvas();break;case"performCancel":this.performCancel(e.value.isContextualToolbar,e.value.isUndoRedo,e.value.isFinalCancel);break;case"updateFlipPan":this.updateFlipPan(e.value.tempSelectionObj);break;case"select":this.select(e.value.type,e.value.startX,e.value.startY,e.value.width,e.value.height);break;case"callUpdateCurrTransState":this.callUpdateCurrTransState();break;case"resetPanPoints":this.resetPanPoints();break;case"setClientTransDim":this.setClientTransDim(e.value.isPreventDimension);break;case"redrawImgWithObj":this.redrawImgWithObj();break;case"setCurrentObj":this.setCurrentObj(e.value.obj,e.value.isUndoRedo,e.value.isCircleCrop);break;case"performPointZoom":this.performPointZoom(e.value.x,e.value.y,e.value.type,e.value.isResize);break;case"open":this.open(e.value.data);break;case"isInitialLoading":this.isInitialLoading=e.value.isInitialLoading;break;case"isInitialLoaded":this.getInitialLoaded(e.value.object);break;case"fileSelect":this.fileSelect(e.value.inputElement,e.value.args);break;case"getFileName":e.value.obj.fileName=this.fileName,e.value.obj.fileType=this.fileType;break;case"getErrorImage":e.value.obj.isErrorImage=this.isErrorImage;break;case"getInitialZoomValue":e.value.obj.initialZoomValue=this.initZoomValue;break;case"setShapeTextInsert":this.isShapeTextInserted=e.value.bool;break;case"resetCurrentSelectionPoint":this.currSelPoint=null;break;case"setRotateZoom":this.isRotateZoom=e.value.isRotateZoom;break;case"setTempStrokeSettings":this.tempStrokeSettings=e.value.tempStrokeSettings;break;case"setTempTextSettings":this.tempTextSettings=e.value.tempTextSettings;break;case"setTempAdjustmentValue":this.tempAdjValue=e.value.tempAdjustmentValue;break;case"getTempAdjustmentValue":e.value.obj.value=this.tempAdjValue;break;case"setTempFilter":this.tempFilter=e.value.tempFilter;break;case"setTempUndoRedoStep":this.tempUndoRedoStep=e.value.tempUndoRedoStep;break;case"setTempFreehandCounter":this.tempFreehandCounter=e.value.tempFreehandCounter;break;case"setTempCurrentFreehandDrawIndex":this.tempCurrFhdIndex=e.value.tempCurrentFreehandDrawIndex;break;case"setTempZoomFactor":this.tempZoomFactor=e.value.tempZoomFactor;break;case"setCancelAction":this.isCancelAction=e.value.bool;break;case"getRotatedFlipCropSelection":e.value.bool.isSelected=this.rotatedFlipCropSel;break;case"getPrevActObj":e.value.obj.prevActObj=this.prevActObj;break;case"setPrevActObj":this.prevActObj=e.value.prevActObj;break;case"setZoomCropWidth":this.zoomCrop.width=e.value.width,this.zoomCrop.height=e.value.height;break;case"setImageEdited":this.isImageEdited=!0;break;case"reset":this.reset();break;case"setNewPath":this.isNewPath=e.value.bool;break;case"getNewPath":e.value.obj.isNewPath=this.isNewPath;break;case"getArrowDimension":e.value.obj.arrowDimension=(0,l.extend)({},this.arrowDimension,{},!0);break;case"setArrowDimension":this.arrowDimension=e.value.arrowDimension;break;case"moveToSelectionRange":this.moveToSelectionRange(e.value.type,e.value.activeObj);break;case"setResizeSelect":this.isResizeSelect=e.value.bool;break;case"applyFrame":this.applyFrame(e.value.ctx,e.value.frame,e.value.preventImg);break;case"drawImage":this.drawImage();break;case"downScaleImgCanvas":this.downScaleImgCanvas(e.value.ctx,e.value.isImgAnnotation,e.value.isHFlip,e.value.isVFlip);break;case"downScale":this.downScale(e.value.canvas,e.value.width,e.value.height);break;case"resetFrameZoom":this.resetFrameZoom(e.value.isOk);break;case"triggerFrameChange":e.value.obj.frameChangeEventArgs=this.triggerFrameChange(e.value.prevFrameSettings);break;case"setImageApply":this.isImageApply=e.value.bool;break;case"zoomToSel":this.zoomToSel(e.value.activeObj,e.value.isToolbar);break;case"getStraightenActObj":e.value.obj.activeObj=this.straightenActObj;break;case"setStraightenActObj":this.straightenActObj=e.value.activeObj;break;case"updateImgCanvasPoints":this.updateImgCanvasPoints();break;case"isLinesIntersect":e.value.obj.isIntersect=this.isLinesIntersect(e.value.obj);break;case"getImageCanvasPoints":e.value.obj.points=this.imgCanvasPoints;break;case"setDestForStraighten":this.setDestForStraighten();break;case"setTempDestForStraighten":this.tempStraightenDestPoints=(0,l.extend)({},this.straightenDestPoints,{},!0);break;case"getStraightenInitZoom":e.value.obj.zoomFactor=this.straightenInitZoom;break;case"setStraightenInitZoom":this.straightenInitZoom=e.value.zoomFactor;break;case"isPointsInsideImg":e.value.obj.bool="inside"!==this.checkPointPosition(e.value.x,e.value.y,this.imgCanvasPoints[0].x,this.imgCanvasPoints[0].y,this.imgCanvasPoints[1].x,this.imgCanvasPoints[1].y,this.imgCanvasPoints[2].x,this.imgCanvasPoints[2].y,this.imgCanvasPoints[3].x,this.imgCanvasPoints[3].y);break;case"setIsCropSelect":this.isCropSelect=e.value.bool;break;case"updateCropSelection":this.updateCropSelection();break;case"updateCropSelObj":this.updateCropSelObj();break;case"redrawDownScale":this.redrawDownScale();break;case"updateFinetune":this.updateFinetune();break;case"isSelOutsideImg":e.value.obj.bool=this.isSelOutsideImg();break;case"resetStraightenDestPoints":this.straightenDestPoints=null;break;case"checkPointPosition":e.value.obj.position=this.checkPointPosition(e.value.obj.x,e.value.obj.y,e.value.obj.x1,e.value.obj.y1,e.value.obj.x2,e.value.obj.y2,e.value.obj.x3,e.value.obj.y3,e.value.obj.x4,e.value.obj.y4);break;case"updateTempObjColl":this.tempObjColl=(0,l.extend)([],this.parent.objColl,[],!0);break;case"resetTempObjColl":this.tempObjColl=null;break;case"updateTempPointColl":this.tempPointColl=(0,l.extend)({},this.parent.pointColl,{},!0);break;case"resetTempPointColl":this.tempPointColl={};break;case"showDialogPopup":this.showDialogPopup();break;case"imageBackgroundColor":this.imageBackgroundColor=e.value.color;break;case"getImageBackgroundColor":e.value.obj.color=this.imageBackgroundColor;break;case"setTempStrokeWidth":this.tempStrokeWidth=e.value.strokeWidth;break;case"setNullExtension":this.isNullExtension=e.value.extension;break;case"setRedactStraighten":this.isRedactStraighten=e.value.bool}},e.prototype.getModuleName=function(){return"draw"},e.prototype.updatePrivateVariables=function(){var e=this.parent;e.lowerCanvas&&(this.lowerContext=e.lowerCanvas.getContext("2d")),e.upperCanvas&&(this.upperContext=e.upperCanvas.getContext("2d")),(0,l.isNullOrUndefined)(this.tempZoomFactor)&&(this.tempZoomFactor=e.transform.zoomFactor),""===this.tempTextSettings.fontFamily&&(this.tempTextSettings.fontFamily=e.fontFamily.default)},e.prototype.reset=function(){this.isInitialLoading=this.isErrorImage=this.isNewPath=this.isResizeSelect=!1,this.isShapeTextInserted=!1,this.isImageApply=!1,this.isNullExtension=!0,this.initZoomValue=null,this.tempFilter="",this.origDim={width:0,height:0},this.currSelPoint=null,this.isRotateZoom=!1,this.tempAdjValue="",this.tempStrokeSettings={strokeColor:"#fff",fillColor:"",strokeWidth:null,radius:null,outlineColor:"",outlineWidth:null},this.tempTextSettings={text:"Enter Text",fontFamily:this.parent.fontFamily.default,fontSize:null,fontRatio:null,bold:!1,italic:!1,underline:!1,strikethrough:!1},this.tempUndoRedoStep=this.tempFreehandCounter=this.tempCurrFhdIndex=0,this.tempZoomFactor=null,this.isCancelAction=!1,this.rotatedFlipCropSel=!1,this.prevActObj=null,this.tempStraightenDestPoints=null,this.arrowDimension={bar:{width:10,height:32,ratioX:null,ratioY:null},arrow:{width:24,height:24,ratioX:null,ratioY:null},arrowSolid:{width:32,height:32,ratioX:null,ratioY:null},circle:{width:10,height:10,ratioX:null,ratioY:null},square:{width:20,height:20,ratioX:null,ratioY:null}},this.straightenActObj=null,this.imgCanvasPoints=[],this.straightenInitZoom=null,this.allowRedactStraighten=!0,this.tempObjColl=[],this.tempPointColl={},this.imageBackgroundColor="",this.tempStrokeWidth=null,this.straightenDestPoints=null,this.isCropSelect=this.isDownScale=this.preventStraightening=!1,this.isRedactStraighten=!1},e.prototype.redrawDownScale=function(){var e=this.parent;if(e.transform.zoomFactor&&e.transform.zoomFactor<0){var t=(0,l.extend)({},e.activeObj,{},!0);e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.isDownScale=!0,this.renderImage(),this.isDownScale=!1,t.shape&&this.drawObject("duplicate",t)}},e.prototype.updateFinetune=function(){var e=this.parent;if(e.transform.zoomFactor&&e.transform.zoomFactor<0){var t=this.lowerContext.filter;this.lowerContext.filter="none",e.notify("draw",{prop:"redrawDownScale"});var i=e.inMemoryCanvas.getContext("2d"),o=this.lowerContext,r=o.getImageData(0,0,o.canvas.width,o.canvas.height);e.inMemoryCanvas.width=r.width,e.inMemoryCanvas.height=r.height,i.putImageData(r,0,0),this.lowerContext.filter=t,e.notify("draw",{prop:"redrawDownScale"})}},e.prototype.drawImage=function(){this.applyFrame(this.lowerContext,this.parent.frameObj.type)},e.prototype.drawObject=function(e,t,i,o,r,n,a){var s,p=this.parent,d=p.activeObj,h=p.activeObj.activePoint;(this.upperContext.clearRect(0,0,p.upperCanvas.width,p.upperCanvas.height),"original"===(e=e.toLowerCase())?s=this.lowerContext:"duplicate"===e?s=this.upperContext:n&&(s=n),!r&&d.shape&&this.setDragLimit(),p.currObjType.shape)&&("crop"===p.currObjType.shape.split("-")[0].toLowerCase()&&i&&this.drawCropRatio());if(d=p.activeObj,h=p.activeObj.activePoint,(0,l.isNullOrUndefined)(d.strokeSettings)){var c={strokeSettings:{}};p.notify("shape",{prop:"getStrokeSettings",onPropertyChange:!1,value:{obj:c}}),d.strokeSettings=c.strokeSettings}if((0,l.isNullOrUndefined)(d.strokeSettings.strokeWidth)&&(d.strokeSettings.strokeWidth=2),t&&(p.activeObj=(0,l.extend)({},t,{},!0)),o&&o.startX&&o.startY&&o.endX&&o.endY&&o.width&&o.height&&(h.startX=o.startX,h.startY=o.startY,h.endX=o.endX,h.endY=o.endY,h.width=o.width,h.height=o.height),this.updateActiveObject(),d=p.activeObj,h=p.activeObj.activePoint,!(0,l.isNullOrUndefined)(h.startX)||!(0,l.isNullOrUndefined)(h.startY)){if(p.currObjType.isText){var u={keyHistory:""};p.notify("shape",{prop:"getKeyHistory",onPropertyChange:!1,value:{obj:u}}),d.keyHistory=u.keyHistory}var v=!1;if("original"!==e){d.shape&&"crop"===d.shape.split("-")[0]&&(v=!0),v&&(o&&o.startX&&o.startY&&o.endX&&o.endY&&o.width&&o.height?(h.startX=o.startX,h.startY=o.startY,h.endX=o.endX,h.endY=o.endY,h.width=o.width,h.height=o.height):h=d.activePoint,this.upperContext.fillStyle="rgb(0, 0, 0, 0.25)",this.upperContext.fillRect(0,0,p.lowerCanvas.width,p.lowerCanvas.height),this.upperContext.clearRect(h.startX,h.startY,h.width,h.height)),!(0,l.isNullOrUndefined)(a)||s!==this.lowerContext&&s!==this.upperContext||(this.rotateContext("initial",s),this.drawOuterSelection(s),this.rotateContext("reverse",s))}p.currObjType.isActiveObj=!0;var g={keyHistory:""};p.notify("shape",{prop:"getKeyHistory",onPropertyChange:!1,value:{obj:g}}),t?this.drawShapeObj(e,t.shape,n,a):""!==g.keyHistory&&p.currObjType.isText?this.drawShapeObj(e,"text",n,a):d.shape?this.drawShapeObj(e,d.shape,n,a):this.drawShapeObj(e,void 0,n,a),"duplicate"===e&&v&&"crop-circle"!==d.shape&&"none"!==p.frameObj.type&&(this.applyFrame(this.upperContext,p.frameObj.type),this.drawCornerCircles(this.upperContext))}},e.prototype.rotateContext=function(e,t){var i=this.parent,o=i.activeObj,r=o.shape,n=o.rotatedAngle,a=i.img,s=a.destLeft,l=a.destTop,p=a.destWidth,d=a.destHeight,h=i.activeObj.activePoint,c=h.startX,u=h.startY,v=h.width,g=h.height;if("line"!==r&&"arrow"!==r){var f,m,b="initial"===e?n:-n;0!==i.transform.straighten||i.isCropTab?(f=s+p/2,m=l+d/2):(f=c+v/2,m=u+g/2),t.translate(f,m),t.rotate(b),t.translate(-f,-m)}},e.prototype.setDragLimit=function(){var e=this.parent,t=e.activeObj.activePoint,i=e.activeObj,o=i.shape,r=i.rotatedAngle;if(t&&"image"!==o&&"line"!==o&&0===r&&e.activeObj.preventShapeDragOut){var n=e.img,a=n.destLeft,s=n.destTop,l=n.destWidth,p=n.destHeight;t.startX<a?(t.startX=a,t.endX=Math.min(t.startX+t.width,a+l)):t.endX>a+l&&(t.endX=a+l,t.startX=Math.max(t.endX-t.width,a)),t.startY<s?t.startY=s:t.endY>s+p&&(t.endY=s+p,t.startY=Math.max(t.endY-t.height,s)),e.activeObj=this.updateWidthHeight(e.activeObj)}},e.prototype.drawCropRatio=function(){var e,t,i,o,r=this.parent,n=r.activeObj.activePoint,a=r.img,s=a.destLeft,p=a.destTop,d=a.destWidth,h=a.destHeight;if(r.transform.zoomFactor>0&&this.currSelPoint){var c=(0,l.extend)({},r.activeObj,{},!0);this.drawCustomSelection("crop-custom",null,null,null,null),0!==r.transform.straighten&&(n=r.activeObj.activePoint),r.transform.degree%90==0&&r.transform.degree%180!=0?o=i=n.width<n.height?n.width:n.height:(i=n.width,o=n.height),r.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),r.activeObj=c,r.currObjType.shape=c.shape,this.upperContext.clearRect(0,0,r.upperCanvas.width,r.upperCanvas.height),r.currObjType.isCustomCrop=!1}else i=d,o=h,s<0&&(i+=s),p<0&&(o+=p),s+d>r.lowerCanvas.width&&(i-=s+d-r.lowerCanvas.width),p+h>r.lowerCanvas.height&&(o-=p+h-r.lowerCanvas.height);switch(r.currObjType.shape.toLowerCase()){case"crop-square":case"crop-circle":r.notify("selection",{prop:"setDragDirection",onPropertyChange:!1,value:{width:i,height:o}}),n=r.activeObj.activePoint,r.lowerCanvas.width<n.endX-n.startX&&(n.startX=7.5,n.endX=r.lowerCanvas.width-7.5),r.lowerCanvas.height<n.endY-n.startY&&(n.startY=7.5,n.endY=r.lowerCanvas.height-7.5),i===d&&o===h&&(n.startX+=s,n.startY+=p,n.endX+=s,n.endY+=p),r.lowerCanvas.width>r.lowerCanvas.height?(n.height=n.endY-n.startY,n.width=n.height,n.endX=n.startX+n.width):(n.width=n.endX-n.startX,n.height=n.width,n.endY=n.startY+n.height);break;case"crop-3:2":e=3,t=2;break;case"crop-4:3":e=4,t=3;break;case"crop-5:4":e=5,t=4;break;case"crop-7:5":e=7,t=5;break;case"crop-16:9":e=16,t=9;break;case"crop-2:3":e=2,t=3;break;case"crop-3:4":e=3,t=4;break;case"crop-4:5":e=4,t=5;break;case"crop-5:7":e=5,t=7;break;case"crop-9:16":e=9,t=16;break;default:e=parseInt(r.currObjType.shape.toLowerCase().split("crop-")[1].split(":")[0]),t=parseInt(r.currObjType.shape.toLowerCase().split("crop-")[1].split(":")[1])}if(void 0!==e&&void 0!==t&&(r.notify("selection",{prop:"calcShapeRatio",onPropertyChange:!1,value:{x:e,y:t,imgWidth:i,imgHeight:o}}),i===d&&o===h&&this.updatePoints(),n=r.activeObj.activePoint),n.startX<s){var u=s-n.startX+7.5;n.startX+=u,n.endX+=u}if(n.startY<p){u=p-n.startY+7.5;n.startY+=u,n.endY+=u}r.activeObj=this.updateWidthHeight(r.activeObj),this.adjToCenter(),this.enlargeToImg(),0!==r.transform.straighten&&(this.adjToStraighten(),this.updateActiveObject(r.activeObj.activePoint,r.activeObj));var v={isIntersect:null,arr:null},g=0;if(n=r.activeObj.activePoint,0!==r.transform.straighten)for(;this.isLinesIntersect(v)&&g<100;){g++;u=1*n.width/100;n.startX+=u,n.endX-=u,u=1*n.height/100,n.startY+=u,n.endY-=u,n.width=n.endX-n.startX,n.height=n.endY-n.startY,this.updateActiveObject(n,r.activeObj)}this.straightenInitZoom=r.transform.zoomFactor,this.straightenActObj=(0,l.extend)({},r.activeObj,{},!0),r.notify("draw",{prop:"resetStraightenDestPoints"}),r.notify("draw",{prop:"setDestForStraighten"})},e.prototype.adjToCenter=function(){var e=this.parent,t=e.activeObj.activePoint,i=e.img,o=i.destLeft,r=i.destTop,n=i.destWidth,a=i.destHeight,s=e.lowerCanvas.width/2-(t.endX-t.width/2),l=e.lowerCanvas.height/2-(t.endY-t.height/2);if(t.startX+=s,t.endX+=s,t.startY+=l,t.endY+=l,t.startX<(o>=7.5?o:7.5)){var p=(o>=7.5?o:0)-t.startX;t.startX+=p,t.endX+=p}else if(t.endX>o+n){p=t.endX-(o+n);t.startX-=p,t.endX-=p}if(t.startY<(r>=7.5?r:7.5)){p=(r>=7.5?r:0)-t.startY;t.startY+=p,t.endY+=p}else if(t.endY>r+a){p=t.endY-(r+a);t.startY-=p,t.endY-=p}},e.prototype.enlargeToImg=function(){var e=this.parent;if(0!==e.transform.straighten&&e.transform.degree%90==0&&e.transform.degree%180!=0)for(var t=e.activeObj.activePoint,i=(0,l.extend)({},t,{},!0),o=0;;){o++;var r=5*t.width/100;t.startX-=r,t.endX+=r,r=5*t.height/100,t.startY-=r,t.endY+=r,t.width=t.endX-t.startX,t.height=t.endY-t.startY,this.updateActiveObject(t,e.activeObj);var n={isIntersect:null,arr:null};if(this.updateImgCanvasPoints(),this.isLinesIntersect(n),n.arr[0]||n.arr[1]||n.arr[2]||n.arr[3]||t.startX<7.5||t.startY<7.5||100===o){r=1*(t=(0,l.extend)({},i,{},!0)).width/100,t.startX+=r,t.endX-=r,r=1*t.height/100,t.startY+=r,t.endY-=r,t.width=t.endX-t.startX,t.height=t.endY-t.startY,this.updateActiveObject(t,e.activeObj);break}i=(0,l.extend)({},t,{},!0)}},e.prototype.updateActiveObject=function(e,t,i,o,r){var n=this.parent;e=e||(0,l.extend)({},n.activeObj.activePoint,{},!0),t=t||(0,l.extend)({},n.activeObj,{},!0),e.width=e.endX-e.startX,e.height=e.endY-e.startY;var a=e.startX,s=e.startY,p=e.endX,d=e.endY;o=o||0,r=r||0;var h=e.width/2,c=e.height/2,u=7.5;t.horTopLine={startX:a+o,startY:s-r,endX:p+o,endY:d+r},t.horBottomLine={startX:a-o,startY:d-r,endX:p-o,endY:d+r},t.verLeftLine={startX:a+o,startY:s-r,endX:a-r,endY:d-r},t.verRightLine={startX:p+o,startY:s+r,endX:p-o,endY:d+r},t.topLeftCircle={startX:a,startY:s,radius:t.horTopLine.endX?u:0},t.topCenterCircle={startX:a+h,startY:s,radius:t.horTopLine.endX?u:0},t.topRightCircle={startX:p,startY:s,radius:t.horTopLine.endX?u:0},t.centerLeftCircle={startX:a,startY:s+c,radius:t.horTopLine.endX?u:0},t.centerRightCircle={startX:p,startY:s+c,radius:t.horTopLine.endX?u:0},t.bottomLeftCircle={startX:a,startY:d,radius:t.horTopLine.endX?u:0},t.bottomCenterCircle={startX:a+h,startY:d,radius:t.horTopLine.endX?u:0},t.bottomRightCircle={startX:p,startY:d,radius:t.horTopLine.endX?u:0},0===t.rotatedAngle&&(t.rotationCirclePoint={x:t.bottomCenterCircle.startX,y:t.bottomCenterCircle.startY+25},t.rotationCirclePoint.ratioX=(t.rotationCirclePoint.x-n.img.destLeft)/n.img.destWidth,t.rotationCirclePoint.ratioY=(t.rotationCirclePoint.y-n.img.destTop)/n.img.destHeight),t.activePoint=e,(0,l.isNullOrUndefined)(i)&&(n.activeObj=(0,l.extend)({},t,{},!0))},e.prototype.drawOuterSelection=function(e,t){var i,o=this.parent,r=o.activeObj.activePoint,n=o.activeObj;e.lineWidth=.5;var a,s=(0,l.extend)({},n,{},!0);if(n.shape&&(i=n.shape.split("-")),(i&&"crop"===i[0]||void 0===n.shape)&&!t&&(this.upperContext.fillStyle="rgb(0, 0, 0, 0.25)",this.upperContext.fillRect(0,0,o.lowerCanvas.width,o.lowerCanvas.height),this.upperContext.clearRect(r.startX,r.startY,r.width,r.height)),e.strokeStyle=o.themeColl[o.theme].primaryColor,e.fillStyle=o.themeColl[o.theme].secondaryColor,(a=0===s.shapeDegree?o.transform.degree:o.transform.degree-s.shapeDegree)<0&&(a=360+a),"arrow"===n.shape||"line"===n.shape)e.beginPath(),e.moveTo(r.startX,r.startY),e.lineTo(r.endX,r.endY),e.stroke();else if("path"===n.shape){e.beginPath();var p=(0,l.extend)({},o.activeObj,{},!0);if(p.pointColl[0]&&(e.moveTo(p.pointColl[0].x,p.pointColl[0].y),p.pointColl.length>1))for(var d=1,h=p.pointColl.length;d<h;d++)r.endX=p.pointColl[d].x,r.endY=p.pointColl[d].y,e.lineTo(r.endX,r.endY);var c={shape:null};o.notify("selection",{prop:"getCurrentDrawingShape",value:{obj:c}}),"path"===c.shape&&(o.activeObj=n=p),e.lineTo(r.endX,r.endY),e.stroke()}else this.drawCornerCircles(e);if(o.selectionSettings.showCircle&&(void 0===i||"crop"!==i[0])){var u=e.strokeStyle,v=e.fillStyle;e.strokeStyle=o.selectionSettings.strokeColor,e.fillStyle=o.selectionSettings.fillColor,"text"===n.shape?(e.lineWidth*=2,e.beginPath(),this.drawRotationArcLine(e),e.lineTo(n.rotationCirclePoint.x,n.rotationCirclePoint.y),e.stroke(),e.fill(),e.closePath(),e.beginPath(),e.moveTo(n.rotationCirclePoint.x,n.rotationCirclePoint.y),e.arc(n.rotationCirclePoint.x,n.rotationCirclePoint.y,n.bottomCenterCircle.radius,0,2*Math.PI),e.stroke(),e.fill(),e.closePath(),e.lineWidth/=2):"redact"!==o.activeObj.shape&&this.drawCenterCircles(e),e.strokeStyle=u,e.fillStyle=v}s.rotationCircleLine=n.rotationCircleLine,o.activeObj=(0,l.extend)({},s,{},!0)},e.prototype.drawArrowHead=function(e,t){switch(t?this.parent.activeObj.start:this.parent.activeObj.end){case"arrowSolid":t?this.arrowSolid(e,!0):this.arrowSolid(e,!1);break;case"arrow":t?this.arrow(e,!0):this.arrow(e,!1);break;case"circleSolid":t?this.arrowCircleSolid(e,!0):this.arrowCircleSolid(e,!1);break;case"circle":t?this.arrowCircle(e,!0):this.arrowCircle(e,!1);break;case"bar":t?this.arrowBar(e,!0):this.arrowBar(e,!1);break;case"square":case"squareSolid":t?this.arrowSquareStart(e):this.arrowSquareEnd(e)}},e.prototype.drawShapeObj=function(e,t,i,o){var r,n=this.parent,a=n.activeObj.activePoint,s=n.activeObj,p=s.strokeSettings,d=p.strokeColor,h=p.fillColor,c=p.strokeWidth,u=void 0!==t?t:n.currObjType.shape;n.currObjType.shape=u,"original"===e.toLowerCase()?r=this.lowerContext:"duplicate"===e.toLowerCase()?r=this.upperContext:i&&(r=i);var v=n.currObjType.shape.toLowerCase();-1!==["rectangle","ellipse","line","arrow","path","image","redact"].indexOf(v)&&(s.shape=n.currObjType.shape),r.strokeStyle=d,r.fillStyle="text"===t||"freehanddraw"===t?d:h;var g,f=a.width/3,m=a.height/3,b=a.endX-a.startX,y=a.endY-a.startY;this.rotateContext("initial",r);var C,x=r.fillStyle;switch(n.currObjType.shape.toLowerCase()){case"rectangle":this.drawSquareLines(r),(0,l.isNullOrUndefined)(o)&&r===this.upperContext&&this.drawOuterSelection(r);break;case"redact":this.drawRedact(r,s),(0,l.isNullOrUndefined)(o)&&r===this.upperContext&&this.drawOuterSelection(r),n.currObjType.isRedact=!0;break;case"ellipse":b=Math.abs(b),y=Math.abs(y),r.beginPath(),r.ellipse(a.startX+b/2,a.startY+y/2,b/2,y/2,0,0,2*Math.PI,!1),""!==h&&(r.fillStyle=h,r.fill()),r.ellipse(a.startX+b/2,a.startY+y/2,Math.abs(b/2-c),Math.abs(y/2-c),0,0,2*Math.PI,!1),r.fillStyle=d,r.fill("evenodd"),r.closePath(),(0,l.isNullOrUndefined)(o)&&r===this.upperContext&&this.drawOuterSelection(r);break;case"crop-circle":this.shapeCircle(r,b,y);break;case"line":this.shapeLine(r,a.startX,a.startY,a.endX,a.endY),(0,l.isNullOrUndefined)(o)&&r===this.upperContext&&this.drawOuterSelection(r);break;case"arrow":(g=0===s.shapeDegree?n.transform.degree:n.transform.degree-s.shapeDegree)<0&&(g=360+g),r.fillStyle=r.strokeStyle,(0,l.isNullOrUndefined)(s.triangleDirection)&&(s.triangleDirection="right"),(0,l.isNullOrUndefined)(s.start)&&(s.start="none"),(0,l.isNullOrUndefined)(s.end)&&(s.end="arrowSolid"),this.drawArrowHead(r,!0),this.drawArrowHead(r,!1),"none"===s.end&&"circle"!==s.start&&"square"!==s.start&&this.shapeLine(r,a.startX,a.startY,a.endX,a.endY),r.fillStyle=x,(0,l.isNullOrUndefined)(o)&&r===this.upperContext&&this.drawOuterSelection(r);break;case"path":if((C=(0,l.extend)({},n.activeObj,{},!0)).pointColl.length>1){var w={shape:null};if(n.notify("selection",{prop:"getCurrentDrawingShape",value:{obj:w}}),"path"===w.shape&&n.isShapeDrawing)for(var P={x:0,y:0},S=0,j=C.pointColl.length;S<j;S++)(0,l.isNullOrUndefined)(C.pointColl[S+1])?(P.x=C.activePoint.endX,P.y=C.activePoint.endY):(P.x=C.pointColl[S+1].x,P.y=C.pointColl[S+1].y),a.startX=C.pointColl[S].x,a.startY=C.pointColl[S].y,a.endX=P.x,a.endY=P.y,n.activeObj=this.updateWidthHeight(n.activeObj),this.shapeLine(r,a.startX,a.startY,a.endX,a.endY),l.Browser.isDevice&&(C.activePoint.endX=P.x,C.activePoint.endY=P.y);else for(S=1,j=C.pointColl.length;S<j;S++)a.startX=C.pointColl[S-1].x,a.startY=C.pointColl[S-1].y,a.endX=C.pointColl[S].x,a.endY=C.pointColl[S].y,n.activeObj=this.updateWidthHeight(n.activeObj),this.shapeLine(r,a.startX,a.startY,a.endX,a.endY);n.activeObj=s=C}else this.shapeLine(r,a.startX,a.startY,a.endX,a.endY);r===this.upperContext&&this.drawOuterSelection(r);break;case"text":this.shapeText(r);break;case"image":this.shapeImage(r),(0,l.isNullOrUndefined)(o)&&r===this.upperContext&&this.drawOuterSelection(r);break;case"crop-square":case"crop-3:4":case"crop-4:3":case"crop-6:9":case"crop-9:6":case"crop-9:16":case"crop-16:9":r===this.lowerContext&&(r=this.upperContext),this.drawSelection(f,m),n.currObjType.shape="";break;default:this.drawSelection(f,m)}this.rotateContext("reverse",r)},e.prototype.updatePoints=function(){var e=this.parent,t=e.activeObj.activePoint,i=e.img,o=i.destLeft,r=i.destTop;t.startX+=o,t.startY+=r,t.endX+=o,t.endY+=r,e.activeObj=this.updateWidthHeight(e.activeObj)},e.prototype.updateWidthHeight=function(e){var t=e.activePoint,i=t.startX,o=t.startY,r=t.endX,n=t.endY;return e.activePoint.width=r-i,e.activePoint.height=n-o,e},e.prototype.drawCornerCircles=function(e){var t=this.parent,i=t.activeObj;if(e.beginPath(),e.rect(i.activePoint.startX,i.activePoint.startY,i.activePoint.width,i.activePoint.height),e.stroke(),e.closePath(),t.selectionSettings.showCircle){var o=e.strokeStyle,r=e.fillStyle;e.strokeStyle=t.selectionSettings.strokeColor,e.fillStyle=t.selectionSettings.fillColor,e.lineWidth*=2,e.beginPath(),e.moveTo(i.topLeftCircle.startX,i.topLeftCircle.startY),e.arc(i.topLeftCircle.startX,i.topLeftCircle.startY,i.topLeftCircle.radius,0,2*Math.PI),e.moveTo(i.topRightCircle.startX,i.topRightCircle.startY),e.arc(i.topRightCircle.startX,i.topRightCircle.startY,i.topRightCircle.radius,0,2*Math.PI),e.moveTo(i.bottomLeftCircle.startX,i.bottomLeftCircle.startY),e.arc(i.bottomLeftCircle.startX,i.bottomLeftCircle.startY,i.bottomLeftCircle.radius,0,2*Math.PI),e.moveTo(i.bottomRightCircle.startX,i.bottomRightCircle.startY),e.arc(i.bottomRightCircle.startX,i.bottomRightCircle.startY,i.bottomRightCircle.radius,0,2*Math.PI),e.stroke(),e.fill(),e.closePath(),e.lineWidth/=2,e.strokeStyle=o,e.fillStyle=r}},e.prototype.drawCenterCircles=function(e){var t=this.parent,i=t.activeObj.activePoint,o=t.activeObj;if(e.lineWidth*=2,e.beginPath(),"arrow"===o.shape||"line"===o.shape)e.moveTo(i.startX,i.startY),e.arc(i.startX,i.startY,o.topCenterCircle.radius,0,2*Math.PI),e.moveTo(i.endX,i.endY),e.arc(i.endX,i.endY,o.bottomCenterCircle.radius,0,2*Math.PI);else if("path"===o.shape){var r=(0,l.extend)({},t.activeObj,{},!0);if(r.pointColl.length>1)for(var n=1,a=r.pointColl.length;n<a;n++)i.startX=r.pointColl[n-1].x,i.startY=r.pointColl[n-1].y,i.endX=r.pointColl[n].x,i.endY=r.pointColl[n].y,e.moveTo(i.startX,i.startY),e.arc(i.startX,i.startY,o.topCenterCircle.radius,0,2*Math.PI),e.moveTo(i.endX,i.endY),e.arc(i.endX,i.endY,o.bottomCenterCircle.radius,0,2*Math.PI);var s={shape:null};t.notify("selection",{prop:"getCurrentDrawingShape",value:{obj:s}}),"path"===s.shape&&(t.activeObj=o=r),e.moveTo(i.startX,i.startY),e.arc(i.startX,i.startY,o.topCenterCircle.radius,0,2*Math.PI),e.moveTo(i.endX,i.endY),e.arc(i.endX,i.endY,o.bottomCenterCircle.radius,0,2*Math.PI)}else this.drawRotationArcLine(e),e.lineTo(o.rotationCirclePoint.x,o.rotationCirclePoint.y);e.stroke(),e.fill(),e.closePath(),"arrow"!==o.shape&&"line"!==o.shape&&"path"!==o.shape&&(e.beginPath(),e.moveTo(o.rotationCirclePoint.x,o.rotationCirclePoint.y),e.arc(o.rotationCirclePoint.x,o.rotationCirclePoint.y,o.bottomCenterCircle.radius,0,2*Math.PI),e.stroke(),e.fill(),e.closePath()),e.lineWidth/=2},e.prototype.drawRotationArcLine=function(e){var t,i=this.parent,o=i.activeObj;(0,l.isNullOrUndefined)(o.rotationCircleLine)&&(o.rotationCircleLine=22.5);var r=!1,n=!1;if((t=0===o.shapeDegree?i.transform.degree:i.transform.degree-o.shapeDegree)<0&&(t=360+t),o.flipObjColl)for(var a=0,s=o.flipObjColl.length;a<s;a++){var p=o.flipObjColl[a].toLowerCase();"horizontal"===p?r=!0:"vertical"===p&&(n=!0)}switch(t){case 0:case 360:n?(o.rotationCirclePoint={x:o.topCenterCircle.startX,y:o.topCenterCircle.startY-o.rotationCircleLine},e.moveTo(o.rotationCirclePoint.x,o.rotationCirclePoint.y+o.rotationCircleLine)):(o.rotationCirclePoint={x:o.bottomCenterCircle.startX,y:o.bottomCenterCircle.startY+o.rotationCircleLine},e.moveTo(o.rotationCirclePoint.x,o.rotationCirclePoint.y-o.rotationCircleLine));break;case 90:case-270:r?(o.rotationCirclePoint={x:o.centerRightCircle.startX+o.rotationCircleLine,y:o.centerLeftCircle.startY},e.moveTo(o.rotationCirclePoint.x-o.rotationCircleLine,o.rotationCirclePoint.y)):(o.rotationCirclePoint={x:o.centerLeftCircle.startX-o.rotationCircleLine,y:o.centerLeftCircle.startY},e.moveTo(o.rotationCirclePoint.x+o.rotationCircleLine,o.rotationCirclePoint.y));break;case 180:case-180:n?(o.rotationCirclePoint={x:o.bottomCenterCircle.startX,y:o.bottomCenterCircle.startY+o.rotationCircleLine},e.moveTo(o.rotationCirclePoint.x,o.rotationCirclePoint.y-o.rotationCircleLine)):(o.rotationCirclePoint={x:o.topCenterCircle.startX,y:o.topCenterCircle.startY-o.rotationCircleLine},e.moveTo(o.rotationCirclePoint.x,o.rotationCirclePoint.y+o.rotationCircleLine));break;case 270:case-90:r?(o.rotationCirclePoint={x:o.centerLeftCircle.startX-o.rotationCircleLine,y:o.centerLeftCircle.startY},e.moveTo(o.rotationCirclePoint.x+o.rotationCircleLine,o.rotationCirclePoint.y)):(o.rotationCirclePoint={x:o.centerRightCircle.startX+o.rotationCircleLine,y:o.centerLeftCircle.startY},e.moveTo(o.rotationCirclePoint.x-o.rotationCircleLine,o.rotationCirclePoint.y))}},e.prototype.drawSquareLines=function(e){var t,i=this.parent,o=i.activeObj,r=o.activePoint,n=r.startX,a=r.startY,s=r.width,l=r.height,p=o.strokeSettings,d=p.fillColor,h=p.strokeColor,c=p.strokeWidth,u=p.radius;o.shape&&(t=o.shape.split("-")),"crop"===t[0]?e.strokeStyle="#fff":e.strokeStyle=h,e.beginPath();var v,g={width:0,height:0};i.notify("crop",{prop:"calcRatio",onPropertyChange:!1,value:{obj:g,dimension:{width:e.canvas.width,height:e.canvas.height}}}),v=g;var f=e.canvas.id===i.element.id+"_tempCanvas",m=i.transform.zoomFactor,b=f?10*u*((v.width+v.height)/2):10*u,y=b+b*m;null!==u?i.isSafari?this.drawRoundedRect(e,n,a,s,l,y):e.roundRect(n,a,s,l,y):e.rect(n,a,s,l),""!==d&&(e.fillStyle=d,e.fill()),null!==u?i.isSafari?this.drawRoundedRect(e,n+c,a+c,s-2*c,l-2*c,y):e.roundRect(n+c,a+c,s-2*c,l-2*c,y):e.rect(n+c,a+c,s-2*c,l-2*c),e.fillStyle=h,e.fill("evenodd"),e.closePath()},e.prototype.drawRoundedRect=function(e,t,i,o,r,n){var a=Math.max(0,Math.min(n,o/2,r/2));e.moveTo(t+a,i),e.arcTo(t+o,i,t+o,i+r,a),e.arcTo(t+o,i+r,i,i+r,a),e.arcTo(t,i+r,t,i,a),e.arcTo(t,i,t+o,i,a),e.closePath()},e.prototype.drawSelection=function(e,t){var i=this.parent,o=i.activeObj,r=o.activePoint,n=r.startX,a=r.startY,s=r.endX,l=r.endY;this.upperContext.strokeStyle=i.themeColl[i.theme].primaryColor,this.upperContext.beginPath(),o.horTopInnerLine={startX:n,startY:a+t,endX:s,endY:l+t},o.horBottomInnerLine={startX:n,startY:a+2*t,endX:s,endY:l+2*t},o.verLeftInnerLine={startX:n+e,startY:a,endX:n+e,endY:l},o.verRightInnerLine={startX:n+2*e,startY:a,endX:n+2*e,endY:l},this.upperContext.moveTo(o.horTopInnerLine.startX,o.horTopInnerLine.startY),this.upperContext.lineTo(o.horTopInnerLine.endX,o.horTopInnerLine.startY),this.upperContext.moveTo(o.horBottomInnerLine.startX,o.horBottomInnerLine.startY),this.upperContext.lineTo(o.horBottomInnerLine.endX,o.horBottomInnerLine.startY),this.upperContext.moveTo(o.verLeftInnerLine.startX,o.verLeftInnerLine.startY),this.upperContext.lineTo(o.verLeftInnerLine.endX,o.verLeftInnerLine.endY),this.upperContext.moveTo(o.verRightInnerLine.startX,o.verRightInnerLine.startY),this.upperContext.lineTo(o.verRightInnerLine.endX,o.verRightInnerLine.endY),this.upperContext.stroke(),this.upperContext.closePath()},e.prototype.shapeCircle=function(e,t,i){var o=this.parent,r=o.activeObj.activePoint,n=r.startX,a=r.startY,s=r.endX,l=r.endY,p=r.width;e.strokeStyle=o.themeColl[o.theme].primaryColor,e.clearRect(0,0,o.lowerCanvas.width,o.lowerCanvas.height),e.fillStyle="rgb(0, 0, 0, 0.25)",e.fillRect(0,0,o.lowerCanvas.width,o.lowerCanvas.height);var d=e.lineWidth;e.lineWidth=2,e.beginPath(),e.ellipse(o.activeObj.horTopLine.startX+t/2,o.activeObj.horTopLine.startY+i/2,t/2,i/2,0,0,2*Math.PI,!1),e.stroke(),e.closePath(),e.save(),e.beginPath(),e.arc((s-n)/2+n,(l-a)/2+a,p/2,0,2*Math.PI),e.closePath(),e.clip(),e.clearRect(0,0,o.lowerCanvas.width,o.lowerCanvas.height),e.restore(),e.lineWidth=d,this.drawOuterSelection(e,!0),o.currObjType.shape=""},e.prototype.shapeLine=function(e,t,i,o,r){var n=e.lineWidth;e.lineWidth=this.parent.activeObj.strokeSettings.strokeWidth,e.beginPath(),e.moveTo(t,i),e.lineTo(o,r),e.stroke(),e.lineWidth=n},e.prototype.manipulateSaveCtx=function(e,t,i){if(e!==this.lowerContext&&e!==this.upperContext){var o={width:0,height:0};this.parent.notify("crop",{prop:"calcRatio",onPropertyChange:!1,value:{obj:o,dimension:{width:e.canvas.width,height:e.canvas.height}}});t&&(t*=o.width),i&&(i*=o.height)}return{x:t,y:i}},e.prototype.arrow=function(e,t){var i=this.parent.activeObj,o=i.activePoint,r=o.startX,n=o.startY,a=o.endX,s=o.endY,l=i.strokeSettings.strokeWidth;e.lineWidth=l;var p=this.arrowDimension.arrow.width,d=this.arrowDimension.arrow.height,h=this.manipulateSaveCtx(e,p,d);p=h.x+l,d=h.y+l,this.dx=a-r,this.dy=s-n,e.fillStyle=i.strokeSettings.strokeColor;var c=Math.atan2(this.dy,this.dx),u="arrow"===i.start,v="arrow"===i.end,g="circle"===i.end||"square"===i.end,f="circle"===i.start||"square"===i.start;((t&&"left"===i.triangleDirection||"right"===i.triangleDirection)&&(u&&"none"===i.end||u&&!g&&!f)||!t&&(v&&"none"===i.start||!u&&!g&&!f))&&this.shapeLine(e,r,n,a,s),t&&"left"===i.triangleDirection||!t&&"right"===i.triangleDirection?(e.translate(a,s),e.rotate(c),this.shapeLine(e,0,0,-p,d/2),this.shapeLine(e,0,0,-p,-d/2),e.rotate(-c),e.translate(-a,-s)):(t&&"right"===i.triangleDirection||!t&&"left"===i.triangleDirection)&&(e.translate(r,n),e.rotate(c),this.shapeLine(e,0,0,p,d/2),this.shapeLine(e,0,0,p,-d/2),e.rotate(-c),e.translate(-r,-n))},e.prototype.arrowSolid=function(e,t){var i=this.parent.activeObj,o=i.strokeSettings.strokeWidth,r=i.activePoint,n=r.startX,a=r.startY,s=r.endX,l=r.endY,p=this.arrowDimension.arrowSolid.width,d=this.arrowDimension.arrowSolid.height,h=this.manipulateSaveCtx(e,p,d);p=h.x+o,d=h.y+o,this.dx=s-n,this.dy=l-a;var c=Math.atan2(this.dy,this.dx),u="arrowSolid"===i.start,v="arrowSolid"===i.end,g="circle"===i.end||"square"===i.end,f="circle"===i.start||"square"===i.start;(t&&u&&"none"===i.end||u&&!g&&!f||!t&&(v&&"none"===i.start||!u&&!g&&!f))&&this.shapeLine(e,n,a,s,l),t&&"left"===i.triangleDirection||!t&&"right"===i.triangleDirection?(e.translate(s,l),e.rotate(c),e.beginPath(),e.moveTo(o,0),e.lineTo(d/2-p,d/2),e.lineTo(d/2-p,-d/2),e.closePath(),e.fill(),e.rotate(-c),e.translate(-s,-l),i.rotatedAngle=c):(t&&"right"===i.triangleDirection||!t&&"left"===i.triangleDirection)&&(e.translate(n,a),e.rotate(c),e.beginPath(),e.moveTo(0-o,0),e.lineTo(p-d/2,d/2),e.lineTo(p-d/2,-d/2),e.closePath(),e.fill(),e.rotate(-c),e.translate(-n,-a),i.rotatedAngle=c)},e.prototype.arrowSquareStart=function(e){var t=this.parent.activeObj,i=t.strokeSettings.strokeWidth,o=t.activePoint,r=o.startX,n=o.startY,a=o.endX,s=o.endY,l="square"===t.start,p="circle"===t.end,d="squareSolid"===t.start,h="circleSolid"===t.end;(l&&"none"===t.end||l&&!p&&"square"!==t.start||d&&h)&&this.shapeLine(e,r,n,a,s),e.lineWidth=i,e.beginPath(),e.fillStyle=t.strokeSettings.strokeColor;var c=this.arrowDimension.square.width,u=this.arrowDimension.square.height,v=this.manipulateSaveCtx(e,c,u);c=v.x+i,u=v.y+i,this.dx=a-r,this.dy=s-n;var g=Math.atan2(this.dy,this.dx);"left"===t.triangleDirection?(e.translate(a,s),e.rotate(g),"squareSolid"===t.start&&e.fillRect(u/2-c,-u/2,c,u),e.strokeRect(u/2-c,-u/2,c,u),e.rotate(-g),e.translate(-a,-s),this.squareStartIntersectX1=a-u/2*Math.cos(g),this.squareStartIntersectY1=s-u/2*Math.sin(g),"square"===t.start&&"square"!==t.end&&"circle"!==t.end?this.shapeLine(e,r,n,this.squareStartIntersectX1,this.squareStartIntersectY1):"square"===t.start&&"circle"===t.end?this.shapeLine(e,this.endCircleIntersectX1,this.endCircleIntersectY1,this.squareStartIntersectX1,this.squareStartIntersectY1):"squareSolid"===t.start&&"squareSolid"===t.end&&this.shapeLine(e,r,n,a,s)):"right"===t.triangleDirection&&(e.lineWidth=i,e.fillStyle=t.strokeSettings.strokeColor,"squareSolid"===t.start&&"squareSolid"===t.end&&this.shapeLine(e,r,n,a,s),e.translate(r,n),e.rotate(g),"squareSolid"===t.start&&e.fillRect(u/2-c,-u/2,c,u),e.strokeRect(u/2-c,-u/2,c,u),e.rotate(-g),e.translate(-r,-n),t.rotatedAngle=g,this.squareStartIntersectX1=r+u/2*Math.cos(g),this.squareStartIntersectY1=n+u/2*Math.sin(g),"square"===t.start&&"square"!==t.end&&"circle"!==t.end&&this.shapeLine(e,a,s,this.squareStartIntersectX1,this.squareStartIntersectY1),"square"===t.start&&"circle"===t.end&&this.shapeLine(e,this.endCircleIntersectX1,this.endCircleIntersectY1,this.squareStartIntersectX1,this.squareStartIntersectY1))},e.prototype.arrowSquareEnd=function(e){var t=this.parent.activeObj,i=t.activePoint,o=i.startX,r=i.startY,n=i.endX,a=i.endY,s=t.strokeSettings.strokeWidth,l=this.arrowDimension.square.width,p=this.arrowDimension.square.height,d=this.manipulateSaveCtx(e,l,p);l=d.x+s,p=d.y+s,this.dx=n-o,this.dy=a-r;var h=Math.atan2(this.dy,this.dx);e.lineWidth=s,"right"===t.triangleDirection?(e.fillStyle=t.strokeSettings.strokeColor,"squareSolid"===t.end&&"none"===t.start&&this.shapeLine(e,o,r,n,a),e.translate(n,a),e.rotate(h),"squareSolid"===t.end&&e.fillRect(p/2-l,-p/2,l,p),e.strokeRect(p/2-l,-p/2,l,p),e.rotate(-h),e.translate(-n,-a),t.rotatedAngle=h,this.squareEndIntersectX1=n-p/2*Math.cos(h),this.squareEndIntersectY1=a-p/2*Math.sin(h),"square"===t.end&&"square"!==t.start&&"circle"!==t.start?this.shapeLine(e,o,r,this.squareEndIntersectX1,this.squareEndIntersectY1):"circle"===t.start&&"square"===t.end?this.shapeLine(e,this.squareEndIntersectX1,this.squareEndIntersectY1,this.startCircleIntersectX1,this.startCircleIntersectY1):"square"===t.start&&"square"===t.end&&this.shapeLine(e,this.squareEndIntersectX1,this.squareEndIntersectY1,this.squareStartIntersectX1,this.squareStartIntersectY1)):"left"===t.triangleDirection&&(e.translate(o,r),e.rotate(h),"squareSolid"===t.end&&e.fillRect(p/2-l,-p/2,l,p),e.strokeRect(p/2-l,-p/2,l,p),e.rotate(-h),e.translate(-o,-r),t.rotatedAngle=h,this.squareEndIntersectX1=o+p/2*Math.cos(h),this.squareEndIntersectY1=r+p/2*Math.sin(h),"square"===t.end&&"square"!==t.start&&"circle"!==t.start?this.shapeLine(e,n,a,this.squareEndIntersectX1,this.squareEndIntersectY1):"circle"===t.start&&"square"===t.end?this.shapeLine(e,this.squareEndIntersectX1,this.squareEndIntersectY1,this.startCircleIntersectX1,this.startCircleIntersectY1):"square"===t.start&&"square"===t.end?this.shapeLine(e,this.squareEndIntersectX1,this.squareEndIntersectY1,this.squareStartIntersectX1,this.squareStartIntersectY1):"squareSolid"===t.end&&"none"===t.start&&this.shapeLine(e,o,r,n,a))},e.prototype.arrowCircle=function(e,t){var i=this.parent,o=i.activeObj,r=o.activePoint,n=r.startX,a=r.startY,s=r.endX,l=r.endY,p=o.strokeSettings.strokeWidth;if(t&&"left"===o.triangleDirection||!t&&"right"===o.triangleDirection){e.lineWidth=p;var d=this.arrowDimension.circle.width;d=this.manipulateSaveCtx(e,d,null).x+p,e.beginPath(),e.arc(s,l,d,0,2*Math.PI),e.stroke(),e.closePath(),this.dx=s-n,this.dy=l-a;var h=this.dx*this.dx+this.dy*this.dy;if((m=(f=2*(this.dx*(n-s)+this.dy*(a-l)))*f-4*h*((n-s)*(n-s)+(a-l)*(a-l)-d*d))>=0){e.fillStyle=o.strokeSettings.strokeColor;var c=(-f-Math.sqrt(m))/(2*h),u=n+this.dx*c,v=a+this.dy*c;t?(this.startCircleIntersectX1=u,this.startCircleIntersectY1=v,this.endCircleIntersectX1=s-this.dx*c,this.endCircleIntersectY1=l-this.dy*c,e.beginPath(),e.fill(),e.beginPath(),"circle"===o.start&&"circle"===o.end?this.shapeLine(e,this.startCircleIntersectX1,this.startCircleIntersectY1,this.endCircleIntersectX1,this.endCircleIntersectY1):"circle"===o.start&&"circle"!==o.end&&"square"!==o.end&&this.shapeLine(e,n,a,this.startCircleIntersectX1,this.startCircleIntersectY1),e.stroke(),e.closePath()):(this.endCircleIntersectX1=u,this.endCircleIntersectY1=v,"circle"===o.end&&"circle"!==o.start&&"square"!==o.start&&this.shapeLine(e,n,a,this.endCircleIntersectX1,this.endCircleIntersectY1))}var g=Math.atan2(this.dy,this.dx);i.activeObj.rotatedAngle=g}else if(t&&"right"===o.triangleDirection||!t&&"left"===o.triangleDirection){e.lineWidth=p;d=this.arrowDimension.circle.width;d=this.manipulateSaveCtx(e,d,null).x+p,e.beginPath(),e.arc(n,a,d,0,2*Math.PI),e.stroke(),e.closePath(),this.dx=n-s,this.dy=a-l;var f,m;h=this.dx*this.dx+this.dy*this.dy;if((m=(f=2*(this.dx*(s-n)+this.dy*(l-a)))*f-4*h*((s-n)*(s-n)+(l-a)*(l-a)-d*d))>=0){e.fillStyle=o.strokeSettings.strokeColor;c=(-f-Math.sqrt(m))/(2*h),u=s+this.dx*c,v=l+this.dy*c;t?(this.startCircleIntersectX1=u,this.startCircleIntersectY1=v,this.endCircleIntersectX1=n-this.dx*c,this.endCircleIntersectY1=a-this.dy*c,"circle"===o.start&&"circle"===o.end?this.shapeLine(e,this.endCircleIntersectX1,this.endCircleIntersectY1,this.startCircleIntersectX1,this.startCircleIntersectY1):"circle"===o.start&&"circle"!==o.end&&"square"!==o.end&&this.shapeLine(e,s,l,this.startCircleIntersectX1,this.startCircleIntersectY1)):(this.endCircleIntersectX1=u,this.endCircleIntersectY1=v,e.beginPath(),e.fill(),e.beginPath(),"circle"===o.end&&"circle"!==o.start&&"square"!==o.start&&this.shapeLine(e,s,l,this.endCircleIntersectX1,this.endCircleIntersectY1))}g=Math.atan2(this.dy,this.dx);i.activeObj.rotatedAngle=g}},e.prototype.arrowCircleSolid=function(e,t){var i=this.parent.activeObj,o=i.activePoint,r=o.startX,n=o.startY,a=o.endX,s=o.endY,l="circleSolid"===i.start,p=i.strokeSettings.strokeWidth;if(t&&"left"===i.triangleDirection||!t&&"right"===i.triangleDirection){e.lineWidth=p,e.beginPath(),e.fillStyle=i.strokeSettings.strokeColor,(t&&l&&"none"===i.end||l&&"circle"!==i.end&&"square"!==i.end||!t&&"circleSolid"===i.end&&"none"===i.start)&&this.shapeLine(e,r,n,a,s);var d=this.arrowDimension.circle.width;d=this.manipulateSaveCtx(e,d,null).x+p,this.dx=a-r,this.dy=s-n,e.save(),e.beginPath(),e.arc(a,s,d,0,2*Math.PI),e.stroke(),e.fill(),e.closePath(),i.rotatedAngle=Math.atan2(this.dy,this.dx)}else if(t&&"right"===i.triangleDirection||!t&&"left"===i.triangleDirection){e.lineWidth=p,e.beginPath(),e.fillStyle=i.strokeSettings.strokeColor,(t&&l&&"none"===i.end||l&&"circle"!==i.end&&"square"!==i.end||!t&&"circleSolid"===i.end&&"none"===i.start)&&this.shapeLine(e,r,n,a,s);d=this.arrowDimension.circle.width;d=this.manipulateSaveCtx(e,d,null).x+p,this.dx=a-r,this.dy=s-n,e.save(),e.beginPath(),e.arc(r,n,d,0,2*Math.PI),e.stroke(),e.fill(),e.closePath(),i.rotatedAngle=Math.atan2(this.dy,this.dx)}},e.prototype.arrowBar=function(e,t){var i=this.parent,o=i.activeObj,r=o.activePoint,n=r.startX,a=r.startY,s=r.endX,l=r.endY,p=o.strokeSettings.strokeWidth;if(t&&"left"===o.triangleDirection||!t&&"right"===o.triangleDirection){e.lineWidth=p,e.beginPath(),e.fillStyle=o.strokeSettings.strokeColor,(t&&"bar"===o.start&&"none"===o.end||"bar"===o.start&&"circle"!==o.end&&"square"!==o.end||!t&&("bar"===o.end&&"none"===o.start||"bar"===o.end&&"circle"!==o.start&&"square"!==o.start))&&this.shapeLine(e,n,a,s,l);var d=this.arrowDimension.bar.width,h=this.arrowDimension.bar.height;d=(u=this.manipulateSaveCtx(e,d,h)).x+p,h=u.y+p,this.dx=s-n,this.dy=l-a;var c=Math.atan2(this.dy,this.dx);e.translate(s,l),e.rotate(c),e.fillRect(h/4-d,-h/2,d,h),e.rotate(-c),e.translate(-s,-l),o.rotatedAngle=c}else if(t&&"right"===o.triangleDirection||!t&&"left"===o.triangleDirection){e.lineWidth=p,e.beginPath(),e.fillStyle=o.strokeSettings.strokeColor,(t&&"bar"===o.start&&"none"===o.end||"bar"===o.start&&"circle"!==o.end&&"square"!==o.end||!t&&"bar"===o.end&&"none"===o.start)&&this.shapeLine(e,n,a,s,l);var u;d=this.arrowDimension.bar.width,h=this.arrowDimension.bar.height;d=(u=this.manipulateSaveCtx(e,d,h)).x+p,h=u.y+p,this.dx=s-n,this.dy=l-a;c=Math.atan2(this.dy,this.dx);e.translate(n,a),e.rotate(c),e.fillRect(h/4-d,-h/2,d,h),e.rotate(-c),e.translate(-n,-a),i.activeObj.rotatedAngle=c}},e.prototype.shapeImage=function(e){var t=this.parent,i=t.activeObj,o=i.activePoint,r=o.startX,n=o.startY,a=o.width,s=o.height,l=i.imageCanvas.getContext("2d");if(e===this.lowerContext&&this.isImageApply){var p={width:0,height:0};t.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:i.imageElement.width,height:i.imageElement.height,obj:p,isImgShape:null}}),(a<p.width/5||s<p.height/5)&&(l.clearRect(0,0,i.imageCanvas.width,i.imageCanvas.height),t.notify("selection",{prop:"applyTransformToImg",onPropertyChange:!1,value:{ctx:l}}),t.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate"}}),this.upperContext.clearRect(0,0,t.upperCanvas.width,t.upperCanvas.height),t.notify("selection",{prop:"setImageClarity",onPropertyChange:!1,value:{bool:!1}}),this.isImageApply=!1)}var d={startX:0,startY:0,width:0,height:0};d.width=a,d.height=s,4===i.flipObjColl.length&&(i.flipObjColl=[],i.shapeFlip=""),d.startX=(a-d.width)/2+r,d.startY=(s-d.height)/2+n;var h=e.globalAlpha;e.globalAlpha=i.opacity,i.rotateFlipColl&&i.rotateFlipColl.length>0?this.rotateImage(e):e.drawImage(i.imageCanvas,d.startX,d.startY,d.width,d.height),e.globalAlpha=h,t.currObjType.isText=!1},e.prototype.shapeText=function(e){var t=this.parent,i=e.filter,o=t.activeObj,r=o.activePoint,n=r.startX,a=r.startY,s=r.width,l=r.height,p=o.keyHistory.split("\n"),d=o.textSettings,h=d.fontFamily,c=d.bold,u=d.italic,v=d.underline,g=d.strikethrough,f=o.textSettings.fontSize,m=((f+.25*f)*p.length-f*p.length)/p.length;e.filter="none";var b=e.fillStyle;""!==o.strokeSettings.fillColor&&(e.fillStyle=o.strokeSettings.fillColor,e.fillRect(o.activePoint.startX,o.activePoint.startY,o.activePoint.width,o.activePoint.height)),e.fillStyle=b;for(var y=0;y<p.length;y++){var C=p[y],x=(y+1)*f*.9+y*m;-360===t.transform.degree&&(t.transform.degree=0),0===t.transform.degree||180===t.transform.degree?f>l&&(f=o.textSettings.fontSize=l/1.18):f>s&&(f=o.textSettings.fontSize=s/1.18),e.strokeStyle=o.strokeSettings.outlineColor,e.fillStyle=o.strokeSettings.strokeColor;var w,P=e.lineWidth,S={width:0,height:0};t.notify("crop",{prop:"calcRatio",onPropertyChange:!1,value:{obj:S,dimension:{width:e.canvas.width,height:e.canvas.height}}}),w=S;var j=e.canvas.id===t.element.id+"_tempCanvas",O=Math.max(1,o.strokeSettings.outlineWidth/2);/^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$|^[a-zA-Z]+$/.test(o.strokeSettings.outlineColor)?(e.lineWidth=O*(.5*(j?Math.floor((f-1)/60):Math.floor((f-1)/16))+.5),j&&(e.lineWidth*=(w.width+w.height)/2,0!==t.transform.degree&&(e.lineWidth/=1.8))):e.lineWidth=1;var T="";if(c&&(T="bold "),u&&(T="italic "),c&&u&&(T="italic bold "),e.font=T+f+"px "+h,4===o.flipObjColl.length&&(o.flipObjColl=[],o.shapeFlip=""),o.rotateFlipColl&&o.rotateFlipColl.length>0)this.rotateText(e);else{if(e.strokeText(C,n+.1*f,a+x),e.fillText(C,n+.1*f,a+x),v){var k=x+.1*f;this.drawTextDecoration(e,C,n,a,k,f,.1)}if(g){k=x-m-.025*f;this.drawTextDecoration(e,C,n,a,k,f,.1)}}e.lineWidth=P}e.filter=i,t.currObjType.isText=!1,this.upperContext===e&&this.drawOuterSelection(e)},e.prototype.drawTextDecoration=function(e,t,i,o,r,n,a){void 0===a&&(a=.1);var s=e.lineWidth,l=e.measureText(t).width;e.lineWidth=.1*n,e.beginPath(),e.moveTo(i+n*a,o+r),e.lineTo(i+l+n*a,o+r),e.strokeStyle=e.fillStyle,e.stroke(),e.lineWidth=s,e.strokeStyle=this.parent.activeObj.strokeSettings.outlineColor},e.prototype.updateActPoint=function(e,t){var i=this.parent,o=i.activeObj,r=o.activePoint;return"horizontal"===e.toLowerCase()?r.startX<=t.canvas.width/2?(r.startX=t.canvas.width/2+(t.canvas.width/2-r.endX),r.endX=r.startX+r.width,this.updateActiveObject(r,o),i.activeObj=o):r.startX>=t.canvas.width/2&&(r.startX=t.canvas.width-r.endX,r.endX=r.startX+r.width,this.updateActiveObject(r,o),i.activeObj=o):"vertical"===e.toLowerCase()&&(r.startY<=t.canvas.height/2?(r.startY=t.canvas.height/2+(t.canvas.height/2-r.endY),r.endY=r.startY+r.height,this.updateActiveObject(r,o),i.activeObj=o):r.startY>=t.canvas.height/2&&(r.startY=t.canvas.height-r.endY,r.endY=r.startY+r.height,this.updateActiveObject(r,o),i.activeObj=o)),r},e.prototype.rotateImage=function(e){var t,i=this.parent,o=i.activeObj,r=(0,l.extend)({},i.activeObj,null,!0);-450===(t=0===o.shapeDegree?i.transform.degree:i.transform.degree-o.shapeDegree)&&(t=-90),t<0&&(t=360+t);var n={startX:0,startY:0,width:0,height:0};n.width=t%90==0&&t%180!=0?o.activePoint.height:o.activePoint.width,n.height=t%90==0&&t%180!=0?o.activePoint.width:o.activePoint.height,n.startX=o.activePoint.startX,n.startY=o.activePoint.startY;var a,s=n.startX,p=n.startY,d=[];e.save();for(var h=0,c=o.rotateFlipColl.length;h<c;h++){var u=o.rotateFlipColl[h];d.push(u),"number"==typeof u?(-450===(a=u)&&(a=-90),a<0&&(a=360+a),n.width=a%90==0&&a%180!=0?o.activePoint.height:o.activePoint.width,n.height=a%90==0&&a%180!=0?o.activePoint.width:o.activePoint.height,e.translate(e.canvas.width/2,e.canvas.height/2),e.rotate(Math.PI/180*u),e.translate(-e.canvas.height/2,-e.canvas.width/2),a%90==0&&a%270!=0||0===a?(p=e.canvas.width-(o.activePoint.startX+o.activePoint.width),p+=(o.activePoint.width-n.height)/2,s=n.startY):a%270==0&&(s=e.canvas.height-(o.activePoint.startY+o.activePoint.height),s+=(o.activePoint.height-n.width)/2,p=n.startX),n.startX=s,n.startY=p,o.activePoint.startX=s,o.activePoint.startY=p,o.activePoint.endX=o.activePoint.startX+n.width,o.activePoint.endY=o.activePoint.startY+n.height,o=this.updateWidthHeight(o)):("horizontal"===u&&t%90==0&&t%180!=0?u="vertical":"vertical"===u&&t%90==0&&t%180!=0&&(u="horizontal"),"horizontal"===u?(e.translate(e.canvas.width,0),e.scale(-1,1),o.activePoint=this.updateActPoint("horizontal",e)):"vertical"===u&&(e.translate(0,e.canvas.height),e.scale(1,-1),o.activePoint=this.updateActPoint("vertical",e)),n.startX=o.activePoint.startX,n.startY=o.activePoint.startY),n.startX=o.activePoint.startX,n.startY=o.activePoint.startY,s=n.startX,p=n.startY}0!==o.rotatedAngle&&i.notify("shape",{prop:"setPointCollForShapeRotation",onPropertyChange:!1,value:{obj:o}}),e.drawImage(o.imageCanvas,n.startX,n.startY,n.width,n.height),e.restore(),i.activeObj=r,360!==i.transform.degree&&-360!==i.transform.degree||(i.transform.degree=0)},e.prototype.rotateText=function(e){var t,i=this.parent,o=i.activeObj,r=(0,l.extend)({},i.activeObj,null,!0),n=i.activeObj.activePoint;-450===(t=0===o.shapeDegree?i.transform.degree:i.transform.degree-o.shapeDegree)&&(t=-90),t<0&&(t=360+t);var a={startX:0,startY:0,width:0,height:0};a.width=t%90==0&&t%180!=0?n.height:n.width,a.height=t%90==0&&t%180!=0?n.width:n.height,a.startX=n.startX,a.startY=n.startY;var s,p=a.startX,d=a.startY,h=[];e.save();for(var c=0,u=o.rotateFlipColl.length;c<u;c++){var v=o.rotateFlipColl[c];h.push(v),"number"==typeof v?(-450===(s=v)&&(s=-90),s<0&&(s=360+s),a.width=s%90==0&&s%180!=0?n.height:n.width,a.height=s%90==0&&s%180!=0?n.width:n.height,e.translate(e.canvas.width/2,e.canvas.height/2),e.rotate(Math.PI/180*v),e.translate(-e.canvas.height/2,-e.canvas.width/2),s%90==0&&s%270!=0||0===s?(d=e.canvas.width-n.endX,p=n.startY):s%270==0&&(p=e.canvas.height-n.endY,d=n.startX),a.startX=p,a.startY=d,n.startX=p,n.startY=d,n.endX=n.startX+a.width,n.endY=n.startY+a.height,o=this.updateWidthHeight(o)):("horizontal"===v&&t%90==0&&t%180!=0?v="vertical":"vertical"===v&&t%90==0&&t%180!=0&&(v="horizontal"),"horizontal"===v?(e.translate(e.canvas.width,0),e.scale(-1,1)):"vertical"===v&&(e.translate(0,e.canvas.height),e.scale(1,-1)),o.activePoint=n=this.updateActPoint(v,e),a.startX=n.startX,a.startY=n.startY),a.startX=n.startX,a.startY=n.startY,p=a.startX,d=a.startY}0!==o.rotatedAngle&&i.notify("shape",{prop:"setPointCollForShapeRotation",onPropertyChange:!1,value:{obj:o}}),d+=.4*o.textSettings.fontSize,this.textFlipDegree(e,p,d),e.restore(),i.activeObj=r,360!==i.transform.degree&&-360!==i.transform.degree||(i.transform.degree=0)},e.prototype.textFlipDegree=function(e,t,i){for(var o=this.parent.activeObj,r=o.keyHistory.split("\n"),n=o.textSettings.fontSize,a=(n*r.length-n*r.length)/r.length,s=.85*n+a,l=0,p=r.length;l<p;l++){var d=r[l];if(l>0&&(1===l&&(s-=.85*n),s+=n+.15*n),e.strokeText(d,t+.15*n,i+s+(l>0?.25*n:.35*-n)),e.fillText(d,t+.15*n,i+s+(l>0?.25*n:.35*-n)),o.textSettings.underline){var h=s+(l>0?.35*n:.25*-n);this.drawTextDecoration(e,d,t,i,h,n,.15)}if(o.textSettings.strikethrough){h=s-a+(l>0?.04*-n:.64*-n);this.drawTextDecoration(e,d,t,i,h,n,.1)}}},e.prototype.clearOuterCanvas=function(e){var t=this.parent,i=t.img,o=i.destLeft,r=i.destTop,n=i.destWidth,a=i.destHeight,s=o>0?o:0,l=r>0?r:0;e.clearRect(0,0,s,t.lowerCanvas.height),e.clearRect(o+n,0,t.lowerCanvas.width-(o+n),t.lowerCanvas.height),e.clearRect(0,0,t.lowerCanvas.width,l),e.clearRect(0,r+a,t.lowerCanvas.width,t.lowerCanvas.height-(r+a)),""!==t.transform.currFlipState&&(t.img.destLeft=o,t.img.destTop=r)},e.prototype.setDestPoints=function(){var e,t=this.parent,i=t.transform,o=i.degree,r=i.zoomFactor;if(o%90==0&&o%180!=0){var n={width:0,height:0};t.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:t.img.srcHeight,height:t.img.srcWidth,obj:n,isImgShape:null}}),e=n,this.isRotateZoom&&(e.width+=e.width*r,e.height+=e.height*r,t.img.destWidth=e.height,t.img.destHeight=e.width),t.img.destLeft=(t.lowerCanvas.clientWidth-e.height)/2,t.img.destTop=(t.lowerCanvas.clientHeight-e.width)/2,t.img.destWidth=e.height,t.img.destHeight=e.width}else{n={width:0,height:0};t.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:t.img.srcWidth,height:t.img.srcHeight,obj:n,isImgShape:null}}),e=n,this.isRotateZoom&&(e.width+=e.width*r,e.height+=e.height*r,t.img.destWidth=e.width,t.img.destHeight=e.height),t.img.destLeft=(t.lowerCanvas.clientWidth-e.width)/2,t.img.destTop=(t.lowerCanvas.clientHeight-e.height)/2,t.img.destWidth=e.width,t.img.destHeight=e.height}},e.prototype.updateCurrTransState=function(e,t,i,o){var r=this.parent,n=r.img.destLeft,a=r.img.destTop;"initial"===e&&(this.lowerContext.setTransform(1,0,0,1,0,0),(0,l.isNullOrUndefined)(t)&&this.setDestPoints()),r.isCircleCrop||r.currSelectionPoint&&"crop-circle"===r.currSelectionPoint.shape?(this.currTransState(e,!0,null,i),0===r.transform.degree&&""===r.transform.currFlipState&&0===r.transform.straighten&&(0,l.isNullOrUndefined)(o)&&(r.img.destLeft=n,r.img.destTop=a),i&&(r.img.destLeft+=r.panPoint.totalPannedClientPoint.x,r.img.destTop+=r.panPoint.totalPannedClientPoint.y),r.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}}),i&&(r.img.destLeft-=r.panPoint.totalPannedClientPoint.x,r.img.destTop-=r.panPoint.totalPannedClientPoint.y)):(this.currTransState(e,null,null,i),0===r.transform.degree&&""===r.transform.currFlipState&&0===r.transform.straighten&&(0,l.isNullOrUndefined)(o)&&(r.img.destLeft=n,r.img.destTop=a))},e.prototype.currTransState=function(e,t,i,o){var r=this.parent;i=i||this.lowerContext,"initial"===e?this.setTransformColl(i,e):"reverse"===e&&(this.setTransformColl(i,e),this.setClientTransDim(t),(r.isCircleCrop||r.currSelectionPoint&&"crop-circle"===r.currSelectionPoint.shape&&(0,l.isNullOrUndefined)(o))&&(o&&(r.img.destLeft+=r.panPoint.totalPannedClientPoint.x,r.img.destTop+=r.panPoint.totalPannedClientPoint.y),r.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}}),o&&(r.img.destLeft-=r.panPoint.totalPannedClientPoint.x,r.img.destTop-=r.panPoint.totalPannedClientPoint.y)))},e.prototype.setTransformColl=function(e,t){var i=this.parent;if("initial"===t)for(var o=0,r=i.rotateFlipColl.length;o<r;o++)this.setTransform(e,i.rotateFlipColl[o]);else if("reverse"===t)for(o=i.rotateFlipColl.length-1;o>=0;o--)this.setTransform(e,i.rotateFlipColl[o],!0)},e.prototype.setTransform=function(e,t,i){var o=this.parent;switch(i&&90===t?t=-90:i&&-90===t&&(t=90),"horizontal"===t&&o.transform.degree%90==0&&o.transform.degree%180!=0?t="vertical":"vertical"===t&&o.transform.degree%90==0&&o.transform.degree%180!=0&&(t="horizontal"),o.notify("transform",{prop:"setReverseRotate",onPropertyChange:!1,value:{bool:!0}}),o.notify("transform",{prop:"setReverseFlip",onPropertyChange:!1,value:{isReverseFlip:!0}}),(0,l.isNullOrUndefined)(i)&&e.clearRect(0,0,e.canvas.width,e.canvas.height),t){case 90:case-90:e.translate(e.canvas.width/2,e.canvas.height/2),e.rotate(Math.PI/180*t),e.translate(-e.canvas.width/2,-e.canvas.height/2);break;case"horizontal":e.translate(e.canvas.width,0),e.scale(-1,1);break;case"vertical":e.translate(0,e.canvas.height),e.scale(1,-1)}o.notify("transform",{prop:"setReverseRotate",onPropertyChange:!1,value:{bool:!1}}),o.notify("transform",{prop:"setReverseFlip",onPropertyChange:!1,value:{isReverseFlip:!1}})},e.prototype.drawImgToCanvas=function(e){var t=this.parent;this.lowerContext.clearRect(0,0,t.lowerCanvas.width,t.lowerCanvas.height),t.img.destWidth=e.width,t.img.destHeight=e.height,this.isInitialLoading&&(t.notify("filter",{prop:"initFilter",onPropertyChange:!1}),this.isInitialLoading=!1);var i=this.lowerContext.filter;this.lowerContext.clearRect(0,0,t.lowerCanvas.width,t.lowerCanvas.height),this.drawImage(),(t.currSelectionPoint&&"crop-circle"===t.currSelectionPoint.shape||t.isCircleCrop)&&t.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}}),this.lowerContext.filter=i},e.prototype.renderImage=function(e,t,i,o){var r=this.parent;r.notify("shape",{prop:"applyActObj",onPropertyChange:!1,value:{isMouseDown:null}}),(0,l.isNullOrUndefined)(t)&&(this.upperContext.clearRect(0,0,r.lowerCanvas.width,r.lowerCanvas.height),this.lowerContext.clearRect(0,0,r.lowerCanvas.width,r.lowerCanvas.height)),e?this.setTransformColl(this.lowerContext,"initial"):(0!==r.transform.zoomFactor&&(this.isRotateZoom=!0),this.updateCurrTransState("initial",null,null,o)),r.notify("transform",{prop:"setDestPointsForFlipState",onPropertyChange:!1}),this.drawImage(),r.notify("transform",{prop:"setDestPointsForFlipState",onPropertyChange:!1}),e?this.setTransformColl(this.lowerContext,"reverse"):(this.updateCurrTransState("reverse",null,null,o),this.isRotateZoom=!1),i?r.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}):r.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"iterate",pen:"iterate",isPreventApply:null}}),this.clearOuterCanvas(this.lowerContext),(r.isCircleCrop||r.currSelectionPoint&&"crop-circle"===r.currSelectionPoint.shape)&&r.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}})},e.prototype.imageOnLoad=function(e){var t=this,i=this.parent,o=this;i.imageLoaded=!1,i.baseImg.src=e,i.baseImg.onload=function(){i.imgSrc=e,i.isUndoRedo||i.notify("filter",{prop:"update-finetunes",onPropertyChange:!1}),o.lowerContext.imageSmoothingQuality=i.imageSmoothingEnabled?"high":"low",o.lowerContext.drawImage(i.baseImg,0,0,o.parent.lowerCanvas.width,o.parent.lowerCanvas.height);var r=!1,n=!1;if(i.isImageUpdated){var a=i.img,s=a.srcWidth,p=a.srcHeight,d=i.baseImgCanvas,h=d.width,c=d.height;r=s!==h||p!==c,n=i.baseImg.width===h&&i.baseImg.height===c}(0,I.hideSpinner)(i.element),i.element.style.opacity="1",o.updateBaseImgCanvas();var u={fileName:t.fileName,fileType:t.fileType,isValidImage:!0};if(o.updateCanvas(r,n),i.currObjType.isUndoZoom&&(i.currObjType.isUndoZoom=!1,o.parent.lowerCanvas.style.display="block"),i.isUndoRedo=t.isErrorImage=!1,l.Browser.isDevice){i.notify("toolbar",{prop:"destroy-top-toolbar",onPropertyChange:!1}),i.notify("toolbar",{prop:"destroy-bottom-toolbar",onPropertyChange:!1});var v={isApplyBtn:!1,isDevice:l.Browser.isDevice,isOkBtn:null,isResize:null,isFrame:null,isMainToolbar:!0};i.notify("toolbar",{prop:"init-main-toolbar",onPropertyChange:!1,value:v}),i.notify("toolbar",{prop:"create-bottom-toolbar",onPropertyChange:!1})}else{i.notify("toolbar",{prop:"destroy-top-toolbar",onPropertyChange:!1});v={isApplyBtn:!1,isDevice:!1,isOkBtn:null};i.notify("toolbar",{prop:"init-main-toolbar",onPropertyChange:!1,value:v})}if(i.isImageLoaded&&"0.5"!==i.element.style.opacity){i.trigger("fileOpened",u);var g={action:"file-open",actionEventArgs:u};i.triggerEditCompleteEvent(g)}"Bmp"===t.fileType&&(t.fileType=f.Png),i.imageLoaded=!0},i.baseImg.onerror=function(){(0,I.hideSpinner)(i.element),o.isErrorImage=!0,o.errorLoading()}},e.prototype.errorLoading=function(){this.parent.trigger("fileOpened",{fileName:null,fileType:null,isValidImage:!1})},e.prototype.updateBaseImgCanvas=function(){var e=this.parent;if(!e.aspectRatioBaseDimension&&e.imageSettings.width&&e.imageSettings.height){var t=(e.baseImg.width/e.imageSettings.width+e.baseImg.height/e.imageSettings.height)/2;t=t<1?1:t,e.baseImgCanvas.width=e.imageSettings.width*t,e.baseImgCanvas.height=e.imageSettings.height*t,e.baseImgCanvas.getContext("2d").drawImage(e.baseImg,0,0,e.baseImgCanvas.width,e.baseImgCanvas.height)}else e.baseImgCanvas.width=e.baseImg.width,e.baseImgCanvas.height=e.baseImg.height,e.baseImgCanvas.getContext("2d").drawImage(e.baseImg,0,0)},e.prototype.updateCanvas=function(e,t){var i=this.parent;i.isImageUpdated&&e?!t&&e&&(i.img.srcLeft=0,i.img.srcTop=0,i.img.srcWidth=i.baseImgCanvas.width,i.img.srcHeight=i.baseImgCanvas.height,i.currSelectionPoint=null,i.cropObj={cropZoom:0,defaultZoom:0,totalPannedPoint:{x:0,y:0},totalPannedClientPoint:{x:0,y:0},totalPannedInternalPoint:{x:0,y:0},tempFlipPanPoint:{x:0,y:0},activeObj:{},rotateFlipColl:[],degree:0,currFlipState:"",straighten:0,destPoints:{startX:0,startY:0,width:0,height:0},srcPoints:{startX:0,startY:0,width:0,height:0},filter:"",isBrightAdjust:!1,zoomFactor:0,previousZoomValue:0,aspectWidth:null,aspectHeight:null,frame:"none",straightenZoom:0,adjustmentLevel:{brightness:0,contrast:0,hue:0,opacity:100,saturation:0,blur:0,exposure:0,transparency:100,sharpen:!1,bw:!1},currentFilter:""}):(i.img.srcWidth=i.baseImgCanvas.width,i.img.srcHeight=i.baseImgCanvas.height);var o={width:0,height:0};i.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:i.img.srcWidth,height:i.img.srcHeight,obj:o,isImgShape:null}});var r=o;i.img.destLeft=(i.lowerCanvas.clientWidth-r.width)/2,i.img.destTop=(i.lowerCanvas.clientHeight-r.height)/2,this.drawImgToCanvas(r),this.origDim.width=i.img.destWidth,this.origDim.height=i.img.destHeight,this.zoomCrop.width=i.img.destWidth,this.zoomCrop.height=i.img.destHeight,i.notify("transform",{prop:"setCropDimension",onPropertyChange:!1,value:{width:i.img.destWidth,height:i.img.destHeight}});var n={startX:i.img.destLeft,startY:i.img.destTop,width:i.img.destWidth,height:i.img.destHeight};i.notify("crop",{prop:"setCropDestPoints",onPropertyChange:!1,value:{point:n}});var a=this.lowerContext.filter;this.lowerContext.filter="none",i.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"iterate",pen:"zoom",isPreventApply:null}}),this.lowerContext.filter=a,i.img.destWidth>0&&i.img.destHeight>0&&(i.isImageLoaded=!0),i.isUndoRedo&&""!==i.transform.currFlipState&&i.notify("transform",{prop:"flipImage",onPropertyChange:!1,value:{direction:i.toPascalCase(i.transform.currFlipState)}}),i.disabled&&i.element.setAttribute("class","e-disabled"),(1!==i.zoomSettings.zoomFactor||i.zoomSettings.zoomPoint)&&i.zoom(i.zoomSettings.zoomFactor,i.zoomSettings.zoomPoint),(0,l.isNullOrUndefined)(this.initZoomValue)&&(this.initZoomValue=i.zoomSettings.zoomFactor),this.isImageEdited=!1},e.prototype.resetFrameZoom=function(e){var t=this.parent;if(!(0,l.isNullOrUndefined)(t.tempFrameZoomLevel)){var i=t.tempFrameZoomLevel;t.tempFrameZoomLevel=null,t.notify("transform",{prop:"resetZoom",onPropertyChange:!1}),t.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:i,zoomPoint:null,isResize:!0}});var o=t.cancelCropSelection;e&&o&&(o.previousObj.frameObj=(0,l.extend)({},t.frameObj,null,!0),o.currentObj.frameObj=(0,l.extend)({},t.frameObj,null,!0),o.previousObj.frame=o.currentObj.frame=t.frameObj.type),this.updateCropSelObj(),t.cancelCropSelection=null}},e.prototype.performCancel=function(e,t,i){var o=this.parent;i&&(o.noPushUndo=!1);var r=o.isStraightening;e=e||!1;var n={bool:!1};o.allowDownScale=!0,o.notify("selection",{prop:"getFreehandDrawEditing",onPropertyChange:!1,value:{obj:n}}),(0,l.isNullOrUndefined)(t)&&JSON.stringify(o.frameObj)!==JSON.stringify(o.tempFrameObj)&&((0,l.extend)(o.frameObj,o.tempFrameObj),this.renderImage(null,null,!0)),this.resetFrameZoom(!1);var a={action:""};if(n.bool)a.action="freehand-draw",o.notify("freehand-draw",{prop:"cancelFhd",onPropertyChange:!1}),o.notify("toolbar",{prop:"destroy-qa-toolbar",onPropertyChange:!1}),o.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}});else if("block"===o.textArea.style.display||"inline-block"===o.textArea.style.display)a.action="text-editing",o.textArea.style.display="none",o.textArea.value="",o.textArea.style.transform="",this.prevActObj?(o.activeObj=this.prevActObj,this.prevActObj=null):(o.activeObj.strokeSettings=this.tempStrokeSettings,o.activeObj.textSettings=this.tempTextSettings),o.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"cancel"}}),this.isShapeTextInserted&&o.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),o.notify("shape",{prop:"applyActObj",onPropertyChange:!1,value:{isMouseDown:!0}}),o.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1}),o.notify("selection",{prop:"setTempActObj",onPropertyChange:!1,value:{obj:o.activeObj}}),o.drawingShape&&o.enableShapeDrawing(o.toPascalCase(o.drawingShape),!0);else if(o.activeObj.shape&&"redact"===o.activeObj.shape||!((!l.Browser.isDevice||l.Browser.isDevice&&!r)&&o.element.querySelector("#"+o.element.id+"_sliderWrapper")||o.currObjType.isFiltered))if(o.activeObj.shape&&"redact"===o.activeObj.shape||!e||l.Browser.isDevice&&(!l.Browser.isDevice||r))this.cancelItems(a),o.transform.zoomFactor>0?(o.togglePan=!0,o.notify("selection",{prop:"setDragCanvas",value:{bool:!0}})):(o.togglePan=!1,o.notify("selection",{prop:"setDragCanvas",value:{bool:!1}}));else{p={type:"main",isApplyBtn:null,isCropping:null,isZooming:null};o.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:p})}else{a.action=o.isFinetuneBtnClick?"fine-tune":"filter",this.lowerContext.filter=this.tempAdjValue,o.canvasFilter=this.tempAdjValue,o.notify("filter",{prop:"setAdjustmentValue",onPropertyChange:!1,value:{adjustmentValue:this.tempAdjValue}}),o.initialAdjustmentValue=this.tempAdjValue,this.lowerContext.filter.split(" ").length>1&&"1"===this.lowerContext.filter.split(" ")[0].split("(")[1].split(")")[0]&&o.notify("filter",{prop:"setBrightnessAdjusted",onPropertyChange:!1,value:{isBrightnessAdjusted:!1}}),o.currentFilter=this.tempFilter,o.notify("filter",{prop:"setBevelFilter",onPropertyChange:!1,value:{bevelFilter:this.lowerContext.filter}}),this.lowerContext.clearRect(0,0,o.lowerCanvas.width,o.lowerCanvas.height),this.redrawImgWithObj(),o.currObjType.isFiltered=!1;var s={tempAdjustmentLevel:null};o.notify("filter",{prop:"getTempAdjustmentLevel",onPropertyChange:!1,value:{obj:s}}),o.notify("filter",{prop:"setAdjustmentLevel",onPropertyChange:!1,value:{adjustmentLevel:(0,l.extend)({},s.tempAdjustmentLevel,{},!0)}}),o.notify("undo-redo",{prop:"setUndoRedoStep",onPropertyChange:!1,value:{step:this.tempUndoRedoStep}}),o.upperCanvas.style.cursor=o.cursor="default",o.currObjType.isCustomCrop=!1,this.tempStrokeSettings={strokeColor:"#fff",fillColor:"",strokeWidth:null,radius:null,outlineColor:"",outlineWidth:null},this.clearOuterCanvas(this.lowerContext),(o.currSelectionPoint&&"crop-circle"===o.currSelectionPoint.shape||o.isCircleCrop)&&o.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}});var p={type:"main",isApplyBtn:null,isCropping:null,isZooming:null};o.element.querySelector(".e-contextual-toolbar-wrapper").classList.add("e-hide"),o.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:p}),o.activeObj.shape&&"image"===o.activeObj.shape&&o.notify("toolbar",{prop:"destroy-qa-toolbar",onPropertyChange:!1}),o.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"cancel"}}),o.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.upperContext.clearRect(0,0,o.upperCanvas.width,o.upperCanvas.height),o.drawingShape&&(o.drawingShape=null,o.notify("selection",{prop:"setCurrentDrawingShape",onPropertyChange:!1,value:{value:""}}))}this.isShapeTextInserted=!1,this.isNewPath=!1,o.notify("toolbar",{prop:"refresh-dropdown-btn",value:{isDisabled:!1}}),o.notify("toolbar",{prop:"setCurrentToolbar",value:{type:"main"}}),i&&(o.noPushUndo=!1),o.drawingShape=null,o.notify("draw",{prop:"resetTempObjColl"}),o.notify("draw",{prop:"resetTempPointColl"}),o.isMaskImage=o.isFinetuneBtnClick=!1;var d={action:"cancel",actionEventArgs:a};o.triggerEditCompleteEvent(d)},e.prototype.cancelItems=function(e){var t,i=this.parent,o=!1,r=i.element.id,n=i.element.querySelector("#"+r+"_aspectratio"),a=i.element.querySelector("#"+r+"_nonaspectratio");if(void 0!==i.activeObj.shape&&(t=i.activeObj.shape.split("-")),(void 0===t&&i.currObjType.isCustomCrop||void 0!==t&&"crop"===t[0])&&(o=!0),o&&i.isCropTab&&(i.isCropTab=!1,i.transform.zoomFactor=i.transform.defaultZoomFactor),i.isResize&&(n||a||"resize-toolbar"===i.currentToolbar)){e.action="resize";var s={width:null,height:null};i.notify("selection",{prop:"getNumTextValue",onPropertyChange:!1,value:{obj:s}});var p={x:s.width,y:s.height},d=i.element.querySelector("#"+i.element.id+"_aspectratio"),h=i.element.querySelector(".e-ie-toolbar-aspect-ratio-btn");if(p&&p.x&&p.y&&!(0,l.isNullOrUndefined)(i.aspectWidth))if(d||h&&!h.classList.contains("e-hidden"))i.notify("transform",{prop:"resizeImage",value:{width:i.aspectWidth,height:i.aspectHeight}});else{var c=i.currObjType.isUndoAction;i.currObjType.isUndoAction=!1,i.notify("transform",{prop:"resizeCrop",value:{width:i.aspectWidth,height:i.aspectHeight}}),i.currObjType.isUndoAction=c}var u={prevCropObj:i.prevCropObj},v={prevObj:i.prevObj};if(i.notify("toolbar",{prop:"getPrevCropObj",onPropertyChange:!1,value:{obj:u}}),i.notify("toolbar",{prop:"getPrevObj",onPropertyChange:!1,value:{obj:v}}),u.prevCropObj&&v.prevObj){i.objColl=[],i.pointColl=[],i.freehandCounter=0,i.cropObj=(0,l.extend)({},u.prevCropObj,{},!0),this.setCurrentObj(v.prevObj),i.objColl=v.prevObj.objColl,i.pointColl=v.prevObj.pointColl,i.freehandCounter=i.pointColl.length,i.transform.straighten=0,i.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}});var g=i.currSelectionPoint?(0,l.extend)({},i.currSelectionPoint,{},!0):null;i.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:-i.transform.zoomFactor,zoomPoint:null,isResize:!0}}),i.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:v.prevObj.defaultZoom,zoomPoint:null,isResize:!0}}),i.currSelectionPoint=g,v.prevObj.zoomFactor&&i.setProperties({zoomSettings:{zoomFactor:v.prevObj.zoomFactor}},!0),i.notify("transform",{prop:"setPreviousZoomValue",onPropertyChange:!1,value:{previousZoomValue:i.zoomSettings.zoomFactor}})}i.isResize=!1,i.notify("transform",{prop:"setResizedImgAngle",onPropertyChange:!1,value:{angle:null}});var f=i.isCropTab;i.isCropTab=!1,this.updateCropSelObj(),i.cancelCropSelection=null,i.isCropTab=f}switch(!0){case i.togglePen:e.action="freehand-draw",this.cancelPen();break;case"text"===i.activeObj.shape:e.action="text",this.cancelText();break;case-1!==["rectangle","ellipse","line","arrow","path","image","redact"].indexOf(i.activeObj.shape):e.action=i.activeObj.shape,this.cancelShape(),i.currObjType.isRedact=!1;break;case o:e.action="crop-selection",this.cancelSelection();break;default:i.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.upperContext.clearRect(0,0,i.upperCanvas.width,i.upperCanvas.height),i.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"cancel"}})}i.notify("selection",{prop:"setCurrentDrawingShape",onPropertyChange:!1,value:{value:""}}),i.upperCanvas.style.cursor=i.cursor="default",i.currObjType.isCustomCrop=!1,this.tempStrokeSettings={strokeColor:"#fff",fillColor:"",strokeWidth:null,radius:null,outlineColor:"",outlineWidth:null};i.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:null,isCropping:!1,isZooming:null}})},e.prototype.cancelPen=function(){var e=this.parent;this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),e.togglePen=!1,e.upperCanvas.style.cursor=e.cursor="default";var t=(0,l.extend)([],e.pointColl,[],!0);e.pointColl={};for(var i=0;i<this.tempFreehandCounter;i++)e.pointColl[i]=t[i];e.freehandCounter=this.tempFreehandCounter,e.notify("freehand-draw",{prop:"setCurrentFreehandDrawIndex",value:{value:this.tempCurrFhdIndex}}),e.activeObj.strokeSettings=this.tempStrokeSettings,e.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:e.activeObj.strokeSettings,strokeColor:null,fillColor:null,strokeWidth:null,radius:null}}),e.notify("freehand-draw",{prop:"setPenStrokeWidth",onPropertyChange:!1,value:{value:this.tempStrokeWidth}}),e.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"cancel"}}),e.notify("selection",{prop:"setFreehandDrawCustomized",value:{isFreehandDrawCustomized:!1}}),e.objColl=(0,l.extend)([],this.tempObjColl,[],!0),e.pointColl=(0,l.extend)([],this.tempPointColl,[],!0),e.freehandCounter=e.pointColl.length,this.tempPointColl={},this.renderImage(),e.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok",isCancel:!0}})},e.prototype.cancelText=function(){var e=this.parent;if(e.notify("shape",{prop:"setTextSettings",onPropertyChange:!1,value:{textSettings:this.tempTextSettings,fontFamily:null,fontSize:null}}),e.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:this.tempStrokeSettings,strokeColor:null,fillColor:null,strokeWidth:null,radius:null}}),(0,l.isNullOrUndefined)(e.activeObj.currIndex))e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height);else{var t={appliedUndoRedoColl:[]};e.notify("undo-redo",{prop:"getAppliedUndoRedoColl",value:{obj:t}});var i=t.appliedUndoRedoColl.length,o=t.appliedUndoRedoColl[i-1];this.prevActObj&&o&&o.currentObjColl.length&&o.currentObjColl[o.currentObjColl.length-1].currIndex===this.prevActObj.currIndex?(e.activeObj=this.prevActObj,this.prevActObj=null):(e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height))}e.notify("toolbar",{prop:"destroy-qa-toolbar",onPropertyChange:!1}),this.tempTextSettings={text:"Enter Text",fontFamily:e.fontFamily.default,fontSize:null,fontRatio:null,bold:!1,italic:!1,underline:!1,strikethrough:!1},e.objColl=(0,l.extend)([],this.tempObjColl,[],!0),e.pointColl=(0,l.extend)([],this.tempPointColl,[],!0),this.renderImage(),this.tempObjColl=[],e.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok",isCancel:!0}})},e.prototype.cancelShape=function(){var e=this.parent;if(e.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:this.tempStrokeSettings,strokeColor:null,fillColor:null,strokeWidth:null,radius:null}}),(0,l.isNullOrUndefined)(e.activeObj.currIndex))e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height);else if(this.isNewPath)e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),this.renderImage();else{var t={appliedUndoRedoColl:[]};e.notify("undo-redo",{prop:"getAppliedUndoRedoColl",value:{obj:t}});for(var i=void 0,o=0,r=t.appliedUndoRedoColl.length;o<r;o++)for(var n=t.appliedUndoRedoColl[o].currentObjColl,a=0,s=n.length;a<s;a++)if(this.prevActObj&&this.prevActObj.currIndex&&n[a].currIndex===this.prevActObj.currIndex){i=n[0];break}this.prevActObj&&i?(e.activeObj=this.prevActObj,this.prevActObj=null,e.notify("selection",{prop:"redrawShape",onPropertyChange:!1,value:{obj:e.activeObj}}),e.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"cancel"}}),e.notify("shape",{prop:"applyActObj",onPropertyChange:!1,value:{isMouseDown:!0}})):(e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height));var p={undoRedoStep:null};e.notify("undo-redo",{prop:"getUndoRedoStep",value:{obj:p}}),t.appliedUndoRedoColl[p.undoRedoStep-1]?e.objColl=(0,l.extend)([],t.appliedUndoRedoColl[p.undoRedoStep-1].currentObjColl,[],!0):e.objColl=[],this.renderImage()}e.currObjType.isDragging=!1,e.notify("toolbar",{prop:"destroy-qa-toolbar",onPropertyChange:!1}),e.objColl=(0,l.extend)([],this.tempObjColl,[],!0),e.pointColl=(0,l.extend)([],this.tempPointColl,[],!0),this.renderImage(),this.tempObjColl=[],e.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok",isCancel:!0}})},e.prototype.cancelSelection=function(){var e=this.parent;if(e.cancelCropSelection){var t={value:e.tempStraighten};e.transform.straighten=t.value,e.straightenBaseImageCanvas(),e.notify("freehand-draw",{prop:"resetStraightenPoint"}),e.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}}),e.notify("draw",{prop:"setStraightenActObj",value:{activeObj:e.activeObj}}),e.notify("crop",{prop:"resizeWrapper"}),this.updateCropSelObj(),this.tempStraightenDestPoints&&JSON.stringify(this.tempStraightenDestPoints)!==JSON.stringify(this.straightenDestPoints)&&(this.straightenDestPoints=(0,l.extend)({},this.tempStraightenDestPoints,{},!0))}},e.prototype.updateCropSelObj=function(){var e=this.parent;e.cancelCropSelection&&(e.cropObj=(0,l.extend)({},e.cancelCropSelection.previousCropObj,{},!0),e.afterCropActions=e.cancelCropSelection.previousObj.afterCropActions,e.notify("undo-redo",{prop:"undoDefault",onPropertyChange:!1,value:{obj:e.cancelCropSelection}}),e.currSelectionPoint=(0,l.extend)({},e.cancelCropSelection.previousCropObj.activeObj,!0),e.currSelectionPoint&&(0,l.isNullOrUndefined)(e.currSelectionPoint.shape)&&(e.currSelectionPoint=null),this.clearOuterCanvas(this.lowerContext),(e.isCircleCrop||e.currSelectionPoint&&"crop-circle"===e.currSelectionPoint.shape)&&e.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}}))},e.prototype.updateCropSelection=function(){var e=this.parent,t={currObj:{}};e.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:t}});var i=t.currObj;i.objColl=(0,l.extend)([],e.objColl,[],!0),i.pointColl=(0,l.extend)([],e.pointColl,[],!0),i.afterCropActions=(0,l.extend)([],e.afterCropActions,[],!0);var o={selPointColl:null};e.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:o}}),i.selPointColl=(0,l.extend)([],o.selPointColl,[],!0),e.cancelCropSelection={operation:"cropTransform",previousObj:i,currentObj:i,previousObjColl:i.objColl,currentObjColl:i.objColl,previousPointColl:i.pointColl,currentPointColl:i.pointColl,previousSelPointColl:i.selPointColl,currentSelPointColl:i.selPointColl,previousCropObj:(0,l.extend)({},e.cropObj,{},!0),currentCropObj:(0,l.extend)({},e.cropObj,{},!0),previousText:null,currentText:null,filter:null,isCircleCrop:e.isCircleCrop}},e.prototype.updateFlipPan=function(e){var t=this.parent;if(""!==t.transform.currFlipState){var i=this.lowerContext.filter;t.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),t.notify("transform",{prop:"rotatedFlip",onPropertyChange:!1}),this.lowerContext.filter="none",t.notify("freehand-draw",{prop:"freehandRedraw",onPropertyChange:!1,value:{context:this.lowerContext,points:null}}),this.lowerContext.filter=i,this.upperContext.clearRect(0,0,t.upperCanvas.width,t.upperCanvas.height),e&&this.drawObject("duplicate",e)}},e.prototype.select=function(e,t,i,o,r){var n=this.parent;if(e=e.toLowerCase(),!n.disabled&&n.isImageLoaded){n.allowDownScale=!1;var a={currObj:{}};n.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:a}});var s=a.currObj;s.objColl=(0,l.extend)([],n.objColl,[],!0),s.pointColl=(0,l.extend)([],n.pointColl,[],!0),s.afterCropActions=n.afterCropActions;var p={selPointColl:null};n.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:p}}),s.selPointColl=(0,l.extend)([],p.selPointColl,[],!0),n.notify("crop",{prop:"setPreviousCropCurrentObj",onPropertyChange:!1,value:{obj:s}}),n.transform.zoomFactor>0&&n.activeObj.shape&&"crop"===n.activeObj.shape.split("-")[0]&&(0,l.isNullOrUndefined)(this.currSelPoint)&&(this.currSelPoint=(0,l.extend)({},n.activeObj,{},!0));var d=!1,h=void 0;void 0!==n.activeObj.shape&&(h=n.activeObj.shape.split("-")),(void 0===h&&n.currObjType.isCustomCrop||void 0!==h&&"crop"===h[0])&&(d=!0);var c={currObj:{}};n.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:c}});var u=c.currObj;if(u.objColl=(0,l.extend)([],n.objColl,[],!0),u.pointColl=(0,l.extend)([],n.pointColl,[],!0),u.afterCropActions=(0,l.extend)([],n.afterCropActions,[],!0),n.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:null}}),n.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),n.notify("shape",{prop:"setKeyHistory",onPropertyChange:!1,value:{keyHistory:""}}),this.upperContext.clearRect(0,0,n.upperCanvas.width,n.upperCanvas.height),n.upperCanvas.style.display="block",n.currSelectionPoint||0!==n.transform.defaultZoomFactor||0!==n.transform.degree&&0!==n.panPoint.totalPannedInternalPoint.x&&0!==n.panPoint.totalPannedInternalPoint.y&&!d){if(n.isCircleCrop=!1,0!==n.transform.defaultZoomFactor&&!this.isResizeSelect){var v=n.isCropTab;n.isCropTab=!1,n.notify("transform",{prop:"resetZoom",onPropertyChange:!1}),n.isCropTab=v,this.resetPanPoints()}n.notify("freehand-draw",{prop:"updateFHDColl",onPropertyChange:!1}),n.isCropTab=!0,n.isCircleCrop=!1,this.isResizeSelect||n.notify("crop",{prop:"setCurrSelPoints",onPropertyChange:!1,value:{isSetDimension:!0}}),n.transform.zoomFactor=n.transform.cropZoomFactor,(0,l.isNullOrUndefined)(n.cropObj.activeObj.shape)&&(n.currObjType.shape="crop-"+e,this.drawNewSelection(e,t,i,o,r))}else this.isCropSelect?this.isCropSelect=!1:(n.notify("crop",{prop:"adjustStraightenForShapes",onPropertyChange:!1,value:{type:"reverse",isInitialRotated:!0}}),n.notify("freehand-draw",{prop:"updateFHDColl",onPropertyChange:!1}),this.renderImage()),"custom"===e&&(n.currObjType.shape=""),this.drawNewSelection(e,t,i,o,r)}},e.prototype.drawNewSelection=function(e,t,i,o,r){var n,a=this.parent,s="crop-"+e.toLowerCase();"crop-custom"===s?""!==a.currObjType.shape&&"crop-custom"!==a.currObjType.shape||(this.drawCustomSelection("crop-custom",t,i,o,r),this.adjToStraighten(),this.updateSelectionInsert(),a.isStraightening&&(this.straightenActObj=(0,l.extend)({},a.activeObj,{},!0),this.straightenInitZoom=a.transform.zoomFactor)):"crop-canvas"===s?(a.upperCanvas.style.display="block",a.notify("selection",{prop:"setDragCanvas",value:{bool:!0}})):(a.currObjType.isCustomCrop=!1,a.currObjType.shape=s,o&&r?n={startX:t,startY:i,endX:t+o,endY:i+r,width:o,height:r}:o&&"crop-circle"===s&&(n={startX:t,startY:i,endX:t+o,endY:i+o,width:o,height:o}),a.activeObj.shape=s,this.updateSelectionInsert(n))},e.prototype.updateSelectionInsert=function(e){var t=this.parent,i=t.activeObj.activePoint,o={shapeSettingsObj:{}};t.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:o}});var r={type:t.getSelectionType(o.shapeSettingsObj.type),startX:o.shapeSettingsObj.startX,startY:o.shapeSettingsObj.startY,width:o.shapeSettingsObj.width,height:o.shapeSettingsObj.height},n={action:"insert",previousSelectionSettings:r,currentSelectionSettings:r};t.trigger("selectionChanging",n),t.editCompleteArgs=n,t.notify("shape",{prop:"updSelChangeEventArgs",onPropertyChange:!1,value:{selectionSettings:n.currentSelectionSettings}}),"Custom"===n.currentSelectionSettings.type?this.drawObject("duplicate",t.activeObj,null,null,!0):(0===i.startX&&0===i.startY&&0===i.width&&0===i.height||(e={startX:i.startX,startY:i.startY,endX:i.endX,endY:i.endY,width:i.width,height:i.height}),this.drawObject("duplicate",null,!0,e))},e.prototype.drawCustomSelection=function(e,t,i,o,r){var n=this.parent,a=n.activeObj.activePoint;if(n.currObjType.isCustomCrop=!0,this.upperContext.clearRect(0,0,n.upperCanvas.width,n.upperCanvas.height),n.currObjType.shape=n.activeObj.shape=e.toLowerCase(),(0,l.isNullOrUndefined)(t)||(0,l.isNullOrUndefined)(i)||(0,l.isNullOrUndefined)(o)||(0,l.isNullOrUndefined)(r))if(o&&r){var s=n.img,p=s.destLeft,d=s.destTop,h=s.destWidth,c=s.destHeight;a.width=o,a.height=r,a.startX=p+(h/2-o/2),a.startY=d+(c/2-r/2)}else{if((0,l.isNullOrUndefined)(n.transform.zoomFactor)||0===n.transform.zoomFactor){var u=n.img,v=u.destLeft,g=u.destTop,f=u.destWidth,m=u.destHeight,b=n.lowerCanvas.width,y=n.lowerCanvas.height,C=a;v>=0&&g>=0?(C.startX=v,C.startY=g,C.endX=v+f,C.endY=g+m):v>=0?(C.startX=v,C.startY=7.5,C.endX=v+f,C.endY=y-15):g>=0?(C.startX=7.5,C.startY=g,C.endX=b-15,C.endY=g+m):(C.startX=7.5,C.startY=7.5,C.endX=b-15,C.endY=y-15)}else{var x=n.img,w=x.destLeft,P=x.destTop,S=x.destWidth,j=x.destHeight,O=n.lowerCanvas.width,T=n.lowerCanvas.height,k=a;k.startX=Math.max(w>0?w:7.5,w),k.startY=Math.max(P>0?P:7.5,P),k.endX=Math.min(w+S+15<O?w+S-15:O-15,w+S),k.endY=Math.min(P+j+15<T?P+j-15:T-15,P+j)}var F=n.img,I=(p=F.destLeft,d=F.destTop,h=F.destWidth,c=F.destHeight,n.lowerCanvas.clientWidth),A=n.lowerCanvas.clientHeight,D=a;if(D.startX=Math.max(D.startX,p),D.startY=Math.max(D.startY,d),D.endX=Math.min(D.endX,p+h),D.endY=Math.min(D.endY,d+c),n.transform.straighten>0?(this.imgCanvasPoints[0].x>D.startX&&(D.startX=this.imgCanvasPoints[0].x),this.imgCanvasPoints[0].y>D.startY&&(D.startY=this.imgCanvasPoints[0].y),this.imgCanvasPoints[2].x<D.endX&&(D.endX=this.imgCanvasPoints[2].x),this.imgCanvasPoints[2].y<D.endY&&(D.endY=this.imgCanvasPoints[2].x)):n.transform.straighten<0&&(this.imgCanvasPoints[3].x>D.startX&&(D.startX=this.imgCanvasPoints[3].x),this.imgCanvasPoints[3].y<D.startY&&(D.startY=this.imgCanvasPoints[3].y),this.imgCanvasPoints[1].x<D.endX&&(D.endX=this.imgCanvasPoints[1].x),this.imgCanvasPoints[1].y>D.endY&&(D.endY=this.imgCanvasPoints[1].x)),D.startX===p&&p+h>I&&(D.endX=I-15),D.startY===d&&d+c>A&&(D.endY=A-15),n.activeObj.activePoint.startX>n.activeObj.activePoint.endX){var E=n.activeObj.activePoint.startX;n.activeObj.activePoint.startX=n.activeObj.activePoint.endX,n.activeObj.activePoint.endX=E}if(n.activeObj.activePoint.startY>n.activeObj.activePoint.endY){E=n.activeObj.activePoint.startY;n.activeObj.activePoint.startY=n.activeObj.activePoint.endY,n.activeObj.activePoint.endY=E}n.activeObj=this.updateWidthHeight(n.activeObj),this.updateActiveObject(a,n.activeObj),this.adjActObj()}else a.startX=t,a.startY=i,a.endX=t+o,a.endY=i+r,a.width=o,a.height=r;this.updateSelectionInsert()},e.prototype.adjToStraighten=function(){var e=this.parent;if(0!==e.transform.straighten&&e.isStraightening){var t=e.activeObj.activePoint;t.startX+=7.5,t.startY+=7.5,t.endX-=7.5,t.endY-=7.5,e.activeObj=this.updateWidthHeight(e.activeObj)}},e.prototype.adjActObj=function(){var e=this.parent;if(0!==e.transform.straighten)for(var t=e.activeObj.activePoint,i=(0,l.extend)({},t,{},!0),o=0;;){o++;var r={isIntersect:null,arr:null};if(e.notify("draw",{prop:"updateImgCanvasPoints",onPropertyChange:!1}),e.notify("draw",{prop:"isLinesIntersect",onPropertyChange:!1,value:{obj:r}}),r.arr[0]||r.arr[1]||r.arr[2]||r.arr[3]||100===o){t=(0,l.extend)({},i,{},!0);break}i=(0,l.extend)({},t,{},!0),t.startX-=5,t.endX+=5,t.width=t.endX-t.startX,this.updateActiveObject(t,e.activeObj)}},e.prototype.callUpdateCurrTransState=function(){var e=this.parent,t=(0,l.extend)([],e.objColl,[],!0),i=(0,l.extend)({},e.activeObj,{},!0);e.objColl=[],e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.isRotateZoom=!0,this.updateCurrTransState("initial"),this.lowerContext.clearRect(0,0,e.lowerCanvas.width,e.lowerCanvas.height),0===e.transform.degree&&e.rotateFlipColl.length>0&&(e.img.destLeft+=e.panPoint.totalPannedPoint.x,e.img.destTop+=e.panPoint.totalPannedPoint.y),e.img.destLeft+=e.panPoint.totalPannedInternalPoint.x,e.img.destTop+=e.panPoint.totalPannedInternalPoint.y;var o=this.lowerContext.filter;0===e.transform.degree&&e.notify("transform",{prop:"setDestPointsForFlipState",onPropertyChange:!1}),this.drawImage(),this.updateCurrTransState("reverse"),0===e.transform.degree&&e.rotateFlipColl.length>0&&(e.img.destLeft+=e.panPoint.totalPannedPoint.x,e.img.destTop+=e.panPoint.totalPannedPoint.y),this.isRotateZoom=!1,e.objColl=t;var r=e.togglePen;e.togglePen=!1,this.lowerContext.filter="none";var n={penStrokeWidth:null};e.notify("freehand-draw",{prop:"getPenStrokeWidth",onPropertyChange:!1,value:{obj:n}}),e.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"iterate",pen:"iterate",isPreventApply:null}}),e.notify("freehand-draw",{prop:"setPenStrokeWidth",onPropertyChange:!1,value:{value:n.penStrokeWidth}}),e.img.destLeft+=e.panPoint.totalPannedInternalPoint.x,e.img.destTop+=e.panPoint.totalPannedInternalPoint.y,e.img.destLeft-=e.panPoint.totalPannedInternalPoint.x,e.img.destTop-=e.panPoint.totalPannedInternalPoint.y,e.togglePen=r,this.lowerContext.filter=o,e.activeObj=i},e.prototype.resetPanPoints=function(){this.parent.panPoint.totalPannedPoint={x:0,y:0},this.parent.panPoint.totalPannedClientPoint={x:0,y:0},this.parent.panPoint.totalPannedInternalPoint={x:0,y:0}},e.prototype.setClientTransDim=function(e){var t=this.parent;if(t.transform.degree%90==0&&t.transform.degree%180!=0){t.img.destLeft=(t.lowerCanvas.clientWidth-t.img.destHeight)/2,t.img.destTop=(t.lowerCanvas.clientHeight-t.img.destWidth)/2;var i=t.img.destWidth;t.img.destWidth=t.img.destHeight,t.img.destHeight=i}else(0,l.isNullOrUndefined)(e)&&(t.img.destLeft=(t.lowerCanvas.clientWidth-t.img.destWidth)/2,t.img.destTop=(t.lowerCanvas.clientHeight-t.img.destHeight)/2)},e.prototype.redrawImgWithObj=function(){var e=this.parent,t={canvasFilter:e.canvasFilter};if(this.lowerContext.filter=t.canvasFilter,0!==e.rotateFlipColl.length){var i=(0,l.extend)({},e.panPoint.totalPannedInternalPoint,{},!0),o={startX:e.img.destLeft,startY:e.img.destTop,width:e.img.destWidth,height:e.img.destHeight};this.callUpdateCurrTransState(),e.panPoint.totalPannedInternalPoint=i,e.img.destLeft=o.startX,e.img.destTop=o.startY,e.img.destWidth=o.width,e.img.destHeight=o.height}else this.callUpdateCurrTransState();e.isCircleCrop&&e.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}})},e.prototype.setCurrentObj=function(e,t,i){var o=this.parent,r=!!e;r||(o.cropObj.aspectWidth=o.aspectWidth,o.cropObj.aspectHeight=o.aspectHeight,o.cropObj.frame=o.frameObj.type),e=e||o.cropObj,o.transform.cropZoomFactor=e.cropZoom,o.transform.defaultZoomFactor=e.defaultZoom,this.straightenInitZoom=e.straightenZoom,r?e.activeObj.shape&&"crop"===e.activeObj.shape.split("-")[0]?o.transform.zoomFactor=e.cropZoom:o.transform.zoomFactor=e.defaultZoom:o.transform.zoomFactor=e.cropZoom,o.setProperties({zoomSettings:{zoomFactor:e.zoomFactor}},!0),o.notify("transform",{prop:"setPreviousZoomValue",onPropertyChange:!1,value:{previousZoomValue:e.previousZoomValue}}),o.panPoint.totalPannedPoint=(0,l.extend)({},e.totalPannedPoint,{},!0),o.panPoint.totalPannedClientPoint=(0,l.extend)({},e.totalPannedClientPoint,{},!0),o.panPoint.totalPannedInternalPoint=(0,l.extend)({},e.totalPannedInternalPoint,{},!0);var n=(0,l.extend)({},e.tempFlipPanPoint,{},!0);o.notify("crop",{prop:"setTempFlipPanPoint",onPropertyChange:!1,value:{point:n}}),o.rotateFlipColl=(0,l.extend)([],e.rotateFlipColl,[],!0),o.transform.degree=e.degree,o.frameObj.type=e.frame,o.transform.currFlipState=e.currFlipState,o.notify("filter",{prop:"setAdjustmentLevel",onPropertyChange:!1,value:{adjustmentLevel:e.adjustmentLevel}}),o.notify("filter",{prop:"setTempAdjVal"}),o.currentFilter=e.currentFilter,o.notify("filter",{prop:"setTempFilVal"}),(o.transform.straighten!==e.straighten||t)&&(o.transform.straighten=e.straighten,o.straightenBaseImageCanvas()),o.img={destLeft:e.destPoints.startX,destTop:e.destPoints.startY,destWidth:e.destPoints.width,destHeight:e.destPoints.height,srcLeft:e.srcPoints.startX,srcTop:e.srcPoints.startY,srcWidth:e.srcPoints.width,srcHeight:e.srcPoints.height},o.aspectWidth=e.aspectWidth,o.aspectHeight=e.aspectHeight,e.afterCropActions&&(o.afterCropActions=e.afterCropActions),this.lowerContext.filter=e.filter,o.notify("filter",{prop:"setBrightnessAdjusted",onPropertyChange:!1,value:{isBrightnessAdjusted:e.isBrightAdjust}}),o.notify("draw",{prop:"imageBackgroundColor",onPropertyChange:!1,value:{color:e.bgColor}});var a,s=o.isCircleCrop;(0,l.isNullOrUndefined)(o.currSelectionPoint)?a=null:(a=(0,l.extend)({},o.currSelectionPoint,{},!0),o.currSelectionPoint=null),o.isCircleCrop=!1,i&&(o.frameObj.type="none"),this.drawCropSelectionImage(e,!1),0!==o.transform.degree&&(""===o.transform.currFlipState?o.notify("transform",{prop:"rotatePan",onPropertyChange:!1,value:{isCropSelection:null,isDefaultZoom:null}}):o.notify("transform",{prop:"drawPannedImage",value:{xDiff:0,yDiff:0}}),o.img.destLeft=e.destPoints.startX,o.img.destTop=e.destPoints.startY,o.panPoint.totalPannedClientPoint=(0,l.extend)({},e.totalPannedClientPoint,{},!0),o.panPoint.totalPannedInternalPoint=(0,l.extend)({},e.totalPannedInternalPoint,{},!0)),o.activeObj=(0,l.extend)({},e.activeObj,{},!0),this.upperContext.clearRect(0,0,o.upperCanvas.width,o.upperCanvas.height),0!==o.activeObj.activePoint.width&&0!==o.activeObj.activePoint.height&&this.drawObject("duplicate",null,null,null,!0);var p=(0,l.extend)({},e.activeObj,{},!0),d=!1;if(o.afterCropActions.length>0){var h={collection:o.afterCropActions};o.notify("shape",{prop:"alignRotateFlipColl",onPropertyChange:!1,value:{collection:o.afterCropActions,isRotateFlipCollection:null,obj:h}}),o.afterCropActions=h.collection}var c=(0,l.extend)([],o.afterCropActions,[],!0);if(!r&&c.length>0){d=!0;for(var u=0,v=c.length;u<v;u++)"horizontalflip"!==c[u]&&"verticalflip"!==c[u]||(o.activeObj=(0,l.extend)({},a,{},!0),this.rotatedFlipCropSel=!0),o.notify("transform",{prop:"updateTransform",onPropertyChange:!1,value:{text:c[u]}});p=(0,l.extend)({},o.activeObj,{},!0),this.resetPanPoints(),o.activeObj=p,this.upperContext.clearRect(0,0,o.upperCanvas.width,o.upperCanvas.height),0!==o.activeObj.activePoint.width&&0!==o.activeObj.activePoint.height&&this.drawObject("duplicate",null,null,null,!0),e.degree!==o.transform.degree&&(o.transform.cropZoomFactor=null,o.transform.zoomFactor=0),o.notify("freehand-draw",{prop:"updateFHDColl",onPropertyChange:!1}),this.rotatedFlipCropSel&&(this.rotatedFlipCropSel=!1)}o.afterCropActions=c,this.isCancelAction||d||(o.notify("freehand-draw",{prop:"updateFHDColl",onPropertyChange:!1}),o.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),o.img.destLeft=e.destPoints.startX,o.img.destTop=e.destPoints.startY),o.activeObj=p,o.isCircleCrop=s,(0,l.isNullOrUndefined)(a)?o.currSelectionPoint=null:(o.currSelectionPoint=(0,l.extend)({},a,{},!0),o.currSelectionPoint&&(0,l.isNullOrUndefined)(o.currSelectionPoint.shape)&&(o.currSelectionPoint=null))},e.prototype.drawCropSelectionImage=function(e,t){var i=this.parent,o=this.lowerContext.filter;i.clearContext(this.lowerContext),i.clearContext(this.upperContext),this.lowerContext.setTransform(1,0,0,1,0,0),t?this.updateCurrTransState("initial"):this.setTransformColl(this.lowerContext,"initial"),i.notify("transform",{prop:"setDestPointsForFlipState",onPropertyChange:!1}),this.drawImage(),t?this.updateCurrTransState("reverse"):this.setTransformColl(this.lowerContext,"reverse"),i.img.destLeft=i.cropObj.destPoints.startX,i.img.destTop=i.cropObj.destPoints.startY;var r=(0,l.extend)({},e.activeObj,{},!0);if(this.lowerContext.filter="none",i.img={destLeft:e.destPoints.startX,destTop:e.destPoints.startY,destWidth:e.destPoints.width,destHeight:e.destPoints.height,srcLeft:e.srcPoints.startX,srcTop:e.srcPoints.startY,srcWidth:e.srcPoints.width,srcHeight:e.srcPoints.height},0!==e.activeObj.activePoint.width&&0!==e.activeObj.activePoint.height){var n={startX:i.img.destLeft,startY:i.img.destTop,width:i.img.destWidth,height:i.img.destHeight};i.img.destLeft=e.activeObj.activePoint.startX,i.img.destTop=e.activeObj.activePoint.startY,i.img.destWidth=e.activeObj.activePoint.width,i.img.destHeight=e.activeObj.activePoint.height,i.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),i.img.destLeft=n.startX,i.img.destTop=n.startY,i.img.destWidth=n.width,i.img.destHeight=n.height}i.activeObj=r,this.lowerContext.filter=o},e.prototype.performPointZoom=function(e,t,i,o,r){var n=this.parent,a=n.img,s=a.destLeft,l=a.destTop,p=a.destWidth,d=a.destHeight,h=!1;n.activeObj.shape&&n.activeObj.shape.indexOf("crop-")>-1&&(h=!0),n.element.querySelector(".e-contextual-toolbar-wrapper")&&!h&&(n.element.querySelector(".e-contextual-toolbar-wrapper").classList.contains("e-hide")||(n.okBtn(),n.element.querySelector(".e-contextual-toolbar-wrapper").classList.add("e-hide")));var c=(e-s)/p,u=(t-l)/d,v=n.isUndoRedo;n.isUndoRedo=!0,n.setProperties({zoomSettings:{zoomPoint:{x:e,y:t}}},!0);var g=r||("zoomIn"===i?.1:-.1);n.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:g,zoomPoint:null,isResize:o}}),n.isUndoRedo=v,this.panToPoint(e,t,c,u)},e.prototype.panToPoint=function(e,t,i,o){var r=this.parent;if(r.transform.zoomFactor>0){var n=r.img.destLeft,a=r.img.destTop,s=(0,l.extend)({},r.activeObj,{},!0);if(0===r.transform.degree)r.img.destLeft=e-i*r.img.destWidth,r.img.destTop=t-o*r.img.destHeight,this.drawZoomPanImage(r.img.destLeft-n,r.img.destTop-a);else{var p=r.isCropTab;r.isCropTab=!0;var d=(0,l.extend)([],r.objColl,[],!0),h=(0,l.extend)([],r.pointColl,[],!0),c={straightenPoint:null};r.notify("freehand-draw",{prop:"getStraightenPoint",onPropertyChange:!1,value:{obj:c}}),r.objColl=[],r.pointColl=[],r.freehandCounter=0,r.notify("freehand-draw",{prop:"setStraightenPoint",onPropertyChange:!1,value:{x:null,y:null,ratioX:null,ratioY:null}});var u={selPointColl:null};r.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:u}});var v=u.selPointColl;r.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:[]}}}),r.panPoint.currentPannedPoint={x:e-i*r.img.destWidth-n,y:t-o*r.img.destHeight-a},r.notify("transform",{prop:"rotatePan",onPropertyChange:!1,value:{isCropSelection:null,isDefaultZoom:null}}),r.isCropTab=p,r.objColl=d,r.pointColl=h,r.freehandCounter=r.pointColl.length,c.straightenPoint.x&&c.straightenPoint.y&&r.notify("freehand-draw",{prop:"setStraightenPoint",onPropertyChange:!1,value:{x:c.straightenPoint.x,y:c.straightenPoint.y,ratioX:c.straightenPoint.ratioX,ratioY:c.straightenPoint.ratioY}}),r.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:v}}}),r.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"pan",pen:"pan",x:r.panPoint.currentPannedPoint.x,y:r.panPoint.currentPannedPoint.y,panRegion:""}})}this.adjustPanning(s);for(var g=!1,f=0;f<r.objColl.length;f++)if(JSON.stringify(s.activePoint)===JSON.stringify(r.objColl[f].activePoint)){g=!0;break}g||(r.activeObj=s),0!==r.activeObj.activePoint.width&&0!==r.activeObj.activePoint.height&&this.drawObject("duplicate",null,null,null,!0)}},e.prototype.adjustPanning=function(e){var t=this.parent,i=e.activePoint,o=i.startX,r=i.startY,n=i.width,a=i.height;if(0!==n&&0!==a){var s=t.img,p=s.destLeft,d=s.destTop,h=s.destWidth,c=s.destHeight,u={x:0,y:0};if(p>o?u.x=p-o:p+h<o+n&&(u.x=p+h-(o+n)),d>r?u.y=d-r:d+c<r+a&&(u.y=d+c-(r+a)),0===t.transform.degree)t.img.destLeft-=u.x,t.img.destTop-=u.y,this.drawZoomPanImage(t.img.destLeft-p,t.img.destTop-d);else{var v=t.isCropTab;t.isCropTab=!0;var g=(0,l.extend)([],t.objColl,[],!0),f=(0,l.extend)([],t.pointColl,[],!0);t.objColl=[],t.pointColl=[],t.freehandCounter=0;var m={selPointColl:null};t.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:m}});var b=m.selPointColl;t.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:[]}}}),t.img.destLeft-=u.x,t.img.destTop-=u.y,t.panPoint.currentPannedPoint={x:t.img.destLeft-p,y:t.img.destTop-d},t.notify("transform",{prop:"rotatePan",onPropertyChange:!1,value:{isCropSelection:null,isDefaultZoom:null}}),t.isCropTab=v,t.objColl=g,t.pointColl=f,t.freehandCounter=t.pointColl.length,t.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:b}}}),t.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"pan",pen:"pan",x:t.panPoint.currentPannedPoint.x,y:t.panPoint.currentPannedPoint.y,panRegion:""}})}}},e.prototype.panToSel=function(){var e=this.parent,t=(0,l.extend)({},e.activeObj,{},!0),i=t.activePoint,o=i.startX,r=i.startY,n=i.width,a=i.height;this.allowRedactStraighten=!0;var s={straightenPoint:null};if(e.notify("freehand-draw",{prop:"getStraightenPoint",onPropertyChange:!1,value:{obj:s}}),s.straightenPoint.x&&s.straightenPoint.y){var p=o+n/2-s.straightenPoint.x,d=r+a/2-s.straightenPoint.y;0===e.transform.degree?(e.img.destLeft+=p,e.img.destTop+=d,e.notify("transform",{prop:"drawPannImage",value:{point:{x:p,y:d}}})):(e.panPoint.currentPannedPoint={x:p,y:d},e.notify("transform",{prop:"drawPannedImage",value:{xDiff:p,yDiff:d}}),e.panPoint.currentPannedPoint={x:0,y:0},e.notify("transform",{prop:"setTempPanMove",value:{point:null}})),e.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:t}});var h=e.img,c=h.destLeft,u=h.destTop,v=h.destWidth,g=h.destHeight,f=this.imgCanvasPoints;f.forEach(function(e){e.x=e.ratioX*v+c,e.y=e.ratioY*g+u}),this.imgCanvasPoints=f;var m=0;if(3===e.transform.straighten&&!this.preventStraightening){this.preventStraightening=!0;var b=e.prevStraightenedDegree;e.prevStraightenedDegree=e.transform.straighten,e.setStraighten(0),e.setStraighten(3),e.prevStraightenedDegree=b,this.preventStraightening=!1}for(;this.isLinesIntersect()&&0!==e.transform.straighten&&360!==e.transform.straighten&&m<100;)m++,this.performPointZoom(e.activeObj.activePoint.startX+e.activeObj.activePoint.width/2,e.activeObj.activePoint.startY+e.activeObj.activePoint.height/2,"zoomIn",!1,.025),this.updateImgCanvasPoints()}},e.prototype.drawZoomPanImage=function(e,t){var i=this.parent;i.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"pan",pen:"pan",x:e,y:t,panRegion:""}}),this.renderImage(!0);var o={width:0,height:0};i.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:i.img.srcWidth,height:i.img.srcHeight,obj:o,isImgShape:null}});var r=o;r.width+=r.width*i.transform.zoomFactor,r.height+=r.height*i.transform.zoomFactor,i.panPoint.totalPannedPoint.x+=e,i.panPoint.totalPannedPoint.y+=t,i.notify("crop",{prop:"setTempFlipPanPoint",onPropertyChange:!1,value:{point:{x:0,y:0}}})},e.prototype.openNewImage=function(){var e=this,t=this.parent,i=t.element.id,o=t.inMemoryCanvas.getContext("2d");(0,I.showSpinner)(t.element),t.element.style.opacity="0.5";var r=t.element.querySelector("#"+i+"_currPos");r&&(r.style.display="none");var n={defToolbarItems:null};if(t.notify("toolbar",{prop:"getDefToolbarItems",value:{obj:n}}),n.defToolbarItems&&0===n.defToolbarItems.length&&(0,l.isNullOrUndefined)(t.element.querySelector("#"+i+"_toolbar"))&&t.element.querySelector("#"+i+"_toolbarArea")){var a=t.element.querySelector("#"+i+"_toolbarArea").clientHeight;t.notify("toolbar",{prop:"setToolbarHeight",value:{height:a}})}if(t.reset(),t.update(),t.transform.degree=0,t.transform.zoomFactor=0,t.isImageLoaded=!1,t.currSelectionPoint=null,"string"===typeof this.openURL){var s=this.openURL.split(".");if(s.length>1?(s=s[s.length-2].split("/"),this.fileName=s[s.length-1]):this.fileName="ImageEditor",this.fileType=this.getFileExtensionFromURL(this.openURL),this.fileType){this.fileType=t.toPascalCase(this.fileType);var p=this.fileType.toLowerCase();"jpg"!==p&&"jpeg"!==p||(this.fileType="Jpeg",p="jpeg"),"jpeg"!==p&&"png"!==p&&"svg"!==p&&"webp"!==p&&"bmp"!==p&&(this.fileType=null)}this.imageOnLoad(this.openURL),"string"==typeof this.openURL&&-1!==this.openURL.indexOf("localhost")||this.getImageSizeFromURL(this.openURL.toString(),function(t){null!==t&&e.parent.notify("toolbar",{prop:"setInitialSize",value:{value:+t}})})}else this.fileName="ImageEditor",this.fileType=null,t.lowerCanvas=t.element.querySelector("#"+i+"_lowerCanvas"),t.upperCanvas=t.element.querySelector("#"+i+"_upperCanvas"),this.lowerContext=t.lowerCanvas.getContext("2d"),this.upperContext=t.upperCanvas.getContext("2d"),t.clearContext(this.lowerContext),t.clearContext(this.upperContext),t.clearContext(o),t.inMemoryCanvas.width=this.openURL.width,t.inMemoryCanvas.height=this.openURL.height,o.putImageData(this.openURL,0,0),t.baseImg.src=t.inMemoryCanvas.toDataURL()},e.prototype.getImageSizeFromURL=function(e,t){return z(this,void 0,void 0,function(){var i,o,r,n;return M(this,function(a){switch(a.label){case 0:return a.trys.push([0,5,,6]),o=0===e.indexOf("blob:"),[4,fetch(e,{method:o?"GET":"HEAD"})];case 1:return i=a.sent(),o?[4,i.blob()]:[3,3];case 2:return r=a.sent().size,[3,4];case 3:r=parseInt(i.headers.get("content-length")||"0",10),a.label=4;case 4:return t(r),[3,6];case 5:return n=a.sent(),console.log(n.message),[3,6];case 6:return[2]}})})},e.prototype.dlgBtnClick=function(){this.parent.export(),this.applyDialogOption()},e.prototype.dlgCloseBtnClick=function(){this.applyDialogOption()},e.prototype.applyDialogOption=function(){var e=this.parent;this.isFileChanged?(e.isImageLoaded=this.isFileChanged=!1,e.reset(),this.checkToolbarTemplate(this.inputElem,this.openURL)):(this.reset(),this.openNewImage()),(0,l.getComponent)(document.getElementById(e.element.id+"_dialog"),"dialog").destroy(),this.isImageEdited=!1},e.prototype.showDialogPopup=function(){var e=this.parent,t={key:"ConfirmDialogHeader"};e.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:t}});var i={key:"ConfirmDialogContent"};e.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:i}});var o={key:"Yes"};e.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:o}});var r={key:"No"};e.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:r}}),e.element.querySelector("#"+e.element.id+"_dialog").style.display="block",new I.Dialog({header:t.value,closeOnEscape:!0,content:"<span>"+i.value+"</span>",target:document.getElementById("target"),width:"285px",isModal:!0,animationSettings:{effect:"Zoom"},close:this.dlgCloseBtnClick.bind(this),buttons:[{click:this.dlgCloseBtnClick.bind(this),buttonModel:{content:r.value,iconCss:"e-icons e-close"}},{click:this.dlgBtnClick.bind(this),buttonModel:{content:o.value,isPrimary:!0,iconCss:"e-icons e-check"}}]}).appendTo("#"+e.element.id+"_dialog")},e.prototype.restoreOldImage=function(){var e=this,t=this.parent,i=t.element.querySelector("#"+t.element.id+"_dropArea"),o=t.getExtensionArray();if("string"===typeof this.openURL){var r=this.getFileExtensionFromURL(this.openURL);r&&(r="jpg"===(r=r.toLowerCase())||"jpeg"===r?"jpeg":r);var n=!!r&&(o.indexOf(r)>-1||"jpeg"===r&&(t.uploadSettings.allowedExtensions.indexOf("jpg")>-1||t.uploadSettings.allowedExtensions.indexOf("jpeg")>-1))||this.isNullExtension;this.openURL.indexOf("data:image/")>-1&&this.openURL.indexOf("base64")>-1||this.openURL.indexOf("blob")>-1?this.openImageData(i,!0):t.uploadSettings.minFileSize||t.uploadSettings.maxFileSize?this.getImageSizeFromURL(this.openURL.toString(),function(o){var r=t.uploadSettings.minFileSize&&o<t.uploadSettings.minFileSize||t.uploadSettings.maxFileSize&&o>t.uploadSettings.maxFileSize;e.handleFileSize(!n||r,i,!n)}):this.handleFileSize(!n,i,!n)}else this.openImageData(i)},e.prototype.handleFileSize=function(e,t,i){var o=this.parent;e?(this.errorLoading(),o.showDialogPopup("unsupported",i),t&&!o.isImageLoaded&&(t.style.display="flex")):(t&&(t.style.display="none"),this.parent.isImageLoaded&&this.reset(),this.openNewImage())},e.prototype.openImageData=function(e,t){var i=this.parent,o=this,r=i.createElement("canvas"),n=r.getContext("2d");if(i.uploadSettings.minFileSize||i.uploadSettings.maxFileSize)if(t){var a=new Image;a.src=this.openURL,a.onload=function(){n.canvas.width=a.width,n.canvas.height=a.height,n.drawImage(a,0,0),o.getImageSize(r,e)}}else r.width=this.openURL.width,r.height=this.openURL.height,n.putImageData(this.openURL,0,0),this.getImageSize(r,e);else this.handleFileSize(!1,e,!1)},e.prototype.getImageSize=function(e,t){var i=this.parent;e.toBlob(function(e){i.uploadSettings.minFileSize&&e.size<i.uploadSettings.minFileSize||i.uploadSettings.maxFileSize&&e.size>i.uploadSettings.maxFileSize?this.handleFileSize(!0,t,!1):this.handleFileSize(!1,t,!1)}.bind(this),"image/jpeg",1)},e.prototype.open=function(e){this.parent.disabled||(this.openURL=e,this.restoreOldImage())},e.prototype.getInitialLoaded=function(e){e.isInitialLoaded=this.isInitialLoading},e.prototype.getFileExtensionFromURL=function(e){var t=e.lastIndexOf(".");return-1!==t?e.slice(t+1).toLowerCase():-1!==e.indexOf("base64")?e.slice(e.indexOf("/")+1,e.indexOf(";")).toLowerCase():null},e.prototype.fileSelect=function(e,t){var i=this.parent,o=i.element.querySelector("#"+i.element.id+"_dropArea");if(o&&(o.style.display="none"),!i.disabled){var r=void 0,n=void 0;t.target?n=r=t.target.files[0]:r=n=t.filesData[0].rawFile;var a=void 0;if(n.name){var s=n.name.split(".");a=s[s.length-1].toLowerCase()}var l=i.getExtensionArray(),p=("jpg"===a||"jpeg"===a)&&(i.uploadSettings.allowedExtensions.indexOf("jpg")>-1||i.uploadSettings.allowedExtensions.indexOf("jpeg")>-1);if(a&&-1===l.indexOf(a)&&!p||i.uploadSettings.minFileSize&&n.size<i.uploadSettings.minFileSize||i.uploadSettings.maxFileSize&&n.size>i.uploadSettings.maxFileSize)return void this.errorLoading();if(i.imageSettings={width:null,height:null},i.aspectRatioBaseDimension=null,(0,I.showSpinner)(i.element),i.element.style.opacity="0.5",this.inputElem=e,a=n.name&&n.name.split(".")[1]){var d=i.toPascalCase(a);this.fileType="JPG"===d||"Jpg"===d?"Jpeg":d}else this.fileType=null;var h=window.URL.createObjectURL(r);this.openURL=h,i.isImageLoaded&&!i.isChangesSaved&&(this.isImageEdited||i.pointColl.length>0||i.objColl.length>0)?(this.isFileChanged=!0,this.showDialogPopup()):this.checkToolbarTemplate(e,h)}},e.prototype.checkToolbarTemplate=function(e,t){var i=this.parent;(0,l.isNullOrUndefined)(i.toolbarTemplate)&&(i.reset(),i.update()),this.fileName=e.value.split("\\")[e.value.split("\\").length-1],this.fileName=this.fileName.split(".")[0],this.imageOnLoad(t.toString()),e.value=""},e.prototype.moveToSelectionRange=function(e,t){var i=this.parent;if(i.activeObj.shape){for(var o=!1,r=0,n=i.rotateFlipColl.length;r<n;r++){var a=i.rotateFlipColl[r];if(90===a||-90===a){o=!0;break}}if(o){if(0===i.transform.degree)return;var s=i.transform.zoomFactor;i.objColl.push(i.activeObj),i.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1});var p=i.objColl[i.objColl.length-1];if("rotateleft"===e||"rotateright"===e)if(i.transform.degree%90==0&&i.transform.degree%180!=0)if(p.activePoint.width<t.activePoint.height)for(r=2;r<i.zoomSettings.maxZoomFactor;r++){if(p.activePoint.width>=t.activePoint.height||this.isSelectionBiggerThanCanvas(p)||this.isSelectionOutsideCanvas(p)){(0,l.isNullOrUndefined)(s)||i.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:-.1,zoomPoint:null},isResize:null});break}s+=.1,i.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:s,zoomPoint:null},isResize:null})}else for(r=2;r<i.zoomSettings.maxZoomFactor;r++){if(p.activePoint.width>=t.activePoint.height||this.isSelectionBiggerThanCanvas(p)||this.isSelectionOutsideCanvas(p)){(0,l.isNullOrUndefined)(s)||i.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:.1,zoomPoint:null,isResize:null}});break}s-=.1,i.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:s,zoomPoint:null},isResize:null})}else if(p.activePoint.height<t.activePoint.width)for(r=2;r<i.zoomSettings.maxZoomFactor;r++){if(p.activePoint.height>=t.activePoint.width||this.isSelectionBiggerThanCanvas(p)||this.isSelectionOutsideCanvas(p)){(0,l.isNullOrUndefined)(s)||i.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:-.1,zoomPoint:null},isResize:null});break}s+=.1,i.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:s,zoomPoint:null},isResize:null})}else for(r=2;r<i.zoomSettings.maxZoomFactor;r++){if(p.activePoint.height>=t.activePoint.width||this.isSelectionBiggerThanCanvas(p)||this.isSelectionOutsideCanvas(p)){(0,l.isNullOrUndefined)(s)||i.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:.1,zoomPoint:null},isResize:null});break}s-=.1,i.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:s,zoomPoint:null},isResize:null})}var d=i.lowerCanvas.clientWidth/2-(p.activePoint.startX+p.activePoint.width/2),h=i.lowerCanvas.clientHeight/2-(p.activePoint.startY+p.activePoint.height/2);(0,l.isNullOrUndefined)(i.activeObj.shape)&&(i.activeObj=(0,l.extend)({},t,{},!0)),0===i.transform.degree?(i.img.destLeft+=d,i.img.destTop+=h,i.notify("transform",{prop:"drawPannImage",value:{point:{x:d,y:h}}})):(i.panPoint.currentPannedPoint={x:d,y:h},i.notify("transform",{prop:"drawPannedImage",value:{xDiff:d,yDiff:h}}),i.panPoint.currentPannedPoint={x:0,y:0}),i.notify("transform",{prop:"setTempPanMove",onPropertyChange:!1,value:{point:null}}),i.activeObj=(0,l.extend)({},i.objColl[i.objColl.length-1]),i.objColl.pop(),i.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:i.activeObj}})}}},e.prototype.isSelectionBiggerThanCanvas=function(e){var t=!1,i=this.parent,o=e.activePoint,r=o.startX,n=o.startY,a=o.endX,s=o.endY,l=i.img,p=l.destLeft,d=l.destTop,h=l.destWidth,c=l.destHeight;return(r<=p||n<=d||a>=p+h||s>=d+c)&&(t=!0),t},e.prototype.isSelectionOutsideCanvas=function(e){var t=!1,i=this.parent;return(e.activePoint.height<i.lowerCanvas.height-i.toolbarHeight||e.activePoint.width<i.lowerCanvas.width)&&(t=!0),t},e.prototype.downScaleImgCanvas=function(e,t,i,o){var r=this.parent,n=t?r.activeObj.imageCanvas:r.baseImgCanvas,a=t?r.activeObj.imageElement:r.baseImg,s=t?r.activeObj.activePoint.width:r.img.destWidth,p=t?r.activeObj.activePoint.height:r.img.destHeight,d={width:0,height:0};if(r.transform.degree%90==0&&r.transform.degree%180!=0?r.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:a.height,height:a.width,obj:d,isImgShape:t}}):r.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:a.width,height:a.height,obj:d,isImgShape:t}}),t||r.allowDownScale&&!r.isCropTab&&!r.isCropToolbar&&0!==a.width&&0!==a.height&&.75*d.width>s&&.75*d.height>p){var h=r.createElement("canvas",{id:r.element.id+"_downScaleCanvas",attrs:{name:"canvasImage"}});h.width=t?a.width:r.img.srcWidth,h.height=t?a.height:r.img.srcHeight,t?h.getContext("2d").drawImage(a,0,0,h.width,h.height):(""!==this.imageBackgroundColor&&(e.fillStyle=this.imageBackgroundColor,e.fillRect(r.img.destLeft,r.img.destTop,r.img.destWidth,r.img.destHeight)),h.getContext("2d").drawImage(n,r.img.srcLeft,r.img.srcTop,r.img.srcWidth,r.img.srcHeight,0,0,h.width,h.height)),(t||this.isDownScale)&&this.downScale(h,s,p,t),t?(e.canvas.width=h.width,e.canvas.height=h.height,i&&o?(e.translate(r.activeObj.imageCanvas.width,0),e.scale(-1,1),e.translate(0,r.activeObj.imageCanvas.height),e.scale(1,-1)):i?((0,l.isNullOrUndefined)(r.activeObj.isHorImageFlip)||!r.activeObj.isHorImageFlip?(r.activeObj.isHorImageFlip=!0,e.translate(r.activeObj.imageCanvas.width,0),e.scale(-1,1)):r.activeObj.isHorImageFlip&&(r.activeObj.isHorImageFlip=!1),r.activeObj.isVerImageFlip&&(e.translate(0,r.activeObj.imageCanvas.height),e.scale(1,-1))):o&&((0,l.isNullOrUndefined)(r.activeObj.isVerImageFlip)||!r.activeObj.isVerImageFlip?(r.activeObj.isVerImageFlip=!0,e.translate(0,r.activeObj.imageCanvas.height),e.scale(1,-1)):r.activeObj.isVerImageFlip&&(r.activeObj.isVerImageFlip=!1),r.activeObj.isHorImageFlip&&(e.translate(r.activeObj.imageCanvas.width,0),e.scale(-1,1))),e.drawImage(h,0,0),e.setTransform(1,0,0,1,0,0)):r.isFinetuning?(e.save(),e.setTransform(1,0,0,1,0,0),e.drawImage(r.inMemoryCanvas,0,0),e.restore()):e.drawImage(h,0,0,h.width,h.height,r.img.destLeft,r.img.destTop,h.width,h.height)}else!(0,l.isNullOrUndefined)(t)&&t||0===r.baseImgCanvas.width||0===r.baseImgCanvas.height||(""!==this.imageBackgroundColor&&(e.fillStyle=this.imageBackgroundColor,e.fillRect(r.img.destLeft,r.img.destTop,r.img.destWidth,r.img.destHeight)),e.drawImage(r.baseImgCanvas,r.img.srcLeft,r.img.srcTop,r.img.srcWidth,r.img.srcHeight,r.img.destLeft,r.img.destTop,r.img.destWidth,r.img.destHeight));r.isSafari&&r.notify("filter",{prop:"apply-filter",onPropertyChange:!1,value:{context:e}})},e.prototype.downScale=function(e,t,i,o){var r=this.parent;if(!o||!r.isStraightening){for(var n=e.width,a=e.height,s=n/(t=Math.round(t)),l=a/(i=Math.round(i)),p=Math.ceil(s/2),d=Math.ceil(l/2),h=e.getContext("2d"),c=h.getImageData(0,0,n,a),u=h.createImageData(t,i),v=c.data,g=u.data,f=0;f<i;f++)for(var m=0;m<t;m++){for(var b=4*(m+f*t),y=0,C=0,x=0,w=0,P=0,S=0,j=0,O=(f+.5)*l,T=Math.floor(f*l),k=Math.ceil((f+1)*l),F=T;F<k;F++)for(var I=Math.abs(O-(F+.5))/d,A=(m+.5)*s,D=I*I,E=Math.floor(m*s),R=Math.ceil((m+1)*s),L=E;L<R;L++){var z=Math.abs(A-(L+.5))/p,M=Math.sqrt(D+z*z);if(!(M>=1)){var B=4*(L+F*n);j+=(y=2*M*M*M-3*M*M+1)*v[B+3],x+=y,w+=(y=y*v[B+3]/250)*v[B],P+=y*v[B+1],S+=y*v[B+2],C+=y}}g[b]=w/C,g[b+1]=P/C,g[b+2]=S/C,g[b+3]=j/x}e.width=o?r.activeObj.activePoint.width:r.lowerCanvas.width,e.height=o?r.activeObj.activePoint.height:r.lowerCanvas.height,h.putImageData(u,0,0)}},e.prototype.drawImgToCtx=function(e,t){var i=this.parent;e.canvas.id!==i.element.id+"_tempCanvas"&&e!==this.upperContext&&(0,l.isNullOrUndefined)(t)&&this.downScaleImgCanvas(e,null,null,null)},e.prototype.getFrameColor=function(e,t,i){var o=this.parent.frameObj.color;if(e.gradientColor){var r=t.createLinearGradient(i.startX,i.startY,i.startX+i.width,i.startY+i.height);r.addColorStop(0,e.color),r.addColorStop(1,e.gradientColor),o=r}else o=e.color;return o},e.prototype.applyFrame=function(e,t,i){var o,r=this.parent;r.frameObj.type=t;var n={width:1,height:1},a={startX:r.img.destLeft-e.lineWidth,startY:r.img.destTop-e.lineWidth,width:r.img.destWidth+2*e.lineWidth,height:r.img.destHeight+2*e.lineWidth},s={type:r.frameObj.type,color:r.frameObj.color,size:r.frameObj.size,inset:r.frameObj.inset,offset:r.frameObj.offset/2,radius:r.frameObj.radius,amount:r.frameObj.amount,border:r.frameObj.border,gradientColor:r.frameObj.gradientColor},p=r.transform.zoomFactor;if(e.canvas.id===r.element.id+"_tempCanvas"){var d=e.canvas.width,h=e.canvas.height,c={width:0,height:0};r.notify("crop",{prop:"calcRatio",onPropertyChange:!1,value:{obj:c,dimension:{width:d,height:h}}}),n=c,s.size*=(n.width+n.height)/2,s.inset*=(n.width+n.height)/2,s.offset*=(n.width+n.height)/2,s.radius*=(n.width+n.height)/2,a={startX:0,startY:0,width:e.canvas.width,height:e.canvas.height},r.notify("export",{prop:"updateSaveContext",onPropertyChange:!1,value:{context:e}})}else e===this.upperContext&&r.activeObj.shape?a={startX:r.activeObj.activePoint.startX-e.lineWidth,startY:r.activeObj.activePoint.startY-e.lineWidth,width:r.activeObj.activePoint.width+2*e.lineWidth,height:r.activeObj.activePoint.height+2*e.lineWidth}:(0,l.isNullOrUndefined)(i)&&e.clearRect(0,0,e.canvas.width,e.canvas.height);var u=(n.width+n.height)/2*40,v=(n.width+n.height)/2*50;if(e!==this.upperContext&&(s.size+=s.size*p,s.inset+=s.inset*p,s.offset+=s.offset*p,s.radius+=s.radius*p,u+=u*p,v+=v*p),e!==this.upperContext||!r.activeObj.shape||!("mat"===t&&(a.width-2*s.size<0||a.height-2*s.size<0)||"bevel"===t&&(a.width-2*s.size<40||a.height-2*s.size<40)||"inset"===t&&(a.startX+a.width-s.offset-(a.startX+s.offset)<0||a.startY+a.height-s.offset-(a.startY+s.offset)<0)||"hook"===t&&(a.width-2*s.size<50||a.height-2*s.size<50))){var g={bevelFilter:e.filter},f=e.filter;if(r.currSelectionPoint&&"crop-circle"===r.currSelectionPoint.shape||r.isCircleCrop||e===this.lowerContext&&r.isCropTab)this.drawImgToCtx(e,i);else{switch(t){case"none":this.drawImgToCtx(e,i);break;case"mat":for(this.drawImgToCtx(e,i);(a.width-2*s.size<0||a.height-2*s.size<0)&&s.size>0;)s.size-=20;e.filter="none",e.fillStyle=this.getFrameColor(s,e,a),e.beginPath(),e.rect(a.startX,a.startY,a.width,a.height),e.rect(a.startX+s.size,a.startY+s.size,a.width-2*s.size,a.height-2*s.size),e.fill("evenodd"),e.closePath();break;case"bevel":for(e.filter="none",e.fillStyle=this.getFrameColor(s,e,a),e.beginPath(),e.fillRect(a.startX,a.startY,a.width,a.height),e.closePath(),a.startX+=s.size,a.startY+=s.size,a.width-=2*s.size,a.height-=2*s.size;(a.width-2*s.size<40||a.height-2*s.size<40)&&s.size>0;)a.startX-=s.size,a.startY-=s.size,a.width+=2*s.size,a.height+=2*s.size,s.size-=20,a.startX+=s.size,a.startY+=s.size,a.width-=2*s.size,a.height-=2*s.size;e.fillStyle=this.getFrameColor(s,e,a),e.save(),e.beginPath(),e.moveTo(a.startX+u,a.startY),e.lineTo(a.startX+a.width-u,a.startY),e.quadraticCurveTo(a.startX+a.width,a.startY,a.startX+a.width,a.startY+u),e.lineTo(a.startX+a.width,a.startY+a.height-u),e.quadraticCurveTo(a.startX+a.width,a.startY+a.height,a.startX+a.width-u,a.startY+a.height),e.lineTo(a.startX+u,a.startY+a.height),e.quadraticCurveTo(a.startX,a.startY+a.height,a.startX,a.startY+a.height-u),e.lineTo(a.startX,a.startY+u),e.quadraticCurveTo(a.startX,a.startY,a.startX+u,a.startY),e.closePath(),e.clip(),e.filter="none"===f?r.canvasFilter:f,e.canvas.id===r.element.id+"_tempCanvas"?(i=null,e.filter="none",e.drawImage(r.inMemoryCanvas,0,0),e.filter="none"===f?r.canvasFilter:f):(e.clearRect(0,0,e.canvas.width,e.canvas.height),i?(i=null,0!==r.transform.zoomFactor&&(this.isRotateZoom=!0),r.notify("filter",{prop:"getBevelFilter",onPropertyChange:!1,value:{obj:g}}),e.filter=g.bevelFilter,this.updateCurrTransState("initial"),this.drawImgToCtx(e,i),this.updateCurrTransState("reverse"),this.isRotateZoom=!1,r.frameObj.type="none",e.filter="none",r.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:e,shape:"iterate",pen:"iterate",isPreventApply:null}}),r.frameObj.type="bevel",e.filter="none"===f?r.canvasFilter:f):(r.notify("filter",{prop:"getBevelFilter",onPropertyChange:!1,value:{obj:g}}),e.filter=g.bevelFilter,this.drawImgToCtx(e,i))),e.restore();break;case"line":this.drawImgToCtx(e,i),o=e.lineWidth,e.lineWidth=s.size/10;for(var m=0;m<r.frameObj.amount;m++){m>0&&(a.startX+=s.offset,a.startY+=s.offset,a.width-=2*s.offset,a.height-=2*s.offset);var b=a.startY+a.height-s.inset-s.radius,y=a.startY+s.inset+s.radius,C=a.startX+a.width-s.inset-s.radius,x=a.startX+s.inset+s.radius,w=a.startX+s.inset+s.radius,P=a.startX+a.width-s.inset-s.radius,S=a.startY+s.inset+s.radius,j=a.startY+a.height-s.inset-s.radius;b>=y&&C>=x&&w<=P&&S<=j&&(e.filter="none",e.strokeStyle=this.getFrameColor(s,e,a),"dashed"===s.border?e.setLineDash([2.5*e.lineWidth,1.5*e.lineWidth]):"dotted"===s.border&&e.setLineDash([e.lineWidth,e.lineWidth]),e.beginPath(),e.moveTo(a.startX+s.inset+s.radius,a.startY+s.inset),e.lineTo(a.startX+a.width-s.inset-s.radius,a.startY+s.inset),e.arcTo(a.startX+a.width-s.inset,a.startY+s.inset,a.startX+a.width-s.inset,a.startY+s.inset+s.radius,s.radius),e.lineTo(a.startX+a.width-s.inset,a.startY+a.height-s.inset-s.radius),e.arcTo(a.startX+a.width-s.inset,a.startY+a.height-s.inset,a.startX+a.width-s.inset-s.radius,a.startY+a.height-s.inset,s.radius),e.lineTo(a.startX+s.inset+s.radius,a.startY+a.height-s.inset),e.arcTo(a.startX+s.inset,a.startY+a.height-s.inset,a.startX+s.inset,a.startY+a.height-s.inset-s.radius,s.radius),e.lineTo(a.startX+s.inset,a.startY+s.inset+s.radius),e.arcTo(a.startX+s.inset,a.startY+s.inset,a.startX+s.inset+s.radius,a.startY+s.inset,s.radius),e.closePath(),e.stroke(),e.setLineDash([]))}e.lineWidth=o;break;case"inset":this.drawImgToCtx(e,i),e.filter="none",e.strokeStyle=this.getFrameColor(s,e,a),o=e.lineWidth,e.lineWidth=s.size/10,e.beginPath(),e.moveTo(a.startX+s.offset,a.startY+s.inset),e.lineTo(a.startX+a.width-s.offset,a.startY+s.inset),e.moveTo(a.startX+a.width-s.inset,a.startY+s.offset),e.lineTo(a.startX+a.width-s.inset,a.startY+a.height-s.offset),e.moveTo(a.startX+a.width-s.offset,a.startY+a.height-s.inset),e.lineTo(a.startX+s.offset,a.startY+a.height-s.inset),e.moveTo(a.startX+s.inset,a.startY+a.height-s.offset),e.lineTo(a.startX+s.inset,a.startY+s.offset),e.stroke(),e.closePath(),e.lineWidth=o;break;case"hook":this.drawImgToCtx(e,i),e.filter="none",e.strokeStyle=this.getFrameColor(s,e,a),o=e.lineWidth,e.lineWidth=s.size/10,e.beginPath(),e.moveTo(a.startX+s.inset+v,a.startY+s.inset),e.lineTo(a.startX+s.inset,a.startY+s.inset),e.lineTo(a.startX+s.inset,a.startY+s.inset+v),e.moveTo(a.startX+a.width-s.inset-v,a.startY+s.inset),e.lineTo(a.startX+a.width-s.inset,a.startY+s.inset),e.lineTo(a.startX+a.width-s.inset,a.startY+s.inset+v),e.moveTo(a.startX+a.width-s.inset-v,a.startY+a.height-s.inset),e.lineTo(a.startX+a.width-s.inset,a.startY+a.height-s.inset),e.lineTo(a.startX+a.width-s.inset,a.startY+a.height-s.inset-v),e.moveTo(a.startX+s.inset+v,a.startY+a.height-s.inset),e.lineTo(a.startX+s.inset,a.startY+a.height-s.inset),e.lineTo(a.startX+s.inset,a.startY+a.height-s.inset-v),e.stroke(),e.lineWidth=o}(r.isCircleCrop||r.currSelectionPoint&&"crop-circle"===r.currSelectionPoint.shape)&&r.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:e,isSave:e.canvas.id===r.element.id+"_tempCanvas"||null,isFlip:null}}),e.filter=f}}},e.prototype.triggerFrameChange=function(e){var t=this.parent,i={cancel:!1,previousFrameSetting:e,currentFrameSetting:{type:t.toPascalCase(t.frameObj.type),color:t.frameObj.color,gradientColor:t.frameObj.gradientColor,size:t.frameObj.size,inset:t.frameObj.inset,offset:t.frameObj.offset,borderRadius:t.frameObj.radius,frameLineStyle:t.toPascalCase(t.frameObj.border),lineCount:t.frameObj.amount}};return t.trigger("frameChange",i),t.editCompleteArgs=i,i.cancel||this.setFrameObj(i.currentFrameSetting),i},e.prototype.setFrameObj=function(e){var t=this.parent;t.frameObj.type=e.type.toLowerCase(),t.frameObj.color=e.color,t.frameObj.gradientColor=e.gradientColor,t.frameObj.size=e.size,t.frameObj.inset=e.inset,t.frameObj.offset=e.offset,t.frameObj.radius=e.borderRadius,t.frameObj.border=e.frameLineStyle.toLowerCase(),t.frameObj.amount=e.lineCount},e.prototype.zoomToSel=function(e,t){var i=this.parent;if(this.straightenActObj&&JSON.stringify(this.straightenActObj.activePoint)===JSON.stringify(e.activePoint))if(i.activeObj=(0,l.extend)({},this.straightenActObj,null,!0),this.allowRedactStraighten=!1,0===i.transform.straighten){var o=i.img.destWidth,r=i.img.destHeight;for(i.transform.straighten=360;;){if((0,l.isNullOrUndefined)(this.straightenInitZoom)||!(Math.round(i.transform.zoomFactor*Math.pow(10,3))/Math.pow(10,3)>Math.round(this.straightenInitZoom*Math.pow(10,3))/Math.pow(10,3))){this.performDummyZoom();break}if(this.setZoomPan("out"),o===i.img.destWidth&&r===i.img.destHeight){this.performDummyZoom();break}0===i.transform.degree&&(i.transform.zoomFactor-=.025,i.transform.cropZoomFactor-=.025)}i.transform.straighten=0,i.img={destLeft:i.img.destLeft,destTop:i.img.destTop,destWidth:i.img.destWidth,destHeight:i.img.destHeight,srcLeft:i.img.srcLeft,srcTop:i.img.srcTop,srcWidth:i.img.srcWidth,srcHeight:i.img.srcHeight}}else(0,l.isNullOrUndefined)(this.straightenInitZoom)&&(this.straightenInitZoom=i.transform.zoomFactor),this.straightenInitZoom-i.transform.zoomFactor>0?i.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:-(this.straightenInitZoom-i.transform.zoomFactor),zoomPoint:null,isResize:!0}}):this.straightenInitZoom-i.transform.zoomFactor<0&&i.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:this.straightenInitZoom-i.transform.zoomFactor,zoomPoint:null,isResize:!0}}),i.activeObj=(0,l.extend)({},e,null,!0),i.transform.zoomFactor+=.001,this.calcStraightenedPoints(t);else this.straightenActObj=(0,l.extend)({},e,null,!0),i.activeObj=(0,l.extend)({},this.straightenActObj,null,!0),this.straightenInitZoom=i.transform.zoomFactor,this.calcStraightenedPoints(t)},e.prototype.isDestPointSmall=function(){var e=this.parent,t=e.img,i={startX:t.destLeft,startY:t.destTop,width:t.destWidth,height:t.destHeight};e.notify("shape",{prop:"straightenShapes",onPropertyChange:!1});var o=!1;return this.straightenDestPoints.destWidth&&this.straightenDestPoints.destHeight&&(t.destWidth<this.straightenDestPoints.destWidth||t.destHeight<this.straightenDestPoints.destHeight)&&(o=!0),t.destLeft=i.startX,t.destTop=i.startY,t.destWidth=i.width,t.destHeight=i.height,e.img=t,o},e.prototype.calcStraightenedPoints=function(e){var t=this.parent,i=t.img.destWidth,o=t.img.destHeight;(0,l.isNullOrUndefined)(t.transform.zoomFactor)&&(t.transform.zoomFactor+=.025),this.updateImgCanvasPoints();for(var r=function(){if(!(n.isLinesIntersect()||n.isSelOutsideImg()||e&&n.isDestPointSmall()))return n.performDummyZoom(),"break";if(t.activeObj=(0,l.extend)({},n.straightenActObj,null,!0),n.setZoomPan("in"),i===t.img.destWidth&&o===t.img.destHeight)return n.performDummyZoom(),"break";0===t.transform.degree&&(t.transform.zoomFactor+=.025,t.transform.cropZoomFactor+=.025);var r=n.imgCanvasPoints,a=t.img.destLeft,s=t.img.destTop,p=t.img.destWidth,d=t.img.destHeight;r.forEach(function(e){e.x=e.ratioX*p+a,e.y=e.ratioY*d+s}),n.imgCanvasPoints=r},n=this;;){if("break"===r())break}},e.prototype.performDummyZoom=function(){var e=this.parent;e.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:.025,zoomPoint:null,isResize:!0}}),e.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:-.025,zoomPoint:null,isResize:!0}});var t=10*e.transform.zoomFactor;t<1&&(t=1+t/10),e.setProperties({zoomSettings:{zoomFactor:t}},!0),e.notify("transform",{prop:"setPreviousZoomValue",onPropertyChange:!1,value:{previousZoomValue:t}}),this.panToSel()},e.prototype.setZoomPan=function(e){var t=this.parent,i={maxDimension:null};0===t.transform.degree?(t.notify("transform",{prop:"cropZoom",onPropertyChange:!1,value:{value:"in"===e?.025:-.025,selectionObj:t.activeObj,obj:i}}),t.img.destWidth=i.maxDimension.width,t.img.destHeight=i.maxDimension.height):(t.transform.zoomFactor+="in"===e?.025:-.025,t.transform.cropZoomFactor+="in"===e?.025:-.025,this.updateCurrTransState("initial"),this.isRotateZoom=!0,this.setDestPoints(),this.isRotateZoom=!1,this.updateCurrTransState("reverse"))},e.prototype.updateImgCanvasPoints=function(){var e=this.parent,t=this.getImagePoints(),i={width:0,height:0},o=e.baseImgCanvas.width,r=e.baseImgCanvas.height;e.notify("crop",{prop:"calcRatio",onPropertyChange:!1,value:{obj:i,dimension:{width:o,height:r}}});var n,a,s,l,p=i;o=e.transform.degree%90==0&&e.transform.degree%180!=0?p.height:p.width,r=e.transform.degree%90==0&&e.transform.degree%180!=0?p.width:p.height;var d=e.img,h=d.destLeft,c=d.destTop,u=d.destWidth,v=d.destHeight;e.transform.straighten>0?(n={x:h+t[0].x/o,y:c},a={x:h+u,y:c+t[1].y/r},s={x:h+u-t[0].x/o,y:c+v},l={x:h,y:c+v-t[1].y/r}):e.transform.straighten<0?(n={x:h,y:c+t[0].y/r},a={x:h+t[1].x/o,y:c},s={x:h+u,y:c+v-t[0].y/r},l={x:h+u-t[1].x/o,y:c+v}):0===e.transform.straighten&&(n={x:h,y:c},a={x:h+u,y:c},s={x:h+u,y:c+v},l={x:h,y:c+v}),n.ratioX=(n.x-h)/u,n.ratioY=(n.y-c)/v,a.ratioX=(a.x-h)/u,a.ratioY=(a.y-c)/v,s.ratioX=(s.x-h)/u,s.ratioY=(s.y-c)/v,l.ratioX=(l.x-h)/u,l.ratioY=(l.y-c)/v,this.imgCanvasPoints=[n,a,s,l]},e.prototype.isLinesIntersect=function(e){var t=this.parent,i=t.activeObj.activePoint;if(0!==t.activeObj.rotatedAngle){var o=t.activeObj.activePoint,r=o.startX,n=o.startY,a=o.endX,s=o.endY,l={x:r+o.width/2,y:n+o.height/2},p=Math.cos(t.activeObj.rotatedAngle),d=Math.sin(t.activeObj.rotatedAngle),h={x:p*(r-l.x)-d*(n-l.y)+l.x,y:d*(r-l.x)+p*(n-l.y)+l.y},c={x:p*(a-l.x)-d*(n-l.y)+l.x,y:d*(a-l.x)+p*(n-l.y)+l.y},u={x:p*(r-l.x)-d*(s-l.y)+l.x,y:d*(r-l.x)+p*(s-l.y)+l.y},v={x:p*(a-l.x)-d*(s-l.y)+l.x,y:d*(a-l.x)+p*(s-l.y)+l.y},g=this.imgCanvasPoints,f=this.doIntersect(h,c,g[0],g[1]),m=this.doIntersect(c,v,g[1],g[2]),b=this.doIntersect(u,v,g[2],g[3]),y=this.doIntersect(h,u,g[3],g[0]);return e&&(e.arr=[f,m,b,y]),f||m||b||y}var C=this.imgCanvasPoints,x=this.doIntersect({x:i.startX,y:i.startY},{x:i.endX,y:i.startY},C[0],C[1]),w=this.doIntersect({x:i.endX,y:i.startY},{x:i.endX,y:i.endY},C[1],C[2]),P=this.doIntersect({x:i.startX,y:i.endY},{x:i.endX,y:i.endY},C[2],C[3]),S=this.doIntersect({x:i.startX,y:i.startY},{x:i.startX,y:i.endY},C[3],C[0]),j=this.isInsideRect(C[0]),O=this.isInsideRect(C[1]),T=this.isInsideRect(C[2]),k=this.isInsideRect(C[3]);return e&&(e.arr=[x,w,P,S]),x||w||P||S||j||O||T||k||C[0].x>i.startX&&C[1].x<i.endX&&C[2].x<i.endX&&C[3].x>i.startX&&C[0].y<i.startY&&C[1].y<i.startY&&C[2].y>i.endY&&C[3].y>i.endY||C[0].x<i.startX&&C[1].x>i.endX&&C[2].x>i.endX&&C[3].x<i.startX&&C[0].y>i.startY&&C[1].y>i.startY&&C[2].y<i.endY&&C[3].y<i.endY},e.prototype.isSelOutsideImg=function(){var e=this.parent,t=this.imgCanvasPoints,i=e.activeObj.activePoint;return"inside"!==this.checkPointPosition(i.startX,i.startY,t[0].x,t[0].y,t[1].x,t[1].y,t[2].x,t[2].y,t[3].x,t[3].y)||"inside"!==this.checkPointPosition(i.endX,i.startY,t[0].x,t[0].y,t[1].x,t[1].y,t[2].x,t[2].y,t[3].x,t[3].y)||"inside"!==this.checkPointPosition(i.startX,i.endY,t[0].x,t[0].y,t[1].x,t[1].y,t[2].x,t[2].y,t[3].x,t[3].y)||"inside"!==this.checkPointPosition(i.endX,i.endY,t[0].x,t[0].y,t[1].x,t[1].y,t[2].x,t[2].y,t[3].x,t[3].y)},e.prototype.calcTriangleArea=function(e,t,i,o,r,n){return Math.abs((e*(o-n)+i*(n-t)+r*(t-o))/2)},e.prototype.checkPointPosition=function(e,t,i,o,r,n,a,s,l,p){var d=this.calcTriangleArea(e,t,i,o,l,p),h=this.calcTriangleArea(e,t,l,p,a,s),c=this.calcTriangleArea(e,t,a,s,r,n),u=this.calcTriangleArea(e,t,r,n,i,o),v=this.calcTriangleArea(i,o,r,n,a,s)+this.calcTriangleArea(a,s,l,p,i,o);return d+h+c+u>v?"outside":d+h+c+u!==v||0!==d&&0!==h&&0!==c&&0!==u?"inside":"on"},e.prototype.getImagePoints=function(){var e,t,i=[],o=this.parent,r=o.transform.degree;if(!o.aspectRatioBaseDimension&&o.imageSettings.width&&o.imageSettings.height){var n=(o.baseImg.width/o.imageSettings.width+o.baseImg.height/o.imageSettings.height)/2;n=n<1?1:n,e=o.imageSettings.width*n,t=o.imageSettings.height*n}else e=o.baseImg.width,t=o.baseImg.height;var a={dim:null,width:t,height:e,angle:o.transform.straighten};a.dim=o.getRotatedCanvasDim(a.width,a.height,a.angle);var s=r%90==0&&r%180!=0?t:e,l=r%90==0&&r%180!=0?e:t,p=(r%90==0&&r%180!=0?a.dim.width:o.baseImgCanvas.width)/2,d=(r%90==0&&r%180!=0?a.dim.height:o.baseImgCanvas.height)/2,h=p-s/2,c=d-l/2,u=p+s/2,v=d+l/2,g=p,f=d,m=o.transform.straighten*(Math.PI/180),b={x:Math.cos(m)*(h-g)-Math.sin(m)*(c-f)+g,y:Math.sin(m)*(h-g)+Math.cos(m)*(c-f)+f},y={x:Math.cos(m)*(u-g)-Math.sin(m)*(c-f)+g,y:Math.sin(m)*(u-g)+Math.cos(m)*(c-f)+f},C={x:Math.cos(m)*(u-g)-Math.sin(m)*(v-f)+g,y:Math.sin(m)*(u-g)+Math.cos(m)*(v-f)+f},x={x:Math.cos(m)*(h-g)-Math.sin(m)*(v-f)+g,y:Math.sin(m)*(h-g)+Math.cos(m)*(v-f)+f};return i.push(b),i.push(y),i.push(C),i.push(x),i},e.prototype.doIntersect=function(e,t,i,o){var r=this.initiation(e,t,i),n=this.initiation(e,t,o),a=this.initiation(i,o,e),s=this.initiation(i,o,t);return r!==n&&a!==s||(!(0!==r||!this.onSegment(e,i,t))||(!(0!==n||!this.onSegment(e,o,t))||(!(0!==a||!this.onSegment(i,e,o))||!(0!==s||!this.onSegment(i,t,o)))))},e.prototype.initiation=function(e,t,i){var o=(t.y-e.y)*(i.x-t.x)-(t.x-e.x)*(i.y-t.y);return 0===o?0:o>0?1:2},e.prototype.onSegment=function(e,t,i){return t.x<=Math.max(e.x,i.x)&&t.x>=Math.min(e.x,i.x)&&t.y<=Math.max(e.y,i.y)&&t.y>=Math.min(e.y,i.y)},e.prototype.isInsideRect=function(e){var t=this.parent.activeObj.activePoint,i=!1;return e.x>=t.startX&&e.x<=t.endX&&e.y>=t.startY&&e.y<=t.endY&&(i=!0),i},e.prototype.setDestForStraighten=function(){var e=this.parent;if((0,l.isNullOrUndefined)(this.straightenDestPoints)){var t=e.img,i=t.destLeft,o=t.destTop,r=t.destWidth,n=t.destHeight;e.notify("shape",{prop:"straightenShapes",onPropertyChange:!1}),this.straightenDestPoints=(0,l.extend)({},e.img,{},!0),e.img.destLeft=i,e.img.destTop=o,e.img.destWidth=r,e.img.destHeight=n}},e.prototype.drawRedact=function(e,t){var i=t.activePoint,o=i.startX,r=i.startY,n=i.endX,a=i.endY,s=t.activePoint,l=s.width,p=s.height,d=!1,h=e.canvas;-1!==h.id.indexOf("_tempCanvas")&&(d=!0);var c=this.parent.img;if(!(l<=0||p<=0))if(this.parent.isCropTab)e.drawImage(t.redactImage,0,0,t.redactImage.width,t.redactImage.height,o,r,l,p);else{var u=document.createElement("canvas"),v=u.getContext("2d"),g=h.width,f=h.height,m=Math.min(g,f)/1e3,b=Math.round(this.parent.activeObj.rotatedAngle*(180/Math.PI));if(this.allowRedactStraighten&&0!==b){var y=document.createElement("canvas"),C=y.getContext("2d");d?(y.width=h.width,y.height=h.height,C.drawImage(h,0,0)):(y.width=c.destWidth>h.width?h.width:c.destWidth,y.height=c.destHeight>h.height?h.height:c.destHeight,C.drawImage(this.lowerContext.canvas,c.destLeft>0?c.destLeft:0,c.destTop>0?c.destTop:0,y.width,y.height,0,0,y.width,y.height));var x=-b*Math.PI/180,w=document.createElement("canvas"),P=w.getContext("2d");w.width=y.width,w.height=y.height,c.destWidth>h.width&&!d&&(w.width=h.width),c.destHeight>h.height&&!d&&(w.height=h.height),P.save(),P.translate(y.width/2,y.height/2),P.rotate(x),P.drawImage(y,-y.width/2,-y.height/2),P.restore(),c.destLeft>0&&!d&&(o-=c.destLeft,n-=c.destLeft),c.destTop>0&&!d&&(r-=c.destTop,a-=c.destTop);var S={x:o+l/2,y:r+p/2},j=Math.cos(b*Math.PI/180),O=Math.sin(b*Math.PI/180),T={x:j*(o-S.x)-O*(r-S.y)+S.x,y:O*(o-S.x)+j*(r-S.y)+S.y},k={x:j*(n-S.x)-O*(r-S.y)+S.x,y:O*(n-S.x)+j*(r-S.y)+S.y},F={x:j*(o-S.x)-O*(a-S.y)+S.x,y:O*(o-S.x)+j*(a-S.y)+S.y};d?S={x:h.width/2,y:h.height/2}:(S={x:c.destWidth/2,y:c.destHeight/2},c.destWidth>h.width&&(S.x=h.width/2),c.destHeight>h.height&&(S.y=h.height/2)),j=Math.cos(x),O=Math.sin(x);var I={x:j*(T.x-S.x)-O*(T.y-S.y)+S.x,y:O*(T.x-S.x)+j*(T.y-S.y)+S.y},A={x:j*(k.x-S.x)-O*(k.y-S.y)+S.x,y:O*(k.x-S.x)+j*(k.y-S.y)+S.y},D={x:j*(F.x-S.x)-O*(F.y-S.y)+S.x,y:O*(F.x-S.x)+j*(F.y-S.y)+S.y},E=d?e.canvas.width:c.destWidth>h.width?h.width:c.destWidth,R=d?e.canvas.height:c.destHeight>h.height?h.height:c.destHeight,L=Math.abs(E*Math.cos(x))+Math.abs(R*Math.sin(x)),z=Math.abs(E*Math.sin(x))+Math.abs(R*Math.cos(x)),M=w.width,B=w.height;if(w.width=L,w.height=z,P.save(),P.translate(L/2,z/2),P.rotate(x),P.drawImage(y,-y.width/2,-y.height/2),P.restore(),"blur"===this.parent.activeObj.redactType){u.width=l,u.height=p;var H=I.x+(L-M)/2,N=I.y+(z-B)/2;this.isRedactStraighten&&(H=o+(L-M)/2,N=r+(z-B)/2),v.drawImage(w,H,N,A.x-I.x,D.y-A.y,0,0,l,p)}else{var Y=t.redactPixelate/100*20;d&&(Y=m*(t.redactPixelate/100)*35),u.width=Math.ceil(l/Y),u.height=Math.ceil(p/Y);H=I.x+(L-M)/2,N=I.y+(z-B)/2;this.isRedactStraighten&&(H=o+(L-M)/2,N=r+(z-B)/2),v.drawImage(w,H,N,A.x-I.x,D.y-A.y,0,0,u.width,u.height)}}if("blur"===this.parent.activeObj.redactType){if(0===b&&(u.width=l,u.height=p,v.drawImage(d?h:this.lowerContext.canvas,o,r,l,p,0,0,l,p)),d){var W=m*(t.redactBlur/100*34);v.filter="blur("+W+"px)"}else v.filter="blur("+t.redactBlur/100*17+"px)";v.drawImage(u,0,0),0===b?v.drawImage(d?h:this.lowerContext.canvas,o,r,l,p,0,0,l,p):(c.destLeft>0&&!d&&(o+=c.destLeft,n+=c.destLeft),c.destTop>0&&!d&&(r+=c.destTop,a+=c.destTop)),this.parent.isSafari&&this.parent.notify("filter",{prop:"apply-filter",onPropertyChange:!1,value:{context:v}}),e.drawImage(u,0,0,l,p,o,r,l,p)}else{Y=t.redactPixelate/100*20;d&&(Y=m*(t.redactPixelate/100)*35),0===b?(u.width=Math.ceil(l/Y),u.height=Math.ceil(p/Y),v.drawImage(d?h:this.lowerContext.canvas,o,r,l,p,0,0,u.width,u.height)):(c.destLeft>0&&!d&&(o+=c.destLeft,n+=c.destLeft),c.destTop>0&&!d&&(r+=c.destTop,a+=c.destTop)),e.imageSmoothingEnabled=!1,e.drawImage(u,0,0,u.width,u.height,o,r,l,p),this.parent.imageSmoothingEnabled&&(e.imageSmoothingEnabled=!0)}t.redactImage=this.parent.createElement("canvas"),t.redactImage.width=u.width,t.redactImage.height=u.height,t.redactImage.getContext("2d").drawImage(u,0,0),e.beginPath(),e.rect(o,r,l,p),e.rect(o,r,l,p),e.fill("evenodd"),e.closePath()}},e}(),H=function(){function e(e){this.parent=e,this.addEventListener()}return e.prototype.destroy=function(){this.parent.isDestroyed||this.removeEventListener()},e.prototype.addEventListener=function(){this.parent.on("export",this.export,this),this.parent.on("destroyed",this.destroy,this)},e.prototype.removeEventListener=function(){this.parent.off("export",this.export),this.parent.off("destroyed",this.destroy)},e.prototype.export=function(e){switch(this.parent.notify("toolbar",{prop:"refreshShapeDrawing",onPropertyChange:!1}),this.updatePvtVar(),e.prop){case"export":this.exportImg(e.value.type,e.value.fileName,e.value.imgQuality);break;case"exportToCanvas":this.exportToCanvas(e.value.object);break;case"updateSaveContext":this.updateSaveContext(e.value.context);break;case"setImageQuality":this.imageQuality=e.value.value;break;case"drawAnnotation":this.drawAnnotation(e.value.context,e.value.ratio);break;case"downScaleImgCanvas":this.downScaleImgCanvas(e.value.canvas,e.value.width,e.value.height)}},e.prototype.getModuleName=function(){return"export"},e.prototype.updatePvtVar=function(){var e=this.parent;e.lowerCanvas&&(this.lowerContext=e.lowerCanvas.getContext("2d"))},e.prototype.exportImg=function(e,t,i){var o=this.parent,r={fileName:""};o.notify("draw",{prop:"getFileName",onPropertyChange:!1,value:{obj:r}});var n=r.fileName;if(!o.disabled&&o.isImageLoaded){o.notify("shape",{prop:"applyActObj",onPropertyChange:!1,value:{isMouseDown:null}});var a={canvasFilter:this.parent.canvasFilter};this.lowerContext.filter=a.canvasFilter,e=e||"Png",o.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:null}});var s={cancel:!1,fileName:t||n,fileType:e,imageQuality:i};o.trigger("beforeSave",s),this.beforeSaveEvent(s,e,t,n,i)}},e.prototype.beforeSaveEvent=function(e,t,i,o,r){var n=this.parent;if(!e.cancel){n.currObjType.isSave=!0,i=e.fileName?e.fileName:i;var a=t.toLowerCase();i=i||o,"svg"===a?this.toSVGImg(i):this.toBlobFn(i,a,e.imageQuality||r);var s={fileName:i||o,fileType:t};n.trigger("saved",s);var l={action:"save",actionEventArgs:s};n.triggerEditCompleteEvent(l),n.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1}),n.lowerCanvas.style.left=n.upperCanvas.style.left="",n.lowerCanvas.style.top=n.upperCanvas.style.top="",n.lowerCanvas.style.maxWidth=n.upperCanvas.style.maxWidth="",n.lowerCanvas.style.maxHeight=n.upperCanvas.style.maxHeight=""}},e.prototype.toSVGImg=function(e){var t=this.parent;(0,I.showSpinner)(t.element),t.element.style.opacity="0.5";var i=this.exportToCanvas(),o=i.toDataURL();(0,I.hideSpinner)(t.element),t.element.style.opacity="1";var r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttribute("width",i.style.maxWidth),r.setAttribute("height",i.style.maxHeight);var n=document.createElementNS("http://www.w3.org/2000/svg","image");n.setAttributeNS(null,"height",i.height.toString()),n.setAttributeNS(null,"width",i.width.toString()),n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",o),r.appendChild(n);var a='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+i.width+'" height="'+i.height+'">',s=r.innerHTML,l="data:image/svg+xml;base64,"+btoa(a+s+"</svg>");return null===e?l:(this.downloadImg(l,e+".svg"),null)},e.prototype.toBlobFn=function(e,t,i){var o=this,r=this.parent;(0,I.showSpinner)(r.element),r.element.style.opacity="0.5",(0,l.isNullOrUndefined)(i)||(i=i>1?1:i<=0?.01:i,this.imageQuality=i||null);var n=this.exportToCanvas(),a="jpeg"===t?"image/jpeg":"webp"===t?"image/webp":"image/png";n.toBlob(function(i){var n=URL.createObjectURL(i);o.downloadImg(n,e+"."+t),(0,I.hideSpinner)(r.element),r.element.style.opacity="1"},a,this.imageQuality?this.imageQuality:null)},e.prototype.exportToCanvas=function(e){var t,i,o=this.parent,r=(0,l.extend)({},o.cropObj,{},!0),n={currObj:{}};o.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:n}});var a=n.currObj;a.objColl=(0,l.extend)([],o.objColl,[],!0),a.pointColl=(0,l.extend)([],o.pointColl,[],!0),a.afterCropActions=(0,l.extend)([],o.afterCropActions,[],!0);var s={selPointColl:null};o.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:s}}),this.parent.aspectWidth?(o.notify("undo-redo",{prop:"setPreventUR",value:{bool:!0}}),o.notify("toolbar",{prop:"resizeClick",value:{bool:!1}}),o.okBtn(),o.transform.degree%90==0&&o.transform.degree%180!=0?(t=this.parent.aspectHeight,i=this.parent.aspectWidth):(t=this.parent.aspectWidth,i=this.parent.aspectHeight),o.notify("undo-redo",{prop:"setPreventUR",value:{bool:!1}})):o.currSelectionPoint?(t=o.img.srcWidth,i=o.img.srcHeight):(t=o.baseImgCanvas.width,i=o.baseImgCanvas.height);var p={width:0,height:0};o.notify("crop",{prop:"calcRatio",onPropertyChange:!1,value:{obj:p,dimension:{width:t,height:i}}});var d=p,h=this.lowerContext.filter;if("none"!==this.lowerContext.filter){var c=this.lowerContext.filter.split(" "),u=parseFloat(c[5].split("(")[1]);u*=(d.width+d.height)/2,c[5]="blur("+u+"px)",this.lowerContext.filter=c.join(" ")}var v=o.createElement("canvas",{id:o.element.id+"_tempCanvas",attrs:{name:"canvasImage"}}),g=v.getContext("2d");v.width=t,v.height=i;var f={width:0,height:0};o.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:t,height:i,obj:f}});var m=f;v.style.maxWidth=m.width+"px",v.style.maxHeight=m.height+"px";var b=this.lowerContext.filter;return g.filter=this.lowerContext.filter,this.downScaleImgCanvas(g,t,i),this.lowerContext.filter=b,0===o.transform.degree&&""===o.transform.currFlipState&&0===o.transform.straighten||(this.updateSaveContext(g),this.exportTransformedImage(g)),o.isSafari&&o.notify("filter",{prop:"apply-filter",onPropertyChange:!1,value:{context:g}}),this.drawAnnotation(g,d),o.isCircleCrop&&o.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:g,isSave:!0,isFlip:null}}),this.updateFrame(g,!0),this.lowerContext.filter=h,o.canvasFilter=h,e&&(e.canvas=v),o.aspectWidth&&(o.objColl=[],o.pointColl=[],o.freehandCounter=0,o.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:[]}}}),o.notify("draw",{prop:"setCurrentObj",onPropertyChange:!1,value:{obj:a}}),a.selPointColl=(0,l.extend)([],s.selPointColl,[],!0),o.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:a.selPointColl}}}),o.cropObj=r,o.objColl=(0,l.extend)([],a.objColl,[],!0),o.pointColl=(0,l.extend)([],a.pointColl,[],!0),o.freehandCounter=o.pointColl.length,o.transform.straighten=0,this.lowerContext.filter="none",o.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),this.lowerContext.filter=a.filter,o.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),(o.isCircleCrop||o.currSelectionPoint&&"crop-circle"===o.currSelectionPoint.shape)&&o.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}})),v},e.prototype.drawAnnotation=function(e,t){var i=this.parent,o=(0,l.extend)([],i.objColl,[],!0),r=(0,l.extend)([],i.pointColl,[],!0),n=i.shapeColl.filter(function(e){return"redact"!==e.shape}),a=i.shapeColl.filter(function(e){return"redact"===e.shape});i.shapeColl=a.concat(n);for(var s=0;s<i.shapeColl.length;s++)i.shapeColl[s].order&&(i.shapeColl[s].currIndex&&i.shapeColl[s].currIndex.indexOf("shape")>-1?(i.objColl=[],i.objColl.push((0,l.extend)({},i.shapeColl[s],{},!0)),this.drawShape(e,t)):i.shapeColl[s].id&&i.shapeColl[s].id.indexOf("pen")>-1&&(i.pointColl=[],i.freehandCounter=0,i.pointColl.push((0,l.extend)({},i.shapeColl[s],{},!0)),i.freehandCounter=i.pointColl.length,this.drawPen(e,t)));i.objColl=o,i.pointColl=r,i.freehandCounter=i.pointColl.length},e.prototype.drawShape=function(e,t){var i=this.parent;if(i.objColl.length>0){var o=e.filter;e.filter="none";var r={index:null};i.notify("shape",{prop:"getSmallestIndex",onPropertyChange:!1,value:{obj:r}});for(var n=r.index,a=(0,l.extend)([],i.objColl,[],!0),s=(0,l.extend)([],i.objColl,[],!0);a.length>0;){for(var p=!1,d=0;d<a.length;d++){var h=a[d];if((0,l.isNullOrUndefined)(h.order))a.splice(d,1),d--;else if(h.order===n){var c=e.filter;e.filter="none";var u=a[d],v=u.activePoint;if(v.startX-=i.img.destLeft,v.startY-=i.img.destTop,v.endX-=i.img.destLeft,v.endY-=i.img.destTop,v.width=v.endX-v.startX,v.height=v.endY-v.startY,v.startX*=t.width,v.startY*=t.height,v.endX*=t.width,v.endY*=t.height,v.width=v.endX-v.startX,v.height=v.endY-v.startY,u.strokeSettings.strokeWidth*=(t.width+t.height)/2,"text"===u.shape)u.textSettings.fontSize*=(t.width+t.height)/2;else if("path"===u.shape)for(var g=0;g<u.pointColl.length;g++)u.pointColl[g].x=(u.pointColl[g].x-i.img.destLeft)*t.width,u.pointColl[g].y=(u.pointColl[g].y-i.img.destTop)*t.height;else"image"===u.shape&&(i.activeObj=(0,l.extend)({},a[d],{},!0),i.notify("selection",{prop:"upgradeImageQuality",onPropertyChange:!1}),a[d]=(0,l.extend)({},i.activeObj,{},!0));i.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"saveContext",obj:a[d],isCropRatio:null,points:null,isPreventDrag:!0,saveContext:e,isPreventSelection:null}}),e.filter=c,i.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),n++;var f={bool:!1};i.notify("shape",{prop:"isIndexInObjColl",onPropertyChange:!1,value:{obj:f,index:n}}),f.bool||n++,a.splice(d,1),p=!0;break}}if(!p)break}e.filter=o,i.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),i.objColl=s}},e.prototype.drawPen=function(e,t){var i=this.parent;if(i.freehandCounter>0){var o={penStrokeWidth:null};i.notify("freehand-draw",{prop:"getPenStrokeWidth",onPropertyChange:!1,value:{obj:o}});for(var r=(0,l.extend)({},i.pointColl,{},!0),n=0;n<i.freehandCounter;n++){i.points=(0,l.extend)([],i.pointColl[n].points,[]),i.notify("freehand-draw",{prop:"setPointCounter",onPropertyChange:!1,value:{value:0}});var a=i.points.length;i.pointColl[n].strokeWidth*=(t.width+t.height)/2;for(var s=0;s<a;s++)i.points[s].x=(i.points[s].x-i.img.destLeft)*t.width,i.points[s].y=(i.points[s].y-i.img.destTop)*t.height}i.notify("freehand-draw",{prop:"freehandRedraw",onPropertyChange:!1,value:{context:e,points:null}}),i.pointColl=r,i.notify("freehand-draw",{prop:"setPenStrokeWidth",onPropertyChange:!1,value:{value:o.penStrokeWidth}})}},e.prototype.downScaleImgCanvas=function(e,t,i){var o=this.parent,r=o.baseImgCanvas,n=o.baseImg,a={width:0,height:0};o.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:n.width,height:n.height,obj:a,isImgShape:null}});var s={color:null};if(o.notify("draw",{prop:"getImageBackgroundColor",value:{obj:s}}),""!==s.color&&(e.fillStyle=s.color,e.fillRect(0,0,e.canvas.width,e.canvas.height)),a.width>t&&a.height>i){var l=o.createElement("canvas",{id:o.element.id+"_downScaleCanvas",attrs:{name:"canvasImage"}});l.width=this.parent.img.srcWidth,l.height=this.parent.img.srcHeight,l.getContext("2d").drawImage(r,o.img.srcLeft,o.img.srcTop,o.img.srcWidth,o.img.srcHeight,0,0,l.width,l.height),o.notify("draw",{prop:"downScale",value:{canvas:l,width:t,height:i}}),e.drawImage(l,0,0)}else e.drawImage(o.baseImgCanvas,o.img.srcLeft,o.img.srcTop,o.img.srcWidth,o.img.srcHeight,0,0,t,i)},e.prototype.updateFrame=function(e,t){if("none"!==this.parent.frameObj.type){var i=e.filter;e.filter="none",this.parent.notify("draw",{prop:"applyFrame",value:{ctx:e,frame:this.parent.frameObj.type,preventImg:t}}),e.filter=i}},e.prototype.downloadImg=function(e,t){var i=document.createElement("a");i.href=e,i.target="_parent",i.download=t,(document.body||document.documentElement).appendChild(i),i.click(),i.parentNode.removeChild(i)},e.prototype.exportTransformedImage=function(e){var t=this.parent,i=t.transform.degree;if(t.rotateFlipColl.length>0)for(var o=0,r=t.rotateFlipColl.length;o<r;o++){var n=t.rotateFlipColl[o];"number"==typeof n?this.exportRotate(e,n):"horizontal"===n?this.exportFlip(e,!0,!1):"vertical"===n&&this.exportFlip(e,!1,!0)}t.transform.degree=i},e.prototype.exportRotate=function(e,t){var i=this.parent;e.clearRect(0,0,e.canvas.width,e.canvas.height),this.setMaxDim(i.transform.degree,e.canvas),e.translate(e.canvas.width/2,e.canvas.height/2),e.rotate(Math.PI/180*t),e.drawImage(i.inMemoryCanvas,-e.canvas.height/2,-e.canvas.width/2,e.canvas.height,e.canvas.width),this.updateSaveContext(e)},e.prototype.exportFlip=function(e,t,i){e.clearRect(0,0,e.canvas.width,e.canvas.height),t&&(e.translate(e.canvas.width,0),e.scale(-1,1)),i&&(e.translate(0,e.canvas.height),e.scale(1,-1)),e.drawImage(this.parent.inMemoryCanvas,0,0),this.updateSaveContext(e)},e.prototype.updateSaveContext=function(e){var t=this.parent.inMemoryCanvas.getContext("2d");e.setTransform(1,0,0,1,0,0);var i=e.getImageData(0,0,e.canvas.width,e.canvas.height);this.parent.inMemoryCanvas.width=i.width,this.parent.inMemoryCanvas.height=i.height,t.putImageData(i,0,0)},e.prototype.setMaxDim=function(e,t){var i,o;e%90==0&&e%180!=0?(0,l.isNullOrUndefined)(this.parent.currSelectionPoint)?(i=this.parent.baseImgCanvas.height,o=this.parent.baseImgCanvas.width):(i=this.parent.img.srcHeight,o=this.parent.img.srcWidth):e%180!=0&&0!==e||((0,l.isNullOrUndefined)(this.parent.currSelectionPoint)?(i=this.parent.baseImgCanvas.width,o=this.parent.baseImgCanvas.height):(i=this.parent.img.srcWidth,o=this.parent.img.srcHeight)),(0,l.isNullOrUndefined)(this.parent.aspectWidth)||(i=this.parent.aspectWidth,o=this.parent.aspectHeight),t.width=i,t.height=o;var r={width:0,height:0};this.parent.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:i,height:o,obj:r,isImgShape:null}});var n=r;t.style.maxWidth=n.width+"px",t.style.maxHeight=n.height+"px"},e}(),N=function(){function e(e){this.adjustmentLevel={brightness:0,contrast:0,hue:0,opacity:100,saturation:0,blur:0,exposure:0,transparency:100,sharpen:!1,bw:!1},this.tempAdjustmentLevel={brightness:0,contrast:0,hue:0,opacity:100,saturation:0,blur:0,exposure:0,transparency:100,sharpen:!1,bw:!1},this.adjustmentValue="",this.isBrightnessAdjusted=!1,this.bevelFilter="none",this.tempAdjVal={brightness:0,contrast:0,hue:0,opacity:100,saturation:0,blur:0,exposure:0,transparency:100,sharpen:!1,bw:!1},this.tempFilVal="",this.parent=e,this.addEventListener()}return e.prototype.destroy=function(){this.parent.isDestroyed||this.removeEventListener()},e.prototype.addEventListener=function(){this.parent.on("filter",this.filter,this),this.parent.on("destroyed",this.destroy,this)},e.prototype.removeEventListener=function(){this.parent.off("filter",this.filter),this.parent.off("destroyed",this.destroy)},e.prototype.filter=function(e){switch(this.updatePrivateVariables(),e.prop){case"finetuneImage":this.finetuneImage(e.value.option,e.value.value);break;case"applyImageFilter":this.setFilter(e.value.option);break;case"update-finetunes":this.updateFinetunes();break;case"set-adjustment":this.setAdjustment(e.value.operation);break;case"initFilter":this.initFilter();break;case"setCurrAdjValue":this.setCurrAdjValue(e.value.type,e.value.value);break;case"updateAdj":this.updateAdj(e.value.type,e.value.value,e.value.isPreview,e.value.ctx);break;case"getCurrentObj":this.getCurrentObj(e.value.object);break;case"getAdjustmentLevel":(0,l.isNullOrUndefined)(this.parent.activeObj.opacity)?this.adjustmentLevel.transparency=100:this.adjustmentLevel.transparency=100*this.parent.activeObj.opacity,e.value.obj.adjustmentLevel=this.adjustmentLevel;break;case"setAdjustmentLevel":this.adjustmentLevel=e.value.adjustmentLevel;break;case"getTempAdjustmentLevel":e.value.obj.tempAdjustmentLevel=this.tempAdjustmentLevel;break;case"setTempAdjustmentLevel":this.tempAdjustmentLevel=e.value.tempAdjustmentLevel;break;case"setAdjustmentValue":this.adjustmentValue=e.value.adjustmentValue;break;case"setBrightnessAdjusted":this.isBrightnessAdjusted=e.value.isBrightnessAdjusted,this.parent.currentFilter.split("_")&&"cold"===this.parent.currentFilter.split("_")[1]&&(this.isBrightnessAdjusted=!1);break;case"getBevelFilter":e.value.obj.bevelFilter=this.bevelFilter;break;case"setBevelFilter":this.bevelFilter=e.value.bevelFilter;break;case"setTempAdjVal":this.tempAdjVal=(0,l.extend)({},this.adjustmentLevel,{},!0);break;case"setTempFilVal":this.tempFilVal=this.parent.currentFilter;break;case"reset":this.reset();break;case"apply-filter":this.applyFilter(e.value.context)}},e.prototype.updatePrivateVariables=function(){var e=this.parent;e.lowerCanvas&&(this.lowerContext=e.lowerCanvas.getContext("2d"))},e.prototype.getModuleName=function(){return"filter"},e.prototype.reset=function(){this.adjustmentLevel={brightness:0,contrast:0,hue:0,opacity:100,saturation:0,blur:0,exposure:0,transparency:100,sharpen:!1,bw:!1},this.tempAdjustmentLevel={brightness:0,contrast:0,hue:0,opacity:100,saturation:0,blur:0,exposure:0,transparency:100,sharpen:!1,bw:!1},this.adjustmentValue=this.parent.getDefaultFilter(),this.isBrightnessAdjusted=!1,this.bevelFilter="none",this.tempFilVal="",this.tempAdjVal={brightness:0,contrast:0,hue:0,opacity:100,saturation:0,blur:0,exposure:0,transparency:100,sharpen:!1,bw:!1}},e.prototype.updateFinetunes=function(){var e=this,t=this.parent,i=t.finetuneSettings;if(i){["brightness","contrast","hue","saturation","exposure","opacity","blur"].forEach(function(t){i[t]&&(e.adjustmentLevel[t]=i[t].defaultValue,e.tempAdjustmentLevel[t]=i[t].defaultValue)}),t.notify("draw",{prop:"isInitialLoading",onPropertyChange:!1,value:{isInitialLoading:!0}})}},e.prototype.initFilter=function(){this.setFilterAdj("brightness",this.adjustmentLevel.brightness),this.setFilterAdj("contrast",this.adjustmentLevel.contrast),this.setFilterAdj("hue",this.adjustmentLevel.hue),this.setFilterAdj("saturation",this.adjustmentLevel.saturation),this.setFilterAdj("exposure",this.adjustmentLevel.exposure),this.setFilterAdj("opacity",this.adjustmentLevel.opacity),this.setFilterAdj("blur",this.adjustmentLevel.blur)},e.prototype.updateAdj=function(e,t,i,o){var r=this.parent;this.lowerContext.clearRect(0,0,r.lowerCanvas.width,r.lowerCanvas.height);var n,a,s,p,d,h=this.lowerContext.filter.split(" "),c=[],u=this.getFilterValue(this.adjustmentLevel.brightness);switch(e){case"brightness":t=this.getFilterValue(this.adjustmentLevel.exposure)+.005*t,h[0]="brightness("+t+")",0!==this.adjustmentLevel.brightness?(t=this.adjustmentLevel.opacity/100-.3*this.adjustmentLevel.opacity/100,h[4]="opacity("+t+")"):(t=this.adjustmentLevel.opacity/100,h[4]="opacity("+t+")"),this.adjustmentValue=h.join(" ");break;case"contrast":h[1]="contrast("+t+"%)",this.adjustmentValue=h.join(" ");break;case"hue":h[2]="hue-rotate("+t+"deg)",this.adjustmentValue=h.join(" ");break;case"saturation":h[3]="saturate("+t+"%)",this.adjustmentValue=h.join(" ");break;case"opacity":1!==parseFloat(h[0].split("(")[1])&&(t-=.2),t<0&&(t=0),h[4]="opacity("+t+")",this.adjustmentValue=h.join(" ");break;case"blur":h[5]="blur("+t+"px)",this.adjustmentValue=h.join(" ");break;case"exposure":t>1?(t-=1,t+=u):t<1&&(t=u-(t=1-t)),h[0]="brightness("+t+")",this.adjustmentValue=h.join(" ");break;case"chrome":n=this.getSaturationFilterValue(this.adjustmentLevel.saturation),t=(n*=100)+.4*n,h[3]="saturate("+t+"%)",c=this.adjustmentValue.split(" "),h[0]=c[0],h[1]=c[1],h[2]=c[2],h[4]=c[4],h[5]=c[5],h[6]="sepia(0%)",h[7]="grayscale(0%)",h[8]="invert(0%)";break;case"cold":a=this.getFilterValue(this.adjustmentLevel.brightness),t=.9*(a*=100),t*=.01,h[0]="brightness("+t+")",p=this.getFilterValue(this.adjustmentLevel.contrast),t=(p*=100)+.5*p,h[1]="contrast("+t+"%)",d=this.getSaturationFilterValue(this.adjustmentLevel.saturation),t=d*=100,h[3]="saturate("+t+"%)",c=this.adjustmentValue.split(" "),h[2]=c[2],h[4]=c[4],h[5]=c[5],h[6]="sepia(0%)",h[7]="grayscale(0%)",h[8]="invert(0%)";break;case"warm":s=this.getSaturationFilterValue(this.adjustmentLevel.saturation),t=(s*=100)+.4*s,h[3]="saturate("+t+"%)",h[6]="sepia(25%)",c=this.adjustmentValue.split(" "),h[0]=c[0],h[1]=c[1],h[2]=c[2],h[4]=c[4],h[5]=c[5],h[7]="grayscale(0%)",h[8]="invert(0%)";break;case"grayscale":h[7]="grayscale(100%)",c=this.adjustmentValue.split(" "),h[0]=c[0],h[1]=c[1],h[2]=c[2],h[3]=c[3],h[4]=c[4],h[5]=c[5],h[6]="sepia(0%)",h[8]="invert(0%)";break;case"sepia":h[6]="sepia(100%)",c=this.adjustmentValue.split(" "),h[0]=c[0],h[1]=c[1],h[2]=c[2],h[3]=c[3],h[4]=c[4],h[5]=c[5],h[7]="grayscale(0%)",h[8]="invert(0%)";break;case"invert":h[8]="invert(100%)",c=this.adjustmentValue.split(" "),h[0]=c[0],h[1]=c[1],h[2]=c[2],h[3]=c[3],h[4]=c[4],h[5]=c[5],h[6]="sepia(0%)",h[7]="grayscale(0%)"}if("sharpen"!==e&&"blackandwhite"!==e){(0,l.isNullOrUndefined)(i)&&("default"===e&&(h=this.getDefaultCurrentFilter(h)),this.lowerContext.filter=h.join(" ")),h=this.setTempFilterValue(u,i,h,e),r.notify("draw",{prop:"setRotateZoom",onPropertyChange:!1,value:{isRotateZoom:!0}}),r.notify("draw",{prop:"updateCurrTransState",onPropertyChange:!1,value:{type:"initial",isPreventDestination:null,isRotatePan:null}});var v=void 0;"bevel"===r.frameObj.type&&(v=this.lowerContext.filter,this.bevelFilter=v),0===r.transform.degree&&r.rotateFlipColl.length>0&&(r.img.destLeft+=r.panPoint.totalPannedPoint.x,r.img.destTop+=r.panPoint.totalPannedPoint.y),r.img.destLeft+=r.panPoint.totalPannedInternalPoint.x,r.img.destTop+=r.panPoint.totalPannedInternalPoint.y,0===r.transform.degree&&r.notify("transform",{prop:"setDestPointsForFlipState",onPropertyChange:!1}),r.notify("draw",{prop:"drawImage",onPropertyChange:!1}),r.notify("draw",{prop:"updateCurrTransState",onPropertyChange:!1,value:{type:"reverse",isPreventDestination:null,isRotatePan:null}}),r.notify("draw",{prop:"setRotateZoom",onPropertyChange:!1,value:{isRotateZoom:!1}}),0===r.transform.degree&&r.rotateFlipColl.length>0&&(r.img.destLeft+=r.panPoint.totalPannedPoint.x,r.img.destTop+=r.panPoint.totalPannedPoint.y),h=this.setTempFilterValue(u,i,h,e),(0,l.isNullOrUndefined)(i)&&(this.lowerContext.filter=h.join(" ")),r.initialAdjustmentValue=h.join(" "),v=this.lowerContext.filter,this.lowerContext.filter="brightness(1) contrast(100%) hue-rotate(0deg) saturate(100%) opacity(1) blur(0px) sepia(0%) grayscale(0%) invert(0%)",this.bevelFilter=v,r.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"iterate",pen:"iterate",isPreventApply:null}}),this.lowerContext.filter=v,r.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),(r.currSelectionPoint&&"crop-circle"===r.currSelectionPoint.shape||r.isCircleCrop)&&r.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}}),this.isBrightnessAdjusted=1!==u}var g=h.join(" ");o&&(o.filter=g)},e.prototype.setTempFilterValue=function(e,t,i,o){if(t)if("default"===o)i=this.getDefaultCurrentFilter(i);else if(1!==e){var r=this.lowerContext.filter.split(" ");r[4]=i[4],this.lowerContext.filter=r.join(" ")}return i},e.prototype.getDefaultCurrentFilter=function(e){var t=this.adjustmentValue.split(" ");return[t[0],t[1],t[2],t[3],t[4],t[5],"sepia(0%)","grayscale(0%)","invert(0%)"]},e.prototype.getFilterValue=function(e){return 0===e?1:1+.5*e/100},e.prototype.getSaturationFilterValue=function(e){return 0===e?1:1+e/100},e.prototype.setFilterAdj=function(e,t){var i=this.parent;switch(i.notify("freehand-draw",{prop:"apply-pen-draw",onPropertyChange:!1}),this.adjustmentLevel[""+e]=t,e){case"contrast":case"exposure":t=this.getFilterValue(t),"contrast"===e&&(t*=100);break;case"hue":t*=3;break;case"saturation":t=100*this.getSaturationFilterValue(t);break;case"opacity":t<10&&(t+=1),t/=100;break;case"blur":0!==t&&(t/=20,t+=.5)}var o=(0,l.extend)({},i.cropObj,{},!0),r=this.getCurrentObj();r.objColl=(0,l.extend)([],i.objColl,[],!0),r.pointColl=(0,l.extend)([],i.pointColl,[],!0),r.afterCropActions=(0,l.extend)([],i.afterCropActions,[],!0);var n={selPointColl:null};i.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:n}}),r.selPointColl=(0,l.extend)([],n.selPointColl,[],!0),this.updateAdj(e,t),i.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:e,previousObj:r,previousObjColl:r.objColl,previousPointColl:r.pointColl,previousSelPointColl:r.selPointColl,previousCropObj:o,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}})},e.prototype.setFilter=function(e){var t=this.parent;e=e.toLowerCase(),t.notify("freehand-draw",{prop:"apply-pen-draw",onPropertyChange:!1});var i={currentFilter:this.parent.currentFilter}.currentFilter,o=(0,l.extend)({},t.cropObj,{},!0),r=this.getCurrentObj();r.objColl=(0,l.extend)([],t.objColl,[],!0),r.pointColl=(0,l.extend)([],t.pointColl,[],!0),r.afterCropActions=(0,l.extend)([],t.afterCropActions,[],!0);var n={selPointColl:null};t.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:n}}),r.selPointColl=(0,l.extend)([],n.selPointColl,[],!0),this.updateAdj(e,null),t.notify("draw",{prop:"setImageEdited",onPropertyChange:!1}),t.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:e,previousObj:r,previousObjColl:r.objColl,previousPointColl:r.pointColl,previousSelPointColl:r.selPointColl,previousCropObj:o,previousText:null,currentText:null,previousFilter:i,isCircleCrop:null}})},e.prototype.setAdjustment=function(e){var t,i,o=this.lowerContext.filter.split(" ");switch(e){case"brightness":i=o[0].split("("),t=parseFloat(i[1].split(")")[0]),this.adjustmentLevel.brightness=this.setFilterValue(t);break;case"contrast":i=o[1].split("("),t=parseFloat(i[1].split(")")[0]),t/=100,this.adjustmentLevel.contrast=this.setFilterValue(t);break;case"hue":i=o[2].split("("),t=parseFloat(i[1].split(")")[0]),t/=3,this.adjustmentLevel.hue=t;break;case"saturation":i=o[3].split("("),t=parseFloat(i[1].split(")")[0]),t/=100,this.adjustmentLevel.saturation=this.setSaturationFilterValue(t);break;case"opacity":i=o[4].split("("),.45===(t=parseFloat(i[1].split(")")[0]))?t=40:.4===t?t=30:.35===t?t=20:.3===t?t=10:.25===t?t=0:t*=100,this.adjustmentLevel.opacity=t;break;case"blur":i=o[5].split("("),t=parseFloat(i[1].split(")")[0]),t*=20,this.adjustmentLevel.blur=t;break;case"exposure":i=o[0].split("("),t=parseFloat(i[1].split(")")[0]),this.adjustmentLevel.exposure=this.setFilterValue(t)}},e.prototype.setFilterValue=function(e){return Math.round(1===e?0:100*(e-1)/.5)},e.prototype.setSaturationFilterValue=function(e){return Math.round(1===e?0:100*(e-1))},e.prototype.finetuneImage=function(e,t){var i=this.parent;if(!i.disabled&&i.isImageLoaded){switch(e.toLowerCase()){case"brightness":this.setFilterAdj("brightness",t);break;case"contrast":this.setFilterAdj("contrast",t);break;case"hue":this.setFilterAdj("hue",t);break;case"saturation":this.setFilterAdj("saturation",t);break;case"opacity":this.setFilterAdj("opacity",t);break;case"blur":this.setFilterAdj("blur",t);break;case"exposure":this.setFilterAdj("exposure",t)}this.parent.canvasFilter=this.lowerContext.filter,i.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}})}},e.prototype.setCurrAdjValue=function(e,t){var i=this.parent;switch(this.parent.notify("draw",{prop:"setImageEdited",onPropertyChange:!1}),e){case"brightness":this.setFilterAdj("brightness",t);break;case"contrast":this.setFilterAdj("contrast",t);break;case"hue":this.setFilterAdj("hue",t);break;case"saturation":this.setFilterAdj("saturation",t);break;case"opacity":this.setFilterAdj("opacity",t);break;case"blur":this.setFilterAdj("blur",t);break;case"exposure":this.setFilterAdj("exposure",t)}i.isFinetuneBtnClick=!0,i.curFinetuneObjEvent={finetune:i.toPascalCase(e),value:t}},e.prototype.getCurrentObj=function(e){var t=this.parent,i={point:null};t.notify("crop",{prop:"getTempFlipPanPoint",value:{obj:i}});var o={previousZoomValue:null};t.notify("transform",{prop:"getPreviousZoomValue",value:{obj:o}});var r={zoomFactor:null};t.notify("draw",{prop:"getStraightenInitZoom",value:{obj:r}});var n={color:null};t.notify("draw",{prop:"getImageBackgroundColor",value:{obj:n}});var a={cropZoom:0,defaultZoom:0,totalPannedPoint:{x:0,y:0},totalPannedClientPoint:{x:0,y:0},totalPannedInternalPoint:{x:0,y:0},tempFlipPanPoint:{x:0,y:0},activeObj:{},rotateFlipColl:[],degree:0,currFlipState:"",zoomFactor:0,previousZoomValue:0,straighten:0,destPoints:{startX:0,startY:0,width:0,height:0},frame:"none",srcPoints:{startX:0,startY:0,width:0,height:0},filter:"",isBrightAdjust:this.isBrightnessAdjusted,aspectWidth:null,aspectHeight:null,straightenZoom:0,adjustmentLevel:(0,l.extend)({},this.tempAdjVal,{},!0),currentFilter:this.tempFilVal,imageSource:"",bgColor:""};return a.cropZoom=t.transform.cropZoomFactor,a.defaultZoom=t.transform.defaultZoomFactor,a.zoomFactor=t.zoomSettings.zoomFactor,a.previousZoomValue=o.previousZoomValue,a.straightenZoom=r.zoomFactor,a.totalPannedPoint=(0,l.extend)({},t.panPoint.totalPannedPoint,{},!0),a.totalPannedClientPoint=(0,l.extend)({},t.panPoint.totalPannedClientPoint,{},!0),a.totalPannedInternalPoint=(0,l.extend)({},t.panPoint.totalPannedInternalPoint,{},!0),a.tempFlipPanPoint=(0,l.extend)({},i.point,{},!0),a.activeObj=(0,l.extend)({},t.activeObj,{},!0),a.rotateFlipColl=(0,l.extend)([],t.rotateFlipColl,[],!0),a.degree=t.transform.degree,a.straighten=t.cropObj.straighten,a.currFlipState=t.transform.currFlipState,a.destPoints={startX:t.img.destLeft,startY:t.img.destTop,endX:0,endY:0,width:t.img.destWidth,height:t.img.destHeight},a.srcPoints={startX:t.img.srcLeft,startY:t.img.srcTop,endX:0,endY:0,width:t.img.srcWidth,height:t.img.srcHeight},a.filter=this.lowerContext.filter,a.aspectWidth=t.aspectWidth,a.aspectHeight=t.aspectHeight,a.frame=t.frameObj.type,a.frameObj=(0,l.extend)({},t.frameObj),a.imageSource=t.baseImg.src,a.bgColor=n.color,e&&(e.currObj=a),a},e.prototype.getValFromPercentage=function(e){var t=parseFloat(e);return/%\s*?$/i.test(e)&&(t/=100),t},e.prototype.getValFromLength=function(e){return parseFloat(e)},e.prototype.parseFilterString=function(e){var t=[];return e&&"none"!==e&&(t=e.split(" ").map(function(e){var t=e.match(/([a-z-]+)\(([^)]+)\)/).slice(1,3);return{filter:t[0],value:t[1]}})),t},e.prototype.applyFilter=function(e){for(var t=e.canvas,i=t.height,o=t.width,r=e.getImageData(0,0,o,i),n=this.parseFilterString(e.filter),a=0,s=n.length;a<s;a++)switch(n[a].filter){case"blur":r=this.blur(e,r,n[a].value);break;case"brightness":r=this.brightness(r,n[a].value);break;case"contrast":r=this.contrast(r,n[a].value);break;case"grayscale":r=this.grayscale(r,n[a].value);break;case"hue-rotate":r=this.hueRotate(r,n[a].value);break;case"invert":r=this.invert(r,n[a].value);break;case"opacity":r=this.opacity(r,n[a].value);break;case"saturate":r=this.saturate(e,r,n[a].value);break;case"sepia":r=this.sepia(r,n[a].value)}e.putImageData(r,0,0)},e.prototype.blur=function(e,t,i){void 0===i&&(i="0");var o=this.getValFromLength(i);if((o=Math.floor(o))<=0)return t;for(var r=e.canvas,n=r.height,a=r.width,s=t.data,l=new Uint8ClampedArray(s.length),p=0;p<n;p++)for(var d=0;d<a;d++){for(var h=0,c=0,u=0,v=0,g=0,f=-o;f<=o;f++)for(var m=-o;m<=o;m++){var b=d+m,y=p+f;if(b>=0&&b<a&&y>=0&&y<n){var C=4*(y*a+b);h+=s[C],c+=s[C+1],u+=s[C+2],v+=s[C+3],g++}}l[x=4*(p*a+d)]=h/g,l[x+1]=c/g,l[x+2]=u/g,l[x+3]=v/g}for(var x=0;x<s.length;x++)s[x]=l[x];return t},e.prototype.brightness=function(e,t){void 0===t&&(t="1");var i=this.getValFromPercentage(t);if(1!==i)for(var o=e.data,r=o.length,n=0;n<r;n+=4)o[n+0]*=i,o[n+1]*=i,o[n+2]*=i;return e},e.prototype.contrast=function(e,t){void 0===t&&(t="1");var i=this.getValFromPercentage(t);if(1!==i)for(var o=e.data,r=o.length,n=0;n<r;n+=4)o[n+0]=255*((o[n+0]/255-.5)*i+.5),o[n+1]=255*((o[n+1]/255-.5)*i+.5),o[n+2]=255*((o[n+2]/255-.5)*i+.5);return e},e.prototype.grayscale=function(e,t){void 0===t&&(t="0");var i=this.getValFromPercentage(t);if(i>0)for(var o=e.data,r=o.length,n=0;n<r;n+=4){var a=o[n],s=o[n+1],l=o[n+2],p=.299*a+.587*s+.114*l;o[n]=a*(1-i)+p*i,o[n+1]=s*(1-i)+p*i,o[n+2]=l*(1-i)+p*i}return e},e.prototype.hueRotate=function(e,t){void 0===t&&(t="0deg");var i=e.data,o=parseFloat(t)*(Math.PI/180);if(o>0)for(var r=Math.cos(o),n=Math.sin(o),a=[.213+.787*r-.213*n,.715-.715*r-.715*n,.072-.072*r+.928*n,.213-.213*r+.143*n,.715+.285*r+.14*n,.072-.072*r-.283*n,.213-.213*r-.787*n,.715-.715*r+.715*n,.072+.928*r+.072*n],s=0;s<i.length;s+=4){var l=i[s],p=i[s+1],d=i[s+2];i[s]=a[0]*l+a[1]*p+a[2]*d,i[s+1]=a[3]*l+a[4]*p+a[5]*d,i[s+2]=a[6]*l+a[7]*p+a[8]*d}return e},e.prototype.invert=function(e,t){void 0===t&&(t="0");var i=this.getValFromPercentage(t);if(i>0)for(var o=e.data,r=o.length,n=0;n<r;n+=4)o[n+0]=Math.abs(o[n+0]-255*i),o[n+1]=Math.abs(o[n+1]-255*i),o[n+2]=Math.abs(o[n+2]-255*i);return e},e.prototype.opacity=function(e,t){void 0===t&&(t="0");var i=this.getValFromPercentage(t);if(i>=0)for(var o=e.data,r=o.length,n=3;n<r;n+=4)o[n]*=i;return e},e.prototype.saturate=function(e,t,i){void 0===i&&(i="0");var o=this.getValFromPercentage(i);if(1!==o)for(var r=e.canvas,n=r.width,a=r.height,s=t.data,l=.3086*(1-o),p=.6094*(1-o),d=.082*(1-o),h=n<<2,c=0;c<a;c++)for(var u=c*h,v=0;v<n;v++){var g=u+(v<<2),f=s[g+0],m=s[g+1],b=s[g+2];s[g+0]=(l+o)*f+p*m+d*b,s[g+1]=l*f+(p+o)*m+d*b,s[g+2]=l*f+p*m+(d+o)*b}return t},e.prototype.sepia=function(e,t){void 0===t&&(t="0");var i=this.getValFromPercentage(t);if(i>1&&(i=1),i>0)for(var o=e.data,r=o.length,n=0;n<r;n+=4){var a=o[n+0],s=o[n+1],l=o[n+2];o[n+0]=(.393*a+.769*s+.189*l)*i+a*(1-i),o[n+1]=(.349*a+.686*s+.168*l)*i+s*(1-i),o[n+2]=(.272*a+.534*s+.131*l)*i+l*(1-i)}return e},e}(),Y=function(){function e(e){this.fhdObj={lastWidth:0,lastVelocity:0,time:0,pointX:0,pointY:0},this.isFreehandDrawing=!1,this.freehandDownPoint={x:0,y:0},this.isFreehandPointMoved=!1,this.pointCounter=0,this.selPointColl={},this.currFHDIdx=0,this.selPoints=[],this.dummyPoints=[],this.tempFHDStyles={strokeColor:null,fillColor:null,strokeWidth:null},this.straightenPoint={x:null,y:null,ratioX:null,ratioY:null},this.straightenPointAngle=0,this.isMasking=!1,this.parent=e,this.addEventListener()}return e.prototype.destroy=function(){this.parent.isDestroyed||this.removeEventListener()},e.prototype.addEventListener=function(){this.parent.on("freehand-draw",this.draw,this),this.parent.on("destroyed",this.destroy,this)},e.prototype.removeEventListener=function(){this.parent.off("freehand-draw",this.draw),this.parent.off("destroyed",this.destroy)},e.prototype.draw=function(e){switch(this.updateFhdPvtVar(),e.prop){case"hoverFhd":this.hoverFhd(e.value.strokeColor,e.value.strokeWidth);break;case"freehandDownHandler":this.freehandDownHandler(e.value.e,e.value.canvas);break;case"freehandUpHandler":this.freehandUpHandler(e.value.e,e.value.canvas,e.value.context);break;case"handle-freehand-draw":var t=parseInt(e.value.id.split("_")[1],10)-1;this.isFHDIdx(t)&&this.deleteFhd(t,!0);break;case"freehandRedraw":this.freehandRedraw(e.value.context,e.value.points);break;case"deleteFhd":t=parseInt(e.value.id.split("_")[1],10)-1;this.deleteFhd(t,!0);break;case"selectFhd":t=null;e.value.id&&(t=parseInt(e.value.id.split("_")[1],10)-1),this.selectFhd(t);break;case"applyFhd":this.applyFhd();break;case"cancelFhd":this.cancelFhd();break;case"updateFHDCurPts":this.updateFHDCurPts();break;case"rotateFhdColl":this.rotateFhdColl();break;case"flipFHDColl":this.flipFHDColl(e.value.value);break;case"panFHDColl":this.panFHDColl(e.value.xDiff,e.value.yDiff,e.value.panRegion);break;case"updateFHDColl":e.value&&e.value.isPreventApply?this.updateFHDColl(e.value.isPreventApply):this.updateFHDColl();break;case"zoomFHDColl":this.zoomFHDColl(e.value.isPreventApply);break;case"apply-pen-draw":this.applyPenDraw();break;case"freeHandDraw":this.freeHandDraw(e.value.value);break;case"isFHDIdx":this.isFHDIdx(e.value.index,e.value.obj);break;case"getSqPtFD":this.getSqPtFD(e.value.idx,e.value.obj);break;case"getSelPointColl":e.value.obj.selPointColl=(0,l.extend)([],this.selPointColl);break;case"setSelPointColl":this.selPointColl=(0,l.extend)([],e.value.obj.selPointColl);break;case"pushSelPointColl":this.selPointColl.push((0,l.extend)([],e.value.obj.selPointColl));break;case"setFreehandDrawHoveredIndex":this.fhdHovIdx=e.value.index;break;case"getFreehandDrawHoveredIndex":e.value.obj.index=this.fhdHovIdx;break;case"setPointCounter":this.pointCounter=e.value.value;break;case"getPenStrokeWidth":e.value.obj.penStrokeWidth=this.penStrokeWidth;break;case"setPenStrokeWidth":this.penStrokeWidth=e.value.value;break;case"getCurrentFreehandDrawIndex":e.value.obj.currentFreehandDrawIndex=this.currFHDIdx;break;case"setCurrentFreehandDrawIndex":this.currFHDIdx=e.value.value;break;case"updateCropPtsForSel":this.updateCropPtsForSel();break;case"getFreehandDrawSelectedId":e.value.obj.freehandDrawSelectedId=this.fhdSelID;break;case"resetFreehandDrawSelectedId":this.fhdSelID=null;break;case"getFHDSelected":e.value.obj.isSelected=!(!this.parent.pointColl[this.fhdSelIdx]||!this.parent.pointColl[this.fhdSelIdx].isSelected)&&this.parent.pointColl[this.fhdSelIdx].isSelected;break;case"resetFHDIdx":this.fhdHovIdx=this.fhdSelID=this.fhdSelIdx=null;break;case"getHighestOrder":this.getHighestOrder();break;case"getTempFreeHandDrawEditingStyles":e.value.obj.tempFreeHandDrawEditingStyles=this.tempFHDStyles;break;case"setFreehandSelectedIndex":this.fhdSelIdx=e.value.index;break;case"getFreehandSelectedIndex":e.value.obj.freehandSelectedIndex=this.fhdSelIdx;break;case"setCenterSelPoints":this.setCenterSelPoints();break;case"getStraightenPoint":e.value.obj.straightenPoint=(0,l.extend)({},this.straightenPoint,{},!0);break;case"setStraightenPoint":this.straightenPoint.x=e.value.x,this.straightenPoint.y=e.value.y,e.value.ratioX&&e.value.ratioY&&(this.straightenPoint.ratioX=e.value.ratioX,this.straightenPoint.ratioY=e.value.ratioY);break;case"resetStraightenPoint":this.straightenPoint={x:null,y:null,ratioX:null,ratioY:null},this.prevStraightenObj=null,this.straightenPointAngle=0;break;case"getStraightenPointAngle":e.value.obj.angle=this.straightenPointAngle;break;case"reset":this.reset();break;case"triggerShapeChanging":this.triggerShapeChanging(e.value.shapeChangingArgs);break;case"setMasking":this.isMasking=e.value.value;break;case"resetSelPoints":this.selPoints=[]}},e.prototype.updateFhdPvtVar=function(){var e=this.parent;e.lowerCanvas&&(this.lowerContext=e.lowerCanvas.getContext("2d")),e.upperCanvas&&(this.upperContext=e.upperCanvas.getContext("2d"))},e.prototype.reset=function(){this.fhdObj={lastWidth:0,lastVelocity:0,time:0,pointX:0,pointY:0},this.isFreehandDrawing=this.isFreehandPointMoved=!1,this.selPoints=[],this.dummyPoints=[],this.freehandDownPoint={x:0,y:0},this.selPointColl={},this.straightenPointAngle=0,this.fhdHovIdx=null,this.pointCounter=0,this.fhdSelID=null,this.isMasking=!1,this.penStrokeWidth=void 0,this.currFHDIdx=0,this.fhdSelIdx=null,this.tempFHDStyles={strokeColor:null,fillColor:null,strokeWidth:null},this.straightenPoint={x:null,y:null,ratioX:null,ratioY:null},this.prevStraightenObj=null},e.prototype.getModuleName=function(){return"freehand-draw"},e.prototype.hoverFhd=function(e,t){var i=this.parent,o=this.upperContext,r=-1;r=this.fhdHovIdx>-1?this.fhdHovIdx:this.fhdSelIdx,i.points=(0,l.extend)([],i.pointColl[r].points),this.pointCounter=0;var n,a,s,p,d,h,c=i.points.length;o.fillStyle=e||i.pointColl[r].strokeColor,o.strokeStyle=o.fillStyle,d=h=this.penStrokeWidth=t||i.pointColl[r].strokeWidth,1===c&&(n=a=s=p=i.points[0],this.startDraw(o,n,a,s,p,d,h));for(var u=0;u<c-3;u++)i.points[u+1]&&i.points[u+2]&&i.points[u+2]&&(n=this.calcCurveCP(i.points[u+0],i.points[u+1],i.points[u+2]).controlPoint2,a=this.calcCurveCP(i.points[u+1],i.points[u+2],i.points[u+3]).controlPoint1,s=0===u?i.points[u]:i.points[u+1],p=i.points[u+2],this.startDraw(o,n,a,s,p,d,h));o.closePath();var v=this.getSqPtFD(r),g=o.lineWidth;o.lineWidth=2,o.strokeStyle=i.themeColl[i.theme].primaryColor,o.beginPath(),o.rect(v.startX,v.startY,v.width,v.height),o.stroke(),o.closePath(),o.lineWidth=g},e.prototype.freehandDownHandler=function(e,t){var i=this.parent;i.lowerCanvas=i.element.querySelector("#"+i.element.id+"_lowerCanvas"),this.lowerContext=i.lowerCanvas.getContext("2d"),i.upperCanvas=i.element.querySelector("#"+i.element.id+"_upperCanvas"),this.upperContext=i.upperCanvas.getContext("2d"),this.fhdObj.time=(new Date).getTime(),this.isFreehandDrawing=!0,"mousedown"===e.type?this.freehandDownPoint={x:e.clientX,y:e.clientY}:this.freehandDownPoint={x:e.touches[0].clientX,y:e.touches[0].clientY},this.isFreehandPointMoved=!1,l.EventHandler.add(t,"mousemove touchmove",this.freehandMoveHandler,this);var o={id:"pen_"+(this.currFHDIdx+1),type:C.FreehandDraw,startX:this.freehandDownPoint.x,startY:this.freehandDownPoint.y,strokeColor:i.activeObj.strokeSettings.strokeColor,strokeWidth:this.penStrokeWidth,points:null,index:i.objColl.length+i.freehandCounter+1},r={cancel:!1,action:"draw-start",previousShapeSettings:o,currentShapeSettings:o};this.triggerShapeChanging(r)},e.prototype.freehandUpHandler=function(e,t,i){var o=t.getBoundingClientRect(),r=this.parent;l.EventHandler.remove(t,"mousemove touchmove",this.freehandMoveHandler),0===r.points.length&&("mouseup"===e.type?this.processPoint(e.clientX-o.left,e.clientY-o.top,!0,i):"touchend"===e.type&&e.changedTouches?this.processPoint(e.changedTouches[0].clientX-o.left,e.changedTouches[0].clientY-o.top,!0,i):this.isFreehandPointMoved||this.processPoint(this.freehandDownPoint.x-o.left,this.freehandDownPoint.y-o.top,!0,i)),i.closePath();var n=(0,l.extend)({},r.cropObj,{},!0),a={currObj:{}};r.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:a}});var s=a.currObj;s.objColl=(0,l.extend)([],r.objColl,[],!0),s.pointColl=(0,l.extend)([],r.pointColl,[],!0),s.afterCropActions=(0,l.extend)([],r.afterCropActions,[],!0);var p={selPointColl:null};r.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:p}}),s.selPointColl=(0,l.extend)([],p.selPointColl,[],!0);var d=r.freehandCounter,h=this.getHighestOrder(),c=r.objColl.length+h+1;r.pointColl[d]={points:(0,l.extend)([],r.points),strokeColor:r.activeObj.strokeSettings.strokeColor,strokeWidth:this.penStrokeWidth,flipState:r.transform.currFlipState,id:"pen_"+(h+1),order:c},r.points=[],this.dummyPoints=[],this.selPointColl[d]={points:(0,l.extend)([],this.selPoints)},this.selPoints=[],this.pointCounter=0,r.freehandCounter++,this.isFreehandDrawing=!1,r.isMaskImage||r.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"freehand-draw",previousObj:s,previousObjColl:s.objColl,previousPointColl:s.pointColl,previousSelPointColl:s.selPointColl,previousCropObj:n,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}});var u={id:"pen_"+(h+1),type:C.FreehandDraw,startX:this.freehandDownPoint.x,startY:this.freehandDownPoint.y,strokeColor:r.activeObj.strokeSettings.strokeColor,strokeWidth:this.penStrokeWidth,points:r.pointColl[this.currFHDIdx].points,index:c},v={cancel:!1,action:"draw-end",previousShapeSettings:u,currentShapeSettings:u};this.triggerShapeChanging(v),this.currFHDIdx++},e.prototype.getHighestOrder=function(){for(var e=this.parent,t=0,i=0;i<e.pointColl.length;i++){var o=parseInt(e.pointColl[i].id.split("_")[1],10);t<o&&(t=o)}return t},e.prototype.freehandMoveHandler=function(e){this.isFreehandPointMoved=!0;var t,i,o=this.parent.upperCanvas.getBoundingClientRect();"mousemove"===e.type?(t=e.clientX-o.left,i=e.clientY-o.top):(t=e.touches[0].clientX-o.left,i=e.touches[0].clientY-o.top),this.isFreehandDrawing&&(this.upperContext.fillStyle=this.parent.activeObj.strokeSettings.strokeColor,this.parent.isMaskImage&&(this.upperContext.globalCompositeOperation="xor"),this.processPoint(t,i,!1,this.upperContext))},e.prototype.processPoint=function(e,t,i,o){var r,n,a,s,p=this.parent,d=this.point(e,t,(new Date).getTime()),h=!!(d=p.points.length>0&&p.points[p.points.length-1])&&this.distanceTo(d)<=5;if(this.selPoints.push({x:e,y:t,ratioX:(e-p.img.destLeft)/p.img.destWidth,ratioY:(t-p.img.destTop)/p.img.destHeight,time:this.fhdObj.time}),!d||!d||!h||i){if(this.fhdObj.time=(new Date).getTime(),p.points.push({x:e,y:t,ratioX:(e-p.img.destLeft)/p.img.destWidth,ratioY:(t-p.img.destTop)/p.img.destHeight,time:this.fhdObj.time}),this.dummyPoints.push({x:e,y:t,ratioX:(e-p.img.destLeft)/p.img.destWidth,ratioY:(t-p.img.destTop)/p.img.destHeight,time:this.fhdObj.time}),this.dummyPoints.length>2){3===this.dummyPoints.length&&this.dummyPoints.unshift(this.dummyPoints[0]);var c=this.dummyPoints[0],u=this.dummyPoints[1],v=this.dummyPoints[2],g=this.dummyPoints[3];r=this.calcCurveCP(c,u,v).controlPoint2,n=this.calcCurveCP(u,v,g).controlPoint1,a=this.dummyPoints[1],s=this.dummyPoints[2];var f=.5,m=5;(0,l.isNullOrUndefined)(this.penStrokeWidth)||(f=m=this.penStrokeWidth),this.startDraw(o,r,n,a,s,f,m),this.pointCounter++,this.dummyPoints.shift()}if(i){r=n=a=s={x:e,y:t,time:(new Date).getTime()};f=.5,m=5;(0,l.isNullOrUndefined)(this.penStrokeWidth)||(f=m=this.penStrokeWidth),this.startDraw(o,r,n,a,s,f,m)}}},e.prototype.calcCurveCP=function(e,t,i){t||(t=e),i||(i=t);var o=e.x-t.x,r=e.y-t.y,n=t.x-i.x,a=t.y-i.y,s=(e.x+t.x)/2,l=(e.y+t.y)/2,p=(t.x+i.x)/2,d=(t.y+i.y)/2,h=Math.sqrt(o*o+r*r),c=Math.sqrt(n*n+a*a),u=c/(h+c),v=p+(s-p)*u,g=d+(l-d)*u,f=t.x-v,m=t.y-g;return{controlPoint1:this.point(s+f,l+m,0),controlPoint2:this.point(p+f,d+m,0)}},e.prototype.point=function(e,t,i){return this.fhdObj.pointX=e,this.fhdObj.pointY=t,{x:this.fhdObj.pointX,y:this.fhdObj.pointY,time:i}},e.prototype.startDraw=function(e,t,i,o,r,n,a){var s;s=.7*(s=this.pointVelocity(o))+(1-.7)*this.fhdObj.lastVelocity;var l=Math.max(a/1.7,n);this.drawCurve(this.fhdObj.time,l,e,t,i,o,r,a),this.fhdObj.lastVelocity=s,this.fhdObj.time=l},e.prototype.pointVelocity=function(e){return this.fhdObj.time!==e.time?this.distanceTo(e)/(this.fhdObj.time-e.time):0},e.prototype.distanceTo=function(e){return Math.sqrt(Math.pow(this.fhdObj.pointX-e.x,2)+Math.pow(this.fhdObj.pointY-e.y,2))},e.prototype.drawCurve=function(e,t,i,o,r,n,a,s){var l,p,d,h,c,u,v,g,f,m,b=t-e,y=this.bezierLength(o,r,n,a),C=2*Math.ceil(y);for(i.beginPath(),p=0;p<C;p++)c=(h=(d=p/C)*d)*d,f=(g=(v=(u=1-d)*u)*u)*n.x,f+=3*v*d*o.x,f+=3*u*h*r.x,f+=c*a.x,m=g*n.y,m+=3*v*d*o.y,m+=3*u*h*r.y,m+=c*a.y,l=Math.min(e+c*b,s),this.drawArc(f,m,l,i);i.closePath(),i.fill()},e.prototype.bezierLength=function(e,t,i,o){var r,n,a,s,l,p,d,h,c=0;for(r=0;r<=10;r++)n=r/10,a=this.bezierPoint(n,i.x,e.x,t.x,o.x),s=this.bezierPoint(n,i.y,e.y,t.y,o.y),r>0&&(d=a-l,h=s-p,c+=Math.sqrt(d*d+h*h)),l=a,p=s;return c},e.prototype.bezierPoint=function(e,t,i,o,r){return t*(1-e)*(1-e)*(1-e)+3*i*(1-e)*(1-e)*e+3*o*(1-e)*e*e+r*e*e*e},e.prototype.drawArc=function(e,t,i,o){var r=this.parent.img;(e>r.destLeft&&t>r.destTop&&e<r.destLeft+r.destWidth&&t<r.destTop+r.destHeight||o!==this.lowerContext&&o!==this.upperContext)&&(o.moveTo(e,t),o.arc(e,t,i,0,2*Math.PI,!1))},e.prototype.freehandRedraw=function(e,t){var i=this.parent,o=e.filter;if(e.filter="none",t&&(i.pointColl[i.freehandCounter]={points:t,strokeColor:i.activeObj.strokeSettings.strokeColor,strokeWidth:this.penStrokeWidth,flipState:i.transform.currFlipState,id:"pen_"+(i.freehandCounter+1),order:i.objColl.length+i.freehandCounter+1},this.selPointColl[i.freehandCounter]=(0,l.extend)({},i.pointColl[i.freehandCounter],{},!0),i.freehandCounter++),i.freehandCounter>0){for(var r=0;r<i.freehandCounter;r++){i.points=(0,l.extend)([],i.pointColl[r].points),this.pointCounter=0;var n=i.points.length,a=void 0,s=void 0,p=void 0,d=void 0,h=void 0,c=void 0;n>0&&(e.fillStyle=i.pointColl[r].strokeColor,h=c=this.penStrokeWidth=i.pointColl[r].strokeWidth),1===n&&(a=s=p=d=i.points[0],this.startDraw(e,a,s,p,d,h,c));for(var u=0;u<n-3;u++)i.points[u+1]&&i.points[u+2]&&i.points[u+2]&&(a=this.calcCurveCP(i.points[u+0],i.points[u+1],i.points[u+2]).controlPoint2,s=this.calcCurveCP(i.points[u+1],i.points[u+2],i.points[u+3]).controlPoint1,p=0===u?i.points[u]:i.points[u+1],d=i.points[u+2],this.startDraw(e,a,s,p,d,h,c));e.closePath()}e===this.lowerContext&&(i.notify("draw",{prop:"applyFrame",value:{ctx:this.lowerContext,frame:i.frameObj.type,preventImg:!0}}),this.upperContext.clearRect(0,0,i.upperCanvas.width,i.upperCanvas.height))}e.filter=o},e.prototype.getSqPtFD=function(e,t){var i={startX:0,startY:0,endX:0,endY:0,width:0,height:0},o=(0,l.extend)([],this.selPointColl[e].points,[]);this.parent.points=(0,l.extend)([],this.parent.pointColl[e].points),this.pointCounter=0;for(var r=o.length,n=0;n<r;n++)0===i.startX&&0===i.startY&&0===i.endX&&0===i.endY?(i.startX=o[n].x,i.startY=o[n].y,i.endX=o[n].x,i.endY=o[n].y):(i.startX=Math.min(i.startX,o[n].x),i.startY=Math.min(i.startY,o[n].y),i.endX=Math.max(i.endX,o[n].x),i.endY=Math.max(i.endY,o[n].y));return i.startX-=this.penStrokeWidth,i.startY-=this.penStrokeWidth,i.endX+=this.penStrokeWidth,i.endY+=this.penStrokeWidth,i.width=i.endX-i.startX,i.height=i.endY-i.startY,t&&(t.activePoint=i),i},e.prototype.applyPenDraw=function(){var e=this.parent;"freehanddraw"===e.currObjType.shape&&(e.notify("shape",{prop:"apply",onPropertyChange:!1,value:{shape:null,obj:null,canvas:null}}),e.upperCanvas.style.cursor=e.cursor="default",e.currObjType.shape=""),e.notify("shape",{prop:"clearActObj"})},e.prototype.applyFhd=function(){var e=this.parent,t=e.pointColl[this.fhdSelIdx];"#42a5f5"===t.strokeColor&&(t.strokeColor=this.tempFHDStyles.strokeColor),e.notify("toolbar",{prop:"setSelectedFreehandColor",value:{color:"#42a5f5"}}),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),this.lowerContext.clearRect(0,0,e.lowerCanvas.width,e.lowerCanvas.height),e.notify("draw",{prop:"render-image",value:{isMouseWheel:null}}),e.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1}),t&&(t.isSelected=!1),e.notify("selection",{prop:"resetFreehandDrawVariables"}),this.fhdHovIdx=this.fhdSelIdx=null},e.prototype.cancelFhd=function(){var e=this.parent,t=e.pointColl[this.fhdSelIdx];e.notify("toolbar",{prop:"setSelectedFreehandColor",value:{color:"#42a5f5"}}),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),this.lowerContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),this.pointCounter=0,t&&(t.strokeColor=this.tempFHDStyles.strokeColor,t.strokeWidth=this.tempFHDStyles.strokeWidth,t.isSelected=!1),this.fhdHovIdx=this.fhdSelIdx=this.fhdSelID=null,e.notify("selection",{prop:"resetFreehandDrawVariables"}),e.activeObj.strokeSettings.strokeColor=this.tempFHDStyles.strokeColor,e.activeObj.strokeSettings.strokeWidth=this.penStrokeWidth=this.tempFHDStyles.strokeWidth,this.tempFHDStyles={strokeColor:null,strokeWidth:null,fillColor:null},e.notify("draw",{prop:"render-image",value:{isMouseWheel:null}}),e.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1})},e.prototype.selectFhd=function(e){var t=this.parent,i=(0,l.extend)({},this.tempFHDStyles,{},!0);if(t.notify("selection",{prop:"setFreehandDrawEditing",onPropertyChange:!1,value:{bool:!0}}),e||0===e){if(!this.isFHDIdx(e))return;this.fhdSelIdx=this.fhdHovIdx=e,this.hoverFhd(),t.upperCanvas.style.cursor=t.cursor="pointer"}this.fhdSelIdx=this.fhdHovIdx;var o=t.pointColl[this.fhdSelIdx];o.isSelected=!0,this.fhdSelID=o.id,"#42a5f5"!==o.strokeColor&&(t.activeObj.strokeSettings.strokeColor=this.tempFHDStyles.strokeColor=o.strokeColor),t.activeObj.strokeSettings.strokeWidth=this.tempFHDStyles.strokeWidth=t.pointColl[this.fhdHovIdx].strokeWidth;var r={bool:!1};if(t.notify("selection",{prop:"getFreehandDrawEditing",onPropertyChange:!1,value:{obj:r}}),r.bool){var n={id:"pen_"+(this.fhdSelIdx+1),type:C.FreehandDraw,startX:o.points[0].x,startY:o.points[0].y,strokeColor:o.strokeColor,strokeWidth:o.strokeWidth,points:o.points,opacity:o.opacity,index:o.order},a={cancel:!1,action:"select",previousShapeSettings:n,currentShapeSettings:n};this.triggerShapeChanging(a)}else t.okBtn(null,!0);t.isUndoRedoStack&&(this.tempFHDStyles=i)},e.prototype.deleteFhd=function(e,t){var i=this.parent;if(this.isFHDIdx(e)){this.upperContext.clearRect(0,0,i.upperCanvas.width,i.upperCanvas.height);var o=(0,l.extend)({},i.pointColl,{},!0),r=(0,l.extend)({},this.selPointColl,{},!0);i.pointColl={},this.selPointColl={};for(var n=0,a=0;a<i.freehandCounter;a++)parseInt(o[a].id.split("_")[1],10)-1!==e&&(i.pointColl[n]=o[a],this.selPointColl[n]=r[a],n++);i.freehandCounter-=1,this.fhdHovIdx=this.fhdSelIdx=null,this.currFHDIdx--,i.notify("selection",{prop:"resetFreehandDrawVariables"}),i.notify("draw",{prop:"render-image",value:{isMouseWheel:null}}),i.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1})}},e.prototype.zoomX=function(e){return e*this.parent.img.destWidth+this.parent.img.destLeft},e.prototype.zoomY=function(e){return e*this.parent.img.destHeight+this.parent.img.destTop},e.prototype.zoomFHDColl=function(e){var t=this.parent,i={startX:t.img.destLeft,startY:t.img.destTop,width:t.img.destWidth,height:t.img.destHeight};t.notify("shape",{prop:"straightenShapes",onPropertyChange:!1});for(var o=0;o<t.freehandCounter;o++){t.points=(0,l.extend)([],t.pointColl[o].points,[]),this.pointCounter=0;for(var r=t.points.length,n=0;n<r;n++){var a=t.points[n];a.x=this.zoomX(a.ratioX),a.y=this.zoomY(a.ratioY)}}this.updateFHDCurPts(),this.straightenPoint.x&&this.straightenPoint.y&&(this.straightenPoint.x=this.zoomX(this.straightenPoint.ratioX),this.straightenPoint.y=this.zoomY(this.straightenPoint.ratioY)),0!==t.transform.straighten&&t.notify("shape",{prop:"straightenFHD",onPropertyChange:!1}),t.img.destLeft=i.startX,t.img.destTop=i.startY,t.img.destWidth=i.width,t.img.destHeight=i.height,(0,l.isNullOrUndefined)(e)&&this.freehandRedraw(this.lowerContext,null)},e.prototype.updateFHDCurPts=function(){for(var e=this.parent,t=0;t<e.freehandCounter;t++)if(this.selPointColl[t]){this.selPoints=(0,l.extend)([],this.selPointColl[t].points,[]),this.pointCounter=0;for(var i=this.selPoints.length,o=0;o<i;o++){var r=this.selPoints[o];r.x=this.zoomX(r.ratioX),r.y=this.zoomY(r.ratioY)}}},e.prototype.rotateFhdColl=function(){for(var e=this.parent,t=e.img,i=t.destLeft,o=t.destTop,r=t.destWidth,n=t.destHeight,a=0;a<e.freehandCounter;a++){e.points=(0,l.extend)([],e.pointColl[a].points,[]),this.pointCounter=0;for(var s=e.points.length,p=0;p<s;p++){(d=e.points[p]).y=o+n*d.ratioX,d.x=i+r-r*d.ratioY,d.ratioX=(d.x-i)/r,d.ratioY=(d.y-o)/n}}for(a=0;a<e.freehandCounter;a++)if(this.selPointColl[a]){this.selPoints=(0,l.extend)([],this.selPointColl[a].points,[]),this.pointCounter=0;for(s=this.selPoints.length,p=0;p<s;p++){var d;(d=this.selPoints[p]).y=o+n*d.ratioX,d.x=i+r-r*d.ratioY,d.ratioX=(d.x-i)/r,d.ratioY=(d.y-o)/n}}this.updateFHDCurPts()},e.prototype.flipFHDColl=function(e){var t=e.toLowerCase();if("horizontal"===t)this.pointsHorizontalFlip();else if("vertical"===t)this.pointsVerticalFlip();else{this.pointsHorizontalFlip();for(var i=0;i<this.parent.freehandCounter;i++)this.parent.pointColl[i].shapeFlip="";this.pointsVerticalFlip()}},e.prototype.pointsHorizontalFlip=function(){for(var e=this.parent,t=e.img,i=t.destLeft,o=t.destTop,r=t.destWidth,n=t.destHeight,a=0;a<e.freehandCounter;a++)if(e.pointColl[a].shapeFlip!==e.transform.currFlipState){e.points=(0,l.extend)([],e.pointColl[a].points,[]),this.pointCounter=0;for(var s=e.points.length,p=0;p<s;p++){(d=e.points[p]).x<=i+r/2?d.x=i+r-(d.x-i):d.x>=i+r/2&&(d.x=i+(i+r-d.x)),d.ratioX=(d.x-i)/r,d.ratioY=(d.y-o)/n}e.pointColl[a].shapeFlip=e.transform.currFlipState}for(a=0;a<e.freehandCounter;a++)if(this.selPointColl[a]&&this.selPointColl[a].shapeFlip!==e.transform.currFlipState){this.selPoints=(0,l.extend)([],this.selPointColl[a].points,[]),this.pointCounter=0;for(s=this.selPoints.length,p=0;p<s;p++){var d;(d=this.selPoints[p]).x<=i+r/2?d.x=i+r-(d.x-i):d.x>=i+r/2&&(d.x=i+(i+r-d.x)),d.ratioX=(d.x-i)/r,d.ratioY=(d.y-o)/n}}this.updateFHDCurPts()},e.prototype.pointsVerticalFlip=function(){for(var e=this.parent,t=e.img,i=t.destLeft,o=t.destTop,r=t.destWidth,n=t.destHeight,a=0;a<e.freehandCounter;a++)if(e.pointColl[a].shapeFlip!==e.transform.currFlipState){e.points=(0,l.extend)([],e.pointColl[a].points,[]),this.pointCounter=0;for(var s=e.points.length,p=0;p<s;p++){(d=e.points[p]).y<=o+n/2?d.y=o+n-(d.y-o):d.y>=o+n/2&&(d.y=o+(o+n-d.y)),d.ratioX=(d.x-i)/r,d.ratioY=(d.y-o)/n}e.pointColl[a].shapeFlip=e.transform.currFlipState}for(a=0;a<e.freehandCounter;a++)if(this.selPointColl[a]&&this.selPointColl[a].shapeFlip!==e.transform.currFlipState){this.selPoints=(0,l.extend)([],this.selPointColl[a].points,[]),this.pointCounter=0;for(s=this.selPoints.length,p=0;p<s;p++){var d;(d=this.selPoints[p]).y<=o+n/2?d.y=o+n-(d.y-o):d.y>=o+n/2&&(d.y=o+(o+n-d.y)),d.ratioX=(d.x-i)/r,d.ratioY=(d.y-o)/n}}this.updateFHDCurPts()},e.prototype.updateFHDColl=function(e){var t=this.parent,i={startX:t.img.destLeft,startY:t.img.destTop,width:t.img.destWidth,height:t.img.destHeight};t.notify("shape",{prop:"straightenShapes",onPropertyChange:!1});for(var o=t.img,r=o.destLeft,n=o.destTop,a=o.destWidth,s=o.destHeight,p=0,d=t.objColl.length;p<d;p++){var h=t.objColl[p];if("line"===h.shape||"arrow"===h.shape)t.notify("shape",{prop:"straightenShapePoints",value:{obj:h,isReverse:!0}});else if("path"===h.shape){var c=t.transform.straighten;t.transform.straighten=-t.transform.straighten,t.notify("shape",{prop:"straightenPath",onPropertyChange:!1,value:{obj:h}}),t.transform.straighten=c}if(h.imageRatio={startX:(h.activePoint.startX-r)/a,startY:(h.activePoint.startY-n)/s,endX:(h.activePoint.endX-r)/a,endY:(h.activePoint.endY-n)/s,width:a/h.activePoint.width,height:s/h.activePoint.height},"path"===h.shape)for(var u=0,v=h.pointColl.length;u<v;u++)h.pointColl[u].ratioX=(h.pointColl[u].x-r)/a,h.pointColl[u].ratioY=(h.pointColl[u].y-n)/s;t.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1})}if(t.freehandCounter>0&&0!==t.transform.straighten){c=t.transform.straighten;t.transform.straighten=-t.transform.straighten,t.notify("shape",{prop:"straightenFHD",onPropertyChange:!1}),t.transform.straighten=c}for(var g=0;g<t.freehandCounter;g++){t.points=(0,l.extend)([],t.pointColl[g].points,[]),this.pointCounter=0;for(var f=t.points.length,m=0;m<f;m++){(b=t.points[m]).ratioX=(b.x-r)/a,b.ratioY=(b.y-n)/s}}for(g=0;g<t.freehandCounter;g++)if(this.selPointColl[g]){this.selPoints=(0,l.extend)([],this.selPointColl[g].points,[]),this.pointCounter=0;for(f=this.selPoints.length,m=0;m<f;m++){var b;(b=this.selPoints[m]).ratioX=(b.x-r)/a,b.ratioY=(b.y-n)/s}}this.straightenPoint.x&&this.straightenPoint.y&&(this.straightenPoint.ratioX=(this.straightenPoint.x-r)/a,this.straightenPoint.ratioY=(this.straightenPoint.y-n)/s),t.img.destLeft=i.startX,t.img.destTop=i.startY,t.img.destWidth=i.width,t.img.destHeight=i.height,t.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:e}})},e.prototype.panFHDColl=function(e,t,i){for(var o=this.parent,r=0;r<o.freehandCounter;r++){o.points=(0,l.extend)([],o.pointColl[r].points,[]),this.pointCounter=0;for(var n=o.points.length,a=0;a<n;a++){var s=o.points[a];""===i||"vertical"===i?s.x+=e:s.x-=e,""===i||"horizontal"===i?s.y+=t:s.y-=t}}for(r=0;r<o.freehandCounter;r++)if(this.selPointColl[r]){this.selPoints=(0,l.extend)([],this.selPointColl[r].points,[]),this.pointCounter=0;for(n=this.selPoints.length,a=0;a<n;a++){s=this.selPoints[a];""===i||"vertical"===i?s.x+=e:s.x-=e,""===i||"horizontal"===i?s.y+=t:s.y-=t}}this.straightenPoint.x&&this.straightenPoint.y&&(""===i||"vertical"===i?this.straightenPoint.x+=e:this.straightenPoint.x-=e,""===i||"horizontal"===i?this.straightenPoint.y+=t:this.straightenPoint.y-=t),this.freehandRedraw(this.lowerContext,null)},e.prototype.freeHandDraw=function(e){var t=this.parent;if(e){if(t.points=[],this.dummyPoints=[],t.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),t.togglePen=!0,t.upperCanvas.style.cursor=t.cursor="crosshair",t.upperCanvas.style.display="block",(0,l.isNullOrUndefined)(t.activeObj.strokeSettings)){var i={strokeSettings:{}};t.notify("shape",{prop:"getStrokeSettings",onPropertyChange:!1,value:{obj:i}}),t.activeObj.strokeSettings=i.strokeSettings}(0,l.isNullOrUndefined)(t.activeObj.strokeSettings.strokeWidth)&&(t.activeObj.strokeSettings.strokeWidth=2),t.isMaskImage?t.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1}):t.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"pen",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}})}else{t.upperCanvas.style.cursor=t.cursor="default";var o=this.penStrokeWidth;t.notify("shape",{prop:"apply",onPropertyChange:!1,value:{shape:null,obj:null,canvas:null}}),t.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1}),t.notify("toolbar",{prop:"setCurrentToolbar",value:{type:"main"}}),t.notify("selection",{prop:"setFreehandDrawCustomized",value:{isFreehandDrawCustomized:!1}}),this.penStrokeWidth=o}},e.prototype.isFHDIdx=function(e,t){for(var i=!1,o=0;o<this.parent.freehandCounter;o++)if(this.parent.pointColl[o].id&&parseInt(this.parent.pointColl[o].id.split("_")[1],10)-1===e){i=!0;break}return t&&(t.isIndex=i),i},e.prototype.updateCropPtsForSel=function(){for(var e=this.parent,t=e.activeObj.activePoint,i=0;i<e.freehandCounter;i++){var o={selPointColl:(0,l.extend)([],this.selPointColl)};if(o.selPointColl[i]){this.selPoints=(0,l.extend)([],o.selPointColl[i].points,[]),this.pointCounter=0;for(var r=this.selPoints.length,n=0;n<r;n++){var a=this.selPoints[n];a.ratioX=(a.x-t.startX)/t.width,a.ratioY=(a.y-t.startY)/t.height}}}},e.prototype.triggerShapeChanging=function(e){var t=this.parent,i=t.pointColl[this.fhdSelIdx];if(t.trigger("shapeChanging",e),"mask-drawing"===t.element.getAttribute("data-value")&&!this.isMasking)return this.isMasking=!0,t.upperCanvas.style.cursor="crosshair",t.notify("draw",{prop:"updateTempObjColl"}),t.notify("draw",{prop:"updateTempPointColl"}),t.discard(),void t.selectMaskImage();if(t.editCompleteArgs=e,-1===e.currentShapeSettings.id.indexOf("pen_")&&("draw-end"===e.action||"select"===e.action)){var o="pen_"+e.currentShapeSettings.id;this.fhdSelIdx?t.pointColl[this.fhdSelIdx].id=o:t.pointColl[t.freehandCounter-1].id=o}this.penStrokeWidth=e.currentShapeSettings.strokeWidth,t.activeObj.strokeSettings.strokeColor!==e.currentShapeSettings.strokeColor&&(t.activeObj.strokeSettings.strokeColor=e.currentShapeSettings.strokeColor,t.notify("toolbar",{prop:"update-toolbar-items",onPropertyChange:!1})),this.fhdSelID&&i&&e.currentShapeSettings&&(i.strokeColor=e.currentShapeSettings.strokeColor,i.strokeWidth=e.currentShapeSettings.strokeWidth,i.points=e.currentShapeSettings.points,i.opacity=e.currentShapeSettings.opacity),"select"===e.action&&(this.freehandRedraw(this.upperContext),t.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"pen",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}))},e.prototype.setCenterSelPoints=function(){var e=this.parent,t={startX:e.img.destLeft,startY:e.img.destTop,width:e.img.destWidth,height:e.img.destHeight};e.notify("shape",{prop:"straightenShapes",onPropertyChange:!1});var i=e.img,o=i.destLeft,r=i.destTop,n=i.destWidth,a=i.destHeight,s=e.activeObj.activePoint;((0,l.isNullOrUndefined)(this.prevStraightenObj)||JSON.stringify(this.prevStraightenObj.activePoint)!==JSON.stringify(s))&&(this.straightenPoint={x:s.startX+s.width/2,y:s.startY+s.height/2,ratioX:(s.startX+s.width/2-o)/n,ratioY:(s.startY+s.height/2-r)/a},this.prevStraightenObj=(0,l.extend)({},e.activeObj,{},!0),this.straightenPointAngle=e.transform.straighten),e.img.destLeft=t.startX,e.img.destTop=t.startY,e.img.destWidth=t.width,e.img.destHeight=t.height},e}(),W=function(){function e(e){this.diffPoint={x:0,y:0},this.oldPoint={},this.isTouch=!1,this.isObjSelected=!1,this.isFhdPoint=!1,this.dragPoint={startX:0,startY:0,endX:0,endY:0},this.isShapeInserted=!1,this.tempActiveObj={activePoint:{startX:0,startY:0,endX:0,endY:0,width:0,height:0},flipObjColl:[],triangle:[],triangleRatio:[],order:null},this.isFirstMove=!1,this.startTouches=[],this.tempTouches=[],this.currMousePoint={x:0,y:0},this.cursorTargetId="",this.isPreventDragging=!1,this.dragElement="",this.textRow=1,this.mouseDownPoint={x:0,y:0},this.previousPoint={x:0,y:0},this.zoomType="Toolbar",this.isInitialTextEdited=!1,this.dragCanvas=!1,this.isFhdCustomized=!1,this.touchEndPoint={},this.isFhdEditing=!1,this.currentDrawingShape="",this.initialPrevObj={},this.touchTime=0,this.resizedElement="",this.isImageClarity=!0,this.isPinching=!1,this.isSliding=!1,this.mouseDown="",this.isSliderActive=!1,this.arrowShape=[O.None,O.SolidArrow],this.isTouchDblClick=!1,this.isMouseDown=!1,this.isMouseUp=!1,this.mouseWheel=0,this.isTransformedShape=!1,this.mouseClickPoint={x:0,y:0},this.parent=e,this.addEventListener()}return e.prototype.destroy=function(){this.parent.isDestroyed||this.removeEventListener()},e.prototype.addEventListener=function(){this.parent.on("selection",this.selection,this),this.parent.on("destroyed",this.destroy,this)},e.prototype.removeEventListener=function(){this.parent.off("selection",this.selection),this.parent.off("destroyed",this.destroy)},e.prototype.selection=function(e){var t=this.parent;switch(this.updatePrivateVariables(),e.prop){case"setCursor":this.setCursor(e.value.x,e.value.y);break;case"updateActivePoint":this.updateActivePoint(e.value.x,e.value.y,e.value.isCropSelection);break;case"updateCursorStyles":this.updateCursorStyles(e.value.x,e.value.y,e.value.type);break;case"setTextSelection":this.setTextSelection(e.value.width,e.value.height);break;case"setActivePoint":this.setActivePoint(e.value.startX,e.value.startY);break;case"clearSelection":this.clearSelection(e.value.resetCrop);break;case"calcShapeRatio":this.calcShapeRatio(e.value.x,e.value.y,e.value.imgWidth,e.value.imgHeight);break;case"tab":this.performTabAction();break;case"setDragDirection":this.setDragDirection(e.value.width,e.value.height);break;case"clearUpperCanvas":this.isTouch&&setTimeout(function(){t.upperCanvas.getContext("2d").clearRect(0,0,t.upperCanvas.width,t.upperCanvas.height)},550);break;case"resetFreehandDrawVariables":this.isFhdEditing=this.isFhdPoint=!1;break;case"isShapeInserted":this.isShapeInserted=e.value.bool;break;case"redrawShape":this.redrawShape(e.value.obj);break;case"setTextBoxStylesToActObj":this.setTextBoxStylesToActObj();break;case"mouseDownEventHandler":this.mouseDownEventHandler(e.value.e);break;case"mouseMoveEventHandler":this.mouseMoveEventHandler(e.value.e);break;case"mouseUpEventHandler":this.mouseUpEventHandler(e.value.e);break;case"canvasMouseDownHandler":this.canvasMouseDownHandler(e.value.e);break;case"canvasMouseMoveHandler":this.canvasMouseMoveHandler(e.value.e);break;case"canvasMouseUpHandler":this.canvasMouseUpHandler(e.value.e);break;case"touchStartHandler":this.touchStartHandler(e.value.e);break;case"keyDownEventHandler":this.keyDownEventHandler(e.value.e);break;case"handleScroll":this.handleScroll(e.value.e);break;case"textKeyDown":setTimeout(this.textKeyDown.bind(this),1,e.value.e);break;case"deleteItem":this.deleteItem();break;case"updatePrevShapeSettings":this.updatePrevShapeSettings(e.value.obj);break;case"getZoomType":e.value.obj.zoomType=this.zoomType;break;case"setZoomType":this.zoomType=e.value.zoomType;break;case"setInitialTextEdit":this.isInitialTextEdited=e.value.bool;break;case"setDragCanvas":this.dragCanvas=e.value.bool;break;case"setFreehandDrawCustomized":this.isFhdCustomized=e.value.isFreehandDrawCustomized;break;case"setTouchEndPoint":this.touchEndPoint.x=e.value.x,this.touchEndPoint.y=e.value.y;break;case"getPanDown":e.value.obj.panDown=this.panDown;break;case"setPanDown":this.panDown=e.value.panDown;break;case"getFreehandDrawEditing":e.value.obj.bool=this.isFhdEditing;break;case"setFreehandDrawEditing":this.isFhdEditing=e.value.bool;break;case"getTempActObj":e.value.obj.tempObj=this.tempActiveObj;break;case"setTempActObj":this.tempActiveObj=e.value.obj;break;case"isInside":this.isInside(e.value.x,e.value.y,e.value.z1,e.value.z2,e.value.z3,e.value.z4);break;case"setDragElement":this.dragElement=e.value.value;break;case"setObjSelected":this.isObjSelected=e.value.bool;break;case"adjustActObjForLineArrow":this.adjustActObjForLineArrow(e.value.obj);break;case"findTarget":this.findTarget(e.value.x,e.value.y,e.value.type);break;case"getCurrentFlipState":this.getCurrentFlipState();break;case"setDragWidth":this.setDragWidth(e.value.width);break;case"setDragHeight":this.setDragHeight(e.value.setDragHeight);break;case"annotate":this.currentDrawingShape=e.value.shape,"text"===e.value.shape?(t.activeObj.textSettings.fontSize=11,t.activeObj.keyHistory="Enter Text",t.notify("shape",{prop:"initializeTextShape",onPropertyChange:!1,value:{text:null,fontFamily:null,fontSize:null,bold:null,italic:null,underline:null,strikethrough:null,strokeColor:null}})):"path"===e.value.shape&&(t.activeObj.pointColl=[]);break;case"getCurrentDrawingShape":e.value.obj.shape=this.currentDrawingShape;break;case"setCurrentDrawingShape":this.currentDrawingShape=e.value.value;break;case"getTransRotationPoint":this.getTransRotationPoint(e.value.obj,e.value.object);break;case"adjustNEPoints":this.adjustNEPoints(e.value.rectangle,e.value.x,e.value.y,e.value.angle);break;case"adjustRotationPoints":this.adjustRotationPoints(e.value.rectangle,e.value.x,e.value.y,e.value.angle,e.value.type,e.value.elem);break;case"getResizeDirection":this.getResizeDirection(e.value.rectangle,e.value.x,e.value.y,e.value.angle);break;case"setResizedElement":this.resizedElement=e.value.value;break;case"reset":this.reset();break;case"unWireEvent":this.unwireEvent();break;case"updPtCollForShpRot":this.updPtCollForShpRot(e.value.obj);break;case"findImageRatio":this.findImageRatio(e.value.width,e.value.height,e.value.obj);break;case"getNumTextValue":this.getNumTextValue(e.value.obj);break;case"setImageClarity":this.isImageClarity=e.value.bool;break;case"upgradeImageQuality":this.upgradeImageQuality();break;case"triggerShapeChange":this.triggerShapeChange(e.value.shapeResizingArgs,e.value.shapeMovingArgs,e.value.type);break;case"applyTransformToImg":this.applyTransformToImg(e.value.ctx);break;case"findTargetObj":e.value.obj.bool=this.findTargetObj(e.value.x,e.value.y,e.value.isCrop);break;case"setSliding":this.isSliding=e.value.bool;break;case"setSliderActive":this.isSliderActive=e.value.bool;break;case"getArrowType":e.value.obj.type=this.getArrowType(e.value.type);break;case"setArrowShape":"initial"===e.value.type?this.arrowShape[0]=e.value.shape:this.arrowShape[1]=e.value.shape;break;case"updateNWPoints":this.updateNWPoints(e.value.x,e.value.y);break;case"updateNPoints":this.updateNPoints(e.value.x,e.value.y);break;case"updateNEPoints":this.updateNEPoints(e.value.x,e.value.y);break;case"updateWPoints":this.updateWPoints(e.value.x,e.value.y);break;case"updateEPoints":this.updateEPoints(e.value.x,e.value.y);break;case"updateSWPoints":this.updateSWPoints(e.value.x,e.value.y);break;case"updateSPoints":this.updateSPoints(e.value.x,e.value.y);break;case"updateSEPoints":this.updateSEPoints(e.value.x,e.value.y);break;case"drawMaskCircle":this.drawMaskCircle(e.value.x,e.value.y);break;case"isValueUpdated":this.isValueUpdated();break;case"getDistance":this.getDistance(e.value.x,e.value.y);break;case"redact":this.currentDrawingShape=e.value.shape;break;case"updateTransColl":e.value.obj.coll=this.updateTransColl(e.value.object);break;case"getTransformedShape":e.value.obj.bool=this.isTransformedShape;break;case"setTransformedShape":this.isTransformedShape=e.value.bool;break;case"rgbToHex":this.rgbToHex(e.value.r,e.value.g,e.value.b,e.value.a);break;case"padLeft":this.padLeft(e.value.value,e.value.length,e.value.padChar);break;case"setTimer":this.setTimer(e.value.e);break;case"targetTouches":e.value.output=this.targetTouches(e.value.touches);break;case"calculateScale":e.value.output=this.calculateScale(e.value.startTouches,e.value.endTouches);break;case"beforeSaveEvent":this.beforeSaveEvent(e.value.args,e.value.e);break;case"isKeyBoardCrop":e.value.output=this.isKeyBoardCrop(e.value.e);break;case"focusRatioBtn":this.focusRatioBtn();break;case"performEnterAction":this.performEnterAction(e.value.e);break;case"getImagePoints":e.value.output=this.getImagePoints(e.value.x,e.value.y);break;case"revertPoints":this.revertPoints(e.value.actPoint,e.value.tempActiveObj);break;case"performNWResize":this.performNWResize(e.value.x,e.value.y,e.value.tempActiveObj,e.value.actPoint);break;case"performSEResize":this.performSEResize(e.value.x,e.value.y,e.value.tempActiveObj,e.value.actPoint);break;case"isMouseOutsideImg":e.value.output=this.isMouseOutsideImg(e.value.x,e.value.y)}},e.prototype.getModuleName=function(){return"selection"},e.prototype.updatePrivateVariables=function(){var e=this.parent;e.lowerCanvas&&(this.lowerContext=e.lowerCanvas.getContext("2d")),e.upperCanvas&&(this.upperContext=e.upperCanvas.getContext("2d"))},e.prototype.reset=function(){this.diffPoint={x:0,y:0},this.oldPoint={},this.isTouch=this.isObjSelected=this.isFhdPoint=this.isShapeInserted=!1,this.dragPoint={startX:0,startY:0,endX:0,endY:0},this.tempActiveObj={activePoint:{startX:0,startY:0,endX:0,endY:0,width:0,height:0},flipObjColl:[],triangle:[],triangleRatio:[],order:null},this.isFirstMove=!1,this.cursorTargetId=this.dragElement="",this.isTouchDblClick=!1,this.startTouches=[],this.tempTouches=[],this.currMousePoint={x:0,y:0},this.isPreventDragging=!1,this.timer=void 0,this.tempObjColl=void 0,this.mouseWheel=0,this.textRow=1,this.mouseDownPoint={x:0,y:0},this.previousPoint={x:0,y:0},this.zoomType="Toolbar",this.isInitialTextEdited=!1,this.dragCanvas=this.isPinching=!1,this.isFhdCustomized=!1,this.touchEndPoint={},this.panDown=null,this.isSliding=!1,this.isFhdEditing=!1,this.pathAdjustedIndex=null,this.touchTime=0,this.isImageClarity=!0,this.currentDrawingShape="",this.initialPrevObj={},this.resizedElement="",this.mouseDown="",this.isSliderActive=!1,this.arrowShape=[O.None,O.SolidArrow],this.isMouseDown=this.isMouseUp=this.isTransformedShape=!1,this.mouseClickPoint={x:0,y:0}},e.prototype.performTabAction=function(){var e=this.parent;if("block"===e.textArea.style.display||"inline-block"===e.textArea.style.display){var t=this.applyCurrShape(!1);e.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:null}}),t&&e.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}})}e.isKBDNavigation=!0},e.prototype.selMouseUpEvent=function(){this.oldPoint.x=void 0,this.oldPoint.y=void 0},e.prototype.getMouseCursor=function(e,t,i,o,r){var n=this.getTransRotationPoint(e),a=e.bottomCenterCircle.radius,s=r?0:2*e.topLeftCircle.radius;return t>=e.topLeftCircle.startX-s&&t<=e.topLeftCircle.startX+s&&i>=e.topLeftCircle.startY-s&&i<=e.topLeftCircle.startY+s?"nw-resize":t>=e.topLeftCircle.startX-s&&t<=e.topRightCircle.startX-s&&i>=e.topCenterCircle.startY-s&&i<=e.topCenterCircle.startY+s?"n-resize":t>=e.topRightCircle.startX-s&&t<=e.topRightCircle.startX+s&&i>=e.topRightCircle.startY-s&&i<=e.topRightCircle.startY+s?"ne-resize":t>=e.centerLeftCircle.startX-s&&t<=e.centerLeftCircle.startX+s&&i>=e.topLeftCircle.startY-s&&i<=e.bottomLeftCircle.startY-s?"w-resize":t>=e.centerRightCircle.startX-s&&t<=e.centerRightCircle.startX+s&&i>=e.topRightCircle.startY-s&&i<=e.bottomRightCircle.startY-s?"e-resize":t>=e.bottomLeftCircle.startX-s&&t<=e.bottomLeftCircle.startX+s&&i>=e.bottomLeftCircle.startY-s&&i<=e.bottomLeftCircle.startY+s?"sw-resize":t>=e.bottomLeftCircle.startX-s&&t<=e.bottomRightCircle.startX-s&&i>=e.bottomCenterCircle.startY-s&&i<=e.bottomCenterCircle.startY+s?"s-resize":t>=e.bottomRightCircle.startX-s&&t<=e.bottomRightCircle.startX+s&&i>=e.bottomRightCircle.startY-s&&i<=e.bottomRightCircle.startY+s?"se-resize":t>=e.activePoint.startX&&t<=e.activePoint.endX&&i>=e.activePoint.startY&&i<=e.activePoint.endY?o?"grab":"move":n&&!r&&t>=n.x-(a+2)&&t<=n.x+(a+2)&&i>=n.y-(a+2)&&i<=n.y+(a+2)?"grabbing":"default"},e.prototype.setCursor=function(e,t){var i=this.parent;i.upperCanvas.style.cursor=i.cursor="default";var o={bool:null};if(i.notify("toolbar",{prop:"getFrameToolbar",onPropertyChange:!1,value:{obj:o}}),i.isResize||this.isSliding||o.bool)i.upperCanvas.style.cursor="default";else{var r,n=!1;if(i.activeObj.shape&&(r=i.activeObj.shape.split("-")),(!r&&i.currObjType.isCustomCrop||r&&"crop"===r[0])&&(n=!0),i.currObjType.isDragging)""===this.dragElement?i.upperCanvas.style.cursor=i.cursor="move":i.upperCanvas.style.cursor=i.cursor=this.dragElement;else{if(i.togglePen)return i.upperCanvas.style.cursor=i.cursor="crosshair",void(i.isMaskImage&&(this.drawMaskCircle(e,t),i.upperCanvas.style.cursor="none"));if(i.activeObj.shape&&this.setCursorForActObj(r,n,e,t),"default"===i.cursor||"grab"===i.cursor){for(var a=this.getHighestOrder(),s=(0,l.extend)([],i.shapeColl,[],!0),p=(0,l.extend)([],i.objColl,[],!0),d=!1;a>0;){d=!1;for(var h=s.length-1;h>=0;h--)if(s[h].order===a)if(d=!0,s[h].id&&s[h].id.indexOf("pen")>-1){if(i.pointColl[0]&&("grab"!==i.cursor||!n)&&!i.currObjType.isDragging&&!i.currObjType.isResize){var c=(0,l.extend)([],i.points,[],!0);n||this.setCursorForFreehandDrawing(e,t,i.upperCanvas,s[h].id),i.points=c}}else{i.objColl=[],i.objColl.push((0,l.extend)({},s[h],null,!0));var u=i.upperCanvas.style.cursor;i.objColl.length>0&&("grab"!==i.cursor||!n)&&this.setCursorFromObj(e,t,i.objColl,i.upperCanvas,n),"grab"===u&&"default"===i.cursor&&(i.upperCanvas.style.cursor=i.cursor="grab")}else(0,l.isNullOrUndefined)(s[h].order)&&(d=!0);if("default"!==i.cursor&&"grab"!==i.cursor)break;if(d)for(var v=!1;!v&&a>0;){for(var g=0;g<s.length;g++)if(s[g].order===a-1){v=!0;break}a--,v||a--}}i.objColl=p,"default"!==i.cursor&&"grab"!==i.cursor||i.togglePan&&(i.lowerCanvas.style.cursor=i.upperCanvas.style.cursor=i.cursor="grab")}""===this.currentDrawingShape||"default"!==i.cursor&&"grab"!==i.cursor||(i.upperCanvas.style.cursor=i.cursor="crosshair")}}},e.prototype.getHighestOrder=function(){for(var e=0,t=0;t<this.parent.shapeColl.length;t++)this.parent.shapeColl[t].order>e&&(e=this.parent.shapeColl[t].order);return e},e.prototype.drawMaskCircle=function(e,t){var i=this.parent;if(i.isMaskImage){var o=2*i.activeObj.strokeSettings.strokeWidth,r=i.maskCanvas.getContext("2d");r.clearRect(0,0,i.maskCanvas.width,i.maskCanvas.height),r.fillStyle=i.activeObj.strokeSettings.strokeColor,r.strokeStyle="#fff",r.beginPath(),r.ellipse(e,t,o/2,o/2,0,0,2*Math.PI,!1),r.fill(),r.stroke(),r.closePath(),i.maskCanvas.style.cursor="none"}},e.prototype.setCursorForActObj=function(e,t,i,o){var r=this.parent;if(void 0!==r.activeObj.horTopLine){void 0!==r.activeObj.shape&&(e=r.activeObj.shape.split("-")),(void 0===e&&r.currObjType.isCustomCrop||void 0!==e&&"crop"===e[0])&&(t=!0),!t&&r.togglePan&&(r.lowerCanvas.style.cursor=r.upperCanvas.style.cursor=r.cursor="grab");var n=r.upperCanvas.style.cursor,a=(0,l.extend)({},r.activeObj,{},!0);this.cursorTargetId=a.currIndex;var s=void 0;if((s=0===a.shapeDegree?r.transform.degree:r.transform.degree-a.shapeDegree)<0&&(s=360+s),"line"===a.shape||"arrow"===a.shape)this.setCursorForLineArrow(a,i,o,r.upperCanvas);else if("path"===a.shape)this.setCursorForPath(a,i,o,r.upperCanvas);else if((0,l.isNullOrUndefined)(a.rotatedAngle)||0===a.rotatedAngle){r.upperCanvas.style.cursor=r.cursor=this.getMouseCursor(a,i,o,t,!1);"text"===a.shape&&["n-resize","s-resize","e-resize","w-resize"].indexOf(r.cursor)>-1&&(r.upperCanvas.style.cursor=r.cursor="move")}else this.setCursorForRotatedObject(a,i,o,r.upperCanvas);"default"===n&&"default"===r.cursor&&t&&(r.upperCanvas.style.cursor=r.cursor="grab"),"grab"===n&&"default"===r.cursor&&(r.upperCanvas.style.cursor=r.cursor="grab")}else r.togglePan&&!r.togglePen?r.lowerCanvas.style.cursor=r.upperCanvas.style.cursor=r.cursor="grab":r.currObjType.isCustomCrop||r.togglePen?r.upperCanvas.style.cursor=r.cursor="crosshair":r.upperCanvas.style.cursor=r.cursor="default"},e.prototype.setCursorForPath=function(e,t,i,o){this.setCursorForLineArrow(e,t,i,o);var r=this.parent;if("default"===r.cursor)for(var n=(0,l.extend)({},e,null,!0),a=!1,s=1,p=e.pointColl.length;s<p&&!a;s++){n.activePoint.startX=e.pointColl[s-1].x,n.activePoint.startY=e.pointColl[s-1].y,n.activePoint.endX=e.pointColl[s].x,n.activePoint.endY=e.pointColl[s].y,r.notify("shape",{prop:"setPointCollForLineArrow",onPropertyChange:!1,value:{obj:n}});for(var d=e.topLeftCircle.radius,h=0,c=n.pointColl.length;h<c;h++){var u=n.pointColl[h];if(!(0,l.isNullOrUndefined)(u.x-2*d)&&!(0,l.isNullOrUndefined)(u.x+2*d)&&!(0,l.isNullOrUndefined)(u.y-2*d)&&!(0,l.isNullOrUndefined)(u.y+2*d)&&t>=u.x-2*d&&t<=u.x+2*d&&i>=u.y-2*d&&i<=u.y+2*d){o.style.cursor=r.cursor="move",a=!0;break}o.style.cursor=r.cursor="default"}}return r.cursor},e.prototype.setCursorForLineArrow=function(e,t,i,o){var r,n=e.topLeftCircle.radius;if((0,l.isNullOrUndefined)(e.pointColl))return r;for(var a=0,s=e.pointColl.length;a<s;a++){var p=e.pointColl[a];if(t>=p.x-2*n&&t<=p.x+2*n&&i>=p.y-2*n&&i<=p.y+2*n){o.style.cursor=this.parent.cursor="move",r=a;break}o.style.cursor=this.parent.cursor="default"}return r},e.prototype.setCursorForRotatedObject=function(e,t,i,o){this.resizedElement="";var r=this.parent,n=e.bottomCenterCircle.radius,a=e.horTopLinePointColl[Math.round(e.horTopLinePointColl.length/2)],s=e.horTopLinePointColl[Math.round(e.horTopLinePointColl.length-1)],l=e.verLeftLinePointColl[Math.round(e.verLeftLinePointColl.length/2)],p=e.verRightLinePointColl[Math.round(e.verRightLinePointColl.length/2)],d=e.horBottomLinePointColl[Math.round(e.horBottomLinePointColl.length/2)],h=e.horBottomLinePointColl[Math.round(e.horBottomLinePointColl.length-1)],c=e.rotationCirclePointColl,u=e.horTopLinePointColl[0],v=e.horBottomLinePointColl[0];if(t>=u.x-(n+2)&&t<=u.x+(n+2)&&i>=u.y-(n+2)&&i<=u.y+(n+2))o.style.cursor=r.cursor="nw-resize";else if(t>=a.x-5&&t<=a.x+5&&i>=a.y-5&&i<=a.y+5)o.style.cursor=r.cursor=this.resizedElement="n-resize";else if(t>=s.x-(n+2)&&t<=s.x+(n+2)&&i>=s.y-(n+2)&&i<=s.y+(n+2))o.style.cursor=r.cursor="ne-resize";else if(t>=l.x-5&&t<=l.x+5&&i>=l.y-5&&i<=l.y+5)o.style.cursor=r.cursor=this.resizedElement="w-resize";else if(t>=p.x-5&&t<=p.x+5&&i>=p.y-5&&i<=p.y+5)o.style.cursor=r.cursor=this.resizedElement="e-resize";else if(t>=v.x-(n+2)&&t<=v.x+(n+2)&&i>=v.y-(n+2)&&i<=v.y+(n+2))o.style.cursor=r.cursor="sw-resize";else if(t>=d.x-5&&t<=d.x+5&&i>=d.y-5&&i<=d.y+5)o.style.cursor=r.cursor=this.resizedElement="s-resize";else if(t>=h.x-(n+2)&&t<=h.x+(n+2)&&i>=h.y-(n+2)&&i<=h.y+(n+2))o.style.cursor=r.cursor="se-resize";else if(c&&t>=c.x-(n+2)&&t<=c.x+(n+2)&&i>=c.y-(n+2)&&i<=c.y+(n+2))o.style.cursor=r.cursor="grabbing";else{o.style.cursor=r.cursor="default",this.getRectanglePoints(e.activePoint.startX,e.activePoint.startY,e.activePoint.width,e.activePoint.height,e.rotatedAngle*(180/Math.PI),t,i)&&(o.style.cursor=r.cursor="move")}if("default"===r.cursor)for(var g=0,f=e.horTopLinePointColl.length;g<f;g++){var m=e.horTopLinePointColl[g];if(t>=m.x-5&&t<=m.x+5&&i>=m.y-5&&i<=m.y+5){o.style.cursor=r.cursor=this.resizedElement="n-resize";break}}if("default"===r.cursor)for(g=0,f=e.horBottomLinePointColl.length;g<f;g++){var b=e.horBottomLinePointColl[g];if(t>=b.x-5&&t<=b.x+5&&i>=b.y-5&&i<=b.y+5){o.style.cursor=r.cursor=this.resizedElement="s-resize";break}}if("default"===r.cursor)for(g=0,f=e.verLeftLinePointColl.length;g<f;g++){var y=e.verLeftLinePointColl[g];if(t>=y.x-5&&t<=y.x+5&&i>=y.y-5&&i<=y.y+5){o.style.cursor=r.cursor=this.resizedElement="w-resize";break}}if("default"===r.cursor)for(g=0,f=e.verRightLinePointColl.length;g<f;g++){var C=e.verRightLinePointColl[g];if(t>=C.x-5&&t<=C.x+5&&i>=C.y-5&&i<=C.y+5){o.style.cursor=r.cursor=this.resizedElement="e-resize";break}}return this.adjustCursorStylesForRotatedState(e),r.cursor},e.prototype.adjustCursorStylesForRotatedState=function(e){var t=this.parent,i=e.rotatedAngle*(180/Math.PI);if((i=i>0?Math.floor(i):Math.ceil(i))>=92&&i<=182||i>=-178&&i<=-88){var o={"nw-resize":"ne-resize","n-resize":"s-resize","ne-resize":"nw-resize","w-resize":"e-resize","e-resize":"w-resize","sw-resize":"se-resize","s-resize":"n-resize","se-resize":"sw-resize"};t.cursor in o&&(t.cursor=o[t.cursor])}return t.upperCanvas.style.cursor=this.getResizeElement(e.rotatedAngle*(180/Math.PI),t.cursor),t.cursor},e.prototype.getResizeElement=function(e,t){var i=[];switch(t){case"nw-resize":i=[[337.5,22.5,"nw-resize"],[22.5,67.5,"n-resize"],[67.5,112.5,"ne-resize"],[112.5,157.5,"e-resize"],[157.5,202.5,"se-resize"],[202.5,247.5,"s-resize"],[247.5,292.5,"sw-resize"],[292.5,337.5,"w-resize"]];break;case"n-resize":i=[[337.5,22.5,"n-resize"],[22.5,67.5,"ne-resize"],[67.5,112.5,"e-resize"],[112.5,157.5,"se-resize"],[157.5,202.5,"s-resize"],[202.5,247.5,"sw-resize"],[247.5,292.5,"w-resize"],[292.5,337.5,"nw-resize"]];break;case"ne-resize":i=[[337.5,22.5,"ne-resize"],[22.5,67.5,"e-resize"],[67.5,112.5,"se-resize"],[112.5,157.5,"s-resize"],[157.5,202.5,"sw-resize"],[202.5,247.5,"w-resize"],[247.5,292.5,"nw-resize"],[292.5,337.5,"n-resize"]];break;case"e-resize":i=[[337.5,22.5,"e-resize"],[22.5,67.5,"se-resize"],[67.5,112.5,"s-resize"],[112.5,157.5,"sw-resize"],[157.5,202.5,"w-resize"],[202.5,247.5,"nw-resize"],[247.5,292.5,"n-resize"],[292.5,337.5,"ne-resize"]];break;case"se-resize":i=[[337.5,22.5,"se-resize"],[22.5,67.5,"s-resize"],[67.5,112.5,"sw-resize"],[112.5,157.5,"w-resize"],[157.5,202.5,"nw-resize"],[202.5,247.5,"n-resize"],[247.5,292.5,"ne-resize"],[292.5,337.5,"e-resize"]];break;case"s-resize":i=[[337.5,22.5,"s-resize"],[22.5,67.5,"sw-resize"],[67.5,112.5,"w-resize"],[112.5,157.5,"nw-resize"],[157.5,202.5,"n-resize"],[202.5,247.5,"ne-resize"],[247.5,292.5,"e-resize"],[292.5,337.5,"se-resize"]];break;case"sw-resize":i=[[337.5,22.5,"sw-resize"],[22.5,67.5,"w-resize"],[67.5,112.5,"nw-resize"],[112.5,157.5,"n-resize"],[157.5,202.5,"ne-resize"],[202.5,247.5,"e-resize"],[247.5,292.5,"se-resize"],[292.5,337.5,"s-resize"]];break;case"w-resize":i=[[337.5,22.5,"w-resize"],[22.5,67.5,"nw-resize"],[67.5,112.5,"n-resize"],[112.5,157.5,"ne-resize"],[157.5,202.5,"e-resize"],[202.5,247.5,"se-resize"],[247.5,292.5,"s-resize"],[292.5,337.5,"sw-resize"]]}for(var o=e<0?360-Math.abs(e):e,r=0,n=i;r<n.length;r++){var a=n[r],s=a[0],l=a[1],p=a[2];if(o>s&&o<=l||o+360>s&&o+360<=l)return p}return t},e.prototype.setCursorForFreehandDrawing=function(e,t,i,o){var r,n=i.getContext("2d"),a=this.parent,s=a.element.querySelector("#"+a.element.id+"_textArea"),p=!1;a.notify("freehand-draw",{prop:"setFreehandDrawHoveredIndex",onPropertyChange:!1,value:{index:-1}});for(var d=0;d<a.freehandCounter;d++)if(!o||o===a.pointColl[d].id){var h={selPointColl:{}};a.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:h}}),r=(0,l.extend)([],h.selPointColl[d].points,[]),a.points=(0,l.extend)([],a.pointColl[d].points,[]);var c=a.pointColl[d];a.notify("freehand-draw",{prop:"setPointCounter",onPropertyChange:!1,value:{value:0}});for(var u=r.length,v=0;v<u;v++)if(0!==v){var g=!1;if(r[v-1]&&r[v]&&(g=this.isInside(e,t,r[v-1].x,r[v-1].y,r[v].x,r[v].y)),g){this.isFhdPoint=!0,a.notify("freehand-draw",{prop:"setFreehandDrawHoveredIndex",onPropertyChange:!1,value:{index:d}}),a.notify("freehand-draw",{prop:"hoverFhd",onPropertyChange:!1,value:{strokeColor:null,strokeWidth:null}}),i.style.cursor=a.cursor="pointer",p=!0;break}if(!this.isFhdEditing||c.isSelected){if((this.isFhdPoint||this.isFhdEditing)&&(n.clearRect(0,0,i.width,i.height),a.activeObj.shape&&"none"===s.style.display&&a.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:a.activeObj}})),this.isFhdEditing){var f={freehandSelectedIndex:-1};a.notify("freehand-draw",{prop:"getFreehandSelectedIndex",onPropertyChange:!1,value:{obj:f}});var m=a.pointColl[f.freehandSelectedIndex].strokeColor,b=a.pointColl[f.freehandSelectedIndex].strokeWidth;a.notify("freehand-draw",{prop:"hoverFhd",onPropertyChange:!1,value:{strokeColor:m,strokeWidth:b}})}else a.notify("freehand-draw",{prop:"setFreehandDrawHoveredIndex",onPropertyChange:!1,value:{index:null}});this.isFhdPoint=!1}}else{var y=a.points[v];if(e>y.x-c.strokeWidth&&e<y.x+c.strokeWidth&&t>y.y-c.strokeWidth&&t<y.y+c.strokeWidth){this.isFhdPoint=!0,a.notify("freehand-draw",{prop:"setFreehandDrawHoveredIndex",onPropertyChange:!1,value:{index:d}}),a.notify("freehand-draw",{prop:"hoverFhd",onPropertyChange:!1,value:{strokeColor:null,strokeWidth:null}}),i.style.cursor=a.cursor="pointer",p=!0;break}if(!this.isFhdEditing||c.isSelected){if((this.isFhdPoint||this.isFhdEditing)&&(n.clearRect(0,0,i.width,i.height),a.activeObj.shape&&"none"===s.style.display&&a.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:a.activeObj}})),this.isFhdEditing){f={freehandSelectedIndex:-1};a.notify("freehand-draw",{prop:"getFreehandSelectedIndex",onPropertyChange:!1,value:{obj:f}});m=a.pointColl[f.freehandSelectedIndex].strokeColor,b=a.pointColl[f.freehandSelectedIndex].strokeWidth;a.notify("freehand-draw",{prop:"hoverFhd",onPropertyChange:!1,value:{strokeColor:m,strokeWidth:b}})}this.isFhdPoint=!1}}if(p)break}},e.prototype.setCursorFromObj=function(e,t,i,o,r){for(var n=this.parent,a=0,s=i.length;a<s;a++){if("move"===n.cursor)return;var p=(0,l.extend)({},i[a],{},!0);if(0===p.activePoint.width&&0===p.activePoint.height)return void i.splice(a,1);this.cursorTargetId=p.currIndex,"line"===p.shape||"arrow"===p.shape?this.setCursorForLineArrow(p,e,t,o):"path"===p.shape?this.setCursorForPath(p,e,t,o):(0,l.isNullOrUndefined)(p.rotatedAngle)||0===p.rotatedAngle?o.style.cursor=n.cursor=this.getMouseCursor(p,e,t,r,!0):this.setCursorForRotatedObject(p,e,t,o)}},e.prototype.isInside=function(e,t,i,o,r,n){var a=Math.min(i,r),s=Math.max(i,r),l=Math.min(o,n),p=Math.max(o,n);return a<=e&&e<=s&&l<=t&&t<=p},e.prototype.preventResizing=function(e){var t=this.parent;if(t.activeObj.preventShapeDragOut&&this.isShapeDragOut()){var i=t.activeObj.activePoint;i.startX=e.activePoint.startX,i.startY=e.activePoint.startY,i.endX=e.activePoint.endX,i.endY=e.activePoint.endY,i.width=e.activePoint.width,i.height=e.activePoint.height,t.activeObj.rotatedAngle=e.rotatedAngle,t.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:i,obj:t.activeObj,isMouseMove:null,x:null,y:null}})}},e.prototype.updateActivePoint=function(e,t,i){var o=this.parent,r=o.activeObj.activePoint,n=r.startX,a=r.startY,s=o.activeObj.activePoint,p=s.width,d=s.height;o.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:p,height:d,obj:{width:0,height:0},isImgShape:null}});var h,c=this.updatePrevShapeSettings(),u={cancel:!1,action:"resize",previousShapeSettings:c,allowShapeOverflow:this.allowOutofBound()},v={cancel:!1,action:"move",previousShapeSettings:c,allowShapeOverflow:this.allowOutofBound()};if(this.shapeResizingArgs=u,this.shapeMovingArgs=v,"text"===o.activeObj.shape&&""!==this.dragElement&&o.notify("shape",{prop:"updateFontRatio",onPropertyChange:!1,value:{obj:o.activeObj,isTextArea:null}}),""!==this.currentDrawingShape&&(""===this.dragElement||"move"===this.dragElement)&&o.isShapeDrawing){["line","arrow","path"].indexOf(o.activeObj.shape)>-1?this.dragElement="e-resize":e>n&&t>a?this.dragElement="se-resize":e<n&&t>a?this.dragElement="sw-resize":e>n&&t<a?this.dragElement="ne-resize":e<n&&t<a&&(this.dragElement="nw-resize")}"arrow"===o.activeObj.shape&&(Math.atan2(e-o.lowerCanvas.width/2,t-o.lowerCanvas.height/2)>0?o.activeObj.rotatedAngle=-Math.atan2(e-o.lowerCanvas.width/2,t-o.lowerCanvas.height/2):o.activeObj.rotatedAngle=Math.abs(Math.atan2(e-o.lowerCanvas.width/2,t-o.lowerCanvas.height/2)));var g=!1,f=!1;if(!i||0===o.transform.straighten||!this.isMouseOutsideImg(e,t)){var m,b,y=(0,l.extend)({},o.activeObj,{},!0);switch(void 0!==o.activeObj.shape&&(m=o.activeObj.shape.split("-")),void 0!==m&&"crop"===m[0]&&(b=!0),this.dragElement.toLowerCase()){case"nw-resize":this.updateNWPoints(e,t),this.preventResizing(y),o.notify("shape",{prop:"updateArrowDirection",onPropertyChange:!1,value:{obj:o.activeObj,flip:null,rotatedDegree:null}}),this.triggerShapeChange(u,v,"resize");break;case"n-resize":this.updateNPoints(e,t),this.preventResizing(y),o.notify("shape",{prop:"updateArrowDirection",onPropertyChange:!1,value:{obj:o.activeObj,flip:null,rotatedDegree:null}}),this.triggerShapeChange(u,v,"resize");break;case"ne-resize":this.updateNEPoints(e,t),this.preventResizing(y),o.notify("shape",{prop:"updateArrowDirection",onPropertyChange:!1,value:{obj:o.activeObj,flip:null,rotatedDegree:null}}),this.triggerShapeChange(u,v,"resize");break;case"w-resize":this.updateWPoints(e,t),this.preventResizing(y),o.notify("shape",{prop:"updateArrowDirection",onPropertyChange:!1,value:{obj:o.activeObj,flip:null,rotatedDegree:null}}),this.triggerShapeChange(u,v,"resize");break;case"e-resize":this.updateEPoints(e,t),this.preventResizing(y),o.notify("shape",{prop:"updateArrowDirection",onPropertyChange:!1,value:{obj:o.activeObj,flip:null,rotatedDegree:null}}),this.triggerShapeChange(u,v,"resize");break;case"sw-resize":this.updateSWPoints(e,t),this.preventResizing(y),o.notify("shape",{prop:"updateArrowDirection",onPropertyChange:!1,value:{obj:o.activeObj,flip:null,rotatedDegree:null}}),this.triggerShapeChange(u,v,"resize");break;case"s-resize":this.updateSPoints(e,t),this.preventResizing(y),o.notify("shape",{prop:"updateArrowDirection",onPropertyChange:!1,value:{obj:o.activeObj,flip:null,rotatedDegree:null}}),this.triggerShapeChange(u,v,"resize");break;case"se-resize":this.updateSEPoints(e,t),this.preventResizing(y),o.notify("shape",{prop:"updateArrowDirection",onPropertyChange:!1,value:{obj:o.activeObj,flip:null,rotatedDegree:null}}),this.triggerShapeChange(u,v,"resize");break;case"grabbing":Math.atan2(e-(n+p/2),t-(a+d/2))>0?o.activeObj.rotatedAngle=-Math.atan2(e-(n+p/2),t-(a+d/2)):o.activeObj.rotatedAngle=Math.abs(Math.atan2(e-(n+p/2),t-(a+d/2))),(h=0===o.activeObj.shapeDegree?o.transform.degree:o.transform.degree-o.activeObj.shapeDegree)<0&&(h=360+h);for(var C=0,x=o.activeObj.flipObjColl.length;C<x;C++)"horizontal"===o.activeObj.flipObjColl[C].toLowerCase()?g=!0:"vertical"===o.activeObj.flipObjColl[C].toLowerCase()&&(f=!0);o.activeObj.rotatedAngle-=h*(Math.PI/180),0===h||360===h?f&&(o.activeObj.rotatedAngle-=Math.PI/180*180):90===h||-270===h?g&&(o.activeObj.rotatedAngle-=Math.PI/180*180):180===h||-180===h?f&&(o.activeObj.rotatedAngle-=Math.PI/180*180):270!==h&&-90!==h||g&&(o.activeObj.rotatedAngle-=Math.PI/180*180),this.preventResizing(y);break;case"pathdrag":(0,l.isNullOrUndefined)(this.pathAdjustedIndex)||(o.activeObj.pointColl[this.pathAdjustedIndex].x=e,o.activeObj.pointColl[this.pathAdjustedIndex].y=t);break;default:if(!i&&!o.currObjType.isCustomCrop){var w=o.activeObj.activePoint;if(this.dragPoint.startX){var P=this.dragPoint.endX-this.previousPoint.x,S=this.dragPoint.endY-this.previousPoint.y;if(w.startX+=P,w.endX+=P,w.startY+=S,w.endY+=S,n=w.startX,a=w.startY,"line"!==o.activeObj.shape&&"arrow"!==o.activeObj.shape&&o.activeObj.rotationCirclePointColl&&(o.activeObj.rotationCirclePointColl.x+=P,o.activeObj.rotationCirclePointColl.y+=S,o.activeObj.rotationCirclePoint.x+=P,o.activeObj.rotationCirclePoint.y+=S),"path"===o.activeObj.shape)for(C=0,x=o.activeObj.pointColl.length;C<x;C++)o.activeObj.pointColl[C].x+=P,o.activeObj.pointColl[C].y+=S;if(!this.isPreventDragging&&this.isShapeDragOut()&&(o.activeObj.preventShapeDragOut||"redact"===o.activeObj.shape||b)){if(w.startX-=P,w.endX-=P,w.startY-=S,w.endY-=S,"line"!==o.activeObj.shape&&"arrow"!==o.activeObj.shape&&o.activeObj.rotationCirclePointColl)o.activeObj.rotationCirclePointColl.x-=P,o.activeObj.rotationCirclePointColl.y-=S,o.activeObj.rotationCirclePoint.x-=P,o.activeObj.rotationCirclePoint.y-=S;else if("path"===o.activeObj.shape){var j=0;for(x=o.activeObj.pointColl.length;j<x;j++)o.activeObj.pointColl[j].x-=P,o.activeObj.pointColl[j].y-=S}if(0===o.activeObj.rotatedAngle){var O=o.activeObj.activePoint.endX,T=o.activeObj.activePoint.endY;"path"===o.activeObj.shape&&(o.activeObj.activePoint=o.getSquarePointForPath(o.activeObj)),this.setDragWidth(P),this.setDragHeight(S);var k=o.activeObj,F=k.activePoint.endX-O,I=k.activePoint.endY-T;if("path"===k.shape)for(j=0,x=k.pointColl.length;j<x;j++)k.pointColl[j].x+=F,k.pointColl[j].y+=I}else o.notify("selection",{prop:"updPtCollForShpRot",onPropertyChange:!1,value:{obj:o.activeObj}})}}else w.startX=e<this.mouseDownPoint.x?e:this.mouseDownPoint.x,w.startY=t<this.mouseDownPoint.y?t:this.mouseDownPoint.y,e=e<this.mouseDownPoint.x?this.mouseDownPoint.x:e,t=t<this.mouseDownPoint.y?this.mouseDownPoint.y:t,w.endX=e,w.endY=t;this.triggerShapeChange(u,v,"move")}}}},e.prototype.isShapeDragOut=function(){var e=this.parent,t=!1,i=!1,o=e.activeObj.shape;if((e.activeObj.preventShapeDragOut||0===e.activeObj.rotatedAngle&&"line"!==o&&"arrow"!==o&&"path"!==o)&&(i=!0),i){var r=e.activeObj.activePoint,n=r.startX,a=r.startY,s=r.endX,l=r.endY;if("path"===o){var p=e.getSquarePointForPath(e.activeObj);n=p.startX,a=p.startY,s=p.endX,l=p.endY}if(0===e.activeObj.rotatedAngle||"arrow"===o)t=this.isObjOutsideImg(n,a,s,l,o);else{var d={isIntersect:null,arr:null};e.notify("draw",{prop:"updateImgCanvasPoints",onPropertyChange:!1}),e.notify("draw",{prop:"isLinesIntersect",onPropertyChange:!1,value:{obj:d}}),t=!!(d.arr[0]||d.arr[1]||d.arr[2]||d.arr[3])||this.isObjOutsideImg(n,a,s,l,o)}}return t},e.prototype.isObjOutsideImg=function(e,t,i,o,r){var n=this.parent.img,a=n.destLeft,s=n.destTop,l=n.destWidth,p=n.destHeight;return e<a||t<s||i>a+l||o>s+p||("line"===r||"arrow"===r)&&(e>a+l||t>s+p||i<a||o<s)},e.prototype.triggerShapeChange=function(e,t,i){var o=this.parent,r=o.activeObj.activePoint;r.width=r.endX-r.startX,r.height=r.endY-r.startY;var n=this.updatePrevShapeSettings();if((0,l.isNullOrUndefined)(this.shapeResizingArgs)||(0,l.isNullOrUndefined)(this.shapeMovingArgs)?(e.currentShapeSettings=n,t.currentShapeSettings=n):(e.currentShapeSettings=this.shapeResizingArgs.currentShapeSettings=n,t.currentShapeSettings=this.shapeMovingArgs.currentShapeSettings=n),"resize"===i){this.isCropSelection=!1;var a=void 0;if(void 0!==o.activeObj.shape&&(a=o.activeObj.shape.split("-")),void 0!==a&&"crop"===a[0]&&(this.isCropSelection=!0),this.isCropSelection){this.isMouseDown?e.action="resize-start":this.isMouseUp&&(e.action="resize-end");var s={action:e.action,previousSelectionSettings:{type:o.getSelectionType(o.activeObj.shape),startX:e.previousShapeSettings.startX,startY:e.previousShapeSettings.startY,width:e.previousShapeSettings.width,height:e.previousShapeSettings.height},currentSelectionSettings:{type:o.getSelectionType(o.activeObj.shape),startX:e.currentShapeSettings.startX,startY:e.currentShapeSettings.startY,width:e.currentShapeSettings.width,height:e.currentShapeSettings.height}};this.selectionResizingArgs=s,o.trigger("selectionChanging",s),o.editCompleteArgs=s,o.notify("shape",{prop:"updSelChangeEventArgs",onPropertyChange:!1,value:{selectionSettings:s.currentSelectionSettings}})}else""!==this.currentDrawingShape&&"crosshair"===o.upperCanvas.style.cursor&&(e.action="drawing"),o.currObjType.isRedact&&"redact"===o.activeObj.shape||o.trigger("shapeChanging",e),o.editCompleteArgs=e,this.isPreventShaping=e.cancel,o.notify("shape",{prop:"updateShapeChangeEventArgs",onPropertyChange:!1,value:{shapeSettings:e.currentShapeSettings,allowShapeOverflow:e.allowShapeOverflow}})}else"mouse-down"===i||"mouse-up"===i?("redact"!==o.activeObj.shape&&o.trigger("shapeChanging",e),o.editCompleteArgs=e,this.isPreventShaping=e.cancel,o.notify("shape",{prop:"updateShapeChangeEventArgs",onPropertyChange:!1,value:{shapeSettings:e.currentShapeSettings,allowShapeOverflow:e.allowShapeOverflow}})):("redact"!==o.activeObj.shape&&o.trigger("shapeChanging",t),o.editCompleteArgs=t,this.isPreventShaping=t.cancel,o.notify("shape",{prop:"updateShapeChangeEventArgs",onPropertyChange:!1,value:{shapeSettings:t.currentShapeSettings,allowShapeOverflow:t.allowShapeOverflow}}));o.eventType=i},e.prototype.setDragWidth=function(e){var t=this.parent,i=t.activeObj.activePoint,o=t.img,r=o.destLeft,n=o.destWidth,a=e,s=t.activeObj.shape,l=!1;if(!t.activeObj.preventShapeDragOut||"line"!==s&&"arrow"!==s||(l=!0),a>=0)for(var p=0;p<a&&(e=a-p,i.startX+=e,i.endX+=e,!(i.startX>=r&&i.endX<=r+n&&!l||i.startX>=r&&i.endX<=r+n&&i.endX>=r&&i.startX<=r+n&&l));p++)i.startX-=e,i.endX-=e;else for(p=1;p<Math.abs(a)&&(e=a+p,i.startX+=e,i.endX+=e,!(i.startX>=r&&i.endX<=r+n&&!l||i.startX>=r&&i.endX<=r+n&&i.endX>=r&&i.startX<=r+n&&l));p++)i.startX-=e,i.endX-=e},e.prototype.setDragHeight=function(e){var t=this.parent,i=t.activeObj.activePoint,o=t.img,r=o.destTop,n=o.destHeight,a=e,s=t.activeObj.shape,l=!1;if(!t.activeObj.preventShapeDragOut||"line"!==s&&"arrow"!==s||(l=!0),a>=0)for(var p=1;p<a&&(e=a-p,i.startY+=e,i.endY+=e,!(i.startY>=r&&i.endY<=r+n&&!l||i.startY>=r&&i.endY<=r+n&&i.endY>=r&&i.startY<=r+n&&l));p++)i.startY-=e,i.endY-=e;else for(p=0;p<Math.abs(a)&&(e=a+p,i.startY+=e,i.endY+=e,!(i.startY>=r&&i.endY<=r+n&&!l||i.startY>=r&&i.endY<=r+n&&i.endY>=r&&i.startY<=r+n&&l));p++)i.startY-=e,i.endY-=e},e.prototype.limitDrag=function(e){var t=!1,i=this.parent,o=i.img,r=o.destLeft,n=o.destTop,a=o.destWidth,s=o.destHeight,p=i.activeObj.activePoint,d=e?p.startX:p.endX,h=e?p.startY:p.endY,c=e?p.endX:p.startX,u=e?p.endY:p.startY,v=i.upperCanvas.width,g=i.upperCanvas.height,f=r<0?0:r,m=n<0?0:n,b=r+a>v?v:r+a,y=n+s>g?g:n+s;if(l.Browser.isDevice?(d<f&&(d=f),h<m&&(h=m),c>b&&(c=b),u>y&&(u=y)):(d<r&&(d=r),h<n&&(h=n),c>r+a&&(c=r+a),u>n+s&&(u=n+s)),p.width<0&&p.height<0&&this.isCropSelection&&(t=!0),0!==i.transform.straighten){var C={isIntersect:null,arr:null};i.notify("draw",{prop:"updateImgCanvasPoints",onPropertyChange:!1}),i.notify("draw",{prop:"isLinesIntersect",onPropertyChange:!1,value:{obj:C}}),(C.arr[0]||C.arr[1]||C.arr[2]||C.arr[3])&&(t=!0)}return e?(p.startX=d,p.startY=h,p.endX=c,p.endY=u):(p.startX=c,p.startY=u,p.endX=d,p.endY=h),t},e.prototype.isMouseOutsideImg=function(e,t){var i={bool:!1};return this.parent.notify("draw",{prop:"updateImgCanvasPoints",onPropertyChange:!1}),this.parent.notify("draw",{prop:"isPointsInsideImg",value:{obj:i,x:e,y:t}}),i.bool},e.prototype.preventDraggingInvertly=function(){var e,t,i=!1,o=this.parent;if("image"===o.activeObj.shape)return i;if(void 0!==o.activeObj.shape&&(e=o.activeObj.shape.split("-")),void 0!==e&&"crop"===e[0]&&(t=!0),!this.isPreventDragging&&0===o.activeObj.rotatedAngle&&(o.activeObj.preventShapeDragOut||"redact"===o.activeObj.shape||t)){i=this.limitDrag(!0);["line","arrow","path"].indexOf(o.activeObj.shape)>-1&&(i=this.limitDrag(!1))}return i},e.prototype.preventTextDraggingInvertly=function(){var e=this.parent,t=!1,i=e.activeObj.activePoint,o=e.img,r=o.destLeft,n=o.destTop,a=o.destWidth,s=o.destHeight;return this.isPreventDragging||(i.startX<r||i.startY<n||i.endX>r+a||i.endY>n+s)&&(t=!0),t},e.prototype.preventInverseResize=function(e){var t=this.parent.activeObj.activePoint;t.width<0&&(t.width=0,t.startX=e.activePoint.startX,t.endX=e.activePoint.endX),t.height<0&&(t.height=0,t.startY=e.activePoint.startY,t.endY=e.activePoint.endY)},e.prototype.getScaleRatio=function(e){var t=this.parent,i={x:e,y:e};if(t.activeObj.shape&&"crop-custom"!==t.activeObj.shape&&"crop-circle"!==t.activeObj.shape&&"crop-square"!==t.activeObj.shape){var o="image"===t.activeObj.shape||"text"===t.activeObj.shape?this.findImageRatio(t.activeObj.activePoint.width,t.activeObj.activePoint.height).split("-"):t.activeObj.shape.split("-");if(o.length>1||"image"===t.activeObj.shape||"text"===t.activeObj.shape){o="image"===t.activeObj.shape||"text"===t.activeObj.shape?o[0].split(":"):o[1].split(":");var r=e/parseInt(o[1],10);i.x=r*parseInt(o[0],10),i.y=r*parseInt(o[1],10)}}return i},e.prototype.findImageRatio=function(e,t,i){var o=function(e,t){return 0===t?e:o(t,e%t)},r=o(e,t),n=e/r+":"+t/r;return i&&(i.ratio=n),n},e.prototype.revertResizing=function(e){var t=this.parent.activeObj.activePoint;this.preventDraggingInvertly()&&(t.startX=e.activePoint.startX,t.startY=e.activePoint.startY,t.endX=e.activePoint.endX,t.endY=e.activePoint.endY)},e.prototype.performSEResize=function(e,t,i,o){var r=this.parent;if(this.resizeImg(e,t,"se-resize",i),o.endX<o.startX){var n=o.endX;o.endX=o.startX,o.startX=n,this.dragElement=r.upperCanvas.style.cursor=r.cursor="sw-resize"}if(o.endY<o.startY){n=o.endY;o.endY=o.startY,o.startY=n,this.dragElement=r.upperCanvas.style.cursor=r.cursor="ne-resize"}this.revertCustomSelection(o,i,"se-resize"),this.revertResizing(i)},e.prototype.performNWResize=function(e,t,i,o){var r=this.parent;if(this.resizeImg(e,t,"nw-resize",i),o.startX>o.endX){var n=o.startX;o.startX=o.endX,o.endX=n,this.dragElement=r.upperCanvas.style.cursor=r.cursor="ne-resize"}if(o.startY>o.endY){n=o.startY;o.startY=o.endY,o.endY=n,this.dragElement=r.upperCanvas.style.cursor=r.cursor="sw-resize"}this.revertCustomSelection(o,i,"nw-resize"),this.revertResizing(i)},e.prototype.isCustomSelection=function(){if(this.parent.activeObj.shape){return this.parent.activeObj.shape.indexOf("crop-")>-1&&-1===["custom","circle","square","2:3","3:2","3:4","4:3","4:5","5:4","5:7","7:5","9:16","16:9"].indexOf(this.parent.activeObj.shape.split("-")[1])}return!1},e.prototype.revertCustomSelection=function(e,t,i){var o=this.parent;if(this.isCustomSelection()){var r=o.img,n=r.destLeft,a=r.destTop,s=r.destWidth,l=r.destHeight,p=n+s<o.lowerCanvas.width?n+s:o.lowerCanvas.width,d=a+l<o.lowerCanvas.height?a+l:o.lowerCanvas.height,h=n>0?n:0,c=a>0?a:0,u=a>0?a:0,v=n>0?n:0;("se-resize"===i&&(e.endX>p||e.endY>d)||"nw-resize"===i&&(e.startX<h||e.startY<c)||"ne-resize"===i&&(e.endX>p||e.startY<u)||"sw-resize"===i&&(e.startX<v||e.endY>d))&&this.revertPoints(e,t)}},e.prototype.revertPoints=function(e,t){e.startX=t.activePoint.startX,e.startY=t.activePoint.startY,e.endX=t.activePoint.endX,e.endY=t.activePoint.endY,e.width=t.activePoint.width,e.height=t.activePoint.height},e.prototype.updateNWPoints=function(e,t){var i,o,r,n=this.parent,a=n.activeObj.activePoint,s=(0,l.extend)({},n.activeObj,null,!0);if("text"===n.activeObj.shape)this.resizeImg(e,t,"nw-resize",s),n.notify("shape",{prop:"updateFontSize",onPropertyChange:!1,value:{obj:n.activeObj}});else{var p=void 0;if(void 0!==n.activeObj.shape&&(p=n.activeObj.shape.split("-")),"crop-custom"===n.activeObj.shape||void 0!==n.activeObj.shape&&"crop"!==p[0]||this.isCustomSelection()){if("image"===n.activeObj.shape||this.isCustomSelection()?this.resizeImg(e,t,"nw-resize",s):this.adjustNWPoints(a,e,t,n.activeObj.rotatedAngle),a.startX>a.endX){var d=a.startX;a.startX=a.endX,a.endX=d,this.dragElement=n.upperCanvas.style.cursor=n.cursor="ne-resize"}if(a.startY>a.endY){d=a.startY;a.startY=a.endY,a.endY=d,this.dragElement=n.upperCanvas.style.cursor=n.cursor="sw-resize"}this.revertCustomSelection(a,s,"nw-resize"),this.revertResizing(s)}else{var h=n.img,c=h.destLeft,u=h.destTop;if(a.startX<e&&a.startY<t){i=e-a.startX,o=t-a.startY,r=Math.min(i,o);var v=this.getScaleRatio(r);a.startX+=v.x,a.startY+=v.y;var g=c>0?c:0,f=u>0?u:0;(a.startX<g||a.startY<f)&&(a.startX-=v.x,a.startY-=v.y)}else{i=a.startX-e,o=t-a.endY,r=Math.max(i,o);v=this.getScaleRatio(r);a.startX-=v.x,a.startY-=v.y;g=c>0?c:0;var m=u>0?u:0;(a.startX<g||a.startY<m)&&(a.startX+=v.x,a.startY+=v.y)}a.width=a.endX-a.startX,a.height=a.endY-a.startY,this.revertResizing(s)}a.width=a.endX-a.startX,a.height=a.endY-a.startY,this.preventInverseResize(s)}},e.prototype.updateNPoints=function(e,t){var i,o,r,n=this.parent,a=n.activeObj.activePoint,s=(0,l.extend)({},n.activeObj,null,!0);if("text"!==n.activeObj.shape){var p=void 0;if(n.activeObj.shape&&(p=n.activeObj.shape.split("-")),"crop-custom"===n.activeObj.shape||n.activeObj.shape&&"crop"!==p[0]){if("line"!==n.activeObj.shape&&"arrow"!==n.activeObj.shape&&"path"!==n.activeObj.shape&&0!==n.activeObj.rotatedAngle&&this.dragPoint.startX?(this.dragPoint.startX&&this.dragPoint.startY&&(this.previousPoint.x=this.dragPoint.endX,this.previousPoint.y=this.dragPoint.endY,this.dragPoint.endX=e,this.dragPoint.endY=t),i=this.dragPoint.endX-this.previousPoint.x,o=this.dragPoint.endY-this.previousPoint.y,this.adjustRotationPoints(a,i,o,n.activeObj.rotatedAngle)):(a.startY=t,a.height=a.endY-a.startY),a.startY>a.endY){var d=a.startY;a.startY=a.endY,a.endY=d,this.dragElement=this.resizedElement="s-resize"}this.revertResizing(s)}else{var h=n.img,c=h.destLeft,u=h.destTop,v=h.destWidth;if(this.isCustomSelection())this.performNWResize(e,t,s,a);else if(a.endX>e&&a.startY<t){i=a.endX-e,o=t-a.startY,r=Math.min(i,o);var g=this.getScaleRatio(r);a.endX-=g.x,a.startY+=g.y,(a.endX>c+v||a.startY<u)&&(a.endX+=g.x,a.startY-=g.y)}else{i=e-a.endX,o=a.startY-t,r=Math.max(i,o);g=this.getScaleRatio(r);a.endX+=g.x,a.startY-=g.y,(a.endX>c+v||a.startY<u)&&(a.endX-=g.x,a.startY+=g.y)}a.width=a.endX-a.startX,a.height=a.endY-a.startY,this.revertResizing(s)}}},e.prototype.updateNEPoints=function(e,t){var i,o,r,n=this.parent,a=n.activeObj.activePoint,s=(0,l.extend)({},n.activeObj,null,!0);if("text"===n.activeObj.shape)this.resizeImg(e,t,"ne-resize",s),n.notify("shape",{prop:"updateFontSize",onPropertyChange:!1,value:{obj:n.activeObj}});else{var p=void 0;if(n.activeObj.shape&&(p=n.activeObj.shape.split("-")),"crop-custom"===n.activeObj.shape||void 0!==n.activeObj.shape&&"crop"!==p[0]||this.isCustomSelection()){if("image"===n.activeObj.shape||this.isCustomSelection()?this.resizeImg(e,t,"ne-resize",s):this.adjustNEPoints(a,e,t,n.activeObj.rotatedAngle),a.endX<a.startX){var d=a.endX;a.endX=a.startX,a.startX=d,this.dragElement=n.upperCanvas.style.cursor=n.cursor="nw-resize"}if(a.startY>a.endY){d=a.startY;a.startY=a.endY,a.endY=d,this.dragElement=n.upperCanvas.style.cursor=n.cursor="se-resize"}this.revertCustomSelection(a,s,"ne-resize"),this.revertResizing(s)}else{var h=n.img,c=h.destLeft,u=h.destTop,v=h.destWidth;if(a.endX>e&&a.startY<t){i=a.endX-e,o=t-a.startY,r=Math.min(i,o);var g=this.getScaleRatio(r);a.endX-=g.x,a.startY+=g.y;var f=c+v<n.lowerCanvas.width?c+v:n.lowerCanvas.width,m=u>0?u:0;(a.endX>f||a.startY<m)&&(a.endX+=g.x,a.startY-=g.y)}else{i=e-a.endX,o=a.startY-t,r=Math.max(i,o);g=this.getScaleRatio(r);a.endX+=g.x,a.startY-=g.y;f=c+v<n.lowerCanvas.width?c+v:n.lowerCanvas.width,m=u>0?u:0;(a.endX>f||a.startY<m)&&(a.endX-=g.x,a.startY+=g.y)}a.width=a.endX-a.startX,a.height=a.endY-a.startY,this.revertResizing(s)}a.width=a.endX-a.startX,a.height=a.endY-a.startY,this.preventInverseResize(s)}},e.prototype.updateWPoints=function(e,t){var i,o,r,n=this.parent,a=n.activeObj.activePoint,s=(0,l.extend)({},n.activeObj,null,!0);if("text"!==n.activeObj.shape){var p=void 0;if(n.activeObj.shape&&(p=n.activeObj.shape.split("-")),"crop-custom"===n.activeObj.shape||n.activeObj.shape&&"crop"!==p[0]){if("line"!==n.activeObj.shape&&"arrow"!==n.activeObj.shape&&"path"!==n.activeObj.shape&&0!==n.activeObj.rotatedAngle&&this.dragPoint.startX?(this.dragPoint.startX&&this.dragPoint.startY&&(this.previousPoint.x=this.dragPoint.endX,this.previousPoint.y=this.dragPoint.endY,this.dragPoint.endX=e,this.dragPoint.endY=t),i=this.dragPoint.endX-this.previousPoint.x,o=this.dragPoint.endY-this.previousPoint.y,this.adjustRotationPoints(a,i,o,n.activeObj.rotatedAngle)):(a.startX=e,a.width=a.endX-a.startX),"line"===n.activeObj.shape||"arrow"===n.activeObj.shape||"path"===n.activeObj.shape)a.startY=t,a.height=a.endY-a.startY,this.adjustActObjForLineArrow()&&(this.dragElement="e-resize","right"===n.activeObj.triangleDirection?n.activeObj.triangleDirection="left":"left"===n.activeObj.triangleDirection&&(n.activeObj.triangleDirection="right"));else if(a.startX>a.endX){var d=a.startX;a.startX=a.endX,a.endX=d,this.dragElement=this.resizedElement="e-resize"}this.revertResizing(s)}else{var h=n.img,c=h.destLeft,u=h.destTop,v=h.destHeight;if(this.isCustomSelection())this.performNWResize(e,t,s,a);else if(a.startX<e&&a.endY>t){i=e-a.startX,o=a.endY-t,r=Math.min(i,o);var g=this.getScaleRatio(r);a.startX+=g.x,a.endY-=g.y,(a.startX<c||a.endY>u+v)&&(a.startX-=g.x,a.endY+=g.y)}else{i=a.startX-e,o=t-a.endY,r=Math.max(i,o);g=this.getScaleRatio(r);a.startX-=g.x,a.endY+=g.y,(a.startX<c||a.endY>u+v)&&(a.startX+=g.x,a.endY-=g.y)}a.width=a.endX-a.startX,a.height=a.endY-a.startY,this.revertResizing(s)}}},e.prototype.updateEPoints=function(e,t){var i,o,r,n=this.parent,a=n.activeObj.activePoint,s=(0,l.extend)({},n.activeObj,null,!0);if("text"!==n.activeObj.shape){var p=void 0;if(n.activeObj.shape&&(p=n.activeObj.shape.split("-")),"crop-custom"===n.activeObj.shape||n.activeObj.shape&&"crop"!==p[0]){if("line"!==n.activeObj.shape&&"arrow"!==n.activeObj.shape&&"path"!==n.activeObj.shape&&0!==n.activeObj.rotatedAngle&&this.dragPoint.startX?(this.dragPoint.startX&&this.dragPoint.startY&&(this.previousPoint.x=this.dragPoint.endX,this.previousPoint.y=this.dragPoint.endY,this.dragPoint.endX=e,this.dragPoint.endY=t),i=this.dragPoint.endX-this.previousPoint.x,o=this.dragPoint.endY-this.previousPoint.y,this.adjustRotationPoints(a,i,o,n.activeObj.rotatedAngle)):(a.endX=e,a.width=a.endX-a.startX),"line"===n.activeObj.shape||"arrow"===n.activeObj.shape||"path"===n.activeObj.shape)a.endY=t,a.height=a.endY-a.startY,this.adjustActObjForLineArrow()&&(this.dragElement="w-resize","right"===n.activeObj.triangleDirection?n.activeObj.triangleDirection="left":"left"===n.activeObj.triangleDirection&&(n.activeObj.triangleDirection="right"));else if(a.endX<a.startX){var d=a.endX;a.endX=a.startX,a.startX=d,this.dragElement=this.resizedElement="w-resize"}this.revertResizing(s)}else{var h=n.img,c=h.destLeft,u=h.destTop,v=h.destWidth,g=h.destHeight;if(this.isCustomSelection())this.performSEResize(e,t,s,a);else if(a.endX>e&&a.endY>t){i=a.endX-e,o=a.endY-t,r=Math.min(i,o);var f=this.getScaleRatio(r);a.endX-=f.x,a.endY-=f.y,(a.endX>c+v||a.endY>u+g)&&(a.endX+=f.x,a.endY+=f.y)}else{i=e-a.endX,o=t-a.endY,r=Math.max(i,o);f=this.getScaleRatio(r);a.endX+=f.x,a.endY+=f.y,(a.endX>c+v||a.endY>u+g)&&(a.endX-=f.x,a.endY-=f.y)}a.width=a.endX-a.startX,a.height=a.endY-a.startY,this.revertResizing(s)}}},e.prototype.updateSWPoints=function(e,t){var i,o,r,n=this.parent,a=n.activeObj.activePoint,s=(0,l.extend)({},n.activeObj,null,!0);if("text"===n.activeObj.shape)this.resizeImg(e,t,"sw-resize",s),n.notify("shape",{prop:"updateFontSize",onPropertyChange:!1,value:{obj:n.activeObj}});else{var p=void 0;if(void 0!==n.activeObj.shape&&(p=n.activeObj.shape.split("-")),"crop-custom"===n.activeObj.shape||void 0!==n.activeObj.shape&&"crop"!==p[0]||this.isCustomSelection()){if("image"===n.activeObj.shape||this.isCustomSelection()?this.resizeImg(e,t,"sw-resize",s):this.adjustSWPoints(a,e,t,n.activeObj.rotatedAngle),a.startX>a.endX){var d=a.startX;a.startX=a.endX,a.endX=d,this.dragElement=n.upperCanvas.style.cursor=n.cursor="se-resize"}if(a.endY<a.startY){d=a.endY;a.endY=a.startY,a.startY=d,this.dragElement=n.upperCanvas.style.cursor=n.cursor="nw-resize"}this.revertCustomSelection(a,s,"sw-resize"),this.revertResizing(s)}else{var h=n.img,c=h.destLeft,u=h.destTop,v=h.destHeight;if(a.startX<e&&a.endY>t){i=e-a.startX,o=a.endY-t,r=Math.min(i,o);var g=this.getScaleRatio(r);a.startX+=g.x,a.endY-=g.y;var f=c>0?c:0,m=u+v<n.lowerCanvas.height?u+v:n.lowerCanvas.height;(a.startX<f||a.endY>m)&&(a.startX-=g.x,a.endY+=g.y)}else{i=a.startX-e,o=t-a.endY,r=Math.max(i,o);g=this.getScaleRatio(r);a.startX-=g.x,a.endY+=g.y;f=c>0?c:0,m=u+v<n.lowerCanvas.height?u+v:n.lowerCanvas.height;(a.startX<f||a.endY>m)&&(a.startX+=g.x,a.endY-=g.y)}a.width=a.endX-a.startX,a.height=a.endY-a.startY,this.revertResizing(s)}a.width=a.endX-a.startX,a.height=a.endY-a.startY,this.preventInverseResize(s)}},e.prototype.updateSPoints=function(e,t){var i,o,r,n=this.parent,a=n.activeObj.activePoint,s=(0,l.extend)({},n.activeObj,null,!0);if("text"!==n.activeObj.shape){var p=void 0;if(n.activeObj.shape&&(p=n.activeObj.shape.split("-")),"crop-custom"===n.activeObj.shape||n.activeObj.shape&&"crop"!==p[0]){if("line"!==n.activeObj.shape&&"arrow"!==n.activeObj.shape&&"path"!==n.activeObj.shape&&0!==n.activeObj.rotatedAngle&&this.dragPoint.startX?(this.dragPoint.startX&&this.dragPoint.startY&&(this.previousPoint.x=this.dragPoint.endX,this.previousPoint.y=this.dragPoint.endY,this.dragPoint.endX=e,this.dragPoint.endY=t),i=this.dragPoint.endX-this.previousPoint.x,o=this.dragPoint.endY-this.previousPoint.y,this.adjustRotationPoints(a,i,o,n.activeObj.rotatedAngle)):(a.endY=t,a.height=a.endY-a.startY),a.endY<a.startY){var d=a.endY;a.endY=a.startY,a.startY=d,this.dragElement=this.resizedElement="n-resize"}this.revertResizing(s)}else{var h=n.img,c=h.destLeft,u=h.destTop,v=h.destWidth,g=h.destHeight;if(this.isCustomSelection())this.performSEResize(e,t,s,a);else if(a.endX>e&&a.endY>t){i=a.endX-e,o=a.endY-t,r=Math.min(i,o);var f=this.getScaleRatio(r);a.endX-=f.x,a.endY-=f.y,(a.endX>c+v||a.endY>u+g)&&(a.endX+=f.x,a.endY+=f.y)}else{i=e-a.endX,o=t-a.endY,r=Math.max(i,o);f=this.getScaleRatio(r);a.endX+=f.x,a.endY+=f.y,(a.endX>c+v||a.endY>u+g)&&(a.endX-=f.x,a.endY-=f.y)}a.width=a.endX-a.startX,a.height=a.endY-a.startY,this.revertResizing(s)}}},e.prototype.updateSEPoints=function(e,t){var i,o,r,n=this.parent,a=n.activeObj.activePoint,s=(0,l.extend)({},n.activeObj,null,!0);if("text"===n.activeObj.shape)this.resizeImg(e,t,"se-resize",s),n.notify("shape",{prop:"updateFontSize",onPropertyChange:!1,value:{obj:n.activeObj}});else{var p=void 0,d=void 0;if(void 0!==n.activeObj.shape&&(p=n.activeObj.shape.split("-")),"crop-custom"===n.activeObj.shape||void 0!==n.activeObj.shape&&"crop"!==p[0]||this.isCustomSelection()){if("image"===n.activeObj.shape||this.isCustomSelection()?this.resizeImg(e,t,"se-resize",s):this.adjustSEPoints(a,e,t,n.activeObj.rotatedAngle),a.endX<a.startX){var h=a.endX;a.endX=a.startX,a.startX=h,this.dragElement=n.upperCanvas.style.cursor=n.cursor="sw-resize"}if(a.endY<a.startY){h=a.endY;a.endY=a.startY,a.startY=h,this.dragElement=n.upperCanvas.style.cursor=n.cursor="ne-resize"}this.revertCustomSelection(a,s,"se-resize"),this.revertResizing(s)}else{var c=n.img,u=c.destLeft,v=c.destTop,g=c.destWidth,f=c.destHeight;if(a.endX>e&&a.endY>t){i=a.endX-e,o=a.endY-t,r=Math.min(i,o),d=this.getScaleRatio(r),a.endX-=d.x,a.endY-=d.y;var m=u+g<n.lowerCanvas.width?u+g:n.lowerCanvas.width,b=v+f<n.lowerCanvas.height?v+f:n.lowerCanvas.height;(a.endX>m||a.endY>b)&&(a.endX+=d.x,a.endY+=d.y)}else{i=e-a.endX,o=t-a.endY,r=Math.max(i,o),d=this.getScaleRatio(r),a.endX+=d.x,a.endY+=d.y;m=u+g<n.lowerCanvas.width?u+g:n.lowerCanvas.width,b=v+f<n.lowerCanvas.height?v+f:n.lowerCanvas.height;(a.endX>m||a.endY>b)&&(a.endX-=d.x,a.endY-=d.y)}a.width=a.endX-a.startX,a.height=a.endY-a.startY,this.revertResizing(s)}this.preventInverseResize(s)}},e.prototype.resizeImg=function(e,t,i,o){var r,n,a=this.parent,s=a.activeObj.activePoint;if(0!==this.previousPoint.x&&0!==this.previousPoint.y){if("text"===this.currentDrawingShape&&(this.setCursor(e,t),0===a.activeObj.textSettings.fontSize)){a.activeObj.textSettings.fontSize=11,a.notify("shape",{prop:"updateFontRatio",onPropertyChange:!1,value:{obj:a.activeObj,isTextArea:null}}),a.activeObj.textSettings.text=a.activeObj.keyHistory="Enter Text",a.notify("shape",{prop:"updateFontStyles",onPropertyChange:!1,value:{isTextBox:null}});var p=this.upperContext.measureText(a.activeObj.textSettings.text).width+.5*a.activeObj.textSettings.fontSize;s.endX=s.startX+p,s.endY=s.startY+1.18*a.activeObj.textSettings.fontSize,s.width=s.endX-s.startX,s.height=s.endY-s.startY,o=(0,l.extend)({},a.activeObj,null,!0),a.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:a.activeObj.activePoint,obj:a.activeObj,isMouseMove:null,x:null,y:null}})}switch(a.upperCanvas.style.cursor){case"se-resize":case"s-resize":case"e-resize":this.previousPoint.x>e||this.previousPoint.y>t?(r=(this.previousPoint.x-e+(this.previousPoint.y-t))/2,n=this.getScaleRatio(r),this.adjustRotationPoints(s,-Math.abs(n.x),-Math.abs(n.y),a.activeObj.rotatedAngle,"img-resize",i)):0!==this.previousPoint.x&&0!==this.previousPoint.y&&(r=(e-this.previousPoint.x+(t-this.previousPoint.y))/2,n=this.getScaleRatio(r),this.adjustRotationPoints(s,Math.abs(n.x),Math.abs(n.y),a.activeObj.rotatedAngle,"img-resize",i));break;case"sw-resize":this.previousPoint.x<e||this.previousPoint.y>t?(r=(e-this.previousPoint.x+(this.previousPoint.y-t))/2,n=this.getScaleRatio(r),this.adjustRotationPoints(s,-Math.abs(n.x),-Math.abs(n.y),a.activeObj.rotatedAngle,"img-resize",i)):0!==this.previousPoint.x&&0!==this.previousPoint.y&&(r=(this.previousPoint.x-e+(t-this.previousPoint.y))/2,n=this.getScaleRatio(r),this.adjustRotationPoints(s,Math.abs(n.x),Math.abs(n.y),a.activeObj.rotatedAngle,"img-resize",i));break;case"w-resize":case"nw-resize":this.previousPoint.x<e||this.previousPoint.y<t?(r=(e-this.previousPoint.x+(t-this.previousPoint.y))/2,n=this.getScaleRatio(r),this.adjustRotationPoints(s,-Math.abs(n.x),-Math.abs(n.y),a.activeObj.rotatedAngle,"img-resize",i)):0!==this.previousPoint.x&&0!==this.previousPoint.y&&(r=(this.previousPoint.x-e+(this.previousPoint.y-t))/2,n=this.getScaleRatio(r),this.adjustRotationPoints(s,Math.abs(n.x),Math.abs(n.y),a.activeObj.rotatedAngle,"img-resize",i));break;case"n-resize":case"ne-resize":this.previousPoint.x>e||this.previousPoint.y<t?(r=(this.previousPoint.x-e+(t-this.previousPoint.y))/2,n=this.getScaleRatio(r),this.adjustRotationPoints(s,-Math.abs(n.x),-Math.abs(n.y),a.activeObj.rotatedAngle,"img-resize",i)):0!==this.previousPoint.x&&0!==this.previousPoint.y&&(r=(e-this.previousPoint.x+(this.previousPoint.y-t))/2,n=this.getScaleRatio(r),this.adjustRotationPoints(s,Math.abs(n.x),Math.abs(n.y),a.activeObj.rotatedAngle,"img-resize",i))}s.width=s.endX-s.startX,s.height=s.endY-s.startY,(s.width<10||s.height<10||"text"===a.activeObj.shape&&0===a.activeObj.rotatedAngle&&this.preventTextDraggingInvertly())&&(a.activeObj=(0,l.extend)({},o,null,!0))}this.previousPoint={x:e,y:t}},e.prototype.adjustNWPoints=function(e,t,i,o){var r=e.startX+e.width/2,n=e.startY+e.height/2,a=this.rotatePoints(e.endX,e.endY,r,n,o),s=[(a[0]+t)/2,(a[1]+i)/2],l=this.rotatePoints(a[0],a[1],s[0],s[1],-o),p=this.rotatePoints(t,i,s[0],s[1],-o);return e.endX=l[0],e.endY=l[1],e.startY=p[1],e.startX=p[0],e.width=e.endX-e.startX,e.height=e.endY-e.startY,e},e.prototype.adjustNEPoints=function(e,t,i,o){var r=e.startX+e.width/2,n=e.startY+e.height/2,a=this.rotatePoints(e.startX,e.endY,r,n,o),s=[(a[0]+t)/2,(a[1]+i)/2],l=this.rotatePoints(a[0],a[1],s[0],s[1],-o),p=this.rotatePoints(t,i,s[0],s[1],-o);return e.startX=l[0],e.endY=l[1],e.width=p[0]-l[0],e.height=l[1]-p[1],e.endX=e.startX+e.width,e.startY=e.endY-e.height,e},e.prototype.adjustSWPoints=function(e,t,i,o){var r=e.startX+e.width/2,n=e.startY+e.height/2,a=this.rotatePoints(e.endX,e.startY,r,n,o),s=[(a[0]+t)/2,(a[1]+i)/2],l=this.rotatePoints(a[0],a[1],s[0],s[1],-o),p=this.rotatePoints(t,i,s[0],s[1],-o);return e.endX=l[0],e.startY=l[1],e.startX=p[0],e.endY=p[1],e.width=e.endX-e.startX,e.height=e.endY-e.startY,e},e.prototype.adjustSEPoints=function(e,t,i,o){var r=e.startX+e.width/2,n=e.startY+e.height/2,a=this.rotatePoints(e.startX,e.startY,r,n,o),s=[(a[0]+t)/2,(a[1]+i)/2],l=this.rotatePoints(a[0],a[1],s[0],s[1],-o),p=this.rotatePoints(t,i,s[0],s[1],-o);return e.startX=l[0],e.startY=l[1],e.width=p[0]-l[0],e.height=p[1]-l[1],e.endX=e.startX+e.width,e.endY=e.startY+e.height,e},e.prototype.adjustRotationPoints=function(e,t,i,o,r,n){var a=e.startX+e.width/2,s=e.startY+e.height/2;this.getResizeDirection(e,t,i,o,r,n);var l=this.rotatePoints(e.startX,e.startY,a,s,o),p=this.rotatePoints(e.endX,e.startY,a,s,o),d=this.rotatePoints(e.endX,e.endY,a,s,o),h=this.rotatePoints(e.startX,e.endY,a,s,o),c=[(l[0]+d[0])/2,(l[1]+d[1])/2],u=this.rotatePoints(l[0],l[1],c[0],c[1],-o),v=this.rotatePoints(h[0],h[1],c[0],c[1],-o),g=this.rotatePoints(p[0],p[1],c[0],c[1],-o);return e.startX=u[0],e.startY=u[1],e.endX=g[0],e.endY=v[1],e.width=e.endX-e.startX,e.height=e.endY-e.startY,e},e.prototype.rotatePoints=function(e,t,i,o,r){return[(e-i)*Math.cos(r)-(t-o)*Math.sin(r)+i,(e-i)*Math.sin(r)+(t-o)*Math.cos(r)+o]},e.prototype.setResizedValue=function(e,t,i,o){switch(e){case"x":case"img-resize-x":t+=i;break;case"y":case"img-resize-y":t+=o;break;case"abs-x":t+=i>0?-i:Math.abs(i);break;case"abs-y":t+=o>0?-o:Math.abs(o);break;case"y-abs-x":t+=o+(i>0?-i:Math.abs(i))/2;break;case"abs-x-abs-y":t+=(i>0?-i:Math.abs(i))+(o>0?-o:Math.abs(o))/2;break;case"abs-y-x":t+=(o>0?-o:Math.abs(o))+i/2;break;case"x-y":t+=i+o/2;break;case"y-x":t+=o+i/2}return t},e.prototype.getResizeDirection=function(e,t,i,o,r,n){var a=o*(180/Math.PI),s=this.getResizedElement(a,this.resizedElement);"e-resize"===this.resizedElement?(e.width=this.setResizedValue(s,e.width,t,i),e.endX=e.width+e.startX):"n-resize"===this.resizedElement?(e.startY=this.setResizedValue(s,e.startY,t,i),e.height=e.endY-e.startY):"w-resize"===this.resizedElement?(e.startX=this.setResizedValue(s,e.startX,t,i),e.width=e.startX+e.endX):"s-resize"===this.resizedElement?(e.height=this.setResizedValue(s,e.height,t,i),e.endY=e.height+e.startY):r&&"img-resize"===r?(e.width=this.setResizedValue("img-resize-x",e.width,t,i),e.height=this.setResizedValue("img-resize-y",e.height,t,i),"se-resize"===n?(e.endX=e.width+e.startX,e.endY=e.height+e.startY):"sw-resize"===n?(e.startX=e.endX-e.width,e.endY=e.height+e.startY):"ne-resize"===n?(e.endX=e.width+e.startX,e.startY=e.endY-e.height):"nw-resize"===n&&(e.startX=e.endX-e.width,e.startY=e.endY-e.height)):r&&"text"===r&&("widthHeight"===n?(e.width=this.setResizedValue("x-y",e.width,t,i),e.endX=e.width+e.startX,e.height=this.setResizedValue("y-x",e.height,t,i),e.endY=e.height+e.startY):"width"===n?(e.width=this.setResizedValue("x-y",e.width,t,i),e.endX=e.width+e.startX):"height"===n&&(e.height=this.setResizedValue("y-abs-x",e.height,t,i),e.endY=e.height+e.startY))},e.prototype.getResizedElement=function(e,t){var i=[];"n-resize"===t?i=[[337.5,360,"y"],[0,22.5,"y"],[22.5,67.5,"y-abs-x"],[67.5,112.5,"abs-x"],[112.5,157.5,"abs-x-abs-y"],[157.5,202.5,"abs-y"],[202.5,247.5,"abs-y-x"],[247.5,292.5,"x"],[292.5,337.5,"x-y"]]:"e-resize"===t?i=[[337.5,360,"x"],[0,22.5,"x"],[22.5,67.5,"x-y"],[67.5,112.5,"y"],[112.5,157.5,"y-abs-x"],[157.5,202.5,"abs-x"],[202.5,247.5,"abs-x-abs-y"],[247.5,292.5,"abs-y"],[292.5,337.5,"abs-y-x"]]:"s-resize"===t?i=[[337.5,360,"y"],[0,22.5,"y"],[22.5,67.5,"y-abs-x"],[67.5,112.5,"abs-x"],[112.5,157.5,"abs-x-abs-y"],[157.5,202.5,"abs-y"],[202.5,247.5,"abs-y-x"],[247.5,292.5,"x"],[292.5,337.5,"x-y"]]:"w-resize"===t&&(i=[[337.5,360,"x"],[0,22.5,"x"],[22.5,67.5,"x-y"],[67.5,112.5,"y"],[112.5,157.5,"y-abs-x"],[157.5,202.5,"abs-x"],[202.5,247.5,"abs-x-abs-y"],[247.5,292.5,"abs-y"],[292.5,337.5,"abs-y-x"]]);for(var o=e<0?360-Math.abs(e):e,r=0,n=i;r<n.length;r++){var a=n[r],s=a[0],l=a[1],p=a[2];if(o>s&&o<=l||o+360>s&&o+360<=l)return p}return t},e.prototype.updateCursorStyles=function(e,t,i){var o=this.parent,r=!1;""===o.activeObj.keyHistory||void 0!==o.activeObj.shape||o.currObjType.isCustomCrop||o.currObjType.isLine||!o.currObjType.isText||(o.activeObj.shape="text");var n=(0,l.extend)({},o.activeObj,{},!0);if(!(0,l.isNullOrUndefined)(n.topLeftCircle)){var a;if((a=0===n.shapeDegree?o.transform.degree:o.transform.degree-n.shapeDegree)<0&&(a=360+a),this.isObjSelected)if("line"===n.shape||"arrow"===n.shape)r=this.updateCursorStylesForLineArrow(e,t,n);else if("path"===n.shape)r=this.updateCursorStylesForPath(e,t,n);else if(n.rotatedAngle)this.setCursorForRotatedObject(n,e,t,o.upperCanvas),"grabbing"===o.cursor?(o.upperCanvas.style.cursor=o.cursor="grabbing",this.dragElement=o.cursor):"move"===o.cursor?(this.dragPoint.startX=this.previousPoint.x=this.dragPoint.endX=e,this.dragPoint.startY=this.previousPoint.y=this.dragPoint.endY=t):"default"!==o.cursor&&(r=!0,this.dragElement=o.cursor,o.currObjType.isResize=!0);else{var s=this.getTransRotationPoint(n),p=n.topLeftCircle.radius;s&&e>=s.x-2*p&&e<=s.x+2*p&&t>=s.y-2*p&&t<=s.y+2*p&&"grabbing"!==this.dragElement?(o.upperCanvas.style.cursor=o.cursor="grabbing",this.dragElement=o.upperCanvas.style.cursor):e>=n.topLeftCircle.startX-2*p&&e<=n.topLeftCircle.startX+2*p&&t>=n.topLeftCircle.startY-2*p&&t<=n.topLeftCircle.startY+2*p&&"nw-resize"!==this.dragElement?(n.topLeftCircle.startX=n.topLeftCircle.startY=0,o.upperCanvas.style.cursor=o.cursor="nw-resize",r=!0,this.dragElement=o.upperCanvas.style.cursor):e>=n.topLeftCircle.startX-2*p&&e<=n.topRightCircle.startX-2*p&&t>=n.topCenterCircle.startY-2*p&&t<=n.topCenterCircle.startY+2*p&&"n-resize"!==this.dragElement?(n.topCenterCircle.startX=n.topCenterCircle.startY=0,o.upperCanvas.style.cursor=o.cursor="n-resize",r=!0,this.dragElement=o.upperCanvas.style.cursor):e>=n.topRightCircle.startX-2*p&&e<=n.topRightCircle.startX+2*p&&t>=n.topRightCircle.startY-2*p&&t<=n.topRightCircle.startY+2*p&&"ne-resize"!==this.dragElement?(n.topRightCircle.startX=n.topRightCircle.startY=0,o.upperCanvas.style.cursor=o.cursor="ne-resize",r=!0,this.dragElement=o.upperCanvas.style.cursor):e>=n.centerLeftCircle.startX-2*p&&e<=n.centerLeftCircle.startX+2*p&&t>=n.topLeftCircle.startY-2*p&&t<=n.bottomLeftCircle.startY-2*p&&"w-resize"!==this.dragElement?(n.centerLeftCircle.startX=n.centerLeftCircle.startY=0,o.upperCanvas.style.cursor=o.cursor="w-resize",r=!0,this.dragElement=o.upperCanvas.style.cursor):e>=n.centerRightCircle.startX-2*p&&e<=n.centerRightCircle.startX+2*p&&t>=n.topRightCircle.startY-2*p&&t<=n.bottomRightCircle.startY-2*p&&"e-resize"!==this.dragElement?(n.centerRightCircle.startX=n.centerRightCircle.startY=0,o.upperCanvas.style.cursor=o.cursor="e-resize",r=!0,this.dragElement=o.upperCanvas.style.cursor):e>=n.bottomLeftCircle.startX-2*p&&e<=n.bottomLeftCircle.startX+2*p&&t>=n.bottomLeftCircle.startY-2*p&&t<=n.bottomLeftCircle.startY+2*p&&"sw-resize"!==this.dragElement?(n.bottomLeftCircle.startX=n.bottomLeftCircle.startY=0,o.upperCanvas.style.cursor=o.cursor="sw-resize",r=!0,this.dragElement=o.upperCanvas.style.cursor):e>=n.bottomLeftCircle.startX-2*p&&e<=n.bottomRightCircle.startX-2*p&&t>=n.bottomCenterCircle.startY-2*p&&t<=n.bottomCenterCircle.startY+2*p&&"s-resize"!==this.dragElement?(n.bottomCenterCircle.startX=n.bottomCenterCircle.startY=0,o.upperCanvas.style.cursor=o.cursor="s-resize",r=!0,this.dragElement=o.upperCanvas.style.cursor):e>=n.bottomRightCircle.startX-2*p&&e<=n.bottomRightCircle.startX+2*p&&t>=n.bottomRightCircle.startY-2*p&&t<=n.bottomRightCircle.startY+2*p&&"se-resize"!==this.dragElement?(n.bottomRightCircle.startX=n.bottomRightCircle.startY=0,o.upperCanvas.style.cursor=o.cursor="se-resize",r=!0,this.dragElement=o.upperCanvas.style.cursor):(this.dragPoint.startX=this.previousPoint.x=this.dragPoint.endX=e,this.dragPoint.startY=this.previousPoint.y=this.dragPoint.endY=t),"text"!==n.shape||"n-resize"!==o.cursor&&"s-resize"!==o.cursor&&"e-resize"!==o.cursor&&"w-resize"!==o.cursor||(o.upperCanvas.style.cursor=o.cursor="move",this.dragElement="",this.dragPoint.startX=this.previousPoint.x=this.dragPoint.endX=e,this.dragPoint.startY=this.previousPoint.y=this.dragPoint.endY=t)}else this.dragPoint.startX=this.previousPoint.x=this.dragPoint.endX=e,this.dragPoint.startY=this.previousPoint.y=this.dragPoint.endY=t;this.previousPoint.x=this.previousPoint.y=this.diffPoint.x=this.diffPoint.y=0,"touchstart"===i?r||e>=n.activePoint.startX&&e<=n.activePoint.endX&&t>=n.activePoint.startY&&t<=n.activePoint.endY||"grabbing"===this.dragElement?o.currObjType.isDragging=!0:"line"===n.shape||"arrow"===n.shape?(this.setCursorForLineArrow(n,e,t,o.upperCanvas),"move"===o.cursor&&(o.currObjType.isDragging=!0)):"path"===n.shape&&(this.setCursorForPath(n,e,t,o.upperCanvas),"move"===o.cursor&&(o.currObjType.isDragging=!0)):o.currObjType.isDragging=!0,0===n.rotatedAngle||"e-resize"!==this.dragElement&&"w-resize"!==this.dragElement&&"n-resize"!==this.dragElement&&"s-resize"!==this.dragElement||(this.dragPoint.startX=this.previousPoint.x=this.dragPoint.endX=e,this.dragPoint.startY=this.previousPoint.y=this.dragPoint.endY=t)}},e.prototype.updateCursorStylesForLineArrow=function(e,t,i){for(var o,r=!1,n=this.parent,a=i.topLeftCircle.radius,s=0;s<5;s++)if(e>=(o=i.pointColl[s]).x-2*a&&e<=o.x+2*a&&t>=o.y-2*a&&t<=o.y+2*a){i.centerLeftCircle.startX=i.centerLeftCircle.startY=0,this.dragElement="w-resize",r=!0;break}if(!r)for(s=1;s<6;s++)if(e>=(o=i.pointColl[i.pointColl.length-s]).x-2*a&&e<=o.x+2*a&&t>=o.y-2*a&&t<=o.y+2*a){i.centerRightCircle.startX=i.centerRightCircle.startY=0,this.dragElement="e-resize",r=!0;break}if(!r)for(s=0;s<i.pointColl.length;s++){if(e>=(o=i.pointColl[s]).x-2*a&&e<=o.x+2*a&&t>=o.y-2*a&&t<=o.y+2*a){n.upperCanvas.style.cursor=n.cursor="move",this.dragPoint.startX=this.previousPoint.x=this.dragPoint.endX=e,this.dragPoint.startY=this.previousPoint.y=this.dragPoint.endY=t;break}n.upperCanvas.style.cursor=n.cursor="default"}return r},e.prototype.updateCursorStylesForPath=function(e,t,i){var o=!1,r=this.parent;return this.pathAdjustedIndex=this.setCursorForLineArrow(i,e,t,r.upperCanvas),"move"===r.cursor&&(o=!0,this.dragElement="pathDrag"),o||(r.upperCanvas.style.cursor=r.cursor="move",this.dragPoint.startX=this.previousPoint.x=this.dragPoint.endX=e,this.dragPoint.startY=this.previousPoint.y=this.dragPoint.endY=t),o},e.prototype.setTextSelection=function(e,t){var i=this.parent,o=i.activeObj.activePoint,r=i.transform.degree;r=0===i.activeObj.shapeDegree?i.transform.degree:i.transform.degree-i.activeObj.shapeDegree;var n=i.activeObj.rotateFlipColl;if(this.isTransformedShape&&n){r=0;for(var a=0;a<n.length;a++)"number"==typeof n[a]&&(r+=n[a])}r<0&&(r=360+r);a=0;for(var s=i.activeObj.flipObjColl.length;a<s;a++){var l=i.activeObj.flipObjColl[a].toLowerCase();switch(r){case 0:switch(l){case"horizontal":o={startX:o.endX-e,startY:o.startY,endX:o.endX,endY:o.startY+(t||0)};break;case"vertical":o.startY=o.endY-t,o={startX:o.startX,startY:o.startY,endX:o.startX+(e||0),endY:o.endY};break;default:o={startX:o.startX,startY:o.startY,endX:o.startX+(e||0),endY:o.startY+(t||0)}}break;case 90:switch(l){case"horizontal":o.endX=o.startX+t,o={startX:o.startX,startY:o.startY,endX:o.endX,endY:o.startY+(e||0)};break;case"vertical":o.startX=o.endX-t,o={startX:o.startX,startY:o.endY-e,endX:o.endX,endY:o.endY};break;default:o.startX=o.endX-t,o={startX:o.startX,startY:o.startY,endX:o.endX,endY:o.startY+(e||0)}}break;case 180:switch(l){case"horizontal":o.startY=o.endY-t,o={startX:o.startX,startY:o.startY,endX:o.startX+e,endY:o.endY};break;case"vertical":o.endY=o.startY+t,o={endX:o.endX,endY:o.endY,startX:o.endX-(e||0),startY:o.startY};break;default:o={endX:o.endX,endY:o.endY,startX:o.endX-(e||0),startY:o.endY-(t||0)}}break;case 270:switch(l){case"horizontal":o.startX=o.endX-t,o={startX:o.startX,startY:o.endY-(e||0),endX:o.endX,endY:o.endY};break;case"vertical":o={startX:o.startX,startY:o.startY,endX:o.startX+t,endY:o.startY+(e||0)};break;default:o.endX=o.startX+t,o={startX:o.startX,startY:o.endY-(e||0),endX:o.endX,endY:o.endY}}}}if(0===i.activeObj.flipObjColl.length)switch(r){case 0:o={startX:o.startX,startY:o.startY,endX:o.startX+(e||0),endY:o.startY+(t||0)};break;case 90:o.startX=o.endX-t,o={startX:o.startX,startY:o.startY,endX:o.endX,endY:o.startY+(e||0)};break;case 180:o={endX:o.endX,endY:o.endY,startX:o.endX-(e||0),startY:o.endY-(t||0)};break;case 270:o.endX=o.startX+t,o={startX:o.startX,startY:o.endY-(e||0),endX:o.endX,endY:o.endY}}o.width=o.endX-o.startX,o.height=o.endY-o.startY,i.activeObj.activePoint=o,360!==i.transform.degree&&-360!==i.transform.degree||(i.transform.degree=0)},e.prototype.setActivePoint=function(e,t){var i=this.parent,o=i.activeObj.activePoint;if(!(0,l.isNullOrUndefined)(o))if(i.currObjType.isText){var r=e||0,n=t||i.activeObj.textSettings.fontSize;void 0===i.activeObj.textSettings.fontSize&&(i.activeObj.textSettings.fontSize=.1*Math.abs(i.baseImgCanvas.width-i.baseImgCanvas.height)),this.setTextSelection(r,n),this.mouseDownPoint.x=o.endX,this.mouseDownPoint.y=o.endY,void 0!==i.activeObj.horTopLine&&(i.activeObj.activePoint=(0,l.extend)({},o,{},!0)),i.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate"}})}else if(e&&t)o.startX=this.mouseDownPoint.x=e,o.startY=this.mouseDownPoint.y=t,i.currObjType.isDragging=!0;else{var a=i.activeObj;(o={startX:a.horTopLine.startX,startY:a.horTopLine.startY,endX:a.horTopLine.endX,endY:a.horTopLine.endY}).width=o.endX-o.startX,o.height=o.endY-o.startY}},e.prototype.mouseDownEventHandler=function(e){var t=this.parent;if(t.isSafari&&0===e.buttons&&(this.parent.isShapeDrawing||this.parent.togglePen)&&"path"!==this.parent.drawingShape)e.stopImmediatePropagation();else if(t.isKBDNavigation=!1,this.mouseDown=e.currentTarget===t.lowerCanvas||e.currentTarget===t.upperCanvas?"canvas":"","touchstart"===e.type?this.isTouch=!0:this.isTouch=!1,"touchstart"!==e.type||e.currentTarget!==t.lowerCanvas||t.isImageLoaded){var i;if(this.isCropSelection=!1,this.isPan=!0,void 0!==t.activeObj.shape&&(i=t.activeObj.shape.split("-")),void 0!==i&&"crop"===i[0]&&(this.isCropSelection=!0),this.isCropSelection&&(this.dragCanvas=t.togglePan=!0),"grabbing"===t.cursor){var o={shapeSettingsObj:{}};this.isGrabbing=!0,t.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:o}});var r=o.shapeSettingsObj,n={cancel:!1,action:"rotate-start",previousShapeSettings:r,allowShapeOverflow:this.allowOutofBound()},a={cancel:!1,action:"rotate-start",previousShapeSettings:r,allowShapeOverflow:this.allowOutofBound()};this.triggerShapeChange(n,a,"mouse-down")}var s={point:this.setXYPoints(e)};t.trigger("click",s),this.isMouseDown=!0,this.isMouseUp=!1,this.clickEvent(s,e)}},e.prototype.getImagePoints=function(e,t){var i=this.parent.img,o=i.destLeft,r=i.destTop,n=i.destWidth,a=i.destHeight;return e<o?e=o:e>o+n&&(e=o+n),t<r?t=r:t>r+a&&(t=r+a),{x:e,y:t}},e.prototype.clickEvent=function(e,t){var i=this.parent,o=i.activeObj.activePoint,r=e.point.x,n=e.point.y;this.mouseClickPoint={x:r,y:n};var a=i.activeObj.shape&&"text"===i.activeObj.shape?i.cursor:"default",s=i.upperCanvas.style.cursor,p=i.element.querySelector("#"+i.element.id+"_textArea");if("block"===p.style.display||"inline-block"===p.style.display){for(var d=!1,h=0;h<i.objColl.length;h++){var c=i.objColl[h];if(c&&c.shape&&c.activePoint){var u=c.activePoint,v=u.startX,g=u.startY,f=u.endX,m=u.endY,b=c.topLeftCircle&&c.topLeftCircle.radius?c.topLeftCircle.radius:0;r>=v-2*b&&r<=f+2*b&&n>=g-2*b&&n<=m+2*b&&(d=!0)}}d&&i.okBtn()}if(i.isResize)return this.performEnterAction(t),void(i.upperCanvas.style.cursor="default");if(JSON.stringify(i.frameObj)!==JSON.stringify(i.tempFrameObj))i.okBtn();else if(""!==this.currentDrawingShape&&!this.isShapeTouch(t,this.isCropSelection)&&(this.isTouch||"crosshair"===s||i.isShapeDrawing)){i.drawingShape&&!i.isShapeDrawing&&(i.okBtn(),i.enableShapeDrawing(i.toPascalCase(i.drawingShape),!0)),o=i.activeObj.activePoint;var y={currObj:{}};i.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:y}}),this.initialPrevObj=y.currObj,this.initialPrevObj.objColl=(0,l.extend)([],i.objColl,[],!0),this.initialPrevObj.pointColl=(0,l.extend)([],i.pointColl,[],!0),this.initialPrevObj.afterCropActions=(0,l.extend)([],i.afterCropActions,[],!0);var x={selPointColl:null};if(i.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:x}}),this.initialPrevObj.selPointColl=(0,l.extend)([],x.selPointColl,[],!0),this.setActivePoint(r,n),o=i.activeObj.activePoint,"path"===this.currentDrawingShape){var w=this.getImagePoints(r,n);i.activeObj.pointColl.push({x:w.x,y:w.y}),0!==o.width&&0!==o.height&&(o.width=0,o.height=0,o.startX=i.activeObj.pointColl[i.activeObj.pointColl.length-1].x,o.startY=i.activeObj.pointColl[i.activeObj.pointColl.length-1].y)}if(o.endX=o.startX,o.endY=o.startY,"text"===this.currentDrawingShape){i.activeObj.textSettings.fontSize=11,this.previousPoint.x=o.startX,this.previousPoint.y=o.startY,i.notify("shape",{prop:"updateFontStyles",onPropertyChange:!1,value:{isTextBox:null}});var P=this.upperContext.measureText(i.activeObj.textSettings.text).width+.5*i.activeObj.textSettings.fontSize;o.endX=o.startX+P,o.endY=o.startY+1.18*i.activeObj.textSettings.fontSize,o.width=o.endX-o.startX,o.height=o.endY-o.startY}else"arrow"===this.currentDrawingShape&&(i.activeObj.start=this.arrowShape[0],i.activeObj.end=this.arrowShape[1]);i.currObjType.isDragging=!0;var S=this.updatePrevShapeSettings(),j={cancel:!1,action:"draw-start",previousShapeSettings:S,allowShapeOverflow:this.allowOutofBound()},O={cancel:!1,action:"move",previousShapeSettings:S,allowShapeOverflow:this.allowOutofBound()};return this.shapeResizingArgs=j,this.shapeMovingArgs=O,this.triggerShapeChange(j,O,"mouse-down"),i.activeObj.activePoint=o,i.isShapeDrawing=!0,void(this.tempActiveObj=(0,l.extend)({},i.activeObj,{},!0))}i.notify("draw",{prop:"resetFrameZoom",onPropertyChange:!1,value:{isOk:!0}}),this.isCropSelection&&this.dragCanvas&&(this.setCursor(r,n),"move"!==i.cursor&&"crosshair"!==i.cursor&&"default"!==i.cursor&&"grab"!==i.cursor&&(this.isPan=!1)),i.activeObj.shape?this.isObjSelected=!0:this.isObjSelected=!1;var T={currObj:{}};i.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:T}});var k=T.currObj,F=(0,l.extend)({},i.activeObj,null,!0),I=this.isShapeTouch(t,this.isCropSelection),A=this.isFreehandDrawTouch(t,this.isCropSelection),D=I||this.isShapeClick(t,this.isCropSelection),E=this.applyCurrShape(D),R="none"!==i.textArea.style.display;if(this.isTouch&&!I&&F.shape&&!this.isCropSelection){this.applyObj(r,n)&&(i.okBtn(!0),i.notify("draw",{prop:"setPrevActObj",onPropertyChange:!1,value:{prevActObj:null}}));var L=(0,l.extend)({},i.cropObj,{},!0);i.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:k,previousObjColl:k.objColl,previousPointColl:k.pointColl,previousSelPointColl:k.selPointColl,previousCropObj:L,previousText:null,currentText:null,previousFilter:null,isCircleCrop:i.isCircleCrop}}),E&&i.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}})}if(I||i.togglePen||this.isCropSelection||"blur"===i.activeObj.redactType||"pixelate"===i.activeObj.redactType||(i.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1}),i.notify("toolbar",{prop:"close-contextual-toolbar",onPropertyChange:!1})),!this.dragCanvas||!this.isPan||"grab"!==i.cursor&&!this.isTouch||I||A||i.togglePen){var z=!1;!i.activeObj.shape||"line"!==i.activeObj.shape&&"arrow"!==i.activeObj.shape||(z=!0);var M=this.setXYPoints(t),B=M.x,H=M.y;if(this.applyObj(B,H)){if(i.okBtn(!0),E){var N=i.cursor;i.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}),i.cursor=N}i.notify("draw",{prop:"setPrevActObj",onPropertyChange:!1,value:{prevActObj:null}})}i.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:B,y:H,isMouseDown:!0}});var Y={index:null};i.notify("freehand-draw",{prop:"getFreehandDrawHoveredIndex",onPropertyChange:!1,value:{obj:Y}});var W={freehandSelectedIndex:null};if(i.notify("freehand-draw",{prop:"getFreehandSelectedIndex",onPropertyChange:!1,value:{obj:W}}),this.isFhdPoint||this.isFhdCustomized&&!i.togglePen){if(!(0,l.isNullOrUndefined)(W.freehandSelectedIndex)&&W.freehandSelectedIndex!==Y.index){var X=Y.index;if(i.okBtn(),this.isFhdCustomized=!1,i.notify("freehand-draw",{prop:"setFreehandDrawHoveredIndex",onPropertyChange:!1,value:{index:X}}),Y.index>-1){var U=i.pointColl[Y.index].strokeColor;i.notify("freehand-draw",{prop:"hoverFhd",onPropertyChange:!1,value:{strokeColor:U,strokeWidth:i.pointColl[Y.index].strokeWidth}})}}W.freehandSelectedIndex=null,i.notify("freehand-draw",{prop:"getFreehandSelectedIndex",onPropertyChange:!1,value:{obj:W}});var V=(0,l.extend)([],i.objColl,[],!0);if(!(0,l.isNullOrUndefined)(Y.index)&&Y.index>-1)i.notify("freehand-draw",{prop:"selectFhd",value:{type:"ok"}}),i.notify("freehand-draw",{prop:"hoverFhd",onPropertyChange:!1,value:{strokeColor:null,strokeWidth:null}}),i.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:!0}});else if(W.freehandSelectedIndex){i.okBtn();U=i.pointColl[W.freehandSelectedIndex].strokeColor;i.notify("freehand-draw",{prop:"hoverFhd",onPropertyChange:!1,value:{strokeColor:U,strokeWidth:i.pointColl[W.freehandSelectedIndex].strokeWidth}})}else this.findTargetObj(B,H,!1)&&(i.objColl=V,this.findTarget(B,H,t.type),i.notify("draw",{prop:"redrawDownScale"}))}else{if(this.isFhdEditing){i.apply();var q=i.element.querySelector("#"+i.element.id+"_quickAccessToolbarArea");q&&(q.style.display="none");w=i.pointColl[W.freehandSelectedIndex];var _={id:"pen_"+(W.freehandSelectedIndex+1),type:C.FreehandDraw,startX:w.points[0].x,startY:w.points[0].y,strokeColor:w.strokeColor,strokeWidth:w.strokeWidth,points:w.points,opacity:w.opacity,index:w.order},Z={action:"apply",currentShapeSettings:(0,l.extend)({},_,{},!0)};i.trigger("shapeChange",Z),i.editCompleteArgs=Z}var G=i.togglePen,J=i.cursor;if(i.notify("toolbar",{prop:"close-contextual-toolbar",onPropertyChange:!1}),"redact"===F.shape&&"default"!==J&&(i.cursor=J),G&&i.freeHandDraw(!0),this.isFhdEditing=!1,z?this.setCursor(B,H):"default"!==a&&(i.upperCanvas.style.cursor=i.cursor=a),"crosshair"===i.cursor||l.Browser.isDevice&&i.togglePen){if(i.togglePen){if((0,l.isNullOrUndefined)(i.activeObj.strokeSettings)){var K={strokeSettings:{}};i.notify("shape",{prop:"getStrokeSettings",onPropertyChange:!1,value:{obj:K}}),i.activeObj.strokeSettings=K.strokeSettings}var Q={penStrokeWidth:null};i.notify("freehand-draw",{prop:"getPenStrokeWidth",onPropertyChange:!1,value:{obj:Q}}),(0,l.isNullOrUndefined)(Q.penStrokeWidth)&&i.notify("freehand-draw",{prop:"setPenStrokeWidth",onPropertyChange:!1,value:{value:2}}),this.upperContext.strokeStyle=i.activeObj.strokeSettings.strokeColor,this.upperContext.fillStyle=i.activeObj.strokeSettings.strokeColor,i.notify("freehand-draw",{prop:"resetSelPoints",onPropertyChange:!1}),i.notify("freehand-draw",{prop:"freehandDownHandler",onPropertyChange:!1,value:{e:t,canvas:i.upperCanvas}})}else i.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.upperContext.clearRect(0,0,i.upperCanvas.width,i.upperCanvas.height);i.currObjType.isActiveObj=!1,this.dragElement="",this.dragPoint.startX=this.dragPoint.startY=this.dragPoint.endX=this.dragPoint.endY=0}(this.isTouch&&"crosshair"!==J||"crosshair"!==i.cursor)&&"touchstart"===t.type.toLowerCase()||i.currObjType.isActiveObj&&"default"!==i.cursor&&!i.togglePen?(i.notify("draw",{prop:"updateTempObjColl"}),i.notify("draw",{prop:"updateTempPointColl"}),this.findTarget(B,H,t.type),i.notify("draw",{prop:"redrawDownScale"})):""!==i.currObjType.shape&&!i.currObjType.isCustomCrop||i.togglePen||"default"===i.cursor||this.setActivePoint(B,H),R&&i.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}})}}else{if(this.applyObj(r,n)){if(i.okBtn(!0),E){var $=i.cursor;i.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}),i.cursor=$}i.notify("draw",{prop:"setPrevActObj",onPropertyChange:!1,value:{prevActObj:null}})}this.isFhdEditing&&(i.notify("freehand-draw",{prop:"applyFhd",onPropertyChange:!1}),this.isFhdCustomized=!1,i.notify("toolbar",{prop:"destroy-qa-toolbar",onPropertyChange:!1}));var ee=i.activeObj.shape;ee&&["rectangle","ellipse","line","arrow","path","text","image","redact"].indexOf(ee)>-1&&(i.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:null}}),i.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),i.notify("toolbar",{prop:"setCurrentToolbar",value:{type:"main"}}),i.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1}));var te=!1;i.activeObj.shape&&i.activeObj.shape.indexOf("crop-")>-1&&(te=!0),i.element.querySelector(".e-contextual-toolbar-wrapper")&&!te&&(i.element.querySelector(".e-contextual-toolbar-wrapper").classList.contains("e-hide")||(i.okBtn(),i.element.querySelector(".e-contextual-toolbar-wrapper").classList.add("e-hide"))),this.canvasMouseDownHandler(t)}this.isShapeInserted=!1,this.tempActiveObj=(0,l.extend)({},i.activeObj,{},!0)},e.prototype.mouseMoveEventHandler=function(e){var t=this.parent,i=t.cursor,o=t.upperCanvas.style.cursor;if(e.preventDefault(),!(this.isPreventShaping||t.isShapeDrawing&&t.currObjType.isDragging&&this.isTouch&&t.activeObj.shape&&"path"===t.activeObj.shape)){if("grabbing"===t.cursor&&this.isGrabbing){var r={shapeSettingsObj:{}};t.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:r}});var n=r.shapeSettingsObj,a={cancel:!1,action:"rotating",previousShapeSettings:n,allowShapeOverflow:this.allowOutofBound()},s={cancel:!1,action:"rotating",previousShapeSettings:n,allowShapeOverflow:this.allowOutofBound()};this.triggerShapeChange(a,s,"mouse-down")}if(this.timer&&this.timer>0&&this.dragPoint.startX&&this.dragPoint.startY){var p=Math.abs(this.dragPoint.startX-e.touches[0].clientX),d=Math.abs(this.dragPoint.startY-e.touches[0].clientY);(p>10||d>10)&&(this.timer=0)}var h=t.lowerCanvas.getBoundingClientRect();if("touchmove"!==e.type||2!==e.touches.length){var c,u;"mousemove"===e.type?(c=e.clientX,u=e.clientY):(this.touchEndPoint.x=c=e.touches[0].clientX,this.touchEndPoint.y=u=e.touches[0].clientY),c-=h.left,u-=h.top,this.canvasMouseMoveHandler(e);var v,g=!1;void 0!==t.activeObj.shape&&(v=t.activeObj.shape.split("-")),void 0!==v&&"crop"===v[0]&&(g=!0),g&&t.notify("transform",{prop:"disableZoomOutBtn",value:{isZoomOut:!0}}),t.upperCanvas.style.cursor=o,t.cursor=i,(t.currObjType.isActiveObj&&(void 0!==t.activeObj.activePoint||t.objColl.length>0)&&!this.dragCanvas||void 0!==t.activeObj.activePoint)&&""===this.dragElement&&(this.setCursor(c,u),t.activeObj.activePoint&&(0===t.activeObj.activePoint.width||!(0,l.isNullOrUndefined)(t.activeObj.currIndex)&&this.cursorTargetId!==t.activeObj.currIndex)&&"default"!==t.cursor&&"move"!==t.cursor&&"crosshair"!==t.cursor&&"grab"!==t.cursor&&"pointer"!==t.cursor&&(t.upperCanvas.style.cursor=t.cursor="move"),this.findTarget(c,u,e.type));var f=t.img,m=f.destLeft,b=f.destTop,y=f.destWidth,C=f.destHeight;if(t.currObjType.isDragging){if(t.activeObj.shape&&t.activeObj.preventShapeDragOut&&(c<m||c>m+y||u<b||u>b+C))return;this.upperContext.clearRect(0,0,t.lowerCanvas.width,t.lowerCanvas.height),this.updateActivePoint(c,u,g),t.notify("shape",{prop:"updateTrianglePoints",onPropertyChange:!1,value:{obj:t.activeObj}}),this.isPreventDragging?(this.isShapeDragOut()||(this.isPreventDragging=!1),t.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:null,isCropRatio:null,points:null,isPreventDrag:!0,saveContext:null,isPreventSelection:null}})):t.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:null,isCropRatio:null,points:null,isPreventDrag:null,saveContext:null,isPreventSelection:null}}),g&&(this.dragCanvas=t.togglePan=!0)}this.isMouseDown=!1,this.isMouseUp=!1}else{if(this.isFirstMove)this.startTouches=this.targetTouches(e.touches),this.tempTouches=[],this.tempTouches.push({x:e.touches[0].clientX||e.touches[0].pageX-t.lowerCanvas.offsetLeft-h.left,y:(e.touches[0].clientY||e.touches[0].pageY-t.lowerCanvas.offsetTop)-h.top}),this.tempTouches.push({x:(e.touches[1].clientX||e.touches[1].pageX-t.lowerCanvas.offsetLeft)-h.left,y:(e.touches[1].clientY||e.touches[1].pageY-t.lowerCanvas.offsetTop)-h.top});else{var w=(e.touches[0].clientX||e.touches[0].pageX-t.lowerCanvas.offsetLeft)-h.left,P=(e.touches[0].clientY||e.touches[0].pageY-t.lowerCanvas.offsetTop)-h.top,S=(e.touches[1].clientX||e.touches[1].pageX-t.lowerCanvas.offsetLeft)-h.left,j=(e.touches[1].clientY||e.touches[1].pageY-t.lowerCanvas.offsetTop)-h.top,O={x:w<S?S-(S-w)/2:w-(w-S)/2,y:P<j?j-(j-P)/2:P-(P-j)/2};if(this.currMousePoint.x!==O.x&&this.currMousePoint.y!==O.y){var T="";if("touchmove"===e.type&&(t.zoomSettings.zoomTrigger&x.Pinch)===x.Pinch){this.zoomType="Pinch";var k=this.calculateScale(this.startTouches,this.targetTouches(e.touches));this.startTouches=this.targetTouches(e.touches),k>1?T="zoomIn":k<1&&(T="zoomOut")}""!==T&&(t.isZoomBtnClick=!0,t.notify("draw",{prop:"performPointZoom",onPropertyChange:!1,value:{x:O.x,y:O.y,type:T,isResize:null}})),this.tempTouches=[],this.tempTouches.push({x:e.touches[0].clientX||e.touches[0].pageX-t.lowerCanvas.offsetLeft,y:e.touches[0].clientY||e.touches[0].pageY-t.lowerCanvas.offsetTop}),this.tempTouches.push({x:e.touches[1].clientX||e.touches[1].pageX-t.lowerCanvas.offsetLeft,y:e.touches[1].clientY||e.touches[1].pageY-t.lowerCanvas.offsetTop}),this.currMousePoint.x=O.x,this.currMousePoint.y=O.y,this.isPinching=!0}}this.isFirstMove=!1}}},e.prototype.mouseUpEventHandler=function(e){var t=this.parent,i=t.element.id;if(t.isKBDNavigation=this.isMouseDown=!1,this.isMouseUp=!0,l.Browser.isDevice||!(t.element.querySelector("#"+i+"_contextualToolbar")&&!t.element.querySelector("#"+i+"_contextualToolbar").parentElement.classList.contains("e-hide")||t.element.querySelector("#"+i+"_headWrapper")&&!t.element.querySelector("#"+i+"_headWrapper").parentElement.classList.contains("e-hide"))||t.activeObj.shape&&"redact"===t.activeObj.shape&&t.isShapeDrawing){if("grabbing"===t.cursor&&this.isGrabbing){var o={shapeSettingsObj:{}};t.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:o}});var r=o.shapeSettingsObj,n={cancel:!1,action:"rotate-end",previousShapeSettings:r,allowShapeOverflow:this.allowOutofBound()},a={cancel:!1,action:"rotate-end",previousShapeSettings:r,allowShapeOverflow:this.allowOutofBound()};this.triggerShapeChange(n,a,"mouse-up")}if(this.isGrabbing=!1,this.isPreventShaping&&(this.isPreventShaping=!1),"canvas"===this.mouseDown||this.isSliderActive||e.target.closest(".e-image-editor")||e.target.closest(".e-ie-ddb-popup")){"touchstart"===e.type?this.isTouch=!1:"touchend"===e.type&&e.stopImmediatePropagation(),e.preventDefault(),t.togglePan&&this.canvasMouseUpHandler(e);var s=void 0,p=void 0;"mouseup"===e.type?(s=e.clientX,p=e.clientY):this.isTouchDblClick||(s=this.touchEndPoint.x,p=this.touchEndPoint.y);var d=t.lowerCanvas.getBoundingClientRect();s-=d.left,p-=d.top,"text"===t.drawingShape&&this.mouseDownPoint&&this.mouseDownPoint.x===s&&this.mouseDownPoint.y===p&&(t.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),t.activeObj.keyHistory||(t.activeObj.keyHistory="Enter Text"));var h=void 0,c=this.currentDrawingShape,u=!1;if("touchend"===e.type&&(this.startTouches=this.tempTouches=[],this.isFirstMove=!1,"none"===t.textArea.style.display&&(this.timer=0),this.isPinching))return this.isPinching=!1,t.notify("draw",{prop:"redrawDownScale"}),(t.isCropTab||t.activeObj.shape)&&(t.notify("draw",{prop:"setStraightenActObj",value:{activeObj:null}}),t.notify("freehand-draw",{prop:"resetStraightenPoint"})),void(t.isStraightening&&(t.notify("draw",{prop:"resetStraightenDestPoints"}),t.notify("draw",{prop:"setDestForStraighten"})));var v=!1,g=void 0;if(void 0!==t.activeObj.shape&&(g=t.activeObj.shape.split("-")),void 0!==g&&"crop"===g[0]&&(v=!0),"path"===this.currentDrawingShape&&t.isShapeDrawing){var f=e.srcElement,m=f.parentElement.id,b=t.element.id;return e.currentTarget!==t.upperCanvas&&e.currentTarget!==t.lowerCanvas&&t.activeObj.pointColl.length>0&&(f.classList.contains("e-upload-icon")||m===b+"_zoomIn"||m===b+"_zoomOut"||m===b+"_annotationBtn"||m===b+"_borderColorBtn"||m===b+"_borderWidthBtn")&&(t.notify("shape",{prop:"stopPathDrawing",onPropertyChange:!1,value:{e,isApply:!0}}),this.upperContext.clearRect(0,0,t.upperCanvas.width,t.upperCanvas.height),t.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:t.activeObj,isCropRatio:null,points:null,isPreventDrag:!0,saveContext:null,isPreventSelection:!0}})),void(t.currObjType.isDragging&&this.isTouch&&t.activeObj.shape&&"path"===t.activeObj.shape&&(this.upperContext.clearRect(0,0,t.upperCanvas.width,t.upperCanvas.height),t.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:t.activeObj,isCropRatio:null,points:null,isPreventDrag:!0,saveContext:null,isPreventSelection:!0}})))}if(e.currentTarget===t.upperCanvas&&!t.isResize){if(this.pathAdjustedIndex=null,""!==this.currentDrawingShape){if("text"===this.currentDrawingShape){var y=(0,l.extend)({},t.cropObj,{},!0);t.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeInsert",previousObj:this.initialPrevObj,previousObjColl:this.initialPrevObj.objColl,previousPointColl:this.initialPrevObj.pointColl,previousSelPointColl:this.initialPrevObj.selPointColl,previousCropObj:y,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}})}else t.notify("undo-redo",{prop:"updateUrObj",onPropertyChange:!1,value:{objColl:this.initialPrevObj.objColl,operation:"shapeInsert"}});this.isShapeInserted=!0,this.currentDrawingShape="",(t.activeObj.shape&&"path"===t.activeObj.shape&&0===t.activeObj.pointColl.length||(!t.activeObj.shape||"path"!==t.activeObj.shape)&&0===t.activeObj.activePoint.width&&0===t.activeObj.activePoint.height)&&(u=!0,t.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.upperContext.clearRect(0,0,t.upperCanvas.width,t.upperCanvas.height));n={cancel:!1,action:"draw-end",previousShapeSettings:S=this.updatePrevShapeSettings()},a={cancel:!1,action:"move",previousShapeSettings:S};this.shapeResizingArgs=n,this.shapeMovingArgs=a,this.triggerShapeChange(n,a,"mouse-up")}t.activeObj.shape&&"path"===t.activeObj.shape&&t.activeObj.pointColl.length>0&&(t.activeObj.activePoint=t.getSquarePointForPath(t.activeObj)),this.adjustActObjForLineArrow(),this.updPtCollForShpRot(),t.currObjType.shape=t.currObjType.shape.toLowerCase();var C=(0,l.extend)({},t.cropObj,{},!0),x={currObj:{}};t.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:x}});var w=x.currObj;w.objColl=(0,l.extend)([],t.objColl,[],!0),w.pointColl=(0,l.extend)([],t.pointColl,[],!0),w.afterCropActions=(0,l.extend)([],t.afterCropActions,[],!0);var P={selPointColl:null};if(t.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:P}}),w.selPointColl=(0,l.extend)([],P.selPointColl,[],!0),t.togglePen||v){if(v&&this.isMouseUp&&t.cursor.indexOf("resize")>-1){var S;n={cancel:!1,action:"resize-end",previousShapeSettings:S=this.updatePrevShapeSettings()};this.triggerShapeChange(n,n,"resize")}}else{if(this.tempObjColl&&0!==t.activeObj.activePoint.width){t.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),t.objColl.push(t.activeObj),JSON.stringify(t.activeObj.activePoint)!==JSON.stringify(this.tempActiveObj.activePoint)&&t.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:w,previousObjColl:this.tempObjColl,previousPointColl:w.pointColl,previousSelPointColl:w.selPointColl,previousCropObj:C,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}});var j=(0,l.extend)({},t.objColl[t.objColl.length-1],{},!0);t.objColl.pop(),this.redrawShape(j),this.tempObjColl=void 0}this.isFhdEditing||(this.applyCurrActObj(s,p),t.currObjType.isResize=!1,t.notify("toolbar",{prop:"destroy-qa-toolbar",onPropertyChange:!1}))}if(t.activeObj){var O,T=!1;void 0!==t.activeObj.shape&&(O=t.activeObj.shape.split("-")),(void 0===O&&(t.currObjType.isCustomCrop||t.togglePen)||void 0!==O&&"crop"===O[0])&&(T=!0);var k=t.activeObj.shape;h=k;if(["rectangle","ellipse","line","arrow","path"].indexOf(k)>-1)t.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"shapes",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}});else if("text"===k)"none"===t.textArea.style.display&&t.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"text",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}});else if("redact"===k)t.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"redact",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}});else if(this.isFhdEditing)t.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"pen",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}});else if(!T){t.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:null,isCropping:!1,isZooming:null}})}if(t.notify("toolbar",{prop:"update-toolbar-items",onPropertyChange:!1}),!this.isFhdEditing){var F=Math.floor(t.activeObj.activePoint.width);if(t.activeObj.shape&&"text"===t.activeObj.shape&&11===t.activeObj.textSettings.fontSize&&11===Math.floor(t.activeObj.activePoint.height)&&(55===F||t.activeObj.textSettings.bold&&58===F)&&(t.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),"text"!==t.drawingShape||t.activeObj.keyHistory||(t.activeObj.keyHistory="Enter Text")),!T){var I=!1;if(Math.round(s)===Math.round(this.mouseClickPoint.x)&&Math.round(p)===Math.round(this.mouseClickPoint.y)&&(I=!0,t.notify("undo-redo",{prop:"preventApplyEditComplete",value:{bool:!0}})),this.adjustActObjForLineArrow(),t.isShapeDrawing){var A=this.currentDrawingShape;t.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1}),this.currentDrawingShape=A}else t.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1});I&&t.notify("undo-redo",{prop:"preventApplyEditComplete",value:{bool:!1}})}}}}if(void 0!==t.activeObj.shape&&(g=t.activeObj.shape.split("-")),void 0!==g&&"crop"===g[0]&&(v=!0),t.activeObj.shape&&!v&&e.currentTarget===t.upperCanvas&&"none"===t.textArea.style.display){if("text"===t.activeObj.shape)t.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"text",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}});else if("redact"===t.activeObj.shape)t.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"redact",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}});else{A=this.currentDrawingShape;this.currentDrawingShape="",t.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"shapes",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}),this.currentDrawingShape=A}t.notify("toolbar",{prop:"update-toolbar-items",onPropertyChange:!1}),t.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:null}})}o={freehandDrawSelectedId:null};t.notify("freehand-draw",{prop:"getFreehandDrawSelectedId",onPropertyChange:!1,value:{obj:o}}),t.togglePen&&e.currentTarget===t.upperCanvas&&!o.freehandDrawSelectedId?(t.notify("freehand-draw",{prop:"freehandUpHandler",onPropertyChange:!1,value:{e,canvas:t.upperCanvas,context:this.upperContext}}),t.togglePen&&!t.isMaskImage&&((0,l.isNullOrUndefined)(t.toolbar)||t.toolbar&&t.toolbar.length>0||!(0,l.isNullOrUndefined)(t.toolbarTemplate))&&(t.okBtn(),t.freeHandDraw(!0))):t.currObjType.shape="",this.dragElement="",this.mouseDown="",this.isSliderActive=!1,t.currObjType.isInitialLine=t.currObjType.isDragging=!1,this.selMouseUpEvent(),(0,l.isNullOrUndefined)(t.drawingShape)&&h&&""!==c&&(t.drawingShape=h),t.drawingShape&&(this.currentDrawingShape=t.drawingShape.toLowerCase(),u&&(t.enableShapeDrawing(t.toPascalCase(t.drawingShape),!0),t.upperCanvas.style.cursor="crosshair")),t.isShapeDrawing=!1,t.notify("freehand-draw",{prop:"resetSelPoints",onPropertyChange:!1})}this.isMouseUp=!1,this.mouseClickPoint={x:0,y:0}}},e.prototype.adjustActObjForLineArrow=function(e){var t=!1,i=this.parent;if((e=e||i.activeObj).shape&&("line"===e.shape||"arrow"===i.activeObj.shape)){var o=void 0;if(("e-resize"===this.dragElement&&e.activePoint.endX<e.activePoint.startX||"w-resize"===this.dragElement&&e.activePoint.startX>e.activePoint.endX)&&(t=!0,o=e.activePoint.startX,e.activePoint.startX=e.activePoint.endX,e.activePoint.endX=o,o=e.activePoint.startY,e.activePoint.startY=e.activePoint.endY,e.activePoint.endY=o),e.activePoint.width=Math.abs(e.activePoint.endX-e.activePoint.startX),e.activePoint.height=Math.abs(e.activePoint.endY-e.activePoint.startY),"path"!==i.activeObj.shape){i.notify("shape",{prop:"setPointCollForLineArrow",onPropertyChange:!1,value:{obj:e}});for(var r=0;r<e.pointColl.length;r++)e.pointColl[r].ratioX=(e.pointColl[r].x-i.img.destLeft)/i.img.destWidth,e.pointColl[r].ratioY=(e.pointColl[r].y-i.img.destTop)/i.img.destHeight}}return t},e.prototype.updPtCollForShpRot=function(e){var t=this.parent;if((e=e||t.activeObj).shape&&0!==e.rotatedAngle){t.notify("shape",{prop:"setPointCollForShapeRotation",onPropertyChange:!1,value:{obj:e}});var i=t.img,o=i.destLeft,r=i.destTop,n=i.destWidth,a=i.destHeight,s=e.horTopLinePointColl,l=e.horBottomLinePointColl,p=e.verLeftLinePointColl,d=e.verRightLinePointColl,h=function(e){e.ratioX=(e.x-o)/n,e.ratioY=(e.y-r)/a};s.forEach(h),l.forEach(h),p.forEach(h),d.forEach(h)}},e.prototype.setXYPoints=function(e){var t,i;e.preventDefault(),"mousedown"===e.type?(t=e.clientX,i=e.clientY):(this.touchEndPoint.x=t=e.touches[0].clientX,this.touchEndPoint.y=i=e.touches[0].clientY);var o=this.parent.lowerCanvas.getBoundingClientRect();return{x:t-=o.left,y:i-=o.top}},e.prototype.getCurrentIndex=function(){for(var e,t=this.parent,i=0,o=t.objColl.length;i<o;i++)if(t.activeObj.currIndex===t.objColl[i].currIndex){e=i;break}return e},e.prototype.isShapeClick=function(e,t){var i=this.parent,o=!1;if(i.togglePen)return o;if(i.activeObj.shape&&"text"===i.activeObj.shape&&this.isShapeInserted){var r="block"===i.textArea.style.display||"inline-block"===i.textArea.style.display,n=(0,l.extend)({},i.activeObj,null,!0);i.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:!0}});var a=this.setXYPoints(e),s=a.x,p=a.y;if(o=this.findTargetObj(s,p,t),t||(this.upperContext.clearRect(0,0,i.upperCanvas.width,i.upperCanvas.height),o&&i.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:!0}})),r){i.textArea.value=i.objColl[i.objColl.length-1].keyHistory,i.textArea.style.display="block",i.activeObj=n;var d=this.getCurrentIndex();(0,l.isNullOrUndefined)(d)?i.objColl.pop():i.objColl.splice(d,1)}else if(!o&&n.shape){i.activeObj=n;d=this.getCurrentIndex();(0,l.isNullOrUndefined)(d)||JSON.stringify(i.activeObj.activePoint)!==JSON.stringify(i.objColl[d].activePoint)?(0,l.isNullOrUndefined)(i.activeObj.currIndex)&&i.objColl.pop():i.objColl.splice(d,1)}}return o},e.prototype.isShapeTouch=function(e,t){var i=this.parent,o=!1;if("touchstart"===e.type&&!i.togglePen){i.activeObj&&"text"===i.activeObj.shape&&(this.timer=setTimeout(this.setTimer.bind(this),1e3,e));var r="block"===i.textArea.style.display||"inline-block"===i.textArea.style.display,n=(0,l.extend)({},i.activeObj,null,!0);i.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:!0}});var a=this.setXYPoints(e),s=a.x,p=a.y;if(o=this.findTargetObj(s,p,t),t||this.upperContext.clearRect(0,0,i.upperCanvas.width,i.upperCanvas.height),r){i.textArea.value=i.objColl[i.objColl.length-1].keyHistory,i.textArea.style.display="block",i.activeObj=n;var d=this.getCurrentIndex();(0,l.isNullOrUndefined)(d)?i.objColl.pop():i.objColl.splice(d,1)}else if(!o&&n.shape&&(0!==n.activePoint.width||0!==n.activePoint.height||"path"===n.shape&&n.pointColl.length>0)){i.activeObj=n;d=this.getCurrentIndex();t||((0,l.isNullOrUndefined)(d)||JSON.stringify(i.activeObj.activePoint)!==JSON.stringify(i.objColl[d].activePoint)?(0,l.isNullOrUndefined)(i.activeObj.currIndex)&&i.objColl.pop():i.objColl.splice(d,1))}}return o},e.prototype.isFreehandDrawTouch=function(e,t){var i=this.parent,o=!1;if("touchstart"===e.type&&!t&&!i.togglePen){var r="block"===i.textArea.style.display||"inline-block"===i.textArea.style.display,n=(0,l.extend)({},i.activeObj,null,!0);i.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:!0}});var a=this.setXYPoints(e),s=a.x,p=a.y;if(this.setCursor(s,p),this.isFhdPoint&&(o=!0),r){i.textArea.value=i.objColl[i.objColl.length-1].keyHistory,i.textArea.style.display="block",i.activeObj=n;var d=this.getCurrentIndex();(0,l.isNullOrUndefined)(d)?i.objColl.pop():i.objColl.splice(d,1)}else if(n.shape){i.activeObj=n;d=this.getCurrentIndex();t||((0,l.isNullOrUndefined)(d)||JSON.stringify(i.activeObj.activePoint)!==JSON.stringify(i.objColl[d].activePoint)?(0,l.isNullOrUndefined)(i.activeObj.currIndex)&&i.objColl.pop():i.objColl.splice(d,1))}}return o},e.prototype.applyObj=function(e,t){var i=this.parent,o=!1;if(0===i.activeObj.activePoint.width&&0===i.activeObj.activePoint.height)return!1;var r=i.activeObj.activePoint,n=r.startX,a=r.startY,s=r.endX,l=r.endY;if(i.activeObj.shape&&["rectangle","ellipse","line","arrow","path","image","text"].indexOf(i.activeObj.shape)>-1){var p=i.activeObj.topLeftCircle.radius;o=!(e>=n-2*p&&e<=s+2*p&&t>=a-2*p&&t<=l+2*p)&&("default"===i.upperCanvas.style.cursor||"grab"===i.upperCanvas.style.cursor||"crosshair"===i.upperCanvas.style.cursor||"pointer"===i.upperCanvas.style.cursor||"move"===i.upperCanvas.style.cursor)}return o},e.prototype.applyCurrShape=function(e){var t=this.parent,i=!1;if(t.togglePen)return i;var o=(0,l.extend)({},t.activeObj,null,!0);if(this.isShapeInserted&&"text"===t.activeObj.shape&&e&&(this.isInitialTextEdited=!0,t.notify("draw",{prop:"setShapeTextInsert",onPropertyChange:!1,value:{bool:!0}})),"block"===t.textArea.style.display||"inline-block"===t.textArea.style.display){var r=(0,l.extend)({},t.activeObj,null,!0);t.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:null}}),o=(0,l.extend)({},t.objColl[t.objColl.length-1],null,!0),t.objColl.pop(),t.activeObj=(0,l.extend)({},r,null,!0),t.textArea.value=o.keyHistory,t.textArea.style.display="block";var n=o.strokeSettings&&o.strokeSettings.strokeColor?"rgb"===o.strokeSettings.strokeColor.split("(")[0]?this.rgbToHex(parseFloat(o.strokeSettings.strokeColor.split("(")[1].split(",")[0]),parseFloat(o.strokeSettings.strokeColor.split("(")[1].split(",")[1]),parseFloat(o.strokeSettings.strokeColor.split("(")[1].split(",")[2]),parseFloat(o.strokeSettings.strokeColor.split("(")[1].split(",")[3])):o.strokeSettings.strokeColor:null;n&&"#ffffff"===n&&(n="#fff"),this.tempActiveObj.strokeSettings&&this.tempActiveObj.strokeSettings.strokeColor&&"#ffffff"===this.tempActiveObj.strokeSettings.strokeColor&&(this.tempActiveObj.strokeSettings.strokeColor="#fff"),(o.keyHistory!==this.tempActiveObj.keyHistory||n&&n!==this.tempActiveObj.strokeSettings.strokeColor||o.textSettings&&o.textSettings.fontFamily!==this.tempActiveObj.textSettings.fontFamily||o.textSettings&&Math.round(o.textSettings.fontSize)!==Math.round(this.tempActiveObj.textSettings.fontSize)||o.textSettings&&Math.round(o.textSettings.fontRatio)!==Math.round(this.tempActiveObj.textSettings.fontRatio)||o.textSettings&&o.textSettings.bold!==this.tempActiveObj.textSettings.bold||o.textSettings&&o.textSettings.italic!==this.tempActiveObj.textSettings.italic||o.textSettings&&o.textSettings.underline!==this.tempActiveObj.textSettings.underline||o.textSettings&&o.textSettings.strikethrough!==this.tempActiveObj.textSettings.strikethrough)&&(i=!0),this.isInitialTextEdited&&!i&&(i=!0,this.isInitialTextEdited=!1)}else this.tempActiveObj.activePoint.height=Math.abs(this.tempActiveObj.activePoint.height),i=JSON.stringify(o)!==JSON.stringify(this.tempActiveObj);return i},e.prototype.canvasMouseDownHandler=function(e){var t,i,o=this.parent;e.preventDefault(),"mousedown"===e.type?(t=e.offsetX||e.pageX-o.lowerCanvas.offsetLeft,i=e.offsetY||e.pageY-o.lowerCanvas.offsetTop):(t=e.touches[0].clientX||e.touches[0].pageX-o.lowerCanvas.offsetLeft,i=e.touches[0].clientY||e.touches[0].pageY-o.lowerCanvas.offsetTop);var r=o.lowerCanvas.getBoundingClientRect();t-=r.left,i-=r.top,this.panDown={x:t,y:i};var n={tempPanMove:null};o.notify("transform",{prop:"getTempPanMove",onPropertyChange:!1,value:{obj:n}}),(0,l.isNullOrUndefined)(n.tempPanMove)&&o.notify("transform",{prop:"setTempPanMove",onPropertyChange:!1,value:{point:{x:t,y:i}}})},e.prototype.canvasMouseMoveHandler=function(e){var t=this.parent,i={bool:null};if(t.notify("toolbar",{prop:"getFrameToolbar",onPropertyChange:!1,value:{obj:i}}),t.isResize||i.bool)t.upperCanvas.style.cursor="default";else{var o,r;this.dragCanvas?t.lowerCanvas.style.cursor="grab":(this.dragCanvas=t.togglePan=!1,t.lowerCanvas.style.cursor=t.upperCanvas.style.cursor=t.cursor="default"),"mousemove"===e.type?(o=e.offsetX,r=e.offsetY):(o=e.touches[0].clientX||e.touches[0].pageX-t.lowerCanvas.offsetLeft,r=e.touches[0].clientY||e.touches[0].pageY-t.lowerCanvas.offsetTop);var n=t.lowerCanvas.getBoundingClientRect(),a={x:o-=n.left,y:r-=n.top};t.notify("transform",{prop:"setPanMove",onPropertyChange:!1,value:{point:{x:o,y:r}}}),this.panDown&&a&&t.togglePan&&this.dragCanvas&&((t.isCropTab||t.activeObj.shape)&&(t.notify("draw",{prop:"setStraightenActObj",value:{activeObj:null}}),t.notify("freehand-draw",{prop:"resetStraightenPoint"})),t.notify("transform",{prop:"drawPannedImage",onPropertyChange:!1,value:{xDiff:null,yDiff:null}}))}},e.prototype.canvasMouseUpHandler=function(e){var t=this.parent;e.preventDefault();var i={panMove:null};t.notify("transform",{prop:"getPanMove",onPropertyChange:!1,value:{obj:i}}),t.togglePan&&this.panDown&&i.panMove&&t.togglePan&&this.dragCanvas&&(this.panDown=null,t.notify("transform",{prop:"setPanMove",onPropertyChange:!1,value:{point:null}})),t.notify("transform",{prop:"setTempPanMove",onPropertyChange:!1,value:{point:null}}),"path"!==this.currentDrawingShape&&(t.currObjType.isDragging=!1)},e.prototype.touchStartHandler=function(e){e.preventDefault();var t=this.parent;if(0===this.touchTime)this.touchTime=(new Date).getTime();else if((new Date).getTime()-this.touchTime<400){this.isTouchDblClick=!0;var i=t.isShapeDrawing;if(t.notify("shape",{prop:"stopPathDrawing",onPropertyChange:!1,value:{e,isApply:null}}),this.isTouchDblClick=!1,this.touchTime=0,i!==t.isShapeDrawing&&t.activeObj.shape&&"path"===t.activeObj.shape)return}else this.touchTime=(new Date).getTime();2===e.touches.length?this.isFirstMove=!0:this.mouseDownEventHandler(e),l.EventHandler.add(t.lowerCanvas,"touchend",this.mouseUpEventHandler,this),l.EventHandler.add(t.lowerCanvas,"touchmove",this.mouseMoveEventHandler,this),l.EventHandler.add(t.upperCanvas,"touchend",this.mouseUpEventHandler,this),l.EventHandler.add(t.upperCanvas,"touchmove",this.mouseMoveEventHandler,this)},e.prototype.unwireEvent=function(){var e=this.parent;l.EventHandler.remove(e.lowerCanvas,"touchend",this.mouseUpEventHandler),l.EventHandler.remove(e.lowerCanvas,"touchmove",this.mouseMoveEventHandler),l.EventHandler.remove(e.upperCanvas,"touchend",this.mouseUpEventHandler),l.EventHandler.remove(e.upperCanvas,"touchmove",this.mouseMoveEventHandler)},e.prototype.keyDownEventHandler=function(e){var t=this.parent;!e.ctrlKey||"+"!==e.key&&"-"!==e.key||e.preventDefault();var i={fileName:"",fileType:null};t.notify("draw",{prop:"getFileName",onPropertyChange:!1,value:{obj:i}});var o={fileName:i.fileName,fileType:i.fileType,cancel:!1};switch(e.key){case e.ctrlKey&&"s":t.trigger("beforeSave",o),this.beforeSaveEvent(o,e);break;case e.ctrlKey&&"z":t.allowUndoRedo&&(t.noPushUndo=!1,(t.togglePen||t.drawingShape)&&(t.okBtn(),t.drawingShape=null),t.notify("undo-redo",{prop:"call-undo"}));break;case e.ctrlKey&&"y":t.allowUndoRedo&&(t.noPushUndo=!1,(t.togglePen||t.drawingShape)&&(t.okBtn(),t.drawingShape=null),t.notify("undo-redo",{prop:"call-redo"}));break;case e.ctrlKey&&"+":(t.zoomSettings.zoomTrigger&x.Commands)===x.Commands&&(this.zoomType="Commands",t.isZoomBtnClick=!0,t.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:.1,zoomPoint:null},isResize:null}),t.notify("draw",{prop:"redrawDownScale"}),(t.isCropTab||t.activeObj.shape)&&(t.notify("draw",{prop:"setStraightenActObj",value:{activeObj:null}}),t.notify("freehand-draw",{prop:"resetStraightenPoint"})),t.isStraightening&&(t.notify("draw",{prop:"resetStraightenDestPoints"}),t.notify("draw",{prop:"setDestForStraighten"})));break;case e.ctrlKey&&"-":(t.zoomSettings.zoomTrigger&x.Commands)===x.Commands&&(this.zoomType="Commands",t.isZoomBtnClick=!0,t.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:-.1,zoomPoint:null},isResize:null}),t.notify("draw",{prop:"redrawDownScale"}),(t.isCropTab||t.activeObj.shape)&&(t.notify("draw",{prop:"setStraightenActObj",value:{activeObj:null}}),t.notify("freehand-draw",{prop:"resetStraightenPoint"})),t.isStraightening&&(t.notify("draw",{prop:"resetStraightenDestPoints"}),t.notify("draw",{prop:"setDestForStraighten"})));break;case"Delete":this.deleteItem();break;case"Escape":t.notify("draw",{prop:"performCancel",value:{isContextualToolbar:null,isFinalCancel:!0}});break;case"Enter":this.performEnterAction(e);break;case"Tab":this.performTabAction();break;default:!l.Browser.isDevice||"block"!==t.textArea.style.display&&"inline-block"!==t.textArea.style.display||setTimeout(this.textKeyDown.bind(this),1,e)}},e.prototype.performEnterAction=function(e){var t=this.parent;if(t.isResize){var i=e.target,o=!!(i.id.indexOf("aspectratio")||i.id.indexOf("non-aspectratio")>-1);if(!this.isValueUpdated())return void(o&&this.focusRatioBtn());var r=this.getNumTextValue(),n=t.element.querySelector("#"+t.element.id+"_aspectratio"),a=t.element.querySelector(".e-ie-toolbar-aspect-ratio-btn");r&&r.x&&r.y&&(n||a&&!a.classList.contains("e-hidden")?t.notify("transform",{prop:"resize",value:{width:r.x,height:null,isAspectRatio:!0}}):t.notify("transform",{prop:"resize",value:{width:r.x,height:r.y,isAspectRatio:!1}}));var s=t.element.querySelector("#"+t.element.id+"_resizeHeight"),p=t.element.querySelector("#"+t.element.id+"_resizeWidth");if((0,l.isNullOrUndefined)(n)){if(s){var d=(0,l.getComponent)(s,"numerictextbox");s&&""===s.value&&(d.value=parseFloat(d.placeholder),s.value=d.placeholder+"px")}if(p){d=(0,l.getComponent)(p,"numerictextbox");p&&""===p.value&&(d.value=parseFloat(d.placeholder),p.value=d.placeholder+"px")}}t.notify("draw",{prop:"redrawDownScale"}),o&&this.focusRatioBtn()}else if(e.target.classList.contains("e-upload")){var h=t.element.querySelector(".e-image-upload");h&&h.querySelector(".e-tbar-btn")&&h.querySelector(".e-tbar-btn").click()}else if(e.target.classList.contains("filter-wrapper"))e.target.parentElement.click();else{var c=void 0;t.activeObj.shape&&(c=t.activeObj.shape.split("-")),e&&this.isKeyBoardCrop(e)&&t.activeObj.horTopLine&&t.activeObj.shape&&"crop"===c[0]&&t.crop()}},e.prototype.focusRatioBtn=function(){var e=this.parent,t=this.parent.element.id;this.parent.isKBDNavigation&&setTimeout(function(){e.element.querySelector("#"+t+"_aspectratio")?e.element.querySelector("#"+t+"_aspectratio").focus():e.element.querySelector("#"+t+"_nonaspectratio")&&e.element.querySelector("#"+t+"_nonaspectratio").focus()},50)},e.prototype.isKeyBoardCrop=function(e){var t=!1,i=e.target;return i.id!==this.parent.element.id+"_ok"&&""!==i.id||(t=!0),t},e.prototype.beforeSaveEvent=function(e,t){var i=this.parent;e.cancel||i.notify("export",{prop:"export",onPropertyChange:!1,value:{type:e.fileType,fileName:e.fileName}}),t.preventDefault(),t.stopImmediatePropagation()},e.prototype.handleScroll=function(e){this.mouseWheel++;var t,i,o=this.parent,r=!1;"mousewheel"===e.type&&(t=e.clientX,i=e.clientY);var n=o.lowerCanvas.getBoundingClientRect();if(t-=n.left,i-=n.top,t>o.img.destLeft&&t<o.img.destLeft+o.img.destWidth&&i>o.img.destTop&&i<o.img.destTop+o.img.destHeight&&(r=!0),2===this.mouseWheel)return this.mouseWheel=0,void(!0===e.ctrlKey&&r&&e.preventDefault());if(e.stopPropagation(),!0===e.ctrlKey&&r){e.preventDefault(),!o.isCropTab&&o.activeObj.shape&&"crop"!==o.activeObj.shape.split("-")[0]&&(o.okBtn(null,!0),o.notify("toolbar",{prop:"close-contextual-toolbar",onPropertyChange:!1}));var a="";"mousewheel"===e.type&&(o.zoomSettings.zoomTrigger&x.MouseWheel)===x.MouseWheel&&(this.zoomType="MouseWheel",a=e.wheelDelta>0?"zoomIn":"zoomOut"),""!==a&&(o.isZoomBtnClick=!0,o.notify("draw",{prop:"performPointZoom",onPropertyChange:!1,value:{x:t,y:i,type:a,isResize:null}}),o.notify("draw",{prop:"redrawDownScale"}),(o.isCropTab||o.activeObj.shape)&&(o.notify("draw",{prop:"setStraightenActObj",value:{activeObj:null}}),o.notify("freehand-draw",{prop:"resetStraightenPoint"})),o.isStraightening&&(o.notify("draw",{prop:"resetStraightenDestPoints"}),o.notify("draw",{prop:"setDestForStraighten"})))}},e.prototype.textKeyDown=function(e){var t=this.parent;if(0===t.activeObj.rotatedAngle){"\r"===String.fromCharCode(e.which)&&(this.textRow+=1),t.textArea.setAttribute("rows",this.textRow.toString()),t.textArea.style.height="auto",t.textArea.style.height=t.textArea.scrollHeight+"px",t.notify("shape",{prop:"setTextBoxWidth",onPropertyChange:!1,value:{e}}),l.Browser.isDevice&&(t.textArea.style.width=parseFloat(t.textArea.style.width)+t.textArea.style.fontSize+"px");var i=t.textArea.value.split("\n");this.textRow=i.length,t.textArea.setAttribute("rows",this.textRow.toString()),this.isInitialTextEdited=!1}},e.prototype.clearSelection=function(e){var t=this.parent;!t.disabled&&t.isImageLoaded&&(e?t.notify("draw",{prop:"performCancel",value:{isContextualToolbar:null}}):(t.togglePen=!1,t.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.dragElement="",this.dragPoint.startX=this.dragPoint.startY=this.dragPoint.endX=this.dragPoint.endY=0,t.currObjType.shape="",this.upperContext.clearRect(0,0,t.upperCanvas.width,t.upperCanvas.height),t.currObjType.isActiveObj=!0,t.currObjType.isCustomCrop=!1,t.upperCanvas.style.cursor=t.cursor="default"))},e.prototype.setDragDirection=function(e,t){var i=7.5,o=this.parent,r=o.activeObj.activePoint;o.img.destWidth>o.img.destHeight?(r.startX=this.dragPoint.startX=e/2-t/2+i,r.startY=this.dragPoint.startY=t/2-t/2+i,r.endX=e/2+t/2-i,r.endY=t/2+t/2-i):(r.startY=this.dragPoint.startX=t/2-e/2+i,r.endY=t/2+e/2-i,r.startX=this.dragPoint.startX=i,r.endX=e-i)},e.prototype.calcShapeRatio=function(e,t,i,o){for(var r=this.parent,n=r.activeObj.activePoint,a=7.5,s=i,l=o,p=s>=l?s:l,d=p*(e/t),h=p,c=this.getScale(d,s),u=[],v=r.img,g=v.destLeft,f=v.destTop,m=v.destWidth,b=v.destHeight,y=0;y<2;y++)0===y?u.push(d*c):u.push(h*c);d=u[0],h=u[1];var C=this.getScale(h,l),x=[];for(y=0;y<2;y++)0===y?x.push(d*C):x.push(h*C);d=x[0],h=x[1],n.width=d,n.height=h,n.startX=(this.dragPoint.startX=(s-d)/2)+a,n.startY=(this.dragPoint.startY=(l-h)/2)+a,n.endX=n.startX+n.width,n.endY=n.startY+n.height,n.startX<g&&g+m>r.lowerCanvas.clientWidth&&(n.startX=g,n.endX=n.startX+d-a),n.startY<f&&f+b>r.lowerCanvas.clientHeight&&(n.startY=f,n.endY=n.startY+h-a),n.width=n.endX-n.startX,n.height=n.endY-n.startY},e.prototype.getScale=function(e,t){return e>t?t/e:1},e.prototype.findTarget=function(e,t,i){var o=this.parent;if("mousedown"===i.toLowerCase()||"touchstart"===i.toLowerCase()){var r=!1;o.activeObj.shape&&"crop"===o.activeObj.shape.split("-")[0]&&(r=!0),this.findTargetObj(e,t,r),this.updateCursorStyles(e,t,i)}else{var n=o.activeObj,a=n.topLeftCircle,s=n.topCenterCircle,l=n.topRightCircle,p=n.centerLeftCircle,d=n.centerRightCircle,h=n.bottomLeftCircle,c=n.bottomCenterCircle,u=n.bottomRightCircle;switch(this.dragElement.toLowerCase()){case"nw-resize":a.startX=e,a.startY=t;break;case"n-resize":s.startX=e,s.startY=t;break;case"ne-resize":l.startX=e,l.startY=t;break;case"w-resize":p.startX=e,p.startY=t;break;case"e-resize":d.startX=e,d.startY=t;break;case"sw-resize":h.startX=e,h.startY=t;break;case"s-resize":c.startX=e,c.startY=t;break;case"se-resize":u.startX=e,u.startY=t;break;default:this.dragPoint.startX&&this.dragPoint.startY&&(this.previousPoint.x=this.dragPoint.endX,this.previousPoint.y=this.dragPoint.endY,this.dragPoint.endX=e,this.dragPoint.endY=t)}}},e.prototype.findTargetObj=function(e,t,i){var o=this.parent,r=!1;if(0!==o.objColl.length&&!o.currObjType.isCustomCrop&&!i){for(var n=0,a=void 0,s=0;s<o.objColl.length;s++){var p=o.upperCanvas.style.cursor;this.setCursor(e,t);var d=(0,l.extend)({},o.objColl[s],{},!0),h=d.topLeftCircle.radius;if("line"===d.shape||"arrow"===d.shape){for(var c=0;c<d.pointColl.length;c++)if(e>=d.pointColl[c].x-2*h&&e<=d.pointColl[c].x+2*h&&t>=d.pointColl[c].y-2*h&&t<=d.pointColl[c].y+2*h){if(this.tempActiveObj&&this.tempActiveObj.activePoint&&JSON.stringify(this.tempActiveObj.activePoint)===JSON.stringify(d.activePoint)){a=s;break}this.isTouch||"move"===o.cursor||"grab"===o.cursor||this.isShapeInserted?(0===n||n<d.order)&&(n=d.order,a=s):o.objColl[s].currIndex===this.tempActiveObj.currIndex&&(a=s);break}}else if("path"===d.shape){var u=this.setCursorForPath(d,e,t,o.upperCanvas);if("default"!==u&&"grab"!==u){if(this.tempActiveObj&&this.tempActiveObj.activePoint&&JSON.stringify(this.tempActiveObj.activePoint)===JSON.stringify(d.activePoint)){a=s;break}this.isTouch||"move"===o.cursor||"grab"===o.cursor||this.isShapeInserted?(0===n||n<d.order)&&(n=d.order,a=s):o.objColl[s].currIndex===this.tempActiveObj.currIndex&&(a=s)}}else if(0!==d.rotatedAngle){var v=this.setCursorForRotatedObject(d,e,t,o.upperCanvas);if("default"!==v&&"grab"!==v){if(this.tempActiveObj&&this.tempActiveObj.activePoint&&JSON.stringify(this.tempActiveObj.activePoint)===JSON.stringify(d.activePoint)){a=s;break}this.isTouch||"move"===o.cursor||"grab"===o.cursor||this.isShapeInserted?(0===n||n<d.order&&("redact"!==d.shape||"redact"===o.drawingShape))&&(n=d.order,a=s):o.objColl[s].currIndex===this.tempActiveObj.currIndex&&(a=s)}}else{var g=this.getTransRotationPoint(d);if(e>=d.activePoint.startX-2*h&&e<=d.activePoint.endX+2*h&&t>=d.activePoint.startY-2*h&&t<=d.activePoint.endY+2*h||g&&e>=g.x-2*h&&e<=g.x+2*h&&t>=g.y-2*h&&t<=g.y+2*h){if(this.tempActiveObj&&this.tempActiveObj.activePoint&&JSON.stringify(this.tempActiveObj.activePoint)===JSON.stringify(d.activePoint)){a=s;break}this.isTouch||"move"===p||"grabbing"===p||this.isShapeInserted||"move"===o.cursor||"grabbing"===o.cursor?(0===n||n<d.order&&("redact"!==d.shape||"redact"===o.drawingShape))&&(n=d.order,a=s):o.objColl[s].currIndex===this.tempActiveObj.currIndex&&(a=s)}}}if((0,l.isNullOrUndefined)(a))o.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),r=!1;else{this.tempObjColl=(0,l.extend)([],o.objColl,[],!0),o.currObjType.isCustomCrop=!1,o.activeObj=(0,l.extend)({},o.objColl[a],{},!0);var f=(0,l.extend)({},o.objColl[a],{},!0);if(o.objColl.splice(a,1),0===o.transform.degree){var m=this.lowerContext.filter;this.lowerContext.clearRect(0,0,o.lowerCanvas.width,o.lowerCanvas.height),o.notify("draw",{prop:"drawImage",onPropertyChange:!1}),this.lowerContext.filter="none",o.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"iterate",pen:"iterate",isPreventApply:null}}),o.activeObj=(0,l.extend)({},m,{},!0),this.lowerContext.filter=m,this.getCurrentFlipState()}else{var b=(0,l.extend)({},o.panPoint.totalPannedInternalPoint,{},!0),y={startX:o.img.destLeft,startY:o.img.destTop,width:o.img.destWidth,height:o.img.destHeight};o.notify("draw",{prop:"callUpdateCurrTransState",onPropertyChange:!1}),o.panPoint.totalPannedInternalPoint=b,o.img.destLeft=y.startX,o.img.destTop=y.startY,o.img.destWidth=y.width,o.img.destHeight=y.height,o.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"iterate",pen:"iterate",isPreventApply:null}})}o.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),(o.currSelectionPoint&&"crop-circle"===o.currSelectionPoint.shape||o.isCircleCrop)&&o.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}}),o.activeObj=(0,l.extend)({},f,{},!0),this.setActivePoint(),o.activeObj=(0,l.extend)({},f,{},!0);var C=(0,l.extend)({},o.activeObj.strokeSettings,{},!0);o.notify("draw",{prop:"setTempStrokeSettings",onPropertyChange:!1,value:{tempStrokeSettings:C}});var x=(0,l.extend)({},o.activeObj.textSettings,{},!0);o.notify("draw",{prop:"setTempTextSettings",onPropertyChange:!1,value:{tempTextSettings:x}});var w=this.updatePrevShapeSettings(),P={cancel:!1,action:"select",previousShapeSettings:w,currentShapeSettings:w,allowShapeOverflow:this.allowOutofBound()};"line"!==o.activeObj.shape&&"arrow"!==o.activeObj.shape||(P.currentShapeSettings.width=o.activeObj.activePoint.endX-o.activeObj.activePoint.startX,P.currentShapeSettings.height=o.activeObj.activePoint.endY-o.activeObj.activePoint.startY),this.isCropSelection=!1;var S=void 0;if(void 0!==o.activeObj.shape&&(S=o.activeObj.shape.split("-")),void 0!==S&&"crop"===S[0]&&(this.isCropSelection=!0),this.isCropSelection||"redact"===o.activeObj.shape){this.isMouseDown?P.action="resize-start":this.isMouseUp&&(P.action="resize-end");var j={action:P.action,previousSelectionSettings:{type:o.getSelectionType(o.activeObj.shape),startX:P.previousShapeSettings.startX,startY:P.previousShapeSettings.startY,width:P.previousShapeSettings.width,height:P.previousShapeSettings.height},currentSelectionSettings:{type:o.getSelectionType(o.activeObj.shape),startX:P.currentShapeSettings.startX,startY:P.currentShapeSettings.startY,width:P.currentShapeSettings.width,height:P.currentShapeSettings.height}};o.trigger("selectionChanging",j),o.editCompleteArgs=j,P.currentShapeSettings.startX=j.currentSelectionSettings.startX,P.currentShapeSettings.startY=j.currentSelectionSettings.startY,P.currentShapeSettings.width=j.currentSelectionSettings.width,P.currentShapeSettings.height=j.currentSelectionSettings.height,this.shapeEvent(P)}else o.trigger("shapeChanging",P),this.shapeEvent(P),o.editCompleteArgs=P;r=!0}}return r},e.prototype.shapeEvent=function(e){var t=this.parent;if(t.notify("shape",{prop:"updateShapeChangeEventArgs",onPropertyChange:!1,value:{shapeSettings:e.currentShapeSettings,allowShapeOverflow:e.allowShapeOverflow}}),t.activeObj.activePoint){var i={prevActObj:null};t.notify("draw",{prop:"getPrevActObj",onPropertyChange:!1,value:{obj:i}}),(0,l.isNullOrUndefined)(i.prevActObj)&&t.notify("draw",{prop:"setPrevActObj",onPropertyChange:!1,value:{prevActObj:(0,l.extend)({},t.activeObj,{},!0)}}),"image"!==t.activeObj.shape||this.isImageClarity||(this.upgradeImageQuality(),this.isImageClarity=!0),t.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:t.activeObj,isCropRatio:null,points:null,isPreventDrag:!0,saveContext:null,isPreventSelection:!0}}),this.isShapeInserted||(this.isPreventDragging=this.isShapeDragOut())}},e.prototype.upgradeImageQuality=function(){var e=this.parent;if(e.activeObj.imageCanvas){var t=(0,l.extend)({},e.activeObj,null,!0),i=e.activeObj.imageCanvas.getContext("2d"),o={width:0,height:0};e.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:e.activeObj.imageElement.width,height:e.activeObj.imageElement.height,obj:o,isImgShape:null}}),e.notify("shape",{prop:"updateObj",onPropertyChange:!1,value:{dimObj:o,x:null,y:null}}),i.clearRect(0,0,e.activeObj.imageCanvas.width,e.activeObj.imageCanvas.height),this.applyTransformToImg(i),e.activeObj=t}},e.prototype.applyTransformToImg=function(e){var t=this.parent;t.activeObj.isHorImageFlip&&t.activeObj.isVerImageFlip?(t.activeObj.isHorImageFlip=t.activeObj.isVerImageFlip=!1,t.notify("draw",{prop:"downScaleImgCanvas",onPropertyChange:!1,value:{ctx:e,isImgAnnotation:!0,isHFlip:!0,isVFlip:!0}})):t.activeObj.isHorImageFlip?(t.activeObj.isHorImageFlip=!1,t.notify("draw",{prop:"downScaleImgCanvas",onPropertyChange:!1,value:{ctx:e,isImgAnnotation:!0,isHFlip:!0,isVFlip:!1}})):t.activeObj.isVerImageFlip?(t.activeObj.isVerImageFlip=!1,t.notify("draw",{prop:"downScaleImgCanvas",onPropertyChange:!1,value:{ctx:e,isImgAnnotation:!0,isHFlip:!1,isVFlip:!0}})):t.notify("draw",{prop:"downScaleImgCanvas",onPropertyChange:!1,value:{ctx:e,isImgAnnotation:!0,isHFlip:!1,isVFlip:!1}})},e.prototype.targetTouches=function(e){var t=this.parent.lowerCanvas.getBoundingClientRect();return[{x:e[0].pageX-t.left,y:e[0].pageY-t.top},{x:e[1].pageX-t.left,y:e[1].pageY-t.top}]},e.prototype.calculateScale=function(e,t){var i=this.getDistance(e[0],e[1]);return this.getDistance(t[0],t[1])/i},e.prototype.getDistance=function(e,t){var i=0,o=0;return e&&t&&(i=e.x-t.x,o=e.y-t.y),Math.sqrt(i*i+o*o)},e.prototype.redrawShape=function(e,t){for(var i=this.parent,o=0,r=i.objColl.length;o<r;o++)if(JSON.stringify(e)===JSON.stringify(i.objColl[o])){if(i.objColl.splice(o,1),e.shape&&"none"===i.textArea.style.display){var n=(0,l.extend)({},e,{},!0);i.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.lowerContext.clearRect(0,0,i.lowerCanvas.width,i.lowerCanvas.height),i.notify("draw",{prop:"render-image",value:{isMouseWheel:null}}),i.rotateFlipColl.length>0&&(0!==i.panPoint.totalPannedClientPoint.x||0!==i.panPoint.totalPannedClientPoint.y)&&i.notify("draw",{prop:"redrawImgWithObj",onPropertyChange:!1}),e=i.activeObj=n}break}"path"===e.shape&&0===e.pointColl.length||"path"!==e.shape&&0===e.activePoint.width&&0===e.activePoint.height||(this.upperContext.clearRect(0,0,i.upperCanvas.width,i.upperCanvas.height),this.isPreventDragging?(i.activeObj.activePoint.startX>i.img.destLeft&&(this.isPreventDragging=!1),t&&i.activeObj.rotatedAngle,i.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:null,isCropRatio:null,points:null,isPreventDrag:!0,saveContext:null,isPreventSelection:null}})):(t&&0!==i.activeObj.rotatedAngle||"redact"===i.activeObj.shape&&(this.lowerContext.clearRect(0,0,i.lowerCanvas.width,i.lowerCanvas.height),i.notify("draw",{prop:"redrawImgWithObj",onPropertyChange:!1}),i.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}})),i.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:null,isCropRatio:null,points:null,isPreventDrag:!0,saveContext:null,isPreventSelection:null}})))},e.prototype.setTimer=function(e){var t=this.parent;this.timer>10&&(clearTimeout(this.timer),this.timer=0,t.notify("shape",{prop:"findTextTarget",onPropertyChange:!1,value:{e}}),l.Browser.isDevice&&this.upperContext.clearRect(0,0,t.upperCanvas.width,t.upperCanvas.height))},e.prototype.applyCurrActObj=function(e,t){var i=this.parent,o=!1,r=(0,l.extend)({},i.activeObj,{},!0);if(!(0,l.isNullOrUndefined)(r.activePoint)){var n=r.activePoint,a=n.startX,s=n.startY,p=n.endX,d=n.endY,h=r.topLeftCircle?r.topLeftCircle.radius:0;if(e>=Math.floor(a)&&e<=Math.ceil(p)&&t>=Math.floor(s)&&t<=Math.ceil(d))o=!0;else if(0!==h&&e>=Math.floor(a)-h&&e<=Math.ceil(p)+h&&t>=Math.floor(s)-h&&t<=Math.ceil(d)+h)o=!0,this.tempActiveObj={activePoint:{startX:0,startY:0,endX:0,endY:0,width:0,height:0},flipObjColl:[],triangle:[],triangleRatio:[]};else if("text"!==r.shape&&"image"!==r.shape||""===this.dragElement)if("line"===r.shape||"arrow"===r.shape){var c={x:a<p?a:p,y:s<d?s:d},u={x:a>p?a:p,y:s>d?s:d};(e>=Math.floor(c.x)-5&&e<=Math.ceil(u.x)+5&&t>=Math.floor(c.y)-5&&t<=Math.ceil(u.y)+5||i.activeObj.preventShapeDragOut)&&(o=!0)}else if("path"===r.shape){"move"===(v=this.setCursorForPath(r,e,t,i.upperCanvas))&&(o=!0)}else if("grabbing"===this.dragElement)o=!0;else if(0!==r.rotatedAngle){var v;("default"!==(v=this.setCursorForRotatedObject(r,e,t,i.upperCanvas))&&"grab"!==v||"n-resize"===this.dragElement||"e-resize"===this.dragElement||"s-resize"===this.dragElement||"w-resize"===this.dragElement)&&(o=!0)}else"block"!==i.textArea.style.display&&"inline-block"!==i.textArea.style.display||(o=!0);else o=!0;if(!o){if((0,l.isNullOrUndefined)(i.activeObj.currIndex)){var g={id:"shape_"+(i.objColl.length+1)};i.notify("shape",{prop:"getNewShapeId",onPropertyChange:!1,value:{obj:g}}),i.activeObj.currIndex=g.id}i.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),void 0===i.activeObj.horTopLine||0===i.activeObj.horTopLine.startX||0===i.activeObj.horTopLine.endX||i.currObjType.isCustomCrop||""===i.currObjType.shape||i.objColl.length>0&&JSON.stringify(i.objColl[i.objColl.length-1].activePoint)!==JSON.stringify(i.activeObj.activePoint)&&i.objColl.push((0,l.extend)({},i.activeObj,{},!0));if(["rectangle","ellipse","line","arrow","path","text","image"].indexOf(i.activeObj.shape)>-1){var f=this.lowerContext.filter;this.lowerContext.filter="brightness(1) contrast(100%) hue-rotate(0deg) saturate(100%) opacity(1) blur(0px) sepia(0%) grayscale(0%) invert(0%)",i.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),this.lowerContext.filter=f,i.activeObj.shape&&i.notify("shape",{prop:"apply",onPropertyChange:!1,value:{shape:null,obj:null,canvas:null}}),i.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),i.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.upperContext}}),i.isCircleCrop&&i.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}})}i.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1})}}},e.prototype.getCurrentFlipState=function(){var e=this.parent;if(0!==e.rotateFlipColl.length){var t=(0,l.extend)({},e.panPoint.totalPannedInternalPoint,{},!0);e.notify("draw",{prop:"callUpdateCurrTransState",onPropertyChange:!1}),e.panPoint.totalPannedInternalPoint=t}else e.notify("draw",{prop:"callUpdateCurrTransState",onPropertyChange:!1})},e.prototype.setTextBoxStylesToActObj=function(){var e=this.parent;e.activeObj.textSettings.fontFamily=e.textArea.style.fontFamily,e.activeObj.strokeSettings.strokeColor=""!==e.textArea.style.color&&e.textArea.style.color.split("(")[1]&&e.textArea.style.color.split("(")[1].split(",")[0]&&e.textArea.style.color.split("(")[1].split(",")[1]&&e.textArea.style.color.split("(")[1].split(",")[2]&&e.textArea.style.color.split("(")[1].split(",")[3]?this.rgbToHex(parseFloat(e.textArea.style.color.split("(")[1].split(",")[0]),parseFloat(e.textArea.style.color.split("(")[1].split(",")[1]),parseFloat(e.textArea.style.color.split("(")[1].split(",")[2]),parseFloat(e.textArea.style.color.split("(")[1].split(",")[3])):e.textArea.style.color,e.activeObj.strokeSettings.fillColor=""!==e.textArea.style.backgroundColor&&e.textArea.style.backgroundColor.split("(")[1]&&e.textArea.style.backgroundColor.split("(")[1].split(",")[0]&&e.textArea.style.backgroundColor.split("(")[1].split(",")[1]&&e.textArea.style.backgroundColor.split("(")[1].split(",")[2]&&e.textArea.style.backgroundColor.split("(")[1].split(",")[3]?this.rgbToHex(parseFloat(e.textArea.style.backgroundColor.split("(")[1].split(",")[0]),parseFloat(e.textArea.style.backgroundColor.split("(")[1].split(",")[1]),parseFloat(e.textArea.style.backgroundColor.split("(")[1].split(",")[2]),parseFloat(e.textArea.style.backgroundColor.split("(")[1].split(",")[3])):e.textArea.style.backgroundColor,e.activeObj.strokeSettings.outlineColor=""!==e.textArea.style.textShadow&&e.textArea.style.textShadow.split("(")[1]&&e.textArea.style.textShadow.split("(")[1].split(",")[0]&&e.textArea.style.textShadow.split("(")[1].split(",")[1]&&e.textArea.style.textShadow.split("(")[1].split(",")[2]&&e.textArea.style.textShadow.split("(")[1].split(",")[3]?this.rgbToHex(parseFloat(e.textArea.style.textShadow.split("(")[1].split(",")[0]),parseFloat(e.textArea.style.textShadow.split("(")[1].split(",")[1]),parseFloat(e.textArea.style.textShadow.split("(")[1].split(",")[2]),parseFloat(e.textArea.style.textShadow.split("(")[1].split(",")[3])):e.textArea.style.textShadow.match(/^(\s*[\w#]+)\s/)?e.textArea.style.textShadow.match(/^(\s*[\w#]+)\s/)[1].trim():e.textArea.style.textShadow,"bold"===e.textArea.style.fontWeight?e.activeObj.textSettings.bold=!0:e.activeObj.textSettings.bold=!1,"italic"===e.textArea.style.fontStyle?e.activeObj.textSettings.italic=!0:e.activeObj.textSettings.italic=!1,e.activeObj.textSettings.underline=e.activeObj.textSettings.strikethrough=!1,"underline line-through"===e.textArea.style.textDecoration?(e.activeObj.textSettings.underline=!0,e.activeObj.textSettings.strikethrough=!0):"underline"===e.textArea.style.textDecoration?e.activeObj.textSettings.underline=!0:"line-through"===e.textArea.style.textDecoration&&(e.activeObj.textSettings.strikethrough=!0),e.activeObj.textSettings.fontSize=parseFloat(e.textArea.style.fontSize)},e.prototype.rgbToHex=function(e,t,i,o){e=Math.max(0,Math.min(255,Math.round(e))),t=Math.max(0,Math.min(255,Math.round(t))),i=Math.max(0,Math.min(255,Math.round(i))),o=Math.max(0,Math.min(1,o));var r=this.padLeft(e.toString(16),2,"0"),n=this.padLeft(t.toString(16),2,"0"),a=this.padLeft(i.toString(16),2,"0"),s=this.padLeft(Math.round(255*o).toString(16),2,"0");return isNaN(Number(s))?"#"+r+n+a:"#"+r+n+a+s},e.prototype.padLeft=function(e,t,i){for(;e.length<t;)e=i+e;return e},e.prototype.deleteItem=function(){var e=this.parent,t={cancel:!1};if(this.isFhdEditing){this.updateFreehandDrawColorChange();var i=(0,l.extend)({},e.cropObj,{},!0),o={currObj:{}};e.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:o}}),(d=o.currObj).objColl=(0,l.extend)([],e.objColl,[],!0),d.pointColl=(0,l.extend)([],e.pointColl,[],!0),d.afterCropActions=(0,l.extend)([],e.afterCropActions,[],!0);var r={selPointColl:null};e.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:r}}),d.selPointColl=(0,l.extend)([],r.selPointColl,[],!0);var n={freehandDrawSelectedId:null};e.notify("freehand-draw",{prop:"getFreehandDrawSelectedId",onPropertyChange:!1,value:{obj:n}}),e.notify("freehand-draw",{prop:"deleteFhd",value:{id:n.freehandDrawSelectedId}}),e.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"deleteFreehandDrawing",previousObj:d,previousObjColl:this.tempObjColl,previousPointColl:d.pointColl,previousSelPointColl:d.selPointColl,previousCropObj:i,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),e.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}),e.notify("freehand-draw",{prop:"resetFreehandDrawSelectedId"})}else if("none"===e.textArea.style.display){n={prevActObj:null};if(e.notify("draw",{prop:"getPrevActObj",onPropertyChange:!1,value:{obj:n}}),n.prevActObj&&(n.prevActObj.activePoint.width=Math.abs(n.prevActObj.activePoint.width),n.prevActObj.activePoint.height=Math.abs(n.prevActObj.activePoint.height)),n.prevActObj&&JSON.stringify(n.prevActObj)!==JSON.stringify(e.activeObj)){var a=e.activeObj.currIndex;e.notify("draw",{prop:"performCancel",value:{isContextualToolbar:null,isFinalCancel:!0}});for(var s=0,p=e.objColl.length;s<p;s++)if(e.objColl[s].currIndex===a){e.objColl.splice(s,1),e.notify("draw",{prop:"render-image",value:{isMouseWheel:null}});break}}o={isNewPath:null};if(e.notify("draw",{prop:"getNewPath",value:{obj:o}}),o.isNewPath)e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),e.notify("draw",{prop:"render-image",value:{isMouseWheel:null}}),e.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1});else if(e.activeObj.shape){e.objColl.push(e.activeObj);i=(0,l.extend)({},e.cropObj,{},!0);var d,h={currObj:{}};e.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:h}}),(d=h.currObj).objColl=(0,l.extend)([],e.objColl,[],!0),d.pointColl=(0,l.extend)([],e.pointColl,[],!0),d.afterCropActions=(0,l.extend)([],e.afterCropActions,[],!0);r={selPointColl:null};e.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:r}}),d.selPointColl=(0,l.extend)([],r.selPointColl,[],!0),e.objColl.pop(),t={cancel:!1,action:"delete",previousShapeSettings:this.updatePrevShapeSettings(),currentShapeSettings:null},e.notify("shape",{prop:"setKeyHistory",onPropertyChange:!1,value:{keyHistory:""}}),e.clearSelection(),e.trigger("shapeChanging",t),e.editCompleteArgs=t,e.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1}),e.notify("draw",{prop:"render-image",value:{isMouseWheel:null}}),(0,l.isNullOrUndefined)(d.objColl[d.objColl.length-1].currIndex)||(e.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"deleteObj",previousObj:d,previousObjColl:this.tempObjColl,previousPointColl:d.pointColl,previousSelPointColl:d.selPointColl,previousCropObj:i,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),e.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}))}e.notify("draw",{prop:"setPrevActObj",onPropertyChange:!1,value:{prevActObj:null}}),e.drawingShape&&(this.currentDrawingShape=e.drawingShape.toLowerCase(),e.enableShapeDrawing(e.toPascalCase(e.drawingShape),!0),e.upperCanvas.style.cursor="crosshair")}e.element.querySelector("#"+e.element.id+"_quickAccessToolbarArea")&&(e.element.querySelector("#"+e.element.id+"_quickAccessToolbarArea").style.display="none")},e.prototype.updateFreehandDrawColorChange=function(){var e=this.parent,t={freehandSelectedIndex:null};if(e.notify("freehand-draw",{prop:"getFreehandSelectedIndex",onPropertyChange:!1,value:{obj:t}}),!(0,l.isNullOrUndefined)(t.freehandSelectedIndex)&&!(0,l.isNullOrUndefined)(e.pointColl[t.freehandSelectedIndex])&&"#42a5f5"===e.pointColl[t.freehandSelectedIndex].strokeColor){var i={tempFreeHandDrawEditingStyles:null};e.notify("freehand-draw",{prop:"getTempFreeHandDrawEditingStyles",value:{obj:i}}),e.pointColl[t.freehandSelectedIndex].strokeColor=i.tempFreeHandDrawEditingStyles.strokeColor}},e.prototype.updatePrevShapeSettings=function(e){var t=this.parent,i=[];if((0,l.isNullOrUndefined)(t.activeObj.currIndex)){var o={id:"shape_"+(t.objColl.length+1)};t.notify("shape",{prop:"getNewShapeId",onPropertyChange:!1,value:{obj:o}}),t.activeObj.currIndex=o.id}"text"===t.activeObj.shape&&t.activeObj.textSettings&&(t.activeObj.textSettings.bold&&i.push("bold"),t.activeObj.textSettings.italic&&i.push("italic"),t.activeObj.textSettings.underline&&i.push("underline"),t.activeObj.textSettings.strikethrough&&i.push("strikethrough"));var r=t.activeObj.activePoint,n=r.startX,a=r.startY,s=r.endX,p=r.endY,d=r.width,h=r.height,c=t.activeObj,u=c.keyHistory,v=c.currIndex,g=c.shape,f=c.textSettings,m=c.strokeSettings,b=c.rotatedAngle,y=c.imageElement,C=c.opacity,x={id:(0,l.isNullOrUndefined)(v)?null:v,type:t.toPascalCase(g),startX:n,startY:a,width:d,height:h,strokeColor:m?"text"===g?m.outlineColor:m.strokeColor:null,strokeWidth:m?"text"===g?m.outlineWidth:m.strokeWidth:null,fillColor:m?m.fillColor:null,radius:"ellipse"===g?d/2:null,length:"line"===g||"arrow"===g?d:null,text:"text"===g?u||(f.text?f.text:null):null,fontSize:"text"===g&&f?f.fontSize:null,fontFamily:"text"===g&&f?f.fontFamily:null,fontStyle:"text"===g?i:null,color:"text"===g&&m?m.strokeColor:null,degree:"ellipse"===g||"rectangle"===g||"image"===g||"text"===g?b*(180/Math.PI):null,imageData:"image"===g?y.src:null,opacity:"image"===g?C:null,radiusX:"ellipse"===g?d/2:null,radiusY:"ellipse"===g?h/2:null,endX:"line"===g||"arrow"===g?s:null,endY:"line"===g||"arrow"===g?p:null,arrowHead:"arrow"===g?this.getArrowType(t.activeObj.start):null,arrowTail:"arrow"===g?this.getArrowType(t.activeObj.end):null,points:"path"===g?t.activeObj.pointColl:null,index:t.activeObj.order,transformCollection:"text"===g?this.updateTransColl(t.activeObj):null};return e&&(e.shapeSettingsObj=x),x},e.prototype.updateTransColl=function(e){var t,i=this.parent,o=e.rotateFlipColl;if(o&&o.length>0){var r=void 0;t=[];for(var n=0;n<o.length;n++)"number"==typeof(r=o[n])?t.push({degree:r}):t.push({flip:i.toPascalCase(r)})}return t},e.prototype.getArrowType=function(e){return{none:"None",arrow:"Arrow",arrowSolid:"SolidArrow",circle:"Circle",circleSolid:"SolidCircle",square:"Square",squareSolid:"SolidSquare",bar:"Bar"}[""+e]},e.prototype.getRectanglePoints=function(e,t,i,o,r,n,a){var s=e+i/2,l=t+o/2,p=r*(Math.PI/180),d=Math.cos(p),h=Math.sin(p),c=n-s,u=a-l,v=c*d+u*h,g=-c*h+u*d,f=i/2,m=o/2;return v>=-f&&v<=f&&g>=-m&&g<=m},e.prototype.getTransRotationPoint=function(e,t){var i,o,r=!1,n=!1;if((o=0===e.shapeDegree?this.parent.transform.degree:this.parent.transform.degree-e.shapeDegree)<0&&(o=360+o),e.flipObjColl)for(var a=0,s=e.flipObjColl.length;a<s;a++)"horizontal"===e.flipObjColl[a].toLowerCase()?r=!0:"vertical"===e.flipObjColl[a].toLowerCase()&&(n=!0);return 0===o||360===o?i=n?{x:e.topCenterCircle.startX,y:e.topCenterCircle.startY-e.rotationCircleLine}:{x:e.bottomCenterCircle.startX,y:e.bottomCenterCircle.startY+e.rotationCircleLine}:90===o||-270===o?i=r?{x:e.centerRightCircle.startX+e.rotationCircleLine,y:e.centerLeftCircle.startY}:{x:e.centerLeftCircle.startX-e.rotationCircleLine,y:e.centerLeftCircle.startY}:180===o||-180===o?i=n?{x:e.bottomCenterCircle.startX,y:e.bottomCenterCircle.startY+e.rotationCircleLine}:{x:e.topCenterCircle.startX,y:e.topCenterCircle.startY-e.rotationCircleLine}:270!==o&&-90!==o||(i=r?{x:e.centerLeftCircle.startX-e.rotationCircleLine,y:e.centerLeftCircle.startY}:{x:e.centerRightCircle.startX+e.rotationCircleLine,y:e.centerLeftCircle.startY}),t&&(t.rotationCirclePoint=i),i},e.prototype.getNumTextValue=function(e){var t,i,o,r,n=this.parent.element;if(o=n.querySelector("#"+n.id+"_resizeWidth"),r=n.querySelector("#"+n.id+"_resizeHeight"),o&&r){var a=r.value.replace(/,/g,""),s=o.value.replace(/,/g,"");""===a&&(a=r.placeholder.replace(/,/g,"")),""===s&&(s=o.placeholder.replace(/,/g,"")),t=parseFloat(a),i=parseFloat(s)}return e&&(e.width=i,e.height=t),{x:i,y:t}},e.prototype.isValueUpdated=function(){var e,t,i=!0;return e=this.parent.element.querySelector("#"+this.parent.element.id+"_resizeWidth"),t=this.parent.element.querySelector("#"+this.parent.element.id+"_resizeHeight"),e&&t&&""===t.value.replace(/,/g,"")&&""===e.value.replace(/,/g,"")&&(i=!1),i},e.prototype.allowOutofBound=function(){return-1===["ellipse","rectangle","text","image","redact"].indexOf(this.parent.activeObj.shape)||0!==this.parent.activeObj.rotatedAngle},e}(),X=function(){function e(e){this.textSettings={text:"Enter Text",fontFamily:"",fontSize:null,fontRatio:null,bold:!1,italic:!1,underline:!1,strikethrough:!1},this.strokeSettings={strokeColor:"#fff",fillColor:"",strokeWidth:null,radius:null,outlineColor:"",outlineWidth:null},this.keyHistory="",this.preventFrameAnnotation=!1,this.redactType="blur",this.parent=e,this.addEventListener()}return e.prototype.destroy=function(){this.parent.isDestroyed||this.removeEventListener()},e.prototype.addEventListener=function(){this.parent.on("shape",this.shape,this),this.parent.on("destroyed",this.destroy,this)},e.prototype.removeEventListener=function(){this.parent.off("shape",this.shape),this.parent.off("destroyed",this.destroy)},e.prototype.shape=function(e){var t,i=this.parent;switch(this.initShapePvtProps(),e.prop){case"drawEllipse":this.drawEllipse(e.value.x,e.value.y,e.value.radiusX,e.value.radiusY,e.value.strokeWidth,e.value.strokeColor,e.value.fillColor,e.value.degree,e.value.isSelected);break;case"drawLine":this.drawLine(e.value.startX,e.value.startY,e.value.endX,e.value.endY,e.value.strokeWidth,e.value.strokeColor,e.value.isSelected);break;case"drawArrow":this.drawArrow(e.value.startX,e.value.startY,e.value.endX,e.value.endY,e.value.strokeWidth,e.value.strokeColor,e.value.arrowStart,e.value.arrowEnd,e.value.isSelected);break;case"drawPath":this.drawPath(e.value.pointColl,e.value.strokeWidth,e.value.strokeColor,e.value.isSelected);break;case"drawRectangle":this.drawRectangle(e.value.x,e.value.y,e.value.width,e.value.height,e.value.strokeWidth,e.value.strokeColor,e.value.fillColor,e.value.degree,e.value.isSelected,e.value.radius);break;case"drawText":this.drawText(e.value.x,e.value.y,e.value.text,e.value.fontFamily,e.value.fontSize,e.value.bold,e.value.italic,e.value.color,e.value.isSelected,e.value.degree,e.value.fillColor,e.value.outlineColor,e.value.outlineWidth,e.value.transformCollection,e.value.underline,e.value.strikethrough);break;case"redrawActObj":this.redrawActObj(e.value.x,e.value.y,e.value.isMouseDown);break;case"apply":this.apply(e.value.shape,e.value.obj,e.value.canvas);break;case"updateShapeChangeEventArgs":this.updateShapeChangeEventArgs(e.value.shapeSettings,e.value.allowShapeOverflow);break;case"updSelChangeEventArgs":this.updSelChangeEventArgs(e.value.selectionSettings);break;case"iterateObjColl":this.iterateObjColl();break;case"updImgRatioForActObj":this.updImgRatioForActObj();break;case"redrawObj":this.redrawObj(e.value.degree);break;case"redraw-text":this.redrawText();break;case"draw-shape":this.drawShape(e.value.obj,e.value.strokeWidth,e.value.strokeColor,e.value.fillColor,e.value.start,e.value.width,e.value.height);break;case"renderTextArea":this.renderTextArea(e.value.x,e.value.y,e.value.actObj);break;case"setTextBoxWidth":this.setTextBoxWidth(e.value.e);break;case"findTextTarget":this.findTextTarget(e.value.e);break;case"updateFontStyles":this.updateFontStyles(e.value.isTextBox);break;case"applyFontStyle":this.applyFontStyle(e.value.item);break;case"updateFontRatio":this.updateFontRatio(e.value.obj,e.value.isTextArea);break;case"updateFontSize":this.updateFontSize(e.value.obj);break;case"pushActItemIntoObj":this.pushActItemIntoObj();break;case"clearActObj":this.clearActObj();break;case"refreshActiveObj":this.refreshActiveObj();break;case"applyActObj":this.applyActObj(e.value.isMouseDown);break;case"wireEvent":l.EventHandler.add(i.upperCanvas,"dblclick",this.findTextTarget,this),l.EventHandler.add(i.textArea,"mousedown",this.findTextTarget,this),(t=i.element.querySelector("#"+i.element.id+"_fileUpload"))&&l.EventHandler.add(t,"change",this.fileChanged,this);break;case"unWireEvent":l.EventHandler.remove(i.upperCanvas,"dblclick",this.findTextTarget),l.EventHandler.remove(i.textArea,"mousedown",this.findTextTarget),(t=i.element.querySelector("#"+i.element.id+"_fileUpload"))&&l.EventHandler.remove(t,"change",this.fileChanged);break;case"getShapeSetting":this.getShapeSetting(e.value.id,e.value.obj);break;case"getShapeSettings":this.getShapeSettings(e.value.obj);break;case"getRedactSettings":this.getRedactSettings(e.value.obj);break;case"isPointsInRange":this.isPointsInRange(e.value.x,e.value.y,e.value.obj);break;case"alignRotateFlipColl":this.alignRotateFlipColl(e.value.collection,e.value.isRotateFlipCollection,e.value.obj);break;case"selectShape":this.selectShape(e.value.id,e.value.obj);break;case"deleteShape":this.deleteShape(e.value.id);break;case"getMaxText":this.getMaxText(e.value.isTextBox,e.value.text,e.value.obj);break;case"setPointCollForLineArrow":e.value.obj.pointColl=this.getLinePoints(e.value.obj.activePoint.startX,e.value.obj.activePoint.startY,e.value.obj.activePoint.endX,e.value.obj.activePoint.endY);break;case"setPointCollForShapeRotation":this.setPointCollForShapeRotation(e.value.obj);break;case"setTextSettings":e.value.textSettings?this.textSettings=e.value.textSettings:e.value.fontFamily?this.textSettings.fontFamily=e.value.fontFamily:e.value.fontSize?this.textSettings.fontSize=e.value.fontSize:e.value.radius&&(this.strokeSettings.radius=e.value.radius);break;case"setStrokeSettings":e.value.strokeSettings?this.strokeSettings=e.value.strokeSettings:e.value.strokeColor?this.strokeSettings.strokeColor=e.value.strokeColor:e.value.fillColor?this.strokeSettings.fillColor=e.value.fillColor:e.value.strokeWidth?this.strokeSettings.strokeWidth=e.value.strokeWidth:e.value.outlineColor?this.strokeSettings.outlineColor=e.value.outlineColor:e.value.radius?this.strokeSettings.radius=e.value.radius:e.value.outlineWidth&&(this.strokeSettings.outlineWidth=e.value.outlineWidth);break;case"getStrokeSettings":e.value.obj.strokeSettings=this.strokeSettings;break;case"setKeyHistory":this.keyHistory=e.value.keyHistory;break;case"getKeyHistory":e.value.obj.keyHistory=this.keyHistory;break;case"setTextBoxPos":this.setTextBoxPos(e.value.actObj,e.value.degree,e.value.flip,e.value.x,e.value.y);break;case"setTextBoxPoints":this.setTextBoxPoints(e.value.actObj,e.value.degree,e.value.flip,e.value.x,e.value.y);break;case"alignTextAreaIntoCanvas":this.alignTextAreaIntoCanvas();break;case"initializeTextShape":this.initializeTextShape(e.value.text,e.value.fontFamily,e.value.fontSize,e.value.bold,e.value.italic,e.value.underline,e.value.strikethrough,e.value.strokeColor,e.value.fillColor,e.value.outlineColor,e.value.outlineWidth);break;case"stopPathDrawing":this.stopPathDrawing(e.value.e,e.value.isApply);break;case"updateArrowRatio":this.updateArrowRatio(e.value.obj);break;case"getSquarePointForRotatedShape":this.getSquarePointForRotatedShape(e.value.obj,e.value.object);break;case"drawImage":this.drawImage(e.value.x,e.value.y,e.value.width,e.value.height,e.value.src,e.value.degree,e.value.isAspectRatio,e.value.opacity,e.value.isSelected);break;case"reset":this.reset();break;case"updateObj":this.updateObj(e.value.dimObj,e.value.x,e.value.y);break;case"straightenShapes":this.straightenShapes();break;case"straightenShapePoints":this.straightenShapePoints(e.value.obj,e.value.isReverse);break;case"straightenPath":this.straightenPath(e.value.obj);break;case"straightenFHD":this.straightenFHD();break;case"getTextBoxPosition":this.getTextBoxPosition(e.value.obj,e.value.object);break;case"setFlipState":this.setFlipState(e.value.x,e.value.y,e.value.obj,e.value.object);break;case"getNewShapeId":e.value.obj.id=this.getNewShapeId();break;case"z-order":this.updateZOrder(e.value.obj,e.value.value);break;case"getSmallestIndex":e.value.obj.index=this.getSmallestIndex();break;case"isIndexInObjColl":e.value.obj.bool=this.isIndexInObjColl(e.value.index);break;case"drawAnnotations":this.drawAnnotations(e.value.ctx,e.value.shape,e.value.pen,e.value.isPreventApply,e.value.x,e.value.y,e.value.panRegion);break;case"updateShapeColl":this.updateShapeColl();break;case"getNewOrder":e.value.obj.order=this.getNewOrder();break;case"getHighestOrder":e.value.obj.order=this.getHighestOrder();break;case"getLowestOrder":e.value.obj.order=this.getLowestOrder();break;case"drawRedact":this.drawRedact(e.value.x,e.value.y,e.value.width,e.value.height,e.value.type,e.value.value);break;case"setRedactType":this.redactType=e.value.redactType}},e.prototype.getModuleName=function(){return"shape"},e.prototype.initShapePvtProps=function(){var e=this.parent;e.lowerCanvas&&(this.lowerContext=e.lowerCanvas.getContext("2d")),e.upperCanvas&&(this.upperContext=e.upperCanvas.getContext("2d")),(0,l.isNullOrUndefined)(this.shapeImg)&&(this.shapeImg=e.createElement("img",{id:e.element.id+"_shapeImg",attrs:{name:"Image",crossorigin:"anonymous"}})),""===this.textSettings.fontFamily&&(this.textSettings.fontFamily=e.fontFamily.default)},e.prototype.reset=function(){this.textSettings={text:"Enter Text",fontFamily:this.parent.fontFamily.default,fontSize:null,fontRatio:null,bold:!1,italic:!1,underline:!1,strikethrough:!1},this.strokeSettings={strokeColor:"#fff",fillColor:"",strokeWidth:null,radius:null,outlineColor:"",outlineWidth:null},this.preventFrameAnnotation=!1},e.prototype.drawEllipse=function(e,t,i,o,r,n,a,s,l){this.initializeShape("ellipse");var p=e&&t?{x:e,y:t}:null;this.drawShape("ellipse",r,n,a,p,i,o,null,null,null,s,null,l)},e.prototype.drawLine=function(e,t,i,o,r,n,a){this.initializeShape("line");var s=e&&t?{x:e,y:t}:null,l=i-e,p=o-t;this.drawShape("line",r,n,null,s,l,p,null,null,null,null,null,a)},e.prototype.drawPath=function(e,t,i,o){this.initializeShape("path"),e&&this.drawShape("path",t,i,null,null,null,null,e,null,null,null,null,o)},e.prototype.drawArrow=function(e,t,i,o,r,n,a,s,l){this.initializeShape("arrow");var p=e&&t?{x:e,y:t}:null,d=i-e,h=o-t;this.drawShape("arrow",r,n,null,p,d,h,null,a,s,null,null,l)},e.prototype.drawRectangle=function(e,t,i,o,r,n,a,s,l,p){this.initializeShape("rectangle");var d=e&&t?{x:e,y:t}:null;this.drawShape("rectangle",r,n,a,d,i,o,null,null,null,s,null,l,p)},e.prototype.drawRedact=function(e,t,i,o,r,n){this.initializeShape("redact");var a=e&&t?{x:e,y:t}:null;this.drawShape("redact",null,null,null,a,i,o,null,null,null,null,null,null,null,r,n)},e.prototype.drawText=function(e,t,i,o,r,n,a,s,l,p,d,h,c,u,v,g){this.drawShapeText(i,o,r,n,a,s,e,t,l,p,d,h,c,u,v,g)},e.prototype.initializeShape=function(e){var t=this.parent;this.redrawActObj(),t.activeObj.shape=e,t.currObjType.isCustomCrop=!1},e.prototype.updateWidthHeight=function(e){return e.activePoint.width=e.activePoint.endX-e.activePoint.startX,e.activePoint.height=e.activePoint.endY-e.activePoint.startY,e},e.prototype.setDimension=function(e,t){var i=this.parent,o=i.activeObj.shape;(e&&t||("line"===o||"arrow"===o)&&(e||t))&&(i.activeObj.activePoint.width=e,i.activeObj.activePoint.height=t,"ellipse"===i.currObjType.shape.toLowerCase()&&(i.activeObj.activePoint.width=2*e,i.activeObj.activePoint.height=2*t))},e.prototype.getArrowType=function(e){var t=e;if(e){t={None:"none",Arrow:"arrow",SolidArrow:"arrowSolid",Circle:"circle",SolidCircle:"circleSolid",Square:"square",SolidSquare:"squareSolid",Bar:"bar"}[""+e]}return t},e.prototype.drawShape=function(e,t,i,o,r,n,a,s,p,d,h,c,u,v,g,f){var m=this.parent;if(!m.disabled&&m.isImageLoaded){m.notify("draw",{prop:"setImageEdited",onPropertyChange:!1}),this.redrawActObj();var b=(0,l.extend)([],m.objColl,[],!0);if(m.togglePen=!1,this.keyHistory="",m.upperCanvas.style.display="block",this.refreshActiveObj(),m.currObjType.shape=e=e.toLowerCase(),"freehanddraw"!==e&&""!==e){m.activeObj.shape=e;var y=m.activeObj.strokeSettings;this.upperContext.clearRect(0,0,m.upperCanvas.width,m.upperCanvas.height),(0,l.isNullOrUndefined)(y)&&(y=this.strokeSettings),"path"===e&&s&&(m.activeObj.pointColl=s),null!=c&&(m.activeObj.opacity=c),y.strokeWidth=t||y.strokeWidth;var C=m.activeObj.shape;"rectangle"!==C&&"ellipse"!==C||0!==t||(y.strokeWidth=0),y.strokeColor=i||y.strokeColor,y.fillColor=o||""===o?o:y.fillColor,y.radius=v||y.radius;var x=m.img.destWidth>100?100:m.img.destWidth/2,w=m.img.destHeight>100?100:m.img.destHeight/2;m.activeObj.activePoint.width=x,m.activeObj.activePoint.height=w,"line"===e||"arrow"===e?(m.activeObj.lineDraw="horizontal",m.activeObj.activePoint.height=0,"arrow"===e&&(m.activeObj.activePoint.width+=50,m.activeObj.start=this.getArrowType(p),m.activeObj.end=this.getArrowType(d))):"rectangle"===e?m.activeObj.activePoint.width+=m.activeObj.activePoint.width/2:"redact"===e&&g&&(m.activeObj.redactType=g.toLowerCase(),g===F.Blur?f&&(m.activeObj.redactBlur=f):f&&(m.activeObj.redactPixelate=f),m.activeObj.redactImage=m.createElement("canvas")),this.setDimension(n,a),r?(m.activeObj.activePoint.startX=r.x,m.activeObj.activePoint.startY=r.y,m.activeObj.activePoint.endX=m.activeObj.activePoint.startX+m.activeObj.activePoint.width,m.activeObj.activePoint.endY=m.activeObj.activePoint.startY+m.activeObj.activePoint.height):this.setCenterPoints(),this.setPointCollForLineAndArrow(),"arrow"===e&&(m.activeObj.triangleDirection="right"),m.currObjType.isDragging=m.currObjType.isCustomCrop=!1,this.initShapeProps();var P={shapeSettingsObj:{}};m.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:P}});var S=P.shapeSettingsObj,j={cancel:!1,action:"insert",previousShapeSettings:S,currentShapeSettings:S};m.trigger("shapeChanging",j),m.editCompleteArgs=j,this.updateShapeChangeEventArgs(j.currentShapeSettings,j.allowShapeOverflow),this.setDimension(n,a),m.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate"}}),h&&(m.activeObj.rotatedAngle=h*(Math.PI/180),m.notify("selection",{prop:"updPtCollForShpRot",onPropertyChange:!1,value:{obj:m.activeObj}})),m.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:null}}),m.notify("selection",{prop:"isShapeInserted",onPropertyChange:!1,value:{bool:!0}}),m.notify("undo-redo",{prop:"updateUrObj",onPropertyChange:!1,value:{objColl:b}}),"redact"===e?m.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"redact",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}):m.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"shapes",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}),m.notify("toolbar",{prop:"update-toolbar-items",onPropertyChange:!1}),m.isPublicMethod&&!u&&m.notify("undo-redo",{prop:"updateUndoRedo",value:{operation:"shapeInsert"},onPropertyChange:!1}),m.isPublicMethod=!1}}},e.prototype.initShapeProps=function(){var e=this.parent;e.activeObj.shapeDegree=e.transform.degree,e.activeObj.shapeFlip=e.transform.currFlipState,e.activeObj.textFlip=e.transform.currFlipState,e.activeObj.flipObjColl=[],e.activeObj.order=this.getNewOrder()},e.prototype.setPointCollForLineAndArrow=function(){var e=this.parent,t=e.activeObj.shape,i=e.activeObj.activePoint,o=i.startX,r=i.startY,n=i.endX,a=i.endY;if(("line"===t||"arrow"===t)&&(e.activeObj.pointColl=this.getLinePoints(o,r,n,a),e.activeObj.pointColl))for(var s=0,l=e.activeObj.pointColl.length;s<l;s++)e.activeObj.pointColl[s].ratioX=(e.activeObj.pointColl[s].x-e.img.destLeft)/e.img.destWidth,e.activeObj.pointColl[s].ratioY=(e.activeObj.pointColl[s].y-e.img.destTop)/e.img.destHeight},e.prototype.prevObjColl=function(){var e=this.parent,t={currObj:{}};e.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:t}}),this.prevObj=t.currObj,this.prevObj.objColl=(0,l.extend)([],e.objColl,[],!0),this.prevObj.pointColl=(0,l.extend)([],e.pointColl,[],!0),this.prevObj.afterCropActions=(0,l.extend)([],e.afterCropActions,[],!0);var i={selPointColl:null};e.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:i}}),this.prevObj.selPointColl=(0,l.extend)([],i.selPointColl,[],!0)},e.prototype.drawShapeText=function(e,t,i,o,r,n,a,s,p,d,h,c,u,v,g,f){var m=this.parent;if(!m.disabled&&m.isImageLoaded){"freehanddraw"===m.currObjType.shape&&(this.apply(),m.upperCanvas.style.cursor=m.cursor="default",m.currObjType.shape=""),m.notify("draw",{prop:"setImageEdited",onPropertyChange:!1}),m.togglePen=!1,this.redrawActObj(),this.prevObjColl(),this.refreshActiveObj(),m.activeObj.shape=m.currObjType.shape="text",m.currObjType.isCustomCrop=!1,this.initializeTextShape(e,t,i,o,r,g,f,n,h,c,u),m.currObjType.isText=m.currObjType.isInitialText=!0,(0,l.isNullOrUndefined)(m.activeObj.textSettings.fontSize)&&(m.getFontSizes(),m.activeObj.textSettings.fontSize=parseInt(m.fontSizeColl[parseInt("3",10)-1].text,10)),m.img.destWidth<100?m.activeObj.textSettings.fontSize=Math.floor(m.img.destWidth/20):m.img.destHeight<100&&(m.activeObj.textSettings.fontSize=Math.floor(m.img.destHeight/20)),m.activeObj.shapeDegree=m.transform.degree,m.activeObj.shapeFlip=m.transform.currFlipState,m.activeObj.flipObjColl=[],this.updateFontStyles(),m.activeObj.order=this.getNewOrder();var b=this.upperContext.measureText(m.activeObj.textSettings.text).width+.5*m.activeObj.textSettings.fontSize,y=m.activeObj.textSettings.fontSize;if(e){m.activeObj.keyHistory=e;var C=this.getMaxText();C=C||m.activeObj.textSettings.text,b=this.upperContext.measureText(C).width+.5*m.activeObj.textSettings.fontSize;var x=e.split("\n");x.length>1&&(y=x.length*m.activeObj.textSettings.fontSize,y+=.25*i)}if((0,l.isNullOrUndefined)(a)||(0,l.isNullOrUndefined)(s)?this.setCenterPoints(!0,b,y):(m.activeObj.activePoint.startX=a,m.activeObj.activePoint.startY=s,m.activeObj.activePoint.endX=m.activeObj.activePoint.startX+b,m.activeObj.activePoint.endY=m.activeObj.activePoint.startY+y),v){m.notify("selection",{prop:"setTransformedShape",onPropertyChange:!1,value:{bool:!0}}),this.setTransformColl(v);var w=m.activeObj;w.shapeDegree=0,w.shapeFlip="";for(var P=0,S=w.rotateFlipColl,j=0;j<S.length;j++)"number"==typeof S[j]&&(P+=S[j]);P%90==0&&Math.abs(P)%180==90&&(w.activePoint.endX=w.activePoint.startX+y,w.activePoint.endY=w.activePoint.startY+b,w.activePoint.width=w.activePoint.endX-w.activePoint.startX,w.activePoint.height=w.activePoint.endY-w.activePoint.startY)}var O={shapeSettingsObj:{}};m.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:O}});var T=O.shapeSettingsObj,k={cancel:!1,action:"insert",previousShapeSettings:T,currentShapeSettings:T};if(m.trigger("shapeChanging",k),m.editCompleteArgs=k,this.drawShapeTextEvent(k),d&&(m.activeObj.rotatedAngle=d*(Math.PI/180),m.notify("selection",{prop:"updPtCollForShpRot",onPropertyChange:!1,value:{obj:m.activeObj}}),this.upperContext.clearRect(0,0,m.upperCanvas.width,m.upperCanvas.height),m.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:m.activeObj,isCropRatio:null,points:null,isPreventDrag:!0,saveContext:null,isPreventSelection:null}}),m.notify("toolbar",{prop:"destroy-qa-toolbar",onPropertyChange:!1}),m.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:null}})),e&&e.indexOf("\n")>-1&&m.isPublicMethod){var F=String(m.fontSizeColl.findIndex(function(e){return e.text===String(m.activeObj.textSettings.fontSize)})+1);m.noPushUndo=!0,m.updateFontSize("5"),parseInt(F,10)>0&&m.updateFontSize(F),m.noPushUndo=!1}m.isPublicMethod&&!p&&m.notify("undo-redo",{prop:"updateUndoRedo",value:{operation:"shapeInsert"},onPropertyChange:!1}),m.isPublicMethod=!1}},e.prototype.drawShapeImageEvent=function(e,t){var i=this.parent;this.updateShapeChangeEventArgs(e.currentShapeSettings,e.allowShapeOverflow),i.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate"}}),i.objColl.push(i.activeObj);var o=(0,l.extend)({},i.cropObj,{},!0);i.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeInsert",previousObj:this.prevObj,previousObjColl:this.prevObj.objColl,previousPointColl:this.prevObj.pointColl,previousSelPointColl:this.prevObj.selPointColl,previousCropObj:o,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),i.notify("selection",{prop:"redrawShape",onPropertyChange:!1,value:{obj:i.objColl[i.objColl.length-1]}}),t?(i.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"shapes",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}),i.notify("toolbar",{prop:"update-toolbar-items",onPropertyChange:!1}),i.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:null}})):i.okBtn(null,!0),i.notify("selection",{prop:"isShapeInserted",onPropertyChange:!1,value:{bool:!0}})},e.prototype.setTransformColl=function(e){var t=this.parent;if(t.activeObj.rotateFlipColl=[],e)for(var i=0;i<e.length;i++)e[i].degree?t.activeObj.rotateFlipColl.push(e[i].degree):t.activeObj.rotateFlipColl.push(e[i].flip.toLowerCase())},e.prototype.drawShapeTextEvent=function(e){var t=this.parent;this.updateShapeChangeEventArgs(e.currentShapeSettings,e.allowShapeOverflow),this.addLetter(t.activeObj.textSettings.text),t.activeObj.textFlip=t.transform.currFlipState,this.updateFontRatio(t.activeObj),t.objColl.push(t.activeObj);var i=(0,l.extend)({},t.cropObj,{},!0);t.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeInsert",previousObj:this.prevObj,previousObjColl:this.prevObj.objColl,previousPointColl:this.prevObj.pointColl,previousSelPointColl:this.prevObj.selPointColl,previousCropObj:i,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),t.notify("selection",{prop:"redrawShape",onPropertyChange:!1,value:{obj:t.objColl[t.objColl.length-1]}}),t.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:null}}),t.notify("selection",{prop:"isShapeInserted",onPropertyChange:!1,value:{bool:!0}}),t.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"text",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}),t.notify("toolbar",{prop:"update-toolbar-items",onPropertyChange:!1})},e.prototype.initializeTextShape=function(e,t,i,o,r,n,a,s,p,d,h){var c=this.parent;this.keyHistory="",c.upperCanvas.style.display="block",c.activeObj.strokeSettings.strokeColor=s||c.activeObj.strokeSettings.strokeColor,c.activeObj.strokeSettings.fillColor=p||c.activeObj.strokeSettings.fillColor,c.activeObj.textSettings.text=e||c.activeObj.textSettings.text,c.activeObj.textSettings.fontFamily=t||c.activeObj.textSettings.fontFamily,c.activeObj.textSettings.fontSize=i||c.activeObj.textSettings.fontSize,c.activeObj.textSettings.bold=(0,l.isNullOrUndefined)(o)?c.activeObj.textSettings.bold:o,c.activeObj.textSettings.italic=(0,l.isNullOrUndefined)(r)?c.activeObj.textSettings.italic:r,c.activeObj.textSettings.underline=(0,l.isNullOrUndefined)(n)?c.activeObj.textSettings.underline:n,c.activeObj.textSettings.strikethrough=(0,l.isNullOrUndefined)(a)?c.activeObj.textSettings.strikethrough:a,c.activeObj.strokeSettings.outlineColor=d||c.activeObj.strokeSettings.outlineColor,c.activeObj.strokeSettings.outlineWidth=h||c.activeObj.strokeSettings.outlineWidth},e.prototype.drawImage=function(e,t,i,o,r,n,a,s,l){this.initializeShape("image"),this.onLoadImgShape(e,t,i,o,r,null,n,a,s,l)},e.prototype.redrawActObj=function(e,t,i){var o,r=this.parent;r.activeObj.shape&&(o=r.activeObj.shape.split("-")),r.activeObj.horTopLine&&r.activeObj.shape&&"crop"!==o[0]&&("block"===r.textArea.style.display||"inline-block"===r.textArea.style.display?(r.notify("selection",{prop:"setTextBoxStylesToActObj",onPropertyChange:!1}),this.updateFontRatio(r.activeObj,!0),e&&t?e!==r.activeObj.activePoint.startX&&t!==r.activeObj.activePoint.startY&&this.updateTextFromTextArea():(this.updateTextFromTextArea(),r.textArea.style.transform="",r.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1})),this.refreshActiveObj()):this.applyActObj(i))},e.prototype.apply=function(e,t,i){var o=this.parent;if(!o.disabled)if(o.togglePen&&!o.currObjType.isCustomCrop){var r=o.img.destLeft,n=o.img.destTop,a=o.img.destWidth,s=o.img.destHeight;o.notify("draw",{prop:"callUpdateCurrTransState",onPropertyChange:!1});var p=this.lowerContext.filter;this.lowerContext.filter="none",o.togglePen=!1,(o.isCircleCrop||o.currSelectionPoint&&"crop-circle"===o.currSelectionPoint.shape)&&o.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}}),o.img.destLeft=r,o.img.destTop=n,o.img.destWidth=a,o.img.destHeight=s,this.lowerContext.filter=p}else i=i||"original",(0,l.isNullOrUndefined)(o.activeObj.shape)&&(0,l.isNullOrUndefined)(e)?o.currObjType.shape="":o.currObjType.shape=e||o.currObjType.shape,""!==o.currObjType.shape&&(this.upperContext.clearRect(0,0,o.upperCanvas.width,o.upperCanvas.height),"text"===o.activeObj.shape?o.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:i,obj:t,isCropRatio:null,points:null,isPreventDrag:!0,saveContext:null,isPreventSelection:null}}):o.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:i,obj:t}}),o.activeObj.shape=o.currObjType.shape.toLowerCase(),e||""===o.currObjType.shape||o.currObjType.isCustomCrop||o.objColl.push((0,l.extend)({},o.activeObj,{},!0)),this.keyHistory="")},e.prototype.setCenterPoints=function(e,t,i){var o,r,n=this.parent;e&&t&&i?(o=t,r=i):(o=n.activeObj.activePoint.width,r=n.activeObj.activePoint.height),n.activeObj.activePoint.startX=n.lowerCanvas.width/2-o/2,n.activeObj.activePoint.startY=n.lowerCanvas.height/2-r/2,n.activeObj.activePoint.endX=n.lowerCanvas.width/2+o/2,n.activeObj.activePoint.endY=n.lowerCanvas.height/2+r/2},e.prototype.updSelChangeEventArgs=function(e){var t=this.parent;t.activeObj.activePoint={startX:e.startX,startY:e.startY,endX:t.activeObj.activePoint.startX+t.activeObj.activePoint.width,endY:t.activeObj.activePoint.startY+t.activeObj.activePoint.height,width:e.width,height:e.height},t.activeObj.activePoint.endX=t.activeObj.activePoint.startX+t.activeObj.activePoint.width,t.activeObj.activePoint.endY=t.activeObj.activePoint.startY+t.activeObj.activePoint.height},e.prototype.updateShapeChangeEventArgs=function(e,t){var i,o=this.parent;if(e.id&&-1===e.id.indexOf("shape_")&&-1===e.id.indexOf("pen_")&&(o.activeObj.currIndex?o.activeObj.currIndex="shape_"+e.id:o.pointColl[i].id="pen_"+e.id),e.id&&e.id.split("_")[0]&&"pen"===e.id.split("_")[0])i=parseInt(e.id.split("_")[1],10)-1,o.pointColl[i].points=e.points,o.pointColl[i].strokeColor=e.strokeColor,o.pointColl[i].strokeWidth=e.strokeWidth,o.pointColl[i].opacity=e.opacity,e.index&&(o.pointColl[i].order=e.index);else{switch(o.activeObj.activePoint.startX=e.startX,o.activeObj.activePoint.startY=e.startY,e.width&&e.height&&(o.activeObj.activePoint.width=e.width,o.activeObj.activePoint.height=e.height,o.activeObj.activePoint.endX=o.activeObj.activePoint.startX+o.activeObj.activePoint.width,o.activeObj.activePoint.endY=o.activeObj.activePoint.startY+o.activeObj.activePoint.height),"text"!==o.activeObj.shape&&(o.activeObj.strokeSettings.strokeColor=e.strokeColor,o.activeObj.strokeSettings.strokeWidth=e.strokeWidth),o.activeObj.strokeSettings.fillColor=e.fillColor,o.activeObj.opacity=e.opacity,e.index&&(o.activeObj.order=e.index),o.activeObj.preventShapeDragOut=!t,(0,l.isNullOrUndefined)(e.degree)&&(e.degree=0),o.activeObj.shape){case"ellipse":o.activeObj.activePoint.width=2*e.radiusX,o.activeObj.activePoint.height=2*e.radiusY,o.activeObj.activePoint.endX=o.activeObj.activePoint.startX+o.activeObj.activePoint.width,o.activeObj.activePoint.endY=o.activeObj.activePoint.startY+o.activeObj.activePoint.height,e.degree&&(o.activeObj.rotatedAngle=e.degree*(Math.PI/180));break;case"line":case"arrow":o.activeObj.activePoint.width=e.length,o.activeObj.activePoint.endX=e.endX,o.activeObj.activePoint.endY=e.endY,o.activeObj.activePoint.width=o.activeObj.activePoint.startX+o.activeObj.activePoint.width,o.activeObj.activePoint.height=o.activeObj.activePoint.startY+o.activeObj.activePoint.height,"arrow"===o.activeObj.shape&&(o.activeObj.start=this.getArrowType(e.arrowHead),o.activeObj.end=this.getArrowType(e.arrowTail));break;case"text":o.activeObj.keyHistory=o.activeObj.textSettings.text=e.text,o.activeObj.textSettings.fontSize=e.fontSize,o.activeObj.strokeSettings.strokeColor=e.color,o.activeObj.strokeSettings.outlineColor=e.strokeColor,o.activeObj.strokeSettings.outlineWidth=e.strokeWidth,o.activeObj.strokeSettings.fillColor=e.fillColor,o.activeObj.textSettings.fontFamily=e.fontFamily,this.setTransformColl(e.transformCollection),e.degree&&(o.activeObj.rotatedAngle=e.degree*(Math.PI/180)),this.updateFontRatio(o.activeObj);break;case"rectangle":case"image":e.degree&&(o.activeObj.rotatedAngle=e.degree*(Math.PI/180));break;case"path":o.activeObj.pointColl=e.points}if("text"===o.activeObj.shape&&o.activeObj.textSettings){o.activeObj.textSettings.bold=!1,o.activeObj.textSettings.italic=!1,o.activeObj.textSettings.underline=!1,o.activeObj.textSettings.strikethrough=!1;for(var r=0;r<e.fontStyle.length;r++)switch(e.fontStyle[r]){case"bold":o.activeObj.textSettings.bold=!0;break;case"italic":o.activeObj.textSettings.italic=!0;break;case"underline":o.activeObj.textSettings.underline=!0;break;case"strikethrough":o.activeObj.textSettings.strikethrough=!0}}}},e.prototype.addLetter=function(e){var t=this.parent;if("none"===t.textArea.style.display&&(t.currObjType.isText||"text"===t.activeObj.shape)){var i=t.activeObj.textSettings.fontSize;"Backspace"===e?this.keyHistory=this.keyHistory.slice(0,-1):this.keyHistory+=e,this.upperContext.clearRect(0,0,t.upperCanvas.width,t.upperCanvas.height),this.updateFontStyles();var o=this.upperContext.measureText(this.keyHistory).width+.5*i,r=1.18*i;this.upperContext.fillText(this.keyHistory,t.activeObj.activePoint.startX,t.activeObj.activePoint.startY+i),this.upperContext.clearRect(0,0,t.upperCanvas.width,t.upperCanvas.height),t.currObjType.isText=!0,t.notify("selection",{prop:"setActivePoint",onPropertyChange:!1,value:{startX:o,startY:r}})}},e.prototype.redrawText=function(){var e=this.parent,t=e.activeObj.textSettings,i=t.fontSize,o=t.fontFamily,r="";t.bold&&(r+="bold "),t.italic&&(r+="italic "),this.upperContext.font=r+i+"px "+o;var n=e.activeObj.keyHistory.split("\n"),a="block"===e.textArea.style.display||"inline-block"===e.textArea.style.display?this.getMaxText(!0):this.getMaxText(),s=this.upperContext.measureText(a).width+.5*i,l=n.length*i*1.18;n.length>1&&(l+=.5*i),e.notify("selection",{prop:"setTextSelection",onPropertyChange:!1,value:{width:s,height:l}}),e.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:e.activeObj.activePoint,obj:e.activeObj,isMouseMove:null,x:null,y:null}}),e.notify("selection",{prop:"redrawShape",onPropertyChange:!1,value:{obj:e.activeObj}})},e.prototype.updateTextFromTextArea=function(){var e=this.parent,t=!1,i=e.activeObj.textSettings.fontSize,o=(0,l.extend)({},e.activeObj,{},!0),r=(0,l.extend)({},e.cropObj,{},!0),n={currObj:{}};e.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:n}});var a=n.currObj;a.objColl=(0,l.extend)([],e.objColl,[],!0),a.pointColl=(0,l.extend)([],e.pointColl,[],!0),a.afterCropActions=(0,l.extend)([],e.afterCropActions,[],!0);var s={selPointColl:null};e.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:s}}),a.selPointColl=(0,l.extend)([],s.selPointColl,[],!0),e.activeObj.keyHistory!==e.textArea.value&&(t=!0),e.activeObj.keyHistory=e.textArea.value,e.textArea.style.display="none",e.textArea.value="",this.updateFontStyles();var p=this.upperContext.measureText(e.activeObj.keyHistory).width+.5*i,d=1.18*i,h=e.activeObj.keyHistory.split("\n");if(h.length>1){d*=h.length,d+=.1*i*h.length;for(var c=[],u=0,v=h.length;u<v;u++)c.push(this.upperContext.measureText(h[u]).width+.5*i);p=Math.max.apply(Math,c)}if(e.notify("selection",{prop:"setTextSelection",onPropertyChange:!1,value:{width:p,height:d}}),0!==e.activeObj.rotatedAngle){var g=e.activeObj.activePoint.width-o.activePoint.width,f=e.activeObj.activePoint.height-o.activePoint.height,m="";g>0&&f>0?m="widthHeight":0!==g?m="width":0!==f&&(m="height"),e.activeObj.activePoint=(0,l.extend)({},o.activePoint,{},!0),e.notify("selection",{prop:"adjustRotationPoints",onPropertyChange:!1,value:{rectangle:e.activeObj.activePoint,x:g,y:f,angle:e.activeObj.rotatedAngle,type:"text",elem:m}}),e.notify("shape",{prop:"updateFontSize",onPropertyChange:!1,value:{obj:e.activeObj}})}e.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:e.activeObj.activePoint,obj:e.activeObj,isMouseMove:null,x:null,y:null}}),this.updImgRatioForActObj(),0!==e.activeObj.rotatedAngle&&e.notify("selection",{prop:"updPtCollForShpRot",onPropertyChange:!1,value:{obj:e.activeObj}});var b=!1;for(u=0;u<e.objColl.length;u++)if(e.objColl[u].currIndex===e.activeObj.currIndex){b=!0;break}t?(this.apply(e.activeObj.shape,e.activeObj),b||e.objColl.push((0,l.extend)({},e.activeObj,{},!0)),e.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"text",previousObj:a,previousObjColl:a.objColl,previousPointColl:a.pointColl,previousSelPointColl:a.selPointColl,previousCropObj:r,previousText:e.activeObj.keyHistory,currentText:e.textArea.value,previousFilter:null,isCircleCrop:null}})):(this.apply(e.activeObj.shape,e.activeObj),b||e.objColl.push((0,l.extend)({},e.activeObj,{},!0)))},e.prototype.iterateObjColl=function(){var e=this.parent;if(e.objColl.length>0)for(var t=this.getSmallestIndex(),i=(0,l.extend)([],e.objColl,[],!0);i.length>0;){for(var o=!1,r=0;r<i.length;r++){var n=i[r];if((0,l.isNullOrUndefined)(n.order))i.splice(r,1),r--;else if(n.order===t){this.apply(n.shape,n),"redact"===n.shape&&JSON.stringify(n.activePoint)===JSON.stringify(e.activeObj.activePoint)&&n.redactImage!==e.activeObj.redactImage&&(n.redactImage=e.activeObj.redactImage,e.objColl[r]&&JSON.stringify(e.objColl[r].activePoint)===JSON.stringify(n.activePoint)&&(e.objColl[r].redactImage=e.activeObj.redactImage)),this.refreshActiveObj(),t++,this.isIndexInObjColl(t)||t++,i.splice(r,1),o=!0;break}}if(!o)break}},e.prototype.getSmallestIndex=function(){for(var e,t=this.parent,i=0,o=t.objColl.length;i<o;i++){var r=t.objColl[i];(0,l.isNullOrUndefined)(r.order)||((0,l.isNullOrUndefined)(e)||r.order<e)&&(e=r.order)}return e},e.prototype.isIndexInObjColl=function(e){for(var t=this.parent,i=0,o=t.objColl.length;i<o;i++){var r=t.objColl[i];if(!(0,l.isNullOrUndefined)(r.order)&&r.order===e)return!0}return!1},e.prototype.updImgRatioForActObj=function(){var e=this.parent,t={startX:e.img.destLeft,startY:e.img.destTop,width:e.img.destWidth,height:e.img.destHeight};this.straightenShapes();var i=e.img,o=i.destLeft,r=i.destTop,n=i.destWidth,a=i.destHeight,s=e.activeObj.activePoint;e.activeObj.imageRatio={startX:(s.startX-o)/n,startY:(s.startY-r)/a,endX:(s.endX-o)/n,endY:(s.endY-r)/a,width:n/s.width,height:a/s.height},e.activeObj.rotationCirclePointColl&&(e.activeObj.rotationCirclePointColl.ratioX=(e.activeObj.rotationCirclePointColl.x-o)/n,e.activeObj.rotationCirclePointColl.ratioY=(e.activeObj.rotationCirclePointColl.y-r)/a),"path"===e.activeObj.shape?this.updatePathRatio(e.activeObj):"arrow"===e.activeObj.shape&&this.updateArrowRatio(e.activeObj),e.img.destLeft=t.startX,e.img.destTop=t.startY,e.img.destWidth=t.width,e.img.destHeight=t.height},e.prototype.zoomObjColl=function(e){var t=this.parent,i={startX:t.img.destLeft,startY:t.img.destTop,width:t.img.destWidth,height:t.img.destHeight};if(this.straightenShapes(),t.objColl.length>0){for(var o=0,r=t.objColl.length;o<r;o++){var n=t.objColl[o];if(n.imageRatio&&(n.activePoint.startX=n.imageRatio.startX*t.img.destWidth+t.img.destLeft,n.activePoint.startY=n.imageRatio.startY*t.img.destHeight+t.img.destTop,n.activePoint.endX=n.imageRatio.endX*t.img.destWidth+t.img.destLeft,n.activePoint.endY=n.imageRatio.endY*t.img.destHeight+t.img.destTop),"text"===(n=this.updateWidthHeight(n)).shape)this.updateFontSize(n);else if("line"===n.shape||"arrow"===n.shape){n.pointColl=this.getLinePoints(n.activePoint.startX,n.activePoint.startY,n.activePoint.endX,n.activePoint.endY);for(var a=0,s=n.pointColl.length;a<s;a++)n.pointColl[a].ratioX=(n.pointColl[a].x-t.img.destLeft)/t.img.destWidth,n.pointColl[a].ratioY=(n.pointColl[a].y-t.img.destTop)/t.img.destHeight;"arrow"===n.shape&&this.updateArrowSize(n),0===t.transform.straighten||"line"!==n.shape&&"arrow"!==n.shape||this.straightenShapePoints(n)}else if("path"===n.shape){for(var p=0,d=n.pointColl.length;p<d;p++)n.pointColl[p].x=n.pointColl[p].ratioX*t.img.destWidth+t.img.destLeft,n.pointColl[p].y=n.pointColl[p].ratioY*t.img.destHeight+t.img.destTop;this.updatePathRatio(n),0!==t.transform.straighten&&this.straightenPath(n)}t.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:n.activePoint,obj:n}}),"line"!==n.shape&&"arrow"!==n.shape&&"path"!==n.shape&&0!==n.rotatedAngle&&(this.setPointCollForShapeRotation(n),n.rotationCirclePoint.x=n.rotationCirclePoint.ratioX*t.img.destWidth+t.img.destLeft,n.rotationCirclePoint.y=n.rotationCirclePoint.ratioY*t.img.destHeight+t.img.destTop,n.rotationCirclePointColl&&(n.rotationCirclePointColl.x=n.rotationCirclePointColl.ratioX*t.img.destWidth+t.img.destLeft,n.rotationCirclePointColl.y=n.rotationCirclePointColl.ratioY*t.img.destHeight+t.img.destTop))}if((0,l.isNullOrUndefined)(e)){var h=this.lowerContext.filter;this.lowerContext.filter="none",this.iterateObjColl(),this.lowerContext.filter=h}}t.img.destLeft=i.startX,t.img.destTop=i.startY,t.img.destWidth=i.width,t.img.destHeight=i.height},e.prototype.straightenPath=function(e){for(var t,i=0,o=e.pointColl.length;i<o;i++)t=this.straightenPoints(e.pointColl[i].x,e.pointColl[i].y),e.pointColl[i].x=t.x,e.pointColl[i].y=t.y},e.prototype.straightenFHD=function(){for(var e=this.parent,t=0,i=e.freehandCounter;t<i;t++){e.points=(0,l.extend)([],e.pointColl[t].points,[]);for(var o=e.points.length,r=void 0,n=0;n<o;n++)r=this.straightenPoints(e.points[n].x,e.points[n].y),e.points[n].x=r.x,e.points[n].y=r.y}var a={selPointColl:null};e.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:a}});for(t=0,i=e.freehandCounter;t<i;t++)if(a.selPointColl[t]&&a.selPointColl[t].points)for(o=a.selPointColl[t].points.length,r=void 0,n=0;n<o;n++)r=this.straightenPoints(a.selPointColl[t].points[n].x,a.selPointColl[t].points[n].y),a.selPointColl[t].points[n].x=r.x,a.selPointColl[t].points[n].y=r.y;var s={straightenPoint:null};if(e.notify("freehand-draw",{prop:"getStraightenPoint",onPropertyChange:!1,value:{obj:s}}),s.straightenPoint.x&&s.straightenPoint.y){var p={angle:0};e.notify("freehand-draw",{prop:"getStraightenPointAngle",onPropertyChange:!1,value:{obj:p}});var d=((360===e.transform.straighten?0:e.transform.straighten)-p.angle)*(Math.PI/180);r=this.straightenPoints(s.straightenPoint.x,s.straightenPoint.y,d);0===d&&(r.x=s.straightenPoint.x,r.y=s.straightenPoint.y),e.notify("freehand-draw",{prop:"setStraightenPoint",onPropertyChange:!1,value:{x:r.x,y:r.y}})}},e.prototype.straightenPoints=function(e,t,i){var o=this.parent,r=o.img.destLeft+o.img.destWidth/2,n=o.img.destTop+o.img.destHeight/2;return i=i||o.transform.straighten*(Math.PI/180),{x:Math.cos(i)*(e-r)-Math.sin(i)*(t-n)+r,y:Math.sin(i)*(e-r)+Math.cos(i)*(t-n)+n}},e.prototype.straightenShapes=function(){var e=this.parent,t=e.img,i=t.destLeft,o=t.destTop,r=t.destWidth,n=t.destHeight;if(e.isStraightening&&0!==e.transform.straighten){e.notify("draw",{prop:"updateImgCanvasPoints"});var a={points:null};e.notify("draw",{prop:"getImageCanvasPoints",value:{obj:a}});var s=i+r/2,l=o+n/2,p=-e.transform.straighten*(Math.PI/180),d={x:Math.cos(p)*(a.points[0].x-s)-Math.sin(p)*(a.points[0].y-l)+s,y:Math.sin(p)*(a.points[0].x-s)+Math.cos(p)*(a.points[0].y-l)+l},h=Math.cos(p)*(a.points[1].x-s)-Math.sin(p)*(a.points[1].y-l)+s,c=Math.sin(p)*(a.points[1].x-s)+Math.cos(p)*(a.points[1].y-l)+l,u=(Math.cos(p),a.points[2].x,Math.sin(p),a.points[2].y,Math.sin(p)*(a.points[2].x-s)+Math.cos(p)*(a.points[2].y-l)+l);e.img.destWidth=h-d.x,e.img.destHeight=u-c,e.img.destLeft=d.x,e.img.destTop=d.y}},e.prototype.straightenShapePoints=function(e,t){var i=this.parent,o=i.img,r=o.destLeft,n=o.destTop,a=o.destWidth,s=o.destHeight;if(i.isStraightening&&("line"===e.shape||"arrow"===e.shape)){e.activePoint.width=e.activePoint.endX>e.activePoint.startX?e.activePoint.endX-e.activePoint.startX:e.activePoint.startX-e.activePoint.endX,e.activePoint.height=e.activePoint.endY>e.activePoint.startY?e.activePoint.endY-e.activePoint.startY:e.activePoint.startY-e.activePoint.endY;var l={x:r+a/2,y:n+s/2},p=(t?-i.transform.straighten:i.transform.straighten)*(Math.PI/180),d={x:Math.cos(p)*(e.activePoint.startX-l.x)-Math.sin(p)*(e.activePoint.startY-l.y)+l.x,y:Math.sin(p)*(e.activePoint.startX-l.x)+Math.cos(p)*(e.activePoint.startY-l.y)+l.y},h={x:Math.cos(p)*(e.activePoint.endX-l.x)-Math.sin(p)*(e.activePoint.endY-l.y)+l.x,y:Math.sin(p)*(e.activePoint.endX-l.x)+Math.cos(p)*(e.activePoint.endY-l.y)+l.y};e.activePoint.startX=d.x,e.activePoint.startY=d.y,e.activePoint.endX=h.x,e.activePoint.endY=h.y,e.activePoint.width=e.activePoint.endX>e.activePoint.startX?e.activePoint.endX-e.activePoint.startX:e.activePoint.startX-e.activePoint.endX,e.activePoint.height=e.activePoint.endY>e.activePoint.startY?e.activePoint.endY-e.activePoint.startY:e.activePoint.startY-e.activePoint.endY,i.notify("selection",{prop:"adjustActObjForLineArrow",onPropertyChange:!1,value:{obj:e}})}},e.prototype.redrawObj=function(e){var t=this.parent,i=!1;if(t.objColl.length>0)if("horizontal"===e||"vertical"===e||"Horizontal"===e||"Vertical"===e||"horizontalVertical"===e||"verticalHorizontal"===e)this.updateCurrentActiveObjPoint(e.toLowerCase());else if("number"==typeof e){this.updateCurrentActiveObjPoint(e);var o=this.lowerContext.filter;this.lowerContext.filter="brightness(1) contrast(100%) hue-rotate(0deg) saturate(100%) opacity(1) blur(0px) sepia(0%) grayscale(0%) invert(0%)";for(var r=0,n=t.objColl.length;r<n;r++){"crop"!==t.objColl[r].shape.split("-")[0]&&(this.apply(t.objColl[r].shape,t.objColl[r]),i=!0)}i&&t.notify("draw",{prop:"applyFrame",value:{ctx:this.lowerContext,frame:t.frameObj.type,preventImg:!0}}),this.lowerContext.filter=o}},e.prototype.updateCurrentActiveObjPoint=function(e){for(var t,i=this.parent,o=i.img,r=o.destLeft,n=o.destTop,a=o.destWidth,s=o.destHeight,p=0,d=i.objColl.length;p<d;p++){var h=i.objColl[p];if(i.activeObj.shape===h.shape&&i.activeObj.activePoint.startX===h.activePoint.startX&&i.activeObj.activePoint.startY===h.activePoint.startY&&i.activeObj.activePoint.endX===h.activePoint.endX&&i.activeObj.activePoint.endY===h.activePoint.endY&&i.activeObj.currIndex===h.currIndex){t=p;break}}if("horizontal"===e||"vertical"===e||"Horizontal"===e||"Vertical"===e||"horizontalvertical"===e||"verticalhorizontal"===e){if("horizontal"===e||"Horizontal"===e){var c=0;for(d=i.objColl.length;c<d;c++){(h=i.objColl[c]).shapeFlip!==i.transform.currFlipState&&(h.activePoint.startX<=r+a/2?(h.activePoint.endX=r+a-(h.activePoint.startX-r),h.activePoint.startX=h.activePoint.endX-h.activePoint.width,i.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:h.activePoint,obj:h}})):h.activePoint.startX>=r+a/2&&(h.activePoint.startX=r+(r+a-h.activePoint.endX),h.activePoint.endX=h.activePoint.startX+h.activePoint.width,i.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:h.activePoint,obj:h}})),"line"===h.shape||"arrow"===h.shape||"path"===h.shape?this.flipLineArrowObj(h,"horizontal"):0!==h.rotatedAngle&&(h.rotatedAngle=h.rotatedAngle+2*(Math.PI-h.rotatedAngle),h.rotationCirclePointColl.x<=r+a/2?h.rotationCirclePointColl.x=r+a-(h.rotationCirclePointColl.x-r):h.rotationCirclePointColl.x>=r+a/2&&(h.rotationCirclePointColl.x=r+(r+a-h.rotationCirclePointColl.x)),h.rotationCirclePointColl.ratioX=(h.rotationCirclePointColl.x-r)/a),h.shapeFlip=i.transform.currFlipState,h.imageRatio={startX:(h.activePoint.startX-r)/a,startY:(h.activePoint.startY-n)/s,endX:(h.activePoint.endX-r)/a,endY:(h.activePoint.endY-n)/s,width:a/h.activePoint.width,height:s/h.activePoint.height})}}else if("vertical"===e||"Vertical"===e)for(c=0;c<i.objColl.length;c++){(h=i.objColl[c]).shapeFlip!==i.transform.currFlipState&&(h.activePoint.startY<=n+s/2?(h.activePoint.endY=n+s-(h.activePoint.startY-n),h.activePoint.startY=h.activePoint.endY-h.activePoint.height,i.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:h.activePoint,obj:h}})):h.activePoint.startY>=i.lowerCanvas.height/2&&(h.activePoint.startY=n+(n+s-h.activePoint.endY),h.activePoint.endY=h.activePoint.startY+h.activePoint.height,i.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:h.activePoint,obj:h}})),"line"===h.shape||"arrow"===h.shape||"path"===h.shape?this.flipLineArrowObj(h,"vertical"):0!==h.rotatedAngle&&(h.rotatedAngle=-h.rotatedAngle,h.rotationCirclePointColl.y<=n+s/2?h.rotationCirclePointColl.y=n+s-(h.rotationCirclePointColl.y-n):h.rotationCirclePointColl.y>=n+s/2&&(h.rotationCirclePointColl.y=n+(n+s-h.rotationCirclePointColl.y)),h.rotationCirclePointColl.ratioY=(h.rotationCirclePointColl.y-n)/s),h.shapeFlip=i.transform.currFlipState,h.imageRatio={startX:(h.activePoint.startX-r)/a,startY:(h.activePoint.startY-n)/s,endX:(h.activePoint.endX-r)/a,endY:(h.activePoint.endY-n)/s,width:a/h.activePoint.width,height:s/h.activePoint.height})}else if("verticalhorizontal"===e||"horizontalvertical"===e)for(c=0,d=i.objColl.length;c<d;c++){(h=i.objColl[c]).shapeFlip!==i.transform.currFlipState&&(h.activePoint.startX<=r+a/2?(h.activePoint.endX=r+a-(h.activePoint.startX-r),h.activePoint.startX=h.activePoint.endX-h.activePoint.width,i.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:h.activePoint,obj:h}})):h.activePoint.startX>=r+a/2&&(h.activePoint.startX=r+(r+a-h.activePoint.endX),h.activePoint.endX=h.activePoint.startX+h.activePoint.width,i.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:h.activePoint,obj:h}})),h.activePoint.startY<=n+s/2?(h.activePoint.endY=n+s-(h.activePoint.startY-n),h.activePoint.startY=h.activePoint.endY-h.activePoint.height,i.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:h.activePoint,obj:h}})):h.activePoint.startY>=i.lowerCanvas.height/2&&(h.activePoint.startY=n+(n+s-h.activePoint.endY),h.activePoint.endY=h.activePoint.startY+h.activePoint.height,i.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:h.activePoint,obj:h}})),"line"!==h.shape&&"arrow"!==h.shape&&"path"!==h.shape||this.flipLineArrowObj(h,e),h.shapeFlip=i.transform.currFlipState,h.imageRatio={startX:(h.activePoint.startX-r)/a,startY:(h.activePoint.startY-n)/s,endX:(h.activePoint.endX-r)/a,endY:(h.activePoint.endY-n)/s,width:a/h.activePoint.width,height:s/h.activePoint.height})}void 0!==t&&(i.activeObj=(0,l.extend)({},i.objColl[t],{},!0))}else if(90===e)this.rotateObjColl();else if(-90===e)for(c=0;c<3;c++)this.rotateObjColl();else if("number"==typeof e)if(e>0)this.rotateObjColl();else for(c=0;c<3;c++)this.rotateObjColl()},e.prototype.rotateObjColl=function(){for(var e=this.parent,t=e.img,i=t.destWidth,o=t.destHeight,r=t.destLeft,n=t.destTop,a=0,s=e.objColl.length;a<s;a++){var l=(p=e.objColl[a]).shape;p.activePoint.startY=n+o*p.imageRatio.startX,p.activePoint.endY=n+o*p.imageRatio.endX,p.activePoint.startX=r+i-i*p.imageRatio.endY,p.activePoint.endX=r+i-i*p.imageRatio.startY,p=this.updateWidthHeight(e.objColl[a]),this.updateFontSize(p),"line"===l||"arrow"===l||"path"===l?(this.rotateLineArrowObj(p),"arrow"===l&&this.updateArrowSize(p)):0!==p.rotatedAngle&&(p.rotationCirclePointColl.y=n+o*p.rotationCirclePointColl.ratioX,p.rotationCirclePointColl.x=r+i-i*p.rotationCirclePointColl.ratioY,p.rotationCirclePointColl.ratioX=(p.rotationCirclePointColl.x-r)/i,p.rotationCirclePointColl.ratioY=(p.rotationCirclePointColl.y-n)/o)}for(a=0,s=e.objColl.length;a<s;a++)e.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:e.objColl[a].activePoint,obj:e.objColl[a]}});for(a=0,s=e.objColl.length;a<s;a++){var p;(p=e.objColl[a]).imageRatio={startX:(p.activePoint.startX-r)/i,startY:(p.activePoint.startY-n)/o,endX:(p.activePoint.endX-r)/i,endY:(p.activePoint.endY-n)/o,width:i/p.activePoint.width,height:o/p.activePoint.height}}},e.prototype.rotateLineArrowObj=function(e){if(!(0,l.isNullOrUndefined)(e.pointColl)){var t=this.parent.img,i=t.destWidth,o=t.destHeight,r=t.destLeft,n=t.destTop;if(e.pointColl.length>0){for(var a=0;a<e.pointColl.length;a++)e.pointColl[a].y=n+o*e.pointColl[a].ratioX,e.pointColl[a].x=r+i-i*e.pointColl[a].ratioY;for(a=0;a<e.pointColl.length;a++)e.pointColl[a].ratioX=(e.pointColl[a].x-r)/i,e.pointColl[a].ratioY=(e.pointColl[a].y-n)/o;var s=void 0;s=(0,l.isNullOrUndefined)(e.pointColl[e.pointColl.length-2])?{x:0,y:0}:{x:e.pointColl[e.pointColl.length-2].x,y:e.pointColl[e.pointColl.length-2].y};var p=e.pointColl[e.pointColl.length-1].x-s.x,d=e.pointColl[e.pointColl.length-1].y-s.y;e.activePoint.startX=e.pointColl[0].x,e.activePoint.startY=e.pointColl[0].y,e.activePoint.endX=e.pointColl[e.pointColl.length-1].x+p/2,e.activePoint.endY=e.pointColl[e.pointColl.length-1].y+d/2,e=this.updateWidthHeight(e)}}},e.prototype.flipLineArrowObj=function(e,t){if(t=t.toLowerCase(),!(0,l.isNullOrUndefined)(e.pointColl)&&("horizontal"===t?this.lineArrowHorizontalFlip(e):("vertical"===t||(this.lineArrowHorizontalFlip(e),e.shapeFlip=""),this.lineArrowVerticalFlip(e)),e.activePoint.startX=e.pointColl[0].x,e.activePoint.startY=e.pointColl[0].y,e.activePoint.endX=e.pointColl[e.pointColl.length-1].x,e.activePoint.endY=e.pointColl[e.pointColl.length-1].y,e.activePoint.startX>e.activePoint.endX)){var i=e.activePoint.startX;e.activePoint.startX=e.activePoint.endX,e.activePoint.endX=i,i=e.activePoint.startY,e.activePoint.startY=e.activePoint.endY,e.activePoint.endY=i}},e.prototype.lineArrowHorizontalFlip=function(e){var t=this.parent,i=t.img,o=i.destWidth,r=i.destHeight,n=i.destLeft,a=i.destTop;if(e.shapeFlip!==t.transform.currFlipState){for(var s=0,l=e.pointColl.length;s<l;s++){var p=e.pointColl[s];p.x<=n+o/2?p.x=n+o-(p.x-n):p.x>=n+o/2&&(p.x=n+(n+o-p.x)),p.ratioX=(p.x-n)/o,p.ratioY=(p.y-a)/r}if("arrow"===e.shape){var d=e.start;e.start=e.end,e.end=d}e.shapeFlip=t.transform.currFlipState}},e.prototype.lineArrowVerticalFlip=function(e){var t=this.parent,i=t.img,o=i.destWidth,r=i.destHeight,n=i.destLeft,a=i.destTop;if(e.shapeFlip!==t.transform.currFlipState){for(var s=0,l=e.pointColl.length;s<l;s++){var p=e.pointColl[s];p.y<=a+r/2?p.y=a+r-(p.y-a):p.y>=a+r/2&&(p.y=a+(a+r-p.y)),p.ratioX=(p.x-n)/o,p.ratioY=(p.y-a)/r}e.shapeFlip=t.transform.currFlipState}},e.prototype.getRotDegOfShape=function(e,t){var i,o=this.parent;(i=0===e.shapeDegree?this.parent.transform.degree:this.parent.transform.degree-e.shapeDegree)<0&&(i=360+i);var r={bool:!1};if(o.notify("selection",{prop:"getTransformedShape",onPropertyChange:!1,value:{obj:r}}),r.bool&&!t&&o.activeObj.rotateFlipColl){i=0;for(var n=0;n<o.activeObj.rotateFlipColl.length;n++)"number"==typeof o.activeObj.rotateFlipColl[n]&&(i+=o.activeObj.rotateFlipColl[n])}return i},e.prototype.renderTextArea=function(e,t,i){var o=this.parent,r={shapeSettingsObj:{}};o.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:r}});var n=r.shapeSettingsObj,a={cancel:!1,action:"text-edit",previousShapeSettings:n,currentShapeSettings:n};o.trigger("shapeChanging",a),this.updateShapeChangeEventArgs(a.currentShapeSettings,a.allowShapeOverflow);var s=this.getRotDegOfShape(o.activeObj);this.transformTextArea(),o.notify("toolbar",{prop:"destroy-qa-toolbar",onPropertyChange:!1});var l=o.element.querySelector("#"+o.element.id+"_zOrderBtn"),p=o.element.querySelector("#"+o.element.id+"_duplicate"),d=o.element.querySelector("#"+o.element.id+"_remove"),h=o.element.querySelector("#"+o.element.id+"_editText"),c=i.strokeSettings.outlineColor,u=i.strokeSettings.outlineWidth,v=[];l&&l.classList.add("e-overlay"),p&&p.classList.add("e-overlay"),d&&d.classList.add("e-overlay"),h&&h.classList.add("e-overlay"),""!==i.strokeSettings.fillColor?o.textArea.style.backgroundColor=i.strokeSettings.fillColor:o.textArea.style.backgroundColor="transparent",o.textArea.style.display="block",o.textArea.style.left=e+"px",o.textArea.style.top=t+"px",o.textArea.style.fontFamily=i.textSettings.fontFamily,o.textArea.style.fontSize=i.textSettings.fontSize+"px",o.textArea.style.color=i.strokeSettings.strokeColor;var g=i.textSettings.fontSize,f=Math.max(1,u/2)*(.5*Math.floor((g-1)/16)+.5);if(/^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$|^[a-zA-Z]+$/.test(i.strokeSettings.outlineColor)){for(var m=-f;m<=f;m++)for(var b=-f;b<=f;b++)0===m&&0===b||v.push(m/2+"px "+b/2+"px 0 "+c);o.textArea.style.textShadow=v.join(", ")}else o.textArea.style.textShadow=null;o.textArea.style.fontWeight=i.textSettings.bold?"bold":"normal",o.textArea.style.fontStyle=i.textSettings.italic?"italic":"normal",o.textArea.style.textDecoration=i.textSettings.underline&&i.textSettings.strikethrough?"underline line-through":i.textSettings.underline?"underline":i.textSettings.strikethrough?"line-through":"none",o.textArea.style.border="2px solid "+o.themeColl[o.theme].primaryColor,o.textArea.value=i.keyHistory,o.textArea.style.overflow="hidden",o.textArea.style.width="auto",o.textArea.style.height="auto",o.textArea.focus();var y=i.activePoint,C=y.width,x=y.height;s%90==0&&s%180!=0&&0!==s?(o.textArea.style.width=x+.25*x+"px",o.textArea.style.height=C+.25*C+"px"):(o.textArea.style.width=C+.25*C+"px",o.textArea.style.height=x+.25*x+"px"),this.setTextBoxWidth();var w={flipColl:null};if(o.notify("transform",{prop:"getFlipColl",onPropertyChange:!1,value:{obj:w}}),w.flipColl.length<=1&&this.setTextBoxHeight(),parseFloat(o.textArea.style.maxHeight)<o.activeObj.textSettings.fontSize&&(o.textArea.style.maxHeight=o.activeObj.textSettings.fontSize+"px"),s%90==0&&s%180!=0?parseFloat(o.textArea.style.left)+parseFloat(o.textArea.style.width)>o.img.destTop+o.img.destHeight&&this.alignTextAreaIntoCanvas():parseFloat(o.textArea.style.left)+parseFloat(o.textArea.style.width)>o.img.destLeft+o.img.destWidth&&this.alignTextAreaIntoCanvas(),0!==i.rotatedAngle){var P=parseFloat(o.textArea.style.left),S=parseFloat(o.textArea.style.top);if(i.flipObjColl.length>0){var j={panRegion:""},O=o.lowerCanvas,T=O.clientWidth,k=O.clientHeight,F={x:0,y:0};o.notify("crop",{prop:"getCurrFlipState",onPropertyChange:!1,value:{panObj:j}}),""!==j.panRegion&&("horizontal"===j.panRegion?(F.x=T-T/2,P=F.x-P+F.x):"vertical"===j.panRegion?(F.y=k-k/2,S=F.y-S+F.y):(P=(F={x:T-T/2,y:k-k/2}).x-P+F.x,S=F.y-S+F.y))}var I=P+parseFloat(o.textArea.style.width),A=S+parseFloat(o.textArea.style.height),D=parseFloat(o.textArea.style.width),E=parseFloat(o.textArea.style.height),R={x:I-D/2,y:A-E/2},L=Math.cos(i.rotatedAngle),z=Math.sin(i.rotatedAngle),M={x:L*(I-R.x)-z*(A-R.y)+R.x,y:z*(I-R.x)+L*(A-R.y)+R.y};if(M.x>o.img.destLeft&&M.x<o.img.destLeft+o.img.destWidth&&M.y>o.img.destTop&&M.y+parseFloat(o.textArea.style.fontSize)<o.img.destTop+o.img.destHeight)o.textArea.style.width=o.textArea.style.width;else for(var B=0,H=parseFloat(o.textArea.style.width);;)if(B++,(M={x:L*((I=P+(D-=1))-(R={x:I-D/2,y:A-E/2}).x)-z*(A-R.y)+R.x,y:z*(I-R.x)+L*(A-R.y)+R.y}).x>o.img.destLeft&&M.x<o.img.destLeft+o.img.destWidth&&M.y>o.img.destTop&&M.y+parseFloat(o.textArea.style.fontSize)<o.img.destTop+o.img.destHeight||B===H){o.textArea.style.width=D+"px";break}}o.notify("selection",{prop:"clearUpperCanvas",onPropertyChange:!1})},e.prototype.setTextBoxWidth=function(e){var t=this.parent;if(0!==t.activeObj.rotatedAngle)return t.textArea.style.whiteSpace="nowrap",t.textArea.style.textOverflow="ellipsis",void(t.textArea.style.display="inline-block");t.textArea.style.whiteSpace="",t.textArea.style.textOverflow="","inline-block"===t.textArea.style.display&&(t.textArea.style.display="block");var i=this.getMaxText(!0);"block"===t.textArea.style.display||"inline-block"===t.textArea.style.display?this.updateFontStyles(!0):this.updateFontStyles();var o=this.upperContext.measureText(i).width+parseFloat(t.textArea.style.fontSize)/2,r=e?this.upperContext.measureText(String.fromCharCode(e.which)).width:0,n=(0,l.extend)({},t.activeObj,{},!0),a="",s=this.getRotDegOfShape(n);if(a=n.shapeFlip!==t.transform.currFlipState?"":t.transform.currFlipState,e&&parseFloat(t.textArea.style.width)<o+r||(0,l.isNullOrUndefined)(e))if(0===s)"horizontal"===a.toLowerCase()?parseFloat(t.textArea.style.left)-t.img.destLeft-o-r>0&&(t.textArea.style.width=o+r+"px"):t.img.destWidth-(parseFloat(t.textArea.style.left)-t.img.destLeft)>o+r&&(t.textArea.style.width=o+r+"px");else if(90===s)"vertical"===a.toLowerCase()?parseFloat(t.textArea.style.top)-t.img.destTop-o-r>0&&(t.textArea.style.width=o+r+"px"):t.img.destHeight-(parseFloat(t.textArea.style.top)-t.img.destTop)>o+r&&(t.textArea.style.width=o+r+"px");else if(180===s){var p=parseFloat(t.textArea.style.left),d=t.img.destLeft;if("horizontal"===a.toLowerCase())t.img.destWidth-(p-d)>o+r&&(t.textArea.style.width=o+r+"px");else p-d-o-r>0&&(t.textArea.style.width=o+r+"px")}else if(270===s){var h=parseFloat(t.textArea.style.top),c=t.img.destTop;if("vertical"===a.toLowerCase())t.img.destHeight-(h-c)>o+r&&(t.textArea.style.width=o+r+"px");else h-c-o-r>0&&(t.textArea.style.width=o+r+"px")}},e.prototype.setTextBoxHeight=function(){var e,t=this.parent,i=(0,l.extend)({},t.activeObj,{},!0),o="",r=this.getRotDegOfShape(i);switch(o=i.textFlip===t.transform.currFlipState?"":""===i.textFlip?t.transform.currFlipState:i.textFlip,r){case 0:"vertical"===o.toLowerCase()?t.textArea.style.maxHeight=t.img.destHeight-(t.img.destHeight-parseFloat(t.textArea.style.top))+"px":(e=parseFloat(t.textArea.style.top)-t.img.destTop,t.textArea.style.maxHeight=t.img.destHeight-e+"px");break;case 90:"horizontal"===o.toLowerCase()?t.textArea.style.maxHeight=t.img.destWidth-(parseFloat(t.textArea.style.left)-t.img.destLeft)+"px":t.textArea.style.maxHeight=parseFloat(t.textArea.style.left)-t.img.destLeft+"px";break;case 180:"vertical"===o.toLowerCase()?(e=parseFloat(t.textArea.style.top)-t.img.destTop,t.textArea.style.maxHeight=t.img.destHeight-e+"px"):t.textArea.style.maxHeight=parseFloat(t.textArea.style.top)-t.img.destTop+"px";break;case 270:"horizontal"===o.toLowerCase()?t.textArea.style.maxHeight=parseFloat(t.textArea.style.left)-t.img.destLeft+"px":t.textArea.style.maxHeight=t.img.destWidth-(parseFloat(t.textArea.style.left)-t.img.destLeft)+"px"}},e.prototype.updatePathRatio=function(e){for(var t=this.parent,i=0,o=e.pointColl.length;i<o;i++){var r=e.pointColl[i];r.ratioX=(r.x-t.img.destLeft)/t.img.destWidth,r.ratioY=(r.y-t.img.destTop)/t.img.destHeight}},e.prototype.stopPathDrawing=function(e,t){var i=this.parent;if("path"===i.activeObj.shape){var o={shape:null};if(i.notify("selection",{prop:"getCurrentDrawingShape",value:{obj:o}}),"path"===o.shape){var r=(0,l.extend)({},i.cropObj,{},!0),n={currObj:{}};i.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:n}});var a=n.currObj;a.objColl=(0,l.extend)([],i.objColl,[],!0),a.pointColl=(0,l.extend)([],i.pointColl,[],!0),a.afterCropActions=(0,l.extend)([],i.afterCropActions,[],!0);var s={selPointColl:null};if(i.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:s}}),a.selPointColl=(0,l.extend)([],s.selPointColl,[],!0),i.notify("selection",{prop:"setCurrentDrawingShape",value:{value:""}}),i.currObjType.isDragging=!1,e&&"touchstart"!==e.type&&(0,l.isNullOrUndefined)(t)&&i.activeObj.pointColl.pop(),this.updatePathRatio(i.activeObj),(0,l.isNullOrUndefined)(i.activeObj.imageRatio)&&i.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),i.objColl.push(i.activeObj),i.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:a,previousObjColl:a.objColl,previousPointColl:a.pointColl,previousSelPointColl:a.selPointColl,previousCropObj:r,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),i.objColl.pop(),e&&(i.notify("selection",{prop:"mouseUpEventHandler",value:{e}}),this.lowerContext.clearRect(0,0,i.lowerCanvas.width,i.lowerCanvas.height),i.notify("draw",{prop:"redrawImgWithObj",onPropertyChange:!1}),i.objColl.length>0)){var p=i.activeObj.activePoint,d=i.objColl[i.objColl.length-1].activePoint;Math.floor(p.startX)===Math.floor(d.startX)&&Math.floor(p.startY)===Math.floor(d.startY)&&Math.floor(p.endX)===Math.floor(d.endX)&&Math.floor(p.endY)===Math.floor(d.endY)&&this.refreshActiveObj()}if(i.notify("draw",{prop:"setNewPath",value:{bool:!0}}),i.objColl[i.objColl.length-1]){var h=i.drawingShape;i.notify("selection",{prop:"setCurrentDrawingShape",value:{value:""}}),i.noRedact=!0,i.selectShape(i.objColl[i.objColl.length-1].currIndex),i.notify("selection",{prop:"setCurrentDrawingShape",value:{value:"path"}}),i.drawingShape=h}i.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:null}});var c={shapeSettingsObj:{}};i.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:c}});var u=c.shapeSettingsObj,v={cancel:!1,action:"draw-end",previousShapeSettings:u},g={cancel:!1,action:"move",previousShapeSettings:u};i.notify("selection",{prop:"triggerShapeChange",onPropertyChange:!1,value:{shapeResizingArgs:v,shapeMovingArgs:g,type:"mouse-up"}}),i.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1})}}},e.prototype.findTextTarget=function(e){var t=this.parent;if(e){if("text"!==t.activeObj.shape){if("path"===t.activeObj.shape)return void this.stopPathDrawing(e,null);if("dblclick"!==e.type)return;t.notify("selection",{prop:"setPanDown",onPropertyChange:!1,value:{panDown:null}});var i=(0,l.extend)({},t.activeObj,{},!0),o=(0,l.extend)([],t.objColl,[],!0),r={bool:null};if(t.notify("selection",{prop:"findTargetObj",onPropertyChange:!1,value:{x:e.clientX,y:e.clientY,isCrop:!1,obj:r}}),t.objColl=o,!r.bool||"text"!==t.activeObj.shape)return void(t.activeObj=(0,l.extend)({},i,{},!0))}var n,a;if("dblclick"===e.type?(n=e.clientX,a=e.clientY):"touchstart"===e.type&&(n=e.touches[0].clientX,a=e.touches[0].clientY,t.notify("selection",{prop:"setTouchEndPoint",onPropertyChange:!1,value:{x:e.touches[0].clientX,y:e.touches[0].clientY}})),t.notify("toolbar",{prop:"setPreventZoomBtn",onPropertyChange:!1,value:{isPrevent:!0}}),t.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"text",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}),t.notify("toolbar",{prop:"setPreventZoomBtn",onPropertyChange:!1,value:{isPrevent:!1}}),t.notify("toolbar",{prop:"update-toolbar-items",onPropertyChange:!1}),(0,l.isNullOrUndefined)(n)||(0,l.isNullOrUndefined)(a))if("block"!==t.textArea.style.display&&"inline-block"!==t.textArea.style.display||""===this.selectedText()||"mousedown"!==e.type)"none"===t.textArea.style.display&&(t.textArea.style.display="block");else{h=t.textArea.value;t.textArea.value+="a",t.textArea.value=h}else{var s=t.lowerCanvas.getBoundingClientRect();n-=s.left,a-=s.top;var p="",d=this.getRotDegOfShape(t.activeObj);p=""===t.activeObj.textFlip?t.activeObj.textFlip===t.transform.currFlipState?"":t.transform.currFlipState:t.activeObj.textFlip===t.transform.currFlipState?"":""===t.transform.currFlipState?t.activeObj.textFlip:t.transform.currFlipState;var h=void 0;if("none"===t.textArea.style.display){h=(0,l.extend)({},t.activeObj,{},!0);for(var c=0;c<t.objColl.length;c++)JSON.stringify(t.activeObj)===JSON.stringify(t.objColl[c])&&t.objColl.splice(c,1);this.refreshActiveObj(),this.upperContext.clearRect(0,0,t.upperCanvas.width,t.upperCanvas.height),this.lowerContext.clearRect(0,0,t.upperCanvas.width,t.upperCanvas.height),t.notify("draw",{prop:"redrawImgWithObj",onPropertyChange:!1}),t.notify("draw",{prop:"redrawDownScale"}),t.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),t.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.upperContext}}),(t.currSelectionPoint&&"crop-circle"===t.currSelectionPoint.shape||t.isCircleCrop)&&t.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}}),t.activeObj=h,this.updateFontStyles();var u=(0,l.extend)({},t.activeObj,{},!0),v=u.topLeftCircle.radius,g=u.activePoint,f=g.startX,m=g.startY,b=g.endX,y=g.endY,C={x:f+g.width/2,y:m+g.height/2},x=Math.cos(u.rotatedAngle),w=Math.sin(u.rotatedAngle),P={x:x*(f-C.x)-w*(m-C.y)+C.x,y:w*(f-C.x)+x*(m-C.y)+C.y},S={x:x*(b-C.x)-w*(m-C.y)+C.x,y:w*(b-C.x)+x*(m-C.y)+C.y},j={x:x*(f-C.x)-w*(y-C.y)+C.x,y:w*(f-C.x)+x*(y-C.y)+C.y},O={x:x*(b-C.x)-w*(y-C.y)+C.x,y:w*(b-C.x)+x*(y-C.y)+C.y};r={position:null,x:n,y:a,x1:P.x,y1:P.y,x2:S.x,y2:S.y,x3:j.x,y3:j.y,x4:O.x,y4:O.y};if(t.notify("draw",{prop:"checkPointPosition",onPropertyChange:!1,value:{obj:r}}),0!==u.rotatedAngle&&("inside"===r.position||"on"===r.position)||0===u.rotatedAngle&&n>=u.activePoint.startX-2*v&&n<=u.activePoint.endX+2*v&&a>=u.activePoint.startY-2*v&&a<=u.activePoint.endY+2*v){var T;if(this.upperContext.clearRect(0,0,t.upperCanvas.width,t.upperCanvas.height),4===u.flipObjColl.length&&(u.flipObjColl=[],p="",u.shapeFlip=""),""===p&&u.flipObjColl.length>1&&(p=u.flipObjColl[u.flipObjColl.length-1]),u.flipObjColl.length<=1)n=(T=this.setTextBoxPos(u,d,p,n,a)).x,a=T.y;else n=(T=this.setTextBoxPoints(u,d,p,n,a)).x,a=T.y;if(0!==t.activeObj.rotatedAngle){var k=this.getTextBoxPosition(t.activeObj);n=k.x,a=k.y,n=(k=this.setFlipState(n,a,t.activeObj)).x,a=k.y}this.renderTextArea(n,a,u)}else this.applyActObj()}}}},e.prototype.getTextBoxPosition=function(e,t){var i={x:0,y:0},o=e.activePoint,r=o.startX,n=o.startY,a=o.endX,s=o.endY,l=r+o.width/2,p=n+o.height/2,d=Math.cos(e.rotatedAngle),h=Math.sin(e.rotatedAngle),c={x:d*(r-l)-h*(n-p)+l,y:h*(r-l)+d*(n-p)+p},u={x:d*(a-l)-h*(n-p)+l,y:h*(a-l)+d*(n-p)+p},v={x:d*(r-l)-h*(s-p)+l,y:h*(r-l)+d*(s-p)+p},g={x:d*(a-l)-h*(s-p)+l,y:h*(a-l)+d*(s-p)+p},f=this.getRotDegOfShape(e);return 0===f||360===f?i={x:c.x,y:c.y}:90===f||-270===f?i={x:u.x,y:u.y}:180===f||-180===f?i={x:g.x,y:g.y}:270!==f&&-90!==f||(i={x:v.x,y:v.y}),t&&(t.x=i.x,t.y=i.y),i},e.prototype.setFlipState=function(e,t,i,o){var r=this.parent,n={panRegion:""},a=r.lowerCanvas,s=a.clientWidth,l=a.clientHeight,p={x:0,y:0};return r.notify("crop",{prop:"getCurrFlipState",onPropertyChange:!1,value:{panObj:n}}),""!==n.panRegion&&("horizontal"===n.panRegion?(p.x=s-s/2,e=p.x-e+p.x):"vertical"===n.panRegion?(p.y=l-l/2,t=p.y-t+p.y):(e=(p={x:s-s/2,y:l-l/2}).x-e+p.x,t=p.y-t+p.y)),o&&(o.x=e,o.y=t),{x:e,y:t}},e.prototype.fileChanged=function(e){var t=e.target.files[0],i=t.name&&t.name.split(".").pop().toLowerCase();if(i&&-1===["jpg","jpeg","png","svg","webp","bmp"].indexOf(i))this.refreshActiveObj();else{var o=window.URL.createObjectURL(e.target.files[0]);this.onLoadImgShape(null,null,null,null,o.toString(),!0),this.parent.element.querySelector("#"+this.parent.element.id+"_fileUpload").value=""}},e.prototype.onLoadImgShape=function(e,t,i,o,r,n,a,s,l,p){var d=this,h=this.parent;"string"==typeof r?this.shapeImg.src=r:(h.inMemoryCanvas.width=r.width,h.inMemoryCanvas.height=r.height,h.inMemoryCanvas.getContext("2d").putImageData(r,0,0),this.shapeImg.src=h.inMemoryCanvas.toDataURL()),this.prevObjColl(),h.activeObj.shape="image",this.initShapeProps(),this.shapeImg.onload=function(){d.upperContext.drawImage(d.shapeImg,0,0,d.shapeImg.width,d.shapeImg.height),d.updateImgCanvas(n,e,t,i,o,a,s,l,p)}},e.prototype.updateImgCanvas=function(e,t,i,o,r,n,a,s,l){var p=this.parent;p.activeObj.imageElement=this.shapeImg,p.activeObj.imageCanvas=p.createElement("canvas");var d={width:0,height:0};if(p.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:this.shapeImg.width,height:this.shapeImg.height,obj:d,isImgShape:null}}),o&&r)if(a){var h={ratio:null};p.notify("selection",{prop:"findImageRatio",onPropertyChange:!1,value:{width:this.shapeImg.width,height:this.shapeImg.height,obj:h}}),d=this.resizeImage(o,h.ratio)}else d={width:o,height:r};if(this.updateObj(d,t,i),p.notify("draw",{prop:"downScaleImgCanvas",onPropertyChange:!1,value:{ctx:p.activeObj.imageCanvas.getContext("2d"),isImgAnnotation:!0,isHFlip:null,isVFlip:null}}),p.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:this.shapeImg.width,height:this.shapeImg.height,obj:d,isImgShape:!0}}),o&&r)if(a){var c={ratio:null};p.notify("selection",{prop:"findImageRatio",onPropertyChange:!1,value:{width:this.shapeImg.width,height:this.shapeImg.height,obj:c}}),d=this.resizeImage(o,c.ratio)}else d={width:o,height:r};null!=s&&(p.activeObj.opacity=s),this.updateObj(d,t,i),p.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate"}}),this.shapeImg=null,n&&(p.activeObj.rotatedAngle=n*(Math.PI/180),p.notify("selection",{prop:"updPtCollForShpRot",onPropertyChange:!1,value:{obj:p.activeObj}}));var u={shapeSettingsObj:{}};p.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:u}});var v=u.shapeSettingsObj,g={cancel:!1,action:"insert",previousShapeSettings:v,currentShapeSettings:v};p.trigger("shapeChanging",g),p.editCompleteArgs=g,e=e||l,this.drawShapeImageEvent(g,e),p.isPublicMethod&&!l?p.notify("undo-redo",{prop:"updateUndoRedo",onPropertyChange:!1}):p.isPublicMethod||p.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1}),p.isPublicMethod=!1},e.prototype.updateObj=function(e,t,i){var o=this.parent;o.activeObj.activePoint.width=e.width,o.activeObj.activePoint.height=e.height,o.activeObj.activePoint.startX=t||o.lowerCanvas.width/2-e.width/2,o.activeObj.activePoint.startY=i||o.lowerCanvas.height/2-e.height/2,o.activeObj.activePoint.endX=o.activeObj.activePoint.startX+e.width,o.activeObj.activePoint.endY=o.activeObj.activePoint.startY+e.height},e.prototype.resizeImage=function(e,t){var i=t.split(":"),o=parseInt(i[0],10),r=parseInt(i[1],10);return{width:e,height:Math.round(e*r/o)}},e.prototype.setTextBoxPos=function(e,t,i,o,r){var n={x:o,y:r},a=e.activePoint,s=a.startX,l=a.startY,p=a.endX,d=a.endY;switch(i=i.toLowerCase(),t){case 0:"horizontal"===i?(n.x=p,n.y=l):"vertical"===i?(n.x=s,n.y=d):(n.x=s,n.y=l);break;case 90:"horizontal"===i?(n.x=s,n.y=l):"vertical"===i?(n.x=p,n.y=d):(n.x=p,n.y=l);break;case 180:"horizontal"===i?(n.x=s,n.y=d):"vertical"===i?(n.x=p,n.y=l):(n.x=p,n.y=d);break;case 270:"horizontal"===i?(n.x=p,n.y=d):"vertical"===i?(n.x=s,n.y=l):(n.x=s,n.y=d)}return n},e.prototype.setTextBoxPoints=function(e,t,i,o,r){var n={x:o,y:r},a=e.activePoint,s=a.startX,l=a.startY,p=a.endX,d=a.endY;switch(i=i.toLowerCase(),t){case 0:e.flipObjColl[0]&&"horizontal"===e.flipObjColl[0].toLowerCase()?"horizontal"===i?(n.x=s,n.y=l):"vertical"===i&&(n.x=p,n.y=d):"horizontal"===i?(n.x=p,n.y=d):"vertical"===i&&(n.x=p,n.y=l);break;case 90:e.flipObjColl[0]&&"horizontal"===e.flipObjColl[0].toLowerCase()?"horizontal"===i?(n.x=p,n.y=d):"vertical"===i&&(n.x=s,n.y=d):"horizontal"===i?(n.x=s,n.y=d):"vertical"===i&&(n.x=s,n.y=l);break;case 180:e.flipObjColl[0]&&"horizontal"===e.flipObjColl[0].toLowerCase()?("horizontal"===i||"vertical"===i)&&(n.x=s,n.y=l):"horizontal"===i?(n.x=s,n.y=l):"vertical"===i&&(n.x=s,n.y=d);break;case 270:e.flipObjColl[0]&&"horizontal"===e.flipObjColl[0].toLowerCase()?"horizontal"===i?(n.x=s,n.y=l):"vertical"===i&&(n.x=p,n.y=l):"horizontal"===i?(n.x=p,n.y=l):"vertical"===i&&(n.x=p,n.y=d)}return n},e.prototype.selectedText=function(){var e=this.parent,t=e.textArea.selectionStart,i=e.textArea.selectionEnd;return e.textArea.value.substring(t,i)},e.prototype.panObjColl=function(e,t,i){var o=this.parent;if(o.objColl.length>0){for(var r=0,n=o.objColl.length;r<n;r++){var a=o.objColl[r];if(""===i){if(a.activePoint.startX+=e,a.activePoint.endX+=e,a.rotationCirclePointColl&&(a.rotationCirclePointColl.x+=e),"path"===a.shape)for(var s=0,l=a.pointColl.length;s<l;s++)a.pointColl[s].x+=e;if(a.activePoint.startY+=t,a.activePoint.endY+=t,a.rotationCirclePointColl&&(a.rotationCirclePointColl.y+=t),"path"===a.shape)for(s=0;s<a.pointColl.length;s++)a.pointColl[s].y+=t}if(a=this.updateWidthHeight(a),o.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:a.activePoint,obj:a}}),"line"===a.shape||"arrow"===a.shape){a.pointColl=this.getLinePoints(a.activePoint.startX,a.activePoint.startY,a.activePoint.endX,a.activePoint.endY);for(var p=0,d=a.pointColl.length;p<d;p++)a.pointColl[p].ratioX=(a.pointColl[p].x-o.img.destLeft)/o.img.destWidth,a.pointColl[p].ratioY=(a.pointColl[p].y-o.img.destTop)/o.img.destHeight}this.refreshActiveObj()}var h=this.lowerContext.filter;this.lowerContext.filter="none",this.iterateObjColl(),this.lowerContext.filter=h,this.refreshActiveObj(),o.notify("draw",{prop:"applyFrame",value:{ctx:this.lowerContext,frame:o.frameObj.type,preventImg:!0}})}},e.prototype.updateFontStyles=function(e){var t=this.parent;this.upperContext.strokeStyle=t.activeObj.strokeSettings.strokeColor,this.upperContext.fillStyle=t.activeObj.strokeSettings.strokeColor;var i="";t.activeObj.textSettings.bold&&(i="bold "),t.activeObj.textSettings.italic&&(i="italic "),t.activeObj.textSettings.bold&&t.activeObj.textSettings.italic&&(i="italic bold ");var o=e?parseFloat(t.textArea.style.fontSize):t.activeObj.textSettings.fontSize,r="block"===t.textArea.style.display||"inline-block"===t.textArea.style.display?t.textArea.style.fontFamily:t.activeObj.textSettings.fontFamily;this.upperContext.font=i+o+"px "+r},e.prototype.applyFontStyle=function(e){var t=this.parent,i={shapeSettingsObj:{}};t.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:i}});var o=i.shapeSettingsObj,r=!1,n=t.objColl.length;this.pushActItemIntoObj(),n!==t.objColl.length&&(r=!0);var a=(0,l.extend)([],t.objColl,[],!0);switch(r&&t.objColl.pop(),"none"===t.textArea.style.display?this.updateFontRatio(t.activeObj):this.updateFontRatio(t.activeObj,!0),e){case"default":this.updateFontStyle(e,a,"normal","normal",!1,!1);break;case"bold":this.updateFontStyle(e,a,"bold","normal",!1,!1);break;case"italic":this.updateFontStyle(e,a,"normal","italic",!1,!1);break;case"bolditalic":this.updateFontStyle(e,a,"bold","italic",!1,!1);break;case"underline":this.updateFontStyle(e,a,"normal","normal",!0,!1);break;case"boldunderline":this.updateFontStyle(e,a,"bold","normal",!0,!1);break;case"italicunderline":this.updateFontStyle(e,a,"normal","italic",!0,!1);break;case"bolditalicunderline":this.updateFontStyle(e,a,"bold","italic",!0,!1);break;case"strikethrough":this.updateFontStyle(e,a,"normal","normal",!1,!0);break;case"boldstrikethrough":this.updateFontStyle(e,a,"bold","normal",!1,!0);break;case"italicstrikethrough":this.updateFontStyle(e,a,"normal","italic",!1,!0);break;case"underlinestrikethrough":this.updateFontStyle(e,a,"normal","normal",!0,!0);break;case"bolditalicstrikethrough":this.updateFontStyle(e,a,"bold","italic",!1,!0);break;case"boldunderlinestrikethrough":this.updateFontStyle(e,a,"bold","normal",!0,!0);break;case"italicunderlinestrikethrough":this.updateFontStyle(e,a,"normal","italic",!0,!0);break;case"bolditalicunderlinestrikethrough":this.updateFontStyle(e,a,"bold","italic",!0,!0)}var s={action:"font-style",currentShapeSettings:(0,l.extend)({},o,{},!0)};s.currentShapeSettings.fontStyle=this.getFontStyleArray(e),t.trigger("shapeChange",s),t.editCompleteArgs=s},e.prototype.getFontStyleArray=function(e){var t=[],i=e.toLowerCase();return i.indexOf("bold")>-1&&t.push("bold"),i.indexOf("italic")>-1&&t.push("italic"),i.indexOf("underline")>-1&&t.push("underline"),i.indexOf("strikethrough")>-1&&t.push("strikethrough"),t},e.prototype.updateFontStyle=function(e,t,i,o,r,n){var a=this.parent,s=a.textArea.style;if("block"===s.display||"inline-block"===s.display){s.fontWeight="bold"===i?"bold":"normal",s.fontStyle="italic"===o?"italic":"normal",s.textDecoration=r&&n?"underline line-through":n?"line-through":r?"underline":"none";var l=["bold"===s.fontWeight?"bold":"","italic"===s.fontStyle?"italic":"","string"==typeof s.textDecoration&&s.textDecoration.indexOf("underline")>-1?"underline":"","string"==typeof s.textDecoration&&s.textDecoration.indexOf("line-through")>-1?"strikethrough":""].filter(Boolean).join(""),p={"":"default",bold:"bold",italic:"italic",underline:"underline",strikethrough:"strikethrough",bolditalic:"bolditalic",boldunderline:"boldunderline",boldstrikethrough:"boldstrikethrough",italicunderline:"italicunderline",italicstrikethrough:"italicstrikethrough",underlinestrikethrough:"underlinestrikethrough",bolditalicunderline:"bolditalicunderline",bolditalicstrikethrough:"bolditalicstrikethrough",boldunderlinestrikethrough:"boldunderlinestrikethrough",italicunderlinestrikethrough:"italicunderlinestrikethrough",bolditalicunderlinestrikethrough:"bolditalicunderlinestrikethrough"},d=l in p?p[l]:"default",h=this.getTextAreaWidth(d);s.width=h+"px",this.updateObjColl(e,t)}else this.textSettings.bold=a.activeObj.textSettings.bold="normal"!==i,this.textSettings.italic=a.activeObj.textSettings.italic="normal"!==o,this.textSettings.underline=a.activeObj.textSettings.underline=!!r,this.textSettings.strikethrough=a.activeObj.textSettings.strikethrough=!!n,0===a.activeObj.activePoint.width&&0===a.activeObj.activePoint.height||this.redrawText(),a.notify("undo-redo",{prop:"updateUrObj",onPropertyChange:!1,value:{objColl:t}})},e.prototype.updateArrowRatio=function(e){var t,i,o={arrowDimension:null};this.parent.notify("draw",{prop:"getArrowDimension",onPropertyChange:!1,value:{obj:o}}),t=Math.abs(e.activePoint.width)>Math.abs(e.activePoint.height)?Math.abs(e.activePoint.width):Math.abs(e.activePoint.height);for(var r=0,n=["bar","arrow","arrowSolid","circle","square"];r<n.length;r++){i=n[r];var a=t/o.arrowDimension[i].width,s=t/o.arrowDimension[i].height;o.arrowDimension[i].ratioX=a,o.arrowDimension[i].ratioY=s}},e.prototype.updateArrowSize=function(e){var t,i,o={arrowDimension:null};this.parent.notify("draw",{prop:"getArrowDimension",onPropertyChange:!1,value:{obj:o}}),t=Math.abs(e.activePoint.width)>Math.abs(e.activePoint.height)?Math.abs(e.activePoint.width):Math.abs(e.activePoint.height);for(var r=0,n=["bar","arrow","arrowSolid","circle","square"];r<n.length;r++){i=n[r];var a=o.arrowDimension[i].ratioX,s=o.arrowDimension[i].ratioY;o.arrowDimension[i].width=t/a,o.arrowDimension[i].height=t/s}},e.prototype.updateFontRatio=function(e,t){var i=this.parent,o=this.getMaxText(t),r=this.upperContext.measureText(o).width+.5*i.activeObj.textSettings.fontSize,n=i.activeObj.textSettings.fontSize,a=this.getRotDegOfShape(e);if((0,l.isNullOrUndefined)(t))0===a||180===Math.abs(a)?e.textSettings.fontRatio=r/e.textSettings.fontSize:e.textSettings.fontRatio=n/e.textSettings.fontSize;else if(t){var s={bool:!1};i.notify("selection",{prop:"getTransformedShape",onPropertyChange:!1,value:{obj:s}}),s.bool&&0!==a&&180!==Math.abs(a)?e.textSettings.fontRatio=n/parseFloat(i.textArea.style.fontSize):e.textSettings.fontRatio=r/parseFloat(i.textArea.style.fontSize)}},e.prototype.updateFontSize=function(e){var t=this.getRotDegOfShape(e,!0);0===t||180===Math.abs(t)?e.textSettings.fontSize=e.activePoint.width/e.textSettings.fontRatio:e.textSettings.fontSize=e.activePoint.height/e.textSettings.fontRatio},e.prototype.updateObjColl=function(e,t){var i=this.parent,o=(0,l.extend)({},i.cropObj,{},!0),r={currObj:{}};i.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:r}});var n=r.currObj;n.objColl=t,n.pointColl=(0,l.extend)([],i.pointColl,[],!0),n.afterCropActions=(0,l.extend)([],i.afterCropActions,[],!0);var a={selPointColl:null};i.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:a}}),n.selPointColl=(0,l.extend)([],a.selPointColl,[],!0);var s=i.activeObj.textSettings,p=s.bold,d=s.italic,h=s.underline,c=s.strikethrough;switch(e){case"default":s.bold=!1,s.italic=!1,s.underline=!1,s.strikethrough=!1;break;case"bold":s.bold=!0,s.italic=!1,s.underline=!1,s.strikethrough=!1;break;case"italic":s.bold=!1,s.italic=!0,s.underline=!1,s.strikethrough=!1;break;case"bolditalic":s.bold=!0,s.italic=!0,s.underline=!1,s.strikethrough=!1;break;case"underline":s.bold=!1,s.italic=!1,s.underline=!0,s.strikethrough=!1;break;case"boldunderline":s.bold=!0,s.italic=!1,s.underline=!0,s.strikethrough=!1;break;case"italicunderline":s.bold=!1,s.italic=!0,s.underline=!0,s.strikethrough=!1;break;case"bolditalicunderline":s.bold=!0,s.italic=!0,s.underline=!0,s.strikethrough=!1;break;case"strikethrough":s.bold=!1,s.italic=!1,s.underline=!1,s.strikethrough=!0;break;case"boldstrikethrough":s.bold=!0,s.italic=!1,s.underline=!1,s.strikethrough=!0;break;case"italicstrikethrough":s.bold=!1,s.italic=!0,s.underline=!1,s.strikethrough=!0;break;case"underlinestrikethrough":s.bold=!1,s.italic=!1,s.underline=!0,s.strikethrough=!0;break;case"bolditalicstrikethrough":s.bold=!0,s.italic=!0,s.underline=!1,s.strikethrough=!0;break;case"boldunderlinestrikethrough":s.bold=!0,s.italic=!1,s.underline=!0,s.strikethrough=!0;break;case"italicunderlinestrikethrough":s.bold=!1,s.italic=!0,s.underline=!0,s.strikethrough=!0;break;case"bolditalicunderlinestrikethrough":s.bold=!0,s.italic=!0,s.underline=!0,s.strikethrough=!0}i.objColl.push(i.activeObj),i.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"textAreaCustomization",previousObj:n,previousObjColl:n.objColl,previousPointColl:n.pointColl,previousSelPointColl:n.selPointColl,previousCropObj:o,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),i.objColl.pop(),s.bold=p,s.italic=d,s.underline=h,s.strikethrough=c},e.prototype.pushActItemIntoObj=function(){var e=this.parent;if("none"===e.textArea.style.display)0===e.activeObj.activePoint.width&&0===e.activeObj.activePoint.height||e.objColl.push(e.activeObj);else{var t=(0,l.extend)({},e.activeObj,{},!0);e.notify("selection",{prop:"setTextBoxStylesToActObj",onPropertyChange:!1}),e.objColl.push(e.activeObj),e.activeObj=t}},e.prototype.clearActObj=function(){var e=this.parent;"none"===e.textArea.style.display&&(this.refreshActiveObj(),this.applyActObj(),this.refreshActiveObj(),e.currObjType.isCustomCrop=!1)},e.prototype.refreshActiveObj=function(){var e=this.parent;e.activeObj={},e.activeObj.activePoint={startX:0,startY:0,endX:0,endY:0,width:0,height:0},e.activeObj.triangle=[],e.activeObj.triangleRatio=[],e.activeObj.order=null,e.activeObj.flipObjColl=[],e.activeObj.strokeSettings=this.strokeSettings,e.activeObj.textSettings=this.textSettings,e.activeObj.rotatedAngle=0,e.activeObj.opacity=1,e.activeObj.redactType=this.redactType,e.activeObj.redactBlur=e.tempRedactBlur,e.activeObj.redactPixelate=e.tempRedactPixel},e.prototype.removeDuplicates=function(e){for(var t=0;t<e.length;t++)for(var i=e[t],o=0;o<t;o++)if(e[o].currIndex===i.currIndex){e.splice(t,1),t--;break}},e.prototype.applyActObj=function(e){var t=this.parent,i=!1;if(void 0!==t.activeObj.shape&&"text"===t.activeObj.shape&&""===t.activeObj.keyHistory)this.refreshActiveObj(),this.upperContext.clearRect(0,0,t.upperCanvas.width,t.upperCanvas.height);else{var o=void 0,r=!1;if(void 0!==t.activeObj.shape&&(o=t.activeObj.shape.split("-")),(void 0===o&&t.currObjType.isCustomCrop||void 0!==o&&"crop"===o[0])&&(r=!0),t.activeObj.shape&&!r&&"shape"!==t.activeObj.shape){for(var n=0;n<t.objColl.length;n++)if(JSON.stringify(t.activeObj)===JSON.stringify(t.objColl[n])){i=!0;break}if(!i){(0,l.isNullOrUndefined)(t.activeObj.currIndex)&&(t.activeObj.currIndex=this.getNewShapeId()),(0,l.isNullOrUndefined)(t.activeObj.order)&&(t.activeObj.order=this.getNewOrder()),this.updImgRatioForActObj();var a=t.activeObj.currIndex.split("_"),s=t.objColl.splice(0,parseInt(a[1],10)-1);s.push((0,l.extend)({},t.activeObj,{},!0)),this.removeDuplicates(t.objColl),this.removeDuplicates(s);for(n=0;n<t.objColl.length;n++)for(var p=t.objColl[n],d=0;d<s.length;d++)s[d].currIndex===p.currIndex&&(s.splice(d,1),d--);for(n=0;n<t.objColl.length;n++)s.push(t.objColl[n]);t.objColl=s,s=[],this.refreshActiveObj(),this.lowerContext.clearRect(0,0,t.lowerCanvas.width,t.lowerCanvas.height),t.notify("draw",{prop:"redrawImgWithObj",onPropertyChange:!1}),t.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),t.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.upperContext}}),t.currObjType.shape="",this.refreshActiveObj(),t.isCircleCrop&&t.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}}),t.notify("toolbar",{prop:"destroy-qa-toolbar",onPropertyChange:!1}),(0,l.isNullOrUndefined)(e)&&(t.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}),t.notify("draw",{prop:"setPrevActObj",onPropertyChange:!1,value:{prevActObj:null}}))}}}},e.prototype.getNewShapeId=function(){for(var e=this.parent,t=e.objColl.length+1,i=0;i<e.objColl.length;i++)e.objColl[i].currIndex==="shape_"+t&&(t++,i=-1);return"shape_"+t},e.prototype.getNewOrder=function(){var e=this.parent;this.updateShapeColl();for(var t=e.shapeColl.length+1,i=0;i<e.shapeColl.length;i++)e.shapeColl[i].order===t&&(t++,i=-1);return t},e.prototype.getHighestOrder=function(){var e=this.parent;this.updateShapeColl();for(var t=0,i=0;i<e.shapeColl.length;i++)e.shapeColl[i].order>t&&(t=e.shapeColl[i].order);return t},e.prototype.getLowestOrder=function(){var e=this.parent;this.updateShapeColl();for(var t=1,i=0;i<e.shapeColl.length;i++)e.shapeColl[i].order<t&&(t=e.shapeColl[i].order);return t},e.prototype.alignTextAreaIntoCanvas=function(){var e=this.parent,t=e.textArea.value;e.textArea.value="";for(var i=0,o=t.length;i<o;i++)e.textArea.value+=t[i],e.textArea.style.height="auto",e.textArea.style.height=e.textArea.scrollHeight+"px",this.setTextBoxWidth()},e.prototype.transformTextArea=function(){var e=this.parent;if("text"===e.activeObj.shape){e.textArea.style.transformOrigin="0 0";var t=e.activeObj.rotatedAngle*(180/Math.PI),i="",o=this.getRotDegOfShape(e.activeObj);if(e.activeObj.flipObjColl.length>0)for(var r=0;r<e.activeObj.flipObjColl.length;r++)i+=0!==o&&o%90==0&&180!==o?"horizontal"===e.activeObj.flipObjColl[r].toLowerCase()?"scale(1, -1)":"scale(-1, 1)":"horizontal"===e.activeObj.flipObjColl[r].toLowerCase()?"scale(-1, 1)":"scale(1, -1)",o+=t,("horizontal"===e.activeObj.flipObjColl[r].toLowerCase()||"vertical"===e.activeObj.flipObjColl[r].toLowerCase())&&(e.textArea.style.transform="rotate("+o+"deg)"+i);else o+=t,e.textArea.style.transform="rotate("+o+"deg)"}},e.prototype.getTextAreaWidth=function(e){var t=this.parent,i=t.activeObj.textSettings,o=i.bold,r=i.italic,n=i.underline,a=i.strikethrough;switch(e){case"default":i.bold=!1,i.italic=!1,i.underline=!1,i.strikethrough=!1;break;case"bold":i.bold=!0,i.italic=!1,i.underline=!1,i.strikethrough=!1;break;case"italic":i.bold=!1,i.italic=!0,i.underline=!1,i.strikethrough=!1;break;case"bolditalic":i.bold=!0,i.italic=!0,i.underline=!1,i.strikethrough=!1;break;case"underline":i.bold=!1,i.italic=!1,i.underline=!0,i.strikethrough=!1;break;case"boldunderline":i.bold=!0,i.italic=!1,i.underline=!0,i.strikethrough=!1;break;case"italicunderline":i.bold=!1,i.italic=!0,i.underline=!0,i.strikethrough=!1;break;case"bolditalicunderline":i.bold=!0,i.italic=!0,i.underline=!0,i.strikethrough=!1;break;case"strikethrough":i.bold=!1,i.italic=!1,i.underline=!1,i.strikethrough=!0;break;case"boldstrikethrough":i.bold=!0,i.italic=!1,i.underline=!1,i.strikethrough=!0;break;case"italicstrikethrough":i.bold=!1,i.italic=!0,i.underline=!1,i.strikethrough=!0;break;case"underlinestrikethrough":i.bold=!1,i.italic=!1,i.underline=!0,i.strikethrough=!0;break;case"bolditalicstrikethrough":i.bold=!0,i.italic=!0,i.underline=!1,i.strikethrough=!0;break;case"boldunderlinestrikethrough":i.bold=!0,i.italic=!1,i.underline=!0,i.strikethrough=!0;break;case"italicunderlinestrikethrough":i.bold=!1,i.italic=!0,i.underline=!0,i.strikethrough=!0;break;case"bolditalicunderlinestrikethrough":i.bold=!0,i.italic=!0,i.underline=!0,i.strikethrough=!0}var s,l="none"!==t.textArea.style.display;return this.updateFontStyles(l),s=l?this.upperContext.measureText(t.textArea.value).width+.5*i.fontSize:this.upperContext.measureText(t.activeObj.keyHistory).width+.5*i.fontSize,i.bold=o,i.italic=r,i.underline=n,i.strikethrough=a,s},e.prototype.getRedactObjDetails=function(e){var t=this.parent,i={};switch(i.id=e.currIndex,i.type=t.toPascalCase(e.redactType),i.startX=e.activePoint.startX,i.startY=e.activePoint.startY,i.width=e.activePoint.width,i.height=e.activePoint.height,e.redactType){case"blur":i.blurIntensity=e.redactBlur;break;case"pixelate":i.pixelSize=e.redactPixelate}return i},e.prototype.getObjDetails=function(e){var t=this.parent,i={};i.id=e.currIndex,i.type=t.toPascalCase(e.shape),i.startX=e.activePoint.startX,i.startY=e.activePoint.startY,i.index=e.order;var o={coll:null};switch(e.shape){case"rectangle":i.width=e.activePoint.width,i.height=e.activePoint.height,i.strokeColor=e.strokeSettings.strokeColor,i.fillColor=e.strokeSettings.fillColor,i.strokeWidth=e.strokeSettings.strokeWidth,i.degree=e.rotatedAngle*(180/Math.PI);break;case"ellipse":i.radius=e.activePoint.width/2,i.strokeColor=e.strokeSettings.strokeColor,i.fillColor=e.strokeSettings.fillColor,i.strokeWidth=e.strokeSettings.strokeWidth,i.radiusX=e.activePoint.width/2,i.radiusY=e.activePoint.height/2,i.degree=e.rotatedAngle*(180/Math.PI);break;case"line":case"arrow":if(i.length=e.activePoint.width,i.strokeColor=e.strokeSettings.strokeColor,i.strokeWidth=e.strokeSettings.strokeWidth,i.endX=e.activePoint.endX,i.endY=e.activePoint.endY,"arrow"===e.shape){var r={type:null};t.notify("selection",{prop:"getArrowType",onPropertyChange:!1,value:{type:e.start,obj:r}}),i.arrowHead=r.type,t.notify("selection",{prop:"getArrowType",onPropertyChange:!1,value:{type:e.end,obj:r}}),i.arrowTail=r.type}break;case"text":i.text=e.keyHistory,i.fontSize=e.textSettings.fontSize,i.fontFamily=e.textSettings.fontFamily,i.color=e.strokeSettings.strokeColor,i.strokeColor=e.strokeSettings.outlineColor,i.fillColor=e.strokeSettings.fillColor,i.strokeWidth=e.strokeSettings.outlineWidth,i.fontStyle=[],e.textSettings.bold&&i.fontStyle.push("bold"),e.textSettings.italic&&i.fontStyle.push("italic"),e.textSettings.underline&&i.fontStyle.push("underline"),e.textSettings.strikethrough&&i.fontStyle.push("strikethrough"),i.degree=e.rotatedAngle*(180/Math.PI),t.notify("selection",{prop:"updateTransColl",onPropertyChange:!1,value:{obj:o,object:e}}),i.transformCollection=o.coll;break;case"path":i.strokeColor=e.strokeSettings.strokeColor,i.strokeWidth=e.strokeSettings.strokeWidth,i.points=e.pointColl;break;case"image":i.imageData=e.imageCanvas.toDataURL(),i.degree=e.rotatedAngle*(180/Math.PI),i.width=e.activePoint.width,i.height=e.activePoint.height,i.opacity=e.opacity}return i},e.prototype.getFreehandDrawDetails=function(e){var t=this.parent,i={};return i.id=t.pointColl[e].id,i.type=C.FreehandDraw,i.points=(0,l.extend)([],t.pointColl[e].points),i.strokeColor=t.pointColl[e].strokeColor,i.strokeWidth=t.pointColl[e].strokeWidth,i.index=t.pointColl[e].order,i},e.prototype.getShapeSetting=function(e,t){var i,o=this.parent;if(!o.disabled&&o.isImageLoaded)if("none"!==o.textArea.style.display?o.okBtn(null,!0):this.applyActObj(!0),"shape"===e.split("_")[0]){for(var r,n=0,a=o.objColl.length;n<a;n++)if(o.objColl[n].currIndex===e){r=(0,l.extend)({},o.objColl[n],{},!0);break}i=this.getObjDetails(r)}else"pen"===e.split("_")[0]&&(i=this.getFreehandDrawDetails(parseInt(e.split("_")[1],10)-1));t.shapeDetails=i},e.prototype.getShapeSettings=function(e){var t=this.parent,i=[];if(!t.disabled&&t.isImageLoaded){"none"!==t.textArea.style.display?t.okBtn(null,!0):this.applyActObj(!0);for(var o=0,r=t.objColl.length;o<r;o++){var n=this.getObjDetails(t.objColl[o]);i.push(n)}for(o=0;o<t.freehandCounter;o++){n=this.getFreehandDrawDetails(o);i.push(n)}}e.shapeDetailsColl=i},e.prototype.getRedactSettings=function(e){var t=this.parent,i=[];if(!t.disabled&&t.isImageLoaded){"none"!==t.textArea.style.display?t.okBtn(null,!0):this.applyActObj(!0);for(var o=0,r=t.objColl.length;o<r;o++){var n=this.getRedactObjDetails(t.objColl[o]);i.push(n)}}e.shapeDetailsColl=i},e.prototype.isPointsInRange=function(e,t,i){var o=!1,r=this.parent;!(0,l.isNullOrUndefined)(e)&&!(0,l.isNullOrUndefined)(t)&&e>=r.img.destLeft&&t>=r.img.destTop&&e<=r.img.destLeft+r.img.destWidth&&t<=r.img.destTop+r.img.destHeight&&(o=!0),i.inRange=o},e.prototype.alignRotateFlipColl=function(e,t,i){return e=this.popForDefaultTransformedState(e),e=this.popForDefaultFlipState(e),0===(e=this.popForDefaultRotateState(e)).length&&t&&(this.parent.transform.degree=0,this.parent.transform.currFlipState=""),i.collection=e,e},e.prototype.popForDefaultTransformedState=function(e){for(var t=0,i=0,o=0,r=0,n=0;n<e.length;n++)90===e[n]||"rotateRight"===e[n]?(i=0,o=0,r=0,4===++t&&(e.pop(),e.pop(),e.pop(),e.pop())):-90===e[n]||"rotateLeft"===e[n]?(t=0,o=0,r=0,4===++i&&(e.pop(),e.pop(),e.pop(),e.pop())):"horizontal"===e[n]||"Horizontal"===e[n]||"horizontalflip"===e[n]?(i=0,t=0,r=0,2===++o&&(e.pop(),e.pop())):"vertical"!==e[n]&&"Vertical"!==e[n]&&"verticalflip"!==e[n]||(o=0,i=0,t=0,2===++r&&(e.pop(),e.pop()));return e},e.prototype.popForDefaultFlipState=function(e){for(var t=0,i=e.length-3;t<i;t++){var o="horizontal"===e[t]||"Horizontal"===e[t]||"horizontalFlip"===e[t],r="vertical"===e[t]||"Vertical"===e[t]||"verticalFlip"===e[t],n="horizontal"===e[t+1]||"Horizontal"===e[t+1]||"horizontalFlip"===e[t+1],a="vertical"===e[t+1]||"Vertical"===e[t+1]||"verticalFlip"===e[t+1],s="horizontal"===e[t+2]||"Horizontal"===e[t+2]||"horizontalFlip"===e[t+2],l="vertical"===e[t+2]||"Vertical"===e[t+2]||"verticalFlip"===e[t+2],p="horizontal"===e[t+3]||"Horizontal"===e[t+3]||"horizontalFlip"===e[t+3];(o&&a&&s&&l||r&&n&&l&&p)&&(e.splice(t,4),t-=4)}return e},e.prototype.popForDefaultRotateState=function(e){for(var t=0;t<e.length-1;t++){var i=e[t],o=e[t+1];(90!==i&&"rotateRight"!==i||-90!==o&&"rotateLeft"!==o)&&(-90!==i&&"rotateLeft"!==i||90!==o&&"rotateRight"!==o)||(e.splice(t,2),t-=2)}return e},e.prototype.selectShape=function(e,t){var i=this.parent,o=!1;if(!i.disabled&&i.isImageLoaded)if(this.applyActObj(),"shape"===e.split("_")[0]){for(var r,n=0,a=i.objColl.length;n<a;n++)if(i.objColl[n].currIndex===e){r=(0,l.extend)({},i.objColl[n],{},!0);break}if((0,l.isNullOrUndefined)(r))o=!1;else{o=!0,i.activeObj=r;var s={canvasFilter:null};i.notify("toolbar",{prop:"getCanvasFilter",onPropertyChange:!1,value:{obj:s}}),this.lowerContext.filter=s.canvasFilter,i.notify("selection",{prop:"redrawShape",onPropertyChange:!1,value:{obj:i.activeObj}}),"text"===i.activeObj.shape?i.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"text",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}):"pen"===i.activeObj.shape?i.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"pen",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}):"redact"===i.activeObj.shape?i.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"redact",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}):i.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"shapes",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}),i.notify("toolbar",{prop:"update-toolbar-items",onPropertyChange:!1}),i.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:null}})}}else if("pen"===e.split("_")[0]){s={bool:!1};i.notify("selection",{prop:"getFreehandDrawEditing",onPropertyChange:!1,value:{obj:s}}),s.bool&&i.okBtn(null,!0);var p={isIndex:!1};i.notify("freehand-draw",{prop:"isFHDIdx",value:{index:parseInt(e.split("_")[1],10)-1,obj:p}}),p.isIndex?(o=!0,i.notify("freehand-draw",{prop:"selectFhd",value:{id:e}}),i.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:!0}}),i.notify("toolbar",{prop:"update-toolbar-items",onPropertyChange:!1})):o=!1}t.isSelected=o},e.prototype.deleteShape=function(e){var t=this.parent;if(!t.disabled&&t.isImageLoaded){if(t.activeObj.currIndex&&t.activeObj.currIndex===e)t.notify("selection",{prop:"deleteItem",onPropertyChange:!1});else if(this.applyActObj(),"shape"===e.split("_")[0]){for(var i=0,o=t.objColl.length;i<o;i++)if(t.objColl[i].currIndex===e){t.objColl.splice(i,1);break}}else"pen"===e.split("_")[0]&&t.notify("freehand-draw",{prop:"handle-freehand-draw",value:{id:e}});var r={canvasFilter:null};t.notify("toolbar",{prop:"getCanvasFilter",onPropertyChange:!1,value:{obj:r}}),this.lowerContext.filter=r.canvasFilter,this.lowerContext.clearRect(0,0,t.lowerCanvas.width,t.lowerCanvas.height),t.notify("draw",{prop:"redrawImgWithObj",onPropertyChange:!1}),t.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1}),t.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}})}},e.prototype.getMaxText=function(e,t,i){if((0,l.isNullOrUndefined)(t)&&!(t=e?this.parent.textArea.value:this.parent.activeObj.keyHistory))return t;for(var o,r=t.split("\n"),n=r[0].length,a=r[0],s=1;s<r.length;s++)(o=r[s].length)>n&&(a=r[s],n=o);return i&&(i.maxText=a),a},e.prototype.getLinePoints=function(e,t,i,o){var r,n,a=[];if(e===i){t<o?(r=[e,t],n=[i,o]):(n=[e,t],r=[i,o]);for(var s=this.getSlope(r,n,!0),p=this.getIntercept(r,s),d=r[1];d<=n[1];d++){var h=s*d+p;a.push({x:h,y:d})}}else{e<i?(r=[e,t],n=[i,o]):(n=[e,t],r=[i,o]);for(s=this.getSlope(r,n,!1),p=this.getIntercept(r,s),h=r[0];h<=n[0];h++){d=s*h+p;a.push({x:h,y:d})}}if(Math.floor(e)===Math.floor(i)||a.length<10&&(o-t>10||t-o>10)){a=[];for(var c=Math.min(t,o),u=0;u<Math.abs(Math.floor(o)-Math.floor(t));u++)a.push({x:e,y:c+u});if(a.length>1){var v=void 0;v=(0,l.isNullOrUndefined)(a[a.length-2])?{x:0,y:0}:a[a.length-2];var g=a[a.length-1].x-v.x,f=a[a.length-1].y-v.y;a.push({x:a[a.length-1].x+g/2,y:a[a.length-1].y+f/2})}}else if(Math.floor(t)===Math.floor(o)||a.length<10&&(i-e>10||e-i>10)){a=[];for(var m=Math.min(e,i),b=0;b<Math.abs(Math.floor(i)-Math.floor(e));b++)a.push({x:m+b,y:t});if(a.length>1){v=void 0;v=(0,l.isNullOrUndefined)(a[a.length-2])?{x:0,y:0}:a[a.length-2];g=a[a.length-1].x-v.x,f=a[a.length-1].y-v.y;a.push({x:a[a.length-1].x+g/2,y:a[a.length-1].y+f/2})}}return a},e.prototype.getSlope=function(e,t,i){var o;if(i){if(e[1]===t[1])return null;o=(t[0]-e[0])/(t[1]-e[1])}else{if(e[0]===t[0])return null;o=(t[1]-e[1])/(t[0]-e[0])}return o},e.prototype.getIntercept=function(e,t){return null===t?e[0]:e[1]-t*e[0]},e.prototype.setPointCollForShapeRotation=function(e){var t=this.parent,i=e.activePoint,o=i.startX,r=i.startY,n=i.endX,a=i.endY,s=o+i.width/2,l=r+i.height/2,p=Math.cos(e.rotatedAngle),d=Math.sin(e.rotatedAngle),h={x:p*(o-s)-d*(r-l)+s,y:d*(o-s)+p*(r-l)+l},c={x:p*(n-s)-d*(r-l)+s,y:d*(n-s)+p*(r-l)+l},u={x:p*(o-s)-d*(a-l)+s,y:d*(o-s)+p*(a-l)+l},v={x:p*(n-s)-d*(a-l)+s,y:d*(n-s)+p*(a-l)+l};e.horTopLinePointColl=this.getLinePoints(h.x,h.y,c.x,c.y),e.horTopLinePointColl=this.getLinePoints(h.x,h.y,c.x,c.y),e.horBottomLinePointColl=this.getLinePoints(u.x,u.y,v.x,v.y),e.verLeftLinePointColl=this.getLinePoints(h.x,h.y,u.x,u.y),e.verRightLinePointColl=this.getLinePoints(c.x,c.y,v.x,v.y),e.verLeftLinePointColl.reverse(),e.verRightLinePointColl.reverse();for(var g=0;g<e.horTopLinePointColl.length;g++)e.horTopLinePointColl[g].ratioX=(e.horTopLinePointColl[g].x-this.parent.img.destLeft)/this.parent.img.destWidth,e.horTopLinePointColl[g].ratioY=(e.horTopLinePointColl[g].y-this.parent.img.destTop)/this.parent.img.destHeight;for(g=0;g<e.horBottomLinePointColl.length;g++)e.horBottomLinePointColl[g].ratioX=(e.horBottomLinePointColl[g].x-this.parent.img.destLeft)/this.parent.img.destWidth,e.horBottomLinePointColl[g].ratioY=(e.horBottomLinePointColl[g].y-this.parent.img.destTop)/this.parent.img.destHeight;for(g=0;g<e.verLeftLinePointColl.length;g++)e.verLeftLinePointColl[g].ratioX=(e.verLeftLinePointColl[g].x-this.parent.img.destLeft)/this.parent.img.destWidth,e.verLeftLinePointColl[g].ratioY=(e.verLeftLinePointColl[g].y-this.parent.img.destTop)/this.parent.img.destHeight;for(g=0;g<e.verRightLinePointColl.length;g++)e.verRightLinePointColl[g].ratioX=(e.verRightLinePointColl[g].x-this.parent.img.destLeft)/this.parent.img.destWidth,e.verRightLinePointColl[g].ratioY=(e.verRightLinePointColl[g].y-this.parent.img.destTop)/this.parent.img.destHeight;if("move"!==t.upperCanvas.style.cursor){var f={rotationCirclePoint:null};t.notify("selection",{prop:"getTransRotationPoint",value:{obj:e,object:f}});var m=f.rotationCirclePoint;m&&(e.rotationCirclePointColl={x:p*(m.x-s)-d*(m.y-l)+s,y:d*(m.x-s)+p*(m.y-l)+l},e.rotationCirclePointColl.ratioX=(e.rotationCirclePointColl.x-t.img.destLeft)/t.img.destWidth,e.rotationCirclePointColl.ratioY=(e.rotationCirclePointColl.y-t.img.destTop)/t.img.destHeight)}},e.prototype.getSquarePointForRotatedShape=function(e,t){var i={startX:0,startY:0,endX:0,endY:0,width:0,height:0},o=e.activePoint,r=o.startX,n=o.startY,a=o.endX,s=o.endY,l=r+o.width/2,p=n+o.height/2,d=Math.cos(e.rotatedAngle),h=Math.sin(e.rotatedAngle),c={x:d*(r-l)-h*(n-p)+l,y:h*(r-l)+d*(n-p)+p},u={x:d*(a-l)-h*(n-p)+l,y:h*(a-l)+d*(n-p)+p},v={x:d*(r-l)-h*(s-p)+l,y:h*(r-l)+d*(s-p)+p},g={x:d*(a-l)-h*(s-p)+l,y:h*(a-l)+d*(s-p)+p};return i.startX=c.x,i.startY=c.y,i.endX=c.x,i.endY=c.y,i.startX>u.x&&(i.startX=u.x),i.startX>v.x&&(i.startX=v.x),i.startX>g.x&&(i.startX=g.x),i.startY>u.y&&(i.startY=u.y),i.startY>v.y&&(i.startY=v.y),i.startY>g.y&&(i.startY=g.y),i.endX<u.x&&(i.endX=u.x),i.endX<v.x&&(i.endX=v.x),i.endX<g.x&&(i.endX=g.x),i.endY<u.y&&(i.endY=u.y),i.endY<v.y&&(i.endY=v.y),i.endY<g.y&&(i.endY=g.y),i.width=i.endX-i.startX,i.height=i.endY-i.startY,t&&(t.activePoint=i),i},e.prototype.updateZOrder=function(e,t){var i=this.parent;t=t.toLowerCase();var o=e;if(!(0,l.isNullOrUndefined)(o.order)){var r,n,a=this.getHighestOrder();if(this.updateShapeColl(),0!==i.shapeColl.length){for(var s,p=0;p<i.shapeColl.length;p++)s=i.shapeColl[p],o.id&&o.id.indexOf("pen")>-1?s.id&&s.id===o.id&&i.shapeColl.splice(p,1):s.shape&&s.shape.indexOf("crop-")>-1&&i.shapeColl.splice(p,1);switch(t){case"sendtoback":n=o.order,r=o.order,o.order=1;break;case"sendbackward":o.order-=1,r=o.order;break;case"bringtofront":n=o.order,r=a,o.order=r;break;case"bringforward":o.order+=1,r=o.order}this.reArrangeObjColl(r,t,n),o.id&&o.id.indexOf("pen")>-1&&this.reUpdateShapeColl(o)}}},e.prototype.reArrangeObjColl=function(e,t,i){var o,r=this.parent;switch(t){case"sendtoback":for(var n=0,a=r.shapeColl.length;n<a;n++)(o=r.shapeColl[n]).order<i&&o.order<=e&&(o.order+=1,this.reUpdateShapeColl(o));break;case"sendbackward":for(n=0,a=r.shapeColl.length;n<a;n++)if((o=r.shapeColl[n]).order===e){o.order+=1,this.reUpdateShapeColl(o);break}break;case"bringtofront":for(n=0,a=r.shapeColl.length;n<a;n++)(o=r.shapeColl[n]).order>i&&o.order<=e&&(o.order-=1,this.reUpdateShapeColl(o));break;case"bringforward":for(n=0,a=r.shapeColl.length;n<a;n++)if((o=r.shapeColl[n]).order===e){o.order-=1,this.reUpdateShapeColl(o);break}}},e.prototype.reorderRedact=function(e){var t=e.filter(function(e){return"redact"!==e.shape});return e.filter(function(e){return"redact"===e.shape}).concat(t)},e.prototype.updateShapeColl=function(){var e=this.parent,t=!1,i=1,o=(0,l.extend)([],e.objColl,[],!0);o=this.reorderRedact(o);var r=(0,l.extend)([],e.pointColl,[],!0);if(e.shapeColl.length>0&&e.shapeColl.length===e.objColl.length+e.pointColl.length){for(var n=0;n<e.shapeColl.length;n++){if(e.shapeColl[n].order!==i){t=!1;break}t=!0,i++}if(t){for(n=0;n<e.shapeColl.length;n++)if(e.shapeColl[n].currIndex&&e.shapeColl[n].currIndex.indexOf("shape")>-1){for(var a=0;a<o.length;a++)if(e.shapeColl[n].currIndex===o[a].currIndex){e.shapeColl[n]=(0,l.extend)({},o[a],{},!0),o.splice(a,1);break}}else if(e.shapeColl[n].id&&e.shapeColl[n].id.indexOf("pen")>-1)for(a=0;a<r.length;a++)if(e.shapeColl[n].id===r[a].id){e.shapeColl[n]=(0,l.extend)([],r[a],[],!0),r.splice(a,1);break}return}}o=(0,l.extend)([],e.objColl,[],!0),r=(0,l.extend)([],e.pointColl,[],!0),e.shapeColl=[];for(var s,p=1,d=!1,h=0;(0!==o.length||0!==r.length)&&h<100;){h++,s=d=!1;for(n=0;n<o.length;n++)if(o[n].order===p||!o[n].order&&o[n].shape&&o[n].shape.indexOf("crop-")>-1){e.shapeColl.push((0,l.extend)({},o[n],{},!0)),o[n].shape&&o[n].shape.indexOf("crop-")>-1&&(d=!0),o.splice(n,1),s=!0;break}if(!s)for(n=0;n<r.length;n++)if(r[n].order===p){e.shapeColl.push((0,l.extend)([],r[n],[],!0)),r.splice(n,1),s=!0;break}d||p++}},e.prototype.reUpdateShapeColl=function(e){var t=this.parent;if(e.id&&e.id.indexOf("pen")>-1){if(t.freehandCounter>0)for(var i=0;i<t.freehandCounter;i++)t.pointColl[i].id===e.id&&(t.pointColl[i].order=e.order)}else if(e.currIndex&&e.currIndex.indexOf("shape")>-1)for(i=0;i<t.objColl.length;i++)t.objColl[i].currIndex===e.currIndex&&(t.objColl[i].order=e.order)},e.prototype.drawAnnotations=function(e,t,i,o,r,n,a){var s=this.parent,p=(0,l.extend)({},s.activeObj,{},!0),d=(0,l.extend)([],s.objColl,[],!0),h=(0,l.extend)([],s.pointColl,[],!0),c={selPointColl:null};s.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:c}});var u={selPointColl:null};s.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:u}}),this.updateShapeColl();var v=(0,l.extend)([],s.shapeColl,[],!0);v=this.reorderRedact(v);var g=!1;this.preventFrameAnnotation||(this.preventFrameAnnotation=g=!0);for(var f=0;f<v.length;f++){var m=v[f].id;if(v[f].order||!v[f].order&&v[f].shape&&v[f].shape.indexOf("crop-")>-1||!v[f].order&&"path"===v[f].shape&&"path"===s.drawingShape){if(v[f].currIndex&&v[f].currIndex.indexOf("shape")>-1){if(s.objColl=[],s.objColl.push((0,l.extend)({},v[f],{},!0)),"iterate"===t){var b=this.lowerContext.filter;this.lowerContext.filter="none",this.iterateObjColl(),this.lowerContext.filter=b}else if("zoom"===t||"pan"===t){for(var y=-1,C=0;C<d.length;C++)if(JSON.stringify(d[C])===JSON.stringify(s.objColl[0])){y=C;break}"zoom"===t?this.zoomObjColl(o):this.panObjColl(r,n,a),y>-1&&(d[y]=(0,l.extend)({},s.objColl[0],{},!0))}}else if(v[f].id&&v[f].id.indexOf("pen")>-1)if(s.pointColl=[],s.freehandCounter=0,s.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:[]}}}),s.pointColl.push((0,l.extend)({},v[f],{},!0)),s.notify("freehand-draw",{prop:"pushSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:u.selPointColl[f]}}}),s.freehandCounter=s.pointColl.length,"iterate"===i)s.notify("freehand-draw",{prop:"freehandRedraw",onPropertyChange:!1,value:{context:e,points:null}});else if("zoom"===i||"pan"===i){"zoom"===i?s.notify("freehand-draw",{prop:"zoomFHDColl",onPropertyChange:!1,value:{isPreventApply:o}}):s.notify("freehand-draw",{prop:"panFHDColl",onPropertyChange:!1,value:{xDiff:r,yDiff:n,panRegion:a}});for(var x=0;x<h.length;x++)if(h[x].id===s.pointColl[0].id){h[x]=(0,l.extend)({},s.pointColl[0],{},!0);break}for(var w=0,P=c.selPointColl.length;w<P;w++)if(c.selPointColl[w].id===u.selPointColl[w].id){c.selPointColl[w]=(0,l.extend)({},u.selPointColl[w],{},!0);break}}}else(v[f].shape||m)&&(v[f].currIndex||m)||v.splice(f,1)}i&&"zoom"===i&&(s.pointColl=[],s.freehandCounter=0,s.notify("freehand-draw",{prop:"zoomFHDColl",onPropertyChange:!1,value:{isPreventApply:o}})),s.objColl=d,s.pointColl=h,s.freehandCounter=s.pointColl.length,s.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:c.selPointColl}}}),g&&this.preventFrameAnnotation&&(s.notify("draw",{prop:"applyFrame",value:{ctx:this.lowerContext,frame:s.frameObj.type,preventImg:!0}}),this.preventFrameAnnotation=!1),s.activeObj=p},e}(),U=function(){function e(e){this.isReverseFlip=!1,this.disablePan=!1,this.isReverseRotate=!1,this.flipColl=[],this.prevZoomValue=1,this.cropDimension={width:0,height:0},this.isPreventSelect=!1,this.preventDownScale=!1,this.resizedImgAngle=null,this.parent=e,this.addEventListener()}return e.prototype.destroy=function(){this.parent.isDestroyed||this.removeEventListener()},e.prototype.addEventListener=function(){this.parent.on("transform",this.transform,this),this.parent.on("destroyed",this.destroy,this)},e.prototype.removeEventListener=function(){this.parent.off("transform",this.transform),this.parent.off("destroyed",this.destroy)},e.prototype.transform=function(e){switch(this.initTransformPvtVar(),e.prop){case"flipImage":this.flipImage(e.value.direction);break;case"setDestPointsForFlipState":this.setDestPointsForFlipState();break;case"zoomAction":this.zoomAction(e.value.zoomFactor,e.value.zoomPoint,e.value.isResize);break;case"disableZoomOutBtn":this.disableZoomOutBtn(e.value.isZoomOut);break;case"rotatedFlip":this.rotatedFlip();break;case"drawPannedImage":this.drawPannedImage(e.value.xDiff,e.value.yDiff);break;case"drawPannImage":this.drawPannImage(e.value.point);break;case"performTransformation":this.performTransformation(e.value.text);break;case"updateTransform":this.updateTransform(e.value.text);break;case"rotatePan":this.rotatePan(e.value.isCropSelection,e.value.isDefaultZoom);break;case"resetZoom":this.resetZoom();break;case"pan":this.pan(e.value.value,e.value.x,e.value.y);break;case"zoom":this.zoom(e.value.zoomFactor,e.value.zoomPoint);break;case"setCurrPanRegion":this.setCurrPanRegion(e.value.region,e.value.type,e.value.obj);break;case"rotate":this.rotate(e.value.degree,e.value.obj);break;case"flip":this.flip(e.value.direction);break;case"update":this.update();break;case"calcMaxDimension":this.calcMaxDimension(e.value.width,e.value.height,e.value.obj,e.value.isImgShape);break;case"getPanMove":e.value.obj.panMove=this.panMove;break;case"setPanMove":this.panMove=e.value.point;break;case"getTempPanMove":e.value.obj.tempPanMove=this.tempPanMove;break;case"setTempPanMove":this.tempPanMove=e.value.point;break;case"setReverseFlip":this.isReverseFlip=e.value.isReverseFlip;break;case"setDisablePan":this.disablePan=e.value.bool;break;case"setCurrDestinationPoint":this.currDestPoint=e.value.point,this.currDestPoint.startX-=this.parent.cropObj.totalPannedPoint.x,this.currDestPoint.startY-=this.parent.cropObj.totalPannedPoint.y;break;case"setReverseRotate":this.isReverseRotate=e.value.bool;break;case"getFlipColl":e.value.obj.flipColl=this.flipColl;break;case"setFlipColl":this.flipColl=e.value.flipColl;break;case"getPreviousZoomValue":e.value.obj.previousZoomValue=this.prevZoomValue;break;case"setPreviousZoomValue":this.prevZoomValue=e.value.previousZoomValue;break;case"getCropDimension":e.value.obj.cropDimension=this.cropDimension;break;case"setCropDimension":this.cropDimension.width=e.value.width,this.cropDimension.height=e.value.height;break;case"getPreventSelect":e.value.obj.bool=this.isPreventSelect;break;case"setPreventSelect":this.isPreventSelect=e.value.bool;break;case"resizeImage":this.resizeImage(e.value.width,e.value.height);break;case"resizeCrop":this.resizeCrop(e.value.width,e.value.height);break;case"updateResize":this.updateResize();break;case"resize":this.resize(e.value.width,e.value.height,e.value.isAspectRatio);break;case"straightenImage":this.straightenImage(e.value.degree);break;case"reset":this.reset();break;case"cropZoom":e.value.obj.maxDimension=this.cropZoom(e.value.value,e.value.selectionObj);break;case"setResizedImgAngle":this.resizedImgAngle=e.value.angle}},e.prototype.getModuleName=function(){return"transform"},e.prototype.initTransformPvtVar=function(){this.parent.lowerCanvas&&(this.lowerContext=this.parent.lowerCanvas.getContext("2d")),this.parent.upperCanvas&&(this.upperContext=this.parent.upperCanvas.getContext("2d"))},e.prototype.reset=function(){this.zoomBtnHold=null,this.tempPanMove=null,this.panMove=null,this.disablePan=!1,this.currDestPoint=null,this.isReverseRotate=!1,this.flipColl=[],this.resizedImgAngle=null,this.transCurrObj=null,this.prevZoomValue=1,this.isPreventSelect=this.preventDownScale=!1},e.prototype.rotateImage=function(e){var t=this.parent,i={cancel:!1,previousDegree:t.transform.degree,currentDegree:360===Math.abs(t.transform.degree+e)?0:t.transform.degree+e};this.isPreventSelect||(t.trigger("rotating",i),t.editCompleteArgs=i),this.rotateEvent(i,e)},e.prototype.rotateEvent=function(e,t){var i=this.parent;if(e.cancel)i.notify("draw",{prop:"setCurrentObj",onPropertyChange:!1,value:{obj:i.prevEventObjPoint}}),i.activeObj=i.prevEventSelectionPoint,i.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:i.activeObj}});else{var o=void 0;if((0,l.isNullOrUndefined)(this.transCurrObj)){var r={currObj:{}};i.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:r}}),(o=r.currObj).objColl=(0,l.extend)([],i.objColl,null,!0),o.pointColl=(0,l.extend)({},i.pointColl,null,!0),o.afterCropActions=(0,l.extend)([],i.afterCropActions,[],!0);var n={selPointColl:null};i.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:n}}),o.selPointColl=(0,l.extend)([],n.selPointColl,[],!0)}i.afterCropActions.push(90===t?"rotateRight":"rotateLeft");var a=[],s=void 0;i.activeObj.activePoint&&i.activeObj.shape&&(void 0!==i.activeObj.shape&&(a=i.activeObj.shape.split("-")),(i.currObjType.isCustomCrop||"crop"===a[0])&&(s=i.currObjType.isCustomCrop?"custom":a[1],i.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),i.objColl.push(i.activeObj),i.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}))),i.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:!0}}),this.upperContext.clearRect(0,0,i.upperCanvas.width,i.upperCanvas.height),this.drawRotatedImage(t),i.notify("draw",{prop:"setImageEdited",onPropertyChange:!1}),i.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),i.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.upperContext}}),i.isCircleCrop&&i.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}}),s&&(this.upperContext.clearRect(0,0,i.upperCanvas.width,i.upperCanvas.height),i.activeObj=(0,l.extend)({},i.objColl[i.objColl.length-1],{},!0),i.objColl.pop(),i.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:i.activeObj}})),i.isUndoRedo=!1;var p={collection:i.rotateFlipColl};i.notify("shape",{prop:"alignRotateFlipColl",onPropertyChange:!1,value:{collection:i.rotateFlipColl,isRotateFlipCollection:!0,obj:p}}),i.rotateFlipColl=p.collection,i.cropObj.activeObj.shape&&!this.isPreventSelect&&(i.notify("draw",{prop:"setIsCropSelect",value:{bool:!0}}),this.isPreventSelect=!0,i.notify("draw",{prop:"select",onPropertyChange:!1,value:{type:"custom",startX:null,startY:null,width:null,height:null}}),this.isPreventSelect=!1,i.setProperties({zoomSettings:{zoomFactor:1}},!0),this.prevZoomValue=i.zoomSettings.zoomFactor)}},e.prototype.drawRotatedImage=function(e){var t=this.parent;0===e?t.transform.degree=0:t.transform.degree+=e,360===Math.abs(t.transform.degree)&&(t.transform.degree=0),t.notify("draw",{prop:"setDestPoints",onPropertyChange:!1});var i=(0,l.extend)([],t.objColl,[],!0),o=(0,l.extend)({},t.activeObj,{},!0);if(t.objColl=[],t.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.isReverseRotate||t.notify("draw",{prop:"updateCurrTransState",onPropertyChange:!1,value:{type:"initial",isPreventDestination:null,isRotatePan:null}}),this.rotateDegree(e),this.isReverseRotate||(t.notify("draw",{prop:"updateCurrTransState",onPropertyChange:!1,value:{type:"reverse",isPreventDestination:null,isRotatePan:null}}),t.rotateFlipColl.push(e)),t.objColl=(0,l.extend)([],i,[],!0),t.activeObj=(0,l.extend)({},o,{},!0),t.isCircleCrop&&t.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}}),t.notify("shape",{prop:"redrawObj",onPropertyChange:!1,value:{degree:e}}),t.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),e>0)t.notify("freehand-draw",{prop:"rotateFhdColl",onPropertyChange:!1});else for(var r=0;r<3;r++)t.notify("freehand-draw",{prop:"rotateFhdColl",onPropertyChange:!1});t.notify("freehand-draw",{prop:"freehandRedraw",onPropertyChange:!1,value:{context:this.lowerContext,points:null}}),this.updateCurrSelectionPoint(e)},e.prototype.rotateDegree=function(e){var t=this.parent;this.lowerContext.save(),this.lowerContext.clearRect(0,0,t.lowerCanvas.width,t.lowerCanvas.height),this.lowerContext.translate(t.lowerCanvas.width/2,t.lowerCanvas.height/2),this.lowerContext.rotate(Math.PI/180*e),this.lowerContext.translate(-t.lowerCanvas.width/2,-t.lowerCanvas.height/2);var i=this.lowerContext.filter;t.notify("draw",{prop:"drawImage",onPropertyChange:!1}),this.lowerContext.filter=i,this.lowerContext.translate(t.lowerCanvas.width/2,t.lowerCanvas.height/2),this.lowerContext.rotate(Math.PI/180*-e),this.lowerContext.translate(-t.lowerCanvas.width/2,-t.lowerCanvas.height/2),this.lowerContext.restore()},e.prototype.updateCurrSelectionPoint=function(e){var t=this.parent;if(t.currSelectionPoint&&this.currDestPoint){var i=(0,l.extend)({},t.activeObj,{},!0),o=(0,l.extend)([],t.objColl,[],!0),r={startX:t.img.srcLeft,startY:t.img.srcTop,width:t.img.srcWidth,height:t.img.srcHeight},n={startX:t.img.destLeft,startY:t.img.destTop,width:t.img.destWidth,height:t.img.destHeight};t.objColl=[],t.objColl.push((0,l.extend)({},t.currSelectionPoint,{},!0)),t.img={srcLeft:0,srcTop:0,srcWidth:t.baseImgCanvas.width,srcHeight:t.baseImgCanvas.height,destLeft:this.currDestPoint.startX,destTop:this.currDestPoint.startY,destWidth:this.currDestPoint.width,destHeight:this.currDestPoint.height},"number"==typeof e&&(t.notify("draw",{prop:"setDestPoints",onPropertyChange:!1}),t.notify("draw",{prop:"setClientTransDim",onPropertyChange:!1,value:{isPreventDimension:null}})),t.notify("shape",{prop:"redrawObj",onPropertyChange:!1,value:{degree:e}}),t.currSelectionPoint=(0,l.extend)({},t.objColl[0],{},!0),this.currDestPoint={startX:t.img.destLeft,startY:t.img.destTop,width:t.img.destWidth,height:t.img.destHeight},t.objColl=o,t.activeObj=i,t.img={srcLeft:r.startX,srcTop:r.startY,srcWidth:r.width,srcHeight:r.height,destLeft:n.startX,destTop:n.startY,destWidth:n.width,destHeight:n.height}}},e.prototype.flipImage=function(e){var t=this.parent,i={direction:e,cancel:!1,previousDirection:t.toPascalCase(t.transform.currFlipState||e)};this.isPreventSelect||(t.trigger("flipping",i),t.editCompleteArgs=i),this.flipEvent(i,e)},e.prototype.flipEvent=function(e,t){var i,o=this.parent;if(e.cancel)return o.notify("draw",{prop:"setCurrentObj",onPropertyChange:!1,value:{obj:o.prevEventObjPoint}}),o.activeObj=o.prevEventSelectionPoint,void o.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:o.activeObj}});if((0,l.isNullOrUndefined)(this.transCurrObj)){var r={currObj:{}};o.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:r}}),(i=r.currObj).objColl=(0,l.extend)([],o.objColl,null,!0),i.pointColl=(0,l.extend)({},o.pointColl,null,!0),i.afterCropActions=(0,l.extend)([],o.afterCropActions,[],!0);var n={selPointColl:null};o.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:n}}),i.selPointColl=(0,l.extend)([],n.selPointColl,[],!0)}o.afterCropActions.push("horizontal"===t.toLowerCase()?"horizontalflip":"verticalflip");var a,s=[];o.activeObj.activePoint&&(void 0!==o.activeObj.shape&&(s=o.activeObj.shape.split("-")),(o.currObjType.isCustomCrop||"crop"===s[0])&&(a=o.currObjType.isCustomCrop?"custom":s[1],o.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),o.objColl.push(o.activeObj),o.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}))),o.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:!0}}),o.clearContext(this.lowerContext),o.clearContext(this.upperContext);var p=(0,l.extend)([],o.objColl,[],!0),d=(0,l.extend)({},o.activeObj,{},!0);o.objColl=[],o.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.isReverseFlip||o.notify("draw",{prop:"updateCurrTransState",onPropertyChange:!1,value:{type:"initial",isPreventDestination:null,isRotatePan:null}});var h=t.toLowerCase();this.updateFlipState(h);var c=o.transform.currFlipState.toLowerCase();o.transform.currFlipState="horizontal"===h&&"horizontal"===c||"vertical"===h&&"vertical"===c?"":h;var u={isSelected:null};o.notify("draw",{prop:"getRotatedFlipCropSelection",onPropertyChange:!1,value:{bool:u}}),u.isSelected&&(o.img.destLeft+=o.panPoint.totalPannedInternalPoint.x,o.img.destTop+=o.panPoint.totalPannedInternalPoint.y);var v=this.lowerContext.filter;if(o.notify("draw",{prop:"drawImage",onPropertyChange:!1}),this.lowerContext.filter=v,o.notify("draw",{prop:"setImageEdited",onPropertyChange:!1}),this.updateFlipState(t.toLowerCase()),this.isReverseFlip||(o.notify("draw",{prop:"updateCurrTransState",onPropertyChange:!1,value:{type:"reverse",isPreventDestination:null,isRotatePan:null}}),this.updateFlipColl(t.toLocaleLowerCase()),o.rotateFlipColl.push(t.toLowerCase())),1===o.rotateFlipColl.length){var g={panRegion:""};o.notify("crop",{prop:"getCurrFlipState",onPropertyChange:!1,value:{panObj:g}}),""===g.panRegion?o.notify("draw",{prop:"setClientTransDim",onPropertyChange:!1,value:{isPreventDimension:null}}):this.setDestPointsForFlipState()}o.isCircleCrop&&o.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}}),o.objColl=(0,l.extend)([],p,[],!0),o.activeObj=(0,l.extend)({},d,{},!0);for(var f=0,m=o.objColl.length;f<m;f++){var b=o.objColl[f].flipObjColl;0===b.length?b.push(t):b[b.length-1]===t?b.pop():b.push(t)}o.notify("shape",{prop:"redrawObj",onPropertyChange:!1,value:{degree:t.toLowerCase()}});var y=this.lowerContext.filter;this.lowerContext.filter="brightness(1) contrast(100%) hue-rotate(0deg) saturate(100%) opacity(1) blur(0px) sepia(0%) grayscale(0%) invert(0%)",o.notify("shape",{prop:"iterateObjColl",onPropertyChange:!1});var C=t.toLowerCase();"horizontal"===C||"vertical"===C?(o.notify("freehand-draw",{prop:"flipFHDColl",onPropertyChange:!1,value:{value:C}}),o.notify("freehand-draw",{prop:"freehandRedraw",onPropertyChange:!1,value:{context:this.lowerContext,points:null}})):o.notify("freehand-draw",{prop:"freehandRedraw",onPropertyChange:!1,value:{context:this.lowerContext,points:null}}),this.lowerContext.filter=y,o.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.updateCurrSelectionPoint(C),o.isUndoRedo=!1,o.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),o.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.upperContext}}),o.isCircleCrop&&o.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}}),a&&(this.upperContext.clearRect(0,0,o.upperCanvas.width,o.upperCanvas.height),o.activeObj=(0,l.extend)({},o.objColl[o.objColl.length-1],{},!0),o.objColl.pop(),o.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:o.activeObj}}));var x={collection:o.rotateFlipColl};o.notify("shape",{prop:"alignRotateFlipColl",onPropertyChange:!1,value:{collection:o.rotateFlipColl,isRotateFlipCollection:!0,obj:x}}),o.rotateFlipColl=x.collection,o.cropObj.activeObj.shape&&!this.isPreventSelect&&(o.notify("draw",{prop:"setIsCropSelect",value:{bool:!0}}),this.isPreventSelect=!0,o.notify("draw",{prop:"select",onPropertyChange:!1,value:{type:"custom",startX:null,startY:null,width:null,height:null}}),this.isPreventSelect=!1,o.setProperties({zoomSettings:{zoomFactor:1}},!0),this.prevZoomValue=o.zoomSettings.zoomFactor)},e.prototype.updateFlipState=function(e){var t=this.parent.transform.degree;"horizontal"===e?t%90==0&&t%180!=0?this.verticalFlip():this.horizontalFlip():"vertical"===e&&(t%90==0&&t%180!=0?this.horizontalFlip():this.verticalFlip())},e.prototype.horizontalFlip=function(){this.lowerContext.translate(this.lowerContext.canvas.width,0),this.lowerContext.scale(-1,1),this.upperContext.translate(this.upperContext.canvas.width,0),this.upperContext.scale(-1,1)},e.prototype.verticalFlip=function(){this.lowerContext.translate(0,this.lowerContext.canvas.height),this.lowerContext.scale(1,-1),this.upperContext.translate(0,this.upperContext.canvas.height),this.upperContext.scale(1,-1)},e.prototype.updateFlipColl=function(e){if(!this.isPreventSelect&&(0===this.flipColl.length||this.flipColl[this.flipColl.length-1]!==e?this.flipColl.push(e):this.flipColl.pop(),this.flipColl.length>=4)){var t=this.flipColl.slice(-4);("horizontal"===t[0]&&"vertical"===t[1]&&"horizontal"===t[2]&&"vertical"===t[3]||"vertical"===t[0]&&"horizontal"===t[1]&&"vertical"===t[2]&&"horizontal"===t[3])&&this.flipColl.splice(-4)}},e.prototype.setDestPointsForFlipState=function(){var e=this.parent,t={panRegion:""},i=e.img,o=i.destLeft,r=i.destTop,n=i.destWidth,a=i.destHeight,s=e.lowerCanvas,l=s.clientWidth,p=s.clientHeight;e.notify("crop",{prop:"getCurrFlipState",onPropertyChange:!1,value:{panObj:t}}),""!==t.panRegion&&("horizontal"===t.panRegion?e.img.destLeft=l-(n+o):("vertical"===t.panRegion||(e.img.destLeft=l-(n+o)),e.img.destTop=p-(a+r)))},e.prototype.zoomAction=function(e,t,i,o){var r=this.parent;if(!r.disabled&&r.isImageLoaded){if((0,l.isNullOrUndefined)(i)&&(r.zoomSettings.zoomFactor>=r.zoomSettings.maxZoomFactor&&e>0||r.zoomSettings.zoomFactor>r.zoomSettings.minZoomFactor&&e<0&&this.disableZoomOutBtn(!0)||r.zoomSettings.zoomFactor<=r.zoomSettings.minZoomFactor&&e<0))return void r.notify("toolbar",{prop:"zoom-up-handler",onPropertyChange:!1});r.notify("draw",{prop:"setImageEdited",onPropertyChange:!1});var n=e;e=n>0?.1:-.1;for(var a=0;a<Math.round(Math.abs(n/.1));a++)if(1===this.prevZoomValue)this.prevZoomValue+=e>0?10*e:10*e/10;else if(this.prevZoomValue>1)this.prevZoomValue+=10*e;else if(this.prevZoomValue<1){this.prevZoomValue+=10*e/10;var s=Math.pow(10,1);this.prevZoomValue=Math.round(this.prevZoomValue*s)/s}e=n,r.setProperties({zoomSettings:{zoomFactor:this.prevZoomValue}},!0);var p=void 0;this.tempActiveObj=null,this.isShape=!1,void 0!==r.activeObj.shape&&("shape"===r.activeObj.shape?r.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}):p=r.activeObj.shape.split("-")),void 0!==p&&"crop"===p[0]?(this.tempActiveObj=(0,l.extend)({},r.activeObj,{},!0),r.isCropTab=!0):(r.activeObj.shape&&"crop"!==p[0]&&(0!==r.activeObj.activePoint.width||0!==r.activeObj.activePoint.height)||"path"===r.activeObj.shape&&r.activeObj.pointColl.length>0)&&(this.isShape=!0);var d={zoomType:null};r.notify("selection",{prop:"getZoomType",onPropertyChange:!1,value:{obj:d}}),(0,l.isNullOrUndefined)(t)&&(t=r.isCropTab&&this.tempActiveObj?{x:r.activeObj.activePoint.startX+r.activeObj.activePoint.width/2,y:r.activeObj.activePoint.startY+r.activeObj.activePoint.height/2}:{x:r.lowerCanvas.clientWidth/2,y:r.lowerCanvas.clientHeight/2},"MouseWheel"!==d.zoomType&&"Pinch"!==d.zoomType||(t={x:r.zoomSettings.zoomPoint.x,y:r.zoomSettings.zoomPoint.y}));var h={zoomPoint:t,cancel:!1,previousZoomFactor:r.zoomSettings.zoomFactor-10*e,currentZoomFactor:r.zoomSettings.zoomFactor,zoomTrigger:d.zoomType};!r.isCropToolbar&&r.isZoomBtnClick&&(r.trigger("zooming",h),r.editCompleteArgs=h),this.zoomEvent(h,e,o)}},e.prototype.zoomEvent=function(e,t,i){var o,r=this.parent,n=r.zoomSettings,a=n.zoomFactor,s=n.minZoomFactor;if(e.cancel)r.isZoomBtnClick=!1;else{"blur"!==this.parent.activeObj.redactType&&"pixelate"!==this.parent.activeObj.redactType&&r.notify("toolbar",{prop:"close-contextual-toolbar",onPropertyChange:!1}),!r.isCropTab&&r.activeObj.shape&&(o=r.activeObj.currIndex),r.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:!0}}),r.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.upperContext.clearRect(0,0,r.lowerCanvas.width,r.lowerCanvas.height);var p={canvasFilter:r.canvasFilter};this.lowerContext.filter=p.canvasFilter,r.upperCanvas.style.cursor=r.cursor="default";var d=(0,l.extend)([],r.objColl,[],!0);if(!r.isCropTab){if(0!==r.transform.degree){r.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:null}}),r.panPoint.currentPannedPoint={x:0,y:0};var h=r.allowDownScale;r.allowDownScale=!1,this.rotatePan(!0,!0),r.allowDownScale=h}else""!==r.transform.currFlipState&&(r.panPoint.totalPannedPoint={x:0,y:0});0!==r.transform.straighten||this.isPreventSelect||r.notify("freehand-draw",{prop:"updateFHDColl",onPropertyChange:!1,value:{isPreventApply:i}})}if(0===r.transform.degree){this.drawZoomImgToCanvas(t,this.tempActiveObj);var c={panRegion:""};if(r.notify("crop",{prop:"getCurrFlipState",onPropertyChange:!1,value:{panObj:c}}),""!==c.panRegion){r.notify("crop",{prop:"setTempFlipPanPoint",onPropertyChange:!1,value:{point:r.panPoint.totalPannedPoint,isAdd:!0}}),d=(0,l.extend)([],r.objColl,[],!0),r.objColl=[];var u=r.img.destLeft,v=r.img.destTop;this.setDestPointsForFlipState(),this.rotatedFlip(),r.img.destLeft=u,r.img.destTop=v,r.objColl=d,r.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:i}}),0!==r.transform.straighten||this.isPreventSelect||r.notify("freehand-draw",{prop:"updateFHDColl",onPropertyChange:!1,value:{isPreventApply:i}})}a<=s&&!r.isCropTab&&(r.panPoint.totalPannedPoint={x:0,y:0})}else{0!==r.transform.straighten||this.isPreventSelect||r.notify("freehand-draw",{prop:"updateFHDColl",onPropertyChange:!1,value:{isPreventApply:i}}),r.panPoint.totalPannedClientPoint={x:0,y:0},r.panPoint.totalPannedInternalPoint={x:0,y:0},this.rotateZoom(t);var g={panRegion:""};if(r.notify("crop",{prop:"getCurrFlipState",onPropertyChange:!1,value:{panObj:g}}),""!==g.panRegion){h=this.lowerContext.filter;this.lowerContext.filter="none",r.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:i}}),this.lowerContext.filter=h}}var f=Math.pow(10,1);(a<=s||Math.round(r.transform.zoomFactor*f)/f===2)&&(clearInterval(this.zoomBtnHold),this.zoomBtnHold=0);var m,b={panRegion:""};if(r.notify("crop",{prop:"getCurrFlipState",onPropertyChange:!1,value:{panObj:b}}),""===b.panRegion){h=this.lowerContext.filter;this.lowerContext.filter="none",r.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:i}}),this.lowerContext.filter=h}(r.currSelectionPoint&&"crop-circle"===r.currSelectionPoint.shape||r.isCircleCrop)&&r.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}}),r.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),r.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.tempActiveObj&&(r.activeObj=(0,l.extend)({},this.tempActiveObj,{},!0),r.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:r.activeObj}}),a<=s&&(r.currSelectionPoint=null)),r.isUndoRedo=!1,(m=r.element.querySelector("#"+r.element.id+"_zoomOut"))&&a<=s?(m.classList.add("e-disabled"),m.parentElement.classList.add("e-overlay")):m&&(m.classList.remove("e-disabled"),m.parentElement.classList.remove("e-overlay"));var y=r.drawingShape;if(this.autoEnablePan(),r.drawingShape=y,this.tempActiveObj&&(r.activeObj=(0,l.extend)({},this.tempActiveObj,{},!0)),"crop-custom"===r.activeObj.shape&&(r.currObjType.isCustomCrop=!0),this.isShape){if(o){for(var C=0,x=r.objColl.length;C<x;C++)if(r.objColl[C].currIndex===o){r.activeObj=(0,l.extend)({},r.objColl[C],{},!0),r.objColl.splice(C,1);break}}else r.activeObj=(0,l.extend)({},r.objColl[r.objColl.length-1],{},!0),r.objColl.pop();r.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:r.activeObj,isCropRatio:null,points:null,isPreventDrag:!0,saveContext:null,isPreventSelection:null}}),r.notify("toolbar",{prop:"update-toolbar-items",onPropertyChange:!1}),r.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:null}})}if(r.notify("toolbar",{prop:"enable-disable-btns",onPropertyChange:!1}),r.notify("selection",{prop:"setZoomType",onPropertyChange:!1,value:{zoomType:"Toolbar"}}),e={zoomPoint:e.zoomPoint,previousZoomFactor:e.previousZoomFactor,currentZoomFactor:e.currentZoomFactor,zoomTrigger:e.zoomTrigger},!r.isCropToolbar&&r.isZoomBtnClick&&(r.isZoomBtnClick=!1),r.drawingShape){var w=(0,l.extend)({},r.activeObj,{},!0);if(r.enableShapeDrawing(r.toPascalCase(r.drawingShape),!0),r.activeObj=w,w.activePoint.width>0||w.activePoint.height>0||w.pointColl&&w.pointColl.length>0){"redact"===w.shape&&r.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:null}});var P=r.element.querySelector("#"+r.element.id+"_zOrderBtn"),S=r.element.querySelector("#"+r.element.id+"_duplicate"),j=r.element.querySelector("#"+r.element.id+"_remove"),O=r.element.querySelector("#"+r.element.id+"_editText");P&&P.classList.remove("e-overlay"),S&&S.classList.remove("e-overlay"),j&&j.classList.remove("e-overlay"),O&&O.classList.remove("e-overlay")}}else r.activeObj.shape&&"redact"===r.activeObj.shape&&(r.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"redact",isApplyBtn:!1,isCropping:!1}}),r.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:null}}))}},e.prototype.disableZoomOutBtn=function(e){var t,i=this.parent,o=i.zoomSettings,r=o.zoomFactor,n=o.minZoomFactor,a=!1;(0,l.isNullOrUndefined)(e)||(i.transform.zoomFactor-=.1),t=i.element.querySelector("#"+i.element.id+"_zoomOut");var s={destLeft:i.img.destLeft,destTop:i.img.destTop,destWidth:i.img.destWidth,destHeight:i.img.destHeight};if(i.activeObj.shape){var p=this.setZoomDimension(-.1,i.activeObj),d=i.activeObj.activePoint;if(0===i.transform.straighten)a=i.img.destLeft>d.startX||i.img.destTop>d.startY||i.img.destLeft+i.img.destWidth<d.endX||i.img.destTop+i.img.destHeight<d.endY||r===n;else{i.img.destWidth=p.width,i.img.destHeight=p.height;var h={isIntersect:null};i.notify("draw",{prop:"updateImgCanvasPoints",onPropertyChange:!1}),i.notify("draw",{prop:"isLinesIntersect",onPropertyChange:!1,value:{obj:h}}),a=!(!h.isIntersect&&r!==n)}t&&(a?(t.classList.add("e-disabled"),t.parentElement.classList.add("e-overlay")):(t.classList.remove("e-disabled"),t.parentElement.classList.remove("e-overlay")))}else this.setZoomDimension(-.1,null);return(0,l.isNullOrUndefined)(e)||(i.transform.zoomFactor+=.1),i.img.destLeft=s.destLeft,i.img.destTop=s.destTop,i.img.destWidth=s.destWidth,i.img.destHeight=s.destHeight,a},e.prototype.drawZoomImgToCanvas=function(e,t){var i=this.parent,o=Math.pow(10,1),r=Math.round(i.transform.zoomFactor*o)/o;.1===r&&-.1===e||0===r&&-.025===e?i.transform.zoomFactor=0:i.transform.zoomFactor+=e,i.transform[i.isCropTab?"cropZoomFactor":"defaultZoomFactor"]=i.transform.zoomFactor;var n={width:0,height:0};i.isCropTab?n=this.cropZoom(e,t):((n=this.calcMaxDimension(i.img.srcWidth,i.img.srcHeight)).width+=n.width*i.transform.zoomFactor,n.height+=n.height*i.transform.zoomFactor,i.img.destLeft=(i.lowerCanvas.clientWidth-n.width)/2,i.img.destTop=(i.lowerCanvas.clientHeight-n.height)/2),i.notify("draw",{prop:"draw-image-to-canvas",value:{dimension:n}}),n.width=this.cropDimension.width,n.height=this.cropDimension.height,n.width+=n.width*i.transform.zoomFactor,n.height+=n.height*i.transform.zoomFactor,i.notify("draw",{prop:"setZoomCropWidth",value:{width:n.width,height:n.height}})},e.prototype.rotatedFlip=function(){var e=this.parent;this.isReverseFlip=!0;var t=e.transform.currFlipState,i=this.flipColl,o=(0,l.extend)([],e.objColl,[],!0),r=(0,l.extend)({},e.activeObj,{},!0);this.flipColl=[],e.objColl=[],e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),e.notify("draw",{prop:"currTransState",onPropertyChange:!1,value:{type:"initial",isPreventDestination:null,context:null,isPreventCircleCrop:null}});var n=this.lowerContext.filter;e.notify("draw",{prop:"drawImage",onPropertyChange:!1}),this.lowerContext.filter=n,e.notify("draw",{prop:"currTransState",onPropertyChange:!1,value:{type:"reverse",isPreventDestination:!0,context:null,isPreventCircleCrop:null}}),""===t&&""!==e.transform.currFlipState&&(t=e.transform.currFlipState),e.transform.currFlipState=t,this.flipColl=i,e.objColl=(0,l.extend)([],o,[],!0),this.lowerContext.filter="none",e.notify("shape",{prop:"iterateObjColl",onPropertyChange:!1}),this.lowerContext.filter=n,0!==r.activePoint.width&&(e.activeObj=(0,l.extend)({},r,{},!0)),this.isReverseFlip=!1},e.prototype.rotateZoom=function(e){var t=this.parent,i=Math.pow(10,1),o=Math.round(t.transform.zoomFactor*i)/i;.1===o&&-.1===e||0===o&&-.025===e?t.transform.zoomFactor=0:t.transform.zoomFactor+=e,t.isCropTab?t.transform.cropZoomFactor=t.transform.zoomFactor:t.transform.defaultZoomFactor=t.transform.zoomFactor;var r=(0,l.extend)([],t.objColl,[],!0),n=(0,l.extend)({},t.activeObj,{},!0);t.objColl=[],t.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),t.notify("draw",{prop:"updateCurrTransState",onPropertyChange:!1,value:{type:"initial",isPreventDestination:null,isRotatePan:null}}),t.notify("draw",{prop:"setRotateZoom",onPropertyChange:!1,value:{isRotateZoom:!0}}),t.notify("draw",{prop:"setDestPoints",onPropertyChange:!1});var a=this.lowerContext.filter;t.notify("draw",{prop:"drawImage",onPropertyChange:!1}),this.lowerContext.filter=a,t.notify("draw",{prop:"setRotateZoom",onPropertyChange:!1,value:{isRotateZoom:!1}}),t.notify("draw",{prop:"updateCurrTransState",onPropertyChange:!1,value:{type:"reverse",isPreventDestination:null,isRotatePan:null}}),t.objColl=r,t.activeObj=n;var s={width:this.cropDimension.width,height:this.cropDimension.height};s.width+=s.width*t.transform.zoomFactor,s.height+=s.height*t.transform.zoomFactor,t.notify("draw",{prop:"setZoomCropWidth",value:{width:s.width,height:s.height}})},e.prototype.autoEnablePan=function(){var e=this.parent;e.transform.zoomFactor<=0?(e.togglePan=!1,e.notify("selection",{prop:"setDragCanvas",value:{bool:!1}}),e.pan(!1),this.disablePan=!1):e.pan(!this.disablePan)},e.prototype.cropZoom=function(e,t){var i=this.parent,o=i.img.destLeft,r=i.img.destTop,n={width:0,height:0};return(n=i.transform.degree%90==0&&i.transform.degree%180!=0?this.calcMaxDimension(i.img.srcHeight,i.img.srcWidth):this.calcMaxDimension(i.img.srcWidth,i.img.srcHeight)).width+=n.width*i.transform.zoomFactor,n.height+=n.height*i.transform.zoomFactor,i.img.destLeft=o-(n.width-i.img.destWidth)/2,i.img.destTop=r-(n.height-i.img.destHeight)/2,o=i.img.destLeft,r=i.img.destTop,t&&0===i.transform.straighten&&(i.img.destLeft>t.activePoint.startX&&(i.img.destLeft=t.activePoint.startX,0===i.transform.degree&&(i.panPoint.totalPannedPoint.x-=o-i.img.destLeft)),i.img.destTop>t.activePoint.startY&&(i.img.destTop=t.activePoint.startY,0===i.transform.degree&&(i.panPoint.totalPannedPoint.y-=r-i.img.destTop)),i.img.destLeft+n.width<t.activePoint.endX&&(i.img.destLeft=t.activePoint.endX-n.width,0===i.transform.degree&&(i.panPoint.totalPannedPoint.x-=o-i.img.destLeft)),i.img.destTop+n.height<t.activePoint.endY&&(i.img.destTop=t.activePoint.endY-n.height,0===i.transform.degree&&(i.panPoint.totalPannedPoint.y-=r-i.img.destTop))),n},e.prototype.setZoomDimension=function(e,t){var i=this.parent,o=i.transform.degree,r={width:0,height:0};if((r=o%90==0&&o%180!=0?this.calcMaxDimension(i.img.srcHeight,i.img.srcWidth):this.calcMaxDimension(i.img.srcWidth,i.img.srcHeight)).width+=r.width*i.transform.zoomFactor,r.height+=r.height*i.transform.zoomFactor,i.img.destLeft+=(i.img.destWidth-r.width)/2,i.img.destTop+=(i.img.destHeight-r.height)/2,e<0&&t){var n=t.activePoint.startX,a=t.activePoint.startY,s=t.activePoint.width,p=t.activePoint.height,d=i.img.destLeft+r.width,h=i.img.destTop+r.height;i.img.destLeft>n&&(i.img.destLeft=n),i.img.destTop>a&&(i.img.destTop=a),d<n+s&&(i.img.destLeft=n+s-r.width),h<a+p&&(i.img.destTop=a+p-r.height)}else e<0&&(0,l.isNullOrUndefined)(t)&&(i.img.destLeft>0&&(i.img.destLeft=0),i.img.destTop>0&&(i.img.destTop=0),i.img.destLeft+r.width<i.lowerCanvas.clientWidth&&(i.img.destLeft=i.lowerCanvas.clientWidth-i.img.destWidth),i.img.destTop+r.height<i.lowerCanvas.clientHeight&&(i.img.destTop=i.lowerCanvas.clientHeight-i.img.destHeight));return r},e.prototype.drawPannedImage=function(e,t){var i=this.parent,o={panDown:null};i.notify("selection",{prop:"getPanDown",onPropertyChange:!1,value:{obj:o}});var r={startPoint:o.panDown,endPoint:this.panMove,cancel:!1};i.trigger("panning",r),r.cancel||this.panEvent(e,t)},e.prototype.panEvent=function(e,t,i){var o=this.parent,r=!1;if(o.activeObj.shape&&"shape"===o.activeObj.shape&&o.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),(0,l.isNullOrUndefined)(o.activeObj.shape)){r=!0;var n=o.activeObj.activePoint={startX:o.img.destLeft,startY:o.img.destTop,endX:o.img.destLeft+o.img.destWidth,endY:o.img.destTop+o.img.destHeight},a=n.startX,s=n.startY,p=n.endX,d=n.endY;a<0&&(n.startX=0),s<0&&(n.startY=0),p>o.lowerCanvas.width&&(n.endX=o.lowerCanvas.width),d>o.lowerCanvas.height&&(n.endY=o.lowerCanvas.height),n.width=n.endX-n.startX,n.height=n.endY-n.startY,o.activeObj.shape="crop-custom";var h={strokeSettings:{}};o.notify("shape",{prop:"getStrokeSettings",onPropertyChange:!1,value:{obj:h}}),o.activeObj.strokeSettings=h.strokeSettings,o.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:n,obj:o.activeObj,isMouseMove:null,x:null,y:null}}),o.isCropTab=!0}if(0===o.transform.degree){var c=void 0;c=(0,l.isNullOrUndefined)(e)&&(0,l.isNullOrUndefined)(t)||i?i?this.updatePanPoints(e,t):this.updatePanPoints():{x:e,y:t},o.panPoint.totalPannedPoint.x+=c.x,o.panPoint.totalPannedPoint.y+=c.y;var u=(0,l.extend)({},o.activeObj,{},!0),v=this.lowerContext.filter;this.drawPannImage(c,r),this.lowerContext.filter=v,this.tempPanMove=(0,l.extend)({},this.panMove,{},!0),o.activeObj=(0,l.extend)({},u,{},!0),this.upperContext.clearRect(0,0,o.upperCanvas.width,o.upperCanvas.height),o.activeObj.shape&&o.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:o.activeObj}})}else{var g=o.transform.currFlipState;o.isCropTab=!0,(0,l.isNullOrUndefined)(e)&&(0,l.isNullOrUndefined)(t)||i?o.panPoint.currentPannedPoint=i?this.updatePanPoints(e,t):this.updatePanPoints():o.panPoint.currentPannedPoint={x:e,y:t},o.transform.currFlipState=g,this.rotatePan(null,null,r),o.isCropTab=!1,this.tempPanMove=(0,l.extend)({},this.panMove,{},!0)}r&&(o.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),o.isCropTab=!1,this.upperContext.clearRect(0,0,o.upperCanvas.width,o.upperCanvas.height))},e.prototype.drawPannImage=function(e,t){var i=this.parent,o=this.lowerContext.filter,r={startX:i.img.destLeft,startY:i.img.destTop,width:i.img.destWidth,height:i.img.destHeight};this.lowerContext.clearRect(0,0,i.lowerCanvas.width,i.lowerCanvas.height),i.notify("draw",{prop:"updateCurrTransState",onPropertyChange:!1,value:{type:"initial",isPreventDestination:null,isRotatePan:null}}),i.img.destLeft=r.startX,i.img.destTop=r.startY,i.img.destWidth=r.width,i.img.destHeight=r.height,this.setDestPointsForFlipState(),t&&(i.isCropTab=!1),i.notify("draw",{prop:"drawImage",onPropertyChange:!1}),t&&(i.isCropTab=!0),(i.currSelectionPoint&&"crop-circle"===i.currSelectionPoint.shape||i.isCircleCrop)&&i.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:!0}}),this.lowerContext.filter=o,i.notify("draw",{prop:"updateCurrTransState",onPropertyChange:!1,value:{type:"reverse",isPreventDestination:null,isRotatePan:null}}),i.img.destLeft=r.startX,i.img.destTop=r.startY,i.img.destWidth=r.width,i.img.destHeight=r.height;var n=this.lowerContext.filter;this.lowerContext.filter="none",t&&(i.isCropTab=!1),i.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"pan",pen:"pan",x:e.x,y:e.y,panRegion:""}}),t&&(i.isCropTab=!0),this.lowerContext.filter=n,i.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),i.isCircleCrop&&i.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:!0}})},e.prototype.resetZoom=function(){var e=this.parent;if(0!==e.transform.defaultZoomFactor){var t=e.isUndoRedo,i={currObj:{}};e.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:i}}),this.transCurrObj=i.currObj,this.transCurrObj.objColl=(0,l.extend)([],e.objColl,null,!0),this.transCurrObj.pointColl=(0,l.extend)({},e.pointColl,null,!0),this.transCurrObj.afterCropActions=(0,l.extend)([],e.afterCropActions,[],!0);var o={selPointColl:null};e.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:o}}),this.transCurrObj.selPointColl=(0,l.extend)([],o.selPointColl,[],!0),e.isUndoRedo=e.isCropToolbar=!0;var r=e.transform.defaultZoomFactor;r>0?this.zoomAction(-r):this.zoomAction(Math.abs(r)),e.isCropToolbar=!1,e.isUndoRedo=t}},e.prototype.performTransformation=function(e){var t=this.parent;this.resetZoom(),this.updateTransform(e);for(var i=0,o=t.objColl.length;i<o;i++)if(t.objColl[i].flipObjColl.length>0){var r={collection:t.objColl[i].flipObjColl};t.notify("shape",{prop:"alignRotateFlipColl",onPropertyChange:!1,value:{collection:r.collection,isRotateFlipCollection:null,obj:r}}),t.objColl[i].flipObjColl=r.collection,0===t.objColl[i].flipObjColl.length&&(t.objColl[i].shapeFlip="")}},e.prototype.updateTransform=function(e){switch(e.toLowerCase()){case"rotateleft":this.rotateImage(-90);break;case"rotateright":this.rotateImage(90);break;case"horizontalflip":this.flipImage(m.Horizontal);break;case"verticalflip":this.flipImage(m.Vertical)}},e.prototype.rotatePan=function(e,t,i){var o=this.parent;this.isReverseRotate=!0;var r,n=o.transform.degree,a={selPointColl:null};o.activeObj.activePoint&&o.activeObj.shape&&(r=(0,l.extend)({},o.activeObj,{},!0));var s=(0,l.extend)([],o.objColl,[],!0),p=(0,l.extend)([],o.pointColl,[],!0);o.objColl=[],o.pointColl=[],o.freehandCounter=0,o.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:a}});var d=a.selPointColl;o.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:[]}}}),o.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),o.notify("draw",{prop:"setRotateZoom",onPropertyChange:!1,value:{isRotateZoom:!0}}),o.notify("draw",{prop:"updateCurrTransState",onPropertyChange:!1,value:{type:"initial",isPreventDestination:null,isRotatePan:null}});var h=o.img.destLeft,c=o.img.destTop,u=o.panPoint.totalPannedInternalPoint;o.isCropTab&&(o.img.destLeft+=u.x,o.img.destTop+=u.y),o.notify("crop",{prop:"updateRotatePan",onPropertyChange:!1}),o.isCropTab&&(o.panPoint.totalPannedInternalPoint.x=o.img.destLeft-h,o.panPoint.totalPannedInternalPoint.y=o.img.destTop-c);var v=this.lowerContext.filter;i&&(o.isCropTab=!1),o.notify("draw",{prop:"drawImage",onPropertyChange:!1}),i&&(o.isCropTab=!0),o.notify("draw",{prop:"setRotateZoom",onPropertyChange:!1,value:{isRotateZoom:!1}}),o.notify("draw",{prop:"updateCurrTransState",onPropertyChange:!1,value:{type:"reverse",isPreventDestination:!0,isRotatePan:!0}});var g=o.img.destLeft,f=o.img.destTop;o.img.destLeft+=o.panPoint.totalPannedClientPoint.x,o.img.destTop+=o.panPoint.totalPannedClientPoint.y,o.img.destLeft+=o.panPoint.currentPannedPoint.x,o.img.destTop+=o.panPoint.currentPannedPoint.y,o.panPoint.totalPannedClientPoint.x=o.img.destLeft-g,o.panPoint.totalPannedClientPoint.y=o.img.destTop-f,o.objColl=s,o.pointColl=p,o.freehandCounter=o.pointColl.length,o.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:d}}}),o.transform.degree=n,this.lowerContext.filter="none",e&&(t?(o.panPoint.totalPannedClientPoint.x=-o.panPoint.totalPannedClientPoint.x,o.panPoint.totalPannedClientPoint.y=-o.panPoint.totalPannedClientPoint.y,o.panPoint.currentPannedPoint=(0,l.extend)({},o.panPoint.totalPannedClientPoint,{},!0),o.panPoint.totalPannedClientPoint={x:0,y:0},o.img.destLeft+=o.panPoint.currentPannedPoint.x,o.img.destTop+=o.panPoint.currentPannedPoint.y):o.panPoint.currentPannedPoint=(0,l.extend)({},o.panPoint.totalPannedClientPoint,{},!0)),i&&(o.isCropTab=!1),o.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"pan",pen:"pan",x:o.panPoint.currentPannedPoint.x,y:o.panPoint.currentPannedPoint.y,panRegion:""}}),i&&(o.isCropTab=!0),this.lowerContext.filter=v,o.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),this.upperContext.clearRect(0,0,o.upperCanvas.width,o.upperCanvas.height),o.activeObj=(0,l.extend)({},r,{},!0),o.activeObj.activePoint&&o.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:o.activeObj,isCropRatio:null,points:null,isPreventDrag:!0,saveContext:null,isPreventSelection:null}}),this.isReverseRotate=!1},e.prototype.limitPan=function(){var e=this.parent,t=e.activeObj.activePoint,i=t.startX,o=t.startY,r=t.endX,n=t.endY,a=e.img;e.activeObj.activePoint&&(a.destLeft>i&&(e.img.destLeft=i),a.destTop>o&&(e.img.destTop=o),a.destLeft+a.destWidth<r&&(e.img.destLeft=r-a.destWidth),a.destTop+a.destHeight<n&&(e.img.destTop=n-a.destHeight))},e.prototype.pan=function(e,t,i){var o=this.parent;!o.disabled&&o.isImageLoaded&&(e?(o.togglePan=!0,o.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:null}}),o.notify("selection",{prop:"setDragCanvas",value:{bool:!0}}),o.lowerCanvas.style.cursor=o.upperCanvas.style.cursor=o.cursor="grab",o.notify("selection",{prop:"setPanDown",onPropertyChange:!1,value:{panDown:null}}),(t||i)&&(t=t||0,i=i||0,(0,l.isNullOrUndefined)(this.panMove)&&(this.panMove={x:t,y:i}),(0,l.isNullOrUndefined)(this.tempPanMove)&&(this.tempPanMove={x:this.panMove.x,y:this.panMove.y}),this.panEvent(t,i,!0),this.tempPanMove=null)):(o.togglePan=o.currObjType.isCustomCrop=!1,o.notify("selection",{prop:"setDragCanvas",value:{bool:!1}}),o.lowerCanvas.style.cursor=o.upperCanvas.style.cursor=o.cursor="default"))},e.prototype.zoom=function(e,t){var i=this.parent;if(!i.disabled&&i.isImageLoaded){var o=this.getCurrentZoomFactor(e);if((0,l.isNullOrUndefined)(t))this.zoomAction(o,t);else for(var r=o>0?"zoomIn":"zoomOut",n=10*Math.abs(o),a=0;a<n;a++)i.notify("draw",{prop:"performPointZoom",onPropertyChange:!1,value:{x:t.x,y:t.y,type:r,isResize:null}});var s={action:o>0?"zoom-in":"zoom-out",actionEventArgs:i.editCompleteArgs};i.triggerEditCompleteEvent(s)}},e.prototype.getCurrentZoomFactor=function(e){return e>=1?this.prevZoomValue<1?e-this.prevZoomValue:.1*(e-this.prevZoomValue):e-this.prevZoomValue},e.prototype.setCurrPanRegion=function(e,t,i){var o=e;o=""===e?"horizontal"===t?"horizontal":"vertical"===t?"vertical":e:"horizontal"===e?"horizontal"===t?"horizontalVertical":"vertical"===t?"verticalHorizontal":90===t?"vertical":-90===t?"horizontal":e:"vertical"===e?"horizontal"===t?"horizontalVertical":"vertical"===t?"verticalHorizontal":90===t?"horizontal":-90===t?"vertical":e:"horizontal"===t?"vertical":"vertical"===t?"horizontal":e,i.panRegion=o},e.prototype.rotate=function(e,t){var i=this.parent;!i.disabled&&i.isImageLoaded&&e%90==0&&this.rotateImage(e),t.isRotate=!1},e.prototype.flip=function(e){var t=this.parent;!t.disabled&&t.isImageLoaded&&this.flipImage(e)},e.prototype.update=function(){var e=this.parent,t=0,i=!1,o={bool:!1},r=e.isStraightening,n=0,a=e.element.querySelector("#"+e.element.id+"_contextualToolbar"),s=e.element.querySelector(".e-contextual-toolbar-wrapper"),p=e.element.querySelector("#"+e.element.id+"_headWrapper");if(e.isImageLoaded){var d=!1,h=void 0;l.Browser.isDevice&&(e.activeObj.shape&&(h=e.activeObj.shape.split("-")),(e.currObjType.isCustomCrop||h&&"crop"===h[0])&&(d=!0));e.notify("toolbar",{prop:"getFrameToolbar",onPropertyChange:!1,value:{obj:{bool:null}}}),!r&&(a&&!a.parentElement.classList.contains("e-hide")||p&&!p.parentElement.classList.contains("e-hide"))&&(s.classList.add("e-hide"),d||e.okBtn(null,!0),e.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1}),e.notify("toolbar",{prop:"destroy-qa-toolbar",onPropertyChange:!1})),e.notify("selection",{prop:"getFreehandDrawEditing",onPropertyChange:!1,value:{obj:o}}),o.bool&&e.notify("toolbar",{prop:"destroy-qa-toolbar",onPropertyChange:!1});var c=(0,l.extend)({},e.activeObj.activePoint,{},!0);!e.activeObj.shape||0===c.width&&0===c.height||(i=!0,"block"===e.textArea.style.display||"inline-block"===e.textArea.style.display?(e.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:null}}),e.notify("toolbar",{prop:"destroy-qa-toolbar",onPropertyChange:!1})):(e.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),e.objColl.push(e.activeObj)),e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}))}e.updateDropInfoContent(e.element.querySelector(".e-ie-drop-info"));var u=this.lowerContext.filter,v=e.element.querySelector("#"+e.element.id+"_canvasWrapper");if(v&&(v.style.width=e.element.offsetWidth-2+"px"),e.lowerCanvas.width=e.upperCanvas.width=e.maskCanvas.width=e.element.offsetWidth-2,e.toolbarTemplate)t=e.element.querySelector("#"+e.element.id+"_toolbarArea").clientHeight;else if(e.element.querySelector("#"+e.element.id+"_toolbar")&&0===(t=e.element.querySelector("#"+e.element.id+"_toolbar").clientHeight)&&e.toolbar&&e.toolbar.length>0&&-1===e.toolbar.indexOf("Open")){var g={toolbarHeight:0};e.notify("toolbar",{prop:"getToolbarHeight",value:{obj:g}}),t=g.toolbarHeight}var f=e.element.querySelector("#"+e.element.id+"_contextualToolbarArea");if(l.Browser.isDevice&&r&&f&&(n=f.clientHeight),e.notify("toolbar",{prop:"setToolbarHeight",value:{height:t}}),l.Browser.isDevice?v&&(v.style.height=e.element.offsetHeight-(2*t+n)-4+"px"):v&&(v.style.height=e.element.offsetHeight-t-2+"px"),e.lowerCanvas.height=e.upperCanvas.height=parseFloat(v.style.height),this.lowerContext.filter="brightness(1) contrast(100%) hue-rotate(0deg) saturate(100%) opacity(1) blur(0px) sepia(0%) grayscale(0%) invert(0%)",e.notify("filter",{prop:"setAdjustmentValue",onPropertyChange:!1,value:{adjustmentValue:this.lowerContext.filter}}),e.canvasFilter=this.lowerContext.filter,e.initialAdjustmentValue=this.lowerContext.filter,e.clearContext(this.lowerContext),e.clearContext(this.upperContext),e.isImageLoaded){if(e.notify("shape",{prop:"applyActObj",onPropertyChange:!1,value:{isMouseDown:null}}),e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.lowerContext.filter=u,e.initialAdjustmentValue=u,e.canvasFilter=this.lowerContext.filter,e.isImageLoaded&&((0,I.showSpinner)(e.element),e.element.style.opacity="0.5"),this.lowerContext.clearRect(0,0,e.lowerCanvas.width,e.lowerCanvas.height),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),v){v.style.width=e.element.offsetWidth-2+"px",v.style.height=e.element.offsetHeight+"px";var m={toolbarHeight:0};e.notify("toolbar",{prop:"getToolbarHeight",value:{obj:m}}),l.Browser.isDevice?v.style.height=parseFloat(v.style.height)-2*m.toolbarHeight-n-4+"px":v.style.height=parseFloat(v.style.height)-m.toolbarHeight-2+"px"}e.lowerCanvas.width=e.upperCanvas.width=e.maskCanvas.width=parseFloat(v.style.width),e.lowerCanvas.height=e.upperCanvas.height=e.maskCanvas.height=parseFloat(v.style.height),this.lowerContext.filter=u,this.lowerContext.imageSmoothingQuality=e.imageSmoothingEnabled?"high":"low";g={width:0,height:0};this.calcMaxDimension(e.img.srcWidth,e.img.srcHeight,g);var b=g;if(r&&0!==e.transform.cropZoomFactor?(b.width+=b.width*e.transform.cropZoomFactor,b.height+=b.height*e.transform.cropZoomFactor):e.transform.defaultZoomFactor>0&&(b.width+=b.width*e.transform.defaultZoomFactor,b.height+=b.height*e.transform.defaultZoomFactor),e.img.destLeft=(e.lowerCanvas.clientWidth-b.width)/2,e.img.destTop=(e.lowerCanvas.clientHeight-b.height)/2,0===e.transform.degree&&""===e.transform.currFlipState)e.transform.defaultZoomFactor>0&&(e.img.destLeft+=e.panPoint.totalPannedPoint.x,e.img.destTop+=e.panPoint.totalPannedPoint.y),e.notify("draw",{prop:"draw-image-to-canvas",value:{dimension:b}});else{e.notify("draw",{prop:"draw-image-to-canvas",value:{dimension:b}}),e.notify("draw",{prop:"updateCurrTransState",onPropertyChange:!1,value:{type:"initial",isPreventDestination:null,isRotatePan:null}});var y=this.lowerContext.filter;e.notify("draw",{prop:"drawImage",onPropertyChange:!1}),this.lowerContext.filter=y,e.notify("draw",{prop:"updateCurrTransState",onPropertyChange:!1,value:{type:"reverse",isPreventDestination:null,isRotatePan:null}})}e.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),e.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),e.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.upperContext}}),e.isCircleCrop&&e.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}}),(0,I.hideSpinner)(e.element),e.element.style.opacity="1";var C={defToolbarItems:null};if(e.notify("toolbar",{prop:"getDefToolbarItems",value:{obj:C}}),C.defToolbarItems&&C.defToolbarItems.length>0&&e.element.querySelector("#"+e.element.id+"_toolbar")){var x=(0,l.getComponent)(e.element.id+"_toolbar","toolbar");x&&x.refreshOverflow(),s&&!r&&s.classList.add("e-hide")}if(e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),i){var w=(0,l.extend)({},e.objColl[e.objColl.length-1],null,!0);e.objColl.pop(),0!==w.activePoint.width&&0!==w.activePoint.height&&(this.lowerContext.clearRect(0,0,e.lowerCanvas.width,e.lowerCanvas.height),e.notify("draw",{prop:"render-image",value:{isMouseWheel:null}}),e.objColl.push(w),e.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),w=(0,l.extend)({},e.objColl[e.objColl.length-1],null,!0),e.objColl.pop(),this.lowerContext.clearRect(0,0,e.lowerCanvas.width,e.lowerCanvas.height),e.notify("draw",{prop:"render-image",value:{isMouseWheel:null}}),e.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:w}}),r&&e.notify("draw",{prop:"setStraightenActObj",value:{activeObj:w}}),"rectangle"!==e.activeObj.shape&&"ellipse"!==e.activeObj.shape&&"text"!==e.activeObj.shape&&"line"!==e.activeObj.shape&&"arrow"!==e.activeObj.shape&&"path"!==e.activeObj.shape&&"image"!==e.activeObj.shape||e.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:null}}))}if(o.bool&&e.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:!0}}),e.isResize&&(e.aspectWidth=Math.ceil(e.img.destWidth),e.aspectHeight=Math.ceil(e.img.destHeight),e.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"resize",isApplyBtn:!1,isCropping:!1}}),e.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"resize",isApplyBtn:!1,isCropping:!1}})),(0!==e.transform.degree||""!==e.transform.currFlipState)&&e.transform.defaultZoomFactor>0){var P=(0,l.extend)({},e.panPoint.totalPannedPoint,null,!0),S=(0,l.extend)({},e.panPoint.totalPannedInternalPoint,null,!0),j=(0,l.extend)({},e.panPoint.totalPannedClientPoint,null,!0);this.zoomAction(.1),this.zoomAction(-.1),0===e.transform.degree?(e.img.destLeft+=P.x,e.img.destTop+=P.y,e.panPoint.totalPannedPoint=P,e.notify("draw",{prop:"updateFlipPan",value:{tempSelectionObj:null}})):(e.panPoint.totalPannedInternalPoint=S,e.panPoint.totalPannedClientPoint=j,e.panPoint.currentPannedPoint={x:0,y:0},e.isCropTab=!0,this.rotatePan(),e.isCropTab=!1)}else 0!==e.transform.degree&&e.transform.cropZoomFactor>0&&(e.transform.zoomFactor=0,e.transform.cropZoomFactor=null,e.notify("toolbar",{prop:"enable-disable-btns",onPropertyChange:!1}))}},e.prototype.calcMaxDimension=function(e,t,i,o){var r={toolbarHeight:0},n=this.parent;n.notify("toolbar",{prop:"getToolbarHeight",value:{obj:r}});var a=n.imageSettings.width?n.imageSettings.width:n.element.clientWidth,s=n.imageSettings.height?n.imageSettings.height:n.element.clientHeight-r.toolbarHeight,p=o?n.element.clientWidth/3:a,d=o?(n.element.clientHeight-r.toolbarHeight)/3:s;if(d=l.Browser.isDevice?d-r.toolbarHeight:d,l.Browser.isDevice&&n.isStraightening){var h=n.element.querySelector("#"+n.element.id+"_contextualToolbarArea");d-=h?h.clientHeight:0}o||0!==n.element.clientHeight||(d=0);var c=!(!n.imageSettings.width||!n.imageSettings.height);(0,l.isNullOrUndefined)(o)&&!c&&(p>30&&(p-=30),d>30&&(d-=30));var u=p/e,v=d/t,g=Math.min(e,p),f=Math.min(t,d);if(u<1&&u<v?(g=e*u,f=t*u):v<1&&v<u&&(g=e*v,f=t*v),(0,l.isNullOrUndefined)(o)){var m={bool:null};n.notify("crop",{prop:"getPreventScaling",onPropertyChange:!1,value:{obj:m}}),m.bool&&n.cropObj.activeObj.activePoint&&0!==n.cropObj.activeObj.activePoint.width&&0!==n.cropObj.activeObj.activePoint.height&&(g=n.cropObj.activeObj.activePoint.width,f=n.cropObj.activeObj.activePoint.height)}return i&&(i.width=g,i.height=f),{width:g,height:f}},e.prototype.updatePanPoints=function(e,t){var i=this.parent,o=(0,l.extend)({},i.activeObj,{},!0),r=i.img.destLeft,n=i.img.destTop;(0,l.isNullOrUndefined)(this.tempPanMove)&&(this.tempPanMove={x:this.panMove.x,y:this.panMove.y});var a=this.panMove.x-this.tempPanMove.x,s=this.panMove.y-this.tempPanMove.y;(e||t)&&(a=e,s=t),i.img.destLeft+=a,i.img.destTop+=s,this.limitPan();var p={bool:null},d={isIntersect:null};i.notify("draw",{prop:"updateImgCanvasPoints",onPropertyChange:!1}),i.notify("draw",{prop:"isLinesIntersect",onPropertyChange:!1,value:{obj:d}}),i.notify("draw",{prop:"isSelOutsideImg",onPropertyChange:!1,value:{obj:p}});for(var h=0;0!==i.transform.straighten&&(d.isIntersect||p.bool)&&(h++,i.img.destLeft=r,i.img.destTop=n,0!==a&&a>0?a-=1:0!==a&&a<0&&(a+=1),0!==s&&s>0?s-=1:0!==s&&s<0&&(s+=1),(0!==a||0!==s)&&200!==h);)i.img.destLeft+=a,i.img.destTop+=s,this.limitPan(),i.notify("draw",{prop:"updateImgCanvasPoints",onPropertyChange:!1}),i.notify("draw",{prop:"isLinesIntersect",onPropertyChange:!1,value:{obj:d}}),i.notify("draw",{prop:"isSelOutsideImg",onPropertyChange:!1,value:{obj:p}});return i.activeObj=o,{x:i.img.destLeft-r,y:i.img.destTop-n}},e.prototype.resizeImage=function(e,t){var i=this.parent,o=!0,r=!0;i.allowDownScale=!1,i.img.srcLeft=0,i.img.srcTop=0,i.isAspectRatio=!0;var n=[];for(i.img.srcWidth=i.baseImgCanvas.width,i.img.srcHeight=i.baseImgCanvas.height,i.resizeSrc&&0!==i.resizeSrc.width&&0!==i.resizeSrc.height&&(i.img.srcLeft=i.resizeSrc.startX,i.img.srcTop=i.resizeSrc.startY,i.img.srcWidth=i.resizeSrc.width,i.img.srcHeight=i.resizeSrc.height);(e<i.img.destWidth||t<i.img.destHeight)&&r;)if(this.zoomAction(-.1,null,!0,!0),e>i.img.destWidth||t>i.img.destHeight)for(;e>i.img.destWidth||t>i.img.destHeight;)this.zoomAction(.0125,null,!0,!0),r=!1,n.push(i.img.destWidth);for(;(e>i.img.destWidth||t>i.img.destHeight)&&r&&o;)if(this.zoomAction(.1,null,!0,!0),e<i.img.destWidth||t<i.img.destHeight)for(;e<i.img.destWidth;)this.zoomAction(-.0125,null,!0,!0),o=!1,n.push(i.img.destWidth);for(var a=n[0],s=Math.abs(i.img.destWidth-a),p=0,d=n;p<d.length;p++){var h=d[p],c=Math.abs(e-h);c<s&&(a=h,s=c)}a<e&&o&&(this.zoomAction(-.0125,null,!0,!0),o=!1),a>e&&!o&&(this.zoomAction(.0125,null,!0,!0),o=!1),this.zoomAction(.0125,null,!0),i.allowDownScale=!0,this.zoomAction(-.0125,null,!0);var u=(0,l.extend)({},i.cropObj,{},!0),v=(0,l.extend)({},this.prevResizeCurrObj,{},!0);i.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"resize",previousObj:v,previousObjColl:v.objColl,previousPointColl:v.pointColl,previousSelPointColl:v.selPointColl,previousCropObj:u,previousText:null,currentText:null,previousFilter:null,isCircleCrop:i.isCircleCrop}}),i.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}})},e.prototype.resizeCrop=function(e,t){var i=this.parent,o=!0,r={prevObj:i.prevObj};i.cropObj=(0,l.extend)({},i.prevCropObj,{},!0),i.allowDownScale=!1,i.notify("toolbar",{prop:"getPrevObj",onPropertyChange:!1,value:{obj:r}});var n=(0,l.extend)({},r.prevObj.activeObj,{},!0);r.prevObj.activeObj=(0,l.extend)({},i.activeObj,{},!0),i.notify("draw",{prop:"setCurrentObj",onPropertyChange:!1,value:{obj:r.prevObj}}),i.objColl=(0,l.extend)([],r.prevObj.objColl,[],!0),i.pointColl=(0,l.extend)([],r.prevObj.pointColl,[],!0),i.transform.straighten=0,i.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),0!==i.transform.straighten||this.isPreventSelect||i.notify("freehand-draw",{prop:"updateFHDColl",onPropertyChange:!1});var a=e,s=t,p=!1;if(t>=e&&t<=Math.ceil(i.img.destHeight)){for(;t<=Math.ceil(i.img.destHeight)&&o;)if(this.zoomAction(-.1,null,!0,!0),e>i.img.destWidth||t>i.img.destHeight)for(;e>i.img.destWidth||t>i.img.destHeight;)this.zoomAction(.0125,null,!0,!0),o=!1}else if(t<=e&&e<i.img.destWidth){for(;e<i.img.destWidth&&o;)if(this.zoomAction(-.1,null,!0,!0),e>i.img.destWidth||t>i.img.destHeight)for(;e>i.img.destWidth||t>i.img.destHeight;)this.zoomAction(.0125,null,!0,!0),o=!1}else if(t>=e&&t>=i.img.destHeight)for(;t>=i.img.destHeight&&o;)this.zoomAction(.1,null,!0,!0);else if(e>=t&&e>=i.img.destWidth){for(;e>=i.img.destWidth&&o;)this.zoomAction(.1,null,!0,!0);if(e<i.img.destWidth&&t<i.img.destHeight){for(;e<i.img.destWidth&&t<i.img.destHeight;)this.zoomAction(-.0125,null,!0,!0),o=!1;this.zoomAction(.0125,null,!0,!0)}}else if(t>i.img.destHeight&&e>i.img.destWidth){for(;t>i.img.destHeight&&e>i.img.destWidth&&o;)this.zoomAction(.1,null,!0,!0);if(e<i.img.destWidth&&t<i.img.destHeight){for(;e<i.img.destWidth&&t<i.img.destHeight;)this.zoomAction(-.0125,null,!0,!0),o=!1;this.zoomAction(.0125,null,!0,!0)}}if(!i.isPublicMethod||i.aspectWidth!==e||i.aspectHeight!==t){if(this.resizeImg(n,e,t),e=a,(t=s)!==i.img.destHeight||e!==i.img.destWidth){for(;t>i.img.destHeight||e>i.img.destWidth;)this.zoomAction(.0125,null,!0,!0),p=!0;p&&(this.zoomAction(-.0125,null,!0,!0),p=!1)}if(t!==i.img.destHeight||e!==i.img.destWidth){for(;t<i.img.destHeight||e<i.img.destWidth;)this.zoomAction(-.0125,null,!0,!0),p=!0;p&&(this.zoomAction(-.0125,null,!0,!0),p=!1)}r.prevObj.activeObj=(0,l.extend)({},n,{},!0),this.zoomAction(.0125,null,!0),i.allowDownScale=!this.preventDownScale,i.isCropTab=!1,this.zoomAction(-.0125,null,!0),i.aspectWidth=e,i.aspectHeight=t}},e.prototype.resizeImg=function(e,t,i){var o=this.parent,r=t/o.img.destWidth,n=i/o.img.destHeight;e.shape?(o.currSelectionPoint=e,o.notify("crop",{prop:"setInitCrop",onPropertyChange:!1,value:{bool:!0}})):o.img.srcWidth===o.baseImgCanvas.width&&o.img.srcHeight===o.baseImgCanvas.height&&(o.currSelectionPoint=null,o.notify("draw",{prop:"select",onPropertyChange:!1,value:{type:"custom",startX:null,startY:null,width:null,height:null}})),(0,l.isNullOrUndefined)(o.currSelectionPoint)?o.shapeColl.some(function(e){return e.rotatedAngle&&0!==e.rotatedAngle})||o.notify("draw",{prop:"select",onPropertyChange:!1,value:{type:"custom",startX:o.img.destLeft,startY:o.img.destTop,width:o.img.destWidth,height:o.img.destHeight}}):o.notify("draw",{prop:"select",onPropertyChange:!1,value:{type:"custom",startX:null,startY:null,width:null,height:null}}),t=o.activeObj.activePoint.width*r,i=o.activeObj.activePoint.height*n;for(var a=o.activeObj.activePoint.startX+o.activeObj.activePoint.width/2-t/2,s=o.activeObj.activePoint.startY+o.activeObj.activePoint.height/2-i/2,p=0;l.Browser.isDevice&&p<500&&(a<0||s<0||a+t>o.img.destWidth||s+i>o.img.destHeight);)p++,t-=1,i-=1,a=o.activeObj.activePoint.startX+o.activeObj.activePoint.width/2-t/2,s=o.activeObj.activePoint.startY+o.activeObj.activePoint.height/2-i/2;if(o.transform.defaultZoomFactor=0,o.notify("draw",{prop:"setResizeSelect",value:{bool:!0}}),o.notify("draw",{prop:"setIsCropSelect",value:{bool:!0}}),o.notify("draw",{prop:"select",onPropertyChange:!1,value:{type:"custom",startX:a,startY:s,width:t,height:i}}),o.notify("draw",{prop:"setResizeSelect",value:{bool:!1}}),0!==o.transform.straighten){var d={isIntersect:null,arr:null};for(o.notify("draw",{prop:"updateImgCanvasPoints",onPropertyChange:!1}),o.notify("draw",{prop:"isLinesIntersect",onPropertyChange:!1,value:{obj:d}});d.arr[0]||d.arr[1]||d.arr[2]||d.arr[3];)this.zoomAction(.0125,null,!0),o.notify("draw",{prop:"updateImgCanvasPoints",onPropertyChange:!1}),o.notify("draw",{prop:"isLinesIntersect",onPropertyChange:!1,value:{obj:d}})}o.isCropToolbar=!0,o.crop(),o.isCropToolbar=!1},e.prototype.updateResize=function(){var e=this.parent;e.prevCropObj=(0,l.extend)({},e.cropObj,{},!0);var t={currObj:{}};e.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:t}}),e.prevObj=t.currObj,e.currSelectionPoint&&e.prevCropObj.activeObj.shape&&(e.prevObj.activeObj=(0,l.extend)({},e.prevCropObj.activeObj,{},!0)),e.prevObj.objColl=(0,l.extend)([],e.objColl,[],!0),e.prevObj.pointColl=(0,l.extend)([],e.pointColl,[],!0),e.prevObj.afterCropActions=(0,l.extend)([],e.afterCropActions,[],!0);var i={selPointColl:null};e.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:i}}),e.prevObj.selPointColl=(0,l.extend)([],i.selPointColl,[],!0),e.resizeSrc={startX:e.img.srcLeft,startY:e.img.srcTop,width:e.img.srcWidth,height:e.img.srcHeight}},e.prototype.resize=function(e,t,i){var o,r=this.parent;r.isResize=!0,(0,l.isNullOrUndefined)(r.prevCropObj)&&(0,l.isNullOrUndefined)(r.prevObj)&&r.notify("transform",{prop:"updateResize",value:{bool:!1}});var n=r.element.querySelector("#"+r.element.id+"_aspectratio"),a=r.element.querySelector("#"+r.element.id+"_nonaspectratio");n&&a&&(r.notify("toolbar",{prop:"initResizeToolbar"}),l.Browser.isDevice&&r.notify("toolbar",{prop:"init-main-toolbar",value:{isApplyBtn:!1,isDevice:!0,isOkBtn:!0,isResize:!0}}));var s=r.element.querySelector("#"+r.element.id+"_resizeHeight");o=s?""===s.value?s.placeholder:s.value:t+"px";var p={cancel:!1,previousWidth:Math.ceil(r.img.destWidth),previousHeight:Math.ceil(r.img.destHeight),width:Math.ceil(e),height:t&&0!==t?Math.ceil(t):i?Math.ceil(parseFloat(o)):Math.ceil(r.img.destHeight),isAspectRatio:i||!1};r.trigger("resizing",p),r.editCompleteArgs=p,p.cancel?r.aspectHeight&&r.aspectWidth&&(r.aspectHeight=p.previousHeight,r.aspectWidth=p.previousWidth):this.resizeEventHandler(p)},e.prototype.resizeEventHandler=function(e){var t,i=this.parent,o=i.element.querySelector("#"+i.element.id+"_resizeWidth"),r=i.element.querySelector("#"+i.element.id+"_resizeHeight");if(e.isAspectRatio)if(null!=this.resizedImgAngle&&this.resizedImgAngle===i.transform.degree||(this.resizedImgAngle=i.transform.degree,t=!0),t){i.notify("transform",{prop:"resizeImage",value:{width:e.width,height:0}});var n=i.img.destWidth,a=i.img.destHeight;if(r){var s=parseFloat(""===o.value?o.placeholder:o.value)/(n/a),p=s%1>=.5||s%1<=-.5?Math.round(s):s<0?Math.ceil(s):Math.floor(s);if((0,l.getComponent)(r,"numerictextbox").value=p,r.value=p.toString()+" px",i.aspectHeight=p,o&&""===o.value){var d=(s=parseFloat(""===r.value?r.placeholder:r.value)/(a/n))%1>=.5||s%1<=-.5?Math.round(s):s<0?Math.ceil(s):Math.floor(s);(0,l.getComponent)(o,"numerictextbox").value=d,o.value=d.toString()+" px",i.aspectWidth=d}}}else i.notify("transform",{prop:"resizeImage",value:{width:e.width,height:null}});else null!==this.resizedImgAngle&&this.resizedImgAngle!==i.transform.degree&&(this.resizedImgAngle=i.transform.degree,t=!0),t?(i.notify("transform",{prop:"setPreventDownScale",value:{bool:!0}}),i.notify("transform",{prop:"resizeCrop",value:{width:e.width,height:e.height}}),i.notify("undo-redo",{prop:"setPreventUR",value:{bool:!0}}),i.okBtn(null,!0),i.notify("undo-redo",{prop:"setPreventUR",value:{bool:!1}}),i.resizeSrc={startX:i.img.srcLeft,startY:i.img.srcTop,width:i.img.srcWidth,height:i.img.srcHeight},i.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"resize",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}),i.notify("transform",{prop:"setPreventDownScale",value:{bool:!1}}),i.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"resize",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}})):i.notify("transform",{prop:"resizeCrop",value:{width:e.width,height:e.height}});this.resizedImgAngle=i.transform.degree},e.prototype.straightenImage=function(e){var t=this.parent,i=t.activeObj.shape&&t.activeObj.shape.indexOf("crop-")>-1;t.toolbar&&0===t.toolbar.length&&t.notify("draw",{prop:"select",onPropertyChange:!1,value:{type:"custom",startX:null,startY:null,width:null,height:null}}),t.notify("toolbar",{prop:"performCropTransformClick",value:{shape:null}}),t.setStraighten(e),i||t.okBtn()},e}(),V=function(){function e(e){this.undoRedoStep=0,this.undoRedoColl=[],this.appliedUndoRedoColl=[],this.tempUndoRedoColl=[],this.tempUndoRedoStep=0,this.isPreventing=!1,this.preventEditComplete=!1,this.preventApplyEditComplete=!1,this.parent=e,this.addEventListener()}return e.prototype.destroy=function(){this.parent.isDestroyed||this.removeEventListener()},e.prototype.addEventListener=function(){this.parent.on("undo-redo",this.undoRedo,this),this.parent.on("destroyed",this.destroy,this)},e.prototype.removeEventListener=function(){this.parent.off("undo-redo",this.undoRedo),this.parent.off("destroyed",this.destroy)},e.prototype.initializeUrPvtProp=function(){this.parent.lowerCanvas&&(this.lowerContext=this.parent.lowerCanvas.getContext("2d")),this.parent.upperCanvas&&(this.upperContext=this.parent.upperCanvas.getContext("2d"))},e.prototype.undoRedo=function(e){switch(this.initializeUrPvtProp(),e.prop){case"updateUndoRedoColl":this.updateUrc(e.value.operation,e.value.previousObj,e.value.previousObjColl,e.value.previousPointColl,e.value.previousSelPointColl,e.value.previousCropObj,e.value.previousText,e.value.currentText,e.value.previousFilter,e.value.isCircleCrop);break;case"refreshUrc":this.refreshUrc(e.value.bool);break;case"updateCurrUrc":this.updateCurrUrc(e.value.type,e.value.isCancel);break;case"call-undo":this.callUndo();break;case"call-redo":this.callRedo();break;case"undo":this.undo();break;case"redo":this.redo();break;case"updateUrObj":this.updateUrObj(e.value.objColl,e.value.operation);break;case"updateUndoRedo":this.updateUndoRedo(e.value?e.value.operation:null);break;case"getAppliedUndoRedoColl":e.value.obj.appliedUndoRedoColl=this.appliedUndoRedoColl;break;case"getUndoRedoStep":e.value.obj.undoRedoStep=this.undoRedoStep;break;case"setUndoRedoStep":this.undoRedoStep=e.value.step;break;case"undoDefault":this.undoDefault(e.value.obj);break;case"setPreventUR":this.isPreventing=e.value.bool;break;case"updateUndoRedoStack":e.value&&e.value.isPenDraw?this.updateUndoRedoStack(e.value.isPenDraw):this.updateUndoRedoStack();break;case"preventEditComplete":e.value.obj.bool=this.preventEditComplete;break;case"preventApplyEditComplete":this.preventApplyEditComplete=e.value.bool;break;case"reset":this.reset()}},e.prototype.getModuleName=function(){return"undo-redo"},e.prototype.reset=function(){this.tempCurrSelPoint=null,this.undoRedoStep=0,this.undoRedoColl=[],this.appliedUndoRedoColl=[],this.tempActObj=null,this.tempUndoRedoColl=[],this.tempUndoRedoStep=0,this.isPreventing=!1,this.preventEditComplete=this.preventApplyEditComplete=!1},e.prototype.refreshUrc=function(e){var t=this.parent;t.isImageUpdated||((e=e||!1)&&(t.notify("toolbar",{prop:"setEnableDisableUndoRedo",value:{isPrevent:!0}}),this.tempUndoRedoColl=(0,l.extend)([],this.appliedUndoRedoColl,[],!0),this.tempUndoRedoStep=this.undoRedoStep),t.notify("toolbar",{prop:"setEnableDisableUndoRedo",value:{isPrevent:!1}}),this.undoRedoColl=this.undoRedoColl.slice(0,this.undoRedoStep),this.appliedUndoRedoColl=this.appliedUndoRedoColl.slice(0,this.undoRedoStep),t.isUndoRedo=t.currObjType.isUndoAction=!1,t.notify("toolbar",{prop:"enable-disable-btns"}))},e.prototype.updateCurrUrc=function(e,t){var i=this.parent;if(!(i.isResize||this.isPreventing||i.noPushUndo)){if(i.notify("toolbar",{prop:"setEnableDisableUndoRedo",value:{isPrevent:!1}}),"ok"===e){i.notify("draw",{prop:"setShapeTextInsert",onPropertyChange:!1,value:{bool:!1}});var o=this.tempUndoRedoColl.length>0?(0,l.extend)([],this.tempUndoRedoColl,[],!0):(0,l.extend)([],this.undoRedoColl,[],!0),r=this.undoRedoColl[this.undoRedoColl.length-1],n=this.appliedUndoRedoColl[this.appliedUndoRedoColl.length-1],a=r?(0,l.extend)({},r.previousObj,{},!0):null;if((0,l.isNullOrUndefined)(n)?this.undoRedoColl[0]&&(r.previousCropObj=o[0].previousCropObj,r.previousObj=o[0].previousObj,r.previousObjColl=o[0].previousObjColl,r.previousPointColl=o[0].previousPointColl,r.previousText=o[0].previousText):"imageHFlip"!==r.operation&&"imageVFlip"!==r.operation&&(r.previousCropObj=n.currentCropObj,r.previousObj=n.currentObj,r.previousObjColl=n.currentObjColl,r.previousPointColl=n.currentPointColl,r.previousText=n.currentText,"frame"===r.operation&&r.previousObj&&a&&(r.previousObj.defaultZoom=a.defaultZoom,r.previousObj.zoomFactor=a.zoomFactor,r.previousObj.cropZoom=a.cropZoom)),r){if("imageHFlip"!==r.operation&&"imageVFlip"!==r.operation){var s=this.getZeroZoomObjPointValue(r.currentObjColl,r.currentPointColl);r.currentObjColl=s.obj,r.currentPointColl=s.point;var p={adjustmentLevel:null};i.notify("filter",{prop:"getAdjustmentLevel",onPropertyChange:!1,value:{obj:p}}),r.currentObj.adjustmentLevel=(0,l.extend)({},p.adjustmentLevel,{},!0),i.notify("filter",{prop:"setTempAdjVal"}),r.currentObj.currentFilter=i.currentFilter}this.appliedUndoRedoColl.push(r),t||this.triggerActionCompletedEvent(r.operation)}this.tempUndoRedoColl=[],this.tempUndoRedoStep=0}else this.tempUndoRedoColl.length>0&&(this.appliedUndoRedoColl=(0,l.extend)([],this.tempUndoRedoColl,[],!0),this.undoRedoStep=this.tempUndoRedoStep,this.tempUndoRedoColl=[],this.tempUndoRedoStep=0);var d=this.appliedUndoRedoColl[this.appliedUndoRedoColl.length-1],h=this.appliedUndoRedoColl[this.appliedUndoRedoColl.length-2];if(this.appliedUndoRedoColl.length>16)this.appliedUndoRedoColl.splice(0,1);else if(!t&&d&&h)if(("shapeTransform"===d.operation&&"shapeTransform"===h.operation||"shapeInsert"===d.operation&&"shapeInsert"===h.operation)&&JSON.stringify(d.currentObjColl)===JSON.stringify(h.currentObjColl)||"freehand-draw"===d.operation&&"freehand-draw"===h.operation&&JSON.stringify(d.currentPointColl)===JSON.stringify(h.currentPointColl)||"freehanddrawCustomized"===d.operation&&"freehanddrawCustomized"===h.operation&&JSON.stringify(d.currentPointColl)===JSON.stringify(h.currentPointColl))this.appliedUndoRedoColl.splice(this.appliedUndoRedoColl.length-1,1);else if(this.undoRedoStep!==this.appliedUndoRedoColl.length-1&&(d=this.appliedUndoRedoColl[this.appliedUndoRedoColl.length-1],h=this.appliedUndoRedoColl[this.undoRedoStep],d&&h&&"shapeTransform"===d.operation&&"shapeTransform"===h.operation&&JSON.stringify(d.currentObjColl)===JSON.stringify(h.previousObjColl)))return this.appliedUndoRedoColl.splice(this.appliedUndoRedoColl.length-1,1),this.undoRedoColl=[],void(this.undoRedoColl=(0,l.extend)([],this.appliedUndoRedoColl,[],!0));this.undoRedoColl=[],this.undoRedoColl=(0,l.extend)([],this.appliedUndoRedoColl,[],!0),"ok"===e&&(this.undoRedoStep=this.undoRedoColl.length,i.notify("toolbar",{prop:"enable-disable-btns"})),i.transform.zoomFactor>0&&(i.togglePan=!0,i.notify("selection",{prop:"setDragCanvas",value:{bool:!0}}))}},e.prototype.triggerActionCompletedEvent=function(e){var t=this.parent,i={action:{brightness:"fine-tune",contrast:"fine-tune",hue:"fine-tune",saturation:"fine-tune",opacity:"fine-tune",blur:"fine-tune",exposure:"fine-tune",default:"filter",chrome:"filter",cold:"filter",warm:"filter",grayscale:"filter",sepia:"filter",invert:"filter",deleteObj:"shape-delete",deleteFreehandDrawing:"freehand-draw-delete",shapeInsert:"shape-insert",shapeTransform:"shape-customize",freehanddrawCustomized:"freehand-draw-customize"}[e]||e,actionEventArgs:t.editCompleteArgs};t.triggerEditCompleteEvent(i)},e.prototype.getUndoRedoAction=function(e){return{brightness:"fine-tune",contrast:"fine-tune",hue:"fine-tune",saturation:"fine-tune",opacity:"fine-tune",blur:"fine-tune",exposure:"fine-tune",default:"filter",chrome:"filter",cold:"filter",warm:"filter",grayscale:"filter",sepia:"filter",invert:"filter",deleteObj:"shape-delete",deleteFreehandDrawing:"freehand-drawing-delete",shapeInsert:"shape-insert",shapeTransform:"shape-customize",imageRotate:"shape-customize",freehanddraw:"freehand-draw",freehanddrawCustomized:"freehand-draw-customize",textAreaCustomization:"text-area-customization",imageHFlip:"shape-customize",imageVFlip:"shape-customize",bgColor:"background-color",updateImage:"image-update"}[e]||e},e.prototype.cancelCropSelection=function(){var e,t=this.parent,i=!1;t.activeObj.shape&&(e=t.activeObj.shape.split("-")),(t.currObjType.isCustomCrop||e&&"crop"===e[0])&&(i=!0),i&&t.notify("draw",{prop:"performCancel",value:{isContextualToolbar:null}}),0===this.tempUndoRedoColl.length&&0===this.tempUndoRedoStep||(this.appliedUndoRedoColl=(0,l.extend)([],this.tempUndoRedoColl,[],!0),this.undoRedoColl=(0,l.extend)([],this.tempUndoRedoColl,[],!0),this.undoRedoStep=this.tempUndoRedoStep,this.tempUndoRedoColl=[],this.tempUndoRedoStep=0,t.notify("toolbar",{prop:"setEnableDisableUndoRedo",value:{isPrevent:!1}}))},e.prototype.refreshToolbarActions=function(){var e=this.parent;e.activeObj.shape?(e.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"shapes",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}),e.notify("toolbar",{prop:"update-toolbar-items",onPropertyChange:!1})):e.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1})},e.prototype.applyCurrentChanges=function(){var e=this.parent;e.currObjType.isFiltered=!1,0===e.transform.zoomFactor&&(e.togglePan=!1,e.notify("selection",{prop:"setDragCanvas",value:{bool:!1}})),e.element.querySelector(".e-contextual-toolbar-wrapper")&&e.element.querySelector(".e-contextual-toolbar-wrapper").classList.add("e-hide"),e.togglePen&&(e.togglePen=!1,e.upperCanvas.style.cursor=e.cursor="default",this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height)),this.appliedUndoRedoColl.length>0&&(this.undoRedoColl=(0,l.extend)([],this.appliedUndoRedoColl,[],!0))},e.prototype.callUndo=function(){this.applyCurrentChanges(),this.undo()},e.prototype.callRedo=function(){this.applyCurrentChanges(),this.redo()},e.prototype.undo=function(){var e=this.parent;if(this.cancelCropSelection(),e.notify("draw",{prop:"resetFrameZoom",onPropertyChange:!1,value:{isOk:!1}}),!e.disabled&&e.isImageLoaded&&this.undoRedoStep>0){this.refreshToolbarActions(),e.activeObj.activePoint&&0!==e.activeObj.activePoint.width&&(this.tempActObj=e.activeObj),e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.undoRedoStep--,e.notify("toolbar",{prop:"enable-disable-btns"}),e.element.querySelector(".e-contextual-toolbar-wrapper")&&e.element.querySelector(".e-contextual-toolbar-wrapper").classList.add("e-hide"),e.isUndoRedo=!0;var t=this.undoRedoColl[this.undoRedoStep];this.undoRedoColl.length===this.undoRedoStep?e.currObjType.isUndoAction=!1:e.currObjType.isUndoAction=!0,"textAreaCustomization"===t.operation||"block"!==e.textArea.style.display&&"inline-block"!==e.textArea.style.display||(e.textArea.style.display="none"),e.notify("draw",{prop:"setCancelAction",onPropertyChange:!1,value:{bool:!0}});e.cropObj=(0,l.extend)({},t.previousCropObj,{},!0),e.afterCropActions=t.previousObj.afterCropActions,this.lowerContext.filter=t.previousObj.filter,e.notify("filter",{prop:"setAdjustmentLevel",onPropertyChange:!1,value:{adjustmentLevel:t.previousObj.adjustmentLevel}}),e.notify("filter",{prop:"setTempAdjVal"}),e.currentFilter=t.previousObj.currentFilter,e.notify("filter",{prop:"setTempFilVal"}),e.canvasFilter=this.lowerContext.filter,e.initialAdjustmentValue=this.lowerContext.filter,e.notify("filter",{prop:"setBevelFilter",onPropertyChange:!1,value:{bevelFilter:this.lowerContext.filter}});var i={action:this.getUndoRedoAction(t.operation)},o=void 0;if("freehanddraw"===t.operation||"freehand-draw"===t.operation){var r={isSelected:null};e.notify("freehand-draw",{prop:"getFHDSelected",onPropertyChange:!1,value:{obj:r}}),o=r.isSelected}switch(t.operation){case"shapeTransform":case"brightness":case"contrast":case"hue":case"saturation":case"opacity":case"blur":case"exposure":case"default":case"chrome":case"cold":case"warm":case"grayscale":case"blackandwhite":case"sepia":case"invert":case"sharpen":case"imageRotate":case"shapeInsert":this.shapeTransform(t.previousObjColl,t.previousPointColl);break;case"freehanddraw":case"freehand-draw":this.updateFreehandDraw(t.previousPointColl,t.previousSelPointColl),e.notify("freehand-draw",{prop:"setCurrentFreehandDrawIndex",value:{value:e.pointColl.length}}),o&&(e.notify("freehand-draw",{prop:"resetFHDIdx"}),e.notify("selection",{prop:"resetFreehandDrawVariables"}));break;case"freehanddrawCustomized":this.updateFreehandDrawCustomized(t.previousObjColl,t.previousPointColl);break;case"deleteFreehandDrawing":case"deleteObj":this.updateDelete(t.operation,t.previousObjColl,t.previousPointColl,t.previousSelPointColl);break;case"textAreaCustomization":this.shapeTransform(t.previousObjColl,t.previousPointColl),this.updateTextAreaCustomization(void 0,t.previousObjColl);break;case"text":this.updateText(t.previousObjColl,!0);break;case"frame":e.transform.zoomFactor=e.transform.defaultZoomFactor=t.previousObj.defaultZoom,e.setProperties({zoomSettings:{zoomFactor:t.previousObj.zoomFactor}},!0),e.notify("transform",{prop:"setPreviousZoomValue",onPropertyChange:!1,value:{previousZoomValue:e.zoomSettings.zoomFactor}}),(0,l.extend)(e.frameObj,t.previousObj.frameObj),e.notify("draw",{prop:"render-image",value:{isMouseWheel:!0,isPreventClearRect:null,isFrame:!0}});break;case"imageHFlip":this.imageFlip("horizontal",t.previousObjColl);break;case"imageVFlip":this.imageFlip("vertical",t.previousObjColl);break;case"bgColor":e.notify("draw",{prop:"imageBackgroundColor",onPropertyChange:!1,value:{color:t.previousObj.bgColor}}),e.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}});break;case"updateImage":e.isImageUpdated=!0,e.baseImg.src=t.previousObj.imageSource,setTimeout(function(){0!==e.cropObj.straighten?(e.notify("toolbar",{prop:"performCropTransformClick",value:{shape:"crop-custom"}}),e.noPushUndo=!0,e.crop(),e.noPushUndo=!1):e.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}}),e.isImageUpdated=!1});break;default:this.undoDefault(t,!0),e.notify("filter",{prop:"set-adjustment",value:{operation:t.operation}}),e.notify("filter",{prop:"update-filter",value:{operation:t.operation,filter:t.filter}})}if("crop"===t.operation){t.previousObj.currSelectionPoint&&(e.currSelectionPoint=(0,l.extend)({},t.previousObj.currSelectionPoint,{},!0),e.currSelectionPoint&&(0,l.isNullOrUndefined)(e.currSelectionPoint.shape)&&(e.currSelectionPoint=null)),e.updateCropTransformItems(),e.notify("draw",{prop:"select",onPropertyChange:!1,value:{type:"custom",startX:null,startY:null,width:null,height:null}}),e.isCircleCrop&&(e.isCircleCrop=!1,this.tempCurrSelPoint=(0,l.extend)({},e.currSelectionPoint,{},!0),e.currSelectionPoint=null);var n=e.cancelCropSelection.isCircleCrop;e.cancelCropSelection.isCircleCrop=!1,e.notify("draw",{prop:"performCancel",value:{isContextualToolbar:null,isUndoRedo:!0}}),e.cancelCropSelection.isCircleCrop=n,e.currObjType.isActiveObj=!1,0!==e.transform.straighten&&e.notify("draw",{prop:"setStraightenActObj",value:{activeObj:null}})}else"resize"===t.operation&&e.cropObj&&e.cropObj.activeObj&&(e.currSelectionPoint=(0,l.extend)({},e.cropObj.activeObj,{},!0));this.undoRedoColl[this.undoRedoStep-1]&&this.undoRedoColl[this.undoRedoStep-1].isCircleCrop&&(e.isCircleCrop=!0,e.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}})),this.endUndoRedo(t.operation,!0);var a={action:"undo",actionEventArgs:i};e.triggerEditCompleteEvent(a)}},e.prototype.redo=function(){var e=this.parent;if(this.cancelCropSelection(),e.notify("draw",{prop:"resetFrameZoom",onPropertyChange:!1,value:{isOk:!1}}),!e.disabled&&e.isImageLoaded&&this.undoRedoStep<this.appliedUndoRedoColl.length){this.refreshToolbarActions(),this.undoRedoStep++,e.notify("toolbar",{prop:"enable-disable-btns"}),e.isUndoRedo=!0;var t=this.undoRedoColl[this.undoRedoStep-1];this.undoRedoColl.length===this.undoRedoStep?e.currObjType.isUndoAction=!1:e.currObjType.isUndoAction=!0,"textAreaCustomization"===t.operation||"block"!==e.textArea.style.display&&"inline-block"!==e.textArea.style.display||(e.textArea.style.display="none"),e.notify("draw",{prop:"setCancelAction",onPropertyChange:!1,value:{bool:!0}}),e.cropObj=(0,l.extend)({},t.currentCropObj,{},!0),e.afterCropActions=t.currentObj.afterCropActions,this.lowerContext.filter=t.currentObj.filter,e.element.querySelector(".e-contextual-toolbar-wrapper")&&e.element.querySelector(".e-contextual-toolbar-wrapper").classList.add("e-hide"),e.notify("filter",{prop:"setAdjustmentLevel",onPropertyChange:!1,value:{adjustmentLevel:t.currentObj.adjustmentLevel}}),e.notify("filter",{prop:"setTempAdjVal"}),e.currentFilter=t.currentObj.currentFilter,e.notify("filter",{prop:"setTempFilVal"}),e.canvasFilter=this.lowerContext.filter,e.initialAdjustmentValue=this.lowerContext.filter,e.notify("filter",{prop:"setBevelFilter",onPropertyChange:!1,value:{bevelFilter:this.lowerContext.filter}});var i=void 0,o={action:this.getUndoRedoAction(t.operation)};switch(t.operation){case"shapeTransform":case"brightness":case"contrast":case"hue":case"saturation":case"opacity":case"blur":case"exposure":case"default":case"chrome":case"cold":case"warm":case"grayscale":case"blackandwhite":case"sepia":case"invert":case"sharpen":case"imageRotate":case"shapeInsert":this.shapeTransform(t.currentObjColl,t.currentPointColl);break;case"freehanddraw":case"freehand-draw":this.updateFreehandDraw(t.currentPointColl,t.currentSelPointColl),e.notify("freehand-draw",{prop:"setCurrentFreehandDrawIndex",value:{value:e.pointColl.length}});break;case"freehanddrawCustomized":this.updateFreehandDrawCustomized(t.currentObjColl,t.currentPointColl);break;case"deleteFreehandDrawing":case"deleteObj":this.updateDelete(t.operation,t.currentObjColl,t.currentPointColl,t.currentSelPointColl);break;case"textAreaCustomization":this.shapeTransform(t.currentObjColl,t.currentPointColl),this.updateTextAreaCustomization(i,t.currentObjColl);break;case"text":this.updateText(t.currentObjColl,!1);break;case"frame":(0,l.extend)(e.frameObj,t.currentObj.frameObj),e.notify("draw",{prop:"render-image",value:{isMouseWheel:!0,isPreventClearRect:null,isFrame:!0}});break;case"imageHFlip":this.imageFlip("horizontal",t.currentObjColl);break;case"imageVFlip":this.imageFlip("vertical",t.currentObjColl);break;case"bgColor":e.notify("draw",{prop:"imageBackgroundColor",onPropertyChange:!1,value:{color:t.currentObj.bgColor}}),e.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}});break;case"updateImage":e.isImageUpdated=!0,e.baseImg.src=t.currentObj.imageSource,setTimeout(function(){0!==e.cropObj.straighten?(e.notify("toolbar",{prop:"performCropTransformClick",value:{shape:"crop-custom"}}),e.noPushUndo=!0,e.crop(),e.noPushUndo=!1):e.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}}),e.isImageUpdated=!1});break;default:e.objColl=[],e.pointColl=[],e.freehandCounter=0,e.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:[]}}}),e.notify("draw",{prop:"setCurrentObj",onPropertyChange:!1,value:{obj:t.currentObj,isUndoRedo:!0}}),e.img.destLeft=t.currentObj.destPoints.startX,e.img.destTop=t.currentObj.destPoints.startY,i=(0,l.extend)({},e.activeObj,{},!0),e.objColl=(0,l.extend)([],t.currentObjColl,[],!0),e.pointColl=(0,l.extend)([],t.currentPointColl,[],!0),e.freehandCounter=e.pointColl.length,e.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:(0,l.extend)([],t.currentSelPointColl,[],!0)}}}),e.transform.straighten=0,this.lowerContext.filter="none",e.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),this.lowerContext.filter=t.currentObj.filter,e.prevStraightenedDegree=e.transform.straighten,e.activeObj=i,this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),0!==e.activeObj.activePoint.width&&0!==e.activeObj.activePoint.height&&e.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate"}}),e.notify("filter",{prop:"set-adjustment",value:{operation:t.operation}}),e.notify("filter",{prop:"update-filter",value:{operation:t.operation}})}"crop"===t.operation&&t.isCircleCrop&&(e.isCircleCrop=!0,e.currSelectionPoint=(0,l.extend)({},this.tempCurrSelPoint,{},!0),this.tempCurrSelPoint=null),"crop"!==t.operation||t.isCircleCrop||(e.isCircleCrop=!1),"crop"===t.operation&&t.currentObj.currSelectionPoint&&(e.currSelectionPoint=(0,l.extend)({},t.currentObj.currSelectionPoint,{},!0),e.notify("draw",{prop:"setStraightenActObj",value:{activeObj:e.currSelectionPoint}})),e.currSelectionPoint&&(0,l.isNullOrUndefined)(e.currSelectionPoint.shape)&&(e.currSelectionPoint=null),"resize"===t.operation&&e.cropObj&&e.cropObj.activeObj&&(e.currSelectionPoint=(0,l.extend)({},e.cropObj.activeObj,{},!0)),this.endUndoRedo(t.operation,!1);var r={action:"redo",actionEventArgs:o};e.triggerEditCompleteEvent(r)}},e.prototype.imageFlip=function(e,t){var i=this.parent;this.shapeTransform(t,null),i.activeObj=(0,l.extend)({},i.objColl[i.objColl.length-1],{},!0);var o=i.activeObj,r=o.shape,n=o.isHorImageFlip,a=o.isVerImageFlip;i.objColl.pop(),r&&"image"===r?("horizontal"===e?(0,l.isNullOrUndefined)(n)&&a?(i.activeObj.isHorImageFlip=!0,i.activeObj.isVerImageFlip=null,i.horizontalFlip(this.upperContext,!0)):((0,l.isNullOrUndefined)(n)||!n?i.activeObj.isHorImageFlip=!0:i.activeObj.isHorImageFlip=null,i.horizontalFlip(this.upperContext,!0)):"vertical"===e&&((0,l.isNullOrUndefined)(a)&&n?(i.activeObj.isVerImageFlip=!0,i.activeObj.isHorImageFlip=null,i.verticalFlip(this.upperContext,!0)):((0,l.isNullOrUndefined)(a)||!a?i.activeObj.isVerImageFlip=!0:i.activeObj.isVerImageFlip=null,i.verticalFlip(this.upperContext,!0))),i.notify("shape",{prop:"applyActObj",onPropertyChange:!1,value:{isMouseDown:!0}})):i.notify("draw",{prop:"render-image",value:{isMouseWheel:!0}})},e.prototype.shapeTransform=function(e,t){var i=this.parent;i.objColl=(0,l.extend)([],e,[],!0),t&&(i.pointColl=(0,l.extend)([],t,[],!0),i.freehandCounter=i.pointColl.length),i.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),this.lowerContext.clearRect(0,0,i.lowerCanvas.width,i.lowerCanvas.height),this.upperContext.clearRect(0,0,i.upperCanvas.width,i.upperCanvas.height),i.isUndoRedo=!0,i.notify("draw",{prop:"redrawImgWithObj",onPropertyChange:!1}),i.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1})},e.prototype.updateFreehandDraw=function(e,t){var i=this.parent;i.pointColl=e,i.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:t}}}),i.freehandCounter=i.pointColl.length,i.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),this.lowerContext.clearRect(0,0,i.lowerCanvas.width,i.lowerCanvas.height),this.upperContext.clearRect(0,0,i.upperCanvas.width,i.upperCanvas.height),i.isUndoRedo=!0,i.notify("draw",{prop:"redrawImgWithObj",onPropertyChange:!1})},e.prototype.updateFreehandDrawCustomized=function(e,t){var i=this.parent;i.objColl=(0,l.extend)([],e,[],!0),i.pointColl=t,i.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),this.lowerContext.clearRect(0,0,i.lowerCanvas.width,i.lowerCanvas.height),this.upperContext.clearRect(0,0,i.upperCanvas.width,i.upperCanvas.height),i.isUndoRedo=!0,i.notify("draw",{prop:"redrawImgWithObj",onPropertyChange:!1})},e.prototype.updateDelete=function(e,t,i,o){var r=this.parent;"deleteFreehandDrawing"===e?(r.pointColl=i,r.freehandCounter=r.pointColl.length,r.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:o}}}),r.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}})):"deleteObj"===e&&(r.objColl=t,r.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}})),this.lowerContext.clearRect(0,0,r.lowerCanvas.width,r.lowerCanvas.height),this.upperContext.clearRect(0,0,r.upperCanvas.width,r.upperCanvas.height),r.isUndoRedo=!0,r.notify("draw",{prop:"redrawImgWithObj",onPropertyChange:!1})},e.prototype.updateTextAreaCustomization=function(e,t){var i=this.parent;i.objColl=(0,l.extend)([],t,[],!0),i.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),this.lowerContext.clearRect(0,0,i.lowerCanvas.width,i.lowerCanvas.height),i.isUndoRedo=!0,i.notify("draw",{prop:"redrawImgWithObj",onPropertyChange:!1});for(var o=0,r=t.length;o<r;o++){if(!this.tempActObj){e=(0,l.extend)({},t[t.length-1],{},!0),i.objColl.splice(o,1);break}if(this.tempActObj.currIndex===t[o].currIndex){e=(0,l.extend)({},t[o],{},!0),i.objColl.splice(o,1);break}}e&&this.updateTextBox(e),"block"!==i.textArea.style.display&&"inline-block"!==i.textArea.style.display||i.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:null}})},e.prototype.updateText=function(e,t){var i=this.parent;if(this.tempActObj&&(i.activeObj=(0,l.extend)({},this.tempActObj,{},!0)),0===e.length&&1===i.objColl.length)this.tempActObj=(0,l.extend)({},i.objColl[0],{},!0);else for(var o=0,r=i.objColl.length;o<r;o++){if(i.objColl[o]&&(0,l.isNullOrUndefined)(e[o])){this.tempActObj=(0,l.extend)({},i.objColl[o],{},!0);break}if(e[o].currIndex!==i.objColl[o].currIndex){this.tempActObj=(0,l.extend)({},i.objColl[o],{},!0);break}}t&&(i.activeObj=(0,l.extend)({},this.tempActObj,{},!0)),i.objColl=(0,l.extend)([],e,[],!0),i.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:!0}}),this.upperContext.clearRect(0,0,i.upperCanvas.width,i.upperCanvas.height),this.lowerContext.clearRect(0,0,i.lowerCanvas.width,i.lowerCanvas.height),i.isUndoRedo=!0,i.notify("draw",{prop:"redrawImgWithObj",onPropertyChange:!1}),i.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1})},e.prototype.updateTextBox=function(e){var t=this.parent;this.upperContext.clearRect(0,0,t.lowerCanvas.width,t.lowerCanvas.height),this.lowerContext.clearRect(0,0,t.lowerCanvas.width,t.lowerCanvas.height),t.notify("draw",{prop:"redrawImgWithObj",onPropertyChange:!1}),t.notify("toolbar",{prop:"destroy-qa-toolbar",onPropertyChange:!1});var i=t.textArea;i.style.display="block",i.style.fontFamily=e.textSettings.fontFamily,i.style.fontSize=e.textSettings.fontSize+"px",i.style.color=e.strokeSettings.strokeColor,i.style.fontWeight=e.textSettings.bold?"bold":"normal",i.style.fontStyle=e.textSettings.italic?"italic":"normal",i.style.textDecoration=e.textSettings.underline&&e.textSettings.strikethrough?"underline line-through":e.textSettings.underline?"underline":e.textSettings.strikethrough?"line-through":"none",i.style.border="2px solid "+t.themeColl[t.theme].primaryColor,i.value=e.keyHistory,t.activeObj=(0,l.extend)({},e,{},!0),t.notify("shape",{prop:"updateFontStyles",onPropertyChange:!1,value:{isTextBox:null}}),t.textArea.style.width=t.activeObj.activePoint.width+"px"},e.prototype.undoDefault=function(e,t){this.lowerContext.filter=e.previousObj.filter;var i=this.parent;i.objColl=[],i.pointColl=[],i.freehandCounter=0,i.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:[]}}});var o=!t&&e.isCircleCrop;i.notify("draw",{prop:"setCurrentObj",onPropertyChange:!1,value:{obj:e.previousObj,isUndoRedo:t,isCircleCrop:o}}),i.prevStraightenedDegree=i.transform.straighten,this.upperContext.clearRect(0,0,i.upperCanvas.width,i.upperCanvas.height),i.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),i.img.destLeft=e.previousObj.destPoints.startX,i.img.destTop=e.previousObj.destPoints.startY;var r=(0,l.extend)({},i.activeObj,{},!0);i.objColl=(0,l.extend)([],e.previousObjColl,[],!0),i.pointColl=(0,l.extend)([],e.previousPointColl,[],!0),i.freehandCounter=i.pointColl.length,i.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:(0,l.extend)([],e.previousSelPointColl,[],!0)}}}),i.transform.straighten=0,this.lowerContext.filter="none",i.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),this.lowerContext.filter=e.previousObj.filter,i.activeObj=r,this.upperContext.clearRect(0,0,i.upperCanvas.width,i.upperCanvas.height),0!==i.activeObj.activePoint.width&&0!==i.activeObj.activePoint.height&&i.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate"}})},e.prototype.endUndoRedo=function(e,t){var i=this.parent;(i.currSelectionPoint&&"crop-circle"===i.currSelectionPoint.shape||i.isCircleCrop)&&JSON.stringify(i.frameObj)!==JSON.stringify({type:"none",color:"#fff",size:20,inset:20,offset:20,radius:0,amount:1,border:"solid",gradientColor:""})&&i.notify("draw",{prop:"render-image",value:{isMouseWheel:!0}}),i.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),i.isCircleCrop&&(t&&"crop"!==e||!t)&&i.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}}),i.transform.zoomFactor>0&&i.notify("selection",{prop:"setDragCanvas",value:{bool:!0}}),i.notify("draw",{prop:"setCancelAction",onPropertyChange:!1,value:{bool:!1}}),i.activeObj.shape&&"crop"===i.activeObj.shape.split("-")[0]?i.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:!0,isCropping:!0,isZooming:null,cType:null}}):i.notify("toolbar",{prop:"refresh-main-toolbar",onPropertyChange:!1}),i.notify("toolbar",{prop:"enable-disable-btns"}),i.element.querySelector("#"+i.element.id+"_quickAccessToolbarArea")&&(i.element.querySelector("#"+i.element.id+"_quickAccessToolbarArea").style.display="none"),i.notify("toolbar",{prop:"enable-disable-btns"}),0!==i.transform.degree&&i.notify("transform",{prop:"drawPannedImage",onPropertyChange:!1,value:{xDiff:0,yDiff:0}}),i.notify("filter",{prop:"setAdjustmentValue",onPropertyChange:!1,value:{adjustmentValue:this.lowerContext.filter}}),i.currObjType.isCustomCrop=!1},e.prototype.updateUrc=function(e,t,i,o,r,n,a,s,p,d){var h=this.parent;if(!h.isResize&&!this.isPreventing){var c={isInitialLoaded:!1};if(h.currObjType.isUndoAction&&this.refreshUrc(!0),h.notify("draw",{prop:"isInitialLoaded",onPropertyChange:!1,value:{object:c}}),!c.isInitialLoaded&&h.allowUndoRedo){var u={currObj:{}};h.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:u}});var v=u.currObj;v.objColl=(0,l.extend)([],h.objColl,[],!0),v.pointColl=(0,l.extend)([],h.pointColl,[],!0),v.afterCropActions=(0,l.extend)([],h.afterCropActions,[],!0);var g={selPointColl:null};if(h.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:g}}),v.selPointColl=(0,l.extend)([],g.selPointColl,[],!0),"crop"===e)v.currSelectionPoint=(0,l.extend)({},h.currSelectionPoint,{},!0);else if("frame"===e)t.destPoints={startX:h.frameDestPoints.destLeft,startY:h.frameDestPoints.destTop,width:h.frameDestPoints.destWidth,height:h.frameDestPoints.destHeight},v.destPoints={startX:h.frameDestPoints.destLeft,startY:h.frameDestPoints.destTop,width:h.frameDestPoints.destWidth,height:h.frameDestPoints.destHeight},(0,l.isNullOrUndefined)(h.tempFrameZoomLevel)||(t.defaultZoom=v.defaultZoom=h.tempFrameZoomLevel);else if(("imageHFlip"===e||"imageVFlip"===e)&&this.appliedUndoRedoColl.length>0){var f=i[i.length-1].currIndex;if(i=this.appliedUndoRedoColl[this.appliedUndoRedoColl.length-1].currentObjColl,f)for(var m=0,b=i.length;m<b;m++)if(i[m].currIndex===f){var y=(0,l.extend)({},i[m],{},!0);i.splice(m,1),i.push(y);break}}this.undoRedoColl.push({operation:e,previousObj:t,currentObj:v,previousObjColl:i,currentObjColl:v.objColl,previousPointColl:o,currentPointColl:v.pointColl,previousSelPointColl:r,currentSelPointColl:v.selPointColl,previousCropObj:n,currentCropObj:(0,l.extend)({},h.cropObj,{},!0),previousText:a,currentText:s,filter:p,isCircleCrop:d}),h.notify("toolbar",{prop:"enable-disable-btns",onPropertyChange:!1})}}},e.prototype.updateUrObj=function(e,t){var i=this.parent;if(i.allowUndoRedo){i.currObjType.isUndoAction&&!i.isShapeDrawing&&this.refreshUrc(!0),(0,l.isNullOrUndefined)(i.activeObj.imageRatio)&&i.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),i.objColl.push(i.activeObj);var o=(0,l.extend)({},i.cropObj,{},!0),r={currObj:{}};i.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:r}});var n=r.currObj;n.objColl=(0,l.extend)([],i.objColl,[],!0),n.pointColl=(0,l.extend)([],i.pointColl,[],!0),n.afterCropActions=(0,l.extend)([],i.afterCropActions,[],!0);var a={selPointColl:null};i.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:a}}),n.selPointColl=(0,l.extend)([],a.selPointColl,[],!0);var s=t||"shapeTransform";this.undoRedoColl.push({operation:s,previousObj:n,currentObj:n,previousObjColl:e,currentObjColl:n.objColl,previousPointColl:n.pointColl,currentPointColl:n.pointColl,previousSelPointColl:n.selPointColl,currentSelPointColl:n.selPointColl,previousCropObj:o,currentCropObj:o}),i.notify("selection",{prop:"redrawShape",onPropertyChange:!1,value:{obj:i.objColl[i.objColl.length-1]}})}},e.prototype.updateUndoRedo=function(e){var t=this.parent,i=(0,l.extend)({},t.cropObj,{},!0),o={currObj:{}};t.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:o}});var r=o.currObj;r.objColl=(0,l.extend)([],t.objColl,[],!0),r.pointColl=(0,l.extend)([],t.pointColl,[],!0),r.afterCropActions=(0,l.extend)([],t.afterCropActions,[],!0);var n={selPointColl:null};t.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:n}}),r.selPointColl=(0,l.extend)([],n.selPointColl,[],!0),(0,l.isNullOrUndefined)(t.activeObj.imageRatio)&&t.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),t.objColl.push(t.activeObj);var a=e||"shapeTransform";this.updateUrc(a,r,r.objColl,r.pointColl,r.selPointColl,i),t.objColl.pop(),t.notify("shape",{prop:"applyActObj",onPropertyChange:!1,value:{isMouseDown:null}}),t.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),t.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"shapes",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}),t.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}})},e.prototype.getZeroZoomObjPointValue=function(e,t){var i=this.parent;this.updateObjColl();var o={currObj:{}};i.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:o}});var r=o.currObj;r.objColl=(0,l.extend)([],i.objColl,[],!0),r.pointColl=(0,l.extend)([],i.pointColl,[],!0),r.afterCropActions=(0,l.extend)([],i.afterCropActions,[],!0);var n={selPointColl:null};i.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:n}}),r.selPointColl=(0,l.extend)([],n.selPointColl,[],!0);var a={cropDimension:null};i.notify("transform",{prop:"getCropDimension",onPropertyChange:!1,value:{obj:a}});var s=(0,l.extend)([],i.objColl,[],!0),p=(0,l.extend)([],i.pointColl,[],!0),d={arrowDimension:null};this.parent.notify("draw",{prop:"getArrowDimension",onPropertyChange:!1,value:{obj:d}});var h=(0,l.extend)({},d.arrowDimension,{},!0);if(i.transform.zoomFactor>0&&(e.length>0||t.length>0)){if(e.length>0)for(var c=0;c<e.length;c++)e[c].currIndex||(e[c].currIndex="shape_"+(c+1));i.objColl=e,i.pointColl=t;var u=i.isUndoRedo,v=i.isCropTab;if(0!==i.transform.zoomFactor){i.isUndoRedo=!0,i.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:!0}}),i.notify("freehand-draw",{prop:"updateFHDColl",onPropertyChange:!1}),i.isCropTab=!0;var g=(0,l.extend)({},i.zoomSettings,null,!0);i.transform.zoomFactor>0?i.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:-i.transform.zoomFactor,zoomPoint:null,isResize:null}}):i.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:Math.abs(i.transform.zoomFactor),zoomPoint:null,isResize:null}}),i.zoomSettings=g,i.isCropTab=v,i.isUndoRedo=u,s=(0,l.extend)([],i.objColl,[],!0),p=(0,l.extend)([],i.pointColl,[],!0),i.objColl=[],i.pointColl=[],i.freehandCounter=0,i.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:[]}}}),i.notify("transform",{prop:"setCropDimension",onPropertyChange:!1,value:{width:a.cropDimension.width,height:a.cropDimension.height}});var f={width:a.cropDimension.width,height:a.cropDimension.height};f.width+=f.width*r.defaultZoom,f.height+=f.height*r.defaultZoom,i.notify("draw",{prop:"setZoomCropWidth",value:{width:f.width,height:f.height}}),i.notify("draw",{prop:"setCurrentObj",onPropertyChange:!1,value:{obj:r}}),i.img.destLeft=r.destPoints.startX,i.img.destTop=r.destPoints.startY,i.panPoint.totalPannedPoint=r.totalPannedPoint,i.panPoint.totalPannedClientPoint=r.totalPannedClientPoint,i.panPoint.totalPannedInternalPoint=r.totalPannedInternalPoint,i.objColl=(0,l.extend)([],r.objColl,[],!0),i.pointColl=(0,l.extend)([],r.pointColl,[],!0),i.freehandCounter=i.pointColl.length,i.notify("draw",{prop:"setArrowDimension",onPropertyChange:!1,value:{arrowDimension:h}}),i.notify("freehand-draw",{prop:"setSelPointColl",onPropertyChange:!1,value:{obj:{selPointColl:(0,l.extend)([],r.selPointColl,[],!0)}}}),this.lowerContext.filter="none",i.transform.straighten=0,this.applyImgTranform(),i.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"iterate",pen:"iterate",isPreventApply:null}}),i.notify("freehand-draw",{prop:"updateFHDCurPts",onPropertyChange:!1}),this.lowerContext.filter=r.filter,0!==i.transform.degree&&i.notify("transform",{prop:"drawPannedImage",onPropertyChange:!1,value:{xDiff:0,yDiff:0}}),i.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),(i.isCircleCrop||i.currSelectionPoint&&"crop-circle"===i.currSelectionPoint.shape)&&i.notify("crop",{prop:"cropCircle",onPropertyChange:!1,value:{context:this.lowerContext,isSave:null,isFlip:null}})}}return{obj:s,point:p}},e.prototype.updateObjColl=function(){for(var e=this.parent,t=0;t<e.objColl.length;t++){var i=e.objColl[t],o=!1;if(("line"===i.shape||"arrow"===i.shape)&&(i.activePoint.width<0&&(i.activePoint.width=Math.abs(i.activePoint.width),o=!0),i.activePoint.height<0&&(i.activePoint.height=Math.abs(i.activePoint.height),o=!0),o)){var r=(0,l.extend)({},e.activeObj,{},!0);e.activeObj=i,e.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),i=e.activeObj,e.activeObj=r}}},e.prototype.applyImgTranform=function(){for(var e=this.parent,t=(0,l.extend)({},e.activeObj,{},!0),i=0,o=e.objColl.length;i<o;i++)if("image"===e.objColl[i].shape){e.activeObj=(0,l.extend)({},e.objColl[i],{},!0);var r=e.objColl[i].imageCanvas.getContext("2d");e.notify("selection",{prop:"applyTransformToImg",onPropertyChange:!1,value:{ctx:r}}),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),e.notify("selection",{prop:"setImageClarity",onPropertyChange:!1,value:{bool:!0}})}e.activeObj=t},e.prototype.updateUndoRedoStack=function(e){var t=this.parent;if(t.activeObj.currIndex&&0!==t.activeObj.activePoint.width||0!==t.activeObj.activePoint.height||t.activeObj.pointColl&&t.activeObj.pointColl.length>0||e){var i="none"!==t.textArea.style.display,o=t.noPushUndo;if(t.noPushUndo=!1,t.isUndoRedoStack=!0,this.preventEditComplete=!0,e){var r=t.togglePen,n={freehandDrawSelectedId:null};t.notify("freehand-draw",{prop:"getFreehandDrawSelectedId",onPropertyChange:!1,value:{obj:n}}),t.okBtn(),t.noPushUndo=o,n.freehandDrawSelectedId?(t.noRedact=!0,t.selectShape(n.freehandDrawSelectedId)):t.freeHandDraw(!0),t.togglePen=r}else if(t.activeObj.currIndex){var a=t.activeObj.currIndex;t.okBtn(),t.noPushUndo=o,t.noRedact=!0,t.selectShape(a),t.drawingShape&&t.notify("selection",{prop:"setCurrentDrawingShape",onPropertyChange:!1,value:{value:t.drawingShape.toLowerCase()}}),i&&t.enableTextEditing()}this.preventEditComplete&&(t.isUndoRedoStack=this.preventEditComplete=!1,this.preventApplyEditComplete||this.triggerActionCompletedEvent("shape-customize"),this.triggerActionCompletedEvent("shape-select")),t.isUndoRedoStack=this.preventEditComplete=!1}},e}(),q=function(){var e=function(t,i){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},e(t,i)};return function(t,i){function o(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),_=function(e,t,i,o){var r,n=arguments.length,a=n<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,o);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(n<3?r(a):n>3?r(t,i,a):r(t,i))||a);return n>3&&a&&Object.defineProperty(t,i,a),a},Z=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return q(t,e),_([(0,l.Property)(null)],t.prototype,"allowedExtensions",void 0),_([(0,l.Property)(null)],t.prototype,"minFileSize",void 0),_([(0,l.Property)(null)],t.prototype,"maxFileSize",void 0),t}(l.ChildProperty),G=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return q(t,e),_([(0,l.Property)(null)],t.prototype,"brightness",void 0),_([(0,l.Property)(null)],t.prototype,"contrast",void 0),_([(0,l.Property)(null)],t.prototype,"hue",void 0),_([(0,l.Property)(null)],t.prototype,"saturation",void 0),_([(0,l.Property)(null)],t.prototype,"exposure",void 0),_([(0,l.Property)(null)],t.prototype,"opacity",void 0),_([(0,l.Property)(null)],t.prototype,"blur",void 0),t}(l.ChildProperty),J=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return q(t,e),_([(0,l.Property)(null)],t.prototype,"zoomTrigger",void 0),_([(0,l.Property)(1)],t.prototype,"minZoomFactor",void 0),_([(0,l.Property)(10)],t.prototype,"maxZoomFactor",void 0),_([(0,l.Property)(1)],t.prototype,"zoomFactor",void 0),_([(0,l.Property)(null)],t.prototype,"zoomPoint",void 0),t}(l.ChildProperty),K=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return q(t,e),_([(0,l.Property)(!0)],t.prototype,"showCircle",void 0),_([(0,l.Property)(null)],t.prototype,"strokeColor",void 0),_([(0,l.Property)(null)],t.prototype,"fillColor",void 0),t}(l.ChildProperty),Q=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return q(t,e),_([(0,l.Property)("Arial")],t.prototype,"default",void 0),_([(0,l.Property)(null)],t.prototype,"items",void 0),t}(l.ChildProperty),$=function(e){function t(t,o){var r=e.call(this,t)||this;return r.isImageLoaded=!1,r.activeObj={activePoint:{startX:0,startY:0,endX:0,endY:0,width:0,height:0},flipObjColl:[],triangle:[],triangleRatio:[],rotatedAngle:0,opacity:1,order:null},r.currObjType={shape:"",isDragging:!1,isActiveObj:!1,isText:!1,isInitialText:!1,isLine:!1,isInitialLine:!1,isCustomCrop:!1,isZoomed:!1,isUndoZoom:!1,isUndoAction:!1,isFiltered:!1,isSave:!1,isResize:!1,isRedact:!1},r.objColl=[],r.pointColl={},r.freehandCounter=0,r.points=[],r.togglePen=!1,r.togglePan=!1,r.img={destLeft:0,destTop:0,destWidth:0,destHeight:0,srcLeft:0,srcTop:0,srcWidth:0,srcHeight:0},r.rotateFlipColl=[],r.cropObj={cropZoom:0,defaultZoom:0,totalPannedPoint:{x:0,y:0},totalPannedClientPoint:{x:0,y:0},totalPannedInternalPoint:{x:0,y:0},tempFlipPanPoint:{x:0,y:0},activeObj:{},rotateFlipColl:[],degree:0,currFlipState:"",straighten:0,destPoints:{startX:0,startY:0,width:0,height:0},srcPoints:{startX:0,startY:0,width:0,height:0},filter:"",isBrightAdjust:!1,zoomFactor:0,previousZoomValue:0,aspectWidth:null,aspectHeight:null,frame:"none",straightenZoom:0,adjustmentLevel:{brightness:0,contrast:0,hue:0,opacity:100,saturation:0,blur:0,exposure:0,transparency:100,sharpen:!1,bw:!1},currentFilter:""},r.afterCropActions=[],r.transform={degree:0,currFlipState:"",zoomFactor:0,cropZoomFactor:null,defaultZoomFactor:0,straighten:0},r.panPoint={currentPannedPoint:{x:0,y:0},totalPannedPoint:{x:0,y:0},totalPannedInternalPoint:{x:0,y:0},totalPannedClientPoint:{x:0,y:0}},r.isUndoRedo=!1,r.isCropTab=!1,r.isCircleCrop=!1,r.fontSizeColl=[],r.initialAdjustmentValue="",r.currentFilter="",r.canvasFilter="brightness(1) contrast(100%) hue-rotate(0deg) saturate(100%) opacity(1) blur(0px) sepia(0%) grayscale(0%) invert(0%)",r.toolbarHeight=0,r.isPublicMethod=!1,r.isCropToolbar=!1,r.cursor="default",r.resizeSrc={startX:r.img.srcLeft,startY:r.img.srcTop,width:r.img.srcWidth,height:r.img.srcHeight},r.isResize=!1,r.isAspectRatio=!1,r.frameObj={type:"none",color:"#fff",size:20,inset:20,offset:20,radius:0,amount:1,border:"solid",gradientColor:""},r.tempFrameObj={type:"none",color:"#fff",size:20,inset:20,offset:20,radius:0,amount:1,border:"solid",gradientColor:""},r.allowDownScale=!0,r.gradientColor="",r.size=20,r.inset=0,r.offset=0,r.borderRadius=0,r.lineCount=0,r.prevStraightenedDegree=0,r.tempStraighten=0,r.isStraightening=!1,r.isFinetuning=!1,r.isZoomBtnClick=!1,r.isFinetuneBtnClick=!1,r.isFilterCanvasClick=!1,r.isFrameBtnClick=!1,r.isChangesSaved=!1,r.isShapeDrawing=!1,r.noPushUndo=!1,r.isUndoRedoStack=!1,r.shapeColl=[],r.isKBDNavigation=!1,r.isMaskImage=!1,r.tempObjColl=[],r.tempPointColl=[],r.tempShapeColl=[],r.isImageUpdated=!1,r.noRedact=!1,r.tempRedactBlur=50,r.tempRedactPixel=40,r.imageSettings={width:null,height:null},r.aspectRatioBaseDimension=!1,r.imageLoaded=!1,r.tempToolbarHeight=0,r.tempToolbar=[],i.Inject(L,B,W,U,H,ee),i.Inject(V),i.Inject(N),i.Inject(X),i.Inject(Y),o&&r.appendTo(o),r}var i;return q(t,e),i=t,t.prototype.requiredModules=function(){var e=[];return e.push({member:"crop",args:[this]}),e.push({member:"draw",args:[this]}),e.push({member:"selection",args:[this]}),e.push({member:"transform",args:[this]}),e.push({member:"export",args:[this]}),e.push({member:"toolbar-module",args:[this]}),e.push({member:"undo-redo",args:[this]}),e.push({member:"filter",args:[this]}),e.push({member:"shape",args:[this]}),e.push({member:"freehand-draw",args:[this]}),e},t.prototype.preRender=function(){this.element.id=this.element.id||(0,l.getUniqueID)("ej2-image-editor"),this.isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),l.Browser.isDevice&&this.element.classList.add("e-device"),this.initializeThemeColl()},t.prototype.render=function(){if(this.isAngular){var e=this.element,t=e.cloneNode(!0);e.parentNode.replaceChild(t,e),this.element=t,(0,l.setValue)("ej2_instances",[this],this.element)}this.initialize()},t.prototype.getModuleName=function(){return"image-editor"},t.prototype.getPersistData=function(){return this.addOnPersist([])},t.prototype.onPropertyChanged=function(e,t){for(var i,o=0,r=Object.keys(e);o<r.length;o++){switch(r[o]){case"cssClass":t.cssClass&&(0,l.removeClass)([this.element],t.cssClass.replace(/\s+/g," ").trim().split(" ")),e.cssClass&&(0,l.addClass)([this.element],e.cssClass.replace(/\s+/g," ").trim().split(" "));break;case"disabled":e.disabled?(this.element.classList.add("e-disabled","e-overlay"),this.element.style.opacity="0.5",this.unwireEvent()):(this.element.classList.remove("e-disabled","e-overlay"),this.element.style.opacity="1",this.wireEvent());break;case"height":this.element.style.height=e.height,this.update();break;case"width":this.element.style.width=e.width,this.update();break;case"theme":e.theme&&(this.theme&&""!==this.theme?this.theme=this.toPascalCase(this.theme):this.theme="Bootstrap5",this.upperContext.strokeStyle=this.themeColl[this.theme].primaryColor,this.upperContext.fillStyle=this.themeColl[this.theme].secondaryColor,this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}));break;case"finetuneSettings":e.finetuneSettings&&(this.finetuneSettings=e.finetuneSettings,this.notify("filter",{prop:"update-finetunes"}));break;case"locale":e.locale&&(this.notify("toolbar",{prop:"setLocale",onPropertyChange:!1,value:{locale:e.locale}}),this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}));break;case"allowUndoRedo":e.allowUndoRedo?this.allowUndoRedo=!0:this.allowUndoRedo=!1,this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}});break;case"showQuickAccessToolbar":e.showQuickAccessToolbar?(this.showQuickAccessToolbar=!0,this.notify("toolbar",{prop:"create-qa-toolbar",onPropertyChange:!1}),i={freehandSelectedIndex:null},this.notify("freehand-draw",{prop:"getFreehandSelectedIndex",onPropertyChange:!1,value:{obj:i}}),this.activeObj.shape?this.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:null}}):i.freehandSelectedIndex&&this.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:!0}})):(this.showQuickAccessToolbar=!1,this.notify("toolbar",{prop:"destroy-qa-toolbar",onPropertyChange:!1}));break;case"zoomSettings":e.zoomSettings&&(this.zoomSettings.zoomTrigger=e.zoomSettings.zoomTrigger),(0,l.isNullOrUndefined)(this.zoomSettings.zoomTrigger)?(this.zoomSettings.zoomTrigger=x.MouseWheel|x.Pinch|x.Toolbar|x.Commands,this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}})):(e.zoomSettings.zoomTrigger&x.Toolbar)===x.Toolbar&&this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}});break;case"selectionSettings":e.selectionSettings&&(this.selectionSettings=e.selectionSettings,this.activeObj.shape&&(this.upperContext.clearRect(0,0,this.upperCanvas.width,this.upperCanvas.height),this.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:this.activeObj}})));break;case"toolbar":e.toolbar&&(this.toolbar=e.toolbar,this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}));break;case"toolbarTemplate":e.toolbarTemplate&&(this.notify("toolbar",{prop:"destroy-bottom-toolbar",onPropertyChange:!1}),this.notify("toolbar",{prop:"destroy-top-toolbar",onPropertyChange:!1}),this.element.appendChild(this.createElement("div",{id:this.element.id+"_toolbarArea",className:"e-toolbar-area"})),this.toolbarTemplateFn());break;case"quickAccessToolbarTemplate":e.quickAccessToolbarTemplate&&(this.notify("toolbar",{prop:"destroy-qa-toolbar",onPropertyChange:!1}),this.quickAccessToolbarTemplateFn());break;case"uploadSettings":e.uploadSettings?(this.uploadSettings=e.uploadSettings,this.uploadSettings.allowedExtensions?this.notify("draw",{prop:"setNullExtension",value:{extension:!1}}):(this.uploadSettings.allowedExtensions=".jpg, .jpeg, .png, .svg, .webp, .bmp",this.notify("draw",{prop:"setNullExtension",value:{extension:!0}})),this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}})):this.notify("draw",{prop:"setNullExtension",value:{extension:!0}}),this.updateDropInfoContent(this.element.querySelector(".e-ie-drop-info"));break;case"imageSmoothingEnabled":e.imageSmoothingEnabled?(this.imageSmoothingEnabled=!0,this.lowerContext.imageSmoothingQuality="high"):(this.imageSmoothingEnabled=!1,this.lowerContext.imageSmoothingQuality="low"),this.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}})}}},t.prototype.destroy=function(){var t=[];this.element.removeAttribute("tabindex");var i=this.element.querySelector("#"+this.element.id+"_saveDialog");i&&"block"===i.style.display&&(0,l.getComponent)(this.element.querySelector("#"+this.element.id+"_saveDialog"),"dialog").destroy(),this.cssClass&&(t=t.concat(this.cssClass.replace(/\s+/g," ").trim().split(" "))),(0,l.removeClass)([this.element],t),this.element.getAttribute("class")||this.element.removeAttribute("class"),this.unwireEvent(),this.notify("toolbar",{prop:"destroySubComponents",onPropertyChange:!1}),this.notify("destroyed",null),e.prototype.destroy.call(this),this.element.innerHTML=""},t.prototype.initialize=function(){if(this.disabled&&(this.element.classList.add("e-disabled","e-overlay"),this.element.style.opacity="0.5"),this.toolbarTemplate?(this.element.appendChild(this.createElement("div",{id:this.element.id+"_toolbarArea",className:"e-toolbar-area"})),this.toolbarTemplateFn()):(this.notify("toolbar",{prop:"create-toolbar",onPropertyChange:!1}),this.notify("toolbar",{prop:"create-contextual-toolbar",onPropertyChange:!1})),this.uploadSettings.allowedExtensions?this.notify("draw",{prop:"setNullExtension",value:{extension:!1}}):this.setProperties({uploadSettings:{allowedExtensions:".jpg, .jpeg, .png, .svg, .webp, .bmp"}},!0),this.createCanvas(),this.element.offsetWidth>359&&this.element.querySelector(".e-ie-min-drop-content")&&this.element.querySelector(".e-ie-drop-content")&&(this.element.querySelector(".e-ie-min-drop-content").style.display="none",this.element.querySelector(".e-ie-drop-content").style.display="block"),this.createDropUploader(),this.showQuickAccessToolbar){this.element.querySelector("#"+this.element.id+"_canvasWrapper").appendChild(this.createElement("div",{id:this.element.id+"_quickAccessToolbarArea",className:"e-quick-access-toolbar-area"}));var e=this.element.querySelector("#"+this.element.id+"_quickAccessToolbarArea");e.style.position="absolute",e.style.display="none",this.activeObj&&(e.style.left=this.activeObj.activePoint.startX+"px",e.style.top=this.activeObj.activePoint.startY+"px"),e.style.width="100%"}this.quickAccessToolbarTemplate?this.quickAccessToolbarTemplateFn():this.notify("toolbar",{prop:"create-qa-toolbar",onPropertyChange:!1}),this.wireEvent(),this.lowerContext=this.lowerCanvas.getContext("2d"),this.upperContext=this.upperCanvas.getContext("2d"),this.inMemoryContext=this.inMemoryCanvas.getContext("2d"),this.lowerContext.filter=this.getDefaultFilter(),this.notify("filter",{prop:"setAdjustmentValue",onPropertyChange:!1,value:{adjustmentValue:this.lowerContext.filter}}),this.canvasFilter=this.lowerContext.filter,this.notify("toolbar",{prop:"setInitialAdjustmentValue",onPropertyChange:!1,value:{value:this.lowerContext.filter}}),this.cssClass&&(0,l.addClass)([this.element],this.cssClass.replace(/\s+/g," ").trim().split(" ")),this.element&&(0,I.createSpinner)({target:this.element}),this.initializeZoomSettings(),this.imgSrc&&this.open(this.imgSrc)},t.prototype.createDropUploader=function(){var e=this,t=this;new A.Uploader({dropArea:this.element.getElementsByClassName("e-canvas-wrapper")[0],allowedExtensions:this.uploadSettings.allowedExtensions,multiple:!1,selected:function(i){if("change"===i.event.type||"drop"===i.event.type){var o=i.filesData[0].type,r="unsupported",n=e.getExtensionArray().indexOf(o)>-1||"jpeg"===o&&(t.uploadSettings.allowedExtensions.indexOf("jpg")>-1||t.uploadSettings.allowedExtensions.indexOf("jpeg")>-1),a=i.filesData[0].size,s=t.uploadSettings.minFileSize&&a<t.uploadSettings.minFileSize||t.uploadSettings.maxFileSize&&a>t.uploadSettings.maxFileSize;("change"===i.event.type||"drop"===i.event.type&&1===i.event.dataTransfer.files.length)&&n&&!s?e.notify("draw",{prop:"fileSelect",value:{inputElement:e.element.querySelector("#"+e.element.id+"_dropfileUpload"),args:i}}):("drop"===i.event.type&&i.event.dataTransfer.files.length>1&&(r="multi-select-image"),e.showDialogPopup(r,!n))}}}).appendTo(this.element.querySelector("#"+this.element.id+"_dropfileUpload"))},t.prototype.dlgCloseBtnClick=function(){(0,l.getComponent)(document.getElementById(this.element.id+"_dialog"),"dialog").destroy()},t.prototype.showDialogPopup=function(e,t){var i,o="";this.element.querySelector("#"+this.element.id+"_dialog").style.display="block";var r={key:"DlgOK"};if(this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:r}}),"multi-select-image"===e){i={key:"ImageErrorDialogHeader"},this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:i}});var n={key:"ImageErrorDialogContent"};this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:n}}),o="<span>"+n.value+"</span>"}else{i={key:"AlertDialogHeader"},this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:i}});n={key:"AlertDialogContent"};this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:n}});var a={key:"SupportText"};this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:a}});var s=this.getExtensionString(),p={key:"MinMaxSizeAlert"};this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:p}});var d={key:"And"};this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:d}});var h=void 0;this.uploadSettings.minFileSize&&this.uploadSettings.maxFileSize?h=" "+p.value+" <b> "+this.formatSizeUnits(this.uploadSettings.minFileSize)+" </b> "+d.value+" <b> "+this.formatSizeUnits(this.uploadSettings.maxFileSize)+" </b> ":this.uploadSettings.minFileSize?(p.key="MinSizeAlert",this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:p}}),h=" "+p.value+" <b> "+this.formatSizeUnits(this.uploadSettings.minFileSize)+" </b> "):this.uploadSettings.maxFileSize&&(p.key="MaxSizeAlert",this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:p}}),h=" "+p.value+" <b> "+this.formatSizeUnits(this.uploadSettings.maxFileSize)+" </b> "),t?o="<span>"+n.value+" "+a.value+"<b>"+s+"</b></span>":h&&(o="<span>"+n.value+" "+a.value+h+"</span>")}new I.Dialog({header:i.value,closeOnEscape:!0,content:o,target:document.getElementById("target"),width:l.Browser.isDevice?"285px":"400px",isModal:!0,animationSettings:{effect:"Zoom"},close:this.dlgCloseBtnClick.bind(this),buttons:[{click:this.dlgCloseBtnClick.bind(this),buttonModel:{content:r.value}}]}).appendTo("#"+this.element.id+"_dialog")},t.prototype.formatSizeUnits=function(e){return e>=1073741824?(e/1073741824).toFixed(2)+" GB":e>=1048576?(e/1048576).toFixed(2)+" MB":e>=1024?(e/1024).toFixed(2)+" KB":e>1?e+" bytes":1===e?e+" byte":"0 bytes"},t.prototype.getExtensionArray=function(){for(var e=["jpeg","jpg","png","svg","webp","bmp"],t=[],i=0,o=this.uploadSettings.allowedExtensions.split(",");i<o.length;i++)for(var r=o[i].trim(),n=0,a=e;n<a.length;n++){var s=a[n];if(-1!==r.indexOf(s)){t.push(s);break}}return t},t.prototype.getExtensionString=function(){var e={key:"And"};this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:e}});for(var t=this.getExtensionArray(),i="",o=0;o<t.length;o++){switch(o===t.length-1&&t.length>1&&("jpeg"!==t[o]&&"jpg"!==t[o]||!(i.indexOf("JPG")>-1))&&((2===t.length||3===t.length&&-1!==t.indexOf("jpeg")&&-1!==t.indexOf("jpg"))&&(i=i.replace(/,\s*$/,"")),i+=" "+e.value),t[o]){case"jpeg":case"jpg":-1===i.indexOf("JPG")&&(i+=" JPG,");break;case"png":i+=" PNG,";break;case"svg":i+=" SVG,";break;case"webp":i+=" WebP,";break;case"bmp":i+=" BMP,"}o===t.length-1&&(i=i.slice(0,-1))}return i},t.prototype.wireEvent=function(){l.EventHandler.add(document,"keydown",this.keyDownEventHandler,this),l.EventHandler.add(document,"keypress",this.keyUpEventHandler,this),l.EventHandler.add(this.upperCanvas,"mousedown",this.mouseDownEventHandler,this),l.EventHandler.add(this.upperCanvas,"mousemove",this.mouseMoveEventHandler,this),l.EventHandler.add(this.upperCanvas,"mouseup",this.mouseUpEventHandler,this),l.EventHandler.add(document,"mouseup",this.mouseUpEventHandler,this),l.EventHandler.add(this.lowerCanvas,"mousedown",this.canvasMouseDownHandler,this),l.EventHandler.add(this.lowerCanvas,"mousemove",this.canvasMouseMoveHandler,this),l.EventHandler.add(this.lowerCanvas,"mouseup",this.canvasMouseUpHandler,this),l.EventHandler.add(this.upperCanvas,"touchstart",this.touchStartHandler,this),l.EventHandler.add(this.lowerCanvas,"touchstart",this.touchStartHandler,this),l.EventHandler.add(this.lowerCanvas,"mousewheel DOMMouseScroll",this.handleScroll,this),l.EventHandler.add(this.upperCanvas,"mousewheel DOMMouseScroll",this.handleScroll,this),window.addEventListener("resize",this.windowResizeHandler.bind(this)),l.Browser.isIos||"safari"===l.Browser.info.name||screen.orientation.addEventListener("change",this.screenOrientation.bind(this)),this.notify("shape",{prop:"wireEvent",onPropertyChange:!1})},t.prototype.unwireEvent=function(){l.EventHandler.remove(document,"keydown",this.keyDownEventHandler),l.EventHandler.remove(document,"keypress",this.keyUpEventHandler),l.EventHandler.remove(this.upperCanvas,"mousedown",this.mouseDownEventHandler),l.EventHandler.remove(this.upperCanvas,"mousemove",this.mouseMoveEventHandler),l.EventHandler.remove(this.upperCanvas,"mouseup",this.mouseUpEventHandler),l.EventHandler.remove(document,"mouseup",this.mouseUpEventHandler),l.EventHandler.remove(this.lowerCanvas,"mousedown",this.canvasMouseDownHandler),l.EventHandler.remove(this.lowerCanvas,"mousemove",this.canvasMouseMoveHandler),l.EventHandler.remove(this.lowerCanvas,"mouseup",this.canvasMouseUpHandler),l.EventHandler.remove(this.upperCanvas,"touchstart",this.touchStartHandler),l.EventHandler.remove(this.lowerCanvas,"touchstart",this.touchStartHandler),l.EventHandler.remove(this.lowerCanvas,"mousewheel DOMMouseScroll",this.handleScroll),l.EventHandler.remove(this.upperCanvas,"mousewheel DOMMouseScroll",this.handleScroll),window.removeEventListener("resize",this.windowResizeHandler.bind(this)),l.Browser.isIos||"safari"===l.Browser.info.name||screen.orientation.removeEventListener("change",this.screenOrientation.bind(this)),this.notify("shape",{prop:"unWireEvent",onPropertyChange:!1}),this.notify("selection",{prop:"unWireEvent",onPropertyChange:!1})},t.prototype.createCanvas=function(){this.element.style.boxSizing="border-box";var e={toolbarHeight:0};this.notify("toolbar",{prop:"getToolbarHeight",value:{obj:e}});var t=e.toolbarHeight;this.toolbar&&this.toolbar.length>0&&-1===this.toolbar.indexOf("Open")&&(t=0),this.element.style.width=this.width,this.element.style.height=this.height;var i=this.createElement("div",{id:this.element.id+"_canvasWrapper",className:"e-canvas-wrapper"});i.style.cssText="height: "+(this.element.offsetHeight-t-2)+"px; width: "+(this.element.offsetWidth-2)+"px; position: relative; overflow: hidden; margin: 0 auto;";var o=this.element.appendChild(i),r={key:"DragText"};this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:r}});var n={key:"DropText"};this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:n}});var a={key:"BrowseText"};this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:a}});var s=this.createElement("div",{id:this.element.id+"_dropArea",className:"e-ie-drop-area"});s.style.position="relative";var l=this.createElement("span",{className:"e-ie-drop-icon e-icons e-image"}),p=this.createElement("span",{className:"e-ie-drop-content"});p.style.cssText="display: none;",p.textContent=r.value+" ";var d=this.createElement("span",{className:"e-ie-min-drop-content"});d.textContent=n.value+" ";var h=this.createElement("a",{id:this.element.id+"_dropBrowse",className:"e-ie-drop-browse"});h.textContent=a.value;var c=this.createElement("a",{id:this.element.id+"_dropBrowse",className:"e-ie-drop-browse"});c.textContent=a.value,p.appendChild(h),d.appendChild(c),h.href="",c.href="";var u=this.createElement("span",{className:"e-ie-drop-info"});this.updateDropInfoContent(u);var v=s.appendChild(this.createElement("input",{id:this.element.id+"_dropfileUpload",className:"e-fileUpload e-image-upload"}));v.setAttribute("type","file"),v.setAttribute("accept","image/*"),s.appendChild(l),s.appendChild(p),s.appendChild(d),s.appendChild(u),o.appendChild(s),this.lowerCanvas=o.appendChild(this.createElement("canvas",{id:this.element.id+"_lowerCanvas",attrs:{name:"canvasImage"}})),this.maskCanvas=o.appendChild(this.createElement("canvas",{id:this.element.id+"_maskCanvas",attrs:{name:"canvasImage"}})),this.upperCanvas=o.appendChild(this.createElement("canvas",{id:this.element.id+"_upperCanvas",attrs:{name:"canvasImage"}})),this.inMemoryCanvas=this.createElement("canvas",{id:this.element.id+"_inMemoryCanvas",attrs:{name:"canvasImage"}}),this.baseImgCanvas=this.createElement("canvas",{id:this.element.id+"_baseImgCanvas",attrs:{name:"canvasImage"}}),this.textArea=o.appendChild(this.createElement("textarea",{id:this.element.id+"_textArea",className:"e-textarea",attrs:{name:"textArea"}})),this.element.appendChild(this.createElement("div",{id:this.element.id+"_dialog",className:"e-dialog"})).style.display="none";var g=this.element.appendChild(this.createElement("input",{id:this.element.id+"_fileUpload",className:"e-fileUpload"}));g.setAttribute("type","file"),g.setAttribute("accept","image/*"),g.style.display="none",this.textArea.setAttribute("spellcheck","false"),this.textArea.style.lineHeight="normal",this.lowerCanvas.style.width=this.upperCanvas.style.width=this.maskCanvas.style.width=this.inMemoryCanvas.style.width="100%",this.lowerCanvas.style.height=this.upperCanvas.style.height=this.maskCanvas.style.height=this.inMemoryCanvas.style.height="100%",this.upperCanvas.style.position=this.lowerCanvas.style.position=this.maskCanvas.style.position=this.textArea.style.position="absolute",this.textArea.style.backgroundColor="transparent",this.textArea.style.display="none",this.maskCanvas.style.display=this.textArea.style.resize="none",this.lowerContext=this.lowerCanvas.getContext("2d"),this.baseImg=this.createElement("img",{id:this.element.id+"_orgImg",attrs:{name:"Image",crossorigin:"anonymous"}}),this.upperCanvas.style.cursor=this.cursor="default",this.upperCanvas.style.display="block",this.upperContext=this.upperCanvas.getContext("2d"),h.addEventListener("click",function(e){return e.preventDefault(),v.click(),!1}),c.addEventListener("click",function(e){return e.preventDefault(),v.click(),!1})},t.prototype.touchStartHandler=function(e){this.notify("selection",{prop:"touchStartHandler",onPropertyChange:!1,value:{e}})},t.prototype.mouseDownEventHandler=function(e){"e-ie-drop-browse"!==e.target.className&&this.notify("selection",{prop:"mouseDownEventHandler",onPropertyChange:!1,value:{e}})},t.prototype.mouseMoveEventHandler=function(e){this.notify("selection",{prop:"mouseMoveEventHandler",onPropertyChange:!1,value:{e}})},t.prototype.mouseUpEventHandler=function(e){"e-ie-drop-browse"!==e.target.className&&this.notify("selection",{prop:"mouseUpEventHandler",onPropertyChange:!1,value:{e}})},t.prototype.keyDownEventHandler=function(e){this.notify("selection",{prop:"keyDownEventHandler",onPropertyChange:!1,value:{e}})},t.prototype.keyUpEventHandler=function(e){"block"!==this.textArea.style.display&&"inline-block"!==this.textArea.style.display||e.target.id!==this.element.id+"_textArea"||this.notify("selection",{prop:"textKeyDown",value:{e}})},t.prototype.canvasMouseDownHandler=function(e){"e-ie-drop-browse"!==e.target.className&&this.notify("selection",{prop:"canvasMouseDownHandler",onPropertyChange:!1,value:{e}})},t.prototype.canvasMouseMoveHandler=function(e){this.notify("selection",{prop:"canvasMouseMoveHandler",onPropertyChange:!1,value:{e}})},t.prototype.canvasMouseUpHandler=function(e){"e-ie-drop-browse"!==e.target.className&&this.notify("selection",{prop:"canvasMouseUpHandler",onPropertyChange:!1,value:{e}})},t.prototype.handleScroll=function(e){this.notify("selection",{prop:"handleScroll",onPropertyChange:!1,value:{e}})},t.prototype.adjustToScreen=function(){this.update()},t.prototype.screenOrientation=function(){l.Browser.isDevice&&setTimeout(this.adjustToScreen.bind(this),100)},t.prototype.windowResizeHandler=function(){!l.Browser.isDevice&&this.element.classList.contains("e-image-editor")&&this.adjustToScreen()},t.prototype.notifyResetForAllModules=function(){for(var e=this.requiredModules(),t=0;t<e.length;t++){var i=e[t].member;this.notify("toolbar-module"===i?"toolbar":i,{prop:"reset",onPropertyChange:!1})}},t.prototype.allowShape=function(e,t){this.isPublicMethod=!0,this.applyShapes();var i={inRange:!1};return this.notify("shape",{prop:"isPointsInRange",onPropertyChange:!1,value:{x:e,y:t,obj:i}}),i.inRange},t.prototype.manageActiveAction=function(){this.applyShapes(),this.activeObj.shape&&this.activeObj.shape.indexOf("crop")>-1&&this.discard()},t.prototype.clearSelection=function(e){this.notify("selection",{prop:"clearSelection",onPropertyChange:!1,value:{resetCrop:e}})},t.prototype.crop=function(){var e={isCrop:!1};return this.notify("crop",{prop:"crop",onPropertyChange:!1,value:{obj:e}}),e.isCrop},t.prototype.flip=function(e){this.applyShapes(),this.activeObj.shape&&this.activeObj.shape.indexOf("crop")>-1?this.transformSelect(e.toLowerCase()+"flip"):(this.updateImageTransformColl(e.toLowerCase()+"flip"),this.setRotateZoom(),this.notify("transform",{prop:"flip",value:{direction:e}}),this.notify("draw",{prop:"redrawDownScale"}),this.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}));var t={action:"flip",actionEventArgs:this.editCompleteArgs};this.triggerEditCompleteEvent(t)},t.prototype.getImageData=function(e){var t;if(e=!!(0,l.isNullOrUndefined)(e)||e){var i={canvas:null};this.applyShapes(),this.notify("export",{prop:"exportToCanvas",value:{object:i}}),t=i.canvas.getContext("2d").getImageData(0,0,i.canvas.width,i.canvas.height)}else this.isMaskImage&&"mask-drawing"===this.element.getAttribute("data-value")?(t=this.getData(!0),this.updateColl("reset")):(t=this.getData(),this.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}}));return t},t.prototype.open=function(e,t,i){var o=this;if(t=!!(0,l.isNullOrUndefined)(t)||t){if((0,l.isNullOrUndefined)(e)||this.disabled)return;var r=this.element.querySelector("#"+this.element.id+"_dropArea");if(r&&(r.style.display="none"),this.imageSettings={width:null,height:null},this.aspectRatioBaseDimension=null,i&&(i.width||i.height)){var n=(0,l.extend)({},i,{},!0);if(i=this.scaleToFit(i),this.aspectRatioBaseDimension=i.isAspectRatio,!i.isAspectRatio&&i.width&&i.height){this.imageSettings.width=i.width,this.imageSettings.height=i.height,this.notify("draw",{prop:"open",value:{data:e}});var a=setInterval(function(){o.imageLoaded&&o.baseImg.width&&o.baseImg.height&&(o.setInitialZoomLevel(n),clearInterval(a))},1)}else if(i.width||i.height){this.notify("draw",{prop:"open",value:{data:e}});var s=setInterval(function(){if(o.imageLoaded&&o.baseImg.width&&o.baseImg.height){o.imageSettings.width=i.width,o.imageSettings.height=i.height;var t=o.baseImg.width,r=o.baseImg.height,a="",l=void 0,p=void 0;i.width&&i.height&&(a=i.width>i.height?"width":"height"),"width"===a||i.width&&"height"!==a?(p=(l=i.width/(t/r))%1>=.5||l%1<=-.5?Math.round(l):l<0?Math.ceil(l):Math.floor(l),!i.height||p>i.height?o.imageSettings.height=i.height=p:(p=(l=i.height/(r/t))%1>=.5||l%1<=-.5?Math.round(l):l<0?Math.ceil(l):Math.floor(l),o.imageSettings.width=i.width=p)):("height"===a||i.height&&"width"!==a)&&(p=(l=i.height/(r/t))%1>=.5||l%1<=-.5?Math.round(l):l<0?Math.ceil(l):Math.floor(l),!i.width||p>i.width?o.imageSettings.width=i.width=p:(p=(l=i.width/(t/r))%1>=.5||l%1<=-.5?Math.round(l):l<0?Math.ceil(l):Math.floor(l),o.imageSettings.height=i.height=p)),o.notify("draw",{prop:"open",value:{data:e}}),o.setInitialZoomLevel(n),clearInterval(s)}},1)}}else this.notify("draw",{prop:"open",value:{data:e}})}else this.updateImage(e,i?i.backgroundColor:null)},t.prototype.reset=function(){this.updateColl("reset");var e={isErrorImage:!1};if(this.notify("draw",{prop:"getErrorImage",value:{obj:e}}),!this.disabled&&!e.isErrorImage){this.clearContext(this.inMemoryContext),this.clearContext(this.lowerContext),this.clearContext(this.upperContext),this.notify("shape",{prop:"setRedactType",onPropertyChange:!1,value:{redactType:"blur"}}),this.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:!1,isCropping:!1,isZooming:null,cType:null}}),l.Browser.isDevice&&this.element.querySelector("#"+this.element.id+"_bottomToolbar")&&((0,l.getComponent)(this.element.querySelector("#"+this.element.id+"_bottomToolbar"),"toolbar").destroy(),this.notify("toolbar",{prop:"create-bottom-toolbar",onPropertyChange:!1}));var t=this.isImageLoaded;this.currObjType.isUndoAction=this.isUndoRedo=this.togglePan=this.togglePen=this.isImageLoaded=this.isFinetuning=!1,this.isCircleCrop=this.isCropTab=!1,this.objColl=[],this.transform.degree=0,this.upperCanvas.style.display="block",this.transform.currFlipState="",this.allowDownScale=!0,this.upperCanvas.style.cursor=this.cursor=this.lowerCanvas.style.cursor="default",this.lowerContext.lineWidth=this.upperContext.lineWidth=void 0,this.frameDestPoints=null,this.textArea.value=this.textArea.textContent="",this.textArea.style.display="none",this.lowerContext.filter=this.canvasFilter=this.getDefaultFilter(),this.img.destLeft=this.img.destTop=this.img.srcLeft=this.img.srcTop=0,this.img.destWidth=this.img.destHeight=this.img.srcWidth=this.img.srcHeight=null,this.currSelectionPoint=null,this.panPoint.currentPannedPoint={x:0,y:0},this.rotateFlipColl=[],this.points=[],this.pointColl={},this.freehandCounter=0,this.notify("draw",{prop:"resetPanPoints"}),this.lowerCanvas.style.left=this.upperCanvas.style.left="",this.fontSizeColl=[],this.lowerCanvas.style.top=this.upperCanvas.style.top="",this.lowerCanvas.style.maxWidth=this.upperCanvas.style.maxWidth="",this.lowerCanvas.style.maxHeight=this.upperCanvas.style.maxHeight="",this.transform.defaultZoomFactor=this.transform.zoomFactor=0,this.transform.cropZoomFactor=null,this.frameObj={type:"none",color:"#fff",size:20,inset:20,offset:20,radius:0,amount:1,border:"solid",gradientColor:""},this.tempFrameObj={type:"none",color:"#fff",size:20,inset:20,offset:20,radius:0,amount:1,border:"solid",gradientColor:""},this.currObjType={shape:"",isDragging:!1,isActiveObj:!1,isText:!1,isInitialText:!1,isLine:!1,isInitialLine:!1,isCustomCrop:!1,isZoomed:!1,isUndoZoom:!1,isUndoAction:!1,isFiltered:!1,isSave:!1,isResize:!1,isRedact:!1},this.cropObj={cropZoom:0,defaultZoom:0,totalPannedPoint:{x:0,y:0},totalPannedClientPoint:{x:0,y:0},totalPannedInternalPoint:{x:0,y:0},tempFlipPanPoint:{x:0,y:0},activeObj:{},rotateFlipColl:[],degree:0,currFlipState:"",straighten:0,zoomFactor:0,previousZoomValue:0,destPoints:{startX:0,startY:0,width:0,height:0},frame:"none",srcPoints:{startX:0,startY:0,width:0,height:0},filter:"",isBrightAdjust:!1,aspectWidth:null,aspectHeight:null,straightenZoom:0,adjustmentLevel:{brightness:0,contrast:0,hue:0,opacity:100,saturation:0,blur:0,exposure:0,transparency:100,sharpen:!1,bw:!1},currentFilter:""},this.afterCropActions=[],this.currentFilter="",this.tempFrameZoomLevel=null,this.cxtTbarHeight=null,this.straightenPoint=null,this.transform.straighten=0,this.cancelCropSelection=null,this.aspectWidth=this.aspectHeight=null,this.isResize=this.isMaskImage=!1,this.drawingShape=null,this.isShapeDrawing=this.noPushUndo=this.isUndoRedoStack=this.isKBDNavigation=!1,this.shapeColl=[],this.tempObjColl=[],this.tempPointColl=[],this.tempShapeColl=[],this.isImageUpdated=!1,this.tempToolbarHeight=0,this.tempToolbar=[],this.tempRedactBlur=50,this.tempRedactPixel=40;var i={initialZoomValue:!1};this.editCompleteArgs=null,this.isFinetuneBtnClick=!1,this.notify("draw",{prop:"getInitialZoomValue",onPropertyChange:!1,value:{obj:i}}),i.initialZoomValue&&this.setProperties({zoomSettings:{zoomFactor:i.initialZoomValue}},!0);var o=this.element.querySelector("#"+this.element.id+"_quickAccessToolbarArea");o&&(o.style.display="none"),this.notifyResetForAllModules(),this.notify("filter",{prop:"update-finetunes"}),this.toolbarTemplate?this.toolbarHeight=this.element.querySelector("#"+this.element.id+"_toolbarArea").clientHeight:this.element.querySelector("#"+this.element.id+"_toolbar")&&(this.toolbarHeight=this.element.querySelector("#"+this.element.id+"_toolbar").clientHeight),this.notify("toolbar",{prop:"setToolbarHeight",value:{height:this.toolbarHeight}}),this.isImageLoaded=t,this.straightenBaseImageCanvas(),this.isImageLoaded=!1,this.notify("draw",{prop:"update-canvas",onPropertyChange:!1}),this.isImageLoaded=t,this.prevStraightenedDegree=0;var r=this.element.querySelector(".e-contextual-toolbar-wrapper");r&&r.classList.add("e-hide"),this.notify("toolbar",{prop:"refresh-dropdown-btn",value:{isDisabled:!1}}),this.notify("toolbar",{prop:"enable-disable-btns"});var n={bool:this.isStraightening};l.Browser.isDevice&&n.bool&&this.notify("crop",{prop:"resizeWrapper"});var a=this.element.querySelector("#"+this.element.id+"_saveDialog");a&&(0,l.getComponent)(a,"dialog").close();this.triggerEditCompleteEvent({action:"reset",actionEventArgs:null})}},t.prototype.rotate=function(e){var t={isRotate:!1};this.applyShapes(),this.activeObj.shape&&this.activeObj.shape.indexOf("crop")>-1?(this.transformSelect(90===e?"rotateright":"rotateleft"),t.isRotate=!0):(90!==e&&-90!==e||this.updateImageTransformColl(90===e?"rotateright":"rotateleft"),this.setRotateZoom(),this.notify("transform",{prop:"rotate",value:{degree:e,obj:t}}),this.notify("draw",{prop:"redrawDownScale"}));var i={action:"rotate",actionEventArgs:this.editCompleteArgs};return this.triggerEditCompleteEvent(i),t.isRotate},t.prototype.export=function(e,t,i){this.manageActiveAction(),this.notify("export",{prop:"export",onPropertyChange:!1,value:{type:e,fileName:t,imgQuality:i}})},t.prototype.select=function(e,t,i,o,r){this.applyShapes(),this.notify("toolbar",{prop:"performCropTransformClick",value:{shape:"crop-"+e}}),this.notify("draw",{prop:"select",onPropertyChange:!1,value:{type:e,startX:t,startY:i,width:o,height:r}}),t&&i||o&&r?this.notify("draw",{prop:"select",onPropertyChange:!1,value:{type:e,startX:t,startY:i,width:o,height:r}}):this.cropObj={cropZoom:0,defaultZoom:0,totalPannedPoint:{x:0,y:0},totalPannedClientPoint:{x:0,y:0},totalPannedInternalPoint:{x:0,y:0},tempFlipPanPoint:{x:0,y:0},activeObj:{},rotateFlipColl:[],degree:0,currFlipState:"",straighten:0,zoomFactor:0,previousZoomValue:0,destPoints:{startX:0,startY:0,width:0,height:0},frame:"none",srcPoints:{startX:0,startY:0,width:0,height:0},filter:"",isBrightAdjust:!1,aspectWidth:null,aspectHeight:null,straightenZoom:0,adjustmentLevel:{brightness:0,contrast:0,hue:0,opacity:100,saturation:0,blur:0,exposure:0,transparency:100,sharpen:!1,bw:!1},currentFilter:""}},t.prototype.freeHandDraw=function(e){this.notify("freehand-draw",{prop:"freeHandDraw",onPropertyChange:!1,value:{value:e}})},t.prototype.freehandDraw=function(e){if(!this.disabled&&this.isImageLoaded){if(!e&&this.isMaskImage)return void this.discard();this.manageActiveAction(),this.freeHandDraw(e);var t={shapeSettingsObj:{}};this.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:t}});var i=t.shapeSettingsObj;i.type=C.FreehandDraw;var o={cancel:!1,action:"insert",previousShapeSettings:i,currentShapeSettings:i};this.notify("freehand-draw",{prop:"triggerShapeChanging",value:{shapeChangingArgs:o}})}},t.prototype.pan=function(e,t,i){this.applyShapes(),this.notify("transform",{prop:"pan",onPropertyChange:!1,value:{value:e,x:t,y:i}})},t.prototype.zoom=function(e,t){this.isZoomBtnClick=!0;var i=this.transform.zoomFactor;if(0!==i){var o={previousZoomValue:null};this.notify("transform",{prop:"getPreviousZoomValue",value:{obj:o}}),i=o.previousZoomValue}1!==e&&0!==i&&(i<1&&e>1||i>1&&e<1)&&this.notify("transform",{prop:"zoom",onPropertyChange:!1,value:{zoomFactor:1,zoomPoint:t}}),this.notify("transform",{prop:"zoom",onPropertyChange:!1,value:{zoomFactor:e,zoomPoint:t}}),this.notify("draw",{prop:"redrawDownScale"})},t.prototype.drawEllipse=function(e,t,i,o,r,n,a,s,p){var d=!1,h=this.allowShape(e,t);return!this.disabled&&this.isImageLoaded&&(h||(0,l.isNullOrUndefined)(e)&&(0,l.isNullOrUndefined)(t))&&(d=!0,this.manageActiveAction(),this.notify("shape",{prop:"drawEllipse",onPropertyChange:!1,value:{x:e,y:t,radiusX:i,radiusY:o,strokeWidth:r,strokeColor:n,fillColor:a,degree:s,isSelected:p}}),this.editCompleted()),d},t.prototype.drawLine=function(e,t,i,o,r,n,a){var s=!1,p=this.allowShape(e,t);return!this.disabled&&this.isImageLoaded&&(p||(0,l.isNullOrUndefined)(e)&&(0,l.isNullOrUndefined)(t))&&(s=!0,this.manageActiveAction(),this.notify("shape",{prop:"drawLine",onPropertyChange:!1,value:{startX:e,startY:t,endX:i,endY:o,strokeWidth:r,strokeColor:n,isSelected:a}}),this.editCompleted()),s},t.prototype.drawArrow=function(e,t,i,o,r,n,a,s,p){var d=!1,h=this.allowShape(e,t);return!this.disabled&&this.isImageLoaded&&(h||(0,l.isNullOrUndefined)(e)&&(0,l.isNullOrUndefined)(t))&&(d=!0,this.manageActiveAction(),this.notify("shape",{prop:"drawArrow",onPropertyChange:!1,value:{startX:e,startY:t,endX:i,endY:o,strokeWidth:r,strokeColor:n,arrowStart:a,arrowEnd:s,isSelected:p}}),this.editCompleted()),d},t.prototype.drawPath=function(e,t,i,o){this.isPublicMethod=!0;var r={inRange:!1},n=!1;if(e&&e.length>0)for(var a=0;a<e.length&&!r.inRange;a++)this.notify("shape",{prop:"isPointsInRange",onPropertyChange:!1,value:{x:e[a].x,y:e[a].y,obj:r}});return!this.disabled&&this.isImageLoaded&&(r.inRange||(0,l.isNullOrUndefined)(e))&&(n=!0,this.manageActiveAction(),this.notify("shape",{prop:"drawPath",onPropertyChange:!1,value:{pointColl:e,strokeWidth:t,strokeColor:i,isSelected:o}}),this.editCompleted()),n},t.prototype.drawRectangle=function(e,t,i,o,r,n,a,s,p,d){var h=!1,c=this.allowShape(e,t);return!this.disabled&&this.isImageLoaded&&(c||(0,l.isNullOrUndefined)(e)&&(0,l.isNullOrUndefined)(t))&&(h=!0,this.manageActiveAction(),this.notify("shape",{prop:"drawRectangle",onPropertyChange:!1,value:{x:e,y:t,width:i,height:o,strokeWidth:r,strokeColor:n,fillColor:a,degree:s,isSelected:p,radius:d}}),this.editCompleted()),h},t.prototype.drawText=function(e,t,i,o,r,n,a,s,p,d,h,c,u,v,g,f){var m=!1,b=this.allowShape(e,t);return!this.disabled&&this.isImageLoaded&&(b||(0,l.isNullOrUndefined)(e)&&(0,l.isNullOrUndefined)(t))&&(m=!0,this.manageActiveAction(),this.notify("shape",{prop:"drawText",onPropertyChange:!1,value:{x:e,y:t,text:i,fontFamily:o,fontSize:r,bold:n,italic:a,color:s,isSelected:p,degree:d,fillColor:h,outlineColor:c,outlineWidth:u,transformCollection:v,underline:g,strikethrough:f}}),this.editCompleted()),m},t.prototype.drawImage=function(e,t,i,o,r,n,a,s,p){var d=!1,h=this.allowShape(t,i);if(!this.disabled&&this.isImageLoaded&&(h||(0,l.isNullOrUndefined)(t)&&(0,l.isNullOrUndefined)(i))){if("string"==typeof e)try{var c=new XMLHttpRequest,u=0===e.indexOf("blob:");c.open(u?"GET":"HEAD",e,!1),c.send(),d=c.status>=200&&c.status<300}catch(e){d=!1}else e instanceof ImageData&&e.data instanceof Uint8ClampedArray&&e.width>0&&e.height>0&&(d=!0);this.manageActiveAction(),this.notify("shape",{prop:"drawImage",onPropertyChange:!1,value:{x:t,y:i,width:o,height:r,src:e,degree:a,isAspectRatio:n,opacity:s,isSelected:p}}),this.editCompleted()}return d},t.prototype.updateShape=function(e,t){var i={isSelected:!1},o=!1,r={bool:!1};if((0,l.isNullOrUndefined)(e.id))e.strokeColor&&(this.activeObj.strokeSettings.strokeColor=e.strokeColor),e.fillColor&&(this.activeObj.strokeSettings.fillColor=e.fillColor),e.strokeWidth&&(this.activeObj.strokeSettings.strokeWidth=e.strokeWidth),e.index&&(this.activeObj.order=e.index),"FreehandDraw"===e.type&&e.strokeWidth&&this.notify("freehand-draw",{prop:"setPenStrokeWidth",onPropertyChange:!1,value:{value:e.strokeWidth}});else if("text"!==e.type.toLowerCase()||"block"!==this.textArea.style.display&&"inline-block"!==this.textArea.style.display||(this.okBtn(null,!0),o=!0),this.notify("shape",{prop:"selectShape",onPropertyChange:!1,value:{id:e.id,obj:i,isShape:!0}}),this.notify("selection",{prop:"getFreehandDrawEditing",onPropertyChange:!1,value:{obj:r}}),i.isSelected){var n=this.activeObj.textSettings.fontSize;if(this.notify("shape",{prop:"updateShapeChangeEventArgs",onPropertyChange:!1,value:{shapeSettings:e}}),"text"===this.activeObj.shape&&n){var a=this.activeObj.textSettings.fontSize-n;0!==a&&(this.activeObj.activePoint.height+=a,this.activeObj.activePoint.startY-=a/2,this.activeObj.activePoint.endY+=a/2,this.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:this.activeObj.activePoint,obj:this.activeObj,isMouseMove:null,x:null,y:null}}))}var s=(0,l.extend)({},this.activeObj,{},!0);this.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:null}}),this.upperContext.clearRect(0,0,this.upperCanvas.width,this.upperCanvas.height),s.shape&&this.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:s}}),"text"===this.activeObj.shape&&this.notify("toolbar",{prop:"editText",onPropertyChange:!1}),r.bool&&this.notify("undo-redo",{prop:"setPreventUR",value:{bool:!0}}),this.okBtn(t,!0),r.bool&&this.notify("undo-redo",{prop:"setPreventUR",value:{bool:!1}}),this.upperContext.clearRect(0,0,this.upperCanvas.width,this.upperCanvas.height),this.editCompleteArgs={action:"shape-update",currentShapeSettings:e},this.editCompleted("shape-customize"),o&&this.enableTextEditing(),t&&(this.noRedact=!0,this.selectShape(e.id))}return i.isSelected},t.prototype.selectShape=function(e){this.applyShapes();var t={isSelected:!1};return this.notify("shape",{prop:"selectShape",onPropertyChange:!1,value:{id:e,obj:t,isShape:!0}}),this.editCompleted("shape-select"),this.noRedact=!1,t.isSelected},t.prototype.deleteShape=function(e){"Redact"!==this.getShapeSetting(e).type&&(this.applyShapes(),this.notify("shape",{prop:"deleteShape",onPropertyChange:!1,value:{id:e,isShape:!0}}),this.editCompleted("shape-delete"),this.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),this.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.upperContext}}))},t.prototype.getShapeSetting=function(e){this.applyShapes();var t={shapeDetails:null};return this.notify("shape",{prop:"getShapeSetting",onPropertyChange:!1,value:{id:e,obj:t}}),this.notify("draw",{prop:"redrawDownScale"}),t.shapeDetails?t.shapeDetails:{}},t.prototype.getShapeSettings=function(){this.applyShapes();var e={shapeDetailsColl:[]};return this.notify("shape",{prop:"getShapeSettings",onPropertyChange:!1,value:{obj:e}}),this.notify("draw",{prop:"redrawDownScale"}),e.shapeDetailsColl.filter(function(e){return"redact"!==e.type})},t.prototype.getRedacts=function(){this.applyShapes();var e={shapeDetailsColl:[]};return this.notify("shape",{prop:"getRedactSettings",onPropertyChange:!1,value:{obj:e}}),this.notify("draw",{prop:"redrawDownScale"}),e.shapeDetailsColl.filter(function(e){return"redact"!==e.type})},t.prototype.selectRedact=function(e){this.applyShapes();var t={isSelected:!1};return this.notify("shape",{prop:"selectShape",onPropertyChange:!1,value:{id:e,obj:t,isRedact:!0}}),this.editCompleted("redact-select"),this.noRedact=!1,t.isSelected},t.prototype.deleteRedact=function(e){this.applyShapes(),this.notify("shape",{prop:"deleteShape",onPropertyChange:!1,value:{id:e,isRedact:!0}}),this.editCompleted("redact-delete")},t.prototype.updateRedact=function(e,t){this.applyShapes();var i={isSelected:!1};if(this.notify("shape",{prop:"selectShape",onPropertyChange:!1,value:{id:e.id,obj:i,isRedact:!0}}),i.isSelected){this.notify("shape",{prop:"updateShapeChangeEventArgs",onPropertyChange:!1,value:{shapeSettings:e}}),e.blurIntensity&&(this.activeObj.redactBlur=e.blurIntensity),e.pixelSize&&(this.activeObj.redactPixelate=e.pixelSize),this.activeObj.redactType="blur"===e.type.toLowerCase()?"blur":"pixelate";var o=(0,l.extend)({},this.activeObj,{},!0);this.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:null}}),this.upperContext.clearRect(0,0,this.upperCanvas.width,this.upperCanvas.height),o.shape&&this.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:o}}),this.okBtn(t,!0),this.upperContext.clearRect(0,0,this.upperCanvas.width,this.upperCanvas.height),this.editCompleteArgs={action:"redact-update",currentShapeSettings:e},this.editCompleted("redact-customize"),t&&this.selectRedact(e.id)}return i.isSelected},t.prototype.update=function(){this.notify("transform",{prop:"update"})},t.prototype.finetuneImage=function(e,t){!this.disabled&&this.isImageLoaded&&(this.manageActiveAction(),this.notify("filter",{prop:"finetuneImage",value:{value:t,option:e}}),this.editCompleteArgs={finetune:e,value:t},this.editCompleted("fine-tune"))},t.prototype.applyImageFilter=function(e){!this.disabled&&this.isImageLoaded&&(this.manageActiveAction(),this.notify("filter",{prop:"applyImageFilter",value:{option:e.toString()}}),this.editCompleteArgs={filter:e},this.editCompleted("filter"),this.canvasFilter=this.lowerContext.filter,this.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}))},t.prototype.undo=function(){this.handlePenActiveState(),this.notify("undo-redo",{prop:"undo",onPropertyChange:!1}),this.notify("draw",{prop:"redrawDownScale"})},t.prototype.redo=function(){this.handlePenActiveState(),this.notify("undo-redo",{prop:"redo",onPropertyChange:!1}),this.notify("draw",{prop:"redrawDownScale"})},t.prototype.getImageDimension=function(){return{x:this.img.destLeft,y:this.img.destTop,width:this.img.destWidth,height:this.img.destHeight}},t.prototype.resize=function(e,t,i){var o=!1;if(e.toString().length<=4&&t.toString().length<=4&&(!this.isCircleCrop||i)){this.manageActiveAction(),this.isPublicMethod=!0,this.notify("toolbar",{prop:"resizeClick",value:{bool:!1}});var r={startX:this.img.destLeft,startY:this.img.destTop,width:this.img.destWidth,height:this.img.destHeight};i?(this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"resize",isApplyBtn:!1,isCropping:!1}}),this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"resize",isApplyBtn:!1,isCropping:!1}})):this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"resize",isApplyBtn:!1,isCropping:!1}});var n=this.element.querySelector("#"+this.element.id+"_resizeWidth"),a=this.element.querySelector("#"+this.element.id+"_resizeHeight");n&&a&&((0,l.getComponent)(n,"numerictextbox").value=Math.floor(e),n.value=Math.floor(e).toString()+" px",(0,l.getComponent)(a,"numerictextbox").value=Math.floor(t),a.value=Math.floor(t).toString()+" px"),this.notify("transform",{prop:"resize",value:{width:e,height:t,isAspectRatio:i}}),r.startX!==this.img.destLeft||r.startY!==this.img.destTop||r.width!==this.img.destWidth||r.height!==this.img.destHeight?(o=!0,this.aspectWidth=e,this.aspectHeight=t,i&&(this.aspectHeight=null),this.okBtn(!1,!1,!0)):this.notify("draw",{prop:"performCancel",value:{isContextualToolbar:null}}),this.isPublicMethod=!1,this.notify("draw",{prop:"redrawDownScale"})}return o},t.prototype.drawFrame=function(e,t,i,o,r,n,a,s,p){this.manageActiveAction();var d=!1,h={frameChangeEventArgs:null};t=t||"#fff",i=i||"",o=o||20,r=r||0,n=n||0,a=a||0,s=s||k.Solid,p=p||0;var c={type:this.toPascalCase(this.frameObj.type),color:this.frameObj.color,gradientColor:this.frameObj.gradientColor,size:this.frameObj.size,inset:this.frameObj.inset,offset:this.frameObj.offset,borderRadius:this.frameObj.radius,frameLineStyle:this.toPascalCase(this.frameObj.border),lineCount:this.frameObj.amount};(0,l.extend)(this.tempFrameObj,this.frameObj),this.tempFrameZoomLevel=this.transform.zoomFactor,this.frameDestPoints=(0,l.extend)({},this.img,{},!0),this.notify("toolbar",{prop:"frameToolbarClick"}),this.frameObj.type=e.toLowerCase(),this.frameObj.color=t,this.frameObj.gradientColor=i,this.frameObj.size=o,this.frameObj.inset=r,this.frameObj.offset=n,this.frameObj.radius=a,this.frameObj.border=s.toLowerCase(),this.frameObj.amount=p,this.notify("draw",{prop:"triggerFrameChange",value:{prevFrameSettings:c,obj:h}}),h.frameChangeEventArgs&&!h.frameChangeEventArgs.cancel?(this.notify("draw",{prop:"render-image",value:{isMouseWheel:null}}),JSON.stringify(this.frameObj)!==JSON.stringify(this.tempFrameObj)?(d=!0,this.okBtn()):this.tempFrameZoomLevel=null):(this.notify("draw",{prop:"performCancel",value:{isContextualToolbar:null}}),(0,l.extend)(this.frameObj,this.tempFrameObj),this.tempFrameZoomLevel=null),this.notify("draw",{prop:"redrawDownScale"});var u=this.element.querySelector(".e-contextual-toolbar-wrapper");return u&&u.classList.add("e-hide"),d},t.prototype.straightenImage=function(e){var t=!1;return e>=-45&&e<=45&&(this.applyShapes(),t=!0,this.notify("transform",{prop:"straightenImage",value:{degree:e}}),this.notify("draw",{prop:"redrawDownScale"})),t},t.prototype.cloneShape=function(e){var t={isSelected:!1};return"shape"===e.split("_")[0]&&(this.notify("shape",{prop:"selectShape",onPropertyChange:!1,value:{id:e,obj:t}}),t.isSelected&&(this.notify("toolbar",{prop:"duplicateShape",onPropertyChange:!1,value:{isPreventUndoRedo:!1}}),this.okBtn(null,!0),this.notify("draw",{prop:"redrawDownScale"}))),t.isSelected},t.prototype.getImageFilter=function(e){var t=this.createElement("canvas").getContext("2d");return this.notify("filter",{prop:"updateAdj",value:{type:e.toLowerCase(),value:null,isPreview:!0,ctx:t}}),t.filter},t.prototype.enableTextEditing=function(){var e=(0,l.extend)({},this.activeObj,{},!0);e.order||(this.noPushUndo=!0,this.okBtn(),this.noPushUndo=!1,this.noRedact=!0,this.selectShape(e.currIndex),e.order=this.activeObj.order),this.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:!1}}),this.activeObj=e,this.notify("toolbar",{prop:"editText",onPropertyChange:!1})},t.prototype.canUndo=function(){var e=!1;return this.getUndoRedoColl().index>0&&(e=!0),e},t.prototype.canRedo=function(){var e=!1,t=this.getUndoRedoColl(),i=t.undoRedoColl,o=t.index;return i&&i.length>0&&o<i.length-1&&(e=!0),o===i.length?e=!1:(0===o&&i.length>0||o>0)&&(e=!0),e},t.prototype.apply=function(){this.isMaskImage?this.discard():(this.updateColl("reset"),this.closeOverlayTbar(),this.okBtn(null,!0))},t.prototype.discard=function(){this.updateColl("reset"),this.notify("draw",{prop:"performCancel",value:{isContextualToolbar:this.closeOverlayTbar(),isFinalCancel:!0}})},t.prototype.enableShapeDrawing=function(e,t){if(t&&(this.drawingShape=e.toLowerCase(),this.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1})),e&&t){this.currObjType.shape=e.toLowerCase(),this.activeObj.shape=this.currObjType.shape,this.currObjType.isDragging=this.currObjType.isCustomCrop=!1,this.activeObj.shapeDegree=this.transform.degree,this.activeObj.shapeFlip=this.transform.currFlipState,this.activeObj.textFlip=this.transform.currFlipState,this.activeObj.flipObjColl=[];var i={order:null};this.notify("shape",{prop:"getNewOrder",onPropertyChange:!1,value:{obj:i}}),this.activeObj.order=i.order,this.notify("selection",{prop:"annotate",value:{shape:this.currObjType.shape}}),"text"===this.currObjType.shape?this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"text",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}):"redact"===this.currObjType.shape?this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"redact",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}):this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"shapes",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}),this.notify("toolbar",{prop:"update-toolbar-items",onPropertyChange:!1})}else t||this.okBtn(null,!0)},t.prototype.bringToFront=function(e){this.noRedact=!0,this.selectShape(e)&&(this.updateShapeOrder(e,"bringToFront"),this.apply())},t.prototype.bringForward=function(e){this.noRedact=!0,this.selectShape(e)&&(this.updateShapeOrder(e,"bringForward"),this.apply())},t.prototype.sendToBack=function(e){this.noRedact=!0,this.selectShape(e)&&(this.updateShapeOrder(e,"sendToBack"),this.apply())},t.prototype.sendBackward=function(e){this.noRedact=!0,this.selectShape(e)&&(this.updateShapeOrder(e,"sendBackward"),this.apply())},t.prototype.clearImage=function(){this.reset(),this.isImageLoaded=!1,this.lowerContext.clearRect(0,0,this.lowerCanvas.width,this.lowerCanvas.height),this.upperContext.clearRect(0,0,this.upperCanvas.width,this.upperCanvas.height);var e=this.element.querySelector("#"+this.element.id+"_bottomToolbar");l.Browser.isDevice&&e&&(this.element.querySelector("#"+this.element.id+"_bottomToolbar").style.display="none"),this.notify("toolbar",{prop:"destroy-top-toolbar",onPropertyChange:!1}),this.notify("toolbar",{prop:"create-toolbar",onPropertyChange:!1}),this.notify("toolbar",{prop:"create-contextual-toolbar",onPropertyChange:!1});var t=this.element.querySelector("#"+this.element.id+"_dropArea");t&&(t.style.display="flex")},t.prototype.selectMaskImage=function(e,t){e=e||10,t=t||"#512da880",this.applyShapes(),this.isMaskImage=!0,this.updateColl("empty"),this.enableDisableToolbar(!0),this.update(),this.activeObj.strokeSettings.strokeWidth=e,this.notify("freehand-draw",{prop:"setPenStrokeWidth",onPropertyChange:!1,value:{value:e}}),this.activeObj.strokeSettings.strokeColor=t,this.notify("freehand-draw",{prop:"freeHandDraw",onPropertyChange:!1,value:{value:!0}}),this.maskCanvas.style.display="block"},t.prototype.enableDisableToolbar=function(e){var t,i=this.element.querySelector("#"+this.element.id+"_toolbar");i&&(t=(0,l.getComponent)(i,"toolbar"))&&t.disable(e),(i=this.element.querySelector("#"+this.element.id+"_bottomToolbar"))&&(t=(0,l.getComponent)(i,"toolbar"))&&t.disable(e)},t.prototype.updateImage=function(e,t){var i=this;if(e||t||""===t){var o=(0,l.extend)({},this.cropObj,{},!0),r={currObj:{}};this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:r}});var n=r.currObj;n.objColl=(0,l.extend)([],this.objColl,[],!0),n.pointColl=(0,l.extend)([],this.pointColl,[],!0),n.afterCropActions=(0,l.extend)([],this.afterCropActions,[],!0);var a={selPointColl:null};if(this.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:a}}),n.selPointColl=(0,l.extend)([],a.selPointColl,[],!0),e){if(this.isImageUpdated=!0,"string"!=typeof e){var s=this.createElement("canvas");s.width=e.width,s.height=e.height,s.getContext("2d").putImageData(e,0,0),e=s.toDataURL()}this.baseImg.src=e,setTimeout(function(){0!==i.cropObj.straighten?(i.notify("toolbar",{prop:"performCropTransformClick",value:{shape:"crop-custom"}}),i.noPushUndo=!0,i.crop(),i.noPushUndo=!1):i.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}}),i.isImageUpdated=!1,t||(i.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"updateImage",previousObj:n,previousObjColl:n.objColl,previousPointColl:n.pointColl,previousSelPointColl:n.selPointColl,previousCropObj:o,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),i.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}))},100)}(t||""===t)&&(this.notify("draw",{prop:"imageBackgroundColor",onPropertyChange:!1,value:{color:t}}),this.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}}),e||(this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"bgColor",previousObj:n,previousObjColl:n.objColl,previousPointColl:n.pointColl,previousSelPointColl:n.selPointColl,previousCropObj:o,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}))),e&&t&&(this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"updateImage",previousObj:n,previousObjColl:n.objColl,previousPointColl:n.pointColl,previousSelPointColl:n.selPointColl,previousCropObj:o,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}))}},t.prototype.editCompleted=function(e){this.notify("draw",{prop:"redrawDownScale"});var t={action:e||"shape-insert",actionEventArgs:this.editCompleteArgs};this.triggerEditCompleteEvent(t)},t.prototype.updateColl=function(e){this.isMaskImage&&("empty"===e?(this.tempToolbarHeight=this.toolbarHeight,this.tempToolbar=this.toolbar?(0,l.extend)([],this.toolbar,[],!0):null,this.tempObjColl=(0,l.extend)([],this.objColl,[],!0),this.tempPointColl=(0,l.extend)([],this.pointColl,[],!0),this.tempShapeColl=(0,l.extend)([],this.shapeColl,[],!0),this.objColl=[],this.pointColl=[],this.shapeColl=[],this.freehandCounter=0,this.notify("freehand-draw",{prop:"setCurrentFreehandDrawIndex",value:{value:0}}),this.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}})):"reset"===e&&(this.objColl=this.tempObjColl,this.pointColl=this.tempPointColl,this.shapeColl=this.tempShapeColl,this.freehandCounter=this.pointColl.length,this.notify("freehand-draw",{prop:"setCurrentFreehandDrawIndex",value:{value:this.freehandCounter}}),this.enableDisableToolbar(!1),0!==this.cropObj.straighten&&(this.notify("toolbar",{prop:"performCropTransformClick",value:{shape:"crop-custom"}}),this.noPushUndo=!0,this.crop(),this.noPushUndo=!1),this.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}}),this.isMaskImage=!1,this.upperContext.globalCompositeOperation="source-over",this.maskCanvas.style.display="none",this.activeObj.strokeSettings={strokeColor:"#fff",fillColor:"",strokeWidth:null,radius:null,outlineColor:"",outlineWidth:null},this.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:this.activeObj.strokeSettings,strokeColor:"#fff",fillColor:"",strokeWidth:null,outlineWidth:null}}),this.notify("freehand-draw",{prop:"setPenStrokeWidth",onPropertyChange:!1,value:{value:2}}),this.notify("freehand-draw",{prop:"setMasking",onPropertyChange:!1,value:{value:!1}})))},t.prototype.scaleToFit=function(e){var t=(0,l.extend)({},e,{},!0),i=this.lowerCanvas.clientWidth,o=this.lowerCanvas.clientHeight;if(e.width&&e.height&&(e.width>i||e.height>o)){var r=i/e.width,n=o/e.height,a=Math.min(r,n);t.width=Math.round(e.width*a),t.height=Math.round(e.height*a)}else if(e.width&&e.width>i){a=i/e.width;t.width=Math.round(e.width*a)}else if(e.height&&e.height>o){a=o/e.height;t.height=Math.round(e.height*a)}return t},t.prototype.setInitialZoomLevel=function(e){var t=this,i=1,o=this.img.destWidth,r=this.img.destHeight,n=e.width,a=e.height,s={width:0,height:0};for(this.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:this.img.srcWidth,height:this.img.srcHeight,obj:s,isImgShape:null}});(o&&n&&n>o||r&&a&&a>r)&&(o=s.width+.025*s.width*i,r=s.height+.025*s.height*i,!(Math.abs(o)>=Math.abs(n)&&Math.abs(r)>=Math.abs(a)));)i++;if(i>1){this.isImageLoaded=!0;var l=setInterval(function(){if(t.imageLoaded){for(var e=1;e<i;e++){if(!(Math.round(e/4)<t.zoomSettings.maxZoomFactor)){i=e;break}t.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:.025,zoomPoint:null,isResize:!0}})}t.setProperties({zoomSettings:{zoomFactor:Math.round(i/4)}},!0),t.notify("transform",{prop:"setPreviousZoomValue",onPropertyChange:!1,value:{previousZoomValue:t.zoomSettings.zoomFactor}}),t.notify("toolbar",{prop:"enable-disable-btns"}),clearInterval(l)}},1)}},t.prototype.resetToolbar=function(){this.toolbarHeight!==this.tempToolbarHeight&&!((0,l.isNullOrUndefined)(this.toolbar)||this.toolbar&&this.toolbar.length>0)&&(0,l.isNullOrUndefined)(this.toolbarTemplate)&&(this.toolbarHeight=this.tempToolbarHeight,this.notify("toolbar",{prop:"setToolbarHeight",value:{height:this.toolbarHeight}}),this.toolbar=this.tempToolbar,this.toolbarTemplate||(this.notify("toolbar",{prop:"create-toolbar",onPropertyChange:!1}),this.notify("toolbar",{prop:"create-contextual-toolbar",onPropertyChange:!1})),this.update())},t.prototype.setRotateZoom=function(){this.transform.zoomFactor>0?this.notify("draw",{prop:"setRotateZoom",onPropertyChange:!1,value:{isRotateZoom:!0}}):this.notify("draw",{prop:"setRotateZoom",onPropertyChange:!1,value:{isRotateZoom:!1}})},t.prototype.getData=function(e){e&&this.resetToolbar();var t=(0,l.extend)([],this.objColl,null,!0),i=(0,l.extend)([],this.pointColl,null,!0),o=(0,l.extend)([],this.shapeColl,null,!0);if(e){this.notify("shape",{prop:"updateShapeColl",onPropertyChange:!1});for(var r=0;r<this.freehandCounter;r++)this.pointColl[r].strokeColor="#fff"}else this.objColl=[],this.pointColl=[],this.shapeColl=[],this.freehandCounter=0;var n=this.frameObj.type;this.frameObj.type="none";var a=this.aspectWidth,s=this.aspectHeight;this.aspectWidth=this.aspectHeight=null;var p=this.cropObj.straighten;this.togglePen=!1,this.notify("toolbar",{prop:"performCropTransformClick",value:{shape:"crop-custom"}});var d=(0,l.extend)({},this.img,{},!0),h=(0,l.extend)({},this.cropObj,{},!0),c=(0,l.extend)({},this.activeObj,{},!0),u=(0,l.extend)({},this.transform,{},!0),v=(0,l.extend)({},this.panPoint,{},!0);0!==p&&this.setStraighten(0);var g=this.activeObj.activePoint;g.startX=this.img.destLeft,g.startY=this.img.destTop,g.width=this.img.destWidth,g.height=this.img.destHeight,g.endX=g.startX+g.width,g.endY=g.startY+g.height,this.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:g,obj:this.activeObj,isMouseMove:null,x:null,y:null}}),this.noPushUndo=!0,this.crop(),this.noPushUndo=!1,this.isCropTab=!1,this.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.notify("crop",{prop:"resetZoom",onPropertyChange:!1}),this.isCropTab=!0;var f=(0,l.extend)([],this.afterCropActions,[],!0),m=(0,l.extend)([],this.rotateFlipColl,[],!0);this.notify("crop",{prop:"revertTransform",value:{type:"initial",coll:m}});var b=this.getImageData();if(e){var y=this.createElement("canvas"),C=y.getContext("2d");if(y.width=b.width,y.height=b.height,C.fillRect(0,0,y.width,y.height),this.pointColl.length>0){var x={width:0,height:0};this.notify("crop",{prop:"calcRatio",onPropertyChange:!1,value:{obj:x,dimension:{width:y.width,height:y.height}}});var w=x;this.notify("export",{prop:"drawAnnotation",value:{context:C,ratio:w}})}this.upperContext.clearRect(0,0,this.upperCanvas.width,this.upperCanvas.height),b=C.getImageData(0,0,y.width,y.height)}return this.notify("crop",{prop:"revertTransform",value:{type:"reverse",coll:m}}),this.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.afterCropActions=f,e||(this.objColl=t,this.pointColl=i,this.shapeColl=o,this.freehandCounter=this.pointColl.length),this.frameObj.type=n,this.aspectWidth=a,this.aspectHeight=s,this.notify("toolbar",{prop:"performCropTransformClick",value:{shape:"crop-custom"}}),0!==p&&this.setStraighten(p),this.img=d,this.cropObj=h,this.activeObj=c,this.transform=u,this.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:.1,zoomPoint:null,isResize:null}}),this.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:-.1,zoomPoint:null,isResize:null}}),0!==this.transform.degree&&(this.panPoint.currentPannedPoint={x:v.totalPannedClientPoint.x,y:v.totalPannedClientPoint.y},this.notify("transform",{prop:"drawPannedImage",value:{xDiff:v.totalPannedClientPoint.x,yDiff:v.totalPannedClientPoint.y}}),this.panPoint.currentPannedPoint={x:0,y:0},this.notify("transform",{prop:"setTempPanMove",value:{point:null}})),this.noPushUndo=!0,this.crop(),this.noPushUndo=!1,this.transform.straighten=0,this.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}}),b},t.prototype.applyShapes=function(){if(!this.isUndoRedoStack){var e={bool:!1};this.notify("selection",{prop:"getFreehandDrawEditing",onPropertyChange:!1,value:{obj:e}}),(e.bool||this.togglePen||this.activeObj.shape&&-1!==["rectangle","ellipse","line","arrow","path","text","image"].indexOf(this.activeObj.shape)||this.drawingShape)&&this.okBtn(null,!0)}},t.prototype.closeOverlayTbar=function(){var e=!1,t={bool:null};if(this.notify("toolbar",{prop:"getFrameToolbar",onPropertyChange:!1,value:{obj:t}}),!t.bool&&this.element.querySelector(".e-contextual-toolbar-wrapper")){this.element.querySelector(".e-contextual-toolbar-wrapper").classList.contains("e-hide")||(e=!0);var i={bool:this.isStraightening};(!l.Browser.isDevice||l.Browser.isDevice&&!i.bool)&&this.element.querySelector(".e-contextual-toolbar-wrapper").classList.add("e-hide")}return e},t.prototype.toolbarTemplateFn=function(){var e,t=this.element.id+"_toolbar",i=this.element.querySelector("#"+this.element.id+"_toolbarArea");if(this.toolbarTemplate){if(this.toolbarFn=this.templateParser(this.toolbarTemplate),this.isReact)e=this.toolbarFn({type:"toolbar"},this,"Template",t)[0];else if(this.isAngular){var o=this.toolbarFn({type:"toolbar"},this,"Template",t);e=3===o[0].nodeType?o[1]:o[0]}else e=this.toolbarFn({type:"toolbar"},this,"Template",t)[0];i.appendChild(e),this.toolbarHeight=i.clientHeight,this.notify("toolbar",{prop:"setToolbarHeight",value:{height:this.toolbarHeight}}),this.renderReactTemplates()}},t.prototype.quickAccessToolbarTemplateFn=function(){var e,t=this.element.id+"_quickAccessToolbar",i=this.element.querySelector("#"+this.element.id+"_quickAccessToolbarArea");if(this.quickAccessToolbarTemplate){if(this.qatFn=this.templateParser(this.quickAccessToolbarTemplate),this.isReact)e=this.qatFn({type:"toolbar"},this,"Template",t)[0];else if(this.isAngular){var o=this.qatFn({type:"toolbar"},this,"Template",t);e=3===o[0].nodeType?o[1]:o[0]}else e=this.qatFn({type:"toolbar"},this,"Template",t)[0];i.appendChild(e),this.renderReactTemplates()}},t.prototype.templateParser=function(e){if(e)try{return"function"!=typeof e&&document.querySelectorAll(e).length?(0,l.compile)(document.querySelector(e).innerHTML.trim()):(0,l.compile)(e)}catch(t){return(0,l.compile)(e)}},t.prototype.getTextFromId=function(e){return{1:"none",2:"bar",3:"arrow",4:"arrowSolid",5:"circle",6:"circleSolid",7:"square",8:"squareSolid"}[""+e]},t.prototype.getFinetuneOption=function(e){return{brightness:j.Brightness,contrast:j.Contrast,hue:j.Hue,saturation:j.Saturation,opacity:j.Opacity,blur:j.Blur,exposure:j.Exposure}[""+e]},t.prototype.setPenStroke=function(e){this.notify("freehand-draw",{prop:"setPenStrokeWidth",onPropertyChange:!1,value:{value:parseInt(e,10)}})},t.prototype.updateFreehandDrawColorChange=function(){var e={tempFreeHandDrawEditingStyles:null};this.notify("freehand-draw",{prop:"getTempFreeHandDrawEditingStyles",value:{obj:e}}),this.notify("freehand-draw",{prop:"color-change",value:{color:e.tempFreeHandDrawEditingStyles.strokeColor}})},t.prototype.getUndoRedoColl=function(){var e={undoRedoColl:null,index:null},t={undoRedoStep:null},i={appliedUndoRedoColl:[]};return this.notify("undo-redo",{prop:"getAppliedUndoRedoColl",value:{obj:i}}),this.notify("undo-redo",{prop:"getUndoRedoStep",value:{obj:t}}),e.undoRedoColl=i.appliedUndoRedoColl,e.index=t.undoRedoStep,e},t.prototype.updateImageTransformColl=function(e){var t;"rotateleft"===e?t=-90:"rotateright"===e?t=90:"horizontalflip"===e?t="horizontal":"verticalflip"===e&&(t="vertical");for(var i=0;i<this.objColl.length;i++){var o=this.objColl[i].shape;if("image"===o||"text"===o){(0,l.isNullOrUndefined)(this.objColl[i].rotateFlipColl)&&(this.objColl[i].rotateFlipColl=[]),this.objColl[i].rotateFlipColl.push(t);var r={collection:this.objColl[i].rotateFlipColl};this.notify("shape",{prop:"alignRotateFlipColl",onPropertyChange:!1,value:{collection:this.objColl[i].rotateFlipColl,isRotateFlipCollection:!1,obj:r}}),this.objColl[i].rotateFlipColl=r.collection}}},t.prototype.setInitialZoomState=function(){this.objColl.push(this.activeObj),this.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1});var e=this.isUndoRedo;this.isCropTab=!1,this.isUndoRedo=!0,this.transform.cropZoomFactor&&this.transform.cropZoomFactor>0?this.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:-this.transform.cropZoomFactor,zoomPoint:null,isResize:!0}}):this.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:Math.abs(this.transform.cropZoomFactor),zoomPoint:null,isResize:!0}}),this.isUndoRedo=e,this.panPoint.totalPannedPoint={x:0,y:0},this.transform.cropZoomFactor=0,this.notify("freehand-draw",{prop:"updateFHDColl",onPropertyChange:!1}),this.activeObj=(0,l.extend)({},this.objColl[this.objColl.length-1],{},!0),this.objColl.pop(),this.isCropTab=!0,this.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:this.activeObj}})},t.prototype.updateCropTransformItems=function(){this.prevCurrSelectionPoint=(0,l.extend)({},this.currSelectionPoint,{},!0),this.notify("draw",{prop:"updateCropSelection",onPropertyChange:!1})},t.prototype.toPascalCase=function(e,t){var i=[];(0,l.isNullOrUndefined)(e)||(i=e.toLowerCase().split("-"));for(var o=0;o<i.length;o++)i[o]=i[o].charAt(0).toUpperCase()+i[o].slice(1);return t&&(t.maxText=i.join("")),i.join("")},t.prototype.getFontSizes=function(){var e,t=[];this.fontSizeColl=[],e=0===this.transform.degree||this.transform.degree%180==0?this.img.destWidth/25:this.img.destHeight/25;for(var i=1;i<=10;i++)this.fontSizeColl.push({text:(i*Math.round(e/2)).toString()}),t.push({text:i.toString()});return t},t.prototype.updateDropInfoContent=function(e){if(e){var t={key:"SupportText"};this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:t}});var i=this.getExtensionString(),o={key:"MinMaxSize"};this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:o}});var r,n={key:"And"};this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:n}}),this.uploadSettings.minFileSize&&this.uploadSettings.maxFileSize?r=" "+o.value+" "+this.formatSizeUnits(this.uploadSettings.minFileSize)+" "+n.value+" "+this.formatSizeUnits(this.uploadSettings.maxFileSize):this.uploadSettings.minFileSize?(o.key="MinSize",this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:o}}),r=" "+o.value+" "+this.formatSizeUnits(this.uploadSettings.minFileSize)):this.uploadSettings.maxFileSize&&(o.key="MaxSize",this.notify("toolbar",{prop:"getLocaleText",onPropertyChange:!1,value:{obj:o}}),r=" "+o.value+" "+this.formatSizeUnits(this.uploadSettings.maxFileSize)),e.textContent=r?t.value+i+r:t.value+i}},t.prototype.okBtn=function(e,t,i){if(t){this.noPushUndo=!1;this.notify("selection",{prop:"setTempActObj",onPropertyChange:!1,value:{obj:{activePoint:{startX:0,startY:0,endX:0,endY:0,width:0,height:0},flipObjColl:[],triangle:[],triangleRatio:[],order:null}}})}var o=this.element.querySelector(".e-contextual-toolbar-wrapper");o&&o.classList.remove("e-frame-wrapper");var r,n=!1;this.isResizeOkBtn=!0;var a=this.element.querySelector("#"+this.element.id+"_aspectratio"),s=this.element.querySelector("#"+this.element.id+"_nonaspectratio"),p=this.element.querySelector(".e-ie-toolbar-aspect-ratio-btn"),d=this.element.querySelector(".e-ie-toolbar-nonaspect-ratio-btn");if(void 0!==this.activeObj.shape&&(r=this.activeObj.shape.split("-")),(void 0===r&&this.currObjType.isCustomCrop||void 0!==r&&"crop"===r[0])&&(n=!0),this.allowDownScale=!0,(this.activeObj.shape&&"image"!==this.activeObj.shape||this.togglePen)&&!n){var h={shapeSettingsObj:{}};this.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:h}});var c=h.shapeSettingsObj;this.togglePen&&(c.type=C.FreehandDraw);var u={action:"apply",currentShapeSettings:(0,l.extend)({},c,{},!0)};this.currObjType.isRedact||!t&&!this.isShapeDrawing||(this.isShapeDrawing&&(u.action="draw-end"),this.trigger("shapeChange",u)),this.editCompleteArgs=u,this.currObjType.isRedact&&(this.currObjType.isRedact=!1)}if(a||s){var v={width:null,height:null};this.notify("selection",{prop:"getNumTextValue",onPropertyChange:!1,value:{obj:v}});var g={x:v.width,y:v.height},f={prevCropObj:this.prevCropObj},m={prevObj:this.prevObj};if(g&&g.x&&g.y&&f.prevCropObj&&m.prevObj){s||d&&!d.classList.contains("e-hidden")?this.notify("transform",{prop:"resize",value:{width:g.x,height:g.y,isAspectRatio:!1}}):(a||p&&!p.classList.contains("e-hidden"))&&this.notify("transform",{prop:"resize",value:{width:g.x,height:null,isAspectRatio:!0}}),this.isResize=!1,this.aspectWidth=g.x,this.aspectHeight=g.y,this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:!1,isCropping:!1,isZooming:null,cType:null}}),this.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:-this.transform.zoomFactor,zoomPoint:null,isResize:!0}}),this.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:m.prevObj.defaultZoom,zoomPoint:null,isResize:!0}}),m.prevObj.zoomFactor&&this.setProperties({zoomSettings:{zoomFactor:m.prevObj.zoomFactor}},!0),this.notify("transform",{prop:"setPreviousZoomValue",onPropertyChange:!1,value:{previousZoomValue:this.zoomSettings.zoomFactor}}),this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"resize",previousObj:m.prevObj,previousObjColl:m.prevObj.objColl,previousPointColl:m.prevObj.pointColl,previousSelPointColl:m.prevObj.selPointColl,previousCropObj:f.prevCropObj,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}});var b=this.cancelCropSelection;!b||!(0,l.isNullOrUndefined)(s)&&s||(b.previousObj.aspectWidth=b.currentObj.aspectWidth=this.aspectWidth,b.previousObj.aspectHeight=b.currentObj.aspectHeight=this.aspectHeight,b.previousCropObj=(0,l.extend)({},this.cropObj,{},!0),b.currentCropObj=(0,l.extend)({},this.cropObj,{},!0),this.notify("draw",{prop:"updateCropSelObj"})),this.cancelCropSelection=null}else!g||0!==g.x&&0!==g.y?this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:!1,isCropping:!1,isZooming:null,cType:null}}):this.notify("draw",{prop:"performCancel",value:{isContextualToolbar:null}});this.isAspectRatio=!1}else if(i){var y=!1;this.aspectWidth&&this.aspectHeight?this.notify("transform",{prop:"resize",value:{width:this.aspectWidth,height:this.aspectHeight,isAspectRatio:!1}}):this.aspectWidth&&(this.notify("transform",{prop:"resize",value:{width:this.aspectWidth,height:null,isAspectRatio:!0}}),this.aspectHeight=this.aspectWidth/(this.img.destWidth/this.img.destHeight),y=!0),this.isResize=!1,this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:!1,isCropping:!1,isZooming:null,cType:null}}),this.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:-this.transform.zoomFactor,zoomPoint:null,isResize:!0}}),this.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:this.prevObj.defaultZoom,zoomPoint:null,isResize:!0}}),this.prevObj.zoomFactor&&this.setProperties({zoomSettings:{zoomFactor:this.prevObj.zoomFactor}},!0),this.notify("transform",{prop:"setPreviousZoomValue",onPropertyChange:!1,value:{previousZoomValue:this.zoomSettings.zoomFactor}}),this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"resize",previousObj:this.prevObj,previousObjColl:this.prevObj.objColl,previousPointColl:this.prevObj.pointColl,previousSelPointColl:this.prevObj.selPointColl,previousCropObj:this.prevCropObj,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}});var x=this.cancelCropSelection;x&&y&&(x.previousObj.aspectWidth=x.currentObj.aspectWidth=this.aspectWidth,x.previousObj.aspectHeight=x.currentObj.aspectHeight=this.aspectHeight,x.previousCropObj=(0,l.extend)({},this.cropObj,{},!0),x.currentCropObj=(0,l.extend)({},this.cropObj,{},!0),this.notify("draw",{prop:"updateCropSelObj"})),this.cancelCropSelection=null,this.isAspectRatio=!1}var w=this.element.querySelector(".e-contextual-toolbar-wrapper .e-toolbar-item.e-selected"),P={bool:!1};this.notify("selection",{prop:"getFreehandDrawEditing",onPropertyChange:!1,value:{obj:P}});this.notify("toolbar",{prop:"getFrameToolbar",onPropertyChange:!1,value:{obj:{bool:null}}});var S=this.element.querySelector("#"+this.element.id+"_sliderWrapper");if(w&&(this.currentFilter=w.children[0].children[0].id.replace("Canvas","")),n){if(0!==this.transform.straighten&&(0!==this.panPoint.totalPannedPoint.x||0!==this.panPoint.totalPannedPoint.y||0!==this.panPoint.totalPannedClientPoint.x||0!==this.panPoint.totalPannedClientPoint.y)){var j=this.prevStraightenedDegree;this.prevStraightenedDegree=this.transform.straighten,this.setStraighten(this.transform.straighten-3),this.setStraighten(this.transform.straighten+3),this.prevStraightenedDegree=j}this.isCroppedEvent=this.crop()}else if(this.togglePen){if(this.freeHandDraw(!1),!this.isMaskImage){var O={penStrokeWidth:null};this.notify("freehand-draw",{prop:"getPenStrokeWidth",onPropertyChange:!1,value:{obj:O}}),this.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}),this.notify("freehand-draw",{prop:"setPenStrokeWidth",onPropertyChange:!1,value:{value:O.penStrokeWidth}})}this.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),this.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.upperContext}})}else if("block"===this.textArea.style.display||"inline-block"===this.textArea.style.display)this.notify("shape",{prop:"redrawActObj",onPropertyChange:!1,value:{x:null,y:null,isMouseDown:null}}),this.lowerContext.clearRect(0,0,this.lowerCanvas.width,this.lowerCanvas.height),this.notify("draw",{prop:"redrawImgWithObj",onPropertyChange:!1}),(0,l.isNullOrUndefined)(e)&&this.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}),this.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),this.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.upperContext}});else if(!S&&!this.currObjType.isFiltered||this.drawingShape||"redact"===this.activeObj.shape)if(P.bool)this.notify("freehand-draw",{prop:"applyFhd",onPropertyChange:!1}),this.notify("selection",{prop:"setFreehandDrawCustomized",value:{isFreehandDrawCustomized:!1}}),this.notify("toolbar",{prop:"destroy-qa-toolbar"}),this.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}),this.notify("freehand-draw",{prop:"resetFreehandDrawSelectedId",onPropertyChange:!1});else if(0!==this.activeObj.activePoint.width||0!==this.activeObj.activePoint.height||"path"===this.activeObj.shape&&this.activeObj.pointColl.length>0)"image"===this.activeObj.shape&&this.notify("draw",{prop:"setImageApply",onPropertyChange:!1,value:{bool:!0}}),this.notify("shape",{prop:"applyActObj",onPropertyChange:!1,value:{isMouseDown:null}});else{if(JSON.stringify(this.frameObj)!==JSON.stringify(this.tempFrameObj)){var T={currObj:{}};this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:T}}),this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"frame",previousObj:T.currObj,previousObjColl:T.currObj.objColl,previousPointColl:T.currObj.pointColl,previousSelPointColl:T.currObj.selPointColl,previousCropObj:(0,l.extend)({},this.cropObj,{},!0),previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:!0}});var k={type:this.toPascalCase(this.frameObj.type),color:this.frameObj.color,gradientColor:this.frameObj.gradientColor,size:this.frameObj.size,inset:this.frameObj.inset,offset:this.frameObj.offset,borderRadius:this.frameObj.radius,frameLineStyle:this.toPascalCase(this.frameObj.border),lineCount:this.frameObj.amount},F={cancel:!1,previousFrameSetting:{type:this.toPascalCase(this.tempFrameObj.type),color:this.tempFrameObj.color,gradientColor:this.tempFrameObj.gradientColor,size:this.tempFrameObj.size,inset:this.tempFrameObj.inset,offset:this.tempFrameObj.offset,borderRadius:this.tempFrameObj.radius,frameLineStyle:this.toPascalCase(this.tempFrameObj.border),lineCount:this.tempFrameObj.amount},currentFrameSetting:k};this.editCompleteArgs=F,this.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}),this.tempFrameObj=(0,l.extend)({},this.frameObj,{},!0)}this.notify("draw",{prop:"resetFrameZoom",onPropertyChange:!1,value:{isOk:!0}})}else{this.initialAdjustmentValue=this.canvasFilter=this.lowerContext.filter,this.currObjType.isFiltered=!1;this.notify("draw",{prop:"getTempAdjustmentValue",value:{obj:{value:null}}}),S&&"Opacity"===S.parentElement.previousElementSibling.textContent||this.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}),(0!==this.activeObj.activePoint.width&&0!==this.activeObj.activePoint.height||"path"===this.activeObj.shape&&this.activeObj.pointColl.length>0)&&this.notify("shape",{prop:"applyActObj",onPropertyChange:!1,value:{isMouseDown:null}})}P.isCropToolbar||(this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:!1,isCropping:null,isZooming:null,cType:null}}),this.currObjType.isRedact=!1),this.notify("draw",{prop:"setNewPath",value:{bool:!1}}),this.transform.zoomFactor=this.transform.defaultZoomFactor,this.notify("selection",{prop:"setCurrentDrawingShape",onPropertyChange:!1,value:{value:""}}),this.isResizeOkBtn=!1,this.notify("draw",{prop:"redrawDownScale"}),this.isChangesSaved=this.isFinetuneBtnClick=!1,t&&(this.drawingShape=null,this.notify("draw",{prop:"resetTempObjColl"}),this.notify("draw",{prop:"resetTempPointColl"}))},t.prototype.triggerEditCompleteEvent=function(e){var t={bool:!1};this.notify("undo-redo",{prop:"preventEditComplete",value:{obj:t}}),t.bool||("shape-insert"===e.action&&e.actionEventArgs&&e.actionEventArgs.currentShapeSettings&&"Redact"===e.actionEventArgs.currentShapeSettings.type.toString()&&(e.action="redact"),this.trigger("editComplete",e),this.editCompleteArgs=null)},t.prototype.getObjFromId=function(e){var t;if(this.activeObj.currIndex&&this.activeObj.currIndex===e)t=(0,l.extend)({},this.activeObj,{},!0);else for(var i=0;i<this.shapeColl.length;i++){if((this.shapeColl[i].id?this.shapeColl[i].id:this.shapeColl[i].currIndex)===e){t=(0,l.extend)({},this.shapeColl[i],{},!0);break}}return t},t.prototype.setTempFilterProperties=function(){this.upperCanvas.style.display="block",this.cropSelectedState();var e={adjustmentLevel:null};this.notify("filter",{prop:"getAdjustmentLevel",onPropertyChange:!1,value:{obj:e}}),this.lowerContext.filter=this.initialAdjustmentValue,this.notify("draw",{prop:"setTempAdjustmentValue",value:{tempAdjustmentValue:this.lowerContext.filter}}),this.notify("filter",{prop:"setTempAdjustmentLevel",onPropertyChange:!1,value:{tempAdjustmentLevel:(0,l.extend)({},e.adjustmentLevel,{},!0)}}),this.notify("draw",{prop:"setTempFilter",value:{tempFilter:this.currentFilter}});var t={undoRedoStep:null};this.notify("undo-redo",{prop:"getUndoRedoStep",value:{obj:t}}),this.notify("draw",{prop:"setTempUndoRedoStep",value:{tempUndoRedoStep:t.undoRedoStep}})},t.prototype.cropSelectedState=function(){this.activeObj.shape&&"crop"===this.activeObj.shape.split("-")[0]&&this.okBtn()},t.prototype.getCurrentCanvasData=function(){var e=(0,l.extend)({},this.frameObj,{},!0);this.frameObj={type:"none",color:"#fff",size:20,inset:20,offset:20,radius:0,amount:1,border:"solid",gradientColor:""};var t=this.lowerContext.filter;this.lowerContext.filter=this.canvasFilter="none";var i=(0,l.extend)([],this.objColl,null,!0),o=(0,l.extend)([],this.pointColl,null,!0);this.objColl=[],this.pointColl=[],this.freehandCounter=0,this.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}});var r=this.element.querySelector(".e-contextual-toolbar-wrapper");r&&r.classList.add("e-hide");var n=this.getImageData();return r&&r.classList.remove("e-hide"),l.Browser.isDevice||this.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"main",isApplyBtn:!0,isCropping:!1}}),this.element.querySelector("#"+this.element.id+"_contextualToolbarArea").classList.remove("e-hide"),this.objColl=i,this.pointColl=o,this.freehandCounter=o.length,this.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"iterate",pen:"iterate",isPreventApply:null}}),this.lowerContext.filter=this.canvasFilter=t,this.frameObj=e,n},t.prototype.setCurrAdjustmentValue=function(e,t){var i={finetune:this.getFinetuneOption(e),value:t,cancel:!1};this.trigger("finetuneValueChanging",i),this.editCompleteArgs=i,i.cancel||this.notify("filter",{prop:"setCurrAdjValue",value:{type:e.toLowerCase(),value:t}})},t.prototype.getSquarePointForPath=function(e){var t={startX:0,startY:0,endX:0,endY:0,width:0,height:0};if(e.pointColl.length>0){t={startX:e.pointColl[0].x,startY:e.pointColl[0].y,endX:e.pointColl[0].x,endY:e.pointColl[0].y};for(var i=1;i<e.pointColl.length;i++)e.pointColl[i].x<t.startX&&(t.startX=e.pointColl[i].x),e.pointColl[i].y<t.startY&&(t.startY=e.pointColl[i].y),e.pointColl[i].x>t.endX&&(t.endX=e.pointColl[i].x),e.pointColl[i].y>t.endY&&(t.endY=e.pointColl[i].y);t.width=t.endX-t.startX,t.height=t.endY-t.startY}return t},t.prototype.getSelectionType=function(e){var t={CropCustom:"Custom",CropSquare:"Square",CropCircle:"Circle","Crop3:2":"3:2","Crop4:3":"4:3","Crop5:4":"5:4","Crop7:5":"7:5","Crop16:9":"16:9","Crop2:3":"2:3","Crop3:4":"3:4","Crop4:5":"4:5","Crop5:7":"5:7","Crop9:16":"9:16"};return t[""+(e="crop-custom"===e?"CropCustom":e)]?t[""+e]:e.split("Crop")[1]},t.prototype.clearContext=function(e){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.clearRect(0,0,e.canvas.height,e.canvas.width)},t.prototype.updateArrow=function(e,t){var i=!1,o=this.objColl.length;this.notify("shape",{prop:"pushActItemIntoObj"}),o!==this.objColl.length&&(i=!0);var r=(0,l.extend)({},this.cropObj,{},!0),n={currObj:{}},a={shapeSettingsObj:{}};this.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:a}});var s=a.shapeSettingsObj;this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:n}});var p=n.currObj;(p.objColl=(0,l.extend)([],this.objColl,[],!0),p.pointColl=(0,l.extend)([],this.pointColl,[],!0),p.afterCropActions=(0,l.extend)([],this.afterCropActions,[],!0),i&&this.objColl.pop(),"startArrow"===e?this.activeObj.start=this.getTextFromId(t):"endArrow"===e&&(this.activeObj.end=this.getTextFromId(t)),this.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:null,strokeColor:null,fillColor:null,strokeWidth:this.activeObj.strokeSettings.strokeWidth}}),this.objColl.push(this.activeObj),0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:p,previousObjColl:p.objColl,previousPointColl:p.pointColl,previousCropObj:r,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("selection",{prop:"redrawShape",value:{obj:this.objColl[this.objColl.length-1]}}),l.Browser.isDevice)?this.element.querySelector("#"+this.element.id+"_bottomToolbar")&&(0,l.getComponent)(this.element.id+"_bottomToolbar","toolbar").refreshOverflow():this.element.querySelector("#"+this.element.id+"_toolbar")&&(0,l.getComponent)(this.element.id+"_toolbar","toolbar").refreshOverflow();var d={action:e,currentShapeSettings:(0,l.extend)({},s,{},!0)};this.trigger("shapeChange",d),this.editCompleteArgs=d},t.prototype.updateFontFamily=function(e){this.notify("selection",{prop:"setInitialTextEdit",value:{bool:!1}});var t=!1,i=this.objColl.length;this.notify("shape",{prop:"pushActItemIntoObj"}),i!==this.objColl.length&&(t=!0);var o=(0,l.extend)([],this.objColl,[],!0),r=(0,l.extend)({},this.cropObj,{},!0),n={shapeSettingsObj:{}};this.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:n}});var a=n.shapeSettingsObj,s={currObj:{}};this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:s}});var p=s.currObj;p.objColl=(0,l.extend)([],this.objColl,[],!0),p.pointColl=(0,l.extend)([],this.pointColl,[],!0),p.afterCropActions=(0,l.extend)([],this.afterCropActions,[],!0);var d={selPointColl:null};if(this.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:d}}),p.selPointColl=(0,l.extend)([],d.selPointColl,[],!0),t&&this.objColl.pop(),"block"===this.textArea.style.display||"inline-block"===this.textArea.style.display){this.notify("shape",{prop:"updateFontRatio",onPropertyChange:!1,value:{obj:this.activeObj,isTextArea:!0}});var h=this.activeObj.textSettings.fontFamily;this.activeObj.textSettings.fontFamily=this.toPascalCase(e),0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||this.notify("shape",{prop:"redraw-text"}),this.objColl.push(this.activeObj),0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"textAreaCustomization",previousObj:p,previousObjColl:p.objColl,previousPointColl:p.pointColl,previousSelPointColl:p.selPointColl,previousCropObj:r,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.objColl.pop(),this.upperContext.clearRect(0,0,this.upperCanvas.width,this.upperCanvas.height);var c=this.activeObj.activePoint.width+.25*this.activeObj.textSettings.fontSize;this.textArea.style.width=c+"px",this.textArea.style.fontFamily=this.toPascalCase(e),this.activeObj.textSettings.fontFamily=h,this.notify("shape",{prop:"updateFontStyles",onPropertyChange:!1,value:{isTextBox:null}})}else{this.notify("shape",{prop:"updateFontRatio",onPropertyChange:!1,value:{obj:this.activeObj,isTextArea:null}});var u=this.activeObj.textSettings.fontFamily=this.toPascalCase(e);this.notify("shape",{prop:"setTextSettings",onPropertyChange:!1,value:{textSettings:null,fontFamily:u,fontSize:null}}),0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||this.notify("shape",{prop:"redraw-text"}),this.objColl.push(this.activeObj),0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:p,previousObjColl:o,previousPointColl:(0,l.extend)([],this.pointColl,[],!0),previousSelPointColl:p.selPointColl,previousCropObj:r,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("selection",{prop:"redrawShape",value:{obj:this.objColl[this.objColl.length-1]}})}var v={action:"font-family",currentShapeSettings:(0,l.extend)({},a,{},!0)};v.currentShapeSettings.fontFamily=this.textArea.style.fontFamily,this.trigger("shapeChange",v),this.editCompleteArgs=v},t.prototype.updateFontSize=function(e){var t=e;this.notify("selection",{prop:"setInitialTextEdit",value:{bool:!1}});var i=!1,o=this.objColl.length;this.notify("shape",{prop:"pushActItemIntoObj"}),o!==this.objColl.length&&(i=!0);var r=(0,l.extend)({},this.cropObj,{},!0),n={shapeSettingsObj:{}};this.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:n}});var a=n.shapeSettingsObj,s={currObj:{}};this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:s}});var p=s.currObj;p.objColl=(0,l.extend)([],this.objColl,[],!0),p.pointColl=(0,l.extend)([],this.pointColl,[],!0),p.afterCropActions=(0,l.extend)([],this.afterCropActions,[],!0);var d={selPointColl:null};if(this.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:d}}),p.selPointColl=(0,l.extend)([],d.selPointColl,[],!0),i&&this.objColl.pop(),"block"===this.textArea.style.display||"inline-block"===this.textArea.style.display){this.notify("shape",{prop:"updateFontRatio",onPropertyChange:!1,value:{obj:this.activeObj,isTextArea:!0}});var h=this.activeObj.textSettings.fontSize;this.activeObj.textSettings.fontSize=parseInt(this.fontSizeColl[parseInt(t,10)-1].text,10),this.objColl.push(this.activeObj),0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"textAreaCustomization",previousObj:p,previousObjColl:p.objColl,previousPointColl:p.pointColl,previousSelPointColl:p.selPointColl,previousCropObj:r,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.objColl.pop();var c="";"bold"===this.textArea.style.fontWeight&&(c="bold "),"italic"===this.textArea.style.fontStyle&&(c="italic "),"bold"===this.textArea.style.fontWeight&&"italic"===this.textArea.style.fontStyle&&(c="italic bold "),this.upperContext.font=c+this.activeObj.textSettings.fontSize+"px "+this.textArea.style.fontFamily;var u=this.textArea.value.split("\n"),v={maxText:""};this.notify("shape",{prop:"getMaxText",onPropertyChange:!1,value:{isTextBox:!0,text:null,obj:v}});var g=v.maxText,f=this.upperContext.measureText(g).width+.5*this.activeObj.textSettings.fontSize;this.textArea.style.width=f+"px",this.textArea.style.height=u.length*(this.activeObj.textSettings.fontSize+.25*this.activeObj.textSettings.fontSize)+"px",this.activeObj.textSettings.fontSize=h,this.upperContext.font=this.activeObj.textSettings.fontSize+"px "+this.activeObj.textSettings.fontFamily,this.textArea.style.fontSize=parseInt(this.fontSizeColl[parseInt(t,10)-1].text,10)+"px","georgia"===this.textArea.style.fontFamily&&(this.textArea.style.width=parseFloat(this.textArea.style.width)+parseFloat(this.textArea.style.fontSize)+"px")}else{this.notify("shape",{prop:"updateFontRatio",onPropertyChange:!1,value:{obj:this.activeObj,isTextArea:null}});var m=this.activeObj.textSettings.fontSize=parseInt(this.fontSizeColl[parseInt(t,10)-1].text,10);this.notify("shape",{prop:"setTextSettings",onPropertyChange:!1,value:{textSettings:null,fontFamily:null,fontSize:m}}),this.upperContext.font=this.activeObj.textSettings.fontSize+"px "+this.activeObj.textSettings.fontFamily;u=this.activeObj.keyHistory.split("\n"),v={maxText:""};this.notify("shape",{prop:"getMaxText",onPropertyChange:!1,value:{isTextBox:null,text:null,obj:v}});var b=v.maxText,y=(f=this.upperContext.measureText(b).width+.5*this.activeObj.textSettings.fontSize,u.length*(this.activeObj.textSettings.fontSize+.25*this.activeObj.textSettings.fontSize));0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||(this.notify("selection",{prop:"setTextSelection",onPropertyChange:!1,value:{width:f,height:y}}),this.notify("draw",{prop:"updateActiveObject",onPropertyChange:!1,value:{actPoint:this.activeObj.activePoint,obj:this.activeObj,isMouseMove:null,x:null,y:null}}),this.notify("shape",{prop:"redraw-text"})),this.objColl.push(this.activeObj),0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:p,previousObjColl:p.objColl,previousPointColl:p.pointColl,previousSelPointColl:p.selPointColl,previousCropObj:r,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("selection",{prop:"redrawShape",value:{obj:this.objColl[this.objColl.length-1]}})}var C={action:"font-size",currentShapeSettings:(0,l.extend)({},a,{},!0)};C.currentShapeSettings.fontSize=this.activeObj.textSettings.fontSize,this.trigger("shapeChange",C),this.editCompleteArgs=C},t.prototype.updateFontColor=function(e,t){this.notify("selection",{prop:"setInitialTextEdit",value:{bool:!1}});var i=!1,o=this.objColl.length;this.notify("shape",{prop:"pushActItemIntoObj"}),o!==this.objColl.length&&(i=!0);var r=(0,l.extend)({},this.cropObj,{},!0),n={shapeSettingsObj:{}};this.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:n}});var a=n.shapeSettingsObj,s={currObj:{}};this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:s}});var p=s.currObj;p.objColl=(0,l.extend)([],this.objColl,[],!0),p.pointColl=(0,l.extend)([],this.pointColl,[],!0),p.afterCropActions=(0,l.extend)([],this.afterCropActions,[],!0);var d={selPointColl:null};if(this.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:d}}),p.selPointColl=(0,l.extend)([],d.selPointColl,[],!0),i&&this.objColl.pop(),"none"===this.textArea.style.display)"Text"===t?(this.activeObj.strokeSettings.strokeColor=e,this.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:null,strokeColor:this.activeObj.strokeSettings.strokeColor,fillColor:null,strokeWidth:null}})):(this.activeObj.strokeSettings.fillColor=e,this.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:null,strokeColor:null,fillColor:this.activeObj.strokeSettings.fillColor,strokeWidth:null}})),this.togglePen||0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||(this.objColl.push(this.activeObj),this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:p,previousObjColl:p.objColl,previousPointColl:p.pointColl,previousSelPointColl:p.selPointColl,previousCropObj:r,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("selection",{prop:"redrawShape",value:{obj:this.objColl[this.objColl.length-1]}}));else if("block"===this.textArea.style.display||"inline-block"===this.textArea.style.display){this.textArea.style["Text"===t?"color":"backgroundColor"]=e;var h="Text"===t?this.activeObj.strokeSettings.strokeColor:this.activeObj.strokeSettings.fillColor;this.activeObj.strokeSettings["Text"===t?"strokeColor":"fillColor"]=e,0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||(this.objColl.push(this.activeObj),this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"textAreaCustomization",previousObj:p,previousObjColl:p.objColl,previousPointColl:p.pointColl,previousSelPointColl:p.selPointColl,previousCropObj:r,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.objColl.pop()),this.activeObj.strokeSettings["Text"===t?"strokeColor":"fillColor"]=h}else this.togglePen||0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||(this.objColl.push(this.activeObj),this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:p,previousObjColl:p.objColl,previousPointColl:p.pointColl,previousSelPointColl:p.selPointColl,previousCropObj:r,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("selection",{prop:"redrawShape",value:{obj:this.objColl[this.objColl.length-1]}}));var c={action:"font-color",currentShapeSettings:(0,l.extend)({},a,{},!0)};c.currentShapeSettings.fillColor=e,this.trigger("shapeChange",c),this.editCompleteArgs=c},t.prototype.updateStrokeTextColor=function(e){this.notify("selection",{prop:"setInitialTextEdit",value:{bool:!1}});var t=!1,i=this.objColl.length;this.notify("shape",{prop:"pushActItemIntoObj"}),i!==this.objColl.length&&(t=!0);var o=(0,l.extend)({},this.cropObj,{},!0),r={shapeSettingsObj:{}};this.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:r}});var n=r.shapeSettingsObj,a={currObj:{}};this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:a}});var s=a.currObj;s.objColl=(0,l.extend)([],this.objColl,[],!0),s.pointColl=(0,l.extend)([],this.pointColl,[],!0),s.afterCropActions=(0,l.extend)([],this.afterCropActions,[],!0);var p={selPointColl:null};if(this.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:p}}),s.selPointColl=(0,l.extend)([],p.selPointColl,[],!0),t&&this.objColl.pop(),"none"===this.textArea.style.display)this.activeObj.strokeSettings.outlineColor=e,this.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:null,strokeColor:null,fillColor:null,strokeWidth:null,outlineColor:this.activeObj.strokeSettings.outlineColor}}),this.togglePen||0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||(this.objColl.push(this.activeObj),this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:s,previousObjColl:s.objColl,previousPointColl:s.pointColl,previousSelPointColl:s.selPointColl,previousCropObj:o,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("selection",{prop:"redrawShape",value:{obj:this.objColl[this.objColl.length-1]}}));else if("block"===this.textArea.style.display||"inline-block"===this.textArea.style.display){this.textArea.style.textShadow="-1px -1px 0 "+e+", 1px -1px 0 "+e+", -1px 1px 0 "+e+", 1px 1px 0 "+e;var d=this.activeObj.strokeSettings.outlineColor;this.activeObj.strokeSettings.outlineColor=e,0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||(this.objColl.push(this.activeObj),this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"textAreaCustomization",previousObj:s,previousObjColl:s.objColl,previousPointColl:s.pointColl,previousSelPointColl:s.selPointColl,previousCropObj:o,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.objColl.pop()),this.activeObj.strokeSettings.outlineColor=d}else this.togglePen||0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||(this.objColl.push(this.activeObj),this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:s,previousObjColl:s.objColl,previousPointColl:s.pointColl,previousSelPointColl:s.selPointColl,previousCropObj:o,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("selection",{prop:"redrawShape",value:{obj:this.objColl[this.objColl.length-1]}}));var h={action:"font-color",currentShapeSettings:(0,l.extend)({},n,{},!0)};h.currentShapeSettings.fillColor=e,this.trigger("shapeChange",h),this.editCompleteArgs=h},t.prototype.updatePenStrokeWidth=function(e){var t=(0,l.extend)([],this.pointColl,[],!0);this.updateFreehandDrawColorChange();var i=(0,l.extend)({},this.cropObj,{},!0),o={shapeSettingsObj:{}};this.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:o}});var r=o.shapeSettingsObj,n={currObj:{}};this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:n}});var a=n.currObj;a.objColl=(0,l.extend)([],this.objColl,[],!0),a.pointColl=(0,l.extend)([],this.pointColl,[],!0),a.afterCropActions=(0,l.extend)([],this.afterCropActions,[],!0);var s={selPointColl:null};this.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:s}}),a.selPointColl=(0,l.extend)([],s.selPointColl,[],!0),this.pointColl=t,this.notify("selection",{prop:"setFreehandDrawCustomized",value:{isFreehandDrawCustomized:!0}}),this.setPenStroke(e);var p={bool:!1};if(this.notify("selection",{prop:"getFreehandDrawEditing",onPropertyChange:!1,value:{obj:p}}),p.bool){var d={penStrokeWidth:null};this.notify("freehand-draw",{prop:"getPenStrokeWidth",onPropertyChange:!1,value:{obj:d}}),this.upperContext.clearRect(0,0,this.upperCanvas.width,this.upperCanvas.height),this.lowerContext.clearRect(0,0,this.lowerCanvas.width,this.lowerCanvas.height),this.notify("freehand-draw",{prop:"hoverFhd",onPropertyChange:!1,value:{strokeColor:null,strokeWidth:d.penStrokeWidth}});var h={freehandSelectedIndex:null};this.notify("freehand-draw",{prop:"getFreehandSelectedIndex",onPropertyChange:!1,value:{obj:h}}),this.pointColl[h.freehandSelectedIndex].strokeWidth=d.penStrokeWidth,this.notify("draw",{prop:"render-image",value:{isMouseWheel:null}}),this.notify("draw",{prop:"redrawDownScale"}),this.notify("freehand-draw",{prop:"hoverFhd",onPropertyChange:!1,value:{strokeColor:null,strokeWidth:d.penStrokeWidth}}),this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"freehanddrawCustomized",previousObj:a,previousObjColl:a.objColl,previousPointColl:a.pointColl,previousSelPointColl:a.selPointColl,previousCropObj:i,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}})}r.type=C.FreehandDraw;var c={action:"stroke-width",currentShapeSettings:(0,l.extend)({},r,{},!0)};c.currentShapeSettings.strokeWidth=this.activeObj.strokeSettings.strokeWidth,this.trigger("shapeChange",c),this.editCompleteArgs=c},t.prototype.updatePenStrokeColor=function(e){var t=(0,l.extend)([],this.pointColl,[],!0);this.updateFreehandDrawColorChange();var i=(0,l.extend)({},this.cropObj,{},!0),o={shapeSettingsObj:{}};this.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:o}});var r=o.shapeSettingsObj,n={currObj:{}};this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:n}});var a=n.currObj;a.objColl=(0,l.extend)([],this.objColl,[],!0),a.pointColl=(0,l.extend)([],this.pointColl,[],!0),a.afterCropActions=(0,l.extend)([],this.afterCropActions,[],!0);var s={selPointColl:null};this.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:s}}),a.selPointColl=(0,l.extend)([],s.selPointColl,[],!0),this.pointColl=t,this.notify("selection",{prop:"setFreehandDrawCustomized",value:{isFreehandDrawCustomized:!0}}),this.activeObj.strokeSettings.strokeColor=e;var p={freehandSelectedIndex:null};this.notify("freehand-draw",{prop:"getFreehandSelectedIndex",onPropertyChange:!1,value:{obj:p}}),null!=p.freehandSelectedIndex&&(this.upperContext.clearRect(0,0,this.upperCanvas.width,this.upperCanvas.height),this.notify("draw",{prop:"render-image",value:{isMouseWheel:null}}),this.notify("draw",{prop:"redrawDownScale"}),this.notify("freehand-draw",{prop:"hoverFhd",onPropertyChange:!1,value:{strokeColor:null,strokeWidth:null}}));var d={bool:!1};if(this.notify("selection",{prop:"getFreehandDrawEditing",onPropertyChange:!1,value:{obj:d}}),d.bool){var h={freehandSelectedIndex:null};this.notify("freehand-draw",{prop:"getFreehandSelectedIndex",onPropertyChange:!1,value:{obj:h}}),this.upperContext.clearRect(0,0,this.upperCanvas.width,this.upperCanvas.height),this.pointColl[h.freehandSelectedIndex].strokeColor=e,this.notify("freehand-draw",{prop:"hoverFhd",onPropertyChange:!1,value:{strokeColor:e}}),this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"freehanddrawCustomized",previousObj:a,previousObjColl:a.objColl,previousPointColl:a.pointColl,previousSelPointColl:a.selPointColl,previousCropObj:i,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}})}else this.togglePen||this.notify("selection",{prop:"redrawShape",value:{obj:this.activeObj}});r.type=C.FreehandDraw;var c={action:"stroke-color",currentShapeSettings:(0,l.extend)({},r,{},!0)};c.currentShapeSettings.strokeColor=e,this.trigger("shapeChange",c),this.editCompleteArgs=c},t.prototype.updateStrokeWidth=function(e,t,i){if(this.activeObj.shape&&("path"!==this.activeObj.shape||"path"===this.activeObj.shape&&this.activeObj.pointColl.length>0)){var o={shapeSettingsObj:{}};this.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:o}});var r=o.shapeSettingsObj,n=!1,a=this.objColl.length;this.notify("shape",{prop:"pushActItemIntoObj"}),a!==this.objColl.length&&(n=!0);var s=(0,l.extend)({},this.cropObj,{},!0),p={currObj:{}};this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:p}});var d=p.currObj;d.objColl=(0,l.extend)([],this.objColl,[],!0),d.pointColl=(0,l.extend)([],this.pointColl,[],!0),d.afterCropActions=(0,l.extend)([],this.afterCropActions,[],!0);var h={selPointColl:null};this.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:h}}),d.selPointColl=(0,l.extend)([],h.selPointColl,[],!0),n&&this.objColl.pop(),this.activeObj.strokeSettings["width"===t?"text"===i?"outlineWidth":"strokeWidth":"radius"]=parseInt(e,10),"rectangle"!==this.activeObj.shape&&"ellipse"!==this.activeObj.shape||(this.activeObj.strokeSettings["width"===t?"text"===i?"outlineWidth":"strokeWidth":"radius"]=parseInt(e,10)-1),this.activeObj.strokeSettings["width"===t?"text"===i?"outlineWidth":"strokeWidth":"radius"]*=2,"width"===t?"text"===i?this.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:null,strokeColor:null,fillColor:null,strokeWidth:null,radius:null,outlineWidth:this.activeObj.strokeSettings.outlineWidth}}):this.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:null,strokeColor:null,fillColor:null,strokeWidth:this.activeObj.strokeSettings.strokeWidth,radius:null,outlineWidth:null}}):this.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:null,strokeColor:null,fillColor:null,strokeWidth:null,radius:this.activeObj.strokeSettings.radius}}),this.objColl.push(this.activeObj),0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:d,previousObjColl:d.objColl,previousPointColl:d.pointColl,previousSelPointColl:d.selPointColl,previousCropObj:s,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("selection",{prop:"redrawShape",value:{obj:this.objColl[this.objColl.length-1]}});var c={action:"stroke-width",currentShapeSettings:(0,l.extend)({},r,{},!0)};c.currentShapeSettings["width"===t?"text"===i?"outlineWidth":"strokeWidth":"radius"]=this.activeObj.strokeSettings["width"===t?"text"===i?"outlineWidth":"strokeWidth":"radius"],this.trigger("shapeChange",c),this.editCompleteArgs=c}else this.activeObj.shape&&"path"===this.activeObj.shape&&0===this.activeObj.pointColl.length&&(this.activeObj.strokeSettings.strokeWidth=parseInt(e,10),this.activeObj.strokeSettings.strokeWidth*=2,"width"===t?"text"===i?this.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:null,strokeColor:null,fillColor:null,strokeWidth:null,radius:null,outlineWidth:this.activeObj.strokeSettings.outlineWidth}}):this.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:null,strokeColor:null,fillColor:null,strokeWidth:this.activeObj.strokeSettings.strokeWidth,radius:null,outlineWidth:null}}):this.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:null,strokeColor:null,fillColor:null,strokeWidth:null,radius:this.activeObj.strokeSettings.radius}}))},t.prototype.updateStrokeColor=function(e){var t={shapeSettingsObj:{}};this.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:t}});var i=t.shapeSettingsObj;if(this.activeObj.shape&&("path"!==this.activeObj.shape||"path"===this.activeObj.shape&&this.activeObj.pointColl.length>0)){var o=!1,r=this.objColl.length;this.notify("shape",{prop:"pushActItemIntoObj"}),r!==this.objColl.length&&(o=!0);var n=(0,l.extend)({},this.cropObj,{},!0),a={currObj:{}};this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:a}});var s=a.currObj;s.objColl=(0,l.extend)([],this.objColl,[],!0),s.pointColl=(0,l.extend)([],this.pointColl,[],!0),s.afterCropActions=(0,l.extend)([],this.afterCropActions,[],!0);var p={selPointColl:null};this.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:p}}),s.selPointColl=(0,l.extend)([],p.selPointColl,[],!0),o&&this.objColl.pop(),this.activeObj.strokeSettings.strokeColor=e,this.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:null,strokeColor:this.activeObj.strokeSettings.strokeColor,fillColor:null,strokeWidth:null}}),this.togglePen||(this.objColl.push(this.activeObj),0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:s,previousObjColl:s.objColl,previousPointColl:s.pointColl,previousSelPointColl:s.selPointColl,previousCropObj:n,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("selection",{prop:"redrawShape",value:{obj:this.objColl[this.objColl.length-1]}}))}else this.activeObj.shape&&"path"===this.activeObj.shape&&0===this.activeObj.pointColl.length&&(this.activeObj.strokeSettings.strokeColor=e,this.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:null,strokeColor:this.activeObj.strokeSettings.strokeColor,fillColor:null,strokeWidth:null}}));var d={action:"stroke-color",currentShapeSettings:(0,l.extend)({},i,{},!0)};d.currentShapeSettings.strokeColor=e,this.trigger("shapeChange",d),this.editCompleteArgs=d},t.prototype.updateFillColor=function(e){var t={shapeSettingsObj:{}};this.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:t}});var i=t.shapeSettingsObj,o=!1,r=this.objColl.length;this.notify("shape",{prop:"pushActItemIntoObj"}),r!==this.objColl.length&&(o=!0);var n=(0,l.extend)({},this.cropObj,{},!0),a={currObj:{}};this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:a}});var s=a.currObj;s.objColl=(0,l.extend)([],this.objColl,[],!0),s.pointColl=(0,l.extend)([],this.pointColl,[],!0),s.afterCropActions=(0,l.extend)([],this.afterCropActions,[],!0);var p={selPointColl:null};this.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:p}}),s.selPointColl=(0,l.extend)([],p.selPointColl,[],!0),o&&this.objColl.pop(),this.activeObj.strokeSettings.fillColor=e,this.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:null,strokeColor:null,fillColor:this.activeObj.strokeSettings.fillColor,strokeWidth:null}}),this.objColl.push(this.activeObj),0===this.activeObj.activePoint.width&&0===this.activeObj.activePoint.height||this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:s,previousObjColl:s.objColl,previousPointColl:s.pointColl,previousSelPointColl:s.selPointColl,previousCropObj:n,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("selection",{prop:"redrawShape",value:{obj:this.objColl[this.objColl.length-1]}});var d={action:"fill-color",currentShapeSettings:(0,l.extend)({},i,{},!0)};this.trigger("shapeChange",d),this.editCompleteArgs=d},t.prototype.horizontalFlip=function(e,t){var i,o;if((0,l.isNullOrUndefined)(t)){(0,l.isNullOrUndefined)(this.activeObj.imageRatio)&&this.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),this.notify("shape",{prop:"pushActItemIntoObj"}),i=(0,l.extend)({},this.cropObj,{},!0);var r={currObj:{}};this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:r}}),(o=r.currObj).objColl=(0,l.extend)([],this.objColl,[],!0),o.pointColl=(0,l.extend)([],this.pointColl,[],!0),o.afterCropActions=(0,l.extend)([],this.afterCropActions,[],!0);var n={selPointColl:null};this.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:n}}),o.selPointColl=(0,l.extend)([],n.selPointColl,[],!0),this.objColl.pop()}this.notify("toolbar",{prop:"refreshSlider"}),e.clearRect(0,0,this.activeObj.imageCanvas.width,this.activeObj.imageCanvas.height);var a=this.duplicateImage();this.notify("draw",{prop:"downScaleImgCanvas",onPropertyChange:!1,value:{ctx:this.activeObj.imageCanvas.getContext("2d"),isImgAnnotation:!0,isHFlip:!0,isVFlip:null}}),this.activeObj.activePoint=a,this.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate"}}),(0,l.isNullOrUndefined)(t)&&(this.objColl.push(this.activeObj),this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"imageHFlip",previousObj:o,previousObjColl:o.objColl,previousPointColl:o.pointColl,previousSelPointColl:o.selPointColl,previousCropObj:i,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("selection",{prop:"redrawShape",value:{obj:this.objColl[this.objColl.length-1]}}))},t.prototype.verticalFlip=function(e,t){var i,o;if((0,l.isNullOrUndefined)(t)){(0,l.isNullOrUndefined)(this.activeObj.imageRatio)&&this.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),this.notify("shape",{prop:"pushActItemIntoObj"}),i=(0,l.extend)({},this.cropObj,{},!0);var r={currObj:{}};this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:r}}),(o=r.currObj).objColl=(0,l.extend)([],this.objColl,[],!0),o.pointColl=(0,l.extend)([],this.pointColl,[],!0),o.afterCropActions=(0,l.extend)([],this.afterCropActions,[],!0);var n={selPointColl:null};this.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:n}}),o.selPointColl=(0,l.extend)([],n.selPointColl,[],!0),this.objColl.pop()}this.notify("toolbar",{prop:"refreshSlider"}),e.clearRect(0,0,this.activeObj.imageCanvas.width,this.activeObj.imageCanvas.height);var a=this.duplicateImage();this.notify("draw",{prop:"downScaleImgCanvas",onPropertyChange:!1,value:{ctx:this.activeObj.imageCanvas.getContext("2d"),isImgAnnotation:!0,isHFlip:null,isVFlip:!0}}),this.activeObj.activePoint=a,this.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate"}}),(0,l.isNullOrUndefined)(t)&&(this.objColl.push(this.activeObj),this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"imageVFlip",previousObj:o,previousObjColl:o.objColl,previousPointColl:o.pointColl,previousSelPointColl:o.selPointColl,previousCropObj:i,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("selection",{prop:"redrawShape",value:{obj:this.objColl[this.objColl.length-1]}}))},t.prototype.rotateImage=function(e){var t,i;(0,l.isNullOrUndefined)(this.activeObj.imageRatio)&&this.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),this.notify("shape",{prop:"pushActItemIntoObj"}),t=(0,l.extend)({},this.cropObj,{},!0);var o={currObj:{}};this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:o}}),(i=o.currObj).objColl=(0,l.extend)([],this.objColl,[],!0),i.pointColl=(0,l.extend)([],this.pointColl,[],!0),i.afterCropActions=(0,l.extend)([],this.afterCropActions,[],!0);var r={selPointColl:null};this.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:r}}),i.selPointColl=(0,l.extend)([],r.selPointColl,[],!0),this.objColl.pop(),this.notify("toolbar",{prop:"refreshSlider"}),"rotleft"===e?this.activeObj.rotatedAngle-=Math.PI/180*90:this.activeObj.rotatedAngle+=Math.PI/180*90,this.notify("selection",{prop:"updPtCollForShpRot",onPropertyChange:!1,value:{obj:this.activeObj}}),this.upperContext.clearRect(0,0,this.upperCanvas.width,this.upperCanvas.height),this.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate"}}),this.objColl.push(this.activeObj),this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"imageRotate",previousObj:i,previousObjColl:i.objColl,previousPointColl:i.pointColl,previousSelPointColl:i.selPointColl,previousCropObj:t,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),this.notify("selection",{prop:"redrawShape",value:{obj:this.objColl[this.objColl.length-1]}}),this.notify("toolbar",{prop:"destroy-qa-toolbar"}),this.notify("toolbar",{prop:"renderQAT",onPropertyChange:!1,value:{isPenEdit:null}})},t.prototype.pascalToSplitWords=function(e){var t=(e=e.charAt(0).toUpperCase()+e.slice(1)).match(/[A-Z][a-z]+/g);return(0,l.isNullOrUndefined)(t)?e:t.map(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}).join(" ")},t.prototype.getCurrAdjustmentValue=function(e){var t=100,i={freehandSelectedIndex:null};if(this.notify("freehand-draw",{prop:"getFreehandSelectedIndex",onPropertyChange:!1,value:{obj:i}}),"transparency"===e&&this.togglePen){var o={penOpacity:1};this.notify("freehand-draw",{prop:"getPenOpacity",onPropertyChange:!1,value:{obj:o}}),t=100*o.penOpacity}else if("transparency"===e&&null!=i.freehandSelectedIndex)t=100*this.pointColl[i.freehandSelectedIndex].opacity;else{o={adjustmentLevel:null};this.notify("filter",{prop:"getAdjustmentLevel",onPropertyChange:!1,value:{obj:o}}),t={brightness:o.adjustmentLevel.brightness,contrast:o.adjustmentLevel.contrast,hue:o.adjustmentLevel.hue,saturation:o.adjustmentLevel.saturation,opacity:o.adjustmentLevel.opacity,blur:o.adjustmentLevel.blur,exposure:o.adjustmentLevel.exposure,transparency:o.adjustmentLevel.transparency,straighten:this.transform.straighten}[""+e]}return t},t.prototype.transformSelect=function(e){0!==this.transform.straighten||"rotateleft"!==e&&"rotateright"!==e||!this.activeObj.shape||-1===["crop-2:3","crop-3:2","crop-3:4","crop-4:3","crop-4:5","crop-5:4","crop-5:7","crop-7:5","crop-9:16","crop-16:9"].indexOf(this.activeObj.shape)&&(-1===this.activeObj.shape.indexOf("crop-")||"crop-custom"===this.activeObj.shape||"crop-square"===this.activeObj.shape||"crop-circle"===this.activeObj.shape)||(this.activeObj.shape="crop-"+this.activeObj.shape.split("-")[1].split(":")[1]+":"+this.activeObj.shape.split("-")[1].split(":")[0],this.notify("toolbar",{prop:"performCropTransformClick",value:{shape:this.activeObj.shape,isTransform:!0}})),this.isCropToolbar=!0,this.allowDownScale=!1;var t=this.transform.straighten,i=(0,l.extend)({},this.activeObj,{},!0),o=this.transform.zoomFactor;this.prevEventSelectionPoint=(0,l.extend)({},this.activeObj,{},!0);var r={currObj:{}};this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:r}}),this.prevEventObjPoint=r.currObj,this.prevEventObjPoint.objColl=(0,l.extend)([],this.objColl,[],!0),this.prevEventObjPoint.pointColl=(0,l.extend)([],this.pointColl,[],!0),this.prevEventObjPoint.afterCropActions=(0,l.extend)([],this.afterCropActions,[],!0);var n={selPointColl:null};if(this.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:n}}),this.prevEventObjPoint.selPointColl=(0,l.extend)([],n.selPointColl,[],!0),0!==this.transform.straighten){this.transform.straighten=0,this.straightenBaseImageCanvas();for(var a=0,s=this.objColl.length;a<s;a++){"line"!==(d=this.objColl[a].shape)&&"arrow"!==d&&"path"!==d&&(this.objColl[a].rotatedAngle-=t*(Math.PI/180),this.notify("selection",{prop:"updPtCollForShpRot",onPropertyChange:!1,value:{obj:this.objColl[a]}}))}this.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}}),this.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}})}this.setInitialZoomState();var p=(0,l.extend)({},this.activeObj,{},!0);if(this.notify("crop",{prop:"setTransformCrop",onPropertyChange:!1,value:{bool:!0}}),this.cropSelectedState(),this.notify("crop",{prop:"setTransformCrop",onPropertyChange:!1,value:{bool:!1}}),this.notify("draw",{prop:"resetCurrentSelectionPoint"}),this.updateImageTransformColl(e),this.notify("transform",{prop:"performTransformation",value:{text:e}}),this.isCropTab=!0,this.notify("draw",{prop:"moveToSelectionRange",value:{type:e,activeObj:p}}),!this.isStraightening||"horizontalflip"!==e&&"verticalflip"!==e||(this.notify("draw",{prop:"resetStraightenDestPoints"}),this.notify("draw",{prop:"setDestForStraighten"})),0!==t){this.transform.straighten=t,this.straightenBaseImageCanvas();for(a=0,s=this.objColl.length;a<s;a++){var d;"line"!==(d=this.objColl[a].shape)&&"arrow"!==d&&"path"!==d&&(this.objColl[a].rotatedAngle+=t*(Math.PI/180),this.notify("selection",{prop:"updPtCollForShpRot",onPropertyChange:!1,value:{obj:this.objColl[a]}}))}this.notify("shape",{prop:"drawAnnotations",onPropertyChange:!1,value:{ctx:this.lowerContext,shape:"zoom",pen:"zoom",isPreventApply:null}}),this.notify("draw",{prop:"render-image",value:{isMouseWheel:!1}}),this.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:i}}),this.notify("draw",{prop:"setStraightenActObj",value:{activeObj:null}}),this.notify("draw",{prop:"setStraightenInitZoom",value:{zoomFactor:o}}),(this.isStraightening&&("horizontalflip"===e||"verticalflip"===e)&&(0,l.isNullOrUndefined)(this.transform.zoomFactor)||0===this.transform.zoomFactor)&&(0===this.transform.degree?this.transform.zoomFactor+=.025:0===this.transform.zoomFactor&&(this.transform.zoomFactor=null)),this.notify("draw",{prop:"zoomToSel",value:{activeObj:i,isToolbar:!1}})}this.isCropToolbar=!1;var h=this.element.querySelector(".e-ie-straighten-value-span");h&&(h.innerHTML=this.transform.straighten.toString()+"&#176")},t.prototype.getDefaultFilter=function(){return"brightness(1) contrast(100%) hue-rotate(0deg) saturate(100%) opacity(1) blur(0px) sepia(0%) grayscale(0%) invert(0%)"},t.prototype.setStraighten=function(e){var t={cancel:!1,previousDegree:this.transform.straighten,currentDegree:e};if(this.trigger("rotating",t),this.editCompleteArgs=t,!t.cancel){this.performStraighten(t);var i={action:"straighten",actionEventArgs:this.editCompleteArgs};this.triggerEditCompleteEvent(i)}},t.prototype.duplicateImage=function(){var e=(0,l.extend)({},this.activeObj.activePoint,{},!0),t={width:0,height:0};return this.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:this.activeObj.imageElement.width,height:this.activeObj.imageElement.height,obj:t,isImgShape:null}}),this.activeObj.activePoint.width=t.width,this.activeObj.activePoint.height=t.height,e},t.prototype.performStraighten=function(e){var t=e.currentDegree,i=this.element.querySelector(".e-ie-straighten-value-span");i&&(i.innerHTML=t.toString()+"&#176");var o=(0,l.extend)({},this.activeObj,null,!0);this.notify("freehand-draw",{prop:"setCenterSelPoints"}),this.transform.straighten=t,this.straightenPoint={x:this.activeObj.activePoint.startX+this.activeObj.activePoint.width/2,y:this.activeObj.activePoint.startY+this.activeObj.activePoint.height/2},this.straightenBaseImageCanvas();for(var r=0,n=this.objColl.length;r<n;r++){var a=this.objColl[r].shape;"line"!==a&&"arrow"!==a&&"path"!==a&&(this.objColl[r].rotatedAngle+=(this.transform.straighten-this.prevStraightenedDegree)*(Math.PI/180),this.notify("selection",{prop:"updPtCollForShpRot",onPropertyChange:!1,value:{obj:this.objColl[r]}}))}this.transform.degree%90==0&&this.transform.degree%180!=0?(0===this.transform.straighten&&(this.transform.straighten=360),this.notify("draw",{prop:"performPointZoom",onPropertyChange:!1,value:{x:this.activeObj.activePoint.startX+this.activeObj.activePoint.width/2,y:this.activeObj.activePoint.startY+this.activeObj.activePoint.height/2,type:"zoomIn",isResize:!0}}),this.notify("draw",{prop:"performPointZoom",onPropertyChange:!1,value:{x:this.activeObj.activePoint.startX+this.activeObj.activePoint.width/2,y:this.activeObj.activePoint.startY+this.activeObj.activePoint.height/2,type:"zoomOut",isResize:!0}}),360===this.transform.straighten&&(this.transform.straighten=0)):this.notify("draw",{prop:"render-image",value:{isMouseWheel:!0,isPreventClearRect:null,isFrame:null,isStraighten:!0}}),this.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:o}}),this.notify("draw",{prop:"zoomToSel",value:{activeObj:o,isToolbar:!0}}),this.notify("transform",{prop:"disableZoomOutBtn",value:{isZoomOut:!0}}),this.prevStraightenedDegree=this.transform.straighten},t.prototype.straightenBaseImageCanvas=function(){if(this.isImageLoaded){var e=this.getStraightenFlipState(),t="horizontal"===e||"vertical"===e?-this.transform.straighten:this.transform.straighten,i=this.baseImgCanvas.getContext("2d");if(i.canvas.width!==this.lowerContext.canvas.width&&i.canvas.height!==this.lowerContext.canvas.height){this.notify("crop",{prop:"calcRatio",onPropertyChange:!1,value:{obj:{width:0,height:0},dimension:{width:i.canvas.width,height:i.canvas.height}}})}var o=this.baseImg.width,r=this.baseImg.height;if(!this.aspectRatioBaseDimension&&this.imageSettings.width&&this.imageSettings.height){var n=(this.baseImg.width/this.imageSettings.width+this.baseImg.height/this.imageSettings.height)/2;n=n<1?1:n,o=this.imageSettings.width*n,r=this.imageSettings.height*n}var a=this.getRotatedCanvasDim(o,r,this.transform.straighten);this.img.srcWidth=i.canvas.width=a.width,this.img.srcHeight=i.canvas.height=a.height;var s=i.canvas.width/2,l=i.canvas.height/2;i.clearRect(0,0,i.canvas.width,i.canvas.height),i.translate(s,l),i.rotate(t*Math.PI/180),i.drawImage(this.baseImg,-o/2,-r/2,o,r),i.setTransform(1,0,0,1,0,0);this.notify("crop",{prop:"calcRatio",onPropertyChange:!1,value:{obj:{width:0,height:0},dimension:{width:i.canvas.width,height:i.canvas.height}}})}},t.prototype.getRotatedCanvasDim=function(e,t,i){var o=i*Math.PI/180,r=Math.cos(o),n=Math.sin(o),a=Math.min(0,e*r,t*Math.cos(Math.PI/2-o),e*r+t*Math.cos(Math.PI/2-o)),s=Math.max(0,e*r,t*Math.cos(Math.PI/2-o),e*r+t*Math.cos(Math.PI/2-o)),l=Math.min(0,e*n,t*Math.sin(Math.PI/2-o),e*n+t*Math.sin(Math.PI/2-o)),p=Math.max(0,e*n,t*Math.sin(Math.PI/2-o),e*n+t*Math.sin(Math.PI/2-o));return{width:Math.ceil(s-a),height:Math.ceil(p-l)}},t.prototype.updateShapeOrder=function(e,t){var i=this.getObjFromId(e);if(i.shape&&("path"!==i.shape||"path"===i.shape&&i.pointColl.length>0)||i&&i.id&&i.id.indexOf("pen")>-1){var o={shapeSettingsObj:{}};this.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:o}});var r=o.shapeSettingsObj;i.shape&&this.notify("shape",{prop:"pushActItemIntoObj"});var n=(0,l.extend)({},this.cropObj,{},!0),a={currObj:{}};this.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:a}});var s=a.currObj;s.objColl=(0,l.extend)([],this.objColl,[],!0),s.pointColl=(0,l.extend)([],this.pointColl,[],!0),s.afterCropActions=(0,l.extend)([],this.afterCropActions,[],!0);var p={selPointColl:null};this.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:p}}),s.selPointColl=(0,l.extend)([],p.selPointColl,[],!0),i.shape&&this.objColl.pop(),this.notify("shape",{prop:"z-order",onPropertyChange:!1,value:{obj:i,value:t}}),i.shape&&(this.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:null,strokeColor:null,fillColor:null,strokeWidth:i.strokeSettings.strokeWidth}}),this.objColl.push(i)),this.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:s,previousObjColl:s.objColl,previousPointColl:s.pointColl,previousSelPointColl:s.selPointColl,previousCropObj:n,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),i.shape&&(this.notify("selection",{prop:"redrawShape",value:{obj:this.objColl[this.objColl.length-1]}}),this.activeObj.order=i.order),{action:"stroke-width",previousShapeSettings:(0,l.extend)({},r,{},!0),currentShapeSettings:(0,l.extend)({},r,{},!0)}.currentShapeSettings.strokeWidth=this.activeObj.strokeSettings.strokeWidth}else this.activeObj.shape&&"path"===this.activeObj.shape&&0===this.activeObj.pointColl.length&&this.notify("shape",{prop:"setStrokeSettings",value:{strokeSettings:null,strokeColor:null,fillColor:null,strokeWidth:this.activeObj.strokeSettings.strokeWidth}})},t.prototype.getStraightenFlipState=function(){var e="";if(this.rotateFlipColl.length>0)for(var t=0,i=this.rotateFlipColl.length;t<i;t++){var o=this.rotateFlipColl[t];"horizontal"===o?e+="horizontal":"vertical"===o&&(e+="vertical"),"horizontalvertical"!==e&&"verticalhorizontal"!==e||(e="")}return e},t.prototype.initializeZoomSettings=function(){this.theme=(0,l.isNullOrUndefined)(this.theme)?"Bootstrap5":this.theme,((0,l.isNullOrUndefined)(this.zoomSettings.zoomTrigger)||0===this.zoomSettings.zoomTrigger)&&(this.zoomSettings.zoomTrigger=x.MouseWheel|x.Pinch|x.Toolbar|x.Commands),(0,l.isNullOrUndefined)(this.selectionSettings.strokeColor)&&(this.selectionSettings.strokeColor=this.themeColl[this.theme].primaryColor),(0,l.isNullOrUndefined)(this.selectionSettings.fillColor)&&(this.selectionSettings.fillColor=this.themeColl[this.theme].secondaryColor)},t.prototype.initializeThemeColl=function(){this.themeColl={Bootstrap5:{primaryColor:"#0d6efd",secondaryColor:"#fff"},Bootstrap5Dark:{primaryColor:"#0d6efd",secondaryColor:"#fff"},Tailwind:{primaryColor:"#4f46e5",secondaryColor:"#fff"},TailwindDark:{primaryColor:"#22d3ee",secondaryColor:"#fff"},Fluent:{primaryColor:"#0078d4",secondaryColor:"#fff"},FluentDark:{primaryColor:"#0078d4",secondaryColor:"#fff"},Bootstrap4:{primaryColor:"#007bff",secondaryColor:"#fff"},Bootstrap:{primaryColor:"#317ab9",secondaryColor:"#fff"},BootstrapDark:{primaryColor:"#317ab9",secondaryColor:"#fff"},Material:{primaryColor:"#e3165b",secondaryColor:"#fff"},MaterialDark:{primaryColor:"#00b0ff",secondaryColor:"#fff"},Fabric:{primaryColor:"#0078d6",secondaryColor:"#fff"},FabricDark:{primaryColor:"#0074cc",secondaryColor:"#fff"},Highcontrast:{primaryColor:"#000000",secondaryColor:"#fff"},Material3:{primaryColor:"#6750a4",secondaryColor:"#fff"},Material3Dark:{primaryColor:"#d0bcff",secondaryColor:"#fff"},Fluent2:{primaryColor:"#0f6cbd",secondaryColor:"#fff"},Fluent2Dark:{primaryColor:"#115ea3",secondaryColor:"#fff"},Fluent2Highcontrast:{primaryColor:"#1aebff",secondaryColor:"#fff"},"Bootstrap5.3":{primaryColor:"#0d6efd",secondaryColor:"#fff"},"Bootstrap5.3Dark":{primaryColor:"#0d6efd",secondaryColor:"#fff"},Tailwind3:{primaryColor:"#4f46e5",secondaryColor:"#ffffff"},Tailwind3Dark:{primaryColor:"#6366f1",secondaryColor:"#ffffff03"}}},t.prototype.drawRedact=function(e,t,i,o,r,n){var a=!1,s=this.allowShape(t,i);return!this.disabled&&this.isImageLoaded&&(s||(0,l.isNullOrUndefined)(t)&&(0,l.isNullOrUndefined)(i))&&(a=!0,this.manageActiveAction(),this.notify("shape",{prop:"drawRedact",onPropertyChange:!1,value:{x:t,y:i,width:o,height:r,type:e,value:n}}),this.notify("draw",{prop:"redrawDownScale"})),a},t.prototype.handlePenActiveState=function(){var e={freehandDrawSelectedId:null};this.notify("freehand-draw",{prop:"getFreehandDrawSelectedId",onPropertyChange:!1,value:{obj:e}}),(0,l.isNullOrUndefined)(e.freehandDrawSelectedId)&&this.manageActiveAction()},_([(0,l.Property)("")],t.prototype,"cssClass",void 0),_([(0,l.Property)(!1)],t.prototype,"disabled",void 0),_([(0,l.Property)("100%")],t.prototype,"height",void 0),_([(0,l.Property)("Bootstrap5")],t.prototype,"theme",void 0),_([(0,l.Property)()],t.prototype,"toolbar",void 0),_([(0,l.Property)()],t.prototype,"toolbarTemplate",void 0),_([(0,l.Property)("100%")],t.prototype,"width",void 0),_([(0,l.Property)(!0)],t.prototype,"allowUndoRedo",void 0),_([(0,l.Property)(!0)],t.prototype,"showQuickAccessToolbar",void 0),_([(0,l.Property)()],t.prototype,"quickAccessToolbarTemplate",void 0),_([(0,l.Property)(!1)],t.prototype,"imageSmoothingEnabled",void 0),_([(0,l.Property)(!1)],t.prototype,"isReadOnly",void 0),_([(0,l.Property)(!1)],t.prototype,"enableRtl",void 0),_([(0,l.Property)(!1)],t.prototype,"enablePersistence",void 0),_([(0,l.Complex)({},G)],t.prototype,"finetuneSettings",void 0),_([(0,l.Complex)({},J)],t.prototype,"zoomSettings",void 0),_([(0,l.Complex)({},K)],t.prototype,"selectionSettings",void 0),_([(0,l.Complex)({},Q)],t.prototype,"fontFamily",void 0),_([(0,l.Complex)({},Z)],t.prototype,"uploadSettings",void 0),_([(0,l.Event)()],t.prototype,"beforeSave",void 0),_([(0,l.Event)()],t.prototype,"created",void 0),_([(0,l.Event)()],t.prototype,"destroyed",void 0),_([(0,l.Event)()],t.prototype,"zooming",void 0),_([(0,l.Event)()],t.prototype,"panning",void 0),_([(0,l.Event)()],t.prototype,"cropping",void 0),_([(0,l.Event)()],t.prototype,"rotating",void 0),_([(0,l.Event)()],t.prototype,"flipping",void 0),_([(0,l.Event)()],t.prototype,"shapeChanging",void 0),_([(0,l.Event)()],t.prototype,"selectionChanging",void 0),_([(0,l.Event)()],t.prototype,"fileOpened",void 0),_([(0,l.Event)()],t.prototype,"saved",void 0),_([(0,l.Event)()],t.prototype,"toolbarCreated",void 0),_([(0,l.Event)()],t.prototype,"toolbarUpdating",void 0),_([(0,l.Event)()],t.prototype,"toolbarItemClicked",void 0),_([(0,l.Event)()],t.prototype,"imageFiltering",void 0),_([(0,l.Event)()],t.prototype,"finetuneValueChanging",void 0),_([(0,l.Event)()],t.prototype,"click",void 0),_([(0,l.Event)()],t.prototype,"shapeChange",void 0),_([(0,l.Event)()],t.prototype,"quickAccessToolbarOpen",void 0),_([(0,l.Event)()],t.prototype,"resizing",void 0),_([(0,l.Event)()],t.prototype,"quickAccessToolbarItemClick",void 0),_([(0,l.Event)()],t.prototype,"frameChange",void 0),_([(0,l.Event)()],t.prototype,"editComplete",void 0),t=i=_([l.NotifyPropertyChanges],t)}(l.Component);!function(e){e.Png="Png",e.Jpeg="Jpeg",e.Svg="Svg",e.WebP="WebP",e.Bmp="Bmp"}(f||(f={})),function(e){e.Horizontal="Horizontal",e.Vertical="Vertical"}(m||(m={})),function(e){e.Rectangle="Rectangle",e.Ellipse="Ellipse",e.Line="Line",e.Arrow="Arrow",e.Path="Path",e.Text="Text",e.FreehandDraw="FreehandDraw",e.Image="Image"}(C||(C={})),function(e){e[e.MouseWheel=1]="MouseWheel",e[e.Pinch=2]="Pinch",e[e.Commands=4]="Commands",e[e.Toolbar=8]="Toolbar"}(x||(x={})),function(e){e.Bootstrap5="Bootstrap5",e.Bootstrap5Dark="Bootstrap5Dark",e.Tailwind="Tailwind",e.TailwindDark="TailwindDark",e.Fluent="Fluent",e.FluentDark="FluentDark",e.Bootstrap4="Bootstrap4",e.Bootstrap="Bootstrap",e.BootstrapDark="BootstrapDark",e.Material="Material",e.MaterialDark="MaterialDark",e.Fabric="Fabric",e.FabricDark="FabricDark",e.Highcontrast="Highcontrast",e.Fluent2="Fluent2",e.Fluent2Dark="Fluent2Dark",e.Tailwind3="Tailwind3",e.Tailwind3Dark="Tailwind3Dark"}(w||(w={})),function(e){e.Crop="Crop",e.Transform="Transform",e.Annotate="Annotate",e.ZoomIn="ZoomIn",e.ZoomOut="ZoomOut",e.Open="Open",e.Reset="Reset",e.Save="Save",e.Pan="Pan",e.Move="Move",e.Pen="Pen",e.Line="Line",e.Arrow="Arrow",e.Path="Path",e.Rectangle="Rectangle",e.Image="Image",e.Ellipse="Ellipse",e.Text="Text",e.CustomSelection="CustomSelection",e.CircleSelection="CircleSelection",e.SquareSelection="SquareSelection",e.RatioSelection="RatioSelection",e.RotateLeft="RotateLeft",e.RotateRight="RotateRight",e.FlipHorizontal="FlipHorizontal",e.FlipVertical="FlipVertical",e.Undo="Undo",e.Redo="Redo",e.None="None",e.Mat="Mat",e.Bevel="Bevel",e.Inset="Inset",e.Hook="Hook",e.Finetune="Finetune",e.Filter="Filter",e.Frame="Frame",e.Resize="Resize",e.HorizontalFlip="HorizontalFlip",e.VerticalFlip="VerticalFlip",e.Brightness="Brightness",e.Contrast="Contrast",e.Hue="Hue",e.Saturation="Saturation",e.Opacity="Opacity",e.Blur="Blur",e.Exposure="Exposure",e.Default="Default",e.Chrome="Chrome",e.Cold="Cold",e.Warm="Warm",e.Grayscale="Grayscale",e.Sepia="Sepia",e.Invert="Invert",e.Straightening="Straightening"}(P||(P={})),function(e){e.Default="Default",e.Chrome="Chrome",e.Cold="Cold",e.Warm="Warm",e.Grayscale="Grayscale",e.Sepia="Sepia",e.Invert="Invert"}(S||(S={})),function(e){e.Brightness="Brightness",e.Contrast="Contrast",e.Hue="Hue",e.Saturation="Saturation",e.Exposure="Exposure",e.Opacity="Opacity",e.Blur="Blur"}(j||(j={})),function(e){e.None="None",e.Arrow="Arrow",e.SolidArrow="SolidArrow",e.Circle="Circle",e.SolidCircle="SolidCircle",e.Square="Square",e.SolidSquare="SolidSquare",e.Bar="Bar"}(O||(O={})),function(e){e.None="None",e.Mat="Mat",e.Bevel="Bevel",e.Line="Line",e.Inset="Inset",e.Hook="Hook"}(T||(T={})),function(e){e.Solid="Solid",e.Dashed="Dashed",e.Dotted="Dotted"}(k||(k={})),function(e){e.Blur="Blur",e.Pixelate="Pixelate"}(F||(F={}));var ee=function(){function e(e){this.defToolbarItems=[],this.toolbarHeight=46,this.currToolbar="",this.preventZoomBtn=!1,this.currentToolbar="main",this.selFhdColor="#42a5f5",this.preventEnableDisableUr=!1,this.isAspectRatio=!0,this.isFrameToolbar=!1,this.presetColors={custom:["#000000","#f44336","#e91e63","#9c27b0","#673ab7","#2196f3","#03a9f4","#00bcd4","#009688","#ffeb3b","#ffffff","#ffebee","#fce4ec","#f3e5f5","#ede7f6","#e3f2fd","#e1f5fe","#e0f7fa","#e0f2f1","#fffde7","#f2f2f2","#ffcdd2","#f8bbd0","#e1bee7","#d1c4e9","#bbdefb","#b3e5fc","#b2ebf2","#b2dfdb","#fff9c4","#e6e6e6","#ef9a9a","#f48fb1","#ce93d8","#b39ddb","#90caf9","#81d4fa","#80deea","#80cbc4","#fff59d","#cccccc","#e57373","#f06292","#ba68c8","#9575cd","#64b5f6","#4fc3f7","#4dd0e1","#4db6ac","#fff176","#b3b3b3","#ef5350","#ec407a","#ab47bc","#7e57c2","#42a5f5","#29b6f6","#26c6da","#26a69a","#ffee58","#999999","#e53935","#d81b60","#8e24aa","#5e35b1","#1e88e5","#039be5","#00acc1","#00897b","#fdd835","#808080","#d32f2f","#c2185b","#7b1fa2","#512da8","#1976d2","#0288d1","#0097a7","#00796b","#fbc02d","#666666","#c62828","#ad1457","#6a1b9a","#4527a0","#1565c0","#0277bd","#00838f","#00695c","#f9a825","#4d4d4d","#b71c1c","#880e4f","#4a148c","#311b92","#0d47a1","#01579b","#006064","#004d40","#f57f17"]},this.isSlider=!1,this.currentQuality=1,this.imageQuality="highest",this.parent=e,this.addEventListener(),this.initLocale()}return e.prototype.destroy=function(){this.parent.isDestroyed||this.removeEventListener()},e.prototype.addEventListener=function(){this.parent.on("toolbar",this.toolbar,this),this.parent.on("destroyed",this.destroy,this)},e.prototype.removeEventListener=function(){this.parent.off("toolbar",this.toolbar),this.parent.off("destroyed",this.destroy)},e.prototype.initLocale=function(){this.defaultLocale={Crop:"Crop",ZoomIn:"Zoom In",ZoomOut:"Zoom Out",Undo:"Undo",Redo:"Redo",Transform:"Transform",Annotation:"Annotation",Finetune:"Finetune",Brightness:"Brightness",Contrast:"Contrast",Hue:"Hue",Saturation:"Saturation",Opacity:"Opacity",Blur:"Blur",Sharpen:"Sharpen",Exposure:"Exposure",Filter:"Filter",Default:"Default",Chrome:"Chrome",Cold:"Cold",Warm:"Warm",Grayscale:"Grayscale",BlackAndWhite:"Black and White",Sepia:"Sepia",Invert:"Invert",Text:"Add Text",Pen:"Pen",Reset:"Reset",Save:"Save",Select:"Select",RotateLeft:"Rotate Left",RotateRight:"Rotate Right",HorizontalFlip:"Horizontal Flip",VerticalFlip:"Vertical Flip",OK:"Apply",Cancel:"Discard",FillColor:"Fill Color",StrokeColor:"Stroke Color",StrokeWidth:"Stroke Width",FontFamily:"Font Family",FontStyle:"Font Style",FontSize:"Font Size",FontColor:"Font Color",Pan:"Pan",Move:"Move",Load:"Load",Custom:"Custom",Square:"Square",Circle:"Circle",Ellipse:"Ellipse",Rectangle:"Rectangle",Line:"Line",Arrow:"Arrow",Path:"Path",Bold:"Bold",Italic:"Italic",Underline:"Underline",BoldItalic:"Bold Italic",Strikethrough:"Strikethrough",XSmall:"X-Small",Small:"Small",Medium:"Medium",Large:"Large",XLarge:"X-Large",ABC:"ABC",Browse:"Browse",Duplicate:"Duplicate",Remove:"Remove",EditText:"Edit Text",Start:"Start",End:"End",Bar:"Bar",ArrowSolid:"Arrow Solid",CircleSolid:"Circle Solid",SquareSolid:"Square Solid",None:"None",CropAndTransform:"Crop and Transform",CropSelection:"Crop Selection",Image:"Add Image",Transparency:"Transparency",Height:"Height",Width:"Width",AspectRatio:"Maintain aspect ratio",W:"W",H:"H",DragText:"Drag and drop your image here or",DropText:"Drop your image here or",BrowseText:"Browse here...",SupportText:"Supports:",Frame:"Frame",Mat:"Mat",Bevel:"Bevel",Inset:"Inset",Hook:"Hook",Color:"Color",Size:"Size",Offset:"Offset",Radius:"Radius",Amount:"Amount",Resize:"Resize",0:"0%",20:"20%",40:"40%",60:"60%",80:"80%",100:"100%",1:"1",2:"2",3:"3",4:"4",5:"5",Border:"Border",Solid:"Solid",Dashed:"Dashed",Dotted:"Dotted",GradientColor:"Gradient Color",ConfirmDialogHeader:"Confirm Save Changes",ConfirmDialogContent:"Do you want to save the changes you made to the image?",AlertDialogHeader:"Unsupported file",AlertDialogContent:"The selected file is unsupported.",MinMaxSize:"with file size between",MinMaxSizeAlert:"File size between",MinSize:"with minimum file size of",MinSizeAlert:"A minimum file size of",MaxSize:"with maximum file size of",MaxSizeAlert:"A maximum file size of",To:"to",Bytes:"bytes",Yes:"Yes",No:"No",ImageErrorDialogHeader:"Image Selection Error",ImageErrorDialogContent:"Please select only one image to open.",Straighten:"Straighten",NoOutline:"No outline",DlgOK:"OK",SaveAs:"Save As",ImageName:"Image name",Format:"Format",Quality:"Quality",Download:"Download",Close:"Close",ImageSize:"Image Size",QualityInfo:"The image quality option is only available for JPEG format",Good:"Good",Great:"Great",Highest:"Highest",BringForward:"Bring Forward",SendBackward:"Send Backward",SendToBack:"Send to Back",BringToFront:"Bring to Front",ZOrder:"Z-Order",Redact:"Redact",Pixelate:"Pixelate",BorderRadius:"Border Radius",TextOutlineColor:"Outline Color",TextOutlineWidth:"Outline Width",PixelSize:"Pixel Size",And:"and"},this.l10n=new l.L10n("image-editor",this.defaultLocale,this.parent.locale)},e.prototype.toolbar=function(e){var t=this.parent;switch(this.updatePrivateVariables(),e.prop){case"create-toolbar":this.createToolbar();break;case"create-contextual-toolbar":this.createContextualToolbar();break;case"update-toolbar-items":this.updateToolbarItems();break;case"refresh-toolbar":this.refreshToolbar(e.value.type,e.value.isApplyBtn,e.value.isCropping,e.value.isZooming,e.value.cType);break;case"renderQAT":this.renderQAT(e.value.isPenEdit);break;case"enable-disable-btns":this.enableDisableTbrBtn();break;case"init-main-toolbar":this.initMainToolbar(e.value.isApplyBtn,e.value.isDevice,e.value.isOkBtn,e.value.isResize,e.value.isFrame,e.value.isMainToolbar);break;case"create-bottom-toolbar":this.createBottomToolbar();break;case"refresh-main-toolbar":this.refreshMainToolbar();break;case"create-qa-toolbar":this.createQuickAccessToolbar();break;case"destroy-qa-toolbar":this.destroyQuickAccessToolbar();break;case"zoom-up-handler":this.zoomBtnMouseUpHandler();break;case"refresh-dropdown-btn":this.refreshDropDownBtn(e.value.isDisabled);break;case"close-contextual-toolbar":this.closeContextualToolbar();break;case"destroy-bottom-toolbar":this.destroyBottomToolbar();break;case"destroy-top-toolbar":this.destroyTopToolbar();break;case"destroySubComponents":this.destroySubComponents();break;case"setLocale":this.l10n.setLocale(e.value.locale);break;case"setPreventZoomBtn":this.preventZoomBtn=e.value.isPrevent;break;case"getToolbarHeight":e.value.obj.toolbarHeight=this.toolbarHeight;break;case"setToolbarHeight":((0,l.isNullOrUndefined)(t.toolbar)||t.toolbar&&t.toolbar.length>0&&t.toolbar.indexOf("Open")>-1)&&(this.toolbarHeight=e.value.height);break;case"setCurrentToolbar":this.currentToolbar=e.value.type;break;case"setSelectedFreehandColor":this.selFhdColor=e.value.color;break;case"setInitialAdjustmentValue":t.initialAdjustmentValue=e.value.value;break;case"getCanvasFilter":e.value.obj.canvasFilter=t.canvasFilter;break;case"getDefToolbarItems":e.value.obj.defToolbarItems=this.defToolbarItems;break;case"getPenStroke":this.getPenStroke(e.value.value);break;case"performDefToolbarClickAction":this.performDefTbrClick(e.value.type,e.value.isContextualToolbar,e.value.isDisabledAdjustment,e.value.isDisabledFilter,e.value.isFilterFinetune);break;case"setTempFilterProperties":t.setTempFilterProperties();break;case"refreshSlider":this.refreshSlider();break;case"getCurrAdjustmentValue":t.getCurrAdjustmentValue(e.value.type);break;case"setCurrAdjustmentValue":t.setCurrAdjustmentValue(e.value.type,e.value.value);break;case"refreshShapeDrawing":this.refreshShapeDrawing();break;case"setEnableDisableUndoRedo":this.preventEnableDisableUr=e.value.isPrevent;break;case"reset":this.reset();break;case"getLocaleText":e.value.obj.value=this.l10n.getConstant(e.value.obj.key);break;case"initResizeToolbar":this.initResizeToolbar();break;case"getFrameToolbar":e.value.obj.bool=this.isFrameToolbar;break;case"resizeClick":this.resizeClick();break;case"frameToolbarClick":this.frameToolbarClick();break;case"performCropTransformClick":this.performCropTransformClick(e.value.shape,e.value.isTransform);break;case"duplicateShape":this.duplicateShape(e.value.isPreventUndoRedo,!0);break;case"editText":this.editText();break;case"setInitialSize":this.initialSize=Number(e.value.value);break;case"widthPress":this.widthPress(e.value.e);break;case"heightPress":this.heightPress(e.value.e);break;case"widthAspectRatio":this.widthAspectRatio(e.value.e);break;case"heightAspectRatio":this.heightAspectRatio(e.value.e);break;case"cancelPan":this.cancelPan();break;case"zoomInBtnMouseDownHandler":this.zoomInBtnMouseDownHandler(e.value.event);break;case"zoomOutBtnMouseDownHandler":this.zoomOutBtnMouseDownHandler(e.value.event);break;case"drawDashedLine":this.drawDashedLine(e.value.context);break;case"saveDialogClosed":this.saveDialogClosed(e.value.id);break;case"getIndex":this.getIndex(e.value.item);break;case"getRectRadius":this.getRectRadius(e.value.text);break;case"applyPreviewFilter":this.applyPreviewFilter();break;case"renderSlider":this.renderSlider(e.value.type,e.value.isSelect);break;case"zoomInBtnClickHandler":this.zoomInBtnClickHandler(e.value.e);break;case"zoomOutBtnClickHandler":this.zoomOutBtnClickHandler(e.value.e);break;case"getAdjustmentToolbarItem":this.getAdjustmentToolbarItem();break;case"getFilterToolbarItem":this.getFilterToolbarItem();break;case"renderCropBtn":this.renderCropBtn()}},e.prototype.updatePrivateVariables=function(){var e=this.parent;this.inMemoryCanvas=e.inMemoryCanvas,e.lowerCanvas&&(this.lowerContext=e.lowerCanvas.getContext("2d")),e.upperCanvas&&(this.upperContext=e.upperCanvas.getContext("2d")),this.inMemoryCanvas&&(this.inMemoryContext=this.inMemoryCanvas.getContext("2d"))},e.prototype.reset=function(){var e=this.parent;(0,l.isNullOrUndefined)(e.toolbar)||e.toolbar&&e.toolbar.length>0||e.toolbarTemplate?e.toolbarTemplate?this.toolbarHeight=e.element.querySelector("#"+e.element.id+"_toolbarArea").clientHeight:this.toolbarHeight=46:this.toolbarHeight=0,e.prevCurrSelectionPoint=null,this.zoomBtnHold=null,this.currToolbar="",e.cxtTbarHeight=null,this.currentToolbar="main",this.selFhdColor="#42a5f5",e.currentFilter="",this.preventZoomBtn=e.isCropToolbar=this.preventEnableDisableUr=this.isFrameToolbar=!1,e.initialAdjustmentValue=e.canvasFilter="brightness(1) contrast(100%) hue-rotate(0deg) saturate(100%) opacity(1) blur(0px) sepia(0%) grayscale(0%) invert(0%)",e.tempStraighten=0,e.isStraightening=!1},e.prototype.destroyTopToolbar=function(){var e=this.parent,t=e.element.querySelector("#"+e.element.id+"_toolbar");this.isToolbar()&&t&&t.classList.contains("e-control")&&(0,l.getComponent)(t,"toolbar").destroy()},e.prototype.destroyBottomToolbar=function(){var e=this.parent,t=e.element.querySelector("#"+e.element.id+"_bottomToolbar");t&&t.classList.contains("e-control")&&(0,l.getComponent)(t,"toolbar").destroy()},e.prototype.isToolbar=function(){var e=this.parent;return(0,l.isNullOrUndefined)(e.toolbar)||e.toolbar&&e.toolbar.length>0||!(0,l.isNullOrUndefined)(e.toolbarTemplate)},e.prototype.createToolbar=function(){var e=this,t=this.parent,i=t.element.id;if((0,l.isNullOrUndefined)(t.toolbar)||t.toolbar&&t.toolbar.length>0){t.element.appendChild(t.createElement("div",{id:i+"_toolbarArea",className:"e-toolbar-area"}));var o={cssClass:"e-image-upload",align:"Left",type:"Input",tooltipText:this.l10n.getConstant("Browse"),template:new A.Uploader({allowedExtensions:t.uploadSettings.allowedExtensions,multiple:!1})};(0,l.isNullOrUndefined)(this.defToolbarItems)&&(this.defToolbarItems=[]),this.defToolbarItems.push(o);var r=t.element.querySelector("#"+i+"_toolbarArea"),n=t.createElement("div",{id:i+"_toolbar"});r.appendChild(n);var a=[{cssClass:"e-image-upload",align:"Left",type:"Input",tooltipText:this.l10n.getConstant("Browse"),template:new A.Uploader({allowedExtensions:t.uploadSettings.allowedExtensions,multiple:!1,selected:function(){var o=t.element.querySelector("#"+i+"_toolbar"),r=t.element.querySelector("#"+i+"_bottomToolbar");t.disabled||(l.Browser.isDevice?(e.defToolbarItems.length>0&&o&&(0,l.getComponent)(o,"toolbar").destroy(),r&&(0,l.getComponent)(r,"toolbar").destroy(),e.initMainToolbar(!1,l.Browser.isDevice,null),e.createBottomToolbar()):(e.defToolbarItems.length>0&&o&&(0,l.getComponent)(o,"toolbar").destroy(),e.initMainToolbar(!1,!1,null)))}})}];new c.Toolbar({items:a,width:"100%",created:function(){t.trigger("toolbarCreated",{toolbarType:"main"})},clicked:this.defToolbarClicked.bind(this)}).appendTo(t.element.querySelector("#"+i+"_toolbar")),this.createLeftToolbarControls();var s=t.element.querySelector("#"+i+"_toolbar");if(n&&(this.toolbarHeight=s.clientHeight,t.toolbar&&t.toolbar.length>0&&-1===t.toolbar.indexOf("Open"))){var p=(0,l.getComponent)(t.element.querySelector("#"+t.element.id+"_toolbar"),"toolbar");p&&(p.destroy(),t.element.querySelector("#"+t.element.id+"_toolbar").innerHTML="")}}else this.toolbarHeight=0},e.prototype.createContextualToolbar=function(){var e=this.parent,t=e.element.id;if((0,l.isNullOrUndefined)(e.toolbar)||e.toolbar&&e.toolbar.length>0){var i=e.createElement("div",{id:t+"_contextualToolbarArea",className:"e-contextual-toolbar-wrapper e-hide"});i.style.position="absolute",e.element.appendChild(i);var o=e.element.querySelector("#"+t+"_contextualToolbarArea"),r=e.createElement("div",{id:t+"_contextualToolbar"});o.appendChild(r)}},e.prototype.createBottomToolbar=function(){var e=this.parent,t=e.element.id;if(e.element.querySelector("#"+t+"_bottomToolbarArea")&&e.element.querySelector("#"+t+"_bottomToolbarArea").remove(),(0,l.isNullOrUndefined)(e.toolbar)||e.toolbar&&e.toolbar.length>0){if(e.element.appendChild(e.createElement("div",{id:t+"_bottomToolbarArea",className:"e-bottom-toolbar"})),!e.toolbarTemplate){var i=e.element.querySelector("#"+t+"_bottomToolbarArea"),o=e.createElement("div",{id:t+"_bottomToolbar"});i.appendChild(o)}this.initBottomToolbar()}},e.prototype.createQuickAccessToolbar=function(){var e=this.parent,t=e.element.id;if(e.showQuickAccessToolbar){var i={cssClass:"e-image-upload",align:"Left",type:"Input",tooltipText:this.l10n.getConstant("Browse"),template:new A.Uploader({allowedExtensions:e.uploadSettings.allowedExtensions,multiple:!1})};(0,l.isNullOrUndefined)(this.defToolbarItems)&&(this.defToolbarItems=[]),this.defToolbarItems.push(i);var o=e.element.querySelector("#"+t+"_quickAccessToolbarArea"),r=e.createElement("div",{id:t+"_quickAccessToolbar"});o.appendChild(r),new c.Toolbar({clicked:this.defToolbarClicked.bind(this)}).appendTo(e.element.querySelector("#"+t+"_quickAccessToolbar"))}},e.prototype.initMainToolbar=function(e,t,i,o,r,n,a){var s=this,p=this.parent,d=p.element.id;if(this.isToolbar()){var h=this.getLeftToolbarItem(i,o),u=this.getRightToolbarItem(i,n,a),v=this.getMainToolbarItem(e,r,a),g=this.getZoomToolbarItem();this.defToolbarItems=t?r||a?v:h.concat(u):h.concat(v,u,g);var f={toolbarType:"main",toolbarItems:this.defToolbarItems};if(p.trigger("toolbarUpdating",f),this.defToolbarItems=f.toolbarItems,this.defToolbarItems.length>0){var m=new c.Toolbar({width:"100%",items:this.defToolbarItems,clicked:this.defToolbarClicked.bind(this),created:function(){t||s.renderAnnotationBtn(),s.wireZoomBtnEvents(),p.trigger("toolbarCreated",{toolbarType:"main"})}});if(t&&r||t&&a?m.appendTo(p.element.querySelector("#"+d+"_bottomToolbar")):m.appendTo(p.element.querySelector("#"+d+"_toolbar")),this.createLeftToolbarControls(),this.enableDisableTbrBtn(),this.isToolbar()&&p.element.querySelector("#"+d+"_toolbar"))(0,l.getComponent)(p.element.querySelector("#"+d+"_toolbar"),"toolbar").refreshOverflow()}}},e.prototype.initBottomToolbar=function(){var e=this,t=this.parent,i=t.element.id;if((0,l.isNullOrUndefined)(t.toolbar)||t.toolbar&&t.toolbar.length>0){var o=this.getMainToolbarItem(),r={toolbarType:"bottom-toolbar",toolbarItems:o};if(t.trigger("toolbarUpdating",r),o=r.toolbarItems,new c.Toolbar({items:o,width:"100%",created:function(){e.renderAnnotationBtn(),e.renderCropBtn(),e.renderTransformBtn(),t.trigger("toolbarCreated",{toolbarType:"main"})},clicked:this.defToolbarClicked.bind(this)}).appendTo(t.element.querySelector("#"+i+"_bottomToolbar")),this.defToolbarItems.length>0&&t.element.querySelector("#"+i+"_bottomToolbar"))(0,l.getComponent)(t.element.querySelector("#"+i+"_bottomToolbar"),"toolbar").refreshOverflow()}},e.prototype.getLeftToolbarItem=function(e,t){var i=this.parent,o=i.element.id,r=[];e&&!t||((0,l.isNullOrUndefined)(i.toolbar)||i.toolbar&&i.toolbar.indexOf("Open")>-1?(r.push({id:o+"_upload",cssClass:"e-image-upload",align:"Left",type:"Input",template:new A.Uploader({allowedExtensions:i.uploadSettings.allowedExtensions,multiple:!1})}),r.push({visible:!1,cssClass:"e-image-position e-btn e-flat",tooltipText:this.l10n.getConstant("Browse"),align:"Left"})):l.Browser.isDevice&&i.toolbar&&-1===i.toolbar.indexOf("Open")&&(r.push({visible:!1,id:o+"_upload",cssClass:"e-image-upload",align:"Left",type:"Input",template:new A.Uploader({allowedExtensions:i.uploadSettings.allowedExtensions,multiple:!1})}),r.push({visible:!1,cssClass:"e-image-position e-btn e-flat",tooltipText:this.l10n.getConstant("Browse"),align:"Left"}))),i.allowUndoRedo&&!t&&(((0,l.isNullOrUndefined)(i.toolbar)||i.toolbar&&i.toolbar.indexOf("Undo")>-1)&&r.push({id:o+"_undo",prefixIcon:"e-icons e-undo",cssClass:"top-icon e-undo",tooltipText:this.l10n.getConstant("Undo"),align:"Left"}),((0,l.isNullOrUndefined)(i.toolbar)||i.toolbar&&i.toolbar.indexOf("Redo")>-1)&&r.push({id:o+"_redo",prefixIcon:"e-icons e-redo",cssClass:"top-icon e-redo",tooltipText:this.l10n.getConstant("Redo"),align:"Left"})),this.preventZoomBtn||(i.zoomSettings.zoomTrigger&x.Toolbar)!==x.Toolbar||t||(((0,l.isNullOrUndefined)(i.toolbar)||i.toolbar&&i.toolbar.indexOf("ZoomOut")>-1)&&r.push({id:o+"_zoomOut",prefixIcon:"e-icons e-zoom-out",cssClass:"top-icon e-dec-zoom",tooltipText:this.l10n.getConstant("ZoomOut"),align:"Left"}),((0,l.isNullOrUndefined)(i.toolbar)||i.toolbar&&i.toolbar.indexOf("ZoomIn")>-1)&&r.push({id:o+"_zoomIn",prefixIcon:"e-icons e-zoom-in",cssClass:"top-icon e-inc-zoom",tooltipText:this.l10n.getConstant("ZoomIn"),align:"Left"}));for(var n=this.processToolbar("left"),a=0,s=n.length;a<s;a++)r.push(n[a]);return r},e.prototype.getRightToolbarItem=function(e,t,i){var o=this.parent,r=o.element.id,n=[];(e||i)&&(n.push({id:r+"_ok",prefixIcon:"e-icons e-check",cssClass:"top-icon e-tick",tooltipText:this.l10n.getConstant("OK"),align:"Right",tabIndex:0}),n.push({id:r+"_cancel",prefixIcon:"e-icons e-close",cssClass:"top-icon e-save",tooltipText:this.l10n.getConstant("Cancel"),align:"Right"})),!t&&l.Browser.isDevice||!((0,l.isNullOrUndefined)(o.toolbar)||o.toolbar&&o.toolbar.indexOf("Reset")>-1)||n.push({id:r+"_reset",prefixIcon:"e-icons e-btn-reset",cssClass:"top-icon e-img-reset",tooltipText:this.l10n.getConstant("Reset"),align:"Right"}),e||((0,l.isNullOrUndefined)(o.toolbar)||o.toolbar&&o.toolbar.indexOf("Save")>-1)&&n.push({id:r+"_save",prefixIcon:"e-icons e-btn-save",cssClass:"e-caret-hide top-icon e-save",tooltipText:this.l10n.getConstant("Save"),align:"Right"});for(var a=this.processToolbar("right"),s=0,p=a.length;s<p;s++)n.push(a[s]);return n},e.prototype.getMainToolbarItem=function(e,t,i){var o=this.parent,r=o.element.id,n=[];t?(((0,l.isNullOrUndefined)(o.toolbar)||!(0,l.isNullOrUndefined)(o.toolbar)&&o.toolbar.indexOf("None")>-1||o.toolbar.indexOf("Frame")>-1)&&n.push({id:r+"_none",prefixIcon:"e-icons e-frame-none",cssClass:"top-icon e-frame-none",tooltipText:this.l10n.getConstant("None"),align:"Center"}),((0,l.isNullOrUndefined)(o.toolbar)||!(0,l.isNullOrUndefined)(o.toolbar)&&o.toolbar.indexOf("Mat")>-1||o.toolbar.indexOf("Frame")>-1)&&n.push({id:r+"_mat",prefixIcon:"e-icons e-frame-mat",cssClass:"top-icon e-frame-mat",tooltipText:this.l10n.getConstant("Mat"),align:"Center"}),((0,l.isNullOrUndefined)(o.toolbar)||!(0,l.isNullOrUndefined)(o.toolbar)&&o.toolbar.indexOf("Bevel")>-1||o.toolbar.indexOf("Frame")>-1)&&n.push({id:r+"_bevel",prefixIcon:"e-icons e-frame-bevel",cssClass:"top-icon e-frame-bevel",tooltipText:this.l10n.getConstant("Bevel"),align:"Center"}),((0,l.isNullOrUndefined)(o.toolbar)||!(0,l.isNullOrUndefined)(o.toolbar)&&o.toolbar.indexOf("Line")>-1||o.toolbar.indexOf("Frame")>-1)&&n.push({id:r+"_line",prefixIcon:"e-icons e-frame-line",cssClass:"top-icon e-frame-line",tooltipText:this.l10n.getConstant("Line"),align:"Center"}),((0,l.isNullOrUndefined)(o.toolbar)||!(0,l.isNullOrUndefined)(o.toolbar)&&o.toolbar.indexOf("Inset")>-1||o.toolbar.indexOf("Frame")>-1)&&n.push({id:r+"_inset",prefixIcon:"e-icons e-frame-inset",cssClass:"top-icon e-frame-inset",tooltipText:this.l10n.getConstant("Inset"),align:"Center"}),((0,l.isNullOrUndefined)(o.toolbar)||!(0,l.isNullOrUndefined)(o.toolbar)&&o.toolbar.indexOf("Hook")>-1||o.toolbar.indexOf("Frame")>-1)&&n.push({id:r+"_hook",prefixIcon:"e-icons e-frame-hook",cssClass:"top-icon e-frame-hook",tooltipText:this.l10n.getConstant("Hook"),align:"Center"})):i?(n.push({id:r+"_redactBlur",prefixIcon:"e-icons e-tint",cssClass:"top-icon e-opacity",tooltipText:this.l10n.getConstant("Blur"),align:"Center"}),n.push({id:r+"_pixelate",prefixIcon:"e-icons e-opacity",cssClass:"top-icon e-opacity",tooltipText:this.l10n.getConstant("Pixelate"),align:"Center"}),n.push({id:r+"_duplicate",prefixIcon:"e-icons e-order",cssClass:"top-icon e-order",tooltipText:this.l10n.getConstant("Duplicate"),align:"Center"}),n.push({id:r+"_remove",prefixIcon:"e-icons e-trash",cssClass:"top-icon e-trash",tooltipText:this.l10n.getConstant("Remove"),align:"Center"})):(((0,l.isNullOrUndefined)(o.toolbar)||o.toolbar&&o.toolbar.indexOf("Crop")>-1)&&n.push({id:r+"_cropTransform",prefixIcon:"e-icons e-crop",cssClass:"top-icon e-crop",tooltipText:this.l10n.getConstant("CropAndTransform"),align:"Center"}),((0,l.isNullOrUndefined)(o.toolbar)||o.toolbar&&o.toolbar.indexOf("Annotate")>-1)&&n.push({id:r+"_annotation",tooltipText:this.l10n.getConstant("Annotation"),align:"Center",template:'<button id="'+r+'_annotationBtn"></button>'}),((0,l.isNullOrUndefined)(o.toolbar)||o.toolbar&&o.toolbar.indexOf("Finetune")>-1)&&n.push({id:r+"_adjustment",prefixIcon:"e-icons e-adjustment",cssClass:"top-icon e-adjustment",tooltipText:this.l10n.getConstant("Finetune"),align:"Center"}),((0,l.isNullOrUndefined)(o.toolbar)||o.toolbar&&o.toolbar.indexOf("Filter")>-1)&&n.push({id:r+"_filter",prefixIcon:"e-icons e-filters",cssClass:"top-icon e-filters",tooltipText:this.l10n.getConstant("Filter"),align:"Center"}),((0,l.isNullOrUndefined)(o.toolbar)||!(0,l.isNullOrUndefined)(o.toolbar)&&o.toolbar.indexOf("Frame")>-1)&&n.push({id:r+"_frame",prefixIcon:"e-icons e-border-frame",cssClass:"top-icon e-border-frame",tooltipText:this.l10n.getConstant("Frame"),align:"Center"}),((0,l.isNullOrUndefined)(o.toolbar)||!(0,l.isNullOrUndefined)(o.toolbar)&&o.toolbar.indexOf("Resize")>-1)&&n.push({id:r+"_resize",prefixIcon:"e-icons e-resize",cssClass:"top-icon e-resize",tooltipText:this.l10n.getConstant("Resize"),align:"Center"}),((0,l.isNullOrUndefined)(o.toolbar)||!(0,l.isNullOrUndefined)(o.toolbar)&&o.toolbar.indexOf("Redact")>-1)&&n.push({id:r+"_redact",prefixIcon:"e-icons e-redact",cssClass:"top-icon e-opacity",tooltipText:this.l10n.getConstant("Redact"),align:"Center"}));for(var a=this.processToolbar("center"),s=0,p=a.length;s<p;s++)n.push(a[s]);return e&&(n.push({id:r+"_ok",prefixIcon:"e-icons e-check",cssClass:"top-icon e-tick",tooltipText:this.l10n.getConstant("OK"),align:"Right",tabIndex:0}),n.push({id:r+"_cancel",prefixIcon:"e-icons e-close",cssClass:"top-icon e-save",tooltipText:this.l10n.getConstant("Cancel"),align:"Right"})),n},e.prototype.getZoomToolbarItem=function(){return[]},e.prototype.updateContextualToolbar=function(e,t,i){var o=this.parent,r=o.element.id,n=o.element.querySelector("#"+r+"_toolbarArea"),a=o.element.querySelector("#"+r+"_contextualToolbarArea");if(a){if(a.classList.remove("e-hide"),a.style.left=n.offsetLeft+"px","filter"===e){var s=o.element.querySelector("#"+r+"_toolbar");s&&this.defToolbarItems.length>0&&(0,l.getComponent)(s,"toolbar").destroy(),l.Browser.isDevice?this.initMainToolbar(!1,!0,!0):this.initMainToolbar(!0,null,null),this.refreshSlider(),this.initFilterToolbarItem()}else{(h=o.element.querySelector("#"+r+"_contextualToolbar")).classList.contains("e-control")&&(0,l.getComponent)(h,"toolbar").destroy(),this.refreshSlider(),"frame"===e?this.initFrameToolbarItem():this.renderSlider(t,i)}if(o.toolbarTemplate?this.toolbarHeight=o.element.querySelector("#"+r+"_toolbarArea").clientHeight:o.element.querySelector("#"+r+"_toolbar")&&(this.toolbarHeight=o.element.querySelector("#"+r+"_toolbar").clientHeight),o.toolbarHeight=this.toolbarHeight,l.Browser.isDevice){var p=a.offsetHeight+1,d=o.element.querySelector("#"+r+"_customizeWrapper");this.isFrameToolbar&&d&&(p=d.offsetHeight+2);var h,c=o.element.querySelector("#"+r+"_canvasWrapper").offsetHeight;if(a.style.top=this.toolbarHeight+1+c-p+"px","straighten"===t)o.isStraightening=!0,"absolute"===(h=o.element.querySelector("#"+r+"_contextualToolbarArea")).style.position&&(h.style.position="",o.element.insertBefore(h,o.element.querySelector("#"+r+"_bottomToolbarArea")),o.update(),i&&o.notify("draw",{prop:"select",onPropertyChange:!1,value:{type:this.getCropTextContent(o.element.querySelector("#"+r+"_cropBtn")).toLowerCase(),startX:null,startY:null,width:null,height:null}}))}else a.style.top=this.toolbarHeight+1+"px"}},e.prototype.processToolbar=function(e){var t=this.parent,i=[];if(t.toolbar)for(var o=0,r=t.toolbar.length;o<r;o++)"object"==typeof t.toolbar[o]&&((0,l.isNullOrUndefined)(t.toolbar[o].align)?"left"===e&&i.push(t.toolbar[o]):t.toolbar[o].align.toLowerCase()===e&&i.push(t.toolbar[o]));return i},e.prototype.processSubToolbar=function(e){var t=[];if(e)for(var i=0,o=e.length;i<o;i++)"object"==typeof e[i]&&(e[i].align="Center",t.push(e[i]));return t},e.prototype.wireZoomBtnEvents=function(){var e=this.parent.element.querySelector("#"+this.parent.element.id+"_zoomIn"),t=this.parent.element.querySelector("#"+this.parent.element.id+"_zoomOut");e&&(e.addEventListener("mousedown",this.zoomInBtnMouseDownHandler.bind(this)),e.addEventListener("mouseup",this.zoomBtnMouseUpHandler.bind(this)),e.addEventListener("click",this.zoomInBtnClickHandler.bind(this))),t&&(t.addEventListener("mousedown",this.zoomOutBtnMouseDownHandler.bind(this)),t.addEventListener("mouseup",this.zoomBtnMouseUpHandler.bind(this)),t.addEventListener("click",this.zoomOutBtnClickHandler.bind(this)))},e.prototype.widthPress=function(e){109!==e.keyCode||e.preventDefault()},e.prototype.heightPress=function(e){109!==e.keyCode||e.preventDefault()},e.prototype.widthAspectRatio=function(e){if(109!==e.keyCode&&9!==e.keyCode){var t=this.parent,i=t.element.id,o=t.element.querySelector("#"+i+"_resizeHeight"),r=t.element.querySelector("#"+i+"_resizeWidth"),n=t.element.querySelector("#"+i+"_aspectratio"),a=t.img.destWidth,s=t.img.destHeight,p=parseFloat(o.value)/(s/a),d=p%1>=.5||p%1<=-.5?Math.round(p):p<0?Math.ceil(p):Math.floor(p),h=(0,l.getComponent)(r,"numerictextbox"),c=(0,l.getComponent)(r,"numerictextbox");n&&(null==d||isNaN(d)?(0,l.isNullOrUndefined)(h.value)?(h.placeholder="0 px",r.placeholder="0 px",(0,l.isNullOrUndefined)(c.value)&&!(0,l.isNullOrUndefined)(c.placeholder)&&(h.placeholder=""+t.img.srcWidth,r.placeholder=""+t.img.srcWidth)):(h.value=0,r.value="0 px"):(0,l.isNullOrUndefined)(h.value)?(h.placeholder=d+" px",r.placeholder=d.toString()+" px"):(h.value=d,r.value=d.toString()+" px"))}},e.prototype.heightAspectRatio=function(e){if(109!==e.keyCode&&9!==e.keyCode){var t=this.parent,i=t.element.id,o=t.element.querySelector("#"+i+"_resizeHeight"),r=t.element.querySelector("#"+i+"_resizeWidth"),n=t.element.querySelector("#"+i+"_aspectratio"),a=t.img.destWidth,s=t.img.destHeight,p=parseFloat(r.value)/(a/s),d=p%1>=.5||p%1<=-.5?Math.round(p):p<0?Math.ceil(p):Math.floor(p),h=(0,l.getComponent)(o,"numerictextbox"),c=(0,l.getComponent)(r,"numerictextbox");n&&(isNaN(d)?(0,l.isNullOrUndefined)(h.value)?(h.placeholder="0 px",o.placeholder="0 px",(0,l.isNullOrUndefined)(c.value)&&!(0,l.isNullOrUndefined)(c.placeholder)&&(h.placeholder=""+t.img.srcHeight,o.placeholder=""+t.img.srcHeight)):(h.value=0,o.value="0 px"):(0,l.isNullOrUndefined)(h.value)?(h.placeholder=d+" px",o.placeholder=d.toString()+" px"):(h.value=d,o.value=d.toString()+" px"))}},e.prototype.getResizeToolbarItem=function(){var e=this.parent,t=e.element.id,i=!(!e.aspectWidth||!e.aspectHeight),o=this.parent.transform.degree%90==0&&this.parent.transform.degree%180!=0?Math.ceil(this.parent.img.srcHeight).toString():Math.ceil(this.parent.img.srcWidth).toString(),r=this.parent.transform.degree%90==0&&this.parent.transform.degree%180!=0?Math.ceil(this.parent.img.srcWidth).toString():Math.ceil(this.parent.img.srcHeight).toString(),n=[],a=e.createElement("span");a.innerHTML=this.l10n.getConstant("W"),n.push({id:t+"_width",cssClass:"e-ie-resize-width",template:a,align:"Center"}),n.push({id:t+"_resizeWidth",prefixIcon:"e-icons e-anti-clock-wise",tooltipText:this.l10n.getConstant("Width"),align:"Center",type:"Input",template:new A.NumericTextBox({width:75,htmlAttributes:{maxLength:"4"},showSpinButton:!1,value:i?e.aspectWidth:null,placeholder:i?null:o,format:"###.## px"})});var s=e.createElement("span");return s.innerHTML=this.l10n.getConstant("H"),n.push({id:t+"_height",cssClass:"e-ie-resize-height",template:s,align:"Center"}),n.push({id:t+"_resizeHeight",prefixIcon:"e-icons e-clock-wise",tooltipText:this.l10n.getConstant("Height"),align:"Center",type:"Input",template:new A.NumericTextBox({width:75,htmlAttributes:{maxLength:"4"},showSpinButton:!1,value:i?e.aspectHeight:null,placeholder:i?null:r,format:"###.## px"})}),this.isAspectRatio?(n.push({id:t+"_nonaspectratio",prefixIcon:"e-icons e-unlock",align:"Center",tooltipText:this.l10n.getConstant("AspectRatio"),type:"Button"}),this.isAspectRatio=!1):(n.push({id:t+"_aspectratio",prefixIcon:"e-icons e-lock",align:"Center",tooltipText:this.l10n.getConstant("AspectRatio"),type:"Button",tabIndex:0}),this.isAspectRatio=!0),l.Browser.isDevice||(n.push({id:t+"_ok",prefixIcon:"e-icons e-check",cssClass:"top-icon e-tick",tooltipText:this.l10n.getConstant("OK"),align:"Right",tabIndex:0}),n.push({id:t+"_cancel",prefixIcon:"e-icons e-close",cssClass:"top-icon e-save",tooltipText:this.l10n.getConstant("Cancel"),align:"Right"})),n},e.prototype.initResizeToolbar=function(){var e=this,t=this.parent,i=t.element.id,o=this.getLeftToolbarItem(!1,!0),r=this.getRightToolbarItem(),n=this.getResizeToolbarItem(),a=this.getZoomToolbarItem();l.Browser.isDevice?this.defToolbarItems=n:this.defToolbarItems=o.concat(a,n,r);var s={toolbarType:"resize",toolbarItems:this.defToolbarItems};t.trigger("toolbarUpdating",s),this.defToolbarItems=s.toolbarItems;var p=new c.Toolbar({width:"100%",items:this.defToolbarItems,clicked:this.defToolbarClicked.bind(this),created:function(){e.wireResizeBtnEvents(),t.trigger("toolbarCreated",{toolbarType:"shapes"}),l.Browser.isDevice?e.defToolbarItems.length>0&&!(0,l.isNullOrUndefined)(t.element.querySelector("#"+i+"_bottomToolbar"))&&p.refreshOverflow():(e.createLeftToolbarControls(),e.defToolbarItems.length>0&&!(0,l.isNullOrUndefined)(t.element.querySelector("#"+i+"_toolbar"))&&p.refreshOverflow())}});l.Browser.isDevice?p.appendTo(t.element.querySelector("#"+i+"_bottomToolbar")):p.appendTo(t.element.querySelector("#"+i+"_toolbar")),t.isResize=!1,this.enableDisableTbrBtn(),t.isResize=!0,t.notify("transform",{prop:"disableZoomOutBtn",value:{isZoomOut:!0}})},e.prototype.wireResizeBtnEvents=function(){var e=this.parent,t=e.element.id,i=e.element.querySelector("#"+t+"_resizeHeight"),o=e.element.querySelector("#"+t+"_resizeWidth");(0,l.isNullOrUndefined)(i)||(i.addEventListener("keydown",this.widthPress.bind(this)),o.addEventListener("keyup",this.heightAspectRatio.bind(this))),(0,l.isNullOrUndefined)(o)||(o.addEventListener("keydown",this.heightPress.bind(this)),i.addEventListener("keyup",this.widthAspectRatio.bind(this)))},e.prototype.enableDisableTbrBtn=function(){var e=this.parent,t=e.element.id;if(!this.preventEnableDisableUr){var i={appliedUndoRedoColl:[]};e.notify("undo-redo",{prop:"getAppliedUndoRedoColl",value:{obj:i}});var o={undoRedoStep:null};e.notify("undo-redo",{prop:"getUndoRedoStep",value:{obj:o}});var r=e.element.querySelector("#"+t+"_undo");r&&0===o.undoRedoStep?(r.classList.add("e-disabled"),r.parentElement.classList.add("e-overlay")):r&&o.undoRedoStep>0&&(r.classList.remove("e-disabled"),r.parentElement.classList.remove("e-overlay"));var n=e.element.querySelector("#"+t+"_redo");n&&o.undoRedoStep===i.appliedUndoRedoColl.length?(n.classList.add("e-disabled"),n.parentElement.classList.add("e-overlay")):(n&&0===o.undoRedoStep&&i.appliedUndoRedoColl.length>0||n&&o.undoRedoStep>0)&&(n.classList.remove("e-disabled"),n.parentElement.classList.remove("e-overlay"))}var a=e.element.querySelector("#"+t+"_zoomIn");a&&e.zoomSettings.zoomFactor>=e.zoomSettings.maxZoomFactor?(a.classList.add("e-disabled"),a.parentElement.classList.add("e-overlay")):a&&(a.classList.remove("e-disabled"),a.parentElement.classList.remove("e-overlay"));var s=e.element.querySelector("#"+t+"_zoomOut");s&&e.zoomSettings.zoomFactor<=e.zoomSettings.minZoomFactor?(s.classList.add("e-disabled"),s.parentElement.classList.add("e-overlay")):s&&(s.classList.remove("e-disabled"),s.parentElement.classList.remove("e-overlay"));var l=e.element.querySelector("#"+t+"_frame");l&&(e.currSelectionPoint&&"crop-circle"===e.currSelectionPoint.shape||e.isCircleCrop)?l.parentElement.classList.add("e-overlay"):l&&l.parentElement.classList.remove("e-overlay");var p=e.element.querySelector("#"+t+"_aspectratio");p&&(e.currSelectionPoint&&"crop-circle"===e.currSelectionPoint.shape||e.isCircleCrop)?p.parentElement.classList.add("e-overlay"):p&&p.parentElement.classList.remove("e-overlay")},e.prototype.createLeftToolbarControls=function(){var e=this.parent,t=e.element.id;if(void 0!==this.defToolbarItems&&this.defToolbarItems.length>0&&e.element.querySelector("#"+t+"_toolbar")){var i=e.element.querySelector("#"+t+"_toolbar").querySelector(".e-image-upload");if(i){var o=i.getElementsByTagName("input")[0],r=i.getElementsByTagName("button")[0];r.className="e-tbar-btn e-tbtn-txt top-icon",r.innerHTML="",r.title=this.l10n.getConstant("Browse"),r.appendChild(e.createElement("span",{className:"e-btn-icon e-icons e-upload-icon e-icon-left"})),o.onchange=this.fileSelect.bind(this,o)}}},e.prototype.fileSelect=function(e,t){var i=this.parent,o=e.files[0].type.split("/")[1],r=this.parent.getExtensionArray(),n=("jpg"===o||"jpeg"===o)&&(i.uploadSettings.allowedExtensions.indexOf("jpg")>-1||i.uploadSettings.allowedExtensions.indexOf("jpeg")>-1);this.fileName=e.files[0].name.split(".")[0];var a=e.files[0].size;this.parent.notify("toolbar",{prop:"setInitialSize",value:{value:e.files[0].size}}),(r.indexOf(o)>-1||n||o.indexOf("svg")>-1&&r.indexOf("svg")>-1)&&(!this.parent.uploadSettings.minFileSize||a>this.parent.uploadSettings.minFileSize)&&(!this.parent.uploadSettings.maxFileSize||a<this.parent.uploadSettings.maxFileSize)?this.parent.notify("draw",{prop:"fileSelect",value:{inputElement:e,args:t}}):(this.parent.isImageLoaded||(this.destroyTopToolbar(),this.createToolbar(),l.Browser.isDevice&&this.destroyBottomToolbar()),this.parent.showDialogPopup("unsupported",!(r.indexOf(o)>-1||n||o.indexOf("svg")>-1&&r.indexOf("svg")>-1)))},e.prototype.triggerTbarClickEvent=function(e){var t={item:e.item,originalEvent:e.event};this.parent.trigger("toolbarItemClicked",t)},e.prototype.renderAnnotationBtn=function(e){var t=this,i=this.parent,o=!1,r=[],n=i.element.id,a=["Ellipse","Arrow","Line","Rectangle","Pen","Path","Text","Image"];if(i.toolbar)for(var s=0;s<a.length;s++)if(-1!==i.toolbar.indexOf(a[s])){o=!0;break}((0,l.isNullOrUndefined)(i.toolbar)||!o||i.toolbar&&i.toolbar.indexOf("Pen")>-1)&&r.push({text:this.l10n.getConstant("Pen"),id:"pen",iconCss:"e-icons e-free-pen"}),((0,l.isNullOrUndefined)(i.toolbar)||!o||i.toolbar&&i.toolbar.indexOf("Line")>-1)&&r.push({text:this.l10n.getConstant("Line"),id:"line",iconCss:"e-icons e-line"}),((0,l.isNullOrUndefined)(i.toolbar)||!o||i.toolbar&&i.toolbar.indexOf("Rectangle")>-1)&&r.push({text:this.l10n.getConstant("Rectangle"),id:"rectangle",iconCss:"e-icons e-rectangle"}),((0,l.isNullOrUndefined)(i.toolbar)||!o||i.toolbar&&i.toolbar.indexOf("Ellipse")>-1)&&r.push({text:this.l10n.getConstant("Ellipse"),id:"ellipse",iconCss:"e-icons e-circle"}),((0,l.isNullOrUndefined)(i.toolbar)||!o||i.toolbar&&i.toolbar.indexOf("Arrow")>-1)&&r.push({text:this.l10n.getConstant("Arrow"),id:"arrow",iconCss:"e-icons e-arrow-right-up"}),((0,l.isNullOrUndefined)(i.toolbar)||!o||i.toolbar&&i.toolbar.indexOf("Path")>-1)&&r.push({text:this.l10n.getConstant("Path"),id:"path",iconCss:"e-icons e-critical-path"}),((0,l.isNullOrUndefined)(i.toolbar)||!o||i.toolbar&&i.toolbar.indexOf("Text")>-1)&&r.push({text:this.l10n.getConstant("Text"),id:"text",iconCss:"e-icons e-add-text"}),((0,l.isNullOrUndefined)(i.toolbar)||!o||i.toolbar&&i.toolbar.indexOf("Image")>-1)&&r.push({text:this.l10n.getConstant("Image"),id:"image",iconCss:"e-icons e-image"});var p={freehandDrawSelectedId:null};i.notify("freehand-draw",{prop:"getFreehandDrawSelectedId",onPropertyChange:!1,value:{obj:p}});var h=l.Browser.isDevice?"#"+n+"_bottomToolbar #"+n:"#"+n;this.enableDisableCloneBtn(h,p);var c=e?this.getCurrentShapeIcon(i.activeObj.shape):"e-annotation",u=new d.DropDownButton({items:r,iconCss:"e-icons "+c,cssClass:"e-image-popup",open:function(e){(i.currObjType.isFiltered||i.currObjType.isRedact)&&(i.okBtn(),i.element.querySelector("#"+n+"_annotationBtn").click()),l.Browser.isDevice&&(e.element.parentElement.style.top=u.element.getBoundingClientRect().top-e.element.parentElement.offsetHeight+"px"),i.activeObj.shape?document.getElementById(i.activeObj.shape).classList.add("e-selected"):i.togglePen&&document.getElementById("pen").classList.add("e-selected")},select:function(e){i.noPushUndo=!1,t.triggerTbarClickEvent(e),i.okBtn();var o,r=!1;void 0!==i.activeObj.shape&&(o=i.activeObj.shape.split("-")),(void 0===o&&i.currObjType.isCustomCrop||void 0!==o&&"crop"===o[0])&&(r=!0),i.currObjType.isCustomCrop=!1,(r||i.togglePan)&&(i.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),t.upperContext.clearRect(0,0,i.upperCanvas.width,i.upperCanvas.height),t.refreshToolbar("main"));var a={currentFreehandDrawIndex:null};i.notify("freehand-draw",{prop:"getCurrentFreehandDrawIndex",value:{obj:a}});var s,l,p={shapeSettingsObj:{}};u.iconCss="e-icons "+t.getCurrentShapeIcon(e.item.id),i.notify("draw",{prop:"updateTempObjColl"}),i.notify("draw",{prop:"updateTempPointColl"});var d={penStrokeWidth:2};switch(e.item.id){case"pen":i.notify("freehand-draw",{prop:"getPenStrokeWidth",onPropertyChange:!1,value:{obj:d}}),i.notify("draw",{prop:"setTempStrokeWidth",value:{strokeWidth:d.penStrokeWidth}}),i.drawingShape=null,i.notify("draw",{prop:"setTempFreehandCounter",value:{tempFreehandCounter:i.freehandCounter}}),i.notify("draw",{prop:"setTempCurrentFreehandDrawIndex",value:{tempCurrentFreehandDrawIndex:a.currentFreehandDrawIndex}}),t.currentToolbar="pen",i.freeHandDraw(!0),i.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:p}}),s=p.shapeSettingsObj,i.notify("freehand-draw",{prop:"getPenStrokeWidth",onPropertyChange:!1,value:{obj:d}}),s.strokeWidth=d.penStrokeWidth,s.type=C.FreehandDraw,l={cancel:!1,action:"insert",previousShapeSettings:s,currentShapeSettings:s},i.notify("freehand-draw",{prop:"triggerShapeChanging",value:{shapeChangingArgs:l}});break;case"text":t.currentToolbar="text",i.drawingShape=e.item.id,t.currentToolbar="text",t.setInitialShapeSettings(e),i.notify("selection",{prop:"annotate",value:{shape:e.item.id}}),i.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"text",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}});break;case"image":i.drawingShape=null,t.currentToolbar="shapes",i.element.querySelector("#"+n+"_fileUpload").click();break;case"ellipse":case"arrow":case"line":case"rectangle":case"path":i.drawingShape=e.item.id,t.currentToolbar="shapes",t.setInitialShapeSettings(e),i.notify("selection",{prop:"annotate",value:{shape:e.item.id}}),i.notify("toolbar",{prop:"refresh-toolbar",onPropertyChange:!1,value:{type:"shapes",isApplyBtn:null,isCropping:null,isZooming:null,cType:null}}),i.notify("selection",{prop:"updatePrevShapeSettings",onPropertyChange:!1,value:{obj:p}}),l={cancel:!1,action:"insert",previousShapeSettings:s=p.shapeSettingsObj,currentShapeSettings:s,allowShapeOverflow:-1===["ellipse","rectangle","text","image"].indexOf(t.parent.activeObj.shape)},i.trigger("shapeChanging",l),i.editCompleteArgs=l,i.notify("shape",{prop:"updateShapeChangeEventArgs",value:{shapeSettings:l.currentShapeSettings}})}t.updateToolbarItems();var h=i.togglePen;"pen"===e.item.id&&(i.togglePen=!1),i.notify("draw",{prop:"redrawDownScale"}),i.togglePen=h}});u.appendTo(i.element.querySelector("#"+n+"_annotationBtn"))},e.prototype.enableDisableCloneBtn=function(e,t){var i=this.parent,o=!1,r=Math.floor(i.activeObj.activePoint.width);i.activeObj.shape&&"text"===i.activeObj.shape&&11===i.activeObj.textSettings.fontSize&&(55===r||i.activeObj.textSettings.bold&&58===r)&&11===Math.floor(i.activeObj.activePoint.height)&&(o=!0);var n=i.element.querySelector(e+"_duplicate"),a=i.element.querySelector(e+"_remove"),s=i.element.querySelector(e+"_editText"),p=i.element.querySelector(e+"_zOrderBtn");o||0===i.activeObj.activePoint.width&&0===i.activeObj.activePoint.height&&((0,l.isNullOrUndefined)(i.activeObj.pointColl)||i.activeObj.pointColl&&0===i.activeObj.pointColl.length)&&(0,l.isNullOrUndefined)(t.freehandDrawSelectedId)?(n&&n.parentElement.classList.add("e-overlay"),a&&a.parentElement.classList.add("e-overlay"),s&&s.parentElement.classList.add("e-overlay"),p&&p.parentElement.classList.add("e-overlay")):(n&&n.parentElement.classList.remove("e-overlay"),a&&a.parentElement.classList.remove("e-overlay"),s&&s.parentElement.classList.remove("e-overlay"),p&&p.parentElement.classList.remove("e-overlay")),p&&(0===i.shapeColl.length||t.freehandDrawSelectedId&&1===i.shapeColl.length)&&p.parentElement.classList.add("e-overlay")},e.prototype.renderStraightenSlider=function(){var e=this.parent,t=e.element.id;if(((0,l.isNullOrUndefined)(e.toolbar)||e.toolbar&&e.toolbar.indexOf("Straightening")>-1)&&e.element.querySelector("#"+t+"_straightenSlider")){var i=this.createSlider(-45,45,e.cropObj.straighten,"straighten");i.appendTo(e.element.querySelector("#"+t+"_straightenSlider"));var o=i.element.querySelector(".e-handle");o&&!l.Browser.isDevice&&(o.addEventListener("mousedown",function(e){e.preventDefault(),e.stopPropagation()}),o.addEventListener("touchstart",function(e){e.preventDefault(),e.stopPropagation()}))}},e.prototype.renderCropBtn=function(e){var t,i,o=this,r=this.parent,n=[],a=!1,s=["CustomSelection","CircleSelection","SquareSelection","RatioSelection"];if(r.toolbar)for(var p=0;p<s.length;p++)if(-1!==r.toolbar.indexOf(s[p])){a=!0;break}((0,l.isNullOrUndefined)(r.toolbar)||!a||r.toolbar&&r.toolbar.indexOf("CustomSelection")>-1)&&n.push({text:this.l10n.getConstant("Custom"),id:"custom",iconCss:"e-icons e-custom"}),((0,l.isNullOrUndefined)(r.toolbar)||!a||r.toolbar&&r.toolbar.indexOf("CircleSelection")>-1)&&n.push({text:this.l10n.getConstant("Circle"),id:"circle",iconCss:"e-icons e-circle"}),((0,l.isNullOrUndefined)(r.toolbar)||!a||r.toolbar&&r.toolbar.indexOf("SquareSelection")>-1)&&n.push({text:this.l10n.getConstant("Square"),id:"square",iconCss:"e-icons e-square"}),((0,l.isNullOrUndefined)(r.toolbar)||!a||r.toolbar&&r.toolbar.indexOf("RatioSelection")>-1)&&(n.push({text:"2:3",id:"2:3",iconCss:"e-icons e-custom-f"}),n.push({text:"3:2",id:"3:2",iconCss:"e-icons e-custom-a"}),n.push({text:"3:4",id:"3:4",iconCss:"e-icons e-custom-g"}),n.push({text:"4:3",id:"4:3",iconCss:"e-icons e-custom-b"}),n.push({text:"4:5",id:"4:5",iconCss:"e-icons e-custom-h"}),n.push({text:"5:4",id:"5:4",iconCss:"e-icons e-custom-c"}),n.push({text:"5:7",id:"5:7",iconCss:"e-icons e-custom-i"}),n.push({text:"7:5",id:"7:5",iconCss:"e-icons e-custom-d"}),n.push({text:"9:16",id:"9:16",iconCss:"e-icons e-custom-j"}),n.push({text:"16:9",id:"16:9",iconCss:"e-icons e-custom-e"})),e?(t=this.getCurrentShapeIcon(e),i=e):r.activeObj.shape&&(0!==r.activeObj.activePoint.width||0!==r.activeObj.activePoint.height)||"path"===r.activeObj.shape&&r.activeObj.pointColl.length>0?(t=this.getCurrentShapeIcon(r.activeObj.shape),i=r.activeObj.shape):r.currSelectionPoint?(t=this.getCurrentShapeIcon(r.currSelectionPoint.shape),i=r.currSelectionPoint.shape):(t=n[0].iconCss,i=n[0].id);var h=new d.DropDownButton({open:function(e){if(r.togglePan&&o.cancelPan(),l.Browser.isDevice&&(e.element.parentElement.style.top=h.element.getBoundingClientRect().top-e.element.parentElement.offsetHeight+"px"),r.activeObj.shape&&r.activeObj.shape.split("-").length>1){var t=document.getElementById(r.activeObj.shape.split("-")[1]);t&&(t.classList.add("e-selected"),t.focus())}r.notify("transform",{prop:"disableZoomOutBtn",value:{isZoomOut:!0}})},items:n,select:function(e){o.triggerTbarClickEvent(e),o.cropSelect(e),h.iconCss="e-icons "+o.getCurrentShapeIcon("crop-"+e.item.id),h.content=l.Browser.isDevice?null:r.toPascalCase(e.item.id)},iconCss:"e-icons "+t,cssClass:"e-image-popup e-ie-crop-ddb-popup",content:l.Browser.isDevice?null:r.toPascalCase(i.replace("crop-",""))});h.appendTo(r.element.querySelector("#"+r.element.id+"_cropBtn"))},e.prototype.renderTransformBtn=function(){var e=this,t=this.parent,i=[];((0,l.isNullOrUndefined)(t.toolbar)||t.toolbar&&t.toolbar.indexOf("RotateLeft")>-1)&&i.push({text:this.l10n.getConstant("RotateLeft"),id:"rotateleft",iconCss:"e-icons e-anti-clock-wise"}),((0,l.isNullOrUndefined)(t.toolbar)||t.toolbar&&t.toolbar.indexOf("RotateRight")>-1)&&i.push({text:this.l10n.getConstant("RotateRight"),id:"rotateright",iconCss:"e-icons e-clock-wise"}),((0,l.isNullOrUndefined)(t.toolbar)||t.toolbar&&t.toolbar.indexOf("FlipHorizontal")>-1)&&i.push({text:this.l10n.getConstant("HorizontalFlip"),id:"horizontalflip",iconCss:"e-icons e-horizontal-flip"}),((0,l.isNullOrUndefined)(t.toolbar)||t.toolbar&&t.toolbar.indexOf("FlipVertical")>-1)&&i.push({text:this.l10n.getConstant("VerticalFlip"),id:"verticalflip",iconCss:"e-icons e-vertical-flip"});var o=new d.DropDownButton({open:function(e){if(l.Browser.isDevice){var t=e.element.parentElement,i=t.offsetHeight;t.style.display="none",t.style.top=o.element.getBoundingClientRect().top-i+"px",t.style.display="block"}},items:i,select:function(i){e.triggerTbarClickEvent(i),t.transformSelect.bind(e)},iconCss:"e-icons e-transform",cssClass:"e-image-popup"});o.appendTo(document.querySelector("#"+t.element.id+"_transformBtn"))},e.prototype.saveDialogPopup=function(){var e=this,t=this.parent,i=t.element.id;t.element.appendChild(t.createElement("div",{id:i+"_saveDialog"}));var o=t.createElement("div",{id:i+"_dialogContent"});o.style.display="flex";var r=o.appendChild(t.createElement("div",{id:i+"_dialogImgContent",className:"e-ie-dlg-img-content"}));r.appendChild(t.createElement("canvas",{id:i+"_imgPic",className:"e-ie-img-dlg-canvas"})),r.appendChild(t.createElement("div",{id:i+"_imageNameContainer",className:"e-ie-img-size"})).appendChild(t.createElement("span",{id:i+"_imageNameLabel",className:"e-ie-quality-info"}));var n=o.appendChild(t.createElement("div",{id:i+"_dialogRightContent",className:"e-ie-dlg-right-content"})),a=n.appendChild(t.createElement("div",{id:i+"_namediv",className:"e-ie-img-save-name"}));a.appendChild(t.createElement("span",{id:i+"_labelImgname",className:"e-ie-img-label-name",innerHTML:this.l10n.getConstant("ImageName")})),a.appendChild(t.createElement("input",{id:i+"_imgNametext",className:"e-ie-img-input",attrs:{type:"text"}}));var s=n.appendChild(t.createElement("div",{id:i+"_imgNamediv",className:"e-ie-img-save-dlg"}));s.appendChild(t.createElement("span",{id:i+"_labelname",className:"e-ie-img-label-name",innerHTML:this.l10n.getConstant("Format")})),s.appendChild(t.createElement("button",{id:i+"_saveDropdownbtn",attrs:{tabindex:"1"}}));var p=n.appendChild(t.createElement("div",{id:i+"_imgQualitydiv",className:"e-ie-img-quality-name"})),d=t.createElement("div",{id:i+"_qualityContainer"});d.appendChild(t.createElement("span",{id:i+"_qualityLabel",className:"e-ie-img-quality-label",innerHTML:this.l10n.getConstant("Quality")})),d.appendChild(t.createElement("span",{id:i+"_qualityInfo",className:"e-circle-info e-icons e-ie-quality-span",attrs:{title:this.l10n.getConstant("QualityInfo")}})),d.appendChild(t.createElement("div",{id:i+"_imgsizeSpan",className:"e-ie-img-size-value-span"})).appendChild(t.createElement("span",{id:i+"_imgsizeValueSpan",className:""})),p.appendChild(d);var h=t.createElement("div",{id:i+"_qualityOptionContainer",className:"e-ie-quality-option-container"}),c=p.appendChild(t.createElement("div",{id:i+"_qualityButtonGroup",className:"e-btn-group"}));["Good","Great","Highest"].forEach(function(o){var r=t.createElement("input");r.type="radio",r.id=i+"_"+o.toLowerCase(),r.name="quality",r.value=o.toLowerCase();var n=t.createElement("label");n.className="e-btn",n.htmlFor=o.toLowerCase(),n.textContent=e.l10n.getConstant(o),c.appendChild(r),c.appendChild(n)}),h.appendChild(c),h.appendChild(t.createElement("div",{id:i+"_qualitySlider",className:"e-ie-img-quality-slider"})),h.appendChild(t.createElement("button",{id:i+"_qualitybuttonIcon",className:"e-ie-img-icon-button",attrs:{type:"button"}})),p.appendChild(h),l.Browser.isDevice&&n.appendChild(t.createElement("span",{id:i+"_qualitySize",className:"e-ie-img-quality-size"})),t.element.querySelector("#"+i+"_saveDialog").style.display="block",t.element.appendChild(o);var u=new I.Dialog({target:t.element,header:this.l10n.getConstant("SaveAs"),closeOnEscape:!0,content:t.element.querySelector("#"+i+"_dialogContent"),width:l.Browser.isDevice?"345px":"570px",isModal:!0,animationSettings:{effect:"Zoom"},beforeOpen:this.onBeforeopen(),close:this.saveDialogClosed.bind(this,i),cssClass:"e-ie-save-dialog",buttons:[{click:function(){u.hide()},buttonModel:{content:this.l10n.getConstant("Close"),cssClass:"e-save-cancel-btn"}},{click:function(){e.download(),u.hide(),e.isSlider=!1},buttonModel:{isPrimary:!0,content:this.l10n.getConstant("Download"),cssClass:"e-flat e-save-download-btn"}}]});u.appendTo(t.element.querySelector("#"+i+"_saveDialog")),this.updateSavePreviewImage()},e.prototype.updateSavePreviewImage=function(){var e=this.parent,t=e.element.id,i=e.element.querySelector("#"+t+"_saveDialog");if(!l.Browser.isDevice&&i){var o=.35*i.offsetWidth,r=parseInt(i.style.maxHeight,10)-i.querySelector(".e-dlg-header-content").offsetHeight-i.querySelector(".e-footer-content").offsetHeight-20-2*parseInt(window.getComputedStyle(i.querySelector("#"+t+"_saveDialog_dialog-content")).padding,10),n=e.element.querySelector("#"+t+"_imgPic"),a=n.width,s=n.height,p=o/a,d=r/s,h=Math.min(a,o),c=Math.min(s,r);p<1&&p<d?(h=a*p,c=s*p):d<1&&d<p&&(h=a*d,c=s*d);var u={canvas:null};e.notify("export",{prop:"exportToCanvas",value:{object:u}});var v=n.getContext("2d");v.clearRect(0,0,n.width,n.height),n.width=h,n.height=c;var g=u.canvas;v.imageSmoothingQuality="medium",v.drawImage(g,0,0,g.width,g.height,0,0,h,c)}},e.prototype.saveDialogClosed=function(e){var t=this.parent;(0,l.getComponent)(t.element.querySelector("#"+e+"_saveDropdownbtn"),"dropdownbutton")&&(0,l.getComponent)(t.element.querySelector("#"+e+"_saveDropdownbtn"),"dropdownbutton").destroy(),this.isSlider=!1,t.element.querySelector("#"+e+"_qualityButtonGroup")&&t.element.querySelector("#"+e+"_qualitySlider")&&(t.element.querySelector("#"+e+"_qualityButtonGroup").remove(),t.element.querySelector("#"+e+"_qualitySlider").remove(),t.element.querySelector("#"+e+"_imgsizeValueSpan").remove(),t.element.querySelector("#"+e+"_imageNameLabel").remove(),t.element.querySelector("#"+e+"_imgsizeSpan").remove()),t.element.querySelector("#"+e+"_dialogContent").remove(),(0,l.getComponent)(t.element.querySelector("#"+e+"_saveDialog"),"dialog").destroy(),t.element.querySelector("#"+e+"_saveDialog").remove()},e.prototype.onBeforeopen=function(){var e=this,t=this.parent,i=t.element.id,o={canvas:null};new A.TextBox({placeholder:this.l10n.getConstant("ImageName")}).appendTo(t.element.querySelector("#"+i+"_imgNametext"));var r,n=t.element.querySelector("#"+i+"_imgQualitydiv"),a=t.element.querySelector("#"+i+"_qualitySlider"),s=t.element.querySelector("#"+i+"_qualityButtonGroup"),h=t.element.querySelector("#"+i+"_qualitybuttonIcon"),c=t.element.querySelector("#"+i+"_imgsizeSpan");r=l.Browser.isDevice?t.element.querySelector("#"+i+"_qualitySize"):t.element.querySelector("#"+i+"_imageNameLabel");var u={fileName:"",fileType:""};t.notify("draw",{prop:"getFileName",onPropertyChange:!1,value:{obj:u}}),this.fileType=u.fileType?u.fileType:"JPEG",t.notify("export",{prop:"exportToCanvas",value:{object:o}});var v=o.canvas,g=t.element.querySelector("#"+i+"_imgPic");g.width=v.width,g.height=v.height,new p.Button({iconCss:"e-icons e-settings"}).appendTo(t.element.querySelector("#"+i+"_qualitybuttonIcon"));var f=t.element.querySelector("#"+i+"_saveDropdownbtn");if(f){var m=t.createElement("span");m.innerHTML="Webp"===this.fileType?"Webp":this.fileType.toUpperCase(),f&&f.appendChild(m);var b=new d.DropDownButton({items:[{id:"jpeg",text:"JPEG"},{id:"png",text:"PNG"},{id:"svg",text:"SVG"},{id:"webp",text:"WebP"}],open:function(e){l.Browser.isDevice&&(e.element.parentElement.style.top=b.element.getBoundingClientRect().top-e.element.parentElement.offsetHeight+"px");var t=m.innerHTML;""!==t&&e.element.querySelector('[aria-label = "'+t+'"]').classList.add("e-selected-btn")},select:function(t){c.style.display="none",e.fileType=m.innerHTML=t.item.text,"jpeg"!==t.item.id?(n.style.display="none",r.style.display="block",e.updateImageSize(1,o.canvas,e.fileType),a&&(e.isSlider&&(0,l.getComponent)(a,"slider").destroy(),a.style.display="none"),e.isSlider=!1):(n.style.display="block",(0,l.removeClass)([s],"e-hide"),a.style.display="none",r.style.display="block",e.updateImageSize((0,l.isNullOrUndefined)(e.currentQuality)?1:e.currentQuality,o.canvas,e.fileType),document.getElementById(i+"_"+e.imageQuality).checked=!0),e.updateSavePreviewImage()}});b.appendTo(t.element.querySelector("#"+i+"_saveDropdownbtn")),t.element.querySelector("#"+i+"_imgNametext").value=this.fileName?this.fileName:u.fileName,u.fileType&&"JPEG"!==u.fileType.toUpperCase()&&(n.style.display="none",c.style.display="none"),l.Browser.isDevice?(t.element.querySelector("#"+i+"_dialogImgContent").style.display="none",t.element.querySelector("#"+i+"_dialogRightContent").style.width="100%",this.updateImageSize(1,o.canvas,this.fileType)):this.updateImageSize(1,o.canvas,this.fileType)}document.getElementById(i+"_"+this.imageQuality).checked=!0,s.addEventListener("click",this.qualityBtnClickHandler.bind(this)),h.addEventListener("click",this.qualityBtnClickHandler.bind(this))},e.prototype.qualityBtnClickHandler=function(e){var t=this,i=this.parent,o=i.element.id,r=e.target,n={canvas:null},a={Good:.8,Great:.9,Highest:1},s=i.element.querySelector("#"+o+"_qualityButtonGroup"),p=i.element.querySelector("#"+o+"_qualitySlider"),d=i.element.querySelector("#"+o+"_qualityOptionContainer"),h=i.element.querySelector("#"+o+"_imgsizeSpan"),c=i.element.querySelector("#"+o+"_imgsizeValueSpan");if(i.notify("draw",{prop:"getFileName",onPropertyChange:!1,value:{obj:{fileName:""}}}),i.notify("export",{prop:"exportToCanvas",value:{object:n}}),e.currentTarget.id!==o+"_qualitybuttonIcon"||this.isSlider)e.currentTarget.id===o+"_qualitybuttonIcon"&&this.isSlider?((0,l.getComponent)(p,"slider").destroy(),p.style.display="none",h.style.display="none",(0,l.removeClass)([s],"e-hide"),d.style.display="block",this.isSlider=!1):a.hasOwnProperty(r.textContent)&&!this.isSlider&&(e.target.previousElementSibling.checked=!0,this.currentQuality=a[r.textContent],this.imageQuality=r.textContent.toLowerCase(),this.updateImageSize(a[r.textContent],n.canvas,"jpeg"),this.updateSavePreviewImage());else{(0,l.addClass)([s],"e-hide"),p.style.display="block",h.style.display="inline-block",d.style.display="flex";var u=new A.Slider({tooltip:{placement:"Before",isVisible:!0,format:"P0",showOn:"Focus"},min:.01,max:1,step:.01,value:this.currentQuality,type:"MinRange",width:l.Browser.isDevice?"80%":"190px",created:function(){t.updateImageSize(t.currentQuality,n.canvas,"jpeg"),c.innerHTML=Math.round(100*t.currentQuality).toString(),t.updateSavePreviewImage()},changed:function(e){t.currentQuality=e.value,c.innerHTML=Math.round(100*t.currentQuality).toString(),i.notify("export",{prop:"setImageQuality",value:{value:e.value}}),t.updateImageSize(e.value,n.canvas,"jpeg"),t.updateSavePreviewImage()}});u.appendTo(i.element.querySelector("#"+o+"_qualitySlider")),u.element.parentElement.classList.add("e-ie-quality-slider"),this.isSlider=!0}},e.prototype.updateImageSize=function(e,t,i){var o,r,n=this.parent,a=n.element.id,s=n.element.querySelector("#"+a+"_imgPic"),p=s.getContext("2d");r=l.Browser.isDevice?n.element.querySelector("#"+a+"_qualitySize"):n.element.querySelector("#"+a+"_imageNameLabel");var d=n.imageSmoothingEnabled;if(p.canvas.getContext("2d").imageSmoothingQuality=d?"high":"low","jpeg"===i.toLowerCase())p.clearRect(0,0,s.width,s.height),p.drawImage(t,0,0),t.toBlob(function(e){if((o=Math.floor(e.size/1024))>1e3){var t=o/1024;r.innerHTML=this.l10n.getConstant("ImageSize")+": "+t.toFixed(2)+" MB",o=+t.toFixed(2)}else r.innerHTML=this.l10n.getConstant("ImageSize")+": "+o.toFixed(2)+" KB",o=+o.toFixed(2);l.Browser.isDevice&&(s.style.display="none"),this.fileSize=o}.bind(this),"image/jpeg",e);else if((0,l.isNullOrUndefined)(i)||"png"!==i.toLowerCase()&&"webp"!==i.toLowerCase())if((0,l.isNullOrUndefined)(i)||"svg"!==i.toLowerCase())if(l.Browser.isDevice)s.style.display="none";else if(p.clearRect(0,0,s.width,s.height),p.drawImage(t,0,0),this.initialSize>1e3){u=this.initialSize/1048576;r.innerHTML=this.l10n.getConstant("ImageSize")+": "+u.toFixed(2)+" MB"}else r.innerHTML=this.l10n.getConstant("ImageSize")+": "+this.initialSize.toFixed(2)+" KB";else{p.clearRect(0,0,s.width,s.height),p.drawImage(t,0,0);var h=t.toDataURL("image/svg+xml").split(",")[1].length,c=Math.floor(h/1024);if(c>1e3){var u=c/1024;r.innerHTML=this.l10n.getConstant("ImageSize")+": "+u.toFixed(2)+" MB",c=+u.toFixed(2)}else r.innerHTML=this.l10n.getConstant("ImageSize")+": "+c.toFixed(2)+" KB",c=+c.toFixed(2);l.Browser.isDevice&&(s.style.display="none"),this.fileSize=c}else{var v="image/"+i.toLowerCase();p.clearRect(0,0,s.width,s.height),p.drawImage(t,0,0),t.toBlob(function(e){if((o=Math.floor(e.size/1024))>1e3){var t=o/1024;r.innerHTML=this.l10n.getConstant("ImageSize")+": "+t.toFixed(2)+" MB",o=+t.toFixed(2)}else r.innerHTML=this.l10n.getConstant("ImageSize")+": "+o.toFixed(2)+" KB",o=+o.toFixed(2);l.Browser.isDevice&&(s.style.display="none"),this.fileSize=o}.bind(this),v,1)}},e.prototype.download=function(){var e=this.parent,t=e.element.id;if("JPEG"===this.fileType&&this.isSlider){var i=(0,l.getComponent)(e.element.querySelector("#"+t+"_qualitySlider"),"slider").value;e.notify("export",{prop:"setImageQuality",value:{value:i}})}else e.notify("export",{prop:"setImageQuality",value:{value:this.currentQuality}});var o=e.element.querySelector("#"+t+"_imgNametext").value;e.export(this.fileType,o)},e.prototype.getCropTransformToolbarItem=function(){var e=this.parent,t=e.element.id,i=[];if(i.push({id:t+"_crop",tooltipText:this.l10n.getConstant("CropSelection"),align:"Center",template:'<button id="'+t+'_cropBtn"></button>'}),i.push({align:"Center",type:"Separator"}),((0,l.isNullOrUndefined)(e.toolbar)||e.toolbar&&(e.toolbar.indexOf("Transform")>-1||e.toolbar.indexOf("RotateLeft")>-1))&&i.push({id:t+"_rotateLeft",prefixIcon:"e-icons e-anti-clock-wise",tooltipText:this.l10n.getConstant("RotateLeft"),align:"Center"}),((0,l.isNullOrUndefined)(e.toolbar)||e.toolbar&&(e.toolbar.indexOf("Transform")>-1||e.toolbar.indexOf("RotateRight")>-1))&&i.push({id:t+"_rotateRight",prefixIcon:"e-icons e-clock-wise",tooltipText:this.l10n.getConstant("RotateRight"),align:"Center"}),i.length>2&&i.push({align:"Center",type:"Separator"}),((0,l.isNullOrUndefined)(e.toolbar)||e.toolbar&&(e.toolbar.indexOf("Transform")>-1||e.toolbar.indexOf("HorizontalFlip")>-1))&&i.push({id:t+"_horizontalFlip",prefixIcon:"e-icons e-horizontal-flip",tooltipText:this.l10n.getConstant("HorizontalFlip"),align:"Center"}),((0,l.isNullOrUndefined)(e.toolbar)||e.toolbar&&(e.toolbar.indexOf("Transform")>-1||e.toolbar.indexOf("VerticalFlip")>-1))&&i.push({id:t+"_verticalFlip",prefixIcon:"e-icons e-vertical-flip",tooltipText:this.l10n.getConstant("VerticalFlip"),align:"Center"}),((0,l.isNullOrUndefined)(e.toolbar)||e.toolbar&&e.toolbar.indexOf("Straightening")>-1)&&!l.Browser.isDevice&&(i.push({align:"Center",type:"Separator"}),(0,l.isNullOrUndefined)(e.toolbar)||e.toolbar&&e.toolbar.indexOf("Straightening")>-1)){var o=e.createElement("span");o.innerHTML=this.l10n.getConstant("Straighten"),i.push({id:t+"_straightenSpan",cssClass:"e-ie-straighten-span",template:o,align:"Center"}),i.push({id:t+"_straighten",cssClass:"top-icon e-straighten",tooltipText:this.l10n.getConstant("Straighten"),align:"Center",type:"Input",template:'<div id="'+t+'_straightenSlider"></div>'});var r=e.createElement("span");r.innerHTML=e.transform.straighten.toString()+"&#176",i.push({id:t+"_straightenSpan",cssClass:"e-ie-straighten-value-span",template:r,align:"Center"})}return l.Browser.isDevice||(i.push({id:t+"_ok",prefixIcon:"e-icons e-check",cssClass:"top-icon e-tick",tooltipText:this.l10n.getConstant("OK"),align:"Right",tabIndex:0}),i.push({id:t+"_cancel",prefixIcon:"e-icons e-close",cssClass:"top-icon e-save",tooltipText:this.l10n.getConstant("Cancel"),align:"Right"})),i},e.prototype.getShapesToolbarItem=function(e){var t=this.parent,i=t.element.id,o=[];((0,l.isNullOrUndefined)(t.toolbar)||t.toolbar)&&o.push({id:i+"_annotation",tooltipText:this.l10n.getConstant("Annotation"),align:"Center",template:'<button id="'+i+'_annotationBtn"></button>'}),e.indexOf("fillColor")>-1&&o.push({prefixIcon:"e-icons e-copy",id:i+"_fillcolor",cssClass:"top-icon e-fill",tooltipText:this.l10n.getConstant("FillColor"),align:"Center",type:"Input",template:'<button id="'+i+'_fillColorBtn"></button>'}),e.indexOf("strokeColor")>-1&&o.push({prefixIcon:"e-icons e-copy",id:i+"_strokecolor",cssClass:"top-icon e-stroke",tooltipText:this.l10n.getConstant("StrokeColor"),align:"Center",type:"Input",template:'<button id="'+i+'_borderColorBtn"></button>'}),e.indexOf("strokeWidth")>-1&&o.push({id:i+"_strokeWidth",cssClass:"top-icon e-size",tooltipText:this.l10n.getConstant("StrokeWidth"),align:"Center",type:"Input",template:'<button id="'+i+'_borderWidthBtn"></button>'}),e.indexOf("start")>-1&&o.push({id:i+"_start",cssClass:"top-icon e-size",tooltipText:this.l10n.getConstant("Start"),align:"Center",type:"Input",template:'<button id="'+i+'_startBtn"></button>'}),e.indexOf("borderRadius")>-1&&o.push({id:i+"_rectangleRadius",cssClass:"top-icon e-size",tooltipText:this.l10n.getConstant("BorderRadius"),align:"Center",type:"Input",template:'<button id="'+i+'_rectangleRadiusBtn"></button>'}),e.indexOf("end")>-1&&o.push({id:i+"_end",cssClass:"top-icon e-size",tooltipText:this.l10n.getConstant("End"),align:"Center",type:"Input",template:'<button id="'+i+'_endBtn"></button>'}),e.indexOf("flip")>-1&&(o.push({id:i+"_rotLeft",prefixIcon:"e-anti-clock-wise",tooltipText:this.l10n.getConstant("RotateLeft"),align:"Center"}),o.push({id:i+"_rotRight",prefixIcon:"e-clock-wise",tooltipText:this.l10n.getConstant("RotateRight"),align:"Center"}),o.push({id:i+"_hFlip",prefixIcon:"e-horizontal-flip",tooltipText:this.l10n.getConstant("HorizontalFlip"),align:"Center"}),o.push({id:i+"_vFlip",prefixIcon:"e-vertical-flip",tooltipText:this.l10n.getConstant("VerticalFlip"),align:"Center"})),e.indexOf("transparency")>-1&&(o.push({align:"Center",type:"Separator"}),o.push({id:i+"_transparency",prefixIcon:"e-opacity",tooltipText:this.l10n.getConstant("Opacity"),align:"Center"})),o.push({align:"Center",type:"Separator"}),e.indexOf("z-order")>-1&&o.push({id:i+"_zOrder",cssClass:"top-icon e-list-unordered-3",tooltipText:this.l10n.getConstant("ZOrder"),align:"Center",type:"Input",template:'<button id="'+i+'_zOrderBtn"></button>'}),e.indexOf("duplicate")>-1&&o.push({id:i+"_duplicate",prefixIcon:"e-icons e-order",cssClass:"top-icon e-order",tooltipText:this.l10n.getConstant("Duplicate"),align:"Center"}),e.indexOf("remove")>-1&&o.push({id:i+"_remove",prefixIcon:"e-icons e-trash",cssClass:"top-icon e-trash",tooltipText:this.l10n.getConstant("Remove"),align:"Center"}),e.indexOf("text")>-1&&o.push({id:i+"_editText",prefixIcon:"e-icons e-annotation-edit",cssClass:"top-icon e-annotation-edit",tooltipText:this.l10n.getConstant("EditText"),align:"Center"});for(var r=this.processSubToolbar(e),n=0,a=r.length;n<a;n++)o.push(r[n]);if(!l.Browser.isDevice){var s={shape:null};t.notify("selection",{prop:"getCurrentDrawingShape",value:{obj:s}}),"path"===s.shape?o.push({id:i+"_ok",prefixIcon:"e-icons e-check",cssClass:"top-icon e-tick",tooltipText:this.l10n.getConstant("OK"),align:"Right",tabIndex:0,disabled:!0}):o.push({id:i+"_ok",prefixIcon:"e-icons e-check",cssClass:"top-icon e-tick",tooltipText:this.l10n.getConstant("OK"),align:"Right",tabIndex:0}),o.push({id:i+"_cancel",prefixIcon:"e-icons e-close",cssClass:"top-icon e-save",tooltipText:this.l10n.getConstant("Cancel"),align:"Right"})}return o},e.prototype.initCropTransformToolbar=function(e,t){var i=this,o=this.parent,r=o.element.id,n=this.getLeftToolbarItem(),a=this.getRightToolbarItem(),s=this.getCropTransformToolbarItem(),p=this.getZoomToolbarItem();l.Browser.isDevice?this.defToolbarItems=s:this.defToolbarItems=n.concat(p,s,a);var d={toolbarType:"crop-transform",toolbarItems:this.defToolbarItems};o.trigger("toolbarUpdating",d),this.defToolbarItems=d.toolbarItems;var h=new c.Toolbar({width:"100%",items:this.defToolbarItems,clicked:this.defToolbarClicked.bind(this),created:function(){i.renderCropBtn(e),i.renderStraightenSlider(),i.wireZoomBtnEvents(),o.trigger("toolbarCreated",{toolbarType:"shapes"}),l.Browser.isDevice?i.defToolbarItems.length>0&&o.element.querySelector("#"+r+"_bottomToolbar")&&(h.refreshOverflow(),h.refreshOverflow(),h.refreshOverflow()):(i.createLeftToolbarControls(),i.defToolbarItems.length>0&&o.element.querySelector("#"+r+"_toolbar")&&h.refreshOverflow()),o.element.querySelector("#"+r+"_cropBtn")&&(0,l.isNullOrUndefined)(t)&&(l.Browser.isDevice||o.notify("draw",{prop:"select",onPropertyChange:!1,value:{type:i.getCropTextContent(o.element.querySelector("#"+r+"_cropBtn")).toLowerCase(),startX:null,startY:null,width:null,height:null}}))}});l.Browser.isDevice?h.appendTo(o.element.querySelector("#"+r+"_bottomToolbar")):h.appendTo(o.element.querySelector("#"+r+"_toolbar"));var u=o.element.querySelector("#"+r+"_straightenSlider");((0,l.isNullOrUndefined)(o.toolbar)||o.toolbar&&o.toolbar.indexOf("Straightening")>-1)&&u&&u.parentElement.clientHeight>this.toolbarHeight&&(this.toolbarHeight=o.toolbarHeight=u.parentElement.clientHeight),this.enableDisableTbrBtn(),o.notify("transform",{prop:"disableZoomOutBtn",value:{isZoomOut:!0}})},e.prototype.getCropTextContent=function(e){if(e){var t={"e-custom":"Custom","e-circle":"Circle","e-square":"Square","e-custom-a":"3:2","e-custom-b":"4:3","e-custom-c":"5:4","e-custom-d":"7:5","e-custom-e":"16:9","e-custom-f":"2:3","e-custom-g":"3:4","e-custom-h":"4:5","e-custom-i":"5:7","e-custom-j":"9:16"},i=e.children[0].classList;for(var o in t)if(i.contains(o))return t[o]}return""},e.prototype.getCurrentShapeIcon=function(e){var t={rectangle:"e-rectangle",ellipse:"e-circle",line:"e-line",arrow:"e-arrow-right-up",path:"e-critical-path",text:"e-add-text",image:"e-image",pen:"e-free-pen","crop-custom":"e-custom","crop-circle":"e-circle","crop-square":"e-square","crop-3:2":"e-custom-a","crop-4:3":"e-custom-b","crop-5:4":"e-custom-c","crop-7:5":"e-custom-d","crop-16:9":"e-custom-e","crop-2:3":"e-custom-f","crop-3:4":"e-custom-g","crop-4:5":"e-custom-h","crop-5:7":"e-custom-i","crop-9:16":"e-custom-j"};return t[e]?t[e]:e&&-1!==e.indexOf("crop-")?"e-custom":"e-free-pen"},e.prototype.initShapesToolbarItem=function(e){var t=this,i=this.parent,o=i.element.id,r=this.getLeftToolbarItem(),n=this.getRightToolbarItem(),a=this.getShapesToolbarItem(e),s=this.getZoomToolbarItem();l.Browser.isDevice?this.defToolbarItems=a:this.defToolbarItems=r.concat(s,a,n);var p={toolbarType:i.activeObj.shape?i.activeObj.shape:"shapes",toolbarItems:this.defToolbarItems};i.trigger("toolbarUpdating",p),this.isToolbarString(p.toolbarItems)?(e=p.toolbarItems,this.excludeItems(p.toolbarItems)):this.defToolbarItems=p.toolbarItems;var d=new c.Toolbar({width:"100%",items:this.defToolbarItems,clicked:this.defToolbarClicked.bind(this),created:function(){t.renderAnnotationBtn(!0),t.createRectangleRadius(e),t.createShapeColor(e),t.createShapeBtn(e),t.createZOrderBtn(e),"arrow"===i.activeObj.shape&&(e.some(function(e){return e.toLowerCase().indexOf("start")>-1})&&t.createStartBtn(),e.some(function(e){return e.toLowerCase().indexOf("end")>-1})&&t.createEndBtn()),t.wireZoomBtnEvents(),i.trigger("toolbarCreated",{toolbarType:"shapes"}),l.Browser.isDevice?t.defToolbarItems.length>0&&i.element.querySelector("#"+o+"_bottomToolbar")&&(d.refreshOverflow(),d.refreshOverflow(),d.refreshOverflow()):(t.createLeftToolbarControls(),t.defToolbarItems.length>0&&i.element.querySelector("#"+o+"_toolbar")&&d.refreshOverflow())}});l.Browser.isDevice?d.appendTo(i.element.querySelector("#"+o+"_bottomToolbar")):d.appendTo(i.element.querySelector("#"+o+"_toolbar")),this.enableDisableTbrBtn()},e.prototype.createRectangleRadius=function(e){var t=this,i=this.parent,o=i.element.id;if(e.indexOf("borderRadius")>-1){var r=[{id:"1",text:this.l10n.getConstant("0")},{id:"2",text:this.l10n.getConstant("20")},{id:"3",text:this.l10n.getConstant("40")},{id:"4",text:this.l10n.getConstant("60")},{id:"5",text:this.l10n.getConstant("80")},{id:"6",text:this.l10n.getConstant("100")}],n=i.element.querySelector("#"+o+"_rectangleRadiusBtn"),a=i.createElement("span");a.innerHTML=this.l10n.getConstant(i.frameObj.radius.toString()),a.className="e-shape-rectangle-radius",n.appendChild(a);var s=new d.DropDownButton({items:r,open:function(e){if(l.Browser.isDevice){var t=e.element.parentElement;t.style.top=s.element.getBoundingClientRect().top-t.offsetHeight+"px"}var i=s.element.childNodes[0].textContent;""!==i&&e.element.querySelector('[aria-label = "'+i+'"]').classList.add("e-selected-btn")},select:function(e){(t.triggerTbarClickEvent(e),a.textContent=e.item.text,i.updateStrokeWidth(e.item.id,"radius"),l.Browser.isDevice)?i.element.querySelector("#"+o+"_bottomToolbar")&&(0,l.getComponent)(o+"_bottomToolbar","toolbar").refreshOverflow():i.element.querySelector("#"+o+"_toolbar")&&(0,l.getComponent)(o+"_toolbar","toolbar").refreshOverflow();i.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1})}});s.appendTo(i.element.querySelector("#"+o+"_rectangleRadiusBtn"))}},e.prototype.beforeModeSwitch=function(e,t){this.popupLeft=e.element.offsetParent.style.left,"Picker"===e.mode?(t.showButtons=!0,t.dataBind(),e.element.querySelector(".e-apply").title=this.l10n.getConstant("Apply"),e.element.querySelector(".e-cancel").title=this.l10n.getConstant("Cancel"),e.element.querySelector(".e-mode-switch-btn").title=this.l10n.getConstant("StandardColors")):(t.showButtons=!1,t.dataBind(),e.element.querySelector(".e-mode-switch-btn").title=this.l10n.getConstant("MoreColors"))},e.prototype.createShapeColor=function(e){var t=this,i=this.parent,o=i.element.id;if(e.indexOf("fillColor")>-1){i.element.querySelector(".e-template.e-fill").appendChild(i.createElement("input",{id:o+"_shape_fill"}));var r=new A.ColorPicker({modeSwitcher:!0,noColor:!0,value:"",inline:!0,showButtons:!1,mode:"Palette",cssClass:"e-shape-fill-color",beforeModeSwitch:function(e){return t.beforeModeSwitch(e,r)},presetColors:{custom:["","#f44336","#e91e63","#9c27b0","#673ab7","#2196f3","#03a9f4","#00bcd4","#009688","#ffeb3b","#ffffff","#ffebee","#fce4ec","#f3e5f5","#ede7f6","#e3f2fd","#e1f5fe","#e0f7fa","#e0f2f1","#fffde7","#f2f2f2","#ffcdd2","#f8bbd0","#e1bee7","#d1c4e9","#bbdefb","#b3e5fc","#b2ebf2","#b2dfdb","#fff9c4","#e6e6e6","#ef9a9a","#f48fb1","#ce93d8","#b39ddb","#90caf9","#81d4fa","#80deea","#80cbc4","#fff59d","#cccccc","#e57373","#f06292","#ba68c8","#9575cd","#64b5f6","#4fc3f7","#4dd0e1","#4db6ac","#fff176","#b3b3b3","#ef5350","#ec407a","#ab47bc","#7e57c2","#42a5f5","#29b6f6","#26c6da","#26a69a","#ffee58","#999999","#e53935","#d81b60","#8e24aa","#5e35b1","#1e88e5","#039be5","#00acc1","#00897b","#fdd835","#808080","#d32f2f","#c2185b","#7b1fa2","#512da8","#1976d2","#0288d1","#0097a7","#00796b","#fbc02d","#666666","#c62828","#ad1457","#6a1b9a","#4527a0","#1565c0","#0277bd","#00838f","#00695c","#f9a825","#4d4d4d","#b71c1c","#880e4f","#4a148c","#311b92","#0d47a1","#01579b","#006064","#004d40","#f57f17"]},beforeTileRender:function(e){""===e.value&&e.element.classList.add("e-nocolor-item")},change:function(e){i.updateFillColor(e.value),""===e.currentValue.rgba?n.element.children[0].classList.add("e-nocolor-item"):(n.element.children[0].classList.remove("e-nocolor-item"),n.element.children[0].style.backgroundColor=e.currentValue.rgba),n.toggle(),i.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1})},onModeSwitch:function(e){l.Browser.isDevice&&(e.element.parentElement.parentElement.style.left=t.popupLeft,e.element.parentElement.parentElement.style.top=n.element.getBoundingClientRect().top-e.element.parentElement.parentElement.offsetHeight+"px")},beforeClose:function(){n.toggle()}},"#"+o+"_shape_fill"),n=new d.DropDownButton({open:function(e){var t=e.element.parentElement;l.Browser.isDevice&&(t.style.top=n.element.getBoundingClientRect().top-t.offsetHeight+"px",window.innerWidth<=520&&(t.style.left=i.element.offsetLeft+"px"))},target:".e-shape-fill-color",iconCss:"e-dropdownbtn-preview",cssClass:"e-ie-ddb-popup"},"#"+o+"_fillColorBtn");r.inline=!0,r.value=r.getValue(r.value,"rgba"),i.element.querySelector(".e-fill.e-template .e-dropdownbtn-preview").classList.add("e-nocolor-item")}if(e.indexOf("strokeColor")>-1){i.element.querySelector(".e-template.e-stroke").appendChild(i.createElement("input",{id:o+"_shape_stroke"}));var a=new A.ColorPicker({modeSwitcher:!0,noColor:!1,value:"#fff",inline:!0,showButtons:!1,mode:"Palette",cssClass:"e-shape-stroke-color",beforeModeSwitch:function(e){t.popupLeft=e.element.offsetParent.style.left,a.value="#fff"!==i.activeObj.strokeSettings.strokeColor?i.activeObj.strokeSettings.strokeColor:"#008000ff",t.beforeModeSwitch(e,a)},presetColors:this.presetColors,change:function(e){i.updateStrokeColor(e.value),s.element.children[0].style.backgroundColor=e.currentValue.rgba,s.toggle(),i.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1})},onModeSwitch:function(e){l.Browser.isDevice&&(e.element.parentElement.parentElement.style.left=t.popupLeft,e.element.parentElement.parentElement.style.top=s.element.getBoundingClientRect().top-e.element.parentElement.parentElement.offsetHeight+"px")},beforeClose:function(){s.toggle()}},"#"+o+"_shape_stroke"),s=new d.DropDownButton({open:function(e){var t=e.element.parentElement;l.Browser.isDevice&&(t.style.top=s.element.getBoundingClientRect().top-t.offsetHeight+"px",window.innerWidth<=520&&(t.style.left=i.element.offsetLeft+"px"))},target:".e-shape-stroke-color",iconCss:"e-dropdownbtn-preview",cssClass:"e-ie-ddb-popup"},"#"+o+"_borderColorBtn");a.inline=!0,a.value=a.getValue(a.value,"rgba"),i.element.querySelector(".e-stroke.e-template .e-dropdownbtn-preview").style.background="#fff"}},e.prototype.createShapeBtn=function(e){var t=this,i=this.parent,o=i.element.id;if(e.indexOf("strokeWidth")>-1){var r=[{id:"1",text:this.l10n.getConstant("XSmall")},{id:"2",text:this.l10n.getConstant("Small")},{id:"3",text:this.l10n.getConstant("Medium")},{id:"4",text:this.l10n.getConstant("Large")},{id:"5",text:this.l10n.getConstant("XLarge")}];!i.activeObj.shape||"rectangle"!==i.activeObj.shape&&"ellipse"!==i.activeObj.shape||(r=[{id:"1",text:this.l10n.getConstant("NoOutline")},{id:"2",text:this.l10n.getConstant("XSmall")},{id:"3",text:this.l10n.getConstant("Small")},{id:"4",text:this.l10n.getConstant("Medium")},{id:"5",text:this.l10n.getConstant("Large")},{id:"6",text:this.l10n.getConstant("XLarge")}]);var n=i.element.querySelector("#"+o+"_borderWidthBtn"),a=i.createElement("span");a.innerHTML=this.l10n.getConstant("XSmall"),a.className="e-shape-stroke-width",n.appendChild(a);var s=new d.DropDownButton({items:r,open:function(e){l.Browser.isDevice&&(e.element.parentElement.style.top=s.element.getBoundingClientRect().top-e.element.parentElement.offsetHeight+"px");var t=a.innerHTML;""!==t&&e.element.querySelector('[aria-label = "'+t+'"]').classList.add("e-selected-btn")},select:function(e){(t.triggerTbarClickEvent(e),a.textContent=e.item.text,i.updateStrokeWidth(e.item.id,"width",i.activeObj.shape),l.Browser.isDevice)?i.element.querySelector("#"+o+"_bottomToolbar")&&(0,l.getComponent)(o+"_bottomToolbar","toolbar").refreshOverflow():i.element.querySelector("#"+o+"_toolbar")&&(0,l.getComponent)(o+"_toolbar","toolbar").refreshOverflow();i.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1})}});s.appendTo(i.element.querySelector("#"+o+"_borderWidthBtn"))}},e.prototype.createZOrderBtn=function(e){var t=this,i=this.parent,o=i.element.id;if(e.indexOf("z-order")>-1){var r=[{text:this.l10n.getConstant("BringForward"),id:"bringForward",iconCss:"e-icons e-bring-forward"},{text:this.l10n.getConstant("SendBackward"),id:"sendBackward",iconCss:"e-icons e-send-backward"},{text:this.l10n.getConstant("BringToFront"),id:"bringToFront",iconCss:"e-icons e-bring-to-front"},{text:this.l10n.getConstant("SendToBack"),id:"sendToBack",iconCss:"e-icons e-send-to-back"}],n=new d.DropDownButton({items:r,iconCss:"e-icons e-layers",beforeOpen:function(e){i.element.querySelector("#"+i.element.id+"_zOrderBtn").classList.contains("e-disabled")&&(e.cancel=!0);var t={freehandSelectedIndex:-1};i.notify("freehand-draw",{prop:"getFreehandSelectedIndex",onPropertyChange:!1,value:{obj:t}});var o={order:null};i.notify("shape",{prop:"getHighestOrder",onPropertyChange:!1,value:{obj:o}});var r=i.activeObj.order?i.activeObj.order:i.getObjFromId(i.pointColl[t.freehandSelectedIndex].id).order;r&&r>=o.order?(e.items[0].disabled=!0,e.items[2].disabled=!0):(e.items[0].disabled=!1,e.items[2].disabled=!1),i.notify("shape",{prop:"getLowestOrder",onPropertyChange:!1,value:{obj:o}}),r&&r<=o.order?(e.items[1].disabled=!0,e.items[3].disabled=!0):(e.items[1].disabled=!1,e.items[3].disabled=!1)},open:function(e){l.Browser.isDevice&&(e.element.parentElement.style.top=n.element.getBoundingClientRect().top-e.element.parentElement.offsetHeight+"px")},select:function(e){t.triggerTbarClickEvent(e);var r={freehandDrawSelectedId:null};i.notify("freehand-draw",{prop:"getFreehandDrawSelectedId",onPropertyChange:!1,value:{obj:r}});var n=r.freehandDrawSelectedId?r.freehandDrawSelectedId:i.activeObj.currIndex;(i.updateShapeOrder(n,e.item.id),l.Browser.isDevice)?i.element.querySelector("#"+o+"_bottomToolbar")&&(0,l.getComponent)(o+"_bottomToolbar","toolbar").refreshOverflow():i.element.querySelector("#"+o+"_toolbar")&&(0,l.getComponent)(o+"_toolbar","toolbar").refreshOverflow();n.indexOf("shape")>-1?i.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1}):n.indexOf("pen")>-1&&i.notify("undo-redo",{prop:"updateUndoRedoStack",value:{isPenDraw:!0}})}});n.appendTo(i.element.querySelector("#"+o+"_zOrderBtn"))}},e.prototype.createStartBtn=function(){var e=this,t=this.parent,i=t.element.id,o=[{id:"1",text:this.l10n.getConstant("None")},{id:"2",text:this.l10n.getConstant("Bar")},{id:"3",text:this.l10n.getConstant("Arrow")},{id:"4",text:this.l10n.getConstant("ArrowSolid")},{id:"5",text:this.l10n.getConstant("Circle")},{id:"6",text:this.l10n.getConstant("CircleSolid")},{id:"7",text:this.l10n.getConstant("Square")},{id:"8",text:this.l10n.getConstant("SquareSolid")}],r=t.element.querySelector("#"+i+"_startBtn"),n=t.createElement("span");(0,l.isNullOrUndefined)(t.activeObj.start)&&(t.activeObj.start="none"),n.innerHTML=t.pascalToSplitWords(t.activeObj.start),n.className="e-shape-start",r.appendChild(n);var a=new d.DropDownButton({items:o,open:function(e){l.Browser.isDevice&&(e.element.parentElement.style.top=a.element.getBoundingClientRect().top-e.element.parentElement.offsetHeight+"px");var t=n.innerHTML;""!==t&&e.element.querySelector('[aria-label = "'+t+'"]').classList.add("e-selected-btn")},select:function(i){t.notify("selection",{prop:"setArrowShape",value:{type:"initial",shape:{1:"none",2:"bar",3:"arrow",4:"arrowSolid",5:"circle",6:"circleSolid",7:"square",8:"squareSolid"}[""+i.item.id]}}),e.triggerTbarClickEvent(i),n.textContent=i.item.text,t.updateArrow("startArrow",i.item.id),t.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1})}});a.appendTo(t.element.querySelector("#"+i+"_startBtn"))},e.prototype.createEndBtn=function(){var e=this,t=this.parent,i=t.element.id,o=[{id:"1",text:this.l10n.getConstant("None")},{id:"2",text:this.l10n.getConstant("Bar")},{id:"3",text:this.l10n.getConstant("Arrow")},{id:"4",text:this.l10n.getConstant("ArrowSolid")},{id:"5",text:this.l10n.getConstant("Circle")},{id:"6",text:this.l10n.getConstant("CircleSolid")},{id:"7",text:this.l10n.getConstant("Square")},{id:"8",text:this.l10n.getConstant("SquareSolid")}],r=t.element.querySelector("#"+i+"_endBtn"),n=t.createElement("span");(0,l.isNullOrUndefined)(t.activeObj.end)&&(t.activeObj.end="arrowSolid"),n.innerHTML=t.pascalToSplitWords(t.activeObj.end),n.className="e-shape-end",r.appendChild(n);var a=new d.DropDownButton({items:o,open:function(e){l.Browser.isDevice&&(e.element.parentElement.style.top=a.element.getBoundingClientRect().top-e.element.parentElement.offsetHeight+"px");var t=n.innerHTML;""!==t&&e.element.querySelector('[aria-label = "'+t+'"]').classList.add("e-selected-btn")},select:function(i){t.notify("selection",{prop:"setArrowShape",value:{type:"final",shape:{1:"none",2:"bar",3:"arrow",4:"arrowSolid",5:"circle",6:"circleSolid",7:"square",8:"squareSolid"}[""+i.item.id]}}),e.triggerTbarClickEvent(i),n.textContent=i.item.text,t.updateArrow("endArrow",i.item.id),t.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1})}});a.appendTo(t.element.querySelector("#"+i+"_endBtn"))},e.prototype.getTextToolbarItem=function(e){var t=this.parent,i=t.element.id,o=[];((0,l.isNullOrUndefined)(t.toolbar)||t.toolbar)&&o.push({id:i+"_annotation",tooltipText:this.l10n.getConstant("Annotation"),align:"Center",template:'<button id="'+i+'_annotationBtn"></button>'}),e.indexOf("fontFamily")>-1&&o.push({id:i+"_fontFamily",cssClass:"top-icon e-img-font-family",tooltipText:this.l10n.getConstant("FontFamily"),align:"Center",template:'<button id="'+i+'_fontFamilyBtn"></button>'}),e.indexOf("fontSize")>-1&&o.push({id:i+"_fontSize",cssClass:"top-icon e-img-font-size",tooltipText:this.l10n.getConstant("FontSize"),align:"Center",template:'<button id="'+i+'_fontSizeBtn"></button>'}),e.indexOf("fontColor")>-1&&o.push({cssClass:"top-icon e-text-font-color",id:i+"_text_strokecolor",tooltipText:this.l10n.getConstant("FontColor"),align:"Center",type:"Input",template:'<button id="'+i+'_fontColorBtn"></button>'}),e.indexOf("strokeColor")>-1&&o.push({cssClass:"top-icon e-stroke-text-font-color",id:i+"_stroke_text_color",tooltipText:this.l10n.getConstant("TextOutlineColor"),align:"Center",type:"Input",template:'<button id="'+i+'_strokeTextColorBtn"></button>'}),e.indexOf("fillColor")>-1&&o.push({cssClass:"top-icon e-text-background-color",id:i+"_text_backgroundcolor",tooltipText:this.l10n.getConstant("FillColor"),align:"Center",type:"Input",template:'<button id="'+i+'_bgColorBtn"></button>'}),e.indexOf("bold")>-1&&o.push({id:i+"_bold",prefixIcon:"e-icons e-bold",cssClass:"top-icon e-bold",tooltipText:this.l10n.getConstant("Bold"),align:"Center"}),e.indexOf("italic")>-1&&o.push({id:i+"_italic",prefixIcon:"e-icons e-italic",cssClass:"top-icon e-italic",tooltipText:this.l10n.getConstant("Italic"),align:"Center"}),e.indexOf("underline")>-1&&o.push({id:i+"_underline",prefixIcon:"e-icons e-underline",cssClass:"top-icon e-underline",tooltipText:this.l10n.getConstant("Underline"),align:"Center"}),e.indexOf("strikethrough")>-1&&o.push({id:i+"_strikethrough",prefixIcon:"e-icons e-strikethrough",cssClass:"top-icon e-strikethrough",tooltipText:this.l10n.getConstant("Strikethrough"),align:"Center"}),e.indexOf("strokeWidth")>-1&&o.push({id:i+"_strokeWidth",cssClass:"top-icon e-size",tooltipText:this.l10n.getConstant("TextOutlineWidth"),align:"Center",type:"Input",template:'<button id="'+i+'_borderWidthBtn"></button>'}),e.indexOf("transparency")>-1&&o.push({id:i+"_transparency",prefixIcon:"e-opacity",tooltipText:this.l10n.getConstant("Opacity"),align:"Center"}),o.push({align:"Center",type:"Separator"}),e.indexOf("z-order")>-1&&o.push({id:i+"_zOrder",cssClass:"top-icon e-list-unordered-3",tooltipText:this.l10n.getConstant("ZOrder"),align:"Center",type:"Input",template:'<button id="'+i+'_zOrderBtn"></button>'}),e.indexOf("duplicate")>-1&&o.push({id:i+"_duplicate",prefixIcon:"e-icons e-order",cssClass:"top-icon e-order",tooltipText:this.l10n.getConstant("Duplicate"),align:"Center",disabled:"block"===t.textArea.style.display||"inline-block"===t.textArea.style.display}),e.indexOf("remove")>-1&&o.push({id:i+"_remove",prefixIcon:"e-icons e-trash",cssClass:"top-icon e-trash",tooltipText:this.l10n.getConstant("Remove"),align:"Center",disabled:"block"===t.textArea.style.display||"inline-block"===t.textArea.style.display}),e.indexOf("text")>-1&&o.push({id:i+"_editText",prefixIcon:"e-icons e-annotation-edit",cssClass:"top-icon e-annotation-edit",tooltipText:this.l10n.getConstant("EditText"),align:"Center",disabled:"block"===t.textArea.style.display||"inline-block"===t.textArea.style.display});for(var r=this.processSubToolbar(e),n=0,a=r.length;n<a;n++)o.push(r[n]);return l.Browser.isDevice||(o.push({id:i+"_ok",prefixIcon:"e-icons e-check",cssClass:"top-icon e-tick",tooltipText:this.l10n.getConstant("OK"),align:"Right",tabIndex:0}),o.push({id:i+"_cancel",prefixIcon:"e-icons e-close",cssClass:"top-icon e-save",tooltipText:this.l10n.getConstant("Cancel"),align:"Right"})),o},e.prototype.getFontFamilyItems=function(){var e=this.parent;return e.fontFamily&&e.fontFamily.items&&e.fontFamily.items.length>0?e.fontFamily.items:l.Browser.isDevice?[{id:"arial",text:"ABC"},{id:"calibri",text:"ABC"},{id:"georgia",text:"ABC"},{id:"roboto",text:"ABC"},{id:"tahoma",text:"ABC"}]:[{id:"arial",text:"Arial"},{id:"calibri",text:"Calibri"},{id:"georgia",text:"Georgia"},{id:"roboto",text:"Roboto"},{id:"tahoma",text:"Tahoma"}]},e.prototype.initTextToolbarItem=function(e){var t=this,i=this.parent,o=i.element.id,r=this.getLeftToolbarItem(),n=this.getRightToolbarItem(),a=this.getTextToolbarItem(e),s=this.getZoomToolbarItem();l.Browser.isDevice?this.defToolbarItems=a:this.defToolbarItems=r.concat(s,a,n);var p={toolbarType:"text",toolbarItems:this.defToolbarItems};i.trigger("toolbarUpdating",p),this.isToolbarString(p.toolbarItems)?(e=p.toolbarItems,this.excludeItems(p.toolbarItems)):this.defToolbarItems=p.toolbarItems;var d=new c.Toolbar({width:"100%",items:this.defToolbarItems,clicked:this.defToolbarClicked.bind(this),created:function(){t.renderAnnotationBtn(!0),t.createTextColor(e),t.createStrokeTextColor(e),t.createShapeBtn(e),t.createBackgroundColor(e),t.createTextBtn(e),t.createZOrderBtn(e),t.wireZoomBtnEvents(),i.trigger("toolbarCreated",{toolbarType:"text"}),l.Browser.isDevice?t.defToolbarItems.length>0&&i.element.querySelector("#"+o+"_bottomToolbar")&&(d.refreshOverflow(),d.refreshOverflow(),d.refreshOverflow()):(t.createLeftToolbarControls(),t.defToolbarItems.length>0&&i.element.querySelector("#"+o+"_toolbar")&&d.refreshOverflow())}});l.Browser.isDevice?d.appendTo(i.element.querySelector("#"+o+"_bottomToolbar")):d.appendTo(i.element.querySelector("#"+o+"_toolbar")),this.enableDisableTbrBtn()},e.prototype.createTextColor=function(e){var t=this,i=this.parent,o=i.element.id;if(e.indexOf("fontColor")>-1&&i.element.querySelector(".e-template.e-text-font-color")){i.element.querySelector(".e-template.e-text-font-color").appendChild(i.createElement("input",{id:o+"_text_font"}));var r=new A.ColorPicker({modeSwitcher:!0,noColor:!1,value:"#fff",inline:!0,showButtons:!1,mode:"Palette",cssClass:"e-text-fontt-color",beforeModeSwitch:function(e){t.popupLeft=e.element.offsetParent.style.left,r.value="#fff"!==i.activeObj.strokeSettings.strokeColor?i.activeObj.strokeSettings.strokeColor:"#008000ff",t.beforeModeSwitch(e,r)},presetColors:this.presetColors,change:function(e){i.updateFontColor(e.value,"Text"),n.element.children[0].style.backgroundColor=e.currentValue.rgba,n.toggle(),0===i.activeObj.activePoint.width&&0===i.activeObj.activePoint.height||i.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1})},onModeSwitch:function(e){l.Browser.isDevice&&(e.element.parentElement.parentElement.style.left=t.popupLeft,e.element.parentElement.parentElement.style.top=n.element.getBoundingClientRect().top-e.element.parentElement.parentElement.offsetHeight+"px")},beforeClose:function(){n.toggle()}},"#"+o+"_text_font"),n=new d.DropDownButton({open:function(e){var t=e.element.parentElement;l.Browser.isDevice&&(t.style.top=n.element.getBoundingClientRect().top-t.offsetHeight+"px",window.innerWidth<=520&&(t.style.left=i.element.offsetLeft+"px"))},target:".e-text-fontt-color",iconCss:"e-dropdownbtn-preview",cssClass:"e-ie-ddb-popup"},"#"+o+"_fontColorBtn");r.inline=!0,r.value=r.getValue(r.value,"rgba"),i.element.querySelector(".e-text-font-color.e-template .e-dropdownbtn-preview").style.background="#fff"}},e.prototype.createBackgroundColor=function(e){var t=this,i=this.parent,o=i.element.id;if(e.indexOf("fillColor")>-1&&i.element.querySelector(".e-template.e-text-background-color")){i.element.querySelector(".e-template.e-text-background-color").appendChild(i.createElement("input",{id:o+"_text_bgColor"}));var r=new A.ColorPicker({modeSwitcher:!0,noColor:!0,value:"",inline:!0,showButtons:!1,mode:"Palette",cssClass:"e-text-fontt-color",beforeModeSwitch:function(e){t.popupLeft=e.element.offsetParent.style.left,t.beforeModeSwitch(e,r)},presetColors:{custom:["","#f44336","#e91e63","#9c27b0","#673ab7","#2196f3","#03a9f4","#00bcd4","#009688","#ffeb3b","#ffffff","#ffebee","#fce4ec","#f3e5f5","#ede7f6","#e3f2fd","#e1f5fe","#e0f7fa","#e0f2f1","#fffde7","#f2f2f2","#ffcdd2","#f8bbd0","#e1bee7","#d1c4e9","#bbdefb","#b3e5fc","#b2ebf2","#b2dfdb","#fff9c4","#e6e6e6","#ef9a9a","#f48fb1","#ce93d8","#b39ddb","#90caf9","#81d4fa","#80deea","#80cbc4","#fff59d","#cccccc","#e57373","#f06292","#ba68c8","#9575cd","#64b5f6","#4fc3f7","#4dd0e1","#4db6ac","#fff176","#b3b3b3","#ef5350","#ec407a","#ab47bc","#7e57c2","#42a5f5","#29b6f6","#26c6da","#26a69a","#ffee58","#999999","#e53935","#d81b60","#8e24aa","#5e35b1","#1e88e5","#039be5","#00acc1","#00897b","#fdd835","#808080","#d32f2f","#c2185b","#7b1fa2","#512da8","#1976d2","#0288d1","#0097a7","#00796b","#fbc02d","#666666","#c62828","#ad1457","#6a1b9a","#4527a0","#1565c0","#0277bd","#00838f","#00695c","#f9a825","#4d4d4d","#b71c1c","#880e4f","#4a148c","#311b92","#0d47a1","#01579b","#006064","#004d40","#f57f17"]},beforeTileRender:function(e){""===e.value&&e.element.classList.add("e-nocolor-item")},change:function(e){i.updateFontColor(e.value,"Background"),""===e.currentValue.rgba?n.element.children[0].classList.add("e-nocolor-item"):(n.element.children[0].classList.remove("e-nocolor-item"),n.element.children[0].style.backgroundColor=e.currentValue.rgba),n.toggle(),0===i.activeObj.activePoint.width&&0===i.activeObj.activePoint.height||i.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1})},onModeSwitch:function(e){l.Browser.isDevice&&(e.element.parentElement.parentElement.style.left=t.popupLeft,e.element.parentElement.parentElement.style.top=n.element.getBoundingClientRect().top-e.element.parentElement.parentElement.offsetHeight+"px")},beforeClose:function(){n.toggle()}},"#"+o+"_text_bgColor"),n=new d.DropDownButton({open:function(e){var t=e.element.parentElement;l.Browser.isDevice&&(t.style.top=n.element.getBoundingClientRect().top-t.offsetHeight+"px",window.innerWidth<=520&&(t.style.left=i.element.offsetLeft+"px"))},target:".e-text-fontt-color",iconCss:"e-dropdownbtn-preview",cssClass:"e-ie-ddb-popup"},"#"+o+"_bgColorBtn");r.inline=!0,r.value=r.getValue(r.value,"rgba"),i.element.querySelector(".e-text-background-color.e-template .e-dropdownbtn-preview").style.background="#fff"}},e.prototype.createStrokeTextColor=function(e){var t=this,i=this.parent,o=i.element.id;if(e.indexOf("strokeColor")>-1&&i.element.querySelector(".e-template.e-stroke-text-font-color")){i.element.querySelector(".e-template.e-stroke-text-font-color").appendChild(i.createElement("input",{id:o+"_stroke_text"}));var r=new A.ColorPicker({modeSwitcher:!0,noColor:!0,value:"",inline:!0,showButtons:!1,mode:"Palette",cssClass:"e-text-fontt-color",beforeModeSwitch:function(e){t.popupLeft=e.element.offsetParent.style.left,t.beforeModeSwitch(e,r)},presetColors:{custom:["","#f44336","#e91e63","#9c27b0","#673ab7","#2196f3","#03a9f4","#00bcd4","#009688","#ffeb3b","#ffffff","#ffebee","#fce4ec","#f3e5f5","#ede7f6","#e3f2fd","#e1f5fe","#e0f7fa","#e0f2f1","#fffde7","#f2f2f2","#ffcdd2","#f8bbd0","#e1bee7","#d1c4e9","#bbdefb","#b3e5fc","#b2ebf2","#b2dfdb","#fff9c4","#e6e6e6","#ef9a9a","#f48fb1","#ce93d8","#b39ddb","#90caf9","#81d4fa","#80deea","#80cbc4","#fff59d","#cccccc","#e57373","#f06292","#ba68c8","#9575cd","#64b5f6","#4fc3f7","#4dd0e1","#4db6ac","#fff176","#b3b3b3","#ef5350","#ec407a","#ab47bc","#7e57c2","#42a5f5","#29b6f6","#26c6da","#26a69a","#ffee58","#999999","#e53935","#d81b60","#8e24aa","#5e35b1","#1e88e5","#039be5","#00acc1","#00897b","#fdd835","#808080","#d32f2f","#c2185b","#7b1fa2","#512da8","#1976d2","#0288d1","#0097a7","#00796b","#fbc02d","#666666","#c62828","#ad1457","#6a1b9a","#4527a0","#1565c0","#0277bd","#00838f","#00695c","#f9a825","#4d4d4d","#b71c1c","#880e4f","#4a148c","#311b92","#0d47a1","#01579b","#006064","#004d40","#f57f17"]},beforeTileRender:function(e){""===e.value&&e.element.classList.add("e-nocolor-item")},change:function(e){i.updateStrokeTextColor(e.value),""===e.currentValue.rgba?n.element.children[0].classList.add("e-nocolor-item"):(n.element.children[0].classList.remove("e-nocolor-item"),n.element.children[0].style.backgroundColor=e.currentValue.rgba),n.toggle(),0===i.activeObj.activePoint.width&&0===i.activeObj.activePoint.height||i.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1})},onModeSwitch:function(e){l.Browser.isDevice&&(e.element.parentElement.parentElement.style.left=t.popupLeft,e.element.parentElement.parentElement.style.top=n.element.getBoundingClientRect().top-e.element.parentElement.parentElement.offsetHeight+"px")},beforeClose:function(){n.toggle()}},"#"+o+"_stroke_text"),n=new d.DropDownButton({open:function(e){var t=e.element.parentElement;l.Browser.isDevice&&(t.style.top=n.element.getBoundingClientRect().top-t.offsetHeight+"px",window.innerWidth<=520&&(t.style.left=i.element.offsetLeft+"px"))},target:".e-text-fontt-color",iconCss:"e-dropdownbtn-preview",cssClass:"e-ie-ddb-popup"},"#"+o+"_strokeTextColorBtn");r.inline=!0,r.value=r.getValue(r.value,"rgba"),i.element.querySelector(".e-stroke-text-font-color.e-template .e-dropdownbtn-preview").style.background="#fff"}},e.prototype.createTextBtn=function(e){var t=this,i=this.parent,o=i.element.id;if(e.indexOf("fontFamily")>-1){var r=i.element.querySelector("#"+o+"_fontFamilyBtn"),n=i.createElement("span");l.Browser.isDevice?(n.innerHTML="ABC",n.setAttribute("style","font-family: "+i.fontFamily.default.toLowerCase()+"'")):n.innerHTML=i.fontFamily.default,n.className="e-text-font-family",r&&r.appendChild(n);var a=new d.DropDownButton({items:this.getFontFamilyItems(),cssClass:"e-font-family",createPopupOnClick:!0,beforeItemRender:function(e){e.element.setAttribute("style","font-family:"+e.element.id)},open:function(e){var t;l.Browser.isDevice&&(e.element.parentElement.style.top=a.element.getBoundingClientRect().top-e.element.parentElement.offsetHeight+"px"),t="block"===i.textArea.style.display||"inline-block"===i.textArea.style.display?i.textArea.style.fontFamily:i.activeObj.textSettings.fontFamily;var o=e.element.querySelector('[id *= "'+t.toLowerCase()+'"]');o&&o.classList.add("e-selected-btn")},select:function(e){t.triggerTbarClickEvent(e),n.textContent=e.item.text,l.Browser.isDevice&&n.setAttribute("style","font-family:"+e.item.id),i.updateFontFamily(e.item.id),i.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1});var o=i.element.querySelector("#"+i.element.id+"_toolbar");o&&o.classList.contains("e-control")&&(0,l.getComponent)(o,"toolbar").refreshOverflow()}});a.appendTo(i.element.querySelector("#"+o+"_fontFamilyBtn"))}if(e.indexOf("fontSize")>-1){var s=i.element.querySelector("#"+o+"_fontSizeBtn"),p=i.createElement("span"),h=i.getFontSizes();p.innerHTML=h[0].text,p.className="e-text-font-size",s.appendChild(p);var c=new d.DropDownButton({cssClass:"e-font-size",items:h,open:function(e){l.Browser.isDevice&&(e.element.parentElement.style.top=c.element.getBoundingClientRect().top-e.element.parentElement.offsetHeight+"px");var t=p.innerHTML;e.element.querySelector('[aria-label *= "'+t+'"]').classList.add("e-selected-btn")},select:function(e){t.triggerTbarClickEvent(e),p.textContent=e.item.text,i.updateFontSize(e.item.text),i.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1})}});c.appendTo(i.element.querySelector("#"+o+"_fontSizeBtn"))}},e.prototype.refreshToolbar=function(e,t,i,o,r,n,a){var s=this.parent,p=s.element.id;if(s.isImageLoaded&&!s.isCropToolbar){var d,h,c={};if("filter"!==e&&"color"!==e){var u=s.element.querySelector("#"+p+"_toolbar"),v=s.element.querySelector("#"+p+"_customizeWrapper"),g=s.element.querySelector("#"+p+"_bottomToolbar");if(v&&(0,l.getComponent)(v,"toolbar")&&this.defToolbarItems.length>0&&((0,l.getComponent)(v,"toolbar").destroy(),v.innerHTML=""),u&&u.classList.contains("e-control")&&this.defToolbarItems.length>0&&((0,l.getComponent)(u,"toolbar").destroy(),u.innerHTML=""),u&&(this.defToolbarItems.length>0||s.toolbar&&s.toolbar.length>0&&-1===s.toolbar.indexOf("Open"))){var f=(0,l.getComponent)(u,"toolbar");(0,l.isNullOrUndefined)(f)||(f.destroy(),s.element.querySelector("#"+s.element.id+"_toolbar").innerHTML="")}g&&this.defToolbarItems.length>0&&g.className.indexOf("e-control")>-1&&((0,l.getComponent)(g,"toolbar").destroy(),g.innerHTML="")}switch(this.refreshSlider(),document.querySelector(".e-slider-tooltip")&&document.querySelector(".e-slider-tooltip").remove(),this.isFrameToolbar=s.isCropTab=!1,e){case"main":l.Browser.isDevice?i?this.initMainToolbar(!1,!0,!0,!1,!1,!0):this.initMainToolbar(!1,!0,null,!1,!1,!0):l.Browser.isDevice&&!o||this.initMainToolbar(t,l.Browser.isDevice,null),l.Browser.isDevice&&this.initBottomToolbar();break;case"shapes":if(s.isPublicMethod||(s.noPushUndo=!0),l.Browser.isDevice){this.initMainToolbar(!1,!0,!0);var m=s.element.querySelector("#"+s.element.id+"_ok"),b={shape:""};s.notify("selection",{prop:"getCurrentDrawingShape",onPropertyChange:!1,value:{obj:b}}),"path"===b.shape&&m&&m.parentElement.classList.add("e-overlay")}if("line"===s.activeObj.shape||"path"===s.activeObj.shape?c.toolbarItems=["strokeColor","strokeWidth","z-order","duplicate","remove"]:"arrow"===s.activeObj.shape?c.toolbarItems=["strokeColor","strokeWidth","start","end","z-order","duplicate","remove"]:"image"===s.activeObj.shape?c.toolbarItems=["flip","z-order","duplicate","remove","transparency"]:"rectangle"===s.activeObj.shape?c.toolbarItems=["fillColor","strokeColor","strokeWidth","borderRadius","z-order","duplicate","remove"]:c.toolbarItems=["fillColor","strokeColor","strokeWidth","z-order","duplicate","remove"],this.initShapesToolbarItem(c.toolbarItems),"image"===s.activeObj.shape){var y=(0,l.extend)({},s.activeObj,{},!0);s.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),s.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:!0}}),s.activeObj=y,s.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:s.activeObj,isCropRatio:null,points:null,isPreventDrag:!0}}),this.renderQAT(!1)}break;case"text":l.Browser.isDevice&&this.initMainToolbar(!1,!0,!0),c.toolbarItems=["fontFamily","fontSize","fontColor","fillColor","strokeColor","strokeWidth","bold","italic","underline","strikethrough","z-order","duplicate","remove","text"],this.initTextToolbarItem(c.toolbarItems);break;case"pen":l.Browser.isDevice&&this.initMainToolbar(!1,!0,!0),c.toolbarItems=["strokeColor","strokeWidth","z-order","remove","transparency"],this.initPenToolbarItem(c.toolbarItems);break;case"adjustment":l.Browser.isDevice&&this.initMainToolbar(!1,!0,!0),this.initAdjustmentToolbarItem();break;case"filter":this.updateContextualToolbar(e);break;case"resize":(s.isCircleCrop||s.currSelectionPoint&&"crop-circle"===s.currSelectionPoint.shape)&&(s.aspectHeight=s.aspectWidth,this.isAspectRatio=!1),this.initResizeToolbar(),l.Browser.isDevice&&this.initMainToolbar(!1,!0,!0,!0),d=s.element.querySelector("#"+p+"_aspectratio"),h=s.element.querySelector("#"+p+"_nonaspectratio"),s.aspectWidth&&s.aspectHeight&&(h?s.notify("transform",{prop:"resize",value:{width:s.aspectWidth,height:s.aspectHeight,isAspectRatio:!1}}):d&&s.notify("transform",{prop:"resize",value:{width:s.aspectWidth,height:null,isAspectRatio:!0}}));break;case"color":this.updateContextualToolbar(e,r);break;case"croptransform":(0,l.isNullOrUndefined)(a)&&(s.allowDownScale=!1,s.isCropTab=!0),l.Browser.isDevice&&this.initMainToolbar(!1,!0,!0),(0,l.isNullOrUndefined)(a)&&s.updateCropTransformItems(),this.initCropTransformToolbar(n,a),l.Browser.isDevice&&this.isToolbar()&&this.updateContextualToolbar("color","straighten",!0),s.isMaskImage&&this.refreshToolbar("main");break;case"frame":this.isFrameToolbar=!0,l.Browser.isDevice?(this.initMainToolbar(!1,!0,!0),this.initMainToolbar(!1,!0,!0,!1,!0)):this.initMainToolbar(!0,null,null,!1,!0);var C=s.element.querySelector("#"+p+"_"+s.frameObj.type);C&&C.classList.add("e-selected-btn"),"none"!==s.frameObj.type&&this.updateContextualToolbar(e,r),s.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:!0}});break;case"redact":if(l.Browser.isDevice?(this.initMainToolbar(!1,!0,!0),this.initMainToolbar(!1,!0,!0,null,null,null,!0)):this.initMainToolbar(t,l.Browser.isDevice,null,null,null,null,!0),this.enableDisableTbrBtn(),"blur"===s.activeObj.redactType){var x=s.element.querySelector("#"+p+"_redactBlur");x&&x.classList.add("e-selected-btn")}else{var w=s.element.querySelector("#"+p+"_pixelate");w&&w.classList.add("e-selected-btn")}this.redactSlider(s.activeObj.redactType)}this.refreshDropDownBtn(i),this.updateKBDNavigation(e),this.currToolbar=e}},e.prototype.updateRedactObj=function(){var e=this.parent,t=(0,l.extend)([],e.objColl,[],!0);e.objColl=[];var i=(0,l.extend)({},e.activeObj,{},!0);e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),e.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:!0}}),e.objColl=t;for(var o=0;o<e.objColl.length;o++){var r=e.objColl[o];"redact"===r.shape&&(r.redactImage=e.createElement("canvas"),r.redactImage.width=r.activePoint.width,r.redactImage.height=r.activePoint.height,r.redactImage.getContext("2d").drawImage(e.lowerCanvas,r.activePoint.startX,r.activePoint.startY,r.activePoint.width,r.activePoint.height,0,0,r.redactImage.width,r.redactImage.height))}e.isCropTab=!1,e.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:!0}}),e.isCropTab=!0,i&&e.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:i,isCropRatio:null,points:null,isPreventDrag:!0}});var n={panMove:null};if(e.notify("transform",{prop:"getPanMove",onPropertyChange:!1,value:{obj:n}}),n.panMove){var a=(0,l.extend)({},e.panPoint.currentPannedPoint,{},!0);e.panPoint.currentPannedPoint={x:e.panPoint.totalPannedClientPoint.x,y:e.panPoint.totalPannedClientPoint.y},e.panPoint.totalPannedClientPoint={x:0,y:0},e.panPoint.totalPannedInternalPoint={x:0,y:0},e.notify("transform",{prop:"drawPannedImage",onPropertyChange:!1,value:{xDiff:e.panPoint.currentPannedPoint.x,yDiff:e.panPoint.currentPannedPoint.y}}),e.panPoint.currentPannedPoint=a}},e.prototype.updateKBDNavigation=function(e){var t=this.parent,i=t.element.id;if(t.isKBDNavigation&&this.currToolbar!==e&&this.isToolbar()){var o,r=t.element.querySelectorAll("#"+i+"_toolbar")[0],n=void 0;if(r){if(!(n=r.querySelector(".e-toolbar-center"))||!n.children[0])return;o=n.children[0].querySelector(".e-btn");var a=n.children[1];if(a&&(a=a.children[0]),a&&(a=a.children[0]),"resize"===e&&a&&(o=a),"filter"===e){var s=t.element.querySelector("#"+i+"_defaultCanvas");s&&setTimeout(function(){return s.focus()},50)}o&&("main"===e?setTimeout(function(){return o.focus()},50):o.focus())}}},e.prototype.performCropTransformClick=function(e,t){var i=this.parent;(0,l.isNullOrUndefined)(t)&&(i.notify("draw",{prop:"setTempStraightenZoomDeg"}),i.tempStraighten=i.transform.straighten,(i.currObjType.isFiltered||i.currObjType.isRedact)&&i.okBtn(),i.isStraightening=!0),this.refreshToolbar("croptransform",null,null,null,null,e,t),(0,l.isNullOrUndefined)(t)&&(i.notify("draw",{prop:"setDestForStraighten"}),i.notify("draw",{prop:"setTempDestForStraighten"}))},e.prototype.getAdjustmentToolbarItem=function(){var e=[],t=this.parent,i=!1,o=t.element.id,r=["Brightness","Contrast","Hue","Saturation","Exposure","Opacity","Blur"];if(t.toolbar)for(var n=0;n<r.length;n++)if(-1!==t.toolbar.indexOf(r[n])){i=!0;break}((0,l.isNullOrUndefined)(t.toolbar)||!i||t.toolbar&&t.toolbar.indexOf("Brightness")>-1)&&e.push({id:o+"_brightness",prefixIcon:"e-icons e-brightness",cssClass:"top-icon e-brightness",tooltipText:this.l10n.getConstant("Brightness"),align:"Center"}),((0,l.isNullOrUndefined)(t.toolbar)||!i||t.toolbar&&t.toolbar.indexOf("Contrast")>-1)&&e.push({id:o+"_contrast",prefixIcon:"e-icons e-contrast",cssClass:"top-icon e-contrast",tooltipText:this.l10n.getConstant("Contrast"),align:"Center"}),((0,l.isNullOrUndefined)(t.toolbar)||!i||t.toolbar&&t.toolbar.indexOf("Hue")>-1)&&e.push({id:o+"_hue",prefixIcon:"e-icons e-fade",cssClass:"top-icon e-fade",tooltipText:this.l10n.getConstant("Hue"),align:"Center"}),((0,l.isNullOrUndefined)(t.toolbar)||!i||t.toolbar&&t.toolbar.indexOf("Saturation")>-1)&&e.push({id:o+"_saturation",prefixIcon:"e-icons e-saturation",cssClass:"top-icon e-saturation",tooltipText:this.l10n.getConstant("Saturation"),align:"Center"}),((0,l.isNullOrUndefined)(t.toolbar)||!i||t.toolbar&&t.toolbar.indexOf("Exposure")>-1)&&e.push({id:o+"_exposure",prefixIcon:"e-icons e-grain",cssClass:"top-icon e-grain",tooltipText:this.l10n.getConstant("Exposure"),align:"Center"}),((0,l.isNullOrUndefined)(t.toolbar)||!i||t.toolbar&&t.toolbar.indexOf("Opacity")>-1)&&e.push({id:o+"_opacity",prefixIcon:"e-icons e-opacity",cssClass:"top-icon e-opacity",tooltipText:this.l10n.getConstant("Opacity"),align:"Center"}),((0,l.isNullOrUndefined)(t.toolbar)||!i||t.toolbar&&t.toolbar.indexOf("Blur")>-1)&&e.push({id:o+"_blur",prefixIcon:"e-icons e-tint",cssClass:"top-icon e-tint",tooltipText:this.l10n.getConstant("Blur"),align:"Center"});for(var a=this.processToolbar("center"),s=(n=0,a.length);n<s;n++)e.push(a[n]);return l.Browser.isDevice||(e.push({id:o+"_ok",prefixIcon:"e-icons e-check",cssClass:"top-icon e-tick",tooltipText:this.l10n.getConstant("OK"),align:"Right",tabIndex:0}),e.push({id:o+"_cancel",prefixIcon:"e-icons e-close",cssClass:"top-icon e-save",tooltipText:this.l10n.getConstant("Cancel"),align:"Right"})),e},e.prototype.getFrameToolbarItem=function(){var e=this.parent,t=e.element.id,i=[];return i.push({prefixIcon:"e-icons e-copy",id:t+"_frameColor",cssClass:"top-icon e-stroke",tooltipText:this.l10n.getConstant("Color"),align:"Center",type:"Input",template:"<span>"+this.l10n.getConstant("Color")+'</span><button id="'+t+'_frameColorBtn"></button>'}),i.push({prefixIcon:"e-icons e-copy",id:t+"_frameGradient",cssClass:"top-icon e-frame-stroke",tooltipText:this.l10n.getConstant("GradientColor"),align:"Center",type:"Input",template:"<span>"+this.l10n.getConstant("GradientColor")+'</span><button id="'+t+'_frameGradientColorBtn"></button>'}),i.push({id:t+"_frameSize",cssClass:"top-icon e-size",tooltipText:this.l10n.getConstant("Size"),align:"Center",type:"Input",template:"<span>"+this.l10n.getConstant("Size")+'</span><button id="'+t+'_frameSizeBtn"></button>'}),"line"!==e.frameObj.type&&"inset"!==e.frameObj.type&&"hook"!==e.frameObj.type||i.push({id:t+"_frameInset",cssClass:"top-icon e-size",tooltipText:this.l10n.getConstant("Inset"),align:"Center",type:"Input",template:"<span>"+this.l10n.getConstant("Inset")+'</span><button id="'+t+'_frameInsetBtn"></button>'}),"line"!==e.frameObj.type&&"inset"!==e.frameObj.type||i.push({id:t+"_frameOffset",cssClass:"top-icon e-size",tooltipText:this.l10n.getConstant("Offset"),align:"Center",type:"Input",template:"<span>"+this.l10n.getConstant("Offset")+'</span><button id="'+t+'_frameOffsetBtn"></button>'}),"line"===e.frameObj.type&&(i.push({id:t+"_frameRadius",cssClass:"top-icon e-size",tooltipText:this.l10n.getConstant("Radius"),align:"Center",type:"Input",template:"<span>"+this.l10n.getConstant("Radius")+'</span><button id="'+t+'_frameRadiusBtn"></button>'}),i.push({id:t+"_frameAmount",cssClass:"top-icon e-size",tooltipText:this.l10n.getConstant("Amount"),align:"Center",type:"Input",template:"<span>"+this.l10n.getConstant("Amount")+'</span><button id="'+t+'_frameAmountBtn"></button>'}),i.push({id:t+"_frameBorder",cssClass:"top-icon e-size",tooltipText:this.l10n.getConstant("Border"),align:"Center",type:"Input",template:"<span>"+this.l10n.getConstant("Border")+'</span><button id="'+t+'_frameBorderBtn"></button>'})),i},e.prototype.getFilterToolbarItem=function(){var e=[],t=this.parent,i=!1,o=t.element.id,r=["Default","Chrome","Cold","Warm","Grayscale","Sepia","Invert"];if(t.toolbar)for(var n=0;n<r.length;n++)if(-1!==t.toolbar.indexOf(r[n])){i=!0;break}((0,l.isNullOrUndefined)(t.toolbar)||!i||t.toolbar&&t.toolbar.indexOf("Default")>-1)&&e.push({id:o+"_default",prefixIcon:"e-icons e-none",cssClass:"top-icon e-none",tooltipText:this.l10n.getConstant("Default"),align:"Center",template:'<div class="filter-wrapper"><canvas id='+o+"_defaultCanvas tabindex=0></canvas><div><span>"+this.l10n.getConstant("Default")+"</span></div></div>"}),((0,l.isNullOrUndefined)(t.toolbar)||!i||t.toolbar&&t.toolbar.indexOf("Chrome")>-1)&&e.push({id:o+"_chrome",prefixIcon:"e-icons e-none",cssClass:"top-icon e-none",tooltipText:this.l10n.getConstant("Chrome"),align:"Center",template:'<div class="filter-wrapper"><canvas id='+o+"_chromeCanvas></canvas><div><span>"+this.l10n.getConstant("Chrome")+"</span></div></div>"}),((0,l.isNullOrUndefined)(t.toolbar)||!i||t.toolbar&&t.toolbar.indexOf("Cold")>-1)&&e.push({id:o+"_cold",prefixIcon:"e-icons e-none",cssClass:"top-icon e-none",tooltipText:this.l10n.getConstant("Cold"),align:"Center",template:'<div class="filter-wrapper"><canvas id='+o+"_coldCanvas></canvas><div><span>"+this.l10n.getConstant("Cold")+"</span></div></div>"}),((0,l.isNullOrUndefined)(t.toolbar)||!i||t.toolbar&&t.toolbar.indexOf("Warm")>-1)&&e.push({id:o+"_warm",prefixIcon:"e-icons e-none",cssClass:"top-icon e-none",tooltipText:this.l10n.getConstant("Warm"),align:"Center",template:'<div class="filter-wrapper"><canvas id='+o+"_warmCanvas></canvas><div><span>"+this.l10n.getConstant("Warm")+"</span></div></div>"}),((0,l.isNullOrUndefined)(t.toolbar)||!i||t.toolbar&&t.toolbar.indexOf("Grayscale")>-1)&&e.push({id:o+"_grayscale",prefixIcon:"e-icons e-none",cssClass:"top-icon e-none",tooltipText:this.l10n.getConstant("Grayscale"),align:"Center",template:'<div class="filter-wrapper"><canvas id='+o+"_grayscaleCanvas></canvas><div><span>"+this.l10n.getConstant("Grayscale")+"</span></div></div>"}),((0,l.isNullOrUndefined)(t.toolbar)||!i||t.toolbar&&t.toolbar.indexOf("Sepia")>-1)&&e.push({id:o+"_sepia",prefixIcon:"e-icons e-none",cssClass:"top-icon e-none",tooltipText:this.l10n.getConstant("Sepia"),align:"Center",template:'<div class="filter-wrapper"><canvas id='+o+"_sepiaCanvas></canvas><div><span>"+this.l10n.getConstant("Sepia")+"</span></div></div>"}),((0,l.isNullOrUndefined)(t.toolbar)||!i||t.toolbar&&t.toolbar.indexOf("Invert")>-1)&&e.push({id:o+"_invert",prefixIcon:"e-icons e-none",cssClass:"top-icon e-none",tooltipText:this.l10n.getConstant("Invert"),align:"Center",template:'<div class="filter-wrapper"><canvas id='+o+"_invertCanvas></canvas><div><span>"+this.l10n.getConstant("Invert")+"</span></div></div>"});for(var a=this.processToolbar("center"),s=(n=0,a.length);n<s;n++)e.push(a[n]);return e},e.prototype.getPenToolbarItem=function(e){var t=this.parent,i=t.element.id,o=[];((0,l.isNullOrUndefined)(t.toolbar)||t.toolbar)&&o.push({id:i+"_annotation",tooltipText:this.l10n.getConstant("Annotation"),align:"Center",template:'<button id="'+i+'_annotationBtn"></button>'}),e.indexOf("strokeColor")>-1&&o.push({prefixIcon:"e-icons e-copy",id:i+"_pen_strokecolor",cssClass:"top-icon e-pen-stroke-color",tooltipText:this.l10n.getConstant("StrokeColor"),align:"Center",type:"Input",template:'<button id="'+i+'_penColorBtn"></button>'}),e.indexOf("strokeWidth")>-1&&o.push({prefixIcon:"e-icons e-copy",id:i+"_pen_strokewidth",cssClass:"top-icon e-size",tooltipText:this.l10n.getConstant("StrokeWidth"),align:"Center",type:"Input",template:'<button id="'+i+'_penStrokeWidth"></button>'}),o.push({align:"Center",type:"Separator"}),e.indexOf("z-order")>-1&&o.push({id:i+"_zOrder",cssClass:"top-icon e-list-unordered-3",tooltipText:this.l10n.getConstant("ZOrder"),align:"Center",type:"Input",template:'<button id="'+i+'_zOrderBtn"></button>'}),e.indexOf("remove")>-1&&o.push({id:i+"_remove",prefixIcon:"e-icons e-trash",cssClass:"top-icon e-trash",tooltipText:this.l10n.getConstant("Remove"),align:"Center"});for(var r=this.processSubToolbar(e),n=0,a=r.length;n<a;n++)o.push(r[n]);return l.Browser.isDevice||(o.push({id:i+"_ok",prefixIcon:"e-icons e-check",cssClass:"top-icon e-tick",tooltipText:this.l10n.getConstant("OK"),align:"Right",tabIndex:0}),o.push({id:i+"_cancel",prefixIcon:"e-icons e-close",cssClass:"top-icon e-save",tooltipText:this.l10n.getConstant("Cancel"),align:"Right"})),o},e.prototype.initPenToolbarItem=function(e){var t=this,i=this.parent,o=i.element.id,r=this.getLeftToolbarItem(),n=this.getRightToolbarItem(),a=this.getPenToolbarItem(e),s=this.getZoomToolbarItem();l.Browser.isDevice?this.defToolbarItems=a:this.defToolbarItems=r.concat(s,a,n);var p={toolbarType:"pen",toolbarItems:this.defToolbarItems};i.trigger("toolbarUpdating",p),this.isToolbarString(p.toolbarItems)?(e=p.toolbarItems,this.excludeItems(p.toolbarItems)):this.defToolbarItems=p.toolbarItems;var d=new c.Toolbar({width:"100%",items:this.defToolbarItems,clicked:this.defToolbarClicked.bind(this),created:function(){t.renderAnnotationBtn(!0),t.createPenColor(e),t.createPenBtn(e),t.createZOrderBtn(e),t.wireZoomBtnEvents(),i.trigger("toolbarCreated",{toolbarType:"pen"}),l.Browser.isDevice?t.defToolbarItems.length>0&&i.element.querySelector("#"+o+"_toolbar")&&(d.refreshOverflow(),d.refreshOverflow()):(t.createLeftToolbarControls(),t.defToolbarItems.length>0&&i.element.querySelector("#"+o+"_toolbar")&&d.refreshOverflow())}});l.Browser.isDevice?d.appendTo(i.element.querySelector("#"+o+"_bottomToolbar")):d.appendTo(i.element.querySelector("#"+o+"_toolbar")),this.enableDisableTbrBtn()},e.prototype.createPenColor=function(e){var t=this,i=this.parent,o=i.element.id;if(e.indexOf("strokeColor")>-1){i.element.querySelector(".e-template.e-pen-stroke-color").appendChild(i.createElement("input",{id:o+"_pen_stroke"}));var r=i.activeObj.strokeSettings.strokeColor,n=new A.ColorPicker({modeSwitcher:!1,value:"#fff",showButtons:!1,mode:"Palette",cssClass:"e-pen-color",change:function(e){i.updatePenStrokeColor(e.currentValue.hex),t.selFhdColor=e.currentValue.hex,a.element.children[0].style.backgroundColor=e.currentValue.rgba,a.toggle(),i.notify("undo-redo",{prop:"updateUndoRedoStack",value:{isPenDraw:!0}})}},"#"+o+"_pen_stroke"),a=new d.DropDownButton({open:function(e){var t=e.element.parentElement;l.Browser.isDevice&&(t.style.top=a.element.getBoundingClientRect().top-t.offsetHeight+"px",window.innerWidth<=520&&(t.style.left=i.element.offsetLeft+"px"))},target:".e-pen-color",iconCss:"e-dropdownbtn-preview",cssClass:"e-ie-ddb-popup"},"#"+o+"_penColorBtn");n.inline=!0,n.value=n.getValue(i.activeObj.strokeSettings.strokeColor,"rgba"),"null"===n.value&&(n.value=r);var s={tempFreeHandDrawEditingStyles:null};i.notify("freehand-draw",{prop:"getTempFreeHandDrawEditingStyles",value:{obj:s}});var p={freehandSelectedIndex:null};i.notify("freehand-draw",{prop:"getFreehandSelectedIndex",onPropertyChange:!1,value:{obj:p}}),!(0,l.isNullOrUndefined)(p.freehandSelectedIndex)&&p.freehandSelectedIndex>-1?i.element.querySelector(".e-pen-stroke-color.e-template .e-dropdownbtn-preview").style.background="#42a5f5"===this.selFhdColor?s.tempFreeHandDrawEditingStyles.strokeColor:i.pointColl[p.freehandSelectedIndex].strokeColor:i.element.querySelector(".e-pen-stroke-color.e-template .e-dropdownbtn-preview").style.background=n.value}},e.prototype.createPenBtn=function(e){var t=this,i=this.parent,o=i.element.id,r=[{id:"1",text:this.l10n.getConstant("XSmall")},{id:"2",text:this.l10n.getConstant("Small")},{id:"3",text:this.l10n.getConstant("Medium")},{id:"4",text:this.l10n.getConstant("Large")},{id:"5",text:this.l10n.getConstant("XLarge")}];if(e.indexOf("strokeWidth")>-1){var n=i.element.querySelector("#"+o+"_penStrokeWidth"),a=i.createElement("span"),s={freehandSelectedIndex:null};if(i.notify("freehand-draw",{prop:"getFreehandSelectedIndex",onPropertyChange:!1,value:{obj:s}}),!(0,l.isNullOrUndefined)(s.freehandSelectedIndex)&&s.freehandSelectedIndex>-1)a.innerHTML=this.getPenStroke(i.pointColl[s.freehandSelectedIndex].strokeWidth);else{var p={penStrokeWidth:2};i.notify("freehand-draw",{prop:"getPenStrokeWidth",onPropertyChange:!1,value:{obj:p}}),a.innerHTML=p.penStrokeWidth?this.getPenStroke(p.penStrokeWidth):this.l10n.getConstant("Small")}a.className="e-pen-stroke-width",n.appendChild(a);var h=new d.DropDownButton({items:r,open:function(e){l.Browser.isDevice&&(e.element.parentElement.style.top=h.element.getBoundingClientRect().top-e.element.parentElement.offsetHeight+"px");var t=a.innerHTML;e.element.querySelector('[aria-label = "'+t+'"]').classList.add("e-selected-btn")},select:function(e){(t.triggerTbarClickEvent(e),a.textContent=e.item.text,i.updatePenStrokeWidth(e.item.id),l.Browser.isDevice)?i.element.querySelector("#"+o+"_bottomToolbar")&&(0,l.getComponent)(o+"_bottomToolbar","toolbar").refreshOverflow():i.element.querySelector("#"+o+"_toolbar")&&(0,l.getComponent)(o+"_toolbar","toolbar").refreshOverflow();var r={penStrokeWidth:null};i.notify("freehand-draw",{prop:"getPenStrokeWidth",onPropertyChange:!1,value:{obj:r}}),i.notify("undo-redo",{prop:"updateUndoRedoStack",value:{isPenDraw:!0}}),i.notify("freehand-draw",{prop:"setPenStrokeWidth",onPropertyChange:!1,value:{value:r.penStrokeWidth}})}});h.appendTo(i.element.querySelector("#"+o+"_penStrokeWidth"))}},e.prototype.getPenStroke=function(e){var t="",i={1:this.l10n.getConstant("XSmall"),2:this.l10n.getConstant("Small"),3:this.l10n.getConstant("Medium"),4:this.l10n.getConstant("Large"),5:this.l10n.getConstant("XLarge")};return e>=1&&e<=5&&(t=i[e]),t},e.prototype.initAdjustmentToolbarItem=function(){var e=this,t=this.parent,i=t.element.id,o=this.getLeftToolbarItem(null),r=this.getRightToolbarItem(),n=this.getAdjustmentToolbarItem(),a=this.getZoomToolbarItem();l.Browser.isDevice?this.defToolbarItems=n:this.defToolbarItems=o.concat(a,n,r);var s={toolbarType:"finetune",toolbarItems:this.defToolbarItems};t.trigger("toolbarUpdating",s),this.defToolbarItems=s.toolbarItems;var p=new c.Toolbar({width:"100%",items:this.defToolbarItems,clicked:this.defToolbarClicked.bind(this),created:function(){e.wireZoomBtnEvents(),l.Browser.isDevice||e.createLeftToolbarControls(),e.defToolbarItems.length>0&&t.element.querySelector("#"+i+"_toolbar")&&p.refreshOverflow()}});l.Browser.isDevice?p.appendTo(t.element.querySelector("#"+i+"_bottomToolbar")):p.appendTo(t.element.querySelector("#"+i+"_toolbar")),this.enableDisableTbrBtn()},e.prototype.initFrameToolbarItem=function(){var e=this,t=this.parent,i=t.element.id,o=t.element.querySelector("#"+i+"_contextualToolbarArea"),r=t.element.querySelector("#"+i+"_frameWrapper");r?r.style.display="block":r=o.appendChild(t.createElement("div",{id:i+"_frameWrapper",className:"e-frame-wrapper",styles:"position: relative"})),r.appendChild(t.createElement("div",{id:i+"_customizeWrapper",styles:"position: absolute"}));var n=this.getFrameToolbarItem(),a={toolbarType:"frame",toolbarItems:n};t.trigger("toolbarUpdating",a),n=a.toolbarItems;var s=new c.Toolbar({width:"100%",items:n,clicked:this.defToolbarClicked.bind(this),created:function(){e.createFrameColor(),e.createFrameSize();var o=t.frameObj.type;"line"===o&&e.createFrameRadius(),"line"!==o&&"inset"!==o&&"hook"!==o||e.createFrameInset(),"line"!==o&&"inset"!==o||e.createFrameOffset(),"line"===o&&(e.createFrameAmount(),e.createFrameBorder()),e.createFrameGradientColor(),l.Browser.isDevice?e.defToolbarItems.length>0&&t.element.querySelector("#"+i+"_bottomToolbar")&&(s.refreshOverflow(),s.refreshOverflow(),s.refreshOverflow()):(e.createLeftToolbarControls(),e.defToolbarItems.length>0&&t.element.querySelector("#"+i+"_toolbar")&&s.refreshOverflow()),t.element.querySelector("#"+i+"_"+o).focus()}});s.appendTo(t.element.querySelector("#"+i+"_customizeWrapper"))},e.prototype.createFrameGradientColor=function(){var e,t=this.parent,i={frameChangeEventArgs:null},o=t.element.id;t.element.querySelector(".e-template.e-frame-stroke").appendChild(t.createElement("input",{id:o+"_frame_gradient_fill"}));var r=new A.ColorPicker({modeSwitcher:!1,noColor:!0,value:t.frameObj.gradientColor,showButtons:!1,mode:"Palette",cssClass:"e-frame-gradient-fill-color",change:function(o){e={type:t.toPascalCase(t.frameObj.type),color:t.frameObj.color,gradientColor:t.frameObj.gradientColor,size:t.frameObj.size,inset:t.frameObj.inset,offset:t.frameObj.offset,borderRadius:t.frameObj.radius,frameLineStyle:t.toPascalCase(t.frameObj.border),lineCount:t.frameObj.amount};var r=t.frameObj.gradientColor,a={currObj:{}};t.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:a}}),t.frameObj.gradientColor=o.currentValue.hex,t.notify("draw",{prop:"triggerFrameChange",value:{prevFrameSettings:e,obj:i}}),i.frameChangeEventArgs&&!i.frameChangeEventArgs.cancel?(t.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"frame",previousObj:a.currObj,previousObjColl:a.currObj.objColl,previousPointColl:a.currObj.pointColl,previousSelPointColl:a.currObj.selPointColl,previousCropObj:(0,l.extend)({},t.cropObj,{},!0),previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),t.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:!0}}),t.notify("draw",{prop:"redrawDownScale"}),""===o.currentValue.rgba?n.element.children[0].classList.add("e-nocolor-item"):(n.element.children[0].classList.remove("e-nocolor-item"),n.element.children[0].style.backgroundColor=o.currentValue.rgba),t.curFrameObjEvent={previousFrameSetting:i.frameChangeEventArgs.previousFrameSetting,currentFrameSetting:i.frameChangeEventArgs.currentFrameSetting},t.isFrameBtnClick=!0):t.frameObj.gradientColor=r,n.toggle()}},"#"+o+"_frame_gradient_fill"),n=new d.DropDownButton({open:function(e){if(l.Browser.isDevice){var i=e.element.parentElement;i.style.top=n.element.getBoundingClientRect().top-i.offsetHeight+"px",window.innerWidth<=520&&(i.style.left=t.element.offsetLeft+"px")}},target:".e-frame-gradient-fill-color",iconCss:"e-dropdownbtn-preview",cssClass:"e-ie-ddb-popup"},"#"+o+"_frameGradientColorBtn");r.inline=!0,""===t.frameObj.gradientColor?t.element.querySelector(".e-frame-stroke.e-template .e-dropdownbtn-preview").classList.add("e-nocolor-item"):t.element.querySelector(".e-frame-stroke.e-template .e-dropdownbtn-preview").style.background=t.frameObj.gradientColor},e.prototype.createFrameColor=function(){var e,t=this.parent,i={frameChangeEventArgs:null},o=t.element.id;t.element.querySelector(".e-template.e-stroke").appendChild(t.createElement("input",{id:o+"_frame_fill"}));var r=new A.ColorPicker({modeSwitcher:!1,value:t.frameObj.color,showButtons:!1,mode:"Palette",cssClass:"e-frame-fill-color",change:function(o){e={type:t.toPascalCase(t.frameObj.type),color:t.frameObj.color,gradientColor:t.frameObj.gradientColor,size:t.frameObj.size,inset:t.frameObj.inset,offset:t.frameObj.offset,borderRadius:t.frameObj.radius,frameLineStyle:t.toPascalCase(t.frameObj.border),lineCount:t.frameObj.amount};var r=t.frameObj.color,a={currObj:{}};t.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:a}}),t.frameObj.color=o.currentValue.hex,t.notify("draw",{prop:"triggerFrameChange",value:{prevFrameSettings:e,obj:i}}),i.frameChangeEventArgs&&!i.frameChangeEventArgs.cancel?(t.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"frame",previousObj:a.currObj,previousObjColl:a.currObj.objColl,previousPointColl:a.currObj.pointColl,previousSelPointColl:a.currObj.selPointColl,previousCropObj:(0,l.extend)({},t.cropObj,{},!0),previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),t.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:!0}}),t.notify("draw",{prop:"redrawDownScale"}),""===o.currentValue.rgba?n.element.children[0].classList.add("e-nocolor-item"):(n.element.children[0].classList.remove("e-nocolor-item"),n.element.children[0].style.backgroundColor=o.currentValue.rgba),t.curFrameObjEvent={previousFrameSetting:i.frameChangeEventArgs.previousFrameSetting,currentFrameSetting:i.frameChangeEventArgs.currentFrameSetting},t.isFrameBtnClick=!0):t.frameObj.color=r,n.toggle()}},"#"+o+"_frame_fill"),n=new d.DropDownButton({open:function(e){if(l.Browser.isDevice){var i=e.element.parentElement;i.style.top=n.element.getBoundingClientRect().top-i.offsetHeight+"px",window.innerWidth<=520&&(i.style.left=t.element.offsetLeft+"px")}},target:".e-frame-fill-color",iconCss:"e-dropdownbtn-preview",cssClass:"e-ie-ddb-popup"},"#"+o+"_frameColorBtn");r.inline=!0,t.element.querySelector(".e-stroke.e-template .e-dropdownbtn-preview").style.background=t.frameObj.color},e.prototype.createFrameSize=function(){var e,t=this,i=this.parent,o={frameChangeEventArgs:null},r=i.element.id,n=[{id:"1",text:this.l10n.getConstant("20")},{id:"2",text:this.l10n.getConstant("40")},{id:"3",text:this.l10n.getConstant("60")},{id:"4",text:this.l10n.getConstant("80")},{id:"5",text:this.l10n.getConstant("100")}],a=i.element.querySelector("#"+r+"_frameSizeBtn"),s=i.createElement("span");s.innerHTML=this.l10n.getConstant(i.frameObj.size.toString()),s.className="e-frame-stroke-width",a.appendChild(s);var p=new d.DropDownButton({items:n,open:function(e){if(l.Browser.isDevice){var t=e.element.parentElement;t.style.top=p.element.getBoundingClientRect().top-t.offsetHeight+"px"}var i=p.element.childNodes[0].textContent;""!==i&&e.element.querySelector('[aria-label = "'+i+'"]').classList.add("e-selected-btn")},select:function(n){t.triggerTbarClickEvent(n),e={type:i.toPascalCase(i.frameObj.type),color:i.frameObj.color,gradientColor:i.frameObj.gradientColor,size:i.frameObj.size,inset:i.frameObj.inset,offset:i.frameObj.offset,borderRadius:i.frameObj.radius,frameLineStyle:i.toPascalCase(i.frameObj.border),lineCount:i.frameObj.amount};var a=i.frameObj.size,s={currObj:{}};(i.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:s}}),i.frameObj.size=parseInt(n.item.text,10),i.notify("draw",{prop:"triggerFrameChange",value:{prevFrameSettings:e,obj:o}}),o.frameChangeEventArgs&&!o.frameChangeEventArgs.cancel?(i.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"frame",previousObj:s.currObj,previousObjColl:s.currObj.objColl,previousPointColl:s.currObj.pointColl,previousSelPointColl:s.currObj.selPointColl,previousCropObj:(0,l.extend)({},i.cropObj,{},!0),previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),i.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:!0}}),i.notify("draw",{prop:"redrawDownScale"}),p.content=n.item.text,i.curFrameObjEvent={previousFrameSetting:o.frameChangeEventArgs.previousFrameSetting,currentFrameSetting:o.frameChangeEventArgs.currentFrameSetting},i.isFrameBtnClick=!0):i.frameObj.size=a,l.Browser.isDevice)?i.element.querySelector("#"+r+"_bottomToolbar")&&(0,l.getComponent)(r+"_bottomToolbar","toolbar").refreshOverflow():i.element.querySelector("#"+r+"_toolbar")&&(0,l.getComponent)(r+"_toolbar","toolbar").refreshOverflow()}});p.appendTo(i.element.querySelector("#"+r+"_frameSizeBtn"))},e.prototype.createFrameInset=function(){var e,t=this,i=this.parent,o={frameChangeEventArgs:null},r=i.element.id,n=[{id:"1",text:this.l10n.getConstant("20")},{id:"2",text:this.l10n.getConstant("40")},{id:"3",text:this.l10n.getConstant("60")},{id:"4",text:this.l10n.getConstant("80")},{id:"5",text:this.l10n.getConstant("100")}],a=i.element.querySelector("#"+r+"_frameInsetBtn"),s=i.createElement("span");s.innerHTML=this.l10n.getConstant(i.frameObj.inset.toString()),s.className="e-frame-inset",a.appendChild(s);var p=new d.DropDownButton({items:n,open:function(e){if(l.Browser.isDevice){var t=e.element.parentElement;t.style.top=p.element.getBoundingClientRect().top-t.offsetHeight+"px"}var i=p.element.childNodes[0].textContent;""!==i&&e.element.querySelector('[aria-label = "'+i+'"]').classList.add("e-selected-btn")},select:function(n){t.triggerTbarClickEvent(n),e={type:i.toPascalCase(i.frameObj.type),color:i.frameObj.color,gradientColor:i.frameObj.gradientColor,size:i.frameObj.size,inset:i.frameObj.inset,offset:i.frameObj.offset,borderRadius:i.frameObj.radius,frameLineStyle:i.toPascalCase(i.frameObj.border),lineCount:i.frameObj.amount};var a=i.frameObj.inset,s={currObj:{}};(i.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:s}}),i.frameObj.inset=parseInt(n.item.text,10),i.notify("draw",{prop:"triggerFrameChange",value:{prevFrameSettings:e,obj:o}}),o.frameChangeEventArgs&&!o.frameChangeEventArgs.cancel?(i.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"frame",previousObj:s.currObj,previousObjColl:s.currObj.objColl,previousPointColl:s.currObj.pointColl,previousSelPointColl:s.currObj.selPointColl,previousCropObj:(0,l.extend)({},i.cropObj,{},!0),previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),i.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:!0}}),i.notify("draw",{prop:"redrawDownScale"}),p.content=n.item.text,i.curFrameObjEvent={previousFrameSetting:o.frameChangeEventArgs.previousFrameSetting,currentFrameSetting:o.frameChangeEventArgs.currentFrameSetting},i.isFrameBtnClick=!0):i.frameObj.inset=a,l.Browser.isDevice)?i.element.querySelector("#"+r+"_bottomToolbar")&&(0,l.getComponent)(r+"_bottomToolbar","toolbar").refreshOverflow():i.element.querySelector("#"+r+"_toolbar")&&(0,l.getComponent)(r+"_toolbar","toolbar").refreshOverflow()}});p.appendTo(i.element.querySelector("#"+r+"_frameInsetBtn"))},e.prototype.createFrameOffset=function(){var e,t=this,i=this.parent,o={frameChangeEventArgs:null},r=i.element.id,n=[{id:"1",text:this.l10n.getConstant("20")},{id:"2",text:this.l10n.getConstant("40")},{id:"3",text:this.l10n.getConstant("60")},{id:"4",text:this.l10n.getConstant("80")},{id:"5",text:this.l10n.getConstant("100")}],a=i.element.querySelector("#"+r+"_frameOffsetBtn"),s=i.createElement("span");s.innerHTML=this.l10n.getConstant(i.frameObj.offset.toString()),s.className="e-frame-offset",a.appendChild(s);var p=new d.DropDownButton({items:n,open:function(e){if(l.Browser.isDevice){var t=e.element.parentElement;t.style.top=p.element.getBoundingClientRect().top-t.offsetHeight+"px"}var i=p.element.childNodes[0].textContent;""!==i&&e.element.querySelector('[aria-label = "'+i+'"]').classList.add("e-selected-btn")},select:function(n){t.triggerTbarClickEvent(n),e={type:i.toPascalCase(i.frameObj.type),color:i.frameObj.color,gradientColor:i.frameObj.gradientColor,size:i.frameObj.size,inset:i.frameObj.inset,offset:i.frameObj.offset,borderRadius:i.frameObj.radius,lineCount:i.frameObj.amount,frameLineStyle:i.toPascalCase(i.frameObj.border)};var a=i.frameObj.offset,s={currObj:{}};(i.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:s}}),i.frameObj.offset=parseInt(n.item.text,10),i.notify("draw",{prop:"triggerFrameChange",value:{prevFrameSettings:e,obj:o}}),o.frameChangeEventArgs&&!o.frameChangeEventArgs.cancel?(i.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"frame",previousObj:s.currObj,previousObjColl:s.currObj.objColl,previousPointColl:s.currObj.pointColl,previousSelPointColl:s.currObj.selPointColl,previousCropObj:(0,l.extend)({},i.cropObj,{},!0),previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),i.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:!0}}),i.notify("draw",{prop:"redrawDownScale"}),p.content=n.item.text,i.curFrameObjEvent={previousFrameSetting:o.frameChangeEventArgs.previousFrameSetting,currentFrameSetting:o.frameChangeEventArgs.currentFrameSetting},i.isFrameBtnClick=!0):i.frameObj.offset=a,l.Browser.isDevice)?i.element.querySelector("#"+r+"_bottomToolbar")&&(0,l.getComponent)(r+"_bottomToolbar","toolbar").refreshOverflow():i.element.querySelector("#"+r+"_toolbar")&&(0,l.getComponent)(r+"_toolbar","toolbar").refreshOverflow()}});p.appendTo(i.element.querySelector("#"+r+"_frameOffsetBtn"))},e.prototype.createFrameRadius=function(){var e,t=this,i=this.parent,o={frameChangeEventArgs:null},r=i.element.id,n=[{id:"1",text:this.l10n.getConstant("0")},{id:"2",text:this.l10n.getConstant("20")},{id:"3",text:this.l10n.getConstant("40")},{id:"4",text:this.l10n.getConstant("60")},{id:"5",text:this.l10n.getConstant("80")},{id:"6",text:this.l10n.getConstant("100")}],a=i.element.querySelector("#"+r+"_frameRadiusBtn"),s=i.createElement("span");s.innerHTML=this.l10n.getConstant(i.frameObj.radius.toString()),s.className="e-frame-radius",a.appendChild(s);var p=new d.DropDownButton({items:n,open:function(e){if(l.Browser.isDevice){var t=e.element.parentElement;t.style.top=p.element.getBoundingClientRect().top-t.offsetHeight+"px"}var i=p.element.childNodes[0].textContent;""!==i&&e.element.querySelector('[aria-label = "'+i+'"]').classList.add("e-selected-btn")},select:function(n){t.triggerTbarClickEvent(n),e={type:i.toPascalCase(i.frameObj.type),color:i.frameObj.color,gradientColor:i.frameObj.gradientColor,size:i.frameObj.size,inset:i.frameObj.inset,offset:i.frameObj.offset,borderRadius:i.frameObj.radius,frameLineStyle:i.toPascalCase(i.frameObj.border),lineCount:i.frameObj.amount};var a=i.frameObj.radius,s={currObj:{}};(i.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:s}}),i.frameObj.radius=parseInt(n.item.text,10),i.notify("draw",{prop:"triggerFrameChange",value:{prevFrameSettings:e,obj:o}}),o.frameChangeEventArgs&&!o.frameChangeEventArgs.cancel?(i.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"frame",previousObj:s.currObj,previousObjColl:s.currObj.objColl,previousPointColl:s.currObj.pointColl,previousSelPointColl:s.currObj.selPointColl,previousCropObj:(0,l.extend)({},i.cropObj,{},!0),previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),i.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:!0}}),i.notify("draw",{prop:"redrawDownScale"}),p.content=n.item.text,i.curFrameObjEvent={previousFrameSetting:o.frameChangeEventArgs.previousFrameSetting,currentFrameSetting:o.frameChangeEventArgs.currentFrameSetting},i.isFrameBtnClick=!0):i.frameObj.radius=a,l.Browser.isDevice)?i.element.querySelector("#"+r+"_bottomToolbar")&&(0,l.getComponent)(r+"_bottomToolbar","toolbar").refreshOverflow():i.element.querySelector("#"+r+"_toolbar")&&(0,l.getComponent)(r+"_toolbar","toolbar").refreshOverflow()}});p.appendTo(i.element.querySelector("#"+r+"_frameRadiusBtn"))},e.prototype.createFrameAmount=function(){var e,t=this,i=this.parent,o={frameChangeEventArgs:null},r=i.element.id,n=[{id:"1",text:this.l10n.getConstant("1")},{id:"2",text:this.l10n.getConstant("2")},{id:"3",text:this.l10n.getConstant("3")},{id:"4",text:this.l10n.getConstant("4")},{id:"5",text:this.l10n.getConstant("5")}],a=i.element.querySelector("#"+r+"_frameAmountBtn"),s=i.createElement("span");s.innerHTML=this.l10n.getConstant(i.frameObj.amount.toString()),s.className="e-frame-amount",a.appendChild(s);var p=new d.DropDownButton({items:n,open:function(e){if(l.Browser.isDevice){var t=e.element.parentElement;t.style.top=p.element.getBoundingClientRect().top-t.offsetHeight+"px"}var i=p.element.childNodes[0].textContent;""!==i&&e.element.querySelector('[aria-label = "'+i+'"]').classList.add("e-selected-btn")},select:function(n){t.triggerTbarClickEvent(n),e={type:i.toPascalCase(i.frameObj.type),color:i.frameObj.color,gradientColor:i.frameObj.gradientColor,size:i.frameObj.size,inset:i.frameObj.inset,offset:i.frameObj.offset,borderRadius:i.frameObj.radius,lineCount:i.frameObj.amount,frameLineStyle:i.toPascalCase(i.frameObj.border)};var a=i.frameObj.amount,s={currObj:{}};(i.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:s}}),i.frameObj.amount=parseInt(n.item.text,10),i.notify("draw",{prop:"triggerFrameChange",value:{prevFrameSettings:e,obj:o}}),o.frameChangeEventArgs&&!o.frameChangeEventArgs.cancel?(i.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"frame",previousObj:s.currObj,previousObjColl:s.currObj.objColl,previousPointColl:s.currObj.pointColl,previousSelPointColl:s.currObj.selPointColl,previousCropObj:(0,l.extend)({},i.cropObj,{},!0),previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),i.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:!0}}),i.notify("draw",{prop:"redrawDownScale"}),p.content=n.item.text,i.curFrameObjEvent={previousFrameSetting:o.frameChangeEventArgs.previousFrameSetting,currentFrameSetting:o.frameChangeEventArgs.currentFrameSetting},i.isFrameBtnClick=!0):i.frameObj.amount=a,l.Browser.isDevice)?i.element.querySelector("#"+r+"_bottomToolbar")&&(0,l.getComponent)(r+"_bottomToolbar","toolbar").refreshOverflow():i.element.querySelector("#"+r+"_toolbar")&&(0,l.getComponent)(r+"_toolbar","toolbar").refreshOverflow()}});p.appendTo(i.element.querySelector("#"+r+"_frameAmountBtn"))},e.prototype.createFrameBorder=function(){var e,t=this,i=this.parent,o={frameChangeEventArgs:null},r=i.element.id,n=[{id:"1",text:this.l10n.getConstant("Solid")},{id:"2",text:this.l10n.getConstant("Dashed")},{id:"3",text:this.l10n.getConstant("Dotted")}],a=i.element.querySelector("#"+r+"_frameBorderBtn"),s=i.createElement("span");s.innerHTML=this.l10n.getConstant(i.toPascalCase(i.frameObj.border)),s.className="e-frame-border",a.appendChild(s);var p=new d.DropDownButton({items:n,open:function(e){if(l.Browser.isDevice){var t=e.element.parentElement;t.style.top=p.element.getBoundingClientRect().top-t.offsetHeight+"px"}var i=p.element.childNodes[0].textContent;""!==i&&e.element.querySelector('[aria-label = "'+i+'"]').classList.add("e-selected-btn")},select:function(n){t.triggerTbarClickEvent(n),e={lineCount:i.frameObj.amount,color:i.frameObj.color,borderRadius:i.frameObj.radius,gradientColor:i.frameObj.gradientColor,size:i.frameObj.size,inset:i.frameObj.inset,offset:i.frameObj.offset,frameLineStyle:i.toPascalCase(i.frameObj.border),type:i.toPascalCase(i.frameObj.type)};var a=i.frameObj.border,s={currObj:{}};(i.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:s}}),i.frameObj.border=n.item.text.toLowerCase(),i.notify("draw",{prop:"triggerFrameChange",value:{prevFrameSettings:e,obj:o}}),o.frameChangeEventArgs&&!o.frameChangeEventArgs.cancel?(i.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"frame",previousObj:s.currObj,previousObjColl:s.currObj.objColl,previousPointColl:s.currObj.pointColl,previousSelPointColl:s.currObj.selPointColl,previousCropObj:(0,l.extend)({},i.cropObj,{},!0),previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),i.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:!0}}),i.notify("draw",{prop:"redrawDownScale"}),p.content=n.item.text,i.curFrameObjEvent={previousFrameSetting:o.frameChangeEventArgs.previousFrameSetting,currentFrameSetting:o.frameChangeEventArgs.currentFrameSetting},i.isFrameBtnClick=!0):i.frameObj.border=a,l.Browser.isDevice)?i.element.querySelector("#"+r+"_bottomToolbar")&&(0,l.getComponent)(r+"_bottomToolbar","toolbar").refreshOverflow():i.element.querySelector("#"+r+"_toolbar")&&(0,l.getComponent)(r+"_toolbar","toolbar").refreshOverflow()}});p.appendTo(i.element.querySelector("#"+r+"_frameBorderBtn"))},e.prototype.initFilterToolbarItem=function(){var e=this,t=this.parent,i=t.element.id,o=this.getFilterToolbarItem(),r={toolbarType:"filter",toolbarItems:o};t.trigger("toolbarUpdating",r),o=r.toolbarItems,t.element.querySelector("#"+i+"_contextualToolbar").classList.contains("e-control")&&(0,l.getComponent)(t.element.querySelector("#"+i+"_contextualToolbar"),"toolbar").destroy();var n=new c.Toolbar({width:"100%",items:o,clicked:this.contextualToolbarClicked.bind(this),created:function(){e.updatePrivateVariables(),e.createCanvasFilter(),""===t.currentFilter&&(t.currentFilter=i+"_default");var o=t.element.querySelector("#"+i+"_headWrapper");o&&(o.style.display="none");var r=t.element.querySelector("#"+t.currentFilter+"Canvas");r&&r.parentElement.parentElement.classList.add("e-selected"),e.enableDisableTbrBtn(),n.refreshOverflow()}});n.appendTo(t.element.querySelector("#"+i+"_contextualToolbar"))},e.prototype.drawDashedLine=function(e){e.beginPath(),e.setLineDash([5]),e.rect(10,10,280,130),e.stroke(),e.closePath()},e.prototype.createCanvasFilter=function(){var e=this.parent;(0,I.showSpinner)(e.element),e.element.style.opacity="0.5";var t=e.getCurrentCanvasData();this.inMemoryCanvas.width=t.width,this.inMemoryCanvas.height=t.height,this.inMemoryContext.putImageData(t,0,0),this.updateFilterCanvas("_defaultCanvas","default"),this.updateFilterCanvas("_chromeCanvas","chrome"),this.updateFilterCanvas("_coldCanvas","cold"),this.updateFilterCanvas("_warmCanvas","warm"),this.updateFilterCanvas("_grayscaleCanvas","grayscale"),this.updateFilterCanvas("_sepiaCanvas","sepia"),this.updateFilterCanvas("_invertCanvas","invert"),(0,I.hideSpinner)(e.element),e.element.style.opacity="1",e.initialAdjustmentValue=this.lowerContext.filter},e.prototype.updateFilterCanvas=function(e,t){var i=this.parent,o=i.element.querySelector("#"+i.element.id+e);if(o){var r=o.getContext("2d");(r=o.getContext("2d")).imageSmoothingQuality=i.imageSmoothingEnabled?"high":"low",o.style.width="100px",o.style.height="100px",i.notify("filter",{prop:"updateAdj",value:{type:t,value:null,isPreview:!0,ctx:r}}),r.drawImage(this.inMemoryCanvas,0,0,300,150),i.isSafari&&i.notify("filter",{prop:"apply-filter",onPropertyChange:!1,value:{context:r}})}},e.prototype.getQuickAccessToolbarItem=function(e){var t=this.parent,i=t.element.id,o={cancel:!1,toolbarItems:[]},r=[];(0,l.isNullOrUndefined)(e)?("image"===t.activeObj.shape&&r.push("Flip"),"redact"!==t.activeObj.shape&&r.push("BringToFront"),r.push("Clone"),r.push("Delete"),"text"===t.activeObj.shape&&r.push("EditText"),o.shape=t.toPascalCase(t.activeObj.shape)):e&&(r.push("BringToFront"),r.push("Delete"),o.shape="Freehand draw"),o.toolbarItems=(0,l.extend)([],r,null,!0),t.trigger("quickAccessToolbarOpen",o);var n=[];if(o.cancel)n=[];else for(var a=0;a<o.toolbarItems.length;a++)switch(o.toolbarItems[a]){case"BringToFront":n.push({id:i+"_bringToFront",prefixIcon:"e-icons e-bring-to-front",tooltipText:this.l10n.getConstant("BringToFront"),align:"Left"});break;case"Clone":n.push({id:i+"_duplicate",prefixIcon:"e-icons e-order",cssClass:"top-icon e-order",tooltipText:this.l10n.getConstant("Duplicate"),align:"Left"});break;case"Delete":n.push({id:i+"_remove",prefixIcon:"e-icons e-trash",cssClass:"top-icon e-trash",tooltipText:this.l10n.getConstant("Remove"),align:"Left"});break;case"EditText":n.push({id:i+"_editText",prefixIcon:"e-icons e-annotation-edit",cssClass:"top-icon e-annotation-edit",tooltipText:this.l10n.getConstant("EditText"),align:"Left"});break;case"Flip":n.push({id:i+"_hFlip",prefixIcon:"e-icons e-horizontal-flip",tooltipText:this.l10n.getConstant("HorizontalFlip"),align:"Left"}),n.push({id:i+"_vFlip",prefixIcon:"e-icons e-vertical-flip",tooltipText:this.l10n.getConstant("VerticalFlip"),align:"Left"});break;default:n.push(o.toolbarItems[a])}return n},e.prototype.renderQAT=function(e){var t=this.parent,i=t.element.id;if(t.activeObj&&t.showQuickAccessToolbar){var o=t.element.querySelector("#"+i+"_quickAccessToolbarArea");o&&(this.destroyQuickAccessToolbar(),o.style.display="block");var r=this.getQuickAccessToolbarItem(e);if(0===r.length)return;if((0,l.isNullOrUndefined)(t.quickAccessToolbarTemplate))new c.Toolbar({items:r,clicked:this.quickAccessToolbarClicked.bind(this)}).appendTo(t.element.querySelector("#"+i+"_quickAccessToolbar"));var n=this.toolbarHeight&&0!==this.toolbarHeight?this.toolbarHeight:o.clientHeight,a=t.element.querySelector("#"+i+"_headWrapper");if((0,l.isNullOrUndefined)(e)&&(0!==t.activeObj.activePoint.width||0!==t.activeObj.activePoint.height||t.activeObj.shape&&"path"===t.activeObj.shape&&t.activeObj.pointColl.length>0)){var s={order:null};t.notify("shape",{prop:"getHighestOrder",onPropertyChange:!1,value:{obj:s}}),t.activeObj.order>s.order&&t.element.querySelector("#"+t.element.id+"_bringToFront")?t.element.querySelector("#"+t.element.id+"_bringToFront").parentElement.classList.add("e-overlay"):t.element.querySelector("#"+t.element.id+"_bringToFront")&&t.element.querySelector("#"+t.element.id+"_bringToFront").parentElement.classList.remove("e-overlay"),o.style.width="auto",t.activeObj.activePoint.width=Math.abs(t.activeObj.activePoint.width),t.activeObj.activePoint.height=Math.abs(t.activeObj.activePoint.height);var p=t.activeObj.activePoint.startX<t.activeObj.activePoint.endX?t.activeObj.activePoint.startX:t.activeObj.activePoint.endX,d=t.activeObj.activePoint.startY<t.activeObj.activePoint.endY?t.activeObj.activePoint.startY:t.activeObj.activePoint.endY,h=t.activeObj.activePoint.width;if(0!==t.activeObj.rotatedAngle&&"arrow"!==t.activeObj.shape){var u={activePoint:null};t.notify("shape",{prop:"getSquarePointForRotatedShape",onPropertyChange:!1,value:{obj:t.activeObj,object:u}}),p=(b=u.activePoint).startX,d=b.startY,h=b.width}else if("path"===t.activeObj.shape){var v=t.getSquarePointForPath(t.activeObj);p=v.startX,d=v.startY,h=v.width}if(o.style.left=p+h/2-25*r.length+"px",parseFloat(o.style.left)+o.clientWidth/2!==p+h/2){var g=p+h/2-(parseFloat(o.style.left)+o.clientWidth/2);o.style.left=parseFloat(o.style.left)+g+"px"}a&&(n=a.offsetHeight+n),d-(n+n/1.5)<t.img.destTop?(o.style.top=t.img.destTop+"px",a&&(o.style.top=(t.img.destTop<0?0:t.img.destTop)+a.offsetHeight+"px")):(n=this.toolbarHeight,o.style.top=d-(n+n/1.5)+"px")}else if(e){var f={freehandSelectedIndex:-1};t.notify("freehand-draw",{prop:"getFreehandSelectedIndex",onPropertyChange:!1,value:{obj:f}});s={order:null};t.notify("shape",{prop:"getHighestOrder",onPropertyChange:!1,value:{obj:s}}),t.getObjFromId(t.pointColl[f.freehandSelectedIndex].id).order>=s.order&&t.element.querySelector("#"+t.element.id+"_bringToFront")?t.element.querySelector("#"+t.element.id+"_bringToFront").parentElement.classList.add("e-overlay"):t.element.querySelector("#"+t.element.id+"_bringToFront")&&t.element.querySelector("#"+t.element.id+"_bringToFront").parentElement.classList.remove("e-overlay");var m={activePoint:null};t.notify("freehand-draw",{prop:"getSqPtFD",value:{idx:f.freehandSelectedIndex,obj:m}});var b=m.activePoint;o.style.width="auto",o.style.left=b.startX+b.width/2-24*r.length+"px",b.startY-(n+n/1.5)<t.img.destTop?o.style.top=t.img.destTop+"px":o.style.top=b.startY-(n+n/1.5)+"px"}else o.style.display="none";parseFloat(o.style.top)<0&&(o.style.top="0px")}},e.prototype.refreshDropDownBtn=function(e){if(!(0,l.isNullOrUndefined)(e)){var t=this.parent,i=t.element.id,o=t.element.querySelector("#"+i+"_annotationBtn");o&&(e?(o.classList.add("e-disabled"),o.parentElement.classList.add("e-overlay")):(o.classList.remove("e-disabled"),o.parentElement.classList.remove("e-overlay")),(0,l.getComponent)(o,"dropdown-btn").disabled=e);var r=document.querySelector("#"+i+"_transformBtn");r&&(e?(r.classList.add("e-disabled"),r.parentElement.classList.add("e-overlay")):(r.classList.remove("e-disabled"),r.parentElement.classList.remove("e-overlay")),(0,l.getComponent)(r,"dropdown-btn").disabled=e);var n=t.element.querySelector("#"+i+"_adjustment");n&&(e?(n.classList.add("e-disabled"),n.parentElement.classList.add("e-overlay")):(n.classList.remove("e-disabled"),n.parentElement.classList.remove("e-overlay")),(0,l.getComponent)(n,"btn").disabled=e);var a=t.element.querySelector("#"+i+"_filter");a&&(e?(a.classList.add("e-disabled"),a.parentElement.classList.add("e-overlay")):(a.classList.remove("e-disabled"),a.parentElement.classList.remove("e-overlay")),(0,l.getComponent)(a,"btn").disabled=e)}},e.prototype.cropSelect=function(e){var t=this.parent;t.isCropTab=!0,(0,l.isNullOrUndefined)(t.transform.cropZoomFactor)&&(t.transform.cropZoomFactor=t.transform.zoomFactor,t.notify("draw",{prop:"setTempZoomFactor",onPropertyChange:!1,value:{tempZoomFactor:t.transform.zoomFactor}})),t.transform.zoomFactor=t.transform.cropZoomFactor;var i=e.item.id;this.currentToolbar="crop",t.currSelectionPoint=null,t.notify("draw",{prop:"setIsCropSelect",value:{bool:!0}});var o={prevObj:null};t.notify("crop",{prop:"getPreviousCropCurrentObj",value:{obj:o}}),t.notify("draw",{prop:"select",onPropertyChange:!1,value:{type:i,startX:null,startY:null,width:null,height:null}}),t.notify("crop",{prop:"setPreviousCropCurrentObj",value:{obj:o.prevObj}}),this.enableDisableTbrBtn(),t.notify("transform",{prop:"disableZoomOutBtn",value:{isZoomOut:!0}})},e.prototype.quickAccessToolbarClicked=function(e,t){var i=this.parent,o=i.element.id;if(e.item){var r=null,n={tempObj:null};i.notify("draw",{prop:"getPrevActObj",onPropertyChange:!1,value:{obj:{prevActObj:null}}}),i.notify("selection",{prop:"getTempActObj",onPropertyChange:!1,value:{obj:n}}),n.tempObj.activePoint.height=Math.abs(n.tempObj.activePoint.height);var a={isNewPath:null},s=void 0;i.notify("draw",{prop:"getNewPath",value:{obj:a}});var p=e.item.id.replace(o+"_","").toLowerCase(),d=void 0,h=void 0,c={freehandSelectedIndex:null},u=void 0,v=void 0,g={order:null};switch(p){case"duplicate":i.element.querySelector("#"+o+"_duplicate").classList.contains("e-overlay")||(this.refreshSlider(),a.isNewPath||JSON.stringify(n.tempObj)!==JSON.stringify(i.activeObj)||(r=!0),this.duplicateShape(r));break;case"remove":i.element.querySelector("#"+o+"_remove").classList.contains("e-overlay")||(i.noPushUndo=!1,this.refreshSlider(),i.notify("selection",{prop:"deleteItem",onPropertyChange:!1}));break;case"edittext":i.element.querySelector("#"+o+"_editText").classList.contains("e-overlay")||this.editText();break;case"rotleft":case"rotright":d=i.element.querySelector("#"+o+"_rotLeft"),h=i.element.querySelector("#"+o+"_rotRight"),(d&&!d.classList.contains("e-disabled")||h&&!h.classList.contains("e-disabled"))&&i.rotateImage(e.item.id.replace(o+"_","").toLowerCase()),i.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1});break;case"hflip":i.element.querySelector("#"+o+"_hFlip").classList.contains("e-disabled")||(s=i.activeObj.imageCanvas.getContext("2d"),i.horizontalFlip(s)),i.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1});break;case"vflip":i.element.querySelector("#"+o+"_vFlip").classList.contains("e-disabled")||(s=i.activeObj.imageCanvas.getContext("2d"),i.verticalFlip(s)),i.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1});break;case"bringtofront":if(i.notify("freehand-draw",{prop:"getFreehandSelectedIndex",onPropertyChange:!1,value:{obj:c}}),u=null!==c.freehandSelectedIndex?i.pointColl[c.freehandSelectedIndex].id:i.activeObj.currIndex,i.updateShapeOrder(u,p),v=!1,i.notify("shape",{prop:"getHighestOrder",onPropertyChange:!1,value:{obj:g}}),u.indexOf("pen")>-1)i.notify("shape",{prop:"updateShapeColl",onPropertyChange:!1}),v=i.getObjFromId(u).order>=g.order;else v=i.getObjFromId(u).order>g.order;v?i.element.querySelector("#"+i.element.id+"_bringToFront").parentElement.classList.add("e-overlay"):i.element.querySelector("#"+i.element.id+"_bringToFront").parentElement.classList.remove("e-overlay"),i.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1})}"duplicate"!==p&&"remove"!==p||i.notify("draw",{prop:"redrawDownScale"})}(0,l.isNullOrUndefined)(t)&&i.trigger("quickAccessToolbarItemClick",e)},e.prototype.editText=function(){var e=this.parent,t={x:e.activeObj.activePoint.startX,y:e.activeObj.activePoint.startY};if(this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),e.notify("selection",{prop:"setTempActObj",onPropertyChange:!1,value:{obj:(0,l.extend)({},e.activeObj,{},!0)}}),e.notify("selection",{prop:"setInitialTextEdit",onPropertyChange:!1,value:{bool:!0}}),e.notify("draw",{prop:"setPrevActObj",onPropertyChange:!1,value:{prevActObj:(0,l.extend)({},e.activeObj,{},!0)}}),0!==e.activeObj.rotatedAngle){var i={x:t.x,y:t.y};e.notify("shape",{prop:"getTextBoxPosition",onPropertyChange:!1,value:{obj:e.activeObj,object:i}}),t.x=i.x,t.y=i.y;var o={x:t.x,y:t.y};e.notify("shape",{prop:"setFlipState",onPropertyChange:!1,value:{x:t.x,y:t.y,obj:e.activeObj,object:o}}),t.x=o.x,t.y=o.y}var r=(0,l.extend)({},e.activeObj,{},!0);e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.upperContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),this.lowerContext.clearRect(0,0,e.upperCanvas.width,e.upperCanvas.height),e.notify("draw",{prop:"redrawImgWithObj",onPropertyChange:!1}),e.notify("draw",{prop:"redrawDownScale"}),e.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.lowerContext}}),e.notify("draw",{prop:"clearOuterCanvas",onPropertyChange:!1,value:{context:this.upperContext}}),e.activeObj=r,e.notify("shape",{prop:"renderTextArea",onPropertyChange:!1,value:{x:t.x,y:t.y,actObj:e.activeObj}}),(0,l.isNullOrUndefined)(e.activeObj.currIndex)&&e.notify("draw",{prop:"setShapeTextInsert",onPropertyChange:!1,value:{bool:!0}}),e.element.querySelector("#"+e.element.id+"_quickAccessToolbarArea")&&(e.element.querySelector("#"+e.element.id+"_quickAccessToolbarArea").style.display="none")},e.prototype.duplicateShape=function(e,t){var i=this.parent;i.notify("selection",{prop:"setTempActObj",onPropertyChange:!1,value:{obj:{activePoint:{startX:0,startY:0,endX:0,endY:0,width:0,height:0},flipObjColl:[],triangle:[],triangleRatio:[]}}});var o={prevActObj:null};i.notify("draw",{prop:"getPrevActObj",onPropertyChange:!1,value:{obj:o}});var r;i.notify("draw",{prop:"getNewPath",value:{obj:{isNewPath:null}}});var n=(0,l.extend)({},i.activeObj,{},!0),a={order:null};i.notify("shape",{prop:"getHighestOrder",onPropertyChange:!1,value:{obj:a}}),n.order?(i.notify("shape",{prop:"updateShapeColl",onPropertyChange:!1}),n.order=a.order>n.order?a.order+1:n.order+1):(i.noPushUndo=!0,i.okBtn(),i.noPushUndo=!1,i.selectShape(n.currIndex),n.order=a.order>n.order?a.order+1:n.order+1),"image"===n.shape&&(r=(0,l.extend)([],i.objColl,[],!0),i.notify("undo-redo",{prop:"updateUrObj",onPropertyChange:!1,value:{objColl:r}})),(0,l.isNullOrUndefined)(i.activeObj.currIndex)?i.notify("shape",{prop:"applyActObj",onPropertyChange:!1,value:{isMouseDown:e}}):o.prevActObj||t?(i.activeObj.currIndex=null,n.currIndex=null,i.notify("shape",{prop:"applyActObj",onPropertyChange:!1,value:{isMouseDown:e}})):i.notify("shape",{prop:"applyActObj",onPropertyChange:!1,value:{isMouseDown:!0}});var s=i.noPushUndo;if(i.noPushUndo=!1,i.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}),i.noPushUndo=s,r=(0,l.extend)([],i.objColl,[],!0),n.activePoint.startX+=10,n.activePoint.startY-=10,n.activePoint.endX+=10,n.activePoint.endY-=10,"path"===n.shape)for(var p=0;p<n.pointColl.length;p++)n.pointColl[p].x+=10,n.pointColl[p].y-=10;else"image"===n.shape&&(n.imageCanvas=i.createElement("canvas"));var d={id:"shape_"+(i.objColl.length+1)};if(i.notify("shape",{prop:"getNewShapeId",onPropertyChange:!1,value:{obj:d}}),n.currIndex=d.id,i.activeObj=(0,l.extend)({},n,{},!0),"image"===i.activeObj.shape){var h=(0,l.extend)({},n.activePoint,{},!0),c={width:0,height:0};i.notify("transform",{prop:"calcMaxDimension",onPropertyChange:!1,value:{width:i.activeObj.imageElement.width,height:i.activeObj.imageElement.height,obj:c,isImgShape:null}}),i.activeObj.activePoint.width=c.width,i.activeObj.activePoint.height=c.height,i.activeObj.isHorImageFlip&&i.activeObj.isVerImageFlip?(i.activeObj.isHorImageFlip=i.activeObj.isVerImageFlip=!1,i.notify("draw",{prop:"downScaleImgCanvas",onPropertyChange:!1,value:{ctx:n.imageCanvas.getContext("2d"),isImgAnnotation:!0,isHFlip:!0,isVFlip:!0}}),i.activeObj.isHorImageFlip=i.activeObj.isVerImageFlip=!0):i.activeObj.isHorImageFlip?(i.activeObj.isHorImageFlip=!1,i.notify("draw",{prop:"downScaleImgCanvas",onPropertyChange:!1,value:{ctx:n.imageCanvas.getContext("2d"),isImgAnnotation:!0,isHFlip:!0,isVFlip:null}}),i.activeObj.isHorImageFlip=!0):i.activeObj.isVerImageFlip?(i.activeObj.isVerImageFlip=!1,i.notify("draw",{prop:"downScaleImgCanvas",onPropertyChange:!1,value:{ctx:n.imageCanvas.getContext("2d"),isImgAnnotation:!0,isHFlip:null,isVFlip:!0}}),i.activeObj.isVerImageFlip=!0):i.notify("draw",{prop:"downScaleImgCanvas",onPropertyChange:!1,value:{ctx:n.imageCanvas.getContext("2d"),isImgAnnotation:!0,isHFlip:null,isVFlip:null}}),i.activeObj.activePoint=h}"line"!==i.activeObj.shape&&"arrow"!==i.activeObj.shape||i.notify("shape",{prop:"setPointCollForLineArrow",onPropertyChange:!1,value:{obj:i.activeObj}}),i.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:i.activeObj,isCropRatio:null,points:null,isPreventDrag:!0}}),i.notify("undo-redo",{prop:"updateUrObj",onPropertyChange:!1,value:{objColl:r}}),i.notify("shape",{prop:"applyActObj",onPropertyChange:!1,value:{isMouseDown:!0}}),i.noPushUndo=!1,i.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}}),i.noPushUndo=!0,i.notify("selection",{prop:"redrawShape",onPropertyChange:!1,value:{obj:i.objColl[i.objColl.length-1]}});var u=i.element.id,v=l.Browser.isDevice?"#"+u+"_bottomToolbar #"+u:"#"+u,g={freehandDrawSelectedId:null};i.notify("freehand-draw",{prop:"getFreehandDrawSelectedId",onPropertyChange:!1,value:{obj:g}}),this.enableDisableCloneBtn(v,g),this.renderQAT(),i.activeObj.shape&&"redact"===i.activeObj.shape&&this.redactSlider(i.activeObj.redactType)},e.prototype.defToolbarClicked=function(e){var t=this.parent,i=t.element.id,o=!1,r=!1;if(!this.isFrameToolbar&&t.element.querySelector(".e-contextual-toolbar-wrapper")){t.element.querySelector(".e-contextual-toolbar-wrapper").classList.contains("e-hide")||(o=r=!0);var n={bool:t.isStraightening};(!l.Browser.isDevice||l.Browser.isDevice&&!n.bool)&&t.element.querySelector(".e-contextual-toolbar-wrapper").classList.add("e-hide")}if(e.item){var a=e.item.id.replace(i+"_","").toLowerCase();if("duplicate"===a||"remove"===a||"edittext"===a||"hflip"===a||"vflip"===a||"rotleft"===a||"rotright"===a)this.quickAccessToolbarClicked(e,!0),t.trigger("toolbarItemClicked",e);else{var s=!1,p=!1,d=t.element.querySelector("#"+i+"_adjustment");d&&d.classList.contains("e-disabled")&&(p=!0);var h=t.element.querySelector("#"+i+"_filter");h&&h.classList.contains("e-disabled")&&(s=!0),this.enableDisableTbrBtn(),this.performDefTbrClick(a,o,p,s,r),t.trigger("toolbarItemClicked",e),t.isStraightening&&t.notify("transform",{prop:"disableZoomOutBtn",value:{isZoomOut:!0}});-1!==["undo","redo","cancel","aspectratio","nonaspectratio","save","duplicate","filter","frame","none","mat","bevel","line","inset","hook","resize","remove"].indexOf(a)&&t.notify("draw",{prop:"redrawDownScale"})}}},e.prototype.performDefTbrClick=function(e,t,i,o,r){var n,a,s,p,d=this.parent,h=d.element.id,c=d.element.querySelector("#"+h+"_zoomIn"),u=d.element.querySelector("#"+h+"_resizeHeight"),v=d.element.querySelector("#"+h+"_resizeWidth"),g=!1,f=!1,m=0,b=!1;if(void 0!==d.activeObj.shape&&(a=d.activeObj.shape.split("-")),(void 0===a&&d.currObjType.isCustomCrop||void 0!==a&&"crop"===a[0])&&(g=!0),!d.disabled){switch(e){case"pan":d.currObjType.isCustomCrop=d.currObjType.isFiltered=!1,d.currObjType.isRedact=!1,d.currObjType.isUndoAction&&d.notify("undo-redo",{prop:"refreshUrc",value:{bool:null}}),g&&(d.currObjType.isCustomCrop=!1,d.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.upperContext.clearRect(0,0,d.upperCanvas.width,d.upperCanvas.height),this.refreshToolbar("main")),d.togglePan?(this.cancelPan(),d.notify("transform",{prop:"setDisablePan",onPropertyChange:!1,value:{bool:!0}}),"pen"===this.currentToolbar&&d.freeHandDraw(!0)):((n=d.element.querySelector(".e-img-pan .e-btn"))&&n.classList.add("e-selected-btn"),d.pan(!0),d.notify("transform",{prop:"setDisablePan",onPropertyChange:!1,value:{bool:!1}})),c&&d.zoomSettings.zoomFactor>=d.zoomSettings.maxZoomFactor?(c.classList.add("e-disabled"),c.parentElement.classList.add("e-overlay")):c&&(c.classList.remove("e-disabled"),c.parentElement.classList.remove("e-overlay")),this.refreshToolbar("main");break;case"cancel":d.currObjType.isRedact&&(d.currObjType.isRedact=!1),this.isFrameToolbar&&d.element.querySelector(".e-contextual-toolbar-wrapper")&&!d.element.querySelector(".e-contextual-toolbar-wrapper").classList.contains("e-hide")&&d.element.querySelector(".e-contextual-toolbar-wrapper").classList.add("e-hide"),d.notify("draw",{prop:"performCancel",value:{isContextualToolbar:t,isFinalCancel:!0}});break;case"ok":l.Browser.isDevice&&this.isFrameToolbar&&d.element.querySelector(".e-contextual-toolbar-wrapper")&&!d.element.querySelector(".e-contextual-toolbar-wrapper").classList.contains("e-hide")&&d.element.querySelector(".e-contextual-toolbar-wrapper").classList.add("e-hide"),d.okBtn(null,!0),d.drawingShape=null,this.refreshDropDownBtn(!1),this.currentToolbar="main",d.isStraightening=!1,d.notify("draw",{prop:"resetTempObjColl"}),d.notify("draw",{prop:"resetTempPointColl"});break;case"crop":d.notify("transform",{prop:"disableZoomOutBtn",value:{isZoomOut:!0}}),l.Browser.isDevice&&this.updateContextualToolbar("color","straighten");break;case"reset":d.reset(),this.imageHeight=null,this.imageWidth=null,d.aspectHeight=null,d.aspectWidth=null,this.isAspectRatio=!0,this.currentToolbar="main";break;case"undo":d.noPushUndo=!1,(d.togglePen||d.drawingShape)&&(d.okBtn(),d.drawingShape=null),d.notify("undo-redo",{prop:"call-undo"});break;case"redo":d.noPushUndo=!1,(d.togglePen||d.drawingShape)&&(d.okBtn(),d.drawingShape=null),d.notify("undo-redo",{prop:"call-redo"});break;case"aspectratio":(!d.isCircleCrop&&(0,l.isNullOrUndefined)(d.currSelectionPoint)||d.currSelectionPoint&&"crop-circle"!==d.currSelectionPoint.shape)&&((0,l.getComponent)(v,"numerictextbox").value?(d.aspectWidth=(0,l.getComponent)(v,"numerictextbox").value,d.aspectHeight=(0,l.getComponent)(u,"numerictextbox").value,d.notify("transform",{prop:"resize",value:{width:d.aspectWidth,height:null,isAspectRatio:!0}})):(0,l.getComponent)(u,"numerictextbox").value&&(d.aspectWidth=parseFloat((0,l.getComponent)(v,"numerictextbox").placeholder),d.aspectHeight=(0,l.getComponent)(u,"numerictextbox").value,d.notify("transform",{prop:"resize",value:{width:d.aspectWidth,height:d.aspectHeight,isAspectRatio:!0}})),d.resizeSrc={startX:d.img.srcLeft,startY:d.img.srcTop,width:d.img.srcWidth,height:d.img.srcHeight},this.refreshToolbar("resize"));break;case"nonaspectratio":((0,l.getComponent)(v,"numerictextbox").value||(0,l.getComponent)(u,"numerictextbox").value)&&(d.aspectWidth=(0,l.getComponent)(v,"numerictextbox").value?(0,l.getComponent)(v,"numerictextbox").value:parseFloat((0,l.getComponent)(v,"numerictextbox").placeholder),d.aspectHeight=(0,l.getComponent)(u,"numerictextbox").value?(0,l.getComponent)(u,"numerictextbox").value:parseFloat((0,l.getComponent)(u,"numerictextbox").placeholder),d.notify("transform",{prop:"resize",value:{width:d.aspectWidth,height:d.aspectHeight,isAspectRatio:!1}})),d.resizeSrc={startX:d.img.srcLeft,startY:d.img.srcTop,width:d.img.srcWidth,height:d.img.srcHeight},this.refreshToolbar("resize");break;case"resize":(d.currObjType.isFiltered||d.currObjType.isRedact)&&d.okBtn(),this.resizeClick();break;case"adjustment":i||((d.currObjType.isFiltered||d.currObjType.isRedact)&&d.okBtn(),this.refreshToolbar("adjustment"),d.setTempFilterProperties(),d.notify("draw",{prop:"updateFinetune"}),d.notify("filter",{prop:"setTempAdjVal"}),this.openSlider("brightness"));break;case"brightness":case"contrast":case"hue":case"saturation":case"opacity":case"blur":case"exposure":this.openSlider(e);break;case"filter":o||((0,I.showSpinner)(d.element),this.refreshToolbar("filter"),d.setTempFilterProperties(),(0,I.hideSpinner)(d.element));break;case"default":case"chrome":case"cold":case"warm":case"grayscale":case"blackandwhite":case"sepia":case"invert":case"sharpen":d.currObjType.isFiltered=!0,d.notify("filter",{prop:"applyImageFilter",value:{option:e}});break;case"upload":r&&d.element.querySelector(".e-contextual-toolbar-wrapper").classList.remove("e-hide");break;case"bold":case"italic":case"underline":case"strikethrough":this.toggleStyle(h,e);break;case"croptransform":this.performCropTransformClick();break;case"rotateleft":case"rotateright":case"horizontalflip":case"verticalflip":d.transformSelect(e);for(var y=0;y<d.objColl.length;y++)if("redact"===d.objColl[y].shape){b=!0;break}if(b)for(d.notify("draw",{prop:"setRedactStraighten",value:{bool:!0}}),p=(0,l.extend)({},d.activeObj,{},!0);d.img.destLeft<0||d.img.destTop<0;)d.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),d.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:-.125,zoomPoint:null,isResize:!1}}),m+=1;if(this.updateRedactObj(),b){if(m>0){d.isCropTab=!0;for(y=0;y<m;y++)d.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),d.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:.125,zoomPoint:null,isResize:!1}});d.activeObj=p,d.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate"}})}d.notify("draw",{prop:"setRedactStraighten",value:{bool:!1}})}"rotateleft"!==e&&"rotateright"!==e||(d.notify("draw",{prop:"resetStraightenDestPoints"}),d.notify("draw",{prop:"setDestForStraighten"})),d.notify("transform",{prop:"disableZoomOutBtn",value:{isZoomOut:!0}}),l.Browser.isDevice&&this.updateContextualToolbar("color","straighten"),s={action:"rotateleft"===e||"rotateright"===e?"rotate":"flip",actionEventArgs:d.editCompleteArgs},d.triggerEditCompleteEvent(s);break;case"save":d.noPushUndo=!1,d.okBtn(),d.drawingShape=null,this.saveDialogPopup();break;case"transparency":this.updateContextualToolbar("transparency","transparency");break;case"frame":this.frameToolbarClick();break;case"none":case"mat":case"bevel":case"line":case"inset":case"hook":this.unselectFrameBtn(),d.element.querySelector("#"+h+"_"+e)&&d.element.querySelector("#"+h+"_"+e).classList.add("e-selected-btn"),d.frameObj.type=e,d.frameObj.size=20,d.frameObj.inset=20,d.frameObj.radius=0,d.frameObj.amount=1,d.frameObj.offset="inset"===e?60:20,this.refreshToolbar("frame"),d.notify("draw",{prop:"render-image",value:{isMouseWheel:null,isPreventClearRect:null,isFrame:!0}}),d.isFrameBtnClick=!0,d.curFrameObjEvent={previousFrameSetting:d.tempFrameObj,currentFrameSetting:d.frameObj},d.notify("draw",{prop:"triggerFrameChange",value:{prevFrameSettings:d.tempFrameObj,obj:{frameChangeEventArgs:null}}});break;case"redact":d.currObjType.isRedact=f=!0,d.drawingShape="redact",(0,l.isNullOrUndefined)(d.activeObj.redactBlur)&&(d.activeObj.redactBlur=20),(0,l.isNullOrUndefined)(d.activeObj.redactPixelate)&&(d.activeObj.redactPixelate=20),d.notify("selection",{prop:"annotate",value:{shape:"redact"}}),this.refreshToolbar("redact"),this.redactSlider(d.activeObj.redactType);break;case"pixelate":if(d.currObjType.isRedact=f=!0,d.drawingShape="redact",d.notify("selection",{prop:"annotate",value:{shape:"redact"}}),"blur"===d.activeObj.redactType&&this.updateRedactType("pixelate"),d.notify("shape",{prop:"setRedactType",onPropertyChange:!1,value:{redactType:"pixelate"}}),"pixelate"===d.activeObj.redactType){var C=d.element.querySelector("#"+h+"_pixelate"),x=d.element.querySelector("#"+h+"_redactBlur");C&&C.classList.add("e-selected-btn"),x&&x.classList.contains("e-selected-btn")&&x.classList.remove("e-selected-btn")}else{(x=d.element.querySelector("#"+h+"_redactBlur"))&&x.classList.add("e-selected-btn")}this.redactSlider(d.activeObj.redactType),0===d.activeObj.activePoint.width&&0===d.activeObj.activePoint.height||d.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:null,previousObjColl:null,previousPointColl:null,previousSelPointColl:null,previousCropObj:null,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}});break;case"redactblur":if(d.currObjType.isRedact=f=!0,d.drawingShape="redact",d.notify("selection",{prop:"annotate",value:{shape:"redact"}}),d.notify("shape",{prop:"setRedactType",onPropertyChange:!1,value:{redactType:"blur"}}),"pixelate"===d.activeObj.redactType&&this.updateRedactType("blur"),d.notify("shape",{prop:"setRedactType",onPropertyChange:!1,value:{redactType:"blur"}}),"blur"===d.activeObj.redactType){x=d.element.querySelector("#"+h+"_redactBlur"),C=d.element.querySelector("#"+h+"_pixelate");x&&x.classList.add("e-selected-btn"),C&&C.classList.contains("e-selected-btn")&&C.classList.remove("e-selected-btn")}else{(C=d.element.querySelector("#"+h+"_pixelate"))&&C.classList.add("e-selected-btn")}this.redactSlider(d.activeObj.redactType),0===d.activeObj.activePoint.width&&0===d.activeObj.activePoint.height||d.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:null,previousObjColl:null,previousPointColl:null,previousSelPointColl:null,previousCropObj:null,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}})}f&&(d.notify("draw",{prop:"updateTempObjColl"}),d.notify("draw",{prop:"updateTempPointColl"}))}},e.prototype.getFontStyle=function(e){var t=[];return e.bold&&t.push("bold"),e.italic&&t.push("italic"),e.underline&&t.push("underline"),e.strikethrough&&t.push("strikethrough"),0===t.length?"default":t.join("")},e.prototype.toggleStyle=function(e,t){var i=this.parent;i.notify("selection",{prop:"setInitialTextEdit",value:{bool:!1}});var o=i.activeObj.textSettings;o[t]=!o[t];var r=this.getFontStyle(o);i.notify("shape",{prop:"applyFontStyle",onPropertyChange:!1,value:{item:r}});var n=i.element.querySelector("#"+e+"_"+t);n&&(n.classList.contains("e-selected-btn")?n.classList.remove("e-selected-btn"):n.classList.add("e-selected-btn")),0===i.activeObj.activePoint.width&&0===i.activeObj.activePoint.height||i.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1})},e.prototype.updateRedactType=function(e){var t=this.parent;t.activeObj.redactType=e,t.notify("shape",{prop:"setRedactType",value:{type:e}}),this.parent.objColl.push(t.activeObj),t.notify("selection",{prop:"redrawShape",value:{obj:t.objColl[t.objColl.length-1]}})},e.prototype.frameToolbarClick=function(){var e,t,i,o=this.parent,r=o.element.id,n=o.element.querySelector("#"+r+"_frame");if(o.notify("draw",{prop:"updateCropSelection",onPropertyChange:!1}),(o.currObjType.isFiltered||o.currObjType.isRedact)&&o.okBtn(),!n||!n.classList.contains("e-overlay")){if(e=o.transform.zoomFactor,o.frameDestPoints=(0,l.extend)({},o.img,{},!0),(0,l.isNullOrUndefined)(o.cxtTbarHeight)){t=(0,l.extend)({},o.frameObj,{},!0),i=(0,l.extend)({},o.tempFrameObj,{},!0),this.callFrameToolbar(),o.frameObj.type="mat",this.callFrameToolbar();var a=o.element.querySelector("#"+r+"_customizeWrapper");a&&(o.cxtTbarHeight=a.scrollHeight),o.frameObj=t,o.tempFrameObj=i}this.zoomToFrameRange(),o.tempFrameZoomLevel=e,l.Browser.isDevice?o.img.destTop-=o.cxtTbarHeight/2:o.img.destTop+=o.cxtTbarHeight/2,this.callFrameToolbar(),o.notify("draw",{prop:"triggerFrameChange",value:{prevFrameSettings:o.frameObj,obj:{frameChangeEventArgs:null}}})}},e.prototype.zoomToFrameRange=function(){var e=this.parent;this.isFrameToolbar=!1,e.notify("transform",{prop:"resetZoom",onPropertyChange:!1});for(var t=!0;t;){if(this.toolbarHeight+e.img.destTop>=this.toolbarHeight+e.cxtTbarHeight){t=!1;break}e.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:-.1,zoomPoint:null,isResize:!0}})}this.isFrameToolbar=!0},e.prototype.resizeClick=function(){var e=this.parent;e.notify("draw",{prop:"updateCropSelection",onPropertyChange:!1}),e.upperCanvas.style.cursor="default",e.notify("transform",{prop:"updateResize",value:{bool:!1}}),this.isAspectRatio?this.isAspectRatio=!1:this.isAspectRatio=!0,e.isResize=!0,this.refreshToolbar("resize")},e.prototype.callFrameToolbar=function(){var e=this.parent;(0,l.extend)(e.tempFrameObj,e.frameObj);var t={appliedUndoRedoColl:[]};if(e.notify("undo-redo",{prop:"getAppliedUndoRedoColl",value:{obj:t}}),0===t.appliedUndoRedoColl.length){var i={currObj:{}};e.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:i}}),e.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"frame",previousObj:i.currObj,previousObjColl:i.currObj.objColl,previousPointColl:i.currObj.pointColl,previousSelPointColl:i.currObj.selPointColl,previousCropObj:(0,l.extend)({},e.cropObj,{},!0),previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}})}this.refreshToolbar("frame")},e.prototype.contextualToolbarClicked=function(e){var t=this.parent,i=t.element.querySelector(".e-contextual-toolbar-wrapper .e-toolbar-item.e-selected");i&&i.classList.remove("e-selected");var o=e.item.id.replace(t.element.id,"").split("_")[1],r={filter:t.toPascalCase(o),cancel:!1};t.trigger("imageFiltering",r),t.editCompleteArgs=r,r.cancel||(t.element.querySelector("#"+e.item.id+"Canvas").parentElement.parentElement.classList.add("e-selected"),t.currObjType.isFiltered=!0,t.notify("filter",{prop:"applyImageFilter",value:{option:o.toLowerCase()}}),t.notify("draw",{prop:"redrawDownScale"}),t.currentFilter=e.item.id,this.enableDisableTbrBtn(),t.isFilterCanvasClick=!0,t.curFilterObjEvent=r)},e.prototype.refreshShapeDrawing=function(){var e=this.parent,t={shape:""};e.notify("selection",{prop:"getCurrentDrawingShape",onPropertyChange:!1,value:{obj:t}}),""!==t.shape&&(e.notify("selection",{prop:"setCurrentDrawingShape",onPropertyChange:!1,value:{value:""}}),e.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),this.refreshToolbar("main",!1))},e.prototype.zoomInBtnClickHandler=function(e){if(e){var t=this.parent;if((t.zoomSettings.zoomTrigger&x.Toolbar)===x.Toolbar){t.noPushUndo=!1,t.currObjType.isFiltered&&t.okBtn();var i=t.drawingShape;if(t.drawingShape){var o=t.activeObj.currIndex;t.noPushUndo=!0,t.okBtn(),t.noPushUndo=!1,t.drawingShape=null,o&&t.selectShape(o)}if(this.refreshShapeDrawing(),l.Browser.isDevice&&"touchstart"===e.type){if(!e.returnValue)return;e.preventDefault()}var r=t.element.querySelector("#"+t.element.id+"_zoomIn");l.EventHandler.trigger(r,"click");var n={bool:!1};t.notify("selection",{prop:"getFreehandDrawEditing",onPropertyChange:!1,value:{obj:n}}),n.bool&&(t.notify("freehand-draw",{prop:"applyFhd",onPropertyChange:!1}),this.destroyQuickAccessToolbar()),t.isZoomBtnClick=!0,this.applyPreviewFilter(),t.currObjType.isFiltered=!1,t.currObjType.isRedact=!1,t.togglePen&&(t.currObjType.isZoomed=!0,t.freeHandDraw(!1),t.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}})),t.notify("draw",{prop:"resetCurrentSelectionPoint"}),t.drawingShape=i,t.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:.1,zoomPoint:null,isResize:null}}),t.notify("draw",{prop:"redrawDownScale"}),(t.isCropTab||t.activeObj.shape)&&(t.notify("draw",{prop:"setStraightenActObj",value:{activeObj:null}}),t.notify("freehand-draw",{prop:"resetStraightenPoint"})),t.isStraightening&&(t.notify("draw",{prop:"resetStraightenDestPoints"}),t.notify("draw",{prop:"setDestForStraighten"}));var a={action:"zoom-in",actionEventArgs:t.editCompleteArgs};t.triggerEditCompleteEvent(a),l.Browser.isDevice&&r.focus()}}},e.prototype.zoomOutBtnClickHandler=function(e){if(e){var t=this.parent;if((t.zoomSettings.zoomTrigger&x.Toolbar)===x.Toolbar){t.noPushUndo=!1,t.currObjType.isFiltered&&t.okBtn();var i=t.drawingShape;if(t.drawingShape){var o=t.activeObj.currIndex;t.noPushUndo=!0,t.okBtn(),t.noPushUndo=!1,t.drawingShape=null,o&&t.selectShape(o)}if(this.refreshShapeDrawing(),l.Browser.isDevice&&"touchstart"===e.type){if(!e.returnValue)return;e.preventDefault()}var r=t.element.querySelector("#"+t.element.id+"_zoomOut");l.EventHandler.trigger(r,"click");var n={bool:!1};t.notify("selection",{prop:"getFreehandDrawEditing",onPropertyChange:!1,value:{obj:n}}),n.bool&&(t.notify("freehand-draw",{prop:"applyFhd",onPropertyChange:!1}),this.destroyQuickAccessToolbar()),t.isZoomBtnClick=!0,this.applyPreviewFilter(),t.currObjType.isFiltered=!1,t.currObjType.isRedact=!1,t.togglePen&&(t.currObjType.isZoomed=!0,t.freeHandDraw(!1),t.notify("undo-redo",{prop:"updateCurrUrc",value:{type:"ok"}})),t.notify("draw",{prop:"resetCurrentSelectionPoint"}),t.drawingShape=i,t.notify("transform",{prop:"zoomAction",onPropertyChange:!1,value:{zoomFactor:-.1,zoomPoint:null,isResize:null}}),t.notify("draw",{prop:"redrawDownScale"}),(t.isCropTab||t.activeObj.shape)&&(t.notify("draw",{prop:"setStraightenActObj",value:{activeObj:null}}),t.notify("freehand-draw",{prop:"resetStraightenPoint"})),t.isStraightening&&(t.notify("draw",{prop:"resetStraightenDestPoints"}),t.notify("draw",{prop:"setDestForStraighten"}));var a={action:"zoom-out",actionEventArgs:t.editCompleteArgs};t.triggerEditCompleteEvent(a),l.Browser.isDevice&&r.focus()}}},e.prototype.zoomInBtnMouseDownHandler=function(e){e.preventDefault(),this.zoomBtnHold=setInterval(this.zoomInBtnClickHandler.bind(this),250)},e.prototype.zoomOutBtnMouseDownHandler=function(e){e.preventDefault(),this.zoomBtnHold=setInterval(this.zoomOutBtnClickHandler.bind(this),250)},e.prototype.zoomBtnMouseUpHandler=function(){clearInterval(this.zoomBtnHold),this.zoomBtnHold=0},e.prototype.closeContextualToolbar=function(){var e=this.parent,t=e.element.id,i=!1,o=e.isStraightening;return(!l.Browser.isDevice||l.Browser.isDevice&&!o)&&(e.element.querySelector("#"+t+"_contextualToolbar")&&!e.element.querySelector("#"+t+"_contextualToolbar").parentElement.classList.contains("e-hide")||e.element.querySelector("#"+t+"_headWrapper")&&!e.element.querySelector("#"+t+"_headWrapper").parentElement.classList.contains("e-hide"))&&(e.element.querySelector(".e-contextual-toolbar-wrapper").classList.add("e-hide"),e.okBtn(),this.refreshMainToolbar(),i=!0),i},e.prototype.destroyQuickAccessToolbar=function(){var e=this.parent,t=e.element.id,i=e.element.querySelector("#"+t+"_quickAccessToolbar");i&&i.classList.contains("e-control")&&(0,l.getComponent)(i,"toolbar").destroy();var o=e.element.querySelector("#"+t+"_quickAccessToolbarArea");o&&(o.style.display="none")},e.prototype.renderSlider=function(e,t){var i=this.parent,o=i.element.id,r=i.element.querySelector("#"+o+"_contextualToolbarArea"),n=i.element.querySelector("#"+o+"_headWrapper"),a=i.element.querySelector("#"+o+"_labelWrapper");n&&(n.remove(),a.remove()),(a=(n=r.appendChild(i.createElement("div",{id:o+"_headWrapper",className:"e-ie-head-wrapper",styles:"position: relative"}))).appendChild(i.createElement("label",{id:o+"_labelWrapper",className:"e-ie-finetune-slider-label"}))).textContent=this.l10n.getConstant(i.toPascalCase("transparency"===e?"opacity":e));var s,p,d,h=n.appendChild(i.createElement("div",{id:o+"_sliderWrapper",className:"e-ie-finetune-slider-wrap"})),c=i.getCurrAdjustmentValue(e);(t&&"straighten"===e&&l.Browser.isDevice&&(c=i.cropObj.straighten),"brightness"===e||"contrast"===e||"saturation"===e||"exposure"===e?(i.finetuneSettings?"brightness"===e&&i.finetuneSettings.brightness?(s=i.finetuneSettings.brightness.min,p=i.finetuneSettings.brightness.max):"contrast"===e&&i.finetuneSettings.contrast?(s=i.finetuneSettings.contrast.min,p=i.finetuneSettings.contrast.max):"saturation"===e&&i.finetuneSettings.saturation?(s=i.finetuneSettings.saturation.min,p=i.finetuneSettings.saturation.max):"exposure"===e&&i.finetuneSettings.exposure?(s=i.finetuneSettings.exposure.min,p=i.finetuneSettings.exposure.max):(s=-100,p=100):(s=-100,p=100),d=this.createSlider(s,p,c,e)):"hue"===e||"blur"===e||"opacity"===e?(i.finetuneSettings?"hue"===e&&i.finetuneSettings.hue?(s=i.finetuneSettings.hue.min,p=i.finetuneSettings.hue.max):"blur"===e&&i.finetuneSettings.blur?(s=i.finetuneSettings.blur.min,p=i.finetuneSettings.blur.max):"opacity"===e&&i.finetuneSettings.opacity?(s=i.finetuneSettings.opacity.min,p=i.finetuneSettings.opacity.max):(s=0,p=100):(s=0,p=100),d=this.createSlider(s,p,c,e)):"transparency"===e?(s=0,p=100,d=this.createSlider(s,p,c,e)):"straighten"===e&&(s=-45,p=45,d=this.createSlider(s,p,c,e)),d.appendTo(i.element.querySelector("#"+o+"_sliderWrapper")),h.style.left=(parseFloat(r.style.width)-parseFloat(d.width))/2+"px","straighten"===e&&l.Browser.isDevice)&&(n.appendChild(i.createElement("label",{id:o+"_sLabelWrapper",className:"e-ie-straighten-value-span e-ie-finetune-value-span"})).innerHTML=i.transform.straighten.toString()+"&#176",h.parentElement.classList.add("e-straighten-slider"));"straighten"!==e&&(n.appendChild(i.createElement("label",{id:o+"_finetuneSpan",className:"e-ie-finetune-value-span"})),h.parentElement.classList.add("e-finetune-slider"),"transparency"===e&&l.Browser.isDevice&&h.parentElement.classList.add("e-ie-device-transparency-slider"),this.updateFinetuneSpan(e))},e.prototype.createSlider=function(e,t,i,o){var r=this,n=this.parent,a="straighten"===o?3:1;return new A.Slider({value:i,type:"MinRange",min:e,max:t,step:a,width:l.Browser.isDevice?"180px":"straighten"===o?"200px":"300px",cssClass:"e-slider",change:function(e){if(n.notify("selection",{prop:"setSliderActive",onPropertyChange:!1,value:{bool:!0}}),"transparency"===o){if(n.activeObj.shape){(0,l.isNullOrUndefined)(n.activeObj.imageRatio)&&n.notify("shape",{prop:"updImgRatioForActObj",onPropertyChange:!1}),n.notify("shape",{prop:"pushActItemIntoObj"});var t=(0,l.extend)({},n.cropObj,{},!0),i={currObj:{}};n.notify("filter",{prop:"getCurrentObj",onPropertyChange:!1,value:{object:i}});var a=i.currObj;a.objColl=(0,l.extend)([],n.objColl,[],!0),a.pointColl=(0,l.extend)([],n.pointColl,[],!0),a.afterCropActions=(0,l.extend)([],n.afterCropActions,[],!0);var s={selPointColl:null};n.notify("freehand-draw",{prop:"getSelPointColl",onPropertyChange:!1,value:{obj:s}}),a.selPointColl=(0,l.extend)([],s.selPointColl,[],!0),n.objColl.pop(),n.activeObj.opacity=e.value/100,r.upperContext.clearRect(0,0,n.upperCanvas.width,n.upperCanvas.height),n.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate"}}),n.objColl.push(n.activeObj),n.notify("undo-redo",{prop:"updateUndoRedoColl",onPropertyChange:!1,value:{operation:"shapeTransform",previousObj:a,previousObjColl:a.objColl,previousPointColl:a.pointColl,previousSelPointColl:a.selPointColl,previousCropObj:t,previousText:null,currentText:null,previousFilter:null,isCircleCrop:null}}),n.notify("selection",{prop:"redrawShape",value:{obj:n.objColl[n.objColl.length-1]}}),r.updateFinetuneSpan(o)}}else"straighten"===o?n.setStraighten(e.value):(n.transform.zoomFactor&&n.transform.zoomFactor<0&&(n.isFinetuning=!0),n.notify("selection",{prop:"setSliding",value:{bool:!0}}),n.setCurrAdjustmentValue(o,e.value),r.updateFinetuneSpan(o),r.enableDisableTbrBtn(),n.isFinetuning=!1)},changed:function(){"transparency"!==o&&"straighten"!==o&&(n.notify("selection",{prop:"setSliding",value:{bool:!1}}),n.notify("draw",{prop:"redrawDownScale"})),n.notify("selection",{prop:"setSliderActive",onPropertyChange:!1,value:{bool:!1}}),"transparency"===o&&setTimeout(function(){n.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1}),n.element.querySelector("#"+n.element.id+"_transparency").click()},50)}})},e.prototype.updateFinetuneSpan=function(e){var t=this.parent,i=t.element.querySelector(".e-ie-finetune-value-span");if(i){var o={adjustmentLevel:null};t.notify("filter",{prop:"getAdjustmentLevel",onPropertyChange:!1,value:{obj:o}}),i.innerHTML=Math.round(o.adjustmentLevel[e]).toString()}},e.prototype.applyPreviewFilter=function(){var e=this.parent;(e.element.querySelector("#"+e.element.id+"_sliderWrapper")||e.currObjType.isFiltered)&&(e.initialAdjustmentValue=this.lowerContext.filter,e.canvasFilter=this.lowerContext.filter,e.currObjType.isFiltered=!1)},e.prototype.unselectBtn=function(){for(var e=this.parent,t=e.element.id,i=0,o=["#"+t+"_brightness","#"+t+"_contrast","#"+t+"_hue","#"+t+"_saturation","#"+t+"_opacity","#"+t+"_blur","#"+t+"_exposure"];i<o.length;i++){var r=o[i],n=e.element.querySelector(r);if(n&&n.classList.contains("e-selected-btn")){n.classList.remove("e-selected-btn");break}}},e.prototype.openSlider=function(e){this.unselectBtn(),this.parent.currObjType.isFiltered=!0,this.refreshToolbar("color",null,null,null,e),this.parent.element.querySelector("#"+this.parent.element.id+"_"+e).classList.add("e-selected-btn")},e.prototype.refreshSlider=function(){var e=this.parent.element.id,t=this.parent.element.querySelector("#"+e+"_sliderWrapper"),i=this.parent.element.querySelector(".e-slider"),o=this.parent.element.querySelector("#"+e+"_headWrapper");o&&(o.style.display="none"),t&&i&&(i.ej2_instances[0].destroy(),t.remove())},e.prototype.unselectFrameBtn=function(){for(var e=this.parent,t=e.element.id,i=0,o=["#"+t+"_none","#"+t+"_mat","#"+t+"_line","#"+t+"_inset","#"+t+"_bevel","#"+t+"_hook"];i<o.length;i++){var r=o[i],n=e.element.querySelector(r);if(n.classList.contains("e-selected-btn")){n.classList.remove("e-selected-btn");break}}},e.prototype.updateToolbarItems=function(){var e=this.parent,t=e.element.id;if(e.isImageLoaded&&this.isToolbar()){var i=e.element.querySelector(".e-fill.e-template .e-dropdownbtn-preview"),o=e.element.querySelector(".e-stroke.e-template .e-dropdownbtn-preview"),r=e.element.querySelector(".e-text-font-color.e-template .e-dropdownbtn-preview"),n=e.element.querySelector(".e-stroke-text-font-color.e-template .e-dropdownbtn-preview"),a=e.element.querySelector(".e-text-background-color.e-template .e-dropdownbtn-preview"),s=e.element.querySelector(".e-pen-stroke-color.e-template .e-dropdownbtn-preview"),p=e.element.querySelector(".e-shape-stroke-width"),d=e.element.querySelector(".e-shape-rectangle-radius"),h=e.element.querySelector(".e-text-font-family"),c=e.element.querySelector(".e-text-font-size"),u=e.element.querySelector("#"+t+"_bold"),v=e.element.querySelector("#"+t+"_italic"),g=e.element.querySelector("#"+t+"_underline"),f=e.element.querySelector("#"+t+"_strikethrough");if(e.activeObj.strokeSettings&&e.activeObj.textSettings){if((0,l.isNullOrUndefined)(e.activeObj.strokeSettings.strokeWidth)&&(e.activeObj.strokeSettings.strokeWidth=2),(0,l.isNullOrUndefined)(e.activeObj.strokeSettings.outlineWidth)&&(e.activeObj.strokeSettings.outlineWidth=2),i){var m=e.activeObj.strokeSettings.fillColor;""===e.activeObj.strokeSettings.fillColor?i.classList.add("e-nocolor-item"):(i.classList.remove("e-nocolor-item"),i.style.background=m),document.querySelector("#"+t+"_shape_fill")&&((0,l.getComponent)(t+"_shape_fill","colorpicker").value=m)}if(o){m=e.activeObj.strokeSettings.strokeColor;o.style.background=m,document.querySelector("#"+t+"_shape_stroke")&&((0,l.getComponent)(t+"_shape_stroke","colorpicker").value=m)}if(r){m=e.activeObj.strokeSettings.strokeColor;r.style.background=m,document.querySelector("#"+t+"_text_font")&&((0,l.getComponent)(t+"_text_font","colorpicker").value=m)}if(n){m=e.activeObj.strokeSettings.outlineColor;/^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$|^[a-zA-Z]+$/.test(e.activeObj.strokeSettings.outlineColor)?(n.classList.remove("e-nocolor-item"),n.style.background=m):n.classList.add("e-nocolor-item"),document.querySelector("#"+t+"_stroke_text")&&((0,l.getComponent)(t+"_stroke_text","colorpicker").value=m)}if(a){m=e.activeObj.strokeSettings.fillColor;""===e.activeObj.strokeSettings.fillColor||"transparent"===e.activeObj.strokeSettings.fillColor?a.classList.add("e-nocolor-item"):(a.classList.remove("e-nocolor-item"),a.style.background=m),document.querySelector("#"+t+"_text_bgColor")&&((0,l.getComponent)(t+"_text_bgColor","colorpicker").value=m)}if(s){m=e.activeObj.strokeSettings.strokeColor;s.style.background=m,document.querySelector("#"+t+"_pen_stroke")&&((0,l.getComponent)(t+"_pen_stroke","colorpicker").value=m);e.notify("freehand-draw",{prop:"getPenOpacity",onPropertyChange:!1,value:{obj:{penOpacity:1}}})}if(h&&(l.Browser.isDevice?h.setAttribute("style","font-family:"+e.activeObj.textSettings.fontFamily.toLowerCase()):h.textContent=e.activeObj.textSettings.fontFamily),c)for(var b=0;b<e.fontSizeColl.length;b++){if(parseInt(e.fontSizeColl[b].text,10)>=Math.round(e.activeObj.textSettings.fontSize)){c.textContent=(b+1).toString();break}if(Math.round(e.activeObj.textSettings.fontSize)<parseInt(e.fontSizeColl[0].text,10)){c.textContent="1";break}if(Math.round(e.activeObj.textSettings.fontSize)>parseInt(e.fontSizeColl[e.fontSizeColl.length-1].text,10)){c.textContent=(e.fontSizeColl.length-1+1).toString();break}}if(u&&(e.activeObj.textSettings.bold?u.classList.add("e-selected-btn"):u.classList.remove("e-selected-btn")),v&&(e.activeObj.textSettings.italic?v.classList.add("e-selected-btn"):v.classList.remove("e-selected-btn")),g&&(e.activeObj.textSettings.underline?g.classList.add("e-selected-btn"):g.classList.remove("e-selected-btn")),f&&(e.activeObj.textSettings.strikethrough?f.classList.add("e-selected-btn"):f.classList.remove("e-selected-btn")),p){var y="text"===e.activeObj.shape?e.activeObj.strokeSettings.outlineWidth:e.activeObj.strokeSettings.strokeWidth,C=Math.round(y).toString();p.textContent=this.getStrokeWidth(C)}if(d){var x=Math.round(e.activeObj.strokeSettings.radius).toString();d.textContent=this.getRectRadius(x)}}}},e.prototype.getStrokeWidth=function(e){var t=parseInt(e,10)/2;return 0===t?this.l10n.getConstant("NoOutline"):t>0&&t<=1?this.l10n.getConstant("XSmall"):t>1&&t<=2?this.l10n.getConstant("Small"):t>2&&t<=3?this.l10n.getConstant("Medium"):t>3&&t<=4?this.l10n.getConstant("Large"):this.l10n.getConstant("XLarge")},e.prototype.getRectRadius=function(e){var t;switch(parseInt(e,10)/2){case 0:t=this.l10n.getConstant("0");break;case 1:t=this.l10n.getConstant("20");break;case 2:t=this.l10n.getConstant("40");break;case 3:t=this.l10n.getConstant("60");break;case 4:t=this.l10n.getConstant("80");break;case 5:t=this.l10n.getConstant("100")}return t},e.prototype.cancelPan=function(){var e=this.parent;e.notify("shape",{prop:"applyActObj",onPropertyChange:!1,value:{isMouseDown:!0}});var t=e.element.querySelector(".e-img-pan .e-btn");t&&t.classList.remove("e-selected-btn"),e.pan(!1)},e.prototype.refreshMainToolbar=function(){"main"!==this.currToolbar&&this.refreshToolbar("main")},e.prototype.destroySubComponents=function(){for(var e=this.parent,t=e.element.querySelectorAll("input.e-control"),i=e.element.querySelectorAll("button.e-control"),o=0,r=t.length;o<r;o++)t[o].classList.contains("e-color-picker")&&((0,l.getComponent)(t[o],"color-picker").destroy(),(0,l.detach)((0,l.select)("input#"+t[o].id,e.element)));for(o=0,r=i.length;o<r;o++)i[o].classList.contains("e-dropdown-btn")?((0,l.getComponent)(i[o],"dropdown-btn").destroy(),(0,l.detach)((0,l.select)("button#"+i[o].id,e.element))):i[o].classList.contains("e-btn")&&((0,l.getComponent)(i[o],"btn").destroy(),(0,l.detach)((0,l.select)("button#"+i[o].id,e.element)))},e.prototype.setInitialShapeSettings=function(e){var t=this.parent;t.notify("shape",{prop:"refreshActiveObj",onPropertyChange:!1}),t.currObjType.shape=e.item.id,t.activeObj.shape=t.currObjType.shape.toLowerCase(),t.currObjType.isDragging=t.currObjType.isCustomCrop=!1,t.activeObj.shapeDegree=t.transform.degree,t.activeObj.shapeFlip=t.transform.currFlipState,t.activeObj.textFlip=t.transform.currFlipState,t.activeObj.flipObjColl=[];var i={order:null};t.notify("shape",{prop:"getNewOrder",onPropertyChange:!1,value:{obj:i}}),t.activeObj.order=i.order},e.prototype.isToolbarString=function(e){for(var t=!1,i=0;i<e.length;i++)if("string"==typeof e[i]){t=!0;break}return t},e.prototype.excludeItems=function(e){for(var t=[],i=0;i<e.length;i++){var o=this.getIndex(e[i]);-1!==o&&t.push(o)}var r=[];for(i=0;i<this.defToolbarItems.length;i++)"Center"!==this.defToolbarItems[i].align||this.isSameIndex(t,i)||this.defToolbarItems[i].id===this.parent.element.id+"_annotation"||r.push(i);for(i=r.length-1;i>=0;i--)this.defToolbarItems.splice(r[i],1)},e.prototype.isSameIndex=function(e,t){for(var i=0;i<e.length;i++)if(e[i]===t)return!0;return!1},e.prototype.getIndex=function(e){var t=-1,i=!1;"rotateLeft"===e&&(e="rotLeft"),"rotateRight"===e&&(e="rotRight"),"horizontalFlip"===e&&(e="hflip"),"verticalFlip"===e&&(e="vflip"),"arrowStart"===e&&(e="start"),"arrowEnd"===e&&(e="end"),"fontColor"===e&&(e="strokeColor",i=!0);for(var o=0;o<this.defToolbarItems.length;o++){var r=this.defToolbarItems[o].id;if(r&&-1!==r.toLowerCase().indexOf(e.toLowerCase())){t=o;break}}return i&&(e="fontColor"),t},e.prototype.getModuleName=function(){return"toolbar-module"},e.prototype.redactSlider=function(e){var t=this.parent,i=t.element.id,o=t.element.querySelector("#"+i+"_toolbarArea"),r=t.element.querySelector("#"+i+"_contextualToolbarArea");if(r){r.classList.remove("e-hide"),r.style.left=o.offsetLeft+"px";var n=t.element.querySelector("#"+i+"_contextualToolbarArea"),a=t.element.querySelector("#"+i+"_headWrapper"),s=t.element.querySelector("#"+i+"_labelWrapper"),p=t.element.querySelector("#"+i+"_contextualToolbar");a&&(a.remove(),s.remove()),p&&(p.remove(),this.createContextualToolbar()),s=(a=n.appendChild(t.createElement("div",{id:i+"_headWrapper",className:"e-ie-head-wrapper",styles:"position: relative"}))).appendChild(t.createElement("label",{id:i+"_labelWrapper",className:"e-ie-finetune-slider-label"}));var d="blur"===e?this.l10n.getConstant("Blur"):this.l10n.getConstant("PixelSize");s.textContent=d;var h=a.appendChild(t.createElement("div",{id:i+"_sliderWrapper",className:"e-ie-finetune-slider-wrap"}));a.appendChild(t.createElement("label",{id:i+"_redactSpan",className:"e-ie-redact-value-span"})),h.parentElement.classList.add("e-finetune-slider");var c="blur"===t.activeObj.redactType?t.activeObj.redactBlur:t.activeObj.redactPixelate;if(new A.Slider({tooltip:{placement:"Before",isVisible:!0,showOn:"Focus"},min:10,max:100,step:1,value:c,type:"MinRange",width:l.Browser.isDevice?"130px":"300px",created:function(){t.element.querySelector(".e-ie-redact-value-span").innerText=c.toString()},change:function(e){t.element.querySelector(".e-ie-redact-value-span").innerText=e.value.toString(),"blur"===t.activeObj.redactType?t.activeObj.redactBlur=t.tempRedactBlur=e.value:"pixelate"===t.activeObj.redactType&&(t.activeObj.redactPixelate=t.tempRedactPixel=e.value),t.notify("draw",{prop:"drawObject",onPropertyChange:!1,value:{canvas:"duplicate",obj:t.activeObj,isCropRatio:null,points:null,isPreventDrag:!0,saveContext:null,isPreventSelection:!0}})},changed:function(){setTimeout(function(){t.notify("undo-redo",{prop:"updateUndoRedoStack",onPropertyChange:!1})},50)}}).appendTo(t.element.querySelector("#"+i+"_sliderWrapper")),l.Browser.isDevice){var u=r.offsetHeight+1,v=t.element.querySelector("#"+i+"_customizeWrapper");this.isFrameToolbar&&v&&(u=v.offsetHeight+2);var g=t.element.querySelector("#"+i+"_canvasWrapper").offsetHeight;r.style.top=this.toolbarHeight+1+g-u+"px"}else r.style.top=t.element.querySelector("#"+t.element.id+"_toolbarArea").clientHeight+"px"}},e}(),te=b(674),ie=b(74),oe=function(){function e(){}return e.evaluateCondition=function(e,t){try{return"field"in e&&"operator"in e&&"value"in e?this.evaluateSimpleRule(e,t):"condition"in e&&"rules"in e&&this.evaluateCompositeRule(e,t)}catch(e){return!1}},e.evaluateSimpleRule=function(e,t){try{var i=t[e.field],o=e.operator.toLowerCase();if(void 0===i){if(-1===["equal","equals","notequal","notequals","isempty","isnotempty"].indexOf(o))return!1}var r=Array.isArray(i),n=new l.Internationalization;switch(o){case"equal":case"equals":return i===e.value;case"notequal":case"notequals":return i!==e.value;case"startswith":return i.startsWith(e.value);case"doesnotstartswith":return!i.startsWith(e.value);case"greaterthan":case"lessthan":case"greaterthanorequal":case"lessthanorequal":var a=Number(i),s=Number(e.value);return!Number.isNaN(a)&&!Number.isNaN(s)&&("greaterthan"===o?a>s:"lessthan"===o?a<s:"greaterthanorequal"===o?a>=s:a<=s);case"dategreaterthan":case"datelessthan":var p=n.parseDate(i,{format:"MM/dd/yyyy"}),d=n.parseDate(e.value,{format:"MM/dd/yyyy"});return null!==p&&null!==d&&("dategreaterthan"===o?p>d:"datelessthan"===o?p<d:p<=d);case"timegreaterthan":case"timelessthan":var h=n.parseDate(i,{format:"hh:mm a",type:"time"}),c=n.parseDate(e.value,{format:"hh:mm a",type:"time"});if(null!==h&&null!==c){if("timegreaterthan"===o)return h>c;if("timelessthan"===o)return h<c}return!1;case"datetimegreaterthan":case"datetimelessthan":var u=n.parseDate(i,{format:"MM/dd/yyyy hh:mm a",type:"dateTime"}),v=n.parseDate(e.value,{format:"MM/dd/yyyy hh:mm a",type:"dateTime"});if(null!==u&&null!==v){if("datetimegreaterthan"===o)return u>v;if("datetimelessthan"===o)return u<v}return!1;case"contains":return r?"string"==typeof e.value&&-1!==e.value.indexOf(",")?e.value.split(",").map(function(e){return e.trim()}).some(function(e){return-1!==i.indexOf(e)}):-1!==i.indexOf(e.value):-1!==String(i).indexOf(String(e.value));case"notcontains":return r?"string"==typeof e.value&&-1!==e.value.indexOf(",")?!e.value.split(",").map(function(e){return e.trim()}).some(function(e){return-1!==i.indexOf(e)}):-1===i.indexOf(e.value):-1===String(i).indexOf(String(e.value));case"isempty":return r?0===i.length:!i||0===String(i).length;case"isnotempty":return r?i.length>0:!!i&&String(i).length>0;default:return!1}}catch(e){return!1}},e.evaluateCompositeRule=function(e,t){var i=this;try{if(!Array.isArray(e.rules)||0===e.rules.length)return!1;var o=e.condition.toLowerCase();return"and"===o?e.rules.every(function(e){return i.evaluateCondition(e,t)}):"or"===o&&e.rules.some(function(e){return i.evaluateCondition(e,t)})}catch(e){return!1}},e.isFieldVisible=function(e,t){try{return!e||!e.visibleWhen||this.evaluateCondition(e.visibleWhen,t)}catch(e){return!0}},e.isFieldReadOnly=function(e,t){try{return!(!e||!e.readOnlyWhen)&&this.evaluateCondition(e.readOnlyWhen,t)}catch(e){return!1}},e.isFieldDisabled=function(e,t){try{return!(!e||!e.disabledWhen)&&this.evaluateCondition(e.disabledWhen,t)}catch(e){return!1}},e.isFieldHidden=function(e,t){try{return!(!e||!e.hideWhen)&&this.evaluateCondition(e.hideWhen,t)}catch(e){return!1}},e.isFieldRequired=function(e,t){try{return!(!e||!e.requiredWhen)&&this.evaluateCondition(e.requiredWhen,t)}catch(e){return!1}},e.getConditionalValue=function(e,t){try{if(!e||!e.setValueWhen)return;return this.evaluateCondition(e.setValueWhen.condition,t)?e.setValueWhen.value:void 0}catch(e){return}},e.evaluateConditionalDataRules=function(e,t){if(!e||!Array.isArray(e))return-1;for(var i=0;i<e.length;i++){var o=e[i];if(this.evaluateCondition(o.condition,t))return i}return-1},e.getChoiceBasedOptions=function(e,t,i,o){try{var r=i&&i[o];if(null==r)return e.showAllWhenNotMapped?t:[];var n=String(r);return n in e.choiceMapping?e.choiceMapping[n].filter(function(e){return-1!==t.indexOf(e)}):e.showAllWhenNotMapped?t:[]}catch(e){return t}},e}(),re=function(){return re=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},re.apply(this,arguments)},ne=function(e){return e+"_"+Date.now()+"_"+Math.floor(1e3*Math.random())},ae=function(e){return e+"_"+Math.floor(1e3*Math.random())};function se(e,t){if(!e||""===e.trim())return t||"field";var i=e.replace(/[^\w\s]/g,"").trim();if(""===i)return t||"field";var o=i.split(/[\s_]+/);return 0===o.length?t||"field":o.map(function(e,t){return 0===t?e.toLowerCase():e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}).join("")||t||"field"}function le(e,t,i){if(!t.has(e))return e;if(i){var o=e+"_"+i.split("_").pop();if(!t.has(o))return o}for(var r=2;t.has(""+e+r);)r++;return""+e+r}var pe={textbox:{type:"string"},textarea:{type:"string"},email:{type:"string",format:"email"},url:{type:"string",format:"url"},phone:{type:"string"},password:{type:"string"},inputMask:{type:"string"},number:{type:"number"},rangeSlider:{type:"number"},rating:{type:"number"},checkbox:{type:"boolean"},switch:{type:"boolean"},date:{type:"string",format:"date"},dateTime:{type:"string",format:"date-time"},time:{type:"string",format:"time"},dateRange:{type:"string",format:"date"},multiselect:{type:"array"},checkboxGroup:{type:"array"},dropdown:{type:"string"},radio:{type:"string"},splitButton:{type:"string"},button:{type:"button"},message:{type:"message"},signature:{type:"sign"},imageEditor:{type:"image"},fileUpload:{type:"file"},colorPicker:{type:"color"},dataGrid:{type:"grid"},staticHtml:{type:"string"},table:null,panel:null,tabs:null,card:null};function de(e){for(var t={},i=0,o=Object.keys(e||{});i<o.length;i++){var r=o[i],n=e[r],a=re({},n);a&&void 0!==a._configured&&delete a._configured,t[r]=a}return t}function he(e,t){if(e&&e.rules&&Array.isArray(e.rules)){var i=e.rules.map(function(e){return e.rules&&Array.isArray(e.rules)?he(e,t):e.field&&!t.has(e.field)?null:e}).filter(function(e){return null!=e});if(0!==i.length)return re({},e,{rules:i})}}function ce(e){for(var t={},i={},o=[],r=new Set,n=new Set,a=function(e){for(var t=new Set,i=e.slice();i.length;){var o=i.pop();t.add(o.id),o.children&&i.push.apply(i,o.children),o.tabItems&&o.tabItems.forEach(function(e){e.content&&i.push.apply(i,e.content)}),o.tableCells&&o.tableCells.forEach(function(e){e.forEach(function(e){return i.push.apply(i,e)})})}return t}(e.components),s=e.components.map(function(e){return{component:e,layoutParent:o}}),l=function(){var e=s.shift(),o=e.component,l=e.layoutParent;if(o.conditions){var p,d={},h=!1;if(o.conditions.visibleWhen)(p=he(o.conditions.visibleWhen,a))&&(d.visibleWhen=p,h=!0);if(o.conditions.hideWhen)(p=he(o.conditions.hideWhen,a))&&(d.hideWhen=p,h=!0);if(o.conditions.readOnlyWhen)(p=he(o.conditions.readOnlyWhen,a))&&(d.readOnlyWhen=p,h=!0);if(o.conditions.disabledWhen)(p=he(o.conditions.disabledWhen,a))&&(d.disabledWhen=p,h=!0);if(o.conditions.requiredWhen)(p=he(o.conditions.requiredWhen,a))&&(d.requiredWhen=p,h=!0);if(o.conditions.setValueWhen)(p=he(o.conditions.setValueWhen.condition,a))&&void 0!==o.conditions.setValueWhen.value&&""!==o.conditions.setValueWhen.value&&(d.setValueWhen={condition:p,value:o.conditions.setValueWhen.value},h=!0);if(o.conditions&&o.conditions.choiceBasedField){var c=o.conditions.choiceBasedField;c.primaryFieldId&&a.has(c.primaryFieldId)&&(d.choiceBasedField=c,h=!0)}if(o.conditions.conditionalData&&Array.isArray(o.conditions.conditionalData)){var u=o.conditions.conditionalData.map(function(e){var t=he(e.condition,a);return t&&e.dataSource?{condition:t,dataSource:e.dataSource,columns:e.columns,includeColumns:e.includeColumns}:null}).filter(function(e){return null!=e});u.length>0&&(d.conditionalData=u,h=!0)}o.conditions=h?d:void 0}var v=pe[o.type];if("table"===o.type){var g=Be(o.id,ne("table")),f=re({type:"table",id:g,name:o.name,label:o.label,cssClass:o.cssClass,hideBorders:o.hideBorders,rows:o.tableCells&&o.tableCells.length||0,cols:o.tableCells&&o.tableCells[0]&&o.tableCells[0].length||0,cells:[],columnWidths:o.columnWidths},o.conditions?{conditions:o.conditions}:{});return o.tableCells&&o.tableCells.forEach(function(e,t){var i=[];e.forEach(function(e,o){var r=[];e.slice().reverse().forEach(function(e){s.unshift({component:e,layoutParent:r})}),i.push({row:t,col:o,children:r})}),f.cells.push(i)}),l.push(f),"continue"}if("panel"===o.type){g=Be(o.id,ne("panel"));var m=re({type:"panel",id:g,name:o.name,label:o.label,cssClass:o.cssClass,hideBorders:o.hideBorders,hideLabel:o.hideLabel,children:[]},o.conditions?{conditions:o.conditions}:{});return(o.children||[]).slice().reverse().forEach(function(e){s.unshift({component:e,layoutParent:m.children})}),l.push(m),"continue"}if("tabs"===o.type){g=Be(o.id,ne("tabs"));var b=re({type:"tabs",name:o.name,id:g,label:o.label,cssClass:o.cssClass,tabOptions:o.tabOptions,tabs:[]},o.conditions?{conditions:o.conditions}:{});return o.tabItems&&o.tabItems.forEach(function(e){var t=[];(e.content||[]).slice().reverse().forEach(function(e){s.unshift({component:e,layoutParent:t})}),b.tabs.push({header:e.header,children:t})}),l.push(b),"continue"}if("card"===o.type){g=Be(o.id,ne("card"));var y=re({type:"card",id:g,name:o.name,label:o.label,cssClass:o.cssClass,hideLabel:o.hideLabel,cardTitle:o.cardTitle,cardSubtitle:o.cardSubtitle,children:[]},o.conditions?{conditions:o.conditions}:{});return(o.children||[]).slice().reverse().forEach(function(e){s.unshift({component:e,layoutParent:y.children})}),l.push(y),"continue"}if(n.has(o.id))return"continue";n.add(o.id);var C=le(se(o.label||o.id,o.id),r,o.id);r.add(C);var x=ue(o,v||{type:"any"});t[C]=x,i[C]=function(e){var t={widget:e.type},i=new Set(["id","type","label","format","defaultValue","required","options","name","expressionValue","minLength","maxLength","minimum","maximum","minValue","maxValue","minDate","maxDate","minTime","maxTime","regex","pattern","content","buttonType","textboxType"]);if(Object.keys(e).forEach(function(o){i.has(o)||"id"===o||"type"===o||(t[o]=e[o])}),"dataGrid"===e.type&&t.columns&&Array.isArray(t.columns)){var o=["field","headerText","type","width","format","editType","validationRules","allowEditing","expression","isPrimaryKey","customValidation"];t.columns=t.columns.map(function(e){var t={};return o.forEach(function(i){void 0!==e[i]&&(t[i]=e[i])}),t})}return t}(o),l.push({type:"field",propertyId:C})};s.length>0;)l();var p={};Object.keys(t).forEach(function(e){var o=t[e],r=i[e];p[e]=re({},o,r,{widget:r&&r.widget||fe(o.type,o.format,void 0!==o.options)})});var d=e.settings?re({},e.settings):{};return re({version:e.version,properties:de(p),layout:o},Object.keys(d).length>0?{settings:d}:{})}function ue(e,t){var i={id:Be(e.id,ne(t.type)),name:e.name,type:t.type};if(t.format&&(i.format=t.format),void 0!==e.label&&(i.label=e.label),void 0!==e.defaultValue&&(i.defaultValue=e.defaultValue),void 0!==e.expressionValue&&(i.expressionValue=e.expressionValue),void 0!==e.content&&(i.content=e.content),void 0!==e.buttonType&&(i.buttonType=e.buttonType),void 0!==e.textboxType&&(i.textboxType=e.textboxType),void 0!==e.required&&(i.required=e.required),void 0!==e.options&&(i.options=e.options),void 0!==e.minLength&&(i.minLength=e.minLength),void 0!==e.maxLength&&(i.maxLength=e.maxLength),void 0!==e.minValue&&(i.minValue=e.minValue),void 0!==e.maxValue&&(i.maxValue=e.maxValue),void 0!==e.minDate&&(i.minDate=e.minDate),void 0!==e.maxDate&&(i.maxDate=e.maxDate),void 0!==e.minTime&&(i.minTime=e.minTime),void 0!==e.maxTime&&(i.maxTime=e.maxTime),void 0!==e.regex){var o=e.regex;i.pattern=o instanceof RegExp?o.source:o}if(void 0!==e.pattern){var r=e.pattern;i.pattern=r instanceof RegExp?r.source:r}return i}function ve(e,t){for(var i=new Map,o=0,r=Object.keys(e.properties);o<r.length;o++){var n=r[o];i.set(n,e.properties[n])}var a,s=new Set,l=function(e){for(var o=[],r=function(e){if("field"===e.type){var r=e;if(s.has(r.propertyId))return"continue";s.add(r.propertyId);var n=i.get(r.propertyId);if(n)o.push(ge(n,t));else{var a={id:r.propertyId||ne("textbox"),name:ae(""),type:"textbox",label:"Unknown Field",_configured:!0};o.push(a)}}else if("table"===e.type){var p=e,d=re({id:p.id||ne("table"),name:p.name,type:"table",label:p.label||"Table",cssClass:p.cssClass,hideBorders:p.hideBorders,rows:p.rows,columns:p.cols,columnWidths:p.columnWidths,tableCells:[],_configured:!0},p.conditions?{conditions:p.conditions}:{});p.cells.forEach(function(e){var t=[];e.forEach(function(e){var i=l(e.children);t.push(i)}),d.tableCells.push(t)}),o.push(d)}else if("panel"===e.type){var h=e,c=re({id:h.id||ne("panel"),type:"panel",name:h.name,cssClass:h.cssClass,hideBorders:h.hideBorders,hideLabel:h.hideLabel,label:h.label||"Panel",children:l(h.children),_configured:!0},h.conditions?{conditions:h.conditions}:{});o.push(c)}else if("tabs"===e.type){var u=e,v=re({id:u.id||ne("tabs"),type:"tabs",name:u.name,label:u.label||"Tabs",cssClass:u.cssClass,tabOptions:u.tabOptions,tabItems:[],_configured:!0},u.conditions?{conditions:u.conditions}:{});u.tabs.forEach(function(e){v.tabItems.push({header:e.header,content:l(e.children)})}),o.push(v)}else if("card"===e.type){var g=e,f=re({id:g.id||ne("card"),type:"card",name:g.name,label:g.label||"Card",cssClass:g.cssClass,hideLabel:g.hideLabel,children:l(g.children),_configured:!0},g.conditions?{conditions:g.conditions}:{});void 0!==g.cardTitle&&(f.cardTitle=g.cardTitle),void 0!==g.cardSubtitle&&(f.cardSubtitle=g.cardSubtitle),o.push(f)}},n=0,a=e;n<a.length;n++){r(a[n])}return o};e.layout&&0!==e.layout.length?a=l(e.layout):a=Object.keys(e.properties).map(function(i){return ge(e.properties[i],t)});return re({version:e.version,components:a},e.settings?{settings:e.settings}:{})}function ge(e,t){var i=void 0!==e.options&&e.options.length>0,o={id:e.id||ne(e.widget||fe(e.type,e.format,i)),name:e.name,type:e.widget||fe(e.type,e.format,i),label:e.label||e.id},r=new Set(["id","type","name","label","format","widget","defaultValue","required","options","expressionValue","minLength","maxLength","minimum","maximum","minValue","maxValue","minDate","maxDate","minTime","maxTime","regex","pattern","content","buttonType","textboxType"]);return Object.keys(e).forEach(function(t){r.has(t)||"id"===t||"name"===t||"type"===t||"label"===t||(o[t]=e[t])}),void 0!==e.defaultValue&&(o.defaultValue=e.defaultValue),void 0!==e.expressionValue&&(o.expressionValue=e.expressionValue),void 0!==e.required&&(o.required=e.required),void 0!==e.content&&(o.content=e.content),void 0!==e.buttonType&&(o.buttonType=e.buttonType),void 0!==e.textboxType&&(o.textboxType=e.textboxType),void 0!==e.options&&(o.options=e.options),void 0!==e.minLength&&(o.minLength=e.minLength),void 0!==e.maxLength&&(o.maxLength=e.maxLength),void 0!==e.minValue&&(o.minValue=e.minValue),void 0!==e.maxValue&&(o.maxValue=e.maxValue),void 0!==e.minDate&&(o.minDate=e.minDate),void 0!==e.maxDate&&(o.maxDate=e.maxDate),void 0!==e.minTime&&(o.minTime=e.minTime),void 0!==e.maxTime&&(o.maxTime=e.maxTime),void 0!==e.pattern&&(o.regex=e.pattern),e.name&&t&&Object.prototype.hasOwnProperty.call(t,e.name)&&("checkbox"!==o.type&&"switch"!==o.type||(o.checked=t[e.name]),"dataGrid"===o.type?o.dataSource=t[e.name]:o.defaultValue=t[e.name]),o}function fe(e,t,i){return"string"===e?"date"===t?"date":"date-time"===t?"dateTime":"time"===t?"time":"email"===t?"email":"url"===t?"url":i?"dropdown":"textbox":"number"===e?"number":"boolean"===e?"checkbox":"array"===e?"multiselect":"button"===e?"button":"message"===e?"message":"sign"===e?"signature":"image"===e?"imageEditor":"file"===e?"fileUpload":"color"===e?"colorPicker":"grid"===e?"dataGrid":"textbox"}function me(e){switch(e){case"number":case"rangeSlider":case"rating":return"number";case"checkbox":case"switch":return"boolean";case"multiselect":case"checkboxGroup":return"array";case"button":return"button";case"message":return"message";case"signature":return"sign";case"imageEditor":return"image";case"fileUpload":return"file";case"colorPicker":return"color";case"dataGrid":return"grid";default:return"string"}}function be(e,t){var i=function(e,t){for(var i=e.length,o=t.length,r=[],n=0;n<=i;n++)r[n]=[n];for(var a=0;a<=o;a++)r[0][a]=a;for(n=1;n<=i;n++)for(a=1;a<=o;a++){var s=e[n-1]===t[a-1]?0:1;r[n][a]=Math.min(r[n-1][a]+1,r[n][a-1]+1,r[n-1][a-1]+s)}return r[i][o]}(e.toLowerCase(),t.toLowerCase()),o=Math.max(e.length,t.length);return 0===o?100:Math.round((o-i)/o*100)}function ye(e,t){if(t.properties[e.id])return{existingId:e.id,newDataId:e.id,confidence:"exact",method:"id",similarity:100};for(var i=null,o=0,r=Object.keys(t.properties);o<r.length;o++){var n=r[o];if("table"!==(c=t.properties[n]).widget&&"panel"!==c.widget&&"tabs"!==c.widget){var a=e.id||"";if(0===n.indexOf(a+"_")||0===a.indexOf(n+"_")){var s=Math.round(Math.min(a.length,n.length)/Math.max(a.length,n.length)*100);(!i||i.similarity&&s>i.similarity)&&(i={existingId:n,newDataId:e.id,confidence:s>=90?"high":s>=70?"medium":"low",method:"id",similarity:s})}else{var l=be(n,a);l>=85&&(!i||i.similarity&&l>i.similarity)&&(i={existingId:n,newDataId:e.id,confidence:l>=90?"high":"medium",method:"id",similarity:l})}}}if(i&&i.similarity&&i.similarity>=70)return i;for(var p=null,d=0,h=Object.keys(t.properties);d<h.length;d++){var c;n=h[d];if("table"!==(c=t.properties[n]).widget&&"panel"!==c.widget&&"tabs"!==c.widget){var u=c.label||n,v=e.label||e.id;if(u&&v){s=be(u,v);(!p||p.similarity&&s>p.similarity)&&(p={existingId:n,newDataId:e.id,confidence:s>=90?"high":s>=70?"medium":"low",method:100===s?"label-exact":"label-fuzzy",similarity:s})}}}return p&&p.similarity&&p.similarity>=70?p:{existingId:e.id,newDataId:e.id,confidence:"exact",method:"new",similarity:100}}function Ce(e,t){for(var i=new Map,o=[],r=0,n=Object.keys(e.properties);r<n.length;r++){var a=n[r],s=ye(h=e.properties[a],t);o.push(s),i.set(a,s.existingId||ne(se(h.label||""))),s.newDataId,s.existingId}for(var l={},p=0,d=Object.keys(e.properties);p<d.length;p++){a=d[p];var h=e.properties[a],c=i.get(a)||a;l[c]=re({},h,{id:c})}for(var u=function(e){var t=new Set,i=e.slice();for(;i.length>0;){var o=i.shift();"field"===o.type?t.add(o.propertyId):"table"===o.type?o.cells.forEach(function(e){return e.forEach(function(e){return i.push.apply(i,e.children)})}):"panel"===o.type?i.push.apply(i,o.children):"tabs"===o.type?o.tabs.forEach(function(e){return i.push.apply(i,e.children)}):"card"===o.type&&i.push.apply(i,o.children)}return t}(t.layout),v=Object.keys(l).filter(function(e){return!u.has(e)}),g=Object.keys(t.properties).map(function(e){return t.properties[e]}).some(function(e){return"button"===e.widget}),f=v.filter(function(e){var t=l[e];return"button"!==t.type||"submit"!==t.buttonType||!g}),m=xe(t.layout,i),b={},y=0,C=Object.keys(t.properties);y<C.length;y++){var x=C[y],w=t.properties[x];b[x]=re({},w,{_configured:void 0===w._configured||w._configured})}if(f.length>0){var P=m[m.length-1],S=P&&"field"===P.type&&b[P.propertyId]&&"button"===b[P.propertyId].widget,j=[];f.forEach(function(e){var t=l[e],i=void 0!==t.options&&t.options.length>0,o=fe(t.type,t.format,i),r={widget:o,label:t.label,_configured:!0};"button"===o&&(r.isPrimary=!0,r.name="defaultFormSubmit",r.cssClass="e-primary"),b[e]=r,j.push({type:"field",propertyId:e})}),m=S?m.slice(0,-1).concat(j,[m[m.length-1]]):m.concat(j)}var O={};return Object.keys(l).forEach(function(e){var t=l[e],i=b[e];O[e]=re({},t,i,{widget:i&&i.widget||fe(t.type,t.format,void 0!==t.options)})}),ve(re({version:e.version,properties:O,layout:m},e.settings?{settings:e.settings}:{}))}function xe(e,t){return e.map(function(e){if("field"===e.type){var i=e,o=t.get(i.propertyId)||i.propertyId;return re({},i,{propertyId:o})}if("table"===e.type){return re({},e,{cells:e.cells.map(function(e){return e.map(function(e){return re({},e,{children:xe(e.children,t)})})})})}if("panel"===e.type){return re({},e,{children:xe(e.children,t)})}if("tabs"===e.type){return re({},e,{tabs:e.tabs.map(function(e){return re({},e,{children:xe(e.children,t)})})})}if("card"===e.type){return re({},e,{children:xe(e.children,t)})}return e})}var we=function(){function e(){this.supportedFunctions=["SUM","AVG","MIN","MAX","COUNT","ROUND","FLOOR","CEIL","ABS","SQRT","UPPER","LOWER","CONCAT","LENGTH","TRIM","SUBSTRING","TODAY","AGE","DATEFORMAT","DATEDIFF","ADDDAYS","SUBDAYS","INCLUDES","CONTAINS","ISNAN","SUPPORTEDVALUESOF","TOSTRING","DATE","GETTIME","EVERY","SOME"],this.availableFields=new Map}return e.prototype.setAvailableFields=function(e){var t=this;this.availableFields.clear(),e.forEach(function(e){t.availableFields.set(e.name,e)})},e.prototype.validateFieldOperations=function(e){var t=[];if(0===this.availableFields.size)return t;for(var i,o=["-","*","/","%","^"],r=["-","*","/","%","^","+"],n=new Set,a=/(\{[^}]+\})/g;null!==(i=a.exec(e));){var s=i[0],l=s.slice(1,-1),p=this.availableFields.get(l);if(p){var d=i.index,h=d+s.length,c=e.substring(Math.max(0,d-10),d),u=e.substring(h,Math.min(e.length,h+10)),v=c.replace(/\s+$/,"").slice(-1),g=u.replace(/^\s+/,"").charAt(0),f=c.replace(/\s+$/,""),m=u.replace(/^\s+/,""),b=d-(c.length-f.length)-1,y=h+(u.length-m.length);if("string"===p.type&&!p.format){if(v&&-1!==o.indexOf(v)){var C=b+":"+v;n.has(C)||(t.push("Cannot perform '"+v+"' operation on string field '{"+l+"}'"),n.add(C))}if(g&&-1!==o.indexOf(g)){C=y+":"+g;n.has(C)||(t.push("Cannot perform '"+g+"' operation on string field '{"+l+"}'"),n.add(C))}}if("date"===p.format||"date-time"===p.format||"time"===p.format){if(v&&-1!==r.indexOf(v)){C=b+":"+v;n.has(C)||(t.push("Cannot perform '"+v+"' operation on date field '{"+l+"}'"),n.add(C))}if(g&&-1!==r.indexOf(g)){C=y+":"+g;n.has(C)||(t.push("Cannot perform '"+g+"' operation on date field '{"+l+"}'"),n.add(C))}}}}return t},e.prototype.validate=function(e){var t=[];if(!e||""===e.trim())return{valid:!0,errors:[]};(e.match(/\{/g)||[]).length!==(e.match(/\}/g)||[]).length&&t.push("Unbalanced braces in expression"),(e.match(/\(/g)||[]).length!==(e.match(/\)/g)||[]).length&&t.push("Unbalanced parentheses in expression");for(var i,o=/(\w+)\s*\(/g;null!==(i=o.exec(e));){var r=i[1].toUpperCase();r===r.toUpperCase()&&-1===this.supportedFunctions.indexOf(r)&&t.push("Unknown function: "+r)}var n=this.validateFieldOperations(e);return t.push.apply(t,n),{valid:0===t.length,errors:t}},e.prototype.compile=function(e,t){void 0===t&&(t={});try{if(t.availableFields&&Array.isArray(t.availableFields)&&this.setAvailableFields(t.availableFields),!this.validate(e).valid)return function(){return null};var i=e;return i=this.compileFieldReferences(i),i=t.isCustomValidation?this.compileInputReferences(i):i,i=this.compileBareFunctionCalls(i),i=this.compileMatrixExpressions(i),function(e){try{return new Function("context","\n try {\n return "+i+";\n } catch (e) {\n return null;\n }\n ")(e)}catch(e){return null}}}catch(e){return function(){return null}}},e.prototype.compileMatrixExpressions=function(e){var t=e,i=["PI","TRUE","FALSE","NULL","UNDEFINED","Math"],o=["SUM","AVG","MIN","MAX","COUNT","ROUND","FLOOR","CEIL","ABS","SQRT","UPPER","LOWER","CONCAT","LENGTH","TRIM","SUBSTRING","TODAY","AGE","DATEFORMAT","DATEDIFF","ADDDAYS","SUBDAYS"];return t=t.replace(/\$?\{([^}]+)\}/g,function(e,t){var r=t;return o.forEach(function(e){var t=new RegExp("(?<!context\\.)\\b"+e+"\\b(?=\\s*\\()","g");r=r.replace(t,"context."+e)}),i.forEach(function(e){var t=new RegExp("\\b"+e+"\\b","g");r=r.replace(t,"context."+e)}),"("+r+")"})},e.prototype.compileBareFunctionCalls=function(e){var t=e;return["SUM","AVG","MIN","MAX","COUNT","ROUND","FLOOR","CEIL","ABS","SQRT","UPPER","LOWER","CONCAT","LENGTH","TRIM","SUBSTRING","TODAY","AGE","DATEFORMAT","DATEDIFF","ADDDAYS","SUBDAYS"].forEach(function(e){var i=new RegExp("(?<!context\\.)\\b"+e+"\\b(?=\\s*\\()","g");t=t.replace(i,"context."+e)}),t},e.prototype.compileFieldReferences=function(e){var t=e;return t=t.replace(/\{([^{}]+)\}/g,function(e,t){return t.startsWith("\\")&&t.endsWith("\\")?e:"context['"+t.replace(/\./g,"'].[")+"']"})},e.prototype.compileInputReferences=function(e){var t=[],i=e,o=i=(i=(i=i.replace(/(['"`])(?:(?=(\\?))\2.)*?\1/g,function(e){return t.push(e),"__STRING_"+(t.length-1)+"__"})).replace(/(?<!context\[')\binput\./g,"context['input'].")).replace(/(?<!context\[')\binput\b(?!\s*[(\.])/g,"context['input']");return t.forEach(function(e,t){o=o.replace("__STRING_"+t+"__",e)}),o},e}(),Pe=function(){function e(){this.escapedBracePattern=/\\{.*?\\}/g}return e.prototype.extractFieldReferences=function(e){if(!e)return[];for(var t,i=new Set,o=e.replace(this.escapedBracePattern,""),r=/\{([^{}]+)\}/g;null!==(t=r.exec(o));){var n=t[1].trim();if(!this.isFunctionCall(n)&&!this.isOperator(n)){var a=n.split(/[.\[\]]/)[0].trim();a&&!this.isKeyword(a)&&i.add(a)}}for(var s=/\$\{([^}]+)\}/g;null!==(t=s.exec(o));)for(var l=t[1],p=/\b([a-zA-Z_][a-zA-Z0-9_]*)\b(?!\s*[(\.])/g,d=void 0;null!==(d=p.exec(l));){var h=d[1];this.isKeyword(h)||"Math"===h||i.add(h)}return Array.from(i)},e.prototype.buildGraph=function(e){for(var t={},i=0,o=Object.keys(e);i<o.length;i++){var r=o[i],n=this.extractFieldReferences(e[r]);t[r]=n}return t},e.prototype.detectCircularDependencies=function(e){for(var t=new Set,i=new Set,o=[],r=function(n,a){t.add(n),i.add(n),a.push(n);for(var s=0,l=e[n]||[];s<l.length;s++){var p=l[s];if(t.has(p)){if(i.has(p)){var d=a.indexOf(p);o.push(a.slice(d).concat([p]))}}else r(p,a.slice())}i.delete(n)},n=0,a=Object.keys(e);n<a.length;n++){var s=a[n];t.has(s)||r(s,[])}return o},e.prototype.getTopologicalOrder=function(e){for(var t=new Set,i=[],o=function(r){if(!t.has(r)){t.add(r);for(var n=0,a=e[r]||[];n<a.length;n++){var s=a[n];e[s]&&o(s)}i.push(r)}},r=0,n=Object.keys(e);r<n.length;r++){var a=n[r];o(a)}return i},e.prototype.isFunctionCall=function(e){return/^\w+\s*\(/.test(e)},e.prototype.isOperator=function(e){return/^[+\-*/()=!<>&|]/.test(e)},e.prototype.isKeyword=function(e){return-1!==["PI","TRUE","FALSE","NULL","UNDEFINED","and","or","in"].indexOf(e.toUpperCase())},e}(),Se=function(){return Se=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Se.apply(this,arguments)},je=function(){function e(){this.evaluationCache=new Map,this.compiledFunctions=new Map,this.parser=new we,this.dependencyTracker=new Pe}return e.prototype.evaluate=function(e,t,i,o){void 0===i&&(i={}),void 0===o&&(o=!1);try{if(!e||""===e.trim())return null;var r=i.timeout,n=void 0===r?5e3:r,a=i.maxDepth,s=void 0===a?10:a,l=i.locale,p=void 0===l?"en-US":l,d=i.throwOnError,h=void 0!==d&&d,c=this.getCacheKey(e,t);if(!o&&this.evaluationCache.has(c))return this.evaluationCache.get(c);var u=this.compiledFunctions.get(e);u||(u=this.parser.compile(e,{timeout:n,maxDepth:s,locale:p,isCustomValidation:o}),this.compiledFunctions.set(e,u));var v=this.buildContext(t),g=Date.now(),f=u(v);if(Date.now()-g>n){var m=new Error("Expression evaluation exceeded timeout of "+n+"ms");if(h)throw m;return null}return this.evaluationCache.set(c,f),f}catch(m){if(i.throwOnError)throw m;return null}},e.prototype.extractDependencies=function(e){return e?this.dependencyTracker.extractFieldReferences(e):[]},e.prototype.buildDependencyGraph=function(e){var t=this,i={};return e.forEach(function(e){if(e.expressionValue){var o=t.extractDependencies(e.expressionValue);i[e.name]=o}}),i},e.prototype.detectCircularDependencies=function(e){for(var t=new Set,i=new Set,o=[],r=function(n,a){t.add(n),i.add(n),a.push(n);for(var s=0,l=e[n]||[];s<l.length;s++){var p=l[s];if(t.has(p)){if(i.has(p)){var d=a.indexOf(p);o.push(a.slice(d).concat([p]))}}else r(p,a.slice())}i.delete(n)},n=0,a=Object.keys(e);n<a.length;n++){var s=a[n];t.has(s)||r(s,[])}return o},e.prototype.getTopologicalOrder=function(e){for(var t=new Set,i=[],o=function(r){if(!t.has(r)){t.add(r);for(var n=0,a=e[r]||[];n<a.length;n++){var s=a[n];o(s)}i.push(r)}},r=0,n=Object.keys(e);r<n.length;r++){var a=n[r];o(a)}return i},e.prototype.clearCache=function(){this.evaluationCache.clear(),this.compiledFunctions.clear()},e.prototype.getCacheKey=function(e,t){return e+":"+JSON.stringify(t)},e.prototype.buildContext=function(e){var t=new l.Internationalization,i=t.getDateFormat({format:"MM/dd/yyyy",type:"date"});return Se({},e,{PI:Math.PI,TRUE:!0,FALSE:!1,NULL:null,UNDEFINED:void 0,Math,SUM:function(e){return Array.isArray(e)?e.reduce(function(e,t){return Number(e)+Number(t)},0):0},AVG:function(e){return Array.isArray(e)&&0!==e.length?e.reduce(function(e,t){return Number(e)+Number(t)},0)/e.length:0},MIN:function(e){return Array.isArray(e)&&e.length>0?Math.min.apply(Math,e.map(Number)):0},MAX:function(e){return Array.isArray(e)&&e.length>0?Math.max.apply(Math,e.map(Number)):0},COUNT:function(e){return Array.isArray(e)?e.length:0},ROUND:function(e,t){return void 0===t&&(t=0),Math.round(e*Math.pow(10,t))/Math.pow(10,t)},FLOOR:Math.floor,CEIL:Math.ceil,ABS:Math.abs,SQRT:Math.sqrt,UPPER:function(e){return String(e).toUpperCase()},LOWER:function(e){return String(e).toLowerCase()},CONCAT:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.map(String).join("")},LENGTH:function(e){return String(e).length},TRIM:function(e){return String(e).trim()},SUBSTRING:function(e,t,i){return void 0!==i?String(e).substr(t,i):String(e).substr(t)},TODAY:function(){return i(new Date)},AGE:function(e){var t="string"==typeof e?new Date(e):e,i=new Date,o=i.getFullYear()-t.getFullYear(),r=i.getMonth()-t.getMonth();return(r<0||0===r&&i.getDate()<t.getDate())&&o--,o},DATEFORMAT:function(e,i){var o="string"==typeof e?new Date(e):e;return t.getDateFormat({format:i,type:"date"})(o)},DATEDIFF:function(e,t){var i="string"==typeof e?new Date(e):e,o="string"==typeof t?new Date(t):t;return Math.floor((o.getTime()-i.getTime())/864e5)},ADDDAYS:function(e,t){var o=new Date(e);return o.setDate(o.getDate()+Number(t)),i(o)},SUBDAYS:function(e,t){var o=new Date(e);return o.setDate(o.getDate()-Number(t)),i(o)}})},e}(),Oe=function(){function e(){this.supportedFunctions=["SUM","AVG","MIN","MAX","COUNT","ROUND","FLOOR","CEIL","ABS","SQRT","UPPER","LOWER","CONCAT","LENGTH","TRIM","SUBSTRING","TODAY","AGE","DATEFORMAT","DATEDIFF","ADDDAYS","SUBDAYS"],this.keywords=["PI","TRUE","FALSE","NULL","UNDEFINED","and","or","in"]}return e.prototype.validate=function(e,t){var i=[];if(!e||""===e.trim())return i;var o=this.validateSyntax(e);i.push.apply(i,o);var r=this.validateFieldReferences(e,t);i.push.apply(i,r);var n=this.validateFunctionCalls(e);i.push.apply(i,n);var a=this.validateFieldOperations(e,t);return i.push.apply(i,a),i},e.prototype.validateFieldOperations=function(e,t){var i=[];if(!Array.isArray(t)||0===t.length)return i;if("string"==typeof t[0])return i;var o=new Map;if(t.forEach(function(e){e&&"object"==typeof e&&e.name&&o.set(e.name,e)}),0===o.size)return i;for(var r,n=new Set,a=/(\{[^}]+\})/g,s=["-","*","/","%","^"],l=["-","*","/","%","^","+"];null!==(r=a.exec(e));){var p=r[0],d=p.slice(1,-1),h=o.get(d);if(h){var c=r.index,u=c+p.length,v=e.substring(Math.max(0,c-10),c),g=e.substring(u,Math.min(e.length,u+10)),f=v.replace(/\s+$/,"").slice(-1),m=g.replace(/^\s+/,"").charAt(0),b=v.replace(/\s+$/,""),y=g.replace(/^\s+/,""),C=c-(v.length-b.length)-1,x=u+(g.length-y.length);if("string"===h.type&&!h.format){if(f&&-1!==s.indexOf(f)){var w=C+":"+f;n.has(w)||(i.push({type:"InvalidOperation",message:"Cannot perform '"+f+"' operation on string field '{"+d+"}'"}),n.add(w))}if(m&&-1!==s.indexOf(m)){w=x+":"+m;n.has(w)||(i.push({type:"InvalidOperation",message:"Cannot perform '"+m+"' operation on string field '{"+d+"}'"}),n.add(w))}}if("date"===h.format||"date-time"===h.format||"time"===h.format){if(f&&-1!==l.indexOf(f)){w=C+":"+f;n.has(w)||(i.push({type:"InvalidOperation",message:"Cannot perform '"+f+"' operation on date field '{"+d+"}'"}),n.add(w))}if(m&&-1!==l.indexOf(m)){w=x+":"+m;n.has(w)||(i.push({type:"InvalidOperation",message:"Cannot perform '"+m+"' operation on date field '{"+d+"}'"}),n.add(w))}if("+"===m){var P=g.replace(/^\s+/,"").substring(1).trim(),S=/^\{[^}]+\}/.test(P)&&o.get(P.slice(1,-1))&&"number"===o.get(P.slice(1,-1)).type,j=/^\d+/.test(P);if(!S&&!j){w=x+":"+m;n.has(w)||(i.push({type:"InvalidOperation",message:"Date field '{"+d+"}' can only be used with +number or +{numberField}, not '"+m+P.substring(0,10)+"'"}),n.add(w))}}if("+"===f){var O=v.replace(/\s+$/,""),T=O.substring(0,O.length-1).trim();S=/\{[^}]+\}$/.test(T)&&o.get(T.slice(T.lastIndexOf("{")+1,-1))&&"number"===o.get(T.slice(T.lastIndexOf("{")+1,-1)).type,j=/\d+$/.test(T);if(!S&&!j){w=C+":"+f;n.has(w)||(i.push({type:"InvalidOperation",message:"Date field '{"+d+"}' can only be used with +number or +{numberField}"}),n.add(w))}}}}}return i},e.prototype.validateSyntax=function(e){var t=[];return(e.match(/\{/g)||[]).length!==(e.match(/\}/g)||[]).length&&t.push({type:"SyntaxError",message:"Unbalanced braces in expression"}),(e.match(/\(/g)||[]).length!==(e.match(/\)/g)||[]).length&&t.push({type:"SyntaxError",message:"Unbalanced parentheses in expression"}),(e.match(/\$\{/g)||[]).length>(e.match(/\}/g)||[]).length&&t.push({type:"SyntaxError",message:"Unbalanced ${ } in expression"}),t},e.prototype.validateFieldReferences=function(e,t){var i=[];if(!t||0===t.length)return i;var o,r,n=/\{([^{}]+)\}/g;for(r="string"==typeof t[0]?new Set(t):new Set(t.map(function(e){return e.name}));null!==(o=n.exec(e));){var a=o[1].trim();if(!this.isFunctionCall(a)&&!this.isMathExpression(a)){var s=a.split(/[.\[\]]/)[0].trim();s&&-1===this.keywords.indexOf(s.toUpperCase())&&(r.has(s)||i.push({type:"UndefinedField",message:"Field '"+s+"' is not defined in the form",field:s}))}}return i},e.prototype.validateFunctionCalls=function(e){for(var t,i=[],o=/(\w+)\s*\(/g;null!==(t=o.exec(e));){var r=t[1];r===r.toUpperCase()&&-1===this.supportedFunctions.indexOf(r)&&i.push({type:"InvalidFunction",message:"Unknown function: '"+r+"'. Supported functions: "+this.supportedFunctions.join(", ")})}return i},e.prototype.isFunctionCall=function(e){return/^\w+\s*\(/.test(e)},e.prototype.isMathExpression=function(e){return/[\+\-\*\/\%\=\<\>\!\&\|\^\~\s\d]/.test(e)},e}(),Te={EMAIL:/^(?!.*\.\.)[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/,URL:/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(\/[^\s]*)?$/,DATE_ISO:/^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/,DIGITS:/^[0-9]*$/,PHONE:/^[+]?[0-9]{9,13}$/,CREDIT_CARD:/^\d{13,16}$/},ke=function(e){return{primary:"e-primary",flat:"e-flat",information:"e-info",error:"e-danger",success:"e-success",warning:"e-warning"}[e||"primary"]||"e-primary"},Fe=function(e){return"submit"===e||"reset"===e?e:"button"},Ie=function(e){return{Left:"flex-start",Right:"flex-end",Center:"center"}[e||"Left"]||"flex-start"};function Ae(e){var t=e.map(function(e){return null===e?NaN:Number(e)}),i=t.reduce(function(e,t){return e+(isNaN(t)?0:t)},0),o=Math.max(0,Math.round(100-i)),r=t.map(function(e,t){return isNaN(e)?t:-1}).filter(function(e){return e>=0}),n=r.length;if(0===n)return t.map(function(e){return Math.round(e)});var a=Math.floor(o/n),s=o-a*n;return r.forEach(function(e){var i=s>0?a+1:a;t[e]=i,s=Math.max(0,s-1)}),t.map(function(e){return isNaN(e)?0:Math.round(e)})}function De(e){var t=[];function i(e){for(var o=0,r=e;o<r.length;o++){var n=r[o];t.push(n.id),n.children&&Array.isArray(n.children)&&i(n.children),n.tableCells&&Array.isArray(n.tableCells)&&n.tableCells.forEach(function(e){Array.isArray(e)&&e.forEach(function(e){Array.isArray(e)&&i(e)})}),n.tabItems&&Array.isArray(n.tabItems)&&n.tabItems.forEach(function(e){e.content&&Array.isArray(e.content)&&i(e.content)})}}return e.children&&Array.isArray(e.children)&&i(e.children),e.tableCells&&Array.isArray(e.tableCells)&&e.tableCells.forEach(function(e){Array.isArray(e)&&e.forEach(function(e){Array.isArray(e)&&i(e)})}),e.tabItems&&Array.isArray(e.tabItems)&&e.tabItems.forEach(function(e){e.content&&Array.isArray(e.content)&&i(e.content)}),t}var Ee=function(e){switch(e){case"WebApiAdaptor":return new ie.WebApiAdaptor;case"ODataV4Adaptor":return new ie.ODataV4Adaptor;default:return new ie.UrlAdaptor}},Re=function(e,t){if(!t||null==e)return e;for(var i=e,o=0,r=t.split(/\.(?![^\[]*\])/);o<r.length;o++){var n=r[o];if(null==i)return null;var a=n.match(/^(\w*)\[(\d+)\]$/);if(a){var s=a[1],l=parseInt(a[2]);i=s?i[s]&&i[s][l]:i[l]}else i=i[n]}return i},Le=new je,ze=function(e,t,i){if("string"!=typeof e||!/{[^}]+}/.test(e))return e;var o=i?function(e,t){var i={},o=function(t){t.forEach(function(t){t.name&&t.id in e&&(i[t.name]=e[t.id]),t.children&&o(t.children),t.tabItems&&t.tabItems.forEach(function(e){return e.content&&o(e.content)}),t.tableCells&&t.tableCells.forEach(function(e){return e.forEach(function(e){return o(e)})})})};return o(t),i}(t,i):t;try{var r=Le.evaluate(e,o);return null!=r?String(r):""}catch(t){return e}},Me=function(e,t,i){return e&&"object"==typeof e&&!Array.isArray(e)&&"lookup"===e.type&&i?i&&i.length>0?i:[]:e&&"object"==typeof e&&!Array.isArray(e)&&"url"===e.type?t.length>0?t:[]:Array.isArray(e)?e:e&&"object"==typeof e&&!Array.isArray(e)&&"raw"===e.type&&Array.isArray(e.data)?e.data:[]};function Be(e,t){var i="string"==typeof t&&t?t:"field_"+Date.now()+"_"+Math.floor(1e3*Math.random());if(null==e)return i;var o=String(e).trim();return o&&"__proto__"!==o&&"prototype"!==o&&"constructor"!==o?(o=o.replace(/[^A-Za-z0-9_-]/g,"_"),/^[A-Za-z_]/.test(o)||(o="f_"+o),o.length>100&&(o=o.slice(0,100)),"__proto__"===o||"prototype"===o||"constructor"===o?i:o):i}var He=function(){function e(){}return e.fetch=function(e,t,i,o){if(!(e&&"object"==typeof e&&!Array.isArray(e)&&"url"===e.type&&e.url))return Promise.resolve({id:t,options:[]});var r=e;return new Promise(function(e){try{var n={};r.headers&&Array.isArray(r.headers)&&r.headers.forEach(function(e){e.key&&e.key.trim()&&(n[e.key]=e.value)});var a=new ie.DataManager({url:r.url,adaptor:Ee(r.adaptorType),headers:Object.keys(n).length?n:void 0}),s=new ie.Query;if(r.search&&r.search.enabled&&r.search.fields&&r.search.fields.length>0){var l=r.search.key||"search",p=i?ze(l,i,o):/[{}]/.test(l)?"":l;s=s.search(p,r.search.fields)}if(r.sort&&r.sort.enabled&&r.sort.field){var d="descending"===r.sort.direction?"descending":"ascending";s=s.sortBy(r.sort.field,d)}r.filters&&Array.isArray(r.filters)&&r.filters.length>0&&r.filters.forEach(function(e){if(e.field&&e.operator&&void 0!==e.value&&""!==e.value){var t=i?ze(e.value,i,o):/[{}]/.test(e.value)?"":e.value;""!==t&&(s=s.where(e.field,e.operator,t))}}),r.queryParams&&Object.keys(r.queryParams).forEach(function(e){s=s.addParams(e,r.queryParams[e])}),r.skip&&(s=s.skip(r.skip)),r.take&&(s=s.take(r.take));var h=!1,c=setTimeout(function(){h=!0,e({id:t,options:[]})},15e3);a.executeQuery(s).then(function(i){if(!h){clearTimeout(c);var o,n=i.result;r.dataPath&&(n=Re(n,r.dataPath)),o=Array.isArray(n)?n:"string"==typeof n?[n]:[],e({id:t,options:o})}}).catch(function(i){h||(clearTimeout(c),e({id:t,options:[]}))})}catch(i){e({id:t,options:[]})}})},e}();var Ne=function(){function e(e){this.checkboxes=[],this.component=e.component,this.formState=e.formState,this.onChangeCb=e.onChange,this.optionRef=e.optionRef,this.enableRtl=e.enableRtl,this.target=e.target,this.container=null,this.itemsContainer=null,this.ref=e.ref}return e.prototype.getSelectedItems=function(){var e=this.formState?this.formState.values[this.component.id]:(0,l.isNullOrUndefined)(this.valueProp())?this.component.defaultValue:this.valueProp();return Array.isArray(e)?e:[]},e.prototype.valueProp=function(){return this._value},e.prototype.setValue=function(e){this._value=e},e.prototype.handleCheckboxChange=function(e,t){var i=this.getSelectedItems(),o=t?i.concat([e]):i.filter(function(t){return t!==e});this.formState&&this.onChangeCb(o)},Object.defineProperty(e.prototype,"sizeCssClass",{get:function(){return""+(this.component.cssClass||"")+("Small"===this.component.size?" e-small":"Bigger"===this.component.size?" e-bigger":"")},enumerable:!0,configurable:!0}),e.prototype.render=function(e){var t=this,i=this.component,o=i.label&&i.required?i.label+" *":i.label||"",r=e||this.target,n=document.createElement("div");n.className=("checkbox-group "+(i.cssClass||"")).trim(),n.setAttribute("role","group"),n.setAttribute("aria-label",o),n.title=i.tooltip||"";var a,s=(a=i.htmlAttributes)?Array.isArray(a)?a.reduce(function(e,t){return t&&t.key&&void 0!==t.value&&(e[t.key]=t.value),e},{}):a:{};Object.keys(s).forEach(function(e){"class"!==e&&"className"!==e&&"style"!==e&&n.setAttribute(e,String(s[e]))});var l="display:flex;flex-direction:"+("row"===i.layoutDirection?"row":"column")+";gap:"+(i.gap||"8px")+";align-items:flex-start;";n.setAttribute("style",l);var d=document.createElement("div");d.className="checkbox-group-items";var h="display:flex;flex-direction:"+("row"===i.layoutDirection?"row":"column")+";flex-wrap:wrap;gap:"+(i.gap||"2px")+";width:100%;";d.setAttribute("style",h);var c=Array.isArray(i.options)?i.options:[],u=this.getSelectedItems();return c.forEach(function(e,o){var r="string"==typeof e?e:null!=e.value?e.value:null!=e.label?e.label:e.key,n="string"==typeof e?e:null!=e.label?e.label:null!=e.value?e.value:String(r),a=document.createElement("input");d.appendChild(a);var l=new p.CheckBox({label:n,enableRtl:t.enableRtl,checked:-1!==u.indexOf(r),disabled:!!i.disabled,labelPosition:i.checkboxLabelPosition||"After",cssClass:t.sizeCssClass.trim(),htmlAttributes:s,change:function(e){t.handleCheckboxChange(r,e.checked)}});l.appendTo(a),t.ref(l,o);var h=a.querySelector('input[type="checkbox"]');h&&(h.id=t.component.id+"_"+o),t.optionRef&&t.optionRef(l,o),t.checkboxes.push(l)}),n.appendChild(d),r&&r.appendChild(n),this.container=n,this.itemsContainer=d,n},e.prototype.refreshSelection=function(){var e=this,t=this.getSelectedItems();(Array.isArray(this.component.options)?this.component.options:["Option 1"]).forEach(function(i,o){var r="string"==typeof i?i:null!=i.value?i.value:null!=i.label?i.label:i.key,n=e.checkboxes[o];n&&(n.checked=-1!==t.indexOf(r))})},e.prototype.destroy=function(){for(var e=0,t=this.checkboxes;e<t.length;e++){var i=t[e];try{i.destroy()}catch(e){}}this.checkboxes=[],this.container&&this.container.parentNode&&this.container.parentNode.removeChild(this.container),this.container=null,this.itemsContainer=null},e.prototype.setOptions=function(e){var t=this;if(this.component.options=e,this.itemsContainer){for(var i=0,o=this.checkboxes;i<o.length;i++){var r=o[i];try{r.destroy()}catch(e){}}for(this.checkboxes=[];this.itemsContainer.firstChild;)this.itemsContainer.removeChild(this.itemsContainer.firstChild);var n=this.getSelectedItems();e.forEach(function(e,i){var o="string"==typeof e?e:e.value||e.label||e.key,r="string"==typeof e?e:e.label||e.value||String(o),a=document.createElement("input");t.itemsContainer.appendChild(a);var s=new p.CheckBox({label:r,enableRtl:t.enableRtl,checked:-1!==n.indexOf(o),disabled:!!t.component.disabled,labelPosition:t.component.checkboxLabelPosition||"After",cssClass:t.sizeCssClass.trim(),change:function(e){t.handleCheckboxChange(o,e.checked)}});s.appendTo(a),t.ref(s,i);var l=a.querySelector('input[type="checkbox"]');l&&(l.id=t.component.id+"_"+i),t.optionRef&&t.optionRef(s,i),t.checkboxes.push(s)})}},e}();var Ye=b(707),We=function(){return We=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},We.apply(this,arguments)},Xe=function(){function e(){this.engine=new je}return e.prototype.parseColumnValue=function(e,t){if(null==e||""===e)return e;if("number"===t){var i=parseFloat(String(e));return isNaN(i)?0:i}return"boolean"===t?"boolean"==typeof e?e:"true"===e||"1"===e||1===e||!0===e:e},e.prototype.evaluateRowExpressions=function(e,t){for(var i=this,o=We({},e),r=t.filter(function(e){return e.expression&&e.expression.toString().trim()}),n=function(e){if(!e.expression)return"continue";try{var r={};t.forEach(function(e){var t=o[e.field];r[e.field]=i.parseColumnValue(t,e.type)});var n=a.engine.evaluate(e.expression,r,{throwOnError:!1});o[e.field]=n}catch(t){o[e.field]=null}},a=this,s=0,l=r;s<l.length;s++){n(l[s])}return o},e.prototype.extractCalculatedColumns=function(e){return e.filter(function(e){return e.expression&&e.expression.toString().trim()})},e.prototype.getEngine=function(){return this.engine},e}();var Ue=function(){return Ue=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Ue.apply(this,arguments)},Ve=function(){function e(){this.expressionEngine=new je}return e.prototype.validate=function(e,t,i){if(!e||""===e.trim())return!0;try{var o=Ue({},i,{input:t,valid:!0}),r=e.match(/valid\s*=\s*(.+?)\s*\?\s*true\s*:\s*['"](.+?)['"]\s*$/);if(!r)return"Invalid validation expression format";var n=r[1].trim(),a=r[2];return!0===this.expressionEngine.evaluate(n,o,{throwOnError:!1},!0)||a}catch(e){return"Validation expression error"}},e.prototype.extractDependencies=function(e){if(!e)return[];var t=e.match(/valid\s*=\s*(.+)/),i=t?t[1]:e;return this.expressionEngine.extractDependencies(i).filter(function(e){return"input"!==e})},e.prototype.validateConditionSyntax=function(e,t){if(!e||""===e.trim())return["Condition cannot be empty"];var i=[],o=(e.match(/\(/g)||[]).length,r=(e.match(/\)/g)||[]).length;o!==r&&i.push("Unbalanced parentheses ("+o+" open, "+r+" close)");var n=(e.match(/\{/g)||[]).length,a=(e.match(/\}/g)||[]).length;n!==a&&i.push("Unbalanced braces ("+n+" open, "+a+" close)");var s=this.extractDependencies(e).filter(function(e){return-1===t.indexOf(e)});return s.length>0&&i.push("Unknown field references: "+s.join(", ")),i},e.prototype.buildExpression=function(e,t){return"valid = "+e.trim()+" ? true : '"+t.replace(/'/g,"\\'")+"'"},e.prototype.parseExpression=function(e){var t=e.match(/valid\s*=\s*(.+?)\s*\?\s*true\s*:\s*'(.+)'/);return t?{condition:t[1].trim(),errorMessage:t[2].replace(/\\'/g,"'")}:null},e}(),qe=function(){return qe=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},qe.apply(this,arguments)},_e=function(){function e(e){var t=this;this.grid=null,this.wrapper=null,this.mapCustomValidationToSyncfusion=function(e){if(e.customValidation&&0!==e.customValidation.length)return function(i){var o=t.grid&&t.grid.editModule?t.grid.editModule.formObj:null;if(!o)return!0;var r={};(t.columns||[]).forEach(function(e){var t=o.getInputElement(e.field);if(t){var i=t.value;r[e.field]="number"===e.type?parseInt(i,10):i}});for(var n=0,a=e.customValidation;n<a.length;n++){var s=a[n];if(s.expression){var l="number"===e.type?parseInt(i.value,10):i.value;return!0===t.validationEngine.validate(s.expression,l,r)}}return!0}},this.createEditParams=function(e){if(t.hasExpressions){var i=t.calculatedColumns;if(i.some(function(t){return!!t.expression&&-1!==t.expression.indexOf("{"+e.field+"}")}))return{params:{change:function(){if(t.grid&&t.grid.element){var e=t.grid.element.querySelector("form");if(e&&e.ej2_instances&&e.ej2_instances[0]){var o=e.ej2_instances[0];i.forEach(function(e){var i=o.getInputElement(e.field);if(i)try{var r={};t.columns.forEach(function(e){var t=o.getInputElement(e.field);t&&(r[e.field]=t.value)});var n=t.gridExpressions.evaluateRowExpressions(r,t.columns)[e.field];if(null!=n)if("boolean"===e.type)i.checked=!!n;else if("number"===e.type){var a=i.closest(".e-control-wrapper"),s=a?a.querySelector('input.e-control:not([type="hidden"])'):null;s&&s.ej2_instances&&s.ej2_instances[0]?s.ej2_instances[0].value=n:i.value=n}else"date"===e.type?i.ej2_instances[0].value=new Date(n):i.value=n}catch(e){}})}}}}}}},this.handleActionComplete=function(e){if(t.grid)switch(e.requestType){case"save":case"delete":case"add":if(t.grid.dataSource){var i=Array.isArray(t.grid.dataSource)?t.grid.dataSource:[];t.currentData=i,t.onDataChange&&t.onDataChange(i)}}},this.id=e.id,this.columns=e.columns||[],this.dataSource=Array.isArray(e.dataSource)?e.dataSource:[],this.height=null!=e.height?e.height:"200px",this.width=null!=e.width?e.width:"100%",this.locale=e.locale,this.cssClass=e.cssClass,this.pageSize=null!=e.pageSize?e.pageSize:6,this.allowPaging=!1!==e.allowPaging,this.allowAdding=!1!==e.allowAdding,this.allowEditing=!1!==e.allowEditing,this.allowDeleting=!1!==e.allowDeleting,this.allowFiltering=!0===e.allowFiltering,this.onDataChange=e.onDataChange,this.isPreviewMode=e.isPreviewMode,this.enableRtl=e.enableRtl,this.ref=e.ref,this.currentData=Array.isArray(this.dataSource)?this.dataSource:[],this.gridExpressions=new Xe,this.validationEngine=new Ve}return Object.defineProperty(e.prototype,"calculatedColumns",{get:function(){return this.gridExpressions.extractCalculatedColumns(this.columns)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasExpressions",{get:function(){return this.calculatedColumns.length>0},enumerable:!0,configurable:!0}),e.prototype.buildToolbar=function(){var e=[];return this.allowAdding&&e.push("Add"),this.allowEditing&&e.push("Edit"),this.allowDeleting&&e.push("Delete"),e.push("Update","Cancel"),e},e.prototype.mapColumn=function(e){var t=e.validationRules?qe({},e.validationRules):{},i=this.mapCustomValidationToSyncfusion(e);if(i){var o=e.customValidation&&e.customValidation[0]&&e.customValidation[0].expression&&(this.validationEngine.parseExpression?this.validationEngine.parseExpression(e.customValidation[0].expression).errorMessage:"Validation failed")||"Validation failed";t.required=[!0,o],t.custom=[i,o]}return{field:e.field,headerText:e.headerText,type:e.type||"string",isPrimaryKey:e.isPrimaryKey||!1,width:e.width,format:"date"===e.type?e.format||"MM/dd/yyyy":e.format,editType:e.editType,allowEditing:!1!==e.allowEditing&&!e.expression,validationRules:t,edit:this.createEditParams(e)}},e.prototype.render=function(e){var t=this,i=Array.isArray(this.dataSource)?this.dataSource:[];this.hasExpressions&&i.length>0?this.currentData=i.map(function(e){var i=t.gridExpressions.evaluateRowExpressions(e,t.columns);return qe({},e,i)}):this.currentData=i;var o=document.createElement("div");o.className="datagrid-wrapper",o.style.width="string"==typeof this.width?this.width:this.width+"px",o.style.height="auto";var r=document.createElement("div");r.className="datagrid-grid",o.appendChild(r),this.id&&(r.id=this.id);var n=new Ye.Grid({dataSource:this.currentData,allowPaging:this.allowPaging,filterSettings:{mode:"Immediate"},pageSettings:{pageSize:this.pageSize},editSettings:{allowEditing:this.allowEditing,allowAdding:this.allowAdding,allowDeleting:this.allowDeleting,mode:"Normal"},enableRtl:this.enableRtl,locale:this.locale||"en-US",cssClass:this.cssClass,toolbar:this.buildToolbar(),actionComplete:this.handleActionComplete,height:"string"==typeof this.height?this.height:this.height+"px",width:"string"==typeof this.width?this.width:this.width+"px",allowSorting:!0,allowFiltering:this.allowFiltering,allowSelection:!0,columns:(this.columns||[]).map(function(e){return t.mapColumn(e)})});return n.appendTo(r),this.ref(n),this.grid=n,e&&e.appendChild(o),this.wrapper=o,o},e.prototype.getRef=function(){var e=this;return{getGridData:function(){return e.currentData},gridRef:{current:this.grid}}},e.prototype.getGridData=function(){return this.currentData},e.prototype.setDataSource=function(e){var t=this;if(this.grid){var i=Array.isArray(e)?e:[];this.hasExpressions&&i.length>0?this.currentData=i.map(function(e){var i=t.gridExpressions.evaluateRowExpressions(e,t.columns);return qe({},e,i)}):this.currentData=i,this.grid.dataSource=this.currentData,this.grid.refreshBatchData?this.grid.setProperties({dataSource:this.currentData},!0):this.grid.dataSource=this.currentData,this.grid.refresh&&this.grid.refresh()}},e.prototype.setColumns=function(e){this.grid&&(e&&0!==e.length?0===this.grid.columns.length&&e&&1===e.length&&(this.grid.columns=e):this.grid.columns=[],this.columns=e,this.grid.refresh&&!this.isPreviewMode&&(this.dataSource&&Array.isArray(this.dataSource)&&this.dataSource.length>0&&!this.hasExpressions&&(this.grid.dataSource=this.dataSource),this.grid.refresh()))},e.prototype.destroy=function(){if(this.grid){try{this.grid.destroy()}catch(e){}this.grid=null}this.wrapper&&this.wrapper.parentNode&&this.wrapper.parentNode.removeChild(this.wrapper),this.wrapper=null,this.gridExpressions=null,this.validationEngine=null,this.currentData=[],this.columns=[],this.dataSource=[]},e}();Ye.Grid.Inject(Ye.Edit,Ye.Toolbar,Ye.Page,Ye.Resize,Ye.Sort,Ye.Filter);var Ze=function(){function e(){}return e.getConstraints=function(e,t,i){var o=this;if(void 0===i&&(i="number"),!e||0===e.length)return this.getEmptyConstraints(i);var r=e.find(function(e){return!1===e.enabled});if(r){var n=this.resolveValue(r.minValue,{}),a=this.resolveValue(r.maxValue,{});return"date"===i||"dateRange"===i?{minValue:void 0,maxValue:void 0,minDate:n,maxDate:a,minTime:void 0,maxTime:void 0}:"time"===i?{minValue:void 0,maxValue:void 0,minDate:void 0,maxDate:void 0,minTime:n,maxTime:a}:{minValue:n,maxValue:a,minDate:void 0,maxDate:void 0,minTime:void 0,maxTime:void 0}}var s=e.filter(function(e){return!0===e.enabled});if(0===s.length)return this.getEmptyConstraints(i);var l=s.map(function(e){return{min:o.resolveValue(e.minValue,t),max:o.resolveValue(e.maxValue,t)}}).filter(function(e){return void 0!==e.min||void 0!==e.max});if(0===l.length)return this.getEmptyConstraints(i);var p=this.getPermissiveMin(l,i),d=this.getPermissiveMax(l,i);return"date"===i||"dateRange"===i?{minValue:void 0,maxValue:void 0,minDate:p,maxDate:d,minTime:void 0,maxTime:void 0}:"time"===i?{minValue:void 0,maxValue:void 0,minDate:void 0,maxDate:void 0,minTime:p,maxTime:d}:{minValue:p,maxValue:d,minDate:void 0,maxDate:void 0,minTime:void 0,maxTime:void 0}},e.resolveValue=function(e,t){if("number"==typeof e)return e;if("string"==typeof e)return e;if(e&&"object"==typeof e&&e.field){var i=t[e.field];return void 0!==i?i:void 0}},e.getPermissiveMin=function(e,t){var i=this;if(0!==e.length){if("date"===t||"dateRange"===t)return e.reduce(function(e,t){if(!t.min)return e;if(!e)return t.min;var o=i.convertToISO(e);return i.convertToISO(t.min)<o?t.min:e},void 0);if("time"===t)return e.reduce(function(e,t){if(!t.min)return e;if(!e)return t.min;var o=i.convertTimeTo24Hour(e);return i.convertTimeTo24Hour(t.min)<o?t.min:e},void 0);var o=e.map(function(e){return e.min}).filter(function(e){return void 0!==e});return o.length>0?Math.min.apply(Math,o):void 0}},e.getPermissiveMax=function(e,t){var i=this;if(0!==e.length){if("date"===t||"dateRange"===t)return e.reduce(function(e,t){if(!t.max)return e;if(!e)return t.max;var o=i.convertToISO(e);return i.convertToISO(t.max)>o?t.max:e},void 0);if("time"===t)return e.reduce(function(e,t){if(!t.max)return e;if(!e)return t.max;var o=i.convertTimeTo24Hour(e);return i.convertTimeTo24Hour(t.max)>o?t.max:e},void 0);var o=e.map(function(e){return e.max}).filter(function(e){return void 0!==e});return o.length>0?Math.max.apply(Math,o):void 0}},e.convertToISO=function(e){if(!e)return"";if(e.includes("-")&&10===e.length)return e;if(-1!==e.indexOf("/")){var t=e.split("/"),i=t[0],o=t[1],r=t[2];return i&&o&&r?r+"-"+(i.length<2?"0"+i:i)+"-"+(o.length<2?"0"+o:o):e}return e},e.convertTimeTo24Hour=function(e){if(!e)return"";var t=/PM/i.test(e),i=/AM/i.test(e);if(i||t){var o=e.replace(/\s*(AM|PM)/i,"").trim().split(":"),r=o[0],n=o[1];if(!r||!n)return e;var a=parseInt(r,10);t&&12!==a?a+=12:i&&12===a&&(a=0);var s=String(a);return(s.length<2?"0"+s:s)+":"+n}return e},e.getEmptyConstraints=function(e){return{minValue:void 0,maxValue:void 0,minDate:void 0,maxDate:void 0,minTime:void 0,maxTime:void 0}},e.validateValue=function(e,t,i){if(null==e||""===e)return{isValid:!0};if("date"===i||"dateRange"===i){if(t.minDate){var o=this.convertToISO(t.minDate);if(this.convertToISO(e)<o)return{isValid:!1,error:"Date must be on or after "+t.minDate}}if(t.maxDate){var r=this.convertToISO(t.maxDate);if(this.convertToISO(e)>r)return{isValid:!1,error:"Date must be on or before "+t.maxDate}}}else if("time"===i){if(t.minTime&&e<t.minTime)return{isValid:!1,error:"Time must be on or after "+t.minTime};if(t.maxTime&&e>t.maxTime)return{isValid:!1,error:"Time must be on or before "+t.maxTime}}else{var n=Number(e);if(void 0!==t.minValue)if(n<Number(t.minValue))return{isValid:!1,error:"Value must be at least "+t.minValue};if(void 0!==t.maxValue)if(n>Number(t.maxValue))return{isValid:!1,error:"Value must be at most "+t.maxValue}}return{isValid:!0}},e}(),Ge=function(){return Ge=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Ge.apply(this,arguments)},Je={strict:!1,maxInputSize:5242880,defaultTextType:"textbox",inferTypeFromValue:!0,generateIds:!0,includeMetadata:!0,customTypeMap:{},validateUnknownFields:!1},Ke=function(){function e(e){this.config=Ge({},Je,e)}return e.prototype.parse=function(e){var t=[],i=[];if("string"==typeof e){if(e.length>this.config.maxInputSize)return this.formatError(t,i,"Input exceeds maximum size of "+this.config.maxInputSize+" bytes");var o=Qe(e);if(!o.valid)return this.formatError(t,i,o.errors&&o.errors[0]||"Invalid JSON");try{e=JSON.parse(e)}catch(e){return this.formatError(t,i,"Failed to parse JSON: "+e.message)}}var r=this.detectFormat(e);r.ambiguousFormats&&r.ambiguousFormats.length>0&&(i.push("Ambiguous format detected."),i.push("Using "+r.format+" format ("+("json-schema"===r.format?"properties priority":"pages priority")+")"));var n=[];switch(r.format){case"configured-schema":n=e.properties||[];break;case"json-schema":var a=this.parseJsonSchema(e);n=a.components,a.warnings&&i.push.apply(i,a.warnings);break;case"surveyjs":n=this.parseSurveyJS(e);break;case"openapi":n=this.parseOpenAPI(e);break;case"data-inference":(n=this.parseDataInference(e)).length>0&&i.push("Field types inferred from data; please verify");break;default:t.push("Could not determine input format")}0===n.length&&t.push("No form fields could be extracted from input"),!n.some(function(e){return"button"===e.type&&"submit"===e.buttonType})&&n.length>0&&n.push({id:this.generateComponentId("button"),type:"button",label:"Submit",style:"primary",buttonType:"submit"});var s={version:e.version||"0.1.0",components:n},l=$e(s);!l.valid&&l.errors&&t.push.apply(t,l.errors),l.warnings&&i.push.apply(i,l.warnings),this.config.strict&&i.length>0&&(t.push.apply(t,i),i.length=0);var p=et(s);return{success:0===t.length,schema:p,errors:t,warnings:i,metadata:{detectedFormat:r.format,confidence:r.confidence,sourceHints:r.hints}}},e.prototype.formatError=function(e,t,i){return e.push(i),{success:!1,schema:null,errors:e,warnings:t,metadata:{detectedFormat:"unknown",confidence:"low",sourceHints:[]}}},e.prototype.detectFormat=function(e){var t=[],i=[];if(!e||"object"!=typeof e)return{format:"unknown",confidence:"low",hints:["Input is not a valid object"]};if(e.$schema&&"string"==typeof e.$schema&&e.$schema.includes("json-schema"))return t.push("$schema property detected"),{format:"json-schema",confidence:"high",hints:t};var o=e.properties&&"object"==typeof e.properties,r=e.pages&&Array.isArray(e.pages),n=e.elements&&Array.isArray(e.elements);return o&&r?(t.push("Multiple format patterns detected"),t.push("Selected based on priority rules"),i.push("properties format","pages format"),{format:"json-schema",confidence:"medium",hints:t,ambiguousFormats:i}):r?(t.push("pages array detected"),e.pages[0]&&e.pages[0].elements&&t.push("elements structure matched"),{format:"surveyjs",confidence:"high",hints:t}):n&&!o?(t.push("elements array at root level"),{format:"surveyjs",confidence:"medium",hints:t}):o?(t.push("properties object detected"),"object"===e.type&&t.push("type: object matched"),e.required&&Array.isArray(e.required)&&t.push("required array found"),this.hasExampleFields(e.properties)?(t.push("example fields detected (API schema pattern)"),{format:"openapi",confidence:"high",hints:t}):{format:"json-schema",confidence:"high",hints:t}):this.isDataInferenceCandidate(e)?(t.push("Simple object with primitive values"),t.push("No schema indicators found"),{format:"data-inference",confidence:"medium",hints:t}):{format:"unknown",confidence:"low",hints:["Could not identify format"]}},e.prototype.hasExampleFields=function(e){if(!e||"object"!=typeof e)return!1;for(var t=0,i=Object.keys(e);t<i.length;t++){var o=e[i[t]];if(o&&"example"in o)return!0}return!1},e.prototype.isDataInferenceCandidate=function(e){return!(!e||"object"!=typeof e)&&(!(e.$schema||e.properties||e.pages||e.elements)&&Object.keys(e).every(function(t){var i=e[t];return null==i||("string"==typeof i||"number"==typeof i||"boolean"==typeof i||!!Array.isArray(i)&&i.every(function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e}))}))},e.prototype.inferComponentType=function(e,t){var i=this.inferTypeFromValue(e,t);if(i.type)return Ge({},i,{confidence:"high",method:"value-type"});var o=this.matchFieldNamePattern(e);return o.type?Ge({},o,{confidence:"high",method:"name-pattern"}):{type:this.config.defaultTextType,confidence:"low",method:"fallback"}},e.prototype.inferTypeFromValue=function(e,t){if(!this.config.inferTypeFromValue)return{type:"textbox"};if(null==t)return this.matchFieldNamePattern(e);if("string"==typeof t){if(t.includes("@")&&t.includes("."))return{type:"textbox",textboxType:"email"};if(/^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}/.test(t))return{type:"textbox",textboxType:"url"};if(/^\d{4}-\d{2}-\d{2}/.test(t))return{type:"date"};var i=this.matchFieldNamePattern(e);return"textbox"!==i.type||i.textboxType?i:{type:this.config.defaultTextType}}return"number"==typeof t?{type:"number"}:"boolean"==typeof t?{type:"checkbox"}:Array.isArray(t)?{type:"multiselect"}:{type:"textbox"}},e.prototype.matchFieldNamePattern=function(e){if(this.config.customTypeMap){var t=this.config.customTypeMap[e.toLowerCase()];if(t)return{type:t}}var i=e.toLowerCase().replace(/[_\-\s]+/g," ");return/email|mail|e-?mail/.test(i)?{type:"textbox",textboxType:"email"}:/date|birth|birthday|dob|created|updated/.test(i)?{type:"date"}:/phone|tel|mobile|cell|cellphone|msisdn/.test(i)?{type:"textbox",textboxType:"number"}:/url|link|uri|website/.test(i)?{type:"textbox",textboxType:"url"}:/password|pwd|pass|security|secret|key|token/.test(i)?{type:"textbox",textboxType:"password"}:/\b(?:age|count|qty|quantity|amount|price|cost|salary|fee|rate|number|num)\b/.test(i)?{type:"number"}:/active|enabled|visible|deleted|archived|approved|confirmed/.test(i)?{type:"checkbox"}:/select|choice|option|type|status|category|kind/.test(i)?{type:"dropdown"}:/description|comment|note|bio|biography|about|message|content|summary|details/.test(i)?{type:"textarea"}:{type:"textbox"}},e.prototype.parseJsonSchema=function(e){var t=[],i=[];if(!e.properties||"object"!=typeof e.properties)return{components:t,warnings:i};for(var o=this.flattenNestedProperties(e.properties,"",i),r=0,n=Object.keys(o);r<n.length;r++){var a=n[r],s=o[a],l=this.mapJsonSchemaType(s),p=-1!==(e.required||[]).indexOf(a);t.push(this.createComponent(a,s,l,{required:p}))}return{components:t,warnings:i}},e.prototype.flattenNestedProperties=function(e,t,i){for(var o={},r=!1,n=0,a=Object.keys(e);n<a.length;n++){var s=a[n],l=t?t+"_"+s:s;if("object"===(c=e[s]).type&&c.properties&&"object"==typeof c.properties){r=!0;var p=this.flattenNestedProperties(c.properties,l,i);Object.assign(o,p)}else o[l]=c}if(r&&!t){i.push("NESTED_OBJECTS_FLATTENED: Nested objects converted to flat structure");for(var d=0,h=Object.keys(e);d<h.length;d++){var c;"object"===(c=e[s=h[d]]).type&&c.properties&&this.collectFlattenedFieldNames(c.properties,s,i)}}return o},e.prototype.collectFlattenedFieldNames=function(e,t,i){for(var o=0,r=Object.keys(e);o<r.length;o++){var n=r[o],a=e[n],s=t+"_"+n;i.push("Field '"+t+"."+n+"' flattened to '"+s+"'"),"object"===a.type&&a.properties&&this.collectFlattenedFieldNames(a.properties,s,i)}},e.prototype.parseSurveyJS=function(e){var t=this,i=[];return e.pages&&Array.isArray(e.pages)&&e.pages.forEach(function(e){e.elements&&Array.isArray(e.elements)&&e.elements.forEach(function(e){i.push(t.createComponentFromSurveyJS(e))})}),!i.length&&e.elements&&Array.isArray(e.elements)&&e.elements.forEach(function(e){i.push(t.createComponentFromSurveyJS(e))}),i},e.prototype.createComponentFromSurveyJS=function(e){var t=this.mapSurveyJSType(e.type||"text"),i={};!0===e.isRequired&&(i.required=!0),e.validators&&Array.isArray(e.validators)&&e.validators.forEach(function(e){"numeric"===e.type&&(void 0!==e.minValue&&(i.minValue=e.minValue),void 0!==e.maxValue&&(i.maxValue=e.maxValue)),"text"===e.type&&(void 0!==e.minLength&&(i.minLength=e.minLength),void 0!==e.maxLength&&(i.maxLength=e.maxLength))});var o=Ge({id:this.generateComponentId(t),type:t,label:e.title||e.label||this.humanizeFieldName(e.name),defaultValue:e.defaultValue,expressionValue:e.expressionValue},Object.keys(i).length>0?i:void 0);return"dropdown"!==t&&"multiselect"!==t&&"radio"!==t&&"splitButton"!==t||e.choices&&Array.isArray(e.choices)&&(o.options=e.choices),o},e.prototype.mapSurveyJSType=function(e){return{text:"textbox",email:"email",number:"number",checkbox:"checkbox",radiogroup:"radio",dropdown:"dropdown",tagbox:"multiselect",multiselect:"multiselect",rating:"number",comment:"textarea",date:"date"}[e]||"textbox"},e.prototype.parseOpenAPI=function(e){var t=[];if(!e.properties||"object"!=typeof e.properties)return t;for(var i=Object.keys(e.properties),o=e.required||[],r=0,n=i;r<n.length;r++){var a=n[r],s=e.properties[a],l=this.mapJsonSchemaType(s),p=-1!==o.indexOf(a);t.push(this.createComponent(a,s,l,{required:p}))}return t},e.prototype.parseDataInference=function(e){for(var t=[],i=0,o=Object.keys(e);i<o.length;i++){var r=o[i],n=e[r],a=this.inferComponentType(r,n),s={id:this.generateComponentId(a.type),type:a.type,label:this.humanizeFieldName(r),defaultValue:n,expressionValue:void 0};if(a.textboxType&&(s.textboxType=a.textboxType,"email"===a.textboxType?s.regex=Te.EMAIL:"url"===a.textboxType&&(s.regex=Te.URL)),"date"===a.type&&void 0!==s.defaultValue&&null!==s.defaultValue){var l=this.formatDateTimeValue(s.defaultValue);l&&(s.defaultValue=l)}Array.isArray(n)&&n.length>0&&(s.options=n),t.push(s)}return t},e.prototype.createComponent=function(e,t,i,o){var r={};!0===(void 0!==t.required?t.required:o.required)&&(r.required=!0),t.minLength&&(r.minLength=t.minLength),t.maxLength&&(r.maxLength=t.maxLength),t.minDate&&(r.minDate=t.minDate),t.maxDate&&(r.maxDate=t.maxDate),t.minTime&&(r.minTime=t.minTime),t.minValue&&(r.minValue=t.minValue),t.maxValue&&(r.maxValue=t.maxValue),t.pattern&&(r.pattern=t.pattern);var n=Be(t.id||this.generateComponentId(i.type),this.generateComponentId(i.type)),a=Ge({id:n,name:t.name,type:i.type,label:t.title||t.label||this.humanizeFieldName(e),defaultValue:t.default||t.defaultValue||void 0,expressionValue:t.expressionValue||void 0,content:t.content,buttonType:t.buttonType,textboxType:t.textboxType},Object.keys(r).length>0?r:void 0);if(i.textboxType&&(a.textboxType=i.textboxType,"email"===i.textboxType?r.pattern||(r.regex="^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$",r.validationMessage="Please enter a valid email address"):"url"===i.textboxType&&(r.pattern||(r.regex="^(https?:\\/\\/)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$",r.validationMessage="Please enter a valid URL"))),"date"===i.type&&void 0!==a.defaultValue&&null!==a.defaultValue){var s=this.formatDateTimeValue(a.defaultValue);s&&(a.defaultValue=s)}return"splitButton"!==i.type&&"dropdown"!==i.type&&"multiselect"!==i.type&&"radio"!==i.type||!t.enum&&!t.options||(a.options=t.enum||t.options),a},e.prototype.parseDateFromValue=function(e){if(null==e)return null;if("number"==typeof e)return e<1e12?new Date(1e3*e):new Date(e);if("string"==typeof e){var t=e.trim(),i=new Date(t);if(!isNaN(i.getTime()))return i;var o=t.match(/^(\d{4})-(\d{2})-(\d{2})(?:[T ](\d{2}):(\d{2})(?::(\d{2}))?)?/);if(o)return new Date(Number(o[1]),Number(o[2])-1,Number(o[3]),Number(o[4]||0),Number(o[5]||0),Number(o[6]||0));var r=t.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})(?:[ T](\d{1,2}):(\d{2})(?:[:](\d{2}))?)?/);if(r)return new Date(Number(r[3]),Number(r[1])-1,Number(r[2]),Number(r[4]||0),Number(r[5]||0),Number(r[6]||0))}return null},e.prototype.formatDate=function(e){var t=e.getMonth()+1,i=e.getDate();return(t<10?"0"+t:String(t))+"/"+(i<10?"0"+i:String(i))+"/"+e.getFullYear()},e.prototype.formatDateTimeValue=function(e){var t=this.parseDateFromValue(e);if(t){var i=this.formatDate(t);return 0!==t.getHours()||0!==t.getMinutes()||/\dT\d{2}:\d{2}/.test(String(e))?""+i:i}},e.prototype.mapJsonSchemaType=function(e){var t=e.type;if("string"===t){var i=(e.format||"").toString().toLowerCase(),o=((e.title||e.label||"")+" "+(e.description||"")).toLowerCase();return/email|mail|e-?mail/.test(i)||/email|mail|e-?mail/.test(o)?{type:"textbox",textboxType:"email"}:/uri|url|link|website/.test(i)||/uri|url|link|website/.test(o)?{type:"textbox",textboxType:"url"}:/phone|tel|mobile|cell|msisdn/.test(i)||/phone|tel|mobile|cell|msisdn/.test(o)?{type:"textbox",textboxType:"number"}:/password|pwd|pass|security|secret|key/.test(i)||/password|pwd|pass|security|secret|key/.test(o)?{type:"textbox",textboxType:"password"}:"date"===i||"date-time"===i||/date|birthday|dob/.test(o)?{type:"date"}:e.enum||e.options?{type:"dropdown"}:{type:this.config.defaultTextType}}return"number"===t||"integer"===t?{type:"number"}:"boolean"===t?{type:"checkbox"}:"array"===t?{type:"multiselect"}:"message"===t?{type:"message"}:"button"===t?{type:"button"}:"signature"===t||"sign"===t?{type:"signature"}:"image"===t||"imageEditor"===t?{type:"imageEditor"}:"file"===t||"fileUpload"===t?{type:"fileUpload"}:"color"===t||"colorPicker"===t?{type:"colorPicker"}:"splitButton"===t?{type:"splitButton"}:{type:this.config.defaultTextType}},e.prototype.generateComponentId=function(e){return this.config.generateIds?e+"_"+Date.now()+"_"+Math.floor(1e3*Math.random()):""},e.prototype.humanizeFieldName=function(e){var t=e.replace(/_/g," ");return t=t.replace(/([a-z])([A-Z])/g,"$1 $2")},e}(),Qe=function(e){try{return JSON.parse(e),{valid:!0}}catch(e){return{valid:!1,errors:["Invalid JSON syntax: "+e.message]}}},$e=function(e){var t=[],i=[];if(e.components?Array.isArray(e.components)||t.push('Property "components" must be an array'):t.push("Missing required property: components"),Array.isArray(e.components)){var o=new Set,r=function(e,i){void 0===i&&(i="root"),e.id?(o.has(e.id)&&t.push("Duplicate component ID found: "+e.id),o.add(e.id)):t.push("Component at "+i+' is missing "id" property'),e.type||t.push('Component "'+(e.id||"unknown")+'" is missing "type" property'),e.children&&Array.isArray(e.children)&&e.children.forEach(function(e,t){r(e,i+".children["+t+"]")}),e.tabItems&&Array.isArray(e.tabItems)&&e.tabItems.forEach(function(e,t){e.content&&Array.isArray(e.content)&&e.content.forEach(function(e,o){r(e,i+".tabItems["+t+"].content["+o+"]")})}),e.tableCells&&Array.isArray(e.tableCells)&&e.tableCells.forEach(function(e,t){Array.isArray(e)&&e.forEach(function(e,o){Array.isArray(e)&&e.forEach(function(e,n){r(e,i+".tableCells["+t+"]["+o+"]["+n+"]")})})})};e.components.forEach(function(e,t){r(e,"components["+t+"]")})}return{valid:0===t.length,errors:t.length>0?t:void 0,warnings:i.length>0?i:void 0}},et=function(e){var t={version:e.version||"0.1.0",components:e.components||[]},i=function(e){var t=Ge({},e,{_configured:!0});return e.children&&Array.isArray(e.children)&&(t.children=e.children.map(i)),e.tabItems&&Array.isArray(e.tabItems)&&(t.tabItems=e.tabItems.map(function(e){return Ge({},e,{content:e.content?e.content.map(i):[]})})),e.tableCells&&Array.isArray(e.tableCells)&&(t.tableCells=e.tableCells.map(function(e){return e.map(function(e){return Array.isArray(e)?e.map(i):[]})})),t};return t.components=t.components.map(i),t},tt=["id","type","name","label","conditions","customValidation","customvalidation","_configured","widget","templateId","kind","as","visibility","options","tableCells","tabItems","children","templateData","ref"],it=["created","destroyed","appendTo","appendToElement","append","render","addEventListener","removeEventListener","getModuleName","inject","dataBind","refresh","onPropertyChanged"];function ot(e,t){if(!e||!t)return 0;for(var i=Object.keys(t),o=0,r=0;r<i.length;r++){var n=i[r];try{e[n]=t[n],o++}catch(t){var a=e&&e.constructor&&e.constructor.name||"<unknown>";console.warn('[form-renderer] cannot forward schema property "'+n+'" to control of type '+a+":",t)}}return o}function rt(e,t,i,o){var r=function(e,t){for(var i=e||{},o={},r=0;r<t.length;r++)o[t[r]]=!0;for(var n=0;n<tt.length;n++)o[tt[n]]=!0;for(var a=0;a<it.length;a++)o[it[a]]=!0;var s=[];for(var l in i)Object.prototype.hasOwnProperty.call(i,l)&&!o[l]&&"__proto__"!==l&&"constructor"!==l&&s.push(l);s.sort();for(var p={},d=0;d<s.length;d++){var h=s[d];p[h]=i[h]}return p}(t,i);if(o&&o.length){for(var n=0;n<o.length;n++){var a=o[n];r[a.key]=a.value}var s={};return Object.keys(r).sort().forEach(function(e){s[e]=r[e]}),ot(e,s)}return ot(e,r)}var nt=function(){function e(e){this.content=e.content,this.id=e.id,this.enableHtmlSanitizer=!!(0,l.isNullOrUndefined)(e.enableHtmlSanitizer)||e.enableHtmlSanitizer,this.el=e.target||null}return e.prototype.resolveHtml=function(e){try{return this.enableHtmlSanitizer?l.SanitizeHtmlHelper.sanitize(e):e}catch(e){return""}},e.prototype.render=function(){var e=document.createElement("div");return this.id&&(e.id=this.id),e.innerHTML=this.resolveHtml(this.content),this.el=e,e},e.prototype.update=function(e){this.content=e,this.el&&(this.el.innerHTML=this.resolveHtml(this.content))},e.prototype.getElement=function(){return this.el},e.prototype.destroy=function(){this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el),this.el=null,this.content="",this.enableHtmlSanitizer=!1,this.id=void 0},e}();const at=nt;var st=function(){return st=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},st.apply(this,arguments)},lt=function(e,t){e&&t&&e.setAttribute("id",t)},pt=function(e){var t,i=e.component,o=e.value,r=e.onChange,n=e.onBlur,a=e.onClick,s=e.hasError,h=void 0!==s&&s,c=e.locale,u=e.formState,v=e.settings,g=e.components,f=e.enableRtl,m=e.ref,b=e.l10n,y=e.initializedGrids||new Set,C=e.target,x={floatLabelType:i.floatLabelType||"Never",placeholder:i.placeholder||"",enabled:!i.disabled},w=function(e){var t=i.validateOn||"Change",o={};return t&&"Change"!==t||(o.change=function(t){return r(e(t))},o.blur=function(){n&&n()}),"Blur"===t&&(o.change=function(t){return r(e(t))},o.blur=function(){n&&n()}),o},P=(t=i.htmlAttributes)?Array.isArray(t)?t.reduce(function(e,t){return t&&t.key&&void 0!==t.value&&(e[t.key]=t.value),e},{}):t:{};i.required&&(P["aria-required"]="true");var S=h?"e-error":"",j=((i.cssClass||"")+" "+S+" "+("Small"===i.size?" e-small":"Bigger"===i.size?" e-bigger":"")).trim();switch(i.type){case"textbox":var O=new A.TextBox(st({id:i.name,type:i.multiline?"hidden":i.textboxType?i.textboxType:"text",name:i.id,enableRtl:f,locale:c,floatLabelType:x.floatLabelType,placeholder:x.placeholder,enabled:x.enabled,value:void 0!==o?o:i.defaultValue||"",multiline:i.multiline,showClearButton:i.showClearButton,autocomplete:!1===i.autocomplete||void 0===i.autocomplete?"off":"on",readonly:i.readOnly||!1,cssClass:j,htmlAttributes:P,appendTemplate:i.suffix,prependTemplate:i.prefix},w(function(e){return e.value||""})));return C&&O.appendTo(C),rt(O,i,["name","multiline","textboxType","defaultValue","showClearButton","autocomplete","readOnly","cssClass","suffix","prefix","floatLabelType","placeholder","disabled"]),m(O),O;case"textarea":var T=new A.TextArea(st({id:i.name,name:i.id,enableRtl:f,locale:c,floatLabelType:x.floatLabelType,placeholder:x.placeholder,enabled:x.enabled,value:void 0!==o?o:i.defaultValue||"",cols:i.cols||200,rows:i.textareaRows||4,showClearButton:i.showClearButton||!1,readonly:i.readOnly||!1,maxLength:i.maxLength||255,cssClass:j,htmlAttributes:P,appendTemplate:i.suffix,prependTemplate:i.prefix,resizeMode:"Vertical"},w(function(e){return e.value||""})));return C&&T.appendTo(C),rt(T,i,["name","defaultValue","cols","textareaRows","showClearButton","readOnly","maxLength","cssClass","suffix","prefix","floatLabelType","placeholder","disabled"]),m(T),T;case"number":var k=""===o?void 0:o,F=new A.NumericTextBox({locale:c,enableRtl:f,floatLabelType:x.floatLabelType,placeholder:x.placeholder,enabled:x.enabled,value:void 0!==k?k:i.defaultValue||void 0,decimals:i.decimals||2,currency:i.currency,format:i.numberFormat||"n2",step:i.step||1,min:i.minValue||void 0,max:i.maxValue||void 0,readonly:i.readOnly||!1,showClearButton:i.showClearButton||!1,cssClass:j,htmlAttributes:P,appendTemplate:i.suffix,prependTemplate:i.prefix,change:function(e){return r(e.value)}});return C&&(lt(C,i.name),C.setAttribute("name",i.id),F.appendTo(C)),rt(F,i,["name","defaultValue","decimals","currency","numberFormat","step","minValue","maxValue","readOnly","showClearButton","cssClass","suffix","prefix","floatLabelType","placeholder","disabled"]),m(F),F;case"checkbox":var I=i.label&&i.required?i.label+" *":i.label,L=new p.CheckBox({locale:c,name:i.id,enableRtl:f,label:I,labelPosition:i.checkboxLabelPosition,checked:void 0!==i.checked&&null!==i.checked&&i.checked||null!=o&&o,indeterminate:i.indeterminate||!1,disabled:i.disabled,cssClass:j,htmlAttributes:P,change:function(e){return r(e.checked)}});return C&&(lt(C,i.name),L.appendTo(C)),rt(L,i,["name","checked","indeterminate","checkboxLabelPosition","cssClass"]),m(L),L;case"checkboxGroup":var z=[];He.fetch(i.options,i.id,u?u.values:void 0,g).then(function(e){e.id===i.id&&e.options.length>0&&(z.push.apply(z,e.options),H.setOptions(z))}).catch(function(){});var M=Me(i.options,z),B=M.length>0?M:i.options||["Option 1"],H=new Ne({component:st({},i,{options:B}),formState:u,value:o,enableRtl:f,onChange:function(e){return r(e)},optionRef:e.ref,target:C,ref:m});return C&&lt(C,i.name),rt(H,i,["options","enableRtl","disabled","readOnly","required","checkboxLabelPosition","layoutDirection","gap","size","cssClass","htmlAttributes"]),H.render(C),H;case"radio":var N=Array.isArray(i.options)?i.options:["Option 1"],Y=(0,l.createElement)("div",{id:i.name+"-group",className:"e-radio-group "+S}),W=[];return N.forEach(function(t,n){var a=t,s=t,d=(0,l.createElement)("div");Y.appendChild(d);var h=(0,l.createElement)("input",{id:i.name+"_"+n+"_"+a,attrs:{type:"radio"}});d.appendChild(h);var u=new p.RadioButton({name:i.id,label:s,enableRtl:f,locale:c,disabled:i.disabled,value:a,htmlAttributes:P,labelPosition:i.fieldLabelPosition,checked:i.defaultValue===a||o===a,cssClass:j,change:function(e){e.value===a&&r(a)}});u.appendTo(h),m(u,n),e.ref&&"function"==typeof e.ref&&e.ref(u,n),W.push(u),rt(u,i,["name","options","disabled","defaultValue","fieldLabelPosition","cssClass","htmlAttributes"])}),C&&C.appendChild(Y),W;case"dropdown":var X=[];He.fetch(i.options,i.id,u?u.values:void 0,g).then(function(e){e.id===i.id&&e.options.length>0&&(X.push.apply(X,e.options),q.dataSource=X)}).catch(function(){});var U=Me(i.options,X),V=U.length>0?U:i.options||["Option 1"];i.conditions&&i.conditions.choiceBasedField&&(V=oe.getChoiceBasedOptions(i.conditions.choiceBasedField,V,u?u.values:void 0,i.conditions.choiceBasedField.primaryFieldId)).length>0&&null!=o&&-1===V.indexOf(o)&&u&&(u.values[i.id]=null);var q=new D.DropDownList(st({id:i.name,name:i.id,floatLabelType:x.floatLabelType,placeholder:x.placeholder,enabled:x.enabled,locale:c,enableRtl:f,cssClass:j,dataSource:V,value:void 0!==u.values[i.id]?u.values[i.id]:void 0!==i.defaultValue&&null!==i.defaultValue?i.defaultValue:null,showClearButton:i.showClearButton||!1,readonly:i.readOnly||!1,enableVirtualization:i.enableVirtualization||!1,popupHeight:i.popupHeight||"300px",popupWidth:i.popupWidth||"100%",htmlAttributes:P},w(function(e){return e.value||""})));return D.DropDownList.Inject(D.VirtualScroll),C&&q.appendTo(C),rt(q,i,["name","defaultValue","showClearButton","readOnly","enableVirtualization","popupHeight","popupWidth","cssClass","htmlAttributes","floatLabelType","placeholder","disabled","fields","groupBy"]),m(q),q;case"multiselect":var _=[];He.fetch(i.options,i.id,u?u.values:void 0,g).then(function(e){e.id===i.id&&e.options.length>0&&(_.push.apply(_,e.options),J.dataSource=_)}).catch(function(){});var Z=Me(i.options,_),G=Z.length>0?Z:i.options||["Option 1"],J=new D.MultiSelect(st({name:i.id,enableRtl:f,locale:c,floatLabelType:x.floatLabelType,enabled:x.enabled,value:void 0!==o?o:void 0!==i.defaultValue&&null!==i.defaultValue?i.defaultValue:null,placeholder:i.placeholder,dataSource:G,fields:{text:"text",value:"value"},showClearButton:i.showClearButton||!1,readonly:i.readOnly||!1,allowCustomValue:i.allowCustomValue||!1,addTagOnBlur:i.addTagOnBlur||!1,delimiterChar:i.delimiterChar||",",showSelectAll:i.showSelectAll||!1,mode:i.showSelectAll?"CheckBox":i.visualMode?i.visualMode:void 0,selectAllText:i.selectAllText,unSelectAllText:i.unSelectAllText,showDropDownIcon:!1!==i.showDropDownIcon,enableVirtualization:i.enableVirtualization||!1,popupHeight:i.popupHeight||"300px",popupWidth:i.popupWidth||"100%",cssClass:j,htmlAttributes:P},w(function(e){return e.value||""})));return D.MultiSelect.Inject(D.CheckBoxSelection,D.VirtualScroll),C&&J.appendTo(C),rt(J,i,["name","defaultValue","placeholder","showClearButton","readOnly","allowCustomValue","addTagOnBlur","delimiterChar","showSelectAll","visualMode","selectAllText","unSelectAllText","showDropDownIcon","enableVirtualization","popupHeight","popupWidth","cssClass","htmlAttributes","floatLabelType","disabled"]),m(J),J;case"date":var K=new E.DatePicker(st({floatLabelType:x.floatLabelType,id:i.name,name:i.id,enableRtl:f,locale:c,placeholder:x.placeholder,enabled:x.enabled,value:void 0!==o?o:void 0!==i.defaultValue&&null!==i.defaultValue?i.defaultValue:null,format:i.format||"MM/dd/yyyy",readOnly:i.readOnly||!1,showClearButton:void 0!==i.showClearButton&&i.showClearButton,showTodayButton:!1!==i.showTodayButton,calendarMode:i.calendarMode||"Gregorian",dayHeaderFormat:i.dayHeaderFormat||"Short",depth:i.depth||"Month",start:i.start||"Month",firstDayOfWeek:i.firstDayOfWeek||0,min:i.minDate?new Date(i.minDate):void 0,max:i.maxDate?new Date(i.maxDate):void 0,cssClass:j,htmlAttributes:P},w(function(e){return e.value||""})));return E.DatePicker.Inject(E.Islamic),C&&K.appendTo(C),rt(K,i,["name","defaultValue","format","readOnly","showClearButton","showTodayButton","calendarMode","dayHeaderFormat","depth","start","firstDayOfWeek","minDate","maxDate","cssClass","htmlAttributes","floatLabelType","placeholder","disabled"]),m(K),K;case"dateTime":var Q=new E.DateTimePicker(st({id:i.name,floatLabelType:x.floatLabelType,placeholder:x.placeholder,enabled:x.enabled,locale:c,enableRtl:f,name:i.id,dayHeaderFormat:i.dayHeaderFormat||"Short",value:void 0!==o?o:void 0!==i.defaultValue&&null!==i.defaultValue?i.defaultValue:null,format:i.format||"MM/dd/yyyy hh:mm a",showClearButton:void 0!==i.showClearButton&&i.showClearButton,showTodayButton:!1!==i.showTodayButton,depth:i.depth||"Month",start:i.start||"Month",step:i.step||1,readonly:i.readOnly||!1,min:i.minDate?new Date(i.minDate):void 0,max:i.maxDate?new Date(i.maxDate):void 0,minTime:i.minTime?new Date("2000-01-01 "+i.minTime):void 0,maxTime:i.maxTime?new Date("2000-01-01 "+i.maxTime):void 0,enableMask:!1,cssClass:j,htmlAttributes:P},w(function(e){return e.value||""})));return E.DateTimePicker.Inject(E.Islamic),C&&Q.appendTo(C),rt(Q,i,["name","defaultValue","format","showClearButton","showTodayButton","dayHeaderFormat","depth","start","step","minDate","maxDate","minTime","maxTime","readOnly","cssClass","htmlAttributes","floatLabelType","placeholder","disabled"]),m(Q),Q;case"time":var ee=new E.TimePicker(st({id:i.name,locale:c,name:i.id,enableRtl:f,floatLabelType:x.floatLabelType,placeholder:x.placeholder,enabled:x.enabled,value:void 0!==o?o:void 0!==i.defaultValue&&null!==i.defaultValue?i.defaultValue:null,format:i.format||"hh:mm a",showClearButton:void 0!==i.showClearButton&&i.showClearButton,step:i.step||30,readonly:i.readOnly||!1,min:i.minTime?new Date("2000-01-01 "+i.minTime):void 0,max:i.maxTime?new Date("2000-01-01 "+i.maxTime):void 0,enableMask:!1,cssClass:j,htmlAttributes:P},w(function(e){return e.value||""})));return C&&ee.appendTo(C),rt(ee,i,["name","defaultValue","format","showClearButton","step","minTime","maxTime","readOnly","cssClass","htmlAttributes","floatLabelType","placeholder","disabled"]),m(ee),ee;case"dateRange":var ie=new E.DateRangePicker(st({id:i.name,locale:c,enableRtl:f,name:i.id,floatLabelType:x.floatLabelType,dayHeaderFormat:i.dayHeaderFormat||"Short",placeholder:x.placeholder,enabled:x.enabled,value:void 0!==o?o:void 0!==i.defaultValue&&null!==i.defaultValue?i.defaultValue:null,depth:i.depth||"Month",start:i.start||"Month",min:i.minDate?new Date(i.minDate):void 0,max:i.maxDate?new Date(i.maxDate):void 0,format:i.format||"MM/dd/yyyy",separator:i.separator||" - ",showClearButton:void 0!==i.showClearButton&&i.showClearButton,readonly:i.readOnly||!1,cssClass:j,htmlAttributes:P},w(function(e){return e.value||""})));return C&&ie.appendTo(C),rt(ie,i,["name","defaultValue","format","separator","showClearButton","minDate","maxDate","readOnly","dayHeaderFormat","depth","start","cssClass","htmlAttributes","floatLabelType","placeholder","disabled"]),m(ie),ie;case"switch":var re=new p.Switch({locale:c,enableRtl:f,value:i.defaultValue,name:i.id,checked:void 0!==i.checked&&null!==i.checked&&i.checked||null!=o&&o,disabled:i.disabled,onLabel:i.onLabel||"",offLabel:i.offLabel||"",cssClass:j,htmlAttributes:P,change:function(e){return r(e.checked)}});return C&&(lt(C,i.name),re.appendTo(C)),rt(re,i,["name","defaultValue","checked","onLabel","offLabel","cssClass","htmlAttributes"]),m(re),re;case"button":var ne=i.buttonsGroups||i.buttons||[];if(ne&&ne.length>0){var ae={display:"flex",flexWrap:"wrap",alignItems:"center",gap:i.gap||"8px",justifyContent:Ie(i.position),width:i.width||void 0,maxWidth:"100%"},se=(0,l.createElement)("div",{id:i.name,attrs:{role:"group","aria-label":i.label||"Button Group",className:j+" "+(f?"e-rtl":"")}});Object.assign(se.style,ae);var le=[];ne.forEach(function(t,o){var r=i.name+"_"+o,n=[ke(t.style)].filter(Boolean).join(" ");n+="Small"===i.size?" e-small":"Bigger"===i.size?" e-bigger":"";var s=Fe(t.type),d=(0,l.createElement)("button",{id:String(r),attrs:{name:String(r),type:s}});se.appendChild(d);var h=new p.Button({locale:c,enableRtl:f,cssClass:n,disabled:t.disabled||!1,content:t.label||"Button "+(o+1),iconCss:t.iconCss,iconPosition:t.iconPosition});h.appendTo(d),h.element.onclick=function(e){a&&a(e)},m(h,o),le.push(h),e.ref&&"function"==typeof e.ref&&e.ref(h,o)}),C&&C.appendChild(se);for(var pe=0;pe<le.length;pe++)rt(le[pe],i,["buttonsGroups","gap","position","size","cssClass"]);return le}var de=Fe(i.buttonType),he=[ke(i.style),"submit"===de?"submit-btn form-submit-type":"","reset"===de?"form-reset-type":"",i.cssClass||"e-primary","Small"===i.size?" e-small":"Bigger"===i.size?" e-bigger":""].filter(Boolean).join(" ")||"e-primary",ce={display:"flex",justifyContent:Ie(i.position),width:i.width||"100%"},ue=(0,l.createElement)("div",{id:i.name+"-container"});Object.assign(ue.style,ce);var ve=(0,l.createElement)("button",{id:i.name,attrs:{type:de}});ue.appendChild(ve);var ge=new p.Button({enableRtl:f,locale:c,cssClass:he,disabled:i.disabled,iconCss:i.iconCss,iconPosition:i.iconPosition,content:i.label});return ge.appendTo(ve),m(ge),ge.element.onclick=function(e){a&&a(e)},C&&C.appendChild(ue),rt(ge,i,["buttonType","style","iconCss","iconPosition","cssClass","position","size","disabled"]),ge;case"splitButton":var fe=["primary"===i.style?"e-primary":"",(i.style,""),"information"===i.style?"e-info":"","error"===i.style?"e-danger":"","success"===i.style?"e-success":"","warning"===i.style?"e-warning":"",i.cssClass||"","Small"===i.size?" e-small":"Bigger"===i.size?" e-bigger":""].filter(Boolean).join(" ")||void 0,me={display:"flex",justifyContent:Ie(i.position)};ue=(0,l.createElement)("div",{id:i.name+"-container",attrs:{"aria-label":"Splitbutton"}});Object.assign(ue.style,me);var be=i.options&&i.options.length>0?i.options.map(function(e,t){return{text:e,id:i.id+"_option_"+t}}):[{text:"Option 1",id:i.id+"_option_0"}],ye=(0,l.createElement)("button",{id:i.name});ue.appendChild(ye);var Ce=new d.SplitButton({locale:c,enableRtl:f,content:i.label||"Split Button",items:be,cssClass:fe,disabled:i.disabled,iconCss:i.iconCss,iconPosition:i.iconPosition||"Left",click:function(e){a&&a(st({},e))},select:function(e){a&&a(st({},e,{selectedItem:e.item.text}))}});return Ce.appendTo(ye),C&&C.appendChild(ue),rt(Ce,i,["options","style","iconCss","iconPosition","cssClass","position","disabled"]),m(Ce),Ce;case"signature":var xe=(0,l.createElement)("canvas",{id:i.name,className:j}),we=new A.Signature({enableRtl:f,locale:c,backgroundColor:i.backgroundColor||"",strokeColor:i.strokeColor||"",maxStrokeWidth:i.maxValue,minStrokeWidth:i.minValue,velocity:i.velocity,disabled:i.disabled,change:function(){return r(i.name)}});return C&&(we.appendTo(xe),C.appendChild(xe)),rt(we,i,["backgroundColor","strokeColor","maxValue","minValue","velocity"]),m(we),we;case"rating":var Pe=new A.Rating({enableRtl:f,locale:c,value:void 0!==o?o:i.defaultValue||0,disabled:i.disabled,cssClass:j,allowReset:i.allowReset,itemsCount:i.itemsCount,min:i.minValue,precision:i.precision,readOnly:i.readOnly,showTooltip:i.showRatingTooltip||!1,showLabel:i.showRatingLabel,labelPosition:i.showRatingLabel?i.ratingLabelPosition:void 0,valueChanged:function(e){return r(e.value)}});return C&&(lt(C,i.name),C.setAttribute("name",i.id),Pe.appendTo(C)),rt(Pe,i,["defaultValue","allowReset","itemsCount","minValue","precision","readOnly","showRatingTooltip","showRatingLabel","ratingLabelPosition","cssClass","labelPosition"]),m(Pe),Pe;case"colorPicker":var Se=new A.ColorPicker({enableRtl:f,locale:c,value:void 0!==o?o:i.defaultValue||"",disabled:i.disabled,enableOpacity:i.enableOpacity,showButtons:i.showButtons,showRecentColors:i.showRecentColors,noColor:i.showNoColor,cssClass:j,change:function(e){return r(e.value)}});return C&&(lt(C,i.name),Se.appendTo(C)),rt(Se,i,["defaultValue","enableOpacity","showButtons","showRecentColors","showNoColor","cssClass"]),m(Se),Se;case"inputMask":var je=new A.MaskedTextBox(st({id:i.name,name:i.id,enableRtl:f,floatLabelType:i.floatLabelType||"Never",placeholder:i.placeholder||"",enabled:!i.disabled,locale:c,value:void 0!==o?o:i.defaultValue||"",mask:i.mask||"000-000-0000",promptChar:i.promptChar||"_",customCharacters:i.customCharacters,readOnly:i.readOnly||!1,showClearButton:!1!==i.showClearButton,cssClass:j,htmlAttributes:P,appendTemplate:i.suffix,prependTemplate:i.prefix},w(function(e){return e.value||""})));return C&&je.appendTo(C),rt(je,i,["name","defaultValue","mask","promptChar","customCharacters","readOnly","showClearButton","cssClass","htmlAttributes","suffix","prefix","floatLabelType","placeholder","disabled"]),m(je),je;case"rangeSlider":var Oe=new A.Slider({enableRtl:f,locale:c,value:void 0!==o?o:void 0!==i.defaultValue&&null!==i.defaultValue?i.defaultValue:0,min:i.minValue||0,max:i.maxValue||100,step:i.step||1,cssClass:j,enabled:!i.disabled,readonly:i.readOnly,showButtons:i.showButtons,change:function(e){return r(e.value)}});return C&&(lt(C,i.name),Oe.appendTo(C)),rt(Oe,i,["defaultValue","minValue","maxValue","step","cssClass","readOnly","showButtons"]),m(Oe),Oe;case"fileUpload":var Te=new A.Uploader({enableRtl:f,locale:c,type:"file",enabled:!i.disabled,allowedExtensions:i.allowExtensions,asyncSettings:{saveUrl:i.saveUrl,removeUrl:i.removeUrl},buttons:i.buttons||{browse:"Choose File",clear:"Clear All",upload:"Upload All"},maxFileSize:i.maxValue,minFileSize:i.minValue,multiple:!!i.allowMultiple,showFileList:i.showFileList,htmlAttributes:P,cssClass:j,change:function(e){return r(e.file)}});return C&&(lt(C,i.name),Te.appendTo(C)),rt(Te,i,["allowExtensions","saveUrl","removeUrl","buttons","maxValue","minValue","allowMultiple","showFileList","htmlAttributes","cssClass"]),m(Te),Te;case"imageEditor":var Ae=new $({locale:c,enableRtl:f,disabled:i.disabled,cssClass:j,height:(null!=i.height?i.height:"350px").toString(),width:(null!=i.width?i.width:"100%").toString(),editComplete:function(){return r(i.name)},fileOpened:function(){return r(i.name)}});return C&&(lt(C,i.name),Ae.appendTo(C)),rt(Ae,i,["height","width","cssClass"]),m(Ae),Ae;case"message":var De=new R.Message({locale:c,enableRtl:f,severity:i.severity||i.messageType||"info",variant:i.variant,content:i.content||"Message",showCloseIcon:i.showCloseIcon,showIcon:void 0!==i.showIcon&&i.showIcon||!1,cssClass:j});return C&&(lt(C,i.name),De.appendTo(C)),rt(De,i,["severity","messageType","variant","content","showCloseIcon","showIcon","cssClass"]),m(De),De;case"dataGrid":var Ee=i,Re=function(e,t){if(e&&e.conditionalData&&Array.isArray(e.conditionalData))for(var i=0,o=e.conditionalData;i<o.length;i++){var r=o[i];if(oe.evaluateCondition(r.condition,t))return{dataSource:r.dataSource,columns:r.columns&&r.columns.length>0?r.columns:void 0}}}(Ee.conditions,u&&u.values||{}),Le=Re?Re.dataSource:void 0,ze=Re?Re.columns:void 0,Be=(Le||Ee.dataSource,[]);He.fetch(Le||Ee.dataSource,Ee.id,u&&u.values,g).then(function(e){if(e.id===Ee.id&&e.options.length>0){var t=Me(Le||Ee.dataSource,e.options,Ye);qe.setDataSource(t)}});var Ye=[],We=Me(Le||Ee.dataSource,Be,Ye),Xe=We.length>0?We:void 0!==Ee.dataSource&&null!==Ee.dataSource?Ee.dataSource:[],Ue=ze&&ze.length>0?ze:void 0!==Ee.columns&&null!==Ee.columns?Ee.columns:[],Ve=C||(0,l.createElement)("div",{id:Ee.name,className:Ee.cssClass});C&&lt(C,i.name);var qe=new _e({locale:c,name:Ee.name||"",columns:Ue,enableRtl:f,dataSource:void 0!==Xe&&Xe.length>0?Xe:o,height:null!=Ee.height?Ee.height:"200px",width:null!=Ee.width?Ee.width:"100%",pageSize:Ee.pageSize||6,allowPaging:!1!==Ee.allowPaging,allowFiltering:Ee.allowFiltering,allowAdding:!1!==Ee.allowAdding,allowEditing:!1!==Ee.allowEditing,allowDeleting:!1!==Ee.allowDeleting,onDataChange:function(e){return r(e)},cssClass:j,target:Ve,ref:m});return qe.render(Ve),!y.has(i.id)&&u&&Array.isArray(Xe)&&(u.values[i.id]=Xe,qe.isInitialized=!0,y.add(i.id)),rt(qe,i,["dataSource","columns","conditions","height","width","pageSize","allowPaging","allowFiltering","allowAdding","allowEditing","allowDeleting","cssClass"]),"function"==typeof e.ref?e.ref(qe):e.ref&&(e.ref.current=qe),C||Ve;case"richTextEditor":var Ze={items:["Undo","Redo","|","Bold","Italic","Underline","StrikeThrough","InlineCode","|","CreateLink","Image","CreateTable","CodeBlock","HorizontalLine","Blockquote","EmojiPicker","|","LineHeight","Formats","Alignments","|","BulletFormatList","NumberFormatList","Checklist","|","Outdent","Indent","|","FontColor","BackgroundColor","FontName","FontSize","|","LowerCase","UpperCase","SuperScript","SubScript","|","SourceCode","|"]};i.enableImportFromWord&&i.enableImportFromWord.enabled&&Ze.items.push("ImportWord"),i.enableExportToWord&&i.enableExportToWord.enabled&&Ze.items.push("ExportWord"),i.enableExportToPdf&&i.enableExportToPdf.enabled&&Ze.items.push("ExportPdf"),Ze.items.push("Print");var Ge=function(e){return!!e&&e.enabled&&"string"==typeof e.serviceUrl&&""!==e.serviceUrl.trim()},Je=Ge(i.enableImportFromWord)?{serviceUrl:/^(https?:)?\/\//i.test(i.enableImportFromWord?i.enableImportFromWord.serviceUrl:"")?i.enableImportFromWord?i.enableImportFromWord.serviceUrl:"":(v&&v.hostUrl?v.hostUrl:"").replace(/\/+$/,"")+"/"+(i.enableImportFromWord?i.enableImportFromWord.serviceUrl:"").replace(/^\/+/,"")}:void 0,Ke=Ge(i.enableExportToWord)?{serviceUrl:/^(https?:)?\/\//i.test(i.enableExportToWord?i.enableExportToWord.serviceUrl:"")?i.enableExportToWord?i.enableExportToWord.serviceUrl:"":(v&&v.hostUrl?v.hostUrl:"").replace(/\/+$/,"")+"/"+(i.enableExportToWord?i.enableExportToWord.serviceUrl:"").replace(/^\/+/,""),fileName:"RichTextEditor.docx",stylesheet:"\n .e-rte-content {\n font-size: 1em;\n font-weight: 400;\n margin: 0;\n }\n "}:void 0,Qe=Ge(i.enableExportToPdf)?{serviceUrl:/^(https?:)?\/\//i.test(i.enableExportToPdf?i.enableExportToPdf.serviceUrl:"")?i.enableExportToPdf?i.enableExportToPdf.serviceUrl:"":(v&&v.hostUrl?v.hostUrl:"").replace(/\/+$/,"")+"/"+(i.enableExportToPdf?i.enableExportToPdf.serviceUrl:"").replace(/^\/+/,""),fileName:"RichTextEditor.pdf",stylesheet:"\n .e-rte-content {\n font-size: 1em;\n font-weight: 400;\n margin: 0;\n }\n "}:void 0,$e=new te.RichTextEditor({locale:c,toolbarSettings:Ze,enableRtl:f,value:void 0!==o?o:i.defaultValue||"",placeholder:i.placeholder||"",enabled:!i.disabled,readonly:i.readOnly||!1,maxLength:i.maxLength||void 0,cssClass:j||void 0,height:i.height||"300px",width:i.width||"100%",htmlAttributes:P,importWord:Je,exportPdf:Qe,exportWord:Ke,change:function(e){return r(e.value)}});return te.RichTextEditor.Inject(te.Toolbar,te.Link,te.HtmlEditor,te.QuickToolbar,te.Image,te.Count,te.Table,te.EmojiPicker,te.PasteCleanup,te.SlashMenu,te.CodeBlock,te.ClipBoardCleanup,te.AutoFormat,te.ImportExport),$e.appendTo(C),rt($e,i,["enableImportFromWord","enableExportToWord","enableExportToPdf","defaultValue","placeholder","readOnly","maxLength","cssClass","height","width","htmlAttributes","toolbarSettings"]),m($e),$e;default:De=new R.Message({locale:c,enableRtl:f,severity:"Warning",content:b.getConstant("unsupportedComponent")+" : "+i.type,cssClass:j});return C&&(lt(C,i.name),De.appendTo(C)),m(De),De}};function dt(e,t){if(!t||0===t.length)return null;var i=e.name;if("string"==typeof i&&i.length>0)for(var o=0,r=t;o<r.length;o++){var n=(u=r[o]).fieldName;if("string"==typeof n&&n.length>0&&n===i)return{entry:u,matchKind:"fieldName"}}var a=e.templateId;if("string"==typeof a&&a.length>0)for(var s=0,l=t;s<l.length;s++){var p=(u=l[s]).templateId;if("string"==typeof p&&p.length>0&&p===a)return{entry:u,matchKind:"templateId"}}var d=e.type;if("string"==typeof d&&d.length>0)for(var h=0,c=t;h<c.length;h++){var u,v=(u=c[h]).type;if("string"==typeof v&&v.length>0&&v===d)return{entry:u,matchKind:"type"}}return null}var ht=function(){var e=function(t,i){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},e(t,i)};return function(t,i){function o(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),ct=function(){return ct=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},ct.apply(this,arguments)},ut=function(e,t,i,o){var r,n=arguments.length,a=n<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,o);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(n<3?r(a):n>3?r(t,i,a):r(t,i))||a);return n>3&&a&&Object.defineProperty(t,i,a),a},vt=["textbox","number","checkbox","dropdown","multiselect","date","dateTime","time","dateRange","switch","rating","colorPicker","inputMask","fileUpload"],gt={unsupportedComponent:"Unsupported Component type"},ft=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ht(t,e),ut([(0,l.Property)(null)],t.prototype,"template",void 0),ut([(0,l.Property)("")],t.prototype,"type",void 0),ut([(0,l.Property)("")],t.prototype,"templateId",void 0),ut([(0,l.Property)("")],t.prototype,"fieldName",void 0),t}(l.ChildProperty),mt=function(e){function t(t,i){var o=e.call(this,t,i)||this;return o.processedSchemaCache={version:"1.0.0",components:[]},o.l10n=new l.L10n("form-renderer",gt,o.locale),o.formState={values:Object.create(null),errors:Object.create(null)},o.validator=null,o.inputRefs={},o.conditionalValueApplied={},o.expressionEngine=null,o.expressionDependencyGraph={},o.expressionEvaluationInProgress=!1,o.previousFormValues={},o.computedFieldNames=new Set,o.customValidationEngine=new Ve,o.currentFormValues={},o.isInitialized=!1,o.hasLayoutComponentsCache=!1,o.idToLabelCache={},o.initialValuesCache={},o.renderedInstances=[],o.tooltipRefs={},o.createdFired=!1,o.rerenderScheduled=!1,o.conditionalTriggerFieldIds=new Set,o.preservedFields=new Map,o.consumerDependencyMap=new Map,o.pendingChangedFieldIds=new Set,o}var i;return ht(t,e),i=t,t.prototype.getModuleName=function(){return"form-renderer"},t.prototype.getPersistData=function(){return this.addOnPersist(["formState",JSON.stringify(this.formState)])},t.prototype.preRender=function(){(0,l.enableRipple)(!0),this.createdFired=!1,this.expressionEngine=new je},t.prototype.render=function(){var e=this;if(this.clearEngineCaches(),this.removePreviousRoot(),this.normalizeSchema(),this.element.classList.add("form-renderer-container"),this.className&&(0,l.addClass)([this.element],this.className.replace(/\s+/g," ").trim().split(" ")),this.enableRtl?this.element.classList.add("e-rtl"):this.element.classList.remove("e-rtl"),this.hasLayoutComponentsCache=this.computeHasLayoutComponents(),this.idToLabelCache=this.computeIdToLabel(),this.initialValuesCache=this.buildInitialValues(),this.buildValidationRulesAndBridge(),this.isInitialized||(this.isInitialized=!0),this.isReact&&this.portals&&this.renderReactTemplates(),this.formState&&this.initialValuesCache)for(var t=0,i=Object.keys(this.initialValuesCache);t<i.length;t++){var o=i[t],r=this.initialValuesCache[o];this.formState.values[o]||(this.formState.values[o]=r)}this.currentFormValues=ct({},this.formState?this.formState.values:{}),this.initExpressionEngine(),this.buildConditionalDependencyMap();var n=(0,l.createElement)("form",{className:"form-renderer "+this.layoutClass,attrs:{role:"region","aria-label":this.processedSchemaCache.settings&&this.processedSchemaCache.settings.name||"Form"}});this.element.appendChild(n),this.inputRefs={},(this.processedSchemaCache.components||[]).forEach(function(t){var i=e.renderComponent(t);i&&(n.appendChild(i),e.refreshRenderedComponent(t,i))}),this.created&&!this.createdFired&&setTimeout(function(){Object.keys(e.inputRefs).length>0&&(e.createdFired=!0,e.trigger("created",{}))},0)},t.prototype.refreshRenderedComponent=function(e,t){var i=this,o=t;if(o="tabs"===e.type?t.querySelector("#"+e.id+".e-control.e-tab")||t:t.querySelector('[data-field-id="'+e.id+'"]')||t,"richTextEditor"===e.type){var r=o.querySelector(".e-richtexteditor"),n=r?(0,l.getComponent)(r,"richtexteditor"):null;n&&n.refreshUI()}else if("dataGrid"===e.type){var a=o.querySelector(".e-control.e-toolbar"),s=a?(0,l.getComponent)(a,"toolbar"):null;s&&s.refresh()}else if("imageEditor"===e.type){var p=o.querySelector(".e-control.e-image-editor"),d=p?(0,l.getComponent)(p,"image-editor"):null;d&&d.refresh()}else if("tabs"===e.type){var h=(0,l.getComponent)(o,"tab");h&&h.refreshOverflow()}e.children&&e.children.forEach(function(e){return i.refreshRenderedComponent(e,t)}),e.tableCells&&e.tableCells.forEach(function(e){e.forEach(function(e){return e.forEach(function(e){return i.refreshRenderedComponent(e,t)})})}),e.tabItems&&e.tabItems.forEach(function(e){e.content&&e.content.forEach(function(e){return i.refreshRenderedComponent(e,t)})})},t.prototype.normalizeSchema=function(){var e=this.schema;try{if(!e)return void(this.processedSchemaCache={version:"1.0.0",components:[]});var t=e;if("string"==typeof e)try{t=JSON.parse(e)}catch(e){return this.failure&&this.trigger("failure",{error:e}),void(this.processedSchemaCache={version:"1.0.0",components:[]})}if(t&&"object"==typeof t&&t.properties&&Array.isArray(t.layout))this.processedSchemaCache=ve(t,this.dataModel||void 0);else{var i=(new Ke).parse("string"==typeof e?e:JSON.stringify(e));i.success&&i.schema?this.processedSchemaCache=i.schema:(this.failure&&this.trigger("failure",{error:i.errors}),this.processedSchemaCache={version:"1.0.0",components:[]})}}catch(e){this.failure&&this.trigger("failure",{error:e}),this.processedSchemaCache={version:"1.0.0",components:[]}}},t.prototype.computeHasLayoutComponents=function(){if(!this.processedSchemaCache.components)return!1;var e=function(t){for(var i=0,o=t;i<o.length;i++){var r=o[i];if(-1!==["table","tabs","panel","card"].indexOf(r.type))return!0;if(r.children&&e(r.children))return!0;if(r.tableCells)for(var n=0,a=r.tableCells;n<a.length;n++)for(var s=0,l=a[n];s<l.length;s++){var p=l[s];if(e(p))return!0}if(r.tabItems)for(var d=0,h=r.tabItems;d<h.length;d++){var c=h[d];if(c.content&&e(c.content))return!0}}return!1};return e(this.processedSchemaCache.components)},Object.defineProperty(t.prototype,"layoutClass",{get:function(){if(this.hasLayoutComponentsCache)return"";switch(this.layout){case"TwoColumn":return"twolayout";case"ThreeColumn":return"threelayout";case"FourColumn":return"fourlayout";default:return""}},enumerable:!0,configurable:!0}),t.prototype.collectAllComponents=function(e){var t=[],i=function(e){e.forEach(function(e){t.push(e),e.children&&e.children.length>0&&i(e.children),e.tableCells&&e.tableCells.forEach(function(e){e.forEach(function(e){return i(e)})}),e.tabItems&&e.tabItems.forEach(function(e){e.content&&i(e.content)})})};return i(e),t},t.prototype.getDataModelByName=function(){var e=this,t={},i=this.collectAllComponents(this.processedSchemaCache.components),o={};return i.forEach(function(e){o[e.id]=e}),Object.keys(this.formState.values).forEach(function(i){var r=o[i];r&&r.name&&(t[r.name]=e.formState.values[i])}),t},t.prototype.computeIdToLabel=function(){var e={},t=function(i){i.forEach(function(i){i.label&&-1===["panel","table","tabs","card","button","message","splitButton"].indexOf(i.type)&&(i.name?e[i.id]=i.name:i.label&&(e[i.id]=i.label)),i.children&&t(i.children),i.tableCells&&i.tableCells.forEach(function(e){return e.forEach(function(e){return t(e)})}),i.tabItems&&i.tabItems.forEach(function(e){e.content&&t(e.content)})})};return t(this.processedSchemaCache.components),e},t.prototype.buildValidationRulesAndBridge=function(){var e=this,t={},i=this.formState&&this.formState.values||{},o=function(r,n){void 0===n&&(n=!0),r.forEach(function(r){if(r){var a={},s=n&&!1!==r.visible&&oe.isFieldVisible(r.conditions,i),l=n&&oe.isFieldHidden(r.conditions,i);if(s&&!l){var p=oe.isFieldRequired(r.conditions,i),d=oe.isFieldDisabled(r.conditions,i),h=oe.isFieldReadOnly(r.conditions,i),c=!!r.required||p,u=!!r.disabled||d,v=!!r.readOnly||h;if(r.customValidation&&Array.isArray(r.customValidation)&&r.customValidation.length>0&&!u&&!v){var g=r.customValidation&&r.customValidation[0]&&r.customValidation[0].expression,f=(g&&g.match(/\?\s*true\s*:\s*['"](.+?)['"]/)?g.match(/\?\s*true\s*:\s*['"](.+?)['"]/)[1]:void 0)||r.validationMessage||(r.label||r.id)+" is invalid",m=e;a.customValidation=[function(e){var t=e.value;if(c&&(""===t||null==t))return!0;var i={};m.collectAllComponents(m.processedSchemaCache.components).forEach(function(e){e.name&&(i[e.id]=e.name)});for(var o=ct({},m.currentFormValues||{}),n=0,a=Object.keys(ct({},o));n<a.length;n++){var s=a[n],l=o[s],p=i[s];p&&(o[p]=l,delete o[s])}for(var d=0,h=r.customValidation;d<h.length;d++){var u=h[d];if(!m.customValidationEngine)return!0;if(!0!==m.customValidationEngine.validate(u.expression,t,o))return!1}return!0},f]}!c||u||v||(a.required=[!0,r.validationMessage||r.label+" is required"]),!r.minLength||u||v||(a.minLength=[r.minLength,"Minimum "+r.minLength+" characters allowed"]),!r.maxLength||u||v||(a.maxLength=[r.maxLength,"Maximum "+r.maxLength+" characters allowed"]),"textbox"!==r.type||!r.textboxType||r.regex||a.regex||u||v||("email"===r.textboxType?a.regex=[Te.EMAIL,r.validationMessage||"Invalid format"]:"url"===r.textboxType&&(a.regex=[Te.URL,r.validationMessage||"Invalid format"])),!r.regex||u||v||(a.regex=[r.regex,r.validationMessage||"Invalid format"]),Object.keys(a).length>0&&(t[r.id]=a),r.children&&o(r.children,s&&!l),r.tableCells&&r.tableCells.forEach(function(e){return e.forEach(function(e){return o(e,s&&!l)})}),r.tabItems&&r.tabItems.forEach(function(e){e.content&&o(e.content,s&&!l)})}}})};o(this.processedSchemaCache.components);var r=this.formState?ct({},this.formState.values):ct({},this.initialValuesCache);if(this.formState={values:Object.assign(Object.create(null),this.initialValuesCache,r),errors:this.enablePersistence?this.formState.errors:Object.create(null)},r&&Object.keys(r).forEach(function(t){t in e.formState.values||(e.formState.values[t]=r[t])}),this.validator){try{this.validator.refresh(),this.validator.destroy()}catch(e){}this.validator=null}var n=this;this.validator=new A.FormValidator(this.element,{rules:t,locale:this.locale,ignore:"e-hidden",errorClass:"e-error",validClass:"e-valid",errorElement:"div",errorContainer:"div",customPlacement:function(e,t){var i=e.getAttribute("name");if(i){var o=document.getElementById("error-"+i);if(o){for(;o.firstChild;)o.removeChild(o.firstChild);o.appendChild(t),o.style.display="block"}else e.parentElement&&e.parentElement.appendChild(t)}else e.parentElement&&e.parentElement.appendChild(t)},validationComplete:function(e){if(n.syncFormStateErrors(),e&&e.inputName){var t=document.getElementById("error-"+e.inputName);if(t)if("success"===e.status){for(;t.firstChild;)t.removeChild(t.firstChild);t.style.display="none"}else"failure"===e.status&&(t.style.display="block")}},submit:function(e){n.validator&&(n.validator.validate()?(n.handleSubmitData(ct({},n.formState.values)),e&&"function"==typeof e.preventDefault&&e.preventDefault()):e&&"function"==typeof e.preventDefault&&e.preventDefault())},reset:function(){}}),r&&Object.keys(r).forEach(function(t){var i=e.validator.getInputElement(t);if(i&&void 0!==r[t]&&null!==r[t])try{i.value=String(r[t])}catch(e){}})},t.prototype.syncFormStateErrors=function(){var e={};if(this.validator)for(var t=0,i=this.validator.errorRules||[];t<i.length;t++){var o=i[t];o&&o.name&&(e[o.name]=o.message)}this.formState.errors=e},t.prototype.buildInitialValues=function(){var e=this,t={},i=this.collectAllComponents(this.processedSchemaCache.components),o=new Set;return i.forEach(function(e){if("staticHtml"!==e.type){if("dataGrid"===e.type&&(t[e.id]=Array.isArray(e.dataSource)?e.dataSource:[]),void 0!==e.defaultValue)t[e.id]=e.defaultValue;else switch(e.type){case"checkbox":case"switch":t[e.id]=!1}o.add(e.id)}else o.add(e.id)}),this.formState&&Object.keys(this.formState.values).filter(function(e){return!o.has(e)}).forEach(function(t){delete e.formState.values[t]}),t},t.prototype.initExpressionEngine=function(){if(this.processedSchemaCache.components&&0!==this.processedSchemaCache.components.length)try{var e=this.expressionEngine,t=this.collectAllComponents(this.processedSchemaCache.components),i=e.buildDependencyGraph(t);e.detectCircularDependencies(i).length,this.expressionDependencyGraph=i;var o=new Set;t.forEach(function(e){e.expressionValue&&o.add(e.id)}),this.computedFieldNames=o}catch(e){this.failure&&this.trigger("failure",{error:e})}},t.prototype.disposeTooltipInstance=function(e){var t=this.tooltipRefs[e]||null;if(t){try{t.destroy()}catch(e){this.trigger("failure",{error:e})}this.renderedInstances=this.renderedInstances.filter(function(e){return e!==t}),this.tooltipRefs[e]=null}},t.prototype.renderField=function(e){var t=this,i=this.formState,o=i?i.values:{};if(-1!==["panel","table","tabs","card","message","staticHtml"].indexOf(e.type))return null;var r=oe.isFieldReadOnly(e.conditions,o),n=oe.isFieldDisabled(e.conditions,o),a=oe.isFieldRequired(e.conditions,o),s=oe.getConditionalValue(e.conditions,o),p=!!e.readOnly||r,d=!!e.disabled||n,h=!!e.required||a,c=Ze.getConstraints(e.minMaxRange,o,e.type);if("dateTime"===e.type){var u=Ze.getConstraints(e.minMaxRange,o,"date"),v=Ze.getConstraints(e.minMaxTimeRange,o,"time");c={minValue:void 0,maxValue:void 0,minDate:u.minDate,maxDate:u.maxDate,minTime:v.minTime,maxTime:v.maxTime}}var g=e.labelPosition||"top",f=e.labelWidth||"auto",m=!e.hideLabel&&!!e.label&&-1===["checkbox","button","staticHtml"].indexOf(e.type),b=!(!i||!i.errors[e.id]),y=b&&!(!i||-1===i.errors[e.id].indexOf("required")),C=b&&!(y&&!h),x=void 0!==s,w=this.conditionalValueApplied[e.id]||!1;i&&(x&&!w?(i.values[e.id]=s,this.conditionalValueApplied[e.id]=!0):!x&&w&&(this.conditionalValueApplied[e.id]=!1));var P=(0,l.createElement)("div",{className:"form-group",attrs:{"data-field-id":e.id,"data-fr-field":e.id}}),S=(0,l.createElement)("div",{className:"field-wrapper label-"+g.toLowerCase()});if(m){var j=(0,l.createElement)("label",{className:"field-label"});if(-1===vt.indexOf(e.type)&&"textarea"!==e.type||j.setAttribute("for",(0,l.isNullOrUndefined)(this.element.id)?e.name:this.element.id+"-"+e.name),j.style.width="left"===g.toLowerCase()?f+"%":"auto",(_=(0,l.createElement)("span")).textContent=e.label,j.appendChild(_),h){var O=(0,l.createElement)("span",{className:"required-asterisk"});O.textContent="*",j.appendChild(O)}if(this.disposeTooltipInstance(e.id),e.tooltip){var T=(0,l.createElement)("span",{className:"e-msg-icon e-icons e-circle-info tooltip-icon",attrs:{"aria-label":e.tooltip,title:e.tooltip,tabindex:"0",role:"button","aria-haspopup":"true"}});T.style.cursor="pointer",T.style.display="flex",T.style.alignItems="center",T.style.justifyContent="center",T.style.flexShrink="0",j.appendChild(T);var k=new I.Tooltip({content:e.tooltip,enableRtl:this.enableRtl});k.appendTo(T),this.tooltipRefs[e.id]=k,this.renderedInstances.push(k)}S.appendChild(j)}var F=(0,l.createElement)("div",{className:"field-input"}),A=("radio"===e.type||"checkboxGroup"===e.type)&&Array.isArray(e.options)?function(i,o){i&&"number"==typeof o&&(t.inputRefs[e.name+"_"+o]=i)}:function(i){i&&(t.inputRefs[e.name]=i)},D=ct({},e,{readOnly:p,disabled:d,required:h},void 0!==c.minValue&&{minValue:c.minValue},void 0!==c.maxValue&&{maxValue:c.maxValue},void 0!==c.minDate&&{minDate:c.minDate},void 0!==c.maxDate&&{maxDate:c.maxDate},void 0!==c.minTime&&{minTime:c.minTime},void 0!==c.maxTime&&{maxTime:c.maxTime}),E=-1!==vt.indexOf(e.type)?"input":"textarea"===e.type?"textarea":"div",R=(0,l.createElement)(E,{attrs:{"aria-label":e.label+" "+e.type}});if("radio"===e.type||"checkboxGroup"===e.type){var L=(0,l.createElement)("input");L.id=(0,l.isNullOrUndefined)(this.element.id)?e.name:this.element.id+"-"+e.name,L.setAttribute("name",e.id),L.style.display="none",L.setAttribute("aria-hidden","true"),R.appendChild(L)}else R.id=(0,l.isNullOrUndefined)(this.element.id)?e.name:this.element.id+"-"+e.name,R.setAttribute("name",e.id);F.appendChild(R);var z=!1,M=dt(e,this.customWidgetSettings);if(M){var B=null;try{B=this.getTemplateFunction(M.entry.template)}catch(e){this.failure&&this.trigger("failure",{error:e}),B=null}if(B)try{R.parentNode&&R.parentNode.removeChild(R);var H=B({fieldData:Object.assign({},e,{id:e.name,name:e.id,type:me(e.type),widget:e.type}),value:i?i.values[e.id]:void 0},this,"customWidgetTemplate"+e.id,(this.element.id||"form-renderer")+"customWidgetTemplate",this.isStringTemplate,void 0,F,this.root),N=void 0;if(null==H)N=[];else if(Array.isArray(H))N=H;else if("string"==typeof H)N=[H];else if("object"!=typeof H||H.nodeType||"number"!=typeof H.length||"function"!=typeof H.item)N=[H];else{for(var Y=[],W=H,X=0;X<W.length;X++)Y.push(W[X]);N=Y}for(var U=0,V=N;U<V.length;U++){var q=V[U];if(q&&"object"==typeof q&&q.nodeType)F.appendChild(q);else if("string"==typeof q){var _,Z=this.sanitizeTemplateValue(q);for((_=(0,l.createElement)("span")).innerHTML=Z;_.firstChild;)F.appendChild(_.firstChild)}else if(q&&"object"==typeof q)throw new Error('Custom widget template for "'+e.name+'" returned a framework object that the vanilla renderer cannot insert. Use the React/Angular/Vue wrapper (registered templates / portals) for JSX or platform templates.')}A(F),z=!0}catch(e){this.failure&&this.trigger("failure",{error:e}),z=!1}}if(!z){var G=pt({component:D,value:i?i.values[e.id]:void 0,onChange:function(o){if("staticHtml"!==e.type){if("signature"===e.type&&(o=t.inputRefs[o].getSignature()),"imageEditor"===e.type){var r=t.inputRefs[o].getImageData(),n=document.createElement("canvas");n.width=r.width,n.height=r.height;var a=n.getContext("2d");a&&a.putImageData(r,0,0),o=n.toDataURL()}"radio"!==e.type&&"checkboxGroup"!==e.type||(t.validator.getInputElement(e.id).value=o),o=function(e,t){var i=new l.Internationalization,o=i.getDateFormat({format:"MM/dd/yyyy",type:"date"});return"date"===e.type&&(t=o(new Date(t))),"time"===e.type&&(t=(o=i.getDateFormat({format:"hh:mm a",type:"time"}))(new Date(t))),"dateTime"===e.type&&(t=(o=i.getDateFormat({format:"MM/dd/yyyy hh:mm a",type:"dateTime"}))(new Date(t))),"dateRange"===e.type&&Array.isArray(t)&&(t=t.map(function(e){return e?o(new Date(e)):null})),t}(e,o),t.formState&&i&&(t.formState.values[e.id]=o,i.values[e.id]=o),t.trigger("change",{fieldName:e.name,label:e.label||e.id,value:o,dataModel:t.getDataModelByName()}),t.afterValueChange(e.id)}},formState:i,settings:this.processedSchemaCache.settings,onBlur:function(){if(i&&"staticHtml"!==e.type&&t.validator){try{t.beforeValidate(e.id),t.validator.validate(e.id)}catch(e){}t.syncFormStateErrors()}},ref:A,hasError:C,locale:this.locale,components:this.collectAllComponents(this.processedSchemaCache.components),enableRtl:this.enableRtl,target:R,l10n:this.l10n});if(Array.isArray(G))G.forEach(function(e){if(e&&"function"==typeof e.destroy)t.renderedInstances.push(e);else if(e instanceof HTMLElement)for(var i=0,o=Object.keys(t.inputRefs);i<o.length;i++){var r=o[i],n=t.inputRefs[r],a=n&&(n.element||n.target||n.hostElement&&n.hostElement());a&&(a===e||e.contains(a))&&t.renderedInstances.push(n)}});else if(G)if("function"==typeof G.destroy)this.renderedInstances.push(G);else if(G instanceof HTMLElement)for(var J=0,K=Object.keys(this.inputRefs);J<K.length;J++){var Q=K[J],$=this.inputRefs[Q],ee=$&&($.element||$.target||$.hostElement&&$.hostElement());ee&&(ee===G||G.contains(ee))&&this.renderedInstances.push($)}}var te=(0,l.createElement)("div",{id:"error-"+(e.id||e.name||e.label),className:"e-error-message",attrs:{role:"alert","aria-live":"assertive"}});if(te.style.display="none",C&&i&&i.errors[e.id]&&(te.textContent=i.errors[e.id],te.classList.add("e-error"),te.style.display="block"),F.appendChild(te),S.appendChild(F),P.appendChild(S),e.description){var ie=(0,l.createElement)("div",{className:"field-description",attrs:{"aria-describedby":"description-"+e.label}});ie.textContent=e.description,P.appendChild(ie)}return P},t.prototype.renderComponent=function(e){var t=this,o=this.formState,r=o?o.values:{},n=!1!==e.visible&&oe.isFieldVisible(e.conditions,r),a=oe.isFieldHidden(e.conditions,r);if(!n||a)return o&&void 0!==o.values[e.id]&&null!==o.values[e.id]&&(o.values[e.id]=null),null;if(i.PRESERVABLE_TYPES.has(e.type)&&this.preservedFields.has(e.id)){var s=this.preservedFields.get(e.id);if(s)return this.preservedFields.delete(e.id),s}switch(e.type){case"panel":if((T=(0,l.createElement)("fieldset",{className:"form-panel-renderer "+(e.cssClass||"")})).style.minInlineSize="unset",e.label&&!e.hideLabel){var p=(0,l.createElement)("legend",{className:e.hideBorders?"":"panel-legend"});p.textContent=e.label,T.appendChild(p)}var d=(0,l.createElement)("div",{className:"panel-content"});return(e.children||[]).forEach(function(e){var i=t.renderComponent(e);i&&d.appendChild(i)}),T.appendChild(d),T;case"table":for(var h=e.rows||(e.tableCells?e.tableCells.length:2),u=e.columns||(e.tableCells&&e.tableCells[0]?e.tableCells[0].length:2),v=Math.floor(12/u),g=e.columnWidths,f=g?Ae(g.widths):[],m=(0,l.createElement)("div",{className:"form-table-renderer "+(e.hideBorders?"":"table-border")+" "+(e.cssClass||""),attrs:{role:"group","aria-label":e.label||"Table Layout"}}),b=0;b<h;b++){var y=(0,l.createElement)("div",{className:"e-form-table-row"});e.hideBorders&&(y.style.display="flex",y.style.gap="1.5rem");for(var C=function(i){var o=e.tableCells&&e.tableCells[b]&&e.tableCells[b][i]||[],r=v,n=f[i],a=1===u?{width:"100%"}:n?{width:n+"%"}:{},s=!g||Array.isArray(g.widths)&&g.widths.every(function(e){return null===e}),p=0===b,d=(0,l.createElement)("div",{className:"e-form-table-cell "+(n?"":s?"col-"+r:"")});e.hideBorders?Object.assign(d.style,a,{padding:p?"0":"12px 0 0 0"}):Object.assign(d.style,a),o.forEach(function(e){var i=t.renderComponent(e);i&&d.appendChild(i)}),y.appendChild(d)},x=0;x<u;x++)C(x);m.appendChild(y)}return m;case"tabs":var w=(0,l.createElement)("div",{className:"form-tabs-renderer "+(e.cssClass||"")}),P=(0,l.createElement)("div",{className:"e-tab"});P.id=e.id;var S=(0,l.createElement)("div",{className:"e-tab-header"}),j=(0,l.createElement)("div",{className:"e-content"});P.appendChild(S),P.appendChild(j),w.appendChild(P),(e.tabItems||[]).forEach(function(e){var i=(0,l.createElement)("div");i.textContent=e.header,S.appendChild(i);var o=(0,l.createElement)("div"),r=(0,l.createElement)("div",{className:"tab-content-renderer"});(e.content||[]).forEach(function(e){var i=t.renderComponent(e);i&&r.appendChild(i)}),o.appendChild(r),j.appendChild(o)});var O=new c.Tab({enableRtl:this.enableRtl,cssClass:e.cssClass,enablePersistence:!0,animation:{previous:{effect:"None"},next:{effect:"None"}},selected:function(t){if("undefined"==typeof window)return null;try{window.localStorage.setItem("tab"+e.id,JSON.stringify({selectedItem:t.selectedIndex}))}catch(e){}}});return O.appendTo(P),this.renderedInstances.push(O),w;case"card":var T;(T=(0,l.createElement)("fieldset",{className:"e-card form-card-renderer "+(e.cssClass||"")})).style.minInlineSize="unset",T.style.padding="0";var k=(0,l.createElement)("div",{className:"e-card-header"}),F=(0,l.createElement)("div",{className:"e-card-header-caption"}),I=(0,l.createElement)("div",{className:"e-card-title"});if(I.textContent=e.cardTitle||e.label||"Card Title",F.appendChild(I),e.cardSubtitle){var A=(0,l.createElement)("div",{className:"e-card-sub-title"});A.textContent=e.cardSubtitle,F.appendChild(A)}k.appendChild(F),T.appendChild(k);var D=(0,l.createElement)("div",{className:"e-card-content card-content"});return(e.children||[]).forEach(function(e){var i=t.renderComponent(e);i&&D.appendChild(i)}),T.appendChild(D),T;case"staticHtml":var E=new at({content:e.defaultValue||"<p>HTML content</p>",id:e.id,enableHtmlSanitizer:e.enableHtmlSanitizer}),R=E.render();return this.renderedInstances.push(E),R;case"message":var L=(0,l.createElement)("div",{className:"form-group"});(H=(0,l.createElement)("div")).id=e.name,H.setAttribute("name",e.id),L.appendChild(H);var z=pt({component:e,locale:this.locale,value:void 0,onChange:function(){},enableRtl:this.enableRtl,target:H,ref:function(i,o){void 0!==o?t.inputRefs[e.name+"_"+o]=i:t.inputRefs[e.name]=i}});return Array.isArray(z)?z.forEach(function(e){e&&t.renderedInstances.push(e)}):z&&this.renderedInstances.push(z),L;case"button":if(dt(e,this.customWidgetSettings))return this.renderField(e);var M=oe.isFieldDisabled(e.conditions,r),B=!!e.disabled||M;L=(0,l.createElement)("div",{className:"form-group"});(H=(0,l.createElement)("div")).id=e.name,H.setAttribute("name",e.id),L.appendChild(H);z=pt({component:ct({},e,{disabled:B}),value:void 0,onChange:function(){},locale:this.locale,onClick:function(i){if(t.buttonClick){var o=e.buttonsGroups?i.target&&i.target.ej2_instances?i.target.ej2_instances[0].content:"":e.label||"";t.trigger("buttonClick",{fieldName:e.name,label:o,event:i})}var r=i.target;if(r.type&&"reset"===r.type){var n=r.closest("form");n&&(n.querySelectorAll('input[type="checkbox"]').forEach(function(e){e.ej2_instances[0].checked=!1}),n.querySelectorAll(".e-control.e-multiselect.e-lib").forEach(function(e){e.ej2_instances[0].value=[]}),n.querySelectorAll(".e-control.e-slider.e-lib").forEach(function(e){e.ej2_instances[0].value=0}),n.querySelectorAll(".e-control.e-uploader.e-lib").forEach(function(e){e.ej2_instances[0].clearAll()})),t.formState.values={},n.reset(),t.rerenderForm(),t.validator.destroy()}},ref:function(i,o){void 0!==o?t.inputRefs[e.name+"_"+o]=i:t.inputRefs[e.name]=i},enableRtl:this.enableRtl,target:H});return Array.isArray(z)?z.forEach(function(e){e&&t.renderedInstances.push(e)}):z&&this.renderedInstances.push(z),L;case"splitButton":if(dt(e,this.customWidgetSettings))return this.renderField(e);var H,N=oe.isFieldDisabled(e.conditions,r),Y=!!e.disabled||N;L=(0,l.createElement)("div",{className:"form-group"});(H=(0,l.createElement)("div")).id=e.name,H.setAttribute("name",e.id),L.appendChild(H);z=pt({component:ct({},e,{disabled:Y}),value:void 0,locale:this.locale,onChange:function(){},onClick:function(i){t.buttonClick&&t.trigger("buttonClick",{fieldName:e.name,label:e.label||"",event:i})},ref:function(i){i&&(t.inputRefs[e.name]=i)},enableRtl:this.enableRtl,target:H});return Array.isArray(z)?z.forEach(function(e){e&&t.renderedInstances.push(e)}):z&&this.renderedInstances.push(z),L;default:return this.renderField(e)}},t.prototype.afterValueChange=function(e){this.formState&&(this.currentFormValues=ct({},this.formState.values),this.evaluateExpressions(),this.retriggerCustomValidation(),this.beforeValidate(e),this.validator.validate(e),this.syncFormStateErrors(),e&&this.isConditionalTrigger(e)&&this.scheduleRerender(e))},t.prototype.beforeValidate=function(e){var t=this.element.querySelector("#"+e+"-info");t&&t.classList.contains("e-error")&&t.classList.remove("e-error");var i=this.getInputElementByName(e);if(i){var o=i.parentElement,r=o.parentElement,n=r?r.parentElement:null;o.classList.contains("e-control-wrapper")||o.classList.contains("e-wrapper")||i.classList.contains("e-input")&&o.classList.contains("e-input-group")?o.classList.remove("e-error"):null!=r&&(r.classList.contains("e-control-wrapper")||r.classList.contains("e-wrapper"))?r.classList.remove("e-error"):null!=n&&(n.classList.contains("e-control-wrapper")||n.classList.contains("e-wrapper"))?n.classList.remove("e-error"):i.classList.remove("e-error"),this.validator&&(this.validator.errorRules=[])}},t.prototype.scheduleRerender=function(e){var t=this;e&&this.pendingChangedFieldIds.add(e),this.rerenderScheduled||(this.rerenderScheduled=!0,Promise.resolve().then(function(){t.rerenderScheduled=!1;var e=new Set(t.pendingChangedFieldIds);t.pendingChangedFieldIds.clear(),t.rerenderForm(e)}))},t.prototype.collectConditionFieldIds=function(e,t){if(e)if("string"==typeof e.field)t.add(e.field);else if(Array.isArray(e.rules))for(var i=0,o=e.rules;i<o.length;i++){var r=o[i];this.collectConditionFieldIds(r,t)}},t.prototype.collectDataSourceReferenceIds=function(e,t,i){if("string"==typeof e){var o=e.match(/\{([^}]+)\}/g);if(o)for(var r=function(e){var o=e.slice(1,-1),r=t.find(function(e){return e.name===o});r&&r.id&&i.add(r.id)},n=0,a=o;n<a.length;n++){r(a[n])}}},t.prototype.buildConditionalDependencyMap=function(){for(var e=new Set,t=new Map,i=this.collectAllComponents(this.processedSchemaCache.components),o=function(o){var n=new Set;t.set(o.id,n);var a=o.conditions;if(a){for(var s=0,l=["visibleWhen","hideWhen","disabledWhen","requiredWhen","readOnlyWhen","choiceBasedField","conditionalData"];s<l.length;s++){var p=l[s];a[p]&&(r.collectConditionFieldIds(a[p],e),r.collectConditionFieldIds(a[p],n))}if(Array.isArray(a.conditionalData))for(var d=0,h=a.conditionalData;d<h.length;d++){var c=h[d];if(c&&c.condition&&(r.collectConditionFieldIds(c.condition,e),r.collectConditionFieldIds(c.condition,n)),c&&Array.isArray(c.conditions))for(var u=0,v=c.conditions;u<v.length;u++){var g=v[u];r.collectConditionFieldIds(g,e),r.collectConditionFieldIds(g,n)}}a.setValueWhen&&a.setValueWhen.condition&&(r.collectConditionFieldIds(a.setValueWhen.condition,e),r.collectConditionFieldIds(a.setValueWhen.condition,n)),a.choiceBasedField&&"string"==typeof a.choiceBasedField.primaryFieldId&&(e.add(a.choiceBasedField.primaryFieldId),n.add(a.choiceBasedField.primaryFieldId))}var f=function(t){if(t&&!0===t.enabled){var i=function(t){t&&"object"==typeof t&&"string"==typeof t.field&&(e.add(t.field),n.add(t.field))};i(t.minValue),i(t.maxValue)}},m=o.minMaxRange;if(Array.isArray(m))for(var b=0,y=m;b<y.length;b++){f(y[b])}var C=o.minMaxTimeRange;if(Array.isArray(C))for(var x=0,w=C;x<w.length;x++){f(w[x])}var P=o.dataSource;if("dataGrid"===o.type&&P&&"url"===P.type&&(P.search&&"string"==typeof P.search.key&&(r.collectDataSourceReferenceIds(P.search.key,i,e),r.collectDataSourceReferenceIds(P.search.key,i,n)),Array.isArray(P.filters)))for(var S=0,j=P.filters;S<j.length;S++){var O=j[S];"string"==typeof O.value&&(r.collectDataSourceReferenceIds(O.value,i,e),r.collectDataSourceReferenceIds(O.value,i,n))}},r=this,n=0,a=i;n<a.length;n++){o(a[n])}this.conditionalTriggerFieldIds=e,this.consumerDependencyMap=t},t.prototype.isConditionalTrigger=function(e){return this.conditionalTriggerFieldIds.has(e)},t.prototype.getScrollParent=function(){for(var e=this.element.parentElement;e;){var t=window.getComputedStyle(e),i=t.overflowY,o=t.overflowX,r=("auto"===i||"scroll"===i||"overlay"===i)&&e.scrollHeight>e.clientHeight,n=("auto"===o||"scroll"===o||"overlay"===o)&&e.scrollWidth>e.clientWidth;if(r||n)return e;e=e.parentElement}return null},t.prototype.rerenderForm=function(e){var t=this,o=e||new Set,r=document.activeElement,n=r&&r.getAttribute?r.getAttribute("name"):null,a=null,s=null;if(n&&r&&void 0!==r.selectionStart)try{a=r.selectionStart,s=r.selectionEnd}catch(e){}var l=this.element.scrollTop,p=this.element.scrollLeft,d=window.scrollX,h=window.scrollY,c=this.getScrollParent(),u=c?c.scrollTop:0,v=c?c.scrollLeft:0;this.preservedFields.clear();for(var g=this.collectAllComponents(this.processedSchemaCache.components),f=function(e){if(!i.PRESERVABLE_TYPES.has(e.type))return"continue";var t=m.consumerDependencyMap.get(e.id),r=!1;if(t&&o.forEach(function(e){t.has(e)&&(r=!0)}),r)return"continue";var n=m.element.querySelector('[data-field-id="'+e.id+'"]');n&&n.parentElement&&(n.parentElement.removeChild(n),m.preservedFields.set(e.id,n))},m=this,b=0,y=g;b<y.length;b++){f(y[b])}this.refreshing=!0,(this.isReact||this.isAngular)&&this.clearTemplate(),this.destroyRenderedExcludingPreserved(),this.removePreviousRoot(),this.validator&&this.validator.destroy(),this.render(),this.refreshing=!1;try{this.element.scrollTop=l,this.element.scrollLeft=p,c&&(c.scrollTop=u,c.scrollLeft=v),window.scrollTo(d,h)}catch(e){}if(n){var C=this.getInputElementByName(n);if(C&&"function"==typeof C.focus)try{if(C.focus(),null!==a&&null!==s&&"function"==typeof C.setSelectionRange)try{C.setSelectionRange(a,s)}catch(e){}}catch(e){}}if(this.preservedFields.size>0){var x=[];this.preservedFields.forEach(function(e,i){if(t.element.contains(e)||document.body.contains(e))x.push(i);else{t.destroyPreservedSubtree(e);try{e.parentNode&&e.parentNode.removeChild(e)}catch(e){}t.preservedFields.delete(i)}}),x.forEach(function(e){return t.preservedFields.delete(e)})}},t.prototype.removePreviousRoot=function(){if(this.element)for(;this.element.childNodes.length>0;)this.element.removeChild(this.element.firstChild)},t.prototype.destroyRenderedInstance=function(e){if(e&&"function"==typeof e.destroy){var t=e;if(!(t.isDestroyed||t.destroyed||t.disposed)){var i=e.element||e.target||(e.hostElement&&"function"==typeof e.hostElement?e.hostElement():void 0);try{t.isDestroyed=!0,t.destroyed=!0,t.disposed=!0,e.destroy()}catch(e){console.warn("FormRenderer: failed to destroy child instance.",e)}finally{if(i&&i.parentNode)try{i.parentNode.removeChild(i)}catch(e){}}}}},t.prototype.destroyRenderedExcludingPreserved=function(){for(var e=[],t=Array.from(this.preservedFields.values()),i=function(i){var r=i&&(i.element||i.target||i.hostElement&&i.hostElement());!!r&&t.some(function(e){return e===r||e.contains(r)})?e.push(i):o.destroyRenderedInstance(i)},o=this,r=0,n=this.renderedInstances;r<n.length;r++){i(n[r])}this.renderedInstances=e;for(var a=Object.keys(this.inputRefs),s=function(e){var i=l.inputRefs[e],o=i&&(i.element||i.target||i.hostElement&&i.hostElement());!!o&&t.some(function(e){return e===o||e.contains(o)})||delete l.inputRefs[e]},l=this,p=0,d=a;p<d.length;p++){s(d[p])}this.conditionalValueApplied={},this.expressionDependencyGraph={},this.computedFieldNames=new Set,this.previousFormValues={},this.conditionalTriggerFieldIds=new Set},t.prototype.destroyPreservedSubtree=function(e){for(var t=[],i=0,o=this.renderedInstances;i<o.length;i++){var r=o[i],n=r&&(r.element||r.target||r.hostElement&&r.hostElement());n&&(n===e||e.contains(n))?this.destroyRenderedInstance(r):t.push(r)}this.renderedInstances=t},t.prototype.getInputElementByName=function(e){var t=this.element.querySelector('[name="'+e+'"]');if(!t)return null;if(!t.classList.contains("e-control")){var i=t.parentElement?t.parentElement.querySelector(".e-control"):null;if(i)return i}return t},t.prototype.evaluateExpressions=function(){if(this.formState&&this.expressionEngine&&!this.expressionEvaluationInProgress)try{this.expressionEvaluationInProgress=!0;var e=this.expressionEngine,t=this.expressionDependencyGraph,i=this.formState.values||{},o=this.collectAllComponents(this.processedSchemaCache.components),r=this.previousFormValues,n=this.computedFieldNames,a={};o.forEach(function(e){e.name&&(a[e.id]=e.name)});for(var s={},l=Object.keys(i),p=0,d=l;p<d.length;p++){var h=d[p],c=i[h];(S=a[h])&&(s[S]=c)}var u=ct({},r);Object.assign(r,s);for(var v=new Set,g=Object.keys(s),f=function(e){var t=Object.keys(a).find(function(t){return a[t]===e});t&&s[e]!==u[e]&&!n.has(t)&&v.add(e)},m=0,b=g;m<b.length;m++){f(S=b[m])}if(0===v.size)return;for(var y=e.getTopologicalOrder(t),C=function(t){var r=o.find(function(e){return e.name===t});if(r&&r.expressionValue){n.add(r.id);try{if(!1!==r.visible&&oe.isFieldVisible(r.conditions,i)){for(var s={},l=Object.keys(i),p=0,d=l;p<d.length;p++){var h=d[p],c=i[h],u=a[h];u&&(s[u]=c)}var v=e.evaluate(r.expressionValue,s);if(null!=(v="string"==typeof v&&-1!==v.indexOf("undefined")?v.replace(/undefined/g,""):v)&&""!==v)switch(r.type){case"number":var g=Number(v);v=isNaN(g)?0:g;break;case"checkbox":case"switch":v=Boolean(v);break;case"textbox":case"textarea":default:v=String(v);case"dateRange":case"checkboxGroup":case"multiselect":}if(null!=v&&v!==i[r.id]&&x.formState&&(x.formState.values[r.id]=v,x.validator)){var f=x.getInputElementByName(r.id);f&&x.syncValueToInput(f,r.id,v)}}}catch(e){x.failure&&x.trigger("failure",{error:e})}}},x=this,w=0,P=y;w<P.length;w++){var S;C(S=P[w])}Object.assign(r,s)}finally{this.expressionEvaluationInProgress=!1}},t.prototype.retriggerCustomValidation=function(){var e=this;if(this.formState&&this.customValidationEngine)try{var t=this.collectAllComponents(this.processedSchemaCache.components),i=this.formState.values||{},o=this.previousFormValues,r=new Set;if(Object.keys(i).forEach(function(e){i[e]!==o[e]&&r.add(e)}),0===r.size)return;var n=new Set;r.forEach(function(e){var i=t.find(function(t){return t.id===e});i&&i.customValidation&&Array.isArray(i.customValidation)&&n.add(e)}),t.forEach(function(i){i.customValidation&&Array.isArray(i.customValidation)&&i.customValidation.forEach(function(o){e.customValidationEngine.extractDependencies(o.expression).forEach(function(e){var o=t.find(function(t){return t.id===e||t.name===e});o&&r.has(o.id)&&n.add(i.id)})})}),this.previousFormValues=ct({},i)}catch(e){this.failure&&this.trigger("failure",{error:e})}},t.prototype.handleSubmitData=function(e){for(var t=this.formState,i=!(!t||!t.errors)&&0===Object.keys(t.errors).length,o={},r=t?t.values:{},n=new Set(["button","message","panel","table","tabs"]),a=this.collectAllComponents(this.processedSchemaCache.components||[]),s=new Set(a.filter(function(e){return n.has(e.type)}).map(function(e){return e.id})),l=new Set(a.filter(function(e){return!1===e.visible||(!(!e.conditions||!e.conditions.visibleWhen||oe.isFieldVisible(e.conditions,r))||!!(e.conditions&&e.conditions.hideWhen&&oe.isFieldHidden(e.conditions,r)))}).map(function(e){return e.id})),p=new Set(a.filter(function(e){return!!e.disabled||!(!e.conditions||!e.conditions.disabledWhen)&&oe.isFieldDisabled(e.conditions,r)}).map(function(e){return e.id})),d=0,h=Object.keys(e);d<h.length;d++){var c=h[d],u=e[c];if(s.has(c)||l.has(c)||p.has(c))return;o[this.idToLabelCache[c]||c]=u}this.submit&&this.trigger("submit",{data:o,isValid:i})},t.prototype.getComponent=function(e){return this.inputRefs[e]||null},t.prototype.setFieldValue=function(e,t){var i=this.collectAllComponents(this.processedSchemaCache.components||[]).find(function(t){return t.name===e});if(i){this.formState&&(this.formState.values[i.id]=t);var o=this.getInputElementByName(i.id);o&&this.syncValueToInput(o,i.id,t),this.afterValueChange(i.id)}},t.prototype.syncValueToInput=function(e,t,o){if(e)try{var r=e instanceof HTMLInputElement?e:null,n=!!r&&("checkbox"===r.type||"radio"===r.type),a=e.ej2_instances&&e.ej2_instances[0];if(a)return void(n&&void 0!==a.checked?"radio"===r.type&&void 0!==a.value?a.checked=String(o)===String(a.value):a.checked=i.coerceChecked(o):void 0!==a.value&&(a.value=o));if(e instanceof HTMLSelectElement){var s=null==o?"":String(o);if(e.value=s,e.value!==s&&e.options.length>0)for(var l=0;l<e.options.length;l++)if(e.options[l].text===s){e.value=e.options[l].value;break}}else if(r&&"radio"===r.type){var p=this.element.querySelectorAll('input[type="radio"][name="'+t+'"]');for(l=0;l<p.length;l++)p[l].checked=String(o)===p[l].value}else n?r.checked=i.coerceChecked(o):void 0!==e.value&&(e.value=null==o?"":String(o))}catch(e){}},t.coerceChecked=function(e){return"boolean"==typeof e?e:"number"==typeof e?0!==e:"string"==typeof e?""!==e&&"false"!==e&&"0"!==e:!!e},t.prototype.onPropertyChanged=function(e,t){var i=!1;e.schema!==t.schema&&(i=!0),e.dataModel!==t.dataModel&&(i=!0),e.locale!==t.locale&&(i=!0),e.enableRtl!==t.enableRtl&&(i=!0),e.layout!==t.layout&&(i=!0),e.customWidgetSettings!==t.customWidgetSettings&&(i=!0),i&&((this.isReact||this.isAngular)&&this.clearTemplate(),this.refreshing=!0,this.destroyRendered(),this.removePreviousRoot(),this.isInitialized=!1,this.render(),this.refreshing=!1)},t.prototype.destroyRendered=function(){var e=this;if(this.validator){try{this.validator.destroy()}catch(e){this.trigger("failure",{error:e})}this.validator=null}this.renderedInstances.forEach(function(t){e.destroyRenderedInstance(t)}),this.renderedInstances=[],this.removePreviousRoot(),this.inputRefs={},this.tooltipRefs={},this.conditionalValueApplied={},this.expressionDependencyGraph={},this.computedFieldNames=new Set,this.previousFormValues={},this.conditionalTriggerFieldIds=new Set,this.consumerDependencyMap=new Map,this.preservedFields=new Map,this.pendingChangedFieldIds=new Set},t.prototype.clearPersistedTabSelections=function(){if("undefined"==typeof window)return null;try{var e=this.processedSchemaCache&&this.processedSchemaCache.components?this.processedSchemaCache.components:[];this.collectAllComponents(e).forEach(function(e){"tabs"===e.type&&e.id&&window.localStorage.removeItem("tab"+e.id)})}catch(e){}},t.prototype.getTemplateFunction=function(e){var t=null;try{t="string"==typeof e&&-1!==e.indexOf("#")&&document.querySelectorAll(e).length?(0,l.compile)(this.sanitizeTemplateValue(document.querySelector(e).innerHTML.trim())):"string"==typeof e?(0,l.compile)(this.sanitizeTemplateValue(e)):(0,l.compile)(e)}catch(i){t=(0,l.compile)(e)}return t},t.prototype.sanitizeTemplateValue=function(e){if(this.enableHtmlSanitizer&&"string"==typeof e)try{return l.SanitizeHtmlHelper.sanitize(e)}catch(e){}return e},t.prototype.destroy=function(){(this.isReact||this.isAngular)&&this.clearTemplate(),this.destroyRendered(),this.formState={values:{},errors:{}},this.expressionEngine=null,this.customValidationEngine=null,this.clearEngineCaches(),this.clearPersistedTabSelections(),this.consumerDependencyMap=new Map,this.preservedFields=new Map,this.conditionalTriggerFieldIds=new Set,e.prototype.destroy.call(this)},t.prototype.clearEngineCaches=function(){if(this.expressionEngine)try{this.expressionEngine.clearCache()}catch(e){}if(this.customValidationEngine){var e=this.customValidationEngine.expressionEngine;if(e&&"function"==typeof e.clearCache)try{e.clearCache()}catch(e){}}},t.PRESERVABLE_TYPES=new Set(["textbox","textarea","number","checkbox","checkboxGroup","radio","dropdown","multiselect","button","date","dateTime","time","dateRange","switch","signature","rating","imageEditor","fileUpload","rangeSlider","colorPicker","inputMask","message","panel","table","tabs","dataGrid","staticHtml","card","splitButton","richTextEditor"]),ut([(0,l.Property)(null)],t.prototype,"schema",void 0),ut([(0,l.Property)(null)],t.prototype,"dataModel",void 0),ut([(0,l.Property)("SingleColumn")],t.prototype,"layout",void 0),ut([(0,l.Property)("")],t.prototype,"className",void 0),ut([(0,l.Collection)([],ft)],t.prototype,"customWidgetSettings",void 0),ut([(0,l.Property)(!1)],t.prototype,"enableHtmlSanitizer",void 0),ut([(0,l.Event)()],t.prototype,"submit",void 0),ut([(0,l.Event)()],t.prototype,"change",void 0),ut([(0,l.Event)()],t.prototype,"buttonClick",void 0),ut([(0,l.Event)()],t.prototype,"failure",void 0),ut([(0,l.Event)()],t.prototype,"created",void 0),t=i=ut([l.NotifyPropertyChanges],t)}(l.Component);var bt;!function(e){e.SingleColumn="SingleColumn",e.TwoColumn="TwoColumn",e.ThreeColumn="ThreeColumn",e.FourColumn="FourColumn"}(bt||(bt={}));var yt,Ct=((yt={})[t.Basic]=[{type:i.Textbox},{type:i.Textarea},{type:i.Checkbox},{type:i.Radio},{type:i.Number},{type:i.InputMask},{type:i.Dropdown},{type:i.MultiSelect},{type:i.Date},{type:i.Button}],yt[t.Advanced]=[{type:i.CheckboxGroup},{type:i.DateTime},{type:i.Time},{type:i.DateRange},{type:i.Switch},{type:i.Rating},{type:i.SplitButton},{type:i.RangeSlider},{type:i.Signature},{type:i.ImageEditor},{type:i.FileUpload},{type:i.ColorPicker},{type:i.RichTextEditor},{type:i.DataGrid}],yt[t.Layout]=[{type:i.Message},{type:i.Panel},{type:i.Table},{type:i.Tabs},{type:i.Card},{type:i.StaticHtml}],yt),xt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="5" width="16" height="10" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <line x1="5" y1="8" x2="11" y2="8" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n <line x1="5" y1="12" x2="15" y2="12" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n</svg>',wt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="5" width="16" height="10" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <text x="10"\n y="13"\n font-family="Arial, sans-serif"\n font-size="8"\n fill="currentColor"\n text-anchor="middle"\n font-weight="600">\n 123\n </text>\n</svg>',Pt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="4" width="16" height="13" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <line x1="2" y1="8" x2="18" y2="8" stroke="currentColor" stroke-width="1.5" />\n <line x1="6" y1="2" x2="6" y2="6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n <line x1="14" y1="2" x2="14" y2="6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n <rect x="5" y="10.5" width="2" height="2" rx="0.5" fill="currentColor" />\n <rect x="9" y="10.5" width="2" height="2" rx="0.5" fill="currentColor" />\n <rect x="13" y="10.5" width="2" height="2" rx="0.5" fill="currentColor" />\n</svg>',St='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="3" y="3" width="14" height="14" rx="2" stroke="currentColor" stroke-width="1.5" fill="none" />\n <path d="M6 10L9 13L14 7"\n stroke="currentColor"\n stroke-width="1.5"\n stroke-linecap="round"\n stroke-linejoin="round" />\n</svg>',jt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="3" y="3" width="14" height="14" rx="2" stroke="currentColor" stroke-width="1.5" fill="none" />\n <path d="M7 10h6" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" />\n <path d="M10 7v6" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" />\n</svg>',Ot='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="3" width="16" height="14" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <line x1="5" y1="6" x2="11" y2="6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n <line x1="5" y1="9" x2="15" y2="9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n <line x1="5" y1="12" x2="13" y2="12" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n</svg>',Tt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="5" width="16" height="10" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <path d="M2 7L10 11L18 7"\n stroke="currentColor"\n stroke-width="1.5"\n stroke-linecap="round"\n stroke-linejoin="round" />\n</svg>',kt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="8" width="16" height="9" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <path d="M5 8V6C5 3.79086 6.79086 2 9 2H11C13.2091 2 15 3.79086 15 6V8"\n stroke="currentColor"\n stroke-width="1.5"\n stroke-linecap="round" />\n <circle cx="10" cy="12.5" r="1.5" fill="currentColor" />\n</svg>',Ft='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="5" width="16" height="10" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <path d="M14 9L10 12L6 9"\n stroke="currentColor"\n stroke-width="1.5"\n stroke-linecap="round"\n stroke-linejoin="round" />\n</svg>',It='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="4" width="16" height="13" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <line x1="2" y1="8" x2="18" y2="8" stroke="currentColor" stroke-width="1.5" />\n <line x1="6" y1="2" x2="6" y2="6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n <line x1="14" y1="2" x2="14" y2="6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n <circle cx="7" cy="12" r="1" fill="currentColor" />\n <circle cx="10" cy="12" r="1" fill="currentColor" />\n <circle cx="13" cy="12" r="1" fill="currentColor" />\n</svg>',At='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <circle cx="10" cy="10" r="7" stroke="currentColor" stroke-width="1.5" fill="none" />\n <circle cx="10" cy="10" r="4" fill="currentColor" />\n</svg>',Dt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="3" y="6" width="14" height="8" rx="2" stroke="currentColor" stroke-width="1.5" fill="none" />\n <text x="10"\n y="12.5"\n font-family="Arial, sans-serif"\n font-size="6"\n fill="currentColor"\n text-anchor="middle"\n font-weight="600">\n BTN\n </text>\n</svg>',Et='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <path d="M8 10.5L12 10.5M6 13L8 11L6 9M14 7L12 9L14 11"\n stroke="currentColor"\n stroke-width="1.5"\n stroke-linecap="round"\n stroke-linejoin="round" />\n <rect x="2" y="5" width="16" height="10" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n</svg>',Rt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="6" y="2" width="8" height="16" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <line x1="9" y1="15" x2="11" y2="15" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n</svg>',Lt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="5" width="16" height="10" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <rect x="5" y="8" width="3" height="1.5" rx="0.5" fill="currentColor" />\n <rect x="9" y="8" width="3" height="1.5" rx="0.5" fill="currentColor" />\n <path d="M14 9L10 12L6 9"\n stroke="currentColor"\n stroke-width="1.5"\n stroke-linecap="round"\n stroke-linejoin="round" />\n</svg>',zt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="4" width="16" height="13" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <line x1="2" y1="8" x2="18" y2="8" stroke="currentColor" stroke-width="1.5" />\n <line x1="6" y1="2" x2="6" y2="6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n <line x1="14" y1="2" x2="14" y2="6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n <circle cx="10" cy="12" r="2" stroke="currentColor" stroke-width="1" fill="none" />\n <line x1="10" y1="12" x2="10" y2="10.5" stroke="currentColor" stroke-width="1" stroke-linecap="round" />\n</svg>',Mt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <circle cx="10" cy="10" r="7" stroke="currentColor" stroke-width="1.5" fill="none" />\n <path d="M10 6V10L13 12"\n stroke="currentColor"\n stroke-width="1.5"\n stroke-linecap="round"\n stroke-linejoin="round" />\n</svg>',Bt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="3" y="7" width="14" height="6" rx="3" stroke="currentColor" stroke-width="1.5" fill="none" />\n <circle cx="13" cy="10" r="2" fill="currentColor" />\n</svg>',Ht='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <path d="M3 15C3 15 4 11 6 10C8 9 9 11 10 11C11 11 11.5 9 13 9C14.5 9 15 11 16 11C17 11 18 8 18 8"\n stroke="currentColor"\n stroke-width="1.5"\n stroke-linecap="round"\n fill="none" />\n <line x1="2" y1="17" x2="18" y2="17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n</svg>',Nt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <path d="M10 3L11.5 7.5H16L12.5 10.5L14 15L10 12L6 15L7.5 10.5L4 7.5H8.5L10 3Z"\n stroke="currentColor"\n stroke-width="1.5"\n stroke-linejoin="round"\n fill="none" />\n</svg>',Yt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="3" width="16" height="14" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <circle cx="7" cy="8" r="1.5" fill="currentColor" />\n <path d="M2 14L6 10L9 13L13 9L18 14"\n stroke="currentColor"\n stroke-width="1.5"\n stroke-linecap="round"\n stroke-linejoin="round" />\n</svg>',Wt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <path d="M10 13V4M10 4L7 7M10 4L13 7"\n stroke="currentColor"\n stroke-width="1.5"\n stroke-linecap="round"\n stroke-linejoin="round" />\n <path d="M3 13V15C3 16.1046 3.89543 17 5 17H15C16.1046 17 17 16.1046 17 15V13"\n stroke="currentColor"\n stroke-width="1.5"\n stroke-linecap="round" />\n</svg>',Xt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <line x1="3" y1="10" x2="17" y2="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n <circle cx="7" cy="10" r="2.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <circle cx="13" cy="10" r="2.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n</svg>',Ut='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <circle cx="10" cy="10" r="7" stroke="currentColor" stroke-width="1.5" fill="none" />\n <path d="M10 3 L10 10 L17 10"\n stroke="currentColor"\n stroke-width="1.5"\n fill="none" />\n <circle cx="10" cy="10" r="2" fill="currentColor" />\n</svg>',Vt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="6" width="16" height="8" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <text x="5"\n y="12"\n font-family="monospace"\n font-size="6"\n fill="currentColor"\n font-weight="600">\n ###\n </text>\n</svg>',qt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="5" width="16" height="10" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <circle cx="6" cy="10" r="0.75" fill="currentColor" />\n <line x1="8.5" y1="10" x2="15" y2="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n</svg>',_t='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="4" width="16" height="12" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <line x1="2" y1="7.5" x2="18" y2="7.5" stroke="currentColor" stroke-width="1.5" />\n <rect x="4" y="9.5" width="12" height="5" rx="0.5" stroke="currentColor" stroke-width="1" stroke-dasharray="2 2" fill="none" />\n</svg>',Zt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="3" width="16" height="14" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <line x1="2" y1="8" x2="18" y2="8" stroke="currentColor" stroke-width="1.5" />\n <line x1="2" y1="13" x2="18" y2="13" stroke="currentColor" stroke-width="1.5" />\n <line x1="10" y1="3" x2="10" y2="17" stroke="currentColor" stroke-width="1.5" />\n</svg>',Gt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="3" width="16" height="14" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <line x1="2" y1="8" x2="18" y2="8" stroke="currentColor" stroke-width="1" />\n <line x1="2" y1="13" x2="18" y2="13" stroke="currentColor" stroke-width="1" />\n <line x1="7" y1="3" x2="7" y2="17" stroke="currentColor" stroke-width="1" />\n <line x1="13" y1="3" x2="13" y2="17" stroke="currentColor" stroke-width="1" />\n</svg>',Jt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="6" width="16" height="11" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <path d="M2 6 C2 5.17 2.67 4.5 3.5 4.5 H6.5 C7.33 4.5 8 5.17 8 6"\n stroke="currentColor"\n stroke-width="1.5"\n fill="none" />\n <path d="M9 6 C9 5.17 9.67 4.5 10.5 4.5 H13.5 C14.33 4.5 15 5.17 15 6"\n stroke="currentColor"\n stroke-width="1.5"\n fill="none" />\n <rect x="4" y="9" width="12" height="6" rx="0.5" stroke="currentColor" stroke-width="1" stroke-dasharray="2 2" fill="none" />\n</svg>',Kt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="3" y="3" width="14" height="14" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <path d="M6 7H14" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" />\n <path d="M6 10H14" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" />\n <path d="M6 13H10" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" />\n</svg>',Qt='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="3" width="16" height="14" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <line x1="2" y1="8" x2="18" y2="8" stroke="currentColor" stroke-width="1.5" />\n <line x1="5" y1="11" x2="15" y2="11" stroke="currentColor" stroke-width="1" stroke-linecap="round" />\n <line x1="5" y1="14" x2="13" y2="14" stroke="currentColor" stroke-width="1" stroke-linecap="round" />\n</svg>',$t='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="5" width="15" height="10" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <line x1="13" y1="5" x2="13" y2="15" stroke="currentColor" stroke-width="1.5" />\n</svg>',ei='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="3" width="16" height="14" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <line x1="3" y1="6.5" x2="4" y2="6.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n <line x1="5" y1="6.5" x2="6" y2="6.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n <line x1="7" y1="6.5" x2="8" y2="6.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n <line x1="9" y1="6.5" x2="10" y2="6.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n <line x1="11" y1="6.5" x2="17" y2="6.5" stroke="currentColor" stroke-width="1" stroke-linecap="round" />\n <line x1="3" y1="9" x2="17" y2="9" stroke="currentColor" stroke-width="1" stroke-linecap="round" />\n <line x1="3" y1="11.5" x2="15" y2="11.5" stroke="currentColor" stroke-width="1" stroke-linecap="round" />\n <line x1="3" y1="14" x2="13" y2="14" stroke="currentColor" stroke-width="1" stroke-linecap="round" />\n</svg>',ti='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n class="..."\n xmlns="http://www.w3.org/2000/svg"\n role="presentation"\n width="24"\n height="24"\n viewBox="0 0 50 50"\n fill="none"\n stroke="currentColor"\n stroke-width="4"\n stroke-linecap="round"\n stroke-linejoin="round">\n <polyline points="14 36 4 25 14 14"></polyline>\n <polyline points="36 14 46 25 36 36"></polyline>\n <line x1="30" y1="10" x2="20" y2="40"></line>\n</svg>',ii='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 24 24"\n fill="none"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n stroke-linejoin="round"\n xmlns="http://www.w3.org/2000/svg">\n <circle cx="11" cy="11" r="8"></circle>\n <path d="m21 21-4.35-4.35"></path>\n <path d="M8 7h6"></path>\n <path d="M8 11h4"></path>\n <path d="M8 15h6"></path>\n</svg>',oi='\n<svg class="palette-item-icon-svg" aria-hidden="true"\n width="24"\n height="24"\n viewBox="0 0 20 20"\n fill="none"\n xmlns="http://www.w3.org/2000/svg">\n <rect x="2" y="3" width="16" height="14" rx="1.5" stroke="currentColor" stroke-width="1.5" fill="none" />\n <path d="M6 7L8 10L6 13" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />\n <line x1="10" y1="7" x2="16" y2="7" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n <line x1="10" y1="10" x2="16" y2="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n <line x1="10" y1="13" x2="16" y2="13" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />\n</svg>',ri=function(){return ri=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},ri.apply(this,arguments)},ni=["textbox","number","checkbox","dropdown","multiselect","date","dateTime","time","dateRange","switch","rating","colorPicker","inputMask","fileUpload"],ai={textbox:{type:"string",displayText:"Text Box"},textarea:{type:"string",displayText:"Text Area"},inputMask:{type:"string",displayText:"Input Mask"},number:{type:"numeric",displayText:"Number"},rangeSlider:{type:"numeric",displayText:"Range Slider"},rating:{type:"numeric",displayText:"Rating"},checkbox:{type:"boolean",displayText:"Checkbox"},switch:{type:"boolean",displayText:"Switch"},date:{type:"date",displayText:"Date"},dateTime:{type:"date",displayText:"Date / Time"},time:{type:"date",displayText:"Time"},dateRange:{type:"date",displayText:"Date Range"},multiselect:{type:"array",displayText:"Multi Select"},checkboxGroup:{type:"array",displayText:"Checkbox Group"},dropdown:{type:"string",displayText:"Dropdown List"},radio:{type:"string",displayText:"Radio Button"},colorPicker:{type:"string",displayText:"Color Picker"}};var si=function(){function e(e,t,i){this.activeClass="e-form-builder-field-active",this.errorClass="e-form-builder-field-error",this.wrapperEl=null,this.labelEl=null,this.actionsEl=null,this.errorEl=null,this.descriptionEl=null,this.fieldHostEl=null,this.clickHandler=null,this.keydownHandler=null,this.actionHandler=null,this.switchMenuObj=null,this.host=e,this.props=t,this.l10n=i,this.render()}return e.prototype.update=function(e){this.props=e,this.render()},e.prototype.updatePreserved=function(e,t,i,o,r,n){if(this.props=ri({},this.props,{component:e,isActive:t,index:i,totalCount:o,isNested:r,nestingContext:n}),this.wrapperEl){this.host.classList.toggle("is-active",t),this.host.setAttribute("aria-label",(e.label||e.name||"")+" "+(e.type||"")),this.host.setAttribute("role","group");var a=this.host.querySelector(".form-field");a&&(a.classList.toggle("is-active",t),a.classList.toggle(this.activeClass,t),a.setAttribute("data-index",String(i)),r?a.setAttribute("data-nested-index",String(i)):a.removeAttribute("data-nested-index")),this.actionsEl&&this.actionHandler&&this.actionsEl.removeEventListener("click",this.actionHandler),this.destroySwitchMenu();var s=this.host.querySelector(".action-button-wrapper");if(s){for(;s.firstChild;)s.removeChild(s.firstChild);var l=this.buildActions();s.appendChild(l),this.actionsEl=l}}},e.prototype.setActive=function(e){this.wrapperEl&&(e?this.wrapperEl.classList.add(this.activeClass):this.wrapperEl.classList.remove(this.activeClass))},e.prototype.setError=function(e){this.errorEl&&(e?(this.errorEl.textContent=e,this.errorEl.style.display="",this.wrapperEl&&this.wrapperEl.classList.add(this.errorClass)):(this.errorEl.textContent="",this.errorEl.style.display="none",this.wrapperEl&&this.wrapperEl.classList.remove(this.errorClass)))},e.prototype.destroy=function(){for(this.wrapperEl&&this.clickHandler&&this.wrapperEl.removeEventListener("click",this.clickHandler),this.wrapperEl&&this.keydownHandler&&this.wrapperEl.removeEventListener("keydown",this.keydownHandler),this.actionsEl&&this.actionHandler&&this.actionsEl.removeEventListener("click",this.actionHandler),this.clickHandler=null,this.keydownHandler=null,this.actionHandler=null,this.destroySwitchMenu();this.host.firstChild;)this.host.removeChild(this.host.firstChild);this.wrapperEl=null,this.labelEl=null,this.actionsEl=null,this.errorEl=null,this.descriptionEl=null,this.fieldHostEl=null},e.prototype.destroySwitchMenu=function(){if(this.switchMenuObj)try{this.switchMenuObj.destroy()}catch(e){}this.switchMenuObj=null},e.prototype.getHost=function(){return this.host},e.prototype.getFieldHost=function(){return this.fieldHostEl||this.render(),this.fieldHostEl},e.prototype.resolveFieldHostTag=function(e){return-1!==ni.indexOf(e)?"input":"textarea"===e?"textarea":"div"},e.prototype.render=function(){var e=this;if(this.host){var t=this.props.component;if(t){for(this.wrapperEl&&this.clickHandler&&(this.wrapperEl.removeEventListener("click",this.clickHandler),this.clickHandler=null),this.wrapperEl&&this.keydownHandler&&(this.wrapperEl.removeEventListener("keydown",this.keydownHandler),this.keydownHandler=null),this.actionsEl&&this.actionHandler&&(this.actionsEl.removeEventListener("click",this.actionHandler),this.actionHandler=null),this.destroySwitchMenu();this.host.firstChild;)this.host.removeChild(this.host.firstChild);var i=t.labelPosition||"top",o=null!=t.labelWidth?t.labelWidth+"%":"auto",r=["panel","table","tabs","card","splitButton","staticHtml"].indexOf(String(t.type))>=0,n=!!t.hideLabel||!(!t.formSettings||!t.formSettings.hideLabel),a=this.props.isActive?" is-active":"";this.host.className="form-field-wrapper"+a,this.host.setAttribute("aria-label",(t.label||t.name||"")+" "+(t.type||"")),this.host.setAttribute("role","group"),this.host.setAttribute("tabindex","0"),this.host.setAttribute("data-field-id",t.id||""),"rangeSlider"===t.type?this.host.style.padding="5px 15px":this.host.style.padding="5px",this.host.setAttribute("data-component-type",String(t.type)),this.host.setAttribute("data-label-position",i),this.props.enableRtl&&this.host.classList.add("e-rtl"),this.clickHandler=function(i){var o=i.target;if(o.classList.contains("e-menu-item")||o.classList.contains("e-menu-icon")||i.stopPropagation(),o&&!o.closest(".action-buttons")&&!o.closest(".field-input input, .field-input textarea, .field-input select")){var r=e.host.closest(".builder-container");if(r)for(var n=r.querySelectorAll(".form-field-wrapper.is-active"),a=0;a<n.length;a++)n[a].classList.remove("is-active");e.host.classList.add("is-active"),t.id&&e.props.onEdit(t.id)}},this.host.addEventListener("click",this.clickHandler),this.keydownHandler=function(i){if("Enter"===i.key){i.stopPropagation();var o=i.target;if(!o.closest(".action-buttons")&&!o.closest(".field-input input, .field-input textarea, .field-input select")){var r=e.host.closest(".builder-container");if(r)for(var n=r.querySelectorAll(".form-field-wrapper.is-active"),a=0;a<n.length;a++)n[a].classList.remove("is-active");e.host.classList.add("is-active"),t.id&&e.props.onEdit(t.id)}}},this.host.addEventListener("keydown",this.keydownHandler);var s=(0,l.createElement)("div",{className:"action-button-wrapper"}),p=this.buildActions();s.appendChild(p),this.actionsEl=p,this.host.appendChild(s);var d=(0,l.createElement)("div");this.host.appendChild(d);var h=this.props.nestedContainerClass||"",c=!!h,u="form-field "+(c?h:"form-field-draggable")+a,v={"data-index":String(this.props.index||0),"data-component-id":t.id||""};c&&(v["data-nested-index"]=String(this.props.index||0));var g=(0,l.createElement)("div",{className:u,attrs:v}),f=(0,l.createElement)("div",{className:"field-content label-"+i.toLowerCase()+(r?" layout-component":"")});if(!n&&t.label&&!r&&-1===["checkbox","button","table","tabs","panel","message","card","splitButton","staticHtml"].indexOf(t.type)){var m=(0,l.createElement)("label",{className:"field-label"});-1===ni.indexOf(t.type)&&"textarea"!==t.type||m.setAttribute("for",t.name),m.style.display="flex",m.style.alignItems="center",m.style.gap="2px";var b=(0,l.createElement)("span",{className:"field-label-text"});if(b.textContent=t.label||"",m.appendChild(b),t.required){var y=(0,l.createElement)("span",{className:"required"});y.textContent=" *",m.appendChild(y)}if(t.tooltip){var C=(0,l.createElement)("span",{className:"e-msg-icon e-icons e-circle-info tooltip-icon",attrs:{"aria-label":t.tooltip,title:t.tooltip,tabindex:"0",role:"button","aria-haspopup":"true"}});C.style.cursor="pointer",C.style.display="flex",C.style.alignItems="center",C.style.justifyContent="center",C.style.flexShrink="0",m.appendChild(C);var x=new I.Tooltip({content:t.tooltip,enableRtl:this.props.enableRtl});x.appendTo(C),this.props.registerRenderedInstance&&this.props.registerRenderedInstance(x),m.appendChild(C)}m.style.width="top"===i||"bottom"===i?"100%":o,this.labelEl=m,f.appendChild(m)}var w=(0,l.createElement)("div",{className:"field-input"});r||w.setAttribute("inert","");var P=this.resolveFieldHostTag(String(t.type)),S=(0,l.createElement)(P,{className:"e-form-builder-field-host"});this.fieldHostEl=S,w.appendChild(S),f.appendChild(w),S.id=t.name;var j=(0,l.createElement)("div",{className:"e-form-builder-field-error"});if(j.style.display="none",this.errorEl=j,f.appendChild(j),g.appendChild(f),t.description){var O=(0,l.createElement)("div",{className:"field-description"});O.textContent=t.description,this.descriptionEl=O,g.appendChild(O)}this.host.appendChild(g),this.wrapperEl=this.host}}},e.prototype.buildActions=function(){var e=this,t=this.props.component,i=this.props.index||0,o=this.props.totalCount||0,r=i>0,n=o>0&&i<o-1,a=!!this.props.hasClipboardData,s=(0,l.createElement)("div",{className:"action-buttons",attrs:{role:"toolbar","aria-label":"Field actions"}}),p=function(e,t,i,o,r){var n=(0,l.createElement)("button",{className:"e-control e-btn e-lib e-small e-flat action-btn e-icon-btn",attrs:{type:"button","data-action":e,"data-ripple":"true",title:t,"aria-label":t}});i&&n.setAttribute("disabled","disabled"),r&&(n.style.display=r);var a=(0,l.createElement)("span",{className:"e-btn-icon e-icons "+o});return n.appendChild(a),n};if(r&&s.appendChild(p("moveUp",this.l10n&&this.l10n.getConstant("moveUp")||"Move up",!1,"e-arrow-up")),n&&s.appendChild(p("moveDown",this.l10n&&this.l10n.getConstant("moveDown")||"Move down",!1,"e-arrow-down")),s.appendChild(p("paste",this.l10n&&this.l10n.getConstant("paste")||"Paste copied field after this field",!1,"e-paste",a?"block":"none")),this.props.onSwitchWidget){var d=function(e){var t=ai[e]||null;if(!t||!t.type)return{items:[],hasValidType:!1};var i=t.type,o={};Object.keys(ai).forEach(function(e){var t=ai[e];t&&t.type&&(o[t.type]||(o[t.type]=[]),o[t.type].push(e))});for(var r=[],n=o[i]||[],a=0;a<n.length;a++)if((v=n[a])!==e){var s=ai[v];r.push({text:s&&s.displayText?s.displayText:v,data:v})}for(var l=Object.keys(o).filter(function(e){return e!==i}).sort(),p=0;p<l.length;p++){for(var d=l[p],h=[],c=o[d]||[],u=0;u<c.length;u++){var v=c[u];s=ai[v],h.push({text:s&&s.displayText?s.displayText:v,data:v})}r.push({text:d.charAt(0).toUpperCase()+d.slice(1),items:h})}return{items:r,hasValidType:!0}}(String(t.type));if(d.hasValidType){var h=(0,l.createElement)("ul",{className:"change-component e-menu e-lib",attrs:{"data-action":"switchWidget","aria-label":this.l10n&&this.l10n.getConstant("switchWidget")||"Switch widget"}});h.id="switch-menu-host-"+t.id,s.appendChild(h);var u=this;this.switchMenuObj=new c.Menu({enableRtl:this.props.enableRtl,items:[{text:"",cssClass:"parent-menuitem",iconCss:"e-icons e-repeat",items:d.items,htmlAttributes:{"aria-label":this.l10n&&this.l10n.getConstant("switchWidget")||"Switch Widget",title:this.l10n&&this.l10n.getConstant("switchWidget")||"Switch Widget"}}],showItemOnClick:!0,select:function(e){var i=e&&e.item?e.item:null,o=i.data||i.text||"";o&&u.props.onSwitchWidget&&u.props.onSwitchWidget(t.id,o)}}),this.switchMenuObj.appendTo(h)}}return s.appendChild(p("copy",this.l10n&&this.l10n.getConstant("copy")||"Copy field configuration to clipboard",!1,"e-copy")),s.appendChild(p("delete",this.l10n&&this.l10n.getConstant("delete")||"Delete field",!1,"e-trash")),this.actionHandler=function(i){var o=i.target.closest("button[data-action]");if(o&&!o.hasAttribute("disabled")&&t.id){switch(o.getAttribute("data-action")||""){case"copy":e.props.onCopy(t);break;case"paste":e.props.onPaste(t.id);break;case"delete":e.props.onDelete(t.id);break;case"moveUp":e.props.isNested&&e.props.onNestedMoveUp&&e.props.nestingContext?e.props.onNestedMoveUp(t.id,e.props.nestingContext.parentId,e.props.nestingContext.parentPath,e.props.nestingContext.cellInfo):!e.props.isNested&&e.props.onMoveUp&&e.props.onMoveUp(t.id);break;case"moveDown":e.props.isNested&&e.props.onNestedMoveDown&&e.props.nestingContext?e.props.onNestedMoveDown(t.id,e.props.nestingContext.parentId,e.props.nestingContext.parentPath,e.props.nestingContext.cellInfo):!e.props.isNested&&e.props.onMoveDown&&e.props.onMoveDown(t.id)}i.stopPropagation()}},s.addEventListener("click",this.actionHandler),s},e}();function li(e){if(!e||!e.components||0===e.components.length)return!0;if(1===e.components.length){var t=e.components[0];if(t&&t.id&&/^default-/.test(t.id))return!0;if(t&&"button"===t.type&&"submit"===t.buttonType&&(!t.id||/^default-/.test(t.id)))return!0}return!1}var pi=function(){function e(e,t,i,o){this.host=e,this.options=t,this.l10n=i,this.owners=o,this.toolbarInstance=null,this.tooltipInstance=null,this.toolbarContainer=(0,l.createElement)("div",{attrs:{id:"toolbar",class:"e-formbuilder-toolbar"}}),this.host.appendChild(this.toolbarContainer),this.render(t)}return e.prototype.render=function(e){this.options=e,this.ensureHostAttributes(),this.destroyInstances();var t=[];e.showSplitView||e.isPreviewOpen||(t.push({prefixIcon:"e-icons e-copy",tooltipText:this.l10n.getConstant("copyCode")||"Copy code",disabled:e.isDefaultSchema,click:e.onCopySchema}),t.push({prefixIcon:"e-icons e-trash",tooltipText:this.l10n.getConstant("resetForm")||"Reset form",disabled:e.isDefaultSchema,click:e.onReset}),t.push({type:"Separator"})),t.push({prefixIcon:"e-icons e-edit",text:e.showSplitView||e.isPreviewOpen?"Build":void 0,cssClass:e.showSplitView||e.isPreviewOpen?"":"e-toolbar-active",tooltipText:this.l10n.getConstant("editForm")||"Edit form",click:e.onShowBuild}),t.push({prefixIcon:"e-icons e-code-view",text:e.showSplitView||e.isPreviewOpen?"JSON":void 0,cssClass:e.showSplitView&&!e.isPreviewOpen?"e-toolbar-active":"",tooltipText:this.l10n.getConstant("jsonview")||"JSON view",click:e.onShowJson}),e.enablePreview&&t.push({prefixIcon:"e-icons e-eye",text:e.showSplitView||e.isPreviewOpen?"Preview":void 0,cssClass:e.isPreviewOpen?"e-toolbar-active":"",disabled:e.isDefaultSchema,tooltipText:this.l10n.getConstant("previewForm")||"Preview form",click:e.onShowPreview}),this.toolbarInstance=new c.Toolbar({enableRtl:this.options.enableRtl,items:t}),this.toolbarInstance.appendTo(this.toolbarContainer),this.owners&&this.owners.toolbars.push(this.toolbarInstance),this.tooltipInstance=new I.Tooltip({target:"#toolbar [title]",position:"BottomCenter"}),this.tooltipInstance.appendTo(this.host),this.owners&&this.owners.tooltips.push(this.tooltipInstance)},e.prototype.ensureHostAttributes=function(){var e=Array.from(this.host.classList).filter(function(e){return"editor-handle-center"!==e});this.host.className="editor-handle";for(var t=0;t<e.length;t++)this.host.classList.add(e[t]);this.options.showSplitView||this.options.isPreviewOpen?this.host.classList.add("editor-handle-center"):this.host.classList.remove("editor-handle-center"),this.host.setAttribute("role","toolbar"),this.host.setAttribute("aria-label","Form Builder Actions"),this.host.style.zIndex=this.options.isPreviewOpen||this.options.showSplitView?"99999":"999"},e.prototype.destroyInstances=function(){if(this.tooltipInstance){try{this.tooltipInstance.destroy()}catch(e){}this.removeOwnerTooltip(this.tooltipInstance),this.tooltipInstance=null}if(this.toolbarInstance){try{this.toolbarInstance.destroy()}catch(e){}this.removeOwnerToolbar(this.toolbarInstance),this.toolbarInstance=null}for(;this.toolbarContainer.firstChild;)this.toolbarContainer.removeChild(this.toolbarContainer.firstChild)},e.prototype.removeOwnerTooltip=function(e){if(this.owners){var t=this.owners.tooltips.indexOf(e);t>=0&&this.owners.tooltips.splice(t,1)}},e.prototype.removeOwnerToolbar=function(e){if(this.owners){var t=this.owners.toolbars.indexOf(e);t>=0&&this.owners.toolbars.splice(t,1)}},e.prototype.destroy=function(){this.destroyInstances(),this.toolbarContainer.parentNode===this.host&&this.host.removeChild(this.toolbarContainer)},e}(),di=function(){function e(e,t,i){this.host=e,this.props=t,this.l10n=i,this.wrapperEl=null,this.popupEl=null,this.listHost=null,this.listbox=null,this.destroyed=!1,this.currentPalette=[],this.owners=t.owners||{listboxes:[],docListeners:[],timers:[]};var o=this;this.handlers={handleDocumentMouseDown:function(e){o.onDocumentMouseDown(e)},handleDocumentKeyDown:function(e){o.onDocumentKeyDown(e)},handleBackdropClick:function(e){o.onBackdropClick(e)},handleListChange:function(e){o.onListChange(e)},handleBeforeItemRender:function(e){o.onBeforeItemRender(e)}},this.buildShell()}return e.prototype.render=function(e){if(!this.destroyed){var t=!!this.props.isOpen;this.props=e,e.owners&&(this.owners=e.owners),this.applyVisibility(),this.props.isOpen&&!t?this.attachGlobalListeners():!this.props.isOpen&&t&&this.detachGlobalListeners()}},e.prototype.close=function(){this.props.isOpen&&this.props.onClose()},e.prototype.destroy=function(){if(!this.destroyed){if(this.destroyed=!0,this.detachGlobalListeners(),this.owners&&this.owners.timers){for(var e=this.owners.timers,t=0;t<e.length;t++)window.clearTimeout(e[t]);e.length=0}this.destroyListbox(),this.wrapperEl&&this.wrapperEl.parentNode===this.host&&this.host.removeChild(this.wrapperEl),this.wrapperEl=null,this.popupEl=null,this.listHost=null,this.currentPalette=[]}},e.prototype.__audit=function(){return{listboxes:this.owners.listboxes?this.owners.listboxes.length:0,listeners:this.owners.docListeners?this.owners.docListeners.length:0}},e.prototype.buildShell=function(){if(!this.wrapperEl||this.wrapperEl.parentNode!==this.host){var e=this.props.ariaLabel||this.l10n&&this.l10n.getConstant("componentSelection")||"Component Selection",t=this.props.popupAriaLabel||this.l10n&&this.l10n.getConstant("availableComponents")||"Available Components",i=(0,l.createElement)("div",{className:"listbox-pane-wrapper",attrs:{"aria-modal":"true",tabindex:"-1",role:"dialog","aria-label":e}});i.addEventListener("click",this.handlers.handleBackdropClick);var o=(0,l.createElement)("div",{className:"listbox-pane-popup",attrs:{"aria-label":t}}),r=(0,l.createElement)("input",{attrs:{type:"text",tabindex:"0"}});r.className="listbox-host",o.appendChild(r),i.appendChild(o),this.host.appendChild(i),this.wrapperEl=i,this.popupEl=o,this.listHost=r,this.applyVisibility()}},e.prototype.applyVisibility=function(){this.wrapperEl&&(this.props.isOpen?(this.wrapperEl.style.display="",this.ensureListbox()):this.wrapperEl.style.display="none")},e.prototype.ensureListbox=function(){if(!this.destroyed&&this.listHost&&this.popupEl){var e=this.buildPalette(),t=!this.paletteEquals(e,this.currentPalette);if(this.currentPalette=e,this.listbox)t&&(this.listbox.dataSource=e,this.listbox.fields={groupBy:"group",text:"label",value:"type"});else{var i=this.l10n&&this.l10n.getConstant("search")||"Search";this.listbox=new D.ListBox({dataSource:e,tabIndex:0,fields:{groupBy:"group",text:"label",value:"type"},change:this.handlers.handleListChange,beforeItemRender:this.handlers.handleBeforeItemRender,allowFiltering:!0,filterBarPlaceholder:i,height:"400px",itemTemplate:'<button class="listbox-item-with-icon e-btn e-flat e-lib" data-type="${type}" aria-label="${label}"><span class="e-listbox-icon listbox-item-icon" aria-hidden="true">'+this.iconMarkupForFirst(e)+'</span><span class="listbox-item-label">${label}</span></button>'}),this.listbox.appendTo(this.listHost),this.relayoutIntoPopup(),this.owners&&this.owners.listboxes&&this.owners.listboxes.push(this.listbox)}}},e.prototype.buildPalette=function(){for(var e={},t=this.props.paletteConfig,i=Array.isArray(t)?t:t?Object.keys(t).map(function(e){return{category:e,items:t[e]}}):[],o=Object.keys(Ct),r=0;r<o.length;r++){var n=o[r];e[n]=Ct[n].slice()}for(var a=0;a<i.length;a++){var s=i[a];s&&s.category&&Array.isArray(s.items)&&(s.items.length?e[s.category]=s.items.map(function(e){return{type:"string"==typeof e?e:e.type,label:""}}):delete e[s.category])}for(var l=[],p=Object.keys(e),d=0;d<p.length;d++)for(var h=p[d],c=e[h]||[],u=0;u<c.length;u++){var v=c[u];if("Simple"!==this.props.mode||!bi.has(v.type)){var g=v.label||this.l10n&&this.l10n.getConstant(v.type)||v.type;l.push({type:v.type,label:g,group:this.categoryDisplayName(h),category:h})}}return l},e.prototype.categoryDisplayName=function(e){if(this.l10n){if(e===t.Basic)return this.l10n.getConstant("basic")||"Basic";if(e===t.Advanced)return this.l10n.getConstant("advanced")||"Advanced";if(e===t.Layout)return this.l10n.getConstant("layout")||"Layout"}return e},e.prototype.paletteEquals=function(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(var i=0;i<e.length;i++)if(e[i].type!==t[i].type||e[i].label!==t[i].label||e[i].group!==t[i].group)return!1;return!0},e.prototype.iconMarkupForFirst=function(e){return e&&0!==e.length?xi(e[0].type):""},e.prototype.onBeforeItemRender=function(e){if(e&&e.element&&e.item){var t=String(e.item.type||"");if(t){var i=e.element.querySelector(".listbox-item-icon");i&&(i.innerHTML=xi(t))}}},e.prototype.relayoutIntoPopup=function(){if(this.listHost&&this.popupEl&&!this.destroyed){var e=this,t=0,i=function(){if(!e.destroyed&&e.listHost&&e.popupEl){t++;var o=e.findEj2ListboxWrapper();o&&o.parentNode!==e.popupEl?e.popupEl.appendChild(o):t<8&&e.trackTimer(function(){i()},25)}};i()}},e.prototype.findEj2ListboxWrapper=function(){if(!this.listHost)return null;for(var e=this.listHost,t=e.parentNode;t&&t!==document.body;){var i=t;if(i.classList&&(i.classList.contains("e-listbox")||i.classList.contains("e-popup")||i.querySelector(".e-list-parent"))&&i.contains(e))return i;t=t.parentNode}if(this.popupEl)for(var o=document.body.getElementsByTagName("div"),r=0;r<o.length;r++){var n=o[r];if(!this.popupEl.contains(n)&&(n.classList&&(n.classList.contains("e-listbox")||n.classList.contains("e-popup"))&&n.querySelector(".e-list-parent")))return n}return null},e.prototype.trackTimer=function(e,t){var i=this,o=window.setTimeout(function(){if(i.owners&&i.owners.timers){var t=i.owners.timers.indexOf(o);t>=0&&i.owners.timers.splice(t,1)}try{e()}catch(e){}},t);this.owners&&this.owners.timers&&this.owners.timers.push(o)},e.prototype.attachGlobalListeners=function(){this.destroyed||(this.addTrackedListener(document,"mousedown",this.handlers.handleDocumentMouseDown),this.addTrackedListener(document,"keydown",this.handlers.handleDocumentKeyDown))},e.prototype.detachGlobalListeners=function(){this.removeTrackedListener(document,"mousedown",this.handlers.handleDocumentMouseDown),this.removeTrackedListener(document,"keydown",this.handlers.handleDocumentKeyDown)},e.prototype.addTrackedListener=function(e,t,i,o){e.addEventListener(t,i,o),this.owners&&this.owners.docListeners&&this.owners.docListeners.push({target:e,event:t,handler:i,opts:o})},e.prototype.removeTrackedListener=function(e,t,i,o){if(e.removeEventListener(t,i,o),this.owners&&this.owners.docListeners)for(var r=this.owners.docListeners,n=r.length-1;n>=0;n--){var a=r[n];a.target===e&&a.event===t&&a.handler===i&&r.splice(n,1)}},e.prototype.onDocumentMouseDown=function(e){if(this.popupEl){var t=e.target;t&&this.popupEl.contains(t)||this.close()}},e.prototype.onDocumentKeyDown=function(e){e&&"Escape"===e.key&&this.close()},e.prototype.onBackdropClick=function(e){var t=e.target;t&&this.wrapperEl&&t===this.wrapperEl&&this.close()},e.prototype.onListChange=function(e){if(e){var t=e.event;if(!t||void 0!==t.isTrusted){var i=null,o=e.elements||[];if(o.length>0&&(i=o[0].getAttribute("data-value")),!i&&e.value&&e.value.length>0&&(i=String(e.value[0])),i){for(var r=null,n=0;n<this.currentPalette.length;n++)if(this.currentPalette[n].type===i){r={type:this.currentPalette[n].type,label:this.currentPalette[n].label};break}r&&(this.props.onSelect(r),this.close())}}}},e.prototype.destroyListbox=function(){if(this.listbox){try{this.listbox.destroy()}catch(e){}if(this.owners&&this.owners.listboxes)for(var e=this.owners.listboxes,t=e.length-1;t>=0;t--)e[t]===this.listbox&&e.splice(t,1)}this.listbox=null},e}();var hi=function(){function e(e,t,i){var o=this;this.handleCopyClick=function(){o.options.copySchema&&o.options.copySchema()},this.host=e,this.options=t,this.l10n=t&&t.l10n?t.l10n:void 0,this.owners=i||null,this.container=null,this.preEl=null,this.buttonInstance=null,this.buttonHost=null,this.lastSchemaJson=null,this.docListeners=[],this.render(t)}return e.prototype.render=function(e){this.options=e,this.l10n=e&&e.l10n?e.l10n:this.l10n;var t=e&&e.formSchema?e.formSchema:null,i=li(t),o=t?ce(t):null,r=i||!o?"{}":JSON.stringify(o,null,2),n=this.lastSchemaJson!==r;if(!this.container||e.force||n)return this.buildInnerDom(r,i),void(this.lastSchemaJson=r);this.preEl&&(this.preEl.textContent=r),this.lastSchemaJson=r},e.prototype.refresh=function(e){this.render({formSchema:e,l10n:this.l10n})},e.prototype.destroy=function(){if(this.buttonInstance){try{this.buttonInstance.destroy()}catch(e){}if(this.owners&&this.owners.buttons){var e=this.owners.buttons.indexOf(this.buttonInstance);e>=0&&this.owners.buttons.splice(e,1)}this.buttonInstance=null}for(var t=this.docListeners.length-1;t>=0;t--){var i=this.docListeners[t];try{void 0!==i.opts?i.target.removeEventListener(i.event,i.handler,i.opts):i.target.removeEventListener(i.event,i.handler)}catch(e){}}if(this.docListeners=[],this.preEl=null,this.buttonHost=null,this.container=null,this.lastSchemaJson=null,this.host&&this.host.firstChild){var o=this.container;if(o&&o.parentNode===this.host)this.host.removeChild(o);else{var r=this.host.querySelectorAll(".split-view-container");for(t=r.length-1;t>=0;t--){var n=r[t];n.parentNode&&n.parentNode.removeChild(n)}}}},e.prototype.addTrackedListener=function(e,t,i,o){e.addEventListener(t,i,o),this.docListeners.push({target:e,event:t,handler:i,opts:o}),this.owners&&this.owners.docListeners&&this.owners.docListeners.push({target:e,event:t,handler:i,opts:o})},e.prototype.buildInnerDom=function(e,t){if(this.buttonInstance){try{this.buttonInstance.destroy()}catch(e){}this.buttonInstance=null}if(this.buttonHost=null,this.preEl=null,this.container=null,this.host)for(var i=this.host.querySelectorAll(".split-view-container"),o=i.length-1;o>=0;o--){var r=i[o];r.parentNode&&r.parentNode.removeChild(r)}var n=(0,l.createElement)("div",{className:"split-view-container"}),a=(0,l.createElement)("div",{className:"split-panels"}),s=(0,l.createElement)("div",{className:"split-panel full-width",attrs:{"aria-labelledby":"combined-schema-heading"}}),d=(0,l.createElement)("div",{className:"json-header"}),h=(0,l.createElement)("span",{className:"json-title"}),c=this.l10n&&this.l10n.getConstant("combinedSchema")||"Schema";if(h.textContent=c,d.appendChild(h),!t){var u=this.l10n&&this.l10n.getConstant("copy")||"Copy",v=u,g=(0,l.createElement)("button",{attrs:{type:"button","aria-label":v}});g.textContent=u,d.appendChild(g),this.buttonHost=g;var f={iconCss:"e-icons e-copy",content:u},m=new p.Button(f);m.appendTo(g),m.element.onclick=this.handleCopyClick.bind(this),this.buttonInstance=m,this.owners&&this.owners.buttons&&this.owners.buttons.push(m)}s.appendChild(d);var b=(0,l.createElement)("pre",{className:"json-content",attrs:{role:"textbox","aria-readonly":"true","aria-label":"Schema"}});b.textContent=e,s.appendChild(b),a.appendChild(s),n.appendChild(a),this.host.appendChild(n),this.container=n,this.preEl=b},e}();var ci=function(){function e(e,t){this.host=e,this.options=t,this.mainEl=null,this.formBuilder=t.formBuilder,this.formAreaEl=null,this.formHostEl=null,this.closeButton=null,this.formRenderer=null,this.formKey=0,this.currentFormName=t.formSchema&&t.formSchema.settings&&t.formSchema.settings.name?String(t.formSchema.settings.name):"Untitled Form",this.owners=t.owners?t.owners:{buttons:[],dialogs:[],grids:[],formRenderers:[],docListeners:[],timers:[]},this.localListeners=[],this.isMounted=!1,this.isDestroyed=!1;var i=this;this.handlers={handleClose:function(){i.close()}},this.buildShell()}return e.prototype.render=function(e){this.isDestroyed||(this.options=e,e.formSchema&&(this.currentFormName=e.formSchema.settings&&e.formSchema.settings.name?String(e.formSchema.settings.name):"Untitled Form"),this.applyVisibility(),this.options.isOpen?this.mountPreview():this.options.isOpen||this.unmountPreview())},e.prototype.close=function(){this.isDestroyed||this.options.onClose&&this.options.onClose()},e.prototype.setFieldValue=function(e,t){this.formRenderer.setFieldValue(e,t)},e.prototype.destroy=function(){if(!this.isDestroyed){if(this.isDestroyed=!0,this.unmountPreview(),this.closeButton){try{this.closeButton.destroy()}catch(e){}this.removeFromOwners("buttons",this.closeButton),this.closeButton=null}this.removeLocalListeners(),this.mainEl&&this.mainEl.parentNode===this.host&&this.host.removeChild(this.mainEl),this.mainEl=null,this.formAreaEl=null,this.formHostEl=null}},e.prototype.getFormRenderer=function(){return this.formRenderer},e.prototype.getHostEl=function(){return this.mainEl},e.prototype.buildShell=function(){var e=this,t=(0,l.createElement)("main",{className:"preview-main-section",attrs:{role:"dialog","aria-modal":"true"},styles:"position: absolute; left: 0; width: 100%; display: none;"}),i=(0,l.createElement)("div",{className:"main-header"}),o=(0,l.createElement)("div",{className:"left-section"});o.textContent=this.currentFormName;var r=(0,l.createElement)("div",{className:"center-section"}),n=(0,l.createElement)("div",{className:"right-section"}),a=(0,l.createElement)("button",{attrs:{type:"button"}});n.appendChild(a),i.appendChild(o),i.appendChild(r),i.appendChild(n);var s=(0,l.createElement)("div",{className:"preview-main-content",styles:"width: 100%; position: relative; z-index: 9999; margin-top: 48px;"}),d=(0,l.createElement)("div",{className:"form-preview-area"});s.appendChild(d);var h=document.querySelector(".e-form-builder");h&&(d.style.height=h.offsetHeight-48+"px"),t.appendChild(i),t.appendChild(s);var c=this.host.querySelector("#Editor-Tooltip");c&&c.parentNode===this.host?this.host.insertBefore(t,c):this.host.appendChild(t);var u=new p.Button({enableRtl:this.options.enableRtl,cssClass:"action-btn e-flat",content:"Close Preview"});u.appendTo(a),u.element.onclick=function(t){t.preventDefault(),e.handlers.handleClose()},this.closeButton=u,this.owners.buttons.push(u),this.mainEl=t,this.formAreaEl=d,this.formHostEl=d},e.prototype.applyVisibility=function(){this.mainEl&&(this.mainEl.style.display=this.options.isOpen?"":"none")},e.prototype.mountPreview=function(){this.mainEl&&this.formHostEl&&(this.isMounted=!0,this.renderForm())},e.prototype.unmountPreview=function(){if(this.isMounted){if(this.isMounted=!1,this.destroyFormRenderer(),this.formHostEl)for(;this.formHostEl.firstChild;)this.formHostEl.removeChild(this.formHostEl.firstChild);this.applyVisibility()}else this.applyVisibility()},e.prototype.renderForm=function(){if(this.formHostEl){for(;this.formHostEl.firstChild;)this.formHostEl.removeChild(this.formHostEl.firstChild);var e=this.options.formSchema&&this.options.formSchema.settings&&this.options.formSchema.settings.width?String(this.options.formSchema.settings.width):"500px",t=(0,l.createElement)("div",{attrs:{role:"region","aria-label":this.currentFormName||"Untitled Form"},className:"preview-form",styles:"max-width: "+e+";"+(this.options.schema?"":" min-height: 200px;")});if(this.formHostEl.appendChild(t),!this.options.schema){var i=(0,l.createElement)("div",{styles:"padding: 24px; color: #64748b; font-size: 14px;"});return i.textContent="Preview not available: schema not yet rendered.",void t.appendChild(i)}this.formKey=this.formKey+1,t.id="preview-form-"+String(this.formKey);var o=this,r=null;try{r=new mt({schema:this.options.schema,className:"preview-form",locale:this.options.locale||"en-US",enableRtl:!!this.options.enableRtl,customWidgetSettings:(this.options.toolboxItems||[]).map(function(e){return{template:e.template,type:e.type,templateId:e.templateId}}),submit:function(e){return o.handleSubmit(e)}})}catch(e){return console.error("PreviewPane: FormRenderer ctor failed",e),(n=(0,l.createElement)("div",{styles:"padding: 24px; color: #b91c1c; font-size: 14px;"})).textContent="Preview render error (ctor): "+(e&&e.message?e.message:String(e)),void t.appendChild(n)}try{this.formBuilder.isReact&&this.formBuilder.portals&&(r.isReact=!0,r.portals=this.formBuilder.portals),r.root=this.formBuilder?this.formBuilder:this,r.appendTo(t),this.formRenderer=r,this.owners.formRenderers.push(r)}catch(e){var n;console.error("PreviewPane: FormRenderer.appendTo failed",e),(n=(0,l.createElement)("div",{styles:"padding: 24px; color: #b91c1c; font-size: 14px;"})).textContent="Preview render error (appendTo): "+(e&&e.message?e.message:String(e)),t.appendChild(n)}}},e.prototype.destroyFormRenderer=function(){if(this.formRenderer){try{this.formRenderer.destroy()}catch(e){}this.removeFromOwners("formRenderers",this.formRenderer),this.formRenderer=null}},e.prototype.handleSubmit=function(e){},e.prototype.updatePreviewHeight=function(){if(this.isMounted){var e=document.getElementById("form-builder");if(e){var t=this.mainEl&&this.mainEl.querySelector(".form-preview-area");t&&(t.style.height=e.offsetHeight-48+"px")}}},e.prototype.addTrackedListener=function(e,t,i,o){e.addEventListener(t,i,o);var r={target:e,event:t,handler:i,opts:o};this.localListeners.push(r),this.owners.docListeners&&this.owners.docListeners.push(r)},e.prototype.removeTrackedListener=function(e,t,i,o){try{e.removeEventListener(t,i,o)}catch(e){}for(var r=this.localListeners.length-1;r>=0;r--){(n=this.localListeners[r]).target===e&&n.event===t&&n.handler===i&&this.localListeners.splice(r,1)}if(this.owners.docListeners)for(r=this.owners.docListeners.length-1;r>=0;r--){var n;(n=this.owners.docListeners[r]).target===e&&n.event===t&&n.handler===i&&this.owners.docListeners.splice(r,1)}},e.prototype.removeLocalListeners=function(){for(var e=this.localListeners.length-1;e>=0;e--){var t=this.localListeners[e];try{t.target.removeEventListener(t.event,t.handler,t.opts)}catch(e){}}this.localListeners=[]},e.prototype.removeFromOwners=function(e,t){if(this.owners&&t){var i=this.owners[e];if(i)for(var o=i.length-1;o>=0;o--)i[o]===t&&i.splice(o,1)}},e}();var ui=function(e,t){var i,o=e.trim();if(!o)throw new Error("Please provide a schema");var r=JSON.parse(o);if(r.properties&&Array.isArray(r.layout))i=ve(r);else{var n=(new Ke).parse(o);if(!n.success||!n.schema)throw new Error("Failed to parse schema: "+n.errors.join(", "));var a=function(e){for(var t={},i=new Set,o=e.slice();o.length>0;){var r=o.shift(),n=pe[r.type];if(null!==n)if(i.has(r.id)){if(r.children&&r.children.length&&o.unshift.apply(o,r.children),r.tabItems&&r.tabItems.length)for(var a=0,s=r.tabItems;a<s.length;a++)(w=s[a]).content&&w.content.length&&o.unshift.apply(o,w.content);if(r.tableCells&&r.tableCells.length)for(var l=0,p=r.tableCells;l<p.length;l++)for(var d=0,h=p[l];d<h.length;d++)(T=h[d]).length&&o.unshift.apply(o,T)}else{i.add(r.id);var c=le(se(r.label||r.id,r.id),new Set(Object.keys(t)),r.id),u=ue(r,n||{type:"any"});if(t[c]=u,r.children&&r.children.length&&o.unshift.apply(o,r.children),r.tabItems&&r.tabItems.length)for(var v=0,g=r.tabItems;v<g.length;v++)(w=g[v]).content&&w.content.length&&o.unshift.apply(o,w.content);if(r.tableCells&&r.tableCells.length)for(var f=0,m=r.tableCells;f<m.length;f++)for(var b=0,y=m[f];b<y.length;b++)(T=y[b]).length&&o.unshift.apply(o,T)}else{if(r.children&&r.children.length&&o.unshift.apply(o,r.children),r.tabItems&&r.tabItems.length)for(var C=0,x=r.tabItems;C<x.length;C++){var w;(w=x[C]).content&&w.content.length&&o.unshift.apply(o,w.content)}if(r.tableCells&&r.tableCells.length)for(var P=0,S=r.tableCells;P<S.length;P++)for(var j=0,O=S[P];j<O.length;j++){var T;(T=O[j]).length&&o.unshift.apply(o,T)}}}return{version:"1.0",properties:t}}(n.schema.components),s=ce(t);i=Ce(a,{properties:s.properties,layout:s.layout})}return i},vi=function(){return vi=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},vi.apply(this,arguments)},gi=function(){function e(e,t,i){this.host=e,this.props=t,this.parent=t.parent,this.l10n=i,this.rootEl=null,this.formAreaEl=null,this.cachedFields=new Map,this.renderedInstances=[],this.owners={droppables:[],draggables:[],fieldWrappers:[],tooltips:[],tabs:[],toolbars:[],messages:[],listboxes:[],buttons:[],dialogs:[],grids:[],formRenderers:[],previewPane:null,pendingTimers:[],docListeners:[],gridRefs:new Map,preservedNodes:[]},this.pointerTrackerHost=null,this.pointerTrackerHandler=null,this.dropTargetIndex=null,this.dropPosition=null,this.draggedComponentInfo=null,this.isReordering=!1,this.isNestedReordering=!1,this.activeNestedContainer=null,this.draggingOverPanel=null,this.currentComponents=[],this.currentSchema=t&&t.formSchema||{version:"0.1.0",components:[{id:"default-submit-button",type:"button",name:"defaultSubmit",label:"Submit",buttonType:"submit",_configured:!0}],settings:{name:"Untitled Form"}},this.nestedDropTargetIndex=null,this.nestedDropPosition=null,this.activeTabIndices=new Map,this.addFieldMessageWrapper=null,this.addFieldMessage=null,this.listboxPane=null,this.listboxPaneHost=null,this.jsonViewer=null,this.lastJsonSchemaRef=null,this.previewPane=null,this.previewPaneHost=null,this.lastPreviewSchemaRef=null,this.lastPreviewSplitData=null,this.initialDragY=null,this.currentDragY=null,this.isDraggingFromPalette=!1,this.draggedItemIndex=null,this.nestedInitialDragY=null,this.nestedCurrentDragY=null,this.nestedDraggedIndex=null,this.nestedComponents=[],this.nestedContainerId=null,this.nestedContainerPath=null,this.nestedCellInfo=void 0,this.rootCloneHost=null,this.nestedCloneHost=null,this.toolbarHost=null,this.editorToolbar=null,this.showSplitView=!1,this.isPreviewOpen=!1,this.handlers={handleDrop:this.handleDrop.bind(this),handleDragOver:this.handleDragOver.bind(this),handleDragLeave:this.handleDragLeave.bind(this),handleNestedDrop:this.handleNestedDrop.bind(this),handleNestedDragOver:this.handleNestedDragOver.bind(this),handleNestedDragLeave:this.handleNestedDragLeave.bind(this),openListBoxPane:this.openListBoxPane.bind(this),closeListBoxPane:this.closeListBoxPane.bind(this),onListBoxSelect:this.onListBoxSelect.bind(this),onAddFieldMessageKeyDown:this.onAddFieldMessageKeyDown.bind(this),helper:this.helper.bind(this),dragStart:this.dragStart.bind(this),drag:this.drag.bind(this),dragStop:this.dragStop.bind(this),nestedHelper:this.nestedHelper.bind(this),nestedDragStart:this.nestedDragStart.bind(this),nestedDrag:this.nestedDrag.bind(this),nestedDragStop:this.nestedDragStop.bind(this),handleMoveUp:this.handleMoveUp.bind(this),handleMoveDown:this.handleMoveDown.bind(this),handleNestedMoveUp:this.handleNestedMoveUp.bind(this),handleNestedMoveDown:this.handleNestedMoveDown.bind(this),findComponentById:this.findComponentById.bind(this),isIdInSubtree:this.isIdInSubtree.bind(this),findDropTarget:this.findDropTarget.bind(this),findFilteredClosest:this.findFilteredClosest.bind(this),updateDropTargetVisuals:this.updateDropTargetVisuals.bind(this),clearDropTargetVisuals:this.clearDropTargetVisuals.bind(this),updateNestedDropTargetVisuals:this.updateNestedDropTargetVisuals.bind(this),clearNestedDropTargetVisuals:this.clearNestedDropTargetVisuals.bind(this),closePreview:this.closePreview.bind(this)},this.buildShell()}return e.prototype.render=function(e,t,i){var o=this;void 0===i&&(i=!1),this.currentSchema=e||{version:"0.1.0",components:[{id:"default-submit-button",type:"button",name:"defaultSubmit",label:"Submit",buttonType:"submit",_configured:!0}],settings:{name:"Untitled Form"}};var r=this.rootEl?this.rootEl.scrollTop:0,n=this.rootEl?this.rootEl.scrollLeft:0;if(this.cacheFields(t,i),this.disposeChildren(),this.renderedInstances=[],this.props.formBuilder.isReact&&this.props.formBuilder.portals&&this.props.formBuilder.renderReactTemplates(),this.formAreaEl||(this.buildShell(),this.formAreaEl)){var a=this.currentSchema,s=li(a);if(this.formAreaEl&&this.formAreaEl.classList.toggle("empty",s),this.renderToolbar(a),this.isPreviewOpen)return this.renderPreview(a),this.notifyFormIdInvalidation(a),void this.disposeCachedFields();if(this.disposePreviewPane(),this.showSplitView)return this.renderJsonView(a),this.notifyFormIdInvalidation(a),void this.disposeCachedFields();s?this.renderEmptyState(a):this.renderForm(a),this.notifyFormIdInvalidation(a),this.disposeCachedFields(),(this.currentSchema.components||[]).forEach(function(e){o.refreshRenderedComponent(e,o.rootEl)}),this.rootEl&&(this.rootEl.scrollTop=r,this.rootEl.scrollLeft=n)}},e.prototype.refreshRenderedComponent=function(e,t){var i=this,o=t;if(o="tabs"===e.type?t.querySelector("#"+e.id+".e-control.e-tab")||t:t.querySelector('[data-field-id="'+e.id+'"]')||t,"richTextEditor"===e.type){var r=o.querySelector(".e-richtexteditor"),n=r?(0,l.getComponent)(r,"richtexteditor"):null;n&&n.refreshUI()}if("dataGrid"===e.type){var a=o.querySelector(".e-control.e-toolbar"),s=a?(0,l.getComponent)(a,"toolbar"):null;s&&s.refresh()}e.children&&e.children.forEach(function(e){return i.refreshRenderedComponent(e,t)}),e.tableCells&&e.tableCells.forEach(function(e){e.forEach(function(e){return e.forEach(function(e){return i.refreshRenderedComponent(e,t)})})}),e.tabItems&&e.tabItems.forEach(function(e){e.content&&e.content.forEach(function(e){return i.refreshRenderedComponent(e,t)})})},e.prototype.destroyRenderedInstance=function(e){if(e&&"function"==typeof e.destroy){var t=e;if(!(t.isDestroyed||t.destroyed||t.disposed)){var i=e.element||e.target||(e.hostElement&&"function"==typeof e.hostElement?e.hostElement():void 0);try{t.isDestroyed=!0,t.destroyed=!0,t.disposed=!0,e.destroy()}catch(e){console.warn("FormRenderer: failed to destroy child instance.",e)}finally{if(i&&i.parentNode)try{i.parentNode.removeChild(i)}catch(e){}}}}},e.prototype.destroy=function(){var e=this;if(this.disposeCachedFields(),(this.props.formBuilder.isReact||this.props.formBuilder.isAngular)&&this.props.formBuilder.clearTemplate(),this.renderedInstances.forEach(function(t){e.destroyRenderedInstance(t)}),this.disposeChildren(),this.renderedInstances=[],this.editorToolbar&&(this.editorToolbar.destroy(),this.editorToolbar=null),this.toolbarHost&&this.toolbarHost.parentNode===this.host&&this.toolbarHost.parentNode.removeChild(this.toolbarHost),this.toolbarHost=null,this.rootEl&&this.rootEl.parentNode===this.host&&this.host.removeChild(this.rootEl),this.rootEl=null,this.formAreaEl=null,this.activeTabIndices.clear(),this.rootCloneHost&&(this.rootCloneHost.style.display="none",this.rootCloneHost.style.opacity="0"),this.nestedCloneHost&&(this.nestedCloneHost.style.display="none",this.nestedCloneHost.style.opacity="0"),this.rootCloneHost=null,this.nestedCloneHost=null,this.initialDragY=null,this.currentDragY=null,this.nestedInitialDragY=null,this.nestedCurrentDragY=null,this.draggedItemIndex=null,this.nestedDraggedIndex=null,this.isReordering=!1,this.isNestedReordering=!1,this.isDraggingFromPalette=!1,this.activeNestedContainer=null,this.draggedComponentInfo=null,this.nestedComponents=[],this.nestedContainerId=null,this.nestedContainerPath=null,this.nestedCellInfo=void 0,this.removeTrackedListener(this.addFieldMessageWrapper,"keydown",this.handlers.onAddFieldMessageKeyDown),this.removeTrackedListener(this.addFieldMessageWrapper,"click",this.openListBoxPane),this.addFieldMessage){try{this.addFieldMessage.destroy()}catch(e){}var t=this.owners.messages.indexOf(this.addFieldMessage);t>=0&&this.owners.messages.splice(t,1)}this.addFieldMessage=null,this.addFieldMessageWrapper=null,this.listboxPane&&this.listboxPane.destroy(),this.listboxPane=null,this.listboxPaneHost&&this.listboxPaneHost.parentNode&&this.listboxPaneHost.parentNode.removeChild(this.listboxPaneHost),this.listboxPaneHost=null,this.isListBoxPaneOpen=!1,this.jsonViewer=null,this.lastJsonSchemaRef=null,this.previewPane=null,this.previewPaneHost=null,this.owners.previewPane=null,this.lastPreviewSchemaRef=null,this.lastPreviewSplitData=null,this.isPreviewOpen=!1;for(var i=0;i<this.owners.buttons.length;i++)try{this.owners.buttons[i]&&"function"==typeof this.owners.buttons[i].destroy&&this.owners.buttons[i].destroy()}catch(e){}this.owners.buttons=[];for(var o=0;o<this.owners.dialogs.length;o++)try{this.owners.dialogs[o]&&"function"==typeof this.owners.dialogs[o].destroy&&this.owners.dialogs[o].destroy()}catch(e){}this.owners.dialogs=[];for(var r=0;r<this.owners.grids.length;r++)try{this.owners.grids[r]&&"function"==typeof this.owners.grids[r].destroy&&this.owners.grids[r].destroy()}catch(e){}this.owners.grids=[];for(var n=0;n<this.owners.formRenderers.length;n++)try{this.owners.formRenderers[n]&&"function"==typeof this.owners.formRenderers[n].destroy&&this.owners.formRenderers[n].destroy()}catch(e){}this.owners.formRenderers=[],this.clearAllDragVisuals()},e.isDefaultFormSchema=function(e){return li(e)},e.prototype.getFormWidth=function(e){var t=e&&e.settings&&e.settings.width;if(!t)return"500px";var i=String(t).trim(),o=i.match(/^([0-9]+(?:\.[0-9]+)?)%$/);return o&&parseFloat(o[1])>100?"100%":i},e.prototype.buildShell=function(){if(!this.rootEl||this.rootEl.parentNode!==this.host){var e=(0,l.createElement)("div",{className:"main-content e-form-builder-canvas",attrs:{"aria-label":"Design canvas"}}),t=(0,l.createElement)("div",{className:"form-preview-area e-form-builder-canvas-area",attrs:{"data-drop-zone":"root",tabindex:"-1",role:"region","aria-label":"Form Preview"}}),i=(0,l.createElement)("div",{className:"form-field-clone",attrs:{"aria-hidden":"true"},styles:"opacity: 0; padding: 12px; z-index: 10000; justify-content: center; align-items: center; gap: 8px; height: 37px; min-width: 170px; background-color: rgb(var(--sf-drag-clone)); border: 2px solid var(--sf-color-primary); border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.2); pointer-events: none; display: none;"}),o=(0,l.createElement)("div",{className:"clone-content",styles:"font-size: 14px; font-weight: 500;"});i.appendChild(o);var r=(0,l.createElement)("div",{className:"nested-field-clone",attrs:{"aria-hidden":"true"},styles:"opacity: 0; padding: 12px; z-index: 10001; justify-content: center; align-items: center; gap: 8px; height: 37px; min-width: 170px; background-color: var(--sf-color-surface); border: 2px solid var(--sf-color-primary); border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.2); pointer-events: none; display: none; position: fixed;"}),n=(0,l.createElement)("div",{className:"clone-content",styles:"font-size: 14px; font-weight: 500;"});r.appendChild(n),e.appendChild(t),e.appendChild(i),e.appendChild(r),this.toolbarHost=(0,l.createElement)("div",{attrs:{id:"Editor-Tooltip",role:"toolbar","aria-label":"Form Builder Actions",style:"position: absolute;"},className:"editor-handle"}),this.host.appendChild(e),this.host.appendChild(this.toolbarHost),this.rootEl=e,this.formAreaEl=t,this.rootCloneHost=i,this.nestedCloneHost=r,this.props.enableRtl&&e.classList.add("e-rtl")}},e.prototype.renderToolbar=function(t){if(this.toolbarHost){var i={enablePreview:this.props.enablePreview,isDefaultSchema:e.isDefaultFormSchema(t),enableRtl:this.props.enableRtl,showSplitView:this.showSplitView,isPreviewOpen:this.isPreviewOpen,onCopySchema:this.handleCopySchema.bind(this),onReset:this.handleReset.bind(this),onShowBuild:this.handleShowBuild.bind(this),onShowJson:this.handleShowJson.bind(this),onShowPreview:this.handleShowPreview.bind(this)};this.editorToolbar?this.editorToolbar.render(i):this.editorToolbar=new pi(this.toolbarHost,i,this.l10n,this.owners)}},e.prototype.handleReset=function(){var e=this;this.renderedInstances.forEach(function(t){e.destroyRenderedInstance(t)}),this.renderedInstances=[],this.props.onReset&&this.props.onReset()},e.prototype.handleCopySchema=function(){this.props.onCopySchema&&this.props.onCopySchema()},e.prototype.handleShowBuild=function(){this.showSplitView=!1,this.isPreviewOpen=!1,this.render(this.currentSchema)},e.prototype.handleShowJson=function(){var e=this;this.showSplitView=!0,this.isPreviewOpen=!1,this.renderedInstances.forEach(function(t){e.destroyRenderedInstance(t)}),this.renderedInstances=[],this.render(this.currentSchema)},e.prototype.handleShowPreview=function(){var e=this;this.isPreviewOpen=!0,this.renderedInstances.forEach(function(t){e.destroyRenderedInstance(t)}),this.renderedInstances=[],this.render(this.currentSchema)},e.prototype.closePreview=function(){this.isPreviewOpen&&(this.isPreviewOpen=!1,this.render(this.currentSchema))},e.prototype.renderPreview=function(e){if(this.rootEl&&(this.formAreaEl&&(this.formAreaEl.style.display="none"),this.ensurePreviewPane(),this.previewPane)){var t=e||this.currentSchema||{version:"0.1.0",components:[{id:"default-submit-button",type:"button",name:"defaultSubmit",label:"Submit",buttonType:"submit",_configured:!0}],settings:{name:"Untitled Form"}},i=null;if(this.lastPreviewSchemaRef===t&&this.lastPreviewSplitData)i=this.lastPreviewSplitData;else{try{i=ce(t)}catch(e){i=null}this.lastPreviewSchemaRef=t,this.lastPreviewSplitData=i}this.previewPane.render({isOpen:!0,onClose:this.handlers.closePreview,schema:i,formSchema:t,locale:this.props.locale||"en-US",owners:this.getPreviewPaneOwners(),toolboxItems:this.getToolboxItems(),formBuilder:this.props.formBuilder}),this.notifyFormIdInvalidation(t)}},e.prototype.ensurePreviewPane=function(){if(!(this.previewPane&&this.previewPaneHost&&this.previewPaneHost.parentNode)&&this.rootEl){var e=this.host;this.previewPaneHost=e,this.previewPane=new ci(e,{isOpen:!0,onClose:this.handlers.closePreview,enableRtl:this.props.enableRtl,schema:null,formSchema:this.currentSchema||{version:"0.1.0",components:[{id:"default-submit-button",type:"button",name:"defaultSubmit",label:"Submit",buttonType:"submit",_configured:!0}],settings:{name:"Untitled Form"}},locale:this.props.locale||"en-US",owners:this.getPreviewPaneOwners(),toolboxItems:this.getToolboxItems(),formBuilder:this.props.formBuilder}),this.owners.previewPane=this.previewPane}},e.prototype.getToolboxItems=function(){var e=this.props&&this.props.formBuilder;return e&&e.toolboxItems||[]},e.prototype.getPreviewPaneOwners=function(){return{buttons:this.owners.buttons,dialogs:this.owners.dialogs,grids:this.owners.grids,formRenderers:this.owners.formRenderers,docListeners:this.owners.docListeners,timers:this.owners.pendingTimers}},e.prototype.disposePreviewPane=function(){if(this.previewPane){try{this.previewPane.destroy()}catch(e){}this.previewPane=null,this.owners.previewPane=null}this.previewPaneHost=null,this.lastPreviewSchemaRef=null,this.lastPreviewSplitData=null,this.formAreaEl&&(this.formAreaEl.style.display="")},e.prototype.setFieldValue=function(e,t){this.previewPane.setFieldValue(e,t)},e.prototype.renderJsonView=function(e){if(this.rootEl)if(this.formAreaEl&&(this.formAreaEl.style.display="none"),this.jsonViewer)this.jsonViewer.render({formSchema:e,l10n:this.l10n});else{var t={buttons:this.owners.buttons,docListeners:this.owners.docListeners};this.jsonViewer=new hi(this.rootEl,{formSchema:e,l10n:this.l10n,force:!0,copySchema:this.handleCopySchema.bind(this)},t)}},e.prototype.refreshJsonViewer=function(e){e&&(this.currentSchema=e),this.jsonViewer&&this.jsonViewer.refresh(this.currentSchema)},e.prototype.updateJsonViewer=function(e){this.refreshJsonViewer(e)},e.prototype.notifyFormIdInvalidation=function(e){this.lastJsonSchemaRef!==e&&(this.lastJsonSchemaRef=e)},e.prototype.disposeJsonViewer=function(){if(this.jsonViewer&&(this.jsonViewer.destroy(),this.jsonViewer=null),this.rootEl)for(var e=this.rootEl.querySelectorAll(".split-view-container"),t=e.length-1;t>=0;t--){var i=e[t];i.parentNode&&i.parentNode.removeChild(i)}},e.prototype.disposeChildren=function(){for(var e=0;e<this.owners.droppables.length;e++)try{this.owners.droppables[e].destroy()}catch(e){}this.owners.droppables=[];for(var t=0;t<this.owners.draggables.length;t++)try{this.owners.draggables[t].destroy()}catch(e){}this.owners.draggables=[];for(var i=0;i<this.owners.fieldWrappers.length;i++){var o=this.owners.fieldWrappers[i].getHost().getAttribute("data-field-id")||"";if(!this.cachedFields.has(o))try{this.owners.fieldWrappers[i].destroy()}catch(e){}}this.owners.fieldWrappers=[];for(var r=0;r<this.owners.tabs.length;r++)try{this.owners.tabs[r].destroy()}catch(e){}this.owners.tabs=[];for(var n=0;n<this.owners.messages.length;n++)try{this.owners.messages[n].destroy()}catch(e){}if(this.owners.messages=[],this.addFieldMessage=null,this.addFieldMessageWrapper=null,this.formAreaEl){for(;this.formAreaEl.firstChild;)this.formAreaEl.removeChild(this.formAreaEl.firstChild);this.formAreaEl.style.display=""}if(this.disposePreviewPane(),this.disposeJsonViewer(),this.listboxPane)try{this.listboxPane.destroy()}catch(e){}this.listboxPane=null,this.listboxPaneHost=null;for(var a=this.parent.querySelectorAll(".is-being-dragged"),s=0;s<a.length;s++)a[s].classList.remove("is-being-dragged");this.disposeGlobalPointerTracker(),this.clearAllDragVisuals()},e.prototype.renderEmptyState=function(e){if(this.formAreaEl){var t=this.getFormWidth(e),i=(0,l.createElement)("div",{className:"empty-state",attrs:{"data-empty-state":"true",style:"min-width: "+t+"; max-width: "+t+"; overflow-x: auto;"}}),o=(0,l.createElement)("div",{className:"form-dropzone sf-lib sf-droppable",attrs:{"aria-label":"Drop Zone"}}),r=(0,l.createElement)("div",{className:"form-dropzone-content"}),n=(0,l.createElement)("div",{className:"form-dropzone-icon"});n.innerHTML='\n<svg aria-hidden="true"\n xmlns="http://www.w3.org/2000/svg"\n width="96"\n height="96"\n viewBox="0 0 96 96"\n fill="none">\n <rect x="52.4453" y="19.8672" width="8.53634" height="45.4857" transform="rotate(45 52.4453 19.8672)" fill="#F2994A" />\n <rect x="54.4609" y="17.8574" width="21.3409" height="2.84286" transform="rotate(45 54.4609 17.8574)" fill="black" />\n <path d="M58.4694 13.837C61.8 10.5064 67.2 10.5064 70.5306 13.837L73.5597 16.866C76.8903 20.1967 76.8903 25.5967 73.5596 28.9273L69.5392 32.9477L54.449 17.8574L58.4694 13.837Z" fill="#F33131" />\n <rect x="58.4922" y="25.9053" width="12.8045" height="45.4857" transform="rotate(45 58.4922 25.9053)" fill="#E7BB33" />\n <path d="M20.2812 52.0312L35.3715 67.1215L15.7652 71.6376L20.2812 52.0312Z" fill="#8E8E8E" />\n <path d="M20.2812 52.0312L35.3715 67.1215L25.5683 69.3796L18.0232 61.8344L20.2812 52.0312Z" fill="#D2D2D2" />\n <path d="M25.5 76C55.5 96 54 52.5 85.8438 79.9495" stroke="#8E8E8E" stroke-width="5" stroke-linecap="round" />\n</svg>';var a=(0,l.createElement)("span",{className:"dropzone-title"}),s=(0,l.createElement)("p",{className:"dropzone-hint"});a.textContent=this.l10n&&this.l10n.getConstant("startBuildingForm")||"Start building your form",s.textContent=this.l10n&&this.l10n.getConstant("dragFieldsHint")||"Drag fields from the left panel and drop them here to create your form.",r.appendChild(n),r.appendChild(a),r.appendChild(s),o.appendChild(r),i.appendChild(o),this.formAreaEl.appendChild(i),this.registerRootDroppable(this.formAreaEl,e,!0),this.installGlobalPointerTracker(this.formAreaEl)}},e.prototype.renderAddFieldMessage=function(e){var t=this.l10n&&this.l10n.getConstant("addNewField")||"Add new field",i=(0,l.createElement)("div",{className:"add-field-message-wrapper",attrs:{tabindex:"0",role:"button","aria-label":t}}),o=(0,l.createElement)("div",{className:"add-field-message"});i.appendChild(o),e.appendChild(i),i.addEventListener("keydown",this.handlers.onAddFieldMessageKeyDown),this.owners.docListeners.push({target:i,event:"keydown",handler:this.handlers.onAddFieldMessageKeyDown});var r=this.l10n&&this.l10n.getConstant("dragAnyFieldHere")||"Drag any field here or click to add new field",n='<span class="add-field-message-body"><span class="e-icons e-plus" aria-hidden="true"></span>'+this.escapeHtml(r)+"</span>",a=new R.Message({content:n,cssClass:"add-field-message",showIcon:!1,showCloseIcon:!1});a.appendTo(o),this.addFieldMessage=a,this.owners.messages.push(a),this.addFieldMessageWrapper=i,i.addEventListener("click",this.handlers.openListBoxPane),this.owners.docListeners.push({target:i,event:"click",handler:this.handlers.openListBoxPane})},e.prototype.renderListBoxPaneHost=function(e){if(!this.listboxPane&&!this.listboxPaneHost){var t=(0,l.createElement)("div",{className:"listbox-pane-host",attrs:{"aria-hidden":"true"}}),i=e||this.rootEl||this.host||null;i&&i.appendChild(t),this.listboxPaneHost=t;var o={listboxes:this.owners.listboxes,docListeners:this.owners.docListeners,timers:this.owners.pendingTimers};this.listboxPane=new di(t,{isOpen:!1,onClose:this.handlers.closeListBoxPane,onSelect:this.handlers.onListBoxSelect,paletteConfig:this.props.paletteConfig,mode:this.props.mode,l10n:this.l10n,owners:o},this.l10n)}},e.prototype.openListBoxPane=function(){this.isListBoxPaneOpen||(this.isListBoxPaneOpen=!0,this.listboxPane&&this.listboxPane.render({isOpen:!0,onClose:this.handlers.closeListBoxPane,onSelect:this.handlers.onListBoxSelect,paletteConfig:this.props.paletteConfig,mode:this.props.mode,l10n:this.l10n,owners:{listboxes:this.owners.listboxes,docListeners:this.owners.docListeners,timers:this.owners.pendingTimers}}))},e.prototype.closeListBoxPane=function(){this.isListBoxPaneOpen&&(this.isListBoxPaneOpen=!1,this.listboxPane&&this.listboxPane.render({isOpen:!1,onClose:this.handlers.closeListBoxPane,onSelect:this.handlers.onListBoxSelect,paletteConfig:this.props.paletteConfig,mode:this.props.mode,l10n:this.l10n,owners:{listboxes:this.owners.listboxes,docListeners:this.owners.docListeners,timers:this.owners.pendingTimers}}))},e.prototype.onAddFieldMessageKeyDown=function(e){e&&("Enter"!==e.code&&"Space"!==e.code&&"Enter"!==e.key&&" "!==e.key||(this.openListBoxPane(),e.preventDefault()))},e.prototype.onListBoxSelect=function(e){if(e&&e.type){var t={id:ne(e.type),type:e.type,label:e.label||"",name:ae(e.type)};this.props.onDrop&&this.props.onDrop(t)}},e.prototype.escapeHtml=function(e){return e?String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;"):""},e.prototype.renderForm=function(e){if(this.formAreaEl){var t=this.getFormWidth(e),i=(e.components||[]).slice();this.currentComponents=i;var o=i.length,r=(0,l.createElement)("div",{attrs:{style:"margin: 0 auto; min-height: 100%"}}),n=(0,l.createElement)("form",{className:"sf-control form-components",attrs:{novalidate:"","aria-label":"Form Builder Preview",autocomplete:"off",style:"min-width: "+t+"; overflow-x: auto;width: "+t+";"}}),a=(0,l.createElement)("div",{className:"draggable-fields-container sf-lib sf-droppable"}),s=(0,l.createElement)("div",{attrs:{style:"width: 100%; margin: 0px; padding: 0px;"}});s.appendChild(a),n.appendChild(s),r.appendChild(n),this.formAreaEl.appendChild(r);for(var p=0;p<o;p++){var d=i[p],h=(0,l.createElement)("div",{className:"form-field-wrapper",attrs:{"data-field-id":d.id||""}});a.appendChild(h);var c=this.renderField(d,p,o,h);this.owners.fieldWrappers.push(c)}if(this.renderAddFieldMessage(s),this.renderListBoxPaneHost(r),o>0){var u=new l.Draggable(s,{scope:"internal",clone:!0,enableTailMode:!0,isPreventSelect:!0,helper:this.handlers.helper,dragStart:this.handlers.dragStart,drag:this.handlers.drag,dragStop:this.handlers.dragStop});this.owners.draggables.push(u)}this.registerRootDroppable(this.formAreaEl,e,!1),this.installGlobalPointerTracker(this.formAreaEl)}},e.prototype.renderField=function(t,i,o,r,n,a){var s=this,p=t.id||"",d=this.cachedFields.get(p);if(d&&d.type===String(t.type)){this.cachedFields.delete(p),r&&r.parentNode&&(r.parentNode.insertBefore(d.host,r),r.parentNode.removeChild(r));var h=d.host.querySelector(".form-field");return h&&(h.setAttribute("data-index",String(i)),n&&h.setAttribute("data-nested-index",String(i))),d.wrapper.updatePreserved(t,e.activeFieldId===p,i,o,!!n,a),d.wrapper}var c=r||(0,l.createElement)("div",{className:"e-form-builder-field-slot",attrs:{"data-field-index":String(i)}});!r&&this.formAreaEl&&this.formAreaEl.appendChild(c);var u={component:t,isActive:e.activeFieldId===t.id,index:i,totalCount:o,mode:this.props.mode,enableRtl:this.props.enableRtl,registerRenderedInstance:function(e){return s.renderedInstances.push(e)},hasClipboardData:this.props.hasClipboardData,isNested:!!n,nestingContext:a,onEdit:function(e){return s.props.onEdit(e)},onCopy:function(e){return s.props.onCopy(e)},onPaste:function(e){return s.props.onPaste(e)},onDelete:function(e){return s.props.onDelete(e)},onSwitchWidget:this.props.onSwitchWidget,onMoveUp:this.props.onMoveUp,onMoveDown:this.props.onMoveDown,onNestedMoveUp:this.props.onNestedMoveUp,onNestedMoveDown:this.props.onNestedMoveDown,nestedContainerClass:n},v=new si(c,u,this.l10n),g=v.getFieldHost(),f=!1,m=this.resolveCustomWidget(t);if(m&&m.template){var b=null;try{b=this.getTemplateFunction(m.template)}catch(e){b=null}if(b&&g.parentElement)try{var y=g.parentElement;g.parentNode&&g.parentNode.removeChild(g);var C=b({fieldData:Object.assign({},t,{id:t.name,name:t.id,type:me(t.type),widget:t.type}),value:t.defaultValue},this.props.formBuilder),x=void 0;if(null==C)x=[];else if(Array.isArray(C))x=C;else if("string"==typeof C)x=[C];else if("object"!=typeof C||C.nodeType||"number"!=typeof C.length||"function"!=typeof C.item)x=[C];else{for(var w=[],P=C,S=0;S<P.length;S++)w.push(P[S]);x=w}for(var j=0,O=x;j<O.length;j++){var T=O[j];if(T&&"object"==typeof T&&T.nodeType)y.appendChild(T);else if("string"==typeof T){var k=(0,l.createElement)("span");for(k.innerHTML=T;k.firstChild;)y.appendChild(k.firstChild)}else if(T&&"object"==typeof T)throw new Error('Custom widget template for "'+t.name+'" returned a framework object that the vanilla renderer cannot insert. Use the React/Angular/Vue wrapper (registered templates / portals) for JSX or platform templates.')}m.templateId&&y.setAttribute("data-template-id",m.templateId),y.setAttribute("data-custom-template","true"),f=!0}catch(e){f=!1}}if(!f)if(this.isLayout(t.type))this.renderFormComponent(t,g);else{var F=pt({component:t,target:g,locale:this.props.locale||"en-US",onChange:function(){},ref:function(){},formState:{values:{}}});Array.isArray(F)?F.forEach(function(e){e&&"function"==typeof e.destroy&&s.renderedInstances.push(e)}):F&&"function"==typeof F.destroy&&this.renderedInstances.push(F)}return v},e.prototype.resolveCustomWidget=function(e){var t=this.props&&this.props.formBuilder;if(!t)return null;var i=e?String(e.type):"";if(!i)return null;for(var o=t.toolboxItems||[],r=0;r<o.length;r++){var n=o[r];if(n&&n.type===i){var a=n.template||null;return a?{template:a,templateId:n.templateId||""}:null}}return null},e.prototype.getTemplateFunction=function(e){var t=null;try{t="string"==typeof e&&-1!==e.indexOf("#")&&document.querySelectorAll(e).length?(0,l.compile)(this.sanitizeTemplateValue(document.querySelector(e).innerHTML.trim())):"string"==typeof e?(0,l.compile)(this.sanitizeTemplateValue(e)):(0,l.compile)(e)}catch(i){t=(0,l.compile)(e)}return t},e.prototype.sanitizeTemplateValue=function(e){if(this.props.formBuilder.enableHtmlSanitizer&&"string"==typeof e)try{return l.SanitizeHtmlHelper.sanitize(e)}catch(e){}return e},e.prototype.isCachedFieldType=function(e){return-1!==["textbox","textarea","number","checkbox","checkboxGroup","radio","dropdown","multiselect","button","date","dateTime","time","dateRange","switch","signature","rating","imageEditor","fileUpload","rangeSlider","colorPicker","inputMask","message","dataGrid","splitButton","richTextEditor"].indexOf(e)},e.prototype.cacheFields=function(e,t){if(void 0===t&&(t=!1),this.cachedFields.forEach(function(e){e.host.parentNode&&e.host.parentNode.removeChild(e.host)}),this.cachedFields.clear(),!t)for(var i=0;i<this.owners.fieldWrappers.length;i++){var o=this.owners.fieldWrappers[i],r=o.getHost(),n=r.getAttribute("data-field-id")||"",a=r.getAttribute("data-component-type")||"";n&&n!==e&&this.isCachedFieldType(a)&&r.parentNode&&(this.cachedFields.set(n,{host:r,wrapper:o,type:a}),r.parentNode.removeChild(r))}},e.prototype.disposeCachedFields=function(){this.cachedFields.forEach(function(e){try{e.wrapper.destroy()}catch(e){}e.host.parentNode&&e.host.parentNode.removeChild(e.host)}),this.cachedFields.clear()},e.prototype.renderFormComponent=function(e,t){switch(String(e.type)){case"panel":return void this.renderPanel(e,t);case"card":return void this.renderCard(e,t);case"table":return void this.renderTable(e,t);case"tabs":return void this.renderTabs(e,t);case"staticHtml":var i=new nt({content:e.defaultValue||"<p>HTML content</p>",id:e.id,enableHtmlSanitizer:e.enableHtmlSanitizer,target:t});return void t.appendChild(i.render());default:return void pt({component:e,target:t,locale:this.props.locale||"en-US",onChange:function(){},ref:function(){}})}},e.prototype.renderPanel=function(e,t){var i=e.parentPath?e.parentPath+"."+e.id:e.id||"",o=e.children||[],r=o.length>0,n=this.draggingOverPanel===e.id,a=(0,l.createElement)("fieldset",{className:"form-panel-renderer form-panel",attrs:{"data-component-id":e.id||"","data-panel-id":e.id||""},styles:"min-inline-size: unset; padding: 0px;"});if(!e.hideLabel&&e.label){var s=(0,l.createElement)("legend",{className:"panel-legend"});s.textContent=e.label||"",a.appendChild(s)}var p=(0,l.createElement)("div",{className:"panel-drop-zone"+(n?" dragging-over":"")+(0===o.length?" empty":"")+(e.cssClass?" "+e.cssClass:""),attrs:{"data-panel-id":e.id||"","aria-label":"Drop Zone"}}),d=this.renderNestedChildren(e,o,i,r);p.appendChild(d),a.appendChild(p),t.appendChild(a),this.attachNestedDroppable(p,e,i)},e.prototype.renderNestedChildren=function(e,t,i,o){var r=this,n=this,a=(0,l.createElement)("div",{className:"panel-children"+(n.isNestedReordering&&n.activeNestedContainer===e.id?" is-nested-reordering":"")});if(0===t.length){var s=(0,l.createElement)("p",{className:"drop-zone-text"}),p=n.l10n&&n.l10n.getConstant("emptyFieldSetState")||"";return s.textContent=p||"Drop fields here",s}for(var d=0;d<t.length;d++){var h=t[d],c=n.createNestedFieldSlot(h,d,"panel"),u=c.slot,v=c.klass;a.appendChild(u);var g=n.renderField(h,d,t.length,u,v,{parentId:e.id,parentPath:i,cellInfo:void 0});Array.prototype.push.apply(n.owners.fieldWrappers,[g])}if(o){n.nestedComponents=t.slice(),n.nestedContainerId=e.id||null,n.nestedContainerPath=i,n.nestedCellInfo=void 0;var f=new l.Draggable(a,{scope:"internal",clone:!0,enableTailMode:!0,isPreventSelect:!0,helper:function(i){return n.handlers.nestedHelper(vi({},i,{children:t,parentId:e.id,cellInfo:r.nestedCellInfo}),"panel-child-field-draggable")},dragStart:n.handlers.nestedDragStart,drag:n.handlers.nestedDrag,dragStop:function(e){return n.handlers.nestedDragStop(e,"panel-child-field-draggable")}});n.owners.draggables.push(f)}return a},e.prototype.createNestedFieldSlot=function(e,t,i){var o="table"===i?"table-cell-child-draggable":"tabs"===i?"tab-child-field-draggable":"panel-child-field-draggable";return{slot:(0,l.createElement)("div",{className:"nested-field",attrs:{"data-nested-index":String(t),"data-component-id":e.id||""}}),klass:o}},e.prototype.mountNestedChildren=function(e,t,i,o,r,n,a,s){var p=this;p.isNestedReordering&&p.activeNestedContainer===a?e.classList.add("is-nested-reordering"):e.classList.remove("is-nested-reordering");for(var d=0;d<t.length;d++){var h=t[d],c=p.createNestedFieldSlot(h,d,i),u=c.slot,v=c.klass;e.appendChild(u);var g=p.renderField(h,d,t.length,u,v,{parentId:o,parentPath:r,cellInfo:n});Array.prototype.push.apply(p.owners.fieldWrappers,[g])}if(t.length>0){p.nestedComponents=t.slice(),p.nestedContainerId=o,p.nestedContainerPath=r,p.nestedCellInfo=n;var f=new l.Draggable(e,{scope:"internal",clone:!0,enableTailMode:!0,isPreventSelect:!0,helper:function(e){return p.handlers.nestedHelper(vi({},e,{children:t,parentId:o,cellInfo:n}),s)},dragStart:p.handlers.nestedDragStart,drag:p.handlers.nestedDrag,dragStop:function(e){return p.handlers.nestedDragStop(e,s)}});p.owners.draggables.push(f)}},e.prototype.renderCard=function(e,t){var i=e.parentPath?e.parentPath+"."+e.id:e.id||"",o=e.children||[],r=o.length>0,n=(0,l.createElement)("fieldset",{className:"e-card form-card"+(e.cssClass?" "+e.cssClass:""),attrs:{"data-component-id":e.id||"","data-card-id":e.id||""},styles:"padding: 0; min-inline-size: unset;"}),a=(0,l.createElement)("div",{className:"e-card-header"}),s=(0,l.createElement)("div",{className:"e-card-header-caption"}),p=(0,l.createElement)("div",{className:"e-card-title"}),d=this.l10n&&this.l10n.getConstant("cardTitle")||"";if(p.textContent=e.cardTitle||d||"Card",s.appendChild(p),e.cardSubtitle){var h=(0,l.createElement)("div",{className:"e-card-sub-title"});h.textContent=String(e.cardSubtitle),s.appendChild(h)}a.appendChild(s),n.appendChild(a);var c=(0,l.createElement)("div",{className:"e-card-content"}),u=(0,l.createElement)("div",{className:"panel-drop-zone"+(0===o.length?" empty":"")+(e.cssClass?" "+e.cssClass:""),attrs:{"data-panel-id":e.id||"","aria-label":"Drop Zone"}}),v=this.renderNestedChildren(e,o,i,r);u.appendChild(v),c.appendChild(u),n.appendChild(c),t.appendChild(n),this.attachNestedDroppable(u,e,i)},e.prototype.renderTable=function(e,t){for(var i=this,o=e.rows||2,r=e.columns||2,n=e.tableCells||[],a=e.parentPath?e.parentPath+"."+e.id:e.id||"",s=Math.floor(12/r),p=e.columnWidths?Ae(e.columnWidths.widths||[]):[],d=e.cssClass?" "+e.cssClass:"",h=(0,l.createElement)("div",{className:"form-table"+d,attrs:{"data-component-id":e.id||""}}),c=(0,l.createElement)("div",{className:"table-grid"}),u=0;u<o;u++){for(var v=(0,l.createElement)("div",{className:"row table-row",attrs:{"data-table-row":String(u)}}),g=0;g<r;g++){var f=n[u]&&n[u][g]?n[u][g]:[],m=e.id+"-cell-"+u+"-"+g,b=a+".cell-"+u+"-"+g,y=s,C=i.draggingOverPanel===m,x=(f.length,p.length>g?p[g]:void 0),w=["col","table-cell","drop-zone"];C&&w.push("dragging-over"),0===f.length&&w.push("empty"),void 0===x&&w.push("col-"+y),e.cssClass&&w.push(String(e.cssClass));var P=[];void 0!==x&&P.push("width: "+x+"%");var S={"aria-label":"Drop Zone","data-container-id":e.id||"","data-cell-row":String(u),"data-cell-col":String(g),"data-cell-span":String(y)};P.length>0&&(S.style=P.join("; "));var j=(0,l.createElement)("div",{className:w.join(" "),attrs:S});if(0===f.length){var O=(0,l.createElement)("p",{className:"drop-zone-text"}),T=i.l10n&&i.l10n.getConstant("cell")||"Cell";O.textContent=T+" "+(u+1)+"-"+(g+1),j.appendChild(O)}else{var k=(0,l.createElement)("div",{className:"nested-components"});i.mountNestedChildren(k,f,"table",e.id||"",b,{row:u,col:g},m,"table-cell-child-draggable"),j.appendChild(k)}v.appendChild(j)}c.appendChild(v)}h.appendChild(c),t.appendChild(h);for(var F=h.querySelectorAll(".table-cell"),I=0;I<F.length;I++){var A=F[I];b=a+".cell-"+(u=parseInt(A.getAttribute("data-cell-row")||"0",10))+"-"+(g=parseInt(A.getAttribute("data-cell-col")||"0",10));i.attachNestedDroppable(A,e,b,{row:u,col:g})}},e.prototype.renderTabs=function(e,t){var i=this,o=(e.tabItems||[{header:"Tab1"}]).slice();if(0===o.length){var r=(0,l.createElement)("div",{className:"form-tabs form-tabs-empty",attrs:{"data-component-id":e.id||""}});return t.appendChild(r),void i.attachNestedDroppable(r,e,e.id||"")}for(var n=e.parentPath?e.parentPath+"."+e.id:e.id||"",a=!e.tabOptions,s=[],p=0;p<o.length;p++){var d=o[p],h=a&&0===p?i.l10n&&i.l10n.getConstant("defaultTabValue")||"Tab 1":d&&d.header?String(d.header):"";s.push({header:h,content:d&&d.content||[]})}var u=[];for(p=0;p<s.length;p++)u.push(i.createTabBody(s[p],e,n,p));var v=[];for(p=0;p<s.length;p++)v.push({header:{text:s[p].header},content:u[p]});var g=(0,l.createElement)("div",{className:"form-tabs e-form-builder-tab-host"+(e.cssClass?" "+e.cssClass:""),attrs:{"data-component-id":e.id||""}});t.appendChild(g);for(p=i.owners.tabs.length-1;p>=0;p--){if((d=i.owners.tabs[p])&&d.__formBuilderId===e.id){try{d.destroy()}catch(e){}i.owners.tabs.splice(p,1)}}var f=new c.Tab({items:v,animation:{previous:{effect:"None"},next:{effect:"None"}},selectedItem:i.activeTabIndices.get(e.id||"")||0,locale:i.props.locale||"en-US",enableRtl:!!i.props.enableRtl,selected:function(t){var o=t&&"number"==typeof t.selectedIndex?t.selectedIndex:0;e.id&&i.activeTabIndices.set(e.id,o)}});f.__formBuilderId=e.id,f.appendTo(g),i.owners.tabs.push(f),this.renderedInstances.push(f)},e.prototype.createTabBody=function(e,t,i,o){var r=this,n=(t.id||"")+"-tab-"+o,a=e.content||[],s=r.draggingOverPanel===n,p=(a.length,(0,l.createElement)("div",{className:"tab-drop-zone"+(s?" dragging-over":"")+(0===a.length?" empty":""),attrs:{"aria-label":"Drop Zone","data-container-id":t.id||"","data-tab-index":String(o)}}));if(0===a.length){var d=(0,l.createElement)("p",{className:"drop-zone-text"}),h=r.l10n&&r.l10n.getConstant("emptyFieldSetState")||"Drop fields here";d.textContent=h,p.appendChild(d)}else{var c=(0,l.createElement)("div",{className:"tab-children"});r.mountNestedChildren(c,a,"tabs",t.id||"",i,{row:0,col:0,tabIndex:o},n,"tab-child-field-draggable"),p.appendChild(c)}return r.attachNestedDroppable(p,t,i,{row:0,col:0,tabIndex:o}),p},e.prototype.isLayout=function(e){return["panel","card","table","tabs","staticHtml"].indexOf(String(e))>=0},e.prototype.registerRootDroppable=function(e,t,i){var o=new l.Droppable(e,{drop:i?this.makeEmptyStateDrop():this.handlers.handleDrop,over:this.handlers.handleDragOver,out:this.handlers.handleDragLeave});this.owners.droppables.push(o)},e.prototype.installGlobalPointerTracker=function(e){var t=this,i=function(e){if(t.isPaletteDrag()){var i=t.getEventPoint(e);if(i){var o="undefined"!=typeof document&&document.elementFromPoint?document.elementFromPoint(i.x,i.y):null,r=!!(o&&o.classList&&o.classList.contains("table-cell")),n=!!(o&&o.classList&&o.classList.contains("tab-drop-zone")),a=!!(o&&o.classList&&o.classList.contains("panel-drop-zone")),s=r?o:t.findFilteredClosest(o,".table-cell",["panel-drop-zone","tab-drop-zone"]),l=n?o:t.findFilteredClosest(o,".tab-drop-zone",["panel-drop-zone"]),p=a?o:t.findFilteredClosest(o,".panel-drop-zone",["tab-drop-zone"]);r&&(l=null,p=null),n&&(s=null,p=null),a&&(s=null,l=null);var d=".form-field-draggable",h=!1;s?(d=".table-cell-child-draggable",h=!0):l?(d=".tab-child-field-draggable",h=!0):p&&(d=".panel-child-field-draggable",h=!0);var c=s||l||p||null,u=t.findDropTarget(i.y,d,c);u?h?(t.clearNestedDropTargetVisuals(),t.nestedDropTargetIndex=u.index,t.nestedDropPosition=u.position,t.updateNestedDropTargetVisuals(u,d,c),t.dropTargetIndex=null,t.dropPosition=null,t.clearDropTargetVisuals()):(t.clearDropTargetVisuals(),t.dropTargetIndex=u.index,t.dropPosition=u.position,t.updateDropTargetVisuals(u),t.nestedDropTargetIndex=null,t.nestedDropPosition=null,t.clearNestedDropTargetVisuals()):(t.dropTargetIndex=null,t.dropPosition=null,t.nestedDropTargetIndex=null,t.nestedDropPosition=null,t.clearDropTargetVisuals(),t.clearNestedDropTargetVisuals())}}};t.addTrackedListener(e,"mousemove",i,!1),t.addTrackedListener(e,"touchmove",i,{passive:!0}),t.addTrackedListener(e,"pointermove",i,!1),t.pointerTrackerHost=e,t.pointerTrackerHandler=i},e.prototype.disposeGlobalPointerTracker=function(){var e=this,t=e.pointerTrackerHost,i=e.pointerTrackerHandler;t&&i&&(e.removeTrackedListener(t,"mousemove",i,!1),e.removeTrackedListener(t,"touchmove",i,{passive:!0}),e.removeTrackedListener(t,"pointermove",i,!1),e.pointerTrackerHost=null,e.pointerTrackerHandler=null)},e.prototype.makeEmptyStateDrop=function(){var e=this;return function(t){var i=e.extractComponentsFromDrop(t);if(0!==i.length){var o=e.isTemplateDrop();o&&e.props.onDropBatchStart&&e.props.onDropBatchStart();try{for(var r=0;r<i.length;r++){var n=i[r];e.props.onDrop&&e.props.onDrop(n,null,null),e.props.onFieldDropped&&e.props.onFieldDropped({componentName:n.name||n.label||n.id||"",isReordered:!1,componentType:String(n.type),sourceContainerId:"palette",targetContainerId:"empty-zone"})}}finally{o&&e.props.onDropBatchEnd&&e.props.onDropBatchEnd()}setTimeout(function(){e.clearAllDragVisuals()},10)}}},e.prototype.attachNestedDroppable=function(e,t,i,o){var r=e,n=this,a=i||t&&t.id||"",s=o,p=s&&"number"==typeof s.tabIndex&&t&&t.id?t.id+"-tab-"+s.tabIndex:s&&"number"==typeof s.row&&"number"==typeof s.col&&t&&t.id?t.id+"-cell-"+s.row+"-"+s.col:t&&t.id?t.id:"",d=new l.Droppable(r,{drop:function(e){n.draggingOverPanel=null,r.classList.remove("dragging-over"),n.handlers.handleNestedDrop(t&&t.id?t.id:"",s,a)},over:function(e){n.draggingOverPanel=p,r.classList.add("dragging-over"),n.handlers.handleNestedDragOver(e,p),n.props.onFieldDraggingOver&&n.props.onFieldDraggingOver({isNested:!0})},out:function(e){n.draggingOverPanel===p&&(n.draggingOverPanel=null),r.classList.remove("dragging-over"),n.handlers.handleNestedDragLeave(e)}});n.owners.droppables.push(d)},e.prototype.extractComponentsFromDrop=function(e){var t=e&&e.droppedElement||null,i=this.parent.querySelector(".palette-item-clone[data-template-json]");if(i){var o=i.getAttribute("data-template-json");if(o)try{return fi(JSON.parse(o).templateData)}catch(e){}}var r=this.parent.querySelector(".palette-item-clone[data-component-json]")||t;if(!r)return[];var n=r.getAttribute("data-component-json");if(n)try{var a=JSON.parse(n);if(a&&a.type)return[this.buildFormComponentFromPalette(a)]}catch(e){}var s=r.getAttribute("data-component-type")||"";return s?[this.buildFormComponentFromPalette({type:s})]:[]},e.prototype.buildFormComponentFromPalette=function(e){var t=String(e.type),i=ne(t),o=ae(t),r={id:i,type:t,label:e.label||(this.l10n?this.l10n.getConstant(t):"")||t,name:o},n=e&&e.templateId?String(e.templateId):"",a=this.getToolboxEntry(t),s=n||(a&&a.templateId?String(a.templateId):"");return s&&(r.templateId=s),r},e.prototype.getToolboxEntry=function(e){var t=this.props&&this.props.formBuilder;if(!t||!e)return null;for(var i=t.toolboxItems||[],o=0;o<i.length;o++){var r=i[o];if(r&&r.type===e)return r}return null},e.prototype.handleDragOver=function(e){var t=this.parent.querySelector(".palette-item-clone");if(t&&this.formAreaEl&&(this.formAreaEl.classList.add("dragging-over"),this.isDraggingFromPalette=!0),this.props.onFieldDraggingOver&&this.props.onFieldDraggingOver({isNested:!1}),t){var i=this.getClientY(e.event);if(null!==i){var o=this.findDropTarget(i,".form-field-draggable");o?(this.dropTargetIndex=o.index,this.dropPosition=o.position,this.updateDropTargetVisuals(o)):(this.dropTargetIndex=null,this.dropPosition=null,this.clearDropTargetVisuals())}}},e.prototype.handleDragLeave=function(e){this.isDraggingFromPalette=!1,this.clearAllDragVisuals()},e.prototype.handleDrop=function(e){var t=this;if(!!this.draggedComponentInfo||this.isReordering||this.isNestedReordering)return this.isDraggingFromPalette=!1,void this.clearAllDragVisuals();var i=this.extractComponentsFromDrop(e);if(0!==i.length){var o=this.draggedComponentInfo?this.draggedComponentInfo.containerId:"palette",r=this.dropTargetIndex,n=this.dropPosition,a=this.isTemplateDrop();a&&this.props.onDropBatchStart&&this.props.onDropBatchStart();try{for(var s=0;s<i.length;s++){var l=i[s];this.props.onDrop&&this.props.onDrop(l,r,n),this.props.onFieldDropped&&this.props.onFieldDropped({componentName:l.name||l.label||l.id||"",isReordered:!1,componentType:String(l.type),sourceContainerId:o,targetContainerId:"root"}),null!==r&&n&&(r+=1,n="before")}}finally{a&&this.props.onDropBatchEnd&&this.props.onDropBatchEnd()}this.trackTimeout(function(){t.clearAllDragVisuals()},20),this.draggedComponentInfo=null}else this.clearAllDragVisuals()},e.prototype.handleNestedDrop=function(e,t,i){var o=this;if(this.clearNestedDropTargetVisuals(),e){if(!!this.draggedComponentInfo||this.isReordering||this.isNestedReordering)return this.isDraggingFromPalette=!1,this.draggedComponentInfo=null,void this.clearNestedDropTargetVisuals();var r=this.draggedComponentInfo;if(r&&r.containerId&&r.containerId!==e){var n=this.findComponentById(r.id);if(n){if(this.isIdInSubtree(n,e))return;return this.props.onNestedDrop&&this.props.onNestedDrop(e,n,t,i||e,this.nestedDropTargetIndex,this.nestedDropPosition),this.props.onFieldDropped&&this.props.onFieldDropped({componentName:n.name||n.label||n.id||"",isReordered:!1,componentType:String(n.type),sourceContainerId:r.containerId,targetContainerId:e}),void(this.draggedComponentInfo=null)}}var a=this.extractComponentsFromDrop({});if(a&&0!==a.length){var s=this.isTemplateDrop();s&&this.props.onDropBatchStart&&this.props.onDropBatchStart();try{a.forEach(function(r){o.props.onNestedDrop&&o.props.onNestedDrop(e,r,t,i||e,o.nestedDropTargetIndex,o.nestedDropPosition),o.props.onFieldDropped&&o.props.onFieldDropped({componentName:r.name||r.label||r.id||"",isReordered:!1,componentType:String(r.type),sourceContainerId:"palette",targetContainerId:e})})}finally{s&&this.props.onDropBatchEnd&&this.props.onDropBatchEnd()}}}},e.prototype.isTemplateDrop=function(){return!!this.parent.querySelector(".palette-item-clone[data-template-json]")},e.prototype.handleNestedDragOver=function(e,t){if(!this.draggedComponentInfo||this.draggedComponentInfo.id!==t){this.draggingOverPanel=t,this.parent.querySelector(".palette-item-clone")&&(this.isDraggingFromPalette=!0);var i=this.getEventPoint(e.event);if(i){var o="undefined"!=typeof document&&document.elementFromPoint?document.elementFromPoint(i.x,i.y):null,r=!!(o&&o.classList&&o.classList.contains("table-cell")),n=!!(o&&o.classList&&o.classList.contains("tab-drop-zone")),a=!!(o&&o.classList&&o.classList.contains("panel-drop-zone")),s=r?o:this.findFilteredClosest(o,".table-cell",["panel-drop-zone","tab-drop-zone"]),l=n?o:this.findFilteredClosest(o,".tab-drop-zone",["panel-drop-zone"]),p=a?o:this.findFilteredClosest(o,".panel-drop-zone",["tab-drop-zone"]);r&&(l=null,p=null),n&&(s=null,p=null),a&&(s=null,l=null);var d=".form-field-draggable";s?d=".table-cell-child-draggable":l?d=".tab-child-field-draggable":p&&(d=".panel-child-field-draggable");var h=s||l||p||null,c=this.findDropTarget(i.y,d,h);c?(this.nestedDropTargetIndex=c.index,this.nestedDropPosition=c.position,this.updateNestedDropTargetVisuals(c,d,h)):(this.nestedDropTargetIndex=null,this.nestedDropPosition=null,this.clearNestedDropTargetVisuals())}this.props.onFieldDraggingOver&&this.props.onFieldDraggingOver({isNested:!0})}},e.prototype.handleNestedDragLeave=function(e){this.draggingOverPanel=null,this.isDraggingFromPalette=!1,this.nestedDropTargetIndex=null,this.nestedDropPosition=null,this.clearDropTargetVisuals(),this.clearNestedDropTargetVisuals()},e.prototype.helper=function(e){var t=e&&(e.sender.target||e.target);if(!t)return null;var i=t.closest?t.closest(".form-field-draggable"):null;if(!i||!i.classList.contains("form-field-draggable"))return null;var o=parseInt(i.getAttribute("data-index")||"0",10);return this.draggedItemIndex=isNaN(o)?null:o,this.fillCloneContent(this.rootCloneHost,this.draggedItemIndex,this.currentComponents),this.rootCloneHost},e.prototype.fillCloneContent=function(e,t,i){if(e){var o=e.querySelector(".clone-content"),r=null!==t?i[t]:void 0,n=r&&(r.label||r.legend||r.cardTitle||r.name||r.type)||"";o&&(o.textContent=n)}},e.prototype.dragStart=function(e){if(this.rootCloneHost&&(this.rootCloneHost.style.display="flex"),this.parent.querySelector(".palette-item-clone")&&this.formAreaEl&&(this.formAreaEl.classList.add("dragging-over"),this.isDraggingFromPalette=!0),e&&e.event){var t=e.event,i="number"==typeof t.clientY?t.clientY:t.touches&&t.touches[0]&&t.touches[0].clientY||0;this.initialDragY=i,this.currentDragY=i}if(null!==this.draggedItemIndex){var o=this.currentComponents[this.draggedItemIndex];if(o){this.draggedComponentInfo={id:o.id||"",containerId:"root"};var r=this.parent.querySelector('[data-component-id="'+(o.id||"")+'"]');r&&r.classList.add("is-being-dragged"),this.props.onFieldDragStarted&&this.props.onFieldDragStarted({componentName:o.name||"",componentType:String(o.type),sourceContainerId:"root",isNested:!1})}}this.isDraggingFromPalette=!1},e.prototype.drag=function(e){if(this.currentComponents.length>1&&(this.isReordering=!0,this.formAreaEl&&this.formAreaEl.classList.add("is-reordering")),this.rootCloneHost&&(this.rootCloneHost.style.opacity="0.97",e&&e.event&&null!==this.initialDragY)){var t=e.event,i="number"==typeof t.clientY?t.clientY:t.touches&&t.touches[0]&&t.touches[0].clientY||0,o=this.initialDragY;if(t.touches&&t.touches.length>0){for(var r=t.touches[0],n=document.elementFromPoint?document.elementFromPoint(r.clientX,r.clientY):null,a=n&&n.closest?n.closest(".form-field-wrapper"):null,s=this.parent.querySelectorAll(".form-field-wrapper.touch-hovered"),l=0;l<s.length;l++)s[l]!==a&&s[l].classList.remove("touch-hovered");a&&!a.classList.contains("touch-hovered")&&a.classList.add("touch-hovered")}this.formAreaEl&&(this.formAreaEl.classList.remove("drag-moving-up","drag-moving-down"),i<o?this.formAreaEl.classList.add("drag-moving-up"):i>o&&this.formAreaEl.classList.add("drag-moving-down")),this.currentDragY=i}},e.prototype.dragStop=function(e){var t=this;this.isDraggingFromPalette=!1,this.isReordering=!1,this.formAreaEl&&this.formAreaEl.classList.remove("is-reordering","drag-moving-up","drag-moving-down");for(var i=this.parent.querySelectorAll(".form-field-wrapper.touch-hovered"),o=0;o<i.length;o++)i[o].classList.remove("touch-hovered");if(this.rootCloneHost&&(this.rootCloneHost.style.display="none",this.rootCloneHost.style.opacity="0"),this.initialDragY=null,this.currentDragY=null,null!==this.draggedItemIndex){var r=this.currentComponents[this.draggedItemIndex];if(!r)return this.draggedItemIndex=null,this.draggedComponentInfo=null,this.clearDropTargetVisuals(),void this.clearNestedDropTargetVisuals();this.formAreaEl&&this.formAreaEl.classList.remove("dragging-over");var n=e&&e.target||null,a=this.parent.querySelector('[data-component-id="'+(r.id||"")+'"]');a&&a.classList.remove("is-being-dragged");var s=n&&n.closest?n.closest(".panel-drop-zone"):null;if(s){var l=s.getAttribute("data-panel-id");if(l){if(l===r.id||this.isIdInSubtree(r,l))return this.draggedItemIndex=null,this.draggedComponentInfo=null,this.isDraggingFromPalette=!1,void this.clearNestedDropTargetVisuals();var p=this.nestedDropTargetIndex,d=this.nestedDropPosition;return this.props.onDelete&&this.props.onDelete(r.id||"",!0),this.trackTimeout(function(){t.props.onNestedDrop&&t.props.onNestedDrop(l,r,void 0,l,p,d)},0),this.isDraggingFromPalette=!1,this.clearNestedDropTargetVisuals(),this.draggedItemIndex=null,this.draggedComponentInfo=null,void(this.props.onFieldDropped&&this.props.onFieldDropped({componentName:r.name||"",componentType:String(r.type),sourceContainerId:"root",targetContainerId:l,isReordered:!1}))}}var h=n&&n.closest?n.closest(".tab-drop-zone"):null;if(h){var c=h.getAttribute("data-container-id"),u=parseInt(h.getAttribute("data-tab-index")||"0",10);if(c){if(c===r.id||this.isIdInSubtree(r,c))return this.draggedItemIndex=null,this.draggedComponentInfo=null,this.isDraggingFromPalette=!1,void this.clearNestedDropTargetVisuals();var v=this.nestedDropTargetIndex,g=this.nestedDropPosition;return this.props.onDelete&&this.props.onDelete(r.id||"",!0),this.trackTimeout(function(){t.props.onNestedDrop&&t.props.onNestedDrop(c,r,{row:0,col:0,tabIndex:u},c,v,g)},0),this.isDraggingFromPalette=!1,this.clearNestedDropTargetVisuals(),this.draggedItemIndex=null,this.draggedComponentInfo=null,void(this.props.onFieldDropped&&this.props.onFieldDropped({componentName:r.name||"",componentType:String(r.type),sourceContainerId:"root",targetContainerId:c,isReordered:!1}))}}var f=n&&n.closest?n.closest(".table-cell"):null;if(f){var m=f.getAttribute("data-container-id"),b=parseInt(f.getAttribute("data-cell-row")||"0",10),y=parseInt(f.getAttribute("data-cell-col")||"0",10);if(m){if(m===r.id||this.isIdInSubtree(r,m))return this.draggedItemIndex=null,this.draggedComponentInfo=null,this.isDraggingFromPalette=!1,void this.clearNestedDropTargetVisuals();var C=this.nestedDropTargetIndex,x=this.nestedDropPosition;return this.props.onDelete&&this.props.onDelete(r.id||"",!0),this.trackTimeout(function(){t.props.onNestedDrop&&t.props.onNestedDrop(m,r,{row:b,col:y},m,C,x)},0),this.isDraggingFromPalette=!1,this.clearNestedDropTargetVisuals(),this.draggedItemIndex=null,this.draggedComponentInfo=null,void(this.props.onFieldDropped&&this.props.onFieldDropped({componentName:r.name||"",componentType:String(r.type),sourceContainerId:"root",targetContainerId:m,isReordered:!1}))}}var w=n&&n.closest?n.closest(".form-field-draggable"):null;if(w){var P=parseInt(w.getAttribute("data-index")||"-1",10);if(-1!==P&&P!==this.draggedItemIndex){var S=this.currentComponents.slice(),j=S[this.draggedItemIndex];S.splice(this.draggedItemIndex,1),S.splice(P,0,j),this.props.onReorder&&this.props.onReorder(S),this.props.onFieldDropped&&this.props.onFieldDropped({componentName:j.name||"",componentType:String(j.type),sourceContainerId:"root",targetContainerId:"root",isReordered:!0})}}this.draggedItemIndex=null,this.isDraggingFromPalette=!1,this.clearDropTargetVisuals(),this.clearNestedDropTargetVisuals(),this.draggedComponentInfo=null}},e.prototype.nestedHelper=function(e,t){e.children&&(this.nestedComponents=e.children,this.nestedContainerId=e.parentId,this.nestedCellInfo=e.cellInfo,this.nestedContainerPath=e.parentId);var i=e&&(e.sender.target||e.target);if(!i)return null;var o=i.closest?i.closest("."+t):null;if(!o||!o.classList.contains(t))return null;var r=parseInt(o.getAttribute("data-nested-index")||"0",10);this.nestedDraggedIndex=isNaN(r)?null:r,this.fillCloneContent(this.nestedCloneHost,this.nestedDraggedIndex,this.nestedComponents);var n=o.closest(".panel-drop-zone, .tab-drop-zone, .table-cell");if(n)if(n.classList.contains("panel-drop-zone"))this.activeNestedContainer=n.getAttribute("data-panel-id")||null;else if(n.classList.contains("tab-drop-zone")){var a=n.getAttribute("data-container-id"),s=parseInt(n.getAttribute("data-tab-index")||"0",10);this.activeNestedContainer=(a||"")+"-tab-"+s}else if(n.classList.contains("table-cell")){a=n.getAttribute("data-container-id");var l=parseInt(n.getAttribute("data-cell-row")||"0",10),p=parseInt(n.getAttribute("data-cell-col")||"0",10);this.activeNestedContainer=(a||"")+"-cell-"+l+"-"+p}return this.nestedCloneHost},e.prototype.nestedDragStart=function(e){this.nestedCloneHost&&(this.nestedCloneHost.style.display="flex"),this.parent.querySelector(".palette-item-clone")&&this.formAreaEl&&(this.formAreaEl.classList.add("dragging-over"),this.isDraggingFromPalette=!0);var t=e.target&&e.target.closest?e.target.closest(".panel-drop-zone, .tab-drop-zone, .table-cell"):null;if(t&&t.classList.add("dragging-over"),e&&e.event){var i=e.event,o="number"==typeof i.clientY?i.clientY:i.touches&&i.touches[0]&&i.touches[0].clientY||0;this.nestedInitialDragY=o,this.nestedCurrentDragY=o}if(null!==this.nestedDraggedIndex&&this.nestedComponents[this.nestedDraggedIndex]){var r=this.nestedComponents[this.nestedDraggedIndex];this.draggedComponentInfo={id:r.id||"",containerId:this.nestedContainerId||""};var n=this.parent.querySelector('[data-component-id="'+(r.id||"")+'"]');n&&n.classList.add("is-being-dragged"),this.props.onFieldDragStarted&&this.props.onFieldDragStarted({componentName:r.name||"",componentType:String(r.type),sourceContainerId:this.nestedContainerId||"",isNested:!0})}},e.prototype.nestedDrag=function(e){if(this.nestedComponents.length>1&&(this.isNestedReordering=!0,this.formAreaEl&&this.formAreaEl.classList.add("is-nesteditemreordering")),this.nestedCloneHost&&(this.nestedCloneHost.style.opacity="0.97",e&&e.event&&null!==this.nestedInitialDragY)){var t=e.event,i="number"==typeof t.clientY?t.clientY:t.touches&&t.touches[0]&&t.touches[0].clientY||0,o=this.nestedInitialDragY;if(t.touches&&t.touches.length>0){for(var r=t.touches[0],n=document.elementFromPoint?document.elementFromPoint(r.clientX,r.clientY):null,a=n&&n.closest?n.closest(".form-field-wrapper"):null,s=this.parent.querySelectorAll(".form-field-wrapper.touch-hovered"),l=0;l<s.length;l++)s[l]!==a&&s[l].classList.remove("touch-hovered");a&&!a.classList.contains("touch-hovered")&&a.classList.add("touch-hovered")}this.formAreaEl&&(this.formAreaEl.classList.remove("drag-moving-up","drag-moving-down"),i<o?this.formAreaEl.classList.add("drag-moving-up"):i>o&&this.formAreaEl.classList.add("drag-moving-down")),this.nestedCurrentDragY=i}},e.prototype.nestedDragStop=function(e,t){var i=this;this.isNestedReordering=!1,this.isDraggingFromPalette=!1,this.activeNestedContainer=null,this.formAreaEl&&this.formAreaEl.classList.remove("is-nesteditemreordering","drag-moving-up","drag-moving-down");for(var o=this.parent.querySelectorAll(".form-field-wrapper.touch-hovered"),r=0;r<o.length;r++)o[r].classList.remove("touch-hovered");if(this.nestedCloneHost&&(this.nestedCloneHost.classList.remove("moving-up","moving-down"),this.nestedCloneHost.style.display="none",this.nestedCloneHost.style.opacity="0"),this.nestedInitialDragY=null,this.nestedCurrentDragY=null,null!==this.nestedDraggedIndex){var n=this.nestedComponents[this.nestedDraggedIndex],a=this.nestedContainerId;if(!n)return this.nestedDraggedIndex=null,this.draggedComponentInfo=null,this.clearDropTargetVisuals(),void this.clearNestedDropTargetVisuals();this.formAreaEl&&this.formAreaEl.classList.remove("dragging-over");var s=e&&e.target||null,l=this.parent.querySelector('[data-component-id="'+(n.id||"")+'"]');l&&l.classList.remove("is-being-dragged");var p=s&&s.closest?s.closest(".form-preview-area"):null,d=!!(s&&s.closest&&s.closest(".panel-drop-zone, .tab-drop-zone, .table-cell")),h=s&&s.closest?s.closest(".panel-drop-zone, .tab-drop-zone, .table-cell"):null;h&&h.classList.remove("dragging-over");var c=h&&(h.getAttribute("data-panel-id")||h.getAttribute("data-container-id"))||null,u=h&&h.classList.contains("table-cell")?parseInt(h.getAttribute("data-cell-row")||"0",10):void 0,v=h&&h.classList.contains("table-cell")?parseInt(h.getAttribute("data-cell-col")||"0",10):void 0,g=h&&h.classList.contains("tab-drop-zone")?parseInt(h.getAttribute("data-tab-index")||"0",10):void 0,f=this.nestedCellInfo&&"number"==typeof this.nestedCellInfo.row&&"number"==typeof this.nestedCellInfo.col?a===c&&this.nestedCellInfo.row===u&&this.nestedCellInfo.col===v:this.nestedCellInfo&&"number"==typeof this.nestedCellInfo.tabIndex?a===c&&this.nestedCellInfo.tabIndex===g:a===c;if(p&&!d){var m=this.dropTargetIndex,b=this.dropPosition;return this.props.onDelete&&this.props.onDelete(n.id||"",!0),this.trackTimeout(function(){i.props.onDrop&&i.props.onDrop(n,m,b)},10),this.isDraggingFromPalette=!1,this.clearDropTargetVisuals(),this.nestedDraggedIndex=null,this.draggedComponentInfo=null,void(this.props.onFieldDropped&&this.props.onFieldDropped({componentName:n.name||"",componentType:String(n.type),sourceContainerId:a||"root",targetContainerId:"root",isReordered:!1}))}var y=s&&s.closest?s.closest(".panel-drop-zone"):null;if(y&&!f){var C=y.getAttribute("data-panel-id");if(C){if(C===n.id||this.isIdInSubtree(n,C))return this.nestedDraggedIndex=null,this.draggedComponentInfo=null,this.isDraggingFromPalette=!1,void this.clearNestedDropTargetVisuals();var x=!(!a||!(a.indexOf("panel")>=0||a.indexOf("card")>=0)),w=!(!c||!(c.indexOf("panel")>=0||c.indexOf("card")>=0));if(C!==a&&(x||w)){var P=this.nestedDropTargetIndex,S=this.nestedDropPosition;return this.props.onDelete&&this.props.onDelete(n.id||"",!0),this.trackTimeout(function(){i.props.onNestedDrop&&i.props.onNestedDrop(C,n,void 0,C,P,S)},0),this.isDraggingFromPalette=!1,this.clearNestedDropTargetVisuals(),this.nestedDraggedIndex=null,this.draggedComponentInfo=null,void(this.props.onFieldDropped&&this.props.onFieldDropped({componentName:n.name||"",componentType:String(n.type),sourceContainerId:a||"root",targetContainerId:C,isReordered:!1}))}}}var j=s&&s.closest?s.closest(".tab-drop-zone"):null;if(j&&!f){var O=j.getAttribute("data-container-id"),T=parseInt(j.getAttribute("data-tab-index")||"0",10);if(O){if(O===n.id||this.isIdInSubtree(n,O))return this.nestedDraggedIndex=null,this.draggedComponentInfo=null,this.isDraggingFromPalette=!1,void this.clearNestedDropTargetVisuals();var k=O===a&&this.nestedCellInfo&&this.nestedCellInfo.tabIndex===T,F=!(!a||!(a.indexOf("tabs")>=0||a.indexOf("card")>=0)),I=!(!c||!(c.indexOf("tabs")>=0||c.indexOf("card")>=0));if(!k&&(F||I)){var A=this.nestedDropTargetIndex,D=this.nestedDropPosition;return this.props.onDelete&&this.props.onDelete(n.id||"",!0),this.trackTimeout(function(){i.props.onNestedDrop&&i.props.onNestedDrop(O,n,{row:0,col:0,tabIndex:T},O,A,D)},0),this.isDraggingFromPalette=!1,this.clearNestedDropTargetVisuals(),this.nestedDraggedIndex=null,this.draggedComponentInfo=null,void(this.props.onFieldDropped&&this.props.onFieldDropped({componentName:n.name||"",componentType:String(n.type),sourceContainerId:a||"root",targetContainerId:O,isReordered:!1}))}}}var E=s&&s.closest?s.closest(".table-cell"):null;if(E&&!f){var R=E.getAttribute("data-container-id"),L=parseInt(E.getAttribute("data-cell-row")||"0",10),z=parseInt(E.getAttribute("data-cell-col")||"0",10);if(R){if(R===n.id||this.isIdInSubtree(n,R))return this.nestedDraggedIndex=null,this.draggedComponentInfo=null,this.isDraggingFromPalette=!1,void this.clearNestedDropTargetVisuals();if(!(R===a&&this.nestedCellInfo&&this.nestedCellInfo.row===L&&this.nestedCellInfo.col===z)){var M=this.nestedDropTargetIndex,B=this.nestedDropPosition;return this.props.onDelete&&this.props.onDelete(n.id||"",!0),this.trackTimeout(function(){i.props.onNestedDrop&&i.props.onNestedDrop(R,n,{row:L,col:z},R,M,B)},0),this.isDraggingFromPalette=!1,this.clearNestedDropTargetVisuals(),this.nestedDraggedIndex=null,this.draggedComponentInfo=null,void(this.props.onFieldDropped&&this.props.onFieldDropped({componentName:n.name||"",componentType:String(n.type),sourceContainerId:a||"root",targetContainerId:R,isReordered:!1}))}}}var H=s&&s.closest?s.closest("."+t):null;if(H){var N=parseInt(H.getAttribute("data-nested-index")||"-1",10);if(-1!==N&&N!==this.nestedDraggedIndex){var Y=this.nestedComponents.slice(),W=Y[this.nestedDraggedIndex];Y.splice(this.nestedDraggedIndex,1),Y.splice(N,0,W),this.nestedContainerId&&this.nestedContainerPath&&(this.props.onNestedReorder&&this.props.onNestedReorder(this.nestedContainerId,this.nestedContainerPath,Y,this.nestedCellInfo),this.isDraggingFromPalette=!1,this.clearDropTargetVisuals(),this.clearNestedDropTargetVisuals()),this.props.onFieldDropped&&this.props.onFieldDropped({componentName:W.name||"",componentType:String(W.type),sourceContainerId:a||"root",targetContainerId:this.nestedContainerId||"root",isReordered:!0})}}this.nestedDraggedIndex=null,this.isDraggingFromPalette=!1,this.clearDropTargetVisuals(),this.clearNestedDropTargetVisuals(),this.draggedComponentInfo=null}},e.prototype.handleMoveUp=function(e){var t=this.currentComponents.findIndex(function(t){return t.id===e});if(t>0){var i=this.currentComponents.slice(),o=i[t-1];i[t-1]=i[t],i[t]=o,this.props.onReorder&&this.props.onReorder(i)}},e.prototype.handleMoveDown=function(e){var t=this.currentComponents.findIndex(function(t){return t.id===e});if(t>=0&&t<this.currentComponents.length-1){var i=this.currentComponents.slice(),o=i[t+1];i[t+1]=i[t],i[t]=o,this.props.onReorder&&this.props.onReorder(i)}},e.prototype.handleNestedMoveUp=function(e,t,i,o){var r=this.getNestedChildren(t,i,o),n=r.findIndex(function(t){return t.id===e});if(n>0){var a=r.slice(),s=a[n-1];a[n-1]=a[n],a[n]=s,this.props.onNestedReorder&&this.props.onNestedReorder(t,i,a,o)}},e.prototype.handleNestedMoveDown=function(e,t,i,o){var r=this.getNestedChildren(t,i,o),n=r.findIndex(function(t){return t.id===e});if(n>=0&&n<r.length-1){var a=r.slice(),s=a[n+1];a[n+1]=a[n],a[n]=s,this.props.onNestedReorder&&this.props.onNestedReorder(t,i,a,o)}},e.prototype.getNestedChildren=function(e,t,i){var o=this.findComponentById(e);if(!o)return[];if(i&&"number"==typeof i.tabIndex){var r=(o.tabItems||[])[i.tabIndex];return r&&r.content?r.content.slice():[]}return i&&"number"==typeof i.row&&"number"==typeof i.col?(((o.tableCells||[])[i.row]||[])[i.col]||[]).slice():(o.children||[]).slice()},e.prototype.findComponentById=function(e){for(var t=this.currentComponents||[],i=[],o=0;o<t.length;o++)i.push(t[o]);for(;i.length>0;){var r=i.pop();if(r&&r.id===e)return r;if(r){if(r.children)for(o=0;o<r.children.length;o++)i.push(r.children[o]);if(r.tableCells)for(var n=0;n<r.tableCells.length;n++)for(var a=r.tableCells[n],s=0;s<a.length;s++)for(var l=a[s],p=0;p<l.length;p++)i.push(l[p]);if(r.tabItems)for(var d=0;d<r.tabItems.length;d++){var h=r.tabItems[d];if(h&&h.content)for(o=0;o<h.content.length;o++)i.push(h.content[o])}}}return null},e.prototype.isIdInSubtree=function(e,t){if(!e)return!1;if(!t)return!1;for(var i=[e];i.length>0;){var o=i.pop();if(o){if(o.id===t)return!0;if(o.children)for(var r=0;r<o.children.length;r++)i.push(o.children[r]);if(o.tableCells)for(var n=0;n<o.tableCells.length;n++)for(var a=o.tableCells[n],s=0;s<a.length;s++)for(var l=a[s],p=0;p<l.length;p++)i.push(l[p]);if(o.tabItems)for(var d=0;d<o.tabItems.length;d++){var h=o.tabItems[d];if(h&&h.content)for(r=0;r<h.content.length;r++)i.push(h.content[r])}}}return!1},e.prototype.clearAllDragVisuals=function(){this.formAreaEl&&this.formAreaEl.classList.remove("dragging-over"),this.dropTargetIndex=null,this.dropPosition=null,this.nestedDropTargetIndex=null,this.nestedDropPosition=null,this.draggingOverPanel=null,this.isDraggingFromPalette=!1,this.clearDropTargetVisuals(),this.clearNestedDropTargetVisuals()},e.prototype.findDropTarget=function(e,t,i){var o=(i||this.parent).querySelectorAll(t);if(0===o.length)return null;for(var r=0;r<o.length;r++){var n=o[r].getBoundingClientRect();if(e>=n.top&&e<n.bottom)return{index:r,position:e<n.top+n.height/2?"before":"after"}}for(r=0;r<o.length-1;r++){var a=o[r].getBoundingClientRect(),s=o[r+1].getBoundingClientRect();if(e>a.bottom&&e<s.top)return{index:r+1,position:"before"}}return e<o[0].getBoundingClientRect().top?{index:0,position:"before"}:e>o[o.length-1].getBoundingClientRect().bottom?{index:o.length-1,position:"after"}:null},e.prototype.findFilteredClosest=function(e,t,i){void 0===i&&(i=[]);for(var o=e;o;){var r=!!o.matches&&o.matches(t);if(i.some(function(e){return o.classList&&o.classList.contains(e)})&&!r)return null;if(r)return o;o=o.parentElement}return null},e.prototype.updateDropTargetVisuals=function(e){for(var t=this.parent.querySelectorAll(".form-field-draggable"),i=0;i<t.length;i++){var o=t[i];o.classList.remove("drop-target-before","drop-target-after"),i===e.index&&o.classList.add("drop-target-"+e.position)}},e.prototype.clearDropTargetVisuals=function(){for(var e=this.parent.querySelectorAll(".form-field-draggable"),t=0;t<e.length;t++)e[t].classList.remove("drop-target-before","drop-target-after")},e.prototype.updateNestedDropTargetVisuals=function(e,t,i){for(var o=(i||this.parent).querySelectorAll(t),r=0;r<o.length;r++){var n=o[r];n.classList.remove("drop-target-before","drop-target-after"),r===e.index&&n.classList.add("drop-target-"+e.position)}},e.prototype.clearNestedDropTargetVisuals=function(){for(var e=[".panel-child-field-draggable",".tab-child-field-draggable",".table-cell-child-draggable"],t=0;t<e.length;t++)for(var i=this.parent.querySelectorAll(e[t]),o=0;o<i.length;o++)i[o].classList.remove("drop-target-before","drop-target-after")},e.prototype.isPaletteDrag=function(){var e=this.parent.querySelector(".palette-item-clone");return!(!e||"none"===e.style.display)||!!this.isDraggingFromPalette},e.prototype.getClientY=function(e){if(!e)return null;var t=e;return t&&"number"==typeof t.clientY?t.clientY:t&&Array.isArray(t.touches)&&t.touches[0]?t.touches[0].clientY:t&&Array.isArray(t.changedTouches)&&t.changedTouches[0]?t.changedTouches[0].clientY:null},e.prototype.getEventPoint=function(e){if(!e)return null;var t,i=e;return i&&"number"==typeof i.clientX&&"number"==typeof i.clientY?{x:i.clientX,y:i.clientY}:i&&Array.isArray(i.touches)&&i.touches[0]?{x:(t=i.touches[0]).clientX,y:t.clientY}:i&&Array.isArray(i.changedTouches)&&i.changedTouches[0]?{x:(t=i.changedTouches[0]).clientX,y:t.clientY}:null},e.prototype.addTrackedListener=function(e,t,i,o){e.addEventListener(t,i,o),this.owners.docListeners.push({target:e,event:t,handler:i,opts:o})},e.prototype.removeTrackedListener=function(e,t,i,o){if(e){try{e.removeEventListener(t,i,o)}catch(e){}for(var r=this.owners.docListeners,n=r.length-1;n>=0;n--){var a=r[n];a.target===e&&a.event===t&&a.handler===i&&r.splice(n,1)}}},e.prototype.trackTimeout=function(e,t){var i=this,o=window.setTimeout(function(){var t=i.owners.pendingTimers,r=t.indexOf(o);r>=0&&t.splice(r,1);try{e()}catch(e){}},t);return this.owners.pendingTimers.push(o),o},e.prototype.__audit=function(){return{droppables:this.owners.droppables.length,draggables:this.owners.draggables.length,wrappers:this.owners.fieldWrappers.length,tooltips:this.owners.tooltips.length,tabs:this.owners.tabs.length,toolbars:this.owners.toolbars.length,messages:this.owners.messages.length,buttons:this.owners.buttons.length,listeners:this.owners.docListeners.length,timers:this.owners.pendingTimers.length,gridRefs:this.owners.gridRefs.size,preservedNodes:this.owners.preservedNodes.length}},e}();function fi(e){try{if(!e||!e.schema)return[];var t=JSON.stringify(e.schema),i=ui(t,{version:"0.1.0",components:[]}),o=function(e){var t=vi({},e,{id:ne(e.type)});return e.children&&e.children.length>0&&(t.children=e.children.map(o)),e.tableCells&&e.tableCells.length>0&&(t.tableCells=e.tableCells.map(function(e){return e.map(function(e){return e.map(o)})})),e.tabItems&&e.tabItems.length>0&&(t.tabItems=e.tabItems.map(function(e){return vi({},e,{content:e.content?e.content.map(o):void 0})})),t};return(i.components||[]).map(o).filter(function(e){return"button"!==e.type||"submit"!==e.buttonType})}catch(e){return[]}}var mi=function(){return mi=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},mi.apply(this,arguments)},bi=new Set(["splitButton","imageEditor","dataGrid","richTextEditor","lookup","autoNumber","colorPicker","signature"]);function yi(e){var t=e.target;t&&t.parentElement&&t.parentElement.classList.add("e-input-focus")}function Ci(e){var t=e.target;t&&t.parentElement&&t.parentElement.classList.remove("e-input-focus")}function xi(e){switch(e){case"textbox":return xt;case"textarea":return Ot;case"number":return wt;case"email":return Tt;case"url":return Et;case"phone":return Rt;case"password":return kt;case"checkbox":return St;case"checkboxGroup":return jt;case"radio":return At;case"dropdown":return Ft;case"multiselect":return Lt;case"button":return Dt;case"date":return It;case"dateTime":return zt;case"time":return Mt;case"dateRange":return Pt;case"switch":return Bt;case"signature":return Ht;case"rating":return Nt;case"imageEditor":return Yt;case"fileUpload":return Wt;case"rangeSlider":return Xt;case"colorPicker":return Ut;case"inputMask":return Vt;case"message":return qt;case"panel":return _t;case"table":return Zt;case"dataGrid":return Gt;case"tabs":return Jt;case"card":return Qt;case"splitButton":return $t;case"richTextEditor":return ei;case"lookup":return ii;case"staticHtml":return ti;case"autoNumber":return oi;case"template":return Kt;default:return""}}var wi=function(){function e(e,t,i){this.element=e,this.props=t,this.l10n=i,this.accordionObj=null,this.draggableObj=null,this.tabObj=null,this.cloneHelperElement=null,this.draggedComponent=null,this.searchInput="",this.templateSearchInput="",this.showSplitView=!1,this.destroyed=!1,this.render()}return e.prototype.isMobile=function(){return(this.props.containerWidth||1024)<=820},e.prototype.getPalette=function(){var e={},i=Ct,o=this.props.paletteConfig,r=Array.isArray(o)?o:o?Object.keys(o).map(function(e){return{category:e,items:o[e]}}):[];Object.keys(i).forEach(function(t){e[t]=i[t].slice()}),r.forEach(function(t){t&&t.category&&Array.isArray(t.items)&&(t.items.length?e[t.category]=t.items.map(function(e){return{type:"string"==typeof e?e:e.type,label:""}}):delete e[t.category])}),"Simple"===this.props.mode&&e[t.Advanced]&&(e[t.Advanced]=e[t.Advanced].filter(function(e){return!bi.has(e.type)}));var n={};return Object.keys(e).forEach(function(t){n[t]=(e[t]||[]).map(function(e){return mi({},e,{label:e.label||this.l10n.getConstant(e.type)||e.type})},this)},this),n},e.prototype.getComponentLabel=function(e){return e.label?e.label:this.l10n.getConstant(e.type)||e.type},e.prototype.getBasicComponents=function(){return this.getPalette()[t.Basic]||[]},e.prototype.getAdvancedComponents=function(){return this.getPalette()[t.Advanced]||[]},e.prototype.getLayoutComponents=function(){return this.getPalette()[t.Layout]||[]},e.prototype.getAllComponents=function(){var e=this.getPalette(),t=[];return Object.keys(e).forEach(function(i){t=t.concat(e[i]||[])}),t},e.prototype.getFilteredComponents=function(){if(!this.searchInput||!this.searchInput.trim())return[];var e=this.searchInput.toLowerCase();return this.getAllComponents().filter(function(t){return(t.label||"").toLowerCase().indexOf(e)>=0||t.type.toLowerCase().indexOf(e)>=0})},e.prototype.render=function(){this.element.innerHTML="",this.props.className&&this.element.classList.add(this.props.className||""),this.element.setAttribute("aria-label",this.l10n.getConstant("fields")||"fields"),this.isMobile()&&this.element.classList.add("mobile-screen"),this.renderHeader(),this.renderCloneHelper(),this.initializeDraggable()},e.prototype.renderHeader=function(){this.tabObj&&(this.tabObj.destroy(),this.tabObj=null);var e=document.createElement("div");e.className="left-pane-header",e.style.height="100%",this.element.appendChild(e);var t=document.createElement("div");t.className="left-pane-tabs",e.appendChild(t);var i=[{header:{text:this.l10n.getConstant("fields")||"Fields"},content:""}];"Developer"===this.props.mode&&this.props.templates&&this.props.templates.length>0&&i.push({header:{text:this.l10n.getConstant("templates")||"Templates"},content:""});var o=this;this.tabObj=new c.Tab({items:i,enableRtl:this.props.enableRtl,loadOn:"Init",selectedItem:this.showSplitView&&i.length>1?1:0,created:function(){o.populateTabContents()},selected:function(e){var t=e&&"number"==typeof e.selectedIndex?e.selectedIndex:0;o.showSplitView=1===t}}),this.tabObj.appendTo(t)},e.prototype.populateTabContents=function(){if(this.tabObj){var e=this.element.querySelector(".e-content");if(e)for(var t=this.tabObj.items,i=0;i<t.length;i++){var o=e.children[i];if(o){var r=1===i&&"Developer"===this.props.mode?"templates":"fields";this.renderBody(o,r)}}}},e.prototype.renderBody=function(e,t){e.classList.add("palette-container","fb-scrollbar"),this.renderSearchBox(e);var i=document.createElement("div");i.className="palette-content",e.appendChild(i),"templates"===t?this.renderTemplates(i):this.renderFields(i)},e.prototype.getActiveContentHost=function(){if(!this.tabObj)return null;var e=this.element.querySelector(".e-content");if(!e)return null;var t=e.querySelector(".e-item.e-active");if(!t){var i="number"==typeof this.tabObj.selectedItem?this.tabObj.selectedItem:0;t=e.children[i]}return t?t.querySelector(".palette-content"):null},e.prototype.rebuildActiveContent=function(){this.accordionObj&&(this.accordionObj.destroy(),this.accordionObj=null);var e=this.getActiveContentHost();e&&(e.innerHTML="","templates"===(this.showSplitView?"templates":"fields")?this.renderTemplates(e):this.renderFields(e))},e.prototype.renderSearchBox=function(e){var t=document.createElement("div");t.style.marginBottom="10px",e.appendChild(t);var i=document.createElement("input");i.type="text",t.appendChild(i);var o=new A.TextBox({placeholder:this.l10n.getConstant("search")||"Search",floatLabelType:"Never",value:this.showSplitView?this.templateSearchInput:this.searchInput,change:this.handleSearchInput.bind(this),created:function(){o.addIcon("append","e-icons e-search")}});o.appendTo(i),i.setAttribute("aria-label",this.l10n.getConstant("search")||"Search")},e.prototype.renderFields=function(e){var t=this;if(this.searchInput&&this.searchInput.trim()){var i=this.getFilteredComponents();this.renderPaletteItems(e,i)}else{var o=this.getPalette(),r=document.createElement("div");e.appendChild(r);var n=[],a=this;Object.keys(o).forEach(function(e){var t=o[e]||[];if(t.length){var i=a.l10n.getConstant(e)||e;n.push({header:i,content:a.createCategoryHtml(t),expanded:0===n.length})}}),n.length&&(this.accordionObj=new c.Accordion({expandMode:"Single",items:n,enableRtl:this.props.enableRtl,expanded:function(){t.wirePaletteHandlers(r)}}),this.accordionObj.appendTo(r),this.wirePaletteHandlers(r))}},e.prototype.renderTemplates=function(e){var t=document.createElement("div");t.className="palette-items",t.setAttribute("role","tabpanel"),e.appendChild(t);var i=this.getFilteredTemplates();if(!i.length){var o=document.createElement("div");return o.setAttribute("role","status"),o.setAttribute("aria-live","polite"),o.innerHTML="No templates found",void t.appendChild(o)}for(var r=0;r<i.length;r++){var n=i[r],a=document.createElement("div");a.className="palette-item template-item",a.tabIndex=0,a.setAttribute("data-template-id",n.id),a.innerHTML='<span class="palette-item-icon">'+Kt+'</span><span class="palette-item-label">'+(this.l10n.getConstant(n.id)||n.title)+"</span>",t.appendChild(a)}this.wirePaletteHandlers(t)},e.prototype.renderPaletteItems=function(e,t){var i=document.createElement("div");if(i.className="palette-items",e.appendChild(i),!t.length){var o=document.createElement("div");return o.setAttribute("role","status"),o.setAttribute("aria-live","polite"),o.innerHTML="No results found",void i.appendChild(o)}for(var r=0;r<t.length;r++)i.appendChild(this.createPaletteItem(t[r]))},e.prototype.createPaletteItem=function(e){var t=document.createElement("div");return t.className="palette-item",t.tabIndex=0,t.setAttribute("data-component-type",e.type),t.setAttribute("aria-label",this.getComponentLabel(e)),t.innerHTML='<span class="palette-item-icon">'+xi(e.type)+'</span><span class="palette-item-label">'+this.getComponentLabel(e)+"</span>",t.onclick=this.handlePaletteItemClick.bind(this,e),t.onkeydown=this.handlePaletteItemKeyDown.bind(this,e),t},e.prototype.helper=function(e){var t=e.sender.target.closest(".palette-item");if(!t)return this.cloneHelperElement;var i=t.getAttribute("data-template-id"),o=this.props.templates||[];if(i&&o.length)for(var r=0;r<o.length;r++)if(o[r].id===i)return this.draggedComponent={type:"template",label:this.l10n.getConstant(o[r].id)||o[r].title,isTemplate:!0,templateData:o[r]},this.cloneHelperElement;var n=t.getAttribute("data-component-type");if(n)for(var a=this.getAllComponents(),s=0;s<a.length;s++)if(a[s].type===n){this.draggedComponent=a[s];break}return this.cloneHelperElement},e.prototype.syncDragStart=function(e){if(this.isMobile())e.cancel=!0;else{var t=e&&e.target||null,i=t?t.closest(".palette-item"):null;this.cloneTracker=!!i,this.cloneHelperElement.style.display="flex";var o=this.draggedComponent;o&&!0===o.isTemplate?(this.cloneHelperElement.setAttribute("data-template-json",JSON.stringify(o)),this.cloneHelperElement.removeAttribute("data-component-json")):(this.cloneHelperElement.setAttribute("data-component-json",JSON.stringify(this.draggedComponent)),this.cloneHelperElement.removeAttribute("data-template-json"));var r=this.cloneHelperElement.querySelector(".palette-item-icon");if(r)if(o&&!0===o.isTemplate)r.innerHTML="";else{var n=this.element.querySelector('.palette-item[data-component-type="'+(o&&o.type?o.type:"")+'"]'),a=n?n.querySelector(".palette-item-icon"):null;r.innerHTML=a?a.innerHTML:xi(o&&o.type?o.type:"")}var s=this.cloneHelperElement.querySelector(".clone-label");s&&(s.textContent=this.draggedComponent&&this.draggedComponent.label?this.draggedComponent.label:""),this.props.onFieldDragStarted&&this.props.onFieldDragStarted({componentName:null,componentType:this.draggedComponent&&this.draggedComponent.type?this.draggedComponent.type:"",sourceContainerId:"palette",isNested:!1})}},e.prototype.syncDrag=function(){this.cloneHelperElement&&this.cloneTracker?(this.cloneHelperElement.style.opacity="0.97",this.cloneHelperElement.classList.add("palette-item-clone")):this.cloneHelperElement.classList.remove("palette-item-clone")},e.prototype.syncDragStop=function(){var e=this;window.setTimeout(function(){e.cloneHelperElement&&(e.cloneHelperElement.style.display="none",e.cloneHelperElement.style.opacity="0",e.cloneHelperElement.removeAttribute("data-component-json"),e.cloneHelperElement.removeAttribute("data-template-json"))},100),this.draggedComponent=null},e.prototype.handlePaletteItemClick=function(e){if(this.isMobile()&&this.props.onDrop){var t={id:ne(e.type),type:e.type,label:e.label||"",name:ae(e.type)};this.props.onDrop(t)}},e.prototype.handlePaletteItemKeyDown=function(e,t){if("Enter"===t.key&&(t.preventDefault(),!(0,l.isNullOrUndefined)(this.props.onDrop))){var i={id:ne(e.type),type:e.type,label:e.label||"",name:ae(e.type)};this.props.onDrop(i)}},e.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,this.draggableObj&&(this.draggableObj.destroy(),this.draggableObj=null),this.accordionObj&&(this.accordionObj.destroy(),this.accordionObj=null),this.tabObj&&(this.tabObj.destroy(),this.tabObj=null),this.draggedComponent=null,this.cloneHelperElement=null,this.element.innerHTML="")},e.prototype.handleSearchInput=function(e){(0,l.isNullOrUndefined)(e.value)||(this.showSplitView?this.templateSearchInput=e.value:this.searchInput=e.value,this.rebuildActiveContent())},e.prototype.getFilteredTemplates=function(){var e=this.props.templates||[];if(!this.templateSearchInput||!this.templateSearchInput.trim())return e;var t=this.templateSearchInput.toLowerCase();return e.filter(function(e){return(this.l10n.getConstant(e.id)||e.title).toLowerCase().indexOf(t)>=0||e.id.toLowerCase().indexOf(t)>=0},this)},e.prototype.createCategoryHtml=function(e){for(var t='<div class="palette-items">',i=0;i<e.length;i++){var o=e[i];t+='<div class="palette-item" tabindex="0" data-component-type="'+o.type+'" aria-label="'+this.getComponentLabel(o)+'"><span class="palette-item-icon">'+xi(o.type)+'</span><span class="palette-item-label">'+this.getComponentLabel(o)+"</span></div>"}return t+="</div>"},e.prototype.wirePaletteHandlers=function(e){for(var t=e.querySelectorAll(".palette-item"),i=this,o=0;o<t.length;o++)(function(e){var o=t[e],r=o.getAttribute("data-component-type"),n=o.getAttribute("data-template-id");if(r){var a=i.findPaletteComponent(r);if(!a)return;o.onclick=function(){i.handlePaletteItemClick(a)},o.onkeydown=function(e){i.handlePaletteItemKeyDown(a,e)}}else if(n){var s=i.findTemplateById(n);if(!s)return;o.onclick=function(){i.handleTemplateClick(s)},o.onkeydown=function(e){i.handleTemplateKeyDown(s,e)}}})(o)},e.prototype.findPaletteComponent=function(e){for(var t=this.getAllComponents(),i=0;i<t.length;i++)if(t[i].type===e)return t[i];return null},e.prototype.findTemplateById=function(e){for(var t=this.props.templates||[],i=0;i<t.length;i++)if(t[i].id===e)return t[i];return null},e.prototype.handleTemplateClick=function(e){this.isMobile()&&this.props.onDrop&&this.dropTemplate(e)},e.prototype.handleTemplateKeyDown=function(e,t){"Enter"!==t.key&&" "!==t.key&&"Enter"!==t.code&&"Space"!==t.code||(t.preventDefault(),this.dropTemplate(e))},e.prototype.dropTemplate=function(e){if(this.props.onDrop)for(var t=fi(e),i=0;i<t.length;i++)this.props.onDrop(t[i])},e.prototype.renderCloneHelper=function(){var e=document.createElement("div");e.className="palette-item-clone",e.setAttribute("aria-hidden","true"),e.style.opacity="0",e.style.display="none",e.style.zIndex="10000",e.style.justifyContent="center",e.style.alignItems="center",e.style.gap="8px",e.style.height="37px",e.style.minWidth="120px",e.style.padding="8px 12px",e.style.borderRadius="8px",e.style.boxShadow="0 4px 12px rgba(0,0,0,0.2)",e.style.pointerEvents="none",e.innerHTML='<span class="palette-item-icon"></span><span class="clone-label"></span>',this.cloneHelperElement=e,this.element.appendChild(e)},e.prototype.initializeDraggable=function(){this.draggableObj&&(this.draggableObj=null);var e=this;requestAnimationFrame(function(){e.destroyed||(e.draggableObj=new l.Draggable(e.element,{clone:!0,helper:e.helper.bind(e),dragStart:e.syncDragStart.bind(e),drag:e.syncDrag.bind(e),dragStop:e.syncDragStop.bind(e),enableTailMode:!0,isPreventSelect:!0}))})},e.prototype.isBlockedInSimpleMode=function(e){return"Simple"===this.props.mode&&bi.has(e)},e}(),Pi=function(){function e(){this.datePickers=new Set}return e.prototype.render=function(e){var t=e.prop,i=e.value,o=e.host,r=e.onChange,n=e.l10n,a=e.locale,s=e.mode,p=e.existingValues,d=e.enableRtl,h=(0,l.createElement)("div",{className:"property-field",attrs:{"data-property-key":t.key,"data-property-type":t.type}}),c=["boolean","switch"].indexOf(t.type)>=0;if(!c){var u=(0,l.createElement)("label",{className:"property-label",attrs:{for:"prop-"+t.type+"-"+t.key}});if(u.textContent=n.getConstant(t.label)||t.label,t.required){var v=(0,l.createElement)("span",{className:"required"});v.textContent="*",u.appendChild(v)}h.appendChild(u)}if(t.description){var g=(0,l.createElement)("p",{className:c?"property-description property-description-inline":"property-description"});g.textContent=n.getConstant(t.description)||t.description,h.appendChild(g)}var f=ne("prop-"+t.type+"-"+t.key);try{var m=this.renderControl(t,i,h,r,n,a,f,p,s,this.datePickers,d);return o.appendChild(h),{id:f,instance:m}}catch(e){console.error('[PropertyRenderer] Failed to render "'+t.key+'" (type="'+t.type+'"):',e);var b=(0,l.createElement)("p",{className:"property-render-error",attrs:{role:"alert"}});return b.textContent='Property "'+t.key+'" (type="'+t.type+'") failed to render.',h.appendChild(b),o.appendChild(h),{id:f,instance:null}}},e.prototype.destroy=function(e){if(e&&e.instance){this.datePickers.delete(e.instance);try{"function"==typeof e.instance.destroy&&e.instance.destroy()}catch(e){}}},e.prototype.renderControl=function(e,t,i,o,r,n,a,s,d,h,c){var u=void 0!==t?t:e.default;r.getConstant(e.label)||e.label,e.type;switch(e.type){case"text":var v="name"===e.key||"width"===e.key,g="defaultValue"===e.key||"prefix"===e.key||"suffix"===e.key,f=v?void 0!==u?u:e.default||"":void 0!==u?r.getConstant(u)||u:e.default||"",m={"aria-label":(r.getConstant(e.label)||e.label)+" textbox"};e.length&&(m.maxLength=String(e.length));var b=new A.TextBox({enableRtl:c,value:f,placeholder:r.getConstant(e.placeholder)||e.placeholder,floatLabelType:"Never",locale:n,change:g?function(t){return o(e.key,t.value)}:void 0,input:g?void 0:function(t){return o(e.key,t.value)},htmlAttributes:m}),y=(0,l.createElement)("input",{id:a});return i.appendChild(y),b.appendTo(y),b;case"number":var C=new A.NumericTextBox({enableRtl:c,value:null!=u?u:null,placeholder:r.getConstant(e.placeholder)||e.placeholder,min:e.min,max:e.max,step:e.step||1,format:"n",floatLabelType:"Never",locale:n,change:function(t){return o(e.key,t.value)}});y=(0,l.createElement)("input",{id:a});return i.appendChild(y),C.appendTo(y),C;case"boolean":var x=new p.CheckBox({enableRtl:c,label:r.getConstant(e.label)||e.label,checked:!!u,change:function(t){return o(e.key,t.checked)}});y=(0,l.createElement)("input",{id:a,attrs:{type:"checkbox","aria-label":(r.getConstant(e.label)||e.label)+" checkbox"}});return i.appendChild(y),x.appendTo(y),x;case"switch":var w=(0,l.createElement)("div",{className:"property-field property-field-checkbox"}),P=(0,l.createElement)("div");P.style.fontWeight="600",P.textContent=(r.getConstant(e.label)||e.label)+":",w.appendChild(P);var S=new p.Switch({enableRtl:c,checked:!!u,onLabel:r.getConstant("on")||"On",offLabel:r.getConstant("off")||"Off",change:function(t){return o(e.key,t.checked)}});y=(0,l.createElement)("input",{id:a,attrs:{type:"checkbox","aria-label":(r.getConstant(e.label)||e.label)+" switch"}});return w.appendChild(y),i.appendChild(w),S.appendTo(y),S;case"dropdown":var j=(e.options||[]).map(function(e){return{text:r.getConstant(e)||e,value:e.charAt(0).toUpperCase()+e.slice(1)}}),O=new D.DropDownList({enableRtl:c,dataSource:j,fields:{text:"text",value:"value"},value:u||e.default,placeholder:r.getConstant(e.placeholder)||e.placeholder,floatLabelType:"Never",locale:n,change:function(t){return function(e,t){"calendarMode"===e&&h.forEach(function(e){e.calendarMode=t}),o(e,t)}(e.key,t.value)},htmlAttributes:{"aria-label":(r.getConstant(e.label)||e.label)+" dropdown"}}),T=(0,l.createElement)("input",{id:a});return i.appendChild(T),O.appendTo(T),O;case"multiselect":j=(e.options||[]).map(function(e){return{text:r.getConstant(e)||e,value:e.charAt(0).toUpperCase()+e.slice(1)}});var k=new D.MultiSelect({enableRtl:c,dataSource:j,fields:{text:"text",value:"value"},value:Array.isArray(u)?u:e.default||[],allowCustomValue:!0,placeholder:r.getConstant(e.placeholder)||e.placeholder,floatLabelType:"Never",locale:n,change:function(t){return o(e.key,t.value)},htmlAttributes:{"aria-label":(r.getConstant(e.label)||e.label)+" multiselect"}});T=(0,l.createElement)("input",{id:a});return i.appendChild(T),k.appendTo(T),k;case"radio":var F=(0,l.createElement)("div",{attrs:{role:"radiogroup","aria-labelledby":"label-"+e.key},className:"radio-options"});i.appendChild(F);var I="prop-radio-"+e.key;return(e.options||[]).forEach(function(t){var i=new p.RadioButton({enableRtl:c,name:I,label:r.getConstant(t)||t,value:t,checked:u===t,change:function(){return o(e.key,t)}}),n=(0,l.createElement)("input",{id:I+"-"+t,attrs:{type:"radio"}});F.appendChild(n),i.appendTo(n)}),null;case"color":var R=new A.ColorPicker({enableRtl:c,value:u||e.default||"",locale:n,change:function(t){return o(e.key,t.value)}});y=(0,l.createElement)("input",{id:a});return i.appendChild(y),R.appendTo(y),R;case"day":var L=new E.DatePicker({enableRtl:c,value:u?new Date(u):void 0,format:"MM/dd/yyyy",placeholder:r.getConstant(e.placeholder)||e.placeholder||"Select a date",floatLabelType:"Never",locale:n,change:function(t){return o(e.key,function(e,t){if(!e)return"";var i="Islamic"===t?l.HijriParser.getHijriDate(e):{year:e.getFullYear(),month:e.getMonth()+1,date:e.getDate()};return("0"+String(i.month)).slice(-2)+"/"+("0"+String(i.date)).slice(-2)+"/"+i.year}(t.value,L.calendarMode))}});h.add(L);y=(0,l.createElement)("input",{id:a});return i.appendChild(y),L.appendTo(y),L;case"time":var z=new E.TimePicker({enableRtl:c,value:u?new Date(u):void 0,format:"hh:mm a",placeholder:r.getConstant(e.placeholder)||e.placeholder,floatLabelType:"Never",locale:n,change:function(t){return o(e.key,function(e){if(!e)return"";var t=e.getHours(),i=("0"+String(e.getMinutes())).slice(-2),o=t>=12?"PM":"AM";return t=t%12||12,("0"+String(t)).slice(-2)+":"+i+" "+o}(t.value))}});y=(0,l.createElement)("input",{id:a});return i.appendChild(y),z.appendTo(y),z;case"datetime":var M=new E.DateTimePicker({enableRtl:c,value:u?new Date(u):void 0,placeholder:r.getConstant(e.placeholder)||e.placeholder,floatLabelType:"Never",locale:n,change:function(t){return o(e.key,function(e){if(!e)return"";var t=("0"+String(e.getMonth()+1)).slice(-2),i=("0"+String(e.getDate())).slice(-2),o=e.getFullYear(),r=e.getHours(),n=r>=12?"PM":"AM";return r=r%12||12,t+"/"+i+"/"+o+" "+("0"+String(r)).slice(-2)+":"+("0"+String(e.getMinutes())).slice(-2)+" "+n}(t.value))}});y=(0,l.createElement)("input",{id:a});return i.appendChild(y),M.appendTo(y),M;case"daterange":var B=new E.DateRangePicker({enableRtl:c,startDate:u&&u.startDate?new Date(u.startDate):void 0,endDate:u&&u.endDate?new Date(u.endDate):void 0,placeholder:r.getConstant(e.placeholder)||e.placeholder,floatLabelType:"Never",locale:n,change:function(t){t.startDate&&t.endDate?o(e.key,function(e,t){if(!e||!t)return"";var i=function(e){return("0"+String(e.getMonth()+1)).slice(-2)+"/"+("0"+String(e.getDate())).slice(-2)+"/"+e.getFullYear()};return i(e)+" - "+i(t)}(t.startDate,t.endDate)):o(e.key,"")}});y=(0,l.createElement)("input",{id:a});return i.appendChild(y),B.appendTo(y),B;case"html":var H=new te.RichTextEditor({enableRtl:c,editorMode:"HTML",value:u||e.default||"",toolbarSettings:{items:["Undo","Redo","|","SourceCode"]},saveInterval:1,height:"180px",enableHtmlSanitizer:!1,locale:n,change:function(t){return o(e.key,t.value)},created:function(){H&&setTimeout(function(){H.showSourceCode()},50)}});return te.RichTextEditor.Inject(te.Toolbar,te.HtmlEditor,te.QuickToolbar),H.appendTo(i),H;default:return null}},e}(),Si=function(){return Si=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Si.apply(this,arguments)};Ye.Grid.Inject(Ye.Page);var ji=function(){function e(e){this.host=e.host,this.props=e,this.options=Array.isArray(e.options)?e.options.slice():[],this.l10n=e.l10n,this.onChange=e.onChange,this.type=e.type||"options",this.rows=this.normalizeRows(this.options),this.nextId=this.rows.reduce(function(e,t){return Math.max(e,t.id+1)},0),this.grid=null,this.destroyed=!1,this.gridHost=null,this.addButton=null,this.addButtonListener=null,this.templateId="",this.textBoxInstances=new Map,this.textBoxKeydownListeners=new Map,this.deleteButtonKeydownListeners=new Map}return e.prototype.render=function(){var e=this;if(!this.destroyed){this.clearListeners(),this.host.innerHTML="";var t="row-template-"+Date.now();this.templateId=t;var i=(0,l.createElement)("script",{id:t});i.type="text/x-template",i.innerHTML='<tr>\n <td class="e-rowcell e-templatecell">\n <input type="text" class="e-input label-input" data-id="${id}" value="${label}" placeholder="'+("tabs"===this.type?"Enter tab label":"Enter option label")+'" />\n </td>\n <td class="e-rowcell e-templatecell">\n <button type="button" class="e-btn e-flat delete-btn" data-id="${id}" title="Delete this option" aria-label="Delete this option">\n <span class="e-btn-icon e-icons e-trash"></span>\n </button>\n </td>\n </tr>',document.body.appendChild(i),this.gridHost=(0,l.createElement)("div",{className:"options-editor-grid"}),this.host.appendChild(this.gridHost);var o=this.rows.length>=3?167:2===this.rows.length?112:this.rows.length<=1?56:167,r=this.rows.length>2?"options-grid":"options-grid no-scroll";this.grid=new Ye.Grid({dataSource:this.rows.slice(),enableRtl:this.props.enableRtl,allowPaging:!1,height:o,cssClass:r,allowSelection:!1,rowTemplate:"#"+t,columns:[{field:"label",headerText:"tabs"===this.type?this.l10n.getConstant("tabLabel")||"Tab Label":this.l10n.getConstant("optionLabel")||"Option Label",width:"auto",allowSorting:!1},{headerText:this.l10n.getConstant("action")||"Action",width:"80",textAlign:"Center",allowSorting:!1}],dataBound:function(){return e.onGridDataBound(t)}}),this.grid.appendTo(this.gridHost);var n=(0,l.createElement)("div",{className:"options-actions"});n.style.marginTop="12px";var a=document.createElement("button");a.id="add-option-btn",n.appendChild(a),this.host.appendChild(n),this.addButton=new p.Button({enableRtl:this.props.enableRtl,content:"tabs"===this.type?this.l10n.getConstant("addNewTab")||"+ Add New Tab":this.l10n.getConstant("addNewOption")||"+ Add New Option",cssClass:"e-outlined"}),this.addButton.appendTo(a),this.addButtonListener=function(){return e.handleAddRow()},this.addButton.element.onclick=this.addButtonListener}},e.prototype.onGridDataBound=function(e){var t=this;if(this.grid){var i=this.grid.getContentTable();if(i)i.querySelectorAll(".label-input").forEach(function(e){var i=e,o=parseInt(i.getAttribute("data-id")||"0",10),r=new A.TextBox({enableRtl:t.props.enableRtl,value:i.value,placeholder:i.placeholder,change:function(e){t.handleLabelChange(o,e.value||"")}});if(r.appendTo(e),r.element){var n=function(e){var t=e;t.ctrlKey&&"a"===t.key&&(e.preventDefault(),e.currentTarget.select())};r.element.addEventListener("keydown",n),t.textBoxKeydownListeners.set("label-"+o,{element:r.element,handler:n})}t.textBoxInstances.set("label-"+o,r)}),i.querySelectorAll(".delete-btn").forEach(function(e){var i=e,o=parseInt(i.getAttribute("data-id")||"0",10);i.onclick=function(){return t.handleDeleteRow(o)};var r=function(e){"Enter"===e.code&&t.handleDeleteRow(o)};i.addEventListener("keydown",r),t.deleteButtonKeydownListeners.set(o,{element:i,handler:r})})}},e.prototype.destroy=function(){if(!this.destroyed){if(this.destroyed=!0,this.clearListeners(),this.grid){try{this.grid.destroy()}catch(e){}this.grid=null}this.host.innerHTML="",this.gridHost=null,this.addButton=null,this.addButtonListener=null}},e.prototype.clearGridWidgets=function(){this.textBoxKeydownListeners.forEach(function(e){e.element.removeEventListener("keydown",e.handler)}),this.textBoxKeydownListeners.clear(),this.deleteButtonKeydownListeners.forEach(function(e){e.element.removeEventListener("keydown",e.handler),e.element.onclick=null}),this.deleteButtonKeydownListeners.clear(),this.textBoxInstances.forEach(function(e){try{e.destroy()}catch(e){}}),this.textBoxInstances.clear()},e.prototype.clearListeners=function(){if(this.addButton&&this.addButton.element&&this.addButtonListener)try{this.addButton.element.onclick=null,this.addButton.element.removeEventListener("click",this.addButtonListener),this.addButtonListener=null,this.addButton.destroy()}catch(e){}if(this.clearGridWidgets(),this.templateId){var e=document.getElementById(this.templateId);e&&e.parentElement&&e.parentElement.removeChild(e)}},e.prototype.normalizeRows=function(e){var t=this;return Array.isArray(e)&&0!==e.length?e.map(function(e,i){return{id:i,index:i+1,label:t.l10n.getConstant(e)||e}}):[]},e.prototype.updateOptions=function(e){var t=e.map(function(e){return e.label||""});this.rows=e,this.options=t.slice(),this.onChange(t.slice()),this.grid&&(this.clearGridWidgets(),this.grid.dataSource=this.rows.slice(),this.grid.height=this.rows.length>=3?167:2===this.rows.length?112:this.rows.length<=1?56:167,this.grid.cssClass=this.rows.length>3?"options-grid":"options-grid no-scroll")},e.prototype.handleAddRow=function(){var e=this.nextId++,t=this.rows.length+1,i={id:e,index:t,label:"tabs"===this.type?(this.l10n.getConstant("tab")||"Tab")+" "+t:(this.l10n.getConstant("option")||"Option")+" "+t},o=this.rows.concat(i);this.updateOptions(o)},e.prototype.handleDeleteRow=function(e){var t=this.rows.filter(function(t){return t.id!==e}).map(function(e,t){return Si({},e,{index:t+1})});this.updateOptions(t)},e.prototype.handleLabelChange=function(e,t){var i=this.rows.find(function(t){return t.id===e});if(!i||i.label!==t){var o=this.rows.map(function(i){return i.id===e?Si({},i,{label:t}):i});this.updateOptions(o)}},e}(),Oi=function(){return Oi=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Oi.apply(this,arguments)},Ti=function(){function e(e){this.host=e.host,this.attributes=Array.isArray(e.attributes)?e.attributes.slice():[],this.l10n=e.l10n,this.props=e,this.onChange=e.onChange,this.rows=this.normalizeRows(this.attributes),this.nextId=this.rows.reduce(function(e,t){return Math.max(e,t.id+1)},0),this.grid=null,this.destroyed=!1,this.gridHost=null,this.addButton=null,this.addButtonListener=null,this.templateId="",this.textBoxInstances=new Map,this.textBoxKeydownListeners=new Map,this.deleteButtonKeydownListeners=new Map}return e.prototype.render=function(){var e=this;if(!this.destroyed){this.clearListeners(),this.host.innerHTML="";var t="row-template-"+Date.now();this.templateId=t;var i=(0,l.createElement)("script",{id:t});i.type="text/x-template",i.innerHTML='<tr>\n <td class="e-rowcell e-templatecell">\n <input type="text" class="e-input key-input" data-id="${id}" value="${attrKey}" placeholder="e.g., data-test, aria-label" />\n </td>\n <td class="e-rowcell e-templatecell">\n <input type="text" class="e-input value-input" data-id="${id}" value="${value}" placeholder="e.g., value for the attribute" />\n </td>\n <td class="e-rowcell e-templatecell">\n <button type="button" class="e-btn e-flat delete-btn" data-id="${id}" title="Delete this attribute" aria-label="Delete this attribute">\n <span class="e-icons e-trash"></span>\n </button>\n </td>\n </tr>',document.body.appendChild(i),this.gridHost=(0,l.createElement)("div",{className:"options-editor-grid"}),this.host.appendChild(this.gridHost);var o=this.rows.length>=3?184:2===this.rows.length?126:this.rows.length<=1?68:184,r=this.rows.length>3?"options-grid":"options-grid no-scroll";this.grid=new Ye.Grid({enableRtl:this.props.enableRtl,dataSource:this.rows.slice(),allowPaging:!1,height:o,cssClass:r,allowSelection:!1,rowTemplate:"#"+t,columns:[{field:"attrKey",headerText:this.l10n.getConstant("attributeName")||"Attribute Name",width:"200px"},{field:"value",headerText:this.l10n.getConstant("attributeValue")||"Attribute Value",width:"200px"},{headerText:this.l10n.getConstant("action")||"Action",width:"80",textAlign:"Right"}],dataBound:function(){return e.onGridDataBound(t)}}),this.grid.appendTo(this.gridHost);var n=(0,l.createElement)("div",{className:"options-actions"});n.style.marginTop="12px";var a=document.createElement("button");a.id="add-attribute-btn",n.appendChild(a),this.host.appendChild(n),this.addButton=new p.Button({enableRtl:this.props.enableRtl,content:this.l10n.getConstant("addAttribute")||"Add attribute",cssClass:"e-outlined"}),this.addButton.appendTo(a),this.addButtonListener=this.handleAddRow.bind(this),this.addButton.element.onclick=this.addButtonListener}},e.prototype.onGridDataBound=function(e){var t=this;if(this.grid){var i=this.grid.getContentTable();if(i)i.querySelectorAll(".key-input").forEach(function(e){var i=e,o=parseInt(i.getAttribute("data-id")||"0",10),r=new A.TextBox({enableRtl:t.props.enableRtl,value:i.value,placeholder:i.placeholder,change:function(e){t.handleKeyChange(o,e.value||"")}});if(r.appendTo(e),r.element){var n=function(e){var t=e;t.ctrlKey&&"a"===t.key&&(e.preventDefault(),e.currentTarget.select())};r.element.addEventListener("keydown",n),t.textBoxKeydownListeners.set("key-"+o,{element:r.element,handler:n})}t.textBoxInstances.set("key-"+o,r)}),i.querySelectorAll(".value-input").forEach(function(e){var i=e,o=parseInt(i.getAttribute("data-id")||"0",10),r=new A.TextBox({enableRtl:t.props.enableRtl,value:i.value,placeholder:i.placeholder,change:function(e){t.handleValueChange(o,e.value||"")}});if(r.appendTo(e),r.element){var n=function(e){var t=e;t.ctrlKey&&"a"===t.key&&(e.preventDefault(),e.currentTarget.select())};r.element.addEventListener("keydown",n),t.textBoxKeydownListeners.set("value-"+o,{element:r.element,handler:n})}t.textBoxInstances.set("value-"+o,r)}),i.querySelectorAll(".delete-btn").forEach(function(e){var i=e,o=parseInt(i.getAttribute("data-id")||"0",10);i.onclick=function(){return t.handleDeleteRow(o)};var r=function(e){"Enter"===e.code&&t.handleDeleteRow(o)};i.addEventListener("keydown",r),t.deleteButtonKeydownListeners.set(o,{element:i,handler:r})})}},e.prototype.destroy=function(){if(!this.destroyed){if(this.destroyed=!0,this.clearListeners(),this.grid){try{this.grid.destroy()}catch(e){}this.grid=null}this.host.innerHTML="",this.gridHost=null,this.addButton=null,this.addButtonListener=null}},e.prototype.clearListeners=function(){if(this.addButton&&this.addButton.element&&this.addButtonListener)try{this.addButton.element.onclick=null,this.addButton.element.removeEventListener("click",this.addButtonListener),this.addButtonListener=null,this.addButton.destroy()}catch(e){}if(this.textBoxKeydownListeners.forEach(function(e){e.element.removeEventListener("keydown",e.handler)}),this.textBoxKeydownListeners.clear(),this.deleteButtonKeydownListeners.forEach(function(e){e.element.removeEventListener("keydown",e.handler),e.element.onclick=null}),this.deleteButtonKeydownListeners.clear(),this.textBoxInstances.forEach(function(e){try{e.destroy()}catch(e){}}),this.textBoxInstances.clear(),this.templateId){var e=document.getElementById(this.templateId);e&&e.parentElement&&e.parentElement.removeChild(e)}},e.prototype.normalizeRows=function(e){return Array.isArray(e)&&0!==e.length?e.map(function(e,t){return{id:t,index:t+1,attrKey:e&&e.key?e.key:"",value:e&&e.value?e.value:""}}):[]},e.prototype.updateAttributes=function(e){var t=e.map(function(e){return{key:e.attrKey||"",value:e.value||""}});this.rows=e,this.attributes=t.slice(),this.onChange(t.slice()),this.grid&&(this.grid.dataSource=this.rows.slice(),this.grid.height=this.rows.length>=3?184:2===this.rows.length?126:this.rows.length<=1?68:184,this.grid.cssClass=this.rows.length>3?"options-grid":"options-grid no-scroll")},e.prototype.handleAddRow=function(){var e={id:this.nextId++,index:this.rows.length+1,attrKey:"",value:""},t=this.rows.concat(e);this.updateAttributes(t)},e.prototype.handleDeleteRow=function(e){var t=this.rows.filter(function(t){return t.id!==e}).map(function(e,t){return Oi({},e,{index:t+1})});this.updateAttributes(t)},e.prototype.handleKeyChange=function(e,t){var i=this.rows.find(function(t){return t.id===e});if(!i||i.attrKey!==t){var o=this.rows.map(function(i){return i.id===e?Oi({},i,{attrKey:t}):i});this.updateAttributes(o)}},e.prototype.handleValueChange=function(e,t){var i=this.rows.find(function(t){return t.id===e});if(!i||i.value!==t){var o=this.rows.map(function(i){return i.id===e?Oi({},i,{value:t}):i});this.updateAttributes(o)}},e}(),ki=function(){function e(e){this.host=e.host,this.title=e.title||"",this.content=e.content,this.isOpen=!1,this.root=null,this.header=null,this.clickHandler=null,this.keydownHandler=null,this.mouseEnterHandler=null,this.mouseLeaveHandler=null}return e.prototype.render=function(){var e=this;this.host.innerHTML="";var t=(0,l.createElement)("div",{className:"custom-accordion",styles:"overflow: hidden;"});this.root=t,this.host.appendChild(t);var i=(0,l.createElement)("div",{className:"custom-accordion-header",attrs:{role:"button",tabindex:"0","aria-expanded":"false","aria-label":this.title,"aria-labelledby":"accordion-content-"+this.title},styles:"display: flex; align-items: center; gap: 10px; height: 45px; cursor: pointer; user-select: none;"});this.header=i,t.appendChild(i);var o=(0,l.createElement)("span",{className:"custom-accordion-icon e-icons e-chevron-right",attrs:{"aria-hidden":"true"},styles:"margin-left: 10px;"});i.appendChild(o);var r=(0,l.createElement)("span",{className:"custom-accordion-title"});r.textContent=this.title,i.appendChild(r),this.clickHandler=function(){return e.toggle()},this.keydownHandler=function(t){"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e.toggle())},this.mouseEnterHandler=function(){e.header&&e.header.classList.add("custom-accordion-header-hover")},this.mouseLeaveHandler=function(){e.header&&e.header.classList.remove("custom-accordion-header-hover")},i.addEventListener("click",this.clickHandler),i.addEventListener("keydown",this.keydownHandler),i.addEventListener("mouseenter",this.mouseEnterHandler),i.addEventListener("mouseleave",this.mouseLeaveHandler),this.updateVisualState()},e.prototype.destroy=function(){this.header&&(this.clickHandler&&this.header.removeEventListener("click",this.clickHandler),this.keydownHandler&&this.header.removeEventListener("keydown",this.keydownHandler),this.mouseEnterHandler&&this.header.removeEventListener("mouseenter",this.mouseEnterHandler),this.mouseLeaveHandler&&this.header.removeEventListener("mouseleave",this.mouseLeaveHandler)),this.root&&(this.root.innerHTML=""),this.host.innerHTML=""},e.prototype.toggle=function(){this.isOpen=!this.isOpen,this.updateVisualState()},e.prototype.setOpen=function(e){this.isOpen!==e&&(this.isOpen=e,this.updateVisualState())},e.prototype.getIsOpen=function(){return this.isOpen},e.prototype.updateVisualState=function(){if(this.header&&this.root){var e=this.header.querySelector(".e-icons");e&&(e.classList.remove("e-chevron-right","e-chevron-down"),e.classList.add(this.isOpen?"e-chevron-down":"e-chevron-right")),this.header.setAttribute("aria-expanded",this.isOpen?"true":"false");var t=this.root.querySelector(".custom-accordion-content");if(this.header.classList.toggle("custom-accordion-header--open",this.isOpen),this.header.classList.toggle("custom-accordion-header--closed",!this.isOpen),this.isOpen){if(!t){var i=(0,l.createElement)("div",{className:"custom-accordion-content",attrs:{id:"accordion-content-"+this.title,role:"region","aria-label":this.title},styles:"padding: 0.5rem 1rem 1rem;"});i.appendChild(this.content),this.root.appendChild(i)}}else t&&t.remove()}},e}(),Fi=function(){function e(e,t){this.element=e,this.props=t,this.l10nProvider=t.l10n,this.validationEngine=new Ve,this.errorMessage="Please enter a valid value.",this.errorMessageError="",this.logicalOp="and",this.rules=[],this.availableFields=(t.componentFields||[]).filter(function(e){return e&&e.name!==t.excludeFieldId}).map(function(e){return e.name}),this.rootElement=null,this.initializeExistingRules(),this.render()}return e.prototype.initializeExistingRules=function(){var e=this.props.existingRules||[];if(e.length>0&&e[0].expression){var t=this.validationEngine.parseExpression(e[0].expression);if(t){this.errorMessage=t.errorMessage;var i=t.condition,o="and",r=[];-1!==i.indexOf(" || ")?(o="or",r=this.splitConditionsByOperator(i,"||")):-1!==i.indexOf(" && ")?(o="and",r=this.splitConditionsByOperator(i,"&&")):r=[i],this.logicalOp=o;var n=r.map(function(e,t){return{id:(t+1).toString(),condition:e.trim(),errors:[]}});this.rules=n}}},e.prototype.splitConditionsByOperator=function(e,t){for(var i=[],o="",r=0,n=0;n<e.length;n++){var a=e.charAt(n);"("===a?r++:")"===a&&r--,0===r&&e.substr(n,t.length)===t?(i.push(o.trim()),o="",n+=t.length-1):o+=a}return o.trim()&&i.push(o.trim()),i.map(function(e){var t=e.trim();return"("===t.charAt(0)&&")"===t.charAt(t.length-1)&&(t=t.substring(1,t.length-1).trim()),t})},e.prototype.handleConditionChange=function(e,t){var i=this.validationEngine.validateConditionSyntax(t,this.availableFields),o=this.rules.map(function(o){return o.id===e?{id:o.id,condition:t,errors:i}:o});this.rules=o,this.notifyParent(),this.render()},e.prototype.handleErrorMessageChange=function(e){this.errorMessage=e||"",this.notifyParent()},e.prototype.handleLogicalOpChange=function(e){this.logicalOp=e,this.notifyParent(),this.render()},e.prototype.addRule=function(){this.rules.push({id:(new Date).getTime().toString(),condition:"",errors:[]}),this.render()},e.prototype.removeRule=function(e){this.rules.length>1?(this.rules=this.rules.filter(function(t){return t.id!==e}),this.notifyParent(),this.render()):this.clearAll()},e.prototype.clearAll=function(){this.errorMessage="",this.errorMessageError="",this.logicalOp="and",this.rules=[],this.props.onChange([]),this.render()},e.prototype.notifyParent=function(){var e=this.rules.filter(function(e){return""!==e.condition.trim()&&0===e.errors.length}).map(function(e){for(var t=e.condition.trim();t.length>2&&"("===t.charAt(0)&&")"===t.charAt(t.length-1);){for(var i=t.substring(1,t.length-1).trim(),o=0,r=!0,n=0;n<i.length;n++){var a=i.charAt(n);if("("===a?o++:")"===a&&o--,o<0){r=!1;break}}if(!r||0!==o)break;t=i}return t});if(e.length>0&&this.errorMessage){var t="and"===this.logicalOp?" && ":" || ",i=e.map(function(e){return"("+e+")"}).join(t),o=this.validationEngine.buildExpression(i,this.errorMessage);this.props.onChange([{condition:void 0,expression:o}])}},e.prototype.render=function(){var e=this;if(this.element){this.element.innerHTML="",this.rootElement=document.createElement("div"),this.rootElement.className="custom-validation-editor",this.rootElement.setAttribute("role","group");var t=this.props.values&&this.props.values.label?this.props.values.label:"",i=t?this.l10nProvider.getConstant(t)||t:"";this.rootElement.setAttribute("aria-label",i);var o=document.createElement("div");o.style.display="flex",o.style.justifyContent="space-between";var r=document.createElement("label");r.className="property-label",r.style.fontWeight="600",r.style.marginBottom="0.5rem",r.style.fontSize="0.875rem",r.textContent=i,o.appendChild(r);var n=document.createElement("div");n.style.marginBottom="0.5rem";var a=document.createElement("button");a.type="button",a.className="e-control e-btn e-lib e-flat",a.className+=this.props.enableRtl?" e-rtl":"",a.title="Add Condition",a.setAttribute("aria-label",this.l10nProvider.getConstant("addHeader")||"Add Condition"),a.addEventListener("click",this.addRule.bind(this));var s=document.createElement("span");s.className="e-btn-icon e-icons e-plus",a.appendChild(s);var p=document.createElement("span");p.className="e-btn-text",p.textContent=this.l10nProvider.getConstant("addHeader")||"Add Condition",a.appendChild(p),n.appendChild(a),o.appendChild(n),this.rootElement.appendChild(o);var d=document.createElement("div");d.className="custom-validation-description",d.style.marginBottom="0.75rem";var h=document.createElement("p");h.className="property-description",h.textContent=this.l10nProvider.getConstant("customValidationDescription")||"Define a custom validation condition.",d.appendChild(h),this.rootElement.appendChild(d);var c=document.createElement("div");if(c.className="e-group-container",c.setAttribute("aria-describedby","custom-validation-description"),this.rules.length>1){var u=document.createElement("div");u.className="e-group-header";var v=document.createElement("div");v.className="e-logical-op-radio-group",v.setAttribute("role","radiogroup"),v.setAttribute("aria-label","Logical Operator"),v.style.display="flex",v.style.flexDirection="column",v.style.gap="1.5rem",this.renderLogicalOption(v,"and","AND"),this.renderLogicalOption(v,"or","OR"),u.appendChild(v),c.appendChild(u)}var g=document.createElement("div");g.className="e-group-body";var f=document.createElement("div");f.className="e-rule-list";for(var m=function(t){var i=b.rules[t];if(t>0){var o=document.createElement("div");o.setAttribute("aria-hidden","true"),o.style.display="flex",o.style.alignItems="center",o.style.gap="8px",o.style.margin="8px 0";var r=document.createElement("div");r.style.flex="1",r.style.height="1px",r.style.background="rgb(var(--sf-color-line-color))";var n=document.createElement("span");n.style.border="1px solid rgb(var(--sf-color-line-color))",n.style.borderRadius="9999px",n.style.padding="2px 5px",n.style.fontSize="10px",n.style.lineHeight="1.5",n.textContent="and"===b.logicalOp?"AND":"OR";var a=document.createElement("div");a.style.flex="1",a.style.height="1px",a.style.background="rgb(var(--sf-color-line-color))",o.appendChild(r),o.appendChild(n),o.appendChild(a),f.appendChild(o)}var s=document.createElement("div");s.className="e-rule-container e-horizontal-mode",s.setAttribute("role","group"),s.setAttribute("aria-label","Condition "+(t+1));var p=document.createElement("div");p.className="e-rule-field";var d=document.createElement("div");d.className="e-rule-value";var h=(0,l.createElement)("input",{attrs:{type:"text","aria-label":"Condition "+(t+1),"aria-invalid":i.errors.length>0?"true":"false"}});i.errors.length>0&&h.setAttribute("aria-describedby","condition-errors-"+i.id);var c=new A.TextBox({enableRtl:b.props.enableRtl,value:i.condition,placeholder:"(input === {fieldName})",floatLabelType:"Never",cssClass:"custom-validation-textarea",change:function(t){e.handleConditionChange(i.id,t.value||"")}});h.className="e-input custom-validation-textarea",d.appendChild(h),c.appendTo(h),p.appendChild(d);var u=document.createElement("div"),v=document.createElement("button");v.type="button",v.className="e-btn e-small e-flat",v.title="Remove this condition",v.setAttribute("aria-label","Remove condition "+(t+1)),v.addEventListener("click",b.createRemoveHandler(i.id));var g=document.createElement("span");if(g.className="e-btn-icon e-icons e-trash",v.appendChild(g),u.appendChild(v),p.appendChild(u),s.appendChild(p),i.errors.length>0){var m=document.createElement("div");m.className="custom-validation-field-errors",m.setAttribute("role","alert"),m.setAttribute("aria-live","polite");for(var y=0;y<i.errors.length;y++){var C=document.createElement("div");C.className="e-error",C.textContent=i.errors[y],m.appendChild(C)}s.appendChild(m)}f.appendChild(s)},b=this,y=0;y<this.rules.length;y++)m(y);g.appendChild(f),c.appendChild(g),this.rootElement.appendChild(c);var C=document.createElement("div");C.className="custom-validation-error-message e-fb-form-group",C.style.marginTop="0.75rem";var x=document.createElement("label");x.style.fontWeight="400",x.style.fontSize="14px",x.textContent=(this.l10nProvider.getConstant("validationMessage")||"Validation Message")+" ";var w=document.createElement("span");w.style.color="#e74c3c",w.textContent="*",x.appendChild(w),C.appendChild(x);var P=(0,l.createElement)("input",{attrs:{type:"text","aria-labelledby":"validation-message-label","aria-required":"true","aria-invalid":this.errorMessageError?"true":"false"}});this.errorMessageError&&P.setAttribute("aria-describedby","validation-message-error");var S=new A.TextBox({enableRtl:this.props.enableRtl,value:this.errorMessage,placeholder:this.l10nProvider.getConstant("provideCustomValidationMessage")||"Provide custom validation message",floatLabelType:"Never",cssClass:"custom-validation-error-input"+(this.errorMessageError?" e-error":""),change:function(t){e.handleErrorMessageChange(t.value||""),""===t.value?e.errorMessageError=e.l10nProvider.getConstant("customValidationErrorMessage")||"Please enter a valid value.":e.errorMessageError="",e.render()}});if(P.className="e-input custom-validation-error-input"+(this.errorMessageError?" e-error":""),C.appendChild(P),S.appendTo(P),this.errorMessageError){var j=document.createElement("div");j.className="e-error",j.style.marginTop="6px",j.setAttribute("role","alert"),j.setAttribute("aria-live","polite"),j.textContent=this.errorMessageError,C.appendChild(j)}this.rootElement.appendChild(C),this.element.appendChild(this.rootElement)}},e.prototype.renderLogicalOption=function(e,t,i){var o=this,r=document.createElement("div");r.className="e-radio-wrapper";var n=(0,l.createElement)("input",{attrs:{type:"radio",name:"qb-logical-op","aria-label":i}}),a=new p.RadioButton({enableRtl:this.props.enableRtl,name:"qb-logical-op",value:t,label:i,checked:this.logicalOp===t,labelPosition:"After",change:function(e){e&&void 0!==e.value&&o.handleLogicalOpChange(e.value)}});r.appendChild(n),a.appendTo(n),e.appendChild(r)},e.prototype.createConditionHandler=function(e,t){var i=this;return function(o){var r=o.target;i.handleConditionChange(e,r.value),t.value=r.value}},e.prototype.createRemoveHandler=function(e){var t=this;return function(i){i.preventDefault(),t.removeRule(e)}},e.prototype.createLogicalOpHandler=function(e){var t=this;return function(i){i.preventDefault(),t.handleLogicalOpChange(e)}},e.prototype.createValidationMessageHandler=function(e){var t=this;return function(i){var o=i.target;t.handleErrorMessageChange(o.value),e.value=o.value}},e.prototype.createValidationBlurHandler=function(e){var t=this;return function(e){""===e.target.value?t.errorMessageError=t.l10nProvider.getConstant("customValidationErrorMessage")||"Please enter a valid value.":t.errorMessageError="",t.render()}},e.prototype.destroy=function(){this.element&&(this.element.innerHTML=""),this.rootElement=null},e}();function Ii(e,t,i,o){if(!e||""===e.trim())return{errors:[],hasDependencies:!1};var r=i.validate(e,t).map(function(e){return e.message}),n=o.extractDependencies(e);return 0===n.length&&r.push("Expression must contain at least one field reference"),{errors:r,hasDependencies:n.length>0}}var Ai=function(){function e(e){this.host=e.host,this.expression=e.expression||"",this.availableFields=e.availableFields||[],this.l10n=e.l10n,this.onExpressionChange=e.onExpressionChange,this.validator=new Oe,this.engine=new je,this.wrapper=null,this.inputGroup=null,this.textarea=null,this.errorsHost=null,this.destroyed=!1}return e.prototype.render=function(){var e=this;if(!this.destroyed){this.host.innerHTML="";var t=(0,l.createElement)("div",{className:"property-field"}),i=(0,l.createElement)("div",{className:"expression-editor"}),o=(0,l.createElement)("div",{className:"expression-input-wrapper"}),r=(0,l.createElement)("div"),n=(0,l.createElement)("textarea",{attrs:{rows:"2",id:"expression-editor-textarea"}});r.appendChild(n),this.textarea=new A.TextArea({value:this.expression||"",placeholder:"e.g., {qty} * {price}",rows:2,htmlAttributes:{"aria-label":"Expression Editor textbox"},change:function(t){return e.handleChange(t)}}),this.textarea.appendTo(n),o.appendChild(r),i.appendChild(o),this.errorsHost=(0,l.createElement)("div",{className:"expression-errors"}),this.errorsHost.setAttribute("role","alert"),this.errorsHost.setAttribute("aria-live","assertive"),i.appendChild(this.errorsHost),t.appendChild(i),this.host.appendChild(t),this.wrapper=i,this.inputGroup=r,this.refresh()}},e.prototype.destroy=function(){if(!this.destroyed){if(this.destroyed=!0,this.textarea){try{this.textarea.destroy()}catch(e){}this.textarea=null}this.wrapper=null,this.inputGroup=null,this.errorsHost=null,this.host.innerHTML=""}},e.prototype.setValue=function(e){this.expression=e||"",this.textarea&&this.textarea.value!==this.expression&&(this.textarea.value=this.expression),this.refresh()},e.prototype.handleChange=function(e){var t=e.value||"";this.expression=t,this.refresh()},e.prototype.refresh=function(){var e=Ii(this.expression,this.availableFields,this.validator,this.engine);this.paintErrors(e.errors),this.textarea&&(e.errors.length>0?(this.textarea.element.classList.add("e-error"),this.textarea.element.setAttribute("aria-invalid","true")):(this.textarea.element.classList.remove("e-error"),this.textarea.element.setAttribute("aria-invalid","false"))),0===e.errors.length&&e.hasDependencies?this.onExpressionChange(this.expression):this.onExpressionChange("")},e.prototype.paintErrors=function(e){if(this.errorsHost&&(this.errorsHost.innerHTML="",0!==e.length))for(var t=0;t<e.length;t++){var i=(0,l.createElement)("div",{className:"e-error"});i.setAttribute("role","alert"),i.setAttribute("aria-live","assertive"),i.textContent=e[t],this.errorsHost.appendChild(i)}},e}(),Di=function(){function e(e){this.host=e.host,this.inputValue=e.expression||"",this.availableFields=e.availableFields||[],this.label=e.label||e.l10n&&e.l10n.getConstant("expression")||"Expression",this.description=void 0!==e.description?e.description:e.l10n&&e.l10n.getConstant("expressionDescription")||"",this.l10n=e.l10n,this.onExpressionChange=e.onExpressionChange,this.validator=new Oe,this.engine=new je,this.wrapper=null,this.textarea=null,this.errorsHost=null,this.destroyed=!1}return e.prototype.render=function(){var e=this;if(!this.destroyed){this.host.innerHTML="";var t=(0,l.createElement)("div",{className:"property-field"}),i=(0,l.createElement)("label",{className:"property-label"});if(i.textContent=this.label,t.appendChild(i),this.description){var o=(0,l.createElement)("p",{className:"property-description"});o.textContent=this.description,t.appendChild(o)}this.wrapper=(0,l.createElement)("div",{className:"column-expression-editor"}),this.wrapper.setAttribute("aria-label","Expression Editor textbox");var r=(0,l.createElement)("div",{className:"e-input-group"}),n=this.computeErrors(this.inputValue),a={rows:"2",id:"column-expression-editor-input","aria-label":"Expression Editor textbox","aria-invalid":n.length>0?"true":"false"};n.length>0&&(a["aria-describedby"]="column-expression-errors");var s=(0,l.createElement)("textarea",{className:"e-input",attrs:a});r.appendChild(s),this.textarea=new A.TextArea({value:this.inputValue,placeholder:this.l10n&&this.l10n.getConstant("expressionPlaceholder")||"",rows:2,htmlAttributes:a,change:function(t){return e.handleInputChange(t)}}),this.textarea.appendTo(s),this.wrapper.appendChild(r),this.errorsHost=(0,l.createElement)("div",{className:"e-error",id:"column-expression-errors"}),this.errorsHost.setAttribute("role","alert"),this.errorsHost.setAttribute("aria-live","assertive"),this.wrapper.appendChild(this.errorsHost),t.appendChild(this.wrapper),this.host.appendChild(t),this.paintErrors(n)}},e.prototype.destroy=function(){if(!this.destroyed){if(this.destroyed=!0,this.textarea){try{this.textarea.destroy()}catch(e){}this.textarea=null}this.wrapper=null,this.errorsHost=null,this.host.innerHTML=""}},e.prototype.setValue=function(e){this.inputValue=e||"",this.textarea&&this.textarea.value!==this.inputValue&&(this.textarea.value=this.inputValue),this.paintErrors(this.computeErrors(this.inputValue))},e.prototype.handleInputChange=function(e){var t=e.value||"";this.inputValue=t;var i=this.computeErrors(t);this.paintErrors(i);var o={"aria-label":"Expression Editor textbox","aria-invalid":i.length>0?"true":"false",id:"column-expression-editor-input"};if(i.length>0&&(o["aria-describedby"]="column-expression-errors"),this.textarea)for(var r in o)this.textarea.element.setAttribute(r,o[r]);0===i.length&&this.onExpressionChange(t)},e.prototype.computeErrors=function(e){return e&&""!==e.trim()?Ii(e,this.availableFields,this.validator,this.engine).errors:[]},e.prototype.paintErrors=function(e){if(this.errorsHost&&(this.errorsHost.innerHTML="",0!==e.length))for(var t=0;t<e.length;t++){var i=(0,l.createElement)("p");i.style.margin="0",i.textContent=e[t],this.errorsHost.appendChild(i)}},e}(),Ei=function(){return Ei=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Ei.apply(this,arguments)},Ri=[{text:"string",value:"string"},{text:"number",value:"number"},{text:"date",value:"date"},{text:"boolean",value:"boolean"}],Li=function(){function e(e){this.props=e,this.host=e.host,this.columns=e.columns?e.columns.slice():[],this.l10n=e.l10n,this.locale=e.locale||"en-US",this.onChange=e.onChange,this.label=e.label&&this.l10n&&this.l10n.getConstant?this.l10n.getConstant(e.label)||e.label:e.label||"Column",this.isConditionData=!!e.isConditionData,this.rows=this.normalizeRows(this.columns),this.nextId=this.rows.reduce(function(e,t){return Math.max(e,t.id+1)},0),this.expandedId=null,this.accordion=null,this.accordionOpen=!1,this.controls=[],this.destroyed=!1,this.formSchema=e.formSchema,this.name=e.name,this.fieldSuggestions=(e.fieldSuggestions||[]).filter(function(e){return!!e})}return e.prototype.render=function(){var e=this;if(!this.destroyed){var t=this.accordion?this.accordion.getIsOpen():this.accordionOpen;this.destroyControls(),this.host.innerHTML="";var i=this.formSchema.components.find(function(t){return t.name===e.name});i&&i.dataSource&&He.fetch(i.dataSource,i.id,{},this.formSchema.components).then(function(t){if(t.id===i.id&&t.options.length>0){var o=Me(i.dataSource,t.options);e.dataSourceKeys=e.extractDataSourceKeys(Array.isArray(o)?o:[])}});var o=(0,l.createElement)("div",{className:"column-builder"}),r=(0,l.createElement)("div",{className:"column-list"});0===this.rows.length&&(r.style.display="none");for(var n=function(t){var i=a.rows[t],o=(0,l.createElement)("div",{className:"column-item"}),n=(0,l.createElement)("div",{className:"column-header"+(a.isConditionData?" no-border-radius":"")}),s=(0,l.createElement)("span",{className:"column-field"});s.textContent=i.headerText||i.field||"Column "+(i.index||t+1),n.appendChild(s);var d=(0,l.createElement)("div",{styles:"display: flex; gap: 8px;"}),h=(0,l.createElement)("button",{className:"e-btn e-flat",attrs:{type:"button",title:a.getConstant("edit"),"aria-label":a.getConstant("edit")}}),c=new p.Button({enableRtl:a.props.enableRtl,iconCss:"e-icons e-edit",cssClass:"e-flat"});c.appendTo(h),h.onclick=function(){e.expandedId=e.expandedId===i.id?null:i.id,e.render()},d.appendChild(h),a.controls.push(c);var u=(0,l.createElement)("button",{className:"e-btn e-flat",attrs:{type:"button",title:a.getConstant("delete"),"aria-label":a.getConstant("delete")}}),v=new p.Button({enableRtl:a.props.enableRtl,iconCss:"e-icons e-trash",cssClass:"e-flat"});if(v.appendTo(u),u.onclick=function(){e.handleDeleteRow(i.id)},d.appendChild(u),a.controls.push(v),n.appendChild(d),o.appendChild(n),a.expandedId===i.id){var g=(0,l.createElement)("div",{className:a.isConditionData?"conditional-column":"right-sidebar-column"});if(!a.isConditionData){var f=(0,l.createElement)("div",{className:"column-sidebar-header"}),m=(0,l.createElement)("h3");m.textContent=a.getConstant("columnSettings"),f.appendChild(m);var b=(0,l.createElement)("button",{className:"close-btn",attrs:{type:"button",title:"Close (Esc)","aria-label":a.getConstant("close")}});b.textContent="✕",b.onclick=function(){e.expandedId=null,e.render()},f.appendChild(b),g.appendChild(f)}var y=(0,l.createElement)("div",{className:"column-details"});y.appendChild(a.createColumnEditor(i)),g.appendChild(y),o.appendChild(g)}r.appendChild(o)},a=this,s=0;s<this.rows.length;s++)n(s);o.appendChild(r);var d=(0,l.createElement)("div",{styles:"width: 100%;"}),h=(0,l.createElement)("button",{className:"e-btn e-outline",attrs:{type:"button","aria-label":this.getConstant("addColumn")},styles:"width: 100%;"}),c=new p.Button({enableRtl:this.props.enableRtl,content:this.getConstant("addColumn"),cssClass:"e-outline"});c.appendTo(h),h.onclick=function(){return e.handleAddRow()},d.appendChild(h),this.controls.push(c),o.appendChild(d),this.accordion=new ki({host:this.host,title:this.l10n.getConstant("columns")||this.label,content:o}),this.accordion.render(),this.accordionOpen=t,t&&this.accordion.setOpen(!0)}},e.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,this.destroyControls(),this.accordion&&(this.accordion.destroy(),this.accordion=null),this.accordionOpen=!1,this.host.innerHTML="")},e.prototype.normalizeRows=function(e){for(var t=[],i=0;i<(e||[]).length;i++){var o=e[i];t.push(Ei({id:i,index:i+1,field:o.field||"column_"+(i+1),headerText:o.headerText||o.field||"Column "+(i+1),type:o.type||"string",width:o.width||"120",format:o.format||"",validation:o.validation,validationRules:o.validationRules||{},isPrimaryKey:!!o.isPrimaryKey,allowEditing:void 0===o.allowEditing||o.allowEditing,expression:o.expression||"",customValidation:o.customValidation||[],editType:o.editType||this.mapTypeToEditType(o.type||"string")},o))}return t},e.prototype.mapTypeToEditType=function(e){switch(e){case"number":return"numericedit";case"date":return"datepickeredit";case"boolean":return"booleanedit";default:return"textbox"}},e.prototype.getConstant=function(e){return this.l10n&&this.l10n.getConstant&&this.l10n.getConstant(e)||e},e.prototype.extractDataSourceKeys=function(e){return Array.isArray(e)&&e.length>0?Object.keys(e[0]):[]},e.prototype.createColumnEditor=function(e){var t=this,i=(0,l.createElement)("div",{styles:"padding: 1rem !important; display: flex; flex-direction: column; gap: 16px;"}),o=(0,l.createElement)("label",{className:"property-label",styles:"font-weight: 600; margin-bottom: 0.5rem; font-size: 14px;"});o.textContent=this.getConstant("basic"),i.appendChild(o);var r=(0,l.createElement)("div",{className:"e-fb-form-group"}),n=(0,l.createElement)("label");n.textContent=this.getConstant("fieldName"),r.appendChild(n);var a,s=(0,l.createElement)("input",{attrs:{type:"text"}});r.appendChild(s);var d=this.dataSourceKeys&&this.dataSourceKeys.length>0?this.dataSourceKeys.map(function(e){return{text:e,value:e}}):void 0;(a=d&&d.length>0?new D.AutoComplete({enableRtl:this.props.enableRtl,dataSource:d,value:e.field||"",placeholder:this.getConstant("fieldName"),allowCustom:!0,change:function(i){return t.updateRow(e.id,{field:i.value||""})}}):new A.TextBox({enableRtl:this.props.enableRtl,value:e.field||"",cssClass:"e-textbox",placeholder:this.getConstant("fieldName"),change:function(i){return t.updateRow(e.id,{field:i.value||""})}})).appendTo(s),this.controls.push(a),i.appendChild(r);var h=(0,l.createElement)("div",{className:"e-fb-form-group"}),c=(0,l.createElement)("label");c.textContent=this.getConstant("headerText"),c.style.marginTop="0.5rem",h.appendChild(c);var u=(0,l.createElement)("input",{attrs:{type:"text"}});h.appendChild(u);var v=new A.TextBox({enableRtl:this.props.enableRtl,value:e.headerText||"",cssClass:"e-textbox",placeholder:this.getConstant("columnHeaderDisplay"),change:function(i){return t.updateRow(e.id,{headerText:i.value||""})}});v.appendTo(u),this.controls.push(v),i.appendChild(h);var g=(0,l.createElement)("div",{className:"e-fb-form-group"}),f=(0,l.createElement)("label");f.textContent=this.getConstant("type"),g.appendChild(f);var m=(0,l.createElement)("input",{attrs:{type:"text"}});g.appendChild(m);var b=new D.DropDownList({enableRtl:this.props.enableRtl,dataSource:Ri,fields:{text:"text",value:"value"},value:e.type||"string",cssClass:"e-textbox",change:function(i){var o=i.value||"string";t.updateRow(e.id,{type:o,editType:t.mapTypeToEditType(o),validationRules:{}}),t.render()}});b.appendTo(m),this.controls.push(b),i.appendChild(g);var y=(0,l.createElement)("div",{className:"e-fb-form-group"}),C=(0,l.createElement)("label");C.textContent=this.getConstant("width"),y.appendChild(C);var x=(0,l.createElement)("input",{attrs:{type:"text"}});y.appendChild(x);var w=new A.TextBox({enableRtl:this.props.enableRtl,value:e.width||"120",cssClass:"e-textbox",placeholder:this.getConstant("columnWidthPlaceholder"),change:function(i){return t.updateRow(e.id,{width:i.value||"120"})}});w.appendTo(x),this.controls.push(w),i.appendChild(y);var P=(0,l.createElement)("div",{className:"e-fb-form-group"}),S=(0,l.createElement)("label");S.textContent=this.getConstant("format"),P.appendChild(S);var j=(0,l.createElement)("input",{attrs:{type:"text"}});P.appendChild(j);var O=new A.TextBox({enableRtl:this.props.enableRtl,value:e.format||"",cssClass:"e-textbox",change:function(i){return t.updateRow(e.id,{format:i.value||""})}});O.appendTo(j),this.controls.push(O),i.appendChild(P);var T=(0,l.createElement)("div",{styles:"height: 0.5px; border-bottom: 0.5px solid rgb(var(--sf-color-line-color));"});i.appendChild(T);var k=(0,l.createElement)("label",{className:"property-label",styles:"font-weight: 600; margin-bottom: 0.5rem; font-size: 14px; display: block;"});k.textContent=this.getConstant("behaviour"),i.appendChild(k);var F=(0,l.createElement)("div",{className:"e-fb-form-group checkbox-group"}),I=(0,l.createElement)("label"),E=(0,l.createElement)("div");I.appendChild(E);var R=this.hasOtherPrimaryKey(e.id),L=new p.CheckBox({enableRtl:this.props.enableRtl,label:this.getConstant("primaryKey")+(!e.isPrimaryKey&&R?" ("+this.getConstant("anotherPrimaryKeySet")+")":""),checked:!!e.isPrimaryKey,disabled:!e.isPrimaryKey&&R,change:function(i){return t.handlePrimaryKey(e.id,!!i.checked)}});L.appendTo(E),this.controls.push(L),F.appendChild(I),i.appendChild(F);var z=(0,l.createElement)("div",{className:"e-fb-form-group checkbox-group"}),M=(0,l.createElement)("label"),B=(0,l.createElement)("div");M.appendChild(B);var H=new p.CheckBox({enableRtl:this.props.enableRtl,label:this.getConstant("allowEditing")||"Allow Editing",checked:!1!==e.allowEditing,change:function(i){return t.updateRow(e.id,{allowEditing:!!i.checked})}});H.appendTo(B),this.controls.push(H),z.appendChild(M),i.appendChild(z);var N=(0,l.createElement)("div",{styles:"height: 0.5px; border-bottom: 0.5px solid rgb(var(--sf-color-line-color));"});i.appendChild(N);var Y=(0,l.createElement)("label",{className:"property-label",styles:"font-weight: 600; margin-bottom: 0.5rem; font-size: 14px; display: block;"});Y.textContent=this.getConstant("validationRulesFor"),i.appendChild(Y);var W=(0,l.createElement)("div",{className:"e-fb-form-group checkbox-group"}),X=(0,l.createElement)("label"),U=(0,l.createElement)("div");X.appendChild(U);var V=new p.CheckBox({enableRtl:this.props.enableRtl,label:this.getConstant("required"),checked:!(!e.validationRules||!e.validationRules.required),change:function(i){var o=e.validationRules||{};o.required=!!i.checked||void 0,t.updateRow(e.id,{validationRules:o})}});V.appendTo(U),this.controls.push(V),W.appendChild(X),i.appendChild(W),"string"===e.type&&(i.appendChild(this.renderNumericRule(e,"minLength",this.getConstant("minLength"),"minimumCharacters")),i.appendChild(this.renderNumericRule(e,"maxLength",this.getConstant("maxLength"),"maximumCharacters"))),"number"===e.type&&(i.appendChild(this.renderNumericRule(e,"min",this.getConstant("minValue"),"minimumValue")),i.appendChild(this.renderNumericRule(e,"max",this.getConstant("maxValue"),"maximumValue"))),"date"===e.type&&(i.appendChild(this.renderDateRule(e,"min",this.getConstant("minDate"))),i.appendChild(this.renderDateRule(e,"max",this.getConstant("maxDate"))));var q=(0,l.createElement)("div",{styles:"height: 0.5px; border-bottom: 0.5px solid rgb(var(--sf-color-line-color));"});i.appendChild(q);var _=(0,l.createElement)("div",{className:"e-fb-form-group"}),Z=(0,l.createElement)("div");_.appendChild(Z);var G=this.fieldSuggestions.concat(this.rows.map(function(e){return e.field||""})).filter(function(e,t,i){return e&&i.indexOf(e)===t}),J=new Di({host:Z,expression:e.expression||"",availableFields:G,label:this.getConstant("expression"),description:this.getConstant("expressionDesc"),l10n:this.l10n,onExpressionChange:function(i){return t.updateRow(e.id,{expression:i})}});J.render(),this.controls.push(J),i.appendChild(_);var K=(0,l.createElement)("div",{className:"e-fb-form-group"}),Q=(0,l.createElement)("div",{className:"custom-validation-section"});return new Fi(Q,{componentFields:this.rows.map(function(e){return{id:""+e.id,name:e.field,type:e.type||"string",label:e.headerText}}),enableRtl:this.props.enableRtl,excludeFieldId:e.field,existingRules:e.customValidation||[],values:{label:"customValidation"},l10n:this.l10n,onChange:function(i){return t.updateRow(e.id,{customValidation:i})}}).render(),K.appendChild(Q),i.appendChild(K),i},e.prototype.renderNumericRule=function(e,t,i,o){var r=this,n=(0,l.createElement)("div",{className:"e-fb-form-group"}),a=(0,l.createElement)("label");a.textContent=i,n.appendChild(a);var s=(0,l.createElement)("input",{attrs:{type:"text"}});n.appendChild(s);var p=new A.NumericTextBox({enableRtl:this.props.enableRtl,value:this.resolveNumericValue(e,t),locale:this.locale,placeholder:this.getConstant(o),cssClass:"e-textbox",change:function(i){return r.updateValidationRule(e.id,t,i.value)}});return p.appendTo(s),this.controls.push(p),n},e.prototype.renderDateRule=function(e,t,i){var o=this,r=(0,l.createElement)("div",{className:"e-fb-form-group"}),n=(0,l.createElement)("label");n.textContent=i,r.appendChild(n);var a=(0,l.createElement)("input",{attrs:{type:"text"}});r.appendChild(a);var s=new E.DatePicker({enableRtl:this.props.enableRtl,locale:this.locale,value:this.resolveDateValue(e,t),cssClass:"e-textbox",change:function(i){var r=i.value;o.updateValidationRule(e.id,t,r?r.toISOString().slice(0,10):void 0)}});return s.appendTo(a),this.controls.push(s),r},e.prototype.resolveNumericValue=function(e,t){var i=(e.validationRules||{})[t];return null!=i?i:void 0},e.prototype.resolveDateValue=function(e,t){var i=(e.validationRules||{})[t];if(i)return new Date(i)},e.prototype.handleAddRow=function(){var e={id:this.nextId++,index:this.rows.length+1,field:"column_"+Date.now(),headerText:this.getConstant("column")+" "+(this.rows.length+1),type:"string",width:"120",format:"",validation:void 0,validationRules:{},isPrimaryKey:!1,allowEditing:!0,expression:"",customValidation:[],editType:"textbox"};this.rows.push(e),this.emitRows(),this.render()},e.prototype.handleDeleteRow=function(e){this.rows=this.rows.filter(function(t){return t.id!==e}).map(function(e,t){return e.index=t+1,e}),this.emitRows(),this.render()},e.prototype.updateRow=function(e,t){this.rows=this.rows.map(function(i){return i.id===e?Ei({},i,t):i}),this.emitRows()},e.prototype.updateValidationRule=function(e,t,i){this.rows=this.rows.map(function(o){if(o.id===e){var r=Ei({},o.validationRules||{});return void 0===i||""===i||null===i?delete r[t]:r[t]=i,Ei({},o,{validationRules:r})}return o}),this.emitRows()},e.prototype.handlePrimaryKey=function(e,t){this.rows=this.rows.map(function(i){return i.id===e?Ei({},i,{isPrimaryKey:t}):t?Ei({},i,{isPrimaryKey:!1}):i}),this.emitRows()},e.prototype.hasOtherPrimaryKey=function(e){return this.rows.some(function(t){return t.id!==e&&!0===t.isPrimaryKey})},e.prototype.emitRows=function(){var e=this.rows.map(function(e){var t=Ei({},e);return delete t.id,delete t.index,t});this.columns=e.slice(),this.onChange(e.slice())},e.prototype.destroyControls=function(){if(this.controls&&this.controls.length)for(var e=0;e<this.controls.length;e++){var t=this.controls[e];if(t&&"function"==typeof t.destroy)try{t.destroy()}catch(e){}}this.controls=[]},e}(),zi=function(){return zi=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},zi.apply(this,arguments)},Mi=["button","submit","reset"],Bi=["primary","flat","information","error","success","warning"],Hi=["Left","Right"],Ni=function(){function e(e){this.host=e.host,this.props=e,this.buttons=Array.isArray(e.buttons)?e.buttons.slice():[],this.l10n=e.l10n,this.onChange=e.onChange,this.rows=this.normalizeRows(this.buttons),this.nextId=this.rows.reduce(function(e,t){return Math.max(e,t.id+1)},0),this.grid=null,this.destroyed=!1,this.gridHost=null,this.addButton=null,this.addButtonListener=null,this.templateId="",this.textBoxInstances=new Map,this.dropDownInstances=new Map,this.checkBoxInstances=new Map,this.textBoxKeydownListeners=new Map,this.deleteButtonKeydownListeners=new Map}return e.prototype.render=function(){var e=this;if(!this.destroyed){this.clearListeners(),this.host.innerHTML="";var t="button-row-template-"+Date.now();this.templateId=t;var i=(0,l.createElement)("script",{id:t});i.type="text/x-template",i.innerHTML='<tr>\n <td class="e-rowcell e-templatecell">\n <input type="text" class="e-input label-input" data-id="${id}" value="${label}" placeholder="Enter button label" />\n </td>\n <td class="e-rowcell e-templatecell">\n <input type="text" class="e-input type-input" data-id="${id}" value="${type}" placeholder="Button type" />\n </td>\n <td class="e-rowcell e-templatecell">\n <input type="text" class="style-input" data-id="${id}" value="${style}" placeholder="Button style" />\n </td>\n <td class="e-rowcell e-templatecell">\n <input type="text" class="e-input icon-css-input" data-id="${id}" value="${iconCss}" placeholder="e.g., e-icon-close" />\n </td>\n <td class="e-rowcell e-templatecell">\n <input type="text" class="e-input icon-position-input" data-id="${id}" value="${iconPosition}" placeholder="Left" />\n </td>\n <td class="e-rowcell e-templatecell">\n <input type="checkbox" class="disabled-check" data-id="${id}" />\n </td>\n <td class="e-rowcell e-templatecell">\n <button type="button" class="e-btn e-flat delete-btn" data-id="${id}" title="Delete this button" aria-label="Delete this button">\n <span class="e-icons e-trash"></span>\n </button>\n </td>\n </tr>',document.body.appendChild(i),this.gridHost=(0,l.createElement)("div",{className:"options-editor-grid"}),this.host.appendChild(this.gridHost);var o=this.rows.length>=3?184:2===this.rows.length?126:this.rows.length<=1?68:184,r=this.rows.length>3?"options-grid":"options-grid no-scroll";this.grid=new Ye.Grid({dataSource:this.rows.slice(),enableRtl:this.props.enableRtl,allowPaging:!1,height:o,cssClass:r,allowSelection:!1,rowTemplate:"#"+t,columns:[{field:"label",headerText:this.l10n.getConstant("buttonLabel")||"Button Label",width:"150px",allowSorting:!1},{field:"type",headerText:this.l10n.getConstant("buttonType")||"Button Type",width:"120px",allowSorting:!1},{field:"style",headerText:this.l10n.getConstant("buttonStyle")||"Button Style",width:"120px",allowSorting:!1},{field:"iconCss",headerText:this.l10n.getConstant("iconCss")||"Icon CSS",width:"130px",allowSorting:!1},{field:"iconPosition",headerText:this.l10n.getConstant("iconPosition")||"Icon Position",width:"110px",allowSorting:!1},{field:"disabled",headerText:this.l10n.getConstant("disabled")||"Disabled",width:"80px",textAlign:"Center",allowSorting:!1},{headerText:this.l10n.getConstant("action")||"Action",width:"80px",textAlign:"Center",allowSorting:!1}],dataBound:function(){return e.onGridDataBound(t)}}),this.grid.appendTo(this.gridHost);try{this.grid.hideSpinner()}catch(e){}var n=(0,l.createElement)("div",{className:"options-actions"});n.style.marginTop="12px";var a=document.createElement("button");a.id="add-button-btn",n.appendChild(a),this.host.appendChild(n),this.addButton=new p.Button({enableRtl:this.props.enableRtl,content:this.l10n.getConstant("addButton")||"Add Button",cssClass:"e-outlined"}),this.addButton.appendTo(a),this.addButtonListener=this.handleAddRow.bind(this),this.addButton.element.onclick=this.addButtonListener}},e.prototype.onGridDataBound=function(e){var t=this;if(this.grid){try{this.grid.hideSpinner()}catch(e){}var i=this.grid.getContentTable();if(i)i.querySelectorAll(".label-input").forEach(function(e){var i=e,o=parseInt(i.getAttribute("data-id")||"0",10),r=new A.TextBox({enableRtl:t.props.enableRtl,value:i.value,placeholder:i.placeholder,change:function(e){return t.handleLabelChange(o,String(e.value||""))}});if(r.appendTo(e),r.element){var n=function(e){var t=e;t.ctrlKey&&"a"===t.key&&(e.preventDefault(),e.currentTarget.select())};r.element.addEventListener("keydown",n),t.textBoxKeydownListeners.set("label-"+o,{element:r.element,handler:n})}t.textBoxInstances.set("label-"+o,r)}),i.querySelectorAll(".type-input").forEach(function(e){var i=e,o=parseInt(i.getAttribute("data-id")||"0",10),r=new D.DropDownList({enableRtl:t.props.enableRtl,dataSource:Mi.slice(),value:i.value||"button",change:function(e){return t.handleTypeChange(o,e.value||"button")}});r.appendTo(e),t.dropDownInstances.set("type-"+o,r)}),i.querySelectorAll(".style-input").forEach(function(e){var i=e,o=parseInt(i.getAttribute("data-id")||"0",10),r=new D.DropDownList({enableRtl:t.props.enableRtl,dataSource:Bi.slice(),value:i.value||"primary",change:function(e){return t.handleStyleChange(o,e.value||"primary")}});r.appendTo(e),t.dropDownInstances.set("style-"+o,r)}),i.querySelectorAll(".icon-css-input").forEach(function(e){var i=e,o=parseInt(i.getAttribute("data-id")||"0",10),r=new A.TextBox({enableRtl:t.props.enableRtl,value:i.value,placeholder:i.placeholder,change:function(e){return t.handleIconCssChange(o,String(e.value||""))}});if(r.appendTo(e),r.element){var n=function(e){var t=e;t.ctrlKey&&"a"===t.key&&(e.preventDefault(),e.currentTarget.select())};r.element.addEventListener("keydown",n),t.textBoxKeydownListeners.set("icon-css-"+o,{element:r.element,handler:n})}t.textBoxInstances.set("icon-css-"+o,r)}),i.querySelectorAll(".icon-position-input").forEach(function(e){var i=e,o=parseInt(i.getAttribute("data-id")||"0",10),r=new D.DropDownList({enableRtl:t.props.enableRtl,dataSource:Hi.slice(),value:i.value||"Left",change:function(e){return t.handleIconPositionChange(o,e.value||"Left")}});r.appendTo(e),t.dropDownInstances.set("icon-position-"+o,r)}),i.querySelectorAll(".disabled-check").forEach(function(e){var i=parseInt(e.getAttribute("data-id")||"0",10),o=t.rows.find(function(e){return e.id===i}),r=new p.CheckBox({enableRtl:t.props.enableRtl,checked:!(!o||!o.disabled),change:function(e){t.handleDisabledChange(i,!!e.checked)}});r.appendTo(e),t.checkBoxInstances.set("disabled-"+i,r)}),i.querySelectorAll(".delete-btn").forEach(function(e){var i=e,o=parseInt(i.getAttribute("data-id")||"0",10);i.onclick=function(){return t.handleDeleteRow(o)};var r=function(e){"Enter"===e.code&&t.handleDeleteRow(o)};i.addEventListener("keydown",r),t.deleteButtonKeydownListeners.set(o,{element:i,handler:r})})}},e.prototype.destroy=function(){if(!this.destroyed){if(this.destroyed=!0,this.clearListeners(),this.grid){try{this.grid.destroy()}catch(e){}this.grid=null}this.host.innerHTML="",this.gridHost=null,this.addButton=null,this.addButtonListener=null}},e.prototype.clearListeners=function(){if(this.addButton&&this.addButton.element&&this.addButtonListener)try{this.addButton.element.onclick=null,this.addButton.element.removeEventListener("click",this.addButtonListener),this.addButtonListener=null,this.addButton.destroy()}catch(e){}if(this.textBoxKeydownListeners.forEach(function(e){e.element.removeEventListener("keydown",e.handler)}),this.textBoxKeydownListeners.clear(),this.deleteButtonKeydownListeners.forEach(function(e){e.element.removeEventListener("keydown",e.handler),e.element.onclick=null}),this.deleteButtonKeydownListeners.clear(),this.textBoxInstances.forEach(function(e){try{e.destroy()}catch(e){}}),this.textBoxInstances.clear(),this.dropDownInstances.forEach(function(e){try{e.destroy()}catch(e){}}),this.dropDownInstances.clear(),this.checkBoxInstances.forEach(function(e){try{e.destroy()}catch(e){}}),this.checkBoxInstances.clear(),this.templateId){var e=document.getElementById(this.templateId);e&&e.parentElement&&e.parentElement.removeChild(e)}},e.prototype.normalizeRows=function(e){return Array.isArray(e)&&0!==e.length?e.map(function(e,t){var i=e&&e.type||e&&e.buttonType||"button",o=e&&e.style||"primary",r=e&&e.iconPosition||"Left";return{id:t,index:t+1,label:e&&e.label||"",type:i,style:o,iconCss:e&&e.iconCss||"",iconPosition:r,disabled:!(!e||!e.disabled)}}):[]},e.prototype.updateButtons=function(e){var t=e.map(function(e){return{label:e.label||"",type:e.type||"button",style:e.style||"primary",iconCss:e.iconCss||"",iconPosition:e.iconPosition||"Left",disabled:!!e.disabled}});this.rows=e,this.buttons=t.slice(),this.onChange(t.slice()),this.grid&&(this.grid.dataSource=this.rows.slice(),this.grid.height=this.rows.length>=3?184:2===this.rows.length?126:this.rows.length<=1?68:184,this.grid.cssClass=this.rows.length>3?"options-grid":"options-grid no-scroll")},e.prototype.handleAddRow=function(){var e=this.nextId++,t=this.rows.length+1,i={id:e,index:t,label:"Button "+t,type:"button",style:"primary",iconCss:"",iconPosition:"Left",disabled:!1},o=this.rows.concat(i);this.updateButtons(o)},e.prototype.handleDeleteRow=function(e){var t=this.rows.filter(function(t){return t.id!==e}).map(function(e,t){return zi({},e,{index:t+1})});this.updateButtons(t)},e.prototype.handleLabelChange=function(e,t){var i=this.rows.find(function(t){return t.id===e});if(!i||i.label!==t){var o=this.rows.map(function(i){return i.id===e?zi({},i,{label:t}):i});this.updateButtons(o)}},e.prototype.handleTypeChange=function(e,t){var i=this.rows.find(function(t){return t.id===e});if(!i||i.type!==t){var o=this.rows.map(function(i){return i.id===e?zi({},i,{type:t}):i});this.updateButtons(o)}},e.prototype.handleStyleChange=function(e,t){var i=this.rows.find(function(t){return t.id===e});if(!i||i.style!==t){var o=this.rows.map(function(i){return i.id===e?zi({},i,{style:t}):i});this.updateButtons(o)}},e.prototype.handleIconCssChange=function(e,t){var i=this.rows.find(function(t){return t.id===e});if(!i||i.iconCss!==t){var o=this.rows.map(function(i){return i.id===e?zi({},i,{iconCss:t}):i});this.updateButtons(o)}},e.prototype.handleIconPositionChange=function(e,t){var i=this.rows.find(function(t){return t.id===e});if(!i||i.iconPosition!==t){var o=this.rows.map(function(i){return i.id===e?zi({},i,{iconPosition:t}):i});this.updateButtons(o)}},e.prototype.handleDisabledChange=function(e,t){var i=this.rows.find(function(t){return t.id===e});if(!i||i.disabled!==t){var o=this.rows.map(function(i){return i.id===e?zi({},i,{disabled:t}):i});this.updateButtons(o)}},e}(),Yi=function(){function e(e){this.host=e.host,this.props=e,this.columnCount=e.columnCount||2,this.initialWidths=e.initialWidths||[],this.l10n=e.l10n,this.onChange=e.onChange,this.rows=[],this.grid=null,this.destroyed=!1,this.gridHost=null,this.templateId="",this.numericTextBoxes=new Map,this.inputKeydownListeners=new Map,this.rows=this.normalizeRows()}return e.prototype.render=function(){var e=this;if(!this.destroyed){if(this.clearListeners(),this.host.innerHTML="",this.columnCount<1||this.columnCount>12){var t=(0,l.createElement)("div",{className:"column-span-editor-error"});return t.innerHTML="⚠️ Invalid column count: "+this.columnCount,void this.host.appendChild(t)}var i="col-width-row-template-"+Date.now();this.templateId=i;var o=(0,l.createElement)("script",{id:i});o.type="text/x-template",o.innerHTML='<tr><td class="e-rowcell e-templatecell"> <span class="column-name">${columnName}</span></td><td class="e-rowcell e-templatecell"> <div> <input class="e-input width-input" data-id="${id}" value="${width}" placeholder="Width %" /> </div></td></tr>',document.body.appendChild(o),this.gridHost=(0,l.createElement)("div",{className:"options-editor-grid"}),this.host.appendChild(this.gridHost);var r=this.calculateHeight(this.rows.length);this.grid=new Ye.Grid({enableRtl:this.props.enableRtl,dataSource:this.rows.slice(),allowPaging:!1,height:r,cssClass:"options-grid table-col",allowSelection:!1,rowTemplate:"#"+i,columns:[{field:"columnName",headerText:this.l10n.getConstant("columns")||"Columns",width:"80px",allowSorting:!1},{field:"width",headerText:(this.l10n.getConstant("width")||"Width")+" (%)",width:"auto",allowSorting:!1}],dataBound:function(){return e.onGridDataBound(i)}}),this.grid.appendTo(this.gridHost)}},e.prototype.onGridDataBound=function(e){if(this.grid){var t=this.grid.getContentTable();if(t){var i=t.querySelectorAll(".width-input"),o=this;i.forEach(function(e){var t=e,i=t.getAttribute("data-id");if(i){var r=parseInt(i,10),n=o.rows.find(function(e){return e.id===r});if(n){var a=o.calculateMaxForField(r),s=new A.NumericTextBox({enableRtl:o.props.enableRtl,value:n.width?parseFloat(n.width):void 0,min:0,max:a,format:"n",change:function(e){o.handleInputChange(r,e.value,s)}});s.appendTo(t),o.numericTextBoxes.set(r,s);var l=function(e){var t=e;t.ctrlKey&&"a"===t.key&&(t.preventDefault(),s.element.select())};s.element.addEventListener("keydown",l),o.inputKeydownListeners.set(r,{element:s.element,handler:l})}}})}}},e.prototype.handleInputChange=function(e,t,i){if(null==t||isNaN(t)){var o=this.rows.findIndex(function(t){return t.id===e});o>=0&&(this.rows[o].width="")}else{var r=this.calculateMaxForField(e),n=Math.max(0,Math.min(t,r));t!==n&&(i.value=n);var a=this.rows.findIndex(function(t){return t.id===e});a>=0&&(this.rows[a].width=String(n))}this.updateAllInputMaxValues(),this.triggerChange()},e.prototype.updateAllInputMaxValues=function(){var e=this;this.numericTextBoxes.forEach(function(t,i){var o=e.calculateMaxForField(i);t.max=o,t.dataBind()})},e.prototype.destroy=function(){if(!this.destroyed){if(this.destroyed=!0,this.clearListeners(),this.grid)try{this.grid.destroy()}catch(e){}this.host.innerHTML="",this.gridHost=null}},e.prototype.clearListeners=function(){this.inputKeydownListeners.forEach(function(e){e.element.removeEventListener("keydown",e.handler)}),this.inputKeydownListeners.clear(),this.numericTextBoxes.forEach(function(e){try{e.destroy()}catch(e){}}),this.numericTextBoxes.clear()},e.prototype.normalizeRows=function(){for(var e=[],t=this.initialWidths&&this.initialWidths.length>0&&this.initialWidths.some(function(e){return null!=e}),i=Math.round(100/this.columnCount),o=0;o<this.columnCount;o++){var r=null;r=t&&null!==this.initialWidths[o]&&void 0!==this.initialWidths[o]?this.initialWidths[o]:i,e.push({id:o,index:o,columnName:String(o+1),width:r?String(r):""})}return e},e.prototype.calculateMaxForField=function(e){var t=0;return this.rows.forEach(function(i){if(i.id!==e&&i.width){var o=parseFloat(i.width);!isNaN(o)&&o>0&&(t+=o)}}),Math.max(0,100-t)},e.prototype.triggerChange=function(){var e=this.rows.map(function(e){return e.width?parseFloat(e.width):null});this.onChange(e)},e.prototype.calculateHeight=function(e){return 58+42*e},e}(),Wi=function(){return Wi=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Wi.apply(this,arguments)},Xi=function(){function e(e){this.host=e.host,this.props=e,this.label=e.label||"Range",this.initialValue=this.normalizeRanges(e.initialValue||[]),this.editorMode=e.editorMode||"number",this.l10n=e.l10n,this.locale=e.locale||"en-US",this.onChange=e.onChange,this.disabled=!!e.disabled,this.currentFieldId=e.currentFieldId,this.builderMode=e.builderMode,this.availableFields=this.filterAvailableFields(e.availableFields||[]),this.state=this.getInitialState(this.initialValue),this.controls=[],this.intl=new l.Internationalization}return e.prototype.render=function(){var e=this;this.destroyControls(),this.host.innerHTML="";var t=(0,l.createElement)("div",{className:"minmax-editor",attrs:{role:"group","aria-label":this.label}}),i=!this.availableFields||0===this.availableFields.length;if("Developer"===this.builderMode){var o=(0,l.createElement)("div",{className:"minmax-toggle-section"}),r=(0,l.createElement)("div");o.appendChild(r);var n=(0,l.createElement)("input",{attrs:{type:"checkbox","aria-label":this.getConstant("useFieldValue")}});(this.disabled||i)&&(n.setAttribute("disabled","disabled"),n.setAttribute("aria-disabled","true")),r.appendChild(n);var a=new p.CheckBox({enableRtl:this.props.enableRtl,label:this.getConstant("useFieldValue"),checked:this.state.useFieldMode,cssClass:"e-small",locale:this.locale,disabled:i,change:function(t){return e.handleToggle(t.checked)}});a.appendTo(n),this.controls.push(a),t.appendChild(o)}if(this.state.useFieldMode){for(var s=function(i){var o=(0,l.createElement)("div",{className:"minmax-inputs-row",attrs:{style:"margin-bottom: 0.75rem;"}}),r=(0,l.createElement)("div",{className:"minmax-input-group"}),n=(0,l.createElement)("label",{className:"minmax-input-label"});n.textContent=d.getConstant("minValue");var a=(0,l.createElement)("div"),s=(0,l.createElement)("input",{id:"min-field-"+i});a.appendChild(s);var p=new D.DropDownList({enableRtl:d.props.enableRtl,dataSource:d.dropdownDataSource(),fields:{text:"text",value:"value"},value:d.getMinFieldId(i),width:"100px",popupWidth:"200px",locale:d.locale,cssClass:"minmax-dropdown",change:function(t){return e.handleMinFieldChange(i,t.value)},htmlAttributes:{"aria-label":"min-field-label-"+i,disabled:d.disabled?"true":"false"}});p.appendTo(s),d.controls.push(p),r.appendChild(n),r.appendChild(a);var h=(0,l.createElement)("div",{className:"minmax-input-group"}),c=(0,l.createElement)("label",{className:"minmax-input-label"});c.textContent=d.getConstant("maxValue");var u=(0,l.createElement)("div"),v=(0,l.createElement)("input",{id:"max-field-"+i});u.appendChild(v);var g=new D.DropDownList({enableRtl:d.props.enableRtl,dataSource:d.dropdownDataSource(),fields:{text:"text",value:"value"},value:d.getMaxFieldId(i),width:"100px",locale:d.locale,popupWidth:"200px",cssClass:"minmax-dropdown",change:function(t){return e.handleMaxFieldChange(i,t.value)},htmlAttributes:{"aria-label":"max-field-label-"+i,disabled:d.disabled?"true":"false"}});g.appendTo(v),d.controls.push(g),h.appendChild(c),h.appendChild(u);var f=(0,l.createElement)("div",{className:"minmax-delete-group"}),m=(0,l.createElement)("button",{className:"e-btn e-outlined",attrs:{type:"button","aria-label":d.getConstant("delete")+" "+d.getConstant("addRange")+" "+(i+1),title:"Delete range"}});m.className="e-btn e-outlined",m.setAttribute("type","button"),m.setAttribute("aria-label",d.getConstant("delete")+" "+d.getConstant("addRange")+" "+(i+1)),m.setAttribute("title","Delete range"),m.innerHTML='<span class="e-icons e-trash"></span>',m.onclick=function(){return e.handleDelete(i)},f.appendChild(m),o.appendChild(r),o.appendChild(h),o.appendChild(f),t.appendChild(o)},d=this,h=0;h<this.state.ranges.length;h++)s(h);var c=(0,l.createElement)("div",{className:"minmax-add-range-section"}),u=(0,l.createElement)("button",{className:"minmax-add-range-btn",attrs:{type:"button","aria-label":this.getConstant("addRange")}}),v=new p.Button({enableRtl:this.props.enableRtl,content:this.getConstant("addRange"),cssClass:"e-btn minmax-add-range-btn",disabled:this.disabled});v.appendTo(u),u.setAttribute("aria-label",this.getConstant("addRange")),c.appendChild(u),v.element.onclick=this.handleAddRange.bind(this),t.appendChild(c)}else{var g=(0,l.createElement)("div",{className:"minmax-inputs-row"});g.appendChild(this.buildMinMaxValueGroup("min")),g.appendChild(this.buildMinMaxValueGroup("max")),t.appendChild(g)}this.host.appendChild(t)},e.prototype.destroy=function(){this.destroyControls(),this.host.innerHTML=""},e.prototype.normalizeRanges=function(e){return Array.isArray(e)&&0!==e.length?"object"==typeof e[0]&&null!==e[0]&&"enabled"in e[0]?e:2===e.length?[{enabled:!0,minValue:e[0],maxValue:e[1]}]:e:[{enabled:!1}]},e.prototype.getInitialState=function(e){return{useFieldMode:Array.isArray(e)&&e.some(function(e){return!!(e&&"object"==typeof e.minValue&&e.minValue&&e.minValue.field||e&&"object"==typeof e.maxValue&&e.maxValue&&e.maxValue.field)}),ranges:Array.isArray(e)&&e.length>0?e:[{enabled:!1}]}},e.prototype.buildMinMaxValueGroup=function(e){var t=this,i=(0,l.createElement)("div",{className:"minmax-input-group"}),o=(0,l.createElement)("label",{className:"minmax-input-label"});o.textContent=this.getConstant("min"===e?"minValue":"maxValue");var r=(0,l.createElement)("div"),n=(0,l.createElement)("input",{id:("min"===e?"min-":"max-")+(this.label||"range").replace(/\s+/g,"-")});r.appendChild(n);var a,s=this.getValue(e);return(a="number"===this.editorMode?new A.NumericTextBox({enableRtl:this.props.enableRtl,value:null==s||"object"==typeof s&&s&&s.field?null:s,width:"118px",format:"n",locale:this.locale,cssClass:"minmax-numeric",change:function(i){return t.handleMinMaxValueChange(e,i.value)},htmlAttributes:{"aria-label":("min"===e?"min-value-label-":"max-value-label-")+(this.label||"range").replace(/\s+/g,"_"),disabled:this.disabled?"true":"false"}}):"date"===this.editorMode?new E.DatePicker({enableRtl:this.props.enableRtl,value:this.toDateValue(s),width:"118px",format:"MM/dd/yyyy",locale:this.locale,cssClass:"minmax-date",change:function(i){if(i.value){var o=t.intl.getDateFormat({format:"MM/dd/yyyy",type:"date"})(i.value);t.handleMinMaxValueChange(e,o)}},htmlAttributes:{"aria-label":("min"===e?"min-value-label-":"max-value-label-")+(this.label||"range").replace(/\s+/g,"_"),disabled:this.disabled?"true":"false"}}):new E.TimePicker({enableRtl:this.props.enableRtl,value:this.toDateValue(s),width:"118px",format:"hh:mm a",locale:this.locale,cssClass:"minmax-date",change:function(i){if(i.value){var o=t.intl.getDateFormat({format:"hh:mm a",type:"time"})(i.value);t.handleMinMaxValueChange(e,o)}},htmlAttributes:{"aria-label":("min"===e?"min-value-label-":"max-value-label-")+(this.label||"range").replace(/\s+/g,"_"),disabled:this.disabled?"true":"false"}})).appendTo(n),this.controls.push(a),i.appendChild(o),i.appendChild(r),i},e.prototype.handleToggle=function(e){var t={useFieldMode:e,ranges:e?[{enabled:!0}]:[{enabled:!1}]};this.state=t,this.notifyChange(),this.render()},e.prototype.handleMinMaxValueChange=function(e,t){var i=this.state.ranges.slice(0),o=i[0]||{enabled:!0},r=Wi({},o);"min"===e?r.minValue=t:r.maxValue=t,i[0]=r,this.state=Wi({},this.state,{ranges:i}),this.notifyChange()},e.prototype.handleMinFieldChange=function(e,t){var i=this.state.ranges.slice(0);i[e]=Wi({},i[e],{minValue:{field:t}}),this.state=Wi({},this.state,{ranges:i}),this.notifyChange(),this.render()},e.prototype.handleMaxFieldChange=function(e,t){var i=this.state.ranges.slice(0);i[e]=Wi({},i[e],{maxValue:{field:t}}),this.state=Wi({},this.state,{ranges:i}),this.notifyChange(),this.render()},e.prototype.handleDelete=function(e){var t=this.state.ranges.filter(function(t,i){return i!==e});this.state=Wi({},this.state,{ranges:t.length>0?t:[{enabled:!1}]}),this.notifyChange(),this.render()},e.prototype.handleAddRange=function(){var e=this.state.ranges.concat([{enabled:!0}]);this.state=Wi({},this.state,{ranges:e}),this.notifyChange(),this.render()},e.prototype.getMinFieldId=function(e){var t=this.state.ranges[e]||{enabled:!1};return t&&t.minValue&&"object"==typeof t.minValue&&t.minValue.field?t.minValue.field:""},e.prototype.getMaxFieldId=function(e){var t=this.state.ranges[e]||{enabled:!1};return t&&t.maxValue&&"object"==typeof t.maxValue&&t.maxValue.field?t.maxValue.field:""},e.prototype.getValue=function(e){var t=this.state.ranges[0]||{enabled:!1},i="min"===e?t.minValue:t.maxValue;return i&&"object"==typeof i&&i.field?"":void 0!==i?i:""},e.prototype.filterAvailableFields=function(e){var t=this;return e&&e.length?e.filter(function(e){return(!e||!t.currentFieldId||e.id!==t.currentFieldId&&e.name!==t.currentFieldId)&&("number"===t.editorMode?"number"===e.type:"date"===t.editorMode?"date"===e.type:"time"!==t.editorMode||"time"===e.type)}):[]},e.prototype.dropdownDataSource=function(){return this.availableFields.map(function(e){return{text:e.label||e.name,value:e.id}})},e.prototype.toDateValue=function(e){if(null==e||""===e)return null;if(e instanceof Date)return e;var t=new Date(e);return isNaN(t.getTime())?null:t},e.prototype.notifyChange=function(){this.onChange(this.state.ranges)},e.prototype.getConstant=function(e){if(this.l10n&&this.l10n.getConstant){var t=this.l10n.getConstant(e);if(t)return t}return{useFieldValue:"Use field value",addRange:"Add Range",minValue:"Min",maxValue:"Max",delete:"Delete"}[e]||e},e.prototype.destroyControls=function(){if(this.controls&&this.controls.length)for(var e=0;e<this.controls.length;e++){var t=this.controls[e];if(t&&"function"==typeof t.destroy)try{t.destroy()}catch(e){}}this.controls=[]},e}(),Ui=function(){function e(e){this.host=e.host,this.value=e.value,this.l10n=e.l10n,this.onChange=e.onChange,"object"==typeof e.value&&null!==e.value?(this.isEnabled=void 0!==e.value.enabled&&e.value.enabled,this.serviceUrl=void 0!==e.value.serviceUrl?e.value.serviceUrl:""):(this.isEnabled=Boolean(e.value),this.serviceUrl="")}return e.prototype.render=function(){var e=this;this.host.innerHTML="",this.containerDiv=(0,l.createElement)("div",{className:"property-field"}),this.host.appendChild(this.containerDiv);var t=(0,l.createElement)("div",{className:"property-field property-field-checkbox",styles:"margin-bottom: 0.5rem;"});this.containerDiv.appendChild(t);var i=(0,l.createElement)("input",{id:"url-import-checkbox",attrs:{type:"checkbox"}});if(t.appendChild(i),this.checkboxComponent=new p.CheckBox({label:this.l10n.getConstant("enableUrlImport")||"Enable URL Import",checked:this.isEnabled,change:function(t){return e.handleEnabledChange(!0===t.checked)}}),this.checkboxComponent.appendTo(i),this.isEnabled){var o=this.l10n.getConstant("urlImportDescription");if(o){var r=(0,l.createElement)("p",{className:"property-description property-description-inline"});r.textContent=o,this.containerDiv.appendChild(r)}var n=(0,l.createElement)("div");this.containerDiv.appendChild(n);var a=(0,l.createElement)("input",{id:"url-import-textbox",attrs:{type:"text"}});n.appendChild(a),this.textboxComponent=new A.TextBox({value:this.serviceUrl,placeholder:this.l10n.getConstant("enterServiceUrl")||"Enter service URL",change:function(t){return e.handleServiceChange(t.value)}}),this.textboxComponent.appendTo(a)}},e.prototype.handleEnabledChange=function(e){this.isEnabled=e,e?(this.onChange({enabled:!!this.serviceUrl,serviceUrl:this.serviceUrl||""}),this.render()):(this.onChange(null),this.render())},e.prototype.handleServiceChange=function(e){this.serviceUrl=e,this.onChange({enabled:!0,serviceUrl:e})},e.prototype.destroy=function(){this.checkboxComponent&&this.checkboxComponent.destroy(),this.textboxComponent&&this.textboxComponent.destroy()},e}(),Vi=function(){return Vi=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Vi.apply(this,arguments)},qi=function(){function e(e){var t=this;this.host=e.host,this.props=e,this.value=void 0!==e.value?e.value:[],this.l10n=e.l10n,this.locale=e.locale||"en-US",this.type=e.type||"options",this.datakey=e.datakey||"data",this.isAccordion=!!e.isAccordion,this.onChange=e.onChange,this.dataSourceType=this.getInitialDataSourceType(),this.rawJsonData=this.value&&Array.isArray(this.value)&&1===this.value.length&&"defaultOptionValue"===this.value[0]?JSON.stringify(this.value.map(function(e){return"defaultOptionValue"===e?t.l10n.getConstant("defaultOptionValue"):e})):JSON.stringify(this.value),this.optionData=null,this.formNames=[],this.selectedFormName=this.resolveSelectedFormName(),this.isLoadingFormNames=!0,this.lookupErrorMessage="",this.remoteUrl="",this.headers=[],this.dataPath="",this.search={enabled:!1,fields:[]},this.sort={enabled:!1,field:"",direction:"ascending"},this.filters=[],this.adaptorType="WebApiAdaptor",this.take=null,this.skip=null,this.errorMessage="",this.successMessage="",this.controls=[],this.accordion=null,this.accordionOpen=!1,this.destroyed=!1,this.syncStateFromValue()}return e.prototype.render=function(){if(!this.destroyed){var e=this.accordionOpen;this.host.innerHTML="",this.destroyControls();var t=this.createContent();this.isAccordion?(this.accordion=new ki({host:this.host,title:this.l10n.getConstant("dataSource")||"Data Source",content:t}),this.accordion.render(),e&&this.accordion.toggle()):this.host.appendChild(t)}},e.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,this.accordion&&(this.accordion.destroy(),this.accordion=null),this.destroyControls(),this.host.innerHTML="")},e.prototype.createContent=function(){var e=this,t=(0,l.createElement)("div",{className:"data-source-collector"}),i=(0,l.createElement)("div",{className:"data-source-type-selector",attrs:{role:"radiogroup","aria-label":this.l10n.getConstant("dataSource")||"Data Source"},styles:"margin-bottom: 1rem; display: flex; flex-direction: column; gap: 1rem;"});t.appendChild(i);for(var o=this.getDataSourceOptions(),r=function(t){var r=o[t],a=(0,l.createElement)("input",{id:"ds-"+r.value+"-"+n.datakey,attrs:{type:"radio"}});i.appendChild(a);var s=new p.RadioButton({enableRtl:n.props.enableRtl,label:r.text,value:r.value,checked:n.dataSourceType===r.value,name:"dataSourceType-"+n.datakey,change:function(t){t&&t.value===r.value&&e.handleDataSourceTypeChange(t.value)}});s.appendTo(a),n.controls.push(s)},n=this,a=0;a<o.length;a++)r(a);var s=(0,l.createElement)("div",{className:"data-source-divider"});i.appendChild(s);var d=(0,l.createElement)("div",{className:"data-source-content"});if(t.appendChild(d),"options"===this.dataSourceType&&"grid"!==this.type){var h=(0,l.createElement)("div");d.appendChild(h);var c=new ji({enableRtl:this.props.enableRtl,host:h,options:this.optionData||this.value||[],type:this.type,l10n:this.l10n,onChange:function(t){e.optionData=t,e.onChange(t)}});c.render(),this.controls.push(c)}if("raw_data"===this.dataSourceType){var u=(0,l.createElement)("div",{className:"raw-data-editor"});d.appendChild(u);var v=(0,l.createElement)("label",{className:"property-label",styles:"font-weight: 500; margin-bottom: 0.75rem;"});v.textContent=(this.l10n.getConstant("json")||"JSON")+" "+(this.l10n.getConstant("data")||"Data"),u.appendChild(v);var g=(0,l.createElement)("textarea",{attrs:{type:"text"}});u.appendChild(g);var f=new A.TextArea({enableRtl:this.props.enableRtl,value:this.rawJsonData,placeholder:this.l10n.getConstant("pasteJsonArrayRecords")||'e.g., ["Option 1", "Option 2"]',change:function(t){return e.handleRawDataChange(t.value||"")},htmlAttributes:{"aria-label":""+(this.l10n.getConstant("json")||"JSON")}});f.appendTo(g),this.controls.push(f)}if("remote_url"===this.dataSourceType){var m=(0,l.createElement)("div",{className:"remote-url-editor"});d.appendChild(m);var b=(0,l.createElement)("div",{className:"url-input-group",styles:"margin-bottom: 1rem;"});m.appendChild(b);var y=(0,l.createElement)("label",{className:"property-label",styles:"font-weight: 500; margin-bottom: 0.5rem;"});y.textContent=this.l10n.getConstant("endpointUrl")||"Endpoint URL",b.appendChild(y);var C=(0,l.createElement)("input",{attrs:{type:"text"}});b.appendChild(C);var x=new A.TextBox({enableRtl:this.props.enableRtl,value:this.remoteUrl,placeholder:this.l10n.getConstant("enterUrl")||"Enter URL",change:function(t){e.remoteUrl=t.value||"",e.errorMessage="",e.render()}});x.appendTo(C),this.controls.push(x);var w=(0,l.createElement)("div",{className:"data-path-input",styles:"margin-bottom: 1rem;"});m.appendChild(w);var P=(0,l.createElement)("div",{className:"property-label",styles:"font-weight: 500; margin-bottom: 0.5rem;"});P.textContent=this.l10n.getConstant("dataPath")||"Data Path",w.appendChild(P);var S=(0,l.createElement)("input",{attrs:{type:"text"}});w.appendChild(S);var j=new A.TextBox({enableRtl:this.props.enableRtl,value:this.dataPath,placeholder:this.l10n.getConstant("dataPathPlaceholder")||"Data path",change:function(t){return e.dataPath=t.value||""}});j.appendTo(S),this.controls.push(j);var O=(0,l.createElement)("div",{className:"headers-editor",styles:"margin-bottom: 0.25rem;"});m.appendChild(O);var T=(0,l.createElement)("div",{styles:"display: flex; justify-content: space-between;"});O.appendChild(T);var k=(0,l.createElement)("div",{className:"property-label",styles:"font-weight: 500; margin-bottom: 0.75rem;"});k.textContent=this.l10n.getConstant("headers")||"Headers",T.appendChild(k);var F=(0,l.createElement)("button",{attrs:{type:"button"}});T.appendChild(F);var I=new p.Button({enableRtl:this.props.enableRtl,content:this.l10n.getConstant("addHeader")||"Add Header",cssClass:"e-flat",iconCss:"e-icons e-plus"});I.appendTo(F),I.element.onclick=this.handleAddHeader.bind(this),this.controls.push(I);var E=function(t){var i=R.headers[t],o=(0,l.createElement)("div",{styles:"display: flex; gap: 0.5rem; margin-bottom: 0.75rem; align-items: center;"});O.appendChild(o);var r=(0,l.createElement)("input",{attrs:{type:"text"}});o.appendChild(r);var n=new A.TextBox({enableRtl:R.props.enableRtl,value:i.key,placeholder:R.l10n.getConstant("headerKey")||"Header key",change:function(i){return e.handleHeaderKeyChange(t,i.value||"")}});n.appendTo(r),R.controls.push(n);var a=(0,l.createElement)("input",{attrs:{type:"text"}});o.appendChild(a);var s=new A.TextBox({enableRtl:R.props.enableRtl,value:i.value,placeholder:R.l10n.getConstant("value")||"Value",change:function(i){return e.handleHeaderValueChange(t,i.value||"")}});s.appendTo(a),R.controls.push(s);var d=(0,l.createElement)("button",{attrs:{type:"button"}});o.appendChild(d);var h=new p.Button({enableRtl:R.props.enableRtl,iconCss:"e-icons e-trash",cssClass:"e-flat"});h.appendTo(d),h.element.onclick=function(){return e.handleRemoveHeader(t)},R.controls.push(h)},R=this;for(a=0;a<this.headers.length;a++)E(a);var L=(0,l.createElement)("div",{className:"adaptor-selector",styles:"margin-bottom: 0.75rem;"});m.appendChild(L);var z=(0,l.createElement)("div",{className:"property-label",styles:"font-weight: 500; margin-bottom: 0.5rem;"});z.textContent=this.l10n.getConstant("adaptorType")||"Adaptor Type",L.appendChild(z);var M=(0,l.createElement)("input",{attrs:{type:"text"}});L.appendChild(M);var B=new D.DropDownList({enableRtl:this.props.enableRtl,dataSource:[{text:"Web API Adaptor",value:"WebApiAdaptor"},{text:"URL Adaptor",value:"UrlAdaptor"},{text:"OData V4 Adaptor",value:"ODataV4Adaptor"}],fields:{text:"text",value:"value"},value:this.adaptorType,change:function(t){return e.adaptorType=t.value}});B.appendTo(M),this.controls.push(B);var H=(0,l.createElement)("div",{className:"data-source-adaptor-divider"});L.appendChild(H),this.renderQuerySections(m);var N=(0,l.createElement)("button",{attrs:{type:"button"}});m.appendChild(N);var Y=new p.Button({enableRtl:this.props.enableRtl,content:this.l10n.getConstant("save")||"Save",cssClass:"e-primary"});Y.appendTo(N),Y.element.onclick=this.handleSaveUrl.bind(this),this.controls.push(Y)}if("lookup"===this.dataSourceType){var W=(0,l.createElement)("div",{className:"lookup-editor",styles:"margin-bottom: 0.75rem;"});d.appendChild(W);var X=(0,l.createElement)("div",{className:"property-description"});X.textContent=this.l10n.getConstant("selectFormSubmissions")||"Select form submissions",X.style.marginBottom="0.5rem",W.appendChild(X);var U=(0,l.createElement)("div",{styles:"margin-bottom: 0.5rem;"});W.appendChild(U);var V=(0,l.createElement)("label",{styles:"display: block; margin-bottom: 0.5rem; font-weight: 500;"});V.textContent=this.l10n.getConstant("selectFormName")||"Select form name",U.appendChild(V);var q=(0,l.createElement)("input",{attrs:{type:"text"}});U.appendChild(q);var _=new D.DropDownList({enableRtl:this.props.enableRtl,dataSource:this.formNames,value:this.selectedFormName,placeholder:this.l10n.getConstant("selectFormName")||"Select form name",popupHeight:"200px",allowFiltering:!0,enabled:!this.isLoadingFormNames,change:function(t){return e.handleLookupFormNameChange(t.value)}});if(_.appendTo(q),this.controls.push(_),this.lookupErrorMessage){var Z=(0,l.createElement)("p",{className:"e-error",attrs:{role:"alert","aria-live":"assertive"}});Z.style.marginTop="0.5rem",Z.textContent=this.lookupErrorMessage,W.appendChild(Z)}}if(this.errorMessage){var G=(0,l.createElement)("p",{className:"e-error",attrs:{role:"alert","aria-live":"assertive"}});G.textContent=this.errorMessage,d.appendChild(G)}if(this.successMessage){var J=(0,l.createElement)("p",{className:"e-success",attrs:{role:"alert","aria-live":"assertive"}});J.textContent=this.successMessage,d.appendChild(J)}if("grid"!==this.type){var K=(0,l.createElement)("div",{className:"data-source-bottom-divider"});t.appendChild(K)}return t},e.prototype.renderQuerySections=function(e){var t=(0,l.createElement)("div",{className:"property-label",styles:"font-weight: 600; margin-bottom: 0.5rem;"});t.textContent=this.l10n.getConstant("queryConfiguration")||"Query Configuration",e.appendChild(t),this.renderSearchSection(e),this.renderSortSection(e),this.renderFilterSection(e),this.renderPaginationSection(e)},e.prototype.renderSearchSection=function(e){var t=this,i=(0,l.createElement)("div",{className:"query-section"});e.appendChild(i);var o=(0,l.createElement)("div",{styles:"display: flex; justify-content: space-between;"});i.appendChild(o);var r=(0,l.createElement)("label",{className:"property-label",styles:"font-weight: 600; margin-bottom: 0.5rem;"});r.textContent=this.l10n.getConstant("search")||"Search",o.appendChild(r);var n=(0,l.createElement)("input");n.setAttribute("type","checkbox"),o.appendChild(n);var a=new p.Switch({enableRtl:this.props.enableRtl,checked:!!this.search.enabled,change:function(e){t.search=Vi({},t.search,{enabled:!!e.checked}),t.render()},htmlAttributes:{"aria-label":""+(this.l10n.getConstant("search")||"Search")}});if(a.appendTo(n),this.controls.push(a),this.search.enabled){var s=(0,l.createElement)("div",{styles:"margin-bottom: 0.75rem;"});i.appendChild(s);var d=(0,l.createElement)("div",{className:"property-label",styles:"font-weight: 500; margin-bottom: 0.5rem;"});d.textContent=this.l10n.getConstant("queryParameterName")||"Query parameter name",s.appendChild(d);var h=(0,l.createElement)("div",{className:"property-description"});h.textContent=this.l10n.getConstant("fieldToSearch")||"Field to search",s.appendChild(h);var c=(0,l.createElement)("input",{attrs:{type:"text"}});s.appendChild(c);var u=new A.TextBox({enableRtl:this.props.enableRtl,value:this.search.key||this.l10n.getConstant("search")||"Search",change:function(e){t.search=Vi({},t.search,{key:e.value||""})}});u.appendTo(c),this.controls.push(u);var v=(0,l.createElement)("div");i.appendChild(v);var g=(0,l.createElement)("div",{className:"property-label",styles:"font-weight: 500; margin-bottom: 0.5rem;"});g.textContent=this.l10n.getConstant("fieldsToSearchIn")||"Fields",v.appendChild(g);var f=(0,l.createElement)("div",{className:"property-description"});f.textContent=this.l10n.getConstant("fieldsToSearchIn")||"Fields to search in",v.appendChild(f);var m=(0,l.createElement)("textarea",{attrs:{type:"text"}});v.appendChild(m);var b=new A.TextArea({enableRtl:this.props.enableRtl,value:(this.search.fields||[]).join(", "),change:function(e){t.search=Vi({},t.search,{fields:(e.value||"").split(",").map(function(e){return e.trim()}).filter(function(e){return e})})},htmlAttributes:{"aria-label":""+(this.l10n.getConstant("fieldsToSearchIn")||"Fields")}});b.appendTo(m),this.controls.push(b)}},e.prototype.renderSortSection=function(e){var t=this,i=(0,l.createElement)("div",{className:"query-section"});e.appendChild(i);var o=(0,l.createElement)("div",{styles:"display: flex; justify-content: space-between;"});i.appendChild(o);var r=(0,l.createElement)("label",{className:"property-label",styles:"font-weight: 600; margin-bottom: 0.5rem;"});r.textContent=this.l10n.getConstant("sort")||"Sort",o.appendChild(r);var n=(0,l.createElement)("input");n.setAttribute("type","checkbox"),o.appendChild(n);var a=new p.Switch({enableRtl:this.props.enableRtl,checked:!!this.sort.enabled,change:function(e){t.sort=Vi({},t.sort,{enabled:!!e.checked}),t.render()},htmlAttributes:{"aria-label":""+(this.l10n.getConstant("sort")||"Sort")}});if(a.appendTo(n),this.controls.push(a),this.sort.enabled){var s=(0,l.createElement)("div",{styles:"display: flex; flex-direction: column; gap: 0.5rem;"});i.appendChild(s);var d=(0,l.createElement)("div",{className:"property-label",styles:"font-weight: 500;"});d.textContent=this.l10n.getConstant("fieldToSortBy")||"Field",s.appendChild(d);var h=(0,l.createElement)("input",{attrs:{type:"text"}});s.appendChild(h);var c=new A.TextBox({enableRtl:this.props.enableRtl,value:this.sort.field||"",placeholder:this.l10n.getConstant("fieldToSortBy")||"Field to sort by",change:function(e){return t.sort=Vi({},t.sort,{field:e.value||""})}});c.appendTo(h),this.controls.push(c);var u=(0,l.createElement)("div",{className:"property-label",styles:"font-weight: 500;"});u.textContent=this.l10n.getConstant("direction")||"Direction",s.appendChild(u);var v=(0,l.createElement)("input",{attrs:{type:"text"}});s.appendChild(v);var g=new D.DropDownList({enableRtl:this.props.enableRtl,dataSource:[{text:this.l10n.getConstant("ascending")||"Ascending",value:"ascending"},{text:this.l10n.getConstant("descending")||"Descending",value:"descending"}],fields:{text:"text",value:"value"},value:this.sort.direction||"ascending",change:function(e){return t.sort=Vi({},t.sort,{direction:e.value})}});g.appendTo(v),this.controls.push(g)}},e.prototype.renderFilterSection=function(e){var t=this,i=(0,l.createElement)("div",{className:"query-section"});e.appendChild(i);var o=(0,l.createElement)("div",{styles:"display: flex; justify-content: space-between;"});i.appendChild(o);var r=(0,l.createElement)("div",{className:"property-label",styles:"font-weight: 500; margin-bottom: 0.25rem;"});r.textContent=this.l10n.getConstant("filters")||"Filters",o.appendChild(r);var n=(0,l.createElement)("button",{attrs:{type:"button"}});o.appendChild(n);var a=new p.Button({enableRtl:this.props.enableRtl,iconCss:"e-icons e-plus",cssClass:"e-flat",content:this.l10n.getConstant("addHeader")||"Add"});if(a.appendTo(n),a.element.onclick=function(){t.filters=t.filters.concat([{field:"",operator:"equal",value:""}]),t.render()},this.controls.push(a),this.filters.length>0){var s=(0,l.createElement)("div",{className:"property-description",styles:"margin-bottom: 0.75rem;"});s.textContent=this.l10n.getConstant("fieldToSearch")||"Field to search",i.appendChild(s)}for(var d=function(e){var o=h.filters[e],r=(0,l.createElement)("div",{className:"filter-row",styles:"display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 0.5rem; align-items: center; padding: 6px; border-radius: 12px;"});i.appendChild(r);var n=(0,l.createElement)("input",{attrs:{type:"text"}});r.appendChild(n);var a=new A.TextBox({enableRtl:h.props.enableRtl,value:o.field||"",placeholder:h.l10n.getConstant("fieldStatus")||"Field",change:function(i){return t.updateFilterValue(e,"field",i.value||"")}});a.appendTo(n),h.controls.push(a);var s=(0,l.createElement)("div",{styles:"flex: 0.5; min-width: 0;"});r.appendChild(s);var d=(0,l.createElement)("input",{attrs:{type:"text"}});s.appendChild(d);var c=new D.DropDownList({enableRtl:h.props.enableRtl,dataSource:[{text:"=",value:"equal"},{text:"!=",value:"notequal"},{text:"contains",value:"contains"},{text:">",value:"greaterthan"},{text:"<",value:"lessthan"},{text:">=",value:"greaterthanorequal"},{text:"<=",value:"lessthanorequal"}],fields:{text:"text",value:"value"},value:o.operator||"equal",change:function(i){return t.updateFilterValue(e,"operator",i.value)}});c.appendTo(d),h.controls.push(c);var u=(0,l.createElement)("div",{styles:"flex: 1; min-width: 0;"});r.appendChild(u);var v=(0,l.createElement)("input",{attrs:{type:"text"}});u.appendChild(v);var g=new A.TextBox({enableRtl:h.props.enableRtl,value:o.value||"",placeholder:h.l10n.getConstant("value")||"Value",change:function(i){return t.updateFilterValue(e,"value",i.value||"")}});g.appendTo(v),h.controls.push(g);var f=(0,l.createElement)("button",{attrs:{type:"button"}});r.appendChild(f);var m=new p.Button({enableRtl:h.props.enableRtl,iconCss:"e-icons e-trash",cssClass:"e-flat"});m.appendTo(f),m.element.onclick=function(){return t.handleRemoveFilter(e)},h.controls.push(m)},h=this,c=0;c<this.filters.length;c++)d(c)},e.prototype.renderPaginationSection=function(e){var t=this,i=(0,l.createElement)("div",{className:"query-section"});e.appendChild(i);var o=(0,l.createElement)("div",{styles:"display: flex; gap: 0.5rem;"});i.appendChild(o);var r=(0,l.createElement)("div");o.appendChild(r);var n=(0,l.createElement)("div",{className:"property-label",styles:"font-weight: 500; margin-bottom: 0.25rem;"});n.textContent=this.l10n.getConstant("offset")||"Offset",r.appendChild(n);var a=(0,l.createElement)("input",{attrs:{type:"text"}});r.appendChild(a);var s=new A.TextBox({enableRtl:this.props.enableRtl,value:null!==this.skip?String(this.skip):"",placeholder:this.l10n.getConstant("skipOffset")||"Skip offset",change:function(e){return t.skip=parseInt(e.value||"0",10)||0}});s.appendTo(a),this.controls.push(s);var p=(0,l.createElement)("div");o.appendChild(p);var d=(0,l.createElement)("div",{className:"property-label",styles:"font-weight: 500; margin-bottom: 0.25rem;"});d.textContent=this.l10n.getConstant("limit")||"Limit",p.appendChild(d);var h=(0,l.createElement)("input",{attrs:{type:"text"}});p.appendChild(h);var c=new A.TextBox({enableRtl:this.props.enableRtl,value:null!==this.take?String(this.take):"",placeholder:this.l10n.getConstant("takeLimit")||"Take limit",change:function(e){return t.take=parseInt(e.value||"0",10)||0}});c.appendTo(h),this.controls.push(c)},e.prototype.handleDataSourceTypeChange=function(e){this.dataSourceType=e,this.errorMessage="",this.successMessage="",this.headers=[],"lookup"!==e&&(this.selectedFormName="",this.lookupErrorMessage=""),this.accordion&&(this.accordionOpen=this.accordion.isOpen),this.render()},e.prototype.handleRawDataChange=function(e){this.rawJsonData=e,this.errorMessage="";try{var t=JSON.parse(e);Array.isArray(t)&&this.onChange(t)}catch(e){var i=e&&e.message?e.message:"Invalid JSON format";this.errorMessage=this.l10n.getConstant("invalidJson")||"Invalid JSON: "+i,this.render()}},e.prototype.handleAddHeader=function(){this.headers=this.headers.concat([{key:"",value:""}]),this.render()},e.prototype.handleRemoveHeader=function(e){var t=this.headers.filter(function(t,i){return i!==e});this.headers=t,this.render()},e.prototype.handleHeaderKeyChange=function(e,t){var i=this.headers.slice();i[e]=Vi({},i[e],{key:t}),this.headers=i},e.prototype.handleHeaderValueChange=function(e,t){var i=this.headers.slice();i[e]=Vi({},i[e],{value:t}),this.headers=i},e.prototype.handleSaveUrl=function(){if(!this.remoteUrl||!this.remoteUrl.trim())return this.errorMessage=this.l10n.getConstant("pleaseEnterUrl")||"Please enter a URL",this.successMessage="",this.onChange([]),void this.render();var e={type:"url",url:this.remoteUrl,headers:this.headers.filter(function(e){return!!e.key&&!!e.key.trim()}),adaptorType:this.adaptorType,dataPath:this.dataPath||void 0,search:this.search&&this.search.enabled?this.search:void 0,sort:this.sort&&this.sort.enabled?this.sort:void 0,filters:this.filters&&this.filters.length>0?this.filters:void 0,take:null!==this.take&&this.take>0?this.take:void 0,skip:null!==this.skip&&this.skip>0?this.skip:void 0};this.onChange(e),this.errorMessage="",this.successMessage=this.l10n.getConstant("urlSavedSuccessfully")||"URL configuration saved successfully",this.render()},e.prototype.handleLookupFormNameChange=function(e){this.selectedFormName=e||"",this.lookupErrorMessage="",e?this.onChange({type:"lookup",formName:e}):this.onChange([])},e.prototype.updateFilterValue=function(e,t,i){var o,r=this.filters.slice();r[e]=Vi({},r[e],((o={})[t]=i,o)),this.filters=r},e.prototype.handleRemoveFilter=function(e){this.filters=this.filters.filter(function(t,i){return i!==e}),this.render()},e.prototype.syncStateFromValue=function(){var e=this;this.value&&"object"==typeof this.value&&!Array.isArray(this.value)?"url"===this.value.type?(this.dataSourceType="remote_url",this.remoteUrl=this.value.url||"",this.headers=Array.isArray(this.value.headers)?this.value.headers.map(function(e){return{key:e.key||e.name||"",value:e.value||""}}):[],this.search=this.value.search||{enabled:!1,fields:[]},this.sort=this.value.sort||{enabled:!1,field:"",direction:"ascending"},this.filters=this.value.filters||[],this.adaptorType=this.value.adaptorType||"WebApiAdaptor",this.take=void 0!==this.value.take?this.value.take:null,this.skip=void 0!==this.value.skip?this.value.skip:null,this.dataPath=this.value.dataPath||""):"raw"===this.value.type?(this.dataSourceType="raw_data",this.rawJsonData=this.value&&Array.isArray(this.value)&&1===this.value.length&&"defaultOptionValue"===this.value[0]?JSON.stringify(this.value.map(function(t){return"defaultOptionValue"===t?e.l10n.getConstant("defaultOptionValue"):t})):JSON.stringify(this.value.data||this.value)):"lookup"===this.value.type&&this.value.formName?(this.dataSourceType="lookup",this.selectedFormName=this.value.formName):"grid"===this.type?this.dataSourceType="raw_data":this.dataSourceType="options":Array.isArray(this.value)&&(this.rawJsonData=this.value&&Array.isArray(this.value)&&1===this.value.length&&"defaultOptionValue"===this.value[0]?JSON.stringify(this.value.map(function(t){return"defaultOptionValue"===t?e.l10n.getConstant("defaultOptionValue"):t})):JSON.stringify(this.value))},e.prototype.resolveSelectedFormName=function(){return this.value&&"object"==typeof this.value&&!Array.isArray(this.value)&&this.value.formName?this.value.formName:""},e.prototype.getInitialDataSourceType=function(){return"grid"===this.type?"raw_data":"options"},e.prototype.getDataSourceOptions=function(){var e=[{text:this.l10n.getConstant("options")||"Options",value:"options"},{text:this.l10n.getConstant("rawData")||"Raw Data",value:"raw_data"},{text:this.l10n.getConstant("remoteUrl")||"Remote URL",value:"remote_url"}];return"grid"===this.type?e.filter(function(e){return"options"!==e.value}):e},e.prototype.destroyControls=function(){this.controls.forEach(function(e){if(e&&"function"==typeof e.destroy)try{e.destroy()}catch(e){}}),this.controls=[]},e}(),_i={options:!0,attributes:!0,datagridcolumns:!0,buttonGroup:!0,columnspaneditor:!0,minMaxEditor:!0,expression:!0,lookupconfig:!0,customValidation:!0,URLImport:!0,json:!0},Zi=function(){function e(){}return e.render=function(t){var i=new Map,o=new Pi,r=t.groupName,n=t.properties,a=t.host,s=t.existingValues,p=t.initialValues,d=t.onChange,h=t.l10n,c=t.locale,u=t.mode,v=t.formSchema,g=t.availableFields,f=t.enableRtl,m=(0,l.createElement)("div",{className:"property-group",attrs:{"aria-label":"property-group"}});a.appendChild(m);var b=(0,l.createElement)("div",{className:"property-group-content"});m.appendChild(b);for(var y=0,C=n;y<C.length;y++){var x=C[y];if(("Conditions"!==r||"conditions"!==x.key)&&!("Simple"===u&&"developer"===x.componentType||"developer"===x.mode&&"Simple"===u)){var w=p?p[x.key]:s[x.key],P=(0,l.createElement)("div",{className:"property-item",attrs:{"data-property-key":x.key,"data-property-type":x.type}});if(b.appendChild(P),_i[x.type]){var S=e.renderSpecialised(x,w,P,d,h,c,u,s,g,v,f);i.set(x.key,{id:"prop-"+x.type+"-"+x.key,instance:S})}else{var j=o.render({prop:x,value:w,host:P,onChange:d,l10n:h,locale:c,mode:u,existingValues:s,enableRtl:f});i.set(x.key,j)}}}return i},e.destroy=function(e){e.forEach(function(e){if(e&&e.instance)try{"function"==typeof e.instance.destroy&&e.instance.destroy()}catch(e){}}),e.clear()},e.renderSpecialised=function(e,t,i,o,r,n,a,s,p,d,h){var c=function(t){return o(e.key,t)},u=(0,l.createElement)("div",{className:"property-field"});if(e.label&&"customValidation"!==e.type&&"json"!==e.type&&"datagridcolumns"!==e.type){var v=(0,l.createElement)("label",{className:"property-label",attrs:{for:"prop-"+e.type+"-"+e.key}});v.textContent=r.getConstant(e.label)||e.label,u.appendChild(v)}if(e.description){var g=(0,l.createElement)("p",{className:"property-description"});g.textContent=r.getConstant(e.description)||e.description,u.appendChild(g)}var f=(0,l.createElement)("div",{className:"property-field-content"});switch(u.appendChild(f),i.appendChild(u),e.type){case"options":var m=e.componentType||"options";return"Simple"!==a&&-1!==["fromurl"].indexOf(m.toLowerCase())?((x=new qi({enableRtl:h,host:f,datakey:"data",value:t||[],onChange:c,type:m,isAccordion:!1,l10n:r})).render(),x):((x=new ji({enableRtl:h,host:f,options:Array.isArray(t)?t:[r.getConstant("defaultOptionValue")],type:m,l10n:r,onChange:c})).render(),x);case"attributes":return(x=new Ti({enableRtl:h,host:f,attributes:Array.isArray(t)?t:[],l10n:r,onChange:c})).render(),x;case"datagridcolumns":var b=(p||[]).map(function(e){return e&&e.name?e.name:""}).filter(function(e){return!!e});return(x=new Li({enableRtl:h,host:f,columns:Array.isArray(t)?t:[],l10n:r,onChange:c,fieldSuggestions:b,formSchema:d,name:s.name})).render(),x;case"buttonGroup":return(x=new Ni({enableRtl:h,host:f,buttons:Array.isArray(t)?t:e.default||[],l10n:r,onChange:c})).render(),x;case"columnspaneditor":var y=s&&s.columns?s.columns:2,C=t&&t.widths?t.widths:void 0;return(x=new Yi({enableRtl:h,host:f,columnCount:y,initialWidths:C,l10n:r,onChange:function(e){c({widths:e})}})).render(),x;case"minMaxEditor":return(x=new Xi({enableRtl:h,host:f,label:r.getConstant(e.label)||e.label,initialValue:Array.isArray(t)?t:e.default||[],editorMode:e.editorMode||"number",l10n:r,locale:n,onChange:c,disabled:!1,currentFieldId:s&&s.name?s.name:void 0,builderMode:a,availableFields:p||[]})).render(),x;case"expression":return(x=new Ai({host:f,expression:t||e.default||"",availableFields:p||[],l10n:r,onExpressionChange:c})).render(),x;case"customValidation":return x=new Fi(f,{enableRtl:h,componentFields:p||[],excludeFieldId:s?s.name:void 0,values:e,existingRules:s?s.customValidation:void 0,l10n:r,onChange:c});case"json":return(x=new qi({enableRtl:h,host:f,datakey:"data",value:void 0!==t?t:e.default||"[]",onChange:c,type:"grid",isAccordion:!0,l10n:r})).render(),x;case"URLImport":var x;return(x=new Ui({host:f,value:t,l10n:r,onChange:c})).render(),x;default:return null}},e}(),Gi=b(288),Ji=function(e,t,i,o){return new(i||(i=Promise))(function(r,n){function a(e){try{l(o.next(e))}catch(e){n(e)}}function s(e){try{l(o.throw(e))}catch(e){n(e)}}function l(e){e.done?r(e.value):new i(function(t){t(e.value)}).then(a,s)}l((o=o.apply(e,t||[])).next())})},Ki=function(e,t){var i,o,r,n,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return n={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function s(n){return function(s){return function(n){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,o&&(r=2&n[0]?o.return:n[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,n[1])).done)return r;switch(o=0,r&&(n=[2&n[0],r.value]),n[0]){case 0:case 1:r=n;break;case 4:return a.label++,{value:n[1],done:!1};case 5:a.label++,o=n[1],n=[0];continue;case 7:n=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==n[0]&&2!==n[0])){a=0;continue}if(3===n[0]&&(!r||n[1]>r[0]&&n[1]<r[3])){a.label=n[1];break}if(6===n[0]&&a.label<r[1]){a.label=r[1],r=n;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(n);break}r[2]&&a.ops.pop(),a.trys.pop();continue}n=t.call(e,a)}catch(e){n=[6,e],o=0}finally{i=r=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,s])}}};var Qi=["imageeditor","richtexteditor","datagrid","splitbutton","button","message","panel","table","tabs","card","statichtml","signature","fileupload"];function $i(e,t,i,o,r,n){var a=function(e,t,i){return(e||[]).filter(function(e){if(t&&e.id===t)return!1;if(i&&i.indexOf(e.id)>=0)return!1;var o=(e.type||"").toLowerCase();return Qi.indexOf(o)<0})}(e,i,o);return a.map(function(e){var i=function(e){var t=(e.type||"").toLowerCase();return"number"===t||"rangeslider"===t||"rating"===t?"number":"date"===t?"date":"checkbox"===t||"switch"===t?"boolean":"string"}(e),o=function(e){var t=(e.type||"").toLowerCase();return"multiselect"===t||"checkboxgroup"===t||"daterange"===t}(e),a=function(e,t,i){var o=(t||"").toLowerCase();if(i)return[{key:"Is Empty",value:"isempty"},{key:"Is Not Empty",value:"isnotempty"},{key:"Contains",value:"contains"},{key:"Not Contains",value:"notcontains"}];switch(e){case"number":return[{key:"Equal",value:"equal"},{key:"Not Equal",value:"notequal"},{key:"Greater than",value:"greaterthan"},{key:"Less than",value:"lessthan"},{key:"Greater than or equal",value:"greaterthanorequal"},{key:"Less than or equal",value:"lessthanorequal"}];case"date":return[{key:"Is Empty",value:"isempty"},{key:"Is Not Empty",value:"isnotempty"},{key:"Equal",value:"equal"},{key:"Not Equal",value:"notequal"},{key:"Greater than",value:"dategreaterthan"},{key:"Less than",value:"datelessthan"}];case"boolean":return[{key:"Equal",value:"equal"},{key:"Not Equal",value:"notequal"}];default:return"time"===o?[{key:"Is Empty",value:"isempty"},{key:"Is Not Empty",value:"isnotempty"},{key:"Equal",value:"equal"},{key:"Not Equal",value:"notequal"},{key:"Greater than",value:"timegreaterthan"},{key:"Less than",value:"timelessthan"}]:"datetime"===o?[{key:"Is Empty",value:"isempty"},{key:"Is Not Empty",value:"isnotempty"},{key:"Equal",value:"equal"},{key:"Not Equal",value:"notequal"},{key:"Greater than",value:"datetimegreaterthan"},{key:"Less than",value:"datetimelessthan"}]:[{key:"Is Empty",value:"isempty"},{key:"Is Not Empty",value:"isnotempty"},{key:"Equal",value:"equal"},{key:"Not Equal",value:"notequal"},{key:"Starts With",value:"startswith"},{key:"Not Starts With",value:"doesnotstartswith"},{key:"Contains",value:"contains"},{key:"Not Contains",value:"notcontains"}]}}(i,e.type||"",o),s=(e.id||e.name||e.key||"").toString(),p={field:s,label:(e.label||e.id||e.name||e.key||s||"Field").toString(),type:i,format:"date"===i?"MM/dd/yyyy":void 0,operators:a};return function(){if(function(e){var t=(e.type||"").toLowerCase();return("dropdown"===t||"radio"===t||"multiselect"===t||"checkboxgroup"===t)&&!!e.options}(e))return!0;var t=(e.type||"").toLowerCase();return"date"===t||"time"===t||"datetime"===t||"daterange"===t}()?p.template=function(e,t,i,o){var r=new l.Internationalization,n=(e.type||"").toLowerCase(),a="multiselect"===n||"checkboxgroup"===n,s="date"===n,p="time"===n,d="datetime"===n,h="daterange"===n,c=(i||{})[e.id]||[],u=e.options,v=((Array.isArray(u)?u:u&&"url"===u.type?eo(u,c):[])||[]).map(function(e){return"string"==typeof e?{text:e,value:e}:e&&"object"==typeof e&&"value"in e?{text:e.label||e.text||e.value,value:e.value}:{text:String(e),value:String(e)}});return{create:function(){var e=document.createElement("input");return e.setAttribute("type","text"),e},write:function(i){var n=i.elements.id,l=document.getElementById(n);if(l)if(a){var c=[];i.values&&("string"==typeof i.values?c=i.values.split(",").map(function(e){return e.trim()}).filter(function(e){return e}):Array.isArray(i.values)&&(c=i.values)),new D.MultiSelect({change:function(e){var i=e.value&&e.value.length>0?e.value.join(", "):"";t&&t.notifyChange(i,e.element)},dataSource:v,fields:{text:"text",value:"value"},placeholder:"Select "+(e.label||e.id),value:c}).appendTo("#"+n),l.setAttribute("data-component-id",e.id)}else if(s){var u=to(i.values);new E.DatePicker({locale:o,change:function(e){if(e.value){var i=r.getDateFormat({format:"MM/dd/yyyy",type:"date"})(e.value);t&&t.notifyChange(i,e.element)}else t&&t.notifyChange("",e.element)},format:"MM/dd/yyyy",placeholder:"Select "+(e.label||e.id),value:u||void 0}).appendTo("#"+n)}else if(p){var g=function(e){if(!e)return null;if(e instanceof Date)return e;if("string"==typeof e){var t=new Date("1970-01-01 "+e);if(!isNaN(t.getTime()))return t}return null}(i.values);new E.TimePicker({locale:o,change:function(e){if(e.value){var i=io(r,{format:"hh:mm a",type:"time"})(e.value);t&&t.notifyChange(i,e.element)}else t&&t.notifyChange("",e.element)},format:"hh:mm a",placeholder:"Select "+(e.label||e.id),value:g||void 0}).appendTo("#"+n)}else if(d){var f=to(i.values);new E.DateTimePicker({locale:o,change:function(e){if(e.value){var i=io(r,{format:"MM/dd/yyyy hh:mm a",type:"dateTime"})(e.value),o=document.getElementById(n);t&&t.notifyChange(i,o)}else{o=document.getElementById(n);t&&t.notifyChange("",o)}},format:"MM/dd/yyyy hh:mm a",placeholder:"Select "+(e.label||e.id),value:f||void 0}).appendTo("#"+n)}else if(h){var m=function(e){if(!e)return{start:null,end:null};if(Array.isArray(e))return{start:to(e[0]),end:to(e[1])};if("string"==typeof e){var t=e.split(",").map(function(e){return e.trim()});return{start:to(t[0]),end:to(t[1])}}return{start:null,end:null}}(i.values);new E.DateRangePicker({locale:o,change:function(e){if(e.startDate&&e.endDate){var i=io(r,{format:"MM/dd/yyyy",type:"date"}),o=i(e.startDate)+" , "+i(e.endDate),a=document.getElementById(n);t&&t.notifyChange(o,a)}else{a=document.getElementById(n);t&&t.notifyChange("",a)}},format:"MM/dd/yyyy",placeholder:"Select "+(e.label||e.id),startDate:m.start||void 0,endDate:m.end||void 0}).appendTo("#"+n)}else{new D.DropDownList({change:function(e){if(t){var i=e.itemData&&void 0!==e.itemData.value?e.itemData.value:e.value;t.notifyChange(i,e.element)}},dataSource:v,fields:{text:"text",value:"value"},placeholder:"Select "+(e.label||e.id),value:i.values||void 0}).appendTo("#"+n),l.setAttribute("data-component-id",e.id)}},destroy:function(e){var t=document.getElementById(e.elementId);if(t)if(a){if(i=(0,l.getComponent)(t,"multiselect"))try{i.destroy()}catch(e){}}else if(s){if(i=(0,l.getComponent)(t,"datepicker"))try{i.destroy()}catch(e){}}else if(p){if(i=(0,l.getComponent)(t,"timepicker"))try{i.destroy()}catch(e){}}else if(d){if(i=(0,l.getComponent)(t,"datetimepicker"))try{i.destroy()}catch(e){}}else if(h){if(i=(0,l.getComponent)(t,"daterangepicker"))try{i.destroy()}catch(e){}}else{var i;if(i=(0,l.getComponent)(t,"dropdownlist"))try{i.destroy()}catch(e){}}}}}(e,t,r,n):o&&Array.isArray(e.options)&&(p.values=e.options.map(function(e){return"string"==typeof e?e:e&&"object"==typeof e&&"value"in e?e.value:String(e)})),p})}function eo(e,t){var i=t;return Array.isArray(i)?i:"string"==typeof i?[i]:[]}function to(e){return e?e instanceof Date?e:"string"==typeof e?new Date(e):null:null}function io(e,t){return e.getDateFormat(t)}function oo(e,t,i){return Ji(this,void 0,void 0,function(){var o;return Ki(this,function(r){switch(r.label){case 0:return o=[],(e||[]).forEach(function(e){var r=e.options;if(r&&"object"==typeof r&&"url"===r.type&&r.url){if(i[e.id])try{i[e.id].abort()}catch(e){}var n=new AbortController;i[e.id]=n;var a=new Promise(function(i){try{var o=[];Array.isArray(r.headers)&&r.headers.forEach(function(e){e.key&&String(e.key).trim()&&(o[e.key]=e.value)});var n={url:r.url,adaptor:Ee(r.adaptorType),headers:o},a=new ie.DataManager(n),s=new ie.Query;r.skip&&(s=s.skip(r.skip)),r.take&&(s=s.take(r.take)),a.executeQuery(s).then(function(o){var n=o&&o.result;r.dataPath&&Re&&(n=Re(n,r.dataPath)),Array.isArray(n)?t[e.id]=n:t[e.id]="string"==typeof n?[n]:[],i()}).catch(function(){t[e.id]=[],i()})}catch(o){t[e.id]=[],i()}});o.push(a)}}),[4,Promise.all(o)];case 1:return r.sent(),[2]}})})}const ro=function(e,t,i){var o=i&&i.pollMs||150,r=null,n=!1;function a(e){if(!e)return"";try{return JSON.stringify(e.map(function(e){return e&&e.id?e.id:e}))}catch(t){return String(e.length)}}try{r=a(e())}catch(e){r=null}var s=setInterval(function(){if(!n)try{var i=e(),o=a(i);if(o!==r){r=o;try{t((i||[]).slice())}catch(e){}}}catch(e){}},o);return function(){if(!n){n=!0;try{clearInterval(s)}catch(e){}}}};var no=function(){function e(e){this.host=e.host,this.props=e,this.component=e.component,this.value=e.initialValue,this.locale=e.locale||"en-US",this.l10n=e.l10n,this.onChange=e.onChange,this.widget=null,this.destroyed=!1}return e.prototype.render=function(){if(!this.destroyed){this.host.innerHTML="";var e=(0,l.createElement)("label",{className:"property-description"});if(e.textContent=this.l10n&&this.l10n.getConstant("setValue")||"Value:",e.style.display="block",e.style.marginBottom="5px",this.host.appendChild(e),this.component){var t=(this.component.type||"").toLowerCase();"multiselect"===t||"checkboxgroup"===t?this.renderMultiSelect():"dropdown"===t||"radio"===t?this.renderDropDownList():"date"===t?this.renderDatePicker():"time"===t?this.renderTimePicker():"datetime"===t?this.renderDateTimePicker():"daterange"===t?this.renderDateRangePicker():"number"===t||"rangeslider"===t||"rating"===t?this.renderNumericTextBox():"checkbox"===t||"switch"===t?this.renderCheckBox():this.renderTextBox()}}},e.prototype.getValue=function(){if(!this.widget)return this.value;var e=(this.component&&this.component.type||"").toLowerCase();if("multiselect"===e||"checkboxgroup"===e)return Array.isArray(this.widget.value)?this.widget.value.slice():[];if("daterange"!==e)return"date"===e&&this.widget.value instanceof Date?(new l.Internationalization).getDateFormat({format:"MM/dd/yyyy",type:"date"})(this.widget.value):"time"===e&&this.widget.value instanceof Date?(new l.Internationalization).getDateFormat({format:"hh:mm a",type:"time"})(this.widget.value):"datetime"===e&&this.widget.value instanceof Date?(new l.Internationalization).getDateFormat({format:"MM/dd/yyyy hh:mm a",type:"dateTime"})(this.widget.value):"checkbox"===e||"switch"===e?!!this.widget.checked:this.widget.value;var t=this.widget.value;if(Array.isArray(t)&&2===t.length){var i=(new l.Internationalization).getDateFormat({format:"MM/dd/yyyy",type:"date"});return[i(t[0]),i(t[1])]}},e.prototype.setValue=function(e){if(this.value=e,this.widget)try{this.widget.value=e}catch(e){}},e.prototype.destroy=function(){if(!this.destroyed){if(this.destroyed=!0,this.widget){try{this.widget.destroy()}catch(e){}this.widget=null}this.host.innerHTML=""}},e.prototype.getResolvedOptions=function(){if(!this.component)return[];var e=this.component.options;return e?(Array.isArray(e)?e:eo(0,[])).map(function(e){return"string"==typeof e?{text:e,value:e}:e&&"object"==typeof e&&"value"in e?{text:e.label||e.text||e.value,value:e.value}:{text:String(e),value:String(e)}}):[]},e.prototype.renderMultiSelect=function(){var e=this,t=this.getResolvedOptions(),i=document.createElement("input");this.host.appendChild(i),this.widget=new D.MultiSelect({dataSource:t,enableRtl:this.props.enableRtl,fields:{text:"text",value:"value"},value:Array.isArray(this.value)?this.value:[],change:function(t){return e.onChange(t.value||[])},placeholder:"Select values",popupHeight:"300px"}),this.widget.appendTo(i)},e.prototype.renderDropDownList=function(){var e=this,t=this.getResolvedOptions(),i=document.createElement("input");this.host.appendChild(i),this.widget=new D.DropDownList({dataSource:t,enableRtl:this.props.enableRtl,fields:{text:"text",value:"value"},value:this.value||"",change:function(t){return e.onChange(t.value)},placeholder:"Select value",popupHeight:"300px"}),this.widget.appendTo(i)},e.prototype.renderDatePicker=function(){var e=this,t=document.createElement("input");this.host.appendChild(t);var i=this.value?new Date(this.value):null;this.widget=new E.DatePicker({locale:this.locale,value:i||void 0,enableRtl:this.props.enableRtl,format:"MM/dd/yyyy",placeholder:"Select date",change:function(t){if(t.value){var i=(new l.Internationalization).getDateFormat({format:"MM/dd/yyyy",type:"date"});e.onChange(i(t.value))}else e.onChange("")}}),this.widget.appendTo(t)},e.prototype.renderTimePicker=function(){var e=this,t=document.createElement("input");this.host.appendChild(t);var i=this.value?this.value instanceof Date?this.value:new Date("1970-01-01 "+String(this.value)):null;this.widget=new E.TimePicker({locale:this.locale,value:i||void 0,enableRtl:this.props.enableRtl,format:"hh:mm a",placeholder:"Select time",change:function(t){if(t.value){var i=(new l.Internationalization).getDateFormat({format:"hh:mm a",type:"time"});e.onChange(i(t.value))}else e.onChange("")}}),this.widget.appendTo(t)},e.prototype.renderDateTimePicker=function(){var e=this,t=document.createElement("input");this.host.appendChild(t);var i=this.value?new Date(this.value):null;this.widget=new E.DateTimePicker({locale:this.locale,value:i||void 0,enableRtl:this.props.enableRtl,format:"MM/dd/yyyy hh:mm a",placeholder:"Select date and time",change:function(t){if(t.value){var i=(new l.Internationalization).getDateFormat({format:"MM/dd/yyyy hh:mm a",type:"dateTime"});e.onChange(i(t.value))}else e.onChange("")}}),this.widget.appendTo(t)},e.prototype.renderDateRangePicker=function(){var e,t=this,i=document.createElement("input");this.host.appendChild(i),Array.isArray(this.value)&&2===this.value.length&&(e=[new Date(this.value[0]),new Date(this.value[1])]),this.widget=new E.DateRangePicker({locale:this.locale,enableRtl:this.props.enableRtl,value:e,format:"MM/dd/yyyy",placeholder:"Select date range",change:function(e){if(e.startDate&&e.endDate){var i=(new l.Internationalization).getDateFormat({format:"MM/dd/yyyy",type:"date"});t.onChange([i(e.startDate),i(e.endDate)])}else t.onChange("")}}),this.widget.appendTo(i)},e.prototype.renderNumericTextBox=function(){var e=this,t=document.createElement("input");this.host.appendChild(t),this.widget=new A.NumericTextBox({value:"number"==typeof this.value?this.value:0,enableRtl:this.props.enableRtl,format:"n",placeholder:"Enter number",change:function(t){return e.onChange(t.value)}}),this.widget.appendTo(t)},e.prototype.renderCheckBox=function(){var e=this,t=document.createElement("input");t.type="checkbox",this.host.appendChild(t),this.widget=new p.CheckBox({enableRtl:this.props.enableRtl,checked:!!this.value,change:function(t){return e.onChange(!!t.checked)}}),this.widget.appendTo(t)},e.prototype.renderTextBox=function(){var e=this,t=document.createElement("input");this.host.appendChild(t),this.widget=new A.TextBox({enableRtl:this.props.enableRtl,value:this.value||"",placeholder:"Enter value for "+(this.component?this.component.label||this.component.id:""),change:function(t){return e.onChange(t.value)}}),this.widget.appendTo(t)},e}(),ao=function(){function e(e){this.host=e.host,this.props=e,this.component=e.componentForEdit,this.componentFields=e.componentFields||[],this.locale=e.locale||"en-US",this.l10n=e.l10n,this.onChange=e.onChange,this.primaryFieldId=e.existingRule&&e.existingRule.primaryFieldId||null,this.choiceMapping=e.existingRule&&e.existingRule.choiceMapping?Object.assign({},e.existingRule.choiceMapping):{},this.currentOptionIndex=0,this.primaryFieldDd=null,this.primaryOptionDd=null,this.dependentOptionsMs=null,this.saveBtn=null,this.cancelBtn=null,this.step2Host=null,this.step3Host=null,this.actionsHost=null,this.destroyed=!1}return e.prototype.render=function(){this.destroyed||(this.host.innerHTML="","dropdown"===(this.component.type||"").toLowerCase()?(this.renderStep1(),this.primaryFieldId&&(this.renderStep2(),this.renderStep3(),this.renderActions(),this.refreshSaveEnabled())):this.renderInfoBanner())},e.prototype.getRule=function(){if(this.primaryFieldId&&0!==Object.keys(this.choiceMapping).length)return{primaryFieldId:this.primaryFieldId,choiceMapping:Object.assign({},this.choiceMapping),showAllWhenNotMapped:!1}},e.prototype.destroy=function(){if(!this.destroyed){if(this.destroyed=!0,this.primaryFieldDd){try{this.primaryFieldDd.destroy()}catch(e){}this.primaryFieldDd=null}if(this.primaryOptionDd){try{this.primaryOptionDd.destroy()}catch(e){}this.primaryOptionDd=null}if(this.dependentOptionsMs){try{this.dependentOptionsMs.destroy()}catch(e){}this.dependentOptionsMs=null}if(this.saveBtn){try{this.saveBtn.destroy()}catch(e){}this.saveBtn=null}if(this.cancelBtn){try{this.cancelBtn.destroy()}catch(e){}this.cancelBtn=null}this.host.innerHTML=""}},e.prototype.renderInfoBanner=function(){var e=(0,l.createElement)("div",{className:"e-info",attrs:{role:"alert","aria-live":"polite"},styles:"padding:10px; background-color:#e7f3ff; border:1px solid #0066cc; border-radius:4px;"});e.textContent=this.l10n&&this.l10n.getConstant("choiceBasedOnlyForDropdown")||"Choice-Based Field Rules apply only to Dropdown components",this.host.appendChild(e)},e.prototype.insertAboveActions=function(e){this.actionsHost&&this.actionsHost.parentElement===this.host?this.host.insertBefore(e,this.actionsHost):this.host.appendChild(e)},e.prototype.availablePrimaryFields=function(){var e=this,t=this.componentFields.findIndex(function(t){return t.id===e.component.id});return(t>=0?this.componentFields.slice(0,t):this.componentFields.slice()).filter(function(t){return"dropdown"===(t.type||"").toLowerCase()&&t.id!==e.component.id})},e.prototype.renderStep1=function(){var e=this,t=(0,l.createElement)("div",{className:"cbfe-step cbfe-step-1"});t.style.padding="0 25px",t.style.marginBottom="2rem";var i=(0,l.createElement)("label",{className:"property-description"});i.textContent=this.l10n&&this.l10n.getConstant("selectPrimaryField")||"Select Primary Field",t.appendChild(i);var o=document.createElement("input");t.appendChild(o),this.insertAboveActions(t);var r=this.availablePrimaryFields();this.primaryFieldDd=new D.DropDownList({enableRtl:this.props.enableRtl,dataSource:r.map(function(e){return{text:e.label||e.name||e.id,value:e.id}}),fields:{text:"text",value:"value"},placeholder:"Select a field",value:this.primaryFieldId||void 0,floatLabelType:"Never",change:function(t){e.primaryFieldId=t.value||null,e.currentOptionIndex=0,e.choiceMapping={},e.onChange(void 0),e.render()}}),this.primaryFieldDd.appendTo(o)},e.prototype.renderStep2=function(){var e=this;this.removeStep2();var t=(0,l.createElement)("div",{className:"cbfe-step cbfe-step-2"});t.style.padding="0 25px",t.style.marginBottom="2rem",this.step2Host=t;var i=this.componentFields.find(function(t){return t.id===e.primaryFieldId});if(i){var o=this.resolveFieldOptions(i),r=(0,l.createElement)("label",{className:"property-description"});r.textContent=(this.l10n&&this.l10n.getConstant("selectPrimaryOption")||"Select Option")+" ("+(this.currentOptionIndex+1)+" of "+o.length+")",t.appendChild(r);var n=document.createElement("input");t.appendChild(n),this.insertAboveActions(t);var a=o[this.currentOptionIndex];this.primaryOptionDd=new D.DropDownList({enableRtl:this.props.enableRtl,dataSource:o.map(function(t){return{text:e.optToString(t),value:t}}),fields:{text:"text",value:"value"},value:a,floatLabelType:"Never",change:function(t){var i=o.indexOf(t.value);i>=0&&(e.currentOptionIndex=i,e.renderStep2(),e.renderStep3())}}),this.primaryOptionDd.appendTo(n)}},e.prototype.renderStep3=function(){var e=this;this.removeStep3();var t=(0,l.createElement)("div",{className:"cbfe-step cbfe-step-3"});t.style.padding="0 25px",t.style.marginBottom="2rem",this.step3Host=t;var i=this.componentFields.find(function(t){return t.id===e.primaryFieldId});if(i){var o=this.resolveFieldOptions(i)[this.currentOptionIndex];if(void 0!==o){var r=(0,l.createElement)("label",{className:"property-description"});r.textContent=(this.l10n&&this.l10n.getConstant("selectDependentOptions")||"Select Dependent Options")+' for "'+this.optToString(o)+'"',t.appendChild(r);var n=document.createElement("input");t.appendChild(n),this.insertAboveActions(t);var a=this.resolveFieldOptions(this.component);this.dependentOptionsMs=new D.MultiSelect({enableRtl:this.props.enableRtl,dataSource:a.map(function(t){return{text:e.optToString(t),value:t}}),fields:{text:"text",value:"value"},placeholder:this.l10n&&this.l10n.getConstant("selectOptions")||"Select options",mode:"CheckBox",showSelectAll:!0,value:(this.choiceMapping[this.optToString(o)]||[]).slice(),floatLabelType:"Never",change:function(t){e.choiceMapping[e.optToString(o)]=t.value||[],e.refreshSaveEnabled()}}),D.MultiSelect.Inject(D.CheckBoxSelection),this.dependentOptionsMs.appendTo(n);var s=(0,l.createElement)("small");s.style.display="block",s.style.marginTop="0.5rem",s.style.color="#666";var p=(this.choiceMapping[this.optToString(o)]||[]).length;s.textContent=p+" option(s) selected",t.appendChild(s)}}},e.prototype.renderActions=function(){var e=this;this.removeActions();var t=(0,l.createElement)("div",{className:"cbfe-actions"});t.style.display="flex",t.style.gap="0.5rem",t.style.marginTop="2rem",t.style.padding="0 25px",this.actionsHost=t,this.host.appendChild(t);var i=document.createElement("button");i.type="button",i.textContent=this.l10n&&this.l10n.getConstant("save")||"Save",t.appendChild(i),this.saveBtn=new p.Button({enableRtl:this.props.enableRtl,cssClass:"e-primary",disabled:0===Object.keys(this.choiceMapping).length}),this.saveBtn.appendTo(i),i.addEventListener("click",function(){return e.handleSave()});var o=document.createElement("button");o.type="button",o.textContent=this.l10n&&this.l10n.getConstant("cancel")||"Cancel",t.appendChild(o),this.cancelBtn=new p.Button({enableRtl:this.props.enableRtl,cssClass:"e-outline"}),this.cancelBtn.appendTo(o),o.addEventListener("click",function(){return e.handleCancel()})},e.prototype.refreshSaveEnabled=function(){if(this.saveBtn)try{this.saveBtn.disabled=0===Object.keys(this.choiceMapping).length}catch(e){}},e.prototype.handleSave=function(){var e=this.getRule();e&&this.onChange(e)},e.prototype.handleCancel=function(){this.primaryFieldId=null,this.currentOptionIndex=0,this.choiceMapping={},this.onChange(void 0),this.render()},e.prototype.removeStep2=function(){if(this.step2Host){if(this.primaryOptionDd){try{this.primaryOptionDd.destroy()}catch(e){}this.primaryOptionDd=null}this.step2Host.parentElement&&this.step2Host.parentElement.removeChild(this.step2Host),this.step2Host=null}},e.prototype.removeStep3=function(){if(this.step3Host){if(this.dependentOptionsMs){try{this.dependentOptionsMs.destroy()}catch(e){}this.dependentOptionsMs=null}this.step3Host.parentElement&&this.step3Host.parentElement.removeChild(this.step3Host),this.step3Host=null}},e.prototype.removeActions=function(){if(this.actionsHost){if(this.saveBtn){try{this.saveBtn.destroy()}catch(e){}this.saveBtn=null}if(this.cancelBtn){try{this.cancelBtn.destroy()}catch(e){}this.cancelBtn=null}this.actionsHost.parentElement&&this.actionsHost.parentElement.removeChild(this.actionsHost),this.actionsHost=null}},e.prototype.optToString=function(e){return null==e?"":"string"==typeof e?e:String("object"==typeof e&&"value"in e?e.value:e)},e.prototype.resolveFieldOptions=function(e){var t=e.options;return t?Array.isArray(t)?t:t&&"url"===t.type?this.fetchUrlOptionsSync(e.id,t):[]:[]},e.prototype.fetchUrlOptionsSync=function(e,t){return eo(0,[])},e}(),so=function(){return so=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},so.apply(this,arguments)},lo={condition:{condition:"and",rules:[]},dataSource:[],columns:[]},po=function(){function e(e){this.host=e.host,this.props=e,this.componentFields=e.componentFields||[],this.componentForEdit=e.componentForEdit,this.excludeFieldId=e.excludeFieldId,this.locale=e.locale||"en-US",this.l10n=e.l10n,this.onChange=e.onChange,this.formSchema=e.formSchema;var t=e.existingRules||[];this.nextRuleId=t.length,this.rules=t.map(function(e,t){return{condition:e.condition,dataSource:e.dataSource,columns:e.columns?e.columns.slice():[],ruleId:t}}),this.editors=[],this.listHost=null,this.addBtn=null,this.destroyed=!1,this.collapsedRuleIds=new Set(this.rules.map(function(e){return e.ruleId}))}return e.prototype.render=function(){var e=this;if(!this.destroyed){this.editors=[],this.host.innerHTML="";var t=(0,l.createElement)("div",{className:"condition-data-editor"});this.host.appendChild(t),this.listHost=(0,l.createElement)("div",{className:"rules-list"}),t.appendChild(this.listHost),this.rules.forEach(function(t,i){e.renderRule(i)});var i=(0,l.createElement)("div",{className:"rule-actions"});i.setAttribute("role","group"),i.setAttribute("aria-label",this.l10n&&this.l10n.getConstant("addCondition")||"Add Condition"),t.appendChild(i);var o=document.createElement("button");o.type="button",o.textContent=this.l10n&&this.l10n.getConstant("addCondition")||"+ Add Condition",i.appendChild(o),this.addBtn=new p.Button({enableRtl:this.props.enableRtl,cssClass:"e-outline"}),this.addBtn.appendTo(o),o.addEventListener("click",function(){return e.handleAddRule()})}},e.prototype.getRules=function(){var e=this;return this.rules.filter(function(t){return e.isRuleValid(t)}).map(function(e){return{condition:e.condition,dataSource:e.dataSource,ruleId:e.ruleId,columns:e.columns?e.columns.slice():[]}})},e.prototype.destroy=function(){var e=this;if(!this.destroyed){if(this.destroyed=!0,this.editors.forEach(function(t){return e.disposeRuleEditor(t)}),this.editors=[],this.addBtn){try{this.addBtn.destroy()}catch(e){}this.addBtn=null}this.host.innerHTML=""}},e.prototype.isRuleValid=function(e){var t=!(!e.condition||!("rules"in e.condition&&Array.isArray(e.condition.rules)&&e.condition.rules.length>0||"field"in e.condition)),i=!(!e.dataSource||!("string"==typeof e.dataSource&&e.dataSource.length>0||Array.isArray(e.dataSource)&&e.dataSource.length>0||"object"==typeof e.dataSource&&null!==e.dataSource&&Object.keys(e.dataSource).length>0));return t||i},e.prototype.handleAddRule=function(){var e=so({},lo,{columns:[],ruleId:this.nextRuleId});this.nextRuleId=this.nextRuleId+1,this.collapsedRuleIds.add(e.ruleId),this.rules.push(e),this.renderRule(this.rules.length-1),this.notifyChange()},e.prototype.renderRule=function(e){var t=this;if(this.listHost){var i=(0,l.createElement)("div",{className:"rule-item"});this.listHost.appendChild(i);var o=this.rules[e],r=o.ruleId,n=(0,l.createElement)("div",{className:"rule-header"});n.tabIndex=0,n.setAttribute("aria-expanded","false"),n.setAttribute("aria-label",(this.l10n&&this.l10n.getConstant("condition"))+" "+(e+1)),n.style.cursor="pointer",n.style.display="flex",n.style.alignItems="center",n.style.gap="8px",i.appendChild(n);var a=!this.collapsedRuleIds.has(r),s=(0,l.createElement)("span",{className:"rule-chevron "+(a?"e-chevron-down":"e-chevron-right"),attrs:{"aria-hidden":"true"}});s.style.display="inline-flex",s.style.alignItems="center",s.style.justifyContent="center",s.style.minWidth="20px",s.style.transition="transform 0.2s ease",n.appendChild(s);var d=(0,l.createElement)("h4",{className:"rule-title"});d.textContent=(this.l10n&&this.l10n.getConstant("condition")||"Condition")+" "+(e+1),d.style.flex="1",d.style.margin="0",n.appendChild(d);var h=document.createElement("button");h.type="button",h.title=this.l10n&&this.l10n.getConstant("delete")||"Delete",h.setAttribute("aria-label",(this.l10n&&this.l10n.getConstant("delete")||"Delete")+" "+(this.l10n&&this.l10n.getConstant("condition")||"Condition")+" "+(e+1)),n.appendChild(h);var c=new p.Button({enableRtl:this.props.enableRtl,cssClass:"e-flat",iconCss:"e-icons e-trash"});c.appendTo(h),h.addEventListener("click",function(i){i.stopPropagation(),t.handleDeleteRule(e)});var u=(0,l.createElement)("div",{className:"rule-details"});u.setAttribute("role","region"),i.appendChild(u),a||(u.style.display="none",n.setAttribute("aria-expanded","false"));var v=function(){return t.toggleRuleCollapse(e)},g=function(i){"Enter"===i.key&&(i.preventDefault(),t.toggleRuleCollapse(e))};n.addEventListener("click",v),n.addEventListener("keydown",g);var f=(0,l.createElement)("div",{className:"e-fb-form-group"});f.setAttribute("role","group"),f.setAttribute("aria-label",this.l10n&&this.l10n.getConstant("condition")||"Condition"),u.appendChild(f);var m=(0,l.createElement)("div");f.appendChild(m);var b=(0,l.createElement)("p",{className:"property-description"});b.textContent=this.l10n&&this.l10n.getConstant("conditionalDataConditionDescription")||"Define when this data source should be applied",m.appendChild(b);var y=(0,l.createElement)("div");m.appendChild(y);var C=new Gi.QueryBuilder({enableRtl:this.props.enableRtl,dataSource:[],columns:[],rule:o.condition,fieldModel:{popupHeight:"200px"},ruleChange:function(){return t.handleConditionChange(e)}}),x=$i(this.componentFields,C,this.excludeFieldId,[],{},this.locale);C.columns=x,C.appendTo(y);var w=new ki({host:f,title:this.l10n&&this.l10n.getConstant("condition")||"Condition",content:m});w.render(),w.setOpen(!0);var P=(0,l.createElement)("div",{className:"e-fb-form-group"});P.setAttribute("role","group"),P.setAttribute("aria-label",this.l10n&&this.l10n.getConstant("dataSource")||"DataSource"),u.appendChild(P);var S=(0,l.createElement)("div",{className:"cd-data-source"});P.appendChild(S);var j=new qi({enableRtl:this.props.enableRtl,host:S,value:o.dataSource,l10n:this.l10n||new l.L10n("en",{}),locale:this.locale,type:"grid",datakey:"cd-rule-"+r,isAccordion:!0,onChange:function(i){return t.handleDataSourceChange(e,i)}});j.render();var O=(0,l.createElement)("div",{className:"e-fb-form-group"});O.setAttribute("role","group"),O.setAttribute("aria-label",this.l10n&&this.l10n.getConstant("columns")||"Columns"),u.appendChild(O);var T=(0,l.createElement)("div");O.appendChild(T);var k=new Li({host:T,columns:o.columns||[],l10n:this.l10n||new l.L10n("en",{}),locale:this.locale,label:"columns",isConditionData:!0,onChange:function(i){return t.handleColumnsChange(e,i)},formSchema:this.formSchema,name:this.componentForEdit.name});k.render(),this.editors[e]={ruleId:r,ruleIndex:e,queryBuilder:C,dataSourceCollector:j,columnBuilder:k,conditionAccordion:w,headerEl:n,bodyEl:u,chevronEl:s,deleteBtn:c,expanded:a,headerClickHandler:v,headerKeydownHandler:g}}},e.prototype.handleConditionChange=function(e){var t=this.editors[e];if(t){var i=t.queryBuilder.getValidRules(t.queryBuilder.rule);this.rules[e]=Object.assign({},this.rules[e],{condition:i}),this.notifyChange()}},e.prototype.handleDataSourceChange=function(e,t){this.editors[e]&&(this.rules[e]=Object.assign({},this.rules[e],{dataSource:t}),this.notifyChange())},e.prototype.handleColumnsChange=function(e,t){this.editors[e]&&(this.rules[e]=Object.assign({},this.rules[e],{columns:t}),this.notifyChange())},e.prototype.handleDeleteRule=function(e){var t=this.editors[e];t&&(this.collapsedRuleIds.delete(t.ruleId),this.disposeRuleEditor(t)),this.rules.splice(e,1),this.render(),this.notifyChange()},e.prototype.toggleRuleCollapse=function(e){var t=this.editors[e];t&&(t.expanded?(t.expanded=!1,t.bodyEl.style.display="none",t.headerEl.setAttribute("aria-expanded","false"),this.collapsedRuleIds.add(t.ruleId),this.updateChevron(t,!1)):(t.expanded=!0,t.bodyEl.style.display="",t.headerEl.setAttribute("aria-expanded","true"),this.collapsedRuleIds.delete(t.ruleId),this.updateChevron(t,!0)))},e.prototype.updateChevron=function(e,t){e.chevronEl&&(e.chevronEl.classList.remove("e-chevron-down","e-chevron-right"),e.chevronEl.classList.add(t?"e-chevron-down":"e-chevron-right"))},e.prototype.disposeRuleEditor=function(e){if(e.columnBuilder)try{e.columnBuilder.destroy()}catch(e){}if(e.dataSourceCollector)try{e.dataSourceCollector.destroy()}catch(e){}if(e.conditionAccordion)try{e.conditionAccordion.destroy()}catch(e){}if(e.queryBuilder)try{e.queryBuilder.destroy()}catch(e){}if(e.deleteBtn)try{e.deleteBtn.destroy()}catch(e){}e.headerEl&&(e.headerClickHandler&&e.headerEl.removeEventListener("click",e.headerClickHandler),e.headerKeydownHandler&&e.headerEl.removeEventListener("keydown",e.headerKeydownHandler)),e.headerEl&&e.headerEl.parentElement&&e.headerEl.parentElement.removeChild(e.headerEl)},e.prototype.notifyChange=function(){this.onChange(this.getRules())},e}(),ho=function(e,t,i,o){return new(i||(i=Promise))(function(r,n){function a(e){try{l(o.next(e))}catch(e){n(e)}}function s(e){try{l(o.throw(e))}catch(e){n(e)}}function l(e){e.done?r(e.value):new i(function(t){t(e.value)}).then(a,s)}l((o=o.apply(e,t||[])).next())})},co=function(e,t){var i,o,r,n,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return n={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function s(n){return function(s){return function(n){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,o&&(r=2&n[0]?o.return:n[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,n[1])).done)return r;switch(o=0,r&&(n=[2&n[0],r.value]),n[0]){case 0:case 1:r=n;break;case 4:return a.label++,{value:n[1],done:!1};case 5:a.label++,o=n[1],n=[0];continue;case 7:n=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==n[0]&&2!==n[0])){a=0;continue}if(3===n[0]&&(!r||n[1]>r[0]&&n[1]<r[3])){a.label=n[1];break}if(6===n[0]&&a.label<r[1]){a.label=r[1],r=n;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(n);break}r[2]&&a.ops.pop(),a.trys.pop();continue}n=t.call(e,a)}catch(e){n=[6,e],o=0}finally{i=r=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,s])}}},uo=["visibleWhen","readOnlyWhen","disabledWhen","requiredWhen","setValueWhen"],vo=["visibleWhen","disabledWhen","readOnlyWhen"],go=function(){function e(e){this.host=e.host,this.enableRtl=e.enableRtl,this.getComponentFields=e.getComponentFields||function(){return[]},this.componentForEdit=e.componentForEdit,this.excludeFieldId=e.excludeFieldId,this.excludeChildIds=e.excludeChildIds||[],this.existingConditions=e.existingConditions,this.onChange=e.onChange,this.parentHost=e.parentHost,this.builderMode=e.builderMode,this.l10n=e.l10n,this.formSchema=e.formSchema,this.locale=this.l10n&&this.l10n.locale||"en-US",this.supportedConditions=this.computeSupportedConditions(e.supportedConditions),this.state=this.cloneConditions(e.existingConditions),this.dialogState=null,this.stateBeforeDialog=null,this.fetchedOptions={},this.abortControllers={},this.dataSourceUnsubscribe=null,this.dataSourceUpdateTimer=null,this.destroyed=!1,this.tabHost=(0,l.createElement)("div",{className:"conditions-editor-wrapper"}),this.dialogContent=null,this.dialogHost=null,this.addRuleBtn=null,this.savedListBox=null,this.dialog=null,this.dialogListBox=null,this.activeConditionType=this.supportedConditions[0]||"visibleWhen",this.editingConditionType=null,this.qbMap={},this.qbHosts={},this.valueRenderer=null,this.choiceBasedEditor=null,this.choiceBasedHost=null,this.conditionDataEditor=null,this.conditionDataHost=null,this.saveBtn=null,this.cancelBtn=null}return e.prototype.render=function(){var e=this;this.destroyed||(this.host.innerHTML="",this.host.appendChild(this.tabHost),this.fetchUrlOptions().then(function(){return e.renderTabContent()}),this.renderTabContent())},e.prototype.destroy=function(){if(!this.destroyed){this.destroyed=!0;var e=this.abortControllers;if(Object.keys(e).forEach(function(t){try{e[t].abort()}catch(e){}}),this.abortControllers={},this.destroyDialog(),this.addRuleBtn){try{this.addRuleBtn.destroy()}catch(e){}this.addRuleBtn=null}if(this.savedListBox){try{this.savedListBox.destroy()}catch(e){}this.savedListBox=null}this.host.innerHTML=""}},e.prototype.renderTabContent=function(){this.tabHost.innerHTML="";var e=this.savedConditionKeys();0===e.length?this.renderEmptyState():this.renderSavedList(e)},e.prototype.renderEmptyState=function(){var e=this,t=(0,l.createElement)("div",{className:"conditions-empty"});t.style.padding="0.75rem 1rem";var i=(0,l.createElement)("p",{className:"property-description"});i.textContent=this.l10n&&this.l10n.getConstant("conditionsEditorLabel")||"Add rules to control this field's behavior.",i.style.fontSize="13px",i.style.color="rgb(var(--sf-color-on-surface-variant))",i.style.margin="0 0 12px 0",t.appendChild(i);var o=document.createElement("button");o.type="button",o.textContent=this.l10n&&this.l10n.getConstant("addRule")||"Add Rule",o.setAttribute("aria-label",this.l10n&&this.l10n.getConstant("addRule")||"Add Rule"),o.style.width="100%",t.appendChild(o),this.tabHost.appendChild(t),this.addRuleBtn=new p.Button({cssClass:"e-outline",iconCss:"e-icons e-plus",enableRtl:this.enableRtl}),this.addRuleBtn.appendTo(o),o.addEventListener("click",function(){return e.openDialog()})},e.prototype.renderSavedList=function(e){var t=this,i=(0,l.createElement)("div",{className:"conditions-editor-dialog"});i.style.padding="0.75rem 1.2rem",i.setAttribute("role","region"),i.setAttribute("aria-label",this.l10n&&this.l10n.getConstant("conditions")||"Conditions");var o=(0,l.createElement)("div",{className:"conditions-saved-header"});o.style.marginBottom="12px";var r=(0,l.createElement)("p",{attrs:{id:"conditions-editor-description"},className:"property-description"});r.textContent=this.l10n&&this.l10n.getConstant("conditionsEditorLabel")||"Add rules to control this field's behavior.",r.style.fontSize="13px",r.style.color="rgb(var(--sf-color-on-surface-variant))",r.style.margin="0 0 12px 0",o.appendChild(r);var n=document.createElement("button");n.type="button",n.textContent=this.l10n&&this.l10n.getConstant("addRule")||"Add Rule",n.setAttribute("aria-label",this.l10n&&this.l10n.getConstant("addRule")||"Add Rule"),n.style.width="100%",o.appendChild(n),i.appendChild(o),this.addRuleBtn=new p.Button({cssClass:"e-outline",iconCss:"e-icons e-plus",enableRtl:this.enableRtl}),this.addRuleBtn.appendTo(n),n.addEventListener("click",function(){return t.openDialog()});var a=(0,l.createElement)("div",{className:"conditions-saved-list"});a.setAttribute("aria-live","polite"),i.appendChild(a),this.tabHost.appendChild(i);var s=this.l10n&&this.l10n.getConstant("edit")||"Edit",d=this.l10n&&this.l10n.getConstant("delete")||"Delete",h=e.map(function(e){return{text:t.conditionLabel(e),id:e,editLabel:s,deleteLabel:d}});this.savedListBox=new D.ListBox({dataSource:h,enableRtl:this.enableRtl,fields:{text:"text",value:"id"},selectionSettings:{mode:"Single"},value:[],change:function(e){var i=e.event.target,o=i&&i.closest("button[data-action]");if(o){e.event.preventDefault(),e.event.stopPropagation();var r=o.getAttribute("data-id"),n=o.getAttribute("data-action");"edit"===n?setTimeout(function(){t.handleEditCondition(r)}):"delete"===n&&t.handleDeleteCondition(r)}},itemTemplate:'<div class="conditions-saved-row" style="display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; border-radius: 4px; font-size: 14px;"><span>${text}</span><div style="display: flex; gap: 8px;"><button type="button" class="e-btn e-flat e-edit-btn" title="${editLabel}" aria-label="${editLabel} ${text}" data-id="${id}" data-action="edit"><span class="e-btn-icon e-icons e-edit"></span></button><button type="button" class="e-btn e-flat e-delete-btn" title="${deleteLabel}" aria-label="${deleteLabel} ${text}" data-id="${id}" data-action="delete"><span class="e-btn-icon e-icons e-trash"></span></button></div></div>'}),this.savedListBox.appendTo(a)},e.prototype.openDialog=function(e){this.editingConditionType=e||null,this.activeConditionType=(0,l.isNullOrUndefined)(e)?this.activeConditionType||"visibleWhen":e,this.stateBeforeDialog=this.cloneConditions(this.state),this.dialogState=this.cloneConditions(this.state),this.editingConditionType&&!this.dialogState[this.editingConditionType]&&(this.dialogState[this.editingConditionType]={}),this.state=this.dialogState,this.dialog||this.createDialog(),this.dialog&&this.dialog.show(),this.onDialogOpened(),this.setupDataSourceSubscription();var t=this.parentHost.querySelector(".editor-handle");t&&(t.style.visibility="hidden")},e.prototype.closeDialog=function(e){void 0===e&&(e=!1),this.dialog&&this.destroyDialog(),!e&&this.stateBeforeDialog&&(this.state=this.stateBeforeDialog),this.dialogState=null,this.stateBeforeDialog=null;var t=this.parentHost.querySelector(".editor-handle");t&&(t.style.visibility="visible")},e.prototype.destroyDialog=function(){if(this.destroyQueryBuilders(),this.teardownDataSourceSubscription(),this.valueRenderer&&(this.valueRenderer.destroy(),this.valueRenderer=null),this.choiceBasedEditor&&(this.choiceBasedEditor.destroy(),this.choiceBasedEditor=null),this.conditionDataEditor&&(this.conditionDataEditor.destroy(),this.conditionDataEditor=null),this.dialogListBox){try{this.dialogListBox.destroy()}catch(e){}this.dialogListBox=null}if(this.saveBtn){try{this.saveBtn.destroy()}catch(e){}this.saveBtn=null}if(this.cancelBtn){try{this.cancelBtn.destroy()}catch(e){}this.cancelBtn=null}if(this.dialog){try{this.dialog.destroy()}catch(e){}this.dialog=null}this.dialogHost&&this.dialogHost.parentElement&&this.dialogHost.parentElement.removeChild(this.dialogHost),this.dialogHost=null,this.dialogContent=null},e.prototype.createDialog=function(){var e=this;this.dialogContent=(0,l.createElement)("div",{className:"conditions-editor-dialog-content"}),this.dialogContent.style.height="100%";var t=(0,l.createElement)("div",{className:"conditions-dialog-inner"});t.style.display="flex",t.style.height="100%",t.style.minHeight="0";var i=(0,l.createElement)("div",{className:"conditions-dialog-left",attrs:{role:"navigation","aria-label":this.l10n&&this.l10n.getConstant("conditions")||"Conditions"}});i.style.width="280px",i.style.flexShrink="0",i.style.borderRight="1px solid #e0e0e0",i.style.overflowY="auto",i.style.maxHeight="60vh",i.style.padding="20px 10px 0 0";var o=(0,l.createElement)("div",{className:"conditions-dialog-left-list"});o.style.width="100%",o.style.minHeight="40px",i.appendChild(o),t.appendChild(i);var r=(0,l.createElement)("div",{className:"conditions-dialog-right",attrs:{role:"region","aria-live":"polite"}});r.style.flex="1",r.style.minWidth="0",r.style.padding="16px",r.style.overflowY="auto",r.style.maxHeight="60vh",r.setAttribute("aria-label",this.activeConditionType),t.appendChild(r),this.dialogContent.appendChild(t),this.dialogHost=(0,l.createElement)("div",{className:"conditions-editor-dialog"}),this.dialogHost.style.position="fixed",this.dialogHost.style.top="0",this.dialogHost.style.left="0",this.dialogHost.style.width="100vw",this.dialogHost.style.height="100vh",document.body.appendChild(this.dialogHost),this.dialog=new I.Dialog({header:this.l10n&&this.l10n.getConstant("conditions")||"Conditions",showCloseIcon:!0,closeOnEscape:!0,enableRtl:this.enableRtl,isModal:!0,width:"990px",height:"80vh",animationSettings:{effect:"FadeZoom"},target:this.parentHost,content:this.dialogContent,buttons:[{click:function(){return e.closeDialog()},buttonModel:{content:this.l10n&&this.l10n.getConstant("cancel")||"Cancel",cssClass:"e-flat"}},{click:function(){return e.handleSaveConditions()},buttonModel:{content:this.l10n&&this.l10n.getConstant("save")||"Save",isPrimary:!0,cssClass:"e-primary import-btn"}}],close:function(){return e.handleDialogClose()}}),this.dialog.appendTo(this.dialogHost),this.mountDialogListBox(o),this.renderRightPane(r)},e.prototype.setupDataSourceSubscription=function(){if(!this.dataSourceUnsubscribe){var e=this;this.dataSourceUnsubscribe=ro(function(){return e.getComponentFields()},function(t){if(e.dataSourceUpdateTimer)try{clearTimeout(e.dataSourceUpdateTimer)}catch(e){}e.dataSourceUpdateTimer=setTimeout(function(){e.dataSourceUpdateTimer=null,e.fetchUrlOptions().then(function(){if(e.dialog){try{e.destroyQueryBuilders()}catch(e){}try{e.renderRightPane(e.findRightPaneHost())}catch(e){}}}).catch(function(){if(e.dialog){try{e.destroyQueryBuilders()}catch(e){}try{e.renderRightPane(e.findRightPaneHost())}catch(e){}}})},150)},{pollMs:150})}},e.prototype.teardownDataSourceSubscription=function(){if(this.dataSourceUnsubscribe){try{this.dataSourceUnsubscribe()}catch(e){}this.dataSourceUnsubscribe=null}if(this.dataSourceUpdateTimer){try{clearTimeout(this.dataSourceUpdateTimer)}catch(e){}this.dataSourceUpdateTimer=null}},e.prototype.mountDialogListBox=function(e){var t=this,i=(this.componentForEdit&&this.componentForEdit.type||"").toLowerCase(),o=this.supportedConditions.filter(function(e){return"conditionalData"!==e||"datagrid"===i}).map(function(e){return{text:t.conditionLabel(e),id:e}});this.dialogListBox=new D.ListBox({dataSource:o,enableRtl:this.enableRtl,fields:{text:"text",value:"id"},selectionSettings:{mode:"Single"},value:[this.activeConditionType],change:function(e){var i=e.value,o=Array.isArray(i)?i[0]:i;if(o&&(t.activeConditionType=o,t.renderRightPane(t.findRightPaneHost()),t.dialogListBox)){t.dialogListBox.value=[t.activeConditionType];try{t.dialogListBox.refresh()}catch(e){}}},itemTemplate:'<span class="conditions-type-item" style="padding: 12px 16px; cursor: pointer; font-size: 14px; border-radius: 6px; transition: all 0.2s ease; margin-bottom: 4px; display: block;">${text}</span>'}),this.dialogListBox.appendTo(e),this.dialogListBox.value=[this.activeConditionType];try{this.dialogListBox.refresh()}catch(e){}},e.prototype.findRightPaneHost=function(){return this.dialogContent&&this.dialogContent.querySelector(".conditions-dialog-right")||(0,l.createElement)("div")},e.prototype.renderRightPane=function(e,t){switch(void 0===t&&(t=this.activeConditionType),e.innerHTML="",e.setAttribute("aria-label",t),t){case"visibleWhen":case"readOnlyWhen":case"disabledWhen":case"requiredWhen":this.renderQueryBuilderPane(e,t,null);break;case"setValueWhen":this.renderSetValueWhenPane(e);break;case"choiceBasedField":this.renderChoiceBasedPane(e);break;case"conditionalData":this.renderConditionalDataPane(e)}},e.prototype.renderQueryBuilderPane=function(e,t,i){var o=this,r=(0,l.createElement)("h4");r.textContent=this.conditionLabel(t),r.style.marginTop="0",r.style.marginBottom="12px",e.appendChild(r);var n=(0,l.createElement)("p",{className:"property-description"});n.textContent=this.conditionDescription(t),n.style.fontSize="13px",n.style.color="rgb(var(--sf-color-on-surface-variant))",n.style.marginBottom="12px",e.appendChild(n);var a=(0,l.createElement)("div",{attrs:{tabindex:"-1","aria-label":this.conditionLabel(t)}});e.appendChild(a);var s=this.state[t],p=this.getComponentFields(),d=new Gi.QueryBuilder({dataSource:[],enableRtl:this.enableRtl,columns:[],rule:s||{condition:"and",rules:[]},fieldModel:{popupHeight:"200px"},ruleChange:function(){return o.handleQueryBuilderRuleChange(t)}}),h=$i(p,d,this.excludeFieldId,this.excludeChildIds,this.fetchedOptions,this.locale);d.columns=h,d.appendTo(a),this.qbMap[t]=d,this.qbHosts[t]=a},e.prototype.renderSetValueWhenPane=function(e){var t=this,i=(0,l.createElement)("h4");i.textContent=this.conditionLabel("setValueWhen"),i.style.marginTop="0",i.style.marginBottom="12px",e.appendChild(i);var o=(0,l.createElement)("p",{className:"property-description"});o.textContent=this.conditionDescription("setValueWhen"),o.style.fontSize="13px",o.style.color="rgb(var(--sf-color-on-surface-variant))",o.style.marginBottom="12px",e.appendChild(o);var r=(0,l.createElement)("div",{attrs:{tabindex:"-1","aria-label":this.conditionLabel("setValueWhen")}});e.appendChild(r);var n=this.state.setValueWhen||{},a=this.getComponentFields(),s=new Gi.QueryBuilder({dataSource:[],enableRtl:this.enableRtl,columns:[],rule:n.condition||{condition:"and",rules:[]},fieldModel:{popupHeight:"200px"},ruleChange:function(){return t.handleSetValueWhenRuleChange()}}),p=$i(a,s,this.excludeFieldId,this.excludeChildIds,this.fetchedOptions,this.locale);s.columns=p,s.appendTo(r),this.qbMap.setValueWhen=s,this.qbHosts.setValueWhen=r;var d=(0,l.createElement)("div");d.style.marginTop="16px",e.appendChild(d);var h=(0,l.createElement)("div");d.appendChild(h),this.valueRenderer=new no({host:h,enableRtl:this.enableRtl,component:this.componentForEdit,initialValue:n.value,locale:this.locale,l10n:this.l10n,onChange:function(e){return t.handleSetValueWhenValueChange(e)}}),this.valueRenderer.render()},e.prototype.renderChoiceBasedPane=function(e){var t=this,i=(0,l.createElement)("h4");i.textContent=this.conditionLabel("choiceBasedField"),i.style.marginTop="0",i.style.marginBottom="12px",e.appendChild(i);var o=(0,l.createElement)("p",{className:"property-description"});o.textContent=this.conditionDescription("choiceBasedField"),o.style.fontSize="13px",o.style.color="rgb(var(--sf-color-on-surface-variant))",o.style.marginBottom="12px",e.appendChild(o);var r=(0,l.createElement)("div");e.appendChild(r),this.choiceBasedHost=r,this.choiceBasedEditor=new ao({host:r,enableRtl:this.enableRtl,componentForEdit:this.componentForEdit,componentFields:this.getComponentFields(),existingRule:this.state.choiceBasedField,locale:this.locale,l10n:this.l10n,onChange:function(e){return t.handleChoiceBasedChange(e)}}),this.choiceBasedEditor.render()},e.prototype.renderConditionalDataPane=function(e){var t=this,i=(0,l.createElement)("h4");i.textContent=this.conditionLabel("conditionalData"),i.style.marginTop="0",i.style.marginBottom="12px",e.appendChild(i);var o=(0,l.createElement)("p",{className:"property-description"});o.textContent=this.conditionDescription("conditionalData"),o.style.fontSize="13px",o.style.color="rgb(var(--sf-color-on-surface-variant))",o.style.marginBottom="12px",e.appendChild(o);var r=(0,l.createElement)("div");e.appendChild(r),this.conditionDataHost=r,this.conditionDataEditor=new po({host:r,enableRtl:this.enableRtl,componentFields:this.getComponentFields(),componentForEdit:this.componentForEdit,excludeFieldId:this.excludeFieldId,existingRules:this.state.conditionalData,locale:this.locale,l10n:this.l10n,onChange:function(e){return t.handleConditionalDataChange(e)},formSchema:this.formSchema}),this.conditionDataEditor.render()},e.prototype.handleQueryBuilderRuleChange=function(e){var t=this.qbMap[e];if(t){var i=t.getValidRules(t.rule);this.hasNonEmptyRules(i)?this.state[e]=i:delete this.state[e]}},e.prototype.handleSetValueWhenRuleChange=function(){var e=this.qbMap.setValueWhen;if(e){var t=e.getValidRules(e.rule),i=this.state.setValueWhen||{};this.state.setValueWhen=Object.assign({},i,{condition:t})}},e.prototype.handleSetValueWhenValueChange=function(e){var t=this.state.setValueWhen||{};this.state.setValueWhen=Object.assign({},t,{value:e})},e.prototype.handleChoiceBasedChange=function(e){e?this.state.choiceBasedField=e:delete this.state.choiceBasedField},e.prototype.handleConditionalDataChange=function(e){e&&e.length>0?this.state.conditionalData=e:delete this.state.conditionalData},e.prototype.handleSaveConditions=function(){if(this.qbMap[this.activeConditionType]){var e=this.activeConditionType;"setValueWhen"===e?this.handleSetValueWhenRuleChange():this.handleQueryBuilderRuleChange(e)}this.cleanupEmptySetValue(),this.editingConditionType&&this.editingConditionType!==this.activeConditionType&&delete this.state[this.editingConditionType],this.state=this.cloneConditions(this.dialogState||this.state),this.onChange(this.buildConditionsPayload()),this.editingConditionType=null,this.closeDialog(!0),this.renderTabContent()},e.prototype.handleDialogClose=function(){this.teardownDataSourceSubscription(),this.renderTabContent();var e=this.parentHost.querySelector(".editor-handle");e&&(e.style.visibility="visible")},e.prototype.onDialogOpened=function(){},e.prototype.handleEditCondition=function(e){this.openDialog(e)},e.prototype.handleDeleteCondition=function(e){"setValueWhen"===e?(this.state.setValueWhen={value:void 0},delete this.state.setValueWhen):"choiceBasedField"===e?delete this.state.choiceBasedField:"conditionalData"===e?delete this.state.conditionalData:delete this.state[e],this.cleanupEmptySetValue(),this.onChange(this.buildConditionsPayload()),this.renderTabContent()},e.prototype.destroyQueryBuilders=function(){var e=this;Object.keys(this.qbMap).forEach(function(t){var i=e.qbMap[t];if(i)try{i.destroy()}catch(e){}}),this.qbMap={},this.qbHosts={}},e.prototype.computeSupportedConditions=function(e){var t=e&&e.length>0?e.slice():uo.slice();"Simple"===this.builderMode&&(t=t.filter(function(e){return vo.indexOf(e)>=0}));var i=(this.componentForEdit&&this.componentForEdit.type||"").toLowerCase();return"dropdown"!==i&&"multiselect"!==i&&(t=t.filter(function(e){return"choiceBasedField"!==e})),"datagrid"!==i&&(t=t.filter(function(e){return"conditionalData"!==e})),t},e.prototype.cleanupEmptySetValue=function(){var e=this.state.setValueWhen;if(e){var t=e.condition&&e.condition.rules&&e.condition.rules.length>0,i=void 0!==e.value&&""!==e.value&&!(Array.isArray(e.value)&&0===e.value.length);t&&i||delete this.state.setValueWhen}},e.prototype.savedConditionKeys=function(){var e=this,t=[];return["visibleWhen","readOnlyWhen","disabledWhen","requiredWhen","setValueWhen","choiceBasedField","conditionalData"].forEach(function(i){if(!(e.supportedConditions.indexOf(i)<0)){var o=e.state[i];o&&("setValueWhen"===i?o.condition&&o.condition.rules&&o.condition.rules.length>0&&void 0!==o.value&&""!==o.value&&t.push(i):"choiceBasedField"===i?t.push(i):"conditionalData"===i?Array.isArray(o)&&o.length>0&&t.push(i):o.rules&&o.rules.length>0&&t.push(i))}}),t},e.prototype.conditionLabel=function(e){return this.l10n&&{visibleWhen:this.l10n.getConstant("conditionalVisibility")||"Conditional Visibility",readOnlyWhen:this.l10n.getConstant("conditionalReadOnly")||"Conditional Read-Only",disabledWhen:this.l10n.getConstant("conditionalDisable")||"Conditional Disable",requiredWhen:this.l10n.getConstant("conditionalRequired")||"Conditional Required",setValueWhen:this.l10n.getConstant("conditionalSetValue")||"Set Value When",choiceBasedField:this.l10n.getConstant("choiceBasedField")||"Choice-Based Field",conditionalData:this.l10n.getConstant("conditionalData")||"Conditional Data"}[e]||e},e.prototype.conditionDescription=function(e){return this.l10n&&{visibleWhen:this.l10n.getConstant("conditionalVisibilityDescription")||"",readOnlyWhen:this.l10n.getConstant("conditionalReadOnlyDescription")||"",disabledWhen:this.l10n.getConstant("conditionalDisableDescription")||"",requiredWhen:this.l10n.getConstant("conditionalRequiredDescription")||"",setValueWhen:this.l10n.getConstant("conditionalSetValueDescription")||"",choiceBasedField:this.l10n.getConstant("choiceBasedFieldDescription")||"",conditionalData:this.l10n.getConstant("conditionalDataDescription")||""}[e]||""},e.prototype.hasNonEmptyRules=function(e){return!!e&&!!(e.rules&&Array.isArray(e.rules)&&e.rules.length>0)},e.prototype.cloneConditions=function(e){if(!e)return{};var t={};return e.visibleWhen&&(t.visibleWhen=JSON.parse(JSON.stringify(e.visibleWhen))),e.readOnlyWhen&&(t.readOnlyWhen=JSON.parse(JSON.stringify(e.readOnlyWhen))),e.disabledWhen&&(t.disabledWhen=JSON.parse(JSON.stringify(e.disabledWhen))),e.requiredWhen&&(t.requiredWhen=JSON.parse(JSON.stringify(e.requiredWhen))),e.setValueWhen&&(t.setValueWhen=JSON.parse(JSON.stringify(e.setValueWhen))),e.choiceBasedField&&(t.choiceBasedField=JSON.parse(JSON.stringify(e.choiceBasedField))),e.conditionalData&&(t.conditionalData=JSON.parse(JSON.stringify(e.conditionalData))),t},e.prototype.buildConditionsPayload=function(){var e={};return this.state.visibleWhen&&this.hasNonEmptyRules(this.state.visibleWhen)&&(e.visibleWhen=JSON.parse(JSON.stringify(this.state.visibleWhen))),this.state.readOnlyWhen&&this.hasNonEmptyRules(this.state.readOnlyWhen)&&(e.readOnlyWhen=JSON.parse(JSON.stringify(this.state.readOnlyWhen))),this.state.disabledWhen&&this.hasNonEmptyRules(this.state.disabledWhen)&&(e.disabledWhen=JSON.parse(JSON.stringify(this.state.disabledWhen))),this.state.requiredWhen&&this.hasNonEmptyRules(this.state.requiredWhen)&&(e.requiredWhen=JSON.parse(JSON.stringify(this.state.requiredWhen))),this.state.setValueWhen&&this.state.setValueWhen.condition&&this.hasNonEmptyRules(this.state.setValueWhen.condition)&&void 0!==this.state.setValueWhen.value&&""!==this.state.setValueWhen.value&&(!Array.isArray(this.state.setValueWhen.value)||0!==this.state.setValueWhen.value.length)&&(e.setValueWhen=JSON.parse(JSON.stringify(this.state.setValueWhen))),this.state.choiceBasedField&&(e.choiceBasedField=JSON.parse(JSON.stringify(this.state.choiceBasedField))),Array.isArray(this.state.conditionalData)&&this.state.conditionalData.length>0&&(e.conditionalData=JSON.parse(JSON.stringify(this.state.conditionalData))),e},e.prototype.fetchUrlOptions=function(){return ho(this,void 0,void 0,function(){return co(this,function(e){switch(e.label){case 0:return[4,oo(this.getComponentFields(),this.fetchedOptions,this.abortControllers)];case 1:return e.sent(),[2]}})})},e}(),fo=function(){var e=function(t,i){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},e(t,i)};return function(t,i){function o(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),mo=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return fo(t,e),t.prototype.onDialogOpened=function(){var e=this,t=e.mobileTab,i=e.supportedConditions,o=e.activeConditionType,r=i.indexOf(o);t&&r>=0&&t.select(r)},t.prototype.destroy=function(){var t=this;if(t.mobileTab){try{t.mobileTab.destroy()}catch(e){}t.mobileTab=null}e.prototype.destroy.call(this)},t.prototype.createDialog=function(){var e=this,t=this,i=t.supportedConditions,o=(0,l.createElement)("div",{className:"conditions-mobile-dialog-content"});o.style.height="100%",o.style.minHeight="0";var r=(0,l.createElement)("div",{className:"conditions-editor-dialog"});r.style.position="fixed",r.style.top="0",r.style.left="0",r.style.width="100vw",r.style.height="100vh",document.body.appendChild(r),t.dialogContent=o,t.dialogHost=r,t.dialog=new I.Dialog({header:t.l10n&&t.l10n.getConstant("conditions")||"Conditions",showCloseIcon:!0,closeOnEscape:!0,enableRtl:t.enableRtl,isModal:!0,width:"100%",height:"80vh",animationSettings:{effect:"FadeZoom"},target:t.parentHost,content:o,buttons:[{click:function(){return t.closeDialog()},buttonModel:{content:t.l10n&&t.l10n.getConstant("cancel")||"Cancel",cssClass:"e-flat"}},{click:function(){return t.handleSaveConditions()},buttonModel:{content:t.l10n&&t.l10n.getConstant("save")||"Save",isPrimary:!0,cssClass:"e-primary import-btn"}}],close:function(){return t.handleDialogClose()}}),t.dialog.appendTo(r);var n=(0,l.createElement)("div",{className:"conditions-mobile-tabs"});n.style.height="100%",o.appendChild(n);var a=i.map(function(e){return{header:{text:t.conditionLabel(e)},content:""}});t.mobileTab=new c.Tab({items:a,enableRtl:t.enableRtl,loadOn:"Init",animation:{previous:{effect:"None"},next:{effect:"None"}},created:function(){return e.renderTabContents()},selected:function(o){var r="number"==typeof o.selectedIndex?o.selectedIndex:0;t.activeConditionType=i[r]||t.activeConditionType,e.renderMobileTabContent(r)}}),t.mobileTab.appendTo(n)},t.prototype.renderTabContents=function(){for(var e=this.supportedConditions,t=0;t<e.length;t++)this.renderMobileTabContent(t)},t.prototype.renderMobileTabContent=function(e){var t=this,i=t.supportedConditions,o=t.mobileTab,r=t.dialogContent;if(o&&r&&i[e]){var n=r.querySelector(".e-content"),a=n?n.children[e]:null;if(a){var s=(0,l.createElement)("div",{className:"conditions-mobile-tab-content"});s.style.height="100%",s.style.overflowY="auto",s.style.padding="15px",a.innerHTML="",a.appendChild(s),this.renderRightPane(s,i[e])}}},t}(go),bo=function(){return bo=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},bo.apply(this,arguments)},yo=function(){function e(e){this.host=e.host,this.settings=e.settings||{},this.formSettingsConfig=e.formSettingsConfig||{groups:[]},this.l10n=e.l10n,this.locale=e.locale||"en-US",this.mode=e.mode,this.formSchema=e.formSchema,this.availableFields=e.availableFields,this.onSave=e.onSave,this.groups=[],this.headerEl=null,this.destroyed=!1}return e.prototype.render=function(){var e=this;if(!this.destroyed){this.disposeAll(),this.host.innerHTML="",this.headerEl=(0,l.createElement)("div",{className:"sidebar-header"});var t=(0,l.createElement)("h3",{attrs:{id:"form-settings-heading"}});t.textContent=this.l10n.getConstant("formsettings")||"Form settings",this.headerEl.appendChild(t),this.host.appendChild(this.headerEl);var i=(0,l.createElement)("div",{className:"form-settings property-content",attrs:{role:"region","aria-labelledby":"form-settings-heading"}});this.host.appendChild(i);var o=(0,l.createElement)("div",{className:"form-properties-section fb-scrollbar",attrs:{"aria-label":this.l10n.getConstant("formsettings")||"Form settings"},styles:"overflow-y: auto;"});i.appendChild(o);var r=this.formSettingsConfig.groups||[];r.forEach(function(t,i){var n=i===r.length-1,a=(0,l.createElement)("div",{attrs:{role:"group","aria-labelledby":"settings-group-"+i}}),s=(0,l.createElement)("h4",{attrs:{id:"settings-group-"+i},styles:"margin: 14px 12px 0 12px; font-weight: 600;"});s.textContent=e.l10n.getConstant(t.name.toLowerCase())||t.name,a.appendChild(s);var p=(0,l.createElement)("div",{className:"form-settings-group",attrs:{"data-group-name":t.name}});a.appendChild(p);var d={groupName:t.name,properties:t.properties,host:p,existingValues:e.settings,initialValues:e.settings,onChange:function(t,i){return e.handlePropertyChange(t,i)},l10n:e.l10n,locale:e.locale,mode:e.mode,formSchema:e.formSchema,availableFields:e.availableFields},h=Zi.render(d);if(e.groups.push({groupHost:p,instances:h}),!n){var c=(0,l.createElement)("div",{attrs:{"aria-hidden":"true"},styles:"margin: 0; padding: 0; border-bottom: 1px solid rgb(var(--sf-color-line-color));"});a.appendChild(c)}o.appendChild(a)})}},e.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,this.disposeAll(),this.host.innerHTML="",this.headerEl=null)},e.prototype.handlePropertyChange=function(e,t){var i,o=bo({},this.settings,((i={})[e]=t,i));this.settings=o,this.onSave(o,e)},e.prototype.disposeAll=function(){this.groups.forEach(function(e){Zi.destroy(e.instances),e.groupHost.parentElement&&e.groupHost.parentElement.removeChild(e.groupHost)}),this.groups=[]},e}(),Co=function(){return Co=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Co.apply(this,arguments)},xo=function(){function e(e){this.props=e,this.l10n=e.l10n,this.mode=e.mode,this.formSchema=e.formSchema,this.configData=e.configData,this.formSettingsConfig=e.formSettingsConfig,this.host=e.host||(0,l.createElement)("aside",{className:"right-pane"}),this.paneMode="component",this.parentNode=e.parent,this.currentField=null,this.currentFieldId=null,this.propertyValues={},this.visibility={allowMultiple:!1,savedButtonsGroups:null,columnsValue:null,displayFormat:"Dropdown"},this.ej2Instances=new Map,this.docListeners=[],this.pendingTimers=[],this.headerEl=null,this.bodyEl=null,this.closeClickHandler=null,this.tab=null,this.tabEntries=[],this.conditionsEditor=null,this.formSettingsPanel=null,this.destroyed=!1}return Object.defineProperty(e.prototype,"element",{get:function(){return this.host},enumerable:!0,configurable:!0}),e.prototype.render=function(e){if(!this.destroyed)if(this.host.classList.add("right-pane"),e&&e.empty)this.renderEmptyState();else{var t=this.formSchema&&this.formSchema.settings||{};this.openFormSettings(t)}},e.prototype.showEmptyState=function(){this.destroyed||(this.disposeAll(),this.paneMode="component",this.currentField=null,this.currentFieldId=null,this.propertyValues={},this.renderEmptyState())},e.prototype.openComponentEditor=function(e,t,i){void 0===i&&(i=!1),this.destroyed||(i||"component"!==this.paneMode||this.currentFieldId!==t||"button"===e.type||"table"===e.type)&&(this.disposeAll(),this.paneMode="component",this.currentField=e,this.currentFieldId=t,this.propertyValues=this.buildPropertyValues(e),"button"===e.type&&(e.allowMultiple=this.visibility.allowMultiple,this.propertyValues.allowMultiple=this.visibility.allowMultiple),"table"===e.type&&(this.currentField.columns=this.visibility.columnsValue||2,this.propertyValues.columns=this.visibility.columnsValue||2),this.renderComponentEditor())},e.prototype.openFormSettings=function(e){this.destroyed||(this.disposeAll(),this.paneMode="formSettings",this.currentField=null,this.currentFieldId=null,this.propertyValues={},this.renderFormSettings(e))},e.prototype.updateFormSchema=function(e){!this.destroyed&&e&&(this.formSchema=e)},e.prototype.close=function(){this.destroyed||(this.disposeAll(),this.host.innerHTML="",this.paneMode="component",this.currentField=null,this.currentFieldId=null,this.propertyValues={},this.headerEl=null,this.bodyEl=null,this.tab=null,this.tabEntries=[],this.props.onClose&&this.props.onClose())},e.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,this.close(),this.host.innerHTML="",this.host.className="right-pane right-pane-destroyed")},e.prototype.renderEmptyState=function(){this.host.innerHTML="";var e=(0,l.createElement)("div",{className:"right-pane-empty",attrs:{role:"region","aria-label":"Field settings"}}),t=(0,l.createElement)("h3",{attrs:{id:"field-settings-heading"}});t.textContent=this.l10n.getConstant("fieldSettings")||"Field settings",e.appendChild(t);var i=(0,l.createElement)("p",{className:"right-pane-hint"});i.textContent=this.l10n.getConstant("selectAField")||"Select a field to edit its properties.",e.appendChild(i),this.host.appendChild(e)},e.prototype.renderHeader=function(e,t){var i=this;this.host.innerHTML="",this.headerEl=(0,l.createElement)("div",{className:"sidebar-header"});var o=(0,l.createElement)("h3",{attrs:{id:t+"-heading"}});o.textContent=this.l10n.getConstant(e)||e,this.headerEl.appendChild(o);var r=(0,l.createElement)("button",{attrs:{type:"button","aria-label":"Close panel",title:"Close (Esc)"},className:"close-btn"});r.textContent="✕",this.closeClickHandler=function(){return i.close()},r.addEventListener("click",this.closeClickHandler),this.headerEl.appendChild(r),this.host.appendChild(this.headerEl),this.bodyEl=(0,l.createElement)("div",{className:"rightpane-property-content single-view",attrs:{role:"region","aria-labelledby":t+"-heading"}}),this.host.appendChild(this.bodyEl)},e.prototype.renderComponentEditor=function(){var e=this;if(this.currentField){var t=this.currentField.type||"",i=this.configData[t];if(!i){this.renderHeader("error","error");var o=(0,l.createElement)("p",{attrs:{role:"alert"},styles:"color: var(--sf-error-color, red); padding: 1rem;"});return o.textContent="Component definition not found for: "+t,void this.bodyEl.appendChild(o)}this.renderHeader("fieldSettings","field-settings");var r=i.groups.slice();"button"===t?r=this.getFilteredGroups(r,this.visibility.allowMultiple):"lookup"===t&&(r=this.getFilteredLookupGroups(r,this.visibility.displayFormat)),r=this.applyModeFiltering(r),r=this.applyVisibilityFiltering(r);var n=(0,l.createElement)("div",{className:"properties-section",attrs:{"aria-label":this.l10n.getConstant("fieldSettings")||"Field Settings"}});this.bodyEl.appendChild(n);var a=(0,l.createElement)("div",{className:"property-tabs-wrapper"});n.appendChild(a);var s=(0,l.createElement)("div",{className:"property-tabs"});a.appendChild(s);var p=r.map(function(t){return{header:{text:e.l10n.getConstant(t.name.toLowerCase())||t.name},content:""}});this.tab=new c.Tab({items:p,enableRtl:this.props.enableRtl,loadOn:"Init",animation:{previous:{effect:"None"},next:{effect:"None"}},created:function(){return e.populateTabContents(r)}}),this.tab.appendTo(s)}},e.prototype.populateTabContents=function(e){var t=this;this.tab&&this.bodyEl&&(e.forEach(function(e,i){var o=(0,l.createElement)("div"),r=t.bodyEl.querySelector(".e-content"),n=r?r.children[i]:null;if(n?n.appendChild(o):t.bodyEl.appendChild(o),"Conditions"===e.name){var a=e.properties.find(function(e){return"conditions"===e.key}),s=a&&a.supportedConditions||["visibleWhen","hideWhen","readOnlyWhen","disabledWhen","requiredWhen","setValueWhen"],p={host:o,enableRtl:t.props.enableRtl,parentHost:t.parentNode,getComponentFields:function(){return t.extractAllFormFieldNames(t.formSchema.components)},componentForEdit:t.currentField||void 0,excludeFieldId:t.currentFieldId||void 0,excludeChildIds:De(t.currentField),existingConditions:t.currentField?t.currentField.conditions:void 0,onChange:function(e){return t.handleConditionsChange(e)},supportedConditions:s,builderMode:t.mode,l10n:t.l10n,formSchema:t.formSchema},d=t.parentNode.getBoundingClientRect().width>0&&t.parentNode.getBoundingClientRect().width<=1024;t.conditionsEditor=d?new mo(p):new go(p),t.conditionsEditor.render(),t.tabEntries.push({groupName:e.name,properties:e.properties,instances:new Map,tabItem:null,contentHost:o,isConditions:!0})}else{var h=t.extractAllFormFieldNames(t.formSchema.components),c=Co({},t.propertyValues,{availableFields:h}),u={groupName:e.name,properties:e.properties,enableRtl:t.props.enableRtl,host:o,existingValues:t.currentField,initialValues:c,onChange:function(e,i){return t.handlePropertyChange(e,i)},l10n:t.l10n,locale:t.props.locale,mode:t.mode,formSchema:t.formSchema,availableFields:h},v=Zi.render(u);t.tabEntries.push({groupName:e.name,properties:e.properties,instances:v,tabItem:null,contentHost:o,isConditions:!1})}}),this.applyPendingDefaultsFromConfig())},e.prototype.applyPendingDefaultsFromConfig=function(){if(this.currentField&&this.configData){var e=this.configData[this.currentField.type];if(e&&Array.isArray(e.groups))for(var t=0,i=e.groups;t<i.length;t++){var o=i[t];if(o&&Array.isArray(o.properties))for(var r=0,n=o.properties;r<n.length;r++){var a=n[r];if(a&&"defaultValue"!=a.key){var s=this.currentField[a.key],l=null==s||""===s,p=void 0!==a.default&&null!==a.default&&""!==a.default;l&&p&&this.handlePropertyChange(a.key,a.default)}}}}},e.prototype.renderFormSettings=function(e){var t=this;this.host.innerHTML="",this.formSettingsPanel=new yo({host:this.host,settings:e,formSettingsConfig:this.formSettingsConfig,l10n:this.l10n,locale:this.props.l10n&&this.l10n.locale?this.l10n.locale:"en-US",mode:this.mode,formSchema:this.formSchema,onSave:function(e,i){t.props.onSave&&t.props.onSave(e,i)}}),this.formSettingsPanel.render()},e.prototype.handlePropertyChange=function(e,t){var i;if(("expressionValue"!==e||""!==t)&&this.propertyValues[e]!==t){if(this.propertyValues=Co({},this.propertyValues,((i={})[e]=t,i)),"allowMultiple"===e&&this.currentField&&"button"===this.currentField.type){var o=this.visibility.allowMultiple;this.visibility.allowMultiple=!!t,t?this.propertyValues=Co({},this.propertyValues,{buttonsGroups:this.visibility.savedButtonsGroups||[]}):(this.visibility.savedButtonsGroups=this.propertyValues.buttonsGroups,this.propertyValues=Co({},this.propertyValues,{buttonsGroups:[]})),o!==!!t&&this.refreshTabs()}if("buttonsGroups"===e&&this.currentField&&"button"===this.currentField.type&&this.visibility.allowMultiple&&(this.visibility.savedButtonsGroups=t),"columns"===e&&this.currentField&&"table"===this.currentField.type){o=this.visibility.columnsValue;this.visibility.columnsValue=t,o!==t&&this.refreshTabs()}var r=this.configData[this.currentField.type],n=null;if(r&&r.groups)for(var a=0;a<r.groups.length;a++){if(n=(r.groups[a].properties||[]).find(function(t){return t.key===e}))break}var s=n?n.label:e,l=this.propertyValues&&this.propertyValues.label?this.propertyValues.label:"";this.props.onPropertyChanged&&this.props.onPropertyChanged({field:l,property:s,value:t,name:this.currentField.name}),this.props.onSave&&this.props.onSave(this.clonePropertyValues(),e)}},e.prototype.handleConditionsChange=function(e){var t=e&&"object"==typeof e&&Object.keys(e).length>0?e:void 0;this.propertyValues=Co({},this.propertyValues,{conditions:t}),this.props.onSave&&this.props.onSave(this.clonePropertyValues(),"conditions")},e.prototype.getFilteredGroups=function(e,t){var i=t?["allowMultiple","name","buttonsGroups","gap","cssClass","width","position","size","conditions"]:["allowMultiple","name","buttonType","cssClass","disabled","iconCss","iconPosition","label","position","style","size","conditions"];return e.map(function(e){return Co({},e,{properties:e.properties.filter(function(e){return i.indexOf(e.key)>=0})})}).filter(function(e){return e.properties.length>0})},e.prototype.getFilteredLookupGroups=function(e,t){if(!(["Radio","Checkbox","CheckboxGroup"].indexOf(t)>=0))return e;var i=["placeholder","showClearButton","readOnly","enableVirtualization","floatLabelType","popupHeight","popupWidth"],o=["validateOn"];return e.map(function(e){var t=e.properties;return"Display"===e.name?t=t.filter(function(e){return i.indexOf(e.key)<0}):"Validation"===e.name?t=t.filter(function(e){return o.indexOf(e.key)<0}):"Conditions"===e.name&&(t=t.map(function(e){return"conditions"===e.key?Co({},e,{supportedConditions:["visibleWhen","hideWhen","requiredWhen","setValueWhen","disabledWhen"]}):e})),Co({},e,{properties:t})}).filter(function(e){return e.properties.length>0})},e.prototype.applyModeFiltering=function(e){return"Simple"!==this.mode?e:e.map(function(e){return Co({},e,{properties:e.properties.filter(function(e){return"developer"!==e.mode&&"developer"!==e.componentType})})}).filter(function(e){return e.properties.length>0})},e.prototype.applyVisibilityFiltering=function(e){return e.map(function(e){return Co({},e,{properties:e.properties.filter(function(e){return!1!==e.visible})})}).filter(function(e){return e.properties.length>0})},e.prototype.buildPropertyValues=function(e){var t={},i=this.configData[e.type];return i?(i.groups.forEach(function(i){i.properties.forEach(function(o){var r=o.default;if("Validation"===i.name)r=void 0!==e[o.key]?e[o.key]:o.default;else if("Layout"===i.name){var n=e.layout?e.layout[o.key]:void 0;r=void 0!==n?n:void 0!==e[o.key]?e[o.key]:o.default}else r=void 0!==e[o.key]?e[o.key]:"value"===o.key&&void 0!==e.defaultValue?e.defaultValue:"rows"===o.key&&void 0!==e.textareaRows?e.textareaRows:o.default;t[o.key]=r})}),Object.keys(e).forEach(function(i){i in t||(t[i]=e[i])}),t):t},e.prototype.extractAllFormFieldNames=function(e){var t=[],i=["panel","table","tabs","button","message"],o=function(e){for(var r=0,n=e;r<n.length;r++){var a=n[r];i.indexOf(a.type)<0&&t.push(a),a.children&&Array.isArray(a.children)&&o(a.children),a.tableCells&&Array.isArray(a.tableCells)&&a.tableCells.forEach(function(e){Array.isArray(e)&&e.forEach(function(e){Array.isArray(e)&&o(e)})}),a.tabItems&&Array.isArray(a.tabItems)&&a.tabItems.forEach(function(e){e.content&&Array.isArray(e.content)&&o(e.content)})}};return o(e),t},e.prototype.refreshTabs=function(){if(this.currentField&&this.currentFieldId){var e=this.currentField,t=this.currentFieldId;this.openComponentEditor(e,t)}},e.prototype.clonePropertyValues=function(){return Co({},this.propertyValues)},e.prototype.disposeAll=function(){var e=this;if(this.tabEntries.forEach(function(t){if(Zi.destroy(t.instances),t.isConditions&&e.conditionsEditor)try{e.conditionsEditor.destroy()}catch(e){}}),this.tabEntries=[],this.conditionsEditor=null,this.tab){try{this.tab.destroy()}catch(e){}this.tab=null}if(this.formSettingsPanel){try{this.formSettingsPanel.destroy()}catch(e){}this.formSettingsPanel=null}this.docListeners.forEach(function(e){var t=e.target,i=e.event,o=e.handler,r=e.opts;t.removeEventListener(i,o,r)}),this.docListeners=[],this.pendingTimers.forEach(function(e){return clearTimeout(e)}),this.pendingTimers=[]},e}(),wo={textbox:"Text Box",textarea:"Text Area",number:"Number",checkbox:"Checkbox",checkboxGroup:"Checkbox Group",radio:"Radio Button",dropdown:"Dropdown List",switch:"Switch",button:"Button",splitButton:"Split Button",date:"Date",range:"Range",timeRange:"Time Range",dateTime:"Date / Time",time:"Time",dateRange:"Date Range",inputMask:"Input Mask",multiselect:"Multi Select",message:"Message",panel:"Panel",card:"Card",table:"Table",tabs:"Tabs",rating:"Rating",lookup:"Look Up",html:"HTML",staticHtml:"HTML",autoNumber:"Auto Number",imageEditor:"Image Editor",colorPicker:"Color Picker",fileUpload:"File Upload",rangeSlider:"Range Slider",signature:"Signature",dataGrid:"Data Grid",richTextEditor:"Rich Text Editor",loginForm:"Login Form",feedbackSurvey:"Feedback",registrationForm:"Registration",basic:"Basic",behaviour:"Behaviour",advanced:"Advanced",layout:"Layout",templates:"Templates",build:"Build",name:"Name",title:"Title",description:"Description",prefix:"Prefix",suffix:"Suffix",preview:"Preview",import:"Import",importJson:"Import JSON",export:"Export",small:"Small",bigger:"Bigger",clear:"Clear",copy:"Copy",delete:"Delete",cancel:"Cancel",json:"JSON",jsonCode:"JSON Code",fromFile:"From File",fromUrl:"From URL",save:"Save",validate:"Validate",fetching:"Fetching",validating:"Validating",properties:"Properties",display:"Display",copyCode:"Copy code",resetForm:"Reset form",editForm:"Edit form",jsonview:"JSON view",previewForm:"Preview form",conditions:"Conditions",addRule:"Add Rule",conditionsEditorLabel:"Add rules to control this field's behavior. ",dataSchema:"Data Schema (Validation)",uiSchema:"UI Schema (Layout & Presentation)",columns:"Columns",validation:"Validation",selectionType:"Selection type",displayFormat:"Display format",lookupConfig:"Lookup configuration",importexport:"Import / Export",enableImportFromWord:"Enable import from Word",enableExportToWord:"Enable export to Word",enableExportToPdf:"Enable export to PDF",importFromWordUrlPlaceholder:"Enter Service URL to import from Word",exportToWordUrlPlaceholder:"Enter Service URL to export to Word",exportToPdfUrlPlaceholder:"Enter Service URL to export to PDF",single:"Single",multiple:"Multiple",emptyFieldSetState:"Drop Component here",startBuildingForm:"Start building your form",dragFieldsHint:"Drag fields from the left panel and drop them here to create your form.",dragAnyFieldHere:"Drag any field here or click to add new field",addNewField:"Add new field",componentSelection:"Component Selection",availableComponents:"Available Components",dropToAddField:"Drop to add field",releaseToAddField:"Release to add this field to the form",index:"Index",search:"Search",fields:"Fields",fieldSettings:"Field Settings",formsettings:"Form Settings",columnSettings:"Column Settings",visibility:"Visibility",visible:"Visible",publish:"Publish",draft:"Draft",closed:"Closed",visibility_publish_description:"This form is visible to anyone with the link",visibility_draft_description:"This form is only visible to you",visibility_closed_description:"This form is read-only; you can only change visibility",visibility_closed_warning:"Closed forms cannot be edited. You can change visibility to re-open.",optionLabel:"Option Label",tabLabel:"Tab Label",action:"Action",attributeName:"Attribute Name",attributeValue:"Attribute Value",buttonLabel:"Button Label",buttonType:"Button Type",buttonStyle:"Button Style",iconCss:"Icon CSS",iconPosition:"Icon Position",disabled:"Disabled",tab:"Tab","Tab 1":"Tab 1","Option 1":"Option 1",cell:"Cell",option:"Option",addNewTab:"+ Add New Tab",addNewOption:"+ Add New Option",addAttribute:"+ Add Attribute",addButton:"+ Add Button",addColumn:"+ Add Column",addRange:"+ Add Range",addHeader:"Add",addFilter:"+ Add Filter",addCondition:"+ Add Condition",column:"Column",deleteColumn:"Delete this column",fieldName:"Field Name",headerText:"Header Text",type:"Type",width:"Width",primaryKey:"Primary Key",string:"String",boolean:"Boolean",selectType:"Select type",uniqueFieldIdentifier:"Unique field identifier",columnHeaderDisplay:"Column header display",columnWidthPlaceholder:"e.g., 150px, 20%",validationRulesFor:"Validation",required:"Required",anotherPrimaryKeySet:"Is already set",minLength:"Min Length",maxLength:"Max Length",minimumCharacters:"Minimum characters",maximumCharacters:"Maximum characters",minValue:"Min Value",maxValue:"Max Value",minimumValue:"Minimum value",maximumValue:"Maximum value",minDate:"Min Date",maxDate:"Max Date",importFormSchemaFromFile:"Import Form Schema from File",importFormSchema:"Import Form Schema",importFormSchemaFromUrls:"Import Form Schema from URLs",importSplitSchemas:"Import Schema – Provide a JSON schema to generate a form.",uploadSplitSchemas:"Upload Schema – Upload a JSON schema file to generate a form.",enterUrlsSplitSchemas:"Enter URL for Schema – Provide a URL to fetch a schema and generate a form.",dataSchemaImport:"Data Schema (Optional)",uiSchemaImport:"UI Schema (Optional)",containsFieldDefinitions:"Contains field definitions and validation rules",containsThemeLayout:"Contains theme, layout, and widget definitions",dataSchemaUrl:"Data Schema URL (Optional)",uiSchemaUrl:"UI Schema URL (Optional)",addTagOnBlur:"Add Tag On Blur",addTabs:"Add tabs",alignment:"Alignment",allowAdding:"Allow Adding",allowFiltering:"Allow Filtering",allowCustomValue:"Allow Custom Value",allowDeleting:"Allow Deleting",allowEditing:"Allow Editing",allowExtensions:"Allow Extensions",allowMultiple:"Allow Multiple",allowPaging:"Allow Paging",allowReset:"Allow Reset",autocomplete:"Autocomplete",backgroundColor:"Background Color",buttons:"Buttons",buttonsConfiguration:"Buttons Configuration",cssClass:"CSS Class",calendarMode:"Calendar Mode",simple:"Simple",developer:"Developer",simpleMode:"Simple Mode",developerMode:"Developer Mode",calendarViewDepth:"Calendar View Depth",cardSubtitle:"Card Subtitle",cardTitle:"Card Title",checkboxLabelPosition:"Checkbox Label Position",checkboxOptions:"Checkbox Options",checked:"Checked",cols:"Cols",columnDefinitions:"Columns",moveUp:"Move Up",moveDown:"Move Down",containerWidth:"Container Width",columnWidth:"Column Width",setTableColumnWidth:"Set width percentages for each table column",content:"Content",currencyCode:"Currency Code",dayHeaderFormat:"Day Header Format",delimiterCharacter:"Delimiter Character",enableHtmlSanitizer:"Enable HTML Sanitizer",enableMultiple:"Enable Multiple",enableOpacity:"Enable Opacity",enableVirtualization:"Enable Virtualization",fieldLabelPosition:"Field Label Position",floatLabelType:"Float Label Type",format:"Format",gapBetweenButtons:"Gap Between Buttons",htmlAttributes:"HTML Attributes",htmlContent:"HTML Content",height:"Height",hideBorder:"Hide Border",hideLabel:"Hide Label",iconCssClass:"Icon CSS Class",indeterminate:"Indeterminate",dataSource:"DataSource",data:"Data",initialView:"Initial View (Start Property)",items:"Items",itemsCount:"Items Count",label:"Label",labelPosition:"Label Position",labelWidth:"Label Width",layoutDirection:"Layout Direction",mask:"Mask",maximumDate:"Maximum Date",maximumFileSize:"Maximum File Size",maximumLength:"Maximum Length",maximumStrokeWidth:"Maximum Stroke Width",maximumTime:"Maximum Time",minimum:"Minimum",minimumDate:"Minimum Date",minimumFileSize:"Minimum File Size",minimumLength:"Minimum Length",minimumStrokeWidth:"Minimum Stroke Width",minimumTime:"Minimum Time",multiline:"Multiline",on:"On",off:"Off",offText:"Off Text",onText:"On Text",options:"Options",pageSize:"Page Size",size:"Size",placeholder:"Placeholder",popupHeight:"Popup Height",popupWidth:"Popup Width",promptCharacter:"Prompt Character",ratingLabelPosition:"Rating Label Position",readOnly:"Read Only",regularExpressionPattern:"Regular Expression Pattern",removeUrl:"Remove URL",rows:"Rows",saveUrl:"Save URL",selectAllText:"Select All Text",severity:"Severity",showButtons:"Show Buttons",showClearButton:"Show Clear Button",showCloseIcon:"Show Close Icon",showDropdownIcon:"Show DropDown Icon",showFileList:"Show File List",showIcon:"Show Icon",showNoColor:"Show No Color",showRatingLabel:"Show Rating Label",showRatingTooltip:"Show Rating Tooltip",showRecentColors:"Show Recent Colors",showSelectAll:"Show Select All",showTodayButton:"Show Today Button",spacingBetweenItems:"Spacing Between Items",step:"Step",strokeColor:"Stroke Color",style:"Style",tooltip:"Tooltip",unselectAllText:"Unselect All Text",validateOn:"ValidateOn",validationMessage:"Error Message",value:"Value",variant:"Variant",velocity:"Velocity",visualMode:"Visual Mode",startIndex:"Start Index",startIndexDescription:"Starting number for auto-increment sequence",charForPlaceholder:"Character for placeholder",enterHtmlCode:"Enter HTML code",allowedExtensionsFormat:'Pass allowedExtensions as ".jpg,.png".',pasteJsonArrayRecords:"Paste JSON array of records (optional)",provideCustomValidationMessage:"Provide a custom validation message",providePlaceholder:"Provide a placeholder",provideDescription:"Provide a description",providePrefix:"Provide a prefix",provideSuffix:"Provide a suffix",selectDatePlaceholder:"Select date",selectInitialDateTime:"Select initial date and time",selectInitialTime:"Select initial time",selectMaximumDate:"Select maximum date",selectMaximumTime:"Select maximum time",selectMinimumDate:"Select minimum date",selectMinimumTime:"Select minimum time",selectStartEndDates:"Select start and end dates",percentageCalculationHint:"calculates in percentage (e.g., 30)",phoneFormatExample:"e.g., (999)999-9999 for phone",timeFormatEvening:"e.g., 05:00 PM",timeFormatMorning:"e.g., 09:00 AM",widthFormatFlexible:"e.g., 100%, 400px, auto",widthFormatExample1:"e.g., 100%, 500px",widthFormatExample2:"e.g., 100%, 800px",dimensionFormatExample1:"e.g., 200px, 50vh",dimensionFormatExample2:"e.g., 300px, 400px",dimensionFormatExample3:"e.g., 300px, 50%",dimensionFormatExample4:"e.g., 300px, 50%, 100%",spacingFormatExample1:"e.g., 4px, 0.5rem, 1em",spacingFormatExample2:"e.g., 8px, 1rem",currencyCodeExample:"e.g., USD, EUR",arrayItemsExample:'e.g., ["item1", "item2"]',dataAttributeExample1:"e.g., data-test, aria-label",dataAttributeExample2:"e.g., data-test, aria-label, etc.",cssIconExample:"e.g., e-icon-close, fa fa-icon",numberFormatExample:"e.g., n2, c2",abbreviated:"Abbreviated",headers:"Request Headers",headerKey:"Key ",endpointUrl:"Endpoint URL",enterUrl:"Enter API endpoint URL",queryConfiguration:"Query Configuration",adaptorType:"Adaptor Type",dataPath:"Data Path",dataPathPlaceholder:"e.g., results.items",addQueryParams:"Add query params",enableSearch:"Enable Search",queryParameterName:"Param name",fieldToSearch:"Use {fieldName} to reference form field values at runtime. ",fieldsToSearchIn:"Fields to search in (e.g., 'name, email')",sort:"Sort",enableSort:"Enable Sort",fieldToSortBy:"Field to sort by (e.g., 'name')",ascending:"Ascending",descending:"Descending",filters:"Filters",fieldStatus:"Field (e.g., 'status')",offset:"Offset",limit:"Limit",skipOffset:"Skip (offset)",takeLimit:"Take (limit)",after:"After",always:"Always",defaultTabValue:"Tab 1",defaultOptionValue:"Option 1",auto:"Auto",before:"Before",blur:"Blur",bottom:"Bottom",box:"Box",center:"Center",change:"Change",decade:"Decade",default:"Default",delimiter:"Delimiter",email:"Email",error:"Error",filled:"Filled",flat:"Flat",gregorian:"Gregorian",information:"Information",islamic:"Islamic",left:"Left",month:"Month",narrow:"Narrow",never:"Never",outlined:"Outlined",password:"Password",primary:"Primary",reset:"Reset",right:"Right",row:"Row",selectAll:"Select All",short:"Short",standard:"Standard",submit:"Submit",success:"Success",text:"Text",top:"Top",unselectAll:"Unselect All",url:"URL",warning:"Warning",wide:"Wide",year:"Year",n2:"n2",tags:"Tags",rawData:"Raw Data",remoteUrl:"Remote URL",selectFormName:"Select form name",selectField:"Select field",selectFormSubmissions:"Select a form to populate grid with its submission data",creatorsettings:"Creator Settings",condition:"Condition",expression:"Expression value",expressionDesc:"Set computed field value based on other fields",expressionPlaceholder:"e.g., {qty} * {price}",useFieldValue:"Use field value",conditionalVisibility:"Conditional Visibility",conditionalHide:"Conditional Hide",conditionalVisibilityDescription:"Show this field when the following condition is true:",conditionalReadOnly:"Conditional Read-Only",conditionalRequired:"Conditional Required",conditionalRequiredDescription:"Make this field required when the following condition is true:",conditionalSetValue:"Set Value When",conditionalSetValueDescription:"Set the field dynamic value when the following condition is true:",setValue:"Value:",conditionalReadOnlyDescription:"Make this field read-only (non-editable) when:",conditionalDisable:"Conditional Disable",conditionalDisableDescription:"Disable this field (grayed out, excluded from validation) when:",configureCheckboxGroupOptions:"Configure checkbox group options",configureDropdownOptions:"Configure dropdown options",configureMultiselectOptions:"Configure multiselect options",configureRadioButtonOptions:"Configure radio button options",configureSplitButtonItems:"Configure split button items",choiceBasedField:"Choice-Based Field",choiceBasedFieldDescription:"Map dependent field options based on primary field selection",selectPrimaryField:"Select Primary Field",selectPrimaryOption:"Select Option",selectDependentOptions:"Select Dependent Options",defineGridColumnsWithValidation:"Define grid columns with validation rules per column type",enableVirtualScrollingForLargeData:"Enable virtual scrolling for large datasets",hideLabelDescription:"Hide field labels and only show input elements",sizeDescription:"The overall size of form elements",floatLabelTypeDescription:"Controls how labels float when interacting with input fields",conditionalData:"Conditional Data",customizeColumns:"Customize columns",conditionalDataDescription:"Set the data source based on form field conditions",conditionalDataConditionDescription:"Define when this data source should be applied",customValidation:"Custom Validation",customValidationErrorMessage:"Validation message is required",customValidationDescription:"Write validation conditions using expressions.",switchWidget:"Switch Widget"};const Po=[{id:"loginForm",title:"Login Form",schema:{type:"object",properties:{email:{type:"string",title:"Email Address",name:"emailAddress",description:"Enter your email",format:"email"},password:{type:"string",title:"Password",name:"password",description:"Enter your password",minLength:6},rememberMe:{type:"boolean",title:"Remember Me",name:"remember",default:!1}},required:["email","password"]}},{id:"registrationForm",title:"User Registration",schema:{version:"0.1.0",properties:{firstName:{id:"textbox_1780395123369_348",type:"string",label:"First Name",name:"firstName",minLength:2,widget:"textbox"},lastName:{id:"textbox_1780395123369_714",type:"string",label:"Last Name",name:"lastName",minLength:2,widget:"textbox"},emailAddress:{id:"textbox_1780395123369_215",type:"string",label:"Email Address",name:"emailAddress",textboxType:"email",widget:"textbox"},password:{id:"textbox_1780395123369_201",name:"password_1",type:"string",label:"Password",textboxType:"password",minLength:8,widget:"textbox"},confirmPassword:{id:"textbox_1780395123369_608",name:"password_2",type:"string",label:"Confirm Password",textboxType:"password",minLength:8,widget:"textbox",customValidation:[{expression:"valid = (input === {password_1}) ? true : 'Confirm password should match the password'"}]},iAgreeToTheTermsAndConditions:{id:"checkbox_1780395123369_384",name:"agree",type:"boolean",label:"I agree to the Terms and Conditions",widget:"checkbox"},submit:{id:"submit_button_initial",type:"button",name:"default_submit",label:"Submit",buttonType:"submit",widget:"button",style:"primary",disabled:!1}},layout:[{type:"field",propertyId:"firstName"},{type:"field",propertyId:"lastName"},{type:"field",propertyId:"emailAddress"},{type:"field",propertyId:"password"},{type:"field",propertyId:"confirmPassword"},{type:"field",propertyId:"iAgreeToTheTermsAndConditions"},{type:"field",propertyId:"submit"}],settings:{name:"Untitled Form"}}},{id:"feedbackSurvey",title:"Feedback Survey",schema:{version:"1.0",properties:{howSatisfiedAreYou:{id:"dropdown_1774507299146_461",type:"string",name:"satisfaction",label:"How satisfied are you?",options:["very_satisfied","satisfied","neutral","dissatisfied","very_dissatisfied"]},wouldYouRecommendUs:{id:"dropdown_1774507299146_513",type:"string",name:"recommendation",label:"Would you recommend us?",options:["yes","maybe","no"]},additionalFeedback:{id:"textarea_1774507317278_373",type:"string",name:"feedback",label:"Additional Feedback"},submit:{id:"button_1774507299146_562",type:"button",name:"default_submit",label:"Submit",buttonType:"submit"}}}}];var So=function(){return So=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},So.apply(this,arguments)};function jo(e,t,i,o){if(0===e.length)return[t];if("number"!=typeof i||null===i||i<0||i>=e.length){var r=e.slice();return r.push(t),r}var n="after"===o?i+1:i,a=e.slice();return a.splice(n,0,t),a}function Oo(e,t){var i=e.slice();if(0===i.length)return i.push(t),i;var o=i[i.length-1];return!!o&&"button"===o.type&&"submit"===o.buttonType?i.splice(i.length-1,0,t):i.push(t),i}function To(e,t,i,o,r,n,a){return e&&t?So({},e,{components:e.components.map(function(e){return ko(e,i,t,o,r,n,a)})}):e}function ko(e,t,i,o,r,n,a){if(t&&e.id===t){var s=Fo(e,i,o,r,n,a);if(s!==e)return s}if(e.id===i)return Fo(e,i,o,r,n,a);if(e.children&&e.children.length){var l=!1,p=e.children.map(function(e){var s=ko(e,t,i,o,r,n,a);return s!==e&&(l=!0),s});if(l)return So({},e,{children:p})}if(e.tabItems&&e.tabItems.length){var d=!1,h=e.tabItems.map(function(e){if(!e.content)return e;var s=!1,l=e.content.map(function(e){var l=ko(e,t,i,o,r,n,a);return l!==e&&(s=!0),l});return s&&(d=!0),s?So({},e,{content:l}):e});if(d)return So({},e,{tabItems:h})}if(e.tableCells&&e.tableCells.length){var c=!1,u=e.tableCells.map(function(e){return e.map(function(e){var s=!1,l=e.map(function(e){var l=ko(e,t,i,o,r,n,a);return l!==e&&(s=!0),l});return s&&(c=!0),s?l:e})});if(c)return So({},e,{tableCells:u})}return e}function Fo(e,t,i,o,r,n){if(e.id!==t)return e;if(i&&"number"==typeof i.tabIndex&&e.tabItems){var a=e.tabItems.slice(),s=i.tabIndex,l=a[s]&&a[s].content?a[s].content.slice():[];return a[s]=So({},a[s],{content:jo(l,o,r,n)}),So({},e,{tabItems:a})}if(i&&"number"==typeof i.row&&e.tableCells){var p=e.tableCells.map(function(e){return e.slice()}),d=p[i.row][i.col].slice();return p[i.row][i.col]=jo(d,o,r,n),So({},e,{tableCells:p})}var h=(e.children||[]).slice();return So({},e,{children:jo(h,o,r,n)})}function Io(e,t){if(!e||!t)return e;var i,o=li(e),r=So({},e,{components:(e.components||[]).filter(function(e){return e.id!==t}).map(function(e){return Ao(e,t)})});return o&&0===r.components.length?(i={version:"0.1.0",components:[{id:"default-submit-button",type:"button",name:"defaultSubmit",label:"Submit",buttonType:"submit",_configured:!0}],settings:{name:"Untitled Form"}},JSON.parse(JSON.stringify(i))):r}function Ao(e,t){return e.children?So({},e,{children:e.children.filter(function(e){return e.id!==t}).map(function(e){return Ao(e,t)})}):e.tabItems?So({},e,{tabItems:e.tabItems.map(function(e){return So({},e,{content:e.content?e.content.filter(function(e){return e.id!==t}).map(function(e){return Ao(e,t)}):e.content})})}):e.tableCells?So({},e,{tableCells:e.tableCells.map(function(e){return e.map(function(e){return e.filter(function(e){return e.id!==t}).map(function(e){return Ao(e,t)})})})}):e}function Do(e,t,i,o){return e&&t?So({},e,{components:(e.components||[]).map(function(e){return Eo(e,t,i,o)})}):e}function Eo(e,t,i,o){if(e.id===t){if(o&&"number"==typeof o.tabIndex&&e.tabItems){var r=e.tabItems.slice(),n=o.tabIndex;if(r[n])return r[n]=So({},r[n],{content:i.slice()}),So({},e,{tabItems:r})}if(o&&"number"==typeof o.row&&"number"==typeof o.col&&e.tableCells){var a=e.tableCells.map(function(e){return e.slice()});if(a[o.row]&&a[o.row][o.col])return a[o.row][o.col]=i.slice(),So({},e,{tableCells:a})}return So({},e,{children:i.slice()})}if(e.children){var s=e.children.map(function(e){return Eo(e,t,i,o)});if(s.some(function(t,i){return t!==e.children[i]}))return So({},e,{children:s})}if(e.tabItems){var l=e.tabItems.map(function(e){if(!e.content)return e;var r=e.content.map(function(e){return Eo(e,t,i,o)});return r.some(function(t,i){return t!==e.content[i]})?So({},e,{content:r}):e});if(l.some(function(t,i){return t!==e.tabItems[i]}))return So({},e,{tabItems:l})}if(e.tableCells){var p=e.tableCells.map(function(e){return e.map(function(e){var r=e.map(function(e){return Eo(e,t,i,o)});return r.some(function(t,i){return t!==e[i]})?r:e})});if(p.some(function(t,i){return t.some(function(t,o){return t!==e.tableCells[i][o]})}))return So({},e,{tableCells:p})}return e}function Ro(e,t,i){if(!e||!e.components)return e;var o=e.components.findIndex(function(e){return e.id===t});if(o<0)return e;var r=o+i;if(r<0||r>=e.components.length)return e;var n=e.components.slice(),a=n.splice(o,1)[0];return n.splice(r,0,a),So({},e,{components:n})}function Lo(e,t,i,o,r){return e&&o?So({},e,{components:e.components.map(function(e){return e.id!==o?e:function(e,t,i,o){if(o&&"number"==typeof o.tabIndex&&e.tabItems){var r=o.tabIndex,n=e.tabItems.slice(),a=n[r]&&n[r].content?n[r].content.slice():[],s=a.findIndex(function(e){return e.id===t});if(s<0)return e;var l=s+i;if(l<0||l>=a.length)return e;var p=a.slice(),d=p.splice(s,1)[0];return p.splice(l,0,d),n[r]=So({},n[r],{content:p}),Object.assign({},e,{tabItems:n})}if(o&&"number"==typeof o.row&&"number"==typeof o.col&&e.tableCells){var h=e.tableCells.map(function(e){return e.slice()}),c=h[o.row]&&h[o.row][o.col]?h[o.row][o.col].slice():[],u=c.findIndex(function(e){return e.id===t});if(u<0)return e;var v=u+i;if(v<0||v>=c.length)return e;var g=c.slice(),f=g.splice(u,1)[0];return g.splice(v,0,f),h[o.row][o.col]=g,Object.assign({},e,{tableCells:h})}var m=(e.children||[]).slice(),b=m.findIndex(function(e){return e.id===t});if(b<0)return e;var y=b+i;if(y<0||y>=m.length)return e;var C=m.slice(),x=C.splice(b,1)[0];return C.splice(y,0,x),Object.assign({},e,{children:C})}(e,t,i,r)})}):e}function zo(e,t,i){return e&&t&&i?So({},e,{components:(e.components||[]).map(function(e){return Mo(e,t,i)})}):e}function Mo(e,t,i){return e.id===t?Object.assign({},e,{type:i}):e.children?Object.assign({},e,{children:e.children.map(function(e){return Mo(e,t,i)})}):e.tabItems?Object.assign({},e,{tabItems:e.tabItems.map(function(e){return Object.assign({},e,{content:e.content?e.content.map(function(e){return Mo(e,t,i)}):e.content})})}):e.tableCells?Object.assign({},e,{tableCells:e.tableCells.map(function(e){return e.map(function(e){return e.map(function(e){return Mo(e,t,i)})})})}):e}function Bo(e,t,i){for(var o=[],r=function(r){var n=e[r];if(o.push(n),n.id===t)return o.push(i),o.push.apply(o,e.slice(r+1)),{value:{components:o,inserted:!0}};if(n.children){var a=Bo(n.children,t,i),s=a.components;if(a.inserted)return o[o.length-1]=So({},n,{children:s}),o.push.apply(o,e.slice(r+1)),{value:{components:o,inserted:!0}}}if(n.tabItems){var l=!1,p=n.tabItems.map(function(e){if(!e.content)return e;var o=Bo(e.content,t,i),r=o.components;return o.inserted&&(l=!0),So({},e,{content:r})});if(l)return o[o.length-1]=So({},n,{tabItems:p}),o.push.apply(o,e.slice(r+1)),{value:{components:o,inserted:!0}}}if(n.tableCells){var d=!1,h=n.tableCells.map(function(e){return e.map(function(e){var o=Bo(e,t,i),r=o.components;return o.inserted&&(d=!0),r})});if(d)return o[o.length-1]=So({},n,{tableCells:h}),o.push.apply(o,e.slice(r+1)),{value:{components:o,inserted:!0}}}},n=0;n<e.length;n++){var a=r(n);if("object"==typeof a)return a.value}return{components:o,inserted:!1}}var Ho=function(){return Ho=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Ho.apply(this,arguments)};function No(e,t){return void 0!==e[t]}function Yo(e){return"string"==typeof e?e.toLowerCase():e}function Wo(e){if("string"!=typeof e)return e;try{return JSON.parse(e)}catch(t){return e}}function Xo(e,t){if("table"===e.type){for(var i=No(t,"rows")?t.rows:e.rows||2,o=No(t,"columns")?t.columns:e.columns||2,r=e.tableCells||[],n=[],a=0;a<i;a++){for(var s=[],l=0;l<o;l++){var p=r[a],d=p?p[l]:void 0;s.push(d||[])}n.push(s)}return n}}function Uo(e,t){if("tabs"===e.type){var i=No(t,"tabOptions")?t.tabOptions:e.tabItems&&e.tabItems.map(function(e){return e.header})||["Tab 1"],o=e.tabItems||[];return i.map(function(e,t){var i=o[t];return{header:e,content:i&&i.content?i.content:[]}})}}function Vo(e,t){var i=e&&void 0!==e.widths?e:t&&void 0!==t.widths?t:void 0;return i&&Array.isArray(i.widths)&&i.widths.every(function(e){return null===e})?void 0:void 0!==e?e:t}function qo(e,t,i){var o=e.type,r=t?t[o]:null;if(!r)return e;var n={},a={};(r.groups||[]).forEach(function(e){(e.properties||[]).forEach(function(e){e.key&&(n[e.key]=1),e.key&&void 0!==e.default&&(a[e.key]=e.default)})});var s=["id","type","label","name","_configured","templateId"],l=e.dirtyKey;if(Array.isArray(l))for(var p=0,d=l;p<d.length;p++){var h=d[p];h&&"string"==typeof h&&s.indexOf(h)<0&&s.push(h)}if(Array.isArray(i))for(var c=0,u=i;c<u.length;c++){var v=u[c];v&&v.propertyKey&&s.indexOf(v.propertyKey)<0&&s.push(v.propertyKey)}"autoNumber"===o&&s.push("visible","size");for(var g=["children","tableCells","tabItems"],f={},m=Object.keys(e),b=0;b<m.length;b++){var y=m[b],C=e[y];if(-1===s.indexOf(y)&&-1===g.indexOf(y)){if(1===n[y]){if("dataSource"===y&&Array.isArray(C)&&0===C.length)continue;C!==a[y]&&(f[y]=C)}}else f[y]=C}if("panel"===o&&void 0===f.children&&(f.children=[]),"card"===o&&void 0===f.children&&(f.children=[]),"table"===o&&void 0===f.tableCells&&(f.tableCells=e.tableCells||[]),"tabs"===o&&void 0===f.tabItems&&(f.tabItems=e.tabItems||[]),"button"===o&&!f.buttonType){var x=e.buttonsGroups;if(x&&0!==x.length)x.some(function(e){return e&&"submit"===e.type})&&(f.buttonType="submit");else f.buttonType="button"}return f}function _o(e,t,i){return e.map(function(e){if(e.id===t)return i;var o=Object.assign({},e);return e.children&&(o.children=_o(e.children,t,i)),e.tabItems&&(o.tabItems=e.tabItems.map(function(e){return Ho({},e,{content:e.content?_o(e.content,t,i):e.content})})),e.tableCells&&(o.tableCells=e.tableCells.map(function(e){return e.map(function(e){return _o(e,t,i)})})),o})}var Zo=function(){return Zo=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Zo.apply(this,arguments)},Go=function(e,t,i,o){return new(i||(i=Promise))(function(r,n){function a(e){try{l(o.next(e))}catch(e){n(e)}}function s(e){try{l(o.throw(e))}catch(e){n(e)}}function l(e){e.done?r(e.value):new i(function(t){t(e.value)}).then(a,s)}l((o=o.apply(e,t||[])).next())})},Jo=function(e,t){var i,o,r,n,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return n={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function s(n){return function(s){return function(n){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,o&&(r=2&n[0]?o.return:n[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,n[1])).done)return r;switch(o=0,r&&(n=[2&n[0],r.value]),n[0]){case 0:case 1:r=n;break;case 4:return a.label++,{value:n[1],done:!1};case 5:a.label++,o=n[1],n=[0];continue;case 7:n=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==n[0]&&2!==n[0])){a=0;continue}if(3===n[0]&&(!r||n[1]>r[0]&&n[1]<r[3])){a.label=n[1];break}if(6===n[0]&&a.label<r[1]){a.label=r[1],r=n;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(n);break}r[2]&&a.ops.pop(),a.trys.pop();continue}n=t.call(e,a)}catch(e){n=[6,e],o=0}finally{i=r=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,s])}}},Ko=function(){function e(){}return e.copyToClipboard=function(e){return Go(this,void 0,void 0,function(){var t,i,o;return Jo(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),t=JSON.stringify(e,null,2),i=""+this.CLIPBOARD_PREFIX+t,[4,navigator.clipboard.writeText(i)];case 1:return r.sent(),[3,3];case 2:throw o=r.sent(),console.error("Failed to copy to clipboard:",o),new Error("Unable to copy field: "+o);case 3:return[2]}})})},e.readFromClipboard=function(){return Go(this,void 0,void 0,function(){var e,t,i;return Jo(this,function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,navigator.clipboard.readText()];case 1:return(e=o.sent()).startsWith(this.CLIPBOARD_PREFIX)?(t=e.substring(this.CLIPBOARD_PREFIX.length),[2,JSON.parse(t)]):(console.warn("Clipboard does not contain form field data"),[2,null]);case 2:return i=o.sent(),console.error("Failed to read from clipboard:",i),[2,null];case 3:return[2]}})})},e.hasClipboardData=function(){return Go(this,void 0,void 0,function(){return Jo(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,navigator.clipboard.readText()];case 1:return[2,e.sent().startsWith(this.CLIPBOARD_PREFIX)];case 2:return e.sent(),[2,!1];case 3:return[2]}})})},e.createUniqueField=function(e){var t=Date.now(),i=Math.floor(1e3*Math.random());return Zo({},e,{id:e.type+"_"+t+"_"+i})},e.clearData=function(){return Go(this,void 0,void 0,function(){return Jo(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,navigator.clipboard.writeText("")];case 1:return e.sent(),[3,3];case 2:return e.sent(),[3,3];case 3:return[2]}})})},e.CLIPBOARD_PREFIX="FORMBUILDER_FIELD:",e}();const Qo={textbox:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Text Input"},{visible:!0,key:"defaultValue",label:"value",type:"text",default:""},{visible:!0,key:"expressionValue",label:"expression",type:"expression",placeholder:"expressionPlaceholder",description:"expressionDesc",default:""},{visible:!0,key:"placeholder",label:"placeholder",type:"text",placeholder:"providePlaceholder",default:""},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"prefix",label:"prefix",type:"text",placeholder:"providePrefix",default:""},{visible:!0,key:"suffix",label:"suffix",type:"text",placeholder:"provideSuffix",default:""},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"showClearButton",label:"showClearButton",type:"boolean",default:!1},{visible:!0,key:"autocomplete",label:"autocomplete",type:"boolean",mode:"developer",default:!0},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"readOnly",label:"readOnly",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"multiline",label:"multiline",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"floatLabelType",label:"floatLabelType",type:"dropdown",default:"Never",mode:"developer",options:["never","always","auto"]},{visible:!0,key:"textboxType",label:"type",type:"dropdown",default:"Text",options:["text","password","email","number","url"]},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""}]},{name:"Validation",properties:[{visible:!0,key:"required",label:"required",type:"boolean",default:!1},{visible:!0,key:"regex",label:"regularExpressionPattern",type:"text",default:""},{visible:!0,key:"minLength",label:"minimumLength",type:"number",default:0},{visible:!0,key:"maxLength",label:"maximumLength",type:"number",default:255},{visible:!0,key:"validationMessage",label:"validationMessage",type:"text",mode:"developer",placeholder:"provideCustomValidationMessage",default:""},{visible:!0,key:"customValidation",label:"customValidation",type:"customValidation"}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","requiredWhen","setValueWhen","readOnlyWhen","disabledWhen"]}]},{name:"Layout",properties:[{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"htmlAttributes",label:"htmlAttributes",type:"attributes",placeholder:"dataAttributeExample2",mode:"developer"}]}]},textarea:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Text Area"},{visible:!0,key:"defaultValue",label:"value",type:"text",default:""},{visible:!0,key:"expressionValue",label:"expression",type:"expression",placeholder:"expressionPlaceholder",description:"expressionDesc",mode:"developer",default:""},{visible:!0,key:"placeholder",label:"placeholder",type:"text",placeholder:"providePlaceholder",default:""},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"prefix",label:"prefix",type:"text",placeholder:"providePrefix",default:""},{visible:!0,key:"suffix",label:"suffix",type:"text",placeholder:"provideSuffix",default:""},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"showClearButton",label:"showClearButton",type:"boolean",default:!1},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"readOnly",label:"readOnly",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"floatLabelType",label:"floatLabelType",type:"dropdown",default:"Never",mode:"developer",options:["never","always","auto"]},{visible:!0,key:"cols",label:"cols",type:"number",default:200},{visible:!0,key:"textareaRows",label:"rows",type:"number",default:4},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""}]},{name:"Validation",properties:[{visible:!0,key:"required",label:"required",type:"boolean",default:!1},{visible:!0,key:"regex",label:"regularExpressionPattern",type:"text",mode:"developer",default:""},{visible:!0,key:"minLength",label:"minimumLength",type:"number",default:0},{visible:!0,key:"maxLength",label:"maximumLength",type:"number",default:255},{visible:!0,key:"validationMessage",label:"validationMessage",type:"text",mode:"developer",placeholder:"provideCustomValidationMessage",default:""},{visible:!0,key:"customValidation",label:"customValidation",type:"customValidation",mode:"developer"}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","requiredWhen","setValueWhen","readOnlyWhen","disabledWhen"]}]},{name:"Layout",properties:[{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"htmlAttributes",label:"htmlAttributes",type:"attributes",placeholder:"dataAttributeExample2",mode:"developer"}]}]},number:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"number"},{visible:!0,key:"defaultValue",label:"value",type:"number",default:0},{visible:!0,key:"expressionValue",label:"expression",type:"expression",placeholder:"expressionPlaceholder",description:"expressionDesc",default:""},{visible:!0,key:"placeholder",label:"placeholder",type:"text",placeholder:"providePlaceholder",default:""},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"prefix",label:"prefix",type:"text",placeholder:"providePrefix",default:""},{visible:!0,key:"suffix",label:"suffix",type:"text",placeholder:"provideSuffix",default:""},{visible:!0,key:"minMaxRange",label:"range",type:"minMaxEditor",editorMode:"number",default:[]},{visible:!0,key:"step",label:"step",type:"number",mode:"developer",default:1},{visible:!0,key:"numberFormat",label:"format",type:"text",default:"n2",mode:"developer",placeholder:"numberFormatExample"},{visible:!0,key:"currency",label:"currencyCode",type:"text",default:"",mode:"developer",placeholder:"currencyCodeExample"},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"showClearButton",label:"showClearButton",type:"boolean",default:!1},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"readOnly",label:"readOnly",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"floatLabelType",label:"floatLabelType",type:"dropdown",default:"Never",mode:"developer",options:["never","always","auto"]},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""}]},{name:"Validation",properties:[{visible:!0,key:"required",label:"required",type:"boolean",default:!1},{visible:!0,key:"validationMessage",label:"validationMessage",type:"text",mode:"developer",placeholder:"provideCustomValidationMessage",default:""},{visible:!0,key:"customValidation",label:"customValidation",type:"customValidation"}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","requiredWhen","setValueWhen","readOnlyWhen","disabledWhen"]}]},{name:"Layout",properties:[{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"htmlAttributes",label:"htmlAttributes",type:"attributes",placeholder:"dataAttributeExample2",mode:"developer"}]}]},checkbox:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Checkbox"},{visible:!0,key:"expressionValue",label:"expression",type:"expression",placeholder:"expressionPlaceholder",description:"expressionDesc",mode:"developer",default:""},{visible:!0,key:"checkboxLabelPosition",label:"labelPosition",type:"dropdown",default:"After",options:["before","after"]},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"checked",label:"checked",type:"boolean",default:!1},{visible:!0,key:"indeterminate",label:"indeterminate",mode:"developer",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","disabledWhen"]}]},{name:"Layout",properties:[{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"htmlAttributes",label:"htmlAttributes",type:"attributes",placeholder:"dataAttributeExample2",mode:"developer"}]}]},checkboxGroup:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Checkbox Group"},{visible:!0,key:"options",label:"checkboxOptions",type:"options",componentType:"fromurl",default:["defaultOptionValue"],description:"configureCheckboxGroupOptions"},{visible:!0,key:"defaultValue",label:"value",type:"array",default:[],placeholder:'e.g., ["item1", "item2"]'},{visible:!0,key:"expressionValue",label:"expression",type:"expression",placeholder:"expressionPlaceholder",description:"expressionDesc",default:""},{visible:!0,key:"checkboxLabelPosition",label:"checkboxLabelPosition",type:"dropdown",default:"After",options:["before","after"]},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"layoutDirection",label:"layoutDirection",type:"dropdown",default:"Column",options:["row","column"]},{visible:!0,key:"gap",label:"spacingBetweenItems",type:"text",default:"2px",placeholder:"spacingFormatExample1"},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""}]},{name:"Validation",properties:[{visible:!0,key:"required",label:"required",type:"boolean",default:!1},{visible:!0,key:"validationMessage",label:"validationMessage",type:"text",mode:"developer",default:"",placeholder:"provideCustomValidationMessage"},{visible:!0,key:"customValidation",label:"customValidation",type:"customValidation"}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","requiredWhen","setValueWhen","disabledWhen"]}]},{name:"Layout",properties:[{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"htmlAttributes",label:"htmlAttributes",type:"attributes",placeholder:"dataAttributeExample1"}]}]},radio:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Radio Button"},{visible:!0,key:"options",label:"options",type:"options",default:["defaultOptionValue"],description:"configureRadioButtonOptions"},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"defaultValue",label:"value",type:"text",default:""},{visible:!0,key:"expressionValue",label:"expression",type:"expression",placeholder:"expressionPlaceholder",description:"expressionDesc",mode:"developer",default:""},{visible:!0,key:"fieldLabelPosition",label:"fieldLabelPosition",type:"dropdown",default:"After",options:["before","after"]},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1}]},{name:"Validation",properties:[{visible:!0,key:"required",label:"required",type:"boolean",default:!1},{visible:!0,key:"validationMessage",label:"validationMessage",type:"text",mode:"developer",placeholder:"provideCustomValidationMessage",default:""},{visible:!0,key:"customValidation",label:"customValidation",type:"customValidation"}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","requiredWhen","setValueWhen","disabledWhen"]}]},{name:"Layout",properties:[{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"htmlAttributes",label:"htmlAttributes",type:"attributes",placeholder:"dataAttributeExample2",mode:"developer"}]}]},dropdown:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Dropdown List"},{visible:!0,key:"options",label:"options",type:"options",componentType:"fromurl",default:["defaultOptionValue"],description:"configureDropdownOptions"},{visible:!0,key:"defaultValue",label:"value",type:"text",default:""},{visible:!0,key:"expressionValue",label:"expression",type:"expression",placeholder:"expressionPlaceholder",description:"expressionDesc",mode:"developer",default:""},{visible:!0,key:"placeholder",label:"placeholder",type:"text",placeholder:"providePlaceholder",default:""},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"showClearButton",label:"showClearButton",type:"boolean",default:!1},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"readOnly",label:"readOnly",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"enableVirtualization",label:"enableVirtualization",type:"boolean",default:!1,mode:"developer",description:"enableVirtualScrollingForLargeData"},{visible:!0,key:"floatLabelType",label:"floatLabelType",type:"dropdown",default:"Never",mode:"developer",options:["never","always","auto"]},{visible:!0,key:"popupHeight",label:"popupHeight",type:"text",default:"300px",mode:"developer",placeholder:"dimensionFormatExample3"},{visible:!0,key:"popupWidth",label:"popupWidth",type:"text",default:"100%",mode:"developer",placeholder:"widthFormatFlexible"},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""}]},{name:"Validation",properties:[{visible:!0,key:"required",label:"required",type:"boolean",default:!1},{visible:!0,key:"validationMessage",label:"validationMessage",type:"text",mode:"developer",placeholder:"provideCustomValidationMessage",default:""},{visible:!0,key:"customValidation",label:"customValidation",type:"customValidation"}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","requiredWhen","setValueWhen","readOnlyWhen","disabledWhen","choiceBasedField"]}]},{name:"Layout",properties:[{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"htmlAttributes",label:"htmlAttributes",type:"attributes",placeholder:"dataAttributeExample2",mode:"developer"}]}]},switch:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"switch"},{visible:!0,key:"expressionValue",label:"expression",type:"expression",placeholder:"expressionPlaceholder",description:"expressionDesc",mode:"developer",default:""},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"checked",label:"checked",type:"boolean",default:!1},{visible:!0,key:"offLabel",label:"offText",mode:"developer",type:"text",default:""},{visible:!0,key:"onLabel",label:"onText",mode:"developer",type:"text",default:""},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","disabledWhen"]}]},{name:"Layout",properties:[{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"htmlAttributes",label:"htmlAttributes",type:"attributes",placeholder:"dataAttributeExample2",mode:"developer"}]}]},button:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"allowMultiple",label:"enableMultiple",type:"boolean",default:!1},{visible:!0,key:"label",label:"content",type:"text",default:"Button"},{visible:!0,key:"buttonType",label:"buttonType",type:"dropdown",default:"Button",options:["submit","button","reset"]},{visible:!0,key:"iconCss",label:"iconCssClass",type:"text",default:"",placeholder:"cssIconExample"},{visible:!0,key:"iconPosition",label:"iconPosition",type:"dropdown",default:"Left",options:["left","right"]},{visible:!0,key:"style",label:"style",type:"dropdown",default:"Primary",options:["primary","flat","information","error","success","warning"]},{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"buttonsGroups",label:"buttonsConfiguration",type:"buttonGroup",default:[]},{visible:!0,key:"gap",label:"gapBetweenButtons",type:"text",default:"8px",placeholder:"spacingFormatExample2"},{visible:!0,key:"width",label:"containerWidth",type:"text",default:"100%",placeholder:"widthFormatExample1"},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"position",label:"alignment",type:"dropdown",default:"Left",options:["left","right","center"]},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","disabledWhen"]}]}]},splitButton:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Split Button"},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"options",label:"items",type:"options",default:["defaultOptionValue"],description:"configureSplitButtonItems"},{visible:!0,key:"iconCss",label:"iconCssClass",type:"text",default:"",placeholder:"cssIconExample"},{visible:!0,key:"iconPosition",label:"iconPosition",type:"dropdown",default:"Left",options:["left","top"]},{visible:!0,key:"style",label:"style",type:"dropdown",default:"flat",options:["primary","flat","information","error","success","warning"]},{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"position",label:"alignment",type:"dropdown",default:"Left",options:["left","right","center"]},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","disabledWhen"]}]}]},date:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Date Picker"},{visible:!0,key:"defaultValue",label:"value",type:"day",default:"",placeholder:"selectDatePlaceholder"},{visible:!0,key:"expressionValue",label:"expression",type:"expression",placeholder:"expressionPlaceholder",description:"expressionDesc",mode:"developer",default:""},{visible:!0,key:"minMaxRange",label:"range",type:"minMaxEditor",editorMode:"date",default:[]},{visible:!0,key:"placeholder",label:"placeholder",type:"text",placeholder:"providePlaceholder",default:""},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"calendarMode",label:"calendarMode",type:"dropdown",mode:"developer",default:"Gregorian",options:["gregorian","islamic"]},{visible:!0,key:"start",label:"initialView",type:"dropdown",mode:"developer",default:"Month",options:["month","year","decade"]},{visible:!0,key:"depth",label:"calendarViewDepth",type:"dropdown",default:"Month",mode:"developer",options:["month","year","decade"]},{visible:!0,key:"dayHeaderFormat",label:"dayHeaderFormat",type:"dropdown",default:"Short",mode:"developer",options:["short","narrow","abbreviated","wide"]},{visible:!0,key:"floatLabelType",label:"floatLabelType",type:"dropdown",default:"Never",mode:"developer",options:["never","always","auto"]},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"showTodayButton",label:"showTodayButton",type:"boolean",mode:"developer",default:!0},{visible:!0,key:"showClearButton",label:"showClearButton",type:"boolean",default:!1},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"readOnly",label:"readOnly",type:"boolean",mode:"developer",default:!1}]},{name:"Validation",properties:[{visible:!0,key:"required",label:"required",type:"boolean",default:!1},{visible:!0,key:"validationMessage",label:"validationMessage",type:"text",mode:"developer",placeholder:"provideCustomValidationMessage",default:""},{visible:!0,key:"customValidation",label:"customValidation",type:"customValidation"}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","requiredWhen","setValueWhen","readOnlyWhen","disabledWhen"]}]},{name:"Layout",properties:[{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"htmlAttributes",label:"htmlAttributes",type:"attributes",placeholder:"dataAttributeExample2",mode:"developer"}]}]},dateTime:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Date Time Picker"},{visible:!0,key:"defaultValue",label:"value",type:"datetime",default:"",placeholder:"selectInitialDateTime"},{visible:!0,key:"expressionValue",label:"expression",type:"expression",placeholder:"expressionPlaceholder",description:"expressionDesc",mode:"developer",default:""},{visible:!0,key:"minMaxRange",label:"dateRange",type:"minMaxEditor",editorMode:"date",default:[]},{visible:!0,key:"minMaxTimeRange",label:"timeRange",type:"minMaxEditor",editorMode:"time",default:[]},{visible:!0,key:"placeholder",label:"placeholder",type:"text",placeholder:"providePlaceholder",default:""},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"start",label:"initialView",type:"dropdown",default:"Month",mode:"developer",options:["month","year","decade"]},{visible:!0,key:"depth",label:"calendarViewDepth",type:"dropdown",default:"Month",mode:"developer",options:["month","year","decade"]},{visible:!0,key:"dayHeaderFormat",label:"dayHeaderFormat",type:"dropdown",default:"Short",mode:"developer",options:["short","narrow","abbreviated","wide"]},{visible:!0,key:"step",label:"step",type:"number",default:1},{visible:!0,key:"floatLabelType",label:"floatLabelType",type:"dropdown",default:"Never",mode:"developer",options:["never","always","auto"]},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"showTodayButton",label:"showTodayButton",type:"boolean",mode:"developer",default:!0},{visible:!0,key:"showClearButton",label:"showClearButton",type:"boolean",default:!1},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"readOnly",label:"readOnly",type:"boolean",mode:"developer",default:!1}]},{name:"Validation",properties:[{visible:!0,key:"required",label:"required",type:"boolean",default:!1},{visible:!0,key:"validationMessage",label:"validationMessage",type:"text",mode:"developer",placeholder:"provideCustomValidationMessage",default:""},{visible:!0,key:"customValidation",label:"customValidation",type:"customValidation"}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","requiredWhen","setValueWhen","readOnlyWhen","disabledWhen"]}]},{name:"Layout",properties:[{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"htmlAttributes",label:"htmlAttributes",type:"attributes",placeholder:"dataAttributeExample2",mode:"developer"}]}]},time:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Time Picker"},{visible:!0,key:"defaultValue",label:"value",type:"time",default:"",placeholder:"selectInitialTime"},{visible:!0,key:"minMaxRange",label:"range",type:"minMaxEditor",editorMode:"time",default:[]},{visible:!0,key:"placeholder",label:"placeholder",type:"text",placeholder:"providePlaceholder",default:""},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"step",label:"step",type:"number",default:30},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"floatLabelType",label:"floatLabelType",type:"dropdown",default:"Never",mode:"developer",options:["never","always","auto"]},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"showClearButton",label:"showClearButton",type:"boolean",default:!1},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"readOnly",label:"readOnly",type:"boolean",mode:"developer",default:!1}]},{name:"Validation",properties:[{visible:!0,key:"required",label:"required",type:"boolean",default:!1},{visible:!0,key:"validationMessage",label:"validationMessage",type:"text",mode:"developer",placeholder:"provideCustomValidationMessage",default:""},{visible:!0,key:"customValidation",label:"customValidation",type:"customValidation"}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","requiredWhen","setValueWhen","readOnlyWhen","disabledWhen"]}]},{name:"Layout",properties:[{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"htmlAttributes",label:"htmlAttributes",type:"attributes",placeholder:"dataAttributeExample2",mode:"developer"}]}]},dateRange:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Date Range Picker"},{visible:!0,key:"defaultValue",label:"value",type:"daterange",default:"",placeholder:"selectStartEndDates"},{visible:!0,key:"expressionValue",label:"expression",type:"expression",placeholder:"expressionPlaceholder",description:"expressionDesc",mode:"developer",default:""},{visible:!0,key:"minDate",label:"minimumDate",type:"day",default:"",placeholder:"selectMinimumDate"},{visible:!0,key:"maxDate",label:"maximumDate",type:"day",default:"",placeholder:"selectMaximumDate"},{visible:!0,key:"placeholder",label:"placeholder",type:"text",placeholder:"providePlaceholder",default:""},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"start",label:"initialView",type:"dropdown",default:"Month",mode:"developer",options:["month","year","decade"]},{visible:!0,key:"depth",label:"calendarViewDepth",type:"dropdown",default:"Month",mode:"developer",options:["month","year","decade"]},{visible:!0,key:"dayHeaderFormat",label:"dayHeaderFormat",type:"dropdown",default:"Short",mode:"developer",options:["short","narrow","abbreviated","wide"]},{visible:!0,key:"floatLabelType",label:"floatLabelType",type:"dropdown",default:"Never",mode:"developer",options:["never","always","auto"]},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"showClearButton",label:"showClearButton",type:"boolean",default:!1},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"readOnly",label:"readOnly",type:"boolean",mode:"developer",default:!1}]},{name:"Validation",properties:[{visible:!0,key:"required",label:"required",type:"boolean",default:!1},{visible:!0,key:"validationMessage",label:"validationMessage",type:"text",mode:"developer",placeholder:"provideCustomValidationMessage",default:""}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","requiredWhen","setValueWhen","readOnlyWhen","disabledWhen"]}]},{name:"Layout",properties:[{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"htmlAttributes",label:"htmlAttributes",type:"attributes",placeholder:"dataAttributeExample2",mode:"developer"}]}]},inputMask:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Masked TextBox"},{visible:!0,key:"defaultValue",label:"value",type:"text",default:""},{visible:!0,key:"expressionValue",label:"expression",type:"expression",placeholder:"expressionPlaceholder",description:"expressionDesc",mode:"developer",default:""},{visible:!0,key:"mask",label:"mask",type:"text",default:"000-000-0000",placeholder:"phoneFormatExample"},{visible:!0,key:"promptChar",label:"promptCharacter",type:"text",default:"_",length:1,placeholder:"charForPlaceholder"},{visible:!0,key:"placeholder",label:"placeholder",type:"text",placeholder:"providePlaceholder",default:""},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"prefix",label:"prefix",type:"text",placeholder:"providePrefix",default:""},{visible:!0,key:"suffix",label:"suffix",type:"text",placeholder:"provideSuffix",default:""},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"floatLabelType",label:"floatLabelType",type:"dropdown",default:"Never",mode:"developer",options:["never","always","auto"]},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"showClearButton",label:"showClearButton",type:"boolean",default:!1},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"readOnly",label:"readOnly",type:"boolean",mode:"developer",default:!1}]},{name:"Validation",properties:[{visible:!0,key:"customValidation",label:"customValidation",type:"customValidation"}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","requiredWhen","setValueWhen","readOnlyWhen","disabledWhen"]}]},{name:"Layout",properties:[{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"htmlAttributes",label:"htmlAttributes",type:"attributes",placeholder:"dataAttributeExample2",mode:"developer"}]}]},multiselect:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"MultiSelect"},{visible:!0,key:"options",label:"options",type:"options",componentType:"fromurl",default:["defaultOptionValue"],description:"configureMultiselectOptions"},{visible:!0,key:"defaultValue",label:"value",type:"array",default:[],placeholder:'e.g., ["item1", "item2"]'},{visible:!0,key:"expressionValue",label:"expression",type:"expression",placeholder:"expressionPlaceholder",description:"expressionDesc",mode:"developer",default:""},{visible:!0,key:"placeholder",label:"placeholder",type:"text",placeholder:"providePlaceholder",default:""},{visible:!0,key:"description",label:"description",type:"text",placeholder:"providePlaceholder",default:""},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"addTagOnBlur",label:"addTagOnBlur",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"allowCustomValue",label:"allowCustomValue",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"enableVirtualization",label:"enableVirtualization",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"showSelectAll",label:"showSelectAll",type:"boolean",default:!1},{visible:!0,key:"selectAllText",label:"selectAllText",type:"text",default:"selectAll"},{visible:!0,key:"unSelectAllText",label:"unselectAllText",type:"text",default:"unselectAll"},{visible:!0,key:"delimiterChar",label:"delimiterCharacter",type:"text",default:",",mode:"developer",length:1},{visible:!0,key:"visualMode",label:"visualMode",type:"dropdown",mode:"developer",default:"Default",options:["default","delimiter","box"]},{visible:!0,key:"floatLabelType",label:"floatLabelType",type:"dropdown",default:"Never",mode:"developer",options:["never","always","auto"]},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"popupHeight",label:"popupHeight",type:"text",default:"300px",mode:"developer",placeholder:"dimensionFormatExample3"},{visible:!0,key:"popupWidth",label:"popupWidth",type:"text",mode:"developer",default:"100%"},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"showClearButton",label:"showClearButton",type:"boolean",default:!1},{visible:!0,key:"showDropDownIcon",label:"showDropdownIcon",type:"boolean",mode:"developer",default:!0},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"readOnly",label:"readOnly",type:"boolean",mode:"developer",default:!1}]},{name:"Validation",properties:[{visible:!0,key:"required",label:"required",type:"boolean",default:!1},{visible:!0,key:"validationMessage",label:"validationMessage",type:"text",mode:"developer",placeholder:"provideCustomValidationMessage",default:""},{visible:!0,key:"customValidation",label:"customValidation",type:"customValidation"}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","requiredWhen","setValueWhen","readOnlyWhen","disabledWhen"]}]},{name:"Layout",properties:[{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"htmlAttributes",label:"htmlAttributes",type:"attributes",placeholder:"dataAttributeExample2",mode:"developer"}]}]},message:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"content",label:"content",type:"text",default:"message"},{visible:!0,key:"severity",label:"severity",type:"dropdown",default:"Information",options:["information","success","warning","error"]},{visible:!0,key:"variant",label:"variant",type:"dropdown",default:"Standard",options:["standard","filled","outlined"]},{visible:!0,key:"showIcon",label:"showIcon",type:"boolean",default:!1},{visible:!0,key:"showCloseIcon",label:"showCloseIcon",type:"boolean",default:!1},{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen"]}]}]},panel:{groups:[{name:"Display",properties:[{visible:!0,key:"label",label:"label",type:"text",default:"Panel"},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"hideBorders",label:"hideBorder",type:"boolean",default:!1},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen"]}]}]},card:{groups:[{name:"Display",properties:[{visible:!0,key:"cardTitle",label:"cardTitle",type:"text",default:"cardTitle"},{visible:!0,key:"cardSubtitle",label:"cardSubtitle",type:"text",default:"",required:!1},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen"]}]}]},table:{groups:[{name:"Display",properties:[{visible:!0,key:"rows",label:"rows",type:"number",default:2,min:1},{visible:!0,key:"columns",label:"columns",type:"number",default:2,min:1,max:12},{visible:!0,key:"hideBorders",label:"hideBorder",type:"boolean",default:!1},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""}]},{name:"Layout",properties:[{visible:!0,key:"columnWidths",label:"Column Widths",type:"columnspaneditor",description:"setTableColumnWidth"}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen"]}]}]},tabs:{groups:[{name:"Display",properties:[{visible:!0,key:"tabOptions",label:"addTabs",type:"options",componentType:"tabs",default:["defaultTabValue"]},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen"]}]}]},rating:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Rating"},{visible:!0,key:"defaultValue",label:"value",type:"number",default:0},{visible:!0,key:"expressionValue",label:"expression",type:"expression",placeholder:"expressionPlaceholder",description:"expressionDesc",mode:"developer",default:""},{visible:!0,key:"minValue",label:"minimum",type:"number",default:0},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"itemsCount",label:"itemsCount",type:"number",default:5},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"allowReset",label:"allowReset",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"showRatingTooltip",label:"showRatingTooltip",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"showRatingLabel",label:"showRatingLabel",mode:"developer",type:"boolean",default:!1},{visible:!0,key:"ratingLabelPosition",label:"ratingLabelPosition",type:"dropdown",mode:"developer",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"readOnly",label:"readOnly",type:"boolean",mode:"developer",default:!1}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","readOnlyWhen","setValueWhen","disabledWhen"]}]}]},imageEditor:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Image Editor"},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"height",label:"height",type:"text",placeholder:"dimensionFormatExample3"},{visible:!0,key:"width",label:"width",type:"text",placeholder:"dimensionFormatExample3"},{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","disabledWhen"]}]}]},colorPicker:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Color Picker"},{visible:!0,key:"defaultValue",label:"value",type:"color",default:""},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"enableOpacity",label:"enableOpacity",type:"boolean",default:!0},{visible:!0,key:"showNoColor",label:"showNoColor",type:"boolean",default:!1},{visible:!0,key:"showButtons",label:"showButtons",type:"boolean",default:!1},{visible:!0,key:"showRecentColors",label:"showRecentColors",type:"boolean",default:!1},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","disabledWhen"]}]}]},fileUpload:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Uploader"},{visible:!0,key:"saveUrl",label:"saveUrl",type:"text",default:""},{visible:!0,key:"removeUrl",label:"removeUrl",type:"text",default:""},{visible:!0,key:"buttons",label:"buttons",type:"object",mode:"developer",default:{browse:"Choose File",clear:"Clear All",upload:"Upload All"}},{visible:!0,key:"allowExtensions",label:"allowExtensions",type:"text",placeholder:"Pass allowedExtensions as “.jpg,.png”.",default:""},{visible:!0,key:"maxValue",label:"maximumFileSize",type:"number",default:3e7},{visible:!0,key:"minValue",label:"minimumFileSize",type:"number",default:0},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"allowMultiple",label:"allowMultiple",type:"boolean",default:!1},{visible:!0,key:"showFileList",label:"showFileList",mode:"developer",type:"boolean",default:!0},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","disabledWhen"]}]},{name:"Layout",properties:[{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"htmlAttributes",label:"htmlAttributes",type:"attributes",placeholder:"dataAttributeExample2",mode:"developer"}]}]},rangeSlider:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Slider"},{visible:!0,key:"defaultValue",label:"value",type:"number",default:0},{visible:!0,key:"expressionValue",label:"expression",type:"expression",placeholder:"expressionPlaceholder",description:"expressionDesc",mode:"developer",default:""},{visible:!0,key:"maxValue",label:"maximumValue",type:"number",default:100},{visible:!0,key:"minValue",label:"minimumValue",type:"number",default:0},{visible:!0,key:"step",label:"step",type:"number",mode:"developer",default:1},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"showButtons",label:"showButtons",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"readOnly",label:"readOnly",type:"boolean",mode:"developer",default:!1}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","setValueWhen","readOnlyWhen","disabledWhen"]}]}]},signature:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Signature"},{visible:!0,key:"backgroundColor",label:"backgroundColor",type:"color",default:"#fff"},{visible:!0,key:"strokeColor",label:"strokeColor",type:"color",default:"#000"},{visible:!0,key:"velocity",label:"velocity",type:"number",default:1},{visible:!0,key:"maxValue",label:"maximumStrokeWidth",type:"number",default:1},{visible:!0,key:"minValue",label:"minimumStrokeWidth",type:"number",default:1},{visible:!0,key:"labelPosition",label:"labelPosition",type:"dropdown",default:"Top",options:["top","bottom","left","right"]},{visible:!0,key:"labelWidth",label:"labelWidth",type:"text",default:"auto",placeholder:"percentageCalculationHint"},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen"]}]}]},dataGrid:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Data Grid"},{visible:!0,key:"height",label:"height",type:"text",default:"200px",placeholder:"dimensionFormatExample1"},{visible:!0,key:"width",label:"width",type:"text",default:"100%",placeholder:"widthFormatExample2"},{visible:!0,key:"pageSize",label:"pageSize",type:"number",default:6},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"allowPaging",label:"allowPaging",type:"boolean",default:!0},{visible:!0,key:"allowAdding",label:"allowAdding",type:"boolean",default:!0},{visible:!0,key:"allowEditing",label:"allowEditing",type:"boolean",default:!0},{visible:!0,key:"allowDeleting",label:"allowDeleting",type:"boolean",default:!0},{visible:!0,key:"allowFiltering",label:"allowFiltering",type:"boolean",default:!1}]},{name:"Data",properties:[{visible:!0,key:"dataSource",label:"dataSource",type:"json",default:[],placeholder:"pasteJsonArrayRecords"},{visible:!0,key:"columns",label:"columnDefinitions",type:"datagridcolumns",default:[]}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","conditionalData"]}]}]},richTextEditor:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"label",label:"label",type:"text",default:"Rich Text Editor"},{visible:!0,key:"description",label:"description",type:"text",placeholder:"provideDescription",mode:"developer",default:""},{visible:!0,key:"tooltip",label:"tooltip",type:"text",default:""},{visible:!0,key:"defaultValue",label:"value",type:"text",default:""},{visible:!0,key:"placeholder",label:"placeholder",type:"text",placeholder:"providePlaceholder",default:""},{visible:!0,key:"maxLength",label:"maximumLength",type:"number",default:1e3},{visible:!0,key:"width",label:"width",type:"text",placeholder:"dimensionFormatExample4",default:"100%"},{visible:!0,key:"height",label:"height",type:"text",placeholder:"dimensionFormatExample2",default:"300px"},{visible:!0,key:"hideLabel",label:"hideLabel",type:"boolean",default:!1},{visible:!0,key:"disabled",label:"disabled",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"readOnly",label:"readOnly",type:"boolean",mode:"developer",default:!1},{visible:!0,key:"cssClass",label:"cssClass",type:"text",mode:"developer",default:""}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen","readOnlyWhen","disabledWhen"]}]},{name:"importexport",properties:[{visible:!0,key:"enableImportFromWord",label:"enableImportFromWord",type:"URLImport",componentType:"enableImportFromWord",description:"importFromWordUrlPlaceholder",default:!1},{visible:!0,key:"enableExportToWord",label:"enableExportToWord",type:"URLImport",componentType:"enableExportToWord",description:"exportToWordUrlPlaceholder",default:!1},{visible:!0,key:"enableExportToPdf",label:"enableExportToPdf",type:"URLImport",componentType:"enableExportToPdf",description:"exportToPdfUrlPlaceholder",default:!1}]},{name:"Layout",properties:[{visible:!0,key:"size",label:"size",type:"dropdown",default:"Default",mode:"developer",options:["default","small","bigger"]},{visible:!0,key:"htmlAttributes",label:"htmlAttributes",type:"attributes",placeholder:"dataAttributeExample2",mode:"developer"}]}]},staticHtml:{groups:[{name:"Display",properties:[{visible:!0,key:"name",label:"name",type:"text",default:""},{visible:!0,key:"defaultValue",label:"htmlContent",type:"html",default:"<p>HTML content</p>",placeholder:"enterHtmlCode"},{visible:!0,key:"enableHtmlSanitizer",label:"enableHtmlSanitizer",type:"boolean",default:!1}]},{name:"Conditions",properties:[{visible:!0,key:"conditions",label:"Conditional Behaviors",type:"conditions",supportedConditions:["visibleWhen"]}]}]}};const $o={groups:[{name:"Properties",properties:[{key:"name",label:"title",type:"text",default:"Untitled Form"},{key:"width",label:"width",type:"text",default:"500px"}]},{name:"Layout",properties:[{key:"hideLabel",label:"hideLabel",type:"switch",default:!1,description:"hideLabelDescription"},{key:"size",label:"size",type:"dropdown",default:"Default",options:["default","small","bigger"],description:"sizeDescription"},{key:"floatLabelType",label:"floatLabelType",type:"dropdown",default:"Never",options:["never","always"],description:"floatLabelTypeDescription"}]}]};var er=function(){var e=function(t,i){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},e(t,i)};return function(t,i){function o(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),tr=function(){return tr=Object.assign||function(e){for(var t,i=1,o=arguments.length;i<o;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},tr.apply(this,arguments)},ir=function(e,t,i,o){var r,n=arguments.length,a=n<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,o);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(n<3?r(a):n>3?r(t,i,a):r(t,i))||a);return n>3&&a&&Object.defineProperty(t,i,a),a},or=function(e){function t(t,i){var o=e.call(this,t,i)||this;return o.contentTouchGuard=null,o.hasExplicitFormTemplates=!!t&&void 0!==t.formTemplates&&null!==t.formTemplates,o.allowExport=o.allowExport=!t||void 0===t.allowExport||t.allowExport,o.enablePreview=!t||void 0===t.enablePreview||t.enablePreview,o.activeFieldId=null,o.activeFieldWrapper=null,o.pendingComponent=null,o.copiedFieldRef=null,o.hasClipboardData=!1,o.modeDropDownButton=null,o.modeDropDownHost=null,o.titleInPlaceEditor=null,o.titleInPlaceEditorHost=null,o.exportSeparator=null,o.pendingComponent=null,o.pendingDropContext=null,o.pendingWidgetSwitch=null,o.editingField=null,o.isLeftPaneCollapsed=!1,o.isRightPaneCollapsed=!1,o.isMobile=!1,o.isLeftPaneHovered=!1,o.isRightPaneHovered=!1,o.containerWidth=0,o.windowResizeHandler=null,o.resizeDebounceTimer=null,o.leftPaneHoverTimeout=null,o.rightPaneHoverTimeout=null,o.leftPaneToggleHost=null,o.rightPaneToggleHost=null,o.mobileLeftPaneToggleHost=null,o.mobileRightPaneToggleHost=null,o.sidebarOverlay=null,o.contentTouchGuard=null,o.isDropBatching=!1,o.hasPendingDropBatchRender=!1,o.dirtyKeys=[],o}return er(t,e),t.prototype.preRender=function(){if(this.element.setAttribute("aria-label","Form Builder"),this.enableRtl?this.element.classList.add("e-rtl"):this.element.classList.remove("e-rtl"),this.schema)if("string"==typeof this.schema)try{var e=ui(this.schema,{version:"0.1.0",components:[{id:"default-submit-button",type:"button",name:"defaultSubmit",label:"Submit",buttonType:"submit",_configured:!0}],settings:{name:"Untitled Form"}});this.currentSchema=e}catch(e){this.currentSchema={version:"0.1.0",components:[{id:"default-submit-button",type:"button",name:"defaultSubmit",label:"Submit",buttonType:"submit",_configured:!0}],settings:{name:"Untitled Form"}}}else{e=ui(JSON.stringify(this.schema),{version:"0.1.0",components:[{id:"default-submit-button",type:"button",name:"defaultSubmit",label:"Submit",buttonType:"submit",_configured:!0}],settings:{name:"Untitled Form"}});this.currentSchema=e}else this.enablePersistence&&null!==this.currentSchema&&!li(this.currentSchema)?this.currentSchema=this.currentSchema:this.currentSchema={version:"0.1.0",components:[{id:"default-submit-button",type:"button",name:"defaultSubmit",label:"Submit",buttonType:"submit",_configured:!0}],settings:{name:"Untitled Form"}}},t.prototype.render=function(){var e=this;this.l10n=new l.L10n("formbuilder",wo,this.locale),this.element.innerHTML="";var t=(0,l.createElement)("div",{className:"builder-container"});t.classList.add("e-component"),t.style.minWidth="350px";var i=this.element.style.height;t.style.height=i.endsWith("%")?7*parseFloat(i)+"px":i||"700px",this.enableRtl?t.classList.add("e-rtl"):t.classList.remove("e-rtl");var o=(0,l.createElement)("div",{className:"main-header"}),r=(0,l.createElement)("div",{className:"left-section"}),n=(0,l.createElement)("div",{className:"right-section"}),a=(0,l.createElement)("div",{className:"contentSection"}),s=(0,l.createElement)("aside",{className:"e-form-builder-left-pane-host"}),c=(0,l.createElement)("main",{className:"main-section"}),u=(0,l.createElement)("aside",{className:"e-form-builder-right-pane-host right-sidebar"}),v=(this.currentSchema&&this.currentSchema.settings||{}).name||"Untitled Form",g=(0,l.createElement)("div",{className:"e-form-builder-title"});r.appendChild(g),this.titleInPlaceEditorHost=g,this.disposeHeaderControls(),this.titleInPlaceEditorHost=g;var f=this.element?this.element.getBoundingClientRect().width:0;if(!(f>0&&f<=1024)){var m=v,b=new h.InPlaceEditor({type:"Text",mode:"Inline",enableRtl:this.enableRtl,value:v,beginEdit:function(){m=(e.currentSchema.settings.name||"Untitled Form").toString()},change:function(t){var i=t&&void 0!==t.value&&null!==t.value?String(t.value):v;e.currentSchema.settings||(e.currentSchema.settings={}),e.currentSchema.settings.name=i,null===e.pendingComponent&&null===e.editingField&&null===e.pendingWidgetSwitch&&e.rightPane.openFormSettings(e.currentSchema.settings)},cancelClick:function(){e.currentSchema.settings||(e.currentSchema.settings={}),e.currentSchema.settings.name=m,null===e.pendingComponent&&null===e.editingField&&null===e.pendingWidgetSwitch&&e.rightPane.openFormSettings(e.currentSchema.settings)}});b.appendTo(g),this.titleInPlaceEditor=b}var y=[{text:this.l10n.getConstant("simple")||"Simple",id:"simple"},{text:this.l10n.getConstant("developer")||"Developer",id:"developer"}],C=(this.mode||"Developer").toLowerCase(),x=this.l10n.getConstant(C)||this.mode,w=this.l10n.getConstant(C+"Mode")||x,P=(0,l.createElement)("button",{attrs:{type:"button","aria-label":w}});n.appendChild(P),this.modeDropDownHost=P;var S=new d.DropDownButton({items:y,cssClass:"e-outline mode-button",content:x,enableRtl:this.enableRtl,popupWidth:"120px",select:this.handleModeSelect.bind(this)});if(S.appendTo(P),this.modeDropDownButton=S,this.allowExport){var j=(0,l.createElement)("div",{className:"separator"});n.appendChild(j),this.exportSeparator=j;var O=(0,l.createElement)("button",{attrs:{type:"button","aria-label":"Export json schema"}});n.appendChild(O);var T=this.l10n.getConstant("export")||"Export",k=new p.Button({cssClass:"action-btn e-flat e-primary",content:T,disabled:li(this.currentSchema),enableRtl:this.enableRtl});k.appendTo(O),k.element.onclick=this.downloadCombinedSchema.bind(this)}u.setAttribute("role","complementary"),u.setAttribute("aria-label","Form Settings"),o.appendChild(r),o.appendChild(n),a.appendChild(s),a.appendChild(c),a.appendChild(u),t.appendChild(o),t.appendChild(a),this.element.appendChild(t);var F=this.element?this.element.getBoundingClientRect().width:0;F>0&&F<=1024&&(this.isMobile=!0,this.isLeftPaneCollapsed=!0,this.isRightPaneCollapsed=!0,this.containerWidth=F),this.ensurePaneToggles(s,c,u,a,r),this.leftPane&&this.leftPane.destroy(),this.mainSection&&this.mainSection.destroy(),this.rightPane&&this.rightPane.destroy(),this.leftPane=new wi(s,{className:"left-pane",paletteConfig:this.toolboxCategories||Ct,mode:this.mode,locale:this.locale,enableRtl:this.enableRtl,templates:this.hasExplicitFormTemplates?this.formTemplates||[]:Po,onFieldDragStarted:this.onFieldDragStartedCall.bind(this),onDrop:this.handleDrop.bind(this),containerWidth:this.element.getBoundingClientRect().width},this.l10n),this.mainSection=new gi(c,{formSchema:this.currentSchema,paletteConfig:this.toolboxCategories||Ct,parent:this.element,activeFieldId:this.activeFieldId||void 0,mode:this.mode,enableRtl:this.enableRtl,enablePreview:this.enablePreview,locale:this.locale,hasClipboardData:this.hasClipboardData,onDrop:this.handleDrop.bind(this),onNestedDrop:this.handleNestedDrop.bind(this),onReorder:this.handleReorder.bind(this),onNestedReorder:this.handleNestedReorder.bind(this),onDelete:this.handleDelete.bind(this),onEdit:this.handleEdit.bind(this),onReset:this.handleResetSchema.bind(this),onCopySchema:this.handleCopySchema.bind(this),onCopy:this.handleCopy.bind(this),onPaste:this.handlePaste.bind(this),onSwitchWidget:this.handleSwitchWidget.bind(this),onMoveUp:this.handleMoveUp.bind(this),onMoveDown:this.handleMoveDown.bind(this),onNestedMoveUp:this.handleNestedMoveUp.bind(this),onNestedMoveDown:this.handleNestedMoveDown.bind(this),onFieldDropped:this.onFieldDroppedCall.bind(this),onFieldDraggingOver:this.onFieldDragOverCall.bind(this),onDropBatchStart:this.beginDropBatch.bind(this),onDropBatchEnd:this.endDropBatch.bind(this),formBuilder:this},this.l10n),this.mainSection.render(this.currentSchema),this.rightPane=new xo({host:u,parent:this.element,l10n:this.l10n,mode:this.mode,formSchema:this.currentSchema,configData:Qo,locale:this.locale,enableRtl:this.enableRtl,formSettingsConfig:$o,onSave:function(t,i){return e.handlePropertyDialogSave(t,i)},onPropertyChanged:this.handleRightPanePropertyChanged.bind(this),onClose:function(){return e.handleRightPaneClose()}}),this.rightPane.render();var I=this.element?this.element.querySelector(".builder-container > .contentSection > .main-section > .editor-handle"):null;this.applyResponsiveState(s,c,u,I)},t.prototype.handleRightPanePropertyChanged=function(e){this.onFieldPropertyChanged&&this.trigger("onFieldPropertyChanged",{propertyName:e.property,propertyValue:e.value,fieldName:e.name})},t.prototype.onFieldDragStartedCall=function(e){this.onFieldDragStarted&&this.trigger("onFieldDragStarted",e)},t.prototype.onFieldDragOverCall=function(e){this.onFieldDragOver&&this.trigger("onFieldDragOver",e)},t.prototype.onFieldDroppedCall=function(e){this.onFieldDropped&&this.trigger("onFieldDropped",e)},t.prototype.ensurePaneToggles=function(e,t,i,o,r){var n=this,a=(0,l.createElement)("button",{className:"left-pane-toggle e-btn "+(this.isLeftPaneCollapsed?"collapsed":"expanded"),attrs:{type:"button","aria-label":this.isLeftPaneCollapsed?"Expand component palette":"Collapse component palette","aria-expanded":this.isLeftPaneCollapsed?"false":"true"}}),s=(0,l.createElement)("span",{className:"e-btn-icon e-icons "+this.getLeftChevronClass(),attrs:{"aria-hidden":"true"}});if(a.appendChild(s),this.isLeftPaneCollapsed&&this.isLeftPaneHovered){var p=(0,l.createElement)("span",{styles:"margin-left: 8px;"});p.textContent="Expand",a.appendChild(p)}a.onclick=function(e){e.stopPropagation(),n.handleLeftPaneToggle()},o.insertBefore(a,t),this.leftPaneToggleHost=a;var d=(0,l.createElement)("button",{className:"right-pane-toggle e-btn "+(this.isRightPaneCollapsed?"collapsed":"expanded"),attrs:{type:"button","aria-label":this.isRightPaneCollapsed?"Expand properties panel":"Collapse properties panel","aria-expanded":this.isRightPaneCollapsed?"false":"true"}}),h=(0,l.createElement)("span",{className:"e-btn-icon e-icons "+this.getRightChevronClass(),attrs:{"aria-hidden":"true"}});if(d.appendChild(h),this.isRightPaneCollapsed&&this.isRightPaneHovered){var c=(0,l.createElement)("span",{styles:"margin-left: 8px;"});c.textContent="Expand",d.appendChild(c)}if(d.onclick=function(e){e.stopPropagation(),n.handleRightPaneToggle()},o.insertBefore(d,i),this.rightPaneToggleHost=d,!!this.element&&(this.element.getBoundingClientRect().width<=1024&&this.element.getBoundingClientRect().width>0)){var u=(0,l.createElement)("button",{className:"e-btn e-flat mobile-toggle",attrs:{type:"button","aria-label":"Open component palette"}}),v=(0,l.createElement)("span",{className:"e-btn-icon e-icons e-show-hide-panel"});u.appendChild(v),u.onclick=function(e){e.stopPropagation(),n.handleLeftPaneToggle()},r.firstChild?r.insertBefore(u,r.firstChild):r.appendChild(u),this.mobileLeftPaneToggleHost=u;var g=(0,l.createElement)("button",{className:"e-btn e-flat mobile-toggle",attrs:{type:"button","aria-label":"Open properties panel"}}),f=(0,l.createElement)("span",{className:"e-btn-icon e-icons e-adjustment"});g.appendChild(f),g.onclick=function(e){e.stopPropagation(),n.handleRightPaneToggle()};var m=this.modeDropDownHost&&this.modeDropDownHost.parentNode?this.modeDropDownHost.parentNode:o.parentNode?o.parentNode.querySelector(".right-section"):null;m&&m.appendChild(g),this.mobileRightPaneToggleHost=g}var b=this.element.querySelector(".builder-container");if(b){this.windowResizeHandler&&(window.removeEventListener("resize",this.windowResizeHandler),this.windowResizeHandler=null),null!==this.resizeDebounceTimer&&(clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=null);var y=function(){null!==n.resizeDebounceTimer&&clearTimeout(n.resizeDebounceTimer),n.resizeDebounceTimer=window.setTimeout(function(){n.resizeDebounceTimer=null;var e=n.element?n.element.querySelector(".builder-container"):null;e&&n.handleContainerResize(e.getBoundingClientRect().width)},100)};this.windowResizeHandler=y,window.addEventListener("resize",y),this.containerWidth=b.getBoundingClientRect().width}},t.prototype.applyResponsiveState=function(e,t,i,o,r,n){var a=this.containerWidth||0;this.isMobile=a>0&&a<=1024,this.isLeftPaneCollapsed=a>0&&a<=820,this.isRightPaneCollapsed=a>0&&a<=1024;var s=this.element.querySelector(".builder-container");s&&(a>0&&a<=820?s.classList.add("small-screen"):s.classList.remove("small-screen")),this.applyPaneClasses(e,t,i,o,r||this.leftPaneToggleHost,n||this.rightPaneToggleHost)},t.prototype.applyMobileOnlyResponsiveState=function(e,t,i,o){var r=this.containerWidth||0;this.isMobile=r>0&&r<=1024,this.applyPaneClasses(e,t,i,o,this.leftPaneToggleHost,this.rightPaneToggleHost)},t.prototype.applyPaneClasses=function(e,t,i,o,r,n){var a,s;if(a=e,s=this.isLeftPaneCollapsed,a.classList.remove("collapsed","expanded"),a.classList.add(s?"collapsed":"expanded"),i.classList.toggle("sidebar-closed",this.isRightPaneCollapsed),t.classList.toggle("left-collapsed",this.isLeftPaneCollapsed),t.classList.toggle("right-collapsed",this.isRightPaneCollapsed),o.classList.toggle("left-collapsed",this.isLeftPaneCollapsed),o.classList.toggle("right-collapsed",this.isRightPaneCollapsed),r){r.classList.remove("collapsed","expanded"),r.classList.add(this.isLeftPaneCollapsed?"collapsed":"expanded"),r.setAttribute("aria-expanded",this.isLeftPaneCollapsed?"false":"true");var p=Array.from(r.childNodes).find(function(e){return e.classList&&(e.classList.contains("e-chevron-left")||e.classList.contains("e-chevron-right"))});p&&p.parentNode.removeChild(p);var d=(0,l.createElement)("span",{className:"e-btn-icon e-icons "+this.getLeftChevronClass(),attrs:{"aria-hidden":"true"}});r.insertBefore(d,r.firstChild)}if(n){n.classList.remove("collapsed","expanded"),n.classList.add(this.isRightPaneCollapsed?"collapsed":"expanded"),n.setAttribute("aria-expanded",this.isRightPaneCollapsed?"false":"true");var h=Array.from(n.childNodes).find(function(e){return e.classList&&(e.classList.contains("e-chevron-left")||e.classList.contains("e-chevron-right"))});h&&h.parentNode.removeChild(h);var c=(0,l.createElement)("span",{className:"e-btn-icon e-icons "+this.getRightChevronClass(),attrs:{"aria-hidden":"true"}});n.insertBefore(c,n.firstChild)}if(this.leftPaneToggleHost){for(this.leftPaneToggleHost.classList.remove("collapsed","expanded"),this.leftPaneToggleHost.classList.add(this.isLeftPaneCollapsed?"collapsed":"expanded"),this.leftPaneToggleHost.setAttribute("aria-expanded",this.isLeftPaneCollapsed?"false":"true"),this.leftPaneToggleHost.setAttribute("aria-label",this.isLeftPaneCollapsed?"Expand component palette":"Collapse component palette"),this.leftPaneToggleHost.style.display=this.isMobile?"none":"";this.leftPaneToggleHost.firstChild;)this.leftPaneToggleHost.removeChild(this.leftPaneToggleHost.firstChild);var u=(0,l.createElement)("span",{className:"e-btn-icon e-icons "+this.getLeftChevronClass(),attrs:{"aria-hidden":"true"}});if(this.leftPaneToggleHost.appendChild(u),this.isLeftPaneCollapsed&&this.isLeftPaneHovered){var v=(0,l.createElement)("span",{className:"expand-label",styles:"margin-left: 8px;"});v.textContent="Expand",this.leftPaneToggleHost.appendChild(v)}}if(this.rightPaneToggleHost){for(this.rightPaneToggleHost.classList.remove("collapsed","expanded"),this.rightPaneToggleHost.classList.add(this.isRightPaneCollapsed?"collapsed":"expanded"),this.rightPaneToggleHost.setAttribute("aria-expanded",this.isRightPaneCollapsed?"false":"true"),this.rightPaneToggleHost.setAttribute("aria-label",this.isRightPaneCollapsed?"Expand properties panel":"Collapse properties panel"),this.rightPaneToggleHost.style.display=this.isMobile?"none":"";this.rightPaneToggleHost.firstChild;)this.rightPaneToggleHost.removeChild(this.rightPaneToggleHost.firstChild);var g=(0,l.createElement)("span",{className:"e-btn-icon e-icons "+this.getRightChevronClass(),attrs:{"aria-hidden":"true"}});if(this.rightPaneToggleHost.appendChild(g),this.isRightPaneCollapsed&&this.isRightPaneHovered){var f=(0,l.createElement)("span",{className:"expand-label",styles:"margin-left: 8px;"});f.textContent="Expand",this.rightPaneToggleHost.appendChild(f)}}this.sidebarOverlay&&(this.containerWidth>0&&this.containerWidth<=820&&(!this.isLeftPaneCollapsed||!this.isRightPaneCollapsed)?this.sidebarOverlay.classList.add("visible"):this.sidebarOverlay.classList.remove("visible"));this.mobileLeftPaneToggleHost&&(this.mobileLeftPaneToggleHost.style.display=this.isMobile?"":"none"),this.mobileRightPaneToggleHost&&(this.mobileRightPaneToggleHost.style.display=this.isMobile?"":"none")},t.prototype.getLeftChevronClass=function(){return this.enableRtl?this.isLeftPaneCollapsed?"e-chevron-left":"e-chevron-right":this.isLeftPaneCollapsed?"e-chevron-right":"e-chevron-left"},t.prototype.getRightChevronClass=function(){return this.enableRtl?this.isRightPaneCollapsed?"e-chevron-right":"e-chevron-left":this.isRightPaneCollapsed?"e-chevron-left":"e-chevron-right"},t.prototype.isMobileNow=function(){if(!this.element)return this.isMobile;var e=this.element.getBoundingClientRect().width;return e>0&&e<=1024},t.prototype.handleLeftPaneToggle=function(){var e=this,t=this.element.querySelector(".builder-container > .contentSection > .left-pane");t&&t.classList.contains("collapsed")?this.isLeftPaneCollapsed=!0:this.isLeftPaneCollapsed=!1,this.applyResponsiveStateFirstThen(function(){e.isMobileNow()&&!e.isRightPaneCollapsed&&(e.isRightPaneCollapsed=!0),e.isLeftPaneCollapsed=!e.isLeftPaneCollapsed})},t.prototype.handleRightPaneToggle=function(){var e=this,t=this.element.querySelector(".builder-container > .contentSection > .right-sidebar");t&&t.classList.contains("sidebar-closed")?this.isRightPaneCollapsed=!0:this.isRightPaneCollapsed=!1,this.applyResponsiveStateFirstThen(function(){e.isMobileNow()&&!e.isLeftPaneCollapsed&&(e.isLeftPaneCollapsed=!0),e.isRightPaneCollapsed=!e.isRightPaneCollapsed})},t.prototype.applyResponsiveStateFirstThen=function(e){var t=this.element?this.element.querySelector(".builder-container > .contentSection > .left-pane"):null,i=this.element?this.element.querySelector(".builder-container > .contentSection > .main-section"):null,o=this.element?this.element.querySelector(".builder-container > .contentSection > .right-sidebar"):null,r=this.element?this.element.querySelector(".builder-container > .contentSection > .main-section > .editor-handle"):null,n=this.element?this.element.querySelector(".builder-container > .contentSection > .left-pane-toggle"):null,a=this.element?this.element.querySelector(".builder-container > .contentSection > .right-pane-toggle"):null;t&&i&&o&&r&&n&&a?(e(),this.applyPaneClasses(t,i,o,r,n,a)):e()},t.prototype.handleContainerResize=function(e){if(!(Math.abs(e-this.containerWidth)<1)){this.containerWidth=e,this.adjustElementVisibility();var t=this.element.querySelector(".builder-container > .contentSection > .left-pane"),i=this.element.querySelector(".builder-container > .contentSection > .main-section"),o=this.element.querySelector(".builder-container > .contentSection > .right-sidebar"),r=this.element.querySelector(".builder-container > .contentSection> .main-section > .editor-handle"),n=this.element?this.element.querySelector(".builder-container > .contentSection > .left-pane-toggle"):null,a=this.element?this.element.querySelector(".builder-container > .contentSection > .right-pane-toggle"):null;t&&i&&o&&r&&n&&a&&(this.element.getBoundingClientRect().width<=820?t.classList.add("mobile-screen"):t.classList.remove("mobile-screen"),this.applyResponsiveState(t,i,o,r,n,a))}},t.prototype.adjustElementVisibility=function(){if(this.element){var e=this.element.getBoundingClientRect().width,t=e>0&&e<=1024,i=!t,o=this.element.querySelector(".builder-container > .contentSection > .left-pane-toggle");o&&(o.style.display=t?"none":"");var r=this.element.querySelector(".builder-container > .contentSection > .right-pane-toggle");r&&(r.style.display=t?"none":""),t&&this.ensureMobileToggles();for(var n=this.element.querySelectorAll(".mobile-toggle"),a=0;a<n.length;a++)n[a].style.display=t?"":"none";i&&this.ensureTitleInPlaceEditor();var s=this.element.querySelector(".main-header .e-form-builder-title");s&&(s.style.display=i?"":"none")}},t.prototype.ensureMobileToggles=function(){var e=this;if(this.element){var t=this.element.querySelector(".main-header .left-section");if(t)if(!t.querySelector('.mobile-toggle[aria-label="Open component palette"]')){var i=(0,l.createElement)("button",{className:"e-btn e-flat mobile-toggle",attrs:{type:"button","aria-label":"Open component palette"}}),o=(0,l.createElement)("span",{className:"e-btn-icon e-icons e-show-hide-panel"});i.appendChild(o),i.onclick=function(t){t.stopPropagation(),e.handleLeftPaneToggle()},t.firstChild?t.insertBefore(i,t.firstChild):t.appendChild(i),this.mobileLeftPaneToggleHost=i}var r=this.element.querySelector(".main-header .right-section");if(r)if(!r.querySelector('.mobile-toggle[aria-label="Open properties panel"]')){var n=(0,l.createElement)("button",{className:"e-flat e-btn mobile-toggle",attrs:{type:"button","aria-label":"Open properties panel"}}),a=(0,l.createElement)("span",{className:"e-btn-icon e-icons e-adjustment"});n.appendChild(a),n.onclick=function(t){t.stopPropagation(),e.handleRightPaneToggle()},r.appendChild(n),this.mobileRightPaneToggleHost=n}}},t.prototype.ensureTitleInPlaceEditor=function(){var e=this;if(this.element&&!this.titleInPlaceEditor){var t=this.element.querySelector(".main-header .e-form-builder-title");if(t){var i=(this.currentSchema&&this.currentSchema.settings||{}).name||"Untitled Form",o=i,r=new h.InPlaceEditor({type:"Text",mode:"Inline",enableRtl:this.enableRtl,value:i,beginEdit:function(){o=(e.currentSchema.settings.name||"Untitled Form").toString()},change:function(t){var o=t&&void 0!==t.value&&null!==t.value?String(t.value):i;e.currentSchema.settings||(e.currentSchema.settings={}),e.currentSchema.settings.name=o,null===e.pendingComponent&&null===e.editingField&&null===e.pendingWidgetSwitch&&e.rightPane&&e.rightPane.openFormSettings(e.currentSchema.settings)},cancelClick:function(){e.currentSchema.settings||(e.currentSchema.settings={}),e.currentSchema.settings.name=o,null===e.pendingComponent&&null===e.editingField&&null===e.pendingWidgetSwitch&&e.rightPane.openFormSettings(e.currentSchema.settings)}});r.appendTo(t),this.titleInPlaceEditor=r,this.titleInPlaceEditorHost=t}}},t.prototype.syncTitleInPlaceEditorFromSchema=function(){if(this.titleInPlaceEditor){var e=(this.currentSchema&&this.currentSchema.settings&&this.currentSchema.settings.name||"Untitled Form").toString();try{this.titleInPlaceEditor.value!==e&&(this.titleInPlaceEditor.value=e)}catch(e){}}},t.prototype.applyPaneClassesForCurrent=function(){var e=this.element.querySelector(".builder-container > .contentSection > .left-pane"),t=this.element.querySelector(".builder-container > .contentSection > .left-pane-toggle"),i=this.element.querySelector(".builder-container > .contentSection > .main-section"),o=this.element.querySelector(".builder-container > .contentSection > .right-sidebar"),r=this.element.querySelector(".builder-container > .contentSection > .right-pane-toggle"),n=this.element.querySelector(".builder-container > .contentSection > .main-section > .editor-handle");e&&i&&o&&n&&t&&r&&(this.isMobileNow()&&this.applyMobileOnlyResponsiveState(e,i,o,n),this.applyPaneClasses(e,i,o,n,t,r))},t.prototype.onPropertyChanged=function(e,t){var i=!1;e.schema!==t.schema&&(i=!0),e.locale!==t.locale&&(i=!0),e.enableRtl!==t.enableRtl&&(i=!0),e.enablePreview!==t.enablePreview&&(i=!0),e.mode!==t.mode&&(i=!0),e.allowExport!==t.allowExport&&(i=!0),e.enablePersistence!==t.enablePersistence&&(i=!0),e.toolboxCategories!==t.toolboxCategories&&(i=!0),e.formTemplates!==t.formTemplates&&(this.hasExplicitFormTemplates=void 0!==e.formTemplates&&null!==e.formTemplates,i=!0),i&&(this.refreshing=!0,this.destroy(),this.render(),this.refreshing=!1)},t.prototype.getProperty=function(e,t){var i=Qo[e];if(i&&Array.isArray(i.groups))for(var o=0,r=i.groups;o<r.length;o++){var n=r[o];if(n&&Array.isArray(n.properties))for(var a=0,s=n.properties;a<s.length;a++){var l=s[a];if(l&&l.key===t)return this.dirtyKeys.push({fieldId:e,propertyKey:t}),l}}},t.prototype.setProperty=function(e,t){if(t&&t.key){var i=Qo[e];if(i&&Array.isArray(i.groups)){for(var o=JSON.parse(JSON.stringify(t)),r=!1,n=0,a=i.groups;n<a.length;n++){var s=a[n];if(s&&Array.isArray(s.properties)){for(var l=0;l<s.properties.length;l++)if(s.properties[l]&&s.properties[l].key===t.key){s.properties[l]=o,r=!0;break}if(r)break}}if(!r){var p=i.groups.find(function(e){return e&&"Display"===e.name});p||(p=i.groups[0]),p&&(Array.isArray(p.properties)||(p.properties=[]),p.properties.push(o))}var d=this.getCurrentEditedField();this.rightPane&&d&&d.id&&d.type===e&&this.rightPane.openComponentEditor(d,d.id,!0)}}},t.prototype.getCurrentEditedField=function(){return this.pendingComponent||this.editingField||null},t.prototype.destroy=function(){this.disposeHeaderControls(),this.windowResizeHandler&&(window.removeEventListener("resize",this.windowResizeHandler),this.windowResizeHandler=null),null!==this.resizeDebounceTimer&&(clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=null),null!==this.leftPaneHoverTimeout&&(clearTimeout(this.leftPaneHoverTimeout),this.leftPaneHoverTimeout=null),null!==this.rightPaneHoverTimeout&&(clearTimeout(this.rightPaneHoverTimeout),this.rightPaneHoverTimeout=null),this.leftPaneToggleHost&&this.leftPaneToggleHost.parentNode&&this.leftPaneToggleHost.parentNode.removeChild(this.leftPaneToggleHost),this.leftPaneToggleHost=null,this.rightPaneToggleHost&&this.rightPaneToggleHost.parentNode&&this.rightPaneToggleHost.parentNode.removeChild(this.rightPaneToggleHost),this.rightPaneToggleHost=null,this.mobileLeftPaneToggleHost&&this.mobileLeftPaneToggleHost.parentNode&&this.mobileLeftPaneToggleHost.parentNode.removeChild(this.mobileLeftPaneToggleHost),this.mobileLeftPaneToggleHost=null,this.mobileRightPaneToggleHost&&this.mobileRightPaneToggleHost.parentNode&&this.mobileRightPaneToggleHost.parentNode.removeChild(this.mobileRightPaneToggleHost),this.mobileRightPaneToggleHost=null,this.sidebarOverlay&&this.sidebarOverlay.parentNode&&this.sidebarOverlay.parentNode.removeChild(this.sidebarOverlay),this.sidebarOverlay=null,this.leftPane&&(this.leftPane.destroy(),this.leftPane=null),this.mainSection&&(this.mainSection.destroy(),this.mainSection=null),this.rightPane&&(this.rightPane.destroy(),this.rightPane=null),e.prototype.destroy.call(this)},t.prototype.getPersistData=function(){return this.addOnPersist(["currentSchema",JSON.stringify(this.currentSchema)])},t.prototype.getModuleName=function(){return"form-builder"},t.prototype.setFieldValue=function(e,t){this.mainSection.setFieldValue(e,t)},t.prototype.handleCopySchema=function(){var e=ce(this.currentSchema),t=JSON.stringify(e,null,2);navigator.clipboard&&navigator.clipboard.writeText&&navigator.clipboard.writeText(t).catch(function(){})},t.prototype.handleResetSchema=function(){this.currentSchema={version:"0.1.0",components:[{id:"default-submit-button",type:"button",name:"defaultSubmit",label:"Submit",buttonType:"submit",_configured:!0}],settings:{name:"Untitled Form"}},this.mainSection&&(this.mainSection.render(this.currentSchema),this.mainSection.refreshJsonViewer(this.currentSchema)),this.rightPane&&this.rightPane.updateFormSchema(this.currentSchema),this.updateExportButtonState(),this.rightPane.openFormSettings(this.currentSchema.settings)},t.prototype.handleModeSelect=function(e){if(e&&e.item&&e.item.id){var t="simple"===e.item.id?"Simple":"Developer";this.mode=t}},t.prototype.downloadCombinedSchema=function(){try{if(li(this.currentSchema))return;var e=ce(this.currentSchema),t=(new Date).toISOString().slice(0,19).replace(/[:T]/g,"-"),i=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),o=URL.createObjectURL(i),r=document.createElement("a");r.href=o,r.download="form-schema-"+t+".json",document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(o)}catch(e){}},t.prototype.disposeHeaderControls=function(){if(this.modeDropDownButton){try{this.modeDropDownButton.destroy()}catch(e){}this.modeDropDownButton=null}if(this.modeDropDownHost=null,this.titleInPlaceEditor){try{this.titleInPlaceEditor.destroy()}catch(e){}this.titleInPlaceEditor=null}this.titleInPlaceEditorHost=null,this.exportSeparator=null},t.prototype.handleDrop=function(e,t,i){var o=!!Qo[e.type],r=!e._configured;o&&r&&(this.setPendingComponent(e),this.editingField=e,this.pendingDropContext={isNested:!1,targetIndex:void 0!==t?t:null,targetPosition:void 0!==i?i:null}),this.setPendingComponent(e),this.editingField=e,this.currentSchema=function(e,t,i,o){var r=e&&e.components?e.components.slice():[];if("number"==typeof i&&i>=0&&i<r.length){var n="after"===o?i+1:i,a=r.slice();return a.splice(n,0,t),So({},e,{components:a})}return So({},e,{components:Oo(r,t)})}(this.currentSchema,e,t,i),this.handlePropertyDialogSave(e),this.activeFieldId=e.id,gi.activeFieldId=e.id,this.reRenderCanvas(e.id),this.rightPane.openComponentEditor(e,e.id)},t.prototype.handleNestedDrop=function(e,t,i,o,r,n){var a=!!Qo[t.type],s=!t._configured;a&&s&&(this.setPendingComponent(t),this.editingField=t,this.pendingDropContext={isNested:!0,parentId:e,cellInfo:i,parentPath:o,targetIndex:void 0!==r?r:null,targetPosition:void 0!==n?n:null}),this.setPendingComponent(t),this.editingField=t,this.currentSchema=To(this.currentSchema,e,o,i,t,r,n),this.handlePropertyDialogSave(t),gi.activeFieldId=t.id,this.reRenderCanvas(),this.activeFieldId=t.id,this.rightPane.openComponentEditor(t,t.id)},t.prototype.handleReorder=function(e){this.currentSchema=function(e,t){return So({},e,{components:t.slice()})}(this.currentSchema,e),this.reRenderCanvas()},t.prototype.handleNestedReorder=function(e,t,i,o){this.currentSchema=Do(this.currentSchema,e,i,o),this.reRenderCanvas()},t.prototype.handleDelete=function(e,t){var i=this,o=(this.currentSchema.components||[]).slice();!this.pendingComponent||this.pendingComponent.id!==e&&!this.isDescendantOf(e,this.pendingComponent.id,o)||t||this.setPendingComponent(null),!this.editingField||this.editingField.id!==e&&!this.isDescendantOf(e,this.editingField.id,o)||t||(this.editingField=null),this.pendingWidgetSwitch&&(this.pendingWidgetSwitch.fieldId===e||this.isDescendantOf(e,this.pendingWidgetSwitch.fieldId,o))&&(this.pendingWidgetSwitch=null),this.activeFieldId===e&&(this.activeFieldId=null,gi.activeFieldId=null),this.currentSchema=Io(this.currentSchema,e),this.reRenderCanvas(),t||(this.rightPane.openFormSettings(this.currentSchema.settings),setTimeout(function(){var e=i.element.querySelector(".form-preview-area");e&&e.focus()},0))},t.prototype.isDescendantOf=function(e,t,i){for(var o=i.slice(),r=function(){var i=o.pop();if(!i)return"continue";if(i.id===e){var r=function(e){for(var i=0,o=e;i<o.length;i++){var n=o[i];if(n.id===t)return!0;if(n.children&&r(n.children))return!0;if(n.tabItems)for(var a=0,s=n.tabItems;a<s.length;a++){var l=s[a];if(l.content&&r(l.content))return!0}if(n.tableCells)for(var p=0,d=n.tableCells;p<d.length;p++)for(var h=0,c=d[p];h<c.length;h++){var u=c[h];if(r(u))return!0}}return!1},n=i.children||[];return r(n)||(i.tabItems&&i.tabItems.some(function(e){return r(e&&e.content||[])})||i.tableCells&&i.tableCells.some(function(e){return e.some(function(e){return r(e)})}))?{value:!0}:{value:!1}}if(i.children&&i.children.length&&o.push.apply(o,i.children),i.tabItems&&i.tabItems.length)for(var a=0,s=i.tabItems;a<s.length;a++){var l=s[a];l.content&&l.content.length&&o.push.apply(o,l.content)}if(i.tableCells&&i.tableCells.length)for(var p=0,d=i.tableCells;p<d.length;p++)for(var h=0,c=d[p];h<c.length;h++){var u=c[h];u&&u.length&&o.push.apply(o,u)}};o.length;){var n=r();if("object"==typeof n)return n.value}return!1},t.prototype.getOrCreateRightPane=function(){return this.rightPane},t.prototype.setPendingComponent=function(e){this.pendingComponent=e,e&&e.id,this.activeFieldWrapper=null},t.prototype.handleEdit=function(e){if(e!==this.activeFieldId){this.activeFieldId=e,gi.activeFieldId=e;var t=this.findComponentById(this.currentSchema.components,e),i=this.getOrCreateRightPane();t&&i&&(this.setPendingComponent(t),this.editingField=t,i.openComponentEditor(t,e))}},t.prototype.handleCopy=function(e){e&&(this.copiedFieldRef=e,this.hasClipboardData=!0,this.showPasteButtons(),Ko.copyToClipboard(e).then(function(){}).catch(function(e){}))},t.prototype.handlePaste=function(e){var t=this,i=this.copiedFieldRef;if(!i)return this.hasClipboardData=!1,void this.hidePasteButtons();var o=function(e){var t=ne(e.type),i=ae(e.type),r=Object.assign({},e,{id:t,name:i});return e.children&&(r.children=e.children.map(function(e){return o(e)})),e.tabItems&&(r.tabItems=e.tabItems.map(function(e){var t=e.content?e.content.map(function(e){return o(e)}):[];return Object.assign({},e,{content:t})})),e.tableCells&&(r.tableCells=e.tableCells.map(function(e){return e.map(function(e){return e.map(function(e){return o(e)})})})),r},r=Ko.createUniqueField(i);"panel"!==(r=Object.assign({},r,{id:ne(r.type),name:ae(r.type)})).type&&"tabs"!==r.type&&"table"!==r.type&&"card"!==r.type||(r=o(r));var n=tr({},this.currentSchema,{components:function(){var i=Bo(t.currentSchema.components||[],e,r);if(i.inserted)return i.components;var o=(t.currentSchema.components||[]).findIndex(function(t){return t.id===e});if(-1!==o){var n=t.currentSchema.components.slice();return n.splice(o+1,0,r),n}return t.currentSchema.components}()});this.currentSchema=n;var a=r.id;setTimeout(function(){var e=this.element.querySelector('[data-field-id="'+a+'"]');e&&(e.classList.add("field-inserted"),setTimeout(function(){e&&e.parentNode&&e.classList.remove("field-inserted")},2e3))},50),this.copiedFieldRef=null,this.hasClipboardData=!1,Ko.clearData().catch(function(){}),this.reRenderCanvas()},t.prototype.handleSwitchWidget=function(e,t){if(e&&t){var i=this.findComponentById(this.currentSchema.components,e);if(i&&Qo[t]){var o=Object.assign({},i,{type:t});this.pendingWidgetSwitch={fieldId:e,originalComponent:tr({},i,{type:t}),newWidgetType:t},this.currentSchema=zo(this.currentSchema,e,t),this.setPendingComponent(o),this.editingField=null,this.reRenderCanvas(),this.rightPane.openComponentEditor(this.pendingWidgetSwitch.originalComponent,this.pendingWidgetSwitch.fieldId)}}},t.prototype.handleMoveUp=function(e){this.currentSchema=Ro(this.currentSchema,e,-1),this.reRenderCanvas()},t.prototype.handleMoveDown=function(e){this.currentSchema=Ro(this.currentSchema,e,1),this.reRenderCanvas()},t.prototype.handleNestedMoveUp=function(e,t,i,o){this.currentSchema=Lo(this.currentSchema,e,-1,t,o),this.reRenderCanvas()},t.prototype.handleNestedMoveDown=function(e,t,i,o){this.currentSchema=Lo(this.currentSchema,e,1,t,o),this.reRenderCanvas()},t.prototype.reRenderCanvas=function(e,t){void 0===t&&(t=!1),this.isDropBatching?this.hasPendingDropBatchRender=!0:(this.mainSection&&(this.mainSection.render(this.currentSchema,e,t),this.mainSection.refreshJsonViewer(this.currentSchema)),this.rightPane&&this.rightPane.updateFormSchema(this.currentSchema),this.updateExportButtonState())},t.prototype.beginDropBatch=function(){this.isDropBatching=!0,this.hasPendingDropBatchRender=!1},t.prototype.endDropBatch=function(){this.isDropBatching=!1,this.hasPendingDropBatchRender&&(this.hasPendingDropBatchRender=!1,this.reRenderCanvas())},t.prototype.updateExportButtonState=function(){var e=li(this.currentSchema),t=this.element.querySelector('button[aria-label="Export json schema"]');t&&(e?t.setAttribute("disabled","disabled"):t.removeAttribute("disabled"))},t.prototype.showPasteButtons=function(){var e=this.element;if(e)for(var t=e.querySelectorAll('button[data-action="paste"]'),i=0;i<t.length;i++)t[i].style.display="block"},t.prototype.hidePasteButtons=function(){var e=this.element;if(e)for(var t=e.querySelectorAll('button[data-action="paste"]'),i=0;i<t.length;i++)t[i].style.display="none"},t.prototype.handlePropertyDialogSave=function(e,t){var i=this;if(e&&"object"==typeof e)if(this.isFormSettingsPayload(e)&&null===this.pendingComponent&&null===this.editingField&&null===this.pendingWidgetSwitch){var o={};["hideLabel","size","floatLabelType"].forEach(function(t){t in e&&(o[t]=e[t])});var r=this.currentSchema.components||[];Object.keys(o).length>0&&(r=this.mapComponents(r,function(e){return tr({},e,o)})),this.currentSchema=tr({},this.currentSchema,{components:r,settings:tr({},this.currentSchema.settings||{},e)}),this.syncTitleInPlaceEditorFromSchema();var n="hideLabel"in e||"size"in e;this.reRenderCanvas(void 0,n)}else if(this.pendingComponent){var a=function(e,t,i,o){var r=i&&i.settings?i.settings:{},n=e,a=Object.assign({},n,{label:No(t,"label")?t.label:n.label,name:No(t,"name")?t.name:n.name,description:No(t,"description")||""===t.description?t.description:void 0,prefix:No(t,"prefix")||""===t.prefix?t.prefix:void 0,suffix:No(t,"suffix")||""===t.suffix?t.suffix:void 0,conditions:No(t,"conditions")?t.conditions:void 0,customValidation:No(t,"customValidation")?t.customValidation:n.customValidation,pageSize:No(t,"pageSize")?t.pageSize:n.pageSize,size:void 0!==r.size?r.size:No(t,"size")?t.size:n.size,allowPaging:No(t,"allowPaging")?t.allowPaging:n.allowPaging,allowAdding:No(t,"allowAdding")?t.allowAdding:n.allowAdding,allowFiltering:No(t,"allowFiltering")?t.allowFiltering:n.allowFiltering,allowEditing:No(t,"allowEditing")?t.allowEditing:n.allowEditing,allowDeleting:No(t,"allowDeleting")?t.allowDeleting:n.allowDeleting,dataSource:No(t,"dataSource")?t.dataSource:n.dataSource||[],cardTitle:No(t,"cardTitle")?t.cardTitle:n.cardTitle,cardSubtitle:No(t,"cardSubtitle")?t.cardSubtitle:n.cardSubtitle,textboxType:No(t,"textboxType")?Yo(t.textboxType):n.textboxType?n.textboxType.toLowerCase():n.textboxType,hideBorders:No(t,"hideBorders")?t.hideBorders:n.hideBorders,placeholder:No(t,"placeholder")?t.placeholder:n.placeholder,defaultValue:No(t,"defaultValue")?t.defaultValue:n.defaultValue,expressionValue:No(t,"expressionValue")?t.expressionValue:n.expressionValue,disabled:No(t,"disabled")?t.disabled:n.disabled||!1,visible:No(t,"visible")?t.visible:n.visible||!1,tooltip:No(t,"tooltip")?t.tooltip:n.tooltip,cssClass:No(t,"cssClass")?t.cssClass:n.cssClass,hideLabel:void 0!==r.hideLabel?r.hideLabel:No(t,"hideLabel")?t.hideLabel:n.hideLabel||!1,labelPosition:No(t,"labelPosition")?t.labelPosition:n.labelPosition||"top",checkboxLabelPosition:No(t,"checkboxLabelPosition")?t.checkboxLabelPosition:n.checkboxLabelPosition||"After",layoutDirection:No(t,"layoutDirection")?Yo(t.layoutDirection):n.layoutDirection?n.layoutDirection.toLowerCase():n.layoutDirection||"column",enableHtmlSanitizer:No(t,"enableHtmlSanitizer")?t.enableHtmlSanitizer:n.enableHtmlSanitizer||"true",position:No(t,"position")?t.position:n.position||"left",labelWidth:No(t,"labelWidth")?Yo(t.labelWidth):n.labelWidth?n.labelWidth.toLowerCase():n.labelWidth||"auto",iconCss:No(t,"iconCss")?t.iconCss:n.iconCss,iconPosition:No(t,"iconPosition")?t.iconPosition:n.iconPosition,startIndex:No(t,"startIndex")?t.startIndex:n.startIndex,style:No(t,"style")?Yo(t.style):n.style?n.style.toLowerCase():n.style,buttonType:No(t,"buttonType")?Yo(t.buttonType):n.buttonType?n.buttonType.toLowerCase():n.buttonType,calendarMode:No(t,"calendarMode")?t.calendarMode:n.calendarMode,dayHeaderFormat:No(t,"dayHeaderFormat")?t.dayHeaderFormat:n.dayHeaderFormat,depth:No(t,"depth")?t.depth:n.depth,firstDayOfWeek:No(t,"firstDayOfWeek")?t.firstDayOfWeek:n.firstDayOfWeek,start:No(t,"start")?t.start:n.start,allowEdit:No(t,"allowEdit")?t.allowEdit:n.allowEdit,enabled:No(t,"enabled")?t.enabled:n.enabled,timeFormat:No(t,"timeFormat")?t.timeFormat:n.timeFormat,showTodayButton:No(t,"showTodayButton")?t.showTodayButton:n.showTodayButton,floatLabelType:void 0!==r.floatLabelType?r.floatLabelType:No(t,"floatLabelType")?t.floatLabelType:n.floatLabelType||"Never",fieldLabelPosition:No(t,"fieldLabelPosition")?t.fieldLabelPosition:n.fieldLabelPosition||"After",readOnly:No(t,"readOnly")?t.readOnly:n.readOnly||!1,autocomplete:No(t,"autocomplete")?t.autocomplete:!1!==n.autocomplete,multiline:No(t,"multiline")?t.multiline:n.multiline,showClearButton:No(t,"showClearButton")?t.showClearButton:n.showClearButton||!1,checked:No(t,"checked")?t.checked:n.checked||!1,indeterminate:No(t,"indeterminate")?t.indeterminate:n.indeterminate||!1,options:No(t,"options")?t.options:n.options||["Option 1"],tabOptions:No(t,"tabOptions")?t.tabOptions:n.tabOptions||["Tab 1"],decimals:No(t,"decimals")?t.decimals:n.decimals,currency:No(t,"currency")?t.currency:n.currency,format:No(t,"format")?t.format:n.format,numberFormat:No(t,"numberFormat")?t.numberFormat:n.numberFormat,step:No(t,"step")?t.step:n.step,enableVirtualization:No(t,"enableVirtualization")?t.enableVirtualization:n.enableVirtualization,popupHeight:No(t,"popupHeight")?t.popupHeight:n.popupHeight,popupWidth:No(t,"popupWidth")?t.popupWidth:n.popupWidth,htmlAttributes:No(t,"htmlAttributes")?t.htmlAttributes:n.htmlAttributes,buttonsGroups:No(t,"buttonsGroups")?t.buttonsGroups:n.buttonsGroups,gap:No(t,"gap")?t.gap:n.gap,cols:No(t,"cols")?t.cols:n.cols,textareaRows:No(t,"textareaRows")?t.textareaRows:n.textareaRows,offLabel:No(t,"offLabel")?t.offLabel:n.offLabel,onLabel:No(t,"onLabel")?t.onLabel:n.onLabel,startDate:No(t,"startDate")?t.startDate:n.startDate,endDate:No(t,"endDate")?t.endDate:n.endDate,separator:No(t,"separator")?t.separator:n.separator,mask:No(t,"mask")?t.mask:n.mask,customCharacters:No(t,"customCharacters")?Wo(t.customCharacters):n.customCharacters,promptChar:No(t,"promptChar")?t.promptChar:n.promptChar,allowCustomValue:No(t,"allowCustomValue")?t.allowCustomValue:n.allowCustomValue,addTagOnBlur:No(t,"addTagOnBlur")?t.addTagOnBlur:n.addTagOnBlur,delimiterChar:No(t,"delimiterChar")?t.delimiterChar:n.delimiterChar,visualMode:No(t,"visualMode")?t.visualMode:n.visualMode,showSelectAll:No(t,"showSelectAll")?t.showSelectAll:n.showSelectAll,selectAllText:No(t,"selectAllText")?t.selectAllText:n.selectAllText,unSelectAllText:No(t,"unSelectAllText")?t.unSelectAllText:n.unSelectAllText,showDropDownIcon:No(t,"showDropDownIcon")?t.showDropDownIcon:n.showDropDownIcon,showCloseIcon:No(t,"showCloseIcon")?t.showCloseIcon:n.showCloseIcon||!1,showIcon:No(t,"showIcon")?t.showIcon:n.showIcon||!1,variant:No(t,"variant")?t.variant:n.variant,severity:No(t,"severity")?t.severity:n.severity,content:No(t,"content")?t.content:n.content,allowReset:No(t,"allowReset")?t.allowReset:n.allowReset,itemsCount:No(t,"itemsCount")?t.itemsCount:n.itemsCount,precision:No(t,"precision")?t.precision:n.precision,showRatingTooltip:No(t,"showRatingTooltip")?t.showRatingTooltip:n.showRatingTooltip,showRatingLabel:No(t,"showRatingLabel")?t.showRatingLabel:n.showRatingLabel,ratingLabelPosition:No(t,"ratingLabelPosition")?t.ratingLabelPosition:n.ratingLabelPosition,height:No(t,"height")?t.height:n.height,width:No(t,"width")?t.width:n.width,enableOpacity:No(t,"enableOpacity")?t.enableOpacity:n.enableOpacity,showNoColor:No(t,"showNoColor")?t.showNoColor:n.showNoColor,showButtons:No(t,"showButtons")?t.showButtons:n.showButtons,showRecentColors:No(t,"showRecentColors")?t.showRecentColors:n.showRecentColors,backgroundColor:No(t,"backgroundColor")?t.backgroundColor:n.backgroundColor,strokeColor:No(t,"strokeColor")?t.strokeColor:n.strokeColor,maximumStrokeWidth:No(t,"maximumStrokeWidth")?t.maximumStrokeWidth:n.maximumStrokeWidth,minimumStrokeWidth:No(t,"minimumStrokeWidth")?t.minimumStrokeWidth:n.minimumStrokeWidth,velocity:No(t,"velocity")?t.velocity:n.velocity,allowExtensions:No(t,"allowExtensions")?t.allowExtensions:n.allowExtensions,saveUrl:No(t,"saveUrl")?t.saveUrl:n.saveUrl,removeUrl:No(t,"removeUrl")?t.removeUrl:n.removeUrl,buttons:No(t,"buttons")?t.buttons:n.buttons,allowMultiple:No(t,"allowMultiple")?t.allowMultiple:n.allowMultiple,showFileList:No(t,"showFileList")?t.showFileList:n.showFileList,orientation:No(t,"orientation")?t.orientation:n.orientation,rows:No(t,"rows")?t.rows:n.rows,columns:No(t,"columns")?t.columns:n.columns,lookUpConfig:No(t,"lookUpConfig")?t.lookUpConfig:n.lookUpConfig,enableImportFromWord:No(t,"enableImportFromWord")?t.enableImportFromWord:n.enableImportFromWord,enableExportToWord:No(t,"enableExportToWord")?t.enableExportToWord:n.enableExportToWord,enableExportToPdf:No(t,"enableExportToPdf")?t.enableExportToPdf:n.enableExportToPdf,tableCells:Xo(n,t),tabItems:Uo(n,t),columnWidths:Vo(t.columnWidths,n.columnWidths),required:No(t,"required")?t.required:n.required||!1,validateOn:No(t,"validateOn")?t.validateOn:n.validateOn||"Change",min:No(t,"minValue")?t.minValue:n.min,max:No(t,"maxValue")?t.maxValue:n.max,minValue:No(t,"minValue")?t.minValue:n.minValue,maxValue:No(t,"maxValue")?t.maxValue:n.maxValue,minMaxRange:No(t,"minMaxRange")?t.minMaxRange:n.minMaxRange,minMaxTimeRange:No(t,"minMaxTimeRange")?t.minMaxTimeRange:n.minMaxTimeRange,minLength:No(t,"minLength")?t.minLength:n.minLength,maxLength:No(t,"maxLength")?t.maxLength:n.maxLength,minDate:No(t,"minDate")?t.minDate:n.minDate,maxDate:No(t,"maxDate")?t.maxDate:n.maxDate,regex:No(t,"regex")?t.regex:n.regex,minTime:No(t,"minTime")?t.minTime:n.minTime,maxTime:No(t,"maxTime")?t.maxTime:n.maxTime,validationMessage:No(t,"validationMessage")?t.validationMessage:n.validationMessage,_configured:!0});if(o){var s=o[e.type];if(s&&Array.isArray(s.groups)){for(var l={},p=0,d=s.groups;p<d.length;p++){var h=d[p];if(h&&Array.isArray(h.properties))for(var c=0,u=h.properties;c<u.length;c++){var v=u[c];v&&v.key&&(l[v.key]=!0)}}for(var g=0,f=Object.keys(t);g<f.length;g++){var m=f[g];void 0===a[m]&&l[m]&&void 0!==t[m]&&(a[m]=t[m])}}}return a}(this.pendingComponent,e,this.currentSchema,Qo);if(this.editingField){var s=qo(a,Qo,this.dirtyKeys);return this.currentSchema=tr({},this.currentSchema,{components:_o(this.currentSchema.components,this.editingField.id,s)}),void this.reRenderCanvas(this.editingField.id)}if(this.pendingWidgetSwitch){var l=this.pendingWidgetSwitch,p=qo(a,Qo,this.dirtyKeys);setTimeout(function(){i.currentSchema=tr({},i.currentSchema,{components:_o(i.currentSchema.components,l.fieldId,p)}),i.reRenderCanvas(l.fieldId)},100)}else{var d=qo(a,Qo,this.dirtyKeys),h=this.pendingDropContext;h&&h.isNested&&h.parentId?this.handleNestedDrop(h.parentId,d,h.cellInfo,h.parentPath,void 0!==h.targetIndex?h.targetIndex:null,void 0!==h.targetPosition?h.targetPosition:null):this.handleDrop(d,h?h.targetIndex:void 0,h?h.targetPosition:void 0)}}},t.prototype.isFormSettingsPayload=function(e){return["name","width","hideLabel","size","floatLabelType"].some(function(t){return t in e})},t.prototype.mapComponents=function(e,t){var i=this;return e.map(function(e){var o=t(e);return o.children&&(o.children=i.mapComponents(o.children,t)),o.tableCells&&(o.tableCells=o.tableCells.map(function(e){return e.map(function(e){return i.mapComponents(e,t)})})),o.tabItems&&(o.tabItems=o.tabItems.map(function(e){return tr({},e,{content:e.content?i.mapComponents(e.content,t):e.content})})),o})},t.prototype.findComponentById=function(e,t){for(var i=0,o=e;i<o.length;i++){var r=o[i];if(r.id===t)return r;if(r.children)if(c=this.findComponentById(r.children,t))return c;if(r.tableCells)for(var n=0,a=r.tableCells;n<a.length;n++)for(var s=0,l=a[n];s<l.length;s++){var p=l[s];if(c=this.findComponentById(p,t))return c}if(r.tabItems)for(var d=0,h=r.tabItems;d<h.length;d++){var c,u=h[d];if(u.content)if(c=this.findComponentById(u.content,t))return c}}return null},t.prototype.handleRightPaneClose=function(){this.activeFieldId=null,gi.activeFieldId=null,this.setPendingComponent(null),this.editingField=null,this.pendingWidgetSwitch=null,this.pendingDropContext=null,this.reRenderCanvas(),this.rightPane.openFormSettings(this.currentSchema.settings)},ir([(0,l.Property)("en-US")],t.prototype,"locale",void 0),ir([(0,l.Property)(!0)],t.prototype,"allowExport",void 0),ir([(0,l.Property)(!0)],t.prototype,"enablePreview",void 0),ir([(0,l.Property)(!1)],t.prototype,"enablePersistence",void 0),ir([(0,l.Property)(!1)],t.prototype,"enableRtl",void 0),ir([(0,l.Property)("Developer")],t.prototype,"mode",void 0),ir([(0,l.Property)(null)],t.prototype,"formTemplates",void 0),ir([(0,l.Property)(null)],t.prototype,"toolboxCategories",void 0),ir([(0,l.Collection)([],g)],t.prototype,"toolboxItems",void 0),ir([(0,l.Property)(null)],t.prototype,"schema",void 0),ir([(0,l.Event)()],t.prototype,"onFieldDragStarted",void 0),ir([(0,l.Event)()],t.prototype,"onFieldDragOver",void 0),ir([(0,l.Event)()],t.prototype,"onFieldDropped",void 0),ir([(0,l.Property)(!1)],t.prototype,"enableHtmlSanitizer",void 0),ir([(0,l.Event)()],t.prototype,"onFieldPropertyChanged",void 0),t=ir([l.NotifyPropertyChanges],t)}(l.Component);var rr=function(){var e=function(t,i){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},e(t,i)};return function(t,i){function o(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}}(),nr=function(e){function t(t){var i=e.call(this,t)||this;return i.initRenderCalled=!1,i.checkInjectedModules=!1,i.directivekeys={toolboxItemSettings:"toolboxItemSetting"},i.statelessTemplateProps=null,i.templateProps=null,i.immediateRender=!1,i.isReactMock=!0,i.portals=[],i}return rr(t,e),t.prototype.render=function(){if(this.isReactMock=!1,!(this.element&&!this.initRenderCalled||this.refreshing)||this.isReactForeceUpdate)return s.createElement("div",this.getDefaultAttributes(),[].concat(this.props.children,this.portals));e.prototype.render.call(this),this.initRenderCalled=!0},t}(or);(0,o.applyMixins)(nr,[o.ComponentBase,s.Component])})(),y})());