- Linting (ESLint): Apply per latest ash-nazg (jsdoc: complete sentence descriptions)

- npm: Update devDeps
master
Brett Zamir 2019-12-31 15:27:16 +08:00
parent 22dda2c50b
commit d9d4d94976
87 changed files with 785 additions and 770 deletions

View File

@ -32,13 +32,13 @@ import './commands.js';
import '@cypress/fiddle'; import '@cypress/fiddle';
/** /**
* COVERAGE * COVERAGE.
* @see https://docs.cypress.io/guides/tooling/code-coverage.html#Install-the-plugin * @see https://docs.cypress.io/guides/tooling/code-coverage.html#Install-the-plugin
*/ */
import '@cypress/code-coverage/support.js'; import '@cypress/code-coverage/support.js';
/** /**
* ACCESSIBILITY * ACCESSIBILITY.
* @see https://www.npmjs.com/package/cypress-axe * @see https://www.npmjs.com/package/cypress-axe
*/ */
import 'cypress-axe'; import 'cypress-axe';

2
dist/canvg.js vendored
View File

@ -243,7 +243,7 @@ var canvg = (function (exports) {
} }
/** /**
* For parsing color values * For parsing color values.
* @module RGBColor * @module RGBColor
* @author Stoyan Stefanov <sstoo@gmail.com> * @author Stoyan Stefanov <sstoo@gmail.com>
* @see https://www.phpied.com/rgb-color-parser-in-javascript/ * @see https://www.phpied.com/rgb-color-parser-in-javascript/

View File

@ -38,7 +38,7 @@ var svgEditorExtension_arrows = (function () {
} }
/** /**
* ext-arrows.js * @file ext-arrows.js
* *
* @license MIT * @license MIT
* *

View File

@ -38,7 +38,7 @@ var svgEditorExtension_closepath = (function () {
} }
/** /**
* ext-closepath.js * @file ext-closepath.js
* *
* @license MIT * @license MIT
* *

View File

@ -40,7 +40,7 @@ var svgEditorExtension_connector = (function () {
/* eslint-disable unicorn/no-fn-reference-in-iterator */ /* eslint-disable unicorn/no-fn-reference-in-iterator */
/** /**
* ext-connector.js * @file ext-connector.js
* *
* @license MIT * @license MIT
* *

View File

@ -38,7 +38,7 @@ var svgEditorExtension_eyedropper = (function () {
} }
/** /**
* ext-eyedropper.js * @file ext-eyedropper.js
* *
* @license MIT * @license MIT
* *

View File

@ -38,7 +38,7 @@ var svgEditorExtension_foreignobject = (function () {
} }
/** /**
* ext-foreignobject.js * @file ext-foreignobject.js
* *
* @license Apache-2.0 * @license Apache-2.0
* *

View File

@ -38,7 +38,7 @@ var svgEditorExtension_grid = (function () {
} }
/** /**
* ext-grid.js * @file ext-grid.js
* *
* @license Apache-2.0 * @license Apache-2.0
* *

View File

@ -80,7 +80,7 @@ var svgEditorExtension_helloworld = (function () {
} }
/** /**
* ext-helloworld.js * @file ext-helloworld.js
* *
* @license MIT * @license MIT
* *

View File

@ -52,7 +52,7 @@ var svgEditorExtension_imagelib = (function () {
} }
/** /**
* ext-imagelib.js * @file ext-imagelib.js
* *
* @license MIT * @license MIT
* *

View File

@ -38,7 +38,7 @@ var svgEditorExtension_markers = (function () {
} }
/** /**
* ext-markers.js * @file ext-markers.js
* *
* @license Apache-2.0 * @license Apache-2.0
* *

View File

@ -2,7 +2,7 @@ var svgEditorExtension_overview_window = (function () {
'use strict'; 'use strict';
/** /**
* ext-overview_window.js * @file ext-overview_window.js
* *
* @license MIT * @license MIT
* *

View File

@ -38,7 +38,7 @@ var svgEditorExtension_panning = (function () {
} }
/** /**
* ext-panning.js * @file ext-panning.js
* *
* @license MIT * @license MIT
* *

View File

@ -80,7 +80,7 @@ var svgEditorExtension_placemark = (function () {
} }
/** /**
* ext-placemark.js * @file ext-placemark.js
* *
* *
* @copyright 2010 CloudCanvas, Inc. All rights reserved * @copyright 2010 CloudCanvas, Inc. All rights reserved

View File

@ -38,7 +38,7 @@ var svgEditorExtension_polygon = (function () {
} }
/** /**
* ext-polygon.js * @file ext-polygon.js
* *
* *
* @copyright 2010 CloudCanvas, Inc. All rights reserved * @copyright 2010 CloudCanvas, Inc. All rights reserved

View File

@ -243,7 +243,7 @@ var svgEditorExtension_server_moinsave = (function () {
} }
/** /**
* For parsing color values * For parsing color values.
* @module RGBColor * @module RGBColor
* @author Stoyan Stefanov <sstoo@gmail.com> * @author Stoyan Stefanov <sstoo@gmail.com>
* @see https://www.phpied.com/rgb-color-parser-in-javascript/ * @see https://www.phpied.com/rgb-color-parser-in-javascript/

View File

@ -243,7 +243,7 @@ var svgEditorExtension_server_opensave = (function () {
} }
/** /**
* For parsing color values * For parsing color values.
* @module RGBColor * @module RGBColor
* @author Stoyan Stefanov <sstoo@gmail.com> * @author Stoyan Stefanov <sstoo@gmail.com>
* @see https://www.phpied.com/rgb-color-parser-in-javascript/ * @see https://www.phpied.com/rgb-color-parser-in-javascript/

View File

@ -80,7 +80,7 @@ var svgEditorExtension_shapes = (function () {
} }
/** /**
* ext-shapes.js * @file ext-shapes.js
* *
* @license MIT * @license MIT
* *

View File

@ -38,7 +38,7 @@ var svgEditorExtension_star = (function () {
} }
/** /**
* ext-star.js * @file ext-star.js
* *
* *
* @copyright 2010 CloudCanvas, Inc. All rights reserved * @copyright 2010 CloudCanvas, Inc. All rights reserved

View File

@ -80,7 +80,7 @@ var svgEditorExtension_storage = (function () {
} }
/** /**
* ext-storage.js * @file ext-storage.js
* *
* This extension allows automatic saving of the SVG canvas contents upon * This extension allows automatic saving of the SVG canvas contents upon
* page unload (which can later be automatically retrieved upon future * page unload (which can later be automatically retrieved upon future

View File

@ -38,7 +38,8 @@ var svgEditorExtension_webappfind = (function () {
} }
/** /**
* Depends on Firefox add-on and executables from {@link https://github.com/brettz9/webappfind} * Depends on Firefox add-on and executables from
* {@link https://github.com/brettz9/webappfind}.
* @author Brett Zamir * @author Brett Zamir
* @license MIT * @license MIT
* @todo See WebAppFind Readme for SVG-related todos * @todo See WebAppFind Readme for SVG-related todos

View File

@ -38,7 +38,7 @@ var svgEditorExtension_xdomain_messaging = (function () {
/** /**
* Should not be needed for same domain control (just call via child frame), * Should not be needed for same domain control (just call via child frame),
* but an API common for cross-domain and same domain use can be found * but an API common for cross-domain and same domain use can be found
* in embedapi.js with a demo at embedapi.html * in embedapi.js with a demo at embedapi.html.
*/ */
var extXdomainMessaging = { var extXdomainMessaging = {
name: 'xdomain-messaging', name: 'xdomain-messaging',

248
dist/index-es.js vendored
View File

@ -266,13 +266,13 @@ document.addEventListener('touchend', touchHandler, true);
document.addEventListener('touchcancel', touchHandler, true); document.addEventListener('touchcancel', touchHandler, true);
/** /**
* Namespaces or tools therefor * Namespaces or tools therefor.
* @module namespaces * @module namespaces
* @license MIT * @license MIT
*/ */
/** /**
* Common namepaces constants in alpha order * Common namepaces constants in alpha order.
* @enum {string} * @enum {string}
* @type {PlainObject} * @type {PlainObject}
* @memberof module:namespaces * @memberof module:namespaces
@ -2903,7 +2903,7 @@ var supportsNativeTransformLists = function supportsNativeTransformLists() {
}; };
/** /**
* jQuery module to work with SVG attributes * A jQuery module to work with SVG attributes.
* @module jQueryAttr * @module jQueryAttr
* @license MIT * @license MIT
*/ */
@ -3073,14 +3073,14 @@ var listMap_ = {};
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#getItem * @function module:SVGTransformList.SVGEditTransformList#getItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
* @returns {SVGTransform} * @returns {SVGTransform}
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#insertItemBefore * @function module:SVGTransformList.SVGEditTransformList#insertItemBefore
* @param {SVGTransform} newItem * @param {SVGTransform} newItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
@ -3088,7 +3088,7 @@ var listMap_ = {};
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#replaceItem * @function module:SVGTransformList.SVGEditTransformList#replaceItem
* @param {SVGTransform} newItem * @param {SVGTransform} newItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
@ -3096,7 +3096,7 @@ var listMap_ = {};
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#removeItem * @function module:SVGTransformList.SVGEditTransformList#removeItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
* @returns {SVGTransform} * @returns {SVGTransform}
@ -3109,7 +3109,7 @@ var listMap_ = {};
*/ */
/** /**
* NOT IMPLEMENTED * NOT IMPLEMENTED.
* @ignore * @ignore
* @function module:SVGTransformList.SVGEditTransformList#createSVGTransformFromMatrix * @function module:SVGTransformList.SVGEditTransformList#createSVGTransformFromMatrix
* @param {SVGMatrix} matrix * @param {SVGMatrix} matrix
@ -3117,7 +3117,7 @@ var listMap_ = {};
*/ */
/** /**
* NOT IMPLEMENTED * NOT IMPLEMENTED.
* @ignore * @ignore
* @function module:SVGTransformList.SVGEditTransformList#consolidate * @function module:SVGTransformList.SVGEditTransformList#consolidate
* @returns {SVGTransform} * @returns {SVGTransform}
@ -3469,7 +3469,7 @@ var getTransformList = function getTransformList(elem) {
}; };
/** /**
* Tools for working with units * Tools for working with units.
* @module units * @module units
* @license MIT * @license MIT
* *
@ -3573,7 +3573,7 @@ var init = function init(elementContainer) {
}; };
}; };
/** /**
* Group: Unit conversion functions * Group: Unit conversion functions.
*/ */
/** /**
@ -3755,7 +3755,7 @@ var isValidUnit = function isValidUnit(attr, val, selectedElement) {
}; };
/** /**
* Group: Undo/Redo history management * Group: Undo/Redo history management.
*/ */
var HistoryEventTypes = { var HistoryEventTypes = {
@ -3798,7 +3798,7 @@ function () {
*/ */
/** /**
* Applies * Applies.
* *
* @function module:history.HistoryCommand#apply * @function module:history.HistoryCommand#apply
* @param {module:history.HistoryEventHandler} handler * @param {module:history.HistoryEventHandler} handler
@ -3808,7 +3808,7 @@ function () {
/** /**
* *
* Unapplies * Unapplies.
* @function module:history.HistoryCommand#unapply * @function module:history.HistoryCommand#unapply
* @param {module:history.HistoryEventHandler} handler * @param {module:history.HistoryEventHandler} handler
* @fires module:history~Command#event:history * @fires module:history~Command#event:history
@ -3816,25 +3816,25 @@ function () {
*/ */
/** /**
* Returns the elements * Returns the elements.
* @function module:history.HistoryCommand#elements * @function module:history.HistoryCommand#elements
* @returns {Element[]} * @returns {Element[]}
*/ */
/** /**
* Gets the text * Gets the text.
* @function module:history.HistoryCommand#getText * @function module:history.HistoryCommand#getText
* @returns {string} * @returns {string}
*/ */
/** /**
* Gives the type * Gives the type.
* @function module:history.HistoryCommand.type * @function module:history.HistoryCommand.type
* @returns {string} * @returns {string}
*/ */
/** /**
* Gives the type * Gives the type.
* @function module:history.HistoryCommand#type * @function module:history.HistoryCommand#type
* @returns {string} * @returns {string}
*/ */
@ -4663,7 +4663,7 @@ var hstry = /*#__PURE__*/Object.freeze({
}); });
/** /**
* Mathematical utilities * Mathematical utilities.
* @module math * @module math
* @license MIT * @license MIT
* *
@ -4959,7 +4959,7 @@ var editorContext_ = null;
*/ */
/** /**
* Object with the following keys/values * Object with the following keys/values.
* @typedef {PlainObject} module:path.SVGElementJSON * @typedef {PlainObject} module:path.SVGElementJSON
* @property {string} element - Tag name of the SVG element to create * @property {string} element - Tag name of the SVG element to create
* @property {PlainObject<string, string>} 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. * @property {PlainObject<string, string>} 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.
@ -4988,7 +4988,7 @@ var editorContext_ = null;
*/ */
/** /**
* Note: This doesn't round to an integer necessarily * Note: This doesn't round to an integer necessarily.
* @function module:path.EditorContext#round * @function module:path.EditorContext#round
* @param {Float} val * @param {Float} val
* @returns {Float} Rounded value to nearest value based on `currentZoom` * @returns {Float} Rounded value to nearest value based on `currentZoom`
@ -5086,19 +5086,19 @@ var editorContext_ = null;
*/ */
/** /**
* Returns the last created DOM element ID string * Returns the last created DOM element ID string.
* @function module:path.EditorContext#getId * @function module:path.EditorContext#getId
* @returns {string} * @returns {string}
*/ */
/** /**
* Creates and returns a unique ID string for a DOM element * Creates and returns a unique ID string for a DOM element.
* @function module:path.EditorContext#getNextId * @function module:path.EditorContext#getNextId
* @returns {string} * @returns {string}
*/ */
/** /**
* Gets the desired element from a mouse event * Gets the desired element from a mouse event.
* @function module:path.EditorContext#getMouseTarget * @function module:path.EditorContext#getMouseTarget
* @param {external:MouseEvent} evt - Event object from the mouse event * @param {external:MouseEvent} evt - Event object from the mouse event
* @returns {Element} DOM element we want * @returns {Element} DOM element we want
@ -6549,7 +6549,7 @@ var reorientGrads = function reorientGrads(elem, m) {
} }
}; };
/** /**
* This is how we map paths to our preferred relative segment types * This is how we map paths to our preferred relative segment types.
* @name module:path.pathMap * @name module:path.pathMap
* @type {GenericArray} * @type {GenericArray}
*/ */
@ -6805,8 +6805,8 @@ function pathDSegment(letter, points, morePoints, lastPoint) {
/* eslint-disable jsdoc/require-property */ /* eslint-disable jsdoc/require-property */
/** /**
* Group: Path edit functions * Group: Path edit functions.
* Functions relating to editing path elements * Functions relating to editing path elements.
* @namespace {PlainObject} pathActions * @namespace {PlainObject} pathActions
* @memberof module:path * @memberof module:path
*/ */
@ -7793,7 +7793,7 @@ var pathActions = function () {
// Can't seem to use `@borrows` here, so using `@see` // Can't seem to use `@borrows` here, so using `@see`
/** /**
* Smooth polyline into path * Smooth polyline into path.
* @function module:path.pathActions.smoothPolylineIntoPath * @function module:path.pathActions.smoothPolylineIntoPath
* @see module:path~smoothPolylineIntoPath * @see module:path~smoothPolylineIntoPath
*/ */
@ -7871,7 +7871,7 @@ var pathActions = function () {
// Can't seem to use `@borrows` here, so using `@see` // Can't seem to use `@borrows` here, so using `@see`
/** /**
* Convert a path to one with only absolute or relative values * Convert a path to one with only absolute or relative values.
* @function module:path.pathActions.convertPath * @function module:path.pathActions.convertPath
* @see module:path.convertPath * @see module:path.convertPath
*/ */
@ -7892,7 +7892,7 @@ var domdoc_ = null;
var domcontainer_ = null; var domcontainer_ = null;
var svgroot_ = null; var svgroot_ = null;
/** /**
* Object with the following keys/values * Object with the following keys/values.
* @typedef {PlainObject} module:utilities.SVGElementJSON * @typedef {PlainObject} module:utilities.SVGElementJSON
* @property {string} element - Tag name of the SVG element to create * @property {string} element - Tag name of the SVG element to create
* @property {PlainObject<string, string>} 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. * @property {PlainObject<string, string>} 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.
@ -7916,7 +7916,7 @@ var svgroot_ = null;
/** /**
* Create a new SVG element based on the given object keys/values and add it * Create a new SVG element based on the given object keys/values and add it
* to the current layer. * to the current layer.
* The element will be run through `cleanupElement` before being returned * The element will be run through `cleanupElement` before being returned.
* @function module:utilities.EditorContext#addSVGElementFromJson * @function module:utilities.EditorContext#addSVGElementFromJson
* @param {module:utilities.SVGElementJSON} data * @param {module:utilities.SVGElementJSON} data
* @returns {Element} The new element * @returns {Element} The new element
@ -9313,7 +9313,7 @@ var isNullish = function isNullish(val) {
/* globals jQuery */ /* globals jQuery */
/** /**
* Adds context menu functionality * Adds context menu functionality.
* @module contextmenu * @module contextmenu
* @license Apache-2.0 * @license Apache-2.0
* @author Adam Bender * @author Adam Bender
@ -11071,7 +11071,7 @@ var randomizeIds = function randomizeIds(enableRandomization, currentDrawing) {
}; // Layer API Functions }; // Layer API Functions
/** /**
* Group: Layers * Group: Layers.
*/ */
/** /**
@ -11119,7 +11119,7 @@ var randomizeIds = function randomizeIds(enableRandomization, currentDrawing) {
*/ */
/** /**
* Run the callback function associated with the given event * Run the callback function associated with the given event.
* @function module:draw.DrawCanvasInit#call * @function module:draw.DrawCanvasInit#call
* @param {"changed"|"contextset"} ev - String with the event name * @param {"changed"|"contextset"} ev - String with the event name
* @param {module:svgcanvas.SvgCanvas#event:changed|module:svgcanvas.SvgCanvas#event:contextset} arg - Argument to pass through to the callback * @param {module:svgcanvas.SvgCanvas#event:changed|module:svgcanvas.SvgCanvas#event:contextset} arg - Argument to pass through to the callback
@ -11443,7 +11443,7 @@ var REVERSE_NS = getReverseNS(); // Todo: Split out into core attributes, presen
/** /**
* This defines which elements and attributes that we support (or at least * This defines which elements and attributes that we support (or at least
* don't remove) * don't remove).
* @type {PlainObject} * @type {PlainObject}
*/ */
@ -13654,7 +13654,7 @@ function SvgCanvas(container, config) {
var svgroot = svgdoc.importNode(text2xml('<svg id="svgroot" xmlns="' + NS.SVG + '" xlinkns="' + NS.XLINK + '" ' + 'width="' + dimensions[0] + '" height="' + dimensions[1] + '" x="' + dimensions[0] + '" y="' + dimensions[1] + '" overflow="visible">' + '<defs>' + '<filter id="canvashadow" filterUnits="objectBoundingBox">' + '<feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>' + '<feOffset in="blur" dx="5" dy="5" result="offsetBlur"/>' + '<feMerge>' + '<feMergeNode in="offsetBlur"/>' + '<feMergeNode in="SourceGraphic"/>' + '</feMerge>' + '</filter>' + '</defs>' + '</svg>').documentElement, true); var svgroot = svgdoc.importNode(text2xml('<svg id="svgroot" xmlns="' + NS.SVG + '" xlinkns="' + NS.XLINK + '" ' + 'width="' + dimensions[0] + '" height="' + dimensions[1] + '" x="' + dimensions[0] + '" y="' + dimensions[1] + '" overflow="visible">' + '<defs>' + '<filter id="canvashadow" filterUnits="objectBoundingBox">' + '<feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>' + '<feOffset in="blur" dx="5" dy="5" result="offsetBlur"/>' + '<feMerge>' + '<feMergeNode in="offsetBlur"/>' + '<feMergeNode in="SourceGraphic"/>' + '</feMerge>' + '</filter>' + '</defs>' + '</svg>').documentElement, true);
container.append(svgroot); container.append(svgroot);
/** /**
* The actual element that represents the final output SVG element * The actual element that represents the final output SVG element.
* @name module:svgcanvas~svgcontent * @name module:svgcanvas~svgcontent
* @type {SVGSVGElement} * @type {SVGSVGElement}
*/ */
@ -13699,7 +13699,7 @@ function SvgCanvas(container, config) {
idprefix = p; idprefix = p;
}; };
/** /**
* Current draw.Drawing object * Current `draw.Drawing` object.
* @type {module:draw.Drawing} * @type {module:draw.Drawing}
* @name module:svgcanvas.SvgCanvas#current_drawing_ * @name module:svgcanvas.SvgCanvas#current_drawing_
*/ */
@ -13716,7 +13716,7 @@ function SvgCanvas(container, config) {
return canvas.current_drawing_; return canvas.current_drawing_;
}; };
/** /**
* Float displaying the current zoom level (1 = 100%, .5 = 50%, etc) * Float displaying the current zoom level (1 = 100%, .5 = 50%, etc.).
* @type {Float} * @type {Float}
*/ */
@ -13852,8 +13852,8 @@ function SvgCanvas(container, config) {
return curConfig.baseUnit; return curConfig.baseUnit;
}; };
/** /**
* initialize from units.js. * Initialize from units.js.
* Send in an object implementing the ElementContainer interface (see units.js) * Send in an object implementing the ElementContainer interface (see units.js).
*/ */
@ -14085,7 +14085,7 @@ function SvgCanvas(container, config) {
init$6(curConfig, init$6(curConfig,
/** /**
* Export to select.js * Export to select.js.
* @implements {module:select.SVGFactory} * @implements {module:select.SVGFactory}
*/ */
{ {
@ -14101,7 +14101,7 @@ function SvgCanvas(container, config) {
getCurrentZoom: getCurrentZoom getCurrentZoom: getCurrentZoom
}); });
/** /**
* This object manages selectors for us * This object manages selectors for us.
* @name module:svgcanvas.SvgCanvas#selectorManager * @name module:svgcanvas.SvgCanvas#selectorManager
* @type {module:select.SelectorManager} * @type {module:select.SelectorManager}
*/ */
@ -14918,26 +14918,26 @@ function SvgCanvas(container, config) {
var events = {}; var events = {};
canvas.call = call; canvas.call = call;
/** /**
* Array of what was changed (elements, layers) * Array of what was changed (elements, layers).
* @event module:svgcanvas.SvgCanvas#event:changed * @event module:svgcanvas.SvgCanvas#event:changed
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* Array of selected elements * Array of selected elements.
* @event module:svgcanvas.SvgCanvas#event:selected * @event module:svgcanvas.SvgCanvas#event:selected
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* Array of selected elements * Array of selected elements.
* @event module:svgcanvas.SvgCanvas#event:transition * @event module:svgcanvas.SvgCanvas#event:transition
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* The Element is always `SVGGElement`? * The Element is always `SVGGElement`?
* If not `null`, will be the set current group element * If not `null`, will be the set current group element.
* @event module:svgcanvas.SvgCanvas#event:contextset * @event module:svgcanvas.SvgCanvas#event:contextset
* @type {null|Element} * @type {null|Element}
*/ */
@ -14998,7 +14998,7 @@ function SvgCanvas(container, config) {
*/ */
/** /**
* SVG canvas converted to string * SVG canvas converted to string.
* @event module:svgcanvas.SvgCanvas#event:saved * @event module:svgcanvas.SvgCanvas#event:saved
* @type {string} * @type {string}
*/ */
@ -15042,7 +15042,7 @@ function SvgCanvas(container, config) {
/** /**
* The promise return, if present, resolves to `undefined` * The promise return, if present, resolves to `undefined`
* (`extension_added`, `exported`, `saved`) * (`extension_added`, `exported`, `saved`).
* @typedef {Promise<void>|void} module:svgcanvas.EventHandlerReturn * @typedef {Promise<void>|void} module:svgcanvas.EventHandlerReturn
*/ */
@ -15221,7 +15221,7 @@ function SvgCanvas(container, config) {
var rootSctm = null; var rootSctm = null;
/** /**
* Group: Selection * Group: Selection.
*/ */
// TODO: do we need to worry about selectedBBoxes here? // TODO: do we need to worry about selectedBBoxes here?
@ -15788,7 +15788,7 @@ function SvgCanvas(container, config) {
break; break;
} }
/** /**
* The main (left) mouse button is held down on the canvas area * The main (left) mouse button is held down on the canvas area.
* @event module:svgcanvas.SvgCanvas#event:ext_mouseDown * @event module:svgcanvas.SvgCanvas#event:ext_mouseDown
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -16331,7 +16331,7 @@ function SvgCanvas(container, config) {
} }
} }
/** /**
* The mouse has moved on the canvas area * The mouse has moved on the canvas area.
* @event module:svgcanvas.SvgCanvas#event:ext_mouseMove * @event module:svgcanvas.SvgCanvas#event:ext_mouseMove
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -16648,7 +16648,7 @@ function SvgCanvas(container, config) {
} }
} }
/** /**
* The main (left) mouse button is released (anywhere) * The main (left) mouse button is released (anywhere).
* @event module:svgcanvas.SvgCanvas#event:ext_mouseUp * @event module:svgcanvas.SvgCanvas#event:ext_mouseUp
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -16881,7 +16881,7 @@ function SvgCanvas(container, config) {
/** /**
* Group: Text edit functions * Group: Text edit functions
* Functions relating to editing text elements * Functions relating to editing text elements.
* @namespace {PlainObject} textActions * @namespace {PlainObject} textActions
* @memberof module:svgcanvas.SvgCanvas# * @memberof module:svgcanvas.SvgCanvas#
*/ */
@ -17406,7 +17406,7 @@ function SvgCanvas(container, config) {
); );
}(); }();
/** /**
* Group: Serialization * Group: Serialization.
*/ */
/** /**
@ -17749,7 +17749,7 @@ function SvgCanvas(container, config) {
}; // end svgToString() }; // end svgToString()
/** /**
* Function to run when image data is found * Function to run when image data is found.
* @callback module:svgcanvas.ImageEmbeddedCallback * @callback module:svgcanvas.ImageEmbeddedCallback
* @param {string|false} result Data URL * @param {string|false} result Data URL
* @returns {void} * @returns {void}
@ -18922,7 +18922,7 @@ function SvgCanvas(container, config) {
} }
}); });
/** /**
* Group: Document functions * Group: Document functions.
*/ */
/** /**
@ -19389,7 +19389,7 @@ function SvgCanvas(container, config) {
*/ */
/** /**
* The bottom panel was updated * The bottom panel was updated.
* @event module:svgcanvas.SvgCanvas#event:ext_toolButtonStateUpdate * @event module:svgcanvas.SvgCanvas#event:ext_toolButtonStateUpdate
* @type {PlainObject} * @type {PlainObject}
* @property {boolean} nofill Indicates fill is disabled * @property {boolean} nofill Indicates fill is disabled
@ -19397,7 +19397,7 @@ function SvgCanvas(container, config) {
*/ */
/** /**
* The element selection has changed (elements were added/removed from selection) * The element selection has changed (elements were added/removed from selection).
* @event module:svgcanvas.SvgCanvas#event:ext_selectedChanged * @event module:svgcanvas.SvgCanvas#event:ext_selectedChanged
* @type {PlainObject} * @type {PlainObject}
* @property {Element[]} elems Array of the newly selected elements * @property {Element[]} elems Array of the newly selected elements
@ -19414,14 +19414,14 @@ function SvgCanvas(container, config) {
*/ */
/** /**
* One or more elements were changed * One or more elements were changed.
* @event module:svgcanvas.SvgCanvas#event:ext_elementChanged * @event module:svgcanvas.SvgCanvas#event:ext_elementChanged
* @type {PlainObject} * @type {PlainObject}
* @property {Element[]} elems Array of the affected elements * @property {Element[]} elems Array of the affected elements
*/ */
/** /**
* Invoked as soon as the locale is ready * Invoked as soon as the locale is ready.
* @event module:svgcanvas.SvgCanvas#event:ext_langReady * @event module:svgcanvas.SvgCanvas#event:ext_langReady
* @type {PlainObject} * @type {PlainObject}
* @property {string} lang The two-letter language code * @property {string} lang The two-letter language code
@ -19444,13 +19444,13 @@ function SvgCanvas(container, config) {
*/ */
/** /**
* Called when new image is created * Called when new image is created.
* @event module:svgcanvas.SvgCanvas#event:ext_onNewDocument * @event module:svgcanvas.SvgCanvas#event:ext_onNewDocument
* @type {void} * @type {void}
*/ */
/** /**
* Called when sidepanel is resized or toggled * Called when sidepanel is resized or toggled.
* @event module:svgcanvas.SvgCanvas#event:ext_workareaResized * @event module:svgcanvas.SvgCanvas#event:ext_workareaResized
* @type {void} * @type {void}
*/ */
@ -19511,7 +19511,7 @@ function SvgCanvas(container, config) {
currentMode = name; currentMode = name;
}; };
/** /**
* Group: Element Styling * Group: Element Styling.
*/ */
/** /**
@ -20384,7 +20384,7 @@ function SvgCanvas(container, config) {
canvas.ungroupSelectedElement(); canvas.ungroupSelectedElement();
}; };
/** /**
* Group: Element manipulation * Group: Element manipulation.
*/ */
/** /**
@ -20733,7 +20733,7 @@ function SvgCanvas(container, config) {
clipb.forEach(checkIDs); // Give extensions like the connector extension a chance to reflect new IDs and remove invalid elements clipb.forEach(checkIDs); // Give extensions like the connector extension a chance to reflect new IDs and remove invalid elements
/** /**
* Triggered when `pasteElements` is called from a paste action (context menu or key) * Triggered when `pasteElements` is called from a paste action (context menu or key).
* @event module:svgcanvas.SvgCanvas#event:ext_IDsUpdated * @event module:svgcanvas.SvgCanvas#event:ext_IDsUpdated
* @type {PlainObject} * @type {PlainObject}
* @property {module:svgcanvas.SVGAsJSON[]} elems * @property {module:svgcanvas.SVGAsJSON[]} elems
@ -21537,7 +21537,7 @@ function SvgCanvas(container, config) {
this.moveSelectedElements(dx, dy); this.moveSelectedElements(dx, dy);
}; };
/** /**
* Group: Additional editor tools * Group: Additional editor tools.
*/ */
/** /**
@ -22314,7 +22314,7 @@ function jQueryPluginBBQ (jQuery) {
// Todo: Move to own module (and have it import a modular base64 encoder) // Todo: Move to own module (and have it import a modular base64 encoder)
/** /**
* SVG Icon Loader 2.0 * @file SVG Icon Loader 2.0
* *
* jQuery Plugin for loading SVG icons from a single file * jQuery Plugin for loading SVG icons from a single file
* *
@ -22475,13 +22475,13 @@ function jQueryPluginSVGIcons($) {
var svgIcons = {}; var svgIcons = {};
/** /**
* Map of raster images with each key being the SVG icon ID * Map of raster images with each key being the SVG icon ID
* to replace, and the value the image file name * to replace, and the value the image file name.
* @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Fallback * @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Fallback
*/ */
/** /**
* Map of raster images with each key being the SVG icon ID * Map of raster images with each key being the SVG icon ID
* whose `alt` will be set, and the value being the `alt` text * whose `alt` will be set, and the value being the `alt` text.
* @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Alts * @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Alts
*/ */
@ -22896,7 +22896,7 @@ function jQueryPluginSVGIcons($) {
} }
/** /**
* jGraduate 0.4 * @file jGraduate 0.4
* *
* jQuery Plugin for a gradient picker * jQuery Plugin for a gradient picker
* *
@ -22995,14 +22995,14 @@ function jQueryPluginJGraduate($) {
*/ */
this.type = options.copy.type; this.type = options.copy.type;
/** /**
* Represents opacity (0-100) * Represents opacity (0-100).
* @name module:jGraduate~Paint#alpha * @name module:jGraduate~Paint#alpha
* @type {Float} * @type {Float}
*/ */
this.alpha = options.copy.alpha; this.alpha = options.copy.alpha;
/** /**
* Represents #RRGGBB hex of color * Represents #RRGGBB hex of color.
* @name module:jGraduate~Paint#solidColor * @name module:jGraduate~Paint#solidColor
* @type {string} * @type {string}
*/ */
@ -23088,7 +23088,7 @@ function jQueryPluginJGraduate($) {
/** @lends external:jQuery.fn.jGraduateDefaults */ /** @lends external:jQuery.fn.jGraduateDefaults */
{ {
/** /**
* Creates an object with a 'none' color * Creates an object with a 'none' color.
* @type {external:jQuery.jGraduate.Paint} * @type {external:jQuery.jGraduate.Paint}
* @see module:jGraduate.Options * @see module:jGraduate.Options
*/ */
@ -24187,55 +24187,57 @@ function jQueryPluginJGraduate($) {
} }
/** /**
* SpinButton control * SpinButton control.
* *
* Adds bells and whistles to any ordinary textbox to * Adds bells and whistles to any ordinary textbox to
* make it look and feel like a SpinButton Control. * make it look and feel like a SpinButton Control.
* *
* Supplies {@link external:jQuery.fn.SpinButton} (and also {@link external:jQuery.loadingStylesheets}) * Supplies {@link external:jQuery.fn.SpinButton} (and also {@link external:jQuery.loadingStylesheets}).
* *
* Originally written by George Adamson, Software Unity (george.jquery@softwareunity.com) August 2006. * Originally written by George Adamson, Software Unity (george.jquery@softwareunity.com) August 2006:
* - Added min/max options * - Added min/max options.
* - Added step size option * - Added step size option.
* - Added bigStep (page up/down) option * - Added bigStep (page up/down) option.
* *
* Modifications made by Mark Gibson, (mgibson@designlinks.net) September 2006: * Modifications made by Mark Gibson, (mgibson@designlinks.net) September 2006:
* - Converted to jQuery plugin * - Converted to jQuery plugin.
* - Allow limited or unlimited min/max values * - Allow limited or unlimited min/max values.
* - Allow custom class names, and add class to input element * - Allow custom class names, and add class to input element.
* - Removed global vars * - Removed global vars.
* - Reset (to original or through config) when invalid value entered * - Reset (to original or through config) when invalid value entered.
* - Repeat whilst holding mouse button down (with initial pause, like keyboard repeat) * - Repeat whilst holding mouse button down (with initial pause, like keyboard repeat).
* - Support mouse wheel in Firefox * - Support mouse wheel in Firefox.
* - Fix double click in IE * - Fix double click in IE.
* - Refactored some code and renamed some vars * - Refactored some code and renamed some vars.
* *
* Modifications by Jeff Schiller, June 2009: * Modifications by Jeff Schiller, June 2009:
* - provide callback function for when the value changes based on the following * - provide callback function for when the value changes based on the following
* {@link https://www.mail-archive.com/jquery-en@googlegroups.com/msg36070.html} * {@link https://www.mail-archive.com/jquery-en@googlegroups.com/msg36070.html}.
* *
* Modifications by Jeff Schiller, July 2009: * Modifications by Jeff Schiller, July 2009:
* - improve styling for widget in Opera * - improve styling for widget in Opera.
* - consistent key-repeat handling cross-browser * - consistent key-repeat handling cross-browser.
* *
* Modifications by Alexis Deveria, October 2009: * Modifications by Alexis Deveria, October 2009:
* - provide "stepfunc" callback option to allow custom function to run when changing a value * - provide "stepfunc" callback option to allow custom function to run when changing a value.
* - Made adjustValue(0) only run on certain keyup events, not all. * - Made adjustValue(0) only run on certain keyup events, not all.
* *
* Tested in IE6, Opera9, Firefox 1.5 * Tested in IE6, Opera9, Firefox 1.5.
* *
* | Version | Date | Author | Notes * | Version | Date | Author | Notes |
* |---------|------|--------|------| * |---------|------|--------|-------|
* | v1.0 | 11 Aug 2006 | George Adamson | First release * | v1.0 | 11 Aug 2006 | George Adamson | First release |
* | v1.1 | Aug 2006 | George Adamson | Minor enhancements * | v1.1 | Aug 2006 | George Adamson | Minor enhancements |
* | v1.2 | 27 Sep 2006 | Mark Gibson | Major enhancements * | v1.2 | 27 Sep 2006 | Mark Gibson | Major enhancements |
* | v1.3a | 28 Sep 2006 | George Adamson | Minor enhancements * | v1.3a | 28 Sep 2006 | George Adamson | Minor enhancements |
* | v1.4 | 18 Jun 2009 | Jeff Schiller | Added callback function * | v1.4 | 18 Jun 2009 | Jeff Schiller | Added callback function |
* | v1.5 | 06 Jul 2009 | Jeff Schiller | Fixes for Opera. * | v1.5 | 06 Jul 2009 | Jeff Schiller | Fixes for Opera. |
* | v1.6 | 13 Oct 2009 | Alexis Deveria | Added stepfunc function * | v1.6 | 13 Oct 2009 | Alexis Deveria | Added stepfunc function |
* | v1.7 | 21 Oct 2009 | Alexis Deveria | Minor fixes.<br />Fast-repeat for keys and live updating as you type. * | v1.7 | 21 Oct 2009 | Alexis Deveria | Minor fixes.<br />Fast-repeat for keys and live updating as you type. |
* | v1.8 | 12 Jan 2010 | Benjamin Thomas | Fixes for mouseout behavior.<br />Added smallStep * | v1.8 | 12 Jan 2010 | Benjamin Thomas | Fixes for mouseout behavior.<br />Added smallStep |
* | v1.9 | 20 May 2018 | Brett Zamir | Avoid SVGEdit dependency via `stateObj` config;<br />convert to ES6 module | * | v1.9 | 20 May 2018 | Brett Zamir | Avoid SVGEdit dependency via `stateObj` config;<br />convert to ES6 module |
* .
*
* @module jQuerySpinButton * @module jQuerySpinButton
* @example * @example
// Create group of settings to initialise spinbutton(s). (Optional) // Create group of settings to initialise spinbutton(s). (Optional)
@ -24557,7 +24559,7 @@ function jQueryPluginSpinButton($) {
} }
/** /**
* jQuery Context Menu Plugin * @file jQuery Context Menu Plugin
* Cory S.N. LaViska * Cory S.N. LaViska
* A Beautiful Site ({@link https://abeautifulsite.net/}) * A Beautiful Site ({@link https://abeautifulsite.net/})
* Modified by Alexis Deveria * Modified by Alexis Deveria
@ -24889,7 +24891,7 @@ function jQueryContextMenu($) {
/* eslint-disable no-bitwise */ /* eslint-disable no-bitwise */
/** /**
* jPicker (Adapted from version 1.1.6) * @file jPicker (Adapted from version 1.1.6)
* *
* jQuery Plugin for Photoshop style color picker * jQuery Plugin for Photoshop style color picker
* *
@ -25751,7 +25753,7 @@ var jPicker = function jPicker($) {
/* eslint-enable jsdoc/require-property */ /* eslint-enable jsdoc/require-property */
/** /**
* Array holding references to each active instance of the jPicker control * Array holding references to each active instance of the jPicker control.
* @type {external:jQuery.fn.$.fn.jPicker[]} * @type {external:jQuery.fn.$.fn.jPicker[]}
*/ */
List: [], List: [],
@ -26145,7 +26147,7 @@ var jPicker = function jPicker($) {
}, },
/** /**
* color conversion methods - make public to give use to external scripts * Color conversion methods - make public to give use to external scripts.
* @namespace * @namespace
*/ */
ColorMethods: { ColorMethods: {
@ -26380,7 +26382,7 @@ var jPicker = function jPicker($) {
*/ */
/** /**
* Will be bound to active {@link jQuery.jPicker.Color} * Will be bound to active {@link jQuery.jPicker.Color}.
* @callback module:jPicker.LiveCallback * @callback module:jPicker.LiveCallback
* @param {external:jQuery} ui * @param {external:jQuery} ui
* @param {Element} context * @param {Element} context
@ -27819,8 +27821,8 @@ var jPicker = function jPicker($) {
*/ */
/** /**
* jPicker defaults - you can change anything in this section (such as the * The jPicker defaults - you can change anything in this section (such as the
* clientPath to your images) without fear of breaking the program * clientPath to your images) without fear of breaking the program.
* @namespace {external:jQuery.fn.jPickerOptions} defaults * @namespace {external:jQuery.fn.jPickerOptions} defaults
* @memberof external:jQuery.fn.$.fn.jPicker * @memberof external:jQuery.fn.$.fn.jPicker
* @borrows external:jQuery.fn.jPickerOptions as external:jQuery.fn.jPicker.defaults * @borrows external:jQuery.fn.jPickerOptions as external:jQuery.fn.jPicker.defaults
@ -28294,7 +28296,7 @@ var setStrings = function setStrings(type, obj, ids) {
}; };
/** /**
* The "data" property is generally set to an an array of objects with * The "data" property is generally set to an an array of objects with
* "id" and "title" or "textContent" properties * "id" and "title" or "textContent" properties.
* @typedef {PlainObject} module:locale.AddLangExtensionLocaleData * @typedef {PlainObject} module:locale.AddLangExtensionLocaleData
* @property {module:locale.LocaleStrings[]} data See {@tutorial LocaleDocs} * @property {module:locale.LocaleStrings[]} data See {@tutorial LocaleDocs}
*/ */
@ -28814,7 +28816,7 @@ function loadStylesheets(stylesheets) {
} }
/** /**
* The main module for the visual SVG Editor * The main module for the visual SVG Editor.
* *
* @license MIT * @license MIT
* *
@ -28894,7 +28896,7 @@ var callbacks = [],
*/ */
/** /**
* Preferences * Preferences.
* @interface module:SVGEditor.Prefs * @interface module:SVGEditor.Prefs
* @property {string} [lang="en"] Two-letter language code. The language must exist in the Editor Preferences language list. Defaults to "en" if `locale.js` detection does not detect another language. * @property {string} [lang="en"] Two-letter language code. The language must exist in the Editor Preferences language list. Defaults to "en" if `locale.js` detection does not detect another language.
* @property {module:SVGEditor.IconSize} [iconsize="s"|"m"] Size of the toolbar icons. Will default to 's' if the window height is smaller than the minimum height and 'm' otherwise. * @property {module:SVGEditor.IconSize} [iconsize="s"|"m"] Size of the toolbar icons. Will default to 's' if the window height is smaller than the minimum height and 'm' otherwise.
@ -28918,13 +28920,13 @@ defaultPrefs =
// EDITOR OPTIONS (DIALOG) // EDITOR OPTIONS (DIALOG)
/** /**
* Default to "en" if locale.js detection does not detect another language * Default to "en" if locale.js detection does not detect another language.
*/ */
lang: '', lang: '',
/** /**
* Will default to 's' if the window height is smaller than the minimum height and * Will default to 's' if the window height is smaller than the minimum
* 'm' otherwise * height and 'm' otherwise.
*/ */
iconsize: '', iconsize: '',
bkgd_color: '#FFF', bkgd_color: '#FFF',
@ -29092,7 +29094,7 @@ defaultConfig = {
}, },
/** /**
* LOCALE * LOCALE.
* @name module:SVGEditor.uiStrings * @name module:SVGEditor.uiStrings
* @type {PlainObject} * @type {PlainObject}
*/ */
@ -29265,7 +29267,7 @@ function getImportLocale(_ref) {
); );
} }
/** /**
* EXPORTS * EXPORTS.
*/ */
/** /**
@ -29451,7 +29453,7 @@ editor.setConfig = function (opts, cfgCfg) {
editor.curConfig = curConfig; // Update exported value editor.curConfig = curConfig; // Update exported value
}; };
/** /**
* All methods are optional * All methods are optional.
* @interface module:SVGEditor.CustomHandler * @interface module:SVGEditor.CustomHandler
* @type {PlainObject} * @type {PlainObject}
*/ */
@ -29470,7 +29472,7 @@ editor.setConfig = function (opts, cfgCfg) {
* Its responsibilities are: * Its responsibilities are:
* - accept the string contents of the current document * - accept the string contents of the current document
* - invoke a file chooser dialog in 'save' mode * - invoke a file chooser dialog in 'save' mode
* - save the file to location chosen by the user * - save the file to location chosen by the user.
* @function module:SVGEditor.CustomHandler#save * @function module:SVGEditor.CustomHandler#save
* @param {external:Window} win * @param {external:Window} win
* @param {module:svgcanvas.SvgCanvas#event:saved} svgStr A string of the SVG * @param {module:svgcanvas.SvgCanvas#event:saved} svgStr A string of the SVG
@ -33209,7 +33211,7 @@ editor.init = function () {
// TODO: Group UI functions into a public editor.ui interface. // TODO: Group UI functions into a public editor.ui interface.
/** /**
* See {@link http://api.jquery.com/bind/#bind-eventType-eventData-handler} * See {@link http://api.jquery.com/bind/#bind-eventType-eventData-handler}.
* @callback module:SVGEditor.DropDownCallback * @callback module:SVGEditor.DropDownCallback
* @param {external:jQuery.Event} ev See {@link http://api.jquery.com/Types/#Event} * @param {external:jQuery.Event} ev See {@link http://api.jquery.com/Types/#Event}
* @listens external:jQuery.Event * @listens external:jQuery.Event
@ -35261,7 +35263,7 @@ editor.init = function () {
/* eslint-disable jsdoc/require-property */ /* eslint-disable jsdoc/require-property */
/** /**
* Associate all button actions as well as non-button keyboard shortcuts * Associate all button actions as well as non-button keyboard shortcuts.
* @namespace {PlainObject} module:SVGEditor~Actions * @namespace {PlainObject} module:SVGEditor~Actions
*/ */

14
dist/index-es.min.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

248
dist/index-umd.js vendored
View File

@ -272,13 +272,13 @@
document.addEventListener('touchcancel', touchHandler, true); document.addEventListener('touchcancel', touchHandler, true);
/** /**
* Namespaces or tools therefor * Namespaces or tools therefor.
* @module namespaces * @module namespaces
* @license MIT * @license MIT
*/ */
/** /**
* Common namepaces constants in alpha order * Common namepaces constants in alpha order.
* @enum {string} * @enum {string}
* @type {PlainObject} * @type {PlainObject}
* @memberof module:namespaces * @memberof module:namespaces
@ -2909,7 +2909,7 @@
}; };
/** /**
* jQuery module to work with SVG attributes * A jQuery module to work with SVG attributes.
* @module jQueryAttr * @module jQueryAttr
* @license MIT * @license MIT
*/ */
@ -3079,14 +3079,14 @@
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#getItem * @function module:SVGTransformList.SVGEditTransformList#getItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
* @returns {SVGTransform} * @returns {SVGTransform}
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#insertItemBefore * @function module:SVGTransformList.SVGEditTransformList#insertItemBefore
* @param {SVGTransform} newItem * @param {SVGTransform} newItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
@ -3094,7 +3094,7 @@
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#replaceItem * @function module:SVGTransformList.SVGEditTransformList#replaceItem
* @param {SVGTransform} newItem * @param {SVGTransform} newItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
@ -3102,7 +3102,7 @@
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#removeItem * @function module:SVGTransformList.SVGEditTransformList#removeItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
* @returns {SVGTransform} * @returns {SVGTransform}
@ -3115,7 +3115,7 @@
*/ */
/** /**
* NOT IMPLEMENTED * NOT IMPLEMENTED.
* @ignore * @ignore
* @function module:SVGTransformList.SVGEditTransformList#createSVGTransformFromMatrix * @function module:SVGTransformList.SVGEditTransformList#createSVGTransformFromMatrix
* @param {SVGMatrix} matrix * @param {SVGMatrix} matrix
@ -3123,7 +3123,7 @@
*/ */
/** /**
* NOT IMPLEMENTED * NOT IMPLEMENTED.
* @ignore * @ignore
* @function module:SVGTransformList.SVGEditTransformList#consolidate * @function module:SVGTransformList.SVGEditTransformList#consolidate
* @returns {SVGTransform} * @returns {SVGTransform}
@ -3475,7 +3475,7 @@
}; };
/** /**
* Tools for working with units * Tools for working with units.
* @module units * @module units
* @license MIT * @license MIT
* *
@ -3579,7 +3579,7 @@
}; };
}; };
/** /**
* Group: Unit conversion functions * Group: Unit conversion functions.
*/ */
/** /**
@ -3761,7 +3761,7 @@
}; };
/** /**
* Group: Undo/Redo history management * Group: Undo/Redo history management.
*/ */
var HistoryEventTypes = { var HistoryEventTypes = {
@ -3804,7 +3804,7 @@
*/ */
/** /**
* Applies * Applies.
* *
* @function module:history.HistoryCommand#apply * @function module:history.HistoryCommand#apply
* @param {module:history.HistoryEventHandler} handler * @param {module:history.HistoryEventHandler} handler
@ -3814,7 +3814,7 @@
/** /**
* *
* Unapplies * Unapplies.
* @function module:history.HistoryCommand#unapply * @function module:history.HistoryCommand#unapply
* @param {module:history.HistoryEventHandler} handler * @param {module:history.HistoryEventHandler} handler
* @fires module:history~Command#event:history * @fires module:history~Command#event:history
@ -3822,25 +3822,25 @@
*/ */
/** /**
* Returns the elements * Returns the elements.
* @function module:history.HistoryCommand#elements * @function module:history.HistoryCommand#elements
* @returns {Element[]} * @returns {Element[]}
*/ */
/** /**
* Gets the text * Gets the text.
* @function module:history.HistoryCommand#getText * @function module:history.HistoryCommand#getText
* @returns {string} * @returns {string}
*/ */
/** /**
* Gives the type * Gives the type.
* @function module:history.HistoryCommand.type * @function module:history.HistoryCommand.type
* @returns {string} * @returns {string}
*/ */
/** /**
* Gives the type * Gives the type.
* @function module:history.HistoryCommand#type * @function module:history.HistoryCommand#type
* @returns {string} * @returns {string}
*/ */
@ -4669,7 +4669,7 @@
}); });
/** /**
* Mathematical utilities * Mathematical utilities.
* @module math * @module math
* @license MIT * @license MIT
* *
@ -4965,7 +4965,7 @@
*/ */
/** /**
* Object with the following keys/values * Object with the following keys/values.
* @typedef {PlainObject} module:path.SVGElementJSON * @typedef {PlainObject} module:path.SVGElementJSON
* @property {string} element - Tag name of the SVG element to create * @property {string} element - Tag name of the SVG element to create
* @property {PlainObject<string, string>} 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. * @property {PlainObject<string, string>} 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.
@ -4994,7 +4994,7 @@
*/ */
/** /**
* Note: This doesn't round to an integer necessarily * Note: This doesn't round to an integer necessarily.
* @function module:path.EditorContext#round * @function module:path.EditorContext#round
* @param {Float} val * @param {Float} val
* @returns {Float} Rounded value to nearest value based on `currentZoom` * @returns {Float} Rounded value to nearest value based on `currentZoom`
@ -5092,19 +5092,19 @@
*/ */
/** /**
* Returns the last created DOM element ID string * Returns the last created DOM element ID string.
* @function module:path.EditorContext#getId * @function module:path.EditorContext#getId
* @returns {string} * @returns {string}
*/ */
/** /**
* Creates and returns a unique ID string for a DOM element * Creates and returns a unique ID string for a DOM element.
* @function module:path.EditorContext#getNextId * @function module:path.EditorContext#getNextId
* @returns {string} * @returns {string}
*/ */
/** /**
* Gets the desired element from a mouse event * Gets the desired element from a mouse event.
* @function module:path.EditorContext#getMouseTarget * @function module:path.EditorContext#getMouseTarget
* @param {external:MouseEvent} evt - Event object from the mouse event * @param {external:MouseEvent} evt - Event object from the mouse event
* @returns {Element} DOM element we want * @returns {Element} DOM element we want
@ -6555,7 +6555,7 @@
} }
}; };
/** /**
* This is how we map paths to our preferred relative segment types * This is how we map paths to our preferred relative segment types.
* @name module:path.pathMap * @name module:path.pathMap
* @type {GenericArray} * @type {GenericArray}
*/ */
@ -6811,8 +6811,8 @@
/* eslint-disable jsdoc/require-property */ /* eslint-disable jsdoc/require-property */
/** /**
* Group: Path edit functions * Group: Path edit functions.
* Functions relating to editing path elements * Functions relating to editing path elements.
* @namespace {PlainObject} pathActions * @namespace {PlainObject} pathActions
* @memberof module:path * @memberof module:path
*/ */
@ -7799,7 +7799,7 @@
// Can't seem to use `@borrows` here, so using `@see` // Can't seem to use `@borrows` here, so using `@see`
/** /**
* Smooth polyline into path * Smooth polyline into path.
* @function module:path.pathActions.smoothPolylineIntoPath * @function module:path.pathActions.smoothPolylineIntoPath
* @see module:path~smoothPolylineIntoPath * @see module:path~smoothPolylineIntoPath
*/ */
@ -7877,7 +7877,7 @@
// Can't seem to use `@borrows` here, so using `@see` // Can't seem to use `@borrows` here, so using `@see`
/** /**
* Convert a path to one with only absolute or relative values * Convert a path to one with only absolute or relative values.
* @function module:path.pathActions.convertPath * @function module:path.pathActions.convertPath
* @see module:path.convertPath * @see module:path.convertPath
*/ */
@ -7898,7 +7898,7 @@
var domcontainer_ = null; var domcontainer_ = null;
var svgroot_ = null; var svgroot_ = null;
/** /**
* Object with the following keys/values * Object with the following keys/values.
* @typedef {PlainObject} module:utilities.SVGElementJSON * @typedef {PlainObject} module:utilities.SVGElementJSON
* @property {string} element - Tag name of the SVG element to create * @property {string} element - Tag name of the SVG element to create
* @property {PlainObject<string, string>} 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. * @property {PlainObject<string, string>} 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.
@ -7922,7 +7922,7 @@
/** /**
* Create a new SVG element based on the given object keys/values and add it * Create a new SVG element based on the given object keys/values and add it
* to the current layer. * to the current layer.
* The element will be run through `cleanupElement` before being returned * The element will be run through `cleanupElement` before being returned.
* @function module:utilities.EditorContext#addSVGElementFromJson * @function module:utilities.EditorContext#addSVGElementFromJson
* @param {module:utilities.SVGElementJSON} data * @param {module:utilities.SVGElementJSON} data
* @returns {Element} The new element * @returns {Element} The new element
@ -9319,7 +9319,7 @@
/* globals jQuery */ /* globals jQuery */
/** /**
* Adds context menu functionality * Adds context menu functionality.
* @module contextmenu * @module contextmenu
* @license Apache-2.0 * @license Apache-2.0
* @author Adam Bender * @author Adam Bender
@ -11077,7 +11077,7 @@
}; // Layer API Functions }; // Layer API Functions
/** /**
* Group: Layers * Group: Layers.
*/ */
/** /**
@ -11125,7 +11125,7 @@
*/ */
/** /**
* Run the callback function associated with the given event * Run the callback function associated with the given event.
* @function module:draw.DrawCanvasInit#call * @function module:draw.DrawCanvasInit#call
* @param {"changed"|"contextset"} ev - String with the event name * @param {"changed"|"contextset"} ev - String with the event name
* @param {module:svgcanvas.SvgCanvas#event:changed|module:svgcanvas.SvgCanvas#event:contextset} arg - Argument to pass through to the callback * @param {module:svgcanvas.SvgCanvas#event:changed|module:svgcanvas.SvgCanvas#event:contextset} arg - Argument to pass through to the callback
@ -11449,7 +11449,7 @@
/** /**
* This defines which elements and attributes that we support (or at least * This defines which elements and attributes that we support (or at least
* don't remove) * don't remove).
* @type {PlainObject} * @type {PlainObject}
*/ */
@ -13660,7 +13660,7 @@
var svgroot = svgdoc.importNode(text2xml('<svg id="svgroot" xmlns="' + NS.SVG + '" xlinkns="' + NS.XLINK + '" ' + 'width="' + dimensions[0] + '" height="' + dimensions[1] + '" x="' + dimensions[0] + '" y="' + dimensions[1] + '" overflow="visible">' + '<defs>' + '<filter id="canvashadow" filterUnits="objectBoundingBox">' + '<feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>' + '<feOffset in="blur" dx="5" dy="5" result="offsetBlur"/>' + '<feMerge>' + '<feMergeNode in="offsetBlur"/>' + '<feMergeNode in="SourceGraphic"/>' + '</feMerge>' + '</filter>' + '</defs>' + '</svg>').documentElement, true); var svgroot = svgdoc.importNode(text2xml('<svg id="svgroot" xmlns="' + NS.SVG + '" xlinkns="' + NS.XLINK + '" ' + 'width="' + dimensions[0] + '" height="' + dimensions[1] + '" x="' + dimensions[0] + '" y="' + dimensions[1] + '" overflow="visible">' + '<defs>' + '<filter id="canvashadow" filterUnits="objectBoundingBox">' + '<feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>' + '<feOffset in="blur" dx="5" dy="5" result="offsetBlur"/>' + '<feMerge>' + '<feMergeNode in="offsetBlur"/>' + '<feMergeNode in="SourceGraphic"/>' + '</feMerge>' + '</filter>' + '</defs>' + '</svg>').documentElement, true);
container.append(svgroot); container.append(svgroot);
/** /**
* The actual element that represents the final output SVG element * The actual element that represents the final output SVG element.
* @name module:svgcanvas~svgcontent * @name module:svgcanvas~svgcontent
* @type {SVGSVGElement} * @type {SVGSVGElement}
*/ */
@ -13705,7 +13705,7 @@
idprefix = p; idprefix = p;
}; };
/** /**
* Current draw.Drawing object * Current `draw.Drawing` object.
* @type {module:draw.Drawing} * @type {module:draw.Drawing}
* @name module:svgcanvas.SvgCanvas#current_drawing_ * @name module:svgcanvas.SvgCanvas#current_drawing_
*/ */
@ -13722,7 +13722,7 @@
return canvas.current_drawing_; return canvas.current_drawing_;
}; };
/** /**
* Float displaying the current zoom level (1 = 100%, .5 = 50%, etc) * Float displaying the current zoom level (1 = 100%, .5 = 50%, etc.).
* @type {Float} * @type {Float}
*/ */
@ -13858,8 +13858,8 @@
return curConfig.baseUnit; return curConfig.baseUnit;
}; };
/** /**
* initialize from units.js. * Initialize from units.js.
* Send in an object implementing the ElementContainer interface (see units.js) * Send in an object implementing the ElementContainer interface (see units.js).
*/ */
@ -14091,7 +14091,7 @@
init$6(curConfig, init$6(curConfig,
/** /**
* Export to select.js * Export to select.js.
* @implements {module:select.SVGFactory} * @implements {module:select.SVGFactory}
*/ */
{ {
@ -14107,7 +14107,7 @@
getCurrentZoom: getCurrentZoom getCurrentZoom: getCurrentZoom
}); });
/** /**
* This object manages selectors for us * This object manages selectors for us.
* @name module:svgcanvas.SvgCanvas#selectorManager * @name module:svgcanvas.SvgCanvas#selectorManager
* @type {module:select.SelectorManager} * @type {module:select.SelectorManager}
*/ */
@ -14924,26 +14924,26 @@
var events = {}; var events = {};
canvas.call = call; canvas.call = call;
/** /**
* Array of what was changed (elements, layers) * Array of what was changed (elements, layers).
* @event module:svgcanvas.SvgCanvas#event:changed * @event module:svgcanvas.SvgCanvas#event:changed
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* Array of selected elements * Array of selected elements.
* @event module:svgcanvas.SvgCanvas#event:selected * @event module:svgcanvas.SvgCanvas#event:selected
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* Array of selected elements * Array of selected elements.
* @event module:svgcanvas.SvgCanvas#event:transition * @event module:svgcanvas.SvgCanvas#event:transition
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* The Element is always `SVGGElement`? * The Element is always `SVGGElement`?
* If not `null`, will be the set current group element * If not `null`, will be the set current group element.
* @event module:svgcanvas.SvgCanvas#event:contextset * @event module:svgcanvas.SvgCanvas#event:contextset
* @type {null|Element} * @type {null|Element}
*/ */
@ -15004,7 +15004,7 @@
*/ */
/** /**
* SVG canvas converted to string * SVG canvas converted to string.
* @event module:svgcanvas.SvgCanvas#event:saved * @event module:svgcanvas.SvgCanvas#event:saved
* @type {string} * @type {string}
*/ */
@ -15048,7 +15048,7 @@
/** /**
* The promise return, if present, resolves to `undefined` * The promise return, if present, resolves to `undefined`
* (`extension_added`, `exported`, `saved`) * (`extension_added`, `exported`, `saved`).
* @typedef {Promise<void>|void} module:svgcanvas.EventHandlerReturn * @typedef {Promise<void>|void} module:svgcanvas.EventHandlerReturn
*/ */
@ -15227,7 +15227,7 @@
var rootSctm = null; var rootSctm = null;
/** /**
* Group: Selection * Group: Selection.
*/ */
// TODO: do we need to worry about selectedBBoxes here? // TODO: do we need to worry about selectedBBoxes here?
@ -15794,7 +15794,7 @@
break; break;
} }
/** /**
* The main (left) mouse button is held down on the canvas area * The main (left) mouse button is held down on the canvas area.
* @event module:svgcanvas.SvgCanvas#event:ext_mouseDown * @event module:svgcanvas.SvgCanvas#event:ext_mouseDown
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -16337,7 +16337,7 @@
} }
} }
/** /**
* The mouse has moved on the canvas area * The mouse has moved on the canvas area.
* @event module:svgcanvas.SvgCanvas#event:ext_mouseMove * @event module:svgcanvas.SvgCanvas#event:ext_mouseMove
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -16654,7 +16654,7 @@
} }
} }
/** /**
* The main (left) mouse button is released (anywhere) * The main (left) mouse button is released (anywhere).
* @event module:svgcanvas.SvgCanvas#event:ext_mouseUp * @event module:svgcanvas.SvgCanvas#event:ext_mouseUp
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -16887,7 +16887,7 @@
/** /**
* Group: Text edit functions * Group: Text edit functions
* Functions relating to editing text elements * Functions relating to editing text elements.
* @namespace {PlainObject} textActions * @namespace {PlainObject} textActions
* @memberof module:svgcanvas.SvgCanvas# * @memberof module:svgcanvas.SvgCanvas#
*/ */
@ -17412,7 +17412,7 @@
); );
}(); }();
/** /**
* Group: Serialization * Group: Serialization.
*/ */
/** /**
@ -17755,7 +17755,7 @@
}; // end svgToString() }; // end svgToString()
/** /**
* Function to run when image data is found * Function to run when image data is found.
* @callback module:svgcanvas.ImageEmbeddedCallback * @callback module:svgcanvas.ImageEmbeddedCallback
* @param {string|false} result Data URL * @param {string|false} result Data URL
* @returns {void} * @returns {void}
@ -18928,7 +18928,7 @@
} }
}); });
/** /**
* Group: Document functions * Group: Document functions.
*/ */
/** /**
@ -19395,7 +19395,7 @@
*/ */
/** /**
* The bottom panel was updated * The bottom panel was updated.
* @event module:svgcanvas.SvgCanvas#event:ext_toolButtonStateUpdate * @event module:svgcanvas.SvgCanvas#event:ext_toolButtonStateUpdate
* @type {PlainObject} * @type {PlainObject}
* @property {boolean} nofill Indicates fill is disabled * @property {boolean} nofill Indicates fill is disabled
@ -19403,7 +19403,7 @@
*/ */
/** /**
* The element selection has changed (elements were added/removed from selection) * The element selection has changed (elements were added/removed from selection).
* @event module:svgcanvas.SvgCanvas#event:ext_selectedChanged * @event module:svgcanvas.SvgCanvas#event:ext_selectedChanged
* @type {PlainObject} * @type {PlainObject}
* @property {Element[]} elems Array of the newly selected elements * @property {Element[]} elems Array of the newly selected elements
@ -19420,14 +19420,14 @@
*/ */
/** /**
* One or more elements were changed * One or more elements were changed.
* @event module:svgcanvas.SvgCanvas#event:ext_elementChanged * @event module:svgcanvas.SvgCanvas#event:ext_elementChanged
* @type {PlainObject} * @type {PlainObject}
* @property {Element[]} elems Array of the affected elements * @property {Element[]} elems Array of the affected elements
*/ */
/** /**
* Invoked as soon as the locale is ready * Invoked as soon as the locale is ready.
* @event module:svgcanvas.SvgCanvas#event:ext_langReady * @event module:svgcanvas.SvgCanvas#event:ext_langReady
* @type {PlainObject} * @type {PlainObject}
* @property {string} lang The two-letter language code * @property {string} lang The two-letter language code
@ -19450,13 +19450,13 @@
*/ */
/** /**
* Called when new image is created * Called when new image is created.
* @event module:svgcanvas.SvgCanvas#event:ext_onNewDocument * @event module:svgcanvas.SvgCanvas#event:ext_onNewDocument
* @type {void} * @type {void}
*/ */
/** /**
* Called when sidepanel is resized or toggled * Called when sidepanel is resized or toggled.
* @event module:svgcanvas.SvgCanvas#event:ext_workareaResized * @event module:svgcanvas.SvgCanvas#event:ext_workareaResized
* @type {void} * @type {void}
*/ */
@ -19517,7 +19517,7 @@
currentMode = name; currentMode = name;
}; };
/** /**
* Group: Element Styling * Group: Element Styling.
*/ */
/** /**
@ -20390,7 +20390,7 @@
canvas.ungroupSelectedElement(); canvas.ungroupSelectedElement();
}; };
/** /**
* Group: Element manipulation * Group: Element manipulation.
*/ */
/** /**
@ -20739,7 +20739,7 @@
clipb.forEach(checkIDs); // Give extensions like the connector extension a chance to reflect new IDs and remove invalid elements clipb.forEach(checkIDs); // Give extensions like the connector extension a chance to reflect new IDs and remove invalid elements
/** /**
* Triggered when `pasteElements` is called from a paste action (context menu or key) * Triggered when `pasteElements` is called from a paste action (context menu or key).
* @event module:svgcanvas.SvgCanvas#event:ext_IDsUpdated * @event module:svgcanvas.SvgCanvas#event:ext_IDsUpdated
* @type {PlainObject} * @type {PlainObject}
* @property {module:svgcanvas.SVGAsJSON[]} elems * @property {module:svgcanvas.SVGAsJSON[]} elems
@ -21543,7 +21543,7 @@
this.moveSelectedElements(dx, dy); this.moveSelectedElements(dx, dy);
}; };
/** /**
* Group: Additional editor tools * Group: Additional editor tools.
*/ */
/** /**
@ -22320,7 +22320,7 @@
// Todo: Move to own module (and have it import a modular base64 encoder) // Todo: Move to own module (and have it import a modular base64 encoder)
/** /**
* SVG Icon Loader 2.0 * @file SVG Icon Loader 2.0
* *
* jQuery Plugin for loading SVG icons from a single file * jQuery Plugin for loading SVG icons from a single file
* *
@ -22481,13 +22481,13 @@
var svgIcons = {}; var svgIcons = {};
/** /**
* Map of raster images with each key being the SVG icon ID * Map of raster images with each key being the SVG icon ID
* to replace, and the value the image file name * to replace, and the value the image file name.
* @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Fallback * @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Fallback
*/ */
/** /**
* Map of raster images with each key being the SVG icon ID * Map of raster images with each key being the SVG icon ID
* whose `alt` will be set, and the value being the `alt` text * whose `alt` will be set, and the value being the `alt` text.
* @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Alts * @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Alts
*/ */
@ -22902,7 +22902,7 @@
} }
/** /**
* jGraduate 0.4 * @file jGraduate 0.4
* *
* jQuery Plugin for a gradient picker * jQuery Plugin for a gradient picker
* *
@ -23001,14 +23001,14 @@
*/ */
this.type = options.copy.type; this.type = options.copy.type;
/** /**
* Represents opacity (0-100) * Represents opacity (0-100).
* @name module:jGraduate~Paint#alpha * @name module:jGraduate~Paint#alpha
* @type {Float} * @type {Float}
*/ */
this.alpha = options.copy.alpha; this.alpha = options.copy.alpha;
/** /**
* Represents #RRGGBB hex of color * Represents #RRGGBB hex of color.
* @name module:jGraduate~Paint#solidColor * @name module:jGraduate~Paint#solidColor
* @type {string} * @type {string}
*/ */
@ -23094,7 +23094,7 @@
/** @lends external:jQuery.fn.jGraduateDefaults */ /** @lends external:jQuery.fn.jGraduateDefaults */
{ {
/** /**
* Creates an object with a 'none' color * Creates an object with a 'none' color.
* @type {external:jQuery.jGraduate.Paint} * @type {external:jQuery.jGraduate.Paint}
* @see module:jGraduate.Options * @see module:jGraduate.Options
*/ */
@ -24193,55 +24193,57 @@
} }
/** /**
* SpinButton control * SpinButton control.
* *
* Adds bells and whistles to any ordinary textbox to * Adds bells and whistles to any ordinary textbox to
* make it look and feel like a SpinButton Control. * make it look and feel like a SpinButton Control.
* *
* Supplies {@link external:jQuery.fn.SpinButton} (and also {@link external:jQuery.loadingStylesheets}) * Supplies {@link external:jQuery.fn.SpinButton} (and also {@link external:jQuery.loadingStylesheets}).
* *
* Originally written by George Adamson, Software Unity (george.jquery@softwareunity.com) August 2006. * Originally written by George Adamson, Software Unity (george.jquery@softwareunity.com) August 2006:
* - Added min/max options * - Added min/max options.
* - Added step size option * - Added step size option.
* - Added bigStep (page up/down) option * - Added bigStep (page up/down) option.
* *
* Modifications made by Mark Gibson, (mgibson@designlinks.net) September 2006: * Modifications made by Mark Gibson, (mgibson@designlinks.net) September 2006:
* - Converted to jQuery plugin * - Converted to jQuery plugin.
* - Allow limited or unlimited min/max values * - Allow limited or unlimited min/max values.
* - Allow custom class names, and add class to input element * - Allow custom class names, and add class to input element.
* - Removed global vars * - Removed global vars.
* - Reset (to original or through config) when invalid value entered * - Reset (to original or through config) when invalid value entered.
* - Repeat whilst holding mouse button down (with initial pause, like keyboard repeat) * - Repeat whilst holding mouse button down (with initial pause, like keyboard repeat).
* - Support mouse wheel in Firefox * - Support mouse wheel in Firefox.
* - Fix double click in IE * - Fix double click in IE.
* - Refactored some code and renamed some vars * - Refactored some code and renamed some vars.
* *
* Modifications by Jeff Schiller, June 2009: * Modifications by Jeff Schiller, June 2009:
* - provide callback function for when the value changes based on the following * - provide callback function for when the value changes based on the following
* {@link https://www.mail-archive.com/jquery-en@googlegroups.com/msg36070.html} * {@link https://www.mail-archive.com/jquery-en@googlegroups.com/msg36070.html}.
* *
* Modifications by Jeff Schiller, July 2009: * Modifications by Jeff Schiller, July 2009:
* - improve styling for widget in Opera * - improve styling for widget in Opera.
* - consistent key-repeat handling cross-browser * - consistent key-repeat handling cross-browser.
* *
* Modifications by Alexis Deveria, October 2009: * Modifications by Alexis Deveria, October 2009:
* - provide "stepfunc" callback option to allow custom function to run when changing a value * - provide "stepfunc" callback option to allow custom function to run when changing a value.
* - Made adjustValue(0) only run on certain keyup events, not all. * - Made adjustValue(0) only run on certain keyup events, not all.
* *
* Tested in IE6, Opera9, Firefox 1.5 * Tested in IE6, Opera9, Firefox 1.5.
* *
* | Version | Date | Author | Notes * | Version | Date | Author | Notes |
* |---------|------|--------|------| * |---------|------|--------|-------|
* | v1.0 | 11 Aug 2006 | George Adamson | First release * | v1.0 | 11 Aug 2006 | George Adamson | First release |
* | v1.1 | Aug 2006 | George Adamson | Minor enhancements * | v1.1 | Aug 2006 | George Adamson | Minor enhancements |
* | v1.2 | 27 Sep 2006 | Mark Gibson | Major enhancements * | v1.2 | 27 Sep 2006 | Mark Gibson | Major enhancements |
* | v1.3a | 28 Sep 2006 | George Adamson | Minor enhancements * | v1.3a | 28 Sep 2006 | George Adamson | Minor enhancements |
* | v1.4 | 18 Jun 2009 | Jeff Schiller | Added callback function * | v1.4 | 18 Jun 2009 | Jeff Schiller | Added callback function |
* | v1.5 | 06 Jul 2009 | Jeff Schiller | Fixes for Opera. * | v1.5 | 06 Jul 2009 | Jeff Schiller | Fixes for Opera. |
* | v1.6 | 13 Oct 2009 | Alexis Deveria | Added stepfunc function * | v1.6 | 13 Oct 2009 | Alexis Deveria | Added stepfunc function |
* | v1.7 | 21 Oct 2009 | Alexis Deveria | Minor fixes.<br />Fast-repeat for keys and live updating as you type. * | v1.7 | 21 Oct 2009 | Alexis Deveria | Minor fixes.<br />Fast-repeat for keys and live updating as you type. |
* | v1.8 | 12 Jan 2010 | Benjamin Thomas | Fixes for mouseout behavior.<br />Added smallStep * | v1.8 | 12 Jan 2010 | Benjamin Thomas | Fixes for mouseout behavior.<br />Added smallStep |
* | v1.9 | 20 May 2018 | Brett Zamir | Avoid SVGEdit dependency via `stateObj` config;<br />convert to ES6 module | * | v1.9 | 20 May 2018 | Brett Zamir | Avoid SVGEdit dependency via `stateObj` config;<br />convert to ES6 module |
* .
*
* @module jQuerySpinButton * @module jQuerySpinButton
* @example * @example
// Create group of settings to initialise spinbutton(s). (Optional) // Create group of settings to initialise spinbutton(s). (Optional)
@ -24563,7 +24565,7 @@
} }
/** /**
* jQuery Context Menu Plugin * @file jQuery Context Menu Plugin
* Cory S.N. LaViska * Cory S.N. LaViska
* A Beautiful Site ({@link https://abeautifulsite.net/}) * A Beautiful Site ({@link https://abeautifulsite.net/})
* Modified by Alexis Deveria * Modified by Alexis Deveria
@ -24895,7 +24897,7 @@
/* eslint-disable no-bitwise */ /* eslint-disable no-bitwise */
/** /**
* jPicker (Adapted from version 1.1.6) * @file jPicker (Adapted from version 1.1.6)
* *
* jQuery Plugin for Photoshop style color picker * jQuery Plugin for Photoshop style color picker
* *
@ -25757,7 +25759,7 @@
/* eslint-enable jsdoc/require-property */ /* eslint-enable jsdoc/require-property */
/** /**
* Array holding references to each active instance of the jPicker control * Array holding references to each active instance of the jPicker control.
* @type {external:jQuery.fn.$.fn.jPicker[]} * @type {external:jQuery.fn.$.fn.jPicker[]}
*/ */
List: [], List: [],
@ -26151,7 +26153,7 @@
}, },
/** /**
* color conversion methods - make public to give use to external scripts * Color conversion methods - make public to give use to external scripts.
* @namespace * @namespace
*/ */
ColorMethods: { ColorMethods: {
@ -26386,7 +26388,7 @@
*/ */
/** /**
* Will be bound to active {@link jQuery.jPicker.Color} * Will be bound to active {@link jQuery.jPicker.Color}.
* @callback module:jPicker.LiveCallback * @callback module:jPicker.LiveCallback
* @param {external:jQuery} ui * @param {external:jQuery} ui
* @param {Element} context * @param {Element} context
@ -27825,8 +27827,8 @@
*/ */
/** /**
* jPicker defaults - you can change anything in this section (such as the * The jPicker defaults - you can change anything in this section (such as the
* clientPath to your images) without fear of breaking the program * clientPath to your images) without fear of breaking the program.
* @namespace {external:jQuery.fn.jPickerOptions} defaults * @namespace {external:jQuery.fn.jPickerOptions} defaults
* @memberof external:jQuery.fn.$.fn.jPicker * @memberof external:jQuery.fn.$.fn.jPicker
* @borrows external:jQuery.fn.jPickerOptions as external:jQuery.fn.jPicker.defaults * @borrows external:jQuery.fn.jPickerOptions as external:jQuery.fn.jPicker.defaults
@ -28300,7 +28302,7 @@
}; };
/** /**
* The "data" property is generally set to an an array of objects with * The "data" property is generally set to an an array of objects with
* "id" and "title" or "textContent" properties * "id" and "title" or "textContent" properties.
* @typedef {PlainObject} module:locale.AddLangExtensionLocaleData * @typedef {PlainObject} module:locale.AddLangExtensionLocaleData
* @property {module:locale.LocaleStrings[]} data See {@tutorial LocaleDocs} * @property {module:locale.LocaleStrings[]} data See {@tutorial LocaleDocs}
*/ */
@ -28820,7 +28822,7 @@
} }
/** /**
* The main module for the visual SVG Editor * The main module for the visual SVG Editor.
* *
* @license MIT * @license MIT
* *
@ -28900,7 +28902,7 @@
*/ */
/** /**
* Preferences * Preferences.
* @interface module:SVGEditor.Prefs * @interface module:SVGEditor.Prefs
* @property {string} [lang="en"] Two-letter language code. The language must exist in the Editor Preferences language list. Defaults to "en" if `locale.js` detection does not detect another language. * @property {string} [lang="en"] Two-letter language code. The language must exist in the Editor Preferences language list. Defaults to "en" if `locale.js` detection does not detect another language.
* @property {module:SVGEditor.IconSize} [iconsize="s"|"m"] Size of the toolbar icons. Will default to 's' if the window height is smaller than the minimum height and 'm' otherwise. * @property {module:SVGEditor.IconSize} [iconsize="s"|"m"] Size of the toolbar icons. Will default to 's' if the window height is smaller than the minimum height and 'm' otherwise.
@ -28924,13 +28926,13 @@
// EDITOR OPTIONS (DIALOG) // EDITOR OPTIONS (DIALOG)
/** /**
* Default to "en" if locale.js detection does not detect another language * Default to "en" if locale.js detection does not detect another language.
*/ */
lang: '', lang: '',
/** /**
* Will default to 's' if the window height is smaller than the minimum height and * Will default to 's' if the window height is smaller than the minimum
* 'm' otherwise * height and 'm' otherwise.
*/ */
iconsize: '', iconsize: '',
bkgd_color: '#FFF', bkgd_color: '#FFF',
@ -29098,7 +29100,7 @@
}, },
/** /**
* LOCALE * LOCALE.
* @name module:SVGEditor.uiStrings * @name module:SVGEditor.uiStrings
* @type {PlainObject} * @type {PlainObject}
*/ */
@ -29271,7 +29273,7 @@
); );
} }
/** /**
* EXPORTS * EXPORTS.
*/ */
/** /**
@ -29457,7 +29459,7 @@
editor.curConfig = curConfig; // Update exported value editor.curConfig = curConfig; // Update exported value
}; };
/** /**
* All methods are optional * All methods are optional.
* @interface module:SVGEditor.CustomHandler * @interface module:SVGEditor.CustomHandler
* @type {PlainObject} * @type {PlainObject}
*/ */
@ -29476,7 +29478,7 @@
* Its responsibilities are: * Its responsibilities are:
* - accept the string contents of the current document * - accept the string contents of the current document
* - invoke a file chooser dialog in 'save' mode * - invoke a file chooser dialog in 'save' mode
* - save the file to location chosen by the user * - save the file to location chosen by the user.
* @function module:SVGEditor.CustomHandler#save * @function module:SVGEditor.CustomHandler#save
* @param {external:Window} win * @param {external:Window} win
* @param {module:svgcanvas.SvgCanvas#event:saved} svgStr A string of the SVG * @param {module:svgcanvas.SvgCanvas#event:saved} svgStr A string of the SVG
@ -33215,7 +33217,7 @@
// TODO: Group UI functions into a public editor.ui interface. // TODO: Group UI functions into a public editor.ui interface.
/** /**
* See {@link http://api.jquery.com/bind/#bind-eventType-eventData-handler} * See {@link http://api.jquery.com/bind/#bind-eventType-eventData-handler}.
* @callback module:SVGEditor.DropDownCallback * @callback module:SVGEditor.DropDownCallback
* @param {external:jQuery.Event} ev See {@link http://api.jquery.com/Types/#Event} * @param {external:jQuery.Event} ev See {@link http://api.jquery.com/Types/#Event}
* @listens external:jQuery.Event * @listens external:jQuery.Event
@ -35267,7 +35269,7 @@
/* eslint-disable jsdoc/require-property */ /* eslint-disable jsdoc/require-property */
/** /**
* Associate all button actions as well as non-button keyboard shortcuts * Associate all button actions as well as non-button keyboard shortcuts.
* @namespace {PlainObject} module:SVGEditor~Actions * @namespace {PlainObject} module:SVGEditor~Actions
*/ */

14
dist/index-umd.min.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -86,7 +86,7 @@
} }
/** /**
* For parsing color values * For parsing color values.
* @module RGBColor * @module RGBColor
* @author Stoyan Stefanov <sstoo@gmail.com> * @author Stoyan Stefanov <sstoo@gmail.com>
* @see https://www.phpied.com/rgb-color-parser-in-javascript/ * @see https://www.phpied.com/rgb-color-parser-in-javascript/

View File

@ -2412,13 +2412,13 @@
})(); })();
/** /**
* Namespaces or tools therefor * Namespaces or tools therefor.
* @module namespaces * @module namespaces
* @license MIT * @license MIT
*/ */
/** /**
* Common namepaces constants in alpha order * Common namepaces constants in alpha order.
* @enum {string} * @enum {string}
* @type {PlainObject} * @type {PlainObject}
* @memberof module:namespaces * @memberof module:namespaces

130
dist/svgcanvas-iife.js vendored
View File

@ -2510,7 +2510,7 @@ var SvgCanvas = (function () {
})(); })();
/** /**
* jQuery module to work with SVG attributes * A jQuery module to work with SVG attributes.
* @module jQueryAttr * @module jQueryAttr
* @license MIT * @license MIT
*/ */
@ -2813,13 +2813,13 @@ var SvgCanvas = (function () {
} }
/** /**
* Namespaces or tools therefor * Namespaces or tools therefor.
* @module namespaces * @module namespaces
* @license MIT * @license MIT
*/ */
/** /**
* Common namepaces constants in alpha order * Common namepaces constants in alpha order.
* @enum {string} * @enum {string}
* @type {PlainObject} * @type {PlainObject}
* @memberof module:namespaces * @memberof module:namespaces
@ -3188,14 +3188,14 @@ var SvgCanvas = (function () {
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#getItem * @function module:SVGTransformList.SVGEditTransformList#getItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
* @returns {SVGTransform} * @returns {SVGTransform}
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#insertItemBefore * @function module:SVGTransformList.SVGEditTransformList#insertItemBefore
* @param {SVGTransform} newItem * @param {SVGTransform} newItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
@ -3203,7 +3203,7 @@ var SvgCanvas = (function () {
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#replaceItem * @function module:SVGTransformList.SVGEditTransformList#replaceItem
* @param {SVGTransform} newItem * @param {SVGTransform} newItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
@ -3211,7 +3211,7 @@ var SvgCanvas = (function () {
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#removeItem * @function module:SVGTransformList.SVGEditTransformList#removeItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
* @returns {SVGTransform} * @returns {SVGTransform}
@ -3224,7 +3224,7 @@ var SvgCanvas = (function () {
*/ */
/** /**
* NOT IMPLEMENTED * NOT IMPLEMENTED.
* @ignore * @ignore
* @function module:SVGTransformList.SVGEditTransformList#createSVGTransformFromMatrix * @function module:SVGTransformList.SVGEditTransformList#createSVGTransformFromMatrix
* @param {SVGMatrix} matrix * @param {SVGMatrix} matrix
@ -3232,7 +3232,7 @@ var SvgCanvas = (function () {
*/ */
/** /**
* NOT IMPLEMENTED * NOT IMPLEMENTED.
* @ignore * @ignore
* @function module:SVGTransformList.SVGEditTransformList#consolidate * @function module:SVGTransformList.SVGEditTransformList#consolidate
* @returns {SVGTransform} * @returns {SVGTransform}
@ -3584,7 +3584,7 @@ var SvgCanvas = (function () {
}; };
/** /**
* Tools for working with units * Tools for working with units.
* @module units * @module units
* @license MIT * @license MIT
* *
@ -3687,7 +3687,7 @@ var SvgCanvas = (function () {
}; };
}; };
/** /**
* Group: Unit conversion functions * Group: Unit conversion functions.
*/ */
/** /**
@ -3827,7 +3827,7 @@ var SvgCanvas = (function () {
}; };
/** /**
* Group: Undo/Redo history management * Group: Undo/Redo history management.
*/ */
var HistoryEventTypes = { var HistoryEventTypes = {
@ -3870,7 +3870,7 @@ var SvgCanvas = (function () {
*/ */
/** /**
* Applies * Applies.
* *
* @function module:history.HistoryCommand#apply * @function module:history.HistoryCommand#apply
* @param {module:history.HistoryEventHandler} handler * @param {module:history.HistoryEventHandler} handler
@ -3880,7 +3880,7 @@ var SvgCanvas = (function () {
/** /**
* *
* Unapplies * Unapplies.
* @function module:history.HistoryCommand#unapply * @function module:history.HistoryCommand#unapply
* @param {module:history.HistoryEventHandler} handler * @param {module:history.HistoryEventHandler} handler
* @fires module:history~Command#event:history * @fires module:history~Command#event:history
@ -3888,25 +3888,25 @@ var SvgCanvas = (function () {
*/ */
/** /**
* Returns the elements * Returns the elements.
* @function module:history.HistoryCommand#elements * @function module:history.HistoryCommand#elements
* @returns {Element[]} * @returns {Element[]}
*/ */
/** /**
* Gets the text * Gets the text.
* @function module:history.HistoryCommand#getText * @function module:history.HistoryCommand#getText
* @returns {string} * @returns {string}
*/ */
/** /**
* Gives the type * Gives the type.
* @function module:history.HistoryCommand.type * @function module:history.HistoryCommand.type
* @returns {string} * @returns {string}
*/ */
/** /**
* Gives the type * Gives the type.
* @function module:history.HistoryCommand#type * @function module:history.HistoryCommand#type
* @returns {string} * @returns {string}
*/ */
@ -4735,7 +4735,7 @@ var SvgCanvas = (function () {
}); });
/** /**
* Mathematical utilities * Mathematical utilities.
* @module math * @module math
* @license MIT * @license MIT
* *
@ -5031,7 +5031,7 @@ var SvgCanvas = (function () {
*/ */
/** /**
* Object with the following keys/values * Object with the following keys/values.
* @typedef {PlainObject} module:path.SVGElementJSON * @typedef {PlainObject} module:path.SVGElementJSON
* @property {string} element - Tag name of the SVG element to create * @property {string} element - Tag name of the SVG element to create
* @property {PlainObject<string, string>} 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. * @property {PlainObject<string, string>} 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.
@ -5060,7 +5060,7 @@ var SvgCanvas = (function () {
*/ */
/** /**
* Note: This doesn't round to an integer necessarily * Note: This doesn't round to an integer necessarily.
* @function module:path.EditorContext#round * @function module:path.EditorContext#round
* @param {Float} val * @param {Float} val
* @returns {Float} Rounded value to nearest value based on `currentZoom` * @returns {Float} Rounded value to nearest value based on `currentZoom`
@ -5158,19 +5158,19 @@ var SvgCanvas = (function () {
*/ */
/** /**
* Returns the last created DOM element ID string * Returns the last created DOM element ID string.
* @function module:path.EditorContext#getId * @function module:path.EditorContext#getId
* @returns {string} * @returns {string}
*/ */
/** /**
* Creates and returns a unique ID string for a DOM element * Creates and returns a unique ID string for a DOM element.
* @function module:path.EditorContext#getNextId * @function module:path.EditorContext#getNextId
* @returns {string} * @returns {string}
*/ */
/** /**
* Gets the desired element from a mouse event * Gets the desired element from a mouse event.
* @function module:path.EditorContext#getMouseTarget * @function module:path.EditorContext#getMouseTarget
* @param {external:MouseEvent} evt - Event object from the mouse event * @param {external:MouseEvent} evt - Event object from the mouse event
* @returns {Element} DOM element we want * @returns {Element} DOM element we want
@ -6621,7 +6621,7 @@ var SvgCanvas = (function () {
} }
}; };
/** /**
* This is how we map paths to our preferred relative segment types * This is how we map paths to our preferred relative segment types.
* @name module:path.pathMap * @name module:path.pathMap
* @type {GenericArray} * @type {GenericArray}
*/ */
@ -6877,8 +6877,8 @@ var SvgCanvas = (function () {
/* eslint-disable jsdoc/require-property */ /* eslint-disable jsdoc/require-property */
/** /**
* Group: Path edit functions * Group: Path edit functions.
* Functions relating to editing path elements * Functions relating to editing path elements.
* @namespace {PlainObject} pathActions * @namespace {PlainObject} pathActions
* @memberof module:path * @memberof module:path
*/ */
@ -7865,7 +7865,7 @@ var SvgCanvas = (function () {
// Can't seem to use `@borrows` here, so using `@see` // Can't seem to use `@borrows` here, so using `@see`
/** /**
* Smooth polyline into path * Smooth polyline into path.
* @function module:path.pathActions.smoothPolylineIntoPath * @function module:path.pathActions.smoothPolylineIntoPath
* @see module:path~smoothPolylineIntoPath * @see module:path~smoothPolylineIntoPath
*/ */
@ -7943,7 +7943,7 @@ var SvgCanvas = (function () {
// Can't seem to use `@borrows` here, so using `@see` // Can't seem to use `@borrows` here, so using `@see`
/** /**
* Convert a path to one with only absolute or relative values * Convert a path to one with only absolute or relative values.
* @function module:path.pathActions.convertPath * @function module:path.pathActions.convertPath
* @see module:path.convertPath * @see module:path.convertPath
*/ */
@ -7964,7 +7964,7 @@ var SvgCanvas = (function () {
var domcontainer_ = null; var domcontainer_ = null;
var svgroot_ = null; var svgroot_ = null;
/** /**
* Object with the following keys/values * Object with the following keys/values.
* @typedef {PlainObject} module:utilities.SVGElementJSON * @typedef {PlainObject} module:utilities.SVGElementJSON
* @property {string} element - Tag name of the SVG element to create * @property {string} element - Tag name of the SVG element to create
* @property {PlainObject<string, string>} 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. * @property {PlainObject<string, string>} 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.
@ -7988,7 +7988,7 @@ var SvgCanvas = (function () {
/** /**
* Create a new SVG element based on the given object keys/values and add it * Create a new SVG element based on the given object keys/values and add it
* to the current layer. * to the current layer.
* The element will be run through `cleanupElement` before being returned * The element will be run through `cleanupElement` before being returned.
* @function module:utilities.EditorContext#addSVGElementFromJson * @function module:utilities.EditorContext#addSVGElementFromJson
* @param {module:utilities.SVGElementJSON} data * @param {module:utilities.SVGElementJSON} data
* @returns {Element} The new element * @returns {Element} The new element
@ -10638,7 +10638,7 @@ var SvgCanvas = (function () {
}; // Layer API Functions }; // Layer API Functions
/** /**
* Group: Layers * Group: Layers.
*/ */
/** /**
@ -10686,7 +10686,7 @@ var SvgCanvas = (function () {
*/ */
/** /**
* Run the callback function associated with the given event * Run the callback function associated with the given event.
* @function module:draw.DrawCanvasInit#call * @function module:draw.DrawCanvasInit#call
* @param {"changed"|"contextset"} ev - String with the event name * @param {"changed"|"contextset"} ev - String with the event name
* @param {module:svgcanvas.SvgCanvas#event:changed|module:svgcanvas.SvgCanvas#event:contextset} arg - Argument to pass through to the callback * @param {module:svgcanvas.SvgCanvas#event:changed|module:svgcanvas.SvgCanvas#event:contextset} arg - Argument to pass through to the callback
@ -11010,7 +11010,7 @@ var SvgCanvas = (function () {
/** /**
* This defines which elements and attributes that we support (or at least * This defines which elements and attributes that we support (or at least
* don't remove) * don't remove).
* @type {PlainObject} * @type {PlainObject}
*/ */
@ -13432,7 +13432,7 @@ var SvgCanvas = (function () {
var svgroot = svgdoc.importNode(text2xml('<svg id="svgroot" xmlns="' + NS.SVG + '" xlinkns="' + NS.XLINK + '" ' + 'width="' + dimensions[0] + '" height="' + dimensions[1] + '" x="' + dimensions[0] + '" y="' + dimensions[1] + '" overflow="visible">' + '<defs>' + '<filter id="canvashadow" filterUnits="objectBoundingBox">' + '<feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>' + '<feOffset in="blur" dx="5" dy="5" result="offsetBlur"/>' + '<feMerge>' + '<feMergeNode in="offsetBlur"/>' + '<feMergeNode in="SourceGraphic"/>' + '</feMerge>' + '</filter>' + '</defs>' + '</svg>').documentElement, true); var svgroot = svgdoc.importNode(text2xml('<svg id="svgroot" xmlns="' + NS.SVG + '" xlinkns="' + NS.XLINK + '" ' + 'width="' + dimensions[0] + '" height="' + dimensions[1] + '" x="' + dimensions[0] + '" y="' + dimensions[1] + '" overflow="visible">' + '<defs>' + '<filter id="canvashadow" filterUnits="objectBoundingBox">' + '<feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>' + '<feOffset in="blur" dx="5" dy="5" result="offsetBlur"/>' + '<feMerge>' + '<feMergeNode in="offsetBlur"/>' + '<feMergeNode in="SourceGraphic"/>' + '</feMerge>' + '</filter>' + '</defs>' + '</svg>').documentElement, true);
container.append(svgroot); container.append(svgroot);
/** /**
* The actual element that represents the final output SVG element * The actual element that represents the final output SVG element.
* @name module:svgcanvas~svgcontent * @name module:svgcanvas~svgcontent
* @type {SVGSVGElement} * @type {SVGSVGElement}
*/ */
@ -13477,7 +13477,7 @@ var SvgCanvas = (function () {
idprefix = p; idprefix = p;
}; };
/** /**
* Current draw.Drawing object * Current `draw.Drawing` object.
* @type {module:draw.Drawing} * @type {module:draw.Drawing}
* @name module:svgcanvas.SvgCanvas#current_drawing_ * @name module:svgcanvas.SvgCanvas#current_drawing_
*/ */
@ -13494,7 +13494,7 @@ var SvgCanvas = (function () {
return canvas.current_drawing_; return canvas.current_drawing_;
}; };
/** /**
* Float displaying the current zoom level (1 = 100%, .5 = 50%, etc) * Float displaying the current zoom level (1 = 100%, .5 = 50%, etc.).
* @type {Float} * @type {Float}
*/ */
@ -13630,8 +13630,8 @@ var SvgCanvas = (function () {
return curConfig.baseUnit; return curConfig.baseUnit;
}; };
/** /**
* initialize from units.js. * Initialize from units.js.
* Send in an object implementing the ElementContainer interface (see units.js) * Send in an object implementing the ElementContainer interface (see units.js).
*/ */
@ -13863,7 +13863,7 @@ var SvgCanvas = (function () {
init$6(curConfig, init$6(curConfig,
/** /**
* Export to select.js * Export to select.js.
* @implements {module:select.SVGFactory} * @implements {module:select.SVGFactory}
*/ */
{ {
@ -13879,7 +13879,7 @@ var SvgCanvas = (function () {
getCurrentZoom: getCurrentZoom getCurrentZoom: getCurrentZoom
}); });
/** /**
* This object manages selectors for us * This object manages selectors for us.
* @name module:svgcanvas.SvgCanvas#selectorManager * @name module:svgcanvas.SvgCanvas#selectorManager
* @type {module:select.SelectorManager} * @type {module:select.SelectorManager}
*/ */
@ -14696,26 +14696,26 @@ var SvgCanvas = (function () {
var events = {}; var events = {};
canvas.call = call; canvas.call = call;
/** /**
* Array of what was changed (elements, layers) * Array of what was changed (elements, layers).
* @event module:svgcanvas.SvgCanvas#event:changed * @event module:svgcanvas.SvgCanvas#event:changed
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* Array of selected elements * Array of selected elements.
* @event module:svgcanvas.SvgCanvas#event:selected * @event module:svgcanvas.SvgCanvas#event:selected
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* Array of selected elements * Array of selected elements.
* @event module:svgcanvas.SvgCanvas#event:transition * @event module:svgcanvas.SvgCanvas#event:transition
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* The Element is always `SVGGElement`? * The Element is always `SVGGElement`?
* If not `null`, will be the set current group element * If not `null`, will be the set current group element.
* @event module:svgcanvas.SvgCanvas#event:contextset * @event module:svgcanvas.SvgCanvas#event:contextset
* @type {null|Element} * @type {null|Element}
*/ */
@ -14776,7 +14776,7 @@ var SvgCanvas = (function () {
*/ */
/** /**
* SVG canvas converted to string * SVG canvas converted to string.
* @event module:svgcanvas.SvgCanvas#event:saved * @event module:svgcanvas.SvgCanvas#event:saved
* @type {string} * @type {string}
*/ */
@ -14820,7 +14820,7 @@ var SvgCanvas = (function () {
/** /**
* The promise return, if present, resolves to `undefined` * The promise return, if present, resolves to `undefined`
* (`extension_added`, `exported`, `saved`) * (`extension_added`, `exported`, `saved`).
* @typedef {Promise<void>|void} module:svgcanvas.EventHandlerReturn * @typedef {Promise<void>|void} module:svgcanvas.EventHandlerReturn
*/ */
@ -14999,7 +14999,7 @@ var SvgCanvas = (function () {
var rootSctm = null; var rootSctm = null;
/** /**
* Group: Selection * Group: Selection.
*/ */
// TODO: do we need to worry about selectedBBoxes here? // TODO: do we need to worry about selectedBBoxes here?
@ -15566,7 +15566,7 @@ var SvgCanvas = (function () {
break; break;
} }
/** /**
* The main (left) mouse button is held down on the canvas area * The main (left) mouse button is held down on the canvas area.
* @event module:svgcanvas.SvgCanvas#event:ext_mouseDown * @event module:svgcanvas.SvgCanvas#event:ext_mouseDown
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -16109,7 +16109,7 @@ var SvgCanvas = (function () {
} }
} }
/** /**
* The mouse has moved on the canvas area * The mouse has moved on the canvas area.
* @event module:svgcanvas.SvgCanvas#event:ext_mouseMove * @event module:svgcanvas.SvgCanvas#event:ext_mouseMove
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -16426,7 +16426,7 @@ var SvgCanvas = (function () {
} }
} }
/** /**
* The main (left) mouse button is released (anywhere) * The main (left) mouse button is released (anywhere).
* @event module:svgcanvas.SvgCanvas#event:ext_mouseUp * @event module:svgcanvas.SvgCanvas#event:ext_mouseUp
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -16659,7 +16659,7 @@ var SvgCanvas = (function () {
/** /**
* Group: Text edit functions * Group: Text edit functions
* Functions relating to editing text elements * Functions relating to editing text elements.
* @namespace {PlainObject} textActions * @namespace {PlainObject} textActions
* @memberof module:svgcanvas.SvgCanvas# * @memberof module:svgcanvas.SvgCanvas#
*/ */
@ -17184,7 +17184,7 @@ var SvgCanvas = (function () {
); );
}(); }();
/** /**
* Group: Serialization * Group: Serialization.
*/ */
/** /**
@ -17527,7 +17527,7 @@ var SvgCanvas = (function () {
}; // end svgToString() }; // end svgToString()
/** /**
* Function to run when image data is found * Function to run when image data is found.
* @callback module:svgcanvas.ImageEmbeddedCallback * @callback module:svgcanvas.ImageEmbeddedCallback
* @param {string|false} result Data URL * @param {string|false} result Data URL
* @returns {void} * @returns {void}
@ -18700,7 +18700,7 @@ var SvgCanvas = (function () {
} }
}); });
/** /**
* Group: Document functions * Group: Document functions.
*/ */
/** /**
@ -19167,7 +19167,7 @@ var SvgCanvas = (function () {
*/ */
/** /**
* The bottom panel was updated * The bottom panel was updated.
* @event module:svgcanvas.SvgCanvas#event:ext_toolButtonStateUpdate * @event module:svgcanvas.SvgCanvas#event:ext_toolButtonStateUpdate
* @type {PlainObject} * @type {PlainObject}
* @property {boolean} nofill Indicates fill is disabled * @property {boolean} nofill Indicates fill is disabled
@ -19175,7 +19175,7 @@ var SvgCanvas = (function () {
*/ */
/** /**
* The element selection has changed (elements were added/removed from selection) * The element selection has changed (elements were added/removed from selection).
* @event module:svgcanvas.SvgCanvas#event:ext_selectedChanged * @event module:svgcanvas.SvgCanvas#event:ext_selectedChanged
* @type {PlainObject} * @type {PlainObject}
* @property {Element[]} elems Array of the newly selected elements * @property {Element[]} elems Array of the newly selected elements
@ -19192,14 +19192,14 @@ var SvgCanvas = (function () {
*/ */
/** /**
* One or more elements were changed * One or more elements were changed.
* @event module:svgcanvas.SvgCanvas#event:ext_elementChanged * @event module:svgcanvas.SvgCanvas#event:ext_elementChanged
* @type {PlainObject} * @type {PlainObject}
* @property {Element[]} elems Array of the affected elements * @property {Element[]} elems Array of the affected elements
*/ */
/** /**
* Invoked as soon as the locale is ready * Invoked as soon as the locale is ready.
* @event module:svgcanvas.SvgCanvas#event:ext_langReady * @event module:svgcanvas.SvgCanvas#event:ext_langReady
* @type {PlainObject} * @type {PlainObject}
* @property {string} lang The two-letter language code * @property {string} lang The two-letter language code
@ -19222,13 +19222,13 @@ var SvgCanvas = (function () {
*/ */
/** /**
* Called when new image is created * Called when new image is created.
* @event module:svgcanvas.SvgCanvas#event:ext_onNewDocument * @event module:svgcanvas.SvgCanvas#event:ext_onNewDocument
* @type {void} * @type {void}
*/ */
/** /**
* Called when sidepanel is resized or toggled * Called when sidepanel is resized or toggled.
* @event module:svgcanvas.SvgCanvas#event:ext_workareaResized * @event module:svgcanvas.SvgCanvas#event:ext_workareaResized
* @type {void} * @type {void}
*/ */
@ -19289,7 +19289,7 @@ var SvgCanvas = (function () {
currentMode = name; currentMode = name;
}; };
/** /**
* Group: Element Styling * Group: Element Styling.
*/ */
/** /**
@ -20162,7 +20162,7 @@ var SvgCanvas = (function () {
canvas.ungroupSelectedElement(); canvas.ungroupSelectedElement();
}; };
/** /**
* Group: Element manipulation * Group: Element manipulation.
*/ */
/** /**
@ -20511,7 +20511,7 @@ var SvgCanvas = (function () {
clipb.forEach(checkIDs); // Give extensions like the connector extension a chance to reflect new IDs and remove invalid elements clipb.forEach(checkIDs); // Give extensions like the connector extension a chance to reflect new IDs and remove invalid elements
/** /**
* Triggered when `pasteElements` is called from a paste action (context menu or key) * Triggered when `pasteElements` is called from a paste action (context menu or key).
* @event module:svgcanvas.SvgCanvas#event:ext_IDsUpdated * @event module:svgcanvas.SvgCanvas#event:ext_IDsUpdated
* @type {PlainObject} * @type {PlainObject}
* @property {module:svgcanvas.SVGAsJSON[]} elems * @property {module:svgcanvas.SVGAsJSON[]} elems
@ -21315,7 +21315,7 @@ var SvgCanvas = (function () {
this.moveSelectedElements(dx, dy); this.moveSelectedElements(dx, dy);
}; };
/** /**
* Group: Additional editor tools * Group: Additional editor tools.
*/ */
/** /**

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/* globals jQuery */ /* globals jQuery */
/** /**
* Browser detection * Browser detection.
* @module browser * @module browser
* @license MIT * @license MIT
* *

View File

@ -1,7 +1,8 @@
/* eslint-disable new-cap, class-methods-use-this */ /* eslint-disable new-cap, class-methods-use-this */
// Todo: Compare with latest canvg (add any improvements of ours) and add full JSDocs (denoting links to standard APIs and which are custom): https://github.com/canvg/canvg // Todo: Compare with latest canvg (add any improvements of ours) and add full JSDocs (denoting links to standard APIs and which are custom): https://github.com/canvg/canvg
/** /**
* canvg.js - Javascript SVG parser and renderer on Canvas * Javascript SVG parser and renderer on Canvas.
* @file canvg.js
* @module canvg * @module canvg
* @license MIT * @license MIT
* @author Gabe Lerner <gabelerner@gmail.com> * @author Gabe Lerner <gabelerner@gmail.com>

View File

@ -1,5 +1,5 @@
/** /**
* For parsing color values * For parsing color values.
* @module RGBColor * @module RGBColor
* @author Stoyan Stefanov <sstoo@gmail.com> * @author Stoyan Stefanov <sstoo@gmail.com>
* @see https://www.phpied.com/rgb-color-parser-in-javascript/ * @see https://www.phpied.com/rgb-color-parser-in-javascript/

View File

@ -1,6 +1,6 @@
/* globals jQuery */ /* globals jQuery */
/** /**
* Adds context menu functionality * Adds context menu functionality.
* @module contextmenu * @module contextmenu
* @license Apache-2.0 * @license Apache-2.0
* @author Adam Bender * @author Adam Bender

View File

@ -1,5 +1,5 @@
/** /**
* jQuery Context Menu Plugin * @file jQuery Context Menu Plugin
* Cory S.N. LaViska * Cory S.N. LaViska
* A Beautiful Site ({@link https://abeautifulsite.net/}) * A Beautiful Site ({@link https://abeautifulsite.net/})
* Modified by Alexis Deveria * Modified by Alexis Deveria

View File

@ -1,6 +1,6 @@
/* globals jQuery */ /* globals jQuery */
/** /**
* Manipulating coordinates * Manipulating coordinates.
* @module coords * @module coords
* @license MIT * @license MIT
*/ */

View File

@ -1,6 +1,6 @@
/* globals jQuery */ /* globals jQuery */
/** /**
* Tools for drawing * Tools for drawing.
* @module draw * @module draw
* @license MIT * @license MIT
* @copyright 2011 Jeff Schiller * @copyright 2011 Jeff Schiller
@ -697,7 +697,7 @@ export const randomizeIds = function (enableRandomization, currentDrawing) {
// Layer API Functions // Layer API Functions
/** /**
* Group: Layers * Group: Layers.
*/ */
/** /**
@ -738,7 +738,7 @@ export const randomizeIds = function (enableRandomization, currentDrawing) {
* @returns {void} * @returns {void}
*/ */
/** /**
* Run the callback function associated with the given event * Run the callback function associated with the given event.
* @function module:draw.DrawCanvasInit#call * @function module:draw.DrawCanvasInit#call
* @param {"changed"|"contextset"} ev - String with the event name * @param {"changed"|"contextset"} ev - String with the event name
* @param {module:svgcanvas.SvgCanvas#event:changed|module:svgcanvas.SvgCanvas#event:contextset} arg - Argument to pass through to the callback * @param {module:svgcanvas.SvgCanvas#event:changed|module:svgcanvas.SvgCanvas#event:contextset} arg - Argument to pass through to the callback

View File

@ -68,7 +68,7 @@ function exportPDF () {
svgCanvas.getUIStrings()(function (uiStrings) { svgCanvas.getUIStrings()(function (uiStrings) {
const str = uiStrings.notification.loadingImage; const str = uiStrings.notification.loadingImage;
/** /*
// If you want to handle the PDF blob yourself, do as follows // If you want to handle the PDF blob yourself, do as follows
svgCanvas.bind('exportedPDF', function (win, data) { svgCanvas.bind('exportedPDF', function (win, data) {
alert(data.output); alert(data.output);

View File

@ -1,5 +1,6 @@
/** /**
* Handles underlying communication between the embedding window and the editor frame * Handles underlying communication between the embedding window and the
* editor frame.
* @module EmbeddedSVGEdit * @module EmbeddedSVGEdit
*/ */

View File

@ -1,5 +1,5 @@
/** /**
* ext-arrows.js * @file ext-arrows.js
* *
* @license MIT * @license MIT
* *

View File

@ -1,5 +1,5 @@
/** /**
* ext-closepath.js * @file ext-closepath.js
* *
* @license MIT * @license MIT
* *

View File

@ -1,6 +1,6 @@
/* eslint-disable unicorn/no-fn-reference-in-iterator */ /* eslint-disable unicorn/no-fn-reference-in-iterator */
/** /**
* ext-connector.js * @file ext-connector.js
* *
* @license MIT * @license MIT
* *

View File

@ -1,5 +1,5 @@
/** /**
* ext-eyedropper.js * @file ext-eyedropper.js
* *
* @license MIT * @license MIT
* *

View File

@ -1,5 +1,5 @@
/** /**
* ext-foreignobject.js * @file ext-foreignobject.js
* *
* @license Apache-2.0 * @license Apache-2.0
* *

View File

@ -1,5 +1,5 @@
/** /**
* ext-grid.js * @file ext-grid.js
* *
* @license Apache-2.0 * @license Apache-2.0
* *

View File

@ -1,5 +1,5 @@
/** /**
* ext-helloworld.js * @file ext-helloworld.js
* *
* @license MIT * @license MIT
* *

View File

@ -1,5 +1,5 @@
/** /**
* ext-imagelib.js * @file ext-imagelib.js
* *
* @license MIT * @license MIT
* *

View File

@ -1,5 +1,5 @@
/** /**
* ext-markers.js * @file ext-markers.js
* *
* @license Apache-2.0 * @license Apache-2.0
* *

View File

@ -1,6 +1,6 @@
/* globals MathJax */ /* globals MathJax */
/** /**
* ext-mathjax.js * @file ext-mathjax.js
* *
* @license MIT * @license MIT
* *

View File

@ -1,5 +1,5 @@
/** /**
* ext-overview_window.js * @file ext-overview_window.js
* *
* @license MIT * @license MIT
* *

View File

@ -1,5 +1,5 @@
/** /**
* ext-panning.js * @file ext-panning.js
* *
* @license MIT * @license MIT
* *

View File

@ -1,5 +1,5 @@
/** /**
* ext-placemark.js * @file ext-placemark.js
* *
* *
* @copyright 2010 CloudCanvas, Inc. All rights reserved * @copyright 2010 CloudCanvas, Inc. All rights reserved

View File

@ -1,5 +1,5 @@
/** /**
* ext-polygon.js * @file ext-polygon.js
* *
* *
* @copyright 2010 CloudCanvas, Inc. All rights reserved * @copyright 2010 CloudCanvas, Inc. All rights reserved

View File

@ -1,5 +1,5 @@
/** /**
* ext-server_moinsave.js * @file ext-server_moinsave.js
* *
* @license (MIT OR GPL-2.0-or-later) * @license (MIT OR GPL-2.0-or-later)
* *

View File

@ -1,5 +1,5 @@
/** /**
* ext-server_opensave.js * @file ext-server_opensave.js
* *
* @license MIT * @license MIT
* *

View File

@ -1,5 +1,5 @@
/** /**
* ext-shapes.js * @file ext-shapes.js
* *
* @license MIT * @license MIT
* *

View File

@ -1,5 +1,5 @@
/** /**
* ext-star.js * @file ext-star.js
* *
* *
* @copyright 2010 CloudCanvas, Inc. All rights reserved * @copyright 2010 CloudCanvas, Inc. All rights reserved

View File

@ -1,5 +1,5 @@
/** /**
* ext-storage.js * @file ext-storage.js
* *
* This extension allows automatic saving of the SVG canvas contents upon * This extension allows automatic saving of the SVG canvas contents upon
* page unload (which can later be automatically retrieved upon future * page unload (which can later be automatically retrieved upon future

View File

@ -1,5 +1,6 @@
/** /**
* Depends on Firefox add-on and executables from {@link https://github.com/brettz9/webappfind} * Depends on Firefox add-on and executables from
* {@link https://github.com/brettz9/webappfind}.
* @author Brett Zamir * @author Brett Zamir
* @license MIT * @license MIT
* @todo See WebAppFind Readme for SVG-related todos * @todo See WebAppFind Readme for SVG-related todos

View File

@ -1,7 +1,7 @@
/** /**
* Should not be needed for same domain control (just call via child frame), * Should not be needed for same domain control (just call via child frame),
* but an API common for cross-domain and same domain use can be found * but an API common for cross-domain and same domain use can be found
* in embedapi.js with a demo at embedapi.html * in embedapi.js with a demo at embedapi.html.
*/ */
export default { export default {
name: 'xdomain-messaging', name: 'xdomain-messaging',

View File

@ -1,5 +1,5 @@
/** /**
* For command history tracking and undo functionality * For command history tracking and undo functionality.
* @module history * @module history
* @license MIT * @license MIT
* @copyright 2010 Jeff Schiller * @copyright 2010 Jeff Schiller
@ -9,7 +9,7 @@ import {getHref, setHref, getRotationAngle, isNullish} from './utilities.js';
import {removeElementFromListMap} from './svgtransformlist.js'; import {removeElementFromListMap} from './svgtransformlist.js';
/** /**
* Group: Undo/Redo history management * Group: Undo/Redo history management.
*/ */
export const HistoryEventTypes = { export const HistoryEventTypes = {
BEFORE_APPLY: 'before_apply', BEFORE_APPLY: 'before_apply',
@ -41,7 +41,7 @@ class Command {
* @interface module:history.HistoryCommand * @interface module:history.HistoryCommand
*/ */
/** /**
* Applies * Applies.
* *
* @function module:history.HistoryCommand#apply * @function module:history.HistoryCommand#apply
* @param {module:history.HistoryEventHandler} handler * @param {module:history.HistoryEventHandler} handler
@ -50,29 +50,29 @@ class Command {
*/ */
/** /**
* *
* Unapplies * Unapplies.
* @function module:history.HistoryCommand#unapply * @function module:history.HistoryCommand#unapply
* @param {module:history.HistoryEventHandler} handler * @param {module:history.HistoryEventHandler} handler
* @fires module:history~Command#event:history * @fires module:history~Command#event:history
* @returns {void|true} * @returns {void|true}
*/ */
/** /**
* Returns the elements * Returns the elements.
* @function module:history.HistoryCommand#elements * @function module:history.HistoryCommand#elements
* @returns {Element[]} * @returns {Element[]}
*/ */
/** /**
* Gets the text * Gets the text.
* @function module:history.HistoryCommand#getText * @function module:history.HistoryCommand#getText
* @returns {string} * @returns {string}
*/ */
/** /**
* Gives the type * Gives the type.
* @function module:history.HistoryCommand.type * @function module:history.HistoryCommand.type
* @returns {string} * @returns {string}
*/ */
/** /**
* Gives the type * Gives the type.
* @function module:history.HistoryCommand#type * @function module:history.HistoryCommand#type
* @returns {string} * @returns {string}
*/ */

View File

@ -1,5 +1,5 @@
/** /**
* HistoryRecordingService component of history * HistoryRecordingService component of history.
* @module history * @module history
* @license MIT * @license MIT
* @copyright 2016 Flint O'Brien * @copyright 2016 Flint O'Brien

View File

@ -1,5 +1,5 @@
/** /**
* jQuery module to work with SVG attributes * A jQuery module to work with SVG attributes.
* @module jQueryAttr * @module jQueryAttr
* @license MIT * @license MIT
*/ */

View File

@ -1,5 +1,5 @@
/** /**
* jGraduate 0.4 * @file jGraduate 0.4
* *
* jQuery Plugin for a gradient picker * jQuery Plugin for a gradient picker
* *
@ -86,13 +86,13 @@ export default function jQueryPluginJGraduate ($) {
*/ */
this.type = options.copy.type; this.type = options.copy.type;
/** /**
* Represents opacity (0-100) * Represents opacity (0-100).
* @name module:jGraduate~Paint#alpha * @name module:jGraduate~Paint#alpha
* @type {Float} * @type {Float}
*/ */
this.alpha = options.copy.alpha; this.alpha = options.copy.alpha;
/** /**
* Represents #RRGGBB hex of color * Represents #RRGGBB hex of color.
* @name module:jGraduate~Paint#solidColor * @name module:jGraduate~Paint#solidColor
* @type {string} * @type {string}
*/ */
@ -169,7 +169,7 @@ export default function jQueryPluginJGraduate ($) {
*/ */
$.fn.jGraduateDefaults = /** @lends external:jQuery.fn.jGraduateDefaults */ { $.fn.jGraduateDefaults = /** @lends external:jQuery.fn.jGraduateDefaults */ {
/** /**
* Creates an object with a 'none' color * Creates an object with a 'none' color.
* @type {external:jQuery.jGraduate.Paint} * @type {external:jQuery.jGraduate.Paint}
* @see module:jGraduate.Options * @see module:jGraduate.Options
*/ */

View File

@ -1,6 +1,6 @@
/* eslint-disable no-bitwise */ /* eslint-disable no-bitwise */
/** /**
* jPicker (Adapted from version 1.1.6) * @file jPicker (Adapted from version 1.1.6)
* *
* jQuery Plugin for Photoshop style color picker * jQuery Plugin for Photoshop style color picker
* *
@ -698,7 +698,7 @@ const jPicker = function ($) {
$.jPicker = /** @lends external:jQuery.jPicker */ { $.jPicker = /** @lends external:jQuery.jPicker */ {
/* eslint-enable jsdoc/require-property */ /* eslint-enable jsdoc/require-property */
/** /**
* Array holding references to each active instance of the jPicker control * Array holding references to each active instance of the jPicker control.
* @type {external:jQuery.fn.$.fn.jPicker[]} * @type {external:jQuery.fn.$.fn.jPicker[]}
*/ */
List: [], List: [],
@ -1006,7 +1006,7 @@ const jPicker = function ($) {
} }
}, },
/** /**
* color conversion methods - make public to give use to external scripts * Color conversion methods - make public to give use to external scripts.
* @namespace * @namespace
*/ */
ColorMethods: { ColorMethods: {
@ -1191,7 +1191,7 @@ const jPicker = function ($) {
*/ */
/** /**
* Will be bound to active {@link jQuery.jPicker.Color} * Will be bound to active {@link jQuery.jPicker.Color}.
* @callback module:jPicker.LiveCallback * @callback module:jPicker.LiveCallback
* @param {external:jQuery} ui * @param {external:jQuery} ui
* @param {Element} context * @param {Element} context
@ -2331,8 +2331,8 @@ const jPicker = function ($) {
* @property {string} localization.tooltips.hex.alpha * @property {string} localization.tooltips.hex.alpha
*/ */
/** /**
* jPicker defaults - you can change anything in this section (such as the * The jPicker defaults - you can change anything in this section (such as the
* clientPath to your images) without fear of breaking the program * clientPath to your images) without fear of breaking the program.
* @namespace {external:jQuery.fn.jPickerOptions} defaults * @namespace {external:jQuery.fn.jPickerOptions} defaults
* @memberof external:jQuery.fn.$.fn.jPicker * @memberof external:jQuery.fn.$.fn.jPicker
* @borrows external:jQuery.fn.jPickerOptions as external:jQuery.fn.jPicker.defaults * @borrows external:jQuery.fn.jPickerOptions as external:jQuery.fn.jPicker.defaults

View File

@ -1,6 +1,6 @@
/* globals jQuery */ /* globals jQuery */
/** /**
* Provides tools for the layer concept * Provides tools for the layer concept.
* @module layer * @module layer
* @license MIT * @license MIT
* *

View File

@ -1,7 +1,7 @@
/* eslint-disable unicorn/no-fn-reference-in-iterator */ /* eslint-disable unicorn/no-fn-reference-in-iterator */
/* globals jQuery */ /* globals jQuery */
/** /**
* Localizing script for SVG-edit UI * Localizing script for SVG-edit UI.
* @module locale * @module locale
* @license MIT * @license MIT
* *
@ -11,11 +11,12 @@
*/ */
/** /**
* Used, for example, in the ImageLibs extension, to present libraries (with name/URL/description) in order * Used, for example, in the ImageLibs extension, to present libraries
* (with name/URL/description) in order.
* @typedef {GenericArray<module:locale.LocaleStrings>} module:locale.LocaleArray * @typedef {GenericArray<module:locale.LocaleStrings>} module:locale.LocaleArray
*/ */
/** /**
* The string keys of the object are two-letter language codes * The string keys of the object are two-letter language codes.
* @tutorial LocaleDocs * @tutorial LocaleDocs
* @typedef {PlainObject<string, string|module:locale.LocaleStrings|module:locale.LocaleArray>} module:locale.LocaleStrings * @typedef {PlainObject<string, string|module:locale.LocaleStrings|module:locale.LocaleArray>} module:locale.LocaleStrings
*/ */
@ -91,7 +92,7 @@ export const setStrings = function (type, obj, ids) {
/** /**
* The "data" property is generally set to an an array of objects with * The "data" property is generally set to an an array of objects with
* "id" and "title" or "textContent" properties * "id" and "title" or "textContent" properties.
* @typedef {PlainObject} module:locale.AddLangExtensionLocaleData * @typedef {PlainObject} module:locale.AddLangExtensionLocaleData
* @property {module:locale.LocaleStrings[]} data See {@tutorial LocaleDocs} * @property {module:locale.LocaleStrings[]} data See {@tutorial LocaleDocs}
*/ */

View File

@ -1,5 +1,5 @@
/** /**
* Mathematical utilities * Mathematical utilities.
* @module math * @module math
* @license MIT * @license MIT
* *

View File

@ -1,11 +1,11 @@
/** /**
* Namespaces or tools therefor * Namespaces or tools therefor.
* @module namespaces * @module namespaces
* @license MIT * @license MIT
*/ */
/** /**
* Common namepaces constants in alpha order * Common namepaces constants in alpha order.
* @enum {string} * @enum {string}
* @type {PlainObject} * @type {PlainObject}
* @memberof module:namespaces * @memberof module:namespaces

View File

@ -1,6 +1,6 @@
/* globals jQuery */ /* globals jQuery */
/** /**
* Path functionality * Path functionality.
* @module path * @module path
* @license MIT * @license MIT
* *
@ -86,7 +86,7 @@ let editorContext_ = null;
*/ */
/** /**
* Object with the following keys/values * Object with the following keys/values.
* @typedef {PlainObject} module:path.SVGElementJSON * @typedef {PlainObject} module:path.SVGElementJSON
* @property {string} element - Tag name of the SVG element to create * @property {string} element - Tag name of the SVG element to create
* @property {PlainObject<string, string>} 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. * @property {PlainObject<string, string>} 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.
@ -111,7 +111,7 @@ let editorContext_ = null;
* @returns {void} * @returns {void}
*/ */
/** /**
* Note: This doesn't round to an integer necessarily * Note: This doesn't round to an integer necessarily.
* @function module:path.EditorContext#round * @function module:path.EditorContext#round
* @param {Float} val * @param {Float} val
* @returns {Float} Rounded value to nearest value based on `currentZoom` * @returns {Float} Rounded value to nearest value based on `currentZoom`
@ -193,17 +193,17 @@ let editorContext_ = null;
* @returns {Float} The current zoom level * @returns {Float} The current zoom level
*/ */
/** /**
* Returns the last created DOM element ID string * Returns the last created DOM element ID string.
* @function module:path.EditorContext#getId * @function module:path.EditorContext#getId
* @returns {string} * @returns {string}
*/ */
/** /**
* Creates and returns a unique ID string for a DOM element * Creates and returns a unique ID string for a DOM element.
* @function module:path.EditorContext#getNextId * @function module:path.EditorContext#getNextId
* @returns {string} * @returns {string}
*/ */
/** /**
* Gets the desired element from a mouse event * Gets the desired element from a mouse event.
* @function module:path.EditorContext#getMouseTarget * @function module:path.EditorContext#getMouseTarget
* @param {external:MouseEvent} evt - Event object from the mouse event * @param {external:MouseEvent} evt - Event object from the mouse event
* @returns {Element} DOM element we want * @returns {Element} DOM element we want
@ -1503,7 +1503,7 @@ export const reorientGrads = function (elem, m) {
}; };
/** /**
* This is how we map paths to our preferred relative segment types * This is how we map paths to our preferred relative segment types.
* @name module:path.pathMap * @name module:path.pathMap
* @type {GenericArray} * @type {GenericArray}
*/ */
@ -1699,8 +1699,8 @@ function pathDSegment (letter, points, morePoints, lastPoint) {
/* eslint-disable jsdoc/require-property */ /* eslint-disable jsdoc/require-property */
/** /**
* Group: Path edit functions * Group: Path edit functions.
* Functions relating to editing path elements * Functions relating to editing path elements.
* @namespace {PlainObject} pathActions * @namespace {PlainObject} pathActions
* @memberof module:path * @memberof module:path
*/ */
@ -2640,7 +2640,7 @@ export const pathActions = (function () {
}, },
// Can't seem to use `@borrows` here, so using `@see` // Can't seem to use `@borrows` here, so using `@see`
/** /**
* Smooth polyline into path * Smooth polyline into path.
* @function module:path.pathActions.smoothPolylineIntoPath * @function module:path.pathActions.smoothPolylineIntoPath
* @see module:path~smoothPolylineIntoPath * @see module:path~smoothPolylineIntoPath
*/ */
@ -2704,7 +2704,7 @@ export const pathActions = (function () {
}, },
// Can't seem to use `@borrows` here, so using `@see` // Can't seem to use `@borrows` here, so using `@see`
/** /**
* Convert a path to one with only absolute or relative values * Convert a path to one with only absolute or relative values.
* @function module:path.pathActions.convertPath * @function module:path.pathActions.convertPath
* @see module:path.convertPath * @see module:path.convertPath
*/ */

View File

@ -1,5 +1,5 @@
/** /**
* Tools for SVG sanitization * Tools for SVG sanitization.
* @module sanitize * @module sanitize
* @license MIT * @license MIT
* *
@ -15,7 +15,7 @@ const REVERSE_NS = getReverseNS();
// Todo: Split out into core attributes, presentation attributes, etc. so consistent // Todo: Split out into core attributes, presentation attributes, etc. so consistent
/** /**
* This defines which elements and attributes that we support (or at least * This defines which elements and attributes that we support (or at least
* don't remove) * don't remove).
* @type {PlainObject} * @type {PlainObject}
*/ */
const svgWhiteList_ = { const svgWhiteList_ = {

View File

@ -1,6 +1,6 @@
/* globals jQuery */ /* globals jQuery */
/** /**
* DOM element selection box tools * DOM element selection box tools.
* @module select * @module select
* @license MIT * @license MIT
* *

View File

@ -1,53 +1,55 @@
/** /**
* SpinButton control * SpinButton control.
* *
* Adds bells and whistles to any ordinary textbox to * Adds bells and whistles to any ordinary textbox to
* make it look and feel like a SpinButton Control. * make it look and feel like a SpinButton Control.
* *
* Supplies {@link external:jQuery.fn.SpinButton} (and also {@link external:jQuery.loadingStylesheets}) * Supplies {@link external:jQuery.fn.SpinButton} (and also {@link external:jQuery.loadingStylesheets}).
* *
* Originally written by George Adamson, Software Unity (george.jquery@softwareunity.com) August 2006. * Originally written by George Adamson, Software Unity (george.jquery@softwareunity.com) August 2006:
* - Added min/max options * - Added min/max options.
* - Added step size option * - Added step size option.
* - Added bigStep (page up/down) option * - Added bigStep (page up/down) option.
* *
* Modifications made by Mark Gibson, (mgibson@designlinks.net) September 2006: * Modifications made by Mark Gibson, (mgibson@designlinks.net) September 2006:
* - Converted to jQuery plugin * - Converted to jQuery plugin.
* - Allow limited or unlimited min/max values * - Allow limited or unlimited min/max values.
* - Allow custom class names, and add class to input element * - Allow custom class names, and add class to input element.
* - Removed global vars * - Removed global vars.
* - Reset (to original or through config) when invalid value entered * - Reset (to original or through config) when invalid value entered.
* - Repeat whilst holding mouse button down (with initial pause, like keyboard repeat) * - Repeat whilst holding mouse button down (with initial pause, like keyboard repeat).
* - Support mouse wheel in Firefox * - Support mouse wheel in Firefox.
* - Fix double click in IE * - Fix double click in IE.
* - Refactored some code and renamed some vars * - Refactored some code and renamed some vars.
* *
* Modifications by Jeff Schiller, June 2009: * Modifications by Jeff Schiller, June 2009:
* - provide callback function for when the value changes based on the following * - provide callback function for when the value changes based on the following
* {@link https://www.mail-archive.com/jquery-en@googlegroups.com/msg36070.html} * {@link https://www.mail-archive.com/jquery-en@googlegroups.com/msg36070.html}.
* *
* Modifications by Jeff Schiller, July 2009: * Modifications by Jeff Schiller, July 2009:
* - improve styling for widget in Opera * - improve styling for widget in Opera.
* - consistent key-repeat handling cross-browser * - consistent key-repeat handling cross-browser.
* *
* Modifications by Alexis Deveria, October 2009: * Modifications by Alexis Deveria, October 2009:
* - provide "stepfunc" callback option to allow custom function to run when changing a value * - provide "stepfunc" callback option to allow custom function to run when changing a value.
* - Made adjustValue(0) only run on certain keyup events, not all. * - Made adjustValue(0) only run on certain keyup events, not all.
* *
* Tested in IE6, Opera9, Firefox 1.5 * Tested in IE6, Opera9, Firefox 1.5.
* *
* | Version | Date | Author | Notes * | Version | Date | Author | Notes |
* |---------|------|--------|------| * |---------|------|--------|-------|
* | v1.0 | 11 Aug 2006 | George Adamson | First release * | v1.0 | 11 Aug 2006 | George Adamson | First release |
* | v1.1 | Aug 2006 | George Adamson | Minor enhancements * | v1.1 | Aug 2006 | George Adamson | Minor enhancements |
* | v1.2 | 27 Sep 2006 | Mark Gibson | Major enhancements * | v1.2 | 27 Sep 2006 | Mark Gibson | Major enhancements |
* | v1.3a | 28 Sep 2006 | George Adamson | Minor enhancements * | v1.3a | 28 Sep 2006 | George Adamson | Minor enhancements |
* | v1.4 | 18 Jun 2009 | Jeff Schiller | Added callback function * | v1.4 | 18 Jun 2009 | Jeff Schiller | Added callback function |
* | v1.5 | 06 Jul 2009 | Jeff Schiller | Fixes for Opera. * | v1.5 | 06 Jul 2009 | Jeff Schiller | Fixes for Opera. |
* | v1.6 | 13 Oct 2009 | Alexis Deveria | Added stepfunc function * | v1.6 | 13 Oct 2009 | Alexis Deveria | Added stepfunc function |
* | v1.7 | 21 Oct 2009 | Alexis Deveria | Minor fixes.<br />Fast-repeat for keys and live updating as you type. * | v1.7 | 21 Oct 2009 | Alexis Deveria | Minor fixes.<br />Fast-repeat for keys and live updating as you type. |
* | v1.8 | 12 Jan 2010 | Benjamin Thomas | Fixes for mouseout behavior.<br />Added smallStep * | v1.8 | 12 Jan 2010 | Benjamin Thomas | Fixes for mouseout behavior.<br />Added smallStep |
* | v1.9 | 20 May 2018 | Brett Zamir | Avoid SVGEdit dependency via `stateObj` config;<br />convert to ES6 module | * | v1.9 | 20 May 2018 | Brett Zamir | Avoid SVGEdit dependency via `stateObj` config;<br />convert to ES6 module |
* .
*
* @module jQuerySpinButton * @module jQuerySpinButton
* @example * @example
// Create group of settings to initialise spinbutton(s). (Optional) // Create group of settings to initialise spinbutton(s). (Optional)

View File

@ -31,7 +31,7 @@ import {
import loadStylesheets from './external/load-stylesheets/index-es.js'; import loadStylesheets from './external/load-stylesheets/index-es.js';
/** /**
* The main module for the visual SVG Editor * The main module for the visual SVG Editor.
* *
* @license MIT * @license MIT
* *
@ -102,7 +102,7 @@ const callbacks = [],
* @typedef {"s"|"m"|"l"|"xl"|Float} module:SVGEditor.IconSize * @typedef {"s"|"m"|"l"|"xl"|Float} module:SVGEditor.IconSize
*/ */
/** /**
* Preferences * Preferences.
* @interface module:SVGEditor.Prefs * @interface module:SVGEditor.Prefs
* @property {string} [lang="en"] Two-letter language code. The language must exist in the Editor Preferences language list. Defaults to "en" if `locale.js` detection does not detect another language. * @property {string} [lang="en"] Two-letter language code. The language must exist in the Editor Preferences language list. Defaults to "en" if `locale.js` detection does not detect another language.
* @property {module:SVGEditor.IconSize} [iconsize="s"|"m"] Size of the toolbar icons. Will default to 's' if the window height is smaller than the minimum height and 'm' otherwise. * @property {module:SVGEditor.IconSize} [iconsize="s"|"m"] Size of the toolbar icons. Will default to 's' if the window height is smaller than the minimum height and 'm' otherwise.
@ -122,12 +122,12 @@ const callbacks = [],
defaultPrefs = /** @lends module:SVGEditor~defaultPrefs */ { defaultPrefs = /** @lends module:SVGEditor~defaultPrefs */ {
// EDITOR OPTIONS (DIALOG) // EDITOR OPTIONS (DIALOG)
/** /**
* Default to "en" if locale.js detection does not detect another language * Default to "en" if locale.js detection does not detect another language.
*/ */
lang: '', lang: '',
/** /**
* Will default to 's' if the window height is smaller than the minimum height and * Will default to 's' if the window height is smaller than the minimum
* 'm' otherwise * height and 'm' otherwise.
*/ */
iconsize: '', iconsize: '',
bkgd_color: '#FFF', bkgd_color: '#FFF',
@ -286,7 +286,7 @@ const callbacks = [],
avoidClientSideOpen: false avoidClientSideOpen: false
}, },
/** /**
* LOCALE * LOCALE.
* @name module:SVGEditor.uiStrings * @name module:SVGEditor.uiStrings
* @type {PlainObject} * @type {PlainObject}
*/ */
@ -381,7 +381,7 @@ function getImportLocale ({defaultLang, defaultName}) {
} }
/** /**
* EXPORTS * EXPORTS.
*/ */
/** /**
@ -569,7 +569,7 @@ editor.setConfig = function (opts, cfgCfg) {
}; };
/** /**
* All methods are optional * All methods are optional.
* @interface module:SVGEditor.CustomHandler * @interface module:SVGEditor.CustomHandler
* @type {PlainObject} * @type {PlainObject}
*/ */
@ -586,7 +586,7 @@ editor.setConfig = function (opts, cfgCfg) {
* Its responsibilities are: * Its responsibilities are:
* - accept the string contents of the current document * - accept the string contents of the current document
* - invoke a file chooser dialog in 'save' mode * - invoke a file chooser dialog in 'save' mode
* - save the file to location chosen by the user * - save the file to location chosen by the user.
* @function module:SVGEditor.CustomHandler#save * @function module:SVGEditor.CustomHandler#save
* @param {external:Window} win * @param {external:Window} win
* @param {module:svgcanvas.SvgCanvas#event:saved} svgStr A string of the SVG * @param {module:svgcanvas.SvgCanvas#event:saved} svgStr A string of the SVG
@ -3939,7 +3939,7 @@ editor.init = function () {
// Made public for UI customization. // Made public for UI customization.
// TODO: Group UI functions into a public editor.ui interface. // TODO: Group UI functions into a public editor.ui interface.
/** /**
* See {@link http://api.jquery.com/bind/#bind-eventType-eventData-handler} * See {@link http://api.jquery.com/bind/#bind-eventType-eventData-handler}.
* @callback module:SVGEditor.DropDownCallback * @callback module:SVGEditor.DropDownCallback
* @param {external:jQuery.Event} ev See {@link http://api.jquery.com/Types/#Event} * @param {external:jQuery.Event} ev See {@link http://api.jquery.com/Types/#Event}
* @listens external:jQuery.Event * @listens external:jQuery.Event
@ -5554,7 +5554,7 @@ editor.init = function () {
]; ];
/* eslint-disable jsdoc/require-property */ /* eslint-disable jsdoc/require-property */
/** /**
* Associate all button actions as well as non-button keyboard shortcuts * Associate all button actions as well as non-button keyboard shortcuts.
* @namespace {PlainObject} module:SVGEditor~Actions * @namespace {PlainObject} module:SVGEditor~Actions
*/ */
const Actions = (function () { const Actions = (function () {

View File

@ -1,7 +1,7 @@
/* eslint-disable indent, unicorn/no-fn-reference-in-iterator */ /* eslint-disable indent, unicorn/no-fn-reference-in-iterator */
/* globals jQuery, jsPDF */ /* globals jQuery, jsPDF */
/** /**
* Numerous tools for working with the editor's "canvas" * Numerous tools for working with the editor's "canvas".
* @module svgcanvas * @module svgcanvas
* *
* @license MIT * @license MIT
@ -173,7 +173,7 @@ const svgroot = svgdoc.importNode(
container.append(svgroot); container.append(svgroot);
/** /**
* The actual element that represents the final output SVG element * The actual element that represents the final output SVG element.
* @name module:svgcanvas~svgcontent * @name module:svgcanvas~svgcontent
* @type {SVGSVGElement} * @type {SVGSVGElement}
*/ */
@ -220,7 +220,7 @@ canvas.setIdPrefix = function (p) {
}; };
/** /**
* Current draw.Drawing object * Current `draw.Drawing` object.
* @type {module:draw.Drawing} * @type {module:draw.Drawing}
* @name module:svgcanvas.SvgCanvas#current_drawing_ * @name module:svgcanvas.SvgCanvas#current_drawing_
*/ */
@ -236,7 +236,7 @@ const getCurrentDrawing = canvas.getCurrentDrawing = function () {
}; };
/** /**
* Float displaying the current zoom level (1 = 100%, .5 = 50%, etc) * Float displaying the current zoom level (1 = 100%, .5 = 50%, etc.).
* @type {Float} * @type {Float}
*/ */
let currentZoom = 1; let currentZoom = 1;
@ -373,8 +373,8 @@ canvas.transformListToTransform = transformListToTransform;
const getBaseUnit = () => { return curConfig.baseUnit; }; const getBaseUnit = () => { return curConfig.baseUnit; };
/** /**
* initialize from units.js. * Initialize from units.js.
* Send in an object implementing the ElementContainer interface (see units.js) * Send in an object implementing the ElementContainer interface (see units.js).
*/ */
unitsInit( unitsInit(
/** /**
@ -578,7 +578,7 @@ const round = this.round = function (val) {
selectInit( selectInit(
curConfig, curConfig,
/** /**
* Export to select.js * Export to select.js.
* @implements {module:select.SVGFactory} * @implements {module:select.SVGFactory}
*/ */
{ {
@ -589,7 +589,7 @@ selectInit(
} }
); );
/** /**
* This object manages selectors for us * This object manages selectors for us.
* @name module:svgcanvas.SvgCanvas#selectorManager * @name module:svgcanvas.SvgCanvas#selectorManager
* @type {module:select.SelectorManager} * @type {module:select.SelectorManager}
*/ */
@ -1307,23 +1307,23 @@ const events = {};
canvas.call = call; canvas.call = call;
/** /**
* Array of what was changed (elements, layers) * Array of what was changed (elements, layers).
* @event module:svgcanvas.SvgCanvas#event:changed * @event module:svgcanvas.SvgCanvas#event:changed
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* Array of selected elements * Array of selected elements.
* @event module:svgcanvas.SvgCanvas#event:selected * @event module:svgcanvas.SvgCanvas#event:selected
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* Array of selected elements * Array of selected elements.
* @event module:svgcanvas.SvgCanvas#event:transition * @event module:svgcanvas.SvgCanvas#event:transition
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* The Element is always `SVGGElement`? * The Element is always `SVGGElement`?
* If not `null`, will be the set current group element * If not `null`, will be the set current group element.
* @event module:svgcanvas.SvgCanvas#event:contextset * @event module:svgcanvas.SvgCanvas#event:contextset
* @type {null|Element} * @type {null|Element}
*/ */
@ -1376,7 +1376,7 @@ canvas.call = call;
* @type {module:svgcanvas.Message} * @type {module:svgcanvas.Message}
*/ */
/** /**
* SVG canvas converted to string * SVG canvas converted to string.
* @event module:svgcanvas.SvgCanvas#event:saved * @event module:svgcanvas.SvgCanvas#event:saved
* @type {string} * @type {string}
*/ */
@ -1414,7 +1414,7 @@ canvas.call = call;
/** /**
* The promise return, if present, resolves to `undefined` * The promise return, if present, resolves to `undefined`
* (`extension_added`, `exported`, `saved`) * (`extension_added`, `exported`, `saved`).
* @typedef {Promise<void>|void} module:svgcanvas.EventHandlerReturn * @typedef {Promise<void>|void} module:svgcanvas.EventHandlerReturn
*/ */
@ -1581,7 +1581,7 @@ const logMatrix = function (m) {
let rootSctm = null; let rootSctm = null;
/** /**
* Group: Selection * Group: Selection.
*/ */
// TODO: do we need to worry about selectedBBoxes here? // TODO: do we need to worry about selectedBBoxes here?
@ -2072,7 +2072,7 @@ const mouseDown = function (evt) {
} }
/** /**
* The main (left) mouse button is held down on the canvas area * The main (left) mouse button is held down on the canvas area.
* @event module:svgcanvas.SvgCanvas#event:ext_mouseDown * @event module:svgcanvas.SvgCanvas#event:ext_mouseDown
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -2524,7 +2524,7 @@ const mouseMove = function (evt) {
} }
/** /**
* The mouse has moved on the canvas area * The mouse has moved on the canvas area.
* @event module:svgcanvas.SvgCanvas#event:ext_mouseMove * @event module:svgcanvas.SvgCanvas#event:ext_mouseMove
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -2786,7 +2786,7 @@ const mouseUp = function (evt) {
} }
/** /**
* The main (left) mouse button is released (anywhere) * The main (left) mouse button is released (anywhere).
* @event module:svgcanvas.SvgCanvas#event:ext_mouseUp * @event module:svgcanvas.SvgCanvas#event:ext_mouseUp
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -3025,7 +3025,7 @@ $(container).bind(
/* eslint-disable jsdoc/require-property */ /* eslint-disable jsdoc/require-property */
/** /**
* Group: Text edit functions * Group: Text edit functions
* Functions relating to editing text elements * Functions relating to editing text elements.
* @namespace {PlainObject} textActions * @namespace {PlainObject} textActions
* @memberof module:svgcanvas.SvgCanvas# * @memberof module:svgcanvas.SvgCanvas#
*/ */
@ -3533,7 +3533,7 @@ return /** @lends module:svgcanvas.SvgCanvas#textActions */ {
}()); }());
/** /**
* Group: Serialization * Group: Serialization.
*/ */
/** /**
@ -3819,7 +3819,7 @@ this.svgToString = function (elem, indent) {
}; // end svgToString() }; // end svgToString()
/** /**
* Function to run when image data is found * Function to run when image data is found.
* @callback module:svgcanvas.ImageEmbeddedCallback * @callback module:svgcanvas.ImageEmbeddedCallback
* @param {string|false} result Data URL * @param {string|false} result Data URL
* @returns {void} * @returns {void}
@ -4824,7 +4824,7 @@ draw.init(
); );
/** /**
* Group: Document functions * Group: Document functions.
*/ */
/** /**
@ -5195,14 +5195,14 @@ this.setBBoxZoom = function (val, editorW, editorH) {
* @type {Float} * @type {Float}
*/ */
/** /**
* The bottom panel was updated * The bottom panel was updated.
* @event module:svgcanvas.SvgCanvas#event:ext_toolButtonStateUpdate * @event module:svgcanvas.SvgCanvas#event:ext_toolButtonStateUpdate
* @type {PlainObject} * @type {PlainObject}
* @property {boolean} nofill Indicates fill is disabled * @property {boolean} nofill Indicates fill is disabled
* @property {boolean} nostroke Indicates stroke is disabled * @property {boolean} nostroke Indicates stroke is disabled
*/ */
/** /**
* The element selection has changed (elements were added/removed from selection) * The element selection has changed (elements were added/removed from selection).
* @event module:svgcanvas.SvgCanvas#event:ext_selectedChanged * @event module:svgcanvas.SvgCanvas#event:ext_selectedChanged
* @type {PlainObject} * @type {PlainObject}
* @property {Element[]} elems Array of the newly selected elements * @property {Element[]} elems Array of the newly selected elements
@ -5217,13 +5217,13 @@ this.setBBoxZoom = function (val, editorW, editorH) {
* @property {Element[]} elems Array of transitioning elements * @property {Element[]} elems Array of transitioning elements
*/ */
/** /**
* One or more elements were changed * One or more elements were changed.
* @event module:svgcanvas.SvgCanvas#event:ext_elementChanged * @event module:svgcanvas.SvgCanvas#event:ext_elementChanged
* @type {PlainObject} * @type {PlainObject}
* @property {Element[]} elems Array of the affected elements * @property {Element[]} elems Array of the affected elements
*/ */
/** /**
* Invoked as soon as the locale is ready * Invoked as soon as the locale is ready.
* @event module:svgcanvas.SvgCanvas#event:ext_langReady * @event module:svgcanvas.SvgCanvas#event:ext_langReady
* @type {PlainObject} * @type {PlainObject}
* @property {string} lang The two-letter language code * @property {string} lang The two-letter language code
@ -5243,12 +5243,12 @@ this.setBBoxZoom = function (val, editorW, editorH) {
* @property {module:SVGEditor~ImportLocale} importLocale * @property {module:SVGEditor~ImportLocale} importLocale
*/ */
/** /**
* Called when new image is created * Called when new image is created.
* @event module:svgcanvas.SvgCanvas#event:ext_onNewDocument * @event module:svgcanvas.SvgCanvas#event:ext_onNewDocument
* @type {void} * @type {void}
*/ */
/** /**
* Called when sidepanel is resized or toggled * Called when sidepanel is resized or toggled.
* @event module:svgcanvas.SvgCanvas#event:ext_workareaResized * @event module:svgcanvas.SvgCanvas#event:ext_workareaResized
* @type {void} * @type {void}
*/ */
@ -5300,7 +5300,7 @@ this.setMode = function (name) {
}; };
/** /**
* Group: Element Styling * Group: Element Styling.
*/ */
/** /**
@ -6089,7 +6089,7 @@ this.removeHyperlink = function () {
}; };
/** /**
* Group: Element manipulation * Group: Element manipulation.
*/ */
/** /**
@ -6393,7 +6393,7 @@ this.pasteElements = function (type, x, y) {
// Give extensions like the connector extension a chance to reflect new IDs and remove invalid elements // Give extensions like the connector extension a chance to reflect new IDs and remove invalid elements
/** /**
* Triggered when `pasteElements` is called from a paste action (context menu or key) * Triggered when `pasteElements` is called from a paste action (context menu or key).
* @event module:svgcanvas.SvgCanvas#event:ext_IDsUpdated * @event module:svgcanvas.SvgCanvas#event:ext_IDsUpdated
* @type {PlainObject} * @type {PlainObject}
* @property {module:svgcanvas.SVGAsJSON[]} elems * @property {module:svgcanvas.SVGAsJSON[]} elems
@ -7090,7 +7090,7 @@ this.alignSelectedElements = function (type, relativeTo) {
}; };
/** /**
* Group: Additional editor tools * Group: Additional editor tools.
*/ */
/** /**

View File

@ -1,7 +1,7 @@
// Todo: Move to own module (and have it import a modular base64 encoder) // Todo: Move to own module (and have it import a modular base64 encoder)
import {encode64} from '../utilities.js'; import {encode64} from '../utilities.js';
/** /**
* SVG Icon Loader 2.0 * @file SVG Icon Loader 2.0
* *
* jQuery Plugin for loading SVG icons from a single file * jQuery Plugin for loading SVG icons from a single file
* *
@ -162,12 +162,12 @@ export default function jQueryPluginSVGIcons ($) {
/** /**
* Map of raster images with each key being the SVG icon ID * Map of raster images with each key being the SVG icon ID
* to replace, and the value the image file name * to replace, and the value the image file name.
* @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Fallback * @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Fallback
*/ */
/** /**
* Map of raster images with each key being the SVG icon ID * Map of raster images with each key being the SVG icon ID
* whose `alt` will be set, and the value being the `alt` text * whose `alt` will be set, and the value being the `alt` text.
* @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Alts * @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Alts
*/ */
/** /**

View File

@ -69,27 +69,27 @@ let listMap_ = {};
* @returns {SVGTransform} * @returns {SVGTransform}
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#getItem * @function module:SVGTransformList.SVGEditTransformList#getItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
* @returns {SVGTransform} * @returns {SVGTransform}
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#insertItemBefore * @function module:SVGTransformList.SVGEditTransformList#insertItemBefore
* @param {SVGTransform} newItem * @param {SVGTransform} newItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
* @returns {SVGTransform} * @returns {SVGTransform}
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#replaceItem * @function module:SVGTransformList.SVGEditTransformList#replaceItem
* @param {SVGTransform} newItem * @param {SVGTransform} newItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
* @returns {SVGTransform} * @returns {SVGTransform}
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#removeItem * @function module:SVGTransformList.SVGEditTransformList#removeItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
* @returns {SVGTransform} * @returns {SVGTransform}
@ -100,14 +100,14 @@ let listMap_ = {};
* @returns {SVGTransform} * @returns {SVGTransform}
*/ */
/** /**
* NOT IMPLEMENTED * NOT IMPLEMENTED.
* @ignore * @ignore
* @function module:SVGTransformList.SVGEditTransformList#createSVGTransformFromMatrix * @function module:SVGTransformList.SVGEditTransformList#createSVGTransformFromMatrix
* @param {SVGMatrix} matrix * @param {SVGMatrix} matrix
* @returns {SVGTransform} * @returns {SVGTransform}
*/ */
/** /**
* NOT IMPLEMENTED * NOT IMPLEMENTED.
* @ignore * @ignore
* @function module:SVGTransformList.SVGEditTransformList#consolidate * @function module:SVGTransformList.SVGEditTransformList#consolidate
* @returns {SVGTransform} * @returns {SVGTransform}

View File

@ -51,12 +51,12 @@
/** /**
* This should only be used for arrays known to be potentially arbitrary in form and * This should only be used for arrays known to be potentially arbitrary in form and
* representing arguments for passing around * representing arguments for passing around.
* @typedef {GenericArray} ArgumentsArray * @typedef {GenericArray} ArgumentsArray
*/ */
/** /**
* The `Any` type should only be used for items known to be wholly arbitrary * The `Any` type should only be used for items known to be wholly arbitrary.
*/ */
/** /**

View File

@ -1,5 +1,5 @@
/** /**
* Tools for working with units * Tools for working with units.
* @module units * @module units
* @license MIT * @license MIT
* *
@ -105,7 +105,7 @@ export const init = function (elementContainer) {
}; };
/** /**
* Group: Unit conversion functions * Group: Unit conversion functions.
*/ */
/** /**

View File

@ -1,6 +1,6 @@
/* globals jQuery */ /* globals jQuery */
/** /**
* Miscellaneous utilities * Miscellaneous utilities.
* @module utilities * @module utilities
* @license MIT * @license MIT
* *
@ -38,7 +38,7 @@ let domcontainer_ = null;
let svgroot_ = null; let svgroot_ = null;
/** /**
* Object with the following keys/values * Object with the following keys/values.
* @typedef {PlainObject} module:utilities.SVGElementJSON * @typedef {PlainObject} module:utilities.SVGElementJSON
* @property {string} element - Tag name of the SVG element to create * @property {string} element - Tag name of the SVG element to create
* @property {PlainObject<string, string>} 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. * @property {PlainObject<string, string>} 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.
@ -60,7 +60,7 @@ let svgroot_ = null;
/** /**
* Create a new SVG element based on the given object keys/values and add it * Create a new SVG element based on the given object keys/values and add it
* to the current layer. * to the current layer.
* The element will be run through `cleanupElement` before being returned * The element will be run through `cleanupElement` before being returned.
* @function module:utilities.EditorContext#addSVGElementFromJson * @function module:utilities.EditorContext#addSVGElementFromJson
* @param {module:utilities.SVGElementJSON} data * @param {module:utilities.SVGElementJSON} data
* @returns {Element} The new element * @returns {Element} The new element

View File

@ -269,13 +269,13 @@
document.addEventListener('touchcancel', touchHandler, true); document.addEventListener('touchcancel', touchHandler, true);
/** /**
* Namespaces or tools therefor * Namespaces or tools therefor.
* @module namespaces * @module namespaces
* @license MIT * @license MIT
*/ */
/** /**
* Common namepaces constants in alpha order * Common namepaces constants in alpha order.
* @enum {string} * @enum {string}
* @type {PlainObject} * @type {PlainObject}
* @memberof module:namespaces * @memberof module:namespaces
@ -2906,7 +2906,7 @@
}; };
/** /**
* jQuery module to work with SVG attributes * A jQuery module to work with SVG attributes.
* @module jQueryAttr * @module jQueryAttr
* @license MIT * @license MIT
*/ */
@ -3076,14 +3076,14 @@
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#getItem * @function module:SVGTransformList.SVGEditTransformList#getItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
* @returns {SVGTransform} * @returns {SVGTransform}
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#insertItemBefore * @function module:SVGTransformList.SVGEditTransformList#insertItemBefore
* @param {SVGTransform} newItem * @param {SVGTransform} newItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
@ -3091,7 +3091,7 @@
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#replaceItem * @function module:SVGTransformList.SVGEditTransformList#replaceItem
* @param {SVGTransform} newItem * @param {SVGTransform} newItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
@ -3099,7 +3099,7 @@
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#removeItem * @function module:SVGTransformList.SVGEditTransformList#removeItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
* @returns {SVGTransform} * @returns {SVGTransform}
@ -3112,7 +3112,7 @@
*/ */
/** /**
* NOT IMPLEMENTED * NOT IMPLEMENTED.
* @ignore * @ignore
* @function module:SVGTransformList.SVGEditTransformList#createSVGTransformFromMatrix * @function module:SVGTransformList.SVGEditTransformList#createSVGTransformFromMatrix
* @param {SVGMatrix} matrix * @param {SVGMatrix} matrix
@ -3120,7 +3120,7 @@
*/ */
/** /**
* NOT IMPLEMENTED * NOT IMPLEMENTED.
* @ignore * @ignore
* @function module:SVGTransformList.SVGEditTransformList#consolidate * @function module:SVGTransformList.SVGEditTransformList#consolidate
* @returns {SVGTransform} * @returns {SVGTransform}
@ -3472,7 +3472,7 @@
}; };
/** /**
* Tools for working with units * Tools for working with units.
* @module units * @module units
* @license MIT * @license MIT
* *
@ -3576,7 +3576,7 @@
}; };
}; };
/** /**
* Group: Unit conversion functions * Group: Unit conversion functions.
*/ */
/** /**
@ -3758,7 +3758,7 @@
}; };
/** /**
* Group: Undo/Redo history management * Group: Undo/Redo history management.
*/ */
var HistoryEventTypes = { var HistoryEventTypes = {
@ -3801,7 +3801,7 @@
*/ */
/** /**
* Applies * Applies.
* *
* @function module:history.HistoryCommand#apply * @function module:history.HistoryCommand#apply
* @param {module:history.HistoryEventHandler} handler * @param {module:history.HistoryEventHandler} handler
@ -3811,7 +3811,7 @@
/** /**
* *
* Unapplies * Unapplies.
* @function module:history.HistoryCommand#unapply * @function module:history.HistoryCommand#unapply
* @param {module:history.HistoryEventHandler} handler * @param {module:history.HistoryEventHandler} handler
* @fires module:history~Command#event:history * @fires module:history~Command#event:history
@ -3819,25 +3819,25 @@
*/ */
/** /**
* Returns the elements * Returns the elements.
* @function module:history.HistoryCommand#elements * @function module:history.HistoryCommand#elements
* @returns {Element[]} * @returns {Element[]}
*/ */
/** /**
* Gets the text * Gets the text.
* @function module:history.HistoryCommand#getText * @function module:history.HistoryCommand#getText
* @returns {string} * @returns {string}
*/ */
/** /**
* Gives the type * Gives the type.
* @function module:history.HistoryCommand.type * @function module:history.HistoryCommand.type
* @returns {string} * @returns {string}
*/ */
/** /**
* Gives the type * Gives the type.
* @function module:history.HistoryCommand#type * @function module:history.HistoryCommand#type
* @returns {string} * @returns {string}
*/ */
@ -4666,7 +4666,7 @@
}); });
/** /**
* Mathematical utilities * Mathematical utilities.
* @module math * @module math
* @license MIT * @license MIT
* *
@ -4962,7 +4962,7 @@
*/ */
/** /**
* Object with the following keys/values * Object with the following keys/values.
* @typedef {PlainObject} module:path.SVGElementJSON * @typedef {PlainObject} module:path.SVGElementJSON
* @property {string} element - Tag name of the SVG element to create * @property {string} element - Tag name of the SVG element to create
* @property {PlainObject<string, string>} 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. * @property {PlainObject<string, string>} 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.
@ -4991,7 +4991,7 @@
*/ */
/** /**
* Note: This doesn't round to an integer necessarily * Note: This doesn't round to an integer necessarily.
* @function module:path.EditorContext#round * @function module:path.EditorContext#round
* @param {Float} val * @param {Float} val
* @returns {Float} Rounded value to nearest value based on `currentZoom` * @returns {Float} Rounded value to nearest value based on `currentZoom`
@ -5089,19 +5089,19 @@
*/ */
/** /**
* Returns the last created DOM element ID string * Returns the last created DOM element ID string.
* @function module:path.EditorContext#getId * @function module:path.EditorContext#getId
* @returns {string} * @returns {string}
*/ */
/** /**
* Creates and returns a unique ID string for a DOM element * Creates and returns a unique ID string for a DOM element.
* @function module:path.EditorContext#getNextId * @function module:path.EditorContext#getNextId
* @returns {string} * @returns {string}
*/ */
/** /**
* Gets the desired element from a mouse event * Gets the desired element from a mouse event.
* @function module:path.EditorContext#getMouseTarget * @function module:path.EditorContext#getMouseTarget
* @param {external:MouseEvent} evt - Event object from the mouse event * @param {external:MouseEvent} evt - Event object from the mouse event
* @returns {Element} DOM element we want * @returns {Element} DOM element we want
@ -6552,7 +6552,7 @@
} }
}; };
/** /**
* This is how we map paths to our preferred relative segment types * This is how we map paths to our preferred relative segment types.
* @name module:path.pathMap * @name module:path.pathMap
* @type {GenericArray} * @type {GenericArray}
*/ */
@ -6808,8 +6808,8 @@
/* eslint-disable jsdoc/require-property */ /* eslint-disable jsdoc/require-property */
/** /**
* Group: Path edit functions * Group: Path edit functions.
* Functions relating to editing path elements * Functions relating to editing path elements.
* @namespace {PlainObject} pathActions * @namespace {PlainObject} pathActions
* @memberof module:path * @memberof module:path
*/ */
@ -7796,7 +7796,7 @@
// Can't seem to use `@borrows` here, so using `@see` // Can't seem to use `@borrows` here, so using `@see`
/** /**
* Smooth polyline into path * Smooth polyline into path.
* @function module:path.pathActions.smoothPolylineIntoPath * @function module:path.pathActions.smoothPolylineIntoPath
* @see module:path~smoothPolylineIntoPath * @see module:path~smoothPolylineIntoPath
*/ */
@ -7874,7 +7874,7 @@
// Can't seem to use `@borrows` here, so using `@see` // Can't seem to use `@borrows` here, so using `@see`
/** /**
* Convert a path to one with only absolute or relative values * Convert a path to one with only absolute or relative values.
* @function module:path.pathActions.convertPath * @function module:path.pathActions.convertPath
* @see module:path.convertPath * @see module:path.convertPath
*/ */
@ -7895,7 +7895,7 @@
var domcontainer_ = null; var domcontainer_ = null;
var svgroot_ = null; var svgroot_ = null;
/** /**
* Object with the following keys/values * Object with the following keys/values.
* @typedef {PlainObject} module:utilities.SVGElementJSON * @typedef {PlainObject} module:utilities.SVGElementJSON
* @property {string} element - Tag name of the SVG element to create * @property {string} element - Tag name of the SVG element to create
* @property {PlainObject<string, string>} 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. * @property {PlainObject<string, string>} 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.
@ -7919,7 +7919,7 @@
/** /**
* Create a new SVG element based on the given object keys/values and add it * Create a new SVG element based on the given object keys/values and add it
* to the current layer. * to the current layer.
* The element will be run through `cleanupElement` before being returned * The element will be run through `cleanupElement` before being returned.
* @function module:utilities.EditorContext#addSVGElementFromJson * @function module:utilities.EditorContext#addSVGElementFromJson
* @param {module:utilities.SVGElementJSON} data * @param {module:utilities.SVGElementJSON} data
* @returns {Element} The new element * @returns {Element} The new element
@ -9316,7 +9316,7 @@
/* globals jQuery */ /* globals jQuery */
/** /**
* Adds context menu functionality * Adds context menu functionality.
* @module contextmenu * @module contextmenu
* @license Apache-2.0 * @license Apache-2.0
* @author Adam Bender * @author Adam Bender
@ -11074,7 +11074,7 @@
}; // Layer API Functions }; // Layer API Functions
/** /**
* Group: Layers * Group: Layers.
*/ */
/** /**
@ -11122,7 +11122,7 @@
*/ */
/** /**
* Run the callback function associated with the given event * Run the callback function associated with the given event.
* @function module:draw.DrawCanvasInit#call * @function module:draw.DrawCanvasInit#call
* @param {"changed"|"contextset"} ev - String with the event name * @param {"changed"|"contextset"} ev - String with the event name
* @param {module:svgcanvas.SvgCanvas#event:changed|module:svgcanvas.SvgCanvas#event:contextset} arg - Argument to pass through to the callback * @param {module:svgcanvas.SvgCanvas#event:changed|module:svgcanvas.SvgCanvas#event:contextset} arg - Argument to pass through to the callback
@ -11446,7 +11446,7 @@
/** /**
* This defines which elements and attributes that we support (or at least * This defines which elements and attributes that we support (or at least
* don't remove) * don't remove).
* @type {PlainObject} * @type {PlainObject}
*/ */
@ -13657,7 +13657,7 @@
var svgroot = svgdoc.importNode(text2xml('<svg id="svgroot" xmlns="' + NS.SVG + '" xlinkns="' + NS.XLINK + '" ' + 'width="' + dimensions[0] + '" height="' + dimensions[1] + '" x="' + dimensions[0] + '" y="' + dimensions[1] + '" overflow="visible">' + '<defs>' + '<filter id="canvashadow" filterUnits="objectBoundingBox">' + '<feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>' + '<feOffset in="blur" dx="5" dy="5" result="offsetBlur"/>' + '<feMerge>' + '<feMergeNode in="offsetBlur"/>' + '<feMergeNode in="SourceGraphic"/>' + '</feMerge>' + '</filter>' + '</defs>' + '</svg>').documentElement, true); var svgroot = svgdoc.importNode(text2xml('<svg id="svgroot" xmlns="' + NS.SVG + '" xlinkns="' + NS.XLINK + '" ' + 'width="' + dimensions[0] + '" height="' + dimensions[1] + '" x="' + dimensions[0] + '" y="' + dimensions[1] + '" overflow="visible">' + '<defs>' + '<filter id="canvashadow" filterUnits="objectBoundingBox">' + '<feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>' + '<feOffset in="blur" dx="5" dy="5" result="offsetBlur"/>' + '<feMerge>' + '<feMergeNode in="offsetBlur"/>' + '<feMergeNode in="SourceGraphic"/>' + '</feMerge>' + '</filter>' + '</defs>' + '</svg>').documentElement, true);
container.append(svgroot); container.append(svgroot);
/** /**
* The actual element that represents the final output SVG element * The actual element that represents the final output SVG element.
* @name module:svgcanvas~svgcontent * @name module:svgcanvas~svgcontent
* @type {SVGSVGElement} * @type {SVGSVGElement}
*/ */
@ -13702,7 +13702,7 @@
idprefix = p; idprefix = p;
}; };
/** /**
* Current draw.Drawing object * Current `draw.Drawing` object.
* @type {module:draw.Drawing} * @type {module:draw.Drawing}
* @name module:svgcanvas.SvgCanvas#current_drawing_ * @name module:svgcanvas.SvgCanvas#current_drawing_
*/ */
@ -13719,7 +13719,7 @@
return canvas.current_drawing_; return canvas.current_drawing_;
}; };
/** /**
* Float displaying the current zoom level (1 = 100%, .5 = 50%, etc) * Float displaying the current zoom level (1 = 100%, .5 = 50%, etc.).
* @type {Float} * @type {Float}
*/ */
@ -13855,8 +13855,8 @@
return curConfig.baseUnit; return curConfig.baseUnit;
}; };
/** /**
* initialize from units.js. * Initialize from units.js.
* Send in an object implementing the ElementContainer interface (see units.js) * Send in an object implementing the ElementContainer interface (see units.js).
*/ */
@ -14088,7 +14088,7 @@
init$6(curConfig, init$6(curConfig,
/** /**
* Export to select.js * Export to select.js.
* @implements {module:select.SVGFactory} * @implements {module:select.SVGFactory}
*/ */
{ {
@ -14104,7 +14104,7 @@
getCurrentZoom: getCurrentZoom getCurrentZoom: getCurrentZoom
}); });
/** /**
* This object manages selectors for us * This object manages selectors for us.
* @name module:svgcanvas.SvgCanvas#selectorManager * @name module:svgcanvas.SvgCanvas#selectorManager
* @type {module:select.SelectorManager} * @type {module:select.SelectorManager}
*/ */
@ -14921,26 +14921,26 @@
var events = {}; var events = {};
canvas.call = call; canvas.call = call;
/** /**
* Array of what was changed (elements, layers) * Array of what was changed (elements, layers).
* @event module:svgcanvas.SvgCanvas#event:changed * @event module:svgcanvas.SvgCanvas#event:changed
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* Array of selected elements * Array of selected elements.
* @event module:svgcanvas.SvgCanvas#event:selected * @event module:svgcanvas.SvgCanvas#event:selected
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* Array of selected elements * Array of selected elements.
* @event module:svgcanvas.SvgCanvas#event:transition * @event module:svgcanvas.SvgCanvas#event:transition
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* The Element is always `SVGGElement`? * The Element is always `SVGGElement`?
* If not `null`, will be the set current group element * If not `null`, will be the set current group element.
* @event module:svgcanvas.SvgCanvas#event:contextset * @event module:svgcanvas.SvgCanvas#event:contextset
* @type {null|Element} * @type {null|Element}
*/ */
@ -15001,7 +15001,7 @@
*/ */
/** /**
* SVG canvas converted to string * SVG canvas converted to string.
* @event module:svgcanvas.SvgCanvas#event:saved * @event module:svgcanvas.SvgCanvas#event:saved
* @type {string} * @type {string}
*/ */
@ -15045,7 +15045,7 @@
/** /**
* The promise return, if present, resolves to `undefined` * The promise return, if present, resolves to `undefined`
* (`extension_added`, `exported`, `saved`) * (`extension_added`, `exported`, `saved`).
* @typedef {Promise<void>|void} module:svgcanvas.EventHandlerReturn * @typedef {Promise<void>|void} module:svgcanvas.EventHandlerReturn
*/ */
@ -15224,7 +15224,7 @@
var rootSctm = null; var rootSctm = null;
/** /**
* Group: Selection * Group: Selection.
*/ */
// TODO: do we need to worry about selectedBBoxes here? // TODO: do we need to worry about selectedBBoxes here?
@ -15791,7 +15791,7 @@
break; break;
} }
/** /**
* The main (left) mouse button is held down on the canvas area * The main (left) mouse button is held down on the canvas area.
* @event module:svgcanvas.SvgCanvas#event:ext_mouseDown * @event module:svgcanvas.SvgCanvas#event:ext_mouseDown
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -16334,7 +16334,7 @@
} }
} }
/** /**
* The mouse has moved on the canvas area * The mouse has moved on the canvas area.
* @event module:svgcanvas.SvgCanvas#event:ext_mouseMove * @event module:svgcanvas.SvgCanvas#event:ext_mouseMove
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -16651,7 +16651,7 @@
} }
} }
/** /**
* The main (left) mouse button is released (anywhere) * The main (left) mouse button is released (anywhere).
* @event module:svgcanvas.SvgCanvas#event:ext_mouseUp * @event module:svgcanvas.SvgCanvas#event:ext_mouseUp
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -16884,7 +16884,7 @@
/** /**
* Group: Text edit functions * Group: Text edit functions
* Functions relating to editing text elements * Functions relating to editing text elements.
* @namespace {PlainObject} textActions * @namespace {PlainObject} textActions
* @memberof module:svgcanvas.SvgCanvas# * @memberof module:svgcanvas.SvgCanvas#
*/ */
@ -17409,7 +17409,7 @@
); );
}(); }();
/** /**
* Group: Serialization * Group: Serialization.
*/ */
/** /**
@ -17752,7 +17752,7 @@
}; // end svgToString() }; // end svgToString()
/** /**
* Function to run when image data is found * Function to run when image data is found.
* @callback module:svgcanvas.ImageEmbeddedCallback * @callback module:svgcanvas.ImageEmbeddedCallback
* @param {string|false} result Data URL * @param {string|false} result Data URL
* @returns {void} * @returns {void}
@ -18925,7 +18925,7 @@
} }
}); });
/** /**
* Group: Document functions * Group: Document functions.
*/ */
/** /**
@ -19392,7 +19392,7 @@
*/ */
/** /**
* The bottom panel was updated * The bottom panel was updated.
* @event module:svgcanvas.SvgCanvas#event:ext_toolButtonStateUpdate * @event module:svgcanvas.SvgCanvas#event:ext_toolButtonStateUpdate
* @type {PlainObject} * @type {PlainObject}
* @property {boolean} nofill Indicates fill is disabled * @property {boolean} nofill Indicates fill is disabled
@ -19400,7 +19400,7 @@
*/ */
/** /**
* The element selection has changed (elements were added/removed from selection) * The element selection has changed (elements were added/removed from selection).
* @event module:svgcanvas.SvgCanvas#event:ext_selectedChanged * @event module:svgcanvas.SvgCanvas#event:ext_selectedChanged
* @type {PlainObject} * @type {PlainObject}
* @property {Element[]} elems Array of the newly selected elements * @property {Element[]} elems Array of the newly selected elements
@ -19417,14 +19417,14 @@
*/ */
/** /**
* One or more elements were changed * One or more elements were changed.
* @event module:svgcanvas.SvgCanvas#event:ext_elementChanged * @event module:svgcanvas.SvgCanvas#event:ext_elementChanged
* @type {PlainObject} * @type {PlainObject}
* @property {Element[]} elems Array of the affected elements * @property {Element[]} elems Array of the affected elements
*/ */
/** /**
* Invoked as soon as the locale is ready * Invoked as soon as the locale is ready.
* @event module:svgcanvas.SvgCanvas#event:ext_langReady * @event module:svgcanvas.SvgCanvas#event:ext_langReady
* @type {PlainObject} * @type {PlainObject}
* @property {string} lang The two-letter language code * @property {string} lang The two-letter language code
@ -19447,13 +19447,13 @@
*/ */
/** /**
* Called when new image is created * Called when new image is created.
* @event module:svgcanvas.SvgCanvas#event:ext_onNewDocument * @event module:svgcanvas.SvgCanvas#event:ext_onNewDocument
* @type {void} * @type {void}
*/ */
/** /**
* Called when sidepanel is resized or toggled * Called when sidepanel is resized or toggled.
* @event module:svgcanvas.SvgCanvas#event:ext_workareaResized * @event module:svgcanvas.SvgCanvas#event:ext_workareaResized
* @type {void} * @type {void}
*/ */
@ -19514,7 +19514,7 @@
currentMode = name; currentMode = name;
}; };
/** /**
* Group: Element Styling * Group: Element Styling.
*/ */
/** /**
@ -20387,7 +20387,7 @@
canvas.ungroupSelectedElement(); canvas.ungroupSelectedElement();
}; };
/** /**
* Group: Element manipulation * Group: Element manipulation.
*/ */
/** /**
@ -20736,7 +20736,7 @@
clipb.forEach(checkIDs); // Give extensions like the connector extension a chance to reflect new IDs and remove invalid elements clipb.forEach(checkIDs); // Give extensions like the connector extension a chance to reflect new IDs and remove invalid elements
/** /**
* Triggered when `pasteElements` is called from a paste action (context menu or key) * Triggered when `pasteElements` is called from a paste action (context menu or key).
* @event module:svgcanvas.SvgCanvas#event:ext_IDsUpdated * @event module:svgcanvas.SvgCanvas#event:ext_IDsUpdated
* @type {PlainObject} * @type {PlainObject}
* @property {module:svgcanvas.SVGAsJSON[]} elems * @property {module:svgcanvas.SVGAsJSON[]} elems
@ -21540,7 +21540,7 @@
this.moveSelectedElements(dx, dy); this.moveSelectedElements(dx, dy);
}; };
/** /**
* Group: Additional editor tools * Group: Additional editor tools.
*/ */
/** /**
@ -22317,7 +22317,7 @@
// Todo: Move to own module (and have it import a modular base64 encoder) // Todo: Move to own module (and have it import a modular base64 encoder)
/** /**
* SVG Icon Loader 2.0 * @file SVG Icon Loader 2.0
* *
* jQuery Plugin for loading SVG icons from a single file * jQuery Plugin for loading SVG icons from a single file
* *
@ -22478,13 +22478,13 @@
var svgIcons = {}; var svgIcons = {};
/** /**
* Map of raster images with each key being the SVG icon ID * Map of raster images with each key being the SVG icon ID
* to replace, and the value the image file name * to replace, and the value the image file name.
* @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Fallback * @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Fallback
*/ */
/** /**
* Map of raster images with each key being the SVG icon ID * Map of raster images with each key being the SVG icon ID
* whose `alt` will be set, and the value being the `alt` text * whose `alt` will be set, and the value being the `alt` text.
* @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Alts * @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Alts
*/ */
@ -22899,7 +22899,7 @@
} }
/** /**
* jGraduate 0.4 * @file jGraduate 0.4
* *
* jQuery Plugin for a gradient picker * jQuery Plugin for a gradient picker
* *
@ -22998,14 +22998,14 @@
*/ */
this.type = options.copy.type; this.type = options.copy.type;
/** /**
* Represents opacity (0-100) * Represents opacity (0-100).
* @name module:jGraduate~Paint#alpha * @name module:jGraduate~Paint#alpha
* @type {Float} * @type {Float}
*/ */
this.alpha = options.copy.alpha; this.alpha = options.copy.alpha;
/** /**
* Represents #RRGGBB hex of color * Represents #RRGGBB hex of color.
* @name module:jGraduate~Paint#solidColor * @name module:jGraduate~Paint#solidColor
* @type {string} * @type {string}
*/ */
@ -23091,7 +23091,7 @@
/** @lends external:jQuery.fn.jGraduateDefaults */ /** @lends external:jQuery.fn.jGraduateDefaults */
{ {
/** /**
* Creates an object with a 'none' color * Creates an object with a 'none' color.
* @type {external:jQuery.jGraduate.Paint} * @type {external:jQuery.jGraduate.Paint}
* @see module:jGraduate.Options * @see module:jGraduate.Options
*/ */
@ -24190,55 +24190,57 @@
} }
/** /**
* SpinButton control * SpinButton control.
* *
* Adds bells and whistles to any ordinary textbox to * Adds bells and whistles to any ordinary textbox to
* make it look and feel like a SpinButton Control. * make it look and feel like a SpinButton Control.
* *
* Supplies {@link external:jQuery.fn.SpinButton} (and also {@link external:jQuery.loadingStylesheets}) * Supplies {@link external:jQuery.fn.SpinButton} (and also {@link external:jQuery.loadingStylesheets}).
* *
* Originally written by George Adamson, Software Unity (george.jquery@softwareunity.com) August 2006. * Originally written by George Adamson, Software Unity (george.jquery@softwareunity.com) August 2006:
* - Added min/max options * - Added min/max options.
* - Added step size option * - Added step size option.
* - Added bigStep (page up/down) option * - Added bigStep (page up/down) option.
* *
* Modifications made by Mark Gibson, (mgibson@designlinks.net) September 2006: * Modifications made by Mark Gibson, (mgibson@designlinks.net) September 2006:
* - Converted to jQuery plugin * - Converted to jQuery plugin.
* - Allow limited or unlimited min/max values * - Allow limited or unlimited min/max values.
* - Allow custom class names, and add class to input element * - Allow custom class names, and add class to input element.
* - Removed global vars * - Removed global vars.
* - Reset (to original or through config) when invalid value entered * - Reset (to original or through config) when invalid value entered.
* - Repeat whilst holding mouse button down (with initial pause, like keyboard repeat) * - Repeat whilst holding mouse button down (with initial pause, like keyboard repeat).
* - Support mouse wheel in Firefox * - Support mouse wheel in Firefox.
* - Fix double click in IE * - Fix double click in IE.
* - Refactored some code and renamed some vars * - Refactored some code and renamed some vars.
* *
* Modifications by Jeff Schiller, June 2009: * Modifications by Jeff Schiller, June 2009:
* - provide callback function for when the value changes based on the following * - provide callback function for when the value changes based on the following
* {@link https://www.mail-archive.com/jquery-en@googlegroups.com/msg36070.html} * {@link https://www.mail-archive.com/jquery-en@googlegroups.com/msg36070.html}.
* *
* Modifications by Jeff Schiller, July 2009: * Modifications by Jeff Schiller, July 2009:
* - improve styling for widget in Opera * - improve styling for widget in Opera.
* - consistent key-repeat handling cross-browser * - consistent key-repeat handling cross-browser.
* *
* Modifications by Alexis Deveria, October 2009: * Modifications by Alexis Deveria, October 2009:
* - provide "stepfunc" callback option to allow custom function to run when changing a value * - provide "stepfunc" callback option to allow custom function to run when changing a value.
* - Made adjustValue(0) only run on certain keyup events, not all. * - Made adjustValue(0) only run on certain keyup events, not all.
* *
* Tested in IE6, Opera9, Firefox 1.5 * Tested in IE6, Opera9, Firefox 1.5.
* *
* | Version | Date | Author | Notes * | Version | Date | Author | Notes |
* |---------|------|--------|------| * |---------|------|--------|-------|
* | v1.0 | 11 Aug 2006 | George Adamson | First release * | v1.0 | 11 Aug 2006 | George Adamson | First release |
* | v1.1 | Aug 2006 | George Adamson | Minor enhancements * | v1.1 | Aug 2006 | George Adamson | Minor enhancements |
* | v1.2 | 27 Sep 2006 | Mark Gibson | Major enhancements * | v1.2 | 27 Sep 2006 | Mark Gibson | Major enhancements |
* | v1.3a | 28 Sep 2006 | George Adamson | Minor enhancements * | v1.3a | 28 Sep 2006 | George Adamson | Minor enhancements |
* | v1.4 | 18 Jun 2009 | Jeff Schiller | Added callback function * | v1.4 | 18 Jun 2009 | Jeff Schiller | Added callback function |
* | v1.5 | 06 Jul 2009 | Jeff Schiller | Fixes for Opera. * | v1.5 | 06 Jul 2009 | Jeff Schiller | Fixes for Opera. |
* | v1.6 | 13 Oct 2009 | Alexis Deveria | Added stepfunc function * | v1.6 | 13 Oct 2009 | Alexis Deveria | Added stepfunc function |
* | v1.7 | 21 Oct 2009 | Alexis Deveria | Minor fixes.<br />Fast-repeat for keys and live updating as you type. * | v1.7 | 21 Oct 2009 | Alexis Deveria | Minor fixes.<br />Fast-repeat for keys and live updating as you type. |
* | v1.8 | 12 Jan 2010 | Benjamin Thomas | Fixes for mouseout behavior.<br />Added smallStep * | v1.8 | 12 Jan 2010 | Benjamin Thomas | Fixes for mouseout behavior.<br />Added smallStep |
* | v1.9 | 20 May 2018 | Brett Zamir | Avoid SVGEdit dependency via `stateObj` config;<br />convert to ES6 module | * | v1.9 | 20 May 2018 | Brett Zamir | Avoid SVGEdit dependency via `stateObj` config;<br />convert to ES6 module |
* .
*
* @module jQuerySpinButton * @module jQuerySpinButton
* @example * @example
// Create group of settings to initialise spinbutton(s). (Optional) // Create group of settings to initialise spinbutton(s). (Optional)
@ -24560,7 +24562,7 @@
} }
/** /**
* jQuery Context Menu Plugin * @file jQuery Context Menu Plugin
* Cory S.N. LaViska * Cory S.N. LaViska
* A Beautiful Site ({@link https://abeautifulsite.net/}) * A Beautiful Site ({@link https://abeautifulsite.net/})
* Modified by Alexis Deveria * Modified by Alexis Deveria
@ -24892,7 +24894,7 @@
/* eslint-disable no-bitwise */ /* eslint-disable no-bitwise */
/** /**
* jPicker (Adapted from version 1.1.6) * @file jPicker (Adapted from version 1.1.6)
* *
* jQuery Plugin for Photoshop style color picker * jQuery Plugin for Photoshop style color picker
* *
@ -25754,7 +25756,7 @@
/* eslint-enable jsdoc/require-property */ /* eslint-enable jsdoc/require-property */
/** /**
* Array holding references to each active instance of the jPicker control * Array holding references to each active instance of the jPicker control.
* @type {external:jQuery.fn.$.fn.jPicker[]} * @type {external:jQuery.fn.$.fn.jPicker[]}
*/ */
List: [], List: [],
@ -26148,7 +26150,7 @@
}, },
/** /**
* color conversion methods - make public to give use to external scripts * Color conversion methods - make public to give use to external scripts.
* @namespace * @namespace
*/ */
ColorMethods: { ColorMethods: {
@ -26383,7 +26385,7 @@
*/ */
/** /**
* Will be bound to active {@link jQuery.jPicker.Color} * Will be bound to active {@link jQuery.jPicker.Color}.
* @callback module:jPicker.LiveCallback * @callback module:jPicker.LiveCallback
* @param {external:jQuery} ui * @param {external:jQuery} ui
* @param {Element} context * @param {Element} context
@ -27822,8 +27824,8 @@
*/ */
/** /**
* jPicker defaults - you can change anything in this section (such as the * The jPicker defaults - you can change anything in this section (such as the
* clientPath to your images) without fear of breaking the program * clientPath to your images) without fear of breaking the program.
* @namespace {external:jQuery.fn.jPickerOptions} defaults * @namespace {external:jQuery.fn.jPickerOptions} defaults
* @memberof external:jQuery.fn.$.fn.jPicker * @memberof external:jQuery.fn.$.fn.jPicker
* @borrows external:jQuery.fn.jPickerOptions as external:jQuery.fn.jPicker.defaults * @borrows external:jQuery.fn.jPickerOptions as external:jQuery.fn.jPicker.defaults
@ -28297,7 +28299,7 @@
}; };
/** /**
* The "data" property is generally set to an an array of objects with * The "data" property is generally set to an an array of objects with
* "id" and "title" or "textContent" properties * "id" and "title" or "textContent" properties.
* @typedef {PlainObject} module:locale.AddLangExtensionLocaleData * @typedef {PlainObject} module:locale.AddLangExtensionLocaleData
* @property {module:locale.LocaleStrings[]} data See {@tutorial LocaleDocs} * @property {module:locale.LocaleStrings[]} data See {@tutorial LocaleDocs}
*/ */
@ -28817,7 +28819,7 @@
} }
/** /**
* The main module for the visual SVG Editor * The main module for the visual SVG Editor.
* *
* @license MIT * @license MIT
* *
@ -28897,7 +28899,7 @@
*/ */
/** /**
* Preferences * Preferences.
* @interface module:SVGEditor.Prefs * @interface module:SVGEditor.Prefs
* @property {string} [lang="en"] Two-letter language code. The language must exist in the Editor Preferences language list. Defaults to "en" if `locale.js` detection does not detect another language. * @property {string} [lang="en"] Two-letter language code. The language must exist in the Editor Preferences language list. Defaults to "en" if `locale.js` detection does not detect another language.
* @property {module:SVGEditor.IconSize} [iconsize="s"|"m"] Size of the toolbar icons. Will default to 's' if the window height is smaller than the minimum height and 'm' otherwise. * @property {module:SVGEditor.IconSize} [iconsize="s"|"m"] Size of the toolbar icons. Will default to 's' if the window height is smaller than the minimum height and 'm' otherwise.
@ -28921,13 +28923,13 @@
// EDITOR OPTIONS (DIALOG) // EDITOR OPTIONS (DIALOG)
/** /**
* Default to "en" if locale.js detection does not detect another language * Default to "en" if locale.js detection does not detect another language.
*/ */
lang: '', lang: '',
/** /**
* Will default to 's' if the window height is smaller than the minimum height and * Will default to 's' if the window height is smaller than the minimum
* 'm' otherwise * height and 'm' otherwise.
*/ */
iconsize: '', iconsize: '',
bkgd_color: '#FFF', bkgd_color: '#FFF',
@ -29095,7 +29097,7 @@
}, },
/** /**
* LOCALE * LOCALE.
* @name module:SVGEditor.uiStrings * @name module:SVGEditor.uiStrings
* @type {PlainObject} * @type {PlainObject}
*/ */
@ -29268,7 +29270,7 @@
); );
} }
/** /**
* EXPORTS * EXPORTS.
*/ */
/** /**
@ -29454,7 +29456,7 @@
editor.curConfig = curConfig; // Update exported value editor.curConfig = curConfig; // Update exported value
}; };
/** /**
* All methods are optional * All methods are optional.
* @interface module:SVGEditor.CustomHandler * @interface module:SVGEditor.CustomHandler
* @type {PlainObject} * @type {PlainObject}
*/ */
@ -29473,7 +29475,7 @@
* Its responsibilities are: * Its responsibilities are:
* - accept the string contents of the current document * - accept the string contents of the current document
* - invoke a file chooser dialog in 'save' mode * - invoke a file chooser dialog in 'save' mode
* - save the file to location chosen by the user * - save the file to location chosen by the user.
* @function module:SVGEditor.CustomHandler#save * @function module:SVGEditor.CustomHandler#save
* @param {external:Window} win * @param {external:Window} win
* @param {module:svgcanvas.SvgCanvas#event:saved} svgStr A string of the SVG * @param {module:svgcanvas.SvgCanvas#event:saved} svgStr A string of the SVG
@ -33212,7 +33214,7 @@
// TODO: Group UI functions into a public editor.ui interface. // TODO: Group UI functions into a public editor.ui interface.
/** /**
* See {@link http://api.jquery.com/bind/#bind-eventType-eventData-handler} * See {@link http://api.jquery.com/bind/#bind-eventType-eventData-handler}.
* @callback module:SVGEditor.DropDownCallback * @callback module:SVGEditor.DropDownCallback
* @param {external:jQuery.Event} ev See {@link http://api.jquery.com/Types/#Event} * @param {external:jQuery.Event} ev See {@link http://api.jquery.com/Types/#Event}
* @listens external:jQuery.Event * @listens external:jQuery.Event
@ -35264,7 +35266,7 @@
/* eslint-disable jsdoc/require-property */ /* eslint-disable jsdoc/require-property */
/** /**
* Associate all button actions as well as non-button keyboard shortcuts * Associate all button actions as well as non-button keyboard shortcuts.
* @namespace {PlainObject} module:SVGEditor~Actions * @namespace {PlainObject} module:SVGEditor~Actions
*/ */

6
package-lock.json generated
View File

@ -4157,9 +4157,9 @@
} }
}, },
"eslint-config-ash-nazg": { "eslint-config-ash-nazg": {
"version": "16.1.0", "version": "16.2.0",
"resolved": "https://registry.npmjs.org/eslint-config-ash-nazg/-/eslint-config-ash-nazg-16.1.0.tgz", "resolved": "https://registry.npmjs.org/eslint-config-ash-nazg/-/eslint-config-ash-nazg-16.2.0.tgz",
"integrity": "sha512-Ib1JEc6s6nDZxhyQTO8D5ZtaWyUVgPlOAJblJMyuzP+18KtpKN4QGSrGo7SaGg4os3fOE2VUOFPX5t8Cwti2Yw==", "integrity": "sha512-VYEKJyUqm/ab1ifhz779PHIAhvoW6tGMpAnGYhRfemxYpQ9ou9MFildHDFWAetcjycXrqm+IYFMCXbzdgsaw9w==",
"dev": true "dev": true
}, },
"eslint-config-standard": { "eslint-config-standard": {

View File

@ -136,7 +136,7 @@
"cypress": "^3.8.1", "cypress": "^3.8.1",
"cypress-axe": "^0.5.3", "cypress-axe": "^0.5.3",
"eslint": "^6.8.0", "eslint": "^6.8.0",
"eslint-config-ash-nazg": "^16.1.0", "eslint-config-ash-nazg": "^16.2.0",
"eslint-config-standard": "^14.1.0", "eslint-config-standard": "^14.1.0",
"eslint-plugin-array-func": "^3.1.3", "eslint-plugin-array-func": "^3.1.3",
"eslint-plugin-compat": "^3.3.0", "eslint-plugin-compat": "^3.3.0",

View File

@ -269,13 +269,13 @@
document.addEventListener('touchcancel', touchHandler, true); document.addEventListener('touchcancel', touchHandler, true);
/** /**
* Namespaces or tools therefor * Namespaces or tools therefor.
* @module namespaces * @module namespaces
* @license MIT * @license MIT
*/ */
/** /**
* Common namepaces constants in alpha order * Common namepaces constants in alpha order.
* @enum {string} * @enum {string}
* @type {PlainObject} * @type {PlainObject}
* @memberof module:namespaces * @memberof module:namespaces
@ -2906,7 +2906,7 @@
}; };
/** /**
* jQuery module to work with SVG attributes * A jQuery module to work with SVG attributes.
* @module jQueryAttr * @module jQueryAttr
* @license MIT * @license MIT
*/ */
@ -3076,14 +3076,14 @@
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#getItem * @function module:SVGTransformList.SVGEditTransformList#getItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
* @returns {SVGTransform} * @returns {SVGTransform}
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#insertItemBefore * @function module:SVGTransformList.SVGEditTransformList#insertItemBefore
* @param {SVGTransform} newItem * @param {SVGTransform} newItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
@ -3091,7 +3091,7 @@
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#replaceItem * @function module:SVGTransformList.SVGEditTransformList#replaceItem
* @param {SVGTransform} newItem * @param {SVGTransform} newItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
@ -3099,7 +3099,7 @@
*/ */
/** /**
* (DOES NOT THROW DOMException, INDEX_SIZE_ERR) * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
* @function module:SVGTransformList.SVGEditTransformList#removeItem * @function module:SVGTransformList.SVGEditTransformList#removeItem
* @param {Integer} index unsigned long * @param {Integer} index unsigned long
* @returns {SVGTransform} * @returns {SVGTransform}
@ -3112,7 +3112,7 @@
*/ */
/** /**
* NOT IMPLEMENTED * NOT IMPLEMENTED.
* @ignore * @ignore
* @function module:SVGTransformList.SVGEditTransformList#createSVGTransformFromMatrix * @function module:SVGTransformList.SVGEditTransformList#createSVGTransformFromMatrix
* @param {SVGMatrix} matrix * @param {SVGMatrix} matrix
@ -3120,7 +3120,7 @@
*/ */
/** /**
* NOT IMPLEMENTED * NOT IMPLEMENTED.
* @ignore * @ignore
* @function module:SVGTransformList.SVGEditTransformList#consolidate * @function module:SVGTransformList.SVGEditTransformList#consolidate
* @returns {SVGTransform} * @returns {SVGTransform}
@ -3472,7 +3472,7 @@
}; };
/** /**
* Tools for working with units * Tools for working with units.
* @module units * @module units
* @license MIT * @license MIT
* *
@ -3576,7 +3576,7 @@
}; };
}; };
/** /**
* Group: Unit conversion functions * Group: Unit conversion functions.
*/ */
/** /**
@ -3758,7 +3758,7 @@
}; };
/** /**
* Group: Undo/Redo history management * Group: Undo/Redo history management.
*/ */
var HistoryEventTypes = { var HistoryEventTypes = {
@ -3801,7 +3801,7 @@
*/ */
/** /**
* Applies * Applies.
* *
* @function module:history.HistoryCommand#apply * @function module:history.HistoryCommand#apply
* @param {module:history.HistoryEventHandler} handler * @param {module:history.HistoryEventHandler} handler
@ -3811,7 +3811,7 @@
/** /**
* *
* Unapplies * Unapplies.
* @function module:history.HistoryCommand#unapply * @function module:history.HistoryCommand#unapply
* @param {module:history.HistoryEventHandler} handler * @param {module:history.HistoryEventHandler} handler
* @fires module:history~Command#event:history * @fires module:history~Command#event:history
@ -3819,25 +3819,25 @@
*/ */
/** /**
* Returns the elements * Returns the elements.
* @function module:history.HistoryCommand#elements * @function module:history.HistoryCommand#elements
* @returns {Element[]} * @returns {Element[]}
*/ */
/** /**
* Gets the text * Gets the text.
* @function module:history.HistoryCommand#getText * @function module:history.HistoryCommand#getText
* @returns {string} * @returns {string}
*/ */
/** /**
* Gives the type * Gives the type.
* @function module:history.HistoryCommand.type * @function module:history.HistoryCommand.type
* @returns {string} * @returns {string}
*/ */
/** /**
* Gives the type * Gives the type.
* @function module:history.HistoryCommand#type * @function module:history.HistoryCommand#type
* @returns {string} * @returns {string}
*/ */
@ -4666,7 +4666,7 @@
}); });
/** /**
* Mathematical utilities * Mathematical utilities.
* @module math * @module math
* @license MIT * @license MIT
* *
@ -4962,7 +4962,7 @@
*/ */
/** /**
* Object with the following keys/values * Object with the following keys/values.
* @typedef {PlainObject} module:path.SVGElementJSON * @typedef {PlainObject} module:path.SVGElementJSON
* @property {string} element - Tag name of the SVG element to create * @property {string} element - Tag name of the SVG element to create
* @property {PlainObject<string, string>} 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. * @property {PlainObject<string, string>} 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.
@ -4991,7 +4991,7 @@
*/ */
/** /**
* Note: This doesn't round to an integer necessarily * Note: This doesn't round to an integer necessarily.
* @function module:path.EditorContext#round * @function module:path.EditorContext#round
* @param {Float} val * @param {Float} val
* @returns {Float} Rounded value to nearest value based on `currentZoom` * @returns {Float} Rounded value to nearest value based on `currentZoom`
@ -5089,19 +5089,19 @@
*/ */
/** /**
* Returns the last created DOM element ID string * Returns the last created DOM element ID string.
* @function module:path.EditorContext#getId * @function module:path.EditorContext#getId
* @returns {string} * @returns {string}
*/ */
/** /**
* Creates and returns a unique ID string for a DOM element * Creates and returns a unique ID string for a DOM element.
* @function module:path.EditorContext#getNextId * @function module:path.EditorContext#getNextId
* @returns {string} * @returns {string}
*/ */
/** /**
* Gets the desired element from a mouse event * Gets the desired element from a mouse event.
* @function module:path.EditorContext#getMouseTarget * @function module:path.EditorContext#getMouseTarget
* @param {external:MouseEvent} evt - Event object from the mouse event * @param {external:MouseEvent} evt - Event object from the mouse event
* @returns {Element} DOM element we want * @returns {Element} DOM element we want
@ -6552,7 +6552,7 @@
} }
}; };
/** /**
* This is how we map paths to our preferred relative segment types * This is how we map paths to our preferred relative segment types.
* @name module:path.pathMap * @name module:path.pathMap
* @type {GenericArray} * @type {GenericArray}
*/ */
@ -6808,8 +6808,8 @@
/* eslint-disable jsdoc/require-property */ /* eslint-disable jsdoc/require-property */
/** /**
* Group: Path edit functions * Group: Path edit functions.
* Functions relating to editing path elements * Functions relating to editing path elements.
* @namespace {PlainObject} pathActions * @namespace {PlainObject} pathActions
* @memberof module:path * @memberof module:path
*/ */
@ -7796,7 +7796,7 @@
// Can't seem to use `@borrows` here, so using `@see` // Can't seem to use `@borrows` here, so using `@see`
/** /**
* Smooth polyline into path * Smooth polyline into path.
* @function module:path.pathActions.smoothPolylineIntoPath * @function module:path.pathActions.smoothPolylineIntoPath
* @see module:path~smoothPolylineIntoPath * @see module:path~smoothPolylineIntoPath
*/ */
@ -7874,7 +7874,7 @@
// Can't seem to use `@borrows` here, so using `@see` // Can't seem to use `@borrows` here, so using `@see`
/** /**
* Convert a path to one with only absolute or relative values * Convert a path to one with only absolute or relative values.
* @function module:path.pathActions.convertPath * @function module:path.pathActions.convertPath
* @see module:path.convertPath * @see module:path.convertPath
*/ */
@ -7895,7 +7895,7 @@
var domcontainer_ = null; var domcontainer_ = null;
var svgroot_ = null; var svgroot_ = null;
/** /**
* Object with the following keys/values * Object with the following keys/values.
* @typedef {PlainObject} module:utilities.SVGElementJSON * @typedef {PlainObject} module:utilities.SVGElementJSON
* @property {string} element - Tag name of the SVG element to create * @property {string} element - Tag name of the SVG element to create
* @property {PlainObject<string, string>} 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. * @property {PlainObject<string, string>} 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.
@ -7919,7 +7919,7 @@
/** /**
* Create a new SVG element based on the given object keys/values and add it * Create a new SVG element based on the given object keys/values and add it
* to the current layer. * to the current layer.
* The element will be run through `cleanupElement` before being returned * The element will be run through `cleanupElement` before being returned.
* @function module:utilities.EditorContext#addSVGElementFromJson * @function module:utilities.EditorContext#addSVGElementFromJson
* @param {module:utilities.SVGElementJSON} data * @param {module:utilities.SVGElementJSON} data
* @returns {Element} The new element * @returns {Element} The new element
@ -9316,7 +9316,7 @@
/* globals jQuery */ /* globals jQuery */
/** /**
* Adds context menu functionality * Adds context menu functionality.
* @module contextmenu * @module contextmenu
* @license Apache-2.0 * @license Apache-2.0
* @author Adam Bender * @author Adam Bender
@ -11074,7 +11074,7 @@
}; // Layer API Functions }; // Layer API Functions
/** /**
* Group: Layers * Group: Layers.
*/ */
/** /**
@ -11122,7 +11122,7 @@
*/ */
/** /**
* Run the callback function associated with the given event * Run the callback function associated with the given event.
* @function module:draw.DrawCanvasInit#call * @function module:draw.DrawCanvasInit#call
* @param {"changed"|"contextset"} ev - String with the event name * @param {"changed"|"contextset"} ev - String with the event name
* @param {module:svgcanvas.SvgCanvas#event:changed|module:svgcanvas.SvgCanvas#event:contextset} arg - Argument to pass through to the callback * @param {module:svgcanvas.SvgCanvas#event:changed|module:svgcanvas.SvgCanvas#event:contextset} arg - Argument to pass through to the callback
@ -11446,7 +11446,7 @@
/** /**
* This defines which elements and attributes that we support (or at least * This defines which elements and attributes that we support (or at least
* don't remove) * don't remove).
* @type {PlainObject} * @type {PlainObject}
*/ */
@ -13657,7 +13657,7 @@
var svgroot = svgdoc.importNode(text2xml('<svg id="svgroot" xmlns="' + NS.SVG + '" xlinkns="' + NS.XLINK + '" ' + 'width="' + dimensions[0] + '" height="' + dimensions[1] + '" x="' + dimensions[0] + '" y="' + dimensions[1] + '" overflow="visible">' + '<defs>' + '<filter id="canvashadow" filterUnits="objectBoundingBox">' + '<feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>' + '<feOffset in="blur" dx="5" dy="5" result="offsetBlur"/>' + '<feMerge>' + '<feMergeNode in="offsetBlur"/>' + '<feMergeNode in="SourceGraphic"/>' + '</feMerge>' + '</filter>' + '</defs>' + '</svg>').documentElement, true); var svgroot = svgdoc.importNode(text2xml('<svg id="svgroot" xmlns="' + NS.SVG + '" xlinkns="' + NS.XLINK + '" ' + 'width="' + dimensions[0] + '" height="' + dimensions[1] + '" x="' + dimensions[0] + '" y="' + dimensions[1] + '" overflow="visible">' + '<defs>' + '<filter id="canvashadow" filterUnits="objectBoundingBox">' + '<feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>' + '<feOffset in="blur" dx="5" dy="5" result="offsetBlur"/>' + '<feMerge>' + '<feMergeNode in="offsetBlur"/>' + '<feMergeNode in="SourceGraphic"/>' + '</feMerge>' + '</filter>' + '</defs>' + '</svg>').documentElement, true);
container.append(svgroot); container.append(svgroot);
/** /**
* The actual element that represents the final output SVG element * The actual element that represents the final output SVG element.
* @name module:svgcanvas~svgcontent * @name module:svgcanvas~svgcontent
* @type {SVGSVGElement} * @type {SVGSVGElement}
*/ */
@ -13702,7 +13702,7 @@
idprefix = p; idprefix = p;
}; };
/** /**
* Current draw.Drawing object * Current `draw.Drawing` object.
* @type {module:draw.Drawing} * @type {module:draw.Drawing}
* @name module:svgcanvas.SvgCanvas#current_drawing_ * @name module:svgcanvas.SvgCanvas#current_drawing_
*/ */
@ -13719,7 +13719,7 @@
return canvas.current_drawing_; return canvas.current_drawing_;
}; };
/** /**
* Float displaying the current zoom level (1 = 100%, .5 = 50%, etc) * Float displaying the current zoom level (1 = 100%, .5 = 50%, etc.).
* @type {Float} * @type {Float}
*/ */
@ -13855,8 +13855,8 @@
return curConfig.baseUnit; return curConfig.baseUnit;
}; };
/** /**
* initialize from units.js. * Initialize from units.js.
* Send in an object implementing the ElementContainer interface (see units.js) * Send in an object implementing the ElementContainer interface (see units.js).
*/ */
@ -14088,7 +14088,7 @@
init$6(curConfig, init$6(curConfig,
/** /**
* Export to select.js * Export to select.js.
* @implements {module:select.SVGFactory} * @implements {module:select.SVGFactory}
*/ */
{ {
@ -14104,7 +14104,7 @@
getCurrentZoom: getCurrentZoom getCurrentZoom: getCurrentZoom
}); });
/** /**
* This object manages selectors for us * This object manages selectors for us.
* @name module:svgcanvas.SvgCanvas#selectorManager * @name module:svgcanvas.SvgCanvas#selectorManager
* @type {module:select.SelectorManager} * @type {module:select.SelectorManager}
*/ */
@ -14921,26 +14921,26 @@
var events = {}; var events = {};
canvas.call = call; canvas.call = call;
/** /**
* Array of what was changed (elements, layers) * Array of what was changed (elements, layers).
* @event module:svgcanvas.SvgCanvas#event:changed * @event module:svgcanvas.SvgCanvas#event:changed
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* Array of selected elements * Array of selected elements.
* @event module:svgcanvas.SvgCanvas#event:selected * @event module:svgcanvas.SvgCanvas#event:selected
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* Array of selected elements * Array of selected elements.
* @event module:svgcanvas.SvgCanvas#event:transition * @event module:svgcanvas.SvgCanvas#event:transition
* @type {Element[]} * @type {Element[]}
*/ */
/** /**
* The Element is always `SVGGElement`? * The Element is always `SVGGElement`?
* If not `null`, will be the set current group element * If not `null`, will be the set current group element.
* @event module:svgcanvas.SvgCanvas#event:contextset * @event module:svgcanvas.SvgCanvas#event:contextset
* @type {null|Element} * @type {null|Element}
*/ */
@ -15001,7 +15001,7 @@
*/ */
/** /**
* SVG canvas converted to string * SVG canvas converted to string.
* @event module:svgcanvas.SvgCanvas#event:saved * @event module:svgcanvas.SvgCanvas#event:saved
* @type {string} * @type {string}
*/ */
@ -15045,7 +15045,7 @@
/** /**
* The promise return, if present, resolves to `undefined` * The promise return, if present, resolves to `undefined`
* (`extension_added`, `exported`, `saved`) * (`extension_added`, `exported`, `saved`).
* @typedef {Promise<void>|void} module:svgcanvas.EventHandlerReturn * @typedef {Promise<void>|void} module:svgcanvas.EventHandlerReturn
*/ */
@ -15224,7 +15224,7 @@
var rootSctm = null; var rootSctm = null;
/** /**
* Group: Selection * Group: Selection.
*/ */
// TODO: do we need to worry about selectedBBoxes here? // TODO: do we need to worry about selectedBBoxes here?
@ -15791,7 +15791,7 @@
break; break;
} }
/** /**
* The main (left) mouse button is held down on the canvas area * The main (left) mouse button is held down on the canvas area.
* @event module:svgcanvas.SvgCanvas#event:ext_mouseDown * @event module:svgcanvas.SvgCanvas#event:ext_mouseDown
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -16334,7 +16334,7 @@
} }
} }
/** /**
* The mouse has moved on the canvas area * The mouse has moved on the canvas area.
* @event module:svgcanvas.SvgCanvas#event:ext_mouseMove * @event module:svgcanvas.SvgCanvas#event:ext_mouseMove
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -16651,7 +16651,7 @@
} }
} }
/** /**
* The main (left) mouse button is released (anywhere) * The main (left) mouse button is released (anywhere).
* @event module:svgcanvas.SvgCanvas#event:ext_mouseUp * @event module:svgcanvas.SvgCanvas#event:ext_mouseUp
* @type {PlainObject} * @type {PlainObject}
* @property {MouseEvent} event The event object * @property {MouseEvent} event The event object
@ -16884,7 +16884,7 @@
/** /**
* Group: Text edit functions * Group: Text edit functions
* Functions relating to editing text elements * Functions relating to editing text elements.
* @namespace {PlainObject} textActions * @namespace {PlainObject} textActions
* @memberof module:svgcanvas.SvgCanvas# * @memberof module:svgcanvas.SvgCanvas#
*/ */
@ -17409,7 +17409,7 @@
); );
}(); }();
/** /**
* Group: Serialization * Group: Serialization.
*/ */
/** /**
@ -17752,7 +17752,7 @@
}; // end svgToString() }; // end svgToString()
/** /**
* Function to run when image data is found * Function to run when image data is found.
* @callback module:svgcanvas.ImageEmbeddedCallback * @callback module:svgcanvas.ImageEmbeddedCallback
* @param {string|false} result Data URL * @param {string|false} result Data URL
* @returns {void} * @returns {void}
@ -18925,7 +18925,7 @@
} }
}); });
/** /**
* Group: Document functions * Group: Document functions.
*/ */
/** /**
@ -19392,7 +19392,7 @@
*/ */
/** /**
* The bottom panel was updated * The bottom panel was updated.
* @event module:svgcanvas.SvgCanvas#event:ext_toolButtonStateUpdate * @event module:svgcanvas.SvgCanvas#event:ext_toolButtonStateUpdate
* @type {PlainObject} * @type {PlainObject}
* @property {boolean} nofill Indicates fill is disabled * @property {boolean} nofill Indicates fill is disabled
@ -19400,7 +19400,7 @@
*/ */
/** /**
* The element selection has changed (elements were added/removed from selection) * The element selection has changed (elements were added/removed from selection).
* @event module:svgcanvas.SvgCanvas#event:ext_selectedChanged * @event module:svgcanvas.SvgCanvas#event:ext_selectedChanged
* @type {PlainObject} * @type {PlainObject}
* @property {Element[]} elems Array of the newly selected elements * @property {Element[]} elems Array of the newly selected elements
@ -19417,14 +19417,14 @@
*/ */
/** /**
* One or more elements were changed * One or more elements were changed.
* @event module:svgcanvas.SvgCanvas#event:ext_elementChanged * @event module:svgcanvas.SvgCanvas#event:ext_elementChanged
* @type {PlainObject} * @type {PlainObject}
* @property {Element[]} elems Array of the affected elements * @property {Element[]} elems Array of the affected elements
*/ */
/** /**
* Invoked as soon as the locale is ready * Invoked as soon as the locale is ready.
* @event module:svgcanvas.SvgCanvas#event:ext_langReady * @event module:svgcanvas.SvgCanvas#event:ext_langReady
* @type {PlainObject} * @type {PlainObject}
* @property {string} lang The two-letter language code * @property {string} lang The two-letter language code
@ -19447,13 +19447,13 @@
*/ */
/** /**
* Called when new image is created * Called when new image is created.
* @event module:svgcanvas.SvgCanvas#event:ext_onNewDocument * @event module:svgcanvas.SvgCanvas#event:ext_onNewDocument
* @type {void} * @type {void}
*/ */
/** /**
* Called when sidepanel is resized or toggled * Called when sidepanel is resized or toggled.
* @event module:svgcanvas.SvgCanvas#event:ext_workareaResized * @event module:svgcanvas.SvgCanvas#event:ext_workareaResized
* @type {void} * @type {void}
*/ */
@ -19514,7 +19514,7 @@
currentMode = name; currentMode = name;
}; };
/** /**
* Group: Element Styling * Group: Element Styling.
*/ */
/** /**
@ -20387,7 +20387,7 @@
canvas.ungroupSelectedElement(); canvas.ungroupSelectedElement();
}; };
/** /**
* Group: Element manipulation * Group: Element manipulation.
*/ */
/** /**
@ -20736,7 +20736,7 @@
clipb.forEach(checkIDs); // Give extensions like the connector extension a chance to reflect new IDs and remove invalid elements clipb.forEach(checkIDs); // Give extensions like the connector extension a chance to reflect new IDs and remove invalid elements
/** /**
* Triggered when `pasteElements` is called from a paste action (context menu or key) * Triggered when `pasteElements` is called from a paste action (context menu or key).
* @event module:svgcanvas.SvgCanvas#event:ext_IDsUpdated * @event module:svgcanvas.SvgCanvas#event:ext_IDsUpdated
* @type {PlainObject} * @type {PlainObject}
* @property {module:svgcanvas.SVGAsJSON[]} elems * @property {module:svgcanvas.SVGAsJSON[]} elems
@ -21540,7 +21540,7 @@
this.moveSelectedElements(dx, dy); this.moveSelectedElements(dx, dy);
}; };
/** /**
* Group: Additional editor tools * Group: Additional editor tools.
*/ */
/** /**
@ -22317,7 +22317,7 @@
// Todo: Move to own module (and have it import a modular base64 encoder) // Todo: Move to own module (and have it import a modular base64 encoder)
/** /**
* SVG Icon Loader 2.0 * @file SVG Icon Loader 2.0
* *
* jQuery Plugin for loading SVG icons from a single file * jQuery Plugin for loading SVG icons from a single file
* *
@ -22478,13 +22478,13 @@
var svgIcons = {}; var svgIcons = {};
/** /**
* Map of raster images with each key being the SVG icon ID * Map of raster images with each key being the SVG icon ID
* to replace, and the value the image file name * to replace, and the value the image file name.
* @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Fallback * @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Fallback
*/ */
/** /**
* Map of raster images with each key being the SVG icon ID * Map of raster images with each key being the SVG icon ID
* whose `alt` will be set, and the value being the `alt` text * whose `alt` will be set, and the value being the `alt` text.
* @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Alts * @typedef {PlainObject<string, string>} external:jQuery.svgIcons.Alts
*/ */
@ -22899,7 +22899,7 @@
} }
/** /**
* jGraduate 0.4 * @file jGraduate 0.4
* *
* jQuery Plugin for a gradient picker * jQuery Plugin for a gradient picker
* *
@ -22998,14 +22998,14 @@
*/ */
this.type = options.copy.type; this.type = options.copy.type;
/** /**
* Represents opacity (0-100) * Represents opacity (0-100).
* @name module:jGraduate~Paint#alpha * @name module:jGraduate~Paint#alpha
* @type {Float} * @type {Float}
*/ */
this.alpha = options.copy.alpha; this.alpha = options.copy.alpha;
/** /**
* Represents #RRGGBB hex of color * Represents #RRGGBB hex of color.
* @name module:jGraduate~Paint#solidColor * @name module:jGraduate~Paint#solidColor
* @type {string} * @type {string}
*/ */
@ -23091,7 +23091,7 @@
/** @lends external:jQuery.fn.jGraduateDefaults */ /** @lends external:jQuery.fn.jGraduateDefaults */
{ {
/** /**
* Creates an object with a 'none' color * Creates an object with a 'none' color.
* @type {external:jQuery.jGraduate.Paint} * @type {external:jQuery.jGraduate.Paint}
* @see module:jGraduate.Options * @see module:jGraduate.Options
*/ */
@ -24190,55 +24190,57 @@
} }
/** /**
* SpinButton control * SpinButton control.
* *
* Adds bells and whistles to any ordinary textbox to * Adds bells and whistles to any ordinary textbox to
* make it look and feel like a SpinButton Control. * make it look and feel like a SpinButton Control.
* *
* Supplies {@link external:jQuery.fn.SpinButton} (and also {@link external:jQuery.loadingStylesheets}) * Supplies {@link external:jQuery.fn.SpinButton} (and also {@link external:jQuery.loadingStylesheets}).
* *
* Originally written by George Adamson, Software Unity (george.jquery@softwareunity.com) August 2006. * Originally written by George Adamson, Software Unity (george.jquery@softwareunity.com) August 2006:
* - Added min/max options * - Added min/max options.
* - Added step size option * - Added step size option.
* - Added bigStep (page up/down) option * - Added bigStep (page up/down) option.
* *
* Modifications made by Mark Gibson, (mgibson@designlinks.net) September 2006: * Modifications made by Mark Gibson, (mgibson@designlinks.net) September 2006:
* - Converted to jQuery plugin * - Converted to jQuery plugin.
* - Allow limited or unlimited min/max values * - Allow limited or unlimited min/max values.
* - Allow custom class names, and add class to input element * - Allow custom class names, and add class to input element.
* - Removed global vars * - Removed global vars.
* - Reset (to original or through config) when invalid value entered * - Reset (to original or through config) when invalid value entered.
* - Repeat whilst holding mouse button down (with initial pause, like keyboard repeat) * - Repeat whilst holding mouse button down (with initial pause, like keyboard repeat).
* - Support mouse wheel in Firefox * - Support mouse wheel in Firefox.
* - Fix double click in IE * - Fix double click in IE.
* - Refactored some code and renamed some vars * - Refactored some code and renamed some vars.
* *
* Modifications by Jeff Schiller, June 2009: * Modifications by Jeff Schiller, June 2009:
* - provide callback function for when the value changes based on the following * - provide callback function for when the value changes based on the following
* {@link https://www.mail-archive.com/jquery-en@googlegroups.com/msg36070.html} * {@link https://www.mail-archive.com/jquery-en@googlegroups.com/msg36070.html}.
* *
* Modifications by Jeff Schiller, July 2009: * Modifications by Jeff Schiller, July 2009:
* - improve styling for widget in Opera * - improve styling for widget in Opera.
* - consistent key-repeat handling cross-browser * - consistent key-repeat handling cross-browser.
* *
* Modifications by Alexis Deveria, October 2009: * Modifications by Alexis Deveria, October 2009:
* - provide "stepfunc" callback option to allow custom function to run when changing a value * - provide "stepfunc" callback option to allow custom function to run when changing a value.
* - Made adjustValue(0) only run on certain keyup events, not all. * - Made adjustValue(0) only run on certain keyup events, not all.
* *
* Tested in IE6, Opera9, Firefox 1.5 * Tested in IE6, Opera9, Firefox 1.5.
* *
* | Version | Date | Author | Notes * | Version | Date | Author | Notes |
* |---------|------|--------|------| * |---------|------|--------|-------|
* | v1.0 | 11 Aug 2006 | George Adamson | First release * | v1.0 | 11 Aug 2006 | George Adamson | First release |
* | v1.1 | Aug 2006 | George Adamson | Minor enhancements * | v1.1 | Aug 2006 | George Adamson | Minor enhancements |
* | v1.2 | 27 Sep 2006 | Mark Gibson | Major enhancements * | v1.2 | 27 Sep 2006 | Mark Gibson | Major enhancements |
* | v1.3a | 28 Sep 2006 | George Adamson | Minor enhancements * | v1.3a | 28 Sep 2006 | George Adamson | Minor enhancements |
* | v1.4 | 18 Jun 2009 | Jeff Schiller | Added callback function * | v1.4 | 18 Jun 2009 | Jeff Schiller | Added callback function |
* | v1.5 | 06 Jul 2009 | Jeff Schiller | Fixes for Opera. * | v1.5 | 06 Jul 2009 | Jeff Schiller | Fixes for Opera. |
* | v1.6 | 13 Oct 2009 | Alexis Deveria | Added stepfunc function * | v1.6 | 13 Oct 2009 | Alexis Deveria | Added stepfunc function |
* | v1.7 | 21 Oct 2009 | Alexis Deveria | Minor fixes.<br />Fast-repeat for keys and live updating as you type. * | v1.7 | 21 Oct 2009 | Alexis Deveria | Minor fixes.<br />Fast-repeat for keys and live updating as you type. |
* | v1.8 | 12 Jan 2010 | Benjamin Thomas | Fixes for mouseout behavior.<br />Added smallStep * | v1.8 | 12 Jan 2010 | Benjamin Thomas | Fixes for mouseout behavior.<br />Added smallStep |
* | v1.9 | 20 May 2018 | Brett Zamir | Avoid SVGEdit dependency via `stateObj` config;<br />convert to ES6 module | * | v1.9 | 20 May 2018 | Brett Zamir | Avoid SVGEdit dependency via `stateObj` config;<br />convert to ES6 module |
* .
*
* @module jQuerySpinButton * @module jQuerySpinButton
* @example * @example
// Create group of settings to initialise spinbutton(s). (Optional) // Create group of settings to initialise spinbutton(s). (Optional)
@ -24560,7 +24562,7 @@
} }
/** /**
* jQuery Context Menu Plugin * @file jQuery Context Menu Plugin
* Cory S.N. LaViska * Cory S.N. LaViska
* A Beautiful Site ({@link https://abeautifulsite.net/}) * A Beautiful Site ({@link https://abeautifulsite.net/})
* Modified by Alexis Deveria * Modified by Alexis Deveria
@ -24892,7 +24894,7 @@
/* eslint-disable no-bitwise */ /* eslint-disable no-bitwise */
/** /**
* jPicker (Adapted from version 1.1.6) * @file jPicker (Adapted from version 1.1.6)
* *
* jQuery Plugin for Photoshop style color picker * jQuery Plugin for Photoshop style color picker
* *
@ -25754,7 +25756,7 @@
/* eslint-enable jsdoc/require-property */ /* eslint-enable jsdoc/require-property */
/** /**
* Array holding references to each active instance of the jPicker control * Array holding references to each active instance of the jPicker control.
* @type {external:jQuery.fn.$.fn.jPicker[]} * @type {external:jQuery.fn.$.fn.jPicker[]}
*/ */
List: [], List: [],
@ -26148,7 +26150,7 @@
}, },
/** /**
* color conversion methods - make public to give use to external scripts * Color conversion methods - make public to give use to external scripts.
* @namespace * @namespace
*/ */
ColorMethods: { ColorMethods: {
@ -26383,7 +26385,7 @@
*/ */
/** /**
* Will be bound to active {@link jQuery.jPicker.Color} * Will be bound to active {@link jQuery.jPicker.Color}.
* @callback module:jPicker.LiveCallback * @callback module:jPicker.LiveCallback
* @param {external:jQuery} ui * @param {external:jQuery} ui
* @param {Element} context * @param {Element} context
@ -27822,8 +27824,8 @@
*/ */
/** /**
* jPicker defaults - you can change anything in this section (such as the * The jPicker defaults - you can change anything in this section (such as the
* clientPath to your images) without fear of breaking the program * clientPath to your images) without fear of breaking the program.
* @namespace {external:jQuery.fn.jPickerOptions} defaults * @namespace {external:jQuery.fn.jPickerOptions} defaults
* @memberof external:jQuery.fn.$.fn.jPicker * @memberof external:jQuery.fn.$.fn.jPicker
* @borrows external:jQuery.fn.jPickerOptions as external:jQuery.fn.jPicker.defaults * @borrows external:jQuery.fn.jPickerOptions as external:jQuery.fn.jPicker.defaults
@ -28297,7 +28299,7 @@
}; };
/** /**
* The "data" property is generally set to an an array of objects with * The "data" property is generally set to an an array of objects with
* "id" and "title" or "textContent" properties * "id" and "title" or "textContent" properties.
* @typedef {PlainObject} module:locale.AddLangExtensionLocaleData * @typedef {PlainObject} module:locale.AddLangExtensionLocaleData
* @property {module:locale.LocaleStrings[]} data See {@tutorial LocaleDocs} * @property {module:locale.LocaleStrings[]} data See {@tutorial LocaleDocs}
*/ */
@ -28817,7 +28819,7 @@
} }
/** /**
* The main module for the visual SVG Editor * The main module for the visual SVG Editor.
* *
* @license MIT * @license MIT
* *
@ -28897,7 +28899,7 @@
*/ */
/** /**
* Preferences * Preferences.
* @interface module:SVGEditor.Prefs * @interface module:SVGEditor.Prefs
* @property {string} [lang="en"] Two-letter language code. The language must exist in the Editor Preferences language list. Defaults to "en" if `locale.js` detection does not detect another language. * @property {string} [lang="en"] Two-letter language code. The language must exist in the Editor Preferences language list. Defaults to "en" if `locale.js` detection does not detect another language.
* @property {module:SVGEditor.IconSize} [iconsize="s"|"m"] Size of the toolbar icons. Will default to 's' if the window height is smaller than the minimum height and 'm' otherwise. * @property {module:SVGEditor.IconSize} [iconsize="s"|"m"] Size of the toolbar icons. Will default to 's' if the window height is smaller than the minimum height and 'm' otherwise.
@ -28921,13 +28923,13 @@
// EDITOR OPTIONS (DIALOG) // EDITOR OPTIONS (DIALOG)
/** /**
* Default to "en" if locale.js detection does not detect another language * Default to "en" if locale.js detection does not detect another language.
*/ */
lang: '', lang: '',
/** /**
* Will default to 's' if the window height is smaller than the minimum height and * Will default to 's' if the window height is smaller than the minimum
* 'm' otherwise * height and 'm' otherwise.
*/ */
iconsize: '', iconsize: '',
bkgd_color: '#FFF', bkgd_color: '#FFF',
@ -29095,7 +29097,7 @@
}, },
/** /**
* LOCALE * LOCALE.
* @name module:SVGEditor.uiStrings * @name module:SVGEditor.uiStrings
* @type {PlainObject} * @type {PlainObject}
*/ */
@ -29268,7 +29270,7 @@
); );
} }
/** /**
* EXPORTS * EXPORTS.
*/ */
/** /**
@ -29454,7 +29456,7 @@
editor.curConfig = curConfig; // Update exported value editor.curConfig = curConfig; // Update exported value
}; };
/** /**
* All methods are optional * All methods are optional.
* @interface module:SVGEditor.CustomHandler * @interface module:SVGEditor.CustomHandler
* @type {PlainObject} * @type {PlainObject}
*/ */
@ -29473,7 +29475,7 @@
* Its responsibilities are: * Its responsibilities are:
* - accept the string contents of the current document * - accept the string contents of the current document
* - invoke a file chooser dialog in 'save' mode * - invoke a file chooser dialog in 'save' mode
* - save the file to location chosen by the user * - save the file to location chosen by the user.
* @function module:SVGEditor.CustomHandler#save * @function module:SVGEditor.CustomHandler#save
* @param {external:Window} win * @param {external:Window} win
* @param {module:svgcanvas.SvgCanvas#event:saved} svgStr A string of the SVG * @param {module:svgcanvas.SvgCanvas#event:saved} svgStr A string of the SVG
@ -33212,7 +33214,7 @@
// TODO: Group UI functions into a public editor.ui interface. // TODO: Group UI functions into a public editor.ui interface.
/** /**
* See {@link http://api.jquery.com/bind/#bind-eventType-eventData-handler} * See {@link http://api.jquery.com/bind/#bind-eventType-eventData-handler}.
* @callback module:SVGEditor.DropDownCallback * @callback module:SVGEditor.DropDownCallback
* @param {external:jQuery.Event} ev See {@link http://api.jquery.com/Types/#Event} * @param {external:jQuery.Event} ev See {@link http://api.jquery.com/Types/#Event}
* @listens external:jQuery.Event * @listens external:jQuery.Event
@ -35264,7 +35266,7 @@
/* eslint-disable jsdoc/require-property */ /* eslint-disable jsdoc/require-property */
/** /**
* Associate all button actions as well as non-button keyboard shortcuts * Associate all button actions as well as non-button keyboard shortcuts.
* @namespace {PlainObject} module:SVGEditor~Actions * @namespace {PlainObject} module:SVGEditor~Actions
*/ */