').append(btn.title);\n }\n } else if (btn.list) {\n // Add button to list\n button.addClass('push_button');\n $('#' + btn.list + '_opts').append(button);\n if (btn.isDefault) {\n $('#cur_' + btn.list).append(button.children().clone());\n const svgicon = btn.svgicon || btn.id;\n placementObj['#cur_' + btn.list] = svgicon;\n }\n } else if (btn.includeWith) {\n // Add to flyout menu / make flyout menu\n const opts = btn.includeWith;\n // opts.button, default, position\n refBtn = $(opts.button);\n\n flyoutHolder = refBtn.parent();\n // Create a flyout menu if there isn't one already\n let tlsId;\n if (!refBtn.parent().hasClass('tools_flyout')) {\n // Create flyout placeholder\n tlsId = refBtn[0].id.replace('tool_', 'tools_');\n showBtn = refBtn.clone()\n .attr('id', tlsId + '_show')\n .append($('
', {class: 'flyout_arrow_horiz'}));\n\n refBtn.before(showBtn);\n // Create a flyout div\n flyoutHolder = makeFlyoutHolder(tlsId, refBtn);\n }\n\n refData = Actions.getButtonData(opts.button);\n\n if (opts.isDefault) {\n placementObj['#' + tlsId + '_show'] = btn.id;\n }\n // TODO: Find way to set the current icon using the iconloader if this is not default\n\n // Include data for extension button as well as ref button\n const curH = holders['#' + flyoutHolder[0].id] = [{\n sel: '#' + id,\n fn: btn.events.click,\n icon: btn.id,\n key: btn.key,\n isDefault: Boolean(btn.includeWith && btn.includeWith.isDefault)\n }, refData];\n\n // {sel:'#tool_rect', fn: clickRect, evt: 'mouseup', key: 4, parent: '#tools_rect', icon: 'rect'}\n\n const pos = ('position' in opts) ? opts.position : 'last';\n const len = flyoutHolder.children().length;\n\n // Add at given position or end\n if (!isNaN(pos) && pos >= 0 && pos < len) {\n flyoutHolder.children().eq(pos).before(button);\n } else {\n flyoutHolder.append(button);\n curH.reverse();\n }\n }\n\n if (!svgicons) {\n button.append(icon);\n }\n\n if (!btn.list) {\n // Add given events to button\n $.each(btn.events, function (name, func) {\n if (name === 'click' && btn.type === 'mode') {\n // `touch.js` changes `touchstart` to `mousedown`,\n // so we must map extension click events as well\n if (isTouch() && name === 'click') {\n name = 'mousedown';\n }\n if (btn.includeWith) {\n button.bind(name, func);\n } else {\n button.bind(name, function () {\n if (toolButtonClick(button)) {\n func();\n }\n });\n }\n if (btn.key) {\n $(document).bind('keydown', btn.key, func);\n if (btn.title) {\n button.attr('title', btn.title + ' [' + btn.key + ']');\n }\n }\n } else {\n button.bind(name, func);\n }\n });\n }\n\n setupFlyouts(holders);\n });\n\n $.each(btnSelects, function () {\n addAltDropDown(this.elem, this.list, this.callback, {seticon: true});\n });\n\n if (svgicons) {\n return new Promise((resolve, reject) => { // eslint-disable-line promise/avoid-new\n $.svgIcons(svgicons, {\n w: 24, h: 24,\n id_match: false,\n no_img: (!isWebkit()),\n fallback: fallbackObj,\n placement: placementObj,\n callback (icons) {\n // Non-ideal hack to make the icon match the current size\n // if (curPrefs.iconsize && curPrefs.iconsize !== 'm') {\n if (editor.pref('iconsize') !== 'm') {\n prepResize();\n }\n runCallback();\n resolve();\n }\n });\n });\n }\n }\n return runCallback();\n };\n\n /**\n * @param {string} color\n * @param {Float} opac\n * @param {string} type\n * @returns {module:jGraduate~Paint}\n */\n const getPaint = function (color, opac, type) {\n // update the editor's fill paint\n const opts = {alpha: opac};\n if (color.startsWith('url(#')) {\n let refElem = svgCanvas.getRefElem(color);\n if (refElem) {\n refElem = refElem.cloneNode(true);\n } else {\n refElem = $('#' + type + '_color defs *')[0];\n }\n opts[refElem.tagName] = refElem;\n } else if (color.startsWith('#')) {\n opts.solidColor = color.substr(1);\n } else {\n opts.solidColor = 'none';\n }\n return new $.jGraduate.Paint(opts);\n };\n\n // $('#text').focus(function () { textBeingEntered = true; });\n // $('#text').blur(function () { textBeingEntered = false; });\n\n // bind the selected event to our function that handles updates to the UI\n svgCanvas.bind('selected', selectedChanged);\n svgCanvas.bind('transition', elementTransition);\n svgCanvas.bind('changed', elementChanged);\n svgCanvas.bind('saved', saveHandler);\n svgCanvas.bind('exported', exportHandler);\n svgCanvas.bind('exportedPDF', function (win, data) {\n if (!data.output) { // Ignore Chrome\n return;\n }\n const {exportWindowName} = data;\n if (exportWindowName) {\n exportWindow = window.open('', exportWindowName); // A hack to get the window via JSON-able name without opening a new one\n }\n if (!exportWindow || exportWindow.closed) {\n /* await */ $.alert(uiStrings.notification.popupWindowBlocked);\n return;\n }\n exportWindow.location.href = data.output;\n });\n svgCanvas.bind('zoomed', zoomChanged);\n svgCanvas.bind('zoomDone', zoomDone);\n svgCanvas.bind(\n 'updateCanvas',\n /**\n * @param {external:Window} win\n * @param {PlainObject} centerInfo\n * @param {false} centerInfo.center\n * @param {module:math.XYObject} centerInfo.newCtr\n * @listens module:svgcanvas.SvgCanvas#event:updateCanvas\n * @returns {void}\n */\n function (win, {center, newCtr}) {\n updateCanvas(center, newCtr);\n }\n );\n svgCanvas.bind('contextset', contextChanged);\n svgCanvas.bind('extension_added', extAdded);\n svgCanvas.textActions.setInputElem($('#text')[0]);\n\n let str = '
';\n $.each(palette, function (i, item) {\n str += '
';\n });\n $('#palette').append(str);\n\n // Set up editor background functionality\n const colorBlocks = ['#FFF', '#888', '#000', 'chessboard'];\n str = '';\n $.each(colorBlocks, function (i, e) {\n if (e === 'chessboard') {\n str += '
';\n } else {\n str += '
';\n }\n });\n $('#bg_blocks').append(str);\n const blocks = $('#bg_blocks div');\n const curBg = 'cur_background';\n blocks.each(function () {\n const blk = $(this);\n blk.click(function () {\n blocks.removeClass(curBg);\n $(this).addClass(curBg);\n });\n });\n\n setBackground(editor.pref('bkgd_color'), editor.pref('bkgd_url'));\n\n $('#image_save_opts input').val([editor.pref('img_save')]);\n\n /**\n * @type {module:jQuerySpinButton.ValueCallback}\n */\n const changeRectRadius = function (ctl) {\n svgCanvas.setRectRadius(ctl.value);\n };\n\n /**\n * @type {module:jQuerySpinButton.ValueCallback}\n */\n const changeFontSize = function (ctl) {\n svgCanvas.setFontSize(ctl.value);\n };\n\n /**\n * @type {module:jQuerySpinButton.ValueCallback}\n */\n const changeStrokeWidth = function (ctl) {\n let val = ctl.value;\n if (val === 0 && selectedElement && ['line', 'polyline'].includes(selectedElement.nodeName)) {\n val = ctl.value = 1;\n }\n svgCanvas.setStrokeWidth(val);\n };\n\n /**\n * @type {module:jQuerySpinButton.ValueCallback}\n */\n const changeRotationAngle = function (ctl) {\n svgCanvas.setRotationAngle(ctl.value);\n $('#tool_reorient').toggleClass('disabled', Number.parseInt(ctl.value) === 0);\n };\n\n /**\n * @param {external:jQuery.fn.SpinButton} ctl Spin Button\n * @param {string} [val=ctl.value]\n * @returns {void}\n */\n const changeOpacity = function (ctl, val) {\n if (Utils.isNullish(val)) { val = ctl.value; }\n $('#group_opacity').val(val);\n if (!ctl || !ctl.handle) {\n $('#opac_slider').slider('option', 'value', val);\n }\n svgCanvas.setOpacity(val / 100);\n };\n\n /**\n * @param {external:jQuery.fn.SpinButton} ctl Spin Button\n * @param {string} [val=ctl.value]\n * @param {boolean} noUndo\n * @returns {void}\n */\n const changeBlur = function (ctl, val, noUndo) {\n if (Utils.isNullish(val)) { val = ctl.value; }\n $('#blur').val(val);\n let complete = false;\n if (!ctl || !ctl.handle) {\n $('#blur_slider').slider('option', 'value', val);\n complete = true;\n }\n if (noUndo) {\n svgCanvas.setBlurNoUndo(val);\n } else {\n svgCanvas.setBlur(val, complete);\n }\n };\n\n $('#stroke_style').change(function () {\n svgCanvas.setStrokeAttr('stroke-dasharray', $(this).val());\n operaRepaint();\n });\n\n $('#stroke_linejoin').change(function () {\n svgCanvas.setStrokeAttr('stroke-linejoin', $(this).val());\n operaRepaint();\n });\n\n // Lose focus for select elements when changed (Allows keyboard shortcuts to work better)\n $('select').change(function () { $(this).blur(); });\n\n // fired when user wants to move elements to another layer\n let promptMoveLayerOnce = false;\n $('#selLayerNames').change(async function () {\n const destLayer = this.options[this.selectedIndex].value;\n const confirmStr = uiStrings.notification.QmoveElemsToLayer.replace('%s', destLayer);\n /**\n * @param {boolean} ok\n * @returns {void}\n */\n const moveToLayer = function (ok) {\n if (!ok) { return; }\n promptMoveLayerOnce = true;\n svgCanvas.moveSelectedToLayer(destLayer);\n svgCanvas.clearSelection();\n populateLayers();\n };\n if (destLayer) {\n if (promptMoveLayerOnce) {\n moveToLayer(true);\n } else {\n const ok = await $.confirm(confirmStr);\n if (!ok) {\n return;\n }\n moveToLayer(true);\n }\n }\n });\n\n $('#font_family').change(function () {\n svgCanvas.setFontFamily(this.value);\n });\n\n $('#seg_type').change(function () {\n svgCanvas.setSegType($(this).val());\n });\n\n $('#text').bind('keyup input', function () {\n svgCanvas.setTextContent(this.value);\n });\n\n $('#image_url').change(function () {\n setImageURL(this.value);\n });\n\n $('#link_url').change(function () {\n if (this.value.length) {\n svgCanvas.setLinkURL(this.value);\n } else {\n svgCanvas.removeHyperlink();\n }\n });\n\n $('#g_title').change(function () {\n svgCanvas.setGroupTitle(this.value);\n });\n\n $('.attr_changer').change(function () {\n const attr = this.getAttribute('data-attr');\n let val = this.value;\n const valid = isValidUnit(attr, val, selectedElement);\n\n if (!valid) {\n this.value = selectedElement.getAttribute(attr);\n /* await */ $.alert(uiStrings.notification.invalidAttrValGiven);\n return false;\n }\n\n if (attr !== 'id' && attr !== 'class') {\n if (isNaN(val)) {\n val = svgCanvas.convertToNum(attr, val);\n } else if (curConfig.baseUnit !== 'px') {\n // Convert unitless value to one with given unit\n\n const unitData = getTypeMap();\n\n if (selectedElement[attr] || svgCanvas.getMode() === 'pathedit' || attr === 'x' || attr === 'y') {\n val *= unitData[curConfig.baseUnit];\n }\n }\n }\n\n // if the user is changing the id, then de-select the element first\n // change the ID, then re-select it with the new ID\n if (attr === 'id') {\n const elem = selectedElement;\n svgCanvas.clearSelection();\n elem.id = val;\n svgCanvas.addToSelection([elem], true);\n } else {\n svgCanvas.changeSelectedAttribute(attr, val);\n }\n this.blur();\n return true;\n });\n\n // Prevent selection of elements when shift-clicking\n $('#palette').mouseover(function () {\n const inp = $('
');\n $(this).append(inp);\n inp.focus().remove();\n });\n\n $('.palette_item').mousedown(function (evt) {\n // shift key or right click for stroke\n const picker = evt.shiftKey || evt.button === 2 ? 'stroke' : 'fill';\n let color = $(this).data('rgb');\n let paint;\n\n // Webkit-based browsers returned 'initial' here for no stroke\n if (color === 'none' || color === 'transparent' || color === 'initial') {\n color = 'none';\n paint = new $.jGraduate.Paint();\n } else {\n paint = new $.jGraduate.Paint({alpha: 100, solidColor: color.substr(1)});\n }\n\n paintBox[picker].setPaint(paint);\n svgCanvas.setColor(picker, color);\n\n if (color !== 'none' && svgCanvas.getPaintOpacity(picker) !== 1) {\n svgCanvas.setPaintOpacity(picker, 1.0);\n }\n updateToolButtonState();\n }).bind('contextmenu', function (e) { e.preventDefault(); });\n\n $('#toggle_stroke_tools').on('click', function () {\n $('#tools_bottom').toggleClass('expanded');\n });\n\n (function () {\n const wArea = workarea[0];\n\n let lastX = null, lastY = null,\n panning = false, keypan = false;\n\n $('#svgcanvas').bind('mousemove mouseup', function (evt) {\n if (panning === false) { return true; }\n\n wArea.scrollLeft -= (evt.clientX - lastX);\n wArea.scrollTop -= (evt.clientY - lastY);\n\n lastX = evt.clientX;\n lastY = evt.clientY;\n\n if (evt.type === 'mouseup') { panning = false; }\n return false;\n }).mousedown(function (evt) {\n if (evt.button === 1 || keypan === true) {\n panning = true;\n lastX = evt.clientX;\n lastY = evt.clientY;\n return false;\n }\n return true;\n });\n\n $(window).mouseup(function () {\n panning = false;\n });\n\n $(document).bind('keydown', 'space', function (evt) {\n svgCanvas.spaceKey = keypan = true;\n evt.preventDefault();\n }).bind('keyup', 'space', function (evt) {\n evt.preventDefault();\n svgCanvas.spaceKey = keypan = false;\n }).bind('keydown', 'shift', function (evt) {\n if (svgCanvas.getMode() === 'zoom') {\n workarea.css('cursor', zoomOutIcon);\n }\n }).bind('keyup', 'shift', function (evt) {\n if (svgCanvas.getMode() === 'zoom') {\n workarea.css('cursor', zoomInIcon);\n }\n });\n\n /**\n * @function module:SVGEditor.setPanning\n * @param {boolean} active\n * @returns {void}\n */\n editor.setPanning = function (active) {\n svgCanvas.spaceKey = keypan = active;\n };\n }());\n\n (function () {\n const button = $('#main_icon');\n const overlay = $('#main_icon span');\n const list = $('#main_menu');\n\n let onButton = false;\n let height = 0;\n let jsHover = true;\n let setClick = false;\n\n /*\n // Currently unused\n const hideMenu = function () {\n list.fadeOut(200);\n };\n */\n\n $(window).mouseup(function (evt) {\n if (!onButton) {\n button.removeClass('buttondown');\n // do not hide if it was the file input as that input needs to be visible\n // for its change event to fire\n if (evt.target.tagName !== 'INPUT') {\n list.fadeOut(200);\n } else if (!setClick) {\n setClick = true;\n $(evt.target).click(function () {\n list.css('margin-left', '-9999px').show();\n });\n }\n }\n onButton = false;\n }).mousedown(function (evt) {\n // $('.contextMenu').hide();\n const islib = $(evt.target).closest('div.tools_flyout, .contextMenu').length;\n if (!islib) {\n $('.tools_flyout:visible,.contextMenu').fadeOut(250);\n }\n });\n\n overlay.bind('mousedown', function () {\n if (!button.hasClass('buttondown')) {\n // Margin must be reset in case it was changed before;\n list.css('margin-left', 0).show();\n if (!height) {\n height = list.height();\n }\n // Using custom animation as slideDown has annoying 'bounce effect'\n list.css('height', 0).animate({\n height\n }, 200);\n onButton = true;\n } else {\n list.fadeOut(200);\n }\n button.toggleClass('buttondown buttonup');\n }).hover(function () {\n onButton = true;\n }).mouseout(function () {\n onButton = false;\n });\n\n const listItems = $('#main_menu li');\n\n // Check if JS method of hovering needs to be used (Webkit bug)\n listItems.mouseover(function () {\n jsHover = ($(this).css('background-color') === 'rgba(0, 0, 0, 0)');\n\n listItems.unbind('mouseover');\n if (jsHover) {\n listItems.mouseover(function () {\n this.style.backgroundColor = '#FFC';\n }).mouseout(function () {\n this.style.backgroundColor = 'transparent';\n return true;\n });\n }\n });\n }());\n // Made public for UI customization.\n // TODO: Group UI functions into a public editor.ui interface.\n /**\n * See {@link http://api.jquery.com/bind/#bind-eventType-eventData-handler}.\n * @callback module:SVGEditor.DropDownCallback\n * @param {external:jQuery.Event} ev See {@link http://api.jquery.com/Types/#Event}\n * @listens external:jQuery.Event\n * @returns {void|boolean} Calls `preventDefault()` and `stopPropagation()`\n */\n /**\n * @function module:SVGEditor.addDropDown\n * @param {Element|string} elem DOM Element or selector\n * @param {module:SVGEditor.DropDownCallback} callback Mouseup callback\n * @param {boolean} dropUp\n * @returns {void}\n */\n editor.addDropDown = function (elem, callback, dropUp) {\n if (!$(elem).length) { return; } // Quit if called on non-existent element\n const button = $(elem).find('button');\n const list = $(elem).find('ul').attr('id', $(elem)[0].id + '-list');\n if (dropUp) {\n $(elem).addClass('dropup');\n } else {\n // Move list to place where it can overflow container\n $('#option_lists').append(list);\n }\n list.find('li').bind('mouseup', callback);\n\n let onButton = false;\n $(window).mouseup(function (evt) {\n if (!onButton) {\n button.removeClass('down');\n list.hide();\n }\n onButton = false;\n });\n\n button.bind('mousedown', function () {\n if (!button.hasClass('down')) {\n if (!dropUp) {\n const pos = $(elem).position();\n list.css({\n top: pos.top + 24,\n left: pos.left - 10\n });\n }\n list.show();\n onButton = true;\n } else {\n list.hide();\n }\n button.toggleClass('down');\n }).hover(function () {\n onButton = true;\n }).mouseout(function () {\n onButton = false;\n });\n };\n\n editor.addDropDown('#font_family_dropdown', function () {\n $('#font_family').val($(this).text()).change();\n });\n\n editor.addDropDown('#opacity_dropdown', function () {\n if ($(this).find('div').length) { return; }\n const perc = Number.parseInt($(this).text().split('%')[0]);\n changeOpacity(false, perc);\n }, true);\n\n // For slider usage, see: http://jqueryui.com/demos/slider/\n $('#opac_slider').slider({\n start () {\n $('#opacity_dropdown li:not(.special)').hide();\n },\n stop () {\n $('#opacity_dropdown li').show();\n $(window).mouseup();\n },\n slide (evt, ui) {\n changeOpacity(ui);\n }\n });\n\n editor.addDropDown('#blur_dropdown', $.noop);\n\n let slideStart = false;\n $('#blur_slider').slider({\n max: 10,\n step: 0.1,\n stop (evt, ui) {\n slideStart = false;\n changeBlur(ui);\n $('#blur_dropdown li').show();\n $(window).mouseup();\n },\n start () {\n slideStart = true;\n },\n slide (evt, ui) {\n changeBlur(ui, null, slideStart);\n }\n });\n\n editor.addDropDown('#zoom_dropdown', function () {\n const item = $(this);\n const val = item.data('val');\n if (val) {\n zoomChanged(window, val);\n } else {\n changeZoom({value: Number.parseFloat(item.text())});\n }\n }, true);\n\n addAltDropDown('#stroke_linecap', '#linecap_opts', function () {\n setStrokeOpt(this, true);\n }, {dropUp: true});\n\n addAltDropDown('#stroke_linejoin', '#linejoin_opts', function () {\n setStrokeOpt(this, true);\n }, {dropUp: true});\n\n addAltDropDown('#tool_position', '#position_opts', function () {\n const letter = this.id.replace('tool_pos', '').charAt(0);\n svgCanvas.alignSelectedElements(letter, 'page');\n }, {multiclick: true});\n\n /*\n\n When a flyout icon is selected\n (if flyout) {\n - Change the icon\n - Make pressing the button run its stuff\n }\n - Run its stuff\n\n When its shortcut key is pressed\n - If not current in list, do as above\n , else:\n - Just run its stuff\n\n */\n\n // Unfocus text input when workarea is mousedowned.\n (function () {\n let inp;\n /**\n *\n * @returns {void}\n */\n const unfocus = function () {\n $(inp).blur();\n };\n\n $('#svg_editor').find('button, select, input:not(#text)').focus(function () {\n inp = this;\n uiContext = 'toolbars';\n workarea.mousedown(unfocus);\n }).blur(function () {\n uiContext = 'canvas';\n workarea.unbind('mousedown', unfocus);\n // Go back to selecting text if in textedit mode\n if (svgCanvas.getMode() === 'textedit') {\n $('#text').focus();\n }\n });\n }());\n\n /**\n *\n * @returns {void}\n */\n const clickFHPath = function () {\n if (toolButtonClick('#tool_fhpath')) {\n svgCanvas.setMode('fhpath');\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const clickLine = function () {\n if (toolButtonClick('#tool_line')) {\n svgCanvas.setMode('line');\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const clickSquare = function () {\n if (toolButtonClick('#tool_square')) {\n svgCanvas.setMode('square');\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const clickRect = function () {\n if (toolButtonClick('#tool_rect')) {\n svgCanvas.setMode('rect');\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const clickFHRect = function () {\n if (toolButtonClick('#tool_fhrect')) {\n svgCanvas.setMode('fhrect');\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const clickCircle = function () {\n if (toolButtonClick('#tool_circle')) {\n svgCanvas.setMode('circle');\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const clickEllipse = function () {\n if (toolButtonClick('#tool_ellipse')) {\n svgCanvas.setMode('ellipse');\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const clickFHEllipse = function () {\n if (toolButtonClick('#tool_fhellipse')) {\n svgCanvas.setMode('fhellipse');\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const clickImage = function () {\n if (toolButtonClick('#tool_image')) {\n svgCanvas.setMode('image');\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const clickZoom = function () {\n if (toolButtonClick('#tool_zoom')) {\n svgCanvas.setMode('zoom');\n workarea.css('cursor', zoomInIcon);\n }\n };\n\n /**\n * @param {Float} multiplier\n * @returns {void}\n */\n const zoomImage = function (multiplier) {\n const res = svgCanvas.getResolution();\n multiplier = multiplier ? res.zoom * multiplier : 1;\n // setResolution(res.w * multiplier, res.h * multiplier, true);\n $('#zoom').val(multiplier * 100);\n svgCanvas.setZoom(multiplier);\n zoomDone();\n updateCanvas(true);\n };\n\n /**\n *\n * @returns {void}\n */\n const dblclickZoom = function () {\n if (toolButtonClick('#tool_zoom')) {\n zoomImage();\n setSelectMode();\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const clickText = function () {\n if (toolButtonClick('#tool_text')) {\n svgCanvas.setMode('text');\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const clickPath = function () {\n if (toolButtonClick('#tool_path')) {\n svgCanvas.setMode('path');\n }\n };\n\n /**\n * Delete is a contextual tool that only appears in the ribbon if\n * an element has been selected.\n * @returns {void}\n */\n const deleteSelected = function () {\n if (!Utils.isNullish(selectedElement) || multiselected) {\n svgCanvas.deleteSelectedElements();\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const cutSelected = function () {\n if (!Utils.isNullish(selectedElement) || multiselected) {\n svgCanvas.cutSelectedElements();\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const copySelected = function () {\n if (!Utils.isNullish(selectedElement) || multiselected) {\n svgCanvas.copySelectedElements();\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const pasteInCenter = function () {\n const zoom = svgCanvas.getZoom();\n const x = (workarea[0].scrollLeft + workarea.width() / 2) / zoom - svgCanvas.contentW;\n const y = (workarea[0].scrollTop + workarea.height() / 2) / zoom - svgCanvas.contentH;\n svgCanvas.pasteElements('point', x, y);\n };\n\n /**\n *\n * @returns {void}\n */\n const moveToTopSelected = function () {\n if (!Utils.isNullish(selectedElement)) {\n svgCanvas.moveToTopSelectedElement();\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const moveToBottomSelected = function () {\n if (!Utils.isNullish(selectedElement)) {\n svgCanvas.moveToBottomSelectedElement();\n }\n };\n\n /**\n * @param {\"Up\"|\"Down\"} dir\n * @returns {void}\n */\n const moveUpDownSelected = function (dir) {\n if (!Utils.isNullish(selectedElement)) {\n svgCanvas.moveUpDownSelected(dir);\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const convertToPath = function () {\n if (!Utils.isNullish(selectedElement)) {\n svgCanvas.convertToPath();\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const reorientPath = function () {\n if (!Utils.isNullish(selectedElement)) {\n path.reorient();\n }\n };\n\n /**\n *\n * @returns {Promise
} Resolves to `undefined`\n */\n const makeHyperlink = async function () {\n if (!Utils.isNullish(selectedElement) || multiselected) {\n const url = await $.prompt(uiStrings.notification.enterNewLinkURL, 'http://');\n if (url) {\n svgCanvas.makeHyperlink(url);\n }\n }\n };\n\n /**\n * @param {Float} dx\n * @param {Float} dy\n * @returns {void}\n */\n const moveSelected = function (dx, dy) {\n if (!Utils.isNullish(selectedElement) || multiselected) {\n if (curConfig.gridSnapping) {\n // Use grid snap value regardless of zoom level\n const multi = svgCanvas.getZoom() * curConfig.snappingStep;\n dx *= multi;\n dy *= multi;\n }\n svgCanvas.moveSelectedElements(dx, dy);\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const linkControlPoints = function () {\n $('#tool_node_link').toggleClass('push_button_pressed tool_button');\n const linked = $('#tool_node_link').hasClass('push_button_pressed');\n path.linkControlPoints(linked);\n };\n\n /**\n *\n * @returns {void}\n */\n const clonePathNode = function () {\n if (path.getNodePoint()) {\n path.clonePathNode();\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const deletePathNode = function () {\n if (path.getNodePoint()) {\n path.deletePathNode();\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const addSubPath = function () {\n const button = $('#tool_add_subpath');\n const sp = !button.hasClass('push_button_pressed');\n button.toggleClass('push_button_pressed tool_button');\n path.addSubPath(sp);\n };\n\n /**\n *\n * @returns {void}\n */\n const opencloseSubPath = function () {\n path.opencloseSubPath();\n };\n\n /**\n *\n * @returns {void}\n */\n const selectNext = function () {\n svgCanvas.cycleElement(1);\n };\n\n /**\n *\n * @returns {void}\n */\n const selectPrev = function () {\n svgCanvas.cycleElement(0);\n };\n\n /**\n * @param {0|1} cw\n * @param {Integer} step\n * @returns {void}\n */\n const rotateSelected = function (cw, step) {\n if (Utils.isNullish(selectedElement) || multiselected) { return; }\n if (!cw) { step *= -1; }\n const angle = Number.parseFloat($('#angle').val()) + step;\n svgCanvas.setRotationAngle(angle);\n updateContextPanel();\n };\n\n /**\n * @fires module:svgcanvas.SvgCanvas#event:ext_onNewDocument\n * @returns {Promise} Resolves to `undefined`\n */\n const clickClear = async function () {\n const [x, y] = curConfig.dimensions;\n const ok = await $.confirm(uiStrings.notification.QwantToClear);\n if (!ok) {\n return;\n }\n setSelectMode();\n svgCanvas.clear();\n svgCanvas.setResolution(x, y);\n updateCanvas(true);\n zoomImage();\n populateLayers();\n updateContextPanel();\n prepPaints();\n svgCanvas.runExtensions('onNewDocument');\n };\n\n /**\n *\n * @returns {false}\n */\n const clickBold = function () {\n svgCanvas.setBold(!svgCanvas.getBold());\n updateContextPanel();\n return false;\n };\n\n /**\n *\n * @returns {false}\n */\n const clickItalic = function () {\n svgCanvas.setItalic(!svgCanvas.getItalic());\n updateContextPanel();\n return false;\n };\n\n /**\n *\n * @returns {void}\n */\n const clickSave = function () {\n // In the future, more options can be provided here\n const saveOpts = {\n images: editor.pref('img_save'),\n round_digits: 6\n };\n svgCanvas.save(saveOpts);\n };\n\n let loadingURL;\n /**\n *\n * @returns {Promise} Resolves to `undefined`\n */\n const clickExport = async function () {\n const imgType = await $.select('Select an image type for export: ', [\n // See http://kangax.github.io/jstests/toDataUrl_mime_type_test/ for a useful list of MIME types and browser support\n // 'ICO', // Todo: Find a way to preserve transparency in SVG-Edit if not working presently and do full packaging for x-icon; then switch back to position after 'PNG'\n 'PNG',\n 'JPEG', 'BMP', 'WEBP', 'PDF'\n ], function () {\n const sel = $(this);\n if (sel.val() === 'JPEG' || sel.val() === 'WEBP') {\n if (!$('#image-slider').length) {\n $(``).appendTo(sel.parent());\n }\n } else {\n $('#image-slider').parent().remove();\n }\n }); // todo: replace hard-coded msg with uiStrings.notification.\n if (!imgType) {\n return;\n }\n // Open placeholder window (prevents popup)\n let exportWindowName;\n\n /**\n *\n * @returns {void}\n */\n function openExportWindow () {\n const {loadingImage} = uiStrings.notification;\n if (curConfig.exportWindowType === 'new') {\n editor.exportWindowCt++;\n }\n exportWindowName = curConfig.canvasName + editor.exportWindowCt;\n let popHTML, popURL;\n if (loadingURL) {\n popURL = loadingURL;\n } else {\n popHTML = `\n \n \n ${loadingImage}\n \n ${loadingImage}
\n `;\n if (typeof URL !== 'undefined' && URL.createObjectURL) {\n const blob = new Blob([popHTML], {type: 'text/html'});\n popURL = URL.createObjectURL(blob);\n } else {\n popURL = 'data:text/html;base64;charset=utf-8,' + Utils.encode64(popHTML);\n }\n loadingURL = popURL;\n }\n exportWindow = window.open(popURL, exportWindowName);\n }\n const chrome = isChrome();\n if (imgType === 'PDF') {\n if (!customExportPDF && !chrome) {\n openExportWindow();\n }\n svgCanvas.exportPDF(exportWindowName);\n } else {\n if (!customExportImage) {\n openExportWindow();\n }\n const quality = Number.parseInt($('#image-slider').val()) / 100;\n /* const results = */ await svgCanvas.rasterExport(imgType, quality, exportWindowName);\n }\n };\n\n /**\n * By default, svgCanvas.open() is a no-op. It is up to an extension\n * mechanism (opera widget, etc.) to call `setCustomHandlers()` which\n * will make it do something.\n * @returns {void}\n */\n const clickOpen = function () {\n svgCanvas.open();\n };\n\n /**\n *\n * @returns {void}\n */\n const clickImport = function () {\n /* */\n };\n\n /**\n *\n * @returns {void}\n */\n const clickUndo = function () {\n if (undoMgr.getUndoStackSize() > 0) {\n undoMgr.undo();\n populateLayers();\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const clickRedo = function () {\n if (undoMgr.getRedoStackSize() > 0) {\n undoMgr.redo();\n populateLayers();\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const clickGroup = function () {\n // group\n if (multiselected) {\n svgCanvas.groupSelectedElements();\n // ungroup\n } else if (selectedElement) {\n svgCanvas.ungroupSelectedElement();\n }\n };\n\n /**\n *\n * @returns {void}\n */\n const clickClone = function () {\n svgCanvas.cloneSelectedElements(20, 20);\n };\n\n /**\n *\n * @returns {void}\n */\n const clickAlign = function () {\n const letter = this.id.replace('tool_align', '').charAt(0);\n svgCanvas.alignSelectedElements(letter, $('#align_relative_to').val());\n };\n\n /**\n *\n * @returns {void}\n */\n const clickWireframe = function () {\n $('#tool_wireframe').toggleClass('push_button_pressed tool_button');\n workarea.toggleClass('wireframe');\n\n if (supportsNonSS) { return; }\n const wfRules = $('#wireframe_rules');\n if (!wfRules.length) {\n /* wfRules = */ $('').appendTo('head');\n } else {\n wfRules.empty();\n }\n\n updateWireFrame();\n };\n\n $('#svg_docprops_container, #svg_prefs_container').draggable({\n cancel: 'button,fieldset',\n containment: 'window'\n }).css('position', 'absolute');\n\n let docprops = false;\n let preferences = false;\n\n /**\n *\n * @returns {void}\n */\n const showDocProperties = function () {\n if (docprops) { return; }\n docprops = true;\n\n // This selects the correct radio button by using the array notation\n $('#image_save_opts input').val([editor.pref('img_save')]);\n\n // update resolution option with actual resolution\n const res = svgCanvas.getResolution();\n if (curConfig.baseUnit !== 'px') {\n res.w = convertUnit(res.w) + curConfig.baseUnit;\n res.h = convertUnit(res.h) + curConfig.baseUnit;\n }\n\n $('#canvas_width').val(res.w);\n $('#canvas_height').val(res.h);\n $('#canvas_title').val(svgCanvas.getDocumentTitle());\n\n $('#svg_docprops').show();\n };\n\n /**\n *\n * @returns {void}\n */\n const showPreferences = function () {\n if (preferences) { return; }\n preferences = true;\n $('#main_menu').hide();\n\n // Update background color with current one\n const canvasBg = curPrefs.bkgd_color;\n const url = editor.pref('bkgd_url');\n blocks.each(function () {\n const blk = $(this);\n const isBg = blk.data('bgcolor') === canvasBg;\n blk.toggleClass(curBg, isBg);\n });\n if (!canvasBg) { blocks.eq(0).addClass(curBg); }\n if (url) {\n $('#canvas_bg_url').val(url);\n }\n $('#grid_snapping_on').prop('checked', curConfig.gridSnapping);\n $('#grid_snapping_step').attr('value', curConfig.snappingStep);\n $('#grid_color').attr('value', curConfig.gridColor);\n\n $('#svg_prefs').show();\n };\n\n /**\n *\n * @returns {void}\n */\n const openHomePage = function () {\n window.open(homePage, '_blank');\n };\n\n /**\n *\n * @returns {void}\n */\n const hideSourceEditor = function () {\n $('#svg_source_editor').hide();\n editingsource = false;\n $('#svg_source_textarea').blur();\n };\n\n /**\n *\n * @returns {Promise} Resolves to `undefined`\n */\n const saveSourceEditor = async function () {\n if (!editingsource) { return; }\n\n const saveChanges = function () {\n svgCanvas.clearSelection();\n hideSourceEditor();\n zoomImage();\n populateLayers();\n updateTitle();\n prepPaints();\n };\n\n if (!svgCanvas.setSvgString($('#svg_source_textarea').val())) {\n const ok = await $.confirm(uiStrings.notification.QerrorsRevertToSource);\n if (!ok) {\n return;\n }\n saveChanges();\n return;\n }\n saveChanges();\n setSelectMode();\n };\n\n /**\n *\n * @returns {void}\n */\n const hideDocProperties = function () {\n $('#svg_docprops').hide();\n $('#canvas_width,#canvas_height').removeAttr('disabled');\n $('#resolution')[0].selectedIndex = 0;\n $('#image_save_opts input').val([editor.pref('img_save')]);\n docprops = false;\n };\n\n /**\n *\n * @returns {void}\n */\n const hidePreferences = function () {\n $('#svg_prefs').hide();\n preferences = false;\n };\n\n /**\n *\n * @returns {boolean} Whether there were problems saving the document properties\n */\n const saveDocProperties = function () {\n // set title\n const newTitle = $('#canvas_title').val();\n updateTitle(newTitle);\n svgCanvas.setDocumentTitle(newTitle);\n\n // update resolution\n const width = $('#canvas_width'), w = width.val();\n const height = $('#canvas_height'), h = height.val();\n\n if (w !== 'fit' && !isValidUnit('width', w)) {\n width.parent().addClass('error');\n /* await */ $.alert(uiStrings.notification.invalidAttrValGiven);\n return false;\n }\n\n width.parent().removeClass('error');\n\n if (h !== 'fit' && !isValidUnit('height', h)) {\n height.parent().addClass('error');\n /* await */ $.alert(uiStrings.notification.invalidAttrValGiven);\n return false;\n }\n\n height.parent().removeClass('error');\n\n if (!svgCanvas.setResolution(w, h)) {\n /* await */ $.alert(uiStrings.notification.noContentToFitTo);\n return false;\n }\n\n // Set image save option\n editor.pref('img_save', $('#image_save_opts :checked').val());\n updateCanvas();\n hideDocProperties();\n return true;\n };\n\n /**\n * Save user preferences based on current values in the UI.\n * @function module:SVGEditor.savePreferences\n * @returns {Promise}\n */\n const savePreferences = editor.savePreferences = async function () {\n // Set background\n const color = $('#bg_blocks div.cur_background').data('bgcolor') || '#FFF';\n setBackground(color, $('#canvas_bg_url').val());\n\n // set language\n const lang = $('#lang_select').val();\n if (lang && lang !== editor.pref('lang')) {\n const {langParam, langData} = await editor.putLocale(lang, goodLangs, curConfig);\n await setLang(langParam, langData);\n }\n\n // set icon size\n setIconSize($('#iconsize').val());\n\n // set grid setting\n curConfig.gridSnapping = $('#grid_snapping_on')[0].checked;\n curConfig.snappingStep = $('#grid_snapping_step').val();\n curConfig.gridColor = $('#grid_color').val();\n curConfig.showRulers = $('#show_rulers')[0].checked;\n\n $('#rulers').toggle(curConfig.showRulers);\n if (curConfig.showRulers) { updateRulers(); }\n curConfig.baseUnit = $('#base_unit').val();\n\n svgCanvas.setConfig(curConfig);\n\n updateCanvas();\n hidePreferences();\n };\n\n let resetScrollPos = $.noop;\n\n /**\n *\n * @returns {Promise} Resolves to `undefined`\n */\n const cancelOverlays = async function () {\n $('#dialog_box').hide();\n if (!editingsource && !docprops && !preferences) {\n if (curContext) {\n svgCanvas.leaveContext();\n }\n return;\n }\n\n if (editingsource) {\n if (origSource !== $('#svg_source_textarea').val()) {\n const ok = await $.confirm(uiStrings.notification.QignoreSourceChanges);\n if (ok) {\n hideSourceEditor();\n }\n } else {\n hideSourceEditor();\n }\n } else if (docprops) {\n hideDocProperties();\n } else if (preferences) {\n hidePreferences();\n }\n resetScrollPos();\n };\n\n const winWh = {width: $(window).width(), height: $(window).height()};\n\n // Fix for Issue 781: Drawing area jumps to top-left corner on window resize (IE9)\n if (isIE()) {\n resetScrollPos = function () {\n if (workarea[0].scrollLeft === 0 && workarea[0].scrollTop === 0) {\n workarea[0].scrollLeft = curScrollPos.left;\n workarea[0].scrollTop = curScrollPos.top;\n }\n };\n\n curScrollPos = {\n left: workarea[0].scrollLeft,\n top: workarea[0].scrollTop\n };\n\n $(window).resize(resetScrollPos);\n editor.ready(function () {\n // TODO: Find better way to detect when to do this to minimize\n // flickering effect\n return new Promise((resolve, reject) => { // eslint-disable-line promise/avoid-new\n setTimeout(function () {\n resetScrollPos();\n resolve();\n }, 500);\n });\n });\n\n workarea.scroll(function () {\n curScrollPos = {\n left: workarea[0].scrollLeft,\n top: workarea[0].scrollTop\n };\n });\n }\n\n $(window).resize(function (evt) {\n $.each(winWh, function (type, val) {\n const curval = $(window)[type]();\n workarea[0]['scroll' + (type === 'width' ? 'Left' : 'Top')] -= (curval - val) / 2;\n winWh[type] = curval;\n });\n setFlyoutPositions();\n });\n\n workarea.scroll(function () {\n // TODO: jQuery's scrollLeft/Top() wouldn't require a null check\n if ($('#ruler_x').length) {\n $('#ruler_x')[0].scrollLeft = workarea[0].scrollLeft;\n }\n if ($('#ruler_y').length) {\n $('#ruler_y')[0].scrollTop = workarea[0].scrollTop;\n }\n });\n\n $('#url_notice').click(function () {\n /* await */ $.alert(this.title);\n });\n\n $('#change_image_url').click(promptImgURL);\n\n // added these event handlers for all the push buttons so they\n // behave more like buttons being pressed-in and not images\n (function () {\n const toolnames = [\n 'clear', 'open', 'save', 'source', 'delete',\n 'delete_multi', 'paste', 'clone', 'clone_multi',\n 'move_top', 'move_bottom'\n ];\n const curClass = 'tool_button_current';\n\n let allTools = '';\n\n $.each(toolnames, function (i, item) {\n allTools += (i ? ',' : '') + '#tool_' + item;\n });\n\n $(allTools).mousedown(function () {\n $(this).addClass(curClass);\n }).bind('mousedown mouseout', function () {\n $(this).removeClass(curClass);\n });\n\n $('#tool_undo, #tool_redo').mousedown(function () {\n if (!$(this).hasClass('disabled')) { $(this).addClass(curClass); }\n }).bind('mousedown mouseout', function () {\n $(this).removeClass(curClass);\n });\n }());\n\n // switch modifier key in tooltips if mac\n // NOTE: This code is not used yet until I can figure out how to successfully bind ctrl/meta\n // in Opera and Chrome\n if (isMac() && !window.opera) {\n const shortcutButtons = [\n 'tool_clear', 'tool_save', 'tool_source',\n 'tool_undo', 'tool_redo', 'tool_clone'\n ];\n let i = shortcutButtons.length;\n while (i--) {\n const button = document.getElementById(shortcutButtons[i]);\n if (button) {\n const {title} = button;\n const index = title.indexOf('Ctrl+');\n button.title = [\n title.substr(0, index),\n 'Cmd+',\n title.substr(index + 5)\n ].join('');\n }\n }\n }\n\n /**\n * @param {external:jQuery} elem\n * @todo Go back to the color boxes having white background-color and then setting\n * background-image to none.png (otherwise partially transparent gradients look weird)\n * @returns {void}\n */\n const colorPicker = function (elem) {\n const picker = elem.attr('id') === 'stroke_color' ? 'stroke' : 'fill';\n // const opacity = (picker == 'stroke' ? $('#stroke_opacity') : $('#fill_opacity'));\n const title = picker === 'stroke'\n ? uiStrings.ui.pick_stroke_paint_opacity\n : uiStrings.ui.pick_fill_paint_opacity;\n // let wasNone = false; // Currently unused\n const pos = elem.offset();\n let {paint} = paintBox[picker];\n $('#color_picker')\n .draggable({\n cancel: '.jGraduate_tabs, .jGraduate_colPick, .jGraduate_gradPick, .jPicker',\n containment: 'window'\n })\n .css(curConfig.colorPickerCSS || {left: pos.left - 140, bottom: 40})\n .jGraduate(\n {\n paint,\n window: {pickerTitle: title},\n images: {clientPath: curConfig.jGraduatePath},\n newstop: 'inverse'\n },\n function (p) {\n paint = new $.jGraduate.Paint(p);\n paintBox[picker].setPaint(paint);\n svgCanvas.setPaint(picker, paint);\n $('#color_picker').hide();\n },\n function () {\n $('#color_picker').hide();\n }\n );\n };\n\n /**\n * Paint box class.\n */\n class PaintBox {\n /**\n * @param {string|Element|external:jQuery} container\n * @param {\"fill\"} type\n */\n constructor (container, type) {\n const cur = curConfig[type === 'fill' ? 'initFill' : 'initStroke'];\n // set up gradients to be used for the buttons\n const svgdocbox = new DOMParser().parseFromString(\n ``,\n 'text/xml'\n );\n\n let docElem = svgdocbox.documentElement;\n docElem = $(container)[0].appendChild(document.importNode(docElem, true));\n docElem.setAttribute('width', 16.5);\n\n this.rect = docElem.firstElementChild;\n this.defs = docElem.getElementsByTagName('defs')[0];\n this.grad = this.defs.firstElementChild;\n this.paint = new $.jGraduate.Paint({solidColor: cur.color});\n this.type = type;\n }\n\n /**\n * @param {module:jGraduate~Paint} paint\n * @param {boolean} apply\n * @returns {void}\n */\n setPaint (paint, apply) {\n this.paint = paint;\n\n const ptype = paint.type;\n const opac = paint.alpha / 100;\n\n let fillAttr = 'none';\n switch (ptype) {\n case 'solidColor':\n fillAttr = (paint[ptype] !== 'none') ? '#' + paint[ptype] : paint[ptype];\n break;\n case 'linearGradient':\n case 'radialGradient': {\n this.grad.remove();\n this.grad = this.defs.appendChild(paint[ptype]);\n const id = this.grad.id = 'gradbox_' + this.type;\n fillAttr = 'url(#' + id + ')';\n break;\n }\n }\n\n this.rect.setAttribute('fill', fillAttr);\n this.rect.setAttribute('opacity', opac);\n\n if (apply) {\n svgCanvas.setColor(this.type, this._paintColor, true);\n svgCanvas.setPaintOpacity(this.type, this._paintOpacity, true);\n }\n }\n\n /**\n * @param {boolean} apply\n * @returns {void}\n */\n update (apply) {\n if (!selectedElement) { return; }\n\n const {type} = this;\n switch (selectedElement.tagName) {\n case 'use':\n case 'image':\n case 'foreignObject':\n // These elements don't have fill or stroke, so don't change\n // the current value\n return;\n case 'g':\n case 'a': {\n const childs = selectedElement.getElementsByTagName('*');\n\n let gPaint = null;\n for (let i = 0, len = childs.length; i < len; i++) {\n const elem = childs[i];\n const p = elem.getAttribute(type);\n if (i === 0) {\n gPaint = p;\n } else if (gPaint !== p) {\n gPaint = null;\n break;\n }\n }\n\n if (gPaint === null) {\n // No common color, don't update anything\n this._paintColor = null;\n return;\n }\n this._paintColor = gPaint;\n this._paintOpacity = 1;\n break;\n } default: {\n this._paintOpacity = Number.parseFloat(selectedElement.getAttribute(type + '-opacity'));\n if (Number.isNaN(this._paintOpacity)) {\n this._paintOpacity = 1.0;\n }\n\n const defColor = type === 'fill' ? 'black' : 'none';\n this._paintColor = selectedElement.getAttribute(type) || defColor;\n }\n }\n\n if (apply) {\n svgCanvas.setColor(type, this._paintColor, true);\n svgCanvas.setPaintOpacity(type, this._paintOpacity, true);\n }\n\n this._paintOpacity *= 100;\n\n const paint = getPaint(this._paintColor, this._paintOpacity, type);\n // update the rect inside #fill_color/#stroke_color\n this.setPaint(paint);\n }\n\n /**\n * @returns {void}\n */\n prep () {\n const ptype = this.paint.type;\n\n switch (ptype) {\n case 'linearGradient':\n case 'radialGradient': {\n const paint = new $.jGraduate.Paint({copy: this.paint});\n svgCanvas.setPaint(this.type, paint);\n break;\n }\n }\n }\n }\n PaintBox.ctr = 0;\n\n paintBox.fill = new PaintBox('#fill_color', 'fill');\n paintBox.stroke = new PaintBox('#stroke_color', 'stroke');\n\n $('#stroke_width').val(curConfig.initStroke.width);\n $('#group_opacity').val(curConfig.initOpacity * 100);\n\n // Use this SVG elem to test vectorEffect support\n const testEl = paintBox.fill.rect.cloneNode(false);\n testEl.setAttribute('style', 'vector-effect:non-scaling-stroke');\n const supportsNonSS = (testEl.style.vectorEffect === 'non-scaling-stroke');\n testEl.removeAttribute('style');\n const svgdocbox = paintBox.fill.rect.ownerDocument;\n // Use this to test support for blur element. Seems to work to test support in Webkit\n const blurTest = svgdocbox.createElementNS(NS.SVG, 'feGaussianBlur');\n if (blurTest.stdDeviationX === undefined) {\n $('#tool_blur').hide();\n }\n $(blurTest).remove();\n\n // Test for zoom icon support\n (function () {\n const pre = '-' + uaPrefix.toLowerCase() + '-zoom-';\n const zoom = pre + 'in';\n workarea.css('cursor', zoom);\n if (workarea.css('cursor') === zoom) {\n zoomInIcon = zoom;\n zoomOutIcon = pre + 'out';\n }\n workarea.css('cursor', 'auto');\n }());\n\n // Test for embedImage support (use timeout to not interfere with page load)\n setTimeout(function () {\n svgCanvas.embedImage('images/logo.png', function (datauri) {\n if (!datauri) {\n // Disable option\n $('#image_save_opts [value=embed]').attr('disabled', 'disabled');\n $('#image_save_opts input').val(['ref']);\n editor.pref('img_save', 'ref');\n $('#image_opt_embed').css('color', '#666').attr(\n 'title',\n uiStrings.notification.featNotSupported\n );\n }\n });\n }, 1000);\n\n $('#fill_color, #tool_fill .icon_label').click(function () {\n colorPicker($('#fill_color'));\n updateToolButtonState();\n });\n\n $('#stroke_color, #tool_stroke .icon_label').click(function () {\n colorPicker($('#stroke_color'));\n updateToolButtonState();\n });\n\n $('#group_opacityLabel').click(function () {\n $('#opacity_dropdown button').mousedown();\n $(window).mouseup();\n });\n\n $('#zoomLabel').click(function () {\n $('#zoom_dropdown button').mousedown();\n $(window).mouseup();\n });\n\n $('#tool_move_top').mousedown(function (evt) {\n $('#tools_stacking').show();\n evt.preventDefault();\n });\n\n $('.layer_button').mousedown(function () {\n $(this).addClass('layer_buttonpressed');\n }).mouseout(function () {\n $(this).removeClass('layer_buttonpressed');\n }).mouseup(function () {\n $(this).removeClass('layer_buttonpressed');\n });\n\n $('.push_button').mousedown(function () {\n if (!$(this).hasClass('disabled')) {\n $(this).addClass('push_button_pressed').removeClass('push_button');\n }\n }).mouseout(function () {\n $(this).removeClass('push_button_pressed').addClass('push_button');\n }).mouseup(function () {\n $(this).removeClass('push_button_pressed').addClass('push_button');\n });\n\n // ask for a layer name\n $('#layer_new').click(async function () {\n let uniqName,\n i = svgCanvas.getCurrentDrawing().getNumLayers();\n do {\n uniqName = uiStrings.layers.layer + ' ' + (++i);\n } while (svgCanvas.getCurrentDrawing().hasLayer(uniqName));\n\n const newName = await $.prompt(uiStrings.notification.enterUniqueLayerName, uniqName);\n if (!newName) { return; }\n if (svgCanvas.getCurrentDrawing().hasLayer(newName)) {\n /* await */ $.alert(uiStrings.notification.dupeLayerName);\n return;\n }\n svgCanvas.createLayer(newName);\n updateContextPanel();\n populateLayers();\n });\n\n /**\n *\n * @returns {void}\n */\n function deleteLayer () {\n if (svgCanvas.deleteCurrentLayer()) {\n updateContextPanel();\n populateLayers();\n // This matches what SvgCanvas does\n // TODO: make this behavior less brittle (svg-editor should get which\n // layer is selected from the canvas and then select that one in the UI)\n $('#layerlist tr.layer').removeClass('layersel');\n $('#layerlist tr.layer:first').addClass('layersel');\n }\n }\n\n /**\n *\n * @returns {Promise}\n */\n async function cloneLayer () {\n const name = svgCanvas.getCurrentDrawing().getCurrentLayerName() + ' copy';\n\n const newName = await $.prompt(uiStrings.notification.enterUniqueLayerName, name);\n if (!newName) { return; }\n if (svgCanvas.getCurrentDrawing().hasLayer(newName)) {\n /* await */ $.alert(uiStrings.notification.dupeLayerName);\n return;\n }\n svgCanvas.cloneLayer(newName);\n updateContextPanel();\n populateLayers();\n }\n\n /**\n *\n * @returns {void}\n */\n function mergeLayer () {\n if ($('#layerlist tr.layersel').index() === svgCanvas.getCurrentDrawing().getNumLayers() - 1) {\n return;\n }\n svgCanvas.mergeLayer();\n updateContextPanel();\n populateLayers();\n }\n\n /**\n * @param {Integer} pos\n * @returns {void}\n */\n function moveLayer (pos) {\n const total = svgCanvas.getCurrentDrawing().getNumLayers();\n\n let curIndex = $('#layerlist tr.layersel').index();\n if (curIndex > 0 || curIndex < total - 1) {\n curIndex += pos;\n svgCanvas.setCurrentLayerPosition(total - curIndex - 1);\n populateLayers();\n }\n }\n\n $('#layer_delete').click(deleteLayer);\n\n $('#layer_up').click(() => {\n moveLayer(-1);\n });\n\n $('#layer_down').click(() => {\n moveLayer(1);\n });\n\n $('#layer_rename').click(async function () {\n // const curIndex = $('#layerlist tr.layersel').prevAll().length; // Currently unused\n const oldName = $('#layerlist tr.layersel td.layername').text();\n const newName = await $.prompt(uiStrings.notification.enterNewLayerName, '');\n if (!newName) { return; }\n if (oldName === newName || svgCanvas.getCurrentDrawing().hasLayer(newName)) {\n /* await */ $.alert(uiStrings.notification.layerHasThatName);\n return;\n }\n\n svgCanvas.renameCurrentLayer(newName);\n populateLayers();\n });\n\n const SIDEPANEL_MAXWIDTH = 300;\n const SIDEPANEL_OPENWIDTH = 150;\n let sidedrag = -1, sidedragging = false, allowmove = false;\n\n /**\n * @param {Float} delta\n * @fires module:svgcanvas.SvgCanvas#event:ext_workareaResized\n * @returns {void}\n */\n const changeSidePanelWidth = function (delta) {\n const rulerX = $('#ruler_x');\n $('#sidepanels').width('+=' + delta);\n $('#layerpanel').width('+=' + delta);\n rulerX.css('right', Number.parseInt(rulerX.css('right')) + delta);\n workarea.css('right', Number.parseInt(workarea.css('right')) + delta);\n svgCanvas.runExtensions('workareaResized');\n };\n\n /**\n * @param {Event} evt\n * @returns {void}\n */\n const resizeSidePanel = function (evt) {\n if (!allowmove) { return; }\n if (sidedrag === -1) { return; }\n sidedragging = true;\n let deltaX = sidedrag - evt.pageX;\n const sideWidth = $('#sidepanels').width();\n if (sideWidth + deltaX > SIDEPANEL_MAXWIDTH) {\n deltaX = SIDEPANEL_MAXWIDTH - sideWidth;\n // sideWidth = SIDEPANEL_MAXWIDTH;\n } else if (sideWidth + deltaX < 2) {\n deltaX = 2 - sideWidth;\n // sideWidth = 2;\n }\n if (deltaX === 0) { return; }\n sidedrag -= deltaX;\n changeSidePanelWidth(deltaX);\n };\n\n /**\n * If width is non-zero, then fully close it; otherwise fully open it.\n * @param {boolean} close Forces the side panel closed\n * @returns {void}\n */\n const toggleSidePanel = function (close) {\n const dpr = window.devicePixelRatio || 1;\n const w = $('#sidepanels').width();\n const isOpened = (dpr < 1 ? w : w / dpr) > 2;\n const zoomAdjustedSidepanelWidth = (dpr < 1 ? 1 : dpr) * SIDEPANEL_OPENWIDTH;\n const deltaX = (isOpened || close ? 0 : zoomAdjustedSidepanelWidth) - w;\n changeSidePanelWidth(deltaX);\n };\n\n $('#sidepanel_handle')\n .mousedown(function (evt) {\n sidedrag = evt.pageX;\n $(window).mousemove(resizeSidePanel);\n allowmove = false;\n // Silly hack for Chrome, which always runs mousemove right after mousedown\n setTimeout(function () {\n allowmove = true;\n }, 20);\n })\n .mouseup(function (evt) {\n if (!sidedragging) { toggleSidePanel(); }\n sidedrag = -1;\n sidedragging = false;\n });\n\n $(window).mouseup(function () {\n sidedrag = -1;\n sidedragging = false;\n $('#svg_editor').unbind('mousemove', resizeSidePanel);\n });\n\n populateLayers();\n\n // function changeResolution (x,y) {\n // const {zoom} = svgCanvas.getResolution();\n // setResolution(x * zoom, y * zoom);\n // }\n\n const centerCanvas = () => {\n // this centers the canvas vertically in the workarea (horizontal handled in CSS)\n workarea.css('line-height', workarea.height() + 'px');\n };\n\n $(window).bind('load resize', centerCanvas);\n\n /**\n * @type {module:jQuerySpinButton.StepCallback}\n */\n function stepFontSize (elem, step) {\n const origVal = Number(elem.value);\n const sugVal = origVal + step;\n const increasing = sugVal >= origVal;\n if (step === 0) { return origVal; }\n\n if (origVal >= 24) {\n if (increasing) {\n return Math.round(origVal * 1.1);\n }\n return Math.round(origVal / 1.1);\n }\n if (origVal <= 1) {\n if (increasing) {\n return origVal * 2;\n }\n return origVal / 2;\n }\n return sugVal;\n }\n\n /**\n * @type {module:jQuerySpinButton.StepCallback}\n */\n function stepZoom (elem, step) {\n const origVal = Number(elem.value);\n if (origVal === 0) { return 100; }\n const sugVal = origVal + step;\n if (step === 0) { return origVal; }\n\n if (origVal >= 100) {\n return sugVal;\n }\n if (sugVal >= origVal) {\n return origVal * 2;\n }\n return origVal / 2;\n }\n\n // function setResolution (w, h, center) {\n // updateCanvas();\n // // w -= 0; h -= 0;\n // // $('#svgcanvas').css({width: w, height: h});\n // // $('#canvas_width').val(w);\n // // $('#canvas_height').val(h);\n // //\n // // if (center) {\n // // const wArea = workarea;\n // // const scrollY = h/2 - wArea.height()/2;\n // // const scrollX = w/2 - wArea.width()/2;\n // // wArea[0].scrollTop = scrollY;\n // // wArea[0].scrollLeft = scrollX;\n // // }\n // }\n\n $('#resolution').change(function () {\n const wh = $('#canvas_width,#canvas_height');\n if (!this.selectedIndex) {\n if ($('#canvas_width').val() === 'fit') {\n wh.removeAttr('disabled').val(100);\n }\n } else if (this.value === 'content') {\n wh.val('fit').attr('disabled', 'disabled');\n } else {\n const dims = this.value.split('x');\n $('#canvas_width').val(dims[0]);\n $('#canvas_height').val(dims[1]);\n wh.removeAttr('disabled');\n }\n });\n\n // Prevent browser from erroneously repopulating fields\n $('input,select').attr('autocomplete', 'off');\n\n const dialogSelectors = [\n '#tool_source_cancel', '#tool_docprops_cancel',\n '#tool_prefs_cancel', '.overlay'\n ];\n /* eslint-disable jsdoc/require-property */\n /**\n * Associate all button actions as well as non-button keyboard shortcuts.\n * @namespace {PlainObject} module:SVGEditor~Actions\n */\n const Actions = (function () {\n /* eslint-enable jsdoc/require-property */\n /**\n * @typedef {PlainObject} module:SVGEditor.ToolButton\n * @property {string} sel The CSS selector for the tool\n * @property {external:jQuery.Function} fn A handler to be attached to the `evt`\n * @property {string} evt The event for which the `fn` listener will be added\n * @property {module:SVGEditor.Key} [key] [key, preventDefault, NoDisableInInput]\n * @property {string} [parent] Selector\n * @property {boolean} [hidekey] Whether to show key value in title\n * @property {string} [icon] The button ID\n * @property {boolean} isDefault For flyout holders\n */\n /**\n *\n * @name module:SVGEditor~ToolButtons\n * @type {module:SVGEditor.ToolButton[]}\n */\n const toolButtons = [\n {sel: '#tool_select', fn: clickSelect, evt: 'click', key: ['V', true]},\n {sel: '#tool_fhpath', fn: clickFHPath, evt: 'click', key: ['Q', true]},\n {sel: '#tool_line', fn: clickLine, evt: 'click', key: ['L', true],\n parent: '#tools_line', prepend: true},\n {sel: '#tool_rect', fn: clickRect, evt: 'mouseup',\n key: ['R', true], parent: '#tools_rect', icon: 'rect'},\n {sel: '#tool_square', fn: clickSquare, evt: 'mouseup',\n parent: '#tools_rect', icon: 'square'},\n {sel: '#tool_fhrect', fn: clickFHRect, evt: 'mouseup',\n parent: '#tools_rect', icon: 'fh_rect'},\n {sel: '#tool_ellipse', fn: clickEllipse, evt: 'mouseup',\n key: ['E', true], parent: '#tools_ellipse', icon: 'ellipse'},\n {sel: '#tool_circle', fn: clickCircle, evt: 'mouseup',\n parent: '#tools_ellipse', icon: 'circle'},\n {sel: '#tool_fhellipse', fn: clickFHEllipse, evt: 'mouseup',\n parent: '#tools_ellipse', icon: 'fh_ellipse'},\n {sel: '#tool_path', fn: clickPath, evt: 'click', key: ['P', true]},\n {sel: '#tool_text', fn: clickText, evt: 'click', key: ['T', true]},\n {sel: '#tool_image', fn: clickImage, evt: 'mouseup'},\n {sel: '#tool_zoom', fn: clickZoom, evt: 'mouseup', key: ['Z', true]},\n {sel: '#tool_clear', fn: clickClear, evt: 'mouseup', key: ['N', true]},\n {sel: '#tool_save', fn () {\n if (editingsource) {\n saveSourceEditor();\n } else {\n clickSave();\n }\n }, evt: 'mouseup', key: ['S', true]},\n {sel: '#tool_export', fn: clickExport, evt: 'mouseup'},\n {sel: '#tool_open', fn: clickOpen, evt: 'mouseup', key: ['O', true]},\n {sel: '#tool_import', fn: clickImport, evt: 'mouseup'},\n {sel: '#tool_source', fn: showSourceEditor, evt: 'click', key: ['U', true]},\n {sel: '#tool_wireframe', fn: clickWireframe, evt: 'click', key: ['F', true]},\n {\n key: ['esc', false, false],\n fn () {\n if (dialogSelectors.every((sel) => {\n return $(sel + ':hidden').length;\n })) {\n svgCanvas.clearSelection();\n }\n },\n hidekey: true\n },\n {sel: dialogSelectors.join(','), fn: cancelOverlays, evt: 'click',\n key: ['esc', false, false], hidekey: true},\n {sel: '#tool_source_save', fn: saveSourceEditor, evt: 'click'},\n {sel: '#tool_docprops_save', fn: saveDocProperties, evt: 'click'},\n {sel: '#tool_docprops', fn: showDocProperties, evt: 'click'},\n {sel: '#tool_prefs_save', fn: savePreferences, evt: 'click'},\n {sel: '#tool_editor_prefs', fn: showPreferences, evt: 'click'},\n {sel: '#tool_editor_homepage', fn: openHomePage, evt: 'click'},\n {sel: '#tool_open', fn () { window.dispatchEvent(new CustomEvent('openImage')); }, evt: 'click'},\n {sel: '#tool_import', fn () { window.dispatchEvent(new CustomEvent('importImage')); }, evt: 'click'},\n {sel: '#tool_delete,#tool_delete_multi', fn: deleteSelected,\n evt: 'click', key: ['del/backspace', true]},\n {sel: '#tool_reorient', fn: reorientPath, evt: 'click'},\n {sel: '#tool_node_link', fn: linkControlPoints, evt: 'click'},\n {sel: '#tool_node_clone', fn: clonePathNode, evt: 'click'},\n {sel: '#tool_node_delete', fn: deletePathNode, evt: 'click'},\n {sel: '#tool_openclose_path', fn: opencloseSubPath, evt: 'click'},\n {sel: '#tool_add_subpath', fn: addSubPath, evt: 'click'},\n {sel: '#tool_move_top', fn: moveToTopSelected, evt: 'click', key: 'ctrl+shift+]'},\n {sel: '#tool_move_bottom', fn: moveToBottomSelected, evt: 'click', key: 'ctrl+shift+['},\n {sel: '#tool_topath', fn: convertToPath, evt: 'click'},\n {sel: '#tool_make_link,#tool_make_link_multi', fn: makeHyperlink, evt: 'click'},\n {sel: '#tool_undo', fn: clickUndo, evt: 'click'},\n {sel: '#tool_redo', fn: clickRedo, evt: 'click'},\n {sel: '#tool_clone,#tool_clone_multi', fn: clickClone, evt: 'click', key: ['D', true]},\n {sel: '#tool_group_elements', fn: clickGroup, evt: 'click', key: ['G', true]},\n {sel: '#tool_ungroup', fn: clickGroup, evt: 'click'},\n {sel: '#tool_unlink_use', fn: clickGroup, evt: 'click'},\n {sel: '[id^=tool_align]', fn: clickAlign, evt: 'click'},\n // these two lines are required to make Opera work properly with the flyout mechanism\n // {sel: '#tools_rect_show', fn: clickRect, evt: 'click'},\n // {sel: '#tools_ellipse_show', fn: clickEllipse, evt: 'click'},\n {sel: '#tool_bold', fn: clickBold, evt: 'mousedown'},\n {sel: '#tool_italic', fn: clickItalic, evt: 'mousedown'},\n {sel: '#sidepanel_handle', fn: toggleSidePanel, key: ['X']},\n {sel: '#copy_save_done', fn: cancelOverlays, evt: 'click'},\n\n // Shortcuts not associated with buttons\n\n {key: 'ctrl+left', fn () { rotateSelected(0, 1); }},\n {key: 'ctrl+right', fn () { rotateSelected(1, 1); }},\n {key: 'ctrl+shift+left', fn () { rotateSelected(0, 5); }},\n {key: 'ctrl+shift+right', fn () { rotateSelected(1, 5); }},\n {key: 'shift+O', fn: selectPrev},\n {key: 'shift+P', fn: selectNext},\n {key: [modKey + 'up', true], fn () { zoomImage(2); }},\n {key: [modKey + 'down', true], fn () { zoomImage(0.5); }},\n {key: [modKey + ']', true], fn () { moveUpDownSelected('Up'); }},\n {key: [modKey + '[', true], fn () { moveUpDownSelected('Down'); }},\n {key: ['up', true], fn () { moveSelected(0, -1); }},\n {key: ['down', true], fn () { moveSelected(0, 1); }},\n {key: ['left', true], fn () { moveSelected(-1, 0); }},\n {key: ['right', true], fn () { moveSelected(1, 0); }},\n {key: 'shift+up', fn () { moveSelected(0, -10); }},\n {key: 'shift+down', fn () { moveSelected(0, 10); }},\n {key: 'shift+left', fn () { moveSelected(-10, 0); }},\n {key: 'shift+right', fn () { moveSelected(10, 0); }},\n {key: ['alt+up', true], fn () { svgCanvas.cloneSelectedElements(0, -1); }},\n {key: ['alt+down', true], fn () { svgCanvas.cloneSelectedElements(0, 1); }},\n {key: ['alt+left', true], fn () { svgCanvas.cloneSelectedElements(-1, 0); }},\n {key: ['alt+right', true], fn () { svgCanvas.cloneSelectedElements(1, 0); }},\n {key: ['alt+shift+up', true], fn () { svgCanvas.cloneSelectedElements(0, -10); }},\n {key: ['alt+shift+down', true], fn () { svgCanvas.cloneSelectedElements(0, 10); }},\n {key: ['alt+shift+left', true], fn () { svgCanvas.cloneSelectedElements(-10, 0); }},\n {key: ['alt+shift+right', true], fn () { svgCanvas.cloneSelectedElements(10, 0); }},\n {key: 'a', fn () { svgCanvas.selectAllInCurrentLayer(); }},\n {key: modKey + 'a', fn () { svgCanvas.selectAllInCurrentLayer(); }},\n\n // Standard shortcuts\n {key: modKey + 'z', fn: clickUndo},\n {key: modKey + 'shift+z', fn: clickRedo},\n {key: modKey + 'y', fn: clickRedo},\n\n {key: modKey + 'x', fn: cutSelected},\n {key: modKey + 'c', fn: copySelected},\n {key: modKey + 'v', fn: pasteInCenter}\n ];\n\n // Tooltips not directly associated with a single function\n const keyAssocs = {\n '4/Shift+4': '#tools_rect_show',\n '5/Shift+5': '#tools_ellipse_show'\n };\n\n return {\n /** @lends module:SVGEditor~Actions */\n /**\n * @returns {void}\n */\n setAll () {\n const flyouts = {};\n const keyHandler = {}; // will contain the action for each pressed key\n\n toolButtons.forEach((opts) => {\n // Bind function to button\n let btn;\n if (opts.sel) {\n btn = $q(opts.sel);\n if (btn === null) { return true; } // Skip if markup does not exist\n if (opts.evt) {\n // `touch.js` changes `touchstart` to `mousedown`,\n // so we must map tool button click events as well\n if (isTouch() && opts.evt === 'click') {\n opts.evt = 'mousedown';\n }\n btn.addEventListener(opts.evt, opts.fn);\n }\n\n // Add to parent flyout menu, if able to be displayed\n if (opts.parent && $(opts.parent + '_show').length) {\n let fH = $(opts.parent);\n if (!fH.length) {\n fH = makeFlyoutHolder(opts.parent.substr(1));\n }\n if (opts.prepend) {\n btn.style.margin = 'initial';\n }\n fH[opts.prepend ? 'prepend' : 'append'](btn);\n\n if (!Array.isArray(flyouts[opts.parent])) {\n flyouts[opts.parent] = [];\n }\n flyouts[opts.parent].push(opts);\n }\n }\n\n // Bind function to shortcut key\n if (opts.key) {\n // Set shortcut based on options\n let keyval = opts.key;\n let pd = false;\n if (Array.isArray(opts.key)) {\n keyval = opts.key[0];\n if (opts.key.length > 1) { pd = opts.key[1]; }\n }\n keyval = String(keyval);\n const {fn} = opts;\n keyval.split('/').forEach((key) => { keyHandler[key] = {fn, pd}; });\n\n // Put shortcut in title\n if (opts.sel && !opts.hidekey && btn.title) {\n const newTitle = `${btn.title.split('[')[0]} (${keyval})`;\n keyAssocs[keyval] = opts.sel;\n // Disregard for menu items\n if (btn.closest('#main_menu') === null) {\n btn.title = newTitle;\n }\n }\n }\n return true;\n });\n // register the keydown event\n document.addEventListener('keydown', (e) => {\n // only track keyboard shortcuts for the body containing the SVG-Editor\n if (e.target.nodeName !== 'BODY') return;\n // normalize key\n const key = `${(e.metaKey) ? 'meta+' : ''}${(e.ctrlKey) ? 'ctrl+' : ''}${e.key.toLowerCase()}`;\n // return if no shortcut defined for this key\n if (!keyHandler[key]) return;\n // launch associated handler and preventDefault if necessary\n keyHandler[key].fn();\n if (keyHandler[key].pd) {\n e.preventDefault();\n }\n });\n\n // Setup flyouts\n setupFlyouts(flyouts);\n\n // Misc additional actions\n\n // Make 'return' keypress trigger the change event\n $('.attr_changer, #image_url').bind(\n 'keydown',\n 'return',\n function (evt) {\n $(this).change();\n evt.preventDefault();\n }\n );\n\n $(window).bind('keydown', 'tab', function (e) {\n if (uiContext === 'canvas') {\n e.preventDefault();\n selectNext();\n }\n }).bind('keydown', 'shift+tab', function (e) {\n if (uiContext === 'canvas') {\n e.preventDefault();\n selectPrev();\n }\n });\n\n $('#tool_zoom').dblclick(dblclickZoom);\n },\n /**\n * @returns {void}\n */\n setTitles () {\n $.each(keyAssocs, function (keyval, sel) {\n const menu = ($(sel).parents('#main_menu').length);\n\n $(sel).each(function () {\n let t;\n if (menu) {\n t = $(this).text().split(' [')[0];\n } else {\n t = this.title.split(' [')[0];\n }\n let keyStr = '';\n // Shift+Up\n $.each(keyval.split('/'), function (i, key) {\n const modBits = key.split('+');\n let mod = '';\n if (modBits.length > 1) {\n mod = modBits[0] + '+';\n key = modBits[1];\n }\n keyStr += (i ? '/' : '') + mod + (uiStrings['key_' + key] || key);\n });\n if (menu) {\n this.lastChild.textContent = t + ' [' + keyStr + ']';\n } else {\n this.title = t + ' [' + keyStr + ']';\n }\n });\n });\n },\n /**\n * @param {string} sel Selector to match\n * @returns {module:SVGEditor.ToolButton}\n */\n getButtonData (sel) {\n return Object.values(toolButtons).find((btn) => {\n return btn.sel === sel;\n });\n }\n };\n }());\n\n // Select given tool\n editor.ready(function () {\n let tool;\n const itool = curConfig.initTool,\n container = $('#tools_left, #svg_editor .tools_flyout'),\n preTool = container.find('#tool_' + itool),\n regTool = container.find('#' + itool);\n if (preTool.length) {\n tool = preTool;\n } else if (regTool.length) {\n tool = regTool;\n } else {\n tool = $('#tool_select');\n }\n tool.click().mouseup();\n\n if (curConfig.wireframe) {\n $('#tool_wireframe').click();\n }\n\n if (curConfig.showlayers) {\n toggleSidePanel();\n }\n\n $('#rulers').toggle(Boolean(curConfig.showRulers));\n\n if (curConfig.showRulers) {\n $('#show_rulers')[0].checked = true;\n }\n\n if (curConfig.baseUnit) {\n $('#base_unit').val(curConfig.baseUnit);\n }\n\n if (curConfig.gridSnapping) {\n $('#grid_snapping_on')[0].checked = true;\n }\n\n if (curConfig.snappingStep) {\n $('#grid_snapping_step').val(curConfig.snappingStep);\n }\n\n if (curConfig.gridColor) {\n $('#grid_color').val(curConfig.gridColor);\n }\n });\n\n // init SpinButtons\n $('#rect_rx').SpinButton({\n min: 0, max: 1000, stateObj, callback: changeRectRadius\n });\n $('#stroke_width').SpinButton({\n min: 0, max: 99, smallStep: 0.1, stateObj, callback: changeStrokeWidth\n });\n $('#angle').SpinButton({\n min: -180, max: 180, step: 5, stateObj, callback: changeRotationAngle\n });\n $('#font_size').SpinButton({\n min: 0.001, stepfunc: stepFontSize, stateObj, callback: changeFontSize\n });\n $('#group_opacity').SpinButton({\n min: 0, max: 100, step: 5, stateObj, callback: changeOpacity\n });\n $('#blur').SpinButton({\n min: 0, max: 10, step: 0.1, stateObj, callback: changeBlur\n });\n $('#zoom').SpinButton({\n min: 0.001, max: 10000, step: 50, stepfunc: stepZoom,\n stateObj, callback: changeZoom\n // Set default zoom\n }).val(\n svgCanvas.getZoom() * 100\n );\n\n $('#workarea').contextMenu(\n {\n menu: 'cmenu_canvas',\n inSpeed: 0\n },\n function (action, el, pos) {\n switch (action) {\n case 'delete':\n deleteSelected();\n break;\n case 'cut':\n cutSelected();\n break;\n case 'copy':\n copySelected();\n break;\n case 'paste':\n svgCanvas.pasteElements();\n break;\n case 'paste_in_place':\n svgCanvas.pasteElements('in_place');\n break;\n case 'group':\n case 'group_elements':\n svgCanvas.groupSelectedElements();\n break;\n case 'ungroup':\n svgCanvas.ungroupSelectedElement();\n break;\n case 'move_front':\n moveToTopSelected();\n break;\n case 'move_up':\n moveUpDownSelected('Up');\n break;\n case 'move_down':\n moveUpDownSelected('Down');\n break;\n case 'move_back':\n moveToBottomSelected();\n break;\n default:\n if (hasCustomHandler(action)) {\n getCustomHandler(action).call();\n }\n break;\n }\n }\n );\n\n /**\n * Implements {@see module:jQueryContextMenu.jQueryContextMenuListener}.\n * @param {\"dupe\"|\"delete\"|\"merge_down\"|\"merge_all\"} action\n * @param {external:jQuery} el\n * @param {{x: Float, y: Float, docX: Float, docY: Float}} pos\n * @returns {void}\n */\n const lmenuFunc = function (action, el, pos) {\n switch (action) {\n case 'dupe':\n /* await */ cloneLayer();\n break;\n case 'delete':\n deleteLayer();\n break;\n case 'merge_down':\n mergeLayer();\n break;\n case 'merge_all':\n svgCanvas.mergeAllLayers();\n updateContextPanel();\n populateLayers();\n break;\n }\n };\n\n $('#layerlist').contextMenu(\n {\n menu: 'cmenu_layers',\n inSpeed: 0\n },\n lmenuFunc\n );\n\n $('#layer_moreopts').contextMenu(\n {\n menu: 'cmenu_layers',\n inSpeed: 0,\n allowLeft: true\n },\n lmenuFunc\n );\n\n $('.contextMenu li').mousedown(function (ev) {\n ev.preventDefault();\n });\n\n $('#cmenu_canvas li').disableContextMenu();\n canvMenu.enableContextMenuItems('#delete,#cut,#copy');\n\n /**\n * @returns {void}\n */\n function enableOrDisableClipboard () {\n let svgeditClipboard;\n try {\n svgeditClipboard = localStorage.getItem('svgedit_clipboard');\n } catch (err) {}\n canvMenu[(svgeditClipboard ? 'en' : 'dis') + 'ableContextMenuItems'](\n '#paste,#paste_in_place'\n );\n }\n enableOrDisableClipboard();\n\n window.addEventListener('storage', function (e) {\n if (e.key !== 'svgedit_clipboard') { return; }\n\n enableOrDisableClipboard();\n });\n\n window.addEventListener('beforeunload', function (e) {\n // Suppress warning if page is empty\n if (undoMgr.getUndoStackSize() === 0) {\n editor.showSaveWarning = false;\n }\n\n // showSaveWarning is set to 'false' when the page is saved.\n if (!curConfig.no_save_warning && editor.showSaveWarning) {\n // Browser already asks question about closing the page\n e.returnValue = uiStrings.notification.unsavedChanges; // Firefox needs this when beforeunload set by addEventListener (even though message is not used)\n return uiStrings.notification.unsavedChanges;\n }\n return true;\n });\n\n /**\n * Expose the `uiStrings`.\n * @function module:SVGEditor.canvas.getUIStrings\n * @returns {module:SVGEditor.uiStrings}\n */\n editor.canvas.getUIStrings = function () {\n return uiStrings;\n };\n\n /**\n * @function module:SVGEditor.openPrep\n * @returns {boolean|Promise} Resolves to boolean indicating `true` if there were no changes\n * and `false` after the user confirms.\n */\n editor.openPrep = function () {\n $('#main_menu').hide();\n if (undoMgr.getUndoStackSize() === 0) {\n return true;\n }\n return $.confirm(uiStrings.notification.QwantToOpen);\n };\n\n /**\n *\n * @param {Event} e\n * @returns {void}\n */\n function onDragEnter (e) {\n e.stopPropagation();\n e.preventDefault();\n // and indicator should be displayed here, such as \"drop files here\"\n }\n\n /**\n *\n * @param {Event} e\n * @returns {void}\n */\n function onDragOver (e) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n /**\n *\n * @param {Event} e\n * @returns {void}\n */\n function onDragLeave (e) {\n e.stopPropagation();\n e.preventDefault();\n // hypothetical indicator should be removed here\n }\n // Use HTML5 File API: http://www.w3.org/TR/FileAPI/\n // if browser has HTML5 File API support, then we will show the open menu item\n // and provide a file input to click. When that change event fires, it will\n // get the text contents of the file and send it to the canvas\n if (window.FileReader) {\n /**\n * @param {Event} e\n * @returns {void}\n */\n const importImage = function (e) {\n $.process_cancel(uiStrings.notification.loadingImage);\n e.stopPropagation();\n e.preventDefault();\n $('#workarea').removeAttr('style');\n $('#main_menu').hide();\n const file = (e.type === 'drop') ? e.dataTransfer.files[0] : this.files[0];\n if (!file) {\n $('#dialog_box').hide();\n return;\n }\n /* if (file.type === 'application/pdf') { // Todo: Handle PDF imports\n\n }\n else */\n if (!file.type.includes('image')) {\n return;\n }\n // Detected an image\n // svg handling\n let reader;\n if (file.type.includes('svg')) {\n reader = new FileReader();\n reader.onloadend = function (ev) {\n const newElement = svgCanvas.importSvgString(ev.target.result, true);\n svgCanvas.ungroupSelectedElement();\n svgCanvas.ungroupSelectedElement();\n svgCanvas.groupSelectedElements();\n svgCanvas.alignSelectedElements('m', 'page');\n svgCanvas.alignSelectedElements('c', 'page');\n // highlight imported element, otherwise we get strange empty selectbox\n svgCanvas.selectOnly([newElement]);\n $('#dialog_box').hide();\n };\n reader.readAsText(file);\n } else {\n // bitmap handling\n reader = new FileReader();\n reader.onloadend = function ({target: {result}}) {\n /**\n * Insert the new image until we know its dimensions.\n * @param {Float} width\n * @param {Float} height\n * @returns {void}\n */\n const insertNewImage = function (width, height) {\n const newImage = svgCanvas.addSVGElementFromJson({\n element: 'image',\n attr: {\n x: 0,\n y: 0,\n width,\n height,\n id: svgCanvas.getNextId(),\n style: 'pointer-events:inherit'\n }\n });\n svgCanvas.setHref(newImage, result);\n svgCanvas.selectOnly([newImage]);\n svgCanvas.alignSelectedElements('m', 'page');\n svgCanvas.alignSelectedElements('c', 'page');\n updateContextPanel();\n $('#dialog_box').hide();\n };\n // create dummy img so we know the default dimensions\n let imgWidth = 100;\n let imgHeight = 100;\n const img = new Image();\n img.style.opacity = 0;\n img.addEventListener('load', function () {\n imgWidth = img.offsetWidth || img.naturalWidth || img.width;\n imgHeight = img.offsetHeight || img.naturalHeight || img.height;\n insertNewImage(imgWidth, imgHeight);\n });\n img.src = result;\n };\n reader.readAsDataURL(file);\n }\n };\n\n workarea[0].addEventListener('dragenter', onDragEnter);\n workarea[0].addEventListener('dragover', onDragOver);\n workarea[0].addEventListener('dragleave', onDragLeave);\n workarea[0].addEventListener('drop', importImage);\n\n const open = $('').change(async function (e) {\n const ok = await editor.openPrep();\n if (!ok) { return; }\n svgCanvas.clear();\n if (this.files.length === 1) {\n $.process_cancel(uiStrings.notification.loadingImage);\n const reader = new FileReader();\n reader.onloadend = async function ({target}) {\n await loadSvgString(target.result);\n updateCanvas();\n };\n reader.readAsText(this.files[0]);\n }\n });\n $('#tool_open').show();\n $(window).on('openImage', () => open.click());\n\n const imgImport = $('').change(importImage);\n $('#tool_import').show();\n $(window).on('importImage', () => imgImport.click());\n }\n\n updateCanvas(true);\n // const revnums = 'svg-editor.js ($Rev$) ';\n // revnums += svgCanvas.getVersion();\n // $('#copyright')[0].setAttribute('title', revnums);\n\n const loadedExtensionNames = [];\n /**\n * @function module:SVGEditor.setLang\n * @param {string} lang The language code\n * @param {module:locale.LocaleStrings} allStrings See {@tutorial LocaleDocs}\n * @fires module:svgcanvas.SvgCanvas#event:ext_langReady\n * @fires module:svgcanvas.SvgCanvas#event:ext_langChanged\n * @returns {Promise} A Promise which resolves to `undefined`\n */\n const setLang = editor.setLang = async function (lang, allStrings) {\n editor.langChanged = true;\n editor.pref('lang', lang);\n $('#lang_select').val(lang);\n if (!allStrings) {\n return;\n }\n // Todo: Remove `allStrings.lang` property in locale in\n // favor of just `lang`?\n document.documentElement.lang = allStrings.lang; // lang;\n // Todo: Add proper RTL Support!\n // Todo: Use RTL detection instead and take out of locales?\n // document.documentElement.dir = allStrings.dir;\n $.extend(uiStrings, allStrings);\n\n // const notif = allStrings.notification; // Currently unused\n // $.extend will only replace the given strings\n const oldLayerName = $('#layerlist tr.layersel td.layername').text();\n const renameLayer = (oldLayerName === uiStrings.common.layer + ' 1');\n\n svgCanvas.setUiStrings(allStrings);\n Actions.setTitles();\n\n if (renameLayer) {\n svgCanvas.renameCurrentLayer(uiStrings.common.layer + ' 1');\n populateLayers();\n }\n\n // In case extensions loaded before the locale, now we execute a callback on them\n if (extsPreLang.length) {\n await Promise.all(extsPreLang.map((ext) => {\n loadedExtensionNames.push(ext.name);\n return ext.langReady({\n lang,\n uiStrings,\n importLocale: getImportLocale({defaultLang: lang, defaultName: ext.name})\n });\n }));\n extsPreLang.length = 0;\n } else {\n loadedExtensionNames.forEach((loadedExtensionName) => {\n svgCanvas.runExtension(\n loadedExtensionName,\n 'langReady',\n /** @type {module:svgcanvas.SvgCanvas#event:ext_langReady} */ {\n lang, uiStrings, importLocale: getImportLocale({defaultLang: lang, defaultName: loadedExtensionName})\n }\n );\n });\n }\n svgCanvas.runExtensions('langChanged', /** @type {module:svgcanvas.SvgCanvas#event:ext_langChanged} */ lang);\n\n // Update flyout tooltips\n setFlyoutTitles();\n\n // Copy title for certain tool elements\n const elems = {\n '#stroke_color': '#tool_stroke .icon_label, #tool_stroke .color_block',\n '#fill_color': '#tool_fill label, #tool_fill .color_block',\n '#linejoin_miter': '#cur_linejoin',\n '#linecap_butt': '#cur_linecap'\n };\n\n $.each(elems, function (source, dest) {\n $(dest).attr('title', $(source)[0].title);\n });\n\n // Copy alignment titles\n $('#multiselected_panel div[id^=tool_align]').each(function () {\n $('#tool_pos' + this.id.substr(10))[0].title = this.title;\n });\n };\n localeInit(\n /**\n * @implements {module:locale.LocaleEditorInit}\n */\n {\n /**\n * Gets an array of results from extensions with a `addLangData` method,\n * returning an object with a `data` property set to its locales (to be\n * merged with regular locales).\n * @param {string} langParam\n * @fires module:svgcanvas.SvgCanvas#event:ext_addLangData\n * @todo Can we forego this in favor of `langReady` (or forego `langReady`)?\n * @returns {module:locale.AddLangExtensionLocaleData[]}\n */\n addLangData (langParam) {\n return svgCanvas.runExtensions(\n 'addLangData',\n /**\n * @function\n * @type {module:svgcanvas.ExtensionVarBuilder}\n * @param {string} name\n * @returns {module:svgcanvas.SvgCanvas#event:ext_addLangData}\n */\n (name) => { // We pass in a function as we don't know the extension name here when defining this `addLangData` method\n return {\n lang: langParam,\n importLocale: getImportLocale({defaultLang: langParam, defaultName: name})\n };\n },\n true\n );\n },\n curConfig\n }\n );\n // Load extensions\n // Bit of a hack to run extensions in local Opera/IE9\n if (document.location.protocol === 'file:') {\n setTimeout(extAndLocaleFunc, 100);\n } else {\n // Returns a promise (if we wanted to fire 'extensions-loaded' event,\n // potentially useful to hide interface as some extension locales\n // are only available after this)\n extAndLocaleFunc();\n }\n};\n\n/**\n* @callback module:SVGEditor.ReadyCallback\n* @returns {Promise|void}\n*/\n/**\n* Queues a callback to be invoked when the editor is ready (or\n* to be invoked immediately if it is already ready--i.e.,\n* if `runCallbacks` has been run).\n* @function module:SVGEditor.ready\n* @param {module:SVGEditor.ReadyCallback} cb Callback to be queued to invoke\n* @returns {Promise} Resolves when all callbacks, including the supplied have resolved\n*/\neditor.ready = function (cb) { // eslint-disable-line promise/prefer-await-to-callbacks\n return new Promise((resolve, reject) => { // eslint-disable-line promise/avoid-new\n if (isReady) {\n resolve(cb()); // eslint-disable-line node/callback-return, promise/prefer-await-to-callbacks\n return;\n }\n callbacks.push([cb, resolve, reject]);\n });\n};\n\n/**\n* Invokes the callbacks previous set by `svgEditor.ready`\n* @function module:SVGEditor.runCallbacks\n* @returns {Promise} Resolves to `undefined` if all callbacks succeeded and rejects otherwise\n*/\neditor.runCallbacks = async function () {\n try {\n await Promise.all(callbacks.map(([cb]) => {\n return cb(); // eslint-disable-line promise/prefer-await-to-callbacks\n }));\n } catch (err) {\n callbacks.forEach(([, , reject]) => {\n reject();\n });\n throw err;\n }\n callbacks.forEach(([, resolve]) => {\n resolve();\n });\n isReady = true;\n};\n\n/**\n * @function module:SVGEditor.loadFromString\n * @param {string} str The SVG string to load\n * @param {PlainObject} [opts={}]\n * @param {boolean} [opts.noAlert=false] Option to avoid alert to user and instead get rejected promise\n * @returns {Promise}\n */\neditor.loadFromString = function (str, {noAlert} = {}) {\n return editor.ready(async function () {\n try {\n await loadSvgString(str, {noAlert});\n } catch (err) {\n if (noAlert) {\n throw err;\n }\n }\n });\n};\n\n/**\n* Not presently in use.\n* @function module:SVGEditor.disableUI\n* @param {PlainObject} featList\n* @returns {void}\n*/\neditor.disableUI = function (featList) {\n // $(function () {\n // $('#tool_wireframe, #tool_image, #main_button, #tool_source, #sidepanels').remove();\n // $('#tools_top').css('left', 5);\n // });\n};\n\n/**\n * @callback module:SVGEditor.URLLoadCallback\n * @param {boolean} success\n * @returns {void}\n */\n/**\n * @function module:SVGEditor.loadFromURL\n * @param {string} url URL from which to load an SVG string via Ajax\n * @param {PlainObject} [opts={}] May contain properties: `cache`, `callback`\n * @param {boolean} [opts.cache]\n * @param {boolean} [opts.noAlert]\n * @returns {Promise} Resolves to `undefined` or rejects upon bad loading of\n * the SVG (or upon failure to parse the loaded string) when `noAlert` is\n * enabled\n */\neditor.loadFromURL = function (url, {cache, noAlert} = {}) {\n return editor.ready(function () {\n return new Promise((resolve, reject) => { // eslint-disable-line promise/avoid-new\n $.ajax({\n url,\n dataType: 'text',\n cache: Boolean(cache),\n beforeSend () {\n $.process_cancel(uiStrings.notification.loadingImage);\n },\n success (str) {\n resolve(loadSvgString(str, {noAlert}));\n },\n error (xhr, stat, err) {\n if (xhr.status !== 404 && xhr.responseText) {\n resolve(loadSvgString(xhr.responseText, {noAlert}));\n return;\n }\n if (noAlert) {\n reject(new Error('URLLoadFail'));\n return;\n }\n $.alert(uiStrings.notification.URLLoadFail + ': \\n' + err);\n resolve();\n },\n complete () {\n $('#dialog_box').hide();\n }\n });\n });\n });\n};\n\n/**\n* @function module:SVGEditor.loadFromDataURI\n* @param {string} str The Data URI to base64-decode (if relevant) and load\n* @param {PlainObject} [opts={}]\n* @param {boolean} [opts.noAlert]\n* @returns {Promise} Resolves to `undefined` and rejects if loading SVG string fails and `noAlert` is enabled\n*/\neditor.loadFromDataURI = function (str, {noAlert} = {}) {\n return editor.ready(function () {\n let base64 = false;\n let pre = str.match(/^data:image\\/svg\\+xml;base64,/);\n if (pre) {\n base64 = true;\n } else {\n pre = str.match(/^data:image\\/svg\\+xml(?:;|;utf8)?,/);\n }\n if (pre) {\n pre = pre[0];\n }\n const src = str.slice(pre.length);\n return loadSvgString(base64 ? Utils.decode64(src) : decodeURIComponent(src), {noAlert});\n });\n};\n\n/**\n * @function module:SVGEditor.addExtension\n * @param {string} name Used internally; no need for i18n.\n * @param {module:svgcanvas.ExtensionInitCallback} init Config to be invoked on this module\n * @param {module:svgcanvas.ExtensionInitArgs} initArgs\n * @throws {Error} If called too early\n * @returns {Promise} Resolves to `undefined`\n*/\neditor.addExtension = function (name, init, initArgs) {\n // Note that we don't want this on editor.ready since some extensions\n // may want to run before then (like server_opensave).\n // $(function () {\n if (!svgCanvas) {\n throw new Error('Extension added too early');\n }\n return svgCanvas.addExtension.call(this, name, init, initArgs);\n // });\n};\n\n// Defer injection to wait out initial menu processing. This probably goes\n// away once all context menu behavior is brought to context menu.\neditor.ready(() => {\n injectExtendedContextMenuItemsIntoDom();\n});\n\nlet extensionsAdded = false;\nconst messageQueue = [];\n/**\n * @param {PlainObject} info\n * @param {any} info.data\n * @param {string} info.origin\n * @fires module:svgcanvas.SvgCanvas#event:message\n * @returns {void}\n */\nconst messageListener = ({data, origin}) => { // eslint-disable-line no-shadow\n // console.log('data, origin, extensionsAdded', data, origin, extensionsAdded);\n const messageObj = {data, origin};\n if (!extensionsAdded) {\n messageQueue.push(messageObj);\n } else {\n // Extensions can handle messages at this stage with their own\n // canvas `message` listeners\n svgCanvas.call('message', messageObj);\n }\n};\nwindow.addEventListener('message', messageListener);\n\n// Run init once DOM is loaded\n// jQuery(editor.init);\n\n(async () => {\ntry {\n // We wait a micro-task to let the svgEditor variable be defined for module checks\n await Promise.resolve();\n editor.init();\n} catch (err) {\n console.error(err); // eslint-disable-line no-console\n}\n})();\n\nexport default editor;\n","// Todo: Update: https://github.com/jeresig/jquery.hotkeys\n/*\n * jQuery Hotkeys Plugin\n * Copyright 2010, John Resig\n * Dual licensed under the MIT or GPL Version 2 licenses.\n *\n * http://github.com/jeresig/jquery.hotkeys\n *\n * Based upon the plugin by Tzury Bar Yochay:\n * http://github.com/tzuryby/hotkeys\n *\n * Original idea by:\n * Binny V A, http://www.openjs.com/scripts/events/keyboard_shortcuts/\n*/\n\n// We *do* want to allow the escape key within textareas (and possibly tab too), so add the condition `n.which !== 27`\n\nexport default function(b){b.hotkeys={version:\"0.8\",specialKeys:{8:\"backspace\",9:\"tab\",13:\"return\",16:\"shift\",17:\"ctrl\",18:\"alt\",19:\"pause\",20:\"capslock\",27:\"esc\",32:\"space\",33:\"pageup\",34:\"pagedown\",35:\"end\",36:\"home\",37:\"left\",38:\"up\",39:\"right\",40:\"down\",45:\"insert\",46:\"del\",96:\"0\",97:\"1\",98:\"2\",99:\"3\",100:\"4\",101:\"5\",102:\"6\",103:\"7\",104:\"8\",105:\"9\",106:\"*\",107:\"+\",109:\"-\",110:\".\",111:\"/\",112:\"f1\",113:\"f2\",114:\"f3\",115:\"f4\",116:\"f5\",117:\"f6\",118:\"f7\",119:\"f8\",120:\"f9\",121:\"f10\",122:\"f11\",123:\"f12\",144:\"numlock\",145:\"scroll\",191:\"/\",224:\"meta\",219:\"[\",221:\"]\"},shiftNums:{\"`\":\"~\",\"1\":\"!\",\"2\":\"@\",\"3\":\"#\",\"4\":\"$\",\"5\":\"%\",\"6\":\"^\",\"7\":\"&\",\"8\":\"*\",\"9\":\"(\",\"0\":\")\",\"-\":\"_\",\"=\":\"+\",\";\":\": \",\"'\":'\"',\",\":\"<\",\".\":\">\",\"/\":\"?\",\"\\\\\":\"|\"}};function a(d){if(typeof d.data!==\"string\"){return}var c=d.handler,e=d.data.toLowerCase().split(\" \");d.handler=function(n){if(this!==n.target&&(n.which !== 27 && (/textarea|select/i.test(n.target.nodeName)||n.target.type===\"text\"))){return}var h=n.type!==\"keypress\"&&b.hotkeys.specialKeys[n.which],o=String.fromCharCode(n.which).toLowerCase(),k,m=\"\",g={};if(n.altKey&&h!==\"alt\"){m+=\"alt+\"}if(n.ctrlKey&&h!==\"ctrl\"){m+=\"ctrl+\"}if(n.metaKey&&!n.ctrlKey&&h!==\"meta\"){m+=\"meta+\"}if(n.shiftKey&&h!==\"shift\"){m+=\"shift+\"}if(h){g[m+h]=true}else{g[m+o]=true;g[m+b.hotkeys.shiftNums[o]]=true;if(m===\"shift+\"){g[b.hotkeys.shiftNums[o]]=true}}for(var j=0,f=e.length;jFast-repeat for keys and live updating as you type. |\n * | v1.8 | 12 Jan 2010 | Benjamin Thomas | Fixes for mouseout behavior.
Added smallStep |\n * | v1.9 | 20 May 2018 | Brett Zamir | Avoid SVGEdit dependency via `stateObj` config;
convert to ES6 module |\n * .\n *\n * @module jQuerySpinButton\n * @example\n // Create group of settings to initialise spinbutton(s). (Optional)\n const myOptions = {\n min: 0, // Set lower limit.\n max: 100, // Set upper limit.\n step: 1, // Set increment size.\n smallStep: 0.5, // Set shift-click increment size.\n stateObj: {tool_scale: 1}, // Object to allow passing in live-updating scale\n spinClass: mySpinBtnClass, // CSS class to style the spinbutton. (Class also specifies url of the up/down button image.)\n upClass: mySpinUpClass, // CSS class for style when mouse over up button.\n downClass: mySpinDnClass // CSS class for style when mouse over down button.\n };\n\n $(function () {\n // Initialise INPUT element(s) as SpinButtons: (passing options if desired)\n $('#myInputElement').SpinButton(myOptions);\n });\n */\n/**\n * @function module:jQuerySpinButton.jQuerySpinButton\n * @param {external:jQuery} $ The jQuery object to which to add the plug-in\n * @returns {external:jQuery}\n*/\nexport default function jQueryPluginSpinButton ($) {\n if (!$.loadingStylesheets) {\n $.loadingStylesheets = [];\n }\n const stylesheet = 'spinbtn/jQuery.SpinButton.css';\n if (!$.loadingStylesheets.includes(stylesheet)) {\n $.loadingStylesheets.push(stylesheet);\n }\n /**\n * @callback module:jQuerySpinButton.StepCallback\n * @param {external:jQuery} thisArg Value of `this`\n * @param {Float} i Value to adjust\n * @returns {Float}\n */\n /**\n * @callback module:jQuerySpinButton.ValueCallback\n * @param {external:jQuery.fn.SpinButton} thisArg Spin Button; check its `value` to see how it was changed.\n * @returns {void}\n */\n /**\n * @typedef {PlainObject} module:jQuerySpinButton.SpinButtonConfig\n * @property {Float} min Set lower limit\n * @property {Float} max Set upper limit.\n * @property {Float} step Set increment size.\n * @property {module:jQuerySpinButton.StepCallback} stepfunc Custom function to run when changing a value; called with `this` of object and the value to adjust and returns a float.\n * @property {module:jQuerySpinButton.ValueCallback} callback Called after value adjusted (with `this` of object)\n * @property {Float} smallStep Set shift-click increment size.\n * @property {PlainObject} stateObj Object to allow passing in live-updating scale\n * @property {Float} stateObj.tool_scale\n * @property {string} spinClass CSS class to style the spinbutton. (Class also specifies url of the up/down button image.)\n * @property {string} upClass CSS class for style when mouse over up button.\n * @property {string} downClass CSS class for style when mouse over down button.\n * @property {Float} page Value to be adjusted on page up/page down\n * @property {Float} reset Reset value when invalid value entered\n * @property {Float} delay Millisecond delay\n * @property {Float} interval Millisecond interval\n */\n /**\n * @function external:jQuery.fn.SpinButton\n * @param {module:jQuerySpinButton.SpinButtonConfig} cfg\n * @returns {external:jQuery}\n */\n $.fn.SpinButton = function (cfg) {\n cfg = cfg || {};\n\n /**\n *\n * @param {Element} el\n * @param {\"offsetLeft\"|\"offsetTop\"} prop\n * @returns {Integer}\n */\n function coord (el, prop) {\n const b = document.body;\n\n let c = el[prop];\n while ((el = el.offsetParent) && (el !== b)) {\n if (!$.browser.msie || (el.currentStyle.position !== 'relative')) {\n c += el[prop];\n }\n }\n\n return c;\n }\n\n return this.each(function () {\n this.repeating = false;\n\n // Apply specified options or defaults:\n // (Ought to refactor this some day to use $.extend() instead)\n this.spinCfg = {\n // min: cfg.min ? Number(cfg.min) : null,\n // max: cfg.max ? Number(cfg.max) : null,\n min: !isNaN(Number.parseFloat(cfg.min)) ? Number(cfg.min) : null, // Fixes bug with min:0\n max: !isNaN(Number.parseFloat(cfg.max)) ? Number(cfg.max) : null,\n step: cfg.step ? Number(cfg.step) : 1,\n stepfunc: cfg.stepfunc || false,\n page: cfg.page ? Number(cfg.page) : 10,\n upClass: cfg.upClass || 'up',\n downClass: cfg.downClass || 'down',\n reset: cfg.reset || this.value,\n delay: cfg.delay ? Number(cfg.delay) : 500,\n interval: cfg.interval ? Number(cfg.interval) : 100,\n _btn_width: 20,\n _direction: null,\n _delay: null,\n _repeat: null,\n callback: cfg.callback || null\n };\n\n // if a smallStep isn't supplied, use half the regular step\n this.spinCfg.smallStep = cfg.smallStep || this.spinCfg.step / 2;\n\n this.adjustValue = function (i) {\n let v;\n if (isNaN(this.value)) {\n v = this.spinCfg.reset;\n } else if (typeof this.spinCfg.stepfunc === 'function') {\n v = this.spinCfg.stepfunc(this, i);\n } else {\n // weirdest JavaScript bug ever: 5.1 + 0.1 = 5.199999999\n v = Number((Number(this.value) + Number(i)).toFixed(5));\n }\n if (this.spinCfg.min !== null) { v = Math.max(v, this.spinCfg.min); }\n if (this.spinCfg.max !== null) { v = Math.min(v, this.spinCfg.max); }\n this.value = v;\n if (typeof this.spinCfg.callback === 'function') {\n this.spinCfg.callback(this);\n }\n };\n\n $(this)\n .addClass(cfg.spinClass || 'spin-button')\n\n .mousemove(function (e) {\n // Determine which button mouse is over, or not (spin direction):\n const x = e.pageX || e.x;\n const y = e.pageY || e.y;\n const el = e.target;\n const scale = cfg.stateObj.tool_scale || 1;\n const height = $(el).height() / 2;\n\n const direction =\n (x > coord(el, 'offsetLeft') +\n el.offsetWidth * scale - this.spinCfg._btn_width)\n ? ((y < coord(el, 'offsetTop') + height * scale) ? 1 : -1)\n : 0;\n\n if (direction !== this.spinCfg._direction) {\n // Style up/down buttons:\n switch (direction) {\n case 1: // Up arrow:\n $(this).removeClass(this.spinCfg.downClass).addClass(this.spinCfg.upClass);\n break;\n case -1: // Down arrow:\n $(this).removeClass(this.spinCfg.upClass).addClass(this.spinCfg.downClass);\n break;\n default: // Mouse is elsewhere in the textbox\n $(this).removeClass(this.spinCfg.upClass).removeClass(this.spinCfg.downClass);\n }\n\n // Set spin direction:\n this.spinCfg._direction = direction;\n }\n })\n\n .mouseout(function () {\n // Reset up/down buttons to their normal appearance when mouse moves away:\n $(this).removeClass(this.spinCfg.upClass).removeClass(this.spinCfg.downClass);\n this.spinCfg._direction = null;\n window.clearInterval(this.spinCfg._repeat);\n window.clearTimeout(this.spinCfg._delay);\n })\n\n .mousedown(function (e) {\n if (e.button === 0 && this.spinCfg._direction !== 0) {\n // Respond to click on one of the buttons:\n const stepSize = e.shiftKey ? this.spinCfg.smallStep : this.spinCfg.step;\n\n const adjust = () => {\n this.adjustValue(this.spinCfg._direction * stepSize);\n };\n\n adjust();\n\n // Initial delay before repeating adjustment\n this.spinCfg._delay = window.setTimeout(() => {\n adjust();\n // Repeat adjust at regular intervals\n this.spinCfg._repeat = window.setInterval(adjust, this.spinCfg.interval);\n }, this.spinCfg.delay);\n }\n })\n\n .mouseup(function (e) {\n // Cancel repeating adjustment\n window.clearInterval(this.spinCfg._repeat);\n window.clearTimeout(this.spinCfg._delay);\n })\n\n .dblclick(function (e) {\n if ($.browser.msie) {\n this.adjustValue(this.spinCfg._direction * this.spinCfg.step);\n }\n })\n\n .keydown(function (e) {\n // Respond to up/down arrow keys.\n switch (e.keyCode) {\n case 38: this.adjustValue(this.spinCfg.step); break; // Up\n case 40: this.adjustValue(-this.spinCfg.step); break; // Down\n case 33: this.adjustValue(this.spinCfg.page); break; // PageUp\n case 34: this.adjustValue(-this.spinCfg.page); break; // PageDown\n }\n })\n\n /*\n http://unixpapa.com/js/key.html describes the current state-of-affairs for\n key repeat events:\n - Safari 3.1 changed their model so that keydown is reliably repeated going forward\n - Firefox and Opera still only repeat the keypress event, not the keydown\n */\n .keypress(function (e) {\n if (this.repeating) {\n // Respond to up/down arrow keys.\n switch (e.keyCode) {\n case 38: this.adjustValue(this.spinCfg.step); break; // Up\n case 40: this.adjustValue(-this.spinCfg.step); break; // Down\n case 33: this.adjustValue(this.spinCfg.page); break; // PageUp\n case 34: this.adjustValue(-this.spinCfg.page); break; // PageDown\n }\n // we always ignore the first keypress event (use the keydown instead)\n } else {\n this.repeating = true;\n }\n })\n\n // clear the 'repeating' flag\n .keyup(function (e) {\n this.repeating = false;\n switch (e.keyCode) {\n case 38: // Up\n case 40: // Down\n case 33: // PageUp\n case 34: // PageDown\n case 13: this.adjustValue(0); break; // Enter/Return\n }\n })\n\n .bind('mousewheel', function (e) {\n // Respond to mouse wheel in IE. (It returns up/dn motion in multiples of 120)\n if (e.wheelDelta >= 120) {\n this.adjustValue(this.spinCfg.step);\n } else if (e.wheelDelta <= -120) {\n this.adjustValue(-this.spinCfg.step);\n }\n\n e.preventDefault();\n })\n\n .change(function (e) {\n this.adjustValue(0);\n });\n\n if (this.addEventListener) {\n // Respond to mouse wheel in Firefox\n this.addEventListener('DOMMouseScroll', function (e) {\n if (e.detail > 0) {\n this.adjustValue(-this.spinCfg.step);\n } else if (e.detail < 0) {\n this.adjustValue(this.spinCfg.step);\n }\n\n e.preventDefault();\n });\n }\n });\n };\n return $;\n}\n","/**\n * @file jQuery Context Menu Plugin\n * Cory S.N. LaViska\n * A Beautiful Site ({@link https://abeautifulsite.net/})\n * Modified by Alexis Deveria\n *\n * More info: {@link https://abeautifulsite.net/2008/09/jquery-context-menu-plugin/}\n *\n * @module jQueryContextMenu\n * @todo Update to latest version and adapt (and needs jQuery update as well): {@link https://github.com/swisnl/jQuery-contextMenu}\n * @version 1.0.1\n *\n * @license (MIT OR GPL-2.0-or-later)\n *\n * This plugin is dual-licensed under the GNU General Public License\n * and the MIT License and is copyright A Beautiful Site, LLC.\n *\n*/\nimport {isMac} from '../../common/browser.js';\n\n/**\n* @callback module:jQueryContextMenu.jQueryContextMenuListener\n* @param {string} href The `href` value after the first character (for bypassing an initial `#`)\n* @param {external:jQuery} srcElement The wrapped jQuery srcElement\n* @param {{x: Float, y: Float, docX: Float, docY: Float}} coords\n* @returns {void}\n*/\n\n/**\n* @typedef {PlainObject} module:jQueryContextMenu.jQueryContextMenuConfig\n* @property {string} menu\n* @property {Float} inSpeed\n* @property {Float} outSpeed\n* @property {boolean} allowLeft\n*/\n\n/**\n* Adds {@link external:jQuery.fn.contextMenu},\n* {@link external:jQuery.fn.disableContextMenuItems},\n* {@link external:jQuery.fn.enableContextMenuItems},\n* {@link external:jQuery.fn.disableContextMenu},\n* {@link external:jQuery.fn.enableContextMenu},\n* {@link external:jQuery.fn.destroyContextMenu}.\n* @function module:jQueryContextMenu.jQueryContextMenu\n* @param {external:jQuery} $ The jQuery object to wrap (with `contextMenu`, `disableContextMenuItems`, `enableContextMenuItems`, `disableContextMenu`, `enableContextMenu`, `destroyContextMenu`)\n* @returns {external:jQuery}\n*/\nfunction jQueryContextMenu ($) {\n const win = $(window);\n const doc = $(document);\n\n $.extend($.fn, {\n /**\n * @memberof external:jQuery.fn\n * @param {module:jQueryContextMenu.jQueryContextMenuConfig} o\n * @param {module:jQueryContextMenu.jQueryContextMenuListener} listener\n * @returns {external:jQuery}\n */\n contextMenu (o, listener) {\n // Defaults\n if (o.menu === undefined) return false;\n if (o.inSpeed === undefined) o.inSpeed = 150;\n if (o.outSpeed === undefined) o.outSpeed = 75;\n // 0 needs to be -1 for expected results (no fade)\n if (o.inSpeed === 0) o.inSpeed = -1;\n if (o.outSpeed === 0) o.outSpeed = -1;\n // Loop each context menu\n $(this).each(function () {\n const el = $(this);\n const offset = $(el).offset();\n\n const menu = $('#' + o.menu);\n\n // Add contextMenu class\n menu.addClass('contextMenu');\n // Simulate a true right click\n $(this).bind('mousedown', function (evt) {\n $(this).mouseup(function (e) {\n const srcElement = $(this);\n srcElement.unbind('mouseup');\n\n if (!(evt.button === 2 || o.allowLeft ||\n (evt.ctrlKey && isMac()))) {\n return undefined;\n }\n e.stopPropagation();\n // Hide context menus that may be showing\n $('.contextMenu').hide();\n // Get this context menu\n\n if (el.hasClass('disabled')) return false;\n\n // Detect mouse position\n let x = e.pageX, y = e.pageY;\n\n const xOff = win.width() - menu.width(),\n yOff = win.height() - menu.height();\n\n if (x > xOff - 15) x = xOff - 15;\n if (y > yOff - 30) y = yOff - 30; // 30 is needed to prevent scrollbars in FF\n\n // Show the menu\n doc.unbind('click');\n menu.css({top: y, left: x}).fadeIn(o.inSpeed);\n // Hover events\n menu.find('A').mouseover(function () {\n menu.find('LI.hover').removeClass('hover');\n $(this).parent().addClass('hover');\n }).mouseout(function () {\n menu.find('LI.hover').removeClass('hover');\n });\n\n // Keyboard\n doc.keypress(function (ev) {\n switch (ev.keyCode) {\n case 38: // up\n if (!menu.find('LI.hover').length) {\n menu.find('LI:last').addClass('hover');\n } else {\n menu.find('LI.hover').removeClass('hover').prevAll('LI:not(.disabled)').eq(0).addClass('hover');\n if (!menu.find('LI.hover').length) menu.find('LI:last').addClass('hover');\n }\n break;\n case 40: // down\n if (!menu.find('LI.hover').length) {\n menu.find('LI:first').addClass('hover');\n } else {\n menu.find('LI.hover').removeClass('hover').nextAll('LI:not(.disabled)').eq(0).addClass('hover');\n if (!menu.find('LI.hover').length) menu.find('LI:first').addClass('hover');\n }\n break;\n case 13: // enter\n menu.find('LI.hover A').trigger('click');\n break;\n case 27: // esc\n doc.trigger('click');\n break;\n }\n });\n\n // When items are selected\n menu.find('A').unbind('mouseup');\n menu.find('LI:not(.disabled) A').mouseup(function () {\n doc.unbind('click').unbind('keypress');\n $('.contextMenu').hide();\n if (listener) {\n listener($(this).attr('href').substr(1), $(srcElement), {\n x: x - offset.left, y: y - offset.top, docX: x, docY: y\n });\n }\n return false;\n });\n\n // Hide bindings\n setTimeout(function () { // Delay for Mozilla\n doc.click(function () {\n doc.unbind('click').unbind('keypress');\n menu.fadeOut(o.outSpeed);\n return false;\n });\n }, 0);\n return undefined;\n });\n });\n\n // Disable text selection\n if ($.browser.mozilla) {\n $('#' + o.menu).each(function () { $(this).css({MozUserSelect: 'none'}); });\n } else if ($.browser.msie) {\n $('#' + o.menu).each(function () { $(this).bind('selectstart.disableTextSelect', function () { return false; }); });\n } else {\n $('#' + o.menu).each(function () { $(this).bind('mousedown.disableTextSelect', function () { return false; }); });\n }\n // Disable browser context menu (requires both selectors to work in IE/Safari + FF/Chrome)\n $(el).add($('UL.contextMenu')).bind('contextmenu', function () { return false; });\n });\n return $(this);\n },\n\n /**\n * Disable context menu items on the fly.\n * @memberof external:jQuery.fn\n * @param {void|string} o Comma-separated\n * @returns {external:jQuery}\n */\n disableContextMenuItems (o) {\n if (o === undefined) {\n // Disable all\n $(this).find('LI').addClass('disabled');\n return $(this);\n }\n $(this).each(function () {\n if (o !== undefined) {\n const d = o.split(',');\n for (const href of d) {\n $(this).find('A[href=\"' + href + '\"]').parent().addClass('disabled');\n }\n }\n });\n return $(this);\n },\n\n /**\n * Enable context menu items on the fly.\n * @memberof external:jQuery.fn\n * @param {void|string} o Comma-separated\n * @returns {external:jQuery}\n */\n enableContextMenuItems (o) {\n if (o === undefined) {\n // Enable all\n $(this).find('LI.disabled').removeClass('disabled');\n return $(this);\n }\n $(this).each(function () {\n if (o !== undefined) {\n const d = o.split(',');\n for (const href of d) {\n $(this).find('A[href=\"' + href + '\"]').parent().removeClass('disabled');\n }\n }\n });\n return $(this);\n },\n\n /**\n * Disable context menu(s).\n * @memberof external:jQuery.fn\n * @returns {external:jQuery}\n */\n disableContextMenu () {\n $(this).each(function () {\n $(this).addClass('disabled');\n });\n return $(this);\n },\n\n /**\n * Enable context menu(s).\n * @memberof external:jQuery.fn\n * @returns {external:jQuery}\n */\n enableContextMenu () {\n $(this).each(function () {\n $(this).removeClass('disabled');\n });\n return $(this);\n },\n\n /**\n * Destroy context menu(s).\n * @memberof external:jQuery.fn\n * @returns {external:jQuery}\n */\n destroyContextMenu () {\n // Destroy specified context menus\n $(this).each(function () {\n // Disable action\n $(this).unbind('mousedown').unbind('mouseup');\n });\n return $(this);\n }\n });\n return $;\n}\n\nexport default jQueryContextMenu;\n"],"names":["touchHandler","ev","changedTouches","first","type","screenX","screenY","clientX","clientY","simulatedEvent","MouseEvent","bubbles","cancelable","view","window","detail","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","length","target","dispatchEvent","preventDefault","document","addEventListener","NS","HTML","MATH","SE","SVG","XLINK","XML","XMLNS","getReverseNS","reverseNS","Object","entries","forEach","name","URI","toLowerCase","SVGPathSeg","typeAsLetter","owningPathSegList","pathSegType","pathSegTypeAsLetter","_owningPathSegList","this","segmentChanged","prototype","classname","PATHSEG_UNKNOWN","PATHSEG_CLOSEPATH","PATHSEG_MOVETO_ABS","PATHSEG_MOVETO_REL","PATHSEG_LINETO_ABS","PATHSEG_LINETO_REL","PATHSEG_CURVETO_CUBIC_ABS","PATHSEG_CURVETO_CUBIC_REL","PATHSEG_CURVETO_QUADRATIC_ABS","PATHSEG_CURVETO_QUADRATIC_REL","PATHSEG_ARC_ABS","PATHSEG_ARC_REL","PATHSEG_LINETO_HORIZONTAL_ABS","PATHSEG_LINETO_HORIZONTAL_REL","PATHSEG_LINETO_VERTICAL_ABS","PATHSEG_LINETO_VERTICAL_REL","PATHSEG_CURVETO_CUBIC_SMOOTH_ABS","PATHSEG_CURVETO_CUBIC_SMOOTH_REL","PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS","PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL","SVGPathSegClosePath","undefined","SVGPathSegMovetoAbs","x","y","_x","_y","defineProperties","get","set","_segmentChanged","enumerable","SVGPathSegMovetoRel","SVGPathSegLinetoAbs","SVGPathSegLinetoRel","SVGPathSegCurvetoCubicAbs","x1","y1","x2","y2","_x1","_y1","_x2","_y2","SVGPathSegCurvetoCubicRel","SVGPathSegCurvetoQuadraticAbs","SVGPathSegCurvetoQuadraticRel","SVGPathSegArcAbs","r1","r2","angle","largeArcFlag","sweepFlag","_r1","_r2","_angle","_largeArcFlag","_sweepFlag","SVGPathSegArcRel","SVGPathSegLinetoHorizontalAbs","defineProperty","SVGPathSegLinetoHorizontalRel","SVGPathSegLinetoVerticalAbs","SVGPathSegLinetoVerticalRel","SVGPathSegCurvetoCubicSmoothAbs","SVGPathSegCurvetoCubicSmoothRel","SVGPathSegCurvetoQuadraticSmoothAbs","SVGPathSegCurvetoQuadraticSmoothRel","SVGPathElement","createSVGPathSegClosePath","createSVGPathSegMovetoAbs","createSVGPathSegMovetoRel","createSVGPathSegLinetoAbs","createSVGPathSegLinetoRel","createSVGPathSegCurvetoCubicAbs","createSVGPathSegCurvetoCubicRel","createSVGPathSegCurvetoQuadraticAbs","createSVGPathSegCurvetoQuadraticRel","createSVGPathSegArcAbs","createSVGPathSegArcRel","createSVGPathSegLinetoHorizontalAbs","createSVGPathSegLinetoHorizontalRel","createSVGPathSegLinetoVerticalAbs","createSVGPathSegLinetoVerticalRel","createSVGPathSegCurvetoCubicSmoothAbs","createSVGPathSegCurvetoCubicSmoothRel","createSVGPathSegCurvetoQuadraticSmoothAbs","createSVGPathSegCurvetoQuadraticSmoothRel","getPathSegAtLength","distance","isFinite","Error","measurementElement","createElementNS","setAttribute","getAttribute","lastPathSegment","pathSegList","numberOfItems","removeItem","getTotalLength","SVGPathSegList","pathElement","_pathElement","_list","_parsePath","_mutationObserverConfig","attributes","attributeFilter","_pathElementMutationObserver","MutationObserver","_updateListFromPathMutations","bind","observe","takeRecords","mutationRecords","hasPathMutations","record","attributeName","disconnect","_pathSegArrayAsString","pathSeg","_writeListToPath","_checkPathSynchronizedToList","newItem","index","isNaN","_checkValidIndex","clone","splice","item","push","string","Builder","Source","_string","_currentIndex","_endIndex","_previousCommand","_skipOptionalSpaces","character","_isCurrentSpace","charAt","lookahead","_pathSegTypeFromChar","previousCommand","hasMoreData","command","peekSegmentType","exponent","integer","frac","decimal","sign","expsign","startIndex","startIntPartIndex","scanIntPartIndex","multiplier","number","_skipOptionalSpacesOrDelimiter","flag","flagChar","_nextCommandHelper","_parseNumber","points","arcAngle","arcLarge","_parseArcFlag","arcSweep","builder","source","initialCommandIsMoveTo","parseSegment","appendSegment","pathSegArray","_asPathString","_pathSegList","normalizedPathSegList","animatedPathSegList","animatedNormalizedPathSegList","rect","$","jQuery","userAgent","Boolean","createSVGRect","navigator","svg","isOpera_","opera","isWebkit_","includes","isGecko_","isIE_","isChrome_","isMac_","isTouch_","supportsSelectors_","querySelector","supportsXpath_","evaluate","supportsPathReplaceItem_","path","seglist","seg","replaceItem","err","supportsPathInsertItemBefore_","insertItemBefore","supportsGoodTextCharPos_","svgroot","svgcontent","documentElement","append","text","textContent","getStartPositionOfChar","remove","supportsPathBBox_","bbox","getBBox","height","supportsHVLineContainerBBox_","path2","g","width","supportsNonScalingStroke_","retValue","cloneNode","alert","style","vectorEffect","supportsNativeSVGTransformLists_","rxform","transform","baseVal","t1","createSVGTransform","appendItem","getItem","isSVGTransform","o","_typeof","setMatrix","matrix","a","b","c","d","e","f","isWebkit","isGecko","isIE","isChrome","isMac","isTouch","supportsNonScalingStroke","jQueryPluginSVG","proxied","fn","attr","key","value","len","call","i","elem","namespaceURI","Array","isArray","obj","j","aname","val","transformToString","xform","m","join","cx","cy","K","elementContainer_","listMap_","SVGTransformList","_elem","_xforms","_update","tstr","_init","str","re","match","replace","bits","split","valBits","valArr","letters","mtx","createSVGMatrix","values","Number","parseFloat","fname","toUpperCase","slice","_this","_removeFromOtherLists","some","tl","code","newxforms","removeElementFromListMap","id","getTransformList","t","gradientTransform","patternTransform","wAttrs","hAttrs","unitAttrs","typeMap_","getTypeMap","shortFloat","digits","getRoundDigits","toFixed","convertUnit","unit","getBaseUnit","setUnitAttr","convertToNum","substr","num","getWidth","getHeight","Math","sqrt","isValidUnit","selectedElement","keys","RegExp","test","result","getElement","isNullish","transformPoint","isIdentity","matrixMultiply","args","reduceRight","prev","m1","multiply","abs","hasMatrixTransform","tlist","transformBox","l","w","h","tr","bl","br","minx","min","maxx","max","miny","aabox","transformListToTransform","createSVGTransformFromMatrix","parseInt","temp","mtom","getMatrix","snapToAngle","snap","PI","dx","dy","atan2","dist","snapangle","round","cos","sin","rectsIntersect","KEYSTR","visElemsArr","editorContext_","domdoc_","domcontainer_","svgroot_","dropXMLInternalSubset","toXml","encode64","input","encodeUTF8","btoa","output","floor","p","chr1","charCodeAt","chr2","chr3","enc1","enc2","enc3","enc4","decode64","atob","decodeUTF8","indexOf","String","fromCharCode","argString","decodeURIComponent","escape","unescape","encodeURIComponent","dataURLToObjectURL","dataurl","Uint8Array","Blob","URL","createObjectURL","arr","mime","bstr","n","u8arr","blob","blankPageObjectURL","text2xml","sXML","out","dXML","DOMParser","ActiveXObject","async","loadXML","parseFromString","e2","walkTree","cbFn","nodeType","childNodes","getUrlFromAttr","attrVal","startsWith","substring","getHref","getAttributeNS","setHref","setAttributeNS","findDefs","svgElement","getSVGContent","defs","getElementsByTagNameNS","ownerDocument","firstChild","insertBefore","nextSibling","getPathBBox","tot","bounds","start","P0","getCalc","P1","P2","P3","pow","calc","b2ac","t2","apply","groupBBFix","selected","ret","copy","ref","data","matched","children","filter","find","issue","each","bb","elems","getStrokedBBox","geSelectedElements","elname","nodeName","extent","getExtentOfChar","getComputedTextLength","fo","closest","getPathDFromSegments","pathSegments","singleChar","pts","getPathDFromElement","rx","ry","tagName","r","getExtraAttributesForConvertToPath","attrs","getBBoxOfElementAsPath","addSVGElementFromJson","pathActions","element","eltrans","parentNode","before","resetOrientation","getBBoxWithTransform","getRotationAngleFromTransformList","hasMatrixXForm","goodBb","hasAMatrixTransform","angleModulo90","bBoxCanBeOptimizedOverNativeGetBBox","getStrokeOffsetForBBox","sw","fullBb","maxX","maxY","minX","minY","offset","curBb","getVisibleElements","parentElement","contentElems","reverse","getStrokedBBoxDefaultVisible","toRad","N","getRotationAngle","getSelectedElements","getRefElem","getElem","singleNodeValue","assignAttributes","suspendLength","unitCheck","ns","removeAttributeNS","removeAttribute","cleanupElement","defaults","opacity","stroke","snapToGrid","stepSize","getSnappingStep","preventClickDefault","img","click","contextMenuExtensions","injectExtendedContextMenuItemsIntoDom","menuItem","shortcut","label","injectExtendedContextMenuItemIntoDom","toAbsoluteURL","url","createElement","href","addScriptAtts","script","atts","prop","importSetGlobalDefault","config","importSetGlobal","returnDefault","glob","global","svgEditor","modules","importModule","importScript","Promise","all","map","u","resolve","reject","scriptOnError","destructor","scriptOnLoad","removeEventListener","src","defer","head","vector","random","toString","revokeObjectURL","absURL","loader","coerce_types","jQueryPluginDBox","ok","okString","cancel","cancelString","draggable","containment","css","box","btnHolder","dialogContent","dbox","msg","defaultVal","opts","changeListener","checkbox","html","toggleClass","empty","appendTo","ctrl","chkbx","hide","prependTo","div","tooltip","checked","opt","show","response","focus","confirm","process_cancel","prompt","defaultText","select","txt","newcx","newcy","oldcx","oldcy","HistoryEventTypes","BEFORE_APPLY","AFTER_APPLY","BEFORE_UNAPPLY","AFTER_UNAPPLY","Command","handler","applyFunction","handleHistoryEvent","unapplyFunction","constructor","MoveElementCommand","oldNextSibling","oldParent","newNextSibling","newParent","_this2","_this3","InsertElementCommand","parent","_this4","_this5","_this6","RemoveElementCommand","_this8","_this9","console","error","ChangeElementCommand","newValues","oldValues","bChangedTransform","_this11","rotate","_this12","BatchCommand","stack","_this14","stackItem","assert","_this15","unapply","cmd","thisElems","elements","UndoManager","historyEventHandler","handler_","undoStackPointer","undoStack","undoChangeStackPointer","undoableChangeStack","getText","attrName","changeset","batchCmd","changes","addSubCommand","segData","uiStrings","setUiStrings","strs","assign","ui","pathFuncs","linkControlPts","pathData","init","editorContext","s","newseg","list","curSeg","clear","ptObjToArr","segItem","getGripPt","altPt","pth","currentZoom","getCurrentZoom","getPointFromGrip","pt","imatrix","addPointGrip","pointGripContainer","getGripContainer","pointGrip","display","fill","cursor","pathNodeTooltip","appendChild","dblclick","setSegType","addCtrlGrip","pathCtrlPtTooltip","getCtrlLine","ctrlLine","getControlPoints","cpt","segItems","segs","gpt","replacePathSeg","segList","getSegSelector","update","segLine","point","smoothControlPoints","ct1","ct2","nct1","getSVGRoot","createSVGPoint","nct2","anglea","angleb","newAnglea","newAngleb","angleBetween","angleDiff","Segment","ctrlpts","ptgrip","segsel","hasOwnProperty","showCtrlPts","selectCtrls","getPointGrip","full","curPts","next","nextPts","mate","itm","anum","newType","Path","selected_pts","first_seg","segment","startI","nextSeg","prevSeg","startSeg","addGrip","newX","newY","p0x","p1x","p2x","p01x","p12x","p0y","p1y","p2y","p01y","p12y","pos","eachSeg","last_d","selectPt","move","moveCtrl","dragctrl","setLinked","storeD","selPt","cur","curX","curY","prevX","prevY","olditem","old","diffX","diffY","setType","endChanges","ctrlNum","clearSelection","addPtsToSelection","inverse","resetD","indexes","sort","grips","closedSubpath","subpathIsClosed","clsd","getPath_","removePath_","getRotVals","theta","recalcRotatedPath","currentPath","oldbox","oldbbox","rvals","cVals1","cVals2","Rnc","setRotate","pathMap","convertPath","toRel","curx","cury","lastM","letter","pathDSegment","morePoints","lastPoint","pnt","newPoint","firstCtrl","subpath","hasMoved","mouseDown","evt","mouseTarget","startX","startY","getCurrentMode","curPt","cur_pt","dragging","removePtFromSelection","parts","rubberBox","getRubberBox","setRubberBox","selectorManager","getRubberBandBox","mouseX","mouseY","stretchy","getGridSnapping","drawnPath","getDrawnPath","FUZZ","clickOnPoint","px","py","getId","sSeg","newpath","absX","absY","endseg","setDrawnPath","setStarted","remapElement","newD","origD","toEditMode","contains","getContainer","getMouseTarget","last","lastx","lasty","xya","dAttr","curStyles","getNextId","getOpacity","mouseMove","mpt","movePts","rbb","ptBb","sel","pointGrip1","pointGrip2","ptX","ptY","altX","altY","lastX","lastY","mouseUp","keep","lastPt","toSelectMode","setCurrentMode","utilsGetBBox","selPath","addToSelection","addSubPath","on","reorient","addCommandToHistory","grad","pt1","pt2","gCoords","newgrad","reorientGrads","zoomChange","getNodePoint","linkControlPoints","linkPoints","clonePathNode","selPts","nums","addSeg","opencloseSubPath","zSeg","openPt","startItem","closer","deletePathNode","canDeleteNodes","deleteSeg","cleanup","remItems","count","nprev","prevType","canvas","deleteSelectedElements","cp","smoothPolylineIntoPath","curpos","prevCtlPt","end","newpts","prevArr","v","moveNode","newValue","diff","fixEnd","Layer","group","svgElem","name_","group_","svgdoc","layerTitle","after","addLayerClass","visible","expected","child","hrService","previousName","title","getTitleElement","changeElement","classes","CLASS_NAME","CLASS_REGEX","HistoryRecordingService","undoManager","undoManager_","currentBatchCommand_","batchCommandStack_","batchCommand","pop","addCommand_","NO_HISTORY","visElems","RandomizeModes","randIds","disabledElems","historyRecordingService","canvas_","undoMgr","findLayerNameInGroup","querySelectorAll","getNewLayerName","existingLayerNames","Drawing","optIdPrefix","svgElem_","obj_num","idPrefix","releasedNums","all_layers","layer_map","current_layer","nonce_","setNonce","oldObjNum","restoreOldObjNum","getElem_","front","getNumLayers","getName","getGroup","layer","finalName","oldName","setName","newpos","oldpos","layerCount","currentGroup","refGroup","identifyLayers","setCurrentLayer","getLayerName","prevGroup","startBatchCommand","layerNextSibling","removeElement","localName","moveElement","removeGroup","endBatchCommand","mergeLayer","deactivate","activate","oldLayerGroup","numchildren","orphans","layernames","childgroups","appendChildren","insertElement","copyElem","layerName","isVisible","bVisible","setVisible","setOpacity","el","that","newEl","fixedD","nodeValue","utilCopyElem","randomizeIds","enableRandomization","currentDrawing","getNonce","clearNonce","leaveContext","getCurrentDrawing","createLayer","newLayer","cloneLayer","deleteCurrentLayer","currentLayer","getCurrentLayer","renameCurrentLayer","newName","drawing","setCurrentLayerName","setCurrentLayerPosition","newPos","setLayerVisibility","prevVisibility","getLayerVisibility","oldDisplay","moveSelectedToLayer","getLayerByName","selElems","oldLayer","changeSVGContent","mergeAllLayers","orig","elData","setCurrentGroup","setContext","parentsUntil","andSelf","siblings","opac","getCurrentGroup","REVERSE_NS","svgWhiteList_","circle","clipPath","desc","ellipse","feGaussianBlur","feMorphology","foreignObject","image","line","linearGradient","marker","mask","metadata","pattern","polygon","polyline","radialGradient","stop","symbol","textPath","tspan","use","annotation","maction","math","menclose","merror","mfrac","mi","mmultiscripts","mn","mo","mover","mpadded","mphantom","mprescripts","mroot","mrow","mspace","msqrt","mstyle","msub","msubsup","msup","mtable","mtd","mtext","mtr","munder","munderover","none","semantics","svgWhiteListNS_","elt","attNS","att","context_","svgFactory_","config_","selectorManager_","sanitizeSvg","node","doc","allowedAttrs","allowedAttrsNS","seAttrs","attrLocalName","attrNsURI","props","styleAttrName","trim","styleAttrVal","hasChildNodes","remap","scalew","scaleh","doSnapping","finishUp","getDrawing","elName","chlist","mt","existing","tNew","tbox","gsvg","pstr","firstseg","currentpt","dstr","updateClipPath","tx","ty","cpXform","newxlate","setTranslate","recalculateDimensions","k","noi","mxs","mNew","oldcenter","newcenter","initial","extend","getStartTransform","gangle","rm","firstM","oldStartTransform","operation","tm","sm","tmn","childTlist","setStartTransform","e2t","t2n","s2","translateOrigin","scale","translateBack","setScale","T_M","mInv","M2","clipPathsDone","uses","useElem","usexlate","newRot","em","e2m","avg","roldt","rold","rnew","rnewInv","extrat","paint","gtlist","gmatrix","mStr","oldxlate","meq","meqInv","tspanChanges","gripRadius","Selector","locked","selectorGroup","createSVGElement","selectorRect","gripCoords","nw","ne","se","reset","resize","bShow","selectorGripsGroup","hasGrips","updateGripCursors","selectedBox","mgr","selectedGrips","selectorGrips","strokedBbox","nbox","nbax","nbay","nbaw","nbah","rot","svgRoot","rotm","maxy","dir","coords","rotateGripConnector","rotateGrip","dirArr","steps","shift","gripElement","SelectorManager","selectorParentGroup","rubberBandBox","selectors","selectorMap","initGroup","grip","imgPath","dimensions","canvasbg","overflow","svgContent","log","showGrips","hstry","postError","SvgCanvas","container","curConfig","show_outside_canvas","selectNew","importNode","clearSvgContentElement","xmlns","comment","createComment","idprefix","setIdPrefix","current_drawing_","draw","allProperties","shape","initFill","color","fill_paint","fill_opacity","initStroke","stroke_paint","stroke_opacity","stroke_width","stroke_dasharray","stroke_linejoin","stroke_linecap","initOpacity","font_size","font_family","curShape","selectedElements","getJsonFromSvgElement","retval","createTextNode","namespace","baseUnit","elementContainer","body","inch","ex","cm","mm","pc","unitsInit","saveOptions","round_digits","getSelectedElems","pathModule","getDOMDocument","getDOMContainer","snappingStep","gridSnapping","coordsInit","recalculateInit","startTransform","nsMap","eventType","EventTypes","cmdType","isApply","restoreRefElems","setUseData","stdDeviation","setBlurOffsets","getZoom","svgFactory","selectInit","jsonMap","arg","events","noCall","releaseSelector","elemsToAdd","requestSelector","compareDocumentPosition","correspondingUseElement","started","rb","closed_subpath","currentMode","dp","refAttrs","opacAni","begin","dur","removedElements","childs","getElementsByTagName","encodableImages","importIds","curText","extensions","lastGoodImgUrl","currentResizeMode","curProperties","justSelected","curBBoxes","lastClickPoint","runExtension","action","vars","runExtensions","returnArray","nameFilter","ext","addExtension","extInitFunc","jq","importLocale","TypeError","argObj","getPrivateMethods","nonce","extObj","getIntersectionList","rubberBBox","resultList","getVisibleElementsAndBBoxes","groupSvgElem","replaceWith","prepareSvg","newDoc","ffClone","setRotationAngle","preventUndo","oldTransform","center","newTransform","changeSelectedAttribute","recalculateAllSelectedDimensions","isEmpty","logMatrix","rootSctm","selectOnly","removeFromSelection","elemsToRemove","newSelectedItems","selectAllInCurrentLayer","parameter","freehand","rStartX","rStartY","initBbox","sumDistance","controllPoint2","controllPoint1","bSpline","nextPos","getBsplinePoint","spline","p0","p1","p2","p3","t3","mousedown","spaceKey","rightClick","cloneSelectedElements","getScreenCTM","pageX","pageY","realX","realY","griptype","slist","delayedStroke","iswebkit","ele","stroke_","setTimeout","newImage","strokeW","textActions","beginUndoableChange","extResult","event","start_x","start_y","mousemove","newList","intElem","foundInd","hasMatrix","left","top","sy","sx","square","rad","STEP_COUNT","mouse_x","mouse_y","pushGroupProperties","mouseup","tempJustSelected","factor","commaIndex","res","finishUndoableChange","addedNew","cAni","aniDur","beginElement","to","releaseId","setMode","originalEvent","workarea","rulerwidth","showRulers","editorFullW","editorFullH","editorW","editorH","workareaViewW","workareaViewH","wOffset","wOffsetLeft","wOffsetTop","delta","wheelDelta","wZoom","hZoom","ceil","zoomlevel","topLeftOld","newCtr","setZoom","canvg","curtext","textinput","selblock","blinker","textbb","allowDbl","chardata","setCursor","arguments","selectionEnd","selectionStart","charbb","setSelectionRange","setInterval","startPt","ptToScreen","endPt","visibility","setSelection","skipInput","startbb","endbb","getIndexFromPoint","charpos","getCharNumAtPosition","setCursorFromPoint","setEndSelectionFromPoint","i1","i2","screenToPt","xIn","yIn","selectAll","unbind","selectWord","ept","selectElem","clearInterval","blur","setInputElem","inputElem","getEndPositionOfChar","contentW","removeUnusedDefElems","defelemUses","numRemoved","alen","allEls","allLen","defelems","defelem","getIssues","issues","issueCodes","issueList","exportNoBlur","exportNoforeignObject","exportNoDashArray","content","getContext","exportNoText","descr","svgCanvasToString","nakedSvgs","svgToString","indent","unitRe","getResolution","nsuris","uri","attrNames","mozAttrs","styleName","images","bOneLine","embedImage","Image","load","status","xhr","cvs","drawImage","urldata","toDataURL","statusText","setGoodImage","open","save","rasterExport","imgType","quality","exportWindowName","mimeType","canvgPath","contentH","bloburl","dataURLType","datauri","done","avoidEvent","toBlob","exportPDF","outputType","jsPDF","modularVersion","jspdfPath","orientation","format","docTitle","getDocumentTitle","setProperties","addSVG","getSvgString","uniquifyElems","ids","refElems","oldid","hrefs","attrnode","getAttributeNode","refid","newid","ownerElement","hreffers","hreffer","refElem","convertGradients","fillStrokeElems","convertToGroup","ts","$elem","unwrap","removeData","vb","hasMore","dupeGrads","walkTreePost","setSvgString","xmlString","firstElementChild","oldzoom","adoptNode","pa","percs","dim","importSvgString","useEl","uid","useExisting","parents","innerw","innerh","innervb","canvash","dr","propVal","cg","resetUndoStack","getContentElem","getRootElem","zoom","getSnapToGrid","getVersion","notification","common","setConfig","getTitle","setGroupTitle","prepend","tsNextSibling","setDocumentTitle","newTitle","oldTitle","getEditorNS","add","setResolution","visEls","moveSelectedElements","viewBox","getOffset","setBBoxZoom","spacer","calcZoom","newzoom","selectedElems","zoomLevel","getMode","getColor","setColor","addNonG","changeSelectedAttributeNoUndo","setGradient","duplicateGrad","findDuplicateGradient","existingGrads","radAttrs","og","gradAttrs","ogAttrs","stops","ostops","ostop","setPaint","jGraduate","Paint","setPaintOpacity","alpha","solidColor","setStrokePaint","setFillPaint","getStrokeWidth","setStrokeWidth","setStrokeAttr","getStyle","getFillOpacity","getStrokeOpacity","getPaintOpacity","getBlur","curCommand","filterHidden","finishChange","bCmd","setBlurNoUndo","setBlur","filterElem","stdDev","complete","elemId","newblur","getBold","setBold","getItalic","setItalic","getFontFamily","setFontFamily","setFontColor","getFontColor","getFontSize","setFontSize","setTextContent","setImageURL","setsize","curHref","setLinkURL","parentsA","setRectRadius","makeHyperlink","groupSelectedElements","removeHyperlink","ungroupSelectedElement","convertToPath","noXYElems","oldval","newrot","selectedCopy","cutSelectedElements","copySelectedElements","CLIPBOARD_ID","flashStorage","sessionStorage","localStorage","setItem","JSON","stringify","menu","enableContextMenuItems","pasteElements","clipb","parse","pasted","changedIDs","checkIDs","extChanges","removeID","clipBoardItem","ctrX","ctrY","urlArg","cmdStr","undoable","gfilter","gblur","glist","gattrs","newOpac","cblur","origCblur","suffix","chtlist","rgm","rcm","cangle","cbox","ceqm","coldc","sangle","trm","oldxform","newxform","chm","chmInv","gm","anchor","gNextSibling","moveToTopSelectedElement","moveToBottomSelectedElement","moveUpDownSelected","foundCur","toArray","copiedElements","alignSelectedElements","relativeTo","bboxes","MAX_VALUE","MIN_VALUE","curwidth","curheight","updateCanvas","bg","oldX","oldY","bgImg","new_x","new_y","old_x","old_y","d_x","d_y","setBackground","border","bgPattern","preserveAspectRatio","cycleElement","curElem","allElems","SVGEditTransformList","isOpera","fixIDs","svgEl","svgNum","force","idElems","newId","oldVal","newVal","toFixedNumeric","precision","langParam","editor_","setStrings","readLang","langData","addLangData","more","merge","tools","properties","layers","curve_segments","fitToContent","fit_to_all","fit_to_canvas","fit_to_layer_content","fit_to_sel","icon_large","icon_medium","icon_small","icon_xlarge","image_opt_embed","image_opt_ref","includedImages","included_images","largest_object","layersLabel","page","relativeToLabel","selLayerLabel","move_elems_to","selectedPredefined","select_predefined","selected_objects","smallest_object","straight_segments","svginfo_bg_url","editor_img_url","svginfo_bg_note","editor_bg_note","svginfo_change_background","background","svginfo_dim","doc_dims","svginfo_editor_prefs","editor_prefs","svginfo_height","svginfo_icons","icon_size","svginfo_image_props","image_props","svginfo_lang","language","svginfo_title","doc_title","svginfo_width","tool_docprops_cancel","tool_docprops_save","tool_source_cancel","tool_source_save","tool_prefs_cancel","tool_prefs_save","sidepanel_handle","tool_clear","new_doc","tool_docprops","docprops","tool_export","export_img","tool_import","import_doc","tool_open","open_doc","tool_save","save_doc","tool_editor_prefs","tool_editor_homepage","editor_homepage","svginfo_units_rulers","units_and_rulers","svginfo_rulers_onoff","show_rulers","svginfo_unit","base_unit","svginfo_grid_settings","grid","svginfo_snap_onoff","snapping_onoff","svginfo_snap_step","snapping_stepsize","svginfo_grid_color","grid_color","del","ariaLabels","tool_blur","tool_position","align_to_page","tool_font_family","zoom_panel","zoom_level","linejoin_miter","linecap_butt","tool_opacity","group_opacity","align_relative_to","circle_cx","circle_cy","circle_r","cornerRadiusLabel","corner_radius","ellipse_cx","ellipse_cy","ellipse_rx","ellipse_ry","fill_color","idLabel","image_height","image_url","image_width","layer_delete","layer_down","move_down","layer_new","layer_rename","rename","layer_moreopts","more_opts","layer_up","move_up","line_x1","line_x2","line_y1","line_y2","linecap_round","linecap_square","linejoin_bevel","linejoin_round","main_icon","main_menu","palette","palette_info","path_node_x","node_x","path_node_y","node_y","rect_height_tool","rect_height","rect_width_tool","rect_width","seg_type","selLayerNames","move_selected","selected_x","pos_x","selected_y","pos_y","stroke_color","stroke_style","text_contents","toggle_stroke_tools","tool_add_subpath","add_subpath","tool_alignbottom","align_bottom","tool_aligncenter","align_center","tool_alignleft","align_left","tool_alignmiddle","align_middle","tool_alignright","align_right","tool_aligntop","align_top","tool_angle","tool_bold","bold","tool_circle","mode_circle","tool_clone","tool_clone_multi","tool_delete","tool_delete_multi","tool_ellipse","mode_ellipse","tool_fhellipse","mode_fhellipse","tool_fhpath","mode_fhpath","tool_fhrect","mode_fhrect","tool_font_size","tool_group_elements","group_elements","tool_make_link","make_link","tool_link_url","set_link_url","tool_image","mode_image","tool_italic","italic","tool_line","mode_line","tool_move_bottom","move_bottom","tool_move_top","move_top","tool_node_clone","node_clone","tool_node_delete","node_delete","tool_node_link","node_link","tool_openclose_path","openclose_path","tool_path","mode_path","tool_rect","mode_rect","tool_redo","redo","tool_reorient","reorient_path","tool_select","mode_select","tool_source","source_save","tool_square","mode_square","tool_text","mode_text","tool_topath","to_path","tool_undo","undo","tool_ungroup","ungroup","tool_wireframe","wireframe_mode","tool_zoom","mode_zoom","url_notice","no_embed","putLocale","givenParam","goodLangs","conf","userLanguage","langPath","_slicedToArray","_arrayWithHoles","Symbol","iterator","_arr","_n","_d","_e","_s","_i","_iterableToArrayLimit","_nonIterableRest","loadStylesheets","stylesheets","_ref","beforeDefault","afterDefault","faviconDefault","favicon","canvasDefault","_ref$image","imageDefault","acceptErrors","setupLink","stylesheetURL","options","_stylesheetURL2","_stylesheetURL2$","_options$favicon","_options2","_options2$before","_options2$after","_options2$canvas","_options2$image","addLink","link","rej","endsWith","rel","cnv","context","$q","editor","which","hotkeys","specialKeys","shiftNums","version","special","svgIcons","file","testImg","dataEl","holder","svgns","xlinkns","iconW","iconH","iconsMade","dataLoaded","loadAttempts","dataPre","svgz","contentDocument","getIcons","err1","useFallback","parser","ajax","dataType","success","responseText","noWait","isReady","getElementById","no_img","makeIcons","testSrc","alt","testIconAlt","setIcon","icon","setID","cl","alts","removeAttr","addIcon","id_match","toImage","fallback","tempHolder","fallback_path","imgsrc","XMLSerializer","serializeToString","placement","resizeSvgIcons","callback","regFile","getSvgIcon","uniqueClone","changeSel","size","widget","loadingStylesheets","jGraduateDefaults","pickerTitle","clientPath","newstop","mkElem","newparent","setAttrs","okCallback","cancelCallback","$this","$settings","idref","okClicked","cancelClicked","$win","addClass","colPicker","gradPicker","attrInput","stopGroup","curType","curGradient","gradalpha","isSolid","mkStop","inverted","inv","showFocus","fx","fy","previewRect","MAX","beginCoord","endCoord","centerCoord","focusCoord","isRadial","attrval","change","cssName","curStop","drag","stopOffset","stopMakerDiv","delStop","scaleX","scaleY","cX","cY","stopMakerSVG","transPattern","patternUnits","transImg","bgImage","stopPropagation","mouseover","lastfx","lastfy","slider","spreadMethodOpt","draggingCoord","onCoordDrag","fracx","fracy","grd","onCoordUp","numstops","toggle","fX","fY","ellipVal","angleVal","sliders","radius","handle","ellip","dragSlider","stopSlider","isRad","xpos","SLIDERW","posx","setSlider","thisAlpha","jPicker","alphaSupport","effects","speed","active","clr","tab","tabs","removeClass","newGrad","curStops","colr","stopElem","pickerD","pathbg","selectStop","dragColor","remDrags","colorhandle","stopOpacity","stopColor","bottom","arg2","curS","newcolor","newopac","remStop","xfStr","sX","SpinButton","cfg","coord","offsetParent","browser","msie","currentStyle","position","repeating","spinCfg","step","stepfunc","upClass","downClass","delay","interval","_btn_width","_direction","_delay","_repeat","smallStep","adjustValue","spinClass","stateObj","tool_scale","direction","offsetWidth","mouseout","clearTimeout","adjust","keydown","keyCode","keypress","keyup","win","contextMenu","listener","inSpeed","outSpeed","srcElement","allowLeft","hasClass","xOff","yOff","fadeIn","prevAll","eq","nextAll","trigger","docX","docY","fadeOut","mozilla","MozUserSelect","disableContextMenuItems","disableContextMenu","enableContextMenu","destroyContextMenu","Slider","bar","fireChangeEvents","changeEvents","changeEvent","off","timeout","setValuesFromMousePosition","barW","barH","locX","locY","rangeX","rangeY","changed","arrow","range","newMinX","newMaxX","newMinY","newMaxY","destroy","arrowW","arrowH","arrowOffsetX","arrowOffsetY","ColorValuePicker","picker","bindedHex","alphaPrecision","inputs","keyDown","hex","validateKey","red","setValueInRange","green","blue","hue","saturation","keyUp","ahex","colorChanged","List","Color","ColorMethods","rgbaToHex","nameLength","ch","hexToRgba","newV","rgb","hsv","rgbToHsv","hsvToRgb","intToHex","validateHex","hexToInt","rgba","dec","q","commitCallback","liveCallback","settings","bindToInput","expandable","current","liveUpdate","isLessThanIE7","appVersion","filters","setColorMode","colorMode","rgbMap","rgbBar","mode","setBG","colorMapDiv","setImgLoc","colorMapL1","setAlpha","colorMapL2","colorBarDiv","colorBarL1","colorBarL2","colorBarL3","colorBarL4","colorBarL6","colorMap","colorBar","activeColorChanged","positionMapAndBarArrows","updatePreview","updateMapVisuals","updateBarVisuals","mapValueChanged","xy","colorBarValueChanged","sv","hv","hs","rg","activePreview","backgroundColor","colorMapL3","colorBarL5","hva","saturatedColor","hsa","valueColor","hValue","vValue","middle","setImg","backgroundImage","revertColor","commitColor","radioClicked","currentClicked","cancelButton","okButton","iconImageClicked","currentColorChanged","currentPreview","expandableColorChanged","va","iconColor","iconAlpha","updateInputColor","moveBarMouseDown","elementStartX","elementStartY","pageStartX","pageStartY","documentMouseMove","documentMouseUp","support","boxModel","quickPickClicked","attachIFrame","table","zIndex","slideDown","removeIFrame","slideUp","initialize","popup","onselectstart","controlHtml","localization","newColor","tooltips","colors","currentColor","buttons","radio","textbox","tbody","MapMaps","BarMaps","colorPicker","preview","quickList","quickHex","iconImage","moveBar","reduce","func","exportWindowCt","langChanged","showSaveWarning","storagePromptState","svgCanvas","callbacks","defaultPrefs","lang","iconsize","bkgd_color","bkgd_url","img_save","save_notice_done","export_notice_done","defaultExtensions","defaultConfig","canvasName","canvas_expansion","colorPickerCSS","initTool","exportWindowType","wireframe","showlayers","no_save_warning","extPath","jGraduatePath","extIconsPath","gridColor","preventAllURLConfig","preventURLContentLoading","lockExtensions","noDefaultExtensions","showGrid","noStorageOnLoad","forceStorage","emptyStorageOnDecline","avoidClientSide","avoidClientSideDownload","avoidClientSideOpen","customExportImage","customExportPDF","curPrefs","allowedOrigins","loadSvgString","noAlert","errorLoadingSVG","getImportLocale","defaultLang","defaultName","pref","mayBeEmpty","loadContentAndPrefs","cookie","storage","cached","loadFromString","storeKey","preferenceForKey","cfgCfg","extendOrAdd","cfgObj","overwrite","allowInitialUserOverride","concat","setCustomHandlers","ready","exportImage","setupCurConfig","grep","params","coerce","location","search","searchParams","param","keys_last","has","pathConfig","loadFromDataURI","loadFromURL","iconId","forcedSize","extAndLocaleFunc","setLang","logo","select_node","fh_rect","fh_ellipse","pencil","pen","close_path","open_path","arrow_right","arrow_right_big","arrow_down","new_image","go_up","go_down","context_menu","link_controls","unlink_use","c_radius","fontsize","align","eye","no_color","warning","globe_link","icons","getStylesheetPriority","stylesheetFile","Infinity","tleft","minHeight","outerHeight","setIconSize","shower","priorityA","priorityB","Set","idx","runCallbacks","extname","extName","imported","extensionsAdded","Actions","setAll","messageQueue","messageObj","setFlyoutPositions","outerWidth","uaPrefix","regex","someScript","selToscale","xl","hiddenPs","sides","Utils","scaleElements","cssResizeRules","ruleElem","styleStr","selector","rules","prefix","resizeTimer","curScrollPos","modKey","canvMenu","paintBox","exportWindow","defaultImageURL","zoomInIcon","zoomOutIcon","uiContext","opener","svgEditorReadyEvent","CustomEvent","setSelectMode","curr","origTitle","rIntervals","toggleHighlightLayer","layerNameToHighlight","curNames","numLayers","curName","setLayerOpacity","populateLayers","layerlist","currentLayerName","getCurrentLayerName","layerTr","layerVis","row","vis","editingsource","origSource","showSourceEditor","forSaving","multiselected","operaRepaint","setStrokeOpt","changeElem","pre","toolButtonClick","noHiding","clickSelect","dataURI","promptImgURL","cancelDeletes","curhref","enterNewImgURL","updateRulers","scanvas","contentElem","isX","lentype","contentDim","$hcanvOrig","$hcanv","hcanv","rulerLen","totalLen","ctx","ctxArr","ctxArrNum","fillStyle","fillRect","uMulti","rawM","multi","bigInt","font","rulerD","labelPos","ctxNum","curD","moveTo","lineTo","decs","fillText","part","subD","lineNum","strokeStyle","wArea","cnvs","wOrig","hOrig","oldCtr","scrollLeft","scrollTop","oldCanY","oldCanX","newCanY","newCanX","ratio","scrollX","scrollY","scroll","storagePrompt","updateToolButtonState","bNoFill","bNoStroke","buttonsNeedingStroke","buttonsNeedingFillAndStroke","btn","nofill","nostroke","hasEnabled","updateContextPanel","isNode","menuItems","blurval","segType","noPath","panels","linkHref","curPanel","bv","setInputWidth","getUndoStackSize","getRedoStackSize","updateWireFrame","supportsNonSS","rule","curContext","updateTitle","zoomDone","zoomChanged","autoCenter","zInfo","changeZoom","ctl","delegate","prepPaints","prep","flyoutFuncs","setFlyoutTitles","allHolders","setupFlyouts","holders","holdSel","btnOpts","timer","not","showSel","def","idSel","isDefault","flyoutAction","flyoutIsSelected","currentOperation","tool","time","animate","is","makeFlyoutHolder","addAltDropDown","elemSel","listSel","dropUp","seticon","onButton","hover","multiclick","extsPreLang","extAdded","prepResize","resizeDone","cbCalled","langReady","loadedExtensionNames","runCallback","btnSelects","context_tools","contId","container_id","panel","defval","colnum","inp","spindata","svgicons","fallbackObj","altsObj","placementObj","cls","flyoutHolder","showBtn","refData","refBtn","svgicon","tlsId","includeWith","getButtonData","curH","gWidth","swidth","opacPerc","updateToolbar","editmode","togglePathEditMode","ang","isSvgElem","isLayer","wind","download","note","saveFromBrowser","defsFailOnSave","closed","noteTheseIssues","popupWindowBlocked","linkStr","blocks","curBg","changeOpacity","changeBlur","noUndo","panning","keypan","promptMoveLayerOnce","destLayer","selectedIndex","confirmStr","QmoveElemsToLayer","moveToLayer","invalidAttrValGiven","unitData","setPanning","overlay","jsHover","setClick","listItems","addDropDown","perc","slide","noop","unfocus","slideStart","loadingURL","clickFHPath","clickLine","clickSquare","clickRect","clickFHRect","clickCircle","clickEllipse","clickFHEllipse","clickImage","clickZoom","zoomImage","dblclickZoom","clickText","clickPath","deleteSelected","cutSelected","copySelected","pasteInCenter","moveToTopSelected","moveToBottomSelected","reorientPath","enterNewLinkURL","moveSelected","linked","sp","selectNext","selectPrev","rotateSelected","cw","clickClear","QwantToClear","clickBold","clickItalic","clickExport","openExportWindow","popHTML","popURL","loadingImage","chrome","clickOpen","clickImport","clickUndo","clickRedo","clickGroup","clickClone","clickAlign","clickWireframe","wfRules","curClass","allTools","preferences","showDocProperties","showPreferences","canvasBg","blk","isBg","openHomePage","hideSourceEditor","saveSourceEditor","saveChanges","QerrorsRevertToSource","hideDocProperties","hidePreferences","saveDocProperties","noContentToFitTo","savePreferences","resetScrollPos","cancelOverlays","QignoreSourceChanges","winWh","curval","shortcutButtons","pick_stroke_paint_opacity","pick_fill_paint_opacity","PaintBox","docElem","ctr","ptype","fillAttr","_paintColor","_paintOpacity","gPaint","defColor","getPaint","testEl","blurTest","deleteLayer","enterUniqueLayerName","hasLayer","dupeLayerName","moveLayer","total","curIndex","stdDeviationX","featNotSupported","uniqName","enterNewLayerName","layerHasThatName","sidedrag","sidedragging","allowmove","changeSidePanelWidth","rulerX","resizeSidePanel","deltaX","sideWidth","toggleSidePanel","close","dpr","devicePixelRatio","wh","dims","toolButtons","keyAssocs","dialogSelectors","saveOpts","every","hidekey","flyouts","keyHandler","fH","margin","keyval","pd","setTitles","keyStr","modBits","mod","lastChild","itool","preTool","regTool","origVal","sugVal","increasing","handlerKey","getCustomHandler","lmenuFunc","enableOrDisableClipboard","svgeditClipboard","returnValue","unsavedChanges","getUIStrings","openPrep","QwantToOpen","FileReader","importImage","reader","dataTransfer","files","onloadend","newElement","readAsText","imgWidth","imgHeight","naturalWidth","offsetHeight","naturalHeight","readAsDataURL","imgImport","allStrings","oldLayerName","renameLayer","loadedExtensionName","dest","localeInit","protocol","cb","disableUI","featList","cache","beforeSend","stat","URLLoadFail","base64","initArgs","origin","_asyncToGenerator"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"index-es.min.js","sources":["../src/editor/touch.js","../src/common/namespaces.js","../src/common/svgpathseg.js","../src/common/browser.js","../src/common/jQuery.attr.js","../src/common/svgtransformlist.js","../src/common/units.js","../src/common/math.js","../src/common/utilities.js","../src/editor/contextmenu.js","../src/external/dynamic-import-polyfill/importModule.js","../src/external/deparam/deparam.esm.js","../src/svgcanvas/dbox.js","../src/svgcanvas/history.js","../src/svgcanvas/path.js","../src/common/layer.js","../src/svgcanvas/historyrecording.js","../src/svgcanvas/copy-elem.js","../src/svgcanvas/draw.js","../src/svgcanvas/sanitize.js","../src/svgcanvas/recalculate.js","../src/svgcanvas/select.js","../src/svgcanvas/coords.js","../src/svgcanvas/svgcanvas.js","../src/editor/svgicons/jQuery.svgIcons.js","../src/editor/jgraduate/jQuery.jGraduate.js","../src/editor/jgraduate/jQuery.jPicker.js","../src/editor/locale/locale.js","../src/external/load-stylesheets/index-es.js","../src/editor/svg-editor.js","../src/editor/js-hotkeys/jquery.hotkeys.min.js","../src/editor/spinbtn/jQuery.SpinButton.js","../src/editor/contextmenu/jQuery.contextMenu.js"],"sourcesContent":["// http://ross.posterous.com/2008/08/19/iphone-touch-events-in-javascript/\n/**\n *\n * @param {Event} ev\n * @returns {void}\n */\nfunction touchHandler (ev) {\n const {changedTouches} = ev,\n first = changedTouches[0];\n\n let type = '';\n switch (ev.type) {\n case 'touchstart': type = 'mousedown'; break;\n case 'touchmove': type = 'mousemove'; break;\n case 'touchend': type = 'mouseup'; break;\n default: return;\n }\n\n const {screenX, screenY, clientX, clientY} = first; // eslint-disable-line no-shadow\n const simulatedEvent = new MouseEvent(type, {\n // Event interface\n bubbles: true,\n cancelable: true,\n // UIEvent interface\n view: window,\n detail: 1, // click count\n // MouseEvent interface (customized)\n screenX, screenY, clientX, clientY,\n // MouseEvent interface (defaults) - these could be removed\n ctrlKey: false,\n altKey: false,\n shiftKey: false,\n metaKey: false,\n button: 0, // main button (usually left)\n relatedTarget: null\n });\n if (changedTouches.length < 2) {\n first.target.dispatchEvent(simulatedEvent);\n ev.preventDefault();\n }\n}\n\ndocument.addEventListener('touchstart', touchHandler, true);\ndocument.addEventListener('touchmove', touchHandler, true);\ndocument.addEventListener('touchend', touchHandler, true);\ndocument.addEventListener('touchcancel', touchHandler, true);\n","/**\n * Namespaces or tools therefor.\n * @module namespaces\n * @license MIT\n*/\n\n/**\n* Common namepaces constants in alpha order.\n* @enum {string}\n* @type {PlainObject}\n* @memberof module:namespaces\n*/\nexport const NS = {\n HTML: 'http://www.w3.org/1999/xhtml',\n MATH: 'http://www.w3.org/1998/Math/MathML',\n SE: 'http://svg-edit.googlecode.com',\n SVG: 'http://www.w3.org/2000/svg',\n XLINK: 'http://www.w3.org/1999/xlink',\n XML: 'http://www.w3.org/XML/1998/namespace',\n XMLNS: 'http://www.w3.org/2000/xmlns/' // see http://www.w3.org/TR/REC-xml-names/#xmlReserved\n};\n\n/**\n* @function module:namespaces.getReverseNS\n* @returns {string} The NS with key values switched and lowercase\n*/\nexport const getReverseNS = function () {\n const reverseNS = {};\n Object.entries(NS).forEach(([name, URI]) => {\n reverseNS[URI] = name.toLowerCase();\n });\n return reverseNS;\n};\n","/* eslint-disable import/unambiguous, max-len */\n/* globals SVGPathSeg, SVGPathSegMovetoRel, SVGPathSegMovetoAbs,\n SVGPathSegMovetoRel, SVGPathSegLinetoRel, SVGPathSegLinetoAbs,\n SVGPathSegLinetoHorizontalRel, SVGPathSegLinetoHorizontalAbs,\n SVGPathSegLinetoVerticalRel, SVGPathSegLinetoVerticalAbs,\n SVGPathSegClosePath, SVGPathSegCurvetoCubicRel,\n SVGPathSegCurvetoCubicAbs, SVGPathSegCurvetoCubicSmoothRel,\n SVGPathSegCurvetoCubicSmoothAbs, SVGPathSegCurvetoQuadraticRel,\n SVGPathSegCurvetoQuadraticAbs, SVGPathSegCurvetoQuadraticSmoothRel,\n SVGPathSegCurvetoQuadraticSmoothAbs, SVGPathSegArcRel, SVGPathSegArcAbs */\n/**\n* SVGPathSeg API polyfill\n* https://github.com/progers/pathseg\n*\n* This is a drop-in replacement for the `SVGPathSeg` and `SVGPathSegList` APIs\n* that were removed from SVG2 ({@link https://lists.w3.org/Archives/Public/www-svg/2015Jun/0044.html}),\n* including the latest spec changes which were implemented in Firefox 43 and\n* Chrome 46.\n*/\n/* eslint-disable no-shadow, class-methods-use-this, jsdoc/require-jsdoc */\n// Linting: We avoid `no-shadow` as ESLint thinks these are still available globals\n// Linting: We avoid `class-methods-use-this` as this is a polyfill that must\n// follow the conventions\n(() => {\nif (!('SVGPathSeg' in window)) {\n // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGPathSeg\n class SVGPathSeg {\n constructor (type, typeAsLetter, owningPathSegList) {\n this.pathSegType = type;\n this.pathSegTypeAsLetter = typeAsLetter;\n this._owningPathSegList = owningPathSegList;\n }\n // Notify owning PathSegList on any changes so they can be synchronized back to the path element.\n _segmentChanged () {\n if (this._owningPathSegList) {\n this._owningPathSegList.segmentChanged(this);\n }\n }\n }\n SVGPathSeg.prototype.classname = 'SVGPathSeg';\n\n SVGPathSeg.PATHSEG_UNKNOWN = 0;\n SVGPathSeg.PATHSEG_CLOSEPATH = 1;\n SVGPathSeg.PATHSEG_MOVETO_ABS = 2;\n SVGPathSeg.PATHSEG_MOVETO_REL = 3;\n SVGPathSeg.PATHSEG_LINETO_ABS = 4;\n SVGPathSeg.PATHSEG_LINETO_REL = 5;\n SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS = 6;\n SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL = 7;\n SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS = 8;\n SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL = 9;\n SVGPathSeg.PATHSEG_ARC_ABS = 10;\n SVGPathSeg.PATHSEG_ARC_REL = 11;\n SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS = 12;\n SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL = 13;\n SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS = 14;\n SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL = 15;\n SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;\n SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;\n SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;\n SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;\n\n class SVGPathSegClosePath extends SVGPathSeg {\n constructor (owningPathSegList) {\n super(SVGPathSeg.PATHSEG_CLOSEPATH, 'z', owningPathSegList);\n }\n toString () { return '[object SVGPathSegClosePath]'; }\n _asPathString () { return this.pathSegTypeAsLetter; }\n clone () { return new SVGPathSegClosePath(undefined); }\n }\n\n class SVGPathSegMovetoAbs extends SVGPathSeg {\n constructor (owningPathSegList, x, y) {\n super(SVGPathSeg.PATHSEG_MOVETO_ABS, 'M', owningPathSegList);\n this._x = x;\n this._y = y;\n }\n toString () { return '[object SVGPathSegMovetoAbs]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._x + ' ' + this._y; }\n clone () { return new SVGPathSegMovetoAbs(undefined, this._x, this._y); }\n }\n Object.defineProperties(SVGPathSegMovetoAbs.prototype, {\n x: {\n get () { return this._x; }, set (x) { this._x = x; this._segmentChanged(); }, enumerable: true\n },\n y: {\n get () { return this._y; }, set (y) { this._y = y; this._segmentChanged(); }, enumerable: true\n }\n });\n\n class SVGPathSegMovetoRel extends SVGPathSeg {\n constructor (owningPathSegList, x, y) {\n super(SVGPathSeg.PATHSEG_MOVETO_REL, 'm', owningPathSegList);\n this._x = x;\n this._y = y;\n }\n toString () { return '[object SVGPathSegMovetoRel]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._x + ' ' + this._y; }\n clone () { return new SVGPathSegMovetoRel(undefined, this._x, this._y); }\n }\n Object.defineProperties(SVGPathSegMovetoRel.prototype, {\n x: {get () { return this._x; }, set (x) { this._x = x; this._segmentChanged(); }, enumerable: true},\n y: {get () { return this._y; }, set (y) { this._y = y; this._segmentChanged(); }, enumerable: true}\n });\n\n class SVGPathSegLinetoAbs extends SVGPathSeg {\n constructor (owningPathSegList, x, y) {\n super(SVGPathSeg.PATHSEG_LINETO_ABS, 'L', owningPathSegList);\n this._x = x;\n this._y = y;\n }\n toString () { return '[object SVGPathSegLinetoAbs]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._x + ' ' + this._y; }\n clone () { return new SVGPathSegLinetoAbs(undefined, this._x, this._y); }\n }\n Object.defineProperties(SVGPathSegLinetoAbs.prototype, {\n x: {get () { return this._x; }, set (x) { this._x = x; this._segmentChanged(); }, enumerable: true},\n y: {get () { return this._y; }, set (y) { this._y = y; this._segmentChanged(); }, enumerable: true}\n });\n\n class SVGPathSegLinetoRel extends SVGPathSeg {\n constructor (owningPathSegList, x, y) {\n super(SVGPathSeg.PATHSEG_LINETO_REL, 'l', owningPathSegList);\n this._x = x;\n this._y = y;\n }\n toString () { return '[object SVGPathSegLinetoRel]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._x + ' ' + this._y; }\n clone () { return new SVGPathSegLinetoRel(undefined, this._x, this._y); }\n }\n Object.defineProperties(SVGPathSegLinetoRel.prototype, {\n x: {get () { return this._x; }, set (x) { this._x = x; this._segmentChanged(); }, enumerable: true},\n y: {get () { return this._y; }, set (y) { this._y = y; this._segmentChanged(); }, enumerable: true}\n });\n\n class SVGPathSegCurvetoCubicAbs extends SVGPathSeg {\n constructor (owningPathSegList, x, y, x1, y1, x2, y2) {\n super(SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS, 'C', owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n }\n toString () { return '[object SVGPathSegCurvetoCubicAbs]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._x1 + ' ' + this._y1 + ' ' + this._x2 + ' ' + this._y2 + ' ' + this._x + ' ' + this._y; }\n clone () { return new SVGPathSegCurvetoCubicAbs(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2); }\n }\n Object.defineProperties(SVGPathSegCurvetoCubicAbs.prototype, {\n x: {get () { return this._x; }, set (x) { this._x = x; this._segmentChanged(); }, enumerable: true},\n y: {get () { return this._y; }, set (y) { this._y = y; this._segmentChanged(); }, enumerable: true},\n x1: {get () { return this._x1; }, set (x1) { this._x1 = x1; this._segmentChanged(); }, enumerable: true},\n y1: {get () { return this._y1; }, set (y1) { this._y1 = y1; this._segmentChanged(); }, enumerable: true},\n x2: {get () { return this._x2; }, set (x2) { this._x2 = x2; this._segmentChanged(); }, enumerable: true},\n y2: {get () { return this._y2; }, set (y2) { this._y2 = y2; this._segmentChanged(); }, enumerable: true}\n });\n\n class SVGPathSegCurvetoCubicRel extends SVGPathSeg {\n constructor (owningPathSegList, x, y, x1, y1, x2, y2) {\n super(SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL, 'c', owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n this._x2 = x2;\n this._y2 = y2;\n }\n toString () { return '[object SVGPathSegCurvetoCubicRel]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._x1 + ' ' + this._y1 + ' ' + this._x2 + ' ' + this._y2 + ' ' + this._x + ' ' + this._y; }\n clone () { return new SVGPathSegCurvetoCubicRel(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2); }\n }\n Object.defineProperties(SVGPathSegCurvetoCubicRel.prototype, {\n x: {get () { return this._x; }, set (x) { this._x = x; this._segmentChanged(); }, enumerable: true},\n y: {get () { return this._y; }, set (y) { this._y = y; this._segmentChanged(); }, enumerable: true},\n x1: {get () { return this._x1; }, set (x1) { this._x1 = x1; this._segmentChanged(); }, enumerable: true},\n y1: {get () { return this._y1; }, set (y1) { this._y1 = y1; this._segmentChanged(); }, enumerable: true},\n x2: {get () { return this._x2; }, set (x2) { this._x2 = x2; this._segmentChanged(); }, enumerable: true},\n y2: {get () { return this._y2; }, set (y2) { this._y2 = y2; this._segmentChanged(); }, enumerable: true}\n });\n\n class SVGPathSegCurvetoQuadraticAbs extends SVGPathSeg {\n constructor (owningPathSegList, x, y, x1, y1) {\n super(SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS, 'Q', owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n }\n toString () { return '[object SVGPathSegCurvetoQuadraticAbs]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._x1 + ' ' + this._y1 + ' ' + this._x + ' ' + this._y; }\n clone () { return new SVGPathSegCurvetoQuadraticAbs(undefined, this._x, this._y, this._x1, this._y1); }\n }\n Object.defineProperties(SVGPathSegCurvetoQuadraticAbs.prototype, {\n x: {get () { return this._x; }, set (x) { this._x = x; this._segmentChanged(); }, enumerable: true},\n y: {get () { return this._y; }, set (y) { this._y = y; this._segmentChanged(); }, enumerable: true},\n x1: {get () { return this._x1; }, set (x1) { this._x1 = x1; this._segmentChanged(); }, enumerable: true},\n y1: {get () { return this._y1; }, set (y1) { this._y1 = y1; this._segmentChanged(); }, enumerable: true}\n });\n\n class SVGPathSegCurvetoQuadraticRel extends SVGPathSeg {\n constructor (owningPathSegList, x, y, x1, y1) {\n super(SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL, 'q', owningPathSegList);\n this._x = x;\n this._y = y;\n this._x1 = x1;\n this._y1 = y1;\n }\n toString () { return '[object SVGPathSegCurvetoQuadraticRel]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._x1 + ' ' + this._y1 + ' ' + this._x + ' ' + this._y; }\n clone () { return new SVGPathSegCurvetoQuadraticRel(undefined, this._x, this._y, this._x1, this._y1); }\n }\n Object.defineProperties(SVGPathSegCurvetoQuadraticRel.prototype, {\n x: {get () { return this._x; }, set (x) { this._x = x; this._segmentChanged(); }, enumerable: true},\n y: {get () { return this._y; }, set (y) { this._y = y; this._segmentChanged(); }, enumerable: true},\n x1: {get () { return this._x1; }, set (x1) { this._x1 = x1; this._segmentChanged(); }, enumerable: true},\n y1: {get () { return this._y1; }, set (y1) { this._y1 = y1; this._segmentChanged(); }, enumerable: true}\n });\n\n class SVGPathSegArcAbs extends SVGPathSeg {\n constructor (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n super(SVGPathSeg.PATHSEG_ARC_ABS, 'A', owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n }\n toString () { return '[object SVGPathSegArcAbs]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._r1 + ' ' + this._r2 + ' ' + this._angle + ' ' + (this._largeArcFlag ? '1' : '0') + ' ' + (this._sweepFlag ? '1' : '0') + ' ' + this._x + ' ' + this._y; }\n clone () { return new SVGPathSegArcAbs(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag); }\n }\n Object.defineProperties(SVGPathSegArcAbs.prototype, {\n x: {get () { return this._x; }, set (x) { this._x = x; this._segmentChanged(); }, enumerable: true},\n y: {get () { return this._y; }, set (y) { this._y = y; this._segmentChanged(); }, enumerable: true},\n r1: {get () { return this._r1; }, set (r1) { this._r1 = r1; this._segmentChanged(); }, enumerable: true},\n r2: {get () { return this._r2; }, set (r2) { this._r2 = r2; this._segmentChanged(); }, enumerable: true},\n angle: {get () { return this._angle; }, set (angle) { this._angle = angle; this._segmentChanged(); }, enumerable: true},\n largeArcFlag: {get () { return this._largeArcFlag; }, set (largeArcFlag) { this._largeArcFlag = largeArcFlag; this._segmentChanged(); }, enumerable: true},\n sweepFlag: {get () { return this._sweepFlag; }, set (sweepFlag) { this._sweepFlag = sweepFlag; this._segmentChanged(); }, enumerable: true}\n });\n\n class SVGPathSegArcRel extends SVGPathSeg {\n constructor (owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {\n super(SVGPathSeg.PATHSEG_ARC_REL, 'a', owningPathSegList);\n this._x = x;\n this._y = y;\n this._r1 = r1;\n this._r2 = r2;\n this._angle = angle;\n this._largeArcFlag = largeArcFlag;\n this._sweepFlag = sweepFlag;\n }\n toString () { return '[object SVGPathSegArcRel]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._r1 + ' ' + this._r2 + ' ' + this._angle + ' ' + (this._largeArcFlag ? '1' : '0') + ' ' + (this._sweepFlag ? '1' : '0') + ' ' + this._x + ' ' + this._y; }\n clone () { return new SVGPathSegArcRel(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag); }\n }\n Object.defineProperties(SVGPathSegArcRel.prototype, {\n x: {get () { return this._x; }, set (x) { this._x = x; this._segmentChanged(); }, enumerable: true},\n y: {get () { return this._y; }, set (y) { this._y = y; this._segmentChanged(); }, enumerable: true},\n r1: {get () { return this._r1; }, set (r1) { this._r1 = r1; this._segmentChanged(); }, enumerable: true},\n r2: {get () { return this._r2; }, set (r2) { this._r2 = r2; this._segmentChanged(); }, enumerable: true},\n angle: {get () { return this._angle; }, set (angle) { this._angle = angle; this._segmentChanged(); }, enumerable: true},\n largeArcFlag: {get () { return this._largeArcFlag; }, set (largeArcFlag) { this._largeArcFlag = largeArcFlag; this._segmentChanged(); }, enumerable: true},\n sweepFlag: {get () { return this._sweepFlag; }, set (sweepFlag) { this._sweepFlag = sweepFlag; this._segmentChanged(); }, enumerable: true}\n });\n\n class SVGPathSegLinetoHorizontalAbs extends SVGPathSeg {\n constructor (owningPathSegList, x) {\n super(SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS, 'H', owningPathSegList);\n this._x = x;\n }\n toString () { return '[object SVGPathSegLinetoHorizontalAbs]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._x; }\n clone () { return new SVGPathSegLinetoHorizontalAbs(undefined, this._x); }\n }\n Object.defineProperty(SVGPathSegLinetoHorizontalAbs.prototype, 'x', {get () { return this._x; }, set (x) { this._x = x; this._segmentChanged(); }, enumerable: true});\n\n class SVGPathSegLinetoHorizontalRel extends SVGPathSeg {\n constructor (owningPathSegList, x) {\n super(SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL, 'h', owningPathSegList);\n this._x = x;\n }\n toString () { return '[object SVGPathSegLinetoHorizontalRel]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._x; }\n clone () { return new SVGPathSegLinetoHorizontalRel(undefined, this._x); }\n }\n Object.defineProperty(SVGPathSegLinetoHorizontalRel.prototype, 'x', {get () { return this._x; }, set (x) { this._x = x; this._segmentChanged(); }, enumerable: true});\n\n class SVGPathSegLinetoVerticalAbs extends SVGPathSeg {\n constructor (owningPathSegList, y) {\n super(SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS, 'V', owningPathSegList);\n this._y = y;\n }\n toString () { return '[object SVGPathSegLinetoVerticalAbs]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._y; }\n clone () { return new SVGPathSegLinetoVerticalAbs(undefined, this._y); }\n }\n Object.defineProperty(SVGPathSegLinetoVerticalAbs.prototype, 'y', {get () { return this._y; }, set (y) { this._y = y; this._segmentChanged(); }, enumerable: true});\n\n class SVGPathSegLinetoVerticalRel extends SVGPathSeg {\n constructor (owningPathSegList, y) {\n super(SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL, 'v', owningPathSegList);\n this._y = y;\n }\n toString () { return '[object SVGPathSegLinetoVerticalRel]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._y; }\n clone () { return new SVGPathSegLinetoVerticalRel(undefined, this._y); }\n }\n Object.defineProperty(SVGPathSegLinetoVerticalRel.prototype, 'y', {get () { return this._y; }, set (y) { this._y = y; this._segmentChanged(); }, enumerable: true});\n\n class SVGPathSegCurvetoCubicSmoothAbs extends SVGPathSeg {\n constructor (owningPathSegList, x, y, x2, y2) {\n super(SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS, 'S', owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n }\n toString () { return '[object SVGPathSegCurvetoCubicSmoothAbs]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._x2 + ' ' + this._y2 + ' ' + this._x + ' ' + this._y; }\n clone () { return new SVGPathSegCurvetoCubicSmoothAbs(undefined, this._x, this._y, this._x2, this._y2); }\n }\n Object.defineProperties(SVGPathSegCurvetoCubicSmoothAbs.prototype, {\n x: {get () { return this._x; }, set (x) { this._x = x; this._segmentChanged(); }, enumerable: true},\n y: {get () { return this._y; }, set (y) { this._y = y; this._segmentChanged(); }, enumerable: true},\n x2: {get () { return this._x2; }, set (x2) { this._x2 = x2; this._segmentChanged(); }, enumerable: true},\n y2: {get () { return this._y2; }, set (y2) { this._y2 = y2; this._segmentChanged(); }, enumerable: true}\n });\n\n class SVGPathSegCurvetoCubicSmoothRel extends SVGPathSeg {\n constructor (owningPathSegList, x, y, x2, y2) {\n super(SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL, 's', owningPathSegList);\n this._x = x;\n this._y = y;\n this._x2 = x2;\n this._y2 = y2;\n }\n toString () { return '[object SVGPathSegCurvetoCubicSmoothRel]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._x2 + ' ' + this._y2 + ' ' + this._x + ' ' + this._y; }\n clone () { return new SVGPathSegCurvetoCubicSmoothRel(undefined, this._x, this._y, this._x2, this._y2); }\n }\n Object.defineProperties(SVGPathSegCurvetoCubicSmoothRel.prototype, {\n x: {get () { return this._x; }, set (x) { this._x = x; this._segmentChanged(); }, enumerable: true},\n y: {get () { return this._y; }, set (y) { this._y = y; this._segmentChanged(); }, enumerable: true},\n x2: {get () { return this._x2; }, set (x2) { this._x2 = x2; this._segmentChanged(); }, enumerable: true},\n y2: {get () { return this._y2; }, set (y2) { this._y2 = y2; this._segmentChanged(); }, enumerable: true}\n });\n\n class SVGPathSegCurvetoQuadraticSmoothAbs extends SVGPathSeg {\n constructor (owningPathSegList, x, y) {\n super(SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS, 'T', owningPathSegList);\n this._x = x;\n this._y = y;\n }\n toString () { return '[object SVGPathSegCurvetoQuadraticSmoothAbs]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._x + ' ' + this._y; }\n clone () { return new SVGPathSegCurvetoQuadraticSmoothAbs(undefined, this._x, this._y); }\n }\n Object.defineProperties(SVGPathSegCurvetoQuadraticSmoothAbs.prototype, {\n x: {get () { return this._x; }, set (x) { this._x = x; this._segmentChanged(); }, enumerable: true},\n y: {get () { return this._y; }, set (y) { this._y = y; this._segmentChanged(); }, enumerable: true}\n });\n\n class SVGPathSegCurvetoQuadraticSmoothRel extends SVGPathSeg {\n constructor (owningPathSegList, x, y) {\n super(SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL, 't', owningPathSegList);\n this._x = x;\n this._y = y;\n }\n toString () { return '[object SVGPathSegCurvetoQuadraticSmoothRel]'; }\n _asPathString () { return this.pathSegTypeAsLetter + ' ' + this._x + ' ' + this._y; }\n clone () { return new SVGPathSegCurvetoQuadraticSmoothRel(undefined, this._x, this._y); }\n }\n Object.defineProperties(SVGPathSegCurvetoQuadraticSmoothRel.prototype, {\n x: {get () { return this._x; }, set (x) { this._x = x; this._segmentChanged(); }, enumerable: true},\n y: {get () { return this._y; }, set (y) { this._y = y; this._segmentChanged(); }, enumerable: true}\n });\n\n // Add createSVGPathSeg* functions to SVGPathElement.\n // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGPathElement.\n SVGPathElement.prototype.createSVGPathSegClosePath = function () { return new SVGPathSegClosePath(undefined); };\n SVGPathElement.prototype.createSVGPathSegMovetoAbs = function (x, y) { return new SVGPathSegMovetoAbs(undefined, x, y); };\n SVGPathElement.prototype.createSVGPathSegMovetoRel = function (x, y) { return new SVGPathSegMovetoRel(undefined, x, y); };\n SVGPathElement.prototype.createSVGPathSegLinetoAbs = function (x, y) { return new SVGPathSegLinetoAbs(undefined, x, y); };\n SVGPathElement.prototype.createSVGPathSegLinetoRel = function (x, y) { return new SVGPathSegLinetoRel(undefined, x, y); };\n SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs = function (x, y, x1, y1, x2, y2) { return new SVGPathSegCurvetoCubicAbs(undefined, x, y, x1, y1, x2, y2); };\n SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel = function (x, y, x1, y1, x2, y2) { return new SVGPathSegCurvetoCubicRel(undefined, x, y, x1, y1, x2, y2); };\n SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs = function (x, y, x1, y1) { return new SVGPathSegCurvetoQuadraticAbs(undefined, x, y, x1, y1); };\n SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel = function (x, y, x1, y1) { return new SVGPathSegCurvetoQuadraticRel(undefined, x, y, x1, y1); };\n SVGPathElement.prototype.createSVGPathSegArcAbs = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) { return new SVGPathSegArcAbs(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag); };\n SVGPathElement.prototype.createSVGPathSegArcRel = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) { return new SVGPathSegArcRel(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag); };\n SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs = function (x) { return new SVGPathSegLinetoHorizontalAbs(undefined, x); };\n SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel = function (x) { return new SVGPathSegLinetoHorizontalRel(undefined, x); };\n SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs = function (y) { return new SVGPathSegLinetoVerticalAbs(undefined, y); };\n SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel = function (y) { return new SVGPathSegLinetoVerticalRel(undefined, y); };\n SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs = function (x, y, x2, y2) { return new SVGPathSegCurvetoCubicSmoothAbs(undefined, x, y, x2, y2); };\n SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel = function (x, y, x2, y2) { return new SVGPathSegCurvetoCubicSmoothRel(undefined, x, y, x2, y2); };\n SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs = function (x, y) { return new SVGPathSegCurvetoQuadraticSmoothAbs(undefined, x, y); };\n SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel = function (x, y) { return new SVGPathSegCurvetoQuadraticSmoothRel(undefined, x, y); };\n\n if (!('getPathSegAtLength' in SVGPathElement.prototype)) {\n // Add getPathSegAtLength to SVGPathElement.\n // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-__svg__SVGPathElement__getPathSegAtLength\n // This polyfill requires SVGPathElement.getTotalLength to implement the distance-along-a-path algorithm.\n SVGPathElement.prototype.getPathSegAtLength = function (distance) {\n if (distance === undefined || !isFinite(distance)) {\n throw new Error('Invalid arguments.');\n }\n\n const measurementElement = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n measurementElement.setAttribute('d', this.getAttribute('d'));\n let lastPathSegment = measurementElement.pathSegList.numberOfItems - 1;\n\n // If the path is empty, return 0.\n if (lastPathSegment <= 0) {\n return 0;\n }\n\n do {\n measurementElement.pathSegList.removeItem(lastPathSegment);\n if (distance > measurementElement.getTotalLength()) {\n break;\n }\n lastPathSegment--;\n } while (lastPathSegment > 0);\n return lastPathSegment;\n };\n }\n\n window.SVGPathSeg = SVGPathSeg;\n window.SVGPathSegClosePath = SVGPathSegClosePath;\n window.SVGPathSegMovetoAbs = SVGPathSegMovetoAbs;\n window.SVGPathSegMovetoRel = SVGPathSegMovetoRel;\n window.SVGPathSegLinetoAbs = SVGPathSegLinetoAbs;\n window.SVGPathSegLinetoRel = SVGPathSegLinetoRel;\n window.SVGPathSegCurvetoCubicAbs = SVGPathSegCurvetoCubicAbs;\n window.SVGPathSegCurvetoCubicRel = SVGPathSegCurvetoCubicRel;\n window.SVGPathSegCurvetoQuadraticAbs = SVGPathSegCurvetoQuadraticAbs;\n window.SVGPathSegCurvetoQuadraticRel = SVGPathSegCurvetoQuadraticRel;\n window.SVGPathSegArcAbs = SVGPathSegArcAbs;\n window.SVGPathSegArcRel = SVGPathSegArcRel;\n window.SVGPathSegLinetoHorizontalAbs = SVGPathSegLinetoHorizontalAbs;\n window.SVGPathSegLinetoHorizontalRel = SVGPathSegLinetoHorizontalRel;\n window.SVGPathSegLinetoVerticalAbs = SVGPathSegLinetoVerticalAbs;\n window.SVGPathSegLinetoVerticalRel = SVGPathSegLinetoVerticalRel;\n window.SVGPathSegCurvetoCubicSmoothAbs = SVGPathSegCurvetoCubicSmoothAbs;\n window.SVGPathSegCurvetoCubicSmoothRel = SVGPathSegCurvetoCubicSmoothRel;\n window.SVGPathSegCurvetoQuadraticSmoothAbs = SVGPathSegCurvetoQuadraticSmoothAbs;\n window.SVGPathSegCurvetoQuadraticSmoothRel = SVGPathSegCurvetoQuadraticSmoothRel;\n}\n\n// Checking for SVGPathSegList in window checks for the case of an implementation without the\n// SVGPathSegList API.\n// The second check for appendItem is specific to Firefox 59+ which removed only parts of the\n// SVGPathSegList API (e.g., appendItem). In this case we need to re-implement the entire API\n// so the polyfill data (i.e., _list) is used throughout.\nif (!('SVGPathSegList' in window) || !('appendItem' in window.SVGPathSegList.prototype)) {\n // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGPathSegList\n class SVGPathSegList {\n constructor (pathElement) {\n this._pathElement = pathElement;\n this._list = this._parsePath(this._pathElement.getAttribute('d'));\n\n // Use a MutationObserver to catch changes to the path's \"d\" attribute.\n this._mutationObserverConfig = {attributes: true, attributeFilter: ['d']};\n this._pathElementMutationObserver = new MutationObserver(this._updateListFromPathMutations.bind(this));\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n }\n // Process any pending mutations to the path element and update the list as needed.\n // This should be the first call of all public functions and is needed because\n // MutationObservers are not synchronous so we can have pending asynchronous mutations.\n _checkPathSynchronizedToList () {\n this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords());\n }\n\n _updateListFromPathMutations (mutationRecords) {\n if (!this._pathElement) {\n return;\n }\n let hasPathMutations = false;\n mutationRecords.forEach((record) => {\n if (record.attributeName === 'd') {\n hasPathMutations = true;\n }\n });\n if (hasPathMutations) {\n this._list = this._parsePath(this._pathElement.getAttribute('d'));\n }\n }\n\n // Serialize the list and update the path's 'd' attribute.\n _writeListToPath () {\n this._pathElementMutationObserver.disconnect();\n this._pathElement.setAttribute('d', SVGPathSegList._pathSegArrayAsString(this._list));\n this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);\n }\n\n // When a path segment changes the list needs to be synchronized back to the path element.\n segmentChanged (pathSeg) {\n this._writeListToPath();\n }\n\n clear () {\n this._checkPathSynchronizedToList();\n\n this._list.forEach((pathSeg) => {\n pathSeg._owningPathSegList = null;\n });\n this._list = [];\n this._writeListToPath();\n }\n\n initialize (newItem) {\n this._checkPathSynchronizedToList();\n\n this._list = [newItem];\n newItem._owningPathSegList = this;\n this._writeListToPath();\n return newItem;\n }\n\n _checkValidIndex (index) {\n if (isNaN(index) || index < 0 || index >= this.numberOfItems) {\n throw new Error('INDEX_SIZE_ERR');\n }\n }\n\n getItem (index) {\n this._checkPathSynchronizedToList();\n\n this._checkValidIndex(index);\n return this._list[index];\n }\n\n insertItemBefore (newItem, index) {\n this._checkPathSynchronizedToList();\n\n // Spec: If the index is greater than or equal to numberOfItems, then the new item is appended to the end of the list.\n if (index > this.numberOfItems) {\n index = this.numberOfItems;\n }\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n this._list.splice(index, 0, newItem);\n newItem._owningPathSegList = this;\n this._writeListToPath();\n return newItem;\n }\n\n replaceItem (newItem, index) {\n this._checkPathSynchronizedToList();\n\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n this._checkValidIndex(index);\n this._list[index] = newItem;\n newItem._owningPathSegList = this;\n this._writeListToPath();\n return newItem;\n }\n\n removeItem (index) {\n this._checkPathSynchronizedToList();\n\n this._checkValidIndex(index);\n const item = this._list[index];\n this._list.splice(index, 1);\n this._writeListToPath();\n return item;\n }\n\n appendItem (newItem) {\n this._checkPathSynchronizedToList();\n\n if (newItem._owningPathSegList) {\n // SVG2 spec says to make a copy.\n newItem = newItem.clone();\n }\n this._list.push(newItem);\n newItem._owningPathSegList = this;\n // TODO: Optimize this to just append to the existing attribute.\n this._writeListToPath();\n return newItem;\n }\n\n // This closely follows SVGPathParser::parsePath from Source/core/svg/SVGPathParser.cpp.\n _parsePath (string) {\n if (!string || !string.length) {\n return [];\n }\n\n const owningPathSegList = this;\n\n class Builder {\n constructor () {\n this.pathSegList = [];\n }\n appendSegment (pathSeg) {\n this.pathSegList.push(pathSeg);\n }\n }\n\n class Source {\n constructor (string) {\n this._string = string;\n this._currentIndex = 0;\n this._endIndex = this._string.length;\n this._previousCommand = SVGPathSeg.PATHSEG_UNKNOWN;\n\n this._skipOptionalSpaces();\n }\n _isCurrentSpace () {\n const character = this._string[this._currentIndex];\n return character <= ' ' && (character === ' ' || character === '\\n' || character === '\\t' || character === '\\r' || character === '\\f');\n }\n\n _skipOptionalSpaces () {\n while (this._currentIndex < this._endIndex && this._isCurrentSpace()) {\n this._currentIndex++;\n }\n return this._currentIndex < this._endIndex;\n }\n\n _skipOptionalSpacesOrDelimiter () {\n if (this._currentIndex < this._endIndex && !this._isCurrentSpace() && this._string.charAt(this._currentIndex) !== ',') {\n return false;\n }\n if (this._skipOptionalSpaces()) {\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) === ',') {\n this._currentIndex++;\n this._skipOptionalSpaces();\n }\n }\n return this._currentIndex < this._endIndex;\n }\n\n hasMoreData () {\n return this._currentIndex < this._endIndex;\n }\n\n peekSegmentType () {\n const lookahead = this._string[this._currentIndex];\n return this._pathSegTypeFromChar(lookahead);\n }\n\n _pathSegTypeFromChar (lookahead) {\n switch (lookahead) {\n case 'Z':\n case 'z':\n return SVGPathSeg.PATHSEG_CLOSEPATH;\n case 'M':\n return SVGPathSeg.PATHSEG_MOVETO_ABS;\n case 'm':\n return SVGPathSeg.PATHSEG_MOVETO_REL;\n case 'L':\n return SVGPathSeg.PATHSEG_LINETO_ABS;\n case 'l':\n return SVGPathSeg.PATHSEG_LINETO_REL;\n case 'C':\n return SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;\n case 'c':\n return SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;\n case 'Q':\n return SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;\n case 'q':\n return SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;\n case 'A':\n return SVGPathSeg.PATHSEG_ARC_ABS;\n case 'a':\n return SVGPathSeg.PATHSEG_ARC_REL;\n case 'H':\n return SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;\n case 'h':\n return SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;\n case 'V':\n return SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;\n case 'v':\n return SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;\n case 'S':\n return SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;\n case 's':\n return SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;\n case 'T':\n return SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;\n case 't':\n return SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;\n default:\n return SVGPathSeg.PATHSEG_UNKNOWN;\n }\n }\n\n _nextCommandHelper (lookahead, previousCommand) {\n // Check for remaining coordinates in the current command.\n if ((lookahead === '+' || lookahead === '-' || lookahead === '.' || (lookahead >= '0' && lookahead <= '9')) && previousCommand !== SVGPathSeg.PATHSEG_CLOSEPATH) {\n if (previousCommand === SVGPathSeg.PATHSEG_MOVETO_ABS) {\n return SVGPathSeg.PATHSEG_LINETO_ABS;\n }\n if (previousCommand === SVGPathSeg.PATHSEG_MOVETO_REL) {\n return SVGPathSeg.PATHSEG_LINETO_REL;\n }\n return previousCommand;\n }\n return SVGPathSeg.PATHSEG_UNKNOWN;\n }\n\n initialCommandIsMoveTo () {\n // If the path is empty it is still valid, so return true.\n if (!this.hasMoreData()) {\n return true;\n }\n const command = this.peekSegmentType();\n // Path must start with moveTo.\n return command === SVGPathSeg.PATHSEG_MOVETO_ABS || command === SVGPathSeg.PATHSEG_MOVETO_REL;\n }\n\n // Parse a number from an SVG path. This very closely follows genericParseNumber(...) from Source/core/svg/SVGParserUtilities.cpp.\n // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-PathDataBNF\n _parseNumber () {\n let exponent = 0;\n let integer = 0;\n let frac = 1;\n let decimal = 0;\n let sign = 1;\n let expsign = 1;\n\n const startIndex = this._currentIndex;\n\n this._skipOptionalSpaces();\n\n // Read the sign.\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) === '+') {\n this._currentIndex++;\n } else if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) === '-') {\n this._currentIndex++;\n sign = -1;\n }\n\n if (this._currentIndex === this._endIndex || ((this._string.charAt(this._currentIndex) < '0' || this._string.charAt(this._currentIndex) > '9') && this._string.charAt(this._currentIndex) !== '.')) {\n // The first character of a number must be one of [0-9+-.].\n return undefined;\n }\n\n // Read the integer part, build right-to-left.\n const startIntPartIndex = this._currentIndex;\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= '0' && this._string.charAt(this._currentIndex) <= '9') {\n this._currentIndex++; // Advance to first non-digit.\n }\n\n if (this._currentIndex !== startIntPartIndex) {\n let scanIntPartIndex = this._currentIndex - 1;\n let multiplier = 1;\n while (scanIntPartIndex >= startIntPartIndex) {\n integer += multiplier * (this._string.charAt(scanIntPartIndex--) - '0');\n multiplier *= 10;\n }\n }\n\n // Read the decimals.\n if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) === '.') {\n this._currentIndex++;\n\n // There must be a least one digit following the .\n if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < '0' || this._string.charAt(this._currentIndex) > '9') {\n return undefined;\n }\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= '0' && this._string.charAt(this._currentIndex) <= '9') {\n frac *= 10;\n decimal += (this._string.charAt(this._currentIndex) - '0') / frac;\n this._currentIndex += 1;\n }\n }\n\n // Read the exponent part.\n if (this._currentIndex !== startIndex && this._currentIndex + 1 < this._endIndex && (this._string.charAt(this._currentIndex) === 'e' || this._string.charAt(this._currentIndex) === 'E') && (this._string.charAt(this._currentIndex + 1) !== 'x' && this._string.charAt(this._currentIndex + 1) !== 'm')) {\n this._currentIndex++;\n\n // Read the sign of the exponent.\n if (this._string.charAt(this._currentIndex) === '+') {\n this._currentIndex++;\n } else if (this._string.charAt(this._currentIndex) === '-') {\n this._currentIndex++;\n expsign = -1;\n }\n\n // There must be an exponent.\n if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < '0' || this._string.charAt(this._currentIndex) > '9') {\n return undefined;\n }\n\n while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= '0' && this._string.charAt(this._currentIndex) <= '9') {\n exponent *= 10;\n exponent += (this._string.charAt(this._currentIndex) - '0');\n this._currentIndex++;\n }\n }\n\n let number = integer + decimal;\n number *= sign;\n\n if (exponent) {\n number *= 10 ** (expsign * exponent);\n }\n\n if (startIndex === this._currentIndex) {\n return undefined;\n }\n\n this._skipOptionalSpacesOrDelimiter();\n\n return number;\n }\n\n _parseArcFlag () {\n if (this._currentIndex >= this._endIndex) {\n return undefined;\n }\n let flag = false;\n const flagChar = this._string.charAt(this._currentIndex++);\n if (flagChar === '0') {\n flag = false;\n } else if (flagChar === '1') {\n flag = true;\n } else {\n return undefined;\n }\n\n this._skipOptionalSpacesOrDelimiter();\n return flag;\n }\n\n parseSegment () {\n const lookahead = this._string[this._currentIndex];\n let command = this._pathSegTypeFromChar(lookahead);\n if (command === SVGPathSeg.PATHSEG_UNKNOWN) {\n // Possibly an implicit command. Not allowed if this is the first command.\n if (this._previousCommand === SVGPathSeg.PATHSEG_UNKNOWN) {\n return null;\n }\n command = this._nextCommandHelper(lookahead, this._previousCommand);\n if (command === SVGPathSeg.PATHSEG_UNKNOWN) {\n return null;\n }\n } else {\n this._currentIndex++;\n }\n\n this._previousCommand = command;\n\n switch (command) {\n case SVGPathSeg.PATHSEG_MOVETO_REL:\n return new SVGPathSegMovetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n case SVGPathSeg.PATHSEG_MOVETO_ABS:\n return new SVGPathSegMovetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n case SVGPathSeg.PATHSEG_LINETO_REL:\n return new SVGPathSegLinetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n case SVGPathSeg.PATHSEG_LINETO_ABS:\n return new SVGPathSegLinetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n case SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:\n return new SVGPathSegLinetoHorizontalRel(owningPathSegList, this._parseNumber());\n case SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:\n return new SVGPathSegLinetoHorizontalAbs(owningPathSegList, this._parseNumber());\n case SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:\n return new SVGPathSegLinetoVerticalRel(owningPathSegList, this._parseNumber());\n case SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:\n return new SVGPathSegLinetoVerticalAbs(owningPathSegList, this._parseNumber());\n case SVGPathSeg.PATHSEG_CLOSEPATH:\n this._skipOptionalSpaces();\n return new SVGPathSegClosePath(owningPathSegList);\n case SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL: {\n const points = {x1: this._parseNumber(), y1: this._parseNumber(), x2: this._parseNumber(), y2: this._parseNumber(), x: this._parseNumber(), y: this._parseNumber()};\n return new SVGPathSegCurvetoCubicRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n } case SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS: {\n const points = {x1: this._parseNumber(), y1: this._parseNumber(), x2: this._parseNumber(), y2: this._parseNumber(), x: this._parseNumber(), y: this._parseNumber()};\n return new SVGPathSegCurvetoCubicAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);\n } case SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL: {\n const points = {x2: this._parseNumber(), y2: this._parseNumber(), x: this._parseNumber(), y: this._parseNumber()};\n return new SVGPathSegCurvetoCubicSmoothRel(owningPathSegList, points.x, points.y, points.x2, points.y2);\n } case SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: {\n const points = {x2: this._parseNumber(), y2: this._parseNumber(), x: this._parseNumber(), y: this._parseNumber()};\n return new SVGPathSegCurvetoCubicSmoothAbs(owningPathSegList, points.x, points.y, points.x2, points.y2);\n } case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL: {\n const points = {x1: this._parseNumber(), y1: this._parseNumber(), x: this._parseNumber(), y: this._parseNumber()};\n return new SVGPathSegCurvetoQuadraticRel(owningPathSegList, points.x, points.y, points.x1, points.y1);\n } case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS: {\n const points = {x1: this._parseNumber(), y1: this._parseNumber(), x: this._parseNumber(), y: this._parseNumber()};\n return new SVGPathSegCurvetoQuadraticAbs(owningPathSegList, points.x, points.y, points.x1, points.y1);\n } case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:\n return new SVGPathSegCurvetoQuadraticSmoothRel(owningPathSegList, this._parseNumber(), this._parseNumber());\n case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:\n return new SVGPathSegCurvetoQuadraticSmoothAbs(owningPathSegList, this._parseNumber(), this._parseNumber());\n case SVGPathSeg.PATHSEG_ARC_REL: {\n const points = {x1: this._parseNumber(), y1: this._parseNumber(), arcAngle: this._parseNumber(), arcLarge: this._parseArcFlag(), arcSweep: this._parseArcFlag(), x: this._parseNumber(), y: this._parseNumber()};\n return new SVGPathSegArcRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n } case SVGPathSeg.PATHSEG_ARC_ABS: {\n const points = {x1: this._parseNumber(), y1: this._parseNumber(), arcAngle: this._parseNumber(), arcLarge: this._parseArcFlag(), arcSweep: this._parseArcFlag(), x: this._parseNumber(), y: this._parseNumber()};\n return new SVGPathSegArcAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);\n } default:\n throw new Error('Unknown path seg type.');\n }\n }\n }\n\n const builder = new Builder();\n const source = new Source(string);\n\n if (!source.initialCommandIsMoveTo()) {\n return [];\n }\n while (source.hasMoreData()) {\n const pathSeg = source.parseSegment();\n if (!pathSeg) {\n return [];\n }\n builder.appendSegment(pathSeg);\n }\n\n return builder.pathSegList;\n }\n\n // STATIC\n static _pathSegArrayAsString (pathSegArray) {\n let string = '';\n let first = true;\n pathSegArray.forEach((pathSeg) => {\n if (first) {\n first = false;\n string += pathSeg._asPathString();\n } else {\n string += ' ' + pathSeg._asPathString();\n }\n });\n return string;\n }\n }\n\n SVGPathSegList.prototype.classname = 'SVGPathSegList';\n\n Object.defineProperty(SVGPathSegList.prototype, 'numberOfItems', {\n get () {\n this._checkPathSynchronizedToList();\n return this._list.length;\n },\n enumerable: true\n });\n\n // Add the pathSegList accessors to SVGPathElement.\n // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGAnimatedPathData\n Object.defineProperties(SVGPathElement.prototype, {\n pathSegList: {\n get () {\n if (!this._pathSegList) {\n this._pathSegList = new SVGPathSegList(this);\n }\n return this._pathSegList;\n },\n enumerable: true\n },\n // TODO: The following are not implemented and simply return SVGPathElement.pathSegList.\n normalizedPathSegList: {get () { return this.pathSegList; }, enumerable: true},\n animatedPathSegList: {get () { return this.pathSegList; }, enumerable: true},\n animatedNormalizedPathSegList: {get () { return this.pathSegList; }, enumerable: true}\n });\n window.SVGPathSegList = SVGPathSegList;\n}\n})();\n","/* globals jQuery */\n/**\n * Browser detection.\n * @module browser\n * @license MIT\n *\n * @copyright 2010 Jeff Schiller, 2010 Alexis Deveria\n */\n\n// Dependencies:\n// 1) jQuery (for $.alert())\n\nimport './svgpathseg.js';\nimport {NS} from './namespaces.js';\n\nconst $ = jQuery;\n\nconst supportsSVG_ = (function () {\nreturn Boolean(document.createElementNS && document.createElementNS(NS.SVG, 'svg').createSVGRect);\n}());\n\n/**\n * @function module:browser.supportsSvg\n * @returns {boolean}\n*/\nexport const supportsSvg = () => supportsSVG_;\n\nconst {userAgent} = navigator;\nconst svg = document.createElementNS(NS.SVG, 'svg');\n\n// Note: Browser sniffing should only be used if no other detection method is possible\nconst isOpera_ = Boolean(window.opera);\nconst isWebkit_ = userAgent.includes('AppleWebKit');\nconst isGecko_ = userAgent.includes('Gecko/');\nconst isIE_ = userAgent.includes('MSIE');\nconst isChrome_ = userAgent.includes('Chrome/');\nconst isWindows_ = userAgent.includes('Windows');\nconst isMac_ = userAgent.includes('Macintosh');\nconst isTouch_ = 'ontouchstart' in window;\n\nconst supportsSelectors_ = (function () {\nreturn Boolean(svg.querySelector);\n}());\n\nconst supportsXpath_ = (function () {\nreturn Boolean(document.evaluate);\n}());\n\n// segList functions (for FF1.5 and 2.0)\nconst supportsPathReplaceItem_ = (function () {\nconst path = document.createElementNS(NS.SVG, 'path');\npath.setAttribute('d', 'M0,0 10,10');\nconst seglist = path.pathSegList;\nconst seg = path.createSVGPathSegLinetoAbs(5, 5);\ntry {\n seglist.replaceItem(seg, 1);\n return true;\n} catch (err) {}\nreturn false;\n}());\n\nconst supportsPathInsertItemBefore_ = (function () {\nconst path = document.createElementNS(NS.SVG, 'path');\npath.setAttribute('d', 'M0,0 10,10');\nconst seglist = path.pathSegList;\nconst seg = path.createSVGPathSegLinetoAbs(5, 5);\ntry {\n seglist.insertItemBefore(seg, 1);\n return true;\n} catch (err) {}\nreturn false;\n}());\n\n// text character positioning (for IE9 and now Chrome)\nconst supportsGoodTextCharPos_ = (function () {\nconst svgroot = document.createElementNS(NS.SVG, 'svg');\nconst svgcontent = document.createElementNS(NS.SVG, 'svg');\ndocument.documentElement.append(svgroot);\nsvgcontent.setAttribute('x', 5);\nsvgroot.append(svgcontent);\nconst text = document.createElementNS(NS.SVG, 'text');\ntext.textContent = 'a';\nsvgcontent.append(text);\ntry { // Chrome now fails here\n const pos = text.getStartPositionOfChar(0).x;\n return (pos === 0);\n} catch (err) {\n return false;\n} finally {\n svgroot.remove();\n}\n}());\n\nconst supportsPathBBox_ = (function () {\nconst svgcontent = document.createElementNS(NS.SVG, 'svg');\ndocument.documentElement.append(svgcontent);\nconst path = document.createElementNS(NS.SVG, 'path');\npath.setAttribute('d', 'M0,0 C0,0 10,10 10,0');\nsvgcontent.append(path);\nconst bbox = path.getBBox();\nsvgcontent.remove();\nreturn (bbox.height > 4 && bbox.height < 5);\n}());\n\n// Support for correct bbox sizing on groups with horizontal/vertical lines\nconst supportsHVLineContainerBBox_ = (function () {\nconst svgcontent = document.createElementNS(NS.SVG, 'svg');\ndocument.documentElement.append(svgcontent);\nconst path = document.createElementNS(NS.SVG, 'path');\npath.setAttribute('d', 'M0,0 10,0');\nconst path2 = document.createElementNS(NS.SVG, 'path');\npath2.setAttribute('d', 'M5,0 15,0');\nconst g = document.createElementNS(NS.SVG, 'g');\ng.append(path, path2);\nsvgcontent.append(g);\nconst bbox = g.getBBox();\nsvgcontent.remove();\n// Webkit gives 0, FF gives 10, Opera (correctly) gives 15\nreturn (bbox.width === 15);\n}());\n\nconst supportsEditableText_ = (function () {\n// TODO: Find better way to check support for this\nreturn isOpera_;\n}());\n\nconst supportsGoodDecimals_ = (function () {\n// Correct decimals on clone attributes (Opera < 10.5/win/non-en)\nconst rect = document.createElementNS(NS.SVG, 'rect');\nrect.setAttribute('x', 0.1);\nconst crect = rect.cloneNode(false);\nconst retValue = (!crect.getAttribute('x').includes(','));\nif (!retValue) {\n // Todo: i18nize or remove\n $.alert(\n 'NOTE: This version of Opera is known to contain bugs in SVG-edit.\\n' +\n 'Please upgrade to the latest version in which the problems have been fixed.'\n );\n}\nreturn retValue;\n}());\n\nconst supportsNonScalingStroke_ = (function () {\nconst rect = document.createElementNS(NS.SVG, 'rect');\nrect.setAttribute('style', 'vector-effect:non-scaling-stroke');\nreturn rect.style.vectorEffect === 'non-scaling-stroke';\n}());\n\nlet supportsNativeSVGTransformLists_ = (function () {\nconst rect = document.createElementNS(NS.SVG, 'rect');\nconst rxform = rect.transform.baseVal;\nconst t1 = svg.createSVGTransform();\nrxform.appendItem(t1);\nconst r1 = rxform.getItem(0);\nconst isSVGTransform = (o) => {\n // https://developer.mozilla.org/en-US/docs/Web/API/SVGTransform\n return o && typeof o === 'object' && typeof o.setMatrix === 'function' && 'angle' in o;\n};\nreturn isSVGTransform(r1) && isSVGTransform(t1) &&\n r1.type === t1.type && r1.angle === t1.angle &&\n r1.matrix.a === t1.matrix.a &&\n r1.matrix.b === t1.matrix.b &&\n r1.matrix.c === t1.matrix.c &&\n r1.matrix.d === t1.matrix.d &&\n r1.matrix.e === t1.matrix.e &&\n r1.matrix.f === t1.matrix.f;\n}());\n\n// Public API\n\n/**\n * @function module:browser.isOpera\n * @returns {boolean}\n*/\nexport const isOpera = () => isOpera_;\n/**\n * @function module:browser.isWebkit\n * @returns {boolean}\n*/\nexport const isWebkit = () => isWebkit_;\n/**\n * @function module:browser.isGecko\n * @returns {boolean}\n*/\nexport const isGecko = () => isGecko_;\n/**\n * @function module:browser.isIE\n * @returns {boolean}\n*/\nexport const isIE = () => isIE_;\n/**\n * @function module:browser.isChrome\n * @returns {boolean}\n*/\nexport const isChrome = () => isChrome_;\n/**\n * @function module:browser.isWindows\n * @returns {boolean}\n*/\nexport const isWindows = () => isWindows_;\n/**\n * @function module:browser.isMac\n * @returns {boolean}\n*/\nexport const isMac = () => isMac_;\n/**\n * @function module:browser.isTouch\n * @returns {boolean}\n*/\nexport const isTouch = () => isTouch_;\n\n/**\n * @function module:browser.supportsSelectors\n * @returns {boolean}\n*/\nexport const supportsSelectors = () => supportsSelectors_;\n\n/**\n * @function module:browser.supportsXpath\n * @returns {boolean}\n*/\nexport const supportsXpath = () => supportsXpath_;\n\n/**\n * @function module:browser.supportsPathReplaceItem\n * @returns {boolean}\n*/\nexport const supportsPathReplaceItem = () => supportsPathReplaceItem_;\n\n/**\n * @function module:browser.supportsPathInsertItemBefore\n * @returns {boolean}\n*/\nexport const supportsPathInsertItemBefore = () => supportsPathInsertItemBefore_;\n\n/**\n * @function module:browser.supportsPathBBox\n * @returns {boolean}\n*/\nexport const supportsPathBBox = () => supportsPathBBox_;\n\n/**\n * @function module:browser.supportsHVLineContainerBBox\n * @returns {boolean}\n*/\nexport const supportsHVLineContainerBBox = () => supportsHVLineContainerBBox_;\n\n/**\n * @function module:browser.supportsGoodTextCharPos\n * @returns {boolean}\n*/\nexport const supportsGoodTextCharPos = () => supportsGoodTextCharPos_;\n\n/**\n* @function module:browser.supportsEditableText\n * @returns {boolean}\n*/\nexport const supportsEditableText = () => supportsEditableText_;\n\n/**\n * @function module:browser.supportsGoodDecimals\n * @returns {boolean}\n*/\nexport const supportsGoodDecimals = () => supportsGoodDecimals_;\n\n/**\n* @function module:browser.supportsNonScalingStroke\n* @returns {boolean}\n*/\nexport const supportsNonScalingStroke = () => supportsNonScalingStroke_;\n\n/**\n* @function module:browser.supportsNativeTransformLists\n* @returns {boolean}\n*/\nexport const supportsNativeTransformLists = () => supportsNativeSVGTransformLists_;\n\n/**\n * Set `supportsNativeSVGTransformLists_` to `false` (for unit testing).\n * @function module:browser.disableSupportsNativeTransformLists\n * @returns {void}\n*/\nexport const disableSupportsNativeTransformLists = () => {\n supportsNativeSVGTransformLists_ = false;\n};\n","/**\n * A jQuery module to work with SVG attributes.\n * @module jQueryAttr\n * @license MIT\n */\n\n/**\n* This fixes `$(...).attr()` to work as expected with SVG elements.\n* Does not currently use `*AttributeNS()` since we rarely need that.\n* Adds {@link external:jQuery.fn.attr}.\n* See {@link https://api.jquery.com/attr/} for basic documentation of `.attr()`.\n*\n* Additional functionality:\n* - When getting attributes, a string that's a number is returned as type number.\n* - If an array is supplied as the first parameter, multiple values are returned\n* as an object with values for each given attribute.\n* @function module:jQueryAttr.jQueryAttr\n* @param {external:jQuery} $ The jQuery object to which to add the plug-in\n* @returns {external:jQuery}\n*/\nexport default function jQueryPluginSVG ($) {\n const proxied = $.fn.attr,\n svgns = 'http://www.w3.org/2000/svg';\n /**\n * @typedef {PlainObject} module:jQueryAttr.Attributes\n */\n /**\n * @function external:jQuery.fn.attr\n * @param {string|string[]|PlainObject} key\n * @param {string} value\n * @returns {external:jQuery|module:jQueryAttr.Attributes}\n */\n $.fn.attr = function (key, value) {\n const len = this.length;\n if (!len) { return proxied.call(this, key, value); }\n for (let i = 0; i < len; ++i) {\n const elem = this[i];\n // set/get SVG attribute\n if (elem.namespaceURI === svgns) {\n // Setting attribute\n if (value !== undefined) {\n elem.setAttribute(key, value);\n } else if (Array.isArray(key)) {\n // Getting attributes from array\n const obj = {};\n let j = key.length;\n\n while (j--) {\n const aname = key[j];\n let attr = elem.getAttribute(aname);\n // This returns a number when appropriate\n if (attr || attr === '0') {\n attr = isNaN(attr) ? attr : (attr - 0);\n }\n obj[aname] = attr;\n }\n return obj;\n }\n if (typeof key === 'object') {\n // Setting attributes from object\n for (const [name, val] of Object.entries(key)) {\n elem.setAttribute(name, val);\n }\n // Getting attribute\n } else {\n let attr = elem.getAttribute(key);\n if (attr || attr === '0') {\n attr = isNaN(attr) ? attr : (attr - 0);\n }\n return attr;\n }\n } else {\n return proxied.call(this, key, value);\n }\n }\n return this;\n };\n return $;\n}\n","/**\n * Partial polyfill of `SVGTransformList`\n * @module SVGTransformList\n *\n * @license MIT\n *\n * @copyright 2010 Alexis Deveria, 2010 Jeff Schiller\n */\n\nimport {NS} from './namespaces.js';\nimport {supportsNativeTransformLists} from './browser.js';\n\nconst svgroot = document.createElementNS(NS.SVG, 'svg');\n\n/**\n * Helper function to convert `SVGTransform` to a string.\n * @param {SVGTransform} xform\n * @returns {string}\n */\nfunction transformToString (xform) {\n const m = xform.matrix;\n let text = '';\n switch (xform.type) {\n case 1: // MATRIX\n text = 'matrix(' + [m.a, m.b, m.c, m.d, m.e, m.f].join(',') + ')';\n break;\n case 2: // TRANSLATE\n text = 'translate(' + m.e + ',' + m.f + ')';\n break;\n case 3: // SCALE\n if (m.a === m.d) {\n text = 'scale(' + m.a + ')';\n } else {\n text = 'scale(' + m.a + ',' + m.d + ')';\n }\n break;\n case 4: { // ROTATE\n let cx = 0;\n let cy = 0;\n // this prevents divide by zero\n if (xform.angle !== 0) {\n const K = 1 - m.a;\n cy = (K * m.f + m.b * m.e) / (K * K + m.b * m.b);\n cx = (m.e - m.b * cy) / K;\n }\n text = 'rotate(' + xform.angle + ' ' + cx + ',' + cy + ')';\n break;\n }\n }\n return text;\n}\n\n/**\n * Map of SVGTransformList objects.\n */\nlet listMap_ = {};\n\n/**\n* @interface module:SVGTransformList.SVGEditTransformList\n* @property {Integer} numberOfItems unsigned long\n*/\n/**\n* @function module:SVGTransformList.SVGEditTransformList#clear\n* @returns {void}\n*/\n/**\n* @function module:SVGTransformList.SVGEditTransformList#initialize\n* @param {SVGTransform} newItem\n* @returns {SVGTransform}\n*/\n/**\n* DOES NOT THROW DOMException, INDEX_SIZE_ERR.\n* @function module:SVGTransformList.SVGEditTransformList#getItem\n* @param {Integer} index unsigned long\n* @returns {SVGTransform}\n*/\n/**\n* DOES NOT THROW DOMException, INDEX_SIZE_ERR.\n* @function module:SVGTransformList.SVGEditTransformList#insertItemBefore\n* @param {SVGTransform} newItem\n* @param {Integer} index unsigned long\n* @returns {SVGTransform}\n*/\n/**\n* DOES NOT THROW DOMException, INDEX_SIZE_ERR.\n* @function module:SVGTransformList.SVGEditTransformList#replaceItem\n* @param {SVGTransform} newItem\n* @param {Integer} index unsigned long\n* @returns {SVGTransform}\n*/\n/**\n* DOES NOT THROW DOMException, INDEX_SIZE_ERR.\n* @function module:SVGTransformList.SVGEditTransformList#removeItem\n* @param {Integer} index unsigned long\n* @returns {SVGTransform}\n*/\n/**\n* @function module:SVGTransformList.SVGEditTransformList#appendItem\n* @param {SVGTransform} newItem\n* @returns {SVGTransform}\n*/\n/**\n* NOT IMPLEMENTED.\n* @ignore\n* @function module:SVGTransformList.SVGEditTransformList#createSVGTransformFromMatrix\n* @param {SVGMatrix} matrix\n* @returns {SVGTransform}\n*/\n/**\n* NOT IMPLEMENTED.\n* @ignore\n* @function module:SVGTransformList.SVGEditTransformList#consolidate\n* @returns {SVGTransform}\n*/\n\n/**\n* SVGTransformList implementation for Webkit.\n* These methods do not currently raise any exceptions.\n* These methods also do not check that transforms are being inserted. This is basically\n* implementing as much of SVGTransformList that we need to get the job done.\n* @implements {module:SVGTransformList.SVGEditTransformList}\n*/\nexport class SVGTransformList { // eslint-disable-line no-shadow\n /**\n * @param {Element} elem\n * @returns {SVGTransformList}\n */\n constructor (elem) {\n this._elem = elem || null;\n this._xforms = [];\n // TODO: how do we capture the undo-ability in the changed transform list?\n this._update = function () {\n let tstr = '';\n // /* const concatMatrix = */ svgroot.createSVGMatrix();\n for (let i = 0; i < this.numberOfItems; ++i) {\n const xform = this._list.getItem(i);\n tstr += transformToString(xform) + ' ';\n }\n this._elem.setAttribute('transform', tstr);\n };\n this._list = this;\n this._init = function () {\n // Transform attribute parser\n let str = this._elem.getAttribute('transform');\n if (!str) { return; }\n\n // TODO: Add skew support in future\n const re = /\\s*((scale|matrix|rotate|translate)\\s*\\(.*?\\))\\s*,?\\s*/;\n // const re = /\\s*(?(?:scale|matrix|rotate|translate)\\s*\\(.*?\\))\\s*,?\\s*/;\n let m = true;\n while (m) {\n m = str.match(re);\n str = str.replace(re, '');\n if (m && m[1]) {\n const x = m[1];\n const bits = x.split(/\\s*\\(/);\n const name = bits[0];\n const valBits = bits[1].match(/\\s*(.*?)\\s*\\)/);\n valBits[1] = valBits[1].replace(/(\\d)-/g, '$1 -');\n const valArr = valBits[1].split(/[, ]+/);\n const letters = 'abcdef'.split('');\n /*\n if (m && m.groups.xform) {\n const x = m.groups.xform;\n const [name, bits] = x.split(/\\s*\\(/);\n const valBits = bits.match(/\\s*(?.*?)\\s*\\)/);\n valBits.groups.nonWhitespace = valBits.groups.nonWhitespace.replace(\n /(?\\d)-/g, '$ -'\n );\n const valArr = valBits.groups.nonWhitespace.split(/[, ]+/);\n const letters = [...'abcdef'];\n */\n const mtx = svgroot.createSVGMatrix();\n Object.values(valArr).forEach(function (item, i) {\n valArr[i] = Number.parseFloat(item);\n if (name === 'matrix') {\n mtx[letters[i]] = valArr[i];\n }\n });\n const xform = svgroot.createSVGTransform();\n const fname = 'set' + name.charAt(0).toUpperCase() + name.slice(1);\n const values = name === 'matrix' ? [mtx] : valArr;\n\n if (name === 'scale' && values.length === 1) {\n values.push(values[0]);\n } else if (name === 'translate' && values.length === 1) {\n values.push(0);\n } else if (name === 'rotate' && values.length === 1) {\n values.push(0, 0);\n }\n xform[fname](...values);\n this._list.appendItem(xform);\n }\n }\n };\n this._removeFromOtherLists = function (item) {\n if (item) {\n // Check if this transform is already in a transformlist, and\n // remove it if so.\n Object.values(listMap_).some((tl) => {\n for (let i = 0, len = tl._xforms.length; i < len; ++i) {\n if (tl._xforms[i] === item) {\n tl.removeItem(i);\n return true;\n }\n }\n return false;\n });\n }\n };\n\n this.numberOfItems = 0;\n }\n /**\n * @returns {void}\n */\n clear () {\n this.numberOfItems = 0;\n this._xforms = [];\n }\n\n /**\n * @param {SVGTransform} newItem\n * @returns {void}\n */\n initialize (newItem) {\n this.numberOfItems = 1;\n this._removeFromOtherLists(newItem);\n this._xforms = [newItem];\n }\n\n /**\n * @param {Integer} index unsigned long\n * @throws {Error}\n * @returns {SVGTransform}\n */\n getItem (index) {\n if (index < this.numberOfItems && index >= 0) {\n return this._xforms[index];\n }\n const err = new Error('DOMException with code=INDEX_SIZE_ERR');\n err.code = 1;\n throw err;\n }\n\n /**\n * @param {SVGTransform} newItem\n * @param {Integer} index unsigned long\n * @returns {SVGTransform}\n */\n insertItemBefore (newItem, index) {\n let retValue = null;\n if (index >= 0) {\n if (index < this.numberOfItems) {\n this._removeFromOtherLists(newItem);\n const newxforms = new Array(this.numberOfItems + 1);\n // TODO: use array copying and slicing\n let i;\n for (i = 0; i < index; ++i) {\n newxforms[i] = this._xforms[i];\n }\n newxforms[i] = newItem;\n for (let j = i + 1; i < this.numberOfItems; ++j, ++i) {\n newxforms[j] = this._xforms[i];\n }\n this.numberOfItems++;\n this._xforms = newxforms;\n retValue = newItem;\n this._list._update();\n } else {\n retValue = this._list.appendItem(newItem);\n }\n }\n return retValue;\n }\n\n /**\n * @param {SVGTransform} newItem\n * @param {Integer} index unsigned long\n * @returns {SVGTransform}\n */\n replaceItem (newItem, index) {\n let retValue = null;\n if (index < this.numberOfItems && index >= 0) {\n this._removeFromOtherLists(newItem);\n this._xforms[index] = newItem;\n retValue = newItem;\n this._list._update();\n }\n return retValue;\n }\n\n /**\n * @param {Integer} index unsigned long\n * @throws {Error}\n * @returns {SVGTransform}\n */\n removeItem (index) {\n if (index < this.numberOfItems && index >= 0) {\n const retValue = this._xforms[index];\n const newxforms = new Array(this.numberOfItems - 1);\n let i;\n for (i = 0; i < index; ++i) {\n newxforms[i] = this._xforms[i];\n }\n for (let j = i; j < this.numberOfItems - 1; ++j, ++i) {\n newxforms[j] = this._xforms[i + 1];\n }\n this.numberOfItems--;\n this._xforms = newxforms;\n this._list._update();\n return retValue;\n }\n const err = new Error('DOMException with code=INDEX_SIZE_ERR');\n err.code = 1;\n throw err;\n }\n\n /**\n * @param {SVGTransform} newItem\n * @returns {SVGTransform}\n */\n appendItem (newItem) {\n this._removeFromOtherLists(newItem);\n this._xforms.push(newItem);\n this.numberOfItems++;\n this._list._update();\n return newItem;\n }\n}\n\n/**\n* @function module:SVGTransformList.resetListMap\n* @returns {void}\n*/\nexport const resetListMap = function () {\n listMap_ = {};\n};\n\n/**\n * Removes transforms of the given element from the map.\n * @function module:SVGTransformList.removeElementFromListMap\n * @param {Element} elem - a DOM Element\n * @returns {void}\n */\nexport let removeElementFromListMap = function (elem) { // eslint-disable-line import/no-mutable-exports\n if (elem.id && listMap_[elem.id]) {\n delete listMap_[elem.id];\n }\n};\n\n/**\n* Returns an object that behaves like a `SVGTransformList` for the given DOM element.\n* @function module:SVGTransformList.getTransformList\n* @param {Element} elem - DOM element to get a transformlist from\n* @todo The polyfill should have `SVGAnimatedTransformList` and this should use it\n* @returns {SVGAnimatedTransformList|SVGTransformList}\n*/\nexport const getTransformList = function (elem) {\n if (!supportsNativeTransformLists()) {\n const id = elem.id || 'temp';\n let t = listMap_[id];\n if (!t || id === 'temp') {\n listMap_[id] = new SVGTransformList(elem);\n listMap_[id]._init();\n t = listMap_[id];\n }\n return t;\n }\n if (elem.transform) {\n return elem.transform.baseVal;\n }\n if (elem.gradientTransform) {\n return elem.gradientTransform.baseVal;\n }\n if (elem.patternTransform) {\n return elem.patternTransform.baseVal;\n }\n\n return null;\n};\n\n/**\n* @callback module:SVGTransformList.removeElementFromListMap\n* @param {Element} elem\n* @returns {void}\n*/\n/**\n* Replace `removeElementFromListMap` for unit-testing.\n* @function module:SVGTransformList.changeRemoveElementFromListMap\n* @param {module:SVGTransformList.removeElementFromListMap} cb Passed a single argument `elem`\n* @returns {void}\n*/\n\nexport const changeRemoveElementFromListMap = function (cb) { // eslint-disable-line promise/prefer-await-to-callbacks\n removeElementFromListMap = cb;\n};\n","/**\n * Tools for working with units.\n * @module units\n * @license MIT\n *\n * @copyright 2010 Alexis Deveria, 2010 Jeff Schiller\n */\n\nimport {NS} from './namespaces.js';\nimport {isNullish} from './utilities.js';\n\nconst wAttrs = ['x', 'x1', 'cx', 'rx', 'width'];\nconst hAttrs = ['y', 'y1', 'cy', 'ry', 'height'];\nconst unitAttrs = ['r', 'radius', ...wAttrs, ...hAttrs];\n// unused\n/*\nconst unitNumMap = {\n '%': 2,\n em: 3,\n ex: 4,\n px: 5,\n cm: 6,\n mm: 7,\n in: 8,\n pt: 9,\n pc: 10\n};\n*/\n// Container of elements.\nlet elementContainer_;\n\n// Stores mapping of unit type to user coordinates.\nlet typeMap_ = {};\n\n/**\n * @interface module:units.ElementContainer\n */\n/**\n * @function module:units.ElementContainer#getBaseUnit\n * @returns {string} The base unit type of the container ('em')\n */\n/**\n * @function module:units.ElementContainer#getElement\n * @returns {?Element} An element in the container given an id\n */\n/**\n * @function module:units.ElementContainer#getHeight\n * @returns {Float} The container's height\n */\n/**\n * @function module:units.ElementContainer#getWidth\n * @returns {Float} The container's width\n */\n/**\n * @function module:units.ElementContainer#getRoundDigits\n * @returns {Integer} The number of digits number should be rounded to\n */\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * @typedef {PlainObject} module:units.TypeMap\n * @property {Float} em\n * @property {Float} ex\n * @property {Float} in\n * @property {Float} cm\n * @property {Float} mm\n * @property {Float} pt\n * @property {Float} pc\n * @property {Integer} px\n * @property {0} %\n */\n/* eslint-enable jsdoc/valid-types */\n\n/**\n * Initializes this module.\n *\n * @function module:units.init\n * @param {module:units.ElementContainer} elementContainer - An object implementing the ElementContainer interface.\n * @returns {void}\n */\nexport const init = function (elementContainer) {\n elementContainer_ = elementContainer;\n\n // Get correct em/ex values by creating a temporary SVG.\n const svg = document.createElementNS(NS.SVG, 'svg');\n document.body.append(svg);\n const rect = document.createElementNS(NS.SVG, 'rect');\n rect.setAttribute('width', '1em');\n rect.setAttribute('height', '1ex');\n rect.setAttribute('x', '1in');\n svg.append(rect);\n const bb = rect.getBBox();\n svg.remove();\n\n const inch = bb.x;\n typeMap_ = {\n em: bb.width,\n ex: bb.height,\n in: inch,\n cm: inch / 2.54,\n mm: inch / 25.4,\n pt: inch / 72,\n pc: inch / 6,\n px: 1,\n '%': 0\n };\n};\n\n/**\n* Group: Unit conversion functions.\n*/\n\n/**\n * @function module:units.getTypeMap\n * @returns {module:units.TypeMap} The unit object with values for each unit\n*/\nexport const getTypeMap = function () {\n return typeMap_;\n};\n\n/**\n* @typedef {GenericArray} module:units.CompareNumbers\n* @property {Integer} length 2\n* @property {Float} 0\n* @property {Float} 1\n*/\n\n/**\n* Rounds a given value to a float with number of digits defined in\n* `round_digits` of `saveOptions`\n*\n* @function module:units.shortFloat\n* @param {string|Float|module:units.CompareNumbers} val - The value (or Array of two numbers) to be rounded\n* @returns {Float|string} If a string/number was given, returns a Float. If an array, return a string\n* with comma-separated floats\n*/\nexport const shortFloat = function (val) {\n const digits = elementContainer_.getRoundDigits();\n if (!isNaN(val)) {\n return Number(Number(val).toFixed(digits));\n }\n if (Array.isArray(val)) {\n return shortFloat(val[0]) + ',' + shortFloat(val[1]);\n }\n return Number.parseFloat(val).toFixed(digits) - 0;\n};\n\n/**\n* Converts the number to given unit or baseUnit.\n* @function module:units.convertUnit\n* @param {string|Float} val\n* @param {\"em\"|\"ex\"|\"in\"|\"cm\"|\"mm\"|\"pt\"|\"pc\"|\"px\"|\"%\"} [unit]\n* @returns {Float}\n*/\nexport const convertUnit = function (val, unit) {\n unit = unit || elementContainer_.getBaseUnit();\n // baseVal.convertToSpecifiedUnits(unitNumMap[unit]);\n // const val = baseVal.valueInSpecifiedUnits;\n // baseVal.convertToSpecifiedUnits(1);\n return shortFloat(val / typeMap_[unit]);\n};\n\n/**\n* Sets an element's attribute based on the unit in its current value.\n*\n* @function module:units.setUnitAttr\n* @param {Element} elem - DOM element to be changed\n* @param {string} attr - Name of the attribute associated with the value\n* @param {string} val - Attribute value to convert\n* @returns {void}\n*/\nexport const setUnitAttr = function (elem, attr, val) {\n // if (!isNaN(val)) {\n // New value is a number, so check currently used unit\n // const oldVal = elem.getAttribute(attr);\n\n // Enable this for alternate mode\n // if (oldVal !== null && (isNaN(oldVal) || elementContainer_.getBaseUnit() !== 'px')) {\n // // Old value was a number, so get unit, then convert\n // let unit;\n // if (oldVal.substr(-1) === '%') {\n // const res = getResolution();\n // unit = '%';\n // val *= 100;\n // if (wAttrs.includes(attr)) {\n // val = val / res.w;\n // } else if (hAttrs.includes(attr)) {\n // val = val / res.h;\n // } else {\n // return val / Math.sqrt((res.w*res.w) + (res.h*res.h))/Math.sqrt(2);\n // }\n // } else {\n // if (elementContainer_.getBaseUnit() !== 'px') {\n // unit = elementContainer_.getBaseUnit();\n // } else {\n // unit = oldVal.substr(-2);\n // }\n // val = val / typeMap_[unit];\n // }\n //\n // val += unit;\n // }\n // }\n elem.setAttribute(attr, val);\n};\n\nconst attrsToConvert = {\n line: ['x1', 'x2', 'y1', 'y2'],\n circle: ['cx', 'cy', 'r'],\n ellipse: ['cx', 'cy', 'rx', 'ry'],\n foreignObject: ['x', 'y', 'width', 'height'],\n rect: ['x', 'y', 'width', 'height'],\n image: ['x', 'y', 'width', 'height'],\n use: ['x', 'y', 'width', 'height'],\n text: ['x', 'y']\n};\n\n/**\n* Converts all applicable attributes to the configured baseUnit.\n* @function module:units.convertAttrs\n* @param {Element} element - A DOM element whose attributes should be converted\n* @returns {void}\n*/\nexport const convertAttrs = function (element) {\n const elName = element.tagName;\n const unit = elementContainer_.getBaseUnit();\n const attrs = attrsToConvert[elName];\n if (!attrs) { return; }\n\n const len = attrs.length;\n for (let i = 0; i < len; i++) {\n const attr = attrs[i];\n const cur = element.getAttribute(attr);\n if (cur) {\n if (!isNaN(cur)) {\n element.setAttribute(attr, (cur / typeMap_[unit]) + unit);\n }\n // else {\n // Convert existing?\n // }\n }\n }\n};\n\n/**\n* Converts given values to numbers. Attributes must be supplied in\n* case a percentage is given.\n*\n* @function module:units.convertToNum\n* @param {string} attr - Name of the attribute associated with the value\n* @param {string} val - Attribute value to convert\n* @returns {Float} The converted number\n*/\nexport const convertToNum = function (attr, val) {\n // Return a number if that's what it already is\n if (!isNaN(val)) { return val - 0; }\n if (val.substr(-1) === '%') {\n // Deal with percentage, depends on attribute\n const num = val.substr(0, val.length - 1) / 100;\n const width = elementContainer_.getWidth();\n const height = elementContainer_.getHeight();\n\n if (wAttrs.includes(attr)) {\n return num * width;\n }\n if (hAttrs.includes(attr)) {\n return num * height;\n }\n return num * Math.sqrt((width * width) + (height * height)) / Math.sqrt(2);\n }\n const unit = val.substr(-2);\n const num = val.substr(0, val.length - 2);\n // Note that this multiplication turns the string into a number\n return num * typeMap_[unit];\n};\n\n/**\n* Check if an attribute's value is in a valid format.\n* @function module:units.isValidUnit\n* @param {string} attr - The name of the attribute associated with the value\n* @param {string} val - The attribute value to check\n* @param {Element} selectedElement\n* @returns {boolean} Whether the unit is valid\n*/\nexport const isValidUnit = function (attr, val, selectedElement) {\n if (unitAttrs.includes(attr)) {\n // True if it's just a number\n if (!isNaN(val)) {\n return true;\n }\n // Not a number, check if it has a valid unit\n val = val.toLowerCase();\n return Object.keys(typeMap_).some((unit) => {\n const re = new RegExp('^-?[\\\\d\\\\.]+' + unit + '$');\n return re.test(val);\n });\n }\n if (attr === 'id') {\n // if we're trying to change the id, make sure it's not already present in the doc\n // and the id value is valid.\n\n let result = false;\n // because getElem() can throw an exception in the case of an invalid id\n // (according to https://www.w3.org/TR/xml-id/ IDs must be a NCName)\n // we wrap it in an exception and only return true if the ID was valid and\n // not already present\n try {\n const elem = elementContainer_.getElement(val);\n result = (isNullish(elem) || elem === selectedElement);\n } catch (e) {}\n return result;\n }\n return true;\n};\n","/**\n * Mathematical utilities.\n * @module math\n * @license MIT\n *\n * @copyright 2010 Alexis Deveria, 2010 Jeff Schiller\n */\n\n/**\n* @typedef {PlainObject} module:math.AngleCoord45\n* @property {Float} x - The angle-snapped x value\n* @property {Float} y - The angle-snapped y value\n* @property {Integer} a - The angle at which to snap\n*/\n\n/**\n* @typedef {PlainObject} module:math.XYObject\n* @property {Float} x\n* @property {Float} y\n*/\n\nimport {NS} from './namespaces.js';\nimport {getTransformList} from './svgtransformlist.js';\nimport {isNullish} from './utilities.js';\n\n// Constants\nconst NEAR_ZERO = 1e-14;\n\n// Throw away SVGSVGElement used for creating matrices/transforms.\nconst svg = document.createElementNS(NS.SVG, 'svg');\n\n/**\n * A (hopefully) quicker function to transform a point by a matrix\n * (this function avoids any DOM calls and just does the math).\n * @function module:math.transformPoint\n * @param {Float} x - Float representing the x coordinate\n * @param {Float} y - Float representing the y coordinate\n * @param {SVGMatrix} m - Matrix object to transform the point with\n * @returns {module:math.XYObject} An x, y object representing the transformed point\n*/\nexport const transformPoint = function (x, y, m) {\n return {x: m.a * x + m.c * y + m.e, y: m.b * x + m.d * y + m.f};\n};\n\n/**\n * Helper function to check if the matrix performs no actual transform\n * (i.e. exists for identity purposes).\n * @function module:math.isIdentity\n * @param {SVGMatrix} m - The matrix object to check\n * @returns {boolean} Indicates whether or not the matrix is 1,0,0,1,0,0\n*/\nexport const isIdentity = function (m) {\n return (m.a === 1 && m.b === 0 && m.c === 0 && m.d === 1 && m.e === 0 && m.f === 0);\n};\n\n/**\n * This function tries to return a `SVGMatrix` that is the multiplication `m1 * m2`.\n * We also round to zero when it's near zero.\n * @function module:math.matrixMultiply\n * @param {...SVGMatrix} args - Matrix objects to multiply\n * @returns {SVGMatrix} The matrix object resulting from the calculation\n*/\nexport const matrixMultiply = function (...args) {\n const m = args.reduceRight((prev, m1) => {\n return m1.multiply(prev);\n });\n\n if (Math.abs(m.a) < NEAR_ZERO) { m.a = 0; }\n if (Math.abs(m.b) < NEAR_ZERO) { m.b = 0; }\n if (Math.abs(m.c) < NEAR_ZERO) { m.c = 0; }\n if (Math.abs(m.d) < NEAR_ZERO) { m.d = 0; }\n if (Math.abs(m.e) < NEAR_ZERO) { m.e = 0; }\n if (Math.abs(m.f) < NEAR_ZERO) { m.f = 0; }\n\n return m;\n};\n\n/**\n * See if the given transformlist includes a non-indentity matrix transform.\n * @function module:math.hasMatrixTransform\n * @param {SVGTransformList} [tlist] - The transformlist to check\n * @returns {boolean} Whether or not a matrix transform was found\n*/\nexport const hasMatrixTransform = function (tlist) {\n if (!tlist) { return false; }\n let num = tlist.numberOfItems;\n while (num--) {\n const xform = tlist.getItem(num);\n if (xform.type === 1 && !isIdentity(xform.matrix)) { return true; }\n }\n return false;\n};\n\n/**\n* @typedef {PlainObject} module:math.TransformedBox An object with the following values\n* @property {module:math.XYObject} tl - The top left coordinate\n* @property {module:math.XYObject} tr - The top right coordinate\n* @property {module:math.XYObject} bl - The bottom left coordinate\n* @property {module:math.XYObject} br - The bottom right coordinate\n* @property {PlainObject} aabox - Object with the following values:\n* @property {Float} aabox.x - Float with the axis-aligned x coordinate\n* @property {Float} aabox.y - Float with the axis-aligned y coordinate\n* @property {Float} aabox.width - Float with the axis-aligned width coordinate\n* @property {Float} aabox.height - Float with the axis-aligned height coordinate\n*/\n\n/**\n * Transforms a rectangle based on the given matrix.\n * @function module:math.transformBox\n * @param {Float} l - Float with the box's left coordinate\n * @param {Float} t - Float with the box's top coordinate\n * @param {Float} w - Float with the box width\n * @param {Float} h - Float with the box height\n * @param {SVGMatrix} m - Matrix object to transform the box by\n * @returns {module:math.TransformedBox}\n*/\nexport const transformBox = function (l, t, w, h, m) {\n const tl = transformPoint(l, t, m),\n tr = transformPoint((l + w), t, m),\n bl = transformPoint(l, (t + h), m),\n br = transformPoint((l + w), (t + h), m),\n\n minx = Math.min(tl.x, tr.x, bl.x, br.x),\n maxx = Math.max(tl.x, tr.x, bl.x, br.x),\n miny = Math.min(tl.y, tr.y, bl.y, br.y),\n maxy = Math.max(tl.y, tr.y, bl.y, br.y);\n\n return {\n tl,\n tr,\n bl,\n br,\n aabox: {\n x: minx,\n y: miny,\n width: (maxx - minx),\n height: (maxy - miny)\n }\n };\n};\n\n/**\n * This returns a single matrix Transform for a given Transform List\n * (this is the equivalent of `SVGTransformList.consolidate()` but unlike\n * that method, this one does not modify the actual `SVGTransformList`).\n * This function is very liberal with its `min`, `max` arguments.\n * @function module:math.transformListToTransform\n * @param {SVGTransformList} tlist - The transformlist object\n * @param {Integer} [min=0] - Optional integer indicating start transform position\n * @param {Integer} [max] - Optional integer indicating end transform position;\n * defaults to one less than the tlist's `numberOfItems`\n * @returns {SVGTransform} A single matrix transform object\n*/\nexport const transformListToTransform = function (tlist, min, max) {\n if (isNullish(tlist)) {\n // Or should tlist = null have been prevented before this?\n return svg.createSVGTransformFromMatrix(svg.createSVGMatrix());\n }\n min = min || 0;\n max = max || (tlist.numberOfItems - 1);\n min = Number.parseInt(min);\n max = Number.parseInt(max);\n if (min > max) { const temp = max; max = min; min = temp; }\n let m = svg.createSVGMatrix();\n for (let i = min; i <= max; ++i) {\n // if our indices are out of range, just use a harmless identity matrix\n const mtom = (i >= 0 && i < tlist.numberOfItems\n ? tlist.getItem(i).matrix\n : svg.createSVGMatrix());\n m = matrixMultiply(m, mtom);\n }\n return svg.createSVGTransformFromMatrix(m);\n};\n\n/**\n * Get the matrix object for a given element.\n * @function module:math.getMatrix\n * @param {Element} elem - The DOM element to check\n * @returns {SVGMatrix} The matrix object associated with the element's transformlist\n*/\nexport const getMatrix = function (elem) {\n const tlist = getTransformList(elem);\n return transformListToTransform(tlist).matrix;\n};\n\n/**\n * Returns a 45 degree angle coordinate associated with the two given\n * coordinates.\n * @function module:math.snapToAngle\n * @param {Integer} x1 - First coordinate's x value\n * @param {Integer} y1 - First coordinate's y value\n * @param {Integer} x2 - Second coordinate's x value\n * @param {Integer} y2 - Second coordinate's y value\n * @returns {module:math.AngleCoord45}\n*/\nexport const snapToAngle = function (x1, y1, x2, y2) {\n const snap = Math.PI / 4; // 45 degrees\n const dx = x2 - x1;\n const dy = y2 - y1;\n const angle = Math.atan2(dy, dx);\n const dist = Math.sqrt(dx * dx + dy * dy);\n const snapangle = Math.round(angle / snap) * snap;\n\n return {\n x: x1 + dist * Math.cos(snapangle),\n y: y1 + dist * Math.sin(snapangle),\n a: snapangle\n };\n};\n\n/**\n * Check if two rectangles (BBoxes objects) intersect each other.\n * @function module:math.rectsIntersect\n * @param {SVGRect} r1 - The first BBox-like object\n * @param {SVGRect} r2 - The second BBox-like object\n * @returns {boolean} True if rectangles intersect\n */\nexport const rectsIntersect = function (r1, r2) {\n return r2.x < (r1.x + r1.width) &&\n (r2.x + r2.width) > r1.x &&\n r2.y < (r1.y + r1.height) &&\n (r2.y + r2.height) > r1.y;\n};\n","/* globals jQuery */\n/**\n * Miscellaneous utilities.\n * @module utilities\n * @license MIT\n *\n * @copyright 2010 Alexis Deveria, 2010 Jeff Schiller\n */\n\nimport './svgpathseg.js';\nimport jQueryPluginSVG from './jQuery.attr.js'; // Needed for SVG attribute setting and array form with `attr`\nimport {NS} from './namespaces.js';\nimport {getTransformList} from './svgtransformlist.js';\nimport {setUnitAttr, getTypeMap} from './units.js';\nimport {\n hasMatrixTransform, transformListToTransform, transformBox\n} from './math.js';\nimport {\n isWebkit, supportsHVLineContainerBBox, supportsPathBBox, supportsXpath,\n supportsSelectors\n} from './browser.js';\n\n// Constants\nconst $ = jQueryPluginSVG(jQuery);\n\n// String used to encode base64.\nconst KEYSTR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\n// Much faster than running getBBox() every time\nconst visElems = 'a,circle,ellipse,foreignObject,g,image,line,path,polygon,polyline,rect,svg,text,tspan,use,clipPath';\nconst visElemsArr = visElems.split(',');\n// const hidElems = 'defs,desc,feGaussianBlur,filter,linearGradient,marker,mask,metadata,pattern,radialGradient,stop,switch,symbol,title,textPath';\n\nlet editorContext_ = null;\nlet domdoc_ = null;\nlet domcontainer_ = null;\nlet svgroot_ = null;\n\n/**\n* Object with the following keys/values.\n* @typedef {PlainObject} module:utilities.SVGElementJSON\n* @property {string} element - Tag name of the SVG element to create\n* @property {PlainObject} attr - Has key-value attributes to assign to the new element. An `id` should be set so that {@link module:utilities.EditorContext#addSVGElementFromJson} can later re-identify the element for modification or replacement.\n* @property {boolean} [curStyles=false] - Indicates whether current style attributes should be applied first\n* @property {module:utilities.SVGElementJSON[]} [children] - Data objects to be added recursively as children\n* @property {string} [namespace=\"http://www.w3.org/2000/svg\"] - Indicate a (non-SVG) namespace\n*/\n\n/**\n * An object that creates SVG elements for the canvas.\n *\n * @interface module:utilities.EditorContext\n * @property {module:path.pathActions} pathActions\n */\n/**\n * @function module:utilities.EditorContext#getSVGContent\n * @returns {SVGSVGElement}\n */\n/**\n * Create a new SVG element based on the given object keys/values and add it\n * to the current layer.\n * The element will be run through `cleanupElement` before being returned.\n * @function module:utilities.EditorContext#addSVGElementFromJson\n * @param {module:utilities.SVGElementJSON} data\n * @returns {Element} The new element\n*/\n/**\n * @function module:utilities.EditorContext#getSelectedElements\n * @returns {Element[]} the array with selected DOM elements\n*/\n/**\n * @function module:utilities.EditorContext#getDOMDocument\n * @returns {HTMLDocument}\n*/\n/**\n * @function module:utilities.EditorContext#getDOMContainer\n * @returns {HTMLElement}\n*/\n/**\n * @function module:utilities.EditorContext#getSVGRoot\n * @returns {SVGSVGElement}\n*/\n/**\n * @function module:utilities.EditorContext#getBaseUnit\n * @returns {string}\n*/\n/**\n * @function module:utilities.EditorContext#getSnappingStep\n * @returns {Float|string}\n*/\n\n/**\n* @function module:utilities.init\n* @param {module:utilities.EditorContext} editorContext\n* @returns {void}\n*/\nexport const init = function (editorContext) {\n editorContext_ = editorContext;\n domdoc_ = editorContext.getDOMDocument();\n domcontainer_ = editorContext.getDOMContainer();\n svgroot_ = editorContext.getSVGRoot();\n};\n\n/**\n * Used to prevent the [Billion laughs attack]{@link https://en.wikipedia.org/wiki/Billion_laughs_attack}.\n * @function module:utilities.dropXMLInternalSubset\n * @param {string} str String to be processed\n * @returns {string} The string with entity declarations in the internal subset removed\n * @todo This might be needed in other places `parseFromString` is used even without LGTM flagging\n */\nexport const dropXMLInternalSubset = (str) => {\n return str.replace(/()/, '$1$2');\n // return str.replace(/(?\\?\\]>)/, '$$');\n};\n\n/**\n* Converts characters in a string to XML-friendly entities.\n* @function module:utilities.toXml\n* @example `&` becomes `&`\n* @param {string} str - The string to be converted\n* @returns {string} The converted string\n*/\nexport const toXml = function (str) {\n // ' is ok in XML, but not HTML\n // > does not normally need escaping, though it can if within a CDATA expression (and preceded by \"]]\")\n return str\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, '''); // Note: `'` is XML only\n};\n\n/**\n* Converts XML entities in a string to single characters.\n* @function module:utilities.fromXml\n* @example `&` becomes `&`\n* @param {string} str - The string to be converted\n* @returns {string} The converted string\n*/\nexport function fromXml (str) {\n return $('').html(str).text();\n}\n\n// This code was written by Tyler Akins and has been placed in the\n// public domain. It would be nice if you left this header intact.\n// Base64 code from Tyler Akins -- http://rumkin.com\n\n// schiller: Removed string concatenation in favour of Array.join() optimization,\n// also precalculate the size of the array needed.\n\n/**\n* Converts a string to base64.\n* @function module:utilities.encode64\n* @param {string} input\n* @returns {string} Base64 output\n*/\nexport function encode64 (input) {\n // base64 strings are 4/3 larger than the original string\n input = encodeUTF8(input); // convert non-ASCII characters\n // input = convertToXMLReferences(input);\n if (window.btoa) {\n return window.btoa(input); // Use native if available\n }\n const output = new Array(Math.floor((input.length + 2) / 3) * 4);\n\n let i = 0,\n p = 0;\n do {\n const chr1 = input.charCodeAt(i++);\n const chr2 = input.charCodeAt(i++);\n const chr3 = input.charCodeAt(i++);\n\n /* eslint-disable no-bitwise */\n const enc1 = chr1 >> 2;\n const enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n\n let enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n let enc4 = chr3 & 63;\n /* eslint-enable no-bitwise */\n\n if (Number.isNaN(chr2)) {\n enc3 = 64;\n enc4 = 64;\n } else if (Number.isNaN(chr3)) {\n enc4 = 64;\n }\n\n output[p++] = KEYSTR.charAt(enc1);\n output[p++] = KEYSTR.charAt(enc2);\n output[p++] = KEYSTR.charAt(enc3);\n output[p++] = KEYSTR.charAt(enc4);\n } while (i < input.length);\n\n return output.join('');\n}\n\n/**\n* Converts a string from base64.\n* @function module:utilities.decode64\n* @param {string} input Base64-encoded input\n* @returns {string} Decoded output\n*/\nexport function decode64 (input) {\n if (window.atob) {\n return decodeUTF8(window.atob(input));\n }\n\n // remove all characters that are not A-Z, a-z, 0-9, +, /, or =\n input = input.replace(/[^A-Za-z\\d+/=]/g, '');\n\n let output = '';\n let i = 0;\n\n do {\n const enc1 = KEYSTR.indexOf(input.charAt(i++));\n const enc2 = KEYSTR.indexOf(input.charAt(i++));\n const enc3 = KEYSTR.indexOf(input.charAt(i++));\n const enc4 = KEYSTR.indexOf(input.charAt(i++));\n\n /* eslint-disable no-bitwise */\n const chr1 = (enc1 << 2) | (enc2 >> 4);\n const chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n const chr3 = ((enc3 & 3) << 6) | enc4;\n /* eslint-enable no-bitwise */\n\n output += String.fromCharCode(chr1);\n\n if (enc3 !== 64) {\n output += String.fromCharCode(chr2);\n }\n if (enc4 !== 64) {\n output += String.fromCharCode(chr3);\n }\n } while (i < input.length);\n return decodeUTF8(output);\n}\n\n/**\n* @function module:utilities.decodeUTF8\n* @param {string} argString\n* @returns {string}\n*/\nexport function decodeUTF8 (argString) {\n return decodeURIComponent(escape(argString));\n}\n\n// codedread:does not seem to work with webkit-based browsers on OSX // Brettz9: please test again as function upgraded\n/**\n* @function module:utilities.encodeUTF8\n* @param {string} argString\n* @returns {string}\n*/\nexport const encodeUTF8 = function (argString) {\n return unescape(encodeURIComponent(argString));\n};\n\n/**\n * Convert dataURL to object URL.\n * @function module:utilities.dataURLToObjectURL\n * @param {string} dataurl\n * @returns {string} object URL or empty string\n */\nexport const dataURLToObjectURL = function (dataurl) {\n if (typeof Uint8Array === 'undefined' || typeof Blob === 'undefined' || typeof URL === 'undefined' || !URL.createObjectURL) {\n return '';\n }\n const arr = dataurl.split(','),\n mime = arr[0].match(/:(.*?);/)[1],\n bstr = atob(arr[1]);\n /*\n const [prefix, suffix] = dataurl.split(','),\n {groups: {mime}} = prefix.match(/:(?.*?);/),\n bstr = atob(suffix);\n */\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n const blob = new Blob([u8arr], {type: mime});\n return URL.createObjectURL(blob);\n};\n\n/**\n * Get object URL for a blob object.\n * @function module:utilities.createObjectURL\n * @param {Blob} blob A Blob object or File object\n * @returns {string} object URL or empty string\n */\nexport const createObjectURL = function (blob) {\n if (!blob || typeof URL === 'undefined' || !URL.createObjectURL) {\n return '';\n }\n return URL.createObjectURL(blob);\n};\n\n/**\n * @property {string} blankPageObjectURL\n */\nexport const blankPageObjectURL = (function () {\n if (typeof Blob === 'undefined') {\n return '';\n }\n const blob = new Blob(['SVG-edit '], {type: 'text/html'});\n return createObjectURL(blob);\n})();\n\n/**\n* Converts a string to use XML references (for non-ASCII).\n* @function module:utilities.convertToXMLReferences\n* @param {string} input\n* @returns {string} Decimal numeric character references\n*/\nexport const convertToXMLReferences = function (input) {\n let output = '';\n [...input].forEach((ch) => {\n const c = ch.charCodeAt();\n if (c <= 127) {\n output += ch;\n } else {\n output += `${c};`;\n }\n });\n return output;\n};\n\n/**\n* Cross-browser compatible method of converting a string to an XML tree.\n* Found this function [here]{@link http://groups.google.com/group/jquery-dev/browse_thread/thread/c6d11387c580a77f}.\n* @function module:utilities.text2xml\n* @param {string} sXML\n* @throws {Error}\n* @returns {XMLDocument}\n*/\nexport const text2xml = function (sXML) {\n if (sXML.includes('`\n* - ``\n* - ``\n* @function module:utilities.getUrlFromAttr\n* @param {string} attrVal The attribute value as a string\n* @returns {string} String with just the URL, like \"someFile.svg#foo\"\n*/\nexport const getUrlFromAttr = function (attrVal) {\n if (attrVal) {\n // url('#somegrad')\n if (attrVal.startsWith('url(\"')) {\n return attrVal.substring(5, attrVal.indexOf('\"', 6));\n }\n // url('#somegrad')\n if (attrVal.startsWith(\"url('\")) {\n return attrVal.substring(5, attrVal.indexOf(\"'\", 6));\n }\n if (attrVal.startsWith('url(')) {\n return attrVal.substring(4, attrVal.indexOf(')'));\n }\n }\n return null;\n};\n\n/**\n* @function module:utilities.getHref\n* @param {Element} elem\n* @returns {string} The given element's `xlink:href` value\n*/\nexport let getHref = function (elem) { // eslint-disable-line import/no-mutable-exports\n return elem.getAttributeNS(NS.XLINK, 'href');\n};\n\n/**\n* Sets the given element's `xlink:href` value.\n* @function module:utilities.setHref\n* @param {Element} elem\n* @param {string} val\n* @returns {void}\n*/\nexport let setHref = function (elem, val) { // eslint-disable-line import/no-mutable-exports\n elem.setAttributeNS(NS.XLINK, 'xlink:href', val);\n};\n\n/**\n* @function module:utilities.findDefs\n* @returns {SVGDefsElement} The document's `` element, creating it first if necessary\n*/\nexport const findDefs = function () {\n const svgElement = editorContext_.getSVGContent();\n let defs = svgElement.getElementsByTagNameNS(NS.SVG, 'defs');\n if (defs.length > 0) {\n defs = defs[0];\n } else {\n defs = svgElement.ownerDocument.createElementNS(NS.SVG, 'defs');\n if (svgElement.firstChild) {\n // first child is a comment, so call nextSibling\n svgElement.insertBefore(defs, svgElement.firstChild.nextSibling);\n // svgElement.firstChild.nextSibling.before(defs); // Not safe\n } else {\n svgElement.append(defs);\n }\n }\n return defs;\n};\n\n// TODO(codedread): Consider moving the next to functions to bbox.js\n\n/**\n* Get correct BBox for a path in Webkit.\n* Converted from code found [here]{@link http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html}.\n* @function module:utilities.getPathBBox\n* @param {SVGPathElement} path - The path DOM element to get the BBox for\n* @returns {module:utilities.BBoxObject} A BBox-like object\n*/\nexport const getPathBBox = function (path) {\n const seglist = path.pathSegList;\n const tot = seglist.numberOfItems;\n\n const bounds = [[], []];\n const start = seglist.getItem(0);\n let P0 = [start.x, start.y];\n\n const getCalc = function (j, P1, P2, P3) {\n return function (t) {\n return 1 - Math.pow(t, 3) * P0[j] +\n 3 * 1 - Math.pow(t, 2) * t * P1[j] +\n 3 * (1 - t) * Math.pow(t, 2) * P2[j] +\n Math.pow(t, 3) * P3[j];\n };\n };\n\n for (let i = 0; i < tot; i++) {\n const seg = seglist.getItem(i);\n\n if (seg.x === undefined) { continue; }\n\n // Add actual points to limits\n bounds[0].push(P0[0]);\n bounds[1].push(P0[1]);\n\n if (seg.x1) {\n const P1 = [seg.x1, seg.y1],\n P2 = [seg.x2, seg.y2],\n P3 = [seg.x, seg.y];\n\n for (let j = 0; j < 2; j++) {\n const calc = getCalc(j, P1, P2, P3);\n\n const b = 6 * P0[j] - 12 * P1[j] + 6 * P2[j];\n const a = -3 * P0[j] + 9 * P1[j] - 9 * P2[j] + 3 * P3[j];\n const c = 3 * P1[j] - 3 * P0[j];\n\n if (a === 0) {\n if (b === 0) { continue; }\n const t = -c / b;\n if (t > 0 && t < 1) {\n bounds[j].push(calc(t));\n }\n continue;\n }\n const b2ac = Math.pow(b, 2) - 4 * c * a;\n if (b2ac < 0) { continue; }\n const t1 = (-b + Math.sqrt(b2ac)) / (2 * a);\n if (t1 > 0 && t1 < 1) { bounds[j].push(calc(t1)); }\n const t2 = (-b - Math.sqrt(b2ac)) / (2 * a);\n if (t2 > 0 && t2 < 1) { bounds[j].push(calc(t2)); }\n }\n P0 = P3;\n } else {\n bounds[0].push(seg.x);\n bounds[1].push(seg.y);\n }\n }\n\n const x = Math.min.apply(null, bounds[0]);\n const w = Math.max.apply(null, bounds[0]) - x;\n const y = Math.min.apply(null, bounds[1]);\n const h = Math.max.apply(null, bounds[1]) - y;\n return {\n x,\n y,\n width: w,\n height: h\n };\n};\n\n/**\n* Get the given/selected element's bounding box object, checking for\n* horizontal/vertical lines (see issue 717)\n* Note that performance is currently terrible, so some way to improve would\n* be great.\n* @param {Element} selected - Container or `