"use strict";var _interopRequireWildcard=require("@babel/runtime/helpers/interopRequireWildcard"),_interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")),_createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass")),_inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits")),_possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")),_getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")),_react=_interopRequireWildcard(require("react")),_signature_pad=_interopRequireDefault(require("signature_pad")),_ErrorBoundary=_interopRequireDefault(require("../../hoc/ErrorBoundary")),_react2=require("@lingui/react");function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function(){var result,Super=(0,_getPrototypeOf2["default"])(Derived);if(hasNativeReflectConstruct){var NewTarget=(0,_getPrototypeOf2["default"])(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return(0,_possibleConstructorReturn2["default"])(this,result)}}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}var Signature=/*#__PURE__*/function(_Component){function Signature(){return(0,_classCallCheck2["default"])(this,Signature),_super.apply(this,arguments)}(0,_inherits2["default"])(Signature,_Component);var _super=_createSuper(Signature);return(0,_createClass2["default"])(Signature,[{key:"componentDidMount",value:function componentDidMount(){if("undefined"!=typeof document){var wrapper=document.getElementById("signature-pad");if(wrapper){// Adjust canvas coordinate space taking into account pixel ratio,
// to make it look crisp on mobile devices.
// This also causes canvas to be cleared.
var resizeCanvas=function(){// When zoomed out to less than 100%, for some very strange reason,
// some browsers report devicePixelRatio as less than 1
// and only part of the canvas is cleared then.
var ratio=Math.max(window.devicePixelRatio||1,1);canvas.width=canvas.offsetWidth*ratio,canvas.height=canvas.offsetHeight*ratio,canvas.getContext("2d").scale(ratio,ratio)},clearButton=wrapper.querySelector("[data-action=clear]"),savePNGButton=wrapper.querySelector("[data-action=save-png]"),saveSVGButton=wrapper.querySelector("[data-action=save-svg]"),canvas=wrapper.querySelector("canvas");window.onresize=resizeCanvas,resizeCanvas();var signaturePad=new _signature_pad["default"](canvas);clearButton.addEventListener("click",function(){signaturePad.clear()}),savePNGButton.addEventListener("click",function(){signaturePad.isEmpty()||window.open(signaturePad.toDataURL())}),saveSVGButton.addEventListener("click",function(){signaturePad.isEmpty()||window.open(signaturePad.toDataURL("image/svg+xml"))})}}}},{key:"render",value:function render(){return/*#__PURE__*/_react["default"].createElement(_ErrorBoundary["default"],null,/*#__PURE__*/_react["default"].createElement("div",null,/*#__PURE__*/_react["default"].createElement("div",{id:"signature-pad",className:"m-signature-pad"},/*#__PURE__*/_react["default"].createElement("div",{className:"m-signature-pad--body"},/*#__PURE__*/_react["default"].createElement("canvas",null)),/*#__PURE__*/_react["default"].createElement("div",{className:"m-signature-pad--footer"},/*#__PURE__*/_react["default"].createElement("div",{className:"description"},/*#__PURE__*/_react["default"].createElement(_react2.Trans,{id:"Sign above"})),/*#__PURE__*/_react["default"].createElement("div",{className:"left"},/*#__PURE__*/_react["default"].createElement("button",{type:"button",className:"btn clear_btn clear","data-action":"clear"},/*#__PURE__*/_react["default"].createElement(_react2.Trans,{id:"Clear"}))),/*#__PURE__*/_react["default"].createElement("div",{className:"right"},/*#__PURE__*/_react["default"].createElement("button",{type:"button",className:"btn save_btn save","data-action":"save-png"},/*#__PURE__*/_react["default"].createElement(_react2.Trans,{id:"Save as PNG"})),/*#__PURE__*/_react["default"].createElement("button",{type:"button",className:"btn save_btn save","data-action":"save-svg"},/*#__PURE__*/_react["default"].createElement(_react2.Trans,{id:"Save as SVG"})))))))}}]),Signature}(_react.Component),_default=Signature;exports["default"]=_default;