umap-project 2.7.0b0__py3-none-any.whl → 2.7.0b3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of umap-project might be problematic. Click here for more details.
- umap/__init__.py +1 -1
- umap/static/umap/css/contextmenu.css +1 -1
- umap/static/umap/js/modules/browser.js +47 -0
- umap/static/umap/js/modules/rendering/layers/classified.js +1 -0
- umap/static/umap/js/modules/rendering/ui.js +28 -6
- umap/static/umap/js/modules/tableeditor.js +1 -1
- umap/static/umap/js/modules/ui/contextmenu.js +18 -2
- umap/static/umap/js/umap.controls.js +4 -10
- umap/static/umap/js/umap.js +21 -13
- umap/static/umap/locale/en.js +4 -1
- umap/static/umap/locale/en.json +4 -1
- umap/static/umap/locale/fr.js +4 -1
- umap/static/umap/locale/fr.json +4 -1
- umap/static/umap/map.css +10 -0
- umap/static/umap/unittests/hlc.js +8 -3
- umap/static/umap/vendors/colorbrewer/colorbrewer.js +309 -317
- umap/static/umap/vendors/dompurify/purify.es.js +15 -16
- umap/static/umap/vendors/dompurify/purify.es.mjs.map +1 -1
- umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.js +2 -2
- umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.js.map +1 -1
- umap/static/umap/vendors/simple-statistics/simple-statistics.min.js +1 -1
- umap/static/umap/vendors/simple-statistics/simple-statistics.min.js.map +1 -1
- umap/templates/umap/css.html +0 -2
- umap/templates/umap/js.html +0 -1
- umap/templates/umap/map_detail.html +2 -2
- umap/tests/fixtures/test_upload_data.csv +2 -2
- umap/tests/integration/test_browser.py +69 -7
- umap/tests/integration/test_datalayer.py +1 -5
- umap/tests/integration/test_edit_datalayer.py +1 -2
- umap/tests/integration/test_edit_marker.py +1 -1
- umap/tests/integration/test_facets_browser.py +3 -3
- umap/tests/integration/test_import.py +0 -4
- umap/tests/integration/test_map.py +0 -4
- umap/tests/integration/test_view_marker.py +63 -0
- umap/tests/test_map_views.py +19 -0
- {umap_project-2.7.0b0.dist-info → umap_project-2.7.0b3.dist-info}/METADATA +8 -7
- {umap_project-2.7.0b0.dist-info → umap_project-2.7.0b3.dist-info}/RECORD +40 -40
- {umap_project-2.7.0b0.dist-info → umap_project-2.7.0b3.dist-info}/WHEEL +0 -0
- {umap_project-2.7.0b0.dist-info → umap_project-2.7.0b3.dist-info}/entry_points.txt +0 -0
- {umap_project-2.7.0b0.dist-info → umap_project-2.7.0b3.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @license DOMPurify 3.1.
|
|
1
|
+
/*! @license DOMPurify 3.1.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.7/LICENSE */
|
|
2
2
|
|
|
3
3
|
const {
|
|
4
4
|
entries,
|
|
@@ -197,7 +197,7 @@ const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongd
|
|
|
197
197
|
const text = freeze(['#text']);
|
|
198
198
|
|
|
199
199
|
const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
|
|
200
|
-
const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
|
|
200
|
+
const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
|
|
201
201
|
const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
|
|
202
202
|
const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
|
|
203
203
|
|
|
@@ -209,11 +209,9 @@ const DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]/); // eslint-disable-line no-
|
|
|
209
209
|
const ARIA_ATTR = seal(/^aria-[\-\w]+$/); // eslint-disable-line no-useless-escape
|
|
210
210
|
const IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape
|
|
211
211
|
);
|
|
212
|
-
|
|
213
212
|
const IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
|
|
214
213
|
const ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g // eslint-disable-line no-control-regex
|
|
215
214
|
);
|
|
216
|
-
|
|
217
215
|
const DOCTYPE_NAME = seal(/^html$/i);
|
|
218
216
|
const CUSTOM_ELEMENT = seal(/^[a-z][.\w]*(-[.\w]+)+$/i);
|
|
219
217
|
|
|
@@ -248,7 +246,6 @@ const NODE_TYPE = {
|
|
|
248
246
|
documentFragment: 11,
|
|
249
247
|
notation: 12 // Deprecated
|
|
250
248
|
};
|
|
251
|
-
|
|
252
249
|
const getGlobal = function getGlobal() {
|
|
253
250
|
return typeof window === 'undefined' ? null : window;
|
|
254
251
|
};
|
|
@@ -300,7 +297,7 @@ function createDOMPurify() {
|
|
|
300
297
|
* Version label, exposed for easier checks
|
|
301
298
|
* if DOMPurify is up to date or not
|
|
302
299
|
*/
|
|
303
|
-
DOMPurify.version = '3.1.
|
|
300
|
+
DOMPurify.version = '3.1.7';
|
|
304
301
|
|
|
305
302
|
/**
|
|
306
303
|
* Array of elements that DOMPurify removed during sanitation.
|
|
@@ -331,6 +328,7 @@ function createDOMPurify() {
|
|
|
331
328
|
} = window;
|
|
332
329
|
const ElementPrototype = Element.prototype;
|
|
333
330
|
const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');
|
|
331
|
+
const remove = lookupGetter(ElementPrototype, 'remove');
|
|
334
332
|
const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');
|
|
335
333
|
const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');
|
|
336
334
|
const getParentNode = lookupGetter(ElementPrototype, 'parentNode');
|
|
@@ -719,7 +717,7 @@ function createDOMPurify() {
|
|
|
719
717
|
CONFIG = cfg;
|
|
720
718
|
};
|
|
721
719
|
const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);
|
|
722
|
-
const HTML_INTEGRATION_POINTS = addToSet({}, ['
|
|
720
|
+
const HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);
|
|
723
721
|
|
|
724
722
|
// Certain elements are allowed in both SVG and HTML
|
|
725
723
|
// namespace. We need to specify them explicitly
|
|
@@ -831,9 +829,9 @@ function createDOMPurify() {
|
|
|
831
829
|
});
|
|
832
830
|
try {
|
|
833
831
|
// eslint-disable-next-line unicorn/prefer-dom-node-remove
|
|
834
|
-
node.
|
|
832
|
+
getParentNode(node).removeChild(node);
|
|
835
833
|
} catch (_) {
|
|
836
|
-
|
|
834
|
+
remove(node);
|
|
837
835
|
}
|
|
838
836
|
};
|
|
839
837
|
|
|
@@ -1010,7 +1008,7 @@ function createDOMPurify() {
|
|
|
1010
1008
|
return true;
|
|
1011
1009
|
}
|
|
1012
1010
|
|
|
1013
|
-
/* Remove any
|
|
1011
|
+
/* Remove any occurrence of processing instructions */
|
|
1014
1012
|
if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {
|
|
1015
1013
|
_forceRemove(currentNode);
|
|
1016
1014
|
return true;
|
|
@@ -1179,6 +1177,7 @@ function createDOMPurify() {
|
|
|
1179
1177
|
hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set
|
|
1180
1178
|
_executeHook('uponSanitizeAttribute', currentNode, hookEvent);
|
|
1181
1179
|
value = hookEvent.attrValue;
|
|
1180
|
+
|
|
1182
1181
|
/* Did the hooks approve of the attribute? */
|
|
1183
1182
|
if (hookEvent.forceKeepAttr) {
|
|
1184
1183
|
continue;
|
|
@@ -1198,12 +1197,6 @@ function createDOMPurify() {
|
|
|
1198
1197
|
continue;
|
|
1199
1198
|
}
|
|
1200
1199
|
|
|
1201
|
-
/* Work around a security issue with comments inside attributes */
|
|
1202
|
-
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) {
|
|
1203
|
-
_removeAttribute(name, currentNode);
|
|
1204
|
-
continue;
|
|
1205
|
-
}
|
|
1206
|
-
|
|
1207
1200
|
/* Sanitize attribute content to be template-safe */
|
|
1208
1201
|
if (SAFE_FOR_TEMPLATES) {
|
|
1209
1202
|
arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
|
|
@@ -1228,6 +1221,12 @@ function createDOMPurify() {
|
|
|
1228
1221
|
value = SANITIZE_NAMED_PROPS_PREFIX + value;
|
|
1229
1222
|
}
|
|
1230
1223
|
|
|
1224
|
+
/* Work around a security issue with comments inside attributes */
|
|
1225
|
+
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) {
|
|
1226
|
+
_removeAttribute(name, currentNode);
|
|
1227
|
+
continue;
|
|
1228
|
+
}
|
|
1229
|
+
|
|
1231
1230
|
/* Handle attributes that require Trusted Types */
|
|
1232
1231
|
if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {
|
|
1233
1232
|
if (namespaceURI) ; else {
|