"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")),_possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")),_getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")),_inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits")),_react=_interopRequireWildcard(require("react")),_signature_pad=_interopRequireDefault(require("signature_pad")),_ErrorBoundary=_interopRequireDefault(require("../../hoc/ErrorBoundary")),_react2=require("@lingui/react"),Signature=/*#__PURE__*/function(_Component){function Signature(){return(0,_classCallCheck2.default)(this,Signature),(0,_possibleConstructorReturn2.default)(this,(0,_getPrototypeOf2.default)(Signature).apply(this,arguments))}return(0,_inherits2.default)(Signature,_Component),(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 _react.default.createElement(_ErrorBoundary.default,null,_react.default.createElement("div",null,_react.default.createElement("div",{id:"signature-pad",className:"m-signature-pad"},_react.default.createElement("div",{className:"m-signature-pad--body"},_react.default.createElement("canvas",null)),_react.default.createElement("div",{className:"m-signature-pad--footer"},_react.default.createElement("div",{className:"description"},_react.default.createElement(_react2.Trans,{id:"Sign above"})),_react.default.createElement("div",{className:"left"},_react.default.createElement("button",{type:"button",className:"btn clear_btn clear","data-action":"clear"},_react.default.createElement(_react2.Trans,{id:"Clear"}))),_react.default.createElement("div",{className:"right"},_react.default.createElement("button",{type:"button",className:"btn save_btn save","data-action":"save-png"},_react.default.createElement(_react2.Trans,{id:"Save as PNG"})),_react.default.createElement("button",{type:"button",className:"btn save_btn save","data-action":"save-svg"},_react.default.createElement(_react2.Trans,{id:"Save as SVG"})))))))}}]),Signature}(_react.Component),_default=Signature;exports.default=_default;