From 87f001474f41730e807730e1cbb8cf712cece964 Mon Sep 17 00:00:00 2001 From: NaVis0mple <109860906+NaVis0mple@users.noreply.github.com> Date: Wed, 20 Dec 2023 20:05:49 +0800 Subject: [PATCH 01/61] Add set button and view button at mapillary field (#9339) more info see https://github.com/openstreetmap/iD/issues/6196#issuecomment-751460516 I do the b. (set button) and c. (view button) order: click OSM object -> click mapillary layer will close the OSM input field. need to do in reverse order --- data/core.yaml | 2 ++ modules/ui/fields/input.js | 60 +++++++++++++++++++++++++++++++++++++- 2 files changed, 61 insertions(+), 1 deletion(-) diff --git a/data/core.yaml b/data/core.yaml index 864efd53d..b07669557 100644 --- a/data/core.yaml +++ b/data/core.yaml @@ -786,6 +786,8 @@ en: inch: in max_length_reached: "This string is longer than the maximum length of {maxChars} characters. Anything exceeding that length will be truncated." set_today: "Sets the value to today." + set_mapillary: "Sets the current ID of mapillary" + show_mapillary_from_field: "Show image on viewer" background: title: Background description: Background Settings diff --git a/modules/ui/fields/input.js b/modules/ui/fields/input.js index c5061b5ea..107e9e10f 100644 --- a/modules/ui/fields/input.js +++ b/modules/ui/fields/input.js @@ -13,6 +13,7 @@ import { isColourValid } from '../../osm/tags'; import { uiLengthIndicator } from '..'; import { uiTooltip } from '../tooltip'; import { isEqual } from 'lodash-es'; +import { services } from '../../services'; export { uiFieldText as uiFieldColour, @@ -30,6 +31,7 @@ export function uiFieldText(field, context) { var dispatch = d3_dispatch('change'); var input = d3_select(null); var outlinkButton = d3_select(null); + var mapillaryViewButton = d3_select(null); var wrap = d3_select(null); var _lengthIndicator = uiLengthIndicator(context.maxCharsForTagValue()); var _entityIDs = []; @@ -169,8 +171,60 @@ export function uiFieldText(field, context) { change()(); }); } else if (field.type === 'identifier' && field.urlFormat && field.pattern) { - input.attr('type', 'text'); + + if (field.id==='mapillary'){ + const service = services.mapillary; + // set button + wrap.selectAll('.mapillary-set-current') + .data([0]) + .enter() + .append('button') + .attr('class', 'form-field-button mapillary-set-current') + .call(svgIcon('#fas-rotate')) + .call(uiTooltip().title(() => t.append('inspector.set_mapillary'))) + .on('click', function(d3_event) { + d3_event.preventDefault(); + const image = service.getActiveImage(); + if (!image) return; + service + .ensureViewerLoaded(context) + .then(function() { + service + .showViewer(context) + .selectImage(context, image.id) + .initViewer(context); + utilGetSetValue(input, image.id); + change()(); + }); + }) + .merge(wrap.selectAll('.mapillary-set-current')) + .classed('disabled', () => !service.getActiveImage()); + // view button + mapillaryViewButton = wrap.selectAll('.mapillary-show-view') + .data([0]) + .enter() + .append('button') + .attr('class', 'form-field-button mapillary-show-view') + .call(svgIcon('#fas-eye')) + .call(uiTooltip().title(() => t.append('inspector.show_mapillary_from_field'))) + .on('click', function(d3_event) { + d3_event.preventDefault(); + if ( !utilGetSetValue(input).trim()) return; + service + .ensureViewerLoaded(context) + .then(function() { + service + .showViewer(context) + .selectImage(context, utilGetSetValue(input).trim()) + .initViewer(context); + }); + + }) + .merge(wrap.selectAll('.mapillary-show-view')) + .classed('disabled', () => !utilGetSetValue(input).trim()); + } + outlinkButton = wrap.selectAll('.foreign-id-permalink') .data([0]); @@ -525,6 +579,10 @@ export function uiFieldText(field, context) { outlinkButton.classed('disabled', disabled); } + if (mapillaryViewButton && !mapillaryViewButton.empty()) { + mapillaryViewButton.classed('disabled', !utilGetSetValue(input).trim()); + } + if (!isMixed) { _lengthIndicator.update(tags[field.key]); } From a2296cf03fb43cdbd6686742dd794ee61daabd54 Mon Sep 17 00:00:00 2001 From: NaVis0mple <109860906+NaVis0mple@users.noreply.github.com> Date: Thu, 21 Dec 2023 00:20:12 +0800 Subject: [PATCH 02/61] fix setButton when imageChange disabled --- modules/ui/fields/input.js | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/modules/ui/fields/input.js b/modules/ui/fields/input.js index 107e9e10f..0b0c4af1e 100644 --- a/modules/ui/fields/input.js +++ b/modules/ui/fields/input.js @@ -32,6 +32,7 @@ export function uiFieldText(field, context) { var input = d3_select(null); var outlinkButton = d3_select(null); var mapillaryViewButton = d3_select(null); + var mapillarySetButton = d3_select(null); var wrap = d3_select(null); var _lengthIndicator = uiLengthIndicator(context.maxCharsForTagValue()); var _entityIDs = []; @@ -176,7 +177,7 @@ export function uiFieldText(field, context) { if (field.id==='mapillary'){ const service = services.mapillary; // set button - wrap.selectAll('.mapillary-set-current') + mapillarySetButton = wrap.selectAll('.mapillary-set-current') .data([0]) .enter() .append('button') @@ -187,6 +188,7 @@ export function uiFieldText(field, context) { d3_event.preventDefault(); const image = service.getActiveImage(); if (!image) return; + if (image.id===utilGetSetValue(input).trim()) return; service .ensureViewerLoaded(context) .then(function() { @@ -199,7 +201,19 @@ export function uiFieldText(field, context) { }); }) .merge(wrap.selectAll('.mapillary-set-current')) - .classed('disabled', () => !service.getActiveImage()); + .classed('disabled', () => { + const image = service.getActiveImage(); + if (!image) return true; + if (image.id===utilGetSetValue(input).trim()) return true; + }); + service.on('imageChanged', function() { + mapillarySetButton.classed('disabled', () => { + const image = service.getActiveImage(); + if (!image) return true; + if (image.id===utilGetSetValue(input).trim()) return true; + return false; + }); + }); // view button mapillaryViewButton = wrap.selectAll('.mapillary-show-view') .data([0]) @@ -219,7 +233,6 @@ export function uiFieldText(field, context) { .selectImage(context, utilGetSetValue(input).trim()) .initViewer(context); }); - }) .merge(wrap.selectAll('.mapillary-show-view')) .classed('disabled', () => !utilGetSetValue(input).trim()); @@ -583,6 +596,19 @@ export function uiFieldText(field, context) { mapillaryViewButton.classed('disabled', !utilGetSetValue(input).trim()); } + if (mapillarySetButton && !mapillarySetButton.empty()) { + const service = services.mapillary; + mapillarySetButton.classed('disabled', () => { + const image = service.getActiveImage(); + if (!image) return true; + if (image.id===utilGetSetValue(input).trim()) { + return true; + } else { + return false; + } + }); + } + if (!isMixed) { _lengthIndicator.update(tags[field.key]); } From 33f4f8ee5c458016a4c9c4acf44b967549f167dc Mon Sep 17 00:00:00 2001 From: NaVis0mple <109860906+NaVis0mple@users.noreply.github.com> Date: Thu, 21 Dec 2023 21:49:47 +0800 Subject: [PATCH 03/61] fix button title --- modules/ui/fields/input.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ui/fields/input.js b/modules/ui/fields/input.js index 0b0c4af1e..75989e0dd 100644 --- a/modules/ui/fields/input.js +++ b/modules/ui/fields/input.js @@ -183,7 +183,7 @@ export function uiFieldText(field, context) { .append('button') .attr('class', 'form-field-button mapillary-set-current') .call(svgIcon('#fas-rotate')) - .call(uiTooltip().title(() => t.append('inspector.set_mapillary'))) + .attr('title', t('inspector.set_mapillary')) .on('click', function(d3_event) { d3_event.preventDefault(); const image = service.getActiveImage(); @@ -221,7 +221,7 @@ export function uiFieldText(field, context) { .append('button') .attr('class', 'form-field-button mapillary-show-view') .call(svgIcon('#fas-eye')) - .call(uiTooltip().title(() => t.append('inspector.show_mapillary_from_field'))) + .attr('title', t('inspector.show_mapillary_from_field')) .on('click', function(d3_event) { d3_event.preventDefault(); if ( !utilGetSetValue(input).trim()) return; From 5890b79472882e37be0a9dd833cf6c08737e24b3 Mon Sep 17 00:00:00 2001 From: NaVis0mple <109860906+NaVis0mple@users.noreply.github.com> Date: Thu, 28 Dec 2023 00:34:14 +0800 Subject: [PATCH 04/61] Add set mapillary id button in the mapillary photo viewer It is the a. part in https://github.com/openstreetmap/iD/issues/6196#issuecomment-751460516 still need to add button disabled logic --- css/60_photos.css | 9 ++++++ modules/ui/photoviewer.js | 60 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 68 insertions(+), 1 deletion(-) diff --git a/css/60_photos.css b/css/60_photos.css index 729f2ba6f..6cec267d6 100644 --- a/css/60_photos.css +++ b/css/60_photos.css @@ -33,6 +33,15 @@ z-index: 50; } +.photoviewer button.set-mapillary-image-ID-field { + border-radius: 0; + padding: 5px; + position: absolute; + left: 5px; + top: 5px; + z-index: 50; +} + .photoviewer button.resize-handle-xy { border-radius: 0; position: absolute; diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index 0d1240ff8..6c1f87635 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -6,7 +6,7 @@ import { t } from '../core/localizer'; import { dispatch as d3_dispatch } from 'd3-dispatch'; import { svgIcon } from '../svg/icon'; import { utilGetDimensions } from '../util/dimensions'; -import { utilRebind } from '../util'; +import { utilRebind , utilGetSetValue } from '../util'; import { services } from '../services'; export function uiPhotoviewer(context) { @@ -61,6 +61,64 @@ export function uiPhotoviewer(context) { buildResizeListener(selection, 'resize', dispatch, { resizeOnY: true }) ); + if (services.mapillary) { + addMapillayIdButton(); + } + + // add set-mapillary-button in mapillary viewer + function addMapillayIdButton () { + + const service = services.mapillary; + selection + .append('button') + .attr('class', 'set-mapillary-image-ID-field') + .on('click', function(d3_event) { + d3_event.preventDefault(); + const editorPane = d3_select('.entity-editor-pane'); + const inspector_wrap = d3_select('.inspector-wrap'); + const mailallary_image_ID_field = d3_select('.wrap-form-field-mapillary'); + const changeEvent = new Event('change'); + if (!editorPane) return; + + if (!editorPane.classed('hide')&&!inspector_wrap.classed('inspector-hidden')){ + // check if mapillary image id field exist + if (!mailallary_image_ID_field.empty()) { + // insert id + const image = service.getActiveImage(); + const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); + utilGetSetValue(fieldInput,image.id); + + // trigger change at field + fieldInput.node().focus(); + fieldInput.node().dispatchEvent(changeEvent); + } else { + // open the Mapillary field + const comboboxInput = d3_select('.value.combobox-input'); + const EnterEvent = new KeyboardEvent('keydown',{keyCode : 13}); + utilGetSetValue(comboboxInput,'Mapillary Image ID'); + comboboxInput.node().focus(); + comboboxInput.node().dispatchEvent(EnterEvent); + + // insert id + const image = service.getActiveImage(); + const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); + utilGetSetValue(fieldInput,image.id); + + // trigger change at field + fieldInput.node().focus(); + fieldInput.node().dispatchEvent(changeEvent); + } + } else { + /* eslint-disable no-console */ + console.log('editorPane hide'); + /* eslint-disable no-console */ + } + }) + .append('div') + .call(svgIcon('#fas-rotate')) + .attr('title', t('inspector.set_mapillary')); + } + function buildResizeListener(target, eventName, dispatch, options) { var resizeOnX = !!options.resizeOnX; From 6523ae6f9428a231bb497b56fe7d0f201581c4c7 Mon Sep 17 00:00:00 2001 From: NaVis0mple <109860906+NaVis0mple@users.noreply.github.com> Date: Thu, 18 Jan 2024 15:20:33 +0800 Subject: [PATCH 05/61] Update icon to '#iD-operation-merge' --- modules/ui/photoviewer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index 6c1f87635..a3b3e3bce 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -115,7 +115,7 @@ export function uiPhotoviewer(context) { } }) .append('div') - .call(svgIcon('#fas-rotate')) + .call(svgIcon('#iD-operation-merge')) .attr('title', t('inspector.set_mapillary')); } From 2b0e0f6349f0a9d89746b23eeb83aff4d1deb6fe Mon Sep 17 00:00:00 2001 From: NaVis0mple <109860906+NaVis0mple@users.noreply.github.com> Date: Thu, 18 Jan 2024 15:36:05 +0800 Subject: [PATCH 06/61] update core.yaml --- data/core.yaml | 5 +++-- modules/ui/fields/input.js | 4 ++-- modules/ui/photoviewer.js | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/data/core.yaml b/data/core.yaml index b07669557..9db7df56a 100644 --- a/data/core.yaml +++ b/data/core.yaml @@ -786,8 +786,9 @@ en: inch: in max_length_reached: "This string is longer than the maximum length of {maxChars} characters. Anything exceeding that length will be truncated." set_today: "Sets the value to today." - set_mapillary: "Sets the current ID of mapillary" - show_mapillary_from_field: "Show image on viewer" + set_photo_from_viewer: "Store this photo on the currently selected map object" + set_photo_from_field: "Use the currently displayed photo" + show_photo_from_field: "Open image in viewer" background: title: Background description: Background Settings diff --git a/modules/ui/fields/input.js b/modules/ui/fields/input.js index 75989e0dd..fdef4c9ff 100644 --- a/modules/ui/fields/input.js +++ b/modules/ui/fields/input.js @@ -183,7 +183,7 @@ export function uiFieldText(field, context) { .append('button') .attr('class', 'form-field-button mapillary-set-current') .call(svgIcon('#fas-rotate')) - .attr('title', t('inspector.set_mapillary')) + .attr('title', t('inspector.set_photo_from_field')) .on('click', function(d3_event) { d3_event.preventDefault(); const image = service.getActiveImage(); @@ -221,7 +221,7 @@ export function uiFieldText(field, context) { .append('button') .attr('class', 'form-field-button mapillary-show-view') .call(svgIcon('#fas-eye')) - .attr('title', t('inspector.show_mapillary_from_field')) + .attr('title', t('inspector.show_photo_from_field')) .on('click', function(d3_event) { d3_event.preventDefault(); if ( !utilGetSetValue(input).trim()) return; diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index a3b3e3bce..6eeb0cc2b 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -116,7 +116,7 @@ export function uiPhotoviewer(context) { }) .append('div') .call(svgIcon('#iD-operation-merge')) - .attr('title', t('inspector.set_mapillary')); + .attr('title', t('inspector.set_photo_from_viewer')); } function buildResizeListener(target, eventName, dispatch, options) { From 0ef947d4257993a1e5ad7b787fb8924927a8da7a Mon Sep 17 00:00:00 2001 From: NaVis0mple <109860906+NaVis0mple@users.noreply.github.com> Date: Sat, 20 Jan 2024 20:07:49 +0800 Subject: [PATCH 07/61] Update set_photo_from_viewer button create/remove logic refactor the code expandability for other photo_overlay Not sure about context.features().on('change'), and hash part --- css/60_photos.css | 2 +- modules/ui/photoviewer.js | 124 +++++++++++++++++++++++--------------- 2 files changed, 75 insertions(+), 51 deletions(-) diff --git a/css/60_photos.css b/css/60_photos.css index 6cec267d6..1368ad40f 100644 --- a/css/60_photos.css +++ b/css/60_photos.css @@ -33,7 +33,7 @@ z-index: 50; } -.photoviewer button.set-mapillary-image-ID-field { +.photoviewer button.set_photo_from_viewer { border-radius: 0; padding: 5px; position: absolute; diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index 6eeb0cc2b..d72baa4b6 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -6,7 +6,7 @@ import { t } from '../core/localizer'; import { dispatch as d3_dispatch } from 'd3-dispatch'; import { svgIcon } from '../svg/icon'; import { utilGetDimensions } from '../util/dimensions'; -import { utilRebind , utilGetSetValue } from '../util'; +import { utilRebind, utilGetSetValue, utilStringQs } from '../util'; import { services } from '../services'; export function uiPhotoviewer(context) { @@ -61,62 +61,86 @@ export function uiPhotoviewer(context) { buildResizeListener(selection, 'resize', dispatch, { resizeOnY: true }) ); - if (services.mapillary) { - addMapillayIdButton(); - } + // set_photo_from_viewer button + context.features() + // need fix : click sidebar not listen, maybe has more precise way to listen to + .on('change', function() { + const hash = utilStringQs(window.location.hash); + let [serviceId, photoId] = []; + let photo_overlay = []; + if (hash.photo) { + [serviceId, photoId] = hash.photo.split('/'); + } - // add set-mapillary-button in mapillary viewer - function addMapillayIdButton () { + if (hash.photo_overlay) { + photo_overlay = hash.photo_overlay.split(','); + } + // check photoviewer open && photo and layer match && currently only support mapillary + if (serviceId && photo_overlay.includes(serviceId) && serviceId === 'mapillary') { + context.container() + .on('click.set_photo_from_viewer', function() { + const inspector_wrap = d3_select('.inspector-wrap'); + const editorPane = d3_select('.entity-editor-pane'); + const button = selection.selectAll('.set_photo_from_viewer').data([0]); + + if (!inspector_wrap.classed('inspector-hidden') && + !editorPane.classed('hide') && + context.mode().id === 'select') { + button.enter() + .append('button') + .attr('class', 'set_photo_from_viewer') + .on('click', function() { + if (serviceId === 'mapillary' && services.mapillary) { set_photo_from_mapillary_viewer(); } + }) + .append('div') + .call(svgIcon('#iD-operation-merge')) + .attr('title', t('inspector.set_photo_from_viewer')); + } else { + button.remove(); + } + }); + } else { + // remove listener and button + context.container() + .on('click.set_photo_from_viewer', null); + const button = selection.selectAll('.set_photo_from_viewer'); + button.remove(); + } + }); + + function set_photo_from_mapillary_viewer() { + const mapillary_image_ID_field = d3_select('.wrap-form-field-mapillary'); + const changeEvent = new Event('change'); const service = services.mapillary; - selection - .append('button') - .attr('class', 'set-mapillary-image-ID-field') - .on('click', function(d3_event) { - d3_event.preventDefault(); - const editorPane = d3_select('.entity-editor-pane'); - const inspector_wrap = d3_select('.inspector-wrap'); - const mailallary_image_ID_field = d3_select('.wrap-form-field-mapillary'); - const changeEvent = new Event('change'); - if (!editorPane) return; - if (!editorPane.classed('hide')&&!inspector_wrap.classed('inspector-hidden')){ - // check if mapillary image id field exist - if (!mailallary_image_ID_field.empty()) { - // insert id - const image = service.getActiveImage(); - const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); - utilGetSetValue(fieldInput,image.id); + // check if mapillary image id field exist + if (!mapillary_image_ID_field.empty()) { + // insert id + const image = service.getActiveImage(); + const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); + utilGetSetValue(fieldInput,image.id); - // trigger change at field - fieldInput.node().focus(); - fieldInput.node().dispatchEvent(changeEvent); - } else { - // open the Mapillary field - const comboboxInput = d3_select('.value.combobox-input'); - const EnterEvent = new KeyboardEvent('keydown',{keyCode : 13}); - utilGetSetValue(comboboxInput,'Mapillary Image ID'); - comboboxInput.node().focus(); - comboboxInput.node().dispatchEvent(EnterEvent); + // trigger change at field + fieldInput.node().focus(); + fieldInput.node().dispatchEvent(changeEvent); + } else { + // open the Mapillary field + const comboboxInput = d3_select('.value.combobox-input'); + const EnterEvent = new KeyboardEvent('keydown',{keyCode : 13}); + utilGetSetValue(comboboxInput,'Mapillary Image ID'); + comboboxInput.node().focus(); + comboboxInput.node().dispatchEvent(EnterEvent); - // insert id - const image = service.getActiveImage(); - const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); - utilGetSetValue(fieldInput,image.id); + // insert id + const image = service.getActiveImage(); + const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); + utilGetSetValue(fieldInput,image.id); - // trigger change at field - fieldInput.node().focus(); - fieldInput.node().dispatchEvent(changeEvent); - } - } else { - /* eslint-disable no-console */ - console.log('editorPane hide'); - /* eslint-disable no-console */ - } - }) - .append('div') - .call(svgIcon('#iD-operation-merge')) - .attr('title', t('inspector.set_photo_from_viewer')); + // trigger change at field + fieldInput.node().focus(); + fieldInput.node().dispatchEvent(changeEvent); + } } function buildResizeListener(target, eventName, dispatch, options) { From 437ecf956b27ac8651ad5017df530c81483455bf Mon Sep 17 00:00:00 2001 From: NaVis0mple <109860906+NaVis0mple@users.noreply.github.com> Date: Wed, 24 Jan 2024 20:57:59 +0800 Subject: [PATCH 08/61] update open the viewer button logic 1 problem remain: if entity select and close the photoviewer, view button will not update class, still clickable though --- modules/ui/fields/input.js | 196 +++++++++++++++++++++++-------------- 1 file changed, 125 insertions(+), 71 deletions(-) diff --git a/modules/ui/fields/input.js b/modules/ui/fields/input.js index fdef4c9ff..cc09b8d80 100644 --- a/modules/ui/fields/input.js +++ b/modules/ui/fields/input.js @@ -174,68 +174,8 @@ export function uiFieldText(field, context) { } else if (field.type === 'identifier' && field.urlFormat && field.pattern) { input.attr('type', 'text'); - if (field.id==='mapillary'){ - const service = services.mapillary; - // set button - mapillarySetButton = wrap.selectAll('.mapillary-set-current') - .data([0]) - .enter() - .append('button') - .attr('class', 'form-field-button mapillary-set-current') - .call(svgIcon('#fas-rotate')) - .attr('title', t('inspector.set_photo_from_field')) - .on('click', function(d3_event) { - d3_event.preventDefault(); - const image = service.getActiveImage(); - if (!image) return; - if (image.id===utilGetSetValue(input).trim()) return; - service - .ensureViewerLoaded(context) - .then(function() { - service - .showViewer(context) - .selectImage(context, image.id) - .initViewer(context); - utilGetSetValue(input, image.id); - change()(); - }); - }) - .merge(wrap.selectAll('.mapillary-set-current')) - .classed('disabled', () => { - const image = service.getActiveImage(); - if (!image) return true; - if (image.id===utilGetSetValue(input).trim()) return true; - }); - service.on('imageChanged', function() { - mapillarySetButton.classed('disabled', () => { - const image = service.getActiveImage(); - if (!image) return true; - if (image.id===utilGetSetValue(input).trim()) return true; - return false; - }); - }); - // view button - mapillaryViewButton = wrap.selectAll('.mapillary-show-view') - .data([0]) - .enter() - .append('button') - .attr('class', 'form-field-button mapillary-show-view') - .call(svgIcon('#fas-eye')) - .attr('title', t('inspector.show_photo_from_field')) - .on('click', function(d3_event) { - d3_event.preventDefault(); - if ( !utilGetSetValue(input).trim()) return; - service - .ensureViewerLoaded(context) - .then(function() { - service - .showViewer(context) - .selectImage(context, utilGetSetValue(input).trim()) - .initViewer(context); - }); - }) - .merge(wrap.selectAll('.mapillary-show-view')) - .classed('disabled', () => !utilGetSetValue(input).trim()); + if (field.id === 'mapillary') { + updateMapillaryImageIDField(); } outlinkButton = wrap.selectAll('.foreign-id-permalink') @@ -422,6 +362,111 @@ export function uiFieldText(field, context) { if (format) input.attr('placeholder', format); } + function updateMapillaryImageIDField() { + const service = services.mapillary; + // set button + mapillarySetButton = wrap.selectAll('.mapillary-set-current') + .data([0]); + + mapillarySetButton.enter() + .append('button') + .attr('class', 'form-field-button mapillary-set-current') + .call(svgIcon('#fas-rotate')) + .attr('title', t('inspector.set_photo_from_field')) + .on('click', function(d3_event) { + d3_event.preventDefault(); + const image = service.getActiveImage(); + if (!image) return; + if (image.id === utilGetSetValue(input).trim()) return; + service + .ensureViewerLoaded(context) + .then(function() { + utilGetSetValue(input, image.id); + change()(); + }); + mapillarySetButton.node().blur(); + }) + .merge(mapillarySetButton) + .classed('disabled', _debounce(() => { + const image = service.getActiveImage(); + if (!image) return true; + if (image.id === utilGetSetValue(input).trim()) return true; + return false; + }), 100); + + // view button + mapillaryViewButton = wrap.selectAll('.mapillary-show-view') + .data([0]); + + mapillaryViewButton.enter() + .append('button') + .attr('class', 'form-field-button mapillary-show-view') + .call(svgIcon('#fas-eye')) + .attr('title', t('inspector.show_photo_from_field')) + .on('click', function(d3_event) { + d3_event.preventDefault(); + const isHidden = context.container() + .select('.photoviewer') + .selectAll('.photo-wrapper.mly-wrapper.hide') + .size(); + + if (isHidden) { + if (!utilGetSetValue(input).trim()) return; + service + .ensureViewerLoaded(context) + .then(function() { + service + .showViewer(context) + .selectImage(context, utilGetSetValue(input).trim()) + .initViewer(context); + }); + } else { + if (!utilGetSetValue(input).trim()) return; + const image = service.getActiveImage(); + if (!image) return; + if (image.id === utilGetSetValue(input).trim()) return; + + service + .ensureViewerLoaded(context) + .then(function() { + service + .selectImage(context, utilGetSetValue(input).trim()) + .initViewer(context); + }); + } + mapillaryViewButton.node().blur(); + }) + .merge(mapillaryViewButton) + .classed('disabled', _debounce(() => { + if (!utilGetSetValue(input).trim()) return true; + const isHidden = context.container() + .select('.photoviewer') + .selectAll('.photo-wrapper.mly-wrapper.hide') + .size(); + if (isHidden) return false; + const image = service.getActiveImage(); + if (!image) return true; + if (image.id === utilGetSetValue(input).trim()) return true; + return false; + }, 100)); + + service.on('imageChanged', function() { + mapillarySetButton.classed('disabled', () => { + const image = service.getActiveImage(); + if (!image) return true; + if (image.id === utilGetSetValue(input).trim()) return true; + return false; + }); + mapillaryViewButton.classed('disabled', () => { + if (!utilGetSetValue(input).trim()) return true; + const image = service.getActiveImage(); + if (!image) return true; + if (image.id === utilGetSetValue(input).trim()) return true; + return false; + }); + }); + } + function validIdentifierValueForLink() { const value = utilGetSetValue(input).trim(); @@ -592,20 +637,29 @@ export function uiFieldText(field, context) { outlinkButton.classed('disabled', disabled); } - if (mapillaryViewButton && !mapillaryViewButton.empty()) { - mapillaryViewButton.classed('disabled', !utilGetSetValue(input).trim()); - } - if (mapillarySetButton && !mapillarySetButton.empty()) { const service = services.mapillary; mapillarySetButton.classed('disabled', () => { const image = service.getActiveImage(); if (!image) return true; - if (image.id===utilGetSetValue(input).trim()) { - return true; - } else { - return false; - } + if (image.id === utilGetSetValue(input).trim()) return true; + return false; + }); + } + + if (mapillaryViewButton && !mapillaryViewButton.empty()) { + const service = services.mapillary; + mapillaryViewButton.classed('disabled', () => { + if (!utilGetSetValue(input).trim()) return true; + const isHidden = context.container() + .select('.photoviewer') + .selectAll('.photo-wrapper.mly-wrapper.hide') + .size(); + if (isHidden) return false; + const image = service.getActiveImage(); + if (!image) return true; + if (image.id === utilGetSetValue(input).trim()) return true; + return false; }); } From 0ad46e0b72271e6f7f74c7835e6fcbb2c168c552 Mon Sep 17 00:00:00 2001 From: NaVis0mple <109860906+NaVis0mple@users.noreply.github.com> Date: Sat, 27 Jan 2024 15:14:27 +0800 Subject: [PATCH 09/61] Add error message in photoviewer when invalid id and update input.js --- css/60_photos.css | 12 ++++++++++++ data/core.yaml | 1 + modules/services/mapillary.js | 3 ++- modules/ui/fields/input.js | 11 +++++------ modules/ui/photoviewer.js | 18 ++++++++++++++++++ 5 files changed, 38 insertions(+), 7 deletions(-) diff --git a/css/60_photos.css b/css/60_photos.css index 1368ad40f..71d9efa3a 100644 --- a/css/60_photos.css +++ b/css/60_photos.css @@ -76,6 +76,18 @@ width: 100%; } +.photoviewer .error-handler { + border-radius: 0; + padding: 15px; + position: absolute; + left: 50%; + top: 75px; + transform: translate(-50%, -50%); + z-index: 50; + color: red; + font-size: 20px; +} + .photo-wrapper { width: 100%; diff --git a/data/core.yaml b/data/core.yaml index 9db7df56a..a751f855b 100644 --- a/data/core.yaml +++ b/data/core.yaml @@ -789,6 +789,7 @@ en: set_photo_from_viewer: "Store this photo on the currently selected map object" set_photo_from_field: "Use the currently displayed photo" show_photo_from_field: "Open image in viewer" + show_photo_from_field_error: "Invalid ID" background: title: Background description: Background Settings diff --git a/modules/services/mapillary.js b/modules/services/mapillary.js index fb64e1eab..b8e46004f 100644 --- a/modules/services/mapillary.js +++ b/modules/services/mapillary.js @@ -19,7 +19,7 @@ const trafficSignTileUrl = `${baseTileUrl}/mly_map_feature_traffic_sign/2/{z}/{x const viewercss = 'mapillary-js/mapillary.css'; const viewerjs = 'mapillary-js/mapillary.js'; const minZoom = 14; -const dispatch = d3_dispatch('change', 'loadedImages', 'loadedSigns', 'loadedMapFeatures', 'bearingChanged', 'imageChanged'); +const dispatch = d3_dispatch('change', 'loadedImages', 'loadedSigns', 'loadedMapFeatures', 'bearingChanged', 'imageChanged', 'error'); let _loadViewerPromise; let _mlyActiveImage; @@ -606,6 +606,7 @@ export default { _mlyViewer.moveTo(imageId) .catch(function(e) { console.error('mly3', e); // eslint-disable-line no-console + dispatch.call('error', undefined, e); }); } diff --git a/modules/ui/fields/input.js b/modules/ui/fields/input.js index cc09b8d80..d5157a7aa 100644 --- a/modules/ui/fields/input.js +++ b/modules/ui/fields/input.js @@ -384,7 +384,7 @@ export function uiFieldText(field, context) { utilGetSetValue(input, image.id); change()(); }); - mapillarySetButton.node().blur(); + mapillarySetButton.node()?.blur(); }) .merge(mapillarySetButton) .classed('disabled', _debounce(() => { @@ -412,13 +412,13 @@ export function uiFieldText(field, context) { if (isHidden) { if (!utilGetSetValue(input).trim()) return; + service .ensureViewerLoaded(context) .then(function() { service - .showViewer(context) .selectImage(context, utilGetSetValue(input).trim()) - .initViewer(context); + .showViewer(context); }); } else { if (!utilGetSetValue(input).trim()) return; @@ -430,11 +430,10 @@ export function uiFieldText(field, context) { .ensureViewerLoaded(context) .then(function() { service - .selectImage(context, utilGetSetValue(input).trim()) - .initViewer(context); + .selectImage(context, utilGetSetValue(input).trim()); }); } - mapillaryViewButton.node().blur(); + mapillaryViewButton.node()?.blur(); }) .merge(mapillaryViewButton) .classed('disabled', _debounce(() => { diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index d72baa4b6..1f523adc5 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -143,6 +143,24 @@ export function uiPhotoviewer(context) { } } + // error message handler + const errorHandler = selection + .append('div') + .attr('class', 'error-handler') + .append('div') + .style('opacity', '0'); + + + services.mapillary + .on('error', function(e) { + errorHandler + .text(t('inspector.show_photo_from_field_error')) + .style('opacity', '1') + .transition() + .duration(1000) + .style('opacity', '0'); + }); + function buildResizeListener(target, eventName, dispatch, options) { var resizeOnX = !!options.resizeOnX; From cc10898a58cdd5db49d832761c2899cf15d5f1e7 Mon Sep 17 00:00:00 2001 From: NaVis0mple <109860906+NaVis0mple@users.noreply.github.com> Date: Mon, 29 Jan 2024 17:38:29 +0800 Subject: [PATCH 10/61] finish open the viewer button logic button disable class reacts to photoviewer close --- modules/ui/fields/input.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/ui/fields/input.js b/modules/ui/fields/input.js index d5157a7aa..1317d191b 100644 --- a/modules/ui/fields/input.js +++ b/modules/ui/fields/input.js @@ -420,6 +420,7 @@ export function uiFieldText(field, context) { .selectImage(context, utilGetSetValue(input).trim()) .showViewer(context); }); + mapillaryViewButton.classed('disabled', true); } else { if (!utilGetSetValue(input).trim()) return; const image = service.getActiveImage(); @@ -457,6 +458,11 @@ export function uiFieldText(field, context) { return false; }); mapillaryViewButton.classed('disabled', () => { + const isHidden = context.container() + .select('.photoviewer') + .selectAll('.photo-wrapper.mly-wrapper.hide') + .size(); + if (isHidden) return false; if (!utilGetSetValue(input).trim()) return true; const image = service.getActiveImage(); if (!image) return true; From b597cc1341c99ff24734a2be6138e502e7abb6ab Mon Sep 17 00:00:00 2001 From: NaVis0mple <109860906+NaVis0mple@users.noreply.github.com> Date: Fri, 2 Feb 2024 16:30:52 +0800 Subject: [PATCH 11/61] refactor the code --- modules/ui/photoviewer.js | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index 1f523adc5..c77e53fd6 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -110,36 +110,31 @@ export function uiPhotoviewer(context) { }); function set_photo_from_mapillary_viewer() { - const mapillary_image_ID_field = d3_select('.wrap-form-field-mapillary'); - const changeEvent = new Event('change'); - const service = services.mapillary; - - // check if mapillary image id field exist - if (!mapillary_image_ID_field.empty()) { + function insertIdAndTriggerChangeAtField() { + const changeEvent = new Event('change'); + const service = services.mapillary; // insert id const image = service.getActiveImage(); const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); - utilGetSetValue(fieldInput,image.id); + utilGetSetValue(fieldInput, image.id); // trigger change at field fieldInput.node().focus(); fieldInput.node().dispatchEvent(changeEvent); + } + // check if mapillary image id field exist + const mapillary_image_ID_field = d3_select('.wrap-form-field-mapillary'); + if (!mapillary_image_ID_field.empty()) { + insertIdAndTriggerChangeAtField(); } else { // open the Mapillary field const comboboxInput = d3_select('.value.combobox-input'); - const EnterEvent = new KeyboardEvent('keydown',{keyCode : 13}); - utilGetSetValue(comboboxInput,'Mapillary Image ID'); + const EnterEvent = new KeyboardEvent('keydown', { keyCode: 13 }); + utilGetSetValue(comboboxInput, 'Mapillary Image ID'); comboboxInput.node().focus(); comboboxInput.node().dispatchEvent(EnterEvent); - // insert id - const image = service.getActiveImage(); - const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); - utilGetSetValue(fieldInput,image.id); - - // trigger change at field - fieldInput.node().focus(); - fieldInput.node().dispatchEvent(changeEvent); + insertIdAndTriggerChangeAtField(); } } From 666bbbfbfcd5d06032c7b3ad3a26da67b0959bb8 Mon Sep 17 00:00:00 2001 From: NaVis0mple <109860906+NaVis0mple@users.noreply.github.com> Date: Fri, 2 Feb 2024 17:07:26 +0800 Subject: [PATCH 12/61] code style change --- modules/ui/photoviewer.js | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index c77e53fd6..0daeb0bbd 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -64,7 +64,7 @@ export function uiPhotoviewer(context) { // set_photo_from_viewer button context.features() // need fix : click sidebar not listen, maybe has more precise way to listen to - .on('change', function() { + .on('change', function () { const hash = utilStringQs(window.location.hash); let [serviceId, photoId] = []; let photo_overlay = []; @@ -78,24 +78,24 @@ export function uiPhotoviewer(context) { // check photoviewer open && photo and layer match && currently only support mapillary if (serviceId && photo_overlay.includes(serviceId) && serviceId === 'mapillary') { context.container() - .on('click.set_photo_from_viewer', function() { + .on('click.set_photo_from_viewer', function () { const inspector_wrap = d3_select('.inspector-wrap'); const editorPane = d3_select('.entity-editor-pane'); const button = selection.selectAll('.set_photo_from_viewer').data([0]); if (!inspector_wrap.classed('inspector-hidden') && - !editorPane.classed('hide') && + !editorPane.classed('hide') && context.mode().id === 'select') { - button.enter() - .append('button') - .attr('class', 'set_photo_from_viewer') - .on('click', function() { - if (serviceId === 'mapillary' && services.mapillary) { set_photo_from_mapillary_viewer(); } - }) - .append('div') - .call(svgIcon('#iD-operation-merge')) - .attr('title', t('inspector.set_photo_from_viewer')); + button.enter() + .append('button') + .attr('class', 'set_photo_from_viewer') + .on('click', function () { + if (serviceId === 'mapillary' && services.mapillary) { set_photo_from_mapillary_viewer(); } + }) + .append('div') + .call(svgIcon('#iD-operation-merge')) + .attr('title', t('inspector.set_photo_from_viewer')); } else { button.remove(); } @@ -147,7 +147,7 @@ export function uiPhotoviewer(context) { services.mapillary - .on('error', function(e) { + .on('error', function () { errorHandler .text(t('inspector.show_photo_from_field_error')) .style('opacity', '1') From 6b860b7da0e5c68f99f710b6862d0237251b47aa Mon Sep 17 00:00:00 2001 From: NaVis0mple <109860906+NaVis0mple@users.noreply.github.com> Date: Mon, 5 Feb 2024 18:12:01 +0800 Subject: [PATCH 13/61] refactor the code '_' change to '-' --- css/60_photos.css | 2 +- modules/ui/photoviewer.js | 93 ++++++++++++++++++++------------------- 2 files changed, 48 insertions(+), 47 deletions(-) diff --git a/css/60_photos.css b/css/60_photos.css index 71d9efa3a..3eee4d15b 100644 --- a/css/60_photos.css +++ b/css/60_photos.css @@ -33,7 +33,7 @@ z-index: 50; } -.photoviewer button.set_photo_from_viewer { +.photoviewer button.set-photo-from-viewer { border-radius: 0; padding: 5px; position: absolute; diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index 0daeb0bbd..9ba33e3f5 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -62,54 +62,55 @@ export function uiPhotoviewer(context) { ); // set_photo_from_viewer button - context.features() - // need fix : click sidebar not listen, maybe has more precise way to listen to - .on('change', function () { - const hash = utilStringQs(window.location.hash); - let [serviceId, photoId] = []; - let photo_overlay = []; - if (hash.photo) { - [serviceId, photoId] = hash.photo.split('/'); - } + context.container().on('click.setPhotoFromViewer', setPhotoFromViewerButton); - if (hash.photo_overlay) { - photo_overlay = hash.photo_overlay.split(','); - } - // check photoviewer open && photo and layer match && currently only support mapillary - if (serviceId && photo_overlay.includes(serviceId) && serviceId === 'mapillary') { - context.container() - .on('click.set_photo_from_viewer', function () { - const inspector_wrap = d3_select('.inspector-wrap'); - const editorPane = d3_select('.entity-editor-pane'); + function setPhotoFromViewerButton() { + const inspectorWrap = d3_select('.inspector-wrap'); + const editorPane = d3_select('.entity-editor-pane'); + const presetPane = d3_select('.preset-list-pane'); + const button = selection.selectAll('.set-photo-from-viewer').data([0]); + const hash = utilStringQs(window.location.hash); + let [serviceId, photoId] = []; + let photo_overlay = []; + if (hash.photo) { + [serviceId, photoId] = hash.photo.split('/'); + } - const button = selection.selectAll('.set_photo_from_viewer').data([0]); + if (hash.photo_overlay) { + photo_overlay = hash.photo_overlay.split(','); + } - if (!inspector_wrap.classed('inspector-hidden') && - !editorPane.classed('hide') && - context.mode().id === 'select') { - button.enter() - .append('button') - .attr('class', 'set_photo_from_viewer') - .on('click', function () { - if (serviceId === 'mapillary' && services.mapillary) { set_photo_from_mapillary_viewer(); } - }) - .append('div') - .call(svgIcon('#iD-operation-merge')) - .attr('title', t('inspector.set_photo_from_viewer')); - } else { - button.remove(); - } - }); - } else { - // remove listener and button - context.container() - .on('click.set_photo_from_viewer', null); - const button = selection.selectAll('.set_photo_from_viewer'); - button.remove(); - } - }); + // check photoviewer open && photo and layer match && currently only support mapillary && editorpane open + if (serviceId && + photo_overlay.includes(serviceId) && + serviceId === 'mapillary' && + !inspectorWrap.classed('inspector-hidden') && + !editorPane.classed('hide') && + presetPane.classed('hide') && + context.mode().id === 'select') { + buttonCreate(); + context.features().on('change.setPhotoFromViewerButtonCreate', buttonCreate); + } else { + // remove listener and button + context.features().on('change.setPhotoFromViewerButtonCreate', null); + const button = selection.selectAll('.set-photo-from-viewer'); + button.remove(); + } - function set_photo_from_mapillary_viewer() { + function buttonCreate() { + button.enter() + .append('button') + .attr('class', 'set-photo-from-viewer') + .on('click', function () { + if (serviceId === 'mapillary' && services.mapillary) { setPhotoFromMapillaryViewer(); } + }) + .append('div') + .call(svgIcon('#iD-operation-merge')) + .attr('title', t('inspector.set_photo_from_viewer')); + } + } + + function setPhotoFromMapillaryViewer() { function insertIdAndTriggerChangeAtField() { const changeEvent = new Event('change'); const service = services.mapillary; @@ -123,8 +124,8 @@ export function uiPhotoviewer(context) { fieldInput.node().dispatchEvent(changeEvent); } // check if mapillary image id field exist - const mapillary_image_ID_field = d3_select('.wrap-form-field-mapillary'); - if (!mapillary_image_ID_field.empty()) { + const mapillaryImageIDField = d3_select('.wrap-form-field-mapillary'); + if (!mapillaryImageIDField.empty()) { insertIdAndTriggerChangeAtField(); } else { // open the Mapillary field From 94e32a85b03b8462feb2bd9963ad9f515e4c1cdf Mon Sep 17 00:00:00 2001 From: laigyu Date: Sun, 7 Apr 2024 22:04:22 +0800 Subject: [PATCH 14/61] revert field button --- data/core.yaml | 2 - modules/ui/fields/input.js | 145 +------------------------------------ modules/ui/photoviewer.js | 82 ++++++++++++--------- 3 files changed, 50 insertions(+), 179 deletions(-) diff --git a/data/core.yaml b/data/core.yaml index d30a2fc4f..b2d8cb809 100644 --- a/data/core.yaml +++ b/data/core.yaml @@ -789,8 +789,6 @@ en: max_length_reached: "This string is longer than the maximum length of {maxChars} characters. Anything exceeding that length will be truncated." set_today: "Sets the value to today." set_photo_from_viewer: "Store this photo on the currently selected map object" - set_photo_from_field: "Use the currently displayed photo" - show_photo_from_field: "Open image in viewer" show_photo_from_field_error: "Invalid ID" background: title: Background diff --git a/modules/ui/fields/input.js b/modules/ui/fields/input.js index 1317d191b..c5061b5ea 100644 --- a/modules/ui/fields/input.js +++ b/modules/ui/fields/input.js @@ -13,7 +13,6 @@ import { isColourValid } from '../../osm/tags'; import { uiLengthIndicator } from '..'; import { uiTooltip } from '../tooltip'; import { isEqual } from 'lodash-es'; -import { services } from '../../services'; export { uiFieldText as uiFieldColour, @@ -31,8 +30,6 @@ export function uiFieldText(field, context) { var dispatch = d3_dispatch('change'); var input = d3_select(null); var outlinkButton = d3_select(null); - var mapillaryViewButton = d3_select(null); - var mapillarySetButton = d3_select(null); var wrap = d3_select(null); var _lengthIndicator = uiLengthIndicator(context.maxCharsForTagValue()); var _entityIDs = []; @@ -172,12 +169,8 @@ export function uiFieldText(field, context) { change()(); }); } else if (field.type === 'identifier' && field.urlFormat && field.pattern) { + input.attr('type', 'text'); - - if (field.id === 'mapillary') { - updateMapillaryImageIDField(); - } - outlinkButton = wrap.selectAll('.foreign-id-permalink') .data([0]); @@ -362,116 +355,6 @@ export function uiFieldText(field, context) { if (format) input.attr('placeholder', format); } - function updateMapillaryImageIDField() { - const service = services.mapillary; - // set button - mapillarySetButton = wrap.selectAll('.mapillary-set-current') - .data([0]); - - mapillarySetButton.enter() - .append('button') - .attr('class', 'form-field-button mapillary-set-current') - .call(svgIcon('#fas-rotate')) - .attr('title', t('inspector.set_photo_from_field')) - .on('click', function(d3_event) { - d3_event.preventDefault(); - const image = service.getActiveImage(); - if (!image) return; - if (image.id === utilGetSetValue(input).trim()) return; - service - .ensureViewerLoaded(context) - .then(function() { - utilGetSetValue(input, image.id); - change()(); - }); - mapillarySetButton.node()?.blur(); - }) - .merge(mapillarySetButton) - .classed('disabled', _debounce(() => { - const image = service.getActiveImage(); - if (!image) return true; - if (image.id === utilGetSetValue(input).trim()) return true; - return false; - }), 100); - - // view button - mapillaryViewButton = wrap.selectAll('.mapillary-show-view') - .data([0]); - - mapillaryViewButton.enter() - .append('button') - .attr('class', 'form-field-button mapillary-show-view') - .call(svgIcon('#fas-eye')) - .attr('title', t('inspector.show_photo_from_field')) - .on('click', function(d3_event) { - d3_event.preventDefault(); - const isHidden = context.container() - .select('.photoviewer') - .selectAll('.photo-wrapper.mly-wrapper.hide') - .size(); - - if (isHidden) { - if (!utilGetSetValue(input).trim()) return; - - service - .ensureViewerLoaded(context) - .then(function() { - service - .selectImage(context, utilGetSetValue(input).trim()) - .showViewer(context); - }); - mapillaryViewButton.classed('disabled', true); - } else { - if (!utilGetSetValue(input).trim()) return; - const image = service.getActiveImage(); - if (!image) return; - if (image.id === utilGetSetValue(input).trim()) return; - - service - .ensureViewerLoaded(context) - .then(function() { - service - .selectImage(context, utilGetSetValue(input).trim()); - }); - } - mapillaryViewButton.node()?.blur(); - }) - .merge(mapillaryViewButton) - .classed('disabled', _debounce(() => { - if (!utilGetSetValue(input).trim()) return true; - const isHidden = context.container() - .select('.photoviewer') - .selectAll('.photo-wrapper.mly-wrapper.hide') - .size(); - if (isHidden) return false; - const image = service.getActiveImage(); - if (!image) return true; - if (image.id === utilGetSetValue(input).trim()) return true; - return false; - }, 100)); - - service.on('imageChanged', function() { - mapillarySetButton.classed('disabled', () => { - const image = service.getActiveImage(); - if (!image) return true; - if (image.id === utilGetSetValue(input).trim()) return true; - return false; - }); - mapillaryViewButton.classed('disabled', () => { - const isHidden = context.container() - .select('.photoviewer') - .selectAll('.photo-wrapper.mly-wrapper.hide') - .size(); - if (isHidden) return false; - if (!utilGetSetValue(input).trim()) return true; - const image = service.getActiveImage(); - if (!image) return true; - if (image.id === utilGetSetValue(input).trim()) return true; - return false; - }); - }); - } - function validIdentifierValueForLink() { const value = utilGetSetValue(input).trim(); @@ -642,32 +525,6 @@ export function uiFieldText(field, context) { outlinkButton.classed('disabled', disabled); } - if (mapillarySetButton && !mapillarySetButton.empty()) { - const service = services.mapillary; - mapillarySetButton.classed('disabled', () => { - const image = service.getActiveImage(); - if (!image) return true; - if (image.id === utilGetSetValue(input).trim()) return true; - return false; - }); - } - - if (mapillaryViewButton && !mapillaryViewButton.empty()) { - const service = services.mapillary; - mapillaryViewButton.classed('disabled', () => { - if (!utilGetSetValue(input).trim()) return true; - const isHidden = context.container() - .select('.photoviewer') - .selectAll('.photo-wrapper.mly-wrapper.hide') - .size(); - if (isHidden) return false; - const image = service.getActiveImage(); - if (!image) return true; - if (image.id === utilGetSetValue(input).trim()) return true; - return false; - }); - } - if (!isMixed) { _lengthIndicator.update(tags[field.key]); } diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index 9ba33e3f5..16bd7b62e 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -65,48 +65,64 @@ export function uiPhotoviewer(context) { context.container().on('click.setPhotoFromViewer', setPhotoFromViewerButton); function setPhotoFromViewerButton() { - const inspectorWrap = d3_select('.inspector-wrap'); - const editorPane = d3_select('.entity-editor-pane'); - const presetPane = d3_select('.preset-list-pane'); - const button = selection.selectAll('.set-photo-from-viewer').data([0]); - const hash = utilStringQs(window.location.hash); - let [serviceId, photoId] = []; - let photo_overlay = []; - if (hash.photo) { - [serviceId, photoId] = hash.photo.split('/'); + services.mapillary.on('imageChanged', function() { + let activeImageId; + const layers = context.layers(); + function layerStatus(which) { + const layer = layers.layer(which); + return layer.enabled(); + } + + const hash = utilStringQs(window.location.hash); + let serviceId; + if (hash.photo) { + let result = hash.photo.split('/'); + serviceId = result[0]; + } + activeImageId = services.mapillary.getActiveImage()?.id; + // check layer enabled && currently only support mapillary && editorpane open + if (layerStatus('mapillary') && serviceId === 'mapillary' && paneCheck()) { + const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); + if (!fieldInput.empty()) { + if (activeImageId === utilGetSetValue(fieldInput)) return buttonRemove(); + } + const buttonWithoutClickEvent = buttonCreate(); + buttonWithoutClickEvent.on('click', function () { + setPhotoFromMapillaryViewer(); + buttonRemove(); + }); + } else { + buttonRemove(); + } + }); + + function paneCheck() { + const inspectorWrap = d3_select('.inspector-wrap'); + const editorPane = d3_select('.entity-editor-pane'); + const presetPane = d3_select('.preset-list-pane'); + + return !inspectorWrap.classed('inspector-hidden') && + !editorPane.classed('hide') && + presetPane.classed('hide') && + context.mode().id === 'select'; } - if (hash.photo_overlay) { - photo_overlay = hash.photo_overlay.split(','); - } - - // check photoviewer open && photo and layer match && currently only support mapillary && editorpane open - if (serviceId && - photo_overlay.includes(serviceId) && - serviceId === 'mapillary' && - !inspectorWrap.classed('inspector-hidden') && - !editorPane.classed('hide') && - presetPane.classed('hide') && - context.mode().id === 'select') { - buttonCreate(); - context.features().on('change.setPhotoFromViewerButtonCreate', buttonCreate); - } else { - // remove listener and button - context.features().on('change.setPhotoFromViewerButtonCreate', null); - const button = selection.selectAll('.set-photo-from-viewer'); - button.remove(); - } function buttonCreate() { - button.enter() + const button = selection.selectAll('.set-photo-from-viewer').data([0]); + const buttonEnter = button.enter() .append('button') .attr('class', 'set-photo-from-viewer') - .on('click', function () { - if (serviceId === 'mapillary' && services.mapillary) { setPhotoFromMapillaryViewer(); } - }) .append('div') .call(svgIcon('#iD-operation-merge')) .attr('title', t('inspector.set_photo_from_viewer')); + + return buttonEnter; + } + + function buttonRemove() { + const button = selection.selectAll('.set-photo-from-viewer').data([0]); + button?.remove(); } } From d448b586ed87c8d6a2fa3b3915e79f88b2cc3dcf Mon Sep 17 00:00:00 2001 From: laigyu Date: Sun, 7 Apr 2024 23:19:41 +0800 Subject: [PATCH 15/61] revert error handler --- css/60_photos.css | 12 ------------ data/core.yaml | 1 - modules/services/mapillary.js | 3 +-- modules/ui/photoviewer.js | 18 ------------------ 4 files changed, 1 insertion(+), 33 deletions(-) diff --git a/css/60_photos.css b/css/60_photos.css index 1332dcdb0..2794c48d6 100644 --- a/css/60_photos.css +++ b/css/60_photos.css @@ -76,18 +76,6 @@ width: 100%; } -.photoviewer .error-handler { - border-radius: 0; - padding: 15px; - position: absolute; - left: 50%; - top: 75px; - transform: translate(-50%, -50%); - z-index: 50; - color: red; - font-size: 20px; -} - .photo-wrapper { width: 100%; diff --git a/data/core.yaml b/data/core.yaml index b2d8cb809..a60d49d9b 100644 --- a/data/core.yaml +++ b/data/core.yaml @@ -789,7 +789,6 @@ en: max_length_reached: "This string is longer than the maximum length of {maxChars} characters. Anything exceeding that length will be truncated." set_today: "Sets the value to today." set_photo_from_viewer: "Store this photo on the currently selected map object" - show_photo_from_field_error: "Invalid ID" background: title: Background description: Background Settings diff --git a/modules/services/mapillary.js b/modules/services/mapillary.js index b8e46004f..fb64e1eab 100644 --- a/modules/services/mapillary.js +++ b/modules/services/mapillary.js @@ -19,7 +19,7 @@ const trafficSignTileUrl = `${baseTileUrl}/mly_map_feature_traffic_sign/2/{z}/{x const viewercss = 'mapillary-js/mapillary.css'; const viewerjs = 'mapillary-js/mapillary.js'; const minZoom = 14; -const dispatch = d3_dispatch('change', 'loadedImages', 'loadedSigns', 'loadedMapFeatures', 'bearingChanged', 'imageChanged', 'error'); +const dispatch = d3_dispatch('change', 'loadedImages', 'loadedSigns', 'loadedMapFeatures', 'bearingChanged', 'imageChanged'); let _loadViewerPromise; let _mlyActiveImage; @@ -606,7 +606,6 @@ export default { _mlyViewer.moveTo(imageId) .catch(function(e) { console.error('mly3', e); // eslint-disable-line no-console - dispatch.call('error', undefined, e); }); } diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index 16bd7b62e..aa93b5e59 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -155,24 +155,6 @@ export function uiPhotoviewer(context) { } } - // error message handler - const errorHandler = selection - .append('div') - .attr('class', 'error-handler') - .append('div') - .style('opacity', '0'); - - - services.mapillary - .on('error', function () { - errorHandler - .text(t('inspector.show_photo_from_field_error')) - .style('opacity', '1') - .transition() - .duration(1000) - .style('opacity', '0'); - }); - function buildResizeListener(target, eventName, dispatch, options) { var resizeOnX = !!options.resizeOnX; From 6b8b41c2ff0e6ac4274cb84573e17fd4e6236000 Mon Sep 17 00:00:00 2001 From: laigyu Date: Mon, 8 Apr 2024 18:22:58 +0800 Subject: [PATCH 16/61] tooltip style change --- modules/ui/photoviewer.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index aa93b5e59..0651a07fa 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -8,6 +8,7 @@ import { svgIcon } from '../svg/icon'; import { utilGetDimensions } from '../util/dimensions'; import { utilRebind, utilGetSetValue, utilStringQs } from '../util'; import { services } from '../services'; +import { uiTooltip } from './tooltip'; export function uiPhotoviewer(context) { @@ -115,7 +116,15 @@ export function uiPhotoviewer(context) { .attr('class', 'set-photo-from-viewer') .append('div') .call(svgIcon('#iD-operation-merge')) - .attr('title', t('inspector.set_photo_from_viewer')); + .call(uiTooltip() + .title(() => t.append('inspector.set_photo_from_viewer')) + .placement('right') + ); + + buttonEnter + .select('.tooltip') + .classed('dark', true) + .style('width', '300px'); return buttonEnter; } From 2325de466200da0a59ef6942f2a35c54b9fa6456 Mon Sep 17 00:00:00 2001 From: laigyu Date: Fri, 12 Apr 2024 18:37:26 +0800 Subject: [PATCH 17/61] update butotn logic --- modules/services/mapillary.js | 11 +++ modules/ui/photoviewer.js | 166 ++++++++++++++++++++++------------ 2 files changed, 119 insertions(+), 58 deletions(-) diff --git a/modules/services/mapillary.js b/modules/services/mapillary.js index fb64e1eab..8e0c2fe32 100644 --- a/modules/services/mapillary.js +++ b/modules/services/mapillary.js @@ -30,6 +30,7 @@ let _mlyShowFeatureDetections = false; let _mlyShowSignDetections = false; let _mlyViewer; let _mlyViewerFilter = ['all']; +let _isViewerOpen = false; // Load all data for the specified type from Mapillary vector tiles @@ -478,6 +479,8 @@ export default { _mlyViewer.resize(); } + _isViewerOpen = true; + return this; }, @@ -504,10 +507,18 @@ export default { dispatch.call('loadedMapFeatures'); dispatch.call('loadedSigns'); + _isViewerOpen = false; + return this.setStyles(context, null); }, + // Get viewer status + isViewerOpen: function() { + return _isViewerOpen; + }, + + // Update the URL with current image id updateUrlImage: function(imageId) { if (!window.mocha) { diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index 0651a07fa..358ac75ca 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -63,39 +63,103 @@ export function uiPhotoviewer(context) { ); // set_photo_from_viewer button - context.container().on('click.setPhotoFromViewer', setPhotoFromViewerButton); + let _selectedID = context.selectedIDs(); + context.container().on('click.setPhotoFromViewer', function(e) { + setPhotoFromViewerButton(e); + }); - function setPhotoFromViewerButton() { - services.mapillary.on('imageChanged', function() { - let activeImageId; - const layers = context.layers(); - function layerStatus(which) { - const layer = layers.layer(which); - return layer.enabled(); + function setPhotoFromViewerButton(e) { + services.mapillary.ensureViewerLoaded(context).then(() => { + if (e.target.closest('.mly-wrapper')) { + services.mapillary.on('imageChanged.set', function() { + MapillaryButtonDisabledUpdate(); + }); + return; } + if (!services.mapillary.isViewerOpen()) return; + + if (context.mode().id !== 'select' || !paneCheck() || !(layerStatus('mapillary') && getServiceId() === 'mapillary')) { + buttonRemove(); + } else { + if (selection.select('.set-photo-from-viewer').empty()) { + const button = buttonCreate(); + button.on('click', function (e) { + e.preventDefault(); + e.stopPropagation(); + setMapillaryPhotoId(); + buttonDisable(true); + }); + MapillaryButtonDisabledUpdate(); + } else { + if (isSelectedIDChanged()) { + MapillaryButtonDisabledUpdate(); + updateSelectedID(); + } + } + } + + function MapillaryButtonDisabledUpdate() { + let activeImageId = services.mapillary.getActiveImage()?.id; + + const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); + if (!fieldInput.empty()) { + if (activeImageId === utilGetSetValue(fieldInput)) { + buttonDisable(true); + } else { + buttonDisable(false); + } + } else { + buttonDisable(false); + } + } + + function setMapillaryPhotoId() { + function insertIdAndTriggerChangeAtField() { + const changeEvent = new Event('change'); + const service = services.mapillary; + // insert id + const image = service.getActiveImage(); + const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); + utilGetSetValue(fieldInput, image.id); + + // trigger change at field + fieldInput.node().focus(); + fieldInput.node().dispatchEvent(changeEvent); + } + // check if mapillary image id field exist + const mapillaryImageIDField = d3_select('.wrap-form-field-mapillary'); + if (!mapillaryImageIDField.empty()) { + insertIdAndTriggerChangeAtField(); + } else { + // open the Mapillary field + const comboboxInput = d3_select('.value.combobox-input'); + const EnterEvent = new KeyboardEvent('keydown', { keyCode: 13 }); + utilGetSetValue(comboboxInput, 'Mapillary Image ID'); + comboboxInput.node().focus(); + comboboxInput.node().dispatchEvent(EnterEvent); + + insertIdAndTriggerChangeAtField(); + } + } + }); + + + function layerStatus(which) { + const layers = context.layers(); + const layer = layers.layer(which); + return layer.enabled(); + } + + function getServiceId() { const hash = utilStringQs(window.location.hash); let serviceId; if (hash.photo) { let result = hash.photo.split('/'); serviceId = result[0]; } - activeImageId = services.mapillary.getActiveImage()?.id; - // check layer enabled && currently only support mapillary && editorpane open - if (layerStatus('mapillary') && serviceId === 'mapillary' && paneCheck()) { - const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); - if (!fieldInput.empty()) { - if (activeImageId === utilGetSetValue(fieldInput)) return buttonRemove(); - } - const buttonWithoutClickEvent = buttonCreate(); - buttonWithoutClickEvent.on('click', function () { - setPhotoFromMapillaryViewer(); - buttonRemove(); - }); - } else { - buttonRemove(); - } - }); + return serviceId; + } function paneCheck() { const inspectorWrap = d3_select('.inspector-wrap'); @@ -103,26 +167,35 @@ export function uiPhotoviewer(context) { const presetPane = d3_select('.preset-list-pane'); return !inspectorWrap.classed('inspector-hidden') && - !editorPane.classed('hide') && - presetPane.classed('hide') && - context.mode().id === 'select'; + !editorPane.classed('hide') && + presetPane.classed('hide'); } + function isSelectedIDChanged() { + const currentSelectId = context.selectedIDs(); + if (JSON.stringify(_selectedID) === JSON.stringify(currentSelectId)) { + return false; + } else { + return true; + } + } + + function updateSelectedID() { + _selectedID = context.selectedIDs(); + } function buttonCreate() { const button = selection.selectAll('.set-photo-from-viewer').data([0]); const buttonEnter = button.enter() .append('button') .attr('class', 'set-photo-from-viewer') - .append('div') .call(svgIcon('#iD-operation-merge')) .call(uiTooltip() .title(() => t.append('inspector.set_photo_from_viewer')) .placement('right') ); - buttonEnter - .select('.tooltip') + buttonEnter.select('.tooltip') .classed('dark', true) .style('width', '300px'); @@ -131,36 +204,13 @@ export function uiPhotoviewer(context) { function buttonRemove() { const button = selection.selectAll('.set-photo-from-viewer').data([0]); - button?.remove(); + button.remove(); } - } - function setPhotoFromMapillaryViewer() { - function insertIdAndTriggerChangeAtField() { - const changeEvent = new Event('change'); - const service = services.mapillary; - // insert id - const image = service.getActiveImage(); - const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); - utilGetSetValue(fieldInput, image.id); - - // trigger change at field - fieldInput.node().focus(); - fieldInput.node().dispatchEvent(changeEvent); - } - // check if mapillary image id field exist - const mapillaryImageIDField = d3_select('.wrap-form-field-mapillary'); - if (!mapillaryImageIDField.empty()) { - insertIdAndTriggerChangeAtField(); - } else { - // open the Mapillary field - const comboboxInput = d3_select('.value.combobox-input'); - const EnterEvent = new KeyboardEvent('keydown', { keyCode: 13 }); - utilGetSetValue(comboboxInput, 'Mapillary Image ID'); - comboboxInput.node().focus(); - comboboxInput.node().dispatchEvent(EnterEvent); - - insertIdAndTriggerChangeAtField(); + function buttonDisable(disabled) { + const button = selection.selectAll('.set-photo-from-viewer').data([0]); + button.attr('disabled', disabled ? 'true' : null); + button.classed('disabled', disabled); } } From b1ff86cd298a9a948223e56c9fa1b7eba92df54a Mon Sep 17 00:00:00 2001 From: laigyu Date: Mon, 15 Apr 2024 14:54:43 +0800 Subject: [PATCH 18/61] tooltip update --- data/core.yaml | 4 +++- modules/ui/photoviewer.js | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/data/core.yaml b/data/core.yaml index a60d49d9b..e1cdc636c 100644 --- a/data/core.yaml +++ b/data/core.yaml @@ -788,7 +788,9 @@ en: inch: in max_length_reached: "This string is longer than the maximum length of {maxChars} characters. Anything exceeding that length will be truncated." set_today: "Sets the value to today." - set_photo_from_viewer: "Store this photo on the currently selected map object" + set_photo_from_viewer: + enable: "Tag this photo id on the currently selected map object" + disable: "This image is already tagged on this feature" background: title: Background description: Background Settings diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index 358ac75ca..06b79cc8b 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -211,6 +211,23 @@ export function uiPhotoviewer(context) { const button = selection.selectAll('.set-photo-from-viewer').data([0]); button.attr('disabled', disabled ? 'true' : null); button.classed('disabled', disabled); + button.call(uiTooltip().destroyAny); + if (disabled) { + button.call(uiTooltip() + .title(() => t.append('inspector.set_photo_from_viewer.disable')) + .placement('right') + ); + } else { + button.call(uiTooltip() + .title(() => t.append('inspector.set_photo_from_viewer.enable')) + .placement('right') + ); + } + + button.select('.tooltip') + .classed('dark', true) + .style('width', '300px'); + } } From 02c19e3e9328a670672db2c94a7f9deb12c5769d Mon Sep 17 00:00:00 2001 From: Julien Etienne Date: Mon, 24 Jun 2024 14:30:31 +0700 Subject: [PATCH 19/61] adding Thailand to address_formats.json --- data/address_formats.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/data/address_formats.json b/data/address_formats.json index ea4bf3bd2..60350842b 100644 --- a/data/address_formats.json +++ b/data/address_formats.json @@ -284,5 +284,14 @@ ["postcode", "city"], ["street", "housenumber"] ] + }, + { + "countryCodes": ["th"], + "format": [ + ["housenumber", "place"], + ["street"], + ["subdistrict", "district"], + ["province", "postcode"] + ] } ] From 6e9d225828b79d09df485f8402d4fde372403715 Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Fri, 12 Jul 2024 17:20:09 +0200 Subject: [PATCH 20/61] use slightly smaller "plus" icon (this one is also used in other similar UI locations, e.g. the "add tag" in the raw tags editor, etc.) --- modules/ui/photoviewer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index 06b79cc8b..757a1bb61 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -189,7 +189,7 @@ export function uiPhotoviewer(context) { const buttonEnter = button.enter() .append('button') .attr('class', 'set-photo-from-viewer') - .call(svgIcon('#iD-operation-merge')) + .call(svgIcon('#iD-icon-plus')) .call(uiTooltip() .title(() => t.append('inspector.set_photo_from_viewer')) .placement('right') From 2ea9691f8e356f5b44b97f6a8f25d53c128d97ed Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Fri, 12 Jul 2024 17:21:19 +0200 Subject: [PATCH 21/61] slightly tweak tooltip text --- data/core.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/core.yaml b/data/core.yaml index e1cdc636c..6861f5568 100644 --- a/data/core.yaml +++ b/data/core.yaml @@ -789,7 +789,7 @@ en: max_length_reached: "This string is longer than the maximum length of {maxChars} characters. Anything exceeding that length will be truncated." set_today: "Sets the value to today." set_photo_from_viewer: - enable: "Tag this photo id on the currently selected map object" + enable: "Tag this photo id on the currently selected map feature" disable: "This image is already tagged on this feature" background: title: Background From b604ef8f6f611ca36107084656d9f3cf4004f1ea Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Fri, 12 Jul 2024 17:22:03 +0200 Subject: [PATCH 22/61] make button work on newly created features; refactor code code: we should not to not rely on directly manipulating/accessing other components DOM elements --- modules/ui/photoviewer.js | 109 ++++++++++---------------------------- 1 file changed, 27 insertions(+), 82 deletions(-) diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index 757a1bb61..d80194111 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -9,6 +9,7 @@ import { utilGetDimensions } from '../util/dimensions'; import { utilRebind, utilGetSetValue, utilStringQs } from '../util'; import { services } from '../services'; import { uiTooltip } from './tooltip'; +import { actionChangeTags } from '../actions'; export function uiPhotoviewer(context) { @@ -63,23 +64,16 @@ export function uiPhotoviewer(context) { ); // set_photo_from_viewer button - let _selectedID = context.selectedIDs(); - context.container().on('click.setPhotoFromViewer', function(e) { - setPhotoFromViewerButton(e); + context.features().on('change.setPhotoFromViewer', function() { + setPhotoFromViewerButton(); }); - function setPhotoFromViewerButton(e) { - services.mapillary.ensureViewerLoaded(context).then(() => { - if (e.target.closest('.mly-wrapper')) { - services.mapillary.on('imageChanged.set', function() { - MapillaryButtonDisabledUpdate(); - }); - return; - } + function setPhotoFromViewerButton() { + services.mapillary.ensureViewerLoaded(context).then(() => { if (!services.mapillary.isViewerOpen()) return; - if (context.mode().id !== 'select' || !paneCheck() || !(layerStatus('mapillary') && getServiceId() === 'mapillary')) { + if (context.mode().id !== 'select' || !(layerStatus('mapillary') && getServiceId() === 'mapillary')) { buttonRemove(); } else { if (selection.select('.set-photo-from-viewer').empty()) { @@ -90,61 +84,26 @@ export function uiPhotoviewer(context) { setMapillaryPhotoId(); buttonDisable(true); }); - MapillaryButtonDisabledUpdate(); - } else { - if (isSelectedIDChanged()) { - MapillaryButtonDisabledUpdate(); - updateSelectedID(); - } - } - } - - function MapillaryButtonDisabledUpdate() { - let activeImageId = services.mapillary.getActiveImage()?.id; - - const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); - if (!fieldInput.empty()) { - if (activeImageId === utilGetSetValue(fieldInput)) { - buttonDisable(true); - } else { - buttonDisable(false); - } - } else { - buttonDisable(false); } + buttonShowHide(); } function setMapillaryPhotoId() { - function insertIdAndTriggerChangeAtField() { - const changeEvent = new Event('change'); - const service = services.mapillary; - // insert id - const image = service.getActiveImage(); - const fieldInput = d3_select('.wrap-form-field-mapillary .identifier'); - utilGetSetValue(fieldInput, image.id); + const service = services.mapillary; + const image = service.getActiveImage(); - // trigger change at field - fieldInput.node().focus(); - fieldInput.node().dispatchEvent(changeEvent); - } - // check if mapillary image id field exist - const mapillaryImageIDField = d3_select('.wrap-form-field-mapillary'); - if (!mapillaryImageIDField.empty()) { - insertIdAndTriggerChangeAtField(); - } else { - // open the Mapillary field - const comboboxInput = d3_select('.value.combobox-input'); - const EnterEvent = new KeyboardEvent('keydown', { keyCode: 13 }); - utilGetSetValue(comboboxInput, 'Mapillary Image ID'); - comboboxInput.node().focus(); - comboboxInput.node().dispatchEvent(EnterEvent); + const action = graph => + context.selectedIDs().reduce((graph, entityID) => { + const tags = graph.entity(entityID).tags; + const action = actionChangeTags(entityID, {...tags, mapillary: image.id}) + return action(graph); + }, graph); - insertIdAndTriggerChangeAtField(); - } + const annotation = t('operations.change_tags.annotation'); + context.perform(action, annotation); } }); - function layerStatus(which) { const layers = context.layers(); const layer = layers.layer(which); @@ -161,29 +120,6 @@ export function uiPhotoviewer(context) { return serviceId; } - function paneCheck() { - const inspectorWrap = d3_select('.inspector-wrap'); - const editorPane = d3_select('.entity-editor-pane'); - const presetPane = d3_select('.preset-list-pane'); - - return !inspectorWrap.classed('inspector-hidden') && - !editorPane.classed('hide') && - presetPane.classed('hide'); - } - - function isSelectedIDChanged() { - const currentSelectId = context.selectedIDs(); - if (JSON.stringify(_selectedID) === JSON.stringify(currentSelectId)) { - return false; - } else { - return true; - } - } - - function updateSelectedID() { - _selectedID = context.selectedIDs(); - } - function buttonCreate() { const button = selection.selectAll('.set-photo-from-viewer').data([0]); const buttonEnter = button.enter() @@ -207,6 +143,16 @@ export function uiPhotoviewer(context) { button.remove(); } + function buttonShowHide() { + let activeImageId = services.mapillary.getActiveImage()?.id; + + const graph = context.graph(); + + buttonDisable(context.selectedIDs() + .map(entityID => graph.entity(entityID).tags.mapillary) + .every(value => value === activeImageId)); + } + function buttonDisable(disabled) { const button = selection.selectAll('.set-photo-from-viewer').data([0]); button.attr('disabled', disabled ? 'true' : null); @@ -227,7 +173,6 @@ export function uiPhotoviewer(context) { button.select('.tooltip') .classed('dark', true) .style('width', '300px'); - } } From d9c973b7453841e5543a8ef1a88c9b4844f9cbab Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Fri, 12 Jul 2024 17:49:34 +0200 Subject: [PATCH 23/61] disable button when photo is too far from selected feature --- data/core.yaml | 4 +++- modules/ui/photoviewer.js | 25 ++++++++++++++++++------- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/data/core.yaml b/data/core.yaml index 6861f5568..d81519189 100644 --- a/data/core.yaml +++ b/data/core.yaml @@ -790,7 +790,9 @@ en: set_today: "Sets the value to today." set_photo_from_viewer: enable: "Tag this photo id on the currently selected map feature" - disable: "This image is already tagged on this feature" + disable: + already_set: "This photo is already tagged on the selected map feature" + too_far: "This photo is too far away from the selected map feature" background: title: Background description: Background Settings diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index d80194111..ee4b032a7 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -10,6 +10,7 @@ import { utilRebind, utilGetSetValue, utilStringQs } from '../util'; import { services } from '../services'; import { uiTooltip } from './tooltip'; import { actionChangeTags } from '../actions'; +import { geoSphericalDistance } from '../geo'; export function uiPhotoviewer(context) { @@ -82,7 +83,7 @@ export function uiPhotoviewer(context) { e.preventDefault(); e.stopPropagation(); setMapillaryPhotoId(); - buttonDisable(true); + buttonDisable('already_set'); }); } buttonShowHide(); @@ -144,23 +145,33 @@ export function uiPhotoviewer(context) { } function buttonShowHide() { - let activeImageId = services.mapillary.getActiveImage()?.id; + const activeImage = services.mapillary.getActiveImage(); + const activeImageId = activeImage?.id; const graph = context.graph(); + const entities = context.selectedIDs() + .map(id => graph.entity(id)); - buttonDisable(context.selectedIDs() - .map(entityID => graph.entity(entityID).tags.mapillary) - .every(value => value === activeImageId)); + if (entities.map(entity => entity.tags.mapillary) + .every(value => value === activeImage?.id)) { + buttonDisable('already_set'); + } else if (activeImage && entities.map(entity => entity.extent().center()) + .every(loc => geoSphericalDistance(loc, activeImage.loc) > 100)) { + buttonDisable('too_far'); + } else { + buttonDisable(false); + } } - function buttonDisable(disabled) { + function buttonDisable(reason) { + const disabled = reason !== false; const button = selection.selectAll('.set-photo-from-viewer').data([0]); button.attr('disabled', disabled ? 'true' : null); button.classed('disabled', disabled); button.call(uiTooltip().destroyAny); if (disabled) { button.call(uiTooltip() - .title(() => t.append('inspector.set_photo_from_viewer.disable')) + .title(() => t.append(`inspector.set_photo_from_viewer.disable.${reason}`)) .placement('right') ); } else { From 1d0f9e644740d6a8034e6dcafb965803f5d5d95b Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Fri, 12 Jul 2024 17:53:41 +0200 Subject: [PATCH 24/61] lint --- modules/ui/photoviewer.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index ee4b032a7..99ebeca4d 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -6,7 +6,7 @@ import { t } from '../core/localizer'; import { dispatch as d3_dispatch } from 'd3-dispatch'; import { svgIcon } from '../svg/icon'; import { utilGetDimensions } from '../util/dimensions'; -import { utilRebind, utilGetSetValue, utilStringQs } from '../util'; +import { utilRebind, utilStringQs } from '../util'; import { services } from '../services'; import { uiTooltip } from './tooltip'; import { actionChangeTags } from '../actions'; @@ -96,7 +96,7 @@ export function uiPhotoviewer(context) { const action = graph => context.selectedIDs().reduce((graph, entityID) => { const tags = graph.entity(entityID).tags; - const action = actionChangeTags(entityID, {...tags, mapillary: image.id}) + const action = actionChangeTags(entityID, {...tags, mapillary: image.id}); return action(graph); }, graph); @@ -146,7 +146,6 @@ export function uiPhotoviewer(context) { function buttonShowHide() { const activeImage = services.mapillary.getActiveImage(); - const activeImageId = activeImage?.id; const graph = context.graph(); const entities = context.selectedIDs() From 7d65b19d6d2c8abfbff5f3130cb2f622a06bac45 Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Fri, 12 Jul 2024 18:02:14 +0200 Subject: [PATCH 25/61] simplify code --- modules/ui/photoviewer.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index 99ebeca4d..70340d2af 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -71,9 +71,7 @@ export function uiPhotoviewer(context) { function setPhotoFromViewerButton() { - services.mapillary.ensureViewerLoaded(context).then(() => { - if (!services.mapillary.isViewerOpen()) return; - + if (services.mapillary.isViewerOpen()) { if (context.mode().id !== 'select' || !(layerStatus('mapillary') && getServiceId() === 'mapillary')) { buttonRemove(); } else { @@ -103,7 +101,7 @@ export function uiPhotoviewer(context) { const annotation = t('operations.change_tags.annotation'); context.perform(action, annotation); } - }); + } function layerStatus(which) { const layers = context.layers(); From daf2c9879bba553496c0cfbbc2c5c429f9b8c5a2 Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Fri, 12 Jul 2024 18:15:35 +0200 Subject: [PATCH 26/61] add to changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a84da4050..686266c72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,7 @@ _Breaking developer changes, which may affect downstream projects or sites that #### :scissors: Operations #### :camera: Street-Level * Show Mapillary username and deep link to external viewer on Mapillary photos ([#10135], thanks [@Sushil642]) +* Add button to directly attach the id of a mapillary photo as the `mapillary` tag of selected map features ([#9339]) #### :white_check_mark: Validation * Drop validation which checks for [old style multipolygons](https://wiki.openstreetmap.org/wiki/Old_style_multipolygons), as these have long been [fixed](https://blog.jochentopf.com/2017-08-28-polygon-fixing-effort-concluded.html) in OSM * Upgrade closed ways with `traffic_calming=island` to `area:highway=traffic_island` ([id-tagging-schema#1162]) @@ -60,6 +61,7 @@ _Breaking developer changes, which may affect downstream projects or sites that [#5420]: https://github.com/openstreetmap/iD/issues/5420 [#7653]: https://github.com/openstreetmap/iD/issues/7653 [#8415]: https://github.com/openstreetmap/iD/issues/8415 +[#9339]: https://github.com/openstreetmap/iD/issues/9339 [#9439]: https://github.com/openstreetmap/iD/issues/9439 [#10135]: https://github.com/openstreetmap/iD/issues/10135 [#10145]: https://github.com/openstreetmap/iD/issues/10145 From 1f34a28ceee4142880fe3212d89ea9b39da0dc61 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2024 09:21:40 +0000 Subject: [PATCH 27/61] Bump @mapbox/vector-tile from 1.3.1 to 2.0.2 Bumps [@mapbox/vector-tile](https://github.com/mapbox/vector-tile-js) from 1.3.1 to 2.0.2. - [Release notes](https://github.com/mapbox/vector-tile-js/releases) - [Commits](https://github.com/mapbox/vector-tile-js/commits/v2.0.2) --- updated-dependencies: - dependency-name: "@mapbox/vector-tile" dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package-lock.json | 60 ++++++++++++++++++++++++++++++++++++----------- package.json | 2 +- 2 files changed, 47 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index ba8d02f93..0a2a2040c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@mapbox/geojson-area": "^0.2.2", "@mapbox/sexagesimal": "1.2.0", - "@mapbox/vector-tile": "^1.3.1", + "@mapbox/vector-tile": "^2.0.2", "@rapideditor/country-coder": "~5.2.2", "@rapideditor/location-conflation": "~1.3.0", "@tmcw/togeojson": "^5.8.1", @@ -1333,8 +1333,9 @@ "dev": true }, "node_modules/@mapbox/point-geometry": { - "version": "0.1.0", - "license": "ISC" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-1.0.0.tgz", + "integrity": "sha512-1EPbCrZvs+eBayaMcPeDmwsbgG/b7vQxtYlzLI/5dA2SHctbUxFr13OE4+AdozoF8EtvbaFcfQIzWetOfooz/w==" }, "node_modules/@mapbox/sexagesimal": { "version": "1.2.0", @@ -1347,10 +1348,24 @@ } }, "node_modules/@mapbox/vector-tile": { - "version": "1.3.1", - "license": "BSD-3-Clause", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-2.0.2.tgz", + "integrity": "sha512-DGHWcOU2VzaEEzqR0CxxXaBESwEUpFy8+iLNARxZrHRgu9IoTMZgh0ugRNI67n6xXI08z3ZyrKbcdxDPtAfk8w==", "dependencies": { - "@mapbox/point-geometry": "~0.1.0" + "@mapbox/point-geometry": "~1.0.0", + "@types/geojson": "^7946.0.14", + "pbf": "^4.0.1" + } + }, + "node_modules/@mapbox/vector-tile/node_modules/pbf": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-4.0.1.tgz", + "integrity": "sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==", + "dependencies": { + "resolve-protobuf-schema": "^2.1.0" + }, + "bin": { + "pbf": "bin/pbf" } }, "node_modules/@nodelib/fs.scandir": { @@ -1811,9 +1826,9 @@ "license": "MIT" }, "node_modules/@types/geojson": { - "version": "7946.0.10", - "license": "MIT", - "peer": true + "version": "7946.0.14", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", + "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==" }, "node_modules/@types/node": { "version": "14.18.31", @@ -10210,15 +10225,31 @@ "dev": true }, "@mapbox/point-geometry": { - "version": "0.1.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-1.0.0.tgz", + "integrity": "sha512-1EPbCrZvs+eBayaMcPeDmwsbgG/b7vQxtYlzLI/5dA2SHctbUxFr13OE4+AdozoF8EtvbaFcfQIzWetOfooz/w==" }, "@mapbox/sexagesimal": { "version": "1.2.0" }, "@mapbox/vector-tile": { - "version": "1.3.1", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-2.0.2.tgz", + "integrity": "sha512-DGHWcOU2VzaEEzqR0CxxXaBESwEUpFy8+iLNARxZrHRgu9IoTMZgh0ugRNI67n6xXI08z3ZyrKbcdxDPtAfk8w==", "requires": { - "@mapbox/point-geometry": "~0.1.0" + "@mapbox/point-geometry": "~1.0.0", + "@types/geojson": "^7946.0.14", + "pbf": "^4.0.1" + }, + "dependencies": { + "pbf": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-4.0.1.tgz", + "integrity": "sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==", + "requires": { + "resolve-protobuf-schema": "^2.1.0" + } + } } }, "@nodelib/fs.scandir": { @@ -10515,8 +10546,9 @@ "dev": true }, "@types/geojson": { - "version": "7946.0.10", - "peer": true + "version": "7946.0.14", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", + "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==" }, "@types/node": { "version": "14.18.31", diff --git a/package.json b/package.json index 1af0e6c32..8b6ef49b7 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "dependencies": { "@mapbox/geojson-area": "^0.2.2", "@mapbox/sexagesimal": "1.2.0", - "@mapbox/vector-tile": "^1.3.1", + "@mapbox/vector-tile": "^2.0.2", "@rapideditor/country-coder": "~5.2.2", "@rapideditor/location-conflation": "~1.3.0", "@tmcw/togeojson": "^5.8.1", From 43c65bf9945495c54953fcdf0049fa894e77efbf Mon Sep 17 00:00:00 2001 From: Sam Ho Date: Tue, 16 Jul 2024 12:38:06 +0100 Subject: [PATCH 28/61] Fix localized field hidden despite nonempty subkeys (Closes#10323) --- modules/ui/field.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/ui/field.js b/modules/ui/field.js index c7f0f2ca5..b05b8d5de 100644 --- a/modules/ui/field.js +++ b/modules/ui/field.js @@ -97,6 +97,15 @@ export function uiField(context, presetField, entityIDs, options) { } return false; } + if (field.type === 'localized') { + for (let tagKey in _tags) { + // matches for field:, where is a BCP 47 locale code + let match = tagKey.match(/^(.*):([a-z]{2,3}(?:-[A-Z][a-z]{3})?(?:-[A-Z]{2})?)$/); + if (match && match[1] === field.key && match[2]) { + return true; + } + } + } return _tags[key] !== undefined; }); } From c3e7090b700650832ee856f42bcedbb8758c0069 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:48:32 +0200 Subject: [PATCH 29/61] Bump alif-toolkit from 1.2.9 to 1.3.0 (#10331) Bumps [alif-toolkit](https://github.com/Georeactor/alif-toolkit) from 1.2.9 to 1.3.0. - [Commits](https://github.com/Georeactor/alif-toolkit/commits) --- updated-dependencies: - dependency-name: alif-toolkit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 11 +++++++---- package.json | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index ba8d02f93..2cd4f04d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "@turf/bbox-clip": "^7.0.0", "abortcontroller-polyfill": "^1.7.5", "aes-js": "^3.1.2", - "alif-toolkit": "^1.2.9", + "alif-toolkit": "^1.3.0", "core-js-bundle": "^3.37.1", "diacritics": "1.3.0", "exifr": "^7.1.3", @@ -1930,8 +1930,9 @@ } }, "node_modules/alif-toolkit": { - "version": "1.2.9", - "license": "MIT" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/alif-toolkit/-/alif-toolkit-1.3.0.tgz", + "integrity": "sha512-jDqf4NRaP0aY7GFr3tvWUSV1qjPe5ho4woKOgIP1otJ/9Si4+bSjSqdDvhuJsVtnAi97Dw7hM4cObLHcHO+o0A==" }, "node_modules/amdefine": { "version": "1.0.1", @@ -10606,7 +10607,9 @@ } }, "alif-toolkit": { - "version": "1.2.9" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/alif-toolkit/-/alif-toolkit-1.3.0.tgz", + "integrity": "sha512-jDqf4NRaP0aY7GFr3tvWUSV1qjPe5ho4woKOgIP1otJ/9Si4+bSjSqdDvhuJsVtnAi97Dw7hM4cObLHcHO+o0A==" }, "amdefine": { "version": "1.0.1", diff --git a/package.json b/package.json index 1af0e6c32..30b0badd3 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "@turf/bbox-clip": "^7.0.0", "abortcontroller-polyfill": "^1.7.5", "aes-js": "^3.1.2", - "alif-toolkit": "^1.2.9", + "alif-toolkit": "^1.3.0", "core-js-bundle": "^3.37.1", "diacritics": "1.3.0", "exifr": "^7.1.3", From c41a5e278feeca85dc503ce27128d30e8bca35d2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:49:08 +0200 Subject: [PATCH 30/61] Bump eslint from 9.4.0 to 9.7.0 (#10329) Bumps [eslint](https://github.com/eslint/eslint) from 9.4.0 to 9.7.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.4.0...v9.7.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 136 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 69 insertions(+), 69 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2cd4f04d1..2f83e87b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -59,7 +59,7 @@ "editor-layer-index": "github:osmlab/editor-layer-index#gh-pages", "esbuild": "^0.23.0", "esbuild-visualizer": "^0.6.0", - "eslint": "^9.4.0", + "eslint": "^9.7.0", "fetch-mock": "^9.11.0", "gaze": "^1.1.3", "glob": "^10.4.1", @@ -992,23 +992,23 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/config-array": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.15.1.tgz", - "integrity": "sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.0.tgz", + "integrity": "sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA==", "dev": true, "dependencies": { - "@eslint/object-schema": "^2.1.3", + "@eslint/object-schema": "^2.1.4", "debug": "^4.3.1", - "minimatch": "^3.0.5" + "minimatch": "^3.1.2" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1038,18 +1038,18 @@ } }, "node_modules/@eslint/js": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.4.0.tgz", - "integrity": "sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==", + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.7.0.tgz", + "integrity": "sha512-ChuWDQenef8OSFnvuxv0TCVxEwmu3+hPNKvM9B34qpM0rDRbjL8t5QkQeHHeAfsKQjuH9wS82WeCi1J/owatng==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/object-schema": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.3.tgz", - "integrity": "sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1889,9 +1889,9 @@ } }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -3832,16 +3832,16 @@ } }, "node_modules/eslint": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.4.0.tgz", - "integrity": "sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==", + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.7.0.tgz", + "integrity": "sha512-FzJ9D/0nGiCGBf8UXO/IGLTgLVzIxze1zpfA8Ton2mjLovXdAPlYDv+MQDcqj3TmrhAGYfOpz9RfR+ent0AgAw==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/config-array": "^0.15.1", + "@eslint-community/regexpp": "^4.11.0", + "@eslint/config-array": "^0.17.0", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.4.0", + "@eslint/js": "9.7.0", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", @@ -3850,10 +3850,10 @@ "cross-spawn": "^7.0.2", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.0.1", + "eslint-scope": "^8.0.2", "eslint-visitor-keys": "^4.0.0", - "espree": "^10.0.1", - "esquery": "^1.4.2", + "espree": "^10.1.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", @@ -3879,13 +3879,13 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://eslint.org/donate" } }, "node_modules/eslint-scope": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.1.tgz", - "integrity": "sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", + "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -3923,12 +3923,12 @@ } }, "node_modules/espree": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz", - "integrity": "sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", + "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", "dev": true, "dependencies": { - "acorn": "^8.11.3", + "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.0.0" }, @@ -9976,20 +9976,20 @@ } }, "@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true }, "@eslint/config-array": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.15.1.tgz", - "integrity": "sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.0.tgz", + "integrity": "sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA==", "dev": true, "requires": { - "@eslint/object-schema": "^2.1.3", + "@eslint/object-schema": "^2.1.4", "debug": "^4.3.1", - "minimatch": "^3.0.5" + "minimatch": "^3.1.2" } }, "@eslint/eslintrc": { @@ -10010,15 +10010,15 @@ } }, "@eslint/js": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.4.0.tgz", - "integrity": "sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==", + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.7.0.tgz", + "integrity": "sha512-ChuWDQenef8OSFnvuxv0TCVxEwmu3+hPNKvM9B34qpM0rDRbjL8t5QkQeHHeAfsKQjuH9wS82WeCi1J/owatng==", "dev": true }, "@eslint/object-schema": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.3.tgz", - "integrity": "sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "dev": true }, "@fortawesome/fontawesome-svg-core": { @@ -10579,9 +10579,9 @@ } }, "acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true }, "acorn-jsx": { @@ -11881,16 +11881,16 @@ } }, "eslint": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.4.0.tgz", - "integrity": "sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==", + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.7.0.tgz", + "integrity": "sha512-FzJ9D/0nGiCGBf8UXO/IGLTgLVzIxze1zpfA8Ton2mjLovXdAPlYDv+MQDcqj3TmrhAGYfOpz9RfR+ent0AgAw==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/config-array": "^0.15.1", + "@eslint-community/regexpp": "^4.11.0", + "@eslint/config-array": "^0.17.0", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.4.0", + "@eslint/js": "9.7.0", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", @@ -11899,10 +11899,10 @@ "cross-spawn": "^7.0.2", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.0.1", + "eslint-scope": "^8.0.2", "eslint-visitor-keys": "^4.0.0", - "espree": "^10.0.1", - "esquery": "^1.4.2", + "espree": "^10.1.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", @@ -11931,9 +11931,9 @@ } }, "eslint-scope": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.1.tgz", - "integrity": "sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", + "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -11947,12 +11947,12 @@ "dev": true }, "espree": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz", - "integrity": "sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", + "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", "dev": true, "requires": { - "acorn": "^8.11.3", + "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.0.0" }, diff --git a/package.json b/package.json index 30b0badd3..20f6d09ff 100644 --- a/package.json +++ b/package.json @@ -94,7 +94,7 @@ "editor-layer-index": "github:osmlab/editor-layer-index#gh-pages", "esbuild": "^0.23.0", "esbuild-visualizer": "^0.6.0", - "eslint": "^9.4.0", + "eslint": "^9.7.0", "fetch-mock": "^9.11.0", "gaze": "^1.1.3", "glob": "^10.4.1", From 9a14154c5ffc3d1c26745663efc971a933134b5c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:49:41 +0200 Subject: [PATCH 31/61] Bump rbush from 3.0.1 to 4.0.0 (#10330) Bumps [rbush](https://github.com/mourner/rbush) from 3.0.1 to 4.0.0. - [Release notes](https://github.com/mourner/rbush/releases) - [Commits](https://github.com/mourner/rbush/compare/v3.0.1...v4.0.0) --- updated-dependencies: - dependency-name: rbush dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 29 +++++++++++++++++++++++++---- package.json | 2 +- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2f83e87b9..911ec095d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,7 +32,7 @@ "pannellum": "2.5.6", "pbf": "^3.2.1", "polygon-clipping": "~0.15.7", - "rbush": "3.0.1", + "rbush": "4.0.0", "whatwg-fetch": "^3.6.20", "which-polygon": "2.2.1" }, @@ -6116,6 +6116,15 @@ "dev": true, "license": "(MIT AND Zlib)" }, + "node_modules/mapillary-js/node_modules/rbush": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", + "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", + "dev": true, + "dependencies": { + "quickselect": "^2.0.0" + } + }, "node_modules/marked": { "version": "12.0.2", "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz", @@ -7457,8 +7466,9 @@ } }, "node_modules/rbush": { - "version": "3.0.1", - "license": "MIT", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-4.0.0.tgz", + "integrity": "sha512-F5xw+166FYDZI6jEcz+sWEHL5/J+du3kQWkwqWrPKb6iVoLPZh+2KhTS4OoYqrw1v/RO1xQe6WsLwBvrUAlvXw==", "dependencies": { "quickselect": "^2.0.0" } @@ -13399,6 +13409,15 @@ "pako": { "version": "2.0.4", "dev": true + }, + "rbush": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", + "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", + "dev": true, + "requires": { + "quickselect": "^2.0.0" + } } } }, @@ -14297,7 +14316,9 @@ } }, "rbush": { - "version": "3.0.1", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-4.0.0.tgz", + "integrity": "sha512-F5xw+166FYDZI6jEcz+sWEHL5/J+du3kQWkwqWrPKb6iVoLPZh+2KhTS4OoYqrw1v/RO1xQe6WsLwBvrUAlvXw==", "requires": { "quickselect": "^2.0.0" } diff --git a/package.json b/package.json index 20f6d09ff..ac46a84f6 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "pannellum": "2.5.6", "pbf": "^3.2.1", "polygon-clipping": "~0.15.7", - "rbush": "3.0.1", + "rbush": "4.0.0", "whatwg-fetch": "^3.6.20", "which-polygon": "2.2.1" }, From 7601a2934285dd816a3e278e40cfc34dacf59312 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:50:13 +0200 Subject: [PATCH 32/61] Bump postcss from 8.4.38 to 8.4.39 (#10327) Bumps [postcss](https://github.com/postcss/postcss) from 8.4.38 to 8.4.39. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.4.38...8.4.39) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 18 +++++++++--------- package.json | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 911ec095d..7bfce71bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -77,7 +77,7 @@ "name-suggestion-index": "~6.0", "npm-run-all": "^4.0.0", "osm-community-index": "~5.7.1", - "postcss": "^8.4.38", + "postcss": "^8.4.39", "postcss-selector-prepend": "^0.5.0", "shelljs": "^0.8.0", "shx": "^0.3.0", @@ -7188,9 +7188,9 @@ } }, "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "version": "8.4.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", + "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", "dev": true, "funding": [ { @@ -7208,7 +7208,7 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "source-map-js": "^1.2.0" }, "engines": { @@ -14146,13 +14146,13 @@ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==" }, "postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "version": "8.4.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", + "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", "dev": true, "requires": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "source-map-js": "^1.2.0" } }, diff --git a/package.json b/package.json index ac46a84f6..e1327a451 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,7 @@ "name-suggestion-index": "~6.0", "npm-run-all": "^4.0.0", "osm-community-index": "~5.7.1", - "postcss": "^8.4.38", + "postcss": "^8.4.39", "postcss-selector-prepend": "^0.5.0", "shelljs": "^0.8.0", "shx": "^0.3.0", From 42f274f73ff0f989333b652418b2528b567ef927 Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Tue, 16 Jul 2024 17:04:49 +0200 Subject: [PATCH 33/61] move reused regex to exported constant --- modules/ui/field.js | 3 ++- modules/ui/fields/localized.js | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/ui/field.js b/modules/ui/field.js index b05b8d5de..ca6932a8f 100644 --- a/modules/ui/field.js +++ b/modules/ui/field.js @@ -8,6 +8,7 @@ import { uiTooltip } from './tooltip'; import { geoExtent } from '../geo/extent'; import { uiFieldHelp } from './field_help'; import { uiFields } from './fields'; +import { LANGUAGE_SUFFIX_REGEX } from './fields/localized'; import { uiTagReference } from './tag_reference'; import { utilRebind, utilUniqueDomId } from '../util'; @@ -100,7 +101,7 @@ export function uiField(context, presetField, entityIDs, options) { if (field.type === 'localized') { for (let tagKey in _tags) { // matches for field:, where is a BCP 47 locale code - let match = tagKey.match(/^(.*):([a-z]{2,3}(?:-[A-Z][a-z]{3})?(?:-[A-Z]{2})?)$/); + let match = tagKey.match(LANGUAGE_SUFFIX_REGEX); if (match && match[1] === field.key && match[2]) { return true; } diff --git a/modules/ui/fields/localized.js b/modules/ui/fields/localized.js index 8726ce8c5..8d5850e8d 100644 --- a/modules/ui/fields/localized.js +++ b/modules/ui/fields/localized.js @@ -14,6 +14,7 @@ import { uiLengthIndicator } from '../length_indicator'; var _languagesArray = []; +export const LANGUAGE_SUFFIX_REGEX = /^(.*):([a-z]{2,3}(?:-[A-Z][a-z]{3})?(?:-[A-Z]{2})?)$/; export function uiFieldLocalized(field, context) { var dispatch = d3_dispatch('change', 'input'); @@ -127,7 +128,7 @@ export function uiFieldLocalized(field, context) { // matches for field:, where is a BCP 47 locale code // motivation is to avoid matching on similarly formatted tags that are // not for languages, e.g. name:left, name:source, etc. - var m = k.match(/^(.*):([a-z]{2,3}(?:-[A-Z][a-z]{3})?(?:-[A-Z]{2})?)$/); + var m = k.match(LANGUAGE_SUFFIX_REGEX); if (m && m[1] === field.key && m[2]) { var item = { lang: m[2], value: tags[k] }; if (existingLangs.has(item.lang)) { From b0235f34d13a2b7ea27f275390c004c297602fdc Mon Sep 17 00:00:00 2001 From: Tobias Date: Tue, 16 Jul 2024 17:14:01 +0200 Subject: [PATCH 34/61] Improve/fix type definitions (#10324) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Kyℓe Hensel --- modules/core/preferences.js | 2 +- modules/renderer/features.js | 21 ++++++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/modules/core/preferences.js b/modules/core/preferences.js index e82d6e338..2a5a88378 100644 --- a/modules/core/preferences.js +++ b/modules/core/preferences.js @@ -20,7 +20,7 @@ const _listeners = {}; // /** * @param {string} k - * @param {string?} v + * @param {string?} [v] * @returns {boolean} true if the action succeeded */ function corePreferences(k, v) { diff --git a/modules/renderer/features.js b/modules/renderer/features.js index 232e4a5ce..da12af03d 100644 --- a/modules/renderer/features.js +++ b/modules/renderer/features.js @@ -71,10 +71,17 @@ export function rendererFeatures(context) { } + /** + * @callback FilterFunction + * @param {Record} tags + * @param {string} [geometry] + * @returns {boolean} + */ + /** * @param {string} k - * @param {(tags: Record, geometry: string) => boolean} filter - * @param {?number} max + * @param {FilterFunction} filter + * @param {number} [max] */ function defineRule(k, filter, max) { var isEnabled = true; @@ -124,11 +131,11 @@ export function rendererFeatures(context) { }, 250); defineRule('building_parts', function isBuildingPart(tags) { - return tags['building:part']; + return !!tags['building:part']; }); defineRule('indoor', function isIndoor(tags) { - return tags.indoor; + return !!tags.indoor; }); defineRule('landuse', function isLanduse(tags, geometry) { @@ -194,8 +201,8 @@ export function rendererFeatures(context) { }); defineRule('aerialways', function isAerialways(tags) { - return tags.aerialway && - tags.aerialway !== 'yes' && + return !!tags?.aerialway && + tags.aerialway !== 'yes' && tags.aerialway !== 'station'; }); @@ -260,7 +267,7 @@ export function rendererFeatures(context) { if (!arguments.length) { return _keys.filter(function(k) { return _rules[k].hidden(); }); } - return _rules[k] && _rules[k].hidden(); + return _rules[k]?.hidden(); }; From d13c202ac02e29e1b677ad68613a2f316e7cf5de Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Tue, 16 Jul 2024 22:10:08 +0200 Subject: [PATCH 35/61] update "add mapillary tag" button state when tags of the feature change addresses https://github.com/openstreetmap/iD/pull/10046#pullrequestreview-2176313208 --- modules/ui/photoviewer.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/ui/photoviewer.js b/modules/ui/photoviewer.js index 70340d2af..71cbf2da1 100644 --- a/modules/ui/photoviewer.js +++ b/modules/ui/photoviewer.js @@ -64,10 +64,13 @@ export function uiPhotoviewer(context) { buildResizeListener(selection, 'resize', dispatch, { resizeOnY: true }) ); - // set_photo_from_viewer button + // update sett_photo_from_viewer button on selection change and when tags change context.features().on('change.setPhotoFromViewer', function() { setPhotoFromViewerButton(); }); + context.history().on('change.setPhotoFromViewer', function() { + setPhotoFromViewerButton(); + }); function setPhotoFromViewerButton() { From 34f94f1750699d363cad2e2c48a67ccadfe17b92 Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Wed, 17 Jul 2024 09:44:13 +0200 Subject: [PATCH 36/61] don't spell-check npm dependencies --- .github/workflows/codespell.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index 7c9cb1f2a..c3194c732 100644 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -15,7 +15,7 @@ jobs: - uses: codespell-project/actions-codespell@master with: check_filenames: true - skip: ./.git,./data/territory_languages.json,./data/imagery.json,./data/languages.json,./data/address_formats.json,./dist/locales,./docs/img,./dist/img,./css + skip: ./.git,./data/territory_languages.json,./data/imagery.json,./data/languages.json,./data/address_formats.json,./dist/locales,./docs/img,./dist/img,./css,package.json,package-lock.json ignore_words_list: "auxilary,casette,cemetary,chancel,childs,extentions,falsy,files',froms,generat,guerilla,inflight,kindergarden,nd,ot,pavillion,specialties,tos,vias,visibles" exclude_file: .codespellignorelines only_warn: 1 From 95ce7de78b65142ba6a9acfeb7f3b81ee85aa79d Mon Sep 17 00:00:00 2001 From: Waldir Pimenta Date: Wed, 17 Jul 2024 09:11:22 +0100 Subject: [PATCH 37/61] Add waterway=flowline to waterway tags representing directional water flows (#10283) --- modules/osm/tags.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/osm/tags.js b/modules/osm/tags.js index ff5806eec..d51c177c6 100644 --- a/modules/osm/tags.js +++ b/modules/osm/tags.js @@ -167,6 +167,7 @@ export var osmOneWayTags = { 'ditch': true, 'drain': true, 'fish_pass': true, + 'flowline': true, 'pressurised': true, 'river': true, 'spillway': true, @@ -245,7 +246,7 @@ export var osmRailwayTrackTagValues = { // "waterway" tag values for line features representing water flow export var osmFlowingWaterwayTagValues = { - canal: true, ditch: true, drain: true, fish_pass: true, river: true, stream: true, tidal_channel: true + canal: true, ditch: true, drain: true, fish_pass: true, flowline: true, river: true, stream: true, tidal_channel: true }; // Tags which values should be considered case sensitive when offering tag suggestions From 25ef0269bded11b14fbf831c20074179971119e8 Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Wed, 17 Jul 2024 10:13:48 +0200 Subject: [PATCH 38/61] add #10283 to changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 200a71def..aa3d58169 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -62,6 +62,7 @@ _Breaking developer changes, which may affect downstream projects or sites that #### :rocket: Presets * Render `highway=ladder` in a style similar to stairs ([#10257], thanks [@k-yle]) * Render arrows on lines with `conveying` tag ([#10255], thanks [@k-yle]) +* Render arrows on lines tagged as `waterway=flowline` ([#10283], thanks [@waldyrious]) #### :hammer: Development * Update dependencies, including `osm-community-index` to v5.7, `osm-auth` to v2.5 @@ -73,12 +74,14 @@ _Breaking developer changes, which may affect downstream projects or sites that [#10255]: https://github.com/openstreetmap/iD/pull/10255 [#10257]: https://github.com/openstreetmap/iD/pull/10257 [#10260]: https://github.com/openstreetmap/iD/issues/10260 +[#10283]: https://github.com/openstreetmap/iD/pull/10283 [#10291]: https://github.com/openstreetmap/iD/pull/10291 [#10302]: https://github.com/openstreetmap/iD/issues/10302 [#10323]: https://github.com/openstreetmap/iD/issues/10323 [@zbycz]: https://github.com/zbycz [@samhoooo]: https://github.com/samhoooo [@cmoffroad]: https://github.com/cmoffroad +[@waldyrious]: https://github.com/waldyrious # 2.29.0 From 3ead1dc6deeac72370cc74388cb2552a6525c803 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 14:58:50 +0200 Subject: [PATCH 39/61] Bump @fortawesome/free-regular-svg-icons from 6.5.2 to 6.6.0 (#10336) Bumps [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.5.2 to 6.6.0. - [Release notes](https://github.com/FortAwesome/Font-Awesome/releases) - [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md) - [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.2...6.6.0) --- updated-dependencies: - dependency-name: "@fortawesome/free-regular-svg-icons" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 52 ++++++++++++++++++++++------------------------- package.json | 2 +- 2 files changed, 25 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index c89fa25c6..7af194ba6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,7 +39,7 @@ "devDependencies": { "@fortawesome/fontawesome-svg-core": "~6.5.2", "@fortawesome/free-brands-svg-icons": "~6.5.2", - "@fortawesome/free-regular-svg-icons": "~6.5.2", + "@fortawesome/free-regular-svg-icons": "~6.6.0", "@fortawesome/free-solid-svg-icons": "~6.5.2", "@mapbox/maki": "^8.0.1", "@openstreetmap/id-tagging-schema": "^6.7.3", @@ -1055,6 +1055,15 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz", + "integrity": "sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/@fortawesome/fontawesome-svg-core": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.2.tgz", @@ -1102,28 +1111,17 @@ } }, "node_modules/@fortawesome/free-regular-svg-icons": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.5.2.tgz", - "integrity": "sha512-iabw/f5f8Uy2nTRtJ13XZTS1O5+t+anvlamJ3zJGLEVE2pKsAWhPv2lq01uQlfgCX7VaveT3EVs515cCN9jRbw==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.6.0.tgz", + "integrity": "sha512-Yv9hDzL4aI73BEwSEh20clrY8q/uLxawaQ98lekBx6t9dQKDHcDzzV1p2YtBGTtolYtNqcWdniOnhzB+JPnQEQ==", "dev": true, - "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "6.5.2" + "@fortawesome/fontawesome-common-types": "6.6.0" }, "engines": { "node": ">=6" } }, - "node_modules/@fortawesome/free-regular-svg-icons/node_modules/@fortawesome/fontawesome-common-types": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz", - "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==", - "dev": true, - "hasInstallScript": true, - "engines": { - "node": ">=6" - } - }, "node_modules/@fortawesome/free-solid-svg-icons": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.2.tgz", @@ -10046,6 +10044,12 @@ "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "dev": true }, + "@fortawesome/fontawesome-common-types": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz", + "integrity": "sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==", + "dev": true + }, "@fortawesome/fontawesome-svg-core": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.2.tgz", @@ -10081,20 +10085,12 @@ } }, "@fortawesome/free-regular-svg-icons": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.5.2.tgz", - "integrity": "sha512-iabw/f5f8Uy2nTRtJ13XZTS1O5+t+anvlamJ3zJGLEVE2pKsAWhPv2lq01uQlfgCX7VaveT3EVs515cCN9jRbw==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.6.0.tgz", + "integrity": "sha512-Yv9hDzL4aI73BEwSEh20clrY8q/uLxawaQ98lekBx6t9dQKDHcDzzV1p2YtBGTtolYtNqcWdniOnhzB+JPnQEQ==", "dev": true, "requires": { - "@fortawesome/fontawesome-common-types": "6.5.2" - }, - "dependencies": { - "@fortawesome/fontawesome-common-types": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz", - "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==", - "dev": true - } + "@fortawesome/fontawesome-common-types": "6.6.0" } }, "@fortawesome/free-solid-svg-icons": { diff --git a/package.json b/package.json index 7192caabf..c10b9037e 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "devDependencies": { "@fortawesome/fontawesome-svg-core": "~6.5.2", "@fortawesome/free-brands-svg-icons": "~6.5.2", - "@fortawesome/free-regular-svg-icons": "~6.5.2", + "@fortawesome/free-regular-svg-icons": "~6.6.0", "@fortawesome/free-solid-svg-icons": "~6.5.2", "@mapbox/maki": "^8.0.1", "@openstreetmap/id-tagging-schema": "^6.7.3", From d3d015a57646c8cce6683d289eb35d8714520b41 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 15:03:28 +0200 Subject: [PATCH 40/61] Bump @fortawesome/free-brands-svg-icons from 6.5.2 to 6.6.0 (#10337) Bumps [@fortawesome/free-brands-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.5.2 to 6.6.0. - [Release notes](https://github.com/FortAwesome/Font-Awesome/releases) - [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md) - [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.2...6.6.0) --- updated-dependencies: - dependency-name: "@fortawesome/free-brands-svg-icons" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 37 +++++++++---------------------------- package.json | 2 +- 2 files changed, 10 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7af194ba6..47309958d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,7 +38,7 @@ }, "devDependencies": { "@fortawesome/fontawesome-svg-core": "~6.5.2", - "@fortawesome/free-brands-svg-icons": "~6.5.2", + "@fortawesome/free-brands-svg-icons": "~6.6.0", "@fortawesome/free-regular-svg-icons": "~6.6.0", "@fortawesome/free-solid-svg-icons": "~6.5.2", "@mapbox/maki": "^8.0.1", @@ -1088,28 +1088,17 @@ } }, "node_modules/@fortawesome/free-brands-svg-icons": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.5.2.tgz", - "integrity": "sha512-zi5FNYdmKLnEc0jc0uuHH17kz/hfYTg4Uei0wMGzcoCL/4d3WM3u1VMc0iGGa31HuhV5i7ZK8ZlTCQrHqRHSGQ==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.6.0.tgz", + "integrity": "sha512-1MPD8lMNW/earme4OQi1IFHtmHUwAKgghXlNwWi9GO7QkTfD+IIaYpIai4m2YJEzqfEji3jFHX1DZI5pbY/biQ==", "dev": true, - "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "6.5.2" + "@fortawesome/fontawesome-common-types": "6.6.0" }, "engines": { "node": ">=6" } }, - "node_modules/@fortawesome/free-brands-svg-icons/node_modules/@fortawesome/fontawesome-common-types": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz", - "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==", - "dev": true, - "hasInstallScript": true, - "engines": { - "node": ">=6" - } - }, "node_modules/@fortawesome/free-regular-svg-icons": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.6.0.tgz", @@ -10068,20 +10057,12 @@ } }, "@fortawesome/free-brands-svg-icons": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.5.2.tgz", - "integrity": "sha512-zi5FNYdmKLnEc0jc0uuHH17kz/hfYTg4Uei0wMGzcoCL/4d3WM3u1VMc0iGGa31HuhV5i7ZK8ZlTCQrHqRHSGQ==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.6.0.tgz", + "integrity": "sha512-1MPD8lMNW/earme4OQi1IFHtmHUwAKgghXlNwWi9GO7QkTfD+IIaYpIai4m2YJEzqfEji3jFHX1DZI5pbY/biQ==", "dev": true, "requires": { - "@fortawesome/fontawesome-common-types": "6.5.2" - }, - "dependencies": { - "@fortawesome/fontawesome-common-types": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz", - "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==", - "dev": true - } + "@fortawesome/fontawesome-common-types": "6.6.0" } }, "@fortawesome/free-regular-svg-icons": { diff --git a/package.json b/package.json index c10b9037e..db9b33516 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ }, "devDependencies": { "@fortawesome/fontawesome-svg-core": "~6.5.2", - "@fortawesome/free-brands-svg-icons": "~6.5.2", + "@fortawesome/free-brands-svg-icons": "~6.6.0", "@fortawesome/free-regular-svg-icons": "~6.6.0", "@fortawesome/free-solid-svg-icons": "~6.5.2", "@mapbox/maki": "^8.0.1", From 91e615601760b7338e83da546274d0159536b4ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 15:03:38 +0200 Subject: [PATCH 41/61] Bump @fortawesome/free-solid-svg-icons from 6.5.2 to 6.6.0 (#10339) Bumps [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.5.2 to 6.6.0. - [Release notes](https://github.com/FortAwesome/Font-Awesome/releases) - [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md) - [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.2...6.6.0) --- updated-dependencies: - dependency-name: "@fortawesome/free-solid-svg-icons" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 37 +++++++++---------------------------- package.json | 2 +- 2 files changed, 10 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index 47309958d..b9ab99e06 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,7 +40,7 @@ "@fortawesome/fontawesome-svg-core": "~6.5.2", "@fortawesome/free-brands-svg-icons": "~6.6.0", "@fortawesome/free-regular-svg-icons": "~6.6.0", - "@fortawesome/free-solid-svg-icons": "~6.5.2", + "@fortawesome/free-solid-svg-icons": "~6.6.0", "@mapbox/maki": "^8.0.1", "@openstreetmap/id-tagging-schema": "^6.7.3", "@rapideditor/mapillary_sprite_source": "^1.8.0", @@ -1112,28 +1112,17 @@ } }, "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.2.tgz", - "integrity": "sha512-QWFZYXFE7O1Gr1dTIp+D6UcFUF0qElOnZptpi7PBUMylJh+vFmIedVe1Ir6RM1t2tEQLLSV1k7bR4o92M+uqlw==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.6.0.tgz", + "integrity": "sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==", "dev": true, - "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "6.5.2" + "@fortawesome/fontawesome-common-types": "6.6.0" }, "engines": { "node": ">=6" } }, - "node_modules/@fortawesome/free-solid-svg-icons/node_modules/@fortawesome/fontawesome-common-types": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz", - "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==", - "dev": true, - "hasInstallScript": true, - "engines": { - "node": ">=6" - } - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "dev": true, @@ -10075,20 +10064,12 @@ } }, "@fortawesome/free-solid-svg-icons": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.2.tgz", - "integrity": "sha512-QWFZYXFE7O1Gr1dTIp+D6UcFUF0qElOnZptpi7PBUMylJh+vFmIedVe1Ir6RM1t2tEQLLSV1k7bR4o92M+uqlw==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.6.0.tgz", + "integrity": "sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==", "dev": true, "requires": { - "@fortawesome/fontawesome-common-types": "6.5.2" - }, - "dependencies": { - "@fortawesome/fontawesome-common-types": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz", - "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==", - "dev": true - } + "@fortawesome/fontawesome-common-types": "6.6.0" } }, "@humanwhocodes/module-importer": { diff --git a/package.json b/package.json index db9b33516..d9c1129f9 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "@fortawesome/fontawesome-svg-core": "~6.5.2", "@fortawesome/free-brands-svg-icons": "~6.6.0", "@fortawesome/free-regular-svg-icons": "~6.6.0", - "@fortawesome/free-solid-svg-icons": "~6.5.2", + "@fortawesome/free-solid-svg-icons": "~6.6.0", "@mapbox/maki": "^8.0.1", "@openstreetmap/id-tagging-schema": "^6.7.3", "@rapideditor/mapillary_sprite_source": "^1.8.0", From 83138759258dda079724b9399b86b8de759c85f1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 15:04:15 +0200 Subject: [PATCH 42/61] Bump mocha from 10.4.0 to 10.7.0 (#10344) Bumps [mocha](https://github.com/mochajs/mocha) from 10.4.0 to 10.7.0. - [Release notes](https://github.com/mochajs/mocha/releases) - [Changelog](https://github.com/mochajs/mocha/blob/main/CHANGELOG.md) - [Commits](https://github.com/mochajs/mocha/compare/v10.4.0...v10.7.0) --- updated-dependencies: - dependency-name: mocha dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 164 ++++++++++++++++++++++++++-------------------- package.json | 2 +- 2 files changed, 95 insertions(+), 71 deletions(-) diff --git a/package-lock.json b/package-lock.json index b9ab99e06..7008aad92 100644 --- a/package-lock.json +++ b/package-lock.json @@ -73,7 +73,7 @@ "karma-remap-istanbul": "^0.6.0", "mapillary-js": "4.1.2", "minimist": "^1.2.8", - "mocha": "^10.4.0", + "mocha": "^10.7.0", "name-suggestion-index": "~6.0", "npm-run-all": "^4.0.0", "osm-community-index": "~5.7.1", @@ -1934,9 +1934,10 @@ } }, "node_modules/ansi-colors": { - "version": "4.1.1", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -3179,9 +3180,10 @@ } }, "node_modules/debug": { - "version": "4.3.4", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -3330,9 +3332,10 @@ "license": "MIT" }, "node_modules/diff": { - "version": "5.0.0", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } @@ -6268,31 +6271,31 @@ } }, "node_modules/mocha": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.4.0.tgz", - "integrity": "sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==", + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.0.tgz", + "integrity": "sha512-v8/rBWr2VO5YkspYINnvu81inSz2y3ODJrhO175/Exzor1RcEZZkizgE2A+w/CAXXoESS8Kys5E62dOHGHzULA==", "dev": true, "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "8.1.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "bin": { "_mocha": "bin/_mocha", @@ -6322,9 +6325,10 @@ } }, "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -7417,8 +7421,9 @@ }, "node_modules/randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } @@ -7909,9 +7914,10 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.0", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } @@ -9255,9 +9261,10 @@ "license": "MIT" }, "node_modules/workerpool": { - "version": "6.2.1", - "dev": true, - "license": "Apache-2.0" + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", + "dev": true }, "node_modules/wrap-ansi": { "version": "7.0.0", @@ -9370,9 +9377,10 @@ } }, "node_modules/yargs-parser": { - "version": "20.2.4", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, - "license": "ISC", "engines": { "node": ">=10" } @@ -10616,7 +10624,9 @@ "dev": true }, "ansi-colors": { - "version": "4.1.1", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true }, "ansi-gray": { @@ -11423,7 +11433,9 @@ } }, "debug": { - "version": "4.3.4", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "requires": { "ms": "2.1.2" @@ -11525,7 +11537,9 @@ "version": "1.3.0" }, "diff": { - "version": "5.0.0", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true }, "dom-serialize": { @@ -13514,31 +13528,31 @@ } }, "mocha": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.4.0.tgz", - "integrity": "sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==", + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.0.tgz", + "integrity": "sha512-v8/rBWr2VO5YkspYINnvu81inSz2y3ODJrhO175/Exzor1RcEZZkizgE2A+w/CAXXoESS8Kys5E62dOHGHzULA==", "dev": true, "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "8.1.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "dependencies": { "glob": { @@ -13555,7 +13569,9 @@ } }, "minimatch": { - "version": "5.0.1", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -14277,6 +14293,8 @@ }, "randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "requires": { "safe-buffer": "^5.1.0" @@ -14630,7 +14648,9 @@ "dev": true }, "serialize-javascript": { - "version": "6.0.0", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -15546,7 +15566,9 @@ "dev": true }, "workerpool": { - "version": "6.2.1", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true }, "wrap-ansi": { @@ -15616,7 +15638,9 @@ } }, "yargs-parser": { - "version": "20.2.4", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true }, "yargs-unparser": { diff --git a/package.json b/package.json index d9c1129f9..392973598 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "karma-remap-istanbul": "^0.6.0", "mapillary-js": "4.1.2", "minimist": "^1.2.8", - "mocha": "^10.4.0", + "mocha": "^10.7.0", "name-suggestion-index": "~6.0", "npm-run-all": "^4.0.0", "osm-community-index": "~5.7.1", From 42ea2b9dee3a043c4c258b03b636997294c07eb2 Mon Sep 17 00:00:00 2001 From: Dimitar <19364673+Dimitar5555@users.noreply.github.com> Date: Mon, 22 Jul 2024 16:28:28 +0300 Subject: [PATCH 43/61] Added `railway=ventilation_shaft` as area key (#10278) fixes https://github.com/openstreetmap/id-tagging-schema/issues/1263 --- modules/osm/tags.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/osm/tags.js b/modules/osm/tags.js index d51c177c6..e105ce556 100644 --- a/modules/osm/tags.js +++ b/modules/osm/tags.js @@ -58,7 +58,8 @@ export var osmAreaKeysExceptions = { station: true, traverser: true, turntable: true, - wash: true + wash: true, + ventilation_shaft: true }, waterway: { dam: true From 56ffe79223bb49d440158eb805af029b42266ebc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jul 2024 11:28:21 +0200 Subject: [PATCH 44/61] Bump glob from 10.4.1 to 10.4.5 (#10345) Bumps [glob](https://github.com/isaacs/node-glob) from 10.4.1 to 10.4.5. - [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md) - [Commits](https://github.com/isaacs/node-glob/compare/v10.4.1...v10.4.5) --- updated-dependencies: - dependency-name: glob dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 31 +++++++++++++++++++++---------- package.json | 2 +- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7008aad92..5fa0e52ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -62,7 +62,7 @@ "eslint": "^9.7.0", "fetch-mock": "^9.11.0", "gaze": "^1.1.3", - "glob": "^10.4.1", + "glob": "^10.4.5", "happen": "^0.3.2", "js-yaml": "^4.0.0", "json-stringify-pretty-compact": "^3.0.0", @@ -4440,23 +4440,21 @@ } }, "node_modules/glob": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", - "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } @@ -6971,6 +6969,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, "node_modules/pannellum": { "version": "2.5.6", "license": "MIT" @@ -12304,15 +12308,16 @@ } }, "glob": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", - "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "requires": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "dependencies": { @@ -14012,6 +14017,12 @@ "p-limit": "^3.0.2" } }, + "package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, "pannellum": { "version": "2.5.6" }, diff --git a/package.json b/package.json index 392973598..fe73c012a 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,7 @@ "eslint": "^9.7.0", "fetch-mock": "^9.11.0", "gaze": "^1.1.3", - "glob": "^10.4.1", + "glob": "^10.4.5", "happen": "^0.3.2", "js-yaml": "^4.0.0", "json-stringify-pretty-compact": "^3.0.0", From 93ad1c251cf2eb3a87960d97c46f7a3c32ed4184 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jul 2024 11:30:08 +0200 Subject: [PATCH 45/61] Bump @rapideditor/country-coder from 5.2.2 to 5.3.0 (#10348) Bumps [@rapideditor/country-coder](https://github.com/rapideditor/country-coder) from 5.2.2 to 5.3.0. - [Release notes](https://github.com/rapideditor/country-coder/releases) - [Changelog](https://github.com/rapideditor/country-coder/blob/main/CHANGELOG.md) - [Commits](https://github.com/rapideditor/country-coder/compare/v5.2.2...v5.3.0) --- updated-dependencies: - dependency-name: "@rapideditor/country-coder" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5fa0e52ab..c9948d5c9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@mapbox/geojson-area": "^0.2.2", "@mapbox/sexagesimal": "1.2.0", "@mapbox/vector-tile": "^2.0.2", - "@rapideditor/country-coder": "~5.2.2", + "@rapideditor/country-coder": "~5.3.0", "@rapideditor/location-conflation": "~1.3.0", "@tmcw/togeojson": "^5.8.1", "@turf/bbox": "^7.0.0", @@ -1396,9 +1396,9 @@ } }, "node_modules/@rapideditor/country-coder": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/@rapideditor/country-coder/-/country-coder-5.2.2.tgz", - "integrity": "sha512-xGkI+wHX694sFcKKVdy20/uNeHuIiJACnke2vp7LzX22PRPJJv+pcn1OU5nb1urnad275EMfJQR33ayi2hWZOQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rapideditor/country-coder/-/country-coder-5.3.0.tgz", + "integrity": "sha512-bFnDQbhpUQNuMcA5da+Ct/d+6DJ0aWK3IgcxWSxDjZN0VH3h9qHUF3az/g+mSXdXQNyvOtucMMCpTn+mDemb/Q==", "dependencies": { "which-polygon": "^2.2.1" }, @@ -10273,9 +10273,9 @@ "optional": true }, "@rapideditor/country-coder": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/@rapideditor/country-coder/-/country-coder-5.2.2.tgz", - "integrity": "sha512-xGkI+wHX694sFcKKVdy20/uNeHuIiJACnke2vp7LzX22PRPJJv+pcn1OU5nb1urnad275EMfJQR33ayi2hWZOQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rapideditor/country-coder/-/country-coder-5.3.0.tgz", + "integrity": "sha512-bFnDQbhpUQNuMcA5da+Ct/d+6DJ0aWK3IgcxWSxDjZN0VH3h9qHUF3az/g+mSXdXQNyvOtucMMCpTn+mDemb/Q==", "requires": { "which-polygon": "^2.2.1" } diff --git a/package.json b/package.json index fe73c012a..e117b3f33 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "@mapbox/geojson-area": "^0.2.2", "@mapbox/sexagesimal": "1.2.0", "@mapbox/vector-tile": "^2.0.2", - "@rapideditor/country-coder": "~5.2.2", + "@rapideditor/country-coder": "~5.3.0", "@rapideditor/location-conflation": "~1.3.0", "@tmcw/togeojson": "^5.8.1", "@turf/bbox": "^7.0.0", From 220977c32efe848658d202e9b5b74547c6cb32d0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jul 2024 11:31:23 +0200 Subject: [PATCH 46/61] Bump @rapideditor/location-conflation from 1.3.0 to 1.4.0 (#10347) Bumps [@rapideditor/location-conflation](https://github.com/rapideditor/location-conflation) from 1.3.0 to 1.4.0. - [Release notes](https://github.com/rapideditor/location-conflation/releases) - [Changelog](https://github.com/rapideditor/location-conflation/blob/main/CHANGELOG.md) - [Commits](https://github.com/rapideditor/location-conflation/compare/v1.3.0...v1.4.0) --- updated-dependencies: - dependency-name: "@rapideditor/location-conflation" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 34 +++++++++++++++++----------------- package.json | 2 +- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package-lock.json b/package-lock.json index c9948d5c9..5618e3a07 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@mapbox/sexagesimal": "1.2.0", "@mapbox/vector-tile": "^2.0.2", "@rapideditor/country-coder": "~5.3.0", - "@rapideditor/location-conflation": "~1.3.0", + "@rapideditor/location-conflation": "~1.4.0", "@tmcw/togeojson": "^5.8.1", "@turf/bbox": "^7.0.0", "@turf/bbox-clip": "^7.0.0", @@ -1407,16 +1407,16 @@ } }, "node_modules/@rapideditor/location-conflation": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@rapideditor/location-conflation/-/location-conflation-1.3.0.tgz", - "integrity": "sha512-h4FAeKNxuqmO7OGTkXN5CS8gbP+/sCyrQdgSMhtjGYwnGaNQoEIypQNRYAqQJxJjgNISvVvunRTvSOOJfSWxSw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@rapideditor/location-conflation/-/location-conflation-1.4.0.tgz", + "integrity": "sha512-GUTAgK5M613nN7uK99ifwMtFJ0D1iunotT5M0avP6cHtNvPx7Sf/HyzYoDfplkCvFwA0NQwxCROCCbxhKCJCAw==", "dependencies": { "@aitodotai/json-stringify-pretty-compact": "^1.3.0", "@mapbox/geojson-area": "^0.2.2", - "@rapideditor/country-coder": "^5.2.1", + "@rapideditor/country-coder": "^5.3.0", "circle-to-polygon": "^2.2.0", "geojson-precision": "^1.0.0", - "polyclip-ts": "~0.16.3" + "polyclip-ts": "~0.16.5" }, "engines": { "node": ">=18" @@ -7144,9 +7144,9 @@ } }, "node_modules/polyclip-ts": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/polyclip-ts/-/polyclip-ts-0.16.3.tgz", - "integrity": "sha512-qvmV7qhaP5P+OnFqBe+gQDPCQx/PuhfITQOIX9cEtgiyLRfgrXrCLi3SOg71UEQCeuVDaMYJ/08xvFTNneYxiA==", + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/polyclip-ts/-/polyclip-ts-0.16.5.tgz", + "integrity": "sha512-ZchnG0zGZReHgEo3EYzEUi6UmfQFFzNnj6AFU+gBm+IJJ4qG9gL4CwjtCV6oi/PittUPpJLiLJxcn/AgrCBO+g==", "dependencies": { "bignumber.js": "^9.1.0", "splaytree-ts": "^1.0.1" @@ -10281,16 +10281,16 @@ } }, "@rapideditor/location-conflation": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@rapideditor/location-conflation/-/location-conflation-1.3.0.tgz", - "integrity": "sha512-h4FAeKNxuqmO7OGTkXN5CS8gbP+/sCyrQdgSMhtjGYwnGaNQoEIypQNRYAqQJxJjgNISvVvunRTvSOOJfSWxSw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@rapideditor/location-conflation/-/location-conflation-1.4.0.tgz", + "integrity": "sha512-GUTAgK5M613nN7uK99ifwMtFJ0D1iunotT5M0avP6cHtNvPx7Sf/HyzYoDfplkCvFwA0NQwxCROCCbxhKCJCAw==", "requires": { "@aitodotai/json-stringify-pretty-compact": "^1.3.0", "@mapbox/geojson-area": "^0.2.2", - "@rapideditor/country-coder": "^5.2.1", + "@rapideditor/country-coder": "^5.3.0", "circle-to-polygon": "^2.2.0", "geojson-precision": "^1.0.0", - "polyclip-ts": "~0.16.3" + "polyclip-ts": "~0.16.5" } }, "@rapideditor/mapillary_sprite_source": { @@ -14122,9 +14122,9 @@ } }, "polyclip-ts": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/polyclip-ts/-/polyclip-ts-0.16.3.tgz", - "integrity": "sha512-qvmV7qhaP5P+OnFqBe+gQDPCQx/PuhfITQOIX9cEtgiyLRfgrXrCLi3SOg71UEQCeuVDaMYJ/08xvFTNneYxiA==", + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/polyclip-ts/-/polyclip-ts-0.16.5.tgz", + "integrity": "sha512-ZchnG0zGZReHgEo3EYzEUi6UmfQFFzNnj6AFU+gBm+IJJ4qG9gL4CwjtCV6oi/PittUPpJLiLJxcn/AgrCBO+g==", "requires": { "bignumber.js": "^9.1.0", "splaytree-ts": "^1.0.1" diff --git a/package.json b/package.json index e117b3f33..4ecbfb908 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "@mapbox/sexagesimal": "1.2.0", "@mapbox/vector-tile": "^2.0.2", "@rapideditor/country-coder": "~5.3.0", - "@rapideditor/location-conflation": "~1.3.0", + "@rapideditor/location-conflation": "~1.4.0", "@tmcw/togeojson": "^5.8.1", "@turf/bbox": "^7.0.0", "@turf/bbox-clip": "^7.0.0", From 0920fac7960204d935c2d39f13ca621026784c20 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jul 2024 11:31:48 +0200 Subject: [PATCH 47/61] Bump osm-community-index from 5.7.1 to 5.8.0 (#10349) Bumps [osm-community-index](https://github.com/osmlab/osm-community-index) from 5.7.1 to 5.8.0. - [Release notes](https://github.com/osmlab/osm-community-index/releases) - [Changelog](https://github.com/osmlab/osm-community-index/blob/main/CHANGELOG.md) - [Commits](https://github.com/osmlab/osm-community-index/compare/v5.7.1...v5.8.0) --- updated-dependencies: - dependency-name: osm-community-index dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5618e3a07..9161915ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -76,7 +76,7 @@ "mocha": "^10.7.0", "name-suggestion-index": "~6.0", "npm-run-all": "^4.0.0", - "osm-community-index": "~5.7.1", + "osm-community-index": "~5.8.0", "postcss": "^8.4.39", "postcss-selector-prepend": "^0.5.0", "shelljs": "^0.8.0", @@ -6930,9 +6930,9 @@ } }, "node_modules/osm-community-index": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/osm-community-index/-/osm-community-index-5.7.1.tgz", - "integrity": "sha512-E+Xib5m//WliNq2iqeUXyKqZk7yhZu/vSJbwwyxDAPzcNWxgIMoO0B7cUMeFNckhMQsKM2UuC2BAjWuVfbYf1Q==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/osm-community-index/-/osm-community-index-5.8.0.tgz", + "integrity": "sha512-7hg+D7u2vooujuihGTgKWDYjPUidlWuTjBrMP/drsHP/cVJI94ehsDulNkcKH0Od05n6vBl/ZyJJjdJvqcrMaA==", "dev": true, "dependencies": { "diacritics": "^1.3.0" @@ -13995,9 +13995,9 @@ "integrity": "sha512-w3NnYbt+0PIih2Kwr1sLfQWehdLbcA3gZNJhX4VOBfeRtvm30iZA3nURphuZDokZ8Kmdv4LWB+AiIng2b+KvIA==" }, "osm-community-index": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/osm-community-index/-/osm-community-index-5.7.1.tgz", - "integrity": "sha512-E+Xib5m//WliNq2iqeUXyKqZk7yhZu/vSJbwwyxDAPzcNWxgIMoO0B7cUMeFNckhMQsKM2UuC2BAjWuVfbYf1Q==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/osm-community-index/-/osm-community-index-5.8.0.tgz", + "integrity": "sha512-7hg+D7u2vooujuihGTgKWDYjPUidlWuTjBrMP/drsHP/cVJI94ehsDulNkcKH0Od05n6vBl/ZyJJjdJvqcrMaA==", "dev": true, "requires": { "diacritics": "^1.3.0" diff --git a/package.json b/package.json index 4ecbfb908..b302d504c 100644 --- a/package.json +++ b/package.json @@ -111,7 +111,7 @@ "mocha": "^10.7.0", "name-suggestion-index": "~6.0", "npm-run-all": "^4.0.0", - "osm-community-index": "~5.7.1", + "osm-community-index": "~5.8.0", "postcss": "^8.4.39", "postcss-selector-prepend": "^0.5.0", "shelljs": "^0.8.0", From 689d5f70a48a4edfff37d1a1334c671523fe63cd Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Wed, 24 Jul 2024 15:14:13 +0200 Subject: [PATCH 48/61] lint trailing spaces --- modules/renderer/features.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/renderer/features.js b/modules/renderer/features.js index da12af03d..78c2c1ecd 100644 --- a/modules/renderer/features.js +++ b/modules/renderer/features.js @@ -201,8 +201,8 @@ export function rendererFeatures(context) { }); defineRule('aerialways', function isAerialways(tags) { - return !!tags?.aerialway && - tags.aerialway !== 'yes' && + return !!tags?.aerialway && + tags.aerialway !== 'yes' && tags.aerialway !== 'station'; }); From f7f3607b4ef2fb7541cc50377b150789dc74a678 Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Wed, 24 Jul 2024 15:19:22 +0200 Subject: [PATCH 49/61] update assets --- svg/fontawesome/far-clone.svg | 2 +- svg/fontawesome/far-credit-card.svg | 2 +- svg/fontawesome/far-snowflake.svg | 2 +- svg/fontawesome/fas-ambulance.svg | 2 +- svg/fontawesome/fas-apple-alt.svg | 2 +- svg/fontawesome/fas-archive.svg | 2 +- svg/fontawesome/fas-archway.svg | 2 +- svg/fontawesome/fas-baby-carriage.svg | 2 +- svg/fontawesome/fas-baby.svg | 2 +- svg/fontawesome/fas-balance-scale.svg | 2 +- svg/fontawesome/fas-bath.svg | 2 +- svg/fontawesome/fas-beer.svg | 2 +- svg/fontawesome/fas-bell.svg | 2 +- svg/fontawesome/fas-biking.svg | 2 +- svg/fontawesome/fas-blender.svg | 2 +- svg/fontawesome/fas-book.svg | 2 +- svg/fontawesome/fas-border-all.svg | 2 +- svg/fontawesome/fas-bowl-rice.svg | 2 +- svg/fontawesome/fas-box-open.svg | 2 +- svg/fontawesome/fas-box.svg | 2 +- svg/fontawesome/fas-bugs.svg | 2 +- svg/fontawesome/fas-building-flag.svg | 2 +- svg/fontawesome/fas-calendar-alt.svg | 2 +- svg/fontawesome/fas-calendar-days.svg | 2 +- svg/fontawesome/fas-camera-retro.svg | 2 +- svg/fontawesome/fas-cannabis.svg | 2 +- svg/fontawesome/fas-car-battery.svg | 2 +- svg/fontawesome/fas-cat.svg | 2 +- svg/fontawesome/fas-charging-station.svg | 2 +- svg/fontawesome/fas-cheese.svg | 2 +- svg/fontawesome/fas-chess-bishop.svg | 2 +- svg/fontawesome/fas-chess-knight.svg | 2 +- svg/fontawesome/fas-chess-pawn.svg | 2 +- svg/fontawesome/fas-child-reaching.svg | 2 +- svg/fontawesome/fas-church.svg | 2 +- svg/fontawesome/fas-cocktail.svg | 2 +- svg/fontawesome/fas-coins.svg | 2 +- svg/fontawesome/fas-comment.svg | 2 +- svg/fontawesome/fas-comments.svg | 2 +- svg/fontawesome/fas-compress-arrows-alt.svg | 2 +- svg/fontawesome/fas-concierge-bell.svg | 2 +- svg/fontawesome/fas-couch.svg | 2 +- svg/fontawesome/fas-crosshairs.svg | 2 +- svg/fontawesome/fas-crown.svg | 2 +- svg/fontawesome/fas-cube.svg | 2 +- svg/fontawesome/fas-dice.svg | 2 +- svg/fontawesome/fas-directions.svg | 2 +- svg/fontawesome/fas-dolly.svg | 2 +- svg/fontawesome/fas-door-closed.svg | 2 +- svg/fontawesome/fas-door-open.svg | 2 +- svg/fontawesome/fas-dove.svg | 2 +- svg/fontawesome/fas-drafting-compass.svg | 2 +- svg/fontawesome/fas-dragon.svg | 2 +- svg/fontawesome/fas-drumstick-bite.svg | 2 +- svg/fontawesome/fas-dumbbell.svg | 2 +- svg/fontawesome/fas-dumpster.svg | 2 +- svg/fontawesome/fas-dungeon.svg | 2 +- svg/fontawesome/fas-film.svg | 2 +- svg/fontawesome/fas-fire-extinguisher.svg | 2 +- svg/fontawesome/fas-flask.svg | 2 +- svg/fontawesome/fas-frog.svg | 2 +- svg/fontawesome/fas-futbol.svg | 2 +- svg/fontawesome/fas-hammer.svg | 2 +- svg/fontawesome/fas-handshake.svg | 2 +- svg/fontawesome/fas-hashtag.svg | 2 +- svg/fontawesome/fas-hat-cowboy-side.svg | 2 +- svg/fontawesome/fas-helmet-safety.svg | 2 +- svg/fontawesome/fas-hiking.svg | 2 +- svg/fontawesome/fas-horse.svg | 2 +- svg/fontawesome/fas-hospital-alt.svg | 2 +- svg/fontawesome/fas-hot-tub-person.svg | 2 +- svg/fontawesome/fas-hotdog.svg | 2 +- svg/fontawesome/fas-hotel.svg | 2 +- svg/fontawesome/fas-house-damage.svg | 2 +- svg/fontawesome/fas-house-fire.svg | 2 +- svg/fontawesome/fas-i-cursor.svg | 2 +- svg/fontawesome/fas-ice-cream.svg | 2 +- svg/fontawesome/fas-jar.svg | 2 +- svg/fontawesome/fas-key.svg | 2 +- svg/fontawesome/fas-laptop.svg | 2 +- svg/fontawesome/fas-leaf.svg | 2 +- svg/fontawesome/fas-lock.svg | 2 +- svg/fontawesome/fas-mail-bulk.svg | 2 +- svg/fontawesome/fas-map-signs.svg | 2 +- svg/fontawesome/fas-map.svg | 2 +- svg/fontawesome/fas-medkit.svg | 2 +- svg/fontawesome/fas-microchip.svg | 2 +- svg/fontawesome/fas-microphone.svg | 2 +- svg/fontawesome/fas-mobile-alt.svg | 2 +- svg/fontawesome/fas-mosque.svg | 2 +- svg/fontawesome/fas-motorcycle.svg | 2 +- svg/fontawesome/fas-music.svg | 2 +- svg/fontawesome/fas-newspaper.svg | 2 +- svg/fontawesome/fas-paint-roller.svg | 2 +- svg/fontawesome/fas-people-carry.svg | 2 +- svg/fontawesome/fas-pepper-hot.svg | 2 +- svg/fontawesome/fas-person-arrow-up-from-line.svg | 2 +- svg/fontawesome/fas-person-booth.svg | 2 +- svg/fontawesome/fas-pills.svg | 2 +- svg/fontawesome/fas-plane-departure.svg | 2 +- svg/fontawesome/fas-plate-wheat.svg | 2 +- svg/fontawesome/fas-plug-circle-bolt.svg | 2 +- svg/fontawesome/fas-plug.svg | 2 +- svg/fontawesome/fas-plus.svg | 2 +- svg/fontawesome/fas-print.svg | 2 +- svg/fontawesome/fas-procedures.svg | 2 +- svg/fontawesome/fas-puzzle-piece.svg | 2 +- svg/fontawesome/fas-question.svg | 2 +- svg/fontawesome/fas-rocket.svg | 2 +- svg/fontawesome/fas-rotate.svg | 2 +- svg/fontawesome/fas-running.svg | 2 +- svg/fontawesome/fas-school.svg | 2 +- svg/fontawesome/fas-screwdriver.svg | 2 +- svg/fontawesome/fas-seedling.svg | 2 +- svg/fontawesome/fas-server.svg | 2 +- svg/fontawesome/fas-shapes.svg | 2 +- svg/fontawesome/fas-shoe-prints.svg | 2 +- svg/fontawesome/fas-shopping-basket.svg | 2 +- svg/fontawesome/fas-shopping-cart.svg | 2 +- svg/fontawesome/fas-sign-hanging.svg | 2 +- svg/fontawesome/fas-skating.svg | 2 +- svg/fontawesome/fas-skiing-nordic.svg | 2 +- svg/fontawesome/fas-sleigh.svg | 2 +- svg/fontawesome/fas-smoking.svg | 2 +- svg/fontawesome/fas-snowboarding.svg | 2 +- svg/fontawesome/fas-solar-panel.svg | 2 +- svg/fontawesome/fas-sort-alpha-up.svg | 2 +- svg/fontawesome/fas-spa.svg | 2 +- svg/fontawesome/fas-space-shuttle.svg | 2 +- svg/fontawesome/fas-stamp.svg | 2 +- svg/fontawesome/fas-store-alt-slash.svg | 2 +- svg/fontawesome/fas-store.svg | 2 +- svg/fontawesome/fas-suitcase-rolling.svg | 2 +- svg/fontawesome/fas-suitcase.svg | 2 +- svg/fontawesome/fas-swimmer.svg | 2 +- svg/fontawesome/fas-swimming-pool.svg | 2 +- svg/fontawesome/fas-synagogue.svg | 2 +- svg/fontawesome/fas-table-tennis.svg | 2 +- svg/fontawesome/fas-tags.svg | 2 +- svg/fontawesome/fas-tape.svg | 2 +- svg/fontawesome/fas-taxi.svg | 2 +- svg/fontawesome/fas-teeth.svg | 2 +- svg/fontawesome/fas-th-list.svg | 2 +- svg/fontawesome/fas-th.svg | 2 +- svg/fontawesome/fas-thermometer-three-quarters.svg | 2 +- svg/fontawesome/fas-ticket-alt.svg | 2 +- svg/fontawesome/fas-tint-slash.svg | 2 +- svg/fontawesome/fas-tint.svg | 2 +- svg/fontawesome/fas-toilet.svg | 2 +- svg/fontawesome/fas-tools.svg | 2 +- svg/fontawesome/fas-tractor.svg | 2 +- svg/fontawesome/fas-tram.svg | 2 +- svg/fontawesome/fas-trash-restore.svg | 2 +- svg/fontawesome/fas-triangle-exclamation.svg | 2 +- svg/fontawesome/fas-trophy.svg | 2 +- svg/fontawesome/fas-truck-fast.svg | 2 +- svg/fontawesome/fas-truck-loading.svg | 2 +- svg/fontawesome/fas-truck-monster.svg | 2 +- svg/fontawesome/fas-tshirt.svg | 2 +- svg/fontawesome/fas-umbrella-beach.svg | 2 +- svg/fontawesome/fas-user-alt.svg | 2 +- svg/fontawesome/fas-user-cog.svg | 2 +- svg/fontawesome/fas-user-secret.svg | 2 +- svg/fontawesome/fas-user-tie.svg | 2 +- svg/fontawesome/fas-users.svg | 2 +- svg/fontawesome/fas-vector-square.svg | 2 +- svg/fontawesome/fas-vest.svg | 2 +- svg/fontawesome/fas-vial.svg | 2 +- svg/fontawesome/fas-video.svg | 2 +- svg/fontawesome/fas-vihara.svg | 2 +- svg/fontawesome/fas-volume-up.svg | 2 +- svg/fontawesome/fas-vote-yea.svg | 2 +- svg/fontawesome/fas-warehouse.svg | 2 +- svg/fontawesome/fas-weight-hanging.svg | 2 +- svg/fontawesome/fas-weight.svg | 2 +- 175 files changed, 175 insertions(+), 175 deletions(-) diff --git a/svg/fontawesome/far-clone.svg b/svg/fontawesome/far-clone.svg index fe37f2760..4e4917f23 100644 --- a/svg/fontawesome/far-clone.svg +++ b/svg/fontawesome/far-clone.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/far-credit-card.svg b/svg/fontawesome/far-credit-card.svg index 00aed1ab0..dd48c21da 100644 --- a/svg/fontawesome/far-credit-card.svg +++ b/svg/fontawesome/far-credit-card.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/far-snowflake.svg b/svg/fontawesome/far-snowflake.svg index 6c5cf0e26..766401119 100644 --- a/svg/fontawesome/far-snowflake.svg +++ b/svg/fontawesome/far-snowflake.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-ambulance.svg b/svg/fontawesome/fas-ambulance.svg index 56a338d57..ff68398f5 100644 --- a/svg/fontawesome/fas-ambulance.svg +++ b/svg/fontawesome/fas-ambulance.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-apple-alt.svg b/svg/fontawesome/fas-apple-alt.svg index e65738ab3..a2b335cdd 100644 --- a/svg/fontawesome/fas-apple-alt.svg +++ b/svg/fontawesome/fas-apple-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-archive.svg b/svg/fontawesome/fas-archive.svg index 273c66aef..b6b8ebe3d 100644 --- a/svg/fontawesome/fas-archive.svg +++ b/svg/fontawesome/fas-archive.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-archway.svg b/svg/fontawesome/fas-archway.svg index 545007c25..4e259e6cf 100644 --- a/svg/fontawesome/fas-archway.svg +++ b/svg/fontawesome/fas-archway.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-baby-carriage.svg b/svg/fontawesome/fas-baby-carriage.svg index 80cf773fd..993c626ac 100644 --- a/svg/fontawesome/fas-baby-carriage.svg +++ b/svg/fontawesome/fas-baby-carriage.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-baby.svg b/svg/fontawesome/fas-baby.svg index 816f84079..f946ad12e 100644 --- a/svg/fontawesome/fas-baby.svg +++ b/svg/fontawesome/fas-baby.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-balance-scale.svg b/svg/fontawesome/fas-balance-scale.svg index d07e0e306..016b61b1c 100644 --- a/svg/fontawesome/fas-balance-scale.svg +++ b/svg/fontawesome/fas-balance-scale.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-bath.svg b/svg/fontawesome/fas-bath.svg index dd1eab6ea..a4d990798 100644 --- a/svg/fontawesome/fas-bath.svg +++ b/svg/fontawesome/fas-bath.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-beer.svg b/svg/fontawesome/fas-beer.svg index ddb4b76a5..4423849df 100644 --- a/svg/fontawesome/fas-beer.svg +++ b/svg/fontawesome/fas-beer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-bell.svg b/svg/fontawesome/fas-bell.svg index 3cb82bbe7..5653ddc06 100644 --- a/svg/fontawesome/fas-bell.svg +++ b/svg/fontawesome/fas-bell.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-biking.svg b/svg/fontawesome/fas-biking.svg index 2ced6f256..1a766bd04 100644 --- a/svg/fontawesome/fas-biking.svg +++ b/svg/fontawesome/fas-biking.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-blender.svg b/svg/fontawesome/fas-blender.svg index 04db51984..331e5f31a 100644 --- a/svg/fontawesome/fas-blender.svg +++ b/svg/fontawesome/fas-blender.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-book.svg b/svg/fontawesome/fas-book.svg index 72749965c..6d84f6ef3 100644 --- a/svg/fontawesome/fas-book.svg +++ b/svg/fontawesome/fas-book.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-border-all.svg b/svg/fontawesome/fas-border-all.svg index c30b693c0..9617a3750 100644 --- a/svg/fontawesome/fas-border-all.svg +++ b/svg/fontawesome/fas-border-all.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-bowl-rice.svg b/svg/fontawesome/fas-bowl-rice.svg index ecb974b82..ab19f891e 100644 --- a/svg/fontawesome/fas-bowl-rice.svg +++ b/svg/fontawesome/fas-bowl-rice.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-box-open.svg b/svg/fontawesome/fas-box-open.svg index 7a8b91288..6b9385bbd 100644 --- a/svg/fontawesome/fas-box-open.svg +++ b/svg/fontawesome/fas-box-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-box.svg b/svg/fontawesome/fas-box.svg index 0d41e25d2..9b94ee121 100644 --- a/svg/fontawesome/fas-box.svg +++ b/svg/fontawesome/fas-box.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-bugs.svg b/svg/fontawesome/fas-bugs.svg index dd433814d..268da386e 100644 --- a/svg/fontawesome/fas-bugs.svg +++ b/svg/fontawesome/fas-bugs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-building-flag.svg b/svg/fontawesome/fas-building-flag.svg index b65fb056d..47d9926e5 100644 --- a/svg/fontawesome/fas-building-flag.svg +++ b/svg/fontawesome/fas-building-flag.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-calendar-alt.svg b/svg/fontawesome/fas-calendar-alt.svg index e9183c509..982b9756a 100644 --- a/svg/fontawesome/fas-calendar-alt.svg +++ b/svg/fontawesome/fas-calendar-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-calendar-days.svg b/svg/fontawesome/fas-calendar-days.svg index e9183c509..982b9756a 100644 --- a/svg/fontawesome/fas-calendar-days.svg +++ b/svg/fontawesome/fas-calendar-days.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-camera-retro.svg b/svg/fontawesome/fas-camera-retro.svg index 9be14f01d..0750ec563 100644 --- a/svg/fontawesome/fas-camera-retro.svg +++ b/svg/fontawesome/fas-camera-retro.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-cannabis.svg b/svg/fontawesome/fas-cannabis.svg index b0870ae85..47dd4c03e 100644 --- a/svg/fontawesome/fas-cannabis.svg +++ b/svg/fontawesome/fas-cannabis.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-car-battery.svg b/svg/fontawesome/fas-car-battery.svg index fd28c4672..774aa860d 100644 --- a/svg/fontawesome/fas-car-battery.svg +++ b/svg/fontawesome/fas-car-battery.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-cat.svg b/svg/fontawesome/fas-cat.svg index a6bb9e6ef..e08b89a8e 100644 --- a/svg/fontawesome/fas-cat.svg +++ b/svg/fontawesome/fas-cat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-charging-station.svg b/svg/fontawesome/fas-charging-station.svg index 5b4376776..01148fd4f 100644 --- a/svg/fontawesome/fas-charging-station.svg +++ b/svg/fontawesome/fas-charging-station.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-cheese.svg b/svg/fontawesome/fas-cheese.svg index d9935a6a3..2c632aa70 100644 --- a/svg/fontawesome/fas-cheese.svg +++ b/svg/fontawesome/fas-cheese.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-chess-bishop.svg b/svg/fontawesome/fas-chess-bishop.svg index 0214c3ad2..ddeee9d60 100644 --- a/svg/fontawesome/fas-chess-bishop.svg +++ b/svg/fontawesome/fas-chess-bishop.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-chess-knight.svg b/svg/fontawesome/fas-chess-knight.svg index 040647c9b..7baba951b 100644 --- a/svg/fontawesome/fas-chess-knight.svg +++ b/svg/fontawesome/fas-chess-knight.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-chess-pawn.svg b/svg/fontawesome/fas-chess-pawn.svg index 7f40fa110..de8639cf4 100644 --- a/svg/fontawesome/fas-chess-pawn.svg +++ b/svg/fontawesome/fas-chess-pawn.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-child-reaching.svg b/svg/fontawesome/fas-child-reaching.svg index 0c9852291..981f25cd6 100644 --- a/svg/fontawesome/fas-child-reaching.svg +++ b/svg/fontawesome/fas-child-reaching.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-church.svg b/svg/fontawesome/fas-church.svg index fe15e8b58..2c85f6903 100644 --- a/svg/fontawesome/fas-church.svg +++ b/svg/fontawesome/fas-church.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-cocktail.svg b/svg/fontawesome/fas-cocktail.svg index b6aa69c7d..7a5200c65 100644 --- a/svg/fontawesome/fas-cocktail.svg +++ b/svg/fontawesome/fas-cocktail.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-coins.svg b/svg/fontawesome/fas-coins.svg index 895234e66..b466ae56b 100644 --- a/svg/fontawesome/fas-coins.svg +++ b/svg/fontawesome/fas-coins.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-comment.svg b/svg/fontawesome/fas-comment.svg index 233048ec4..4cee3bc95 100644 --- a/svg/fontawesome/fas-comment.svg +++ b/svg/fontawesome/fas-comment.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-comments.svg b/svg/fontawesome/fas-comments.svg index 5b01173e6..4c6efa3b7 100644 --- a/svg/fontawesome/fas-comments.svg +++ b/svg/fontawesome/fas-comments.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-compress-arrows-alt.svg b/svg/fontawesome/fas-compress-arrows-alt.svg index c8f298bf6..79d6b8a19 100644 --- a/svg/fontawesome/fas-compress-arrows-alt.svg +++ b/svg/fontawesome/fas-compress-arrows-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-concierge-bell.svg b/svg/fontawesome/fas-concierge-bell.svg index da84071ed..a81b50078 100644 --- a/svg/fontawesome/fas-concierge-bell.svg +++ b/svg/fontawesome/fas-concierge-bell.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-couch.svg b/svg/fontawesome/fas-couch.svg index b37d7d32f..740ea893d 100644 --- a/svg/fontawesome/fas-couch.svg +++ b/svg/fontawesome/fas-couch.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-crosshairs.svg b/svg/fontawesome/fas-crosshairs.svg index 7ab484639..0d0abb0dd 100644 --- a/svg/fontawesome/fas-crosshairs.svg +++ b/svg/fontawesome/fas-crosshairs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-crown.svg b/svg/fontawesome/fas-crown.svg index e3028de28..23460408f 100644 --- a/svg/fontawesome/fas-crown.svg +++ b/svg/fontawesome/fas-crown.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-cube.svg b/svg/fontawesome/fas-cube.svg index b5beeb45e..7d82bce2a 100644 --- a/svg/fontawesome/fas-cube.svg +++ b/svg/fontawesome/fas-cube.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-dice.svg b/svg/fontawesome/fas-dice.svg index cbbf2e090..046db1b8e 100644 --- a/svg/fontawesome/fas-dice.svg +++ b/svg/fontawesome/fas-dice.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-directions.svg b/svg/fontawesome/fas-directions.svg index 3c6a7b19d..207843fa7 100644 --- a/svg/fontawesome/fas-directions.svg +++ b/svg/fontawesome/fas-directions.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-dolly.svg b/svg/fontawesome/fas-dolly.svg index cc708aaf5..0afd5af33 100644 --- a/svg/fontawesome/fas-dolly.svg +++ b/svg/fontawesome/fas-dolly.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-door-closed.svg b/svg/fontawesome/fas-door-closed.svg index e5ee353dc..e90fe91d3 100644 --- a/svg/fontawesome/fas-door-closed.svg +++ b/svg/fontawesome/fas-door-closed.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-door-open.svg b/svg/fontawesome/fas-door-open.svg index d5d6ce0a3..b21c072f4 100644 --- a/svg/fontawesome/fas-door-open.svg +++ b/svg/fontawesome/fas-door-open.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-dove.svg b/svg/fontawesome/fas-dove.svg index 0dedbfc88..e32877b8c 100644 --- a/svg/fontawesome/fas-dove.svg +++ b/svg/fontawesome/fas-dove.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-drafting-compass.svg b/svg/fontawesome/fas-drafting-compass.svg index c74b4f9b2..a93d0cf87 100644 --- a/svg/fontawesome/fas-drafting-compass.svg +++ b/svg/fontawesome/fas-drafting-compass.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-dragon.svg b/svg/fontawesome/fas-dragon.svg index 3c9f527b1..89b641774 100644 --- a/svg/fontawesome/fas-dragon.svg +++ b/svg/fontawesome/fas-dragon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-drumstick-bite.svg b/svg/fontawesome/fas-drumstick-bite.svg index 5bed0fc61..a68316c7e 100644 --- a/svg/fontawesome/fas-drumstick-bite.svg +++ b/svg/fontawesome/fas-drumstick-bite.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-dumbbell.svg b/svg/fontawesome/fas-dumbbell.svg index e92699c63..2e6990907 100644 --- a/svg/fontawesome/fas-dumbbell.svg +++ b/svg/fontawesome/fas-dumbbell.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-dumpster.svg b/svg/fontawesome/fas-dumpster.svg index 6501b39ef..926bd2bed 100644 --- a/svg/fontawesome/fas-dumpster.svg +++ b/svg/fontawesome/fas-dumpster.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-dungeon.svg b/svg/fontawesome/fas-dungeon.svg index 435918278..491389277 100644 --- a/svg/fontawesome/fas-dungeon.svg +++ b/svg/fontawesome/fas-dungeon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-film.svg b/svg/fontawesome/fas-film.svg index 76458d978..82497ac74 100644 --- a/svg/fontawesome/fas-film.svg +++ b/svg/fontawesome/fas-film.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-fire-extinguisher.svg b/svg/fontawesome/fas-fire-extinguisher.svg index 1516405d6..44459ee92 100644 --- a/svg/fontawesome/fas-fire-extinguisher.svg +++ b/svg/fontawesome/fas-fire-extinguisher.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-flask.svg b/svg/fontawesome/fas-flask.svg index 5dbaff232..ad46c5c82 100644 --- a/svg/fontawesome/fas-flask.svg +++ b/svg/fontawesome/fas-flask.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-frog.svg b/svg/fontawesome/fas-frog.svg index 62a25f6e3..626d5b167 100644 --- a/svg/fontawesome/fas-frog.svg +++ b/svg/fontawesome/fas-frog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-futbol.svg b/svg/fontawesome/fas-futbol.svg index 85cf50b78..ff5cadda7 100644 --- a/svg/fontawesome/fas-futbol.svg +++ b/svg/fontawesome/fas-futbol.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-hammer.svg b/svg/fontawesome/fas-hammer.svg index 1240e5164..f5de50cb2 100644 --- a/svg/fontawesome/fas-hammer.svg +++ b/svg/fontawesome/fas-hammer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-handshake.svg b/svg/fontawesome/fas-handshake.svg index 4d983e5fe..a7281edf9 100644 --- a/svg/fontawesome/fas-handshake.svg +++ b/svg/fontawesome/fas-handshake.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-hashtag.svg b/svg/fontawesome/fas-hashtag.svg index 3517b273f..ca87b86d8 100644 --- a/svg/fontawesome/fas-hashtag.svg +++ b/svg/fontawesome/fas-hashtag.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-hat-cowboy-side.svg b/svg/fontawesome/fas-hat-cowboy-side.svg index 38b44375f..32c21b6f6 100644 --- a/svg/fontawesome/fas-hat-cowboy-side.svg +++ b/svg/fontawesome/fas-hat-cowboy-side.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-helmet-safety.svg b/svg/fontawesome/fas-helmet-safety.svg index ab86679da..afc880dc4 100644 --- a/svg/fontawesome/fas-helmet-safety.svg +++ b/svg/fontawesome/fas-helmet-safety.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-hiking.svg b/svg/fontawesome/fas-hiking.svg index 6af3f403d..57a6742c2 100644 --- a/svg/fontawesome/fas-hiking.svg +++ b/svg/fontawesome/fas-hiking.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-horse.svg b/svg/fontawesome/fas-horse.svg index a65aa6e4e..a6cf12a31 100644 --- a/svg/fontawesome/fas-horse.svg +++ b/svg/fontawesome/fas-horse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-hospital-alt.svg b/svg/fontawesome/fas-hospital-alt.svg index 8720fbe7f..29809695f 100644 --- a/svg/fontawesome/fas-hospital-alt.svg +++ b/svg/fontawesome/fas-hospital-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-hot-tub-person.svg b/svg/fontawesome/fas-hot-tub-person.svg index e918bd1bd..d38d92330 100644 --- a/svg/fontawesome/fas-hot-tub-person.svg +++ b/svg/fontawesome/fas-hot-tub-person.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-hotdog.svg b/svg/fontawesome/fas-hotdog.svg index 2e664981f..087d072d0 100644 --- a/svg/fontawesome/fas-hotdog.svg +++ b/svg/fontawesome/fas-hotdog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-hotel.svg b/svg/fontawesome/fas-hotel.svg index fd2fef45e..6317ceb36 100644 --- a/svg/fontawesome/fas-hotel.svg +++ b/svg/fontawesome/fas-hotel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-house-damage.svg b/svg/fontawesome/fas-house-damage.svg index 720054d1e..78bc0848d 100644 --- a/svg/fontawesome/fas-house-damage.svg +++ b/svg/fontawesome/fas-house-damage.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-house-fire.svg b/svg/fontawesome/fas-house-fire.svg index ae61af435..7363ed595 100644 --- a/svg/fontawesome/fas-house-fire.svg +++ b/svg/fontawesome/fas-house-fire.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-i-cursor.svg b/svg/fontawesome/fas-i-cursor.svg index 4dfe0e66d..a6f3c4912 100644 --- a/svg/fontawesome/fas-i-cursor.svg +++ b/svg/fontawesome/fas-i-cursor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-ice-cream.svg b/svg/fontawesome/fas-ice-cream.svg index d16ec4449..8f9405b84 100644 --- a/svg/fontawesome/fas-ice-cream.svg +++ b/svg/fontawesome/fas-ice-cream.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-jar.svg b/svg/fontawesome/fas-jar.svg index a6beffb2f..f058c5c52 100644 --- a/svg/fontawesome/fas-jar.svg +++ b/svg/fontawesome/fas-jar.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-key.svg b/svg/fontawesome/fas-key.svg index d381f23f8..4f6e7875b 100644 --- a/svg/fontawesome/fas-key.svg +++ b/svg/fontawesome/fas-key.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-laptop.svg b/svg/fontawesome/fas-laptop.svg index f847a9e7b..e433fc24e 100644 --- a/svg/fontawesome/fas-laptop.svg +++ b/svg/fontawesome/fas-laptop.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-leaf.svg b/svg/fontawesome/fas-leaf.svg index 32fb765e0..2847b99fc 100644 --- a/svg/fontawesome/fas-leaf.svg +++ b/svg/fontawesome/fas-leaf.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-lock.svg b/svg/fontawesome/fas-lock.svg index bc73f0851..a300f19f6 100644 --- a/svg/fontawesome/fas-lock.svg +++ b/svg/fontawesome/fas-lock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-mail-bulk.svg b/svg/fontawesome/fas-mail-bulk.svg index 353c2b44b..be349c674 100644 --- a/svg/fontawesome/fas-mail-bulk.svg +++ b/svg/fontawesome/fas-mail-bulk.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-map-signs.svg b/svg/fontawesome/fas-map-signs.svg index df8b0ba33..2eed49c82 100644 --- a/svg/fontawesome/fas-map-signs.svg +++ b/svg/fontawesome/fas-map-signs.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-map.svg b/svg/fontawesome/fas-map.svg index 18cd8224b..5faa2b2e8 100644 --- a/svg/fontawesome/fas-map.svg +++ b/svg/fontawesome/fas-map.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-medkit.svg b/svg/fontawesome/fas-medkit.svg index 7792bd1cf..c5e252537 100644 --- a/svg/fontawesome/fas-medkit.svg +++ b/svg/fontawesome/fas-medkit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-microchip.svg b/svg/fontawesome/fas-microchip.svg index 31bbc5788..bcc477e6b 100644 --- a/svg/fontawesome/fas-microchip.svg +++ b/svg/fontawesome/fas-microchip.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-microphone.svg b/svg/fontawesome/fas-microphone.svg index ad15539df..da363fc2a 100644 --- a/svg/fontawesome/fas-microphone.svg +++ b/svg/fontawesome/fas-microphone.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-mobile-alt.svg b/svg/fontawesome/fas-mobile-alt.svg index e61440fc5..06c2ca13f 100644 --- a/svg/fontawesome/fas-mobile-alt.svg +++ b/svg/fontawesome/fas-mobile-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-mosque.svg b/svg/fontawesome/fas-mosque.svg index 67dfed974..c664154d2 100644 --- a/svg/fontawesome/fas-mosque.svg +++ b/svg/fontawesome/fas-mosque.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-motorcycle.svg b/svg/fontawesome/fas-motorcycle.svg index e2185dc38..fe81c1259 100644 --- a/svg/fontawesome/fas-motorcycle.svg +++ b/svg/fontawesome/fas-motorcycle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-music.svg b/svg/fontawesome/fas-music.svg index a27450785..68fd45d5c 100644 --- a/svg/fontawesome/fas-music.svg +++ b/svg/fontawesome/fas-music.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-newspaper.svg b/svg/fontawesome/fas-newspaper.svg index 5ba80b347..5f1632838 100644 --- a/svg/fontawesome/fas-newspaper.svg +++ b/svg/fontawesome/fas-newspaper.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-paint-roller.svg b/svg/fontawesome/fas-paint-roller.svg index ed3d75653..bda7ed09a 100644 --- a/svg/fontawesome/fas-paint-roller.svg +++ b/svg/fontawesome/fas-paint-roller.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-people-carry.svg b/svg/fontawesome/fas-people-carry.svg index 47677932b..46ac9a6ae 100644 --- a/svg/fontawesome/fas-people-carry.svg +++ b/svg/fontawesome/fas-people-carry.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-pepper-hot.svg b/svg/fontawesome/fas-pepper-hot.svg index a4474d748..b3f062677 100644 --- a/svg/fontawesome/fas-pepper-hot.svg +++ b/svg/fontawesome/fas-pepper-hot.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-person-arrow-up-from-line.svg b/svg/fontawesome/fas-person-arrow-up-from-line.svg index 32cd12381..d183b4b03 100644 --- a/svg/fontawesome/fas-person-arrow-up-from-line.svg +++ b/svg/fontawesome/fas-person-arrow-up-from-line.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-person-booth.svg b/svg/fontawesome/fas-person-booth.svg index 4d78f4cd0..06615bdb1 100644 --- a/svg/fontawesome/fas-person-booth.svg +++ b/svg/fontawesome/fas-person-booth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-pills.svg b/svg/fontawesome/fas-pills.svg index 61a6c3620..da8059831 100644 --- a/svg/fontawesome/fas-pills.svg +++ b/svg/fontawesome/fas-pills.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-plane-departure.svg b/svg/fontawesome/fas-plane-departure.svg index aa0c6b6fe..37a256a0e 100644 --- a/svg/fontawesome/fas-plane-departure.svg +++ b/svg/fontawesome/fas-plane-departure.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-plate-wheat.svg b/svg/fontawesome/fas-plate-wheat.svg index d1927b0ff..f1f6d7566 100644 --- a/svg/fontawesome/fas-plate-wheat.svg +++ b/svg/fontawesome/fas-plate-wheat.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-plug-circle-bolt.svg b/svg/fontawesome/fas-plug-circle-bolt.svg index 35423deca..78c357b11 100644 --- a/svg/fontawesome/fas-plug-circle-bolt.svg +++ b/svg/fontawesome/fas-plug-circle-bolt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-plug.svg b/svg/fontawesome/fas-plug.svg index 0cca34de0..d82dec665 100644 --- a/svg/fontawesome/fas-plug.svg +++ b/svg/fontawesome/fas-plug.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-plus.svg b/svg/fontawesome/fas-plus.svg index 8a1c791b5..f18515607 100644 --- a/svg/fontawesome/fas-plus.svg +++ b/svg/fontawesome/fas-plus.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-print.svg b/svg/fontawesome/fas-print.svg index 56699ca68..4479716e8 100644 --- a/svg/fontawesome/fas-print.svg +++ b/svg/fontawesome/fas-print.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-procedures.svg b/svg/fontawesome/fas-procedures.svg index 49920f3a8..69f2193e1 100644 --- a/svg/fontawesome/fas-procedures.svg +++ b/svg/fontawesome/fas-procedures.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-puzzle-piece.svg b/svg/fontawesome/fas-puzzle-piece.svg index 5f2421e91..07f72f52d 100644 --- a/svg/fontawesome/fas-puzzle-piece.svg +++ b/svg/fontawesome/fas-puzzle-piece.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-question.svg b/svg/fontawesome/fas-question.svg index 237f05b68..a0fe07e75 100644 --- a/svg/fontawesome/fas-question.svg +++ b/svg/fontawesome/fas-question.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-rocket.svg b/svg/fontawesome/fas-rocket.svg index b420fd8df..99dfa7186 100644 --- a/svg/fontawesome/fas-rocket.svg +++ b/svg/fontawesome/fas-rocket.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-rotate.svg b/svg/fontawesome/fas-rotate.svg index f3712bfbe..1a66494ba 100644 --- a/svg/fontawesome/fas-rotate.svg +++ b/svg/fontawesome/fas-rotate.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-running.svg b/svg/fontawesome/fas-running.svg index 1102e80c1..cc0731704 100644 --- a/svg/fontawesome/fas-running.svg +++ b/svg/fontawesome/fas-running.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-school.svg b/svg/fontawesome/fas-school.svg index ed99035fe..cd9831816 100644 --- a/svg/fontawesome/fas-school.svg +++ b/svg/fontawesome/fas-school.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-screwdriver.svg b/svg/fontawesome/fas-screwdriver.svg index 29ae00a99..c5ae39f5e 100644 --- a/svg/fontawesome/fas-screwdriver.svg +++ b/svg/fontawesome/fas-screwdriver.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-seedling.svg b/svg/fontawesome/fas-seedling.svg index d3b0d693b..8d4fcd152 100644 --- a/svg/fontawesome/fas-seedling.svg +++ b/svg/fontawesome/fas-seedling.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-server.svg b/svg/fontawesome/fas-server.svg index f555fa0a1..20f1f09d5 100644 --- a/svg/fontawesome/fas-server.svg +++ b/svg/fontawesome/fas-server.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-shapes.svg b/svg/fontawesome/fas-shapes.svg index 947301b34..ae39b66f7 100644 --- a/svg/fontawesome/fas-shapes.svg +++ b/svg/fontawesome/fas-shapes.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-shoe-prints.svg b/svg/fontawesome/fas-shoe-prints.svg index 0f2c2f813..96da9b510 100644 --- a/svg/fontawesome/fas-shoe-prints.svg +++ b/svg/fontawesome/fas-shoe-prints.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-shopping-basket.svg b/svg/fontawesome/fas-shopping-basket.svg index d4ef57c06..67cb540e9 100644 --- a/svg/fontawesome/fas-shopping-basket.svg +++ b/svg/fontawesome/fas-shopping-basket.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-shopping-cart.svg b/svg/fontawesome/fas-shopping-cart.svg index 25d1d7735..54e3cd588 100644 --- a/svg/fontawesome/fas-shopping-cart.svg +++ b/svg/fontawesome/fas-shopping-cart.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-sign-hanging.svg b/svg/fontawesome/fas-sign-hanging.svg index 857d6fbb0..7b068e0f5 100644 --- a/svg/fontawesome/fas-sign-hanging.svg +++ b/svg/fontawesome/fas-sign-hanging.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-skating.svg b/svg/fontawesome/fas-skating.svg index ab6e5e6ea..1967172b4 100644 --- a/svg/fontawesome/fas-skating.svg +++ b/svg/fontawesome/fas-skating.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-skiing-nordic.svg b/svg/fontawesome/fas-skiing-nordic.svg index 05a211671..376494c8d 100644 --- a/svg/fontawesome/fas-skiing-nordic.svg +++ b/svg/fontawesome/fas-skiing-nordic.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-sleigh.svg b/svg/fontawesome/fas-sleigh.svg index 718241a92..ccda97ca7 100644 --- a/svg/fontawesome/fas-sleigh.svg +++ b/svg/fontawesome/fas-sleigh.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-smoking.svg b/svg/fontawesome/fas-smoking.svg index 3dde6d929..8f4bec294 100644 --- a/svg/fontawesome/fas-smoking.svg +++ b/svg/fontawesome/fas-smoking.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-snowboarding.svg b/svg/fontawesome/fas-snowboarding.svg index 0763cb268..2ca5785d9 100644 --- a/svg/fontawesome/fas-snowboarding.svg +++ b/svg/fontawesome/fas-snowboarding.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-solar-panel.svg b/svg/fontawesome/fas-solar-panel.svg index cca1c5997..967e0c4bc 100644 --- a/svg/fontawesome/fas-solar-panel.svg +++ b/svg/fontawesome/fas-solar-panel.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-sort-alpha-up.svg b/svg/fontawesome/fas-sort-alpha-up.svg index c5f182085..77a8e8247 100644 --- a/svg/fontawesome/fas-sort-alpha-up.svg +++ b/svg/fontawesome/fas-sort-alpha-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-spa.svg b/svg/fontawesome/fas-spa.svg index d2ad71f7e..8ba62c708 100644 --- a/svg/fontawesome/fas-spa.svg +++ b/svg/fontawesome/fas-spa.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-space-shuttle.svg b/svg/fontawesome/fas-space-shuttle.svg index ce23f44cd..fa6672f17 100644 --- a/svg/fontawesome/fas-space-shuttle.svg +++ b/svg/fontawesome/fas-space-shuttle.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-stamp.svg b/svg/fontawesome/fas-stamp.svg index b40464989..64549cfd9 100644 --- a/svg/fontawesome/fas-stamp.svg +++ b/svg/fontawesome/fas-stamp.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-store-alt-slash.svg b/svg/fontawesome/fas-store-alt-slash.svg index bdb4079fc..df01d94d6 100644 --- a/svg/fontawesome/fas-store-alt-slash.svg +++ b/svg/fontawesome/fas-store-alt-slash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-store.svg b/svg/fontawesome/fas-store.svg index f313fc11f..26895b7b8 100644 --- a/svg/fontawesome/fas-store.svg +++ b/svg/fontawesome/fas-store.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-suitcase-rolling.svg b/svg/fontawesome/fas-suitcase-rolling.svg index d6c34aa0f..5a0f62fa6 100644 --- a/svg/fontawesome/fas-suitcase-rolling.svg +++ b/svg/fontawesome/fas-suitcase-rolling.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-suitcase.svg b/svg/fontawesome/fas-suitcase.svg index c0329ee4a..cb920de4a 100644 --- a/svg/fontawesome/fas-suitcase.svg +++ b/svg/fontawesome/fas-suitcase.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-swimmer.svg b/svg/fontawesome/fas-swimmer.svg index 28e71cd9d..91a17db0c 100644 --- a/svg/fontawesome/fas-swimmer.svg +++ b/svg/fontawesome/fas-swimmer.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-swimming-pool.svg b/svg/fontawesome/fas-swimming-pool.svg index d8d8451b0..c1aa5e2d0 100644 --- a/svg/fontawesome/fas-swimming-pool.svg +++ b/svg/fontawesome/fas-swimming-pool.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-synagogue.svg b/svg/fontawesome/fas-synagogue.svg index ec51dd330..1eb8fa56e 100644 --- a/svg/fontawesome/fas-synagogue.svg +++ b/svg/fontawesome/fas-synagogue.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-table-tennis.svg b/svg/fontawesome/fas-table-tennis.svg index 386f970f3..0a4d72c45 100644 --- a/svg/fontawesome/fas-table-tennis.svg +++ b/svg/fontawesome/fas-table-tennis.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-tags.svg b/svg/fontawesome/fas-tags.svg index 29c0ec9a9..91ba1cfbb 100644 --- a/svg/fontawesome/fas-tags.svg +++ b/svg/fontawesome/fas-tags.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-tape.svg b/svg/fontawesome/fas-tape.svg index dcc541f4e..ec0a01b22 100644 --- a/svg/fontawesome/fas-tape.svg +++ b/svg/fontawesome/fas-tape.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-taxi.svg b/svg/fontawesome/fas-taxi.svg index c704a4780..ca9e8ceb7 100644 --- a/svg/fontawesome/fas-taxi.svg +++ b/svg/fontawesome/fas-taxi.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-teeth.svg b/svg/fontawesome/fas-teeth.svg index 0e9e36a9f..d79e7d624 100644 --- a/svg/fontawesome/fas-teeth.svg +++ b/svg/fontawesome/fas-teeth.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-th-list.svg b/svg/fontawesome/fas-th-list.svg index ce09db748..8deeb1ca4 100644 --- a/svg/fontawesome/fas-th-list.svg +++ b/svg/fontawesome/fas-th-list.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-th.svg b/svg/fontawesome/fas-th.svg index 66e044a7a..70d3b424f 100644 --- a/svg/fontawesome/fas-th.svg +++ b/svg/fontawesome/fas-th.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-thermometer-three-quarters.svg b/svg/fontawesome/fas-thermometer-three-quarters.svg index 19ffe0da2..4dbbc6d91 100644 --- a/svg/fontawesome/fas-thermometer-three-quarters.svg +++ b/svg/fontawesome/fas-thermometer-three-quarters.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-ticket-alt.svg b/svg/fontawesome/fas-ticket-alt.svg index b36798c6e..43104b9d1 100644 --- a/svg/fontawesome/fas-ticket-alt.svg +++ b/svg/fontawesome/fas-ticket-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-tint-slash.svg b/svg/fontawesome/fas-tint-slash.svg index 2a580cd2e..450b9ac31 100644 --- a/svg/fontawesome/fas-tint-slash.svg +++ b/svg/fontawesome/fas-tint-slash.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-tint.svg b/svg/fontawesome/fas-tint.svg index 375ee781b..992656a39 100644 --- a/svg/fontawesome/fas-tint.svg +++ b/svg/fontawesome/fas-tint.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-toilet.svg b/svg/fontawesome/fas-toilet.svg index 08fe3196d..f3271168d 100644 --- a/svg/fontawesome/fas-toilet.svg +++ b/svg/fontawesome/fas-toilet.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-tools.svg b/svg/fontawesome/fas-tools.svg index 1ef05c5f6..76433ed57 100644 --- a/svg/fontawesome/fas-tools.svg +++ b/svg/fontawesome/fas-tools.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-tractor.svg b/svg/fontawesome/fas-tractor.svg index ccd302dab..c70a6f176 100644 --- a/svg/fontawesome/fas-tractor.svg +++ b/svg/fontawesome/fas-tractor.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-tram.svg b/svg/fontawesome/fas-tram.svg index 350d6581f..c1ea041e2 100644 --- a/svg/fontawesome/fas-tram.svg +++ b/svg/fontawesome/fas-tram.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-trash-restore.svg b/svg/fontawesome/fas-trash-restore.svg index 78e8aed42..c181f5195 100644 --- a/svg/fontawesome/fas-trash-restore.svg +++ b/svg/fontawesome/fas-trash-restore.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-triangle-exclamation.svg b/svg/fontawesome/fas-triangle-exclamation.svg index 00bba534d..d5d6ec2bc 100644 --- a/svg/fontawesome/fas-triangle-exclamation.svg +++ b/svg/fontawesome/fas-triangle-exclamation.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-trophy.svg b/svg/fontawesome/fas-trophy.svg index be15c82a8..46fafe60e 100644 --- a/svg/fontawesome/fas-trophy.svg +++ b/svg/fontawesome/fas-trophy.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-truck-fast.svg b/svg/fontawesome/fas-truck-fast.svg index 7e742b770..f8eff2e6a 100644 --- a/svg/fontawesome/fas-truck-fast.svg +++ b/svg/fontawesome/fas-truck-fast.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-truck-loading.svg b/svg/fontawesome/fas-truck-loading.svg index 58368cd74..fc79dbbdb 100644 --- a/svg/fontawesome/fas-truck-loading.svg +++ b/svg/fontawesome/fas-truck-loading.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-truck-monster.svg b/svg/fontawesome/fas-truck-monster.svg index 0c72e52f2..29af15992 100644 --- a/svg/fontawesome/fas-truck-monster.svg +++ b/svg/fontawesome/fas-truck-monster.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-tshirt.svg b/svg/fontawesome/fas-tshirt.svg index e805945ba..b1035b47c 100644 --- a/svg/fontawesome/fas-tshirt.svg +++ b/svg/fontawesome/fas-tshirt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-umbrella-beach.svg b/svg/fontawesome/fas-umbrella-beach.svg index 0ecbc5cc6..d5d1ef395 100644 --- a/svg/fontawesome/fas-umbrella-beach.svg +++ b/svg/fontawesome/fas-umbrella-beach.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-user-alt.svg b/svg/fontawesome/fas-user-alt.svg index 6eb035120..8f3a9f3c3 100644 --- a/svg/fontawesome/fas-user-alt.svg +++ b/svg/fontawesome/fas-user-alt.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-user-cog.svg b/svg/fontawesome/fas-user-cog.svg index 1da1773b2..74edf938d 100644 --- a/svg/fontawesome/fas-user-cog.svg +++ b/svg/fontawesome/fas-user-cog.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-user-secret.svg b/svg/fontawesome/fas-user-secret.svg index e4a93779f..3b356dfc6 100644 --- a/svg/fontawesome/fas-user-secret.svg +++ b/svg/fontawesome/fas-user-secret.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-user-tie.svg b/svg/fontawesome/fas-user-tie.svg index c683fea4a..a45d3a07f 100644 --- a/svg/fontawesome/fas-user-tie.svg +++ b/svg/fontawesome/fas-user-tie.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-users.svg b/svg/fontawesome/fas-users.svg index a7abd3ac8..10325b41b 100644 --- a/svg/fontawesome/fas-users.svg +++ b/svg/fontawesome/fas-users.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-vector-square.svg b/svg/fontawesome/fas-vector-square.svg index 92c7df33b..988f5c79a 100644 --- a/svg/fontawesome/fas-vector-square.svg +++ b/svg/fontawesome/fas-vector-square.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-vest.svg b/svg/fontawesome/fas-vest.svg index 8b76c73e1..f7b785190 100644 --- a/svg/fontawesome/fas-vest.svg +++ b/svg/fontawesome/fas-vest.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-vial.svg b/svg/fontawesome/fas-vial.svg index de87da45b..43cc275ae 100644 --- a/svg/fontawesome/fas-vial.svg +++ b/svg/fontawesome/fas-vial.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-video.svg b/svg/fontawesome/fas-video.svg index e0cfd9196..83e04015d 100644 --- a/svg/fontawesome/fas-video.svg +++ b/svg/fontawesome/fas-video.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-vihara.svg b/svg/fontawesome/fas-vihara.svg index fe49a4974..5e71cd34a 100644 --- a/svg/fontawesome/fas-vihara.svg +++ b/svg/fontawesome/fas-vihara.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-volume-up.svg b/svg/fontawesome/fas-volume-up.svg index d77822565..3ce852954 100644 --- a/svg/fontawesome/fas-volume-up.svg +++ b/svg/fontawesome/fas-volume-up.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-vote-yea.svg b/svg/fontawesome/fas-vote-yea.svg index c60278c93..8d42dc59c 100644 --- a/svg/fontawesome/fas-vote-yea.svg +++ b/svg/fontawesome/fas-vote-yea.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-warehouse.svg b/svg/fontawesome/fas-warehouse.svg index 5266291ee..6bfc1474a 100644 --- a/svg/fontawesome/fas-warehouse.svg +++ b/svg/fontawesome/fas-warehouse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-weight-hanging.svg b/svg/fontawesome/fas-weight-hanging.svg index 239401eb5..15b17e3f5 100644 --- a/svg/fontawesome/fas-weight-hanging.svg +++ b/svg/fontawesome/fas-weight-hanging.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/svg/fontawesome/fas-weight.svg b/svg/fontawesome/fas-weight.svg index 3ce731e93..04b7cc8af 100644 --- a/svg/fontawesome/fas-weight.svg +++ b/svg/fontawesome/fas-weight.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From e66cab06ebd6302d6c70333586e5cad39dd82b9a Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Thu, 25 Jul 2024 18:13:27 +0200 Subject: [PATCH 50/61] update all relation parents of an entity, fixes #10342 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit this had regressed in 5f1e405 – if an entity had two or more parent relations, the loop would abort after the first parent relation because `memo[entity.id]` would be set to true in the first parent iteration. what we want is to only abort if the same `relation` is seen again (in a r123 [-> …] -> r123 cirular relationship) --- CHANGELOG.md | 2 ++ modules/core/tree.js | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aa3d58169..9fbb31c11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,6 +55,7 @@ _Breaking developer changes, which may affect downstream projects or sites that * Only consider features with either `landuse`, `natural`, `amentiy` or `leisure` tag to be classified as _Landuse_ areas * Fix address field overwriting existing data when switching selected map features under certain circumstances ([#10260]) * Show `name` field also when only a localized name is present (e.g. only `name:xy`, but not `name`) and the preset does not show the name field by default ([#10323], thanks [@samhoooo]) +* Fix bug which in some cases prevented the list of relations in _raw membership editor_ from showing all relations in the visible map area ([#10342]) #### :earth_asia: Localization * Add address format for Thailand ([#10291], thanks [@cmoffroad]) #### :hourglass: Performance @@ -78,6 +79,7 @@ _Breaking developer changes, which may affect downstream projects or sites that [#10291]: https://github.com/openstreetmap/iD/pull/10291 [#10302]: https://github.com/openstreetmap/iD/issues/10302 [#10323]: https://github.com/openstreetmap/iD/issues/10323 +[#10342]: https://github.com/openstreetmap/iD/issues/10342 [@zbycz]: https://github.com/zbycz [@samhoooo]: https://github.com/samhoooo [@cmoffroad]: https://github.com/cmoffroad diff --git a/modules/core/tree.js b/modules/core/tree.js index 44496d420..3d92bd880 100644 --- a/modules/core/tree.js +++ b/modules/core/tree.js @@ -76,8 +76,8 @@ export function coreTree(head) { }); head.parentRelations(entity).forEach(function(relation) { - if (memo[entity.id]) return; - memo[entity.id] = true; + if (memo[relation.id]) return; + memo[relation.id] = true; if (_bboxes[relation.id]) { removeEntity(relation); insertions[relation.id] = relation; From a60729f6e5029b65f50a1052681eab328e4cc25c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Jul 2024 18:22:31 +0200 Subject: [PATCH 51/61] Bump @fortawesome/fontawesome-svg-core from 6.5.2 to 6.6.0 (#10354) Bumps [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) from 6.5.2 to 6.6.0. - [Release notes](https://github.com/FortAwesome/Font-Awesome/releases) - [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md) - [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.2...6.6.0) --- updated-dependencies: - dependency-name: "@fortawesome/fontawesome-svg-core" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 37 +++++++++---------------------------- package.json | 2 +- 2 files changed, 10 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9161915ca..78f7729b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,7 +37,7 @@ "which-polygon": "2.2.1" }, "devDependencies": { - "@fortawesome/fontawesome-svg-core": "~6.5.2", + "@fortawesome/fontawesome-svg-core": "~6.6.0", "@fortawesome/free-brands-svg-icons": "~6.6.0", "@fortawesome/free-regular-svg-icons": "~6.6.0", "@fortawesome/free-solid-svg-icons": "~6.6.0", @@ -1065,28 +1065,17 @@ } }, "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.2.tgz", - "integrity": "sha512-5CdaCBGl8Rh9ohNdxeeTMxIj8oc3KNBgIeLMvJosBMdslK/UnEB8rzyDRrbKdL1kDweqBPo4GT9wvnakHWucZw==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.6.0.tgz", + "integrity": "sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==", "dev": true, - "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "6.5.2" + "@fortawesome/fontawesome-common-types": "6.6.0" }, "engines": { "node": ">=6" } }, - "node_modules/@fortawesome/fontawesome-svg-core/node_modules/@fortawesome/fontawesome-common-types": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz", - "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==", - "dev": true, - "hasInstallScript": true, - "engines": { - "node": ">=6" - } - }, "node_modules/@fortawesome/free-brands-svg-icons": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.6.0.tgz", @@ -10041,20 +10030,12 @@ "dev": true }, "@fortawesome/fontawesome-svg-core": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.2.tgz", - "integrity": "sha512-5CdaCBGl8Rh9ohNdxeeTMxIj8oc3KNBgIeLMvJosBMdslK/UnEB8rzyDRrbKdL1kDweqBPo4GT9wvnakHWucZw==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.6.0.tgz", + "integrity": "sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==", "dev": true, "requires": { - "@fortawesome/fontawesome-common-types": "6.5.2" - }, - "dependencies": { - "@fortawesome/fontawesome-common-types": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz", - "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==", - "dev": true - } + "@fortawesome/fontawesome-common-types": "6.6.0" } }, "@fortawesome/free-brands-svg-icons": { diff --git a/package.json b/package.json index b302d504c..5dd1472b3 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "which-polygon": "2.2.1" }, "devDependencies": { - "@fortawesome/fontawesome-svg-core": "~6.5.2", + "@fortawesome/fontawesome-svg-core": "~6.6.0", "@fortawesome/free-brands-svg-icons": "~6.6.0", "@fortawesome/free-regular-svg-icons": "~6.6.0", "@fortawesome/free-solid-svg-icons": "~6.6.0", From 2c14ac47062201f3816f32ac719843dacf120f77 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Jul 2024 18:22:44 +0200 Subject: [PATCH 52/61] Bump @mapbox/vector-tile from 2.0.2 to 2.0.3 (#10352) Bumps [@mapbox/vector-tile](https://github.com/mapbox/vector-tile-js) from 2.0.2 to 2.0.3. - [Release notes](https://github.com/mapbox/vector-tile-js/releases) - [Commits](https://github.com/mapbox/vector-tile-js/compare/v2.0.2...v2.0.3) --- updated-dependencies: - dependency-name: "@mapbox/vector-tile" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 30 +++++++++++++++--------------- package.json | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 78f7729b8..d7d130225 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@mapbox/geojson-area": "^0.2.2", "@mapbox/sexagesimal": "1.2.0", - "@mapbox/vector-tile": "^2.0.2", + "@mapbox/vector-tile": "^2.0.3", "@rapideditor/country-coder": "~5.3.0", "@rapideditor/location-conflation": "~1.4.0", "@tmcw/togeojson": "^5.8.1", @@ -1298,9 +1298,9 @@ "dev": true }, "node_modules/@mapbox/point-geometry": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-1.0.0.tgz", - "integrity": "sha512-1EPbCrZvs+eBayaMcPeDmwsbgG/b7vQxtYlzLI/5dA2SHctbUxFr13OE4+AdozoF8EtvbaFcfQIzWetOfooz/w==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-1.1.0.tgz", + "integrity": "sha512-YGcBz1cg4ATXDCM/71L9xveh4dynfGmcLDqufR+nQQy3fKwsAZsWd/x4621/6uJaeB9mwOHE6hPeDgXz9uViUQ==" }, "node_modules/@mapbox/sexagesimal": { "version": "1.2.0", @@ -1313,11 +1313,11 @@ } }, "node_modules/@mapbox/vector-tile": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-2.0.2.tgz", - "integrity": "sha512-DGHWcOU2VzaEEzqR0CxxXaBESwEUpFy8+iLNARxZrHRgu9IoTMZgh0ugRNI67n6xXI08z3ZyrKbcdxDPtAfk8w==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-2.0.3.tgz", + "integrity": "sha512-Fq8PzBAaBeG3sEZA7Bomlv+8ZJcS5KCD6MRlCqiFrroOLnwZFFSJVydk1J9sneScJq9q4yyGfxKa+i7x2TLG8A==", "dependencies": { - "@mapbox/point-geometry": "~1.0.0", + "@mapbox/point-geometry": "~1.1.0", "@types/geojson": "^7946.0.14", "pbf": "^4.0.1" } @@ -10187,19 +10187,19 @@ "dev": true }, "@mapbox/point-geometry": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-1.0.0.tgz", - "integrity": "sha512-1EPbCrZvs+eBayaMcPeDmwsbgG/b7vQxtYlzLI/5dA2SHctbUxFr13OE4+AdozoF8EtvbaFcfQIzWetOfooz/w==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-1.1.0.tgz", + "integrity": "sha512-YGcBz1cg4ATXDCM/71L9xveh4dynfGmcLDqufR+nQQy3fKwsAZsWd/x4621/6uJaeB9mwOHE6hPeDgXz9uViUQ==" }, "@mapbox/sexagesimal": { "version": "1.2.0" }, "@mapbox/vector-tile": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-2.0.2.tgz", - "integrity": "sha512-DGHWcOU2VzaEEzqR0CxxXaBESwEUpFy8+iLNARxZrHRgu9IoTMZgh0ugRNI67n6xXI08z3ZyrKbcdxDPtAfk8w==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-2.0.3.tgz", + "integrity": "sha512-Fq8PzBAaBeG3sEZA7Bomlv+8ZJcS5KCD6MRlCqiFrroOLnwZFFSJVydk1J9sneScJq9q4yyGfxKa+i7x2TLG8A==", "requires": { - "@mapbox/point-geometry": "~1.0.0", + "@mapbox/point-geometry": "~1.1.0", "@types/geojson": "^7946.0.14", "pbf": "^4.0.1" }, diff --git a/package.json b/package.json index 5dd1472b3..708e6062f 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "dependencies": { "@mapbox/geojson-area": "^0.2.2", "@mapbox/sexagesimal": "1.2.0", - "@mapbox/vector-tile": "^2.0.2", + "@mapbox/vector-tile": "^2.0.3", "@rapideditor/country-coder": "~5.3.0", "@rapideditor/location-conflation": "~1.4.0", "@tmcw/togeojson": "^5.8.1", From ff522a02fd05ac10a9032d988f49506c50c54297 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Jul 2024 18:24:46 +0200 Subject: [PATCH 53/61] Bump postcss from 8.4.39 to 8.4.40 (#10351) Bumps [postcss](https://github.com/postcss/postcss) from 8.4.39 to 8.4.40. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.4.39...8.4.40) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index d7d130225..5566f0376 100644 --- a/package-lock.json +++ b/package-lock.json @@ -77,7 +77,7 @@ "name-suggestion-index": "~6.0", "npm-run-all": "^4.0.0", "osm-community-index": "~5.8.0", - "postcss": "^8.4.39", + "postcss": "^8.4.40", "postcss-selector-prepend": "^0.5.0", "shelljs": "^0.8.0", "shx": "^0.3.0", @@ -7176,9 +7176,9 @@ } }, "node_modules/postcss": { - "version": "8.4.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", - "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", + "version": "8.4.40", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", + "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", "dev": true, "funding": [ { @@ -14144,9 +14144,9 @@ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==" }, "postcss": { - "version": "8.4.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", - "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", + "version": "8.4.40", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", + "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", "dev": true, "requires": { "nanoid": "^3.3.7", diff --git a/package.json b/package.json index 708e6062f..ac293760f 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,7 @@ "name-suggestion-index": "~6.0", "npm-run-all": "^4.0.0", "osm-community-index": "~5.8.0", - "postcss": "^8.4.39", + "postcss": "^8.4.40", "postcss-selector-prepend": "^0.5.0", "shelljs": "^0.8.0", "shx": "^0.3.0", From 24e962b298f5ef23c389b21745711154e6767480 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 Jul 2024 11:02:46 +0200 Subject: [PATCH 54/61] Bump pbf from 3.2.1 to 4.0.1 (#10350) Bumps [pbf](https://github.com/mapbox/pbf) from 3.2.1 to 4.0.1. - [Release notes](https://github.com/mapbox/pbf/releases) - [Commits](https://github.com/mapbox/pbf/compare/v3.2.1...v4.0.1) --- updated-dependencies: - dependency-name: pbf dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 68 ++++++++++++++++++++++++++--------------------- package.json | 2 +- 2 files changed, 39 insertions(+), 31 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5566f0376..0517d0cb8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,7 +30,7 @@ "node-diff3": "~3.1.0", "osm-auth": "~2.5.0", "pannellum": "2.5.6", - "pbf": "^3.2.1", + "pbf": "^4.0.1", "polygon-clipping": "~0.15.7", "rbush": "4.0.0", "whatwg-fetch": "^3.6.20", @@ -1322,17 +1322,6 @@ "pbf": "^4.0.1" } }, - "node_modules/@mapbox/vector-tile/node_modules/pbf": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pbf/-/pbf-4.0.1.tgz", - "integrity": "sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==", - "dependencies": { - "resolve-protobuf-schema": "^2.1.0" - }, - "bin": { - "pbf": "bin/pbf" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -4881,6 +4870,9 @@ }, "node_modules/ieee754": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, "funding": [ { "type": "github", @@ -4894,8 +4886,7 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "BSD-3-Clause" + ] }, "node_modules/ignore": { "version": "5.3.1", @@ -6097,6 +6088,19 @@ "dev": true, "license": "(MIT AND Zlib)" }, + "node_modules/mapillary-js/node_modules/pbf": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.3.0.tgz", + "integrity": "sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==", + "dev": true, + "dependencies": { + "ieee754": "^1.1.12", + "resolve-protobuf-schema": "^2.1.0" + }, + "bin": { + "pbf": "bin/pbf" + } + }, "node_modules/mapillary-js/node_modules/rbush": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", @@ -7067,10 +7071,10 @@ } }, "node_modules/pbf": { - "version": "3.2.1", - "license": "BSD-3-Clause", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-4.0.1.tgz", + "integrity": "sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==", "dependencies": { - "ieee754": "^1.1.12", "resolve-protobuf-schema": "^2.1.0" }, "bin": { @@ -10202,16 +10206,6 @@ "@mapbox/point-geometry": "~1.1.0", "@types/geojson": "^7946.0.14", "pbf": "^4.0.1" - }, - "dependencies": { - "pbf": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pbf/-/pbf-4.0.1.tgz", - "integrity": "sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==", - "requires": { - "resolve-protobuf-schema": "^2.1.0" - } - } } }, "@nodelib/fs.scandir": { @@ -12590,7 +12584,10 @@ } }, "ieee754": { - "version": "1.2.1" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true }, "ignore": { "version": "5.3.1", @@ -13400,6 +13397,16 @@ "version": "2.0.4", "dev": true }, + "pbf": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.3.0.tgz", + "integrity": "sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==", + "dev": true, + "requires": { + "ieee754": "^1.1.12", + "resolve-protobuf-schema": "^2.1.0" + } + }, "rbush": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", @@ -14067,9 +14074,10 @@ "dev": true }, "pbf": { - "version": "3.2.1", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-4.0.1.tgz", + "integrity": "sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==", "requires": { - "ieee754": "^1.1.12", "resolve-protobuf-schema": "^2.1.0" } }, diff --git a/package.json b/package.json index ac293760f..0cb84cf06 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "node-diff3": "~3.1.0", "osm-auth": "~2.5.0", "pannellum": "2.5.6", - "pbf": "^3.2.1", + "pbf": "^4.0.1", "polygon-clipping": "~0.15.7", "rbush": "4.0.0", "whatwg-fetch": "^3.6.20", From 11920dae3fdd397a017dada4c3ecaca6b6692d0a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 Jul 2024 11:03:59 +0200 Subject: [PATCH 55/61] Bump marked from 12.0.2 to 13.0.2 (#10353) Bumps [marked](https://github.com/markedjs/marked) from 12.0.2 to 13.0.2. - [Release notes](https://github.com/markedjs/marked/releases) - [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json) - [Commits](https://github.com/markedjs/marked/compare/v12.0.2...v13.0.2) --- updated-dependencies: - dependency-name: marked dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0517d0cb8..8e71a2de1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "fast-deep-equal": "~3.1.1", "fast-json-stable-stringify": "2.1.0", "lodash-es": "~4.17.15", - "marked": "~12.0.2", + "marked": "~13.0.2", "node-diff3": "~3.1.0", "osm-auth": "~2.5.0", "pannellum": "2.5.6", @@ -6111,9 +6111,9 @@ } }, "node_modules/marked": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz", - "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==", + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-13.0.2.tgz", + "integrity": "sha512-J6CPjP8pS5sgrRqxVRvkCIkZ6MFdRIjDkwUwgJ9nL2fbmM6qGQeB2C16hi8Cc9BOzj6xXzy0jyi0iPIfnMHYzA==", "bin": { "marked": "bin/marked.js" }, @@ -13419,9 +13419,9 @@ } }, "marked": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz", - "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==" + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-13.0.2.tgz", + "integrity": "sha512-J6CPjP8pS5sgrRqxVRvkCIkZ6MFdRIjDkwUwgJ9nL2fbmM6qGQeB2C16hi8Cc9BOzj6xXzy0jyi0iPIfnMHYzA==" }, "martinez-polygon-clipping": { "version": "0.7.3", diff --git a/package.json b/package.json index 0cb84cf06..002d33643 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "fast-deep-equal": "~3.1.1", "fast-json-stable-stringify": "2.1.0", "lodash-es": "~4.17.15", - "marked": "~12.0.2", + "marked": "~13.0.2", "node-diff3": "~3.1.0", "osm-auth": "~2.5.0", "pannellum": "2.5.6", From 9a97433b2a2ca49494f49848ad6523b538591717 Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Fri, 26 Jul 2024 11:22:35 +0200 Subject: [PATCH 56/61] fix css rule for underwater features --- css/50_misc.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/css/50_misc.css b/css/50_misc.css index 7b4a2295e..ad28c1c5e 100644 --- a/css/50_misc.css +++ b/css/50_misc.css @@ -346,7 +346,7 @@ path.line.stroke.tag-location-underwater { } path.line.casing.tag-tunnel, path.line.casing.tag-location-underground, -path.line.stroke.tag-location-underwater { +path.line.casing.tag-location-underwater { stroke-opacity: 0.5; stroke-linecap: butt; stroke-dasharray: none; From bdcf770000fae3f587afd0f0956047bfa02ec33f Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Fri, 26 Jul 2024 11:22:56 +0200 Subject: [PATCH 57/61] add dedicated styling for waterway=flowline features, see #10283 --- CHANGELOG.md | 1 + css/45_waterways.css | 25 +++++++++++++++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9fbb31c11..0c310052f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -164,6 +164,7 @@ _Breaking developer changes, which may affect downstream projects or sites that * Don't consider traffic_calming features as areas ([id-tagging-schema#1076]) * Add rendering style for roller coaster tracks and supports ([#9891], thanks [@mangerlahn]) * Drop `*:wikipedia` tags when switching to a new NSI-based preset which specifies a corresponding `*:wikidata` tag ([#9103]) +* Add rendering style for `waterway=flowline` features: as wide as rivers, but without border and slightly opaque ([#10283]) [#9103]: https://github.com/openstreetmap/iD/issues/9103 [#9424]: https://github.com/openstreetmap/iD/pull/9424 diff --git a/css/45_waterways.css b/css/45_waterways.css index 24c83fb71..060172803 100644 --- a/css/45_waterways.css +++ b/css/45_waterways.css @@ -67,26 +67,39 @@ path.line.stroke.tag-waterway { /* wide waterways (river) */ -path.line.shadow.tag-waterway-river { +path.line.shadow.tag-waterway-river, +path.line.shadow.tag-waterway-flowline { stroke-width: 20; } -path.line.casing.tag-waterway-river { +path.line.casing.tag-waterway-river, +path.line.casing.tag-waterway-flowline { stroke-width: 10; } -path.line.stroke.tag-waterway-river { +path.line.stroke.tag-waterway-river, +path.line.stroke.tag-waterway-flowline { stroke-width: 8; } -.low-zoom path.line.shadow.tag-waterway-river { +.low-zoom path.line.shadow.tag-waterway-river, +.low-zoom path.line.shadow.tag-waterway-flowline { stroke-width: 16; } -.low-zoom path.line.casing.tag-waterway-river { +.low-zoom path.line.casing.tag-waterway-river, +.low-zoom path.line.casing.tag-waterway-flowline { stroke-width: 7; } -.low-zoom path.line.stroke.tag-waterway-river { +.low-zoom path.line.stroke.tag-waterway-river, +.low-zoom path.line.stroke.tag-waterway-flowline { stroke-width: 5; } +path.line.stroke.tag-waterway-flowline { + stroke-opacity: 0.5; +} +path.line.casing.tag-waterway-flowline { + display: none; +} + /* ditch */ .preset-icon .icon.tag-waterway-ditch { From fafb9f3d41e54f9bc58cc3a4b4d820a0de77eba9 Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Fri, 26 Jul 2024 11:59:06 +0200 Subject: [PATCH 58/61] add test case for #10342 --- test/spec/core/tree.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/spec/core/tree.js b/test/spec/core/tree.js index 970bba212..ef8e5be84 100644 --- a/test/spec/core/tree.js +++ b/test/spec/core/tree.js @@ -146,6 +146,21 @@ describe('iD.coreTree', function() { expect(tree.intersects(extent, graph)).to.eql([]); }); + it('adjusts all parent relations when a member node is moved', function() { + var graph = iD.coreGraph(), + tree = iD.coreTree(graph), + node = iD.osmNode({id: 'n', loc: [1, 1]}), + relation1 = iD.osmRelation({members: [{type: 'node', id: 'n'}]}), + relation2 = iD.osmRelation({members: [{type: 'node', id: 'n'}]}), + extent = iD.geoExtent([0, 0], [2, 2]); + + graph = graph.replace(node).replace(relation1).replace(relation2); + expect(tree.intersects(extent, graph)).to.eql([node, relation1, relation2]); + + graph = graph.replace(node.move([3, 3])); + expect(tree.intersects(extent, graph)).to.eql([]); + }); + it('adjusts parent relations of parent ways when a member node is moved', function() { var graph = iD.coreGraph(), tree = iD.coreTree(graph), From 83633af6fb01cf780941df6c664c7137a31d29f9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 14:47:38 +0200 Subject: [PATCH 59/61] Bump marked from 13.0.2 to 13.0.3 (#10357) Bumps [marked](https://github.com/markedjs/marked) from 13.0.2 to 13.0.3. - [Release notes](https://github.com/markedjs/marked/releases) - [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json) - [Commits](https://github.com/markedjs/marked/compare/v13.0.2...v13.0.3) --- updated-dependencies: - dependency-name: marked dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8e71a2de1..1e46ee7ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "fast-deep-equal": "~3.1.1", "fast-json-stable-stringify": "2.1.0", "lodash-es": "~4.17.15", - "marked": "~13.0.2", + "marked": "~13.0.3", "node-diff3": "~3.1.0", "osm-auth": "~2.5.0", "pannellum": "2.5.6", @@ -6111,9 +6111,9 @@ } }, "node_modules/marked": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-13.0.2.tgz", - "integrity": "sha512-J6CPjP8pS5sgrRqxVRvkCIkZ6MFdRIjDkwUwgJ9nL2fbmM6qGQeB2C16hi8Cc9BOzj6xXzy0jyi0iPIfnMHYzA==", + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-13.0.3.tgz", + "integrity": "sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA==", "bin": { "marked": "bin/marked.js" }, @@ -13419,9 +13419,9 @@ } }, "marked": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-13.0.2.tgz", - "integrity": "sha512-J6CPjP8pS5sgrRqxVRvkCIkZ6MFdRIjDkwUwgJ9nL2fbmM6qGQeB2C16hi8Cc9BOzj6xXzy0jyi0iPIfnMHYzA==" + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-13.0.3.tgz", + "integrity": "sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA==" }, "martinez-polygon-clipping": { "version": "0.7.3", diff --git a/package.json b/package.json index 002d33643..404d6e1d2 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "fast-deep-equal": "~3.1.1", "fast-json-stable-stringify": "2.1.0", "lodash-es": "~4.17.15", - "marked": "~13.0.2", + "marked": "~13.0.3", "node-diff3": "~3.1.0", "osm-auth": "~2.5.0", "pannellum": "2.5.6", From 403dd521e2cd4da3e97ca74b4cb4b419e8a9b1db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 14:48:03 +0200 Subject: [PATCH 60/61] Bump chai from 4.4.1 to 4.5.0 (#10355) Bumps [chai](https://github.com/chaijs/chai) from 4.4.1 to 4.5.0. - [Release notes](https://github.com/chaijs/chai/releases) - [Changelog](https://github.com/chaijs/chai/blob/main/History.md) - [Commits](https://github.com/chaijs/chai/compare/v4.4.1...v4.5.0) --- updated-dependencies: - dependency-name: chai dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 35 ++++++++++++++++++++++++++--------- package.json | 2 +- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1e46ee7ce..f644ceaf8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,7 +49,7 @@ "autoprefixer": "^10.4.19", "browserslist": "^4.23.2", "browserslist-to-esbuild": "^2.1.1", - "chai": "^4.4.1", + "chai": "^4.5.0", "chalk": "^4.1.2", "cldr-core": "^45.0.0", "cldr-localenames-full": "^45.0.0", @@ -2344,9 +2344,9 @@ ] }, "node_modules/chai": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", - "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", @@ -2355,12 +2355,21 @@ "get-func-name": "^2.0.2", "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "type-detect": "^4.1.0" }, "engines": { "node": ">=4" } }, + "node_modules/chai/node_modules/type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/chalk": { "version": "4.1.2", "dev": true, @@ -10857,9 +10866,9 @@ "dev": true }, "chai": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", - "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", "dev": true, "requires": { "assertion-error": "^1.1.0", @@ -10868,7 +10877,15 @@ "get-func-name": "^2.0.2", "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "type-detect": "^4.1.0" + }, + "dependencies": { + "type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "dev": true + } } }, "chalk": { diff --git a/package.json b/package.json index 404d6e1d2..7f10667cd 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,7 @@ "autoprefixer": "^10.4.19", "browserslist": "^4.23.2", "browserslist-to-esbuild": "^2.1.1", - "chai": "^4.4.1", + "chai": "^4.5.0", "chalk": "^4.1.2", "cldr-core": "^45.0.0", "cldr-localenames-full": "^45.0.0", From 338f566b5d0b4091d778c6096a2ef84a20cbddca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 14:48:15 +0200 Subject: [PATCH 61/61] Bump eslint from 9.7.0 to 9.8.0 (#10356) Bumps [eslint](https://github.com/eslint/eslint) from 9.7.0 to 9.8.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.7.0...v9.8.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 46 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/package-lock.json b/package-lock.json index f644ceaf8..8012124f5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -59,7 +59,7 @@ "editor-layer-index": "github:osmlab/editor-layer-index#gh-pages", "esbuild": "^0.23.0", "esbuild-visualizer": "^0.6.0", - "eslint": "^9.7.0", + "eslint": "^9.8.0", "fetch-mock": "^9.11.0", "gaze": "^1.1.3", "glob": "^10.4.5", @@ -1001,9 +1001,9 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.0.tgz", - "integrity": "sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.1.tgz", + "integrity": "sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==", "dev": true, "dependencies": { "@eslint/object-schema": "^2.1.4", @@ -1038,9 +1038,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.7.0.tgz", - "integrity": "sha512-ChuWDQenef8OSFnvuxv0TCVxEwmu3+hPNKvM9B34qpM0rDRbjL8t5QkQeHHeAfsKQjuH9wS82WeCi1J/owatng==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.8.0.tgz", + "integrity": "sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3813,16 +3813,16 @@ } }, "node_modules/eslint": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.7.0.tgz", - "integrity": "sha512-FzJ9D/0nGiCGBf8UXO/IGLTgLVzIxze1zpfA8Ton2mjLovXdAPlYDv+MQDcqj3TmrhAGYfOpz9RfR+ent0AgAw==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.8.0.tgz", + "integrity": "sha512-K8qnZ/QJzT2dLKdZJVX6W4XOwBzutMYmt0lqUS+JdXgd+HTYFlonFgkJ8s44d/zMPPCnOOk0kMWCApCPhiOy9A==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", - "@eslint/config-array": "^0.17.0", + "@eslint/config-array": "^0.17.1", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.7.0", + "@eslint/js": "9.8.0", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", @@ -9997,9 +9997,9 @@ "dev": true }, "@eslint/config-array": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.0.tgz", - "integrity": "sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.1.tgz", + "integrity": "sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==", "dev": true, "requires": { "@eslint/object-schema": "^2.1.4", @@ -10025,9 +10025,9 @@ } }, "@eslint/js": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.7.0.tgz", - "integrity": "sha512-ChuWDQenef8OSFnvuxv0TCVxEwmu3+hPNKvM9B34qpM0rDRbjL8t5QkQeHHeAfsKQjuH9wS82WeCi1J/owatng==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.8.0.tgz", + "integrity": "sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==", "dev": true }, "@eslint/object-schema": { @@ -11891,16 +11891,16 @@ } }, "eslint": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.7.0.tgz", - "integrity": "sha512-FzJ9D/0nGiCGBf8UXO/IGLTgLVzIxze1zpfA8Ton2mjLovXdAPlYDv+MQDcqj3TmrhAGYfOpz9RfR+ent0AgAw==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.8.0.tgz", + "integrity": "sha512-K8qnZ/QJzT2dLKdZJVX6W4XOwBzutMYmt0lqUS+JdXgd+HTYFlonFgkJ8s44d/zMPPCnOOk0kMWCApCPhiOy9A==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", - "@eslint/config-array": "^0.17.0", + "@eslint/config-array": "^0.17.1", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.7.0", + "@eslint/js": "9.8.0", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", diff --git a/package.json b/package.json index 7f10667cd..70f209e8f 100644 --- a/package.json +++ b/package.json @@ -94,7 +94,7 @@ "editor-layer-index": "github:osmlab/editor-layer-index#gh-pages", "esbuild": "^0.23.0", "esbuild-visualizer": "^0.6.0", - "eslint": "^9.7.0", + "eslint": "^9.8.0", "fetch-mock": "^9.11.0", "gaze": "^1.1.3", "glob": "^10.4.5",