From 32fae68e6eb6fbb945da7a82c31b958bf712b899 Mon Sep 17 00:00:00 2001 From: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Fri, 4 Oct 2024 09:30:37 -0400 Subject: [PATCH 01/12] WV-3297 Replace CMR with DescribeDomains for DataAvailability (#5482) * feat: Update data availability in TEMPO layer configurations and support DescribeDomains for getting temporal data availability * chore: Add documentation * Refactor mergeDomains function to accept a time buffer parameter * Refactor createLayerWrapper function to extract time range logic into a separate function * Refactor addTimeRanges function to include project state and remove unnecessary variable assignment * chore: correct comment * chore: correct comment * Refactor time buffering logic in mapLayerBuilder.js and dd.worker.js * Refactor period conversion in dd.worker.js --- ...L2_Cloud_Cloud_Fraction_Total_Granule.json | 2 +- ...L2_Cloud_Cloud_Pressure_Total_Granule.json | 2 +- ..._Formaldehyde_Vertical_Column_Granule.json | 2 +- ..._Vertical_Column_Stratosphere_Granule.json | 2 +- ...2_Vertical_Column_Troposphere_Granule.json | 2 +- ...TEMPO_L2_Ozone_Cloud_Fraction_Granule.json | 2 +- .../TEMPO_L2_Ozone_Column_Amount_Granule.json | 2 +- ...MPO_L2_Ozone_UV_Aerosol_Index_Granule.json | 2 +- .../TEMPO_L3_Cloud_Cloud_Fraction_Total.json | 2 +- .../TEMPO_L3_Cloud_Cloud_Pressure_Total.json | 2 +- ...TEMPO_L3_Formaldehyde_Vertical_Column.json | 2 +- ...O_L3_NO2_Vertical_Column_Stratosphere.json | 2 +- ...PO_L3_NO2_Vertical_Column_Troposphere.json | 2 +- .../tempo/TEMPO_L3_Ozone_Cloud_Fraction.json | 2 +- .../tempo/TEMPO_L3_Ozone_Column_Amount.json | 2 +- .../TEMPO_L3_Ozone_UV_Aerosol_Index.json | 2 +- ...tedReflectance_BandsM11-I2-I1_Granule.json | 2 +- ...tedReflectance_BandsM3-I3-M11_Granule.json | 2 +- ...orrectedReflectance_TrueColor_Granule.json | 2 +- ...tedReflectance_BandsM11-I2-I1_Granule.json | 2 +- ...tedReflectance_BandsM3-I3-M11_Granule.json | 2 +- ...orrectedReflectance_TrueColor_Granule.json | 2 +- doc/config/layers.md | 5 +- web/js/map/layerbuilder.js | 61 ++++++-- web/js/workers/cmr.worker.js | 2 +- web/js/workers/dd.worker.js | 134 ++++++++++++++++++ 26 files changed, 208 insertions(+), 38 deletions(-) create mode 100644 web/js/workers/dd.worker.js diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Cloud_Cloud_Fraction_Total_Granule.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Cloud_Cloud_Fraction_Total_Granule.json index 628556ff1c..8aa472cca7 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Cloud_Cloud_Fraction_Total_Granule.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Cloud_Cloud_Fraction_Total_Granule.json @@ -11,7 +11,7 @@ "type": "granule", "period": "subdaily", "count": 1, - "cmrAvailability": true, + "dataAvailability": "dd", "startDate": "2024-05-13T10:41:03Z", "disableSnapshot": true } diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Cloud_Cloud_Pressure_Total_Granule.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Cloud_Cloud_Pressure_Total_Granule.json index 8abc8fed42..8579f5d45b 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Cloud_Cloud_Pressure_Total_Granule.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Cloud_Cloud_Pressure_Total_Granule.json @@ -11,7 +11,7 @@ "type": "granule", "period": "subdaily", "count": 1, - "cmrAvailability": true, + "dataAvailability": "dd", "startDate": "2024-05-13T10:41:03Z", "disableSnapshot": true diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Formaldehyde_Vertical_Column_Granule.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Formaldehyde_Vertical_Column_Granule.json index 351a69d85d..ae91fa2735 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Formaldehyde_Vertical_Column_Granule.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Formaldehyde_Vertical_Column_Granule.json @@ -11,7 +11,7 @@ "type": "granule", "period": "subdaily", "count": 1, - "cmrAvailability": true, + "dataAvailability": "dd", "startDate": "2024-05-13T10:41:03Z", "disableSnapshot": true diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_NO2_Vertical_Column_Stratosphere_Granule.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_NO2_Vertical_Column_Stratosphere_Granule.json index 8df3d42c28..35bc063b7f 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_NO2_Vertical_Column_Stratosphere_Granule.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_NO2_Vertical_Column_Stratosphere_Granule.json @@ -11,7 +11,7 @@ "type": "granule", "period": "subdaily", "count": 1, - "cmrAvailability": true, + "dataAvailability": "dd", "startDate": "2024-05-13T10:41:03Z", "disableSnapshot": true diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_NO2_Vertical_Column_Troposphere_Granule.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_NO2_Vertical_Column_Troposphere_Granule.json index 7fbaf4edc7..bd2ccf74b7 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_NO2_Vertical_Column_Troposphere_Granule.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_NO2_Vertical_Column_Troposphere_Granule.json @@ -11,7 +11,7 @@ "type": "granule", "period": "subdaily", "count": 1, - "cmrAvailability": true, + "dataAvailability": "dd", "startDate": "2024-05-13T10:41:03Z", "disableSnapshot": true diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_Cloud_Fraction_Granule.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_Cloud_Fraction_Granule.json index 4df6cb24d3..aea95bf1ec 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_Cloud_Fraction_Granule.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_Cloud_Fraction_Granule.json @@ -11,7 +11,7 @@ "type": "granule", "period": "subdaily", "count": 1, - "cmrAvailability": true, + "dataAvailability": "dd", "startDate": "2024-05-13T10:41:03Z", "disableSnapshot": true diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_Column_Amount_Granule.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_Column_Amount_Granule.json index 42b847d438..622252174e 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_Column_Amount_Granule.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_Column_Amount_Granule.json @@ -11,7 +11,7 @@ "type": "granule", "period": "subdaily", "count": 1, - "cmrAvailability": true, + "dataAvailability": "dd", "startDate": "2024-05-13T10:41:03Z", "disableSnapshot": true diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_UV_Aerosol_Index_Granule.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_UV_Aerosol_Index_Granule.json index 968fad9fc8..d896aa2480 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_UV_Aerosol_Index_Granule.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_UV_Aerosol_Index_Granule.json @@ -11,7 +11,7 @@ "type": "granule", "period": "subdaily", "count": 1, - "cmrAvailability": true, + "dataAvailability": "dd", "startDate": "2024-05-13T10:41:03Z", "disableSnapshot": true diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Cloud_Cloud_Fraction_Total.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Cloud_Cloud_Fraction_Total.json index 2c7624f56c..817fbe1a83 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Cloud_Cloud_Fraction_Total.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Cloud_Cloud_Fraction_Total.json @@ -8,7 +8,7 @@ "tags": "", "group": "overlays", "layergroup": "Cloud Fraction", - "cmrAvailability": true, + "dataAvailability": "dd", "startDate": "2024-05-13T10:30:00Z", "disableSnapshot": true } diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Cloud_Cloud_Pressure_Total.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Cloud_Cloud_Pressure_Total.json index 1a0d073635..da9adb8607 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Cloud_Cloud_Pressure_Total.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Cloud_Cloud_Pressure_Total.json @@ -8,7 +8,7 @@ "tags": "", "group": "overlays", "layergroup": "Cloud Pressure", - "cmrAvailability": true, + "dataAvailability": "dd", "startDate": "2024-05-13T10:30:00Z", "disableSnapshot": true diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Formaldehyde_Vertical_Column.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Formaldehyde_Vertical_Column.json index 6275dc6593..db0cb02620 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Formaldehyde_Vertical_Column.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Formaldehyde_Vertical_Column.json @@ -8,7 +8,7 @@ "tags": "", "group": "overlays", "layergroup": "Formaldehyde", - "cmrAvailability": true, + "dataAvailability": "dd", "startDate": "2024-05-13T10:30:00Z", "disableSnapshot": true diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_NO2_Vertical_Column_Stratosphere.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_NO2_Vertical_Column_Stratosphere.json index e8ce817279..7bbd709218 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_NO2_Vertical_Column_Stratosphere.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_NO2_Vertical_Column_Stratosphere.json @@ -8,7 +8,7 @@ "tags": "", "group": "overlays", "layergroup": "Nitrogen Dioxide", - "cmrAvailability": true, + "dataAvailability": "dd", "startDate": "2024-05-13T10:30:00Z", "disableSnapshot": true diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_NO2_Vertical_Column_Troposphere.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_NO2_Vertical_Column_Troposphere.json index 7226d45c0b..e9c02fd04a 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_NO2_Vertical_Column_Troposphere.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_NO2_Vertical_Column_Troposphere.json @@ -8,7 +8,7 @@ "tags": "", "group": "overlays", "layergroup": "Nitrogen Dioxide", - "cmrAvailability": true, + "dataAvailability": "dd", "startDate": "2024-05-13T10:30:00Z", "disableSnapshot": true diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_Cloud_Fraction.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_Cloud_Fraction.json index 6c76585de7..8fa481a1ea 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_Cloud_Fraction.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_Cloud_Fraction.json @@ -8,7 +8,7 @@ "tags": "", "group": "overlays", "layergroup": "Ozone", - "cmrAvailability": true, + "dataAvailability": "dd", "startDate": "2024-05-13T10:30:00Z", "disableSnapshot": true diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_Column_Amount.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_Column_Amount.json index 0e7d9eb8db..8c1d85cea0 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_Column_Amount.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_Column_Amount.json @@ -8,7 +8,7 @@ "tags": "", "group": "overlays", "layergroup": "Ozone", - "cmrAvailability": true, + "dataAvailability": "dd", "startDate": "2024-05-13T10:30:00Z", "disableSnapshot": true diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_UV_Aerosol_Index.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_UV_Aerosol_Index.json index 066ca16c59..5df8232b43 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_UV_Aerosol_Index.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_UV_Aerosol_Index.json @@ -8,7 +8,7 @@ "tags": "", "group": "overlays", "layergroup": "Aerosol Index", - "cmrAvailability": true, + "dataAvailability": "dd", "startDate": "2024-05-13T10:30:00Z", "disableSnapshot": true diff --git a/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.json b/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.json index 8e42feaf45..c5e854b3be 100644 --- a/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.json +++ b/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.json @@ -7,7 +7,7 @@ "group": "overlays", "layergroup": "Granules", "type": "granule", - "cmrAvailability": true, + "dataAvailability": "dd", "period": "subdaily", "associatedLayers": ["VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1"], "availability": { diff --git a/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.json b/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.json index b72b32c48c..a20427eed4 100644 --- a/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.json +++ b/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.json @@ -7,7 +7,7 @@ "group": "overlays", "layergroup": "Granules", "type": "granule", - "cmrAvailability": true, + "dataAvailability": "dd", "period": "subdaily", "associatedLayers": ["VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11"], "availability": { diff --git a/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.json b/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.json index 573329650b..2849f6404c 100644 --- a/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.json +++ b/config/default/common/config/wv.json/layers/viirs/noaa20/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.json @@ -7,7 +7,7 @@ "group": "overlays", "layergroup": "Granules", "type": "granule", - "cmrAvailability": true, + "dataAvailability": "dd", "period": "subdaily", "associatedLayers": ["VIIRS_NOAA20_CorrectedReflectance_TrueColor"], "availability": { diff --git a/config/default/common/config/wv.json/layers/viirs/snpp/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.json b/config/default/common/config/wv.json/layers/viirs/snpp/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.json index c5134461cc..1f319a8e0e 100644 --- a/config/default/common/config/wv.json/layers/viirs/snpp/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.json +++ b/config/default/common/config/wv.json/layers/viirs/snpp/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.json @@ -7,7 +7,7 @@ "group": "overlays", "layergroup": "Granules", "type": "granule", - "cmrAvailability": true, + "dataAvailability": "dd", "period": "subdaily", "associatedLayers": ["VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1"], "availability": { diff --git a/config/default/common/config/wv.json/layers/viirs/snpp/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.json b/config/default/common/config/wv.json/layers/viirs/snpp/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.json index e983470c9b..6d501f3484 100644 --- a/config/default/common/config/wv.json/layers/viirs/snpp/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.json +++ b/config/default/common/config/wv.json/layers/viirs/snpp/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.json @@ -7,7 +7,7 @@ "group": "overlays", "layergroup": "Granules", "type": "granule", - "cmrAvailability": true, + "dataAvailability": "dd", "period": "subdaily", "associatedLayers": ["VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11"], "availability": { diff --git a/config/default/common/config/wv.json/layers/viirs/snpp/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.json b/config/default/common/config/wv.json/layers/viirs/snpp/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.json index 6641da00db..08e74b3be9 100644 --- a/config/default/common/config/wv.json/layers/viirs/snpp/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.json +++ b/config/default/common/config/wv.json/layers/viirs/snpp/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.json @@ -7,7 +7,7 @@ "group": "overlays", "layergroup": "Granules", "type": "granule", - "cmrAvailability": true, + "dataAvailability": "dd", "period": "subdaily", "associatedLayers": ["VIIRS_SNPP_CorrectedReflectance_TrueColor"], "availability": { diff --git a/doc/config/layers.md b/doc/config/layers.md index 4aec705876..88bedaa2d2 100644 --- a/doc/config/layers.md +++ b/doc/config/layers.md @@ -113,6 +113,7 @@ Example: * **temporal**: Used to override the layer temporal availability declared in the capabilities document. Note: Changing the temporal availability can cause missing layer coverage within the interface for layers tiles that aren't available from the source at the revised temporal range. This option can be added as a string with the new availability range. For example, `"1981-10-13/2019-10-11/P1M"`. * **count**: Used to override the default number of granules displayed on the map and in the granule count slider component for granule layers. * **cmrAvailability**: Boolean - Whether or not to use the CMR API for data availability. +* **dataAvailability**: String - `cmr` or `dd`. Get the layer's data availability from either the CMR API or GIBS DescribeDomains request. ## Full Example @@ -136,7 +137,7 @@ Example: "id": "AIRS_RH400_A" }, "temporal": "1981-10-13/2019-10-11/P1M", - "cmrAvailability": false + "dataAvailability": "dd" } } } @@ -164,7 +165,7 @@ Granule layers will require specific configuration options within the `config/wv ], "ongoing": true, "type": "granule", - "cmrAvailability": true, + "dataAvailability": "dd", "period": "subdaily", "count": 1 } diff --git a/web/js/map/layerbuilder.js b/web/js/map/layerbuilder.js index e55a9d9f7c..65973a216f 100644 --- a/web/js/map/layerbuilder.js +++ b/web/js/map/layerbuilder.js @@ -1110,6 +1110,52 @@ export default function mapLayerBuilder(config, cache, store) { return layer; }; + const addTimeRanges = (def) => { + const state = store.getState(); + const proj = state.proj.selected; + const { + cmrAvailability, + dataAvailability, + id, + } = def; + // if opted in to CMR availability, get granule date ranges if needed + if ((cmrAvailability || dataAvailability === 'cmr') && !def.granuleDateRanges) { + const worker = new Worker('js/workers/cmr.worker.js'); + worker.onmessage = (event) => { + worker.terminate(); + store.dispatch(addGranuleDateRanges(def, event.data)); + }; + worker.onerror = () => { + worker.terminate(); + }; + worker.postMessage({ operation: 'getLayerGranuleRanges', args: [def] }); + } + // if opted in to DescribeDomains availability, get granule date ranges if needed + if (dataAvailability === 'dd' && !def.granuleDateRanges) { + const worker = new Worker('js/workers/dd.worker.js'); + worker.onmessage = (event) => { + if (Array.isArray(event.data)) { // our final format is an array + worker.terminate(); // terminate the worker + return store.dispatch(addGranuleDateRanges(def, event.data)); // dispatch the action + } + // DOMParser is not available in workers so we parse the xml on the main thread before sending it back to the worker + const parser = new DOMParser(); + const xmlDoc = parser.parseFromString(event.data, 'text/xml'); + const domains = xmlDoc.querySelector('Domain').textContent; + worker.postMessage({ operation: 'mergeDomains', args: [domains, 60_000] }); + }; + worker.onerror = () => { + worker.terminate(); + }; + const params = { + startDate: new Date(def.startDate).toISOString(), + endDate: def.endDate ? new Date(def.endDate).toISOString() : new Date().toISOString(), + id, + proj: proj.crs, + }; + worker.postMessage({ operation: 'requestDescribeDomains', args: [params] }); + } + }; /** * Create a new OpenLayers Layer @@ -1126,7 +1172,6 @@ export default function mapLayerBuilder(config, cache, store) { const proj = state.proj.selected; const { breakPointLayer, - cmrAvailability, id, opacity, period, @@ -1139,18 +1184,8 @@ export default function mapLayerBuilder(config, cache, store) { let { date } = dateOptions; let layer = cache.getItem(key); const isGranule = type === 'granule'; - // if opted in to CMR availability, get granule date ranges if needed - if (cmrAvailability && !def.granuleDateRanges) { - const worker = new Worker('js/workers/cmr.worker.js'); - worker.onmessage = (event) => { - worker.terminate(); - store.dispatch(addGranuleDateRanges(def, event.data)); - }; - worker.onerror = () => { - worker.terminate(); - }; - worker.postMessage({ funcName: 'getLayerGranuleRanges', args: [def] }); - } + + addTimeRanges(def); if (!layer || isGranule || def.type === 'titiler') { if (!date) date = options.date || getSelectedDate(state); diff --git a/web/js/workers/cmr.worker.js b/web/js/workers/cmr.worker.js index b0b60ddadd..4e40544f4d 100644 --- a/web/js/workers/cmr.worker.js +++ b/web/js/workers/cmr.worker.js @@ -113,6 +113,6 @@ const functions = { onmessage = async (event) => { const { data } = event; - const result = await functions[data.funcName]?.(...data.args); + const result = await functions[data.operation]?.(...data.args); postMessage(result); }; diff --git a/web/js/workers/dd.worker.js b/web/js/workers/dd.worker.js new file mode 100644 index 0000000000..3ffc5cff17 --- /dev/null +++ b/web/js/workers/dd.worker.js @@ -0,0 +1,134 @@ +const projDict = { + 'EPSG:4326': 'epsg4326', + 'EPSG:3413': 'epsg3413', + 'EPSG:3031': 'epsg3031', +}; + +/** + * @method requestDescribeDomains + * @param {object} params + * @returns {string} describeDomainsText + * @description + * Request DescribeDomains from GIBS + */ +async function requestDescribeDomains(params) { + const { + id, + startDate, + endDate, + proj, + } = params; + + const describeDomainsUrl = `https://gibs.earthdata.nasa.gov/wmts/${projDict[proj]}/best/1.0.0/${id}/default/250m/all/${startDate.split('T')[0]}--${endDate.split('T')[0]}.xml`; + const describeDomainsResponse = await fetch(describeDomainsUrl); + const describeDomainsText = await describeDomainsResponse.text(); + return describeDomainsText; +} + +/** + * @method makeTime + * @param {string} date + * @returns {number} time + * @description + * Convert date to time +*/ +function makeTime(date) { + return new Date(date).getTime(); +} + +/** + * @method makeDateString + * @param {number} time + * @returns {string} dateString + * @description + * Convert time to date string +*/ +function makeDateString(time) { + return new Date(time).toISOString(); +} + +/** + * @method periodToTime + * @param {string} period + * @returns {number} time + * @description + * Convert period to time +*/ +function periodToTime(period) { + const oneMinute = 60_000; + const oneHour = 3_600_000; + const oneDay = 86_400_000; + const lookup = { + M: oneMinute, + H: oneHour, + D: oneDay, + }; + const match = period.match(/[0-9]+/i); + const number = Number(match[0]); + const unit = period.at(-1); + const time = number * lookup[unit]; + + if (Number.isNaN(time)) return 360_000; + + return time; +} + +/** + * @method mergeDomains + * @param {array} domains + * @param {number} timeBuffer + * @returns {array} mergedDateRanges + * @description + * Merge overlapping date ranges +*/ +function mergeDomains(domains, timeBuffer) { + const dateRanges = domains.split(',').map((range) => range.split('/')); + + const mergedDateRanges = dateRanges.reduce((acc, [start, end, period]) => { + // convert start and end to time values + const startTime = makeTime(start); + let endTime = makeTime(end); + + // if start and end are the same, add period + if (startTime === endTime) { + endTime += periodToTime(period); + } + + if (!acc.length) return [[makeDateString(startTime), makeDateString(endTime)]]; // add the first range to the accumulator + + // round start time down and end time up by a set time to account for small range gaps + const bufferedStartTime = startTime - timeBuffer; + const bufferedEndTime = endTime + timeBuffer; + + const lastRangeEndTime = makeTime(acc.at(-1)[1]); + const lastRangeStartTime = makeTime(acc.at(-1)[0]); + + if ((bufferedStartTime >= lastRangeStartTime && bufferedStartTime <= lastRangeEndTime) && (bufferedEndTime >= lastRangeStartTime && bufferedEndTime <= lastRangeEndTime)) { // within current range, ignore + return acc; + } + + if (bufferedStartTime > lastRangeEndTime) { // discontinuous, add new range + return [...acc, [makeDateString(startTime), makeDateString(endTime)]]; + } + + if (bufferedStartTime <= lastRangeEndTime && bufferedEndTime > lastRangeEndTime) { // intersects current range, merge + return acc.with(-1, [acc.at(-1)[0], makeDateString(endTime)]); + } + + return acc; + }, []); + + return mergedDateRanges; +} + + +const functions = { + requestDescribeDomains, + mergeDomains, +}; + +onmessage = async (event) => { + const { data } = event; + const result = await functions[data.operation]?.(...data.args); + postMessage(result); +}; From 259f891bff03fd8aedd080744600ad171c3cca78 Mon Sep 17 00:00:00 2001 From: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Fri, 4 Oct 2024 13:32:16 -0400 Subject: [PATCH 02/12] chore: update dependencies (#5494) --- package-lock.json | 1080 +++++++++++++++++++++++++-------------------- package.json | 16 +- 2 files changed, 602 insertions(+), 494 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7d38a5eca6..c831c77c82 100644 --- a/package-lock.json +++ b/package-lock.json @@ -79,12 +79,12 @@ "what-input": "^5.2.12" }, "devDependencies": { - "@babel/core": "^7.25.2", - "@babel/eslint-parser": "^7.25.1", - "@babel/plugin-transform-class-properties": "^7.25.4", - "@babel/plugin-transform-private-methods": "^7.24.7", - "@babel/preset-env": "^7.25.4", - "@babel/preset-react": "^7.24.7", + "@babel/core": "^7.25.7", + "@babel/eslint-parser": "^7.25.7", + "@babel/plugin-transform-class-properties": "^7.25.7", + "@babel/plugin-transform-private-methods": "^7.25.7", + "@babel/preset-env": "^7.25.7", + "@babel/preset-react": "^7.25.7", "@playwright/test": "^1.47.2", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", "@webpack-cli/serve": "^2.0.5", @@ -102,7 +102,7 @@ "eslint-config-airbnb": "^19.0.4", "eslint-config-standard": "^17.1.0", "eslint-import-resolver-webpack": "^0.13.9", - "eslint-plugin-import": "^2.30.0", + "eslint-plugin-import": "^2.31.0", "eslint-plugin-jest": "^28.8.3", "eslint-plugin-jsx-a11y": "^6.10.0", "eslint-plugin-n": "^17.10.3", @@ -128,7 +128,7 @@ "react-test-renderer": "^18.3.0", "redux-mock-store": "^1.5.4", "run-script-os": "^1.1.6", - "sass": "^1.79.3", + "sass": "^1.79.4", "sass-loader": "^16.0.2", "shelljs": "^0.8.5", "showdown": "^2.1.0", @@ -170,10 +170,11 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", + "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", "dependencies": { - "@babel/highlight": "^7.24.7", + "@babel/highlight": "^7.25.7", "picocolors": "^1.0.0" }, "engines": { @@ -181,26 +182,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.4", - "license": "MIT", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.7.tgz", + "integrity": "sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.25.2", - "license": "MIT", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.7.tgz", + "integrity": "sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-module-transforms": "^7.25.2", - "@babel/helpers": "^7.25.0", - "@babel/parser": "^7.25.0", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.2", - "@babel/types": "^7.25.2", + "@babel/code-frame": "^7.25.7", + "@babel/generator": "^7.25.7", + "@babel/helper-compilation-targets": "^7.25.7", + "@babel/helper-module-transforms": "^7.25.7", + "@babel/helpers": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/template": "^7.25.7", + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -216,9 +219,10 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.25.1", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.7.tgz", + "integrity": "sha512-B+BO9x86VYsQHimucBAL1fxTJKF4wyKY6ZVzee9QgzdZOUfs3BaR6AQrgoGrRI+7IFS1wUz/VyQ+SoBcSpdPbw==", "dev": true, - "license": "MIT", "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", @@ -233,13 +237,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.25.5", - "license": "MIT", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", + "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", "dependencies": { - "@babel/types": "^7.25.4", + "@babel/types": "^7.25.7", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" @@ -258,35 +263,38 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz", + "integrity": "sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.7.tgz", + "integrity": "sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.2", - "license": "MIT", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", + "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", "dependencies": { - "@babel/compat-data": "^7.25.2", - "@babel/helper-validator-option": "^7.24.8", - "browserslist": "^4.23.1", + "@babel/compat-data": "^7.25.7", + "@babel/helper-validator-option": "^7.25.7", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -306,16 +314,17 @@ "license": "ISC" }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.4", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.7.tgz", + "integrity": "sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.8", - "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/helper-replace-supers": "^7.25.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/traverse": "^7.25.4", + "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-member-expression-to-functions": "^7.25.7", + "@babel/helper-optimise-call-expression": "^7.25.7", + "@babel/helper-replace-supers": "^7.25.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", + "@babel/traverse": "^7.25.7", "semver": "^6.3.1" }, "engines": { @@ -326,12 +335,13 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.25.2", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.7.tgz", + "integrity": "sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "regexpu-core": "^5.3.1", + "@babel/helper-annotate-as-pure": "^7.25.7", + "regexpu-core": "^6.1.1", "semver": "^6.3.1" }, "engines": { @@ -357,36 +367,39 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.24.8", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.7.tgz", + "integrity": "sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.8" + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", + "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.25.2", - "license": "MIT", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", + "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7", - "@babel/traverse": "^7.25.2" + "@babel/helper-module-imports": "^7.25.7", + "@babel/helper-simple-access": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", + "@babel/traverse": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -396,32 +409,35 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.7.tgz", + "integrity": "sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.8", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", + "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.25.0", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.7.tgz", + "integrity": "sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-wrap-function": "^7.25.0", - "@babel/traverse": "^7.25.0" + "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-wrap-function": "^7.25.7", + "@babel/traverse": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -431,13 +447,14 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.25.0", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.7.tgz", + "integrity": "sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.24.8", - "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/traverse": "^7.25.0" + "@babel/helper-member-expression-to-functions": "^7.25.7", + "@babel/helper-optimise-call-expression": "^7.25.7", + "@babel/traverse": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -447,78 +464,86 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", + "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.7.tgz", + "integrity": "sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "license": "MIT", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", + "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", + "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.24.8", - "license": "MIT", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", + "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.25.0", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.7.tgz", + "integrity": "sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.0", - "@babel/types": "^7.25.0" + "@babel/template": "^7.25.7", + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.25.0", - "license": "MIT", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz", + "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==", "dependencies": { - "@babel/template": "^7.25.0", - "@babel/types": "^7.25.0" + "@babel/template": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", + "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", + "@babel/helper-validator-identifier": "^7.25.7", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" @@ -528,10 +553,11 @@ } }, "node_modules/@babel/parser": { - "version": "7.25.4", - "license": "MIT", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.7.tgz", + "integrity": "sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==", "dependencies": { - "@babel/types": "^7.25.4" + "@babel/types": "^7.25.7" }, "bin": { "parser": "bin/babel-parser.js" @@ -541,12 +567,13 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.3", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.7.tgz", + "integrity": "sha512-UV9Lg53zyebzD1DwQoT9mzkEKa922LNUp5YkTJ6Uta0RbyXaQNUgcvSt7qIu1PpPzVb6rd10OVNTzkyBGeVmxQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.3" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/traverse": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -556,11 +583,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.0", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.7.tgz", + "integrity": "sha512-GDDWeVLNxRIkQTnJn2pDOM1pkCgYdSqPeT1a9vh9yIqu2uzzgw1zcqEb+IJOhy+dTBMlNdThrDIksr2o09qrrQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -570,11 +598,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.0", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.7.tgz", + "integrity": "sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -584,13 +613,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.7.tgz", + "integrity": "sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/plugin-transform-optional-chaining": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", + "@babel/plugin-transform-optional-chaining": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -600,12 +630,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.0", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.7.tgz", + "integrity": "sha512-UVATLMidXrnH+GMUIuxq55nejlj02HP7F5ETyBONzP6G87fPBogG4CH6kxrSrdIuAjdwNO9VzyaYsrZPscWUrw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.0" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/traverse": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -660,8 +691,9 @@ }, "node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -674,8 +706,9 @@ }, "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -685,8 +718,9 @@ }, "node_modules/@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, @@ -695,11 +729,12 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz", + "integrity": "sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -709,11 +744,12 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz", + "integrity": "sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -745,11 +781,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", + "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -826,8 +863,9 @@ }, "node_modules/@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -882,11 +920,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.7.tgz", + "integrity": "sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -896,14 +935,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.4", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.7.tgz", + "integrity": "sha512-4B6OhTrwYKHYYgcwErvZjbmH9X5TxQBsaBHdzEIB4l71gR5jh/tuHGlb9in47udL2+wVUcOz5XXhhfhVJwEpEg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-remap-async-to-generator": "^7.25.7", "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/traverse": "^7.25.4" + "@babel/traverse": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -913,13 +953,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.7.tgz", + "integrity": "sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-remap-async-to-generator": "^7.24.7" + "@babel/helper-module-imports": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-remap-async-to-generator": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -929,11 +970,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.7.tgz", + "integrity": "sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -943,11 +985,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.25.0", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.7.tgz", + "integrity": "sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -957,12 +1000,13 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.25.4", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.7.tgz", + "integrity": "sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.4", - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-create-class-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -972,12 +1016,13 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.7.tgz", + "integrity": "sha512-rvUUtoVlkDWtDWxGAiiQj0aNktTPn3eFynBcMC2IhsXweehwgdI9ODe+XjWw515kEmv22sSOTp/rxIRuTiB7zg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -988,15 +1033,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.4", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.7.tgz", + "integrity": "sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-replace-supers": "^7.25.0", - "@babel/traverse": "^7.25.4", + "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-compilation-targets": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-replace-supers": "^7.25.7", + "@babel/traverse": "^7.25.7", "globals": "^11.1.0" }, "engines": { @@ -1007,12 +1053,13 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.7.tgz", + "integrity": "sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/template": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/template": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1022,11 +1069,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.8", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.7.tgz", + "integrity": "sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1036,12 +1084,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.7.tgz", + "integrity": "sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1051,11 +1100,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.7.tgz", + "integrity": "sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1065,12 +1115,13 @@ } }, "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.0", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.7.tgz", + "integrity": "sha512-HvS6JF66xSS5rNKXLqkk7L9c/jZ/cdIVIcoPVrnl8IsVpLggTjXs8OWekbLHs/VtYDDh5WXnQyeE3PPUGm22MA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.0", - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-create-regexp-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1080,11 +1131,12 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.7.tgz", + "integrity": "sha512-UvcLuual4h7/GfylKm2IAA3aph9rwvAM2XBA0uPKU3lca+Maai4jBjjEVUS568ld6kJcgbouuumCBhMd/Yz17w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { @@ -1095,12 +1147,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.7.tgz", + "integrity": "sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1110,11 +1163,12 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.7.tgz", + "integrity": "sha512-h3MDAP5l34NQkkNulsTNyjdaR+OiB0Im67VU//sFupouP8Q6m9Spy7l66DcaAQxtmCqGdanPByLsnwFttxKISQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -1125,12 +1179,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.7.tgz", + "integrity": "sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1140,13 +1195,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.25.1", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.7.tgz", + "integrity": "sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.1" + "@babel/helper-compilation-targets": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/traverse": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1156,11 +1212,12 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.7.tgz", + "integrity": "sha512-Ot43PrL9TEAiCe8C/2erAjXMeVSnE/BLEx6eyrKLNFCCw5jvhTHKyHxdI1pA0kz5njZRYAnMO2KObGqOCRDYSA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -1171,11 +1228,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.25.2", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.7.tgz", + "integrity": "sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1185,11 +1243,12 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.7.tgz", + "integrity": "sha512-iImzbA55BjiovLyG2bggWS+V+OLkaBorNvc/yJoeeDQGztknRnDdYfp2d/UPmunZYEnZi6Lg8QcTmNMHOB0lGA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -1200,11 +1259,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.7.tgz", + "integrity": "sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1214,12 +1274,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.7.tgz", + "integrity": "sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-module-transforms": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1229,13 +1290,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.8", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.7.tgz", + "integrity": "sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.24.8", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-simple-access": "^7.24.7" + "@babel/helper-module-transforms": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-simple-access": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1245,14 +1307,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.25.0", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.7.tgz", + "integrity": "sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.0", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "@babel/traverse": "^7.25.0" + "@babel/helper-module-transforms": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", + "@babel/traverse": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1262,12 +1325,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.7.tgz", + "integrity": "sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-module-transforms": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1277,12 +1341,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.7.tgz", + "integrity": "sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1292,11 +1357,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.7.tgz", + "integrity": "sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1306,11 +1372,12 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.7.tgz", + "integrity": "sha512-FbuJ63/4LEL32mIxrxwYaqjJxpbzxPVQj5a+Ebrc8JICV6YX8nE53jY+K0RZT3um56GoNWgkS2BQ/uLGTjtwfw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -1321,11 +1388,12 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.7.tgz", + "integrity": "sha512-8CbutzSSh4hmD+jJHIA8vdTNk15kAzOnFLVVgBSMGr28rt85ouT01/rezMecks9pkU939wDInImwCKv4ahU4IA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -1336,14 +1404,15 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.7.tgz", + "integrity": "sha512-1JdVKPhD7Y5PvgfFy0Mv2brdrolzpzSoUq2pr6xsR+m+3viGGeHEokFKsCgOkbeFOQxfB1Vt2F0cPJLRpFI4Zg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-compilation-targets": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.7" + "@babel/plugin-transform-parameters": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1353,12 +1422,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.7.tgz", + "integrity": "sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-replace-supers": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-replace-supers": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1368,11 +1438,12 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.7.tgz", + "integrity": "sha512-m9obYBA39mDPN7lJzD5WkGGb0GO54PPLXsbcnj1Hyeu8mSRz7Gb4b1A6zxNX32ZuUySDK4G6it8SDFWD1nCnqg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -1383,12 +1454,13 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.8", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.7.tgz", + "integrity": "sha512-h39agClImgPWg4H8mYVAbD1qP9vClFbEjqoJmt87Zen8pjqK8FTPUwrOXAvqu5soytwxrLMd2fx2KSCp2CHcNg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { @@ -1399,11 +1471,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.7.tgz", + "integrity": "sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1413,12 +1486,13 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.25.4", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.7.tgz", + "integrity": "sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.4", - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-create-class-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1428,13 +1502,14 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.7.tgz", + "integrity": "sha512-LzA5ESzBy7tqj00Yjey9yWfs3FKy4EmJyKOSWld144OxkTji81WWnUT8nkLUn+imN/zHL8ZQlOu/MTUAhHaX3g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-create-class-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -1445,11 +1520,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.7.tgz", + "integrity": "sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1459,11 +1535,12 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.7.tgz", + "integrity": "sha512-r0QY7NVU8OnrwE+w2IWiRom0wwsTbjx4+xH2RTd7AVdof3uurXOF+/mXHQDRk+2jIvWgSaCHKMgggfvM4dyUGA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1473,15 +1550,16 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.7.tgz", + "integrity": "sha512-vILAg5nwGlR9EXE8JIOX4NHXd49lrYbN8hnjffDtoULwpL9hUx/N55nqh2qd0q6FyNDfjl9V79ecKGvFbcSA0Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-jsx": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-module-imports": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/plugin-syntax-jsx": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1491,11 +1569,12 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.7.tgz", + "integrity": "sha512-5yd3lH1PWxzW6IZj+p+Y4OLQzz0/LzlOG8vGqonHfVR3euf1vyzyMUJk9Ac+m97BH46mFc/98t9PmYLyvgL3qg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.24.7" + "@babel/plugin-transform-react-jsx": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1505,12 +1584,13 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.7.tgz", + "integrity": "sha512-6YTHJ7yjjgYqGc8S+CbEXhLICODk0Tn92j+vNJo07HFk9t3bjFgAKxPLFhHwF2NjmQVSI1zBRfBWUeVBa2osfA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1520,11 +1600,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.7.tgz", + "integrity": "sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", "regenerator-transform": "^0.15.2" }, "engines": { @@ -1535,11 +1616,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.7.tgz", + "integrity": "sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1549,11 +1631,12 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.7.tgz", + "integrity": "sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1563,12 +1646,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.7.tgz", + "integrity": "sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1578,11 +1662,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.7.tgz", + "integrity": "sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1592,11 +1677,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.7.tgz", + "integrity": "sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1606,11 +1692,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.8", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.7.tgz", + "integrity": "sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1620,11 +1707,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.7.tgz", + "integrity": "sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1634,12 +1722,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.7.tgz", + "integrity": "sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1649,12 +1738,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.7.tgz", + "integrity": "sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1664,12 +1754,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.25.4", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.7.tgz", + "integrity": "sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.2", - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-create-regexp-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1679,27 +1770,28 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.25.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.25.4", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-validator-option": "^7.24.8", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.7.tgz", + "integrity": "sha512-Gibz4OUdyNqqLj+7OAvBZxOD7CklCtMA5/j0JgUEwOnaRULsPDXmic2iKxL2DX2vQduPR5wH2hjZas/Vr/Oc0g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.25.7", + "@babel/helper-compilation-targets": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-validator-option": "^7.25.7", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.7", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.7", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.24.7", - "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-assertions": "^7.25.7", + "@babel/plugin-syntax-import-attributes": "^7.25.7", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -1711,60 +1803,60 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.24.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.4", - "@babel/plugin-transform-async-to-generator": "^7.24.7", - "@babel/plugin-transform-block-scoped-functions": "^7.24.7", - "@babel/plugin-transform-block-scoping": "^7.25.0", - "@babel/plugin-transform-class-properties": "^7.25.4", - "@babel/plugin-transform-class-static-block": "^7.24.7", - "@babel/plugin-transform-classes": "^7.25.4", - "@babel/plugin-transform-computed-properties": "^7.24.7", - "@babel/plugin-transform-destructuring": "^7.24.8", - "@babel/plugin-transform-dotall-regex": "^7.24.7", - "@babel/plugin-transform-duplicate-keys": "^7.24.7", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", - "@babel/plugin-transform-dynamic-import": "^7.24.7", - "@babel/plugin-transform-exponentiation-operator": "^7.24.7", - "@babel/plugin-transform-export-namespace-from": "^7.24.7", - "@babel/plugin-transform-for-of": "^7.24.7", - "@babel/plugin-transform-function-name": "^7.25.1", - "@babel/plugin-transform-json-strings": "^7.24.7", - "@babel/plugin-transform-literals": "^7.25.2", - "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", - "@babel/plugin-transform-member-expression-literals": "^7.24.7", - "@babel/plugin-transform-modules-amd": "^7.24.7", - "@babel/plugin-transform-modules-commonjs": "^7.24.8", - "@babel/plugin-transform-modules-systemjs": "^7.25.0", - "@babel/plugin-transform-modules-umd": "^7.24.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", - "@babel/plugin-transform-new-target": "^7.24.7", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", - "@babel/plugin-transform-numeric-separator": "^7.24.7", - "@babel/plugin-transform-object-rest-spread": "^7.24.7", - "@babel/plugin-transform-object-super": "^7.24.7", - "@babel/plugin-transform-optional-catch-binding": "^7.24.7", - "@babel/plugin-transform-optional-chaining": "^7.24.8", - "@babel/plugin-transform-parameters": "^7.24.7", - "@babel/plugin-transform-private-methods": "^7.25.4", - "@babel/plugin-transform-private-property-in-object": "^7.24.7", - "@babel/plugin-transform-property-literals": "^7.24.7", - "@babel/plugin-transform-regenerator": "^7.24.7", - "@babel/plugin-transform-reserved-words": "^7.24.7", - "@babel/plugin-transform-shorthand-properties": "^7.24.7", - "@babel/plugin-transform-spread": "^7.24.7", - "@babel/plugin-transform-sticky-regex": "^7.24.7", - "@babel/plugin-transform-template-literals": "^7.24.7", - "@babel/plugin-transform-typeof-symbol": "^7.24.8", - "@babel/plugin-transform-unicode-escapes": "^7.24.7", - "@babel/plugin-transform-unicode-property-regex": "^7.24.7", - "@babel/plugin-transform-unicode-regex": "^7.24.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", + "@babel/plugin-transform-arrow-functions": "^7.25.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.7", + "@babel/plugin-transform-async-to-generator": "^7.25.7", + "@babel/plugin-transform-block-scoped-functions": "^7.25.7", + "@babel/plugin-transform-block-scoping": "^7.25.7", + "@babel/plugin-transform-class-properties": "^7.25.7", + "@babel/plugin-transform-class-static-block": "^7.25.7", + "@babel/plugin-transform-classes": "^7.25.7", + "@babel/plugin-transform-computed-properties": "^7.25.7", + "@babel/plugin-transform-destructuring": "^7.25.7", + "@babel/plugin-transform-dotall-regex": "^7.25.7", + "@babel/plugin-transform-duplicate-keys": "^7.25.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.7", + "@babel/plugin-transform-dynamic-import": "^7.25.7", + "@babel/plugin-transform-exponentiation-operator": "^7.25.7", + "@babel/plugin-transform-export-namespace-from": "^7.25.7", + "@babel/plugin-transform-for-of": "^7.25.7", + "@babel/plugin-transform-function-name": "^7.25.7", + "@babel/plugin-transform-json-strings": "^7.25.7", + "@babel/plugin-transform-literals": "^7.25.7", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.7", + "@babel/plugin-transform-member-expression-literals": "^7.25.7", + "@babel/plugin-transform-modules-amd": "^7.25.7", + "@babel/plugin-transform-modules-commonjs": "^7.25.7", + "@babel/plugin-transform-modules-systemjs": "^7.25.7", + "@babel/plugin-transform-modules-umd": "^7.25.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.7", + "@babel/plugin-transform-new-target": "^7.25.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.7", + "@babel/plugin-transform-numeric-separator": "^7.25.7", + "@babel/plugin-transform-object-rest-spread": "^7.25.7", + "@babel/plugin-transform-object-super": "^7.25.7", + "@babel/plugin-transform-optional-catch-binding": "^7.25.7", + "@babel/plugin-transform-optional-chaining": "^7.25.7", + "@babel/plugin-transform-parameters": "^7.25.7", + "@babel/plugin-transform-private-methods": "^7.25.7", + "@babel/plugin-transform-private-property-in-object": "^7.25.7", + "@babel/plugin-transform-property-literals": "^7.25.7", + "@babel/plugin-transform-regenerator": "^7.25.7", + "@babel/plugin-transform-reserved-words": "^7.25.7", + "@babel/plugin-transform-shorthand-properties": "^7.25.7", + "@babel/plugin-transform-spread": "^7.25.7", + "@babel/plugin-transform-sticky-regex": "^7.25.7", + "@babel/plugin-transform-template-literals": "^7.25.7", + "@babel/plugin-transform-typeof-symbol": "^7.25.7", + "@babel/plugin-transform-unicode-escapes": "^7.25.7", + "@babel/plugin-transform-unicode-property-regex": "^7.25.7", + "@babel/plugin-transform-unicode-regex": "^7.25.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.7", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.37.1", + "core-js-compat": "^3.38.1", "semver": "^6.3.1" }, "engines": { @@ -1788,16 +1880,17 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.7.tgz", + "integrity": "sha512-GjV0/mUEEXpi1U5ZgDprMRRgajGMRW3G5FjMr5KLKD8nT2fTG8+h/klV3+6Dm5739QE+K5+2e91qFKAYI3pmRg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "@babel/plugin-transform-react-display-name": "^7.24.7", - "@babel/plugin-transform-react-jsx": "^7.24.7", - "@babel/plugin-transform-react-jsx-development": "^7.24.7", - "@babel/plugin-transform-react-pure-annotations": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-validator-option": "^7.25.7", + "@babel/plugin-transform-react-display-name": "^7.25.7", + "@babel/plugin-transform-react-jsx": "^7.25.7", + "@babel/plugin-transform-react-jsx-development": "^7.25.7", + "@babel/plugin-transform-react-pure-annotations": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1806,11 +1899,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "dev": true, - "license": "MIT" - }, "node_modules/@babel/runtime": { "version": "7.23.2", "license": "MIT", @@ -1822,26 +1910,28 @@ } }, "node_modules/@babel/template": { - "version": "7.25.0", - "license": "MIT", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", + "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.25.0", - "@babel/types": "^7.25.0" + "@babel/code-frame": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.25.4", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.4", - "@babel/parser": "^7.25.4", - "@babel/template": "^7.25.0", - "@babel/types": "^7.25.4", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", + "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", + "dependencies": { + "@babel/code-frame": "^7.25.7", + "@babel/generator": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/template": "^7.25.7", + "@babel/types": "^7.25.7", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -1850,11 +1940,12 @@ } }, "node_modules/@babel/types": { - "version": "7.25.4", - "license": "MIT", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.7.tgz", + "integrity": "sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==", "dependencies": { - "@babel/helper-string-parser": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", + "@babel/helper-string-parser": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -5013,7 +5104,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.3", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", + "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", "funding": [ { "type": "opencollective", @@ -5028,10 +5121,9 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", + "caniuse-lite": "^1.0.30001663", + "electron-to-chromium": "^1.5.28", "node-releases": "^2.0.18", "update-browserslist-db": "^1.1.0" }, @@ -5176,7 +5268,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001651", + "version": "1.0.30001667", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001667.tgz", + "integrity": "sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==", "funding": [ { "type": "opencollective", @@ -5190,8 +5284,7 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ], - "license": "CC-BY-4.0" + ] }, "node_modules/chalk": { "version": "2.4.2", @@ -6842,8 +6935,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.5", - "license": "ISC" + "version": "1.5.32", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.32.tgz", + "integrity": "sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==" }, "node_modules/element-resize-detector": { "version": "1.2.4", @@ -7438,9 +7532,10 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.11.0", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -7455,8 +7550,9 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -7499,9 +7595,10 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.30.0", + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", "dev": true, - "license": "MIT", "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.8", @@ -7511,7 +7608,7 @@ "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.9.0", + "eslint-module-utils": "^2.12.0", "hasown": "^2.0.2", "is-core-module": "^2.15.1", "is-glob": "^4.0.3", @@ -7520,13 +7617,14 @@ "object.groupby": "^1.0.3", "object.values": "^1.2.0", "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", "tsconfig-paths": "^3.15.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" } }, "node_modules/eslint-plugin-import/node_modules/debug": { @@ -11765,13 +11863,14 @@ } }, "node_modules/jsesc": { - "version": "2.5.2", - "license": "MIT", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/json-buffer": { @@ -15156,13 +15255,15 @@ }, "node_modules/regenerate": { "version": "1.4.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", "dev": true, - "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -15176,8 +15277,9 @@ }, "node_modules/regenerator-transform": { "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" } @@ -15210,14 +15312,15 @@ } }, "node_modules/regexpu-core": { - "version": "5.3.2", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz", + "integrity": "sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.11.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" }, @@ -15225,24 +15328,24 @@ "node": ">=4" } }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true + }, "node_modules/regjsparser": { - "version": "0.9.1", + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.0.tgz", + "integrity": "sha512-vTbzVAjQDzwQdKuvj7qEq6OlAprCjE656khuGQ4QaBLg7abQ9I9ISpmLuc6inWe7zP75AECjqUa4g4sdQvOXhg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "jsesc": "~0.5.0" + "jsesc": "~3.0.2" }, "bin": { "regjsparser": "bin/parser" } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, "node_modules/require-directory": { "version": "2.1.1", "dev": true, @@ -15498,9 +15601,10 @@ "license": "MIT" }, "node_modules/sass": { - "version": "1.79.3", + "version": "1.79.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.4.tgz", + "integrity": "sha512-K0QDSNPXgyqO4GZq2HO5Q70TLxTH6cIT59RdoCHMivrC8rqzaTw5ab9prjz9KUN1El4FLXrBXJhik61JR4HcGg==", "dev": true, - "license": "MIT", "dependencies": { "chokidar": "^4.0.0", "immutable": "^4.0.0", @@ -17342,17 +17446,19 @@ } }, "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, - "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -17362,17 +17468,19 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } diff --git a/package.json b/package.json index b021f5c0c1..34150bd52c 100644 --- a/package.json +++ b/package.json @@ -77,12 +77,12 @@ "upload": "node tasks/util/upload.js" }, "devDependencies": { - "@babel/core": "^7.25.2", - "@babel/eslint-parser": "^7.25.1", - "@babel/plugin-transform-class-properties": "^7.25.4", - "@babel/plugin-transform-private-methods": "^7.24.7", - "@babel/preset-env": "^7.25.4", - "@babel/preset-react": "^7.24.7", + "@babel/core": "^7.25.7", + "@babel/eslint-parser": "^7.25.7", + "@babel/plugin-transform-class-properties": "^7.25.7", + "@babel/plugin-transform-private-methods": "^7.25.7", + "@babel/preset-env": "^7.25.7", + "@babel/preset-react": "^7.25.7", "@playwright/test": "^1.47.2", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", "@webpack-cli/serve": "^2.0.5", @@ -100,7 +100,7 @@ "eslint-config-airbnb": "^19.0.4", "eslint-config-standard": "^17.1.0", "eslint-import-resolver-webpack": "^0.13.9", - "eslint-plugin-import": "^2.30.0", + "eslint-plugin-import": "^2.31.0", "eslint-plugin-jest": "^28.8.3", "eslint-plugin-jsx-a11y": "^6.10.0", "eslint-plugin-n": "^17.10.3", @@ -126,7 +126,7 @@ "react-test-renderer": "^18.3.0", "redux-mock-store": "^1.5.4", "run-script-os": "^1.1.6", - "sass": "^1.79.3", + "sass": "^1.79.4", "sass-loader": "^16.0.2", "shelljs": "^0.8.5", "showdown": "^2.1.0", From 868e5e11d216eef50127a0e70667125e7f0bd1a6 Mon Sep 17 00:00:00 2001 From: christof-wittreich Date: Thu, 10 Oct 2024 12:04:13 -0400 Subject: [PATCH 03/12] UI Changes (#5496) --- web/js/components/util/arrow.js | 2 +- web/scss/components/checkbox.scss | 2 +- web/scss/components/dateselector.scss | 3 +++ web/scss/features/palettes.scss | 9 ++++++++- web/scss/features/sidebar-panel.scss | 2 +- web/scss/features/sidebar.scss | 1 + web/scss/globals.scss | 4 ++++ 7 files changed, 19 insertions(+), 4 deletions(-) diff --git a/web/js/components/util/arrow.js b/web/js/components/util/arrow.js index f2af282dd8..8a0e20e99c 100644 --- a/web/js/components/util/arrow.js +++ b/web/js/components/util/arrow.js @@ -17,7 +17,7 @@ function Arrow({ className={isKioskModeActive ? 'd-none' : containerClassName} data-interval={type} > - + ); } diff --git a/web/scss/components/checkbox.scss b/web/scss/components/checkbox.scss index 2c088ff9d3..9142143137 100644 --- a/web/scss/components/checkbox.scss +++ b/web/scss/components/checkbox.scss @@ -27,7 +27,7 @@ position: absolute; background-color: #1d67e3; left: 0; - top: 2px; + top: 6px; pointer-events: none; width: 11px; height: 11px; diff --git a/web/scss/components/dateselector.scss b/web/scss/components/dateselector.scss index 9e4850cce5..df1fe3d9f2 100644 --- a/web/scss/components/dateselector.scss +++ b/web/scss/components/dateselector.scss @@ -115,6 +115,9 @@ .zoom-level-change-arrows .date-arrows { height: 13px; + margin-top: -5px; + padding-bottom: 20px; + margin-bottom: 5px; } .wv-date-selector-widget .date-arrows svg, diff --git a/web/scss/features/palettes.scss b/web/scss/features/palettes.scss index 20c2e13511..4c44931e77 100644 --- a/web/scss/features/palettes.scss +++ b/web/scss/features/palettes.scss @@ -10,6 +10,9 @@ margin-right: 10px; color: #000; margin-bottom: 1px; + min-height: 41px; + display: flex; + align-items: center; } .wv-palette-selector-row label { @@ -194,10 +197,14 @@ width: 13px; display: inline-block; border: 1px solid #000; - margin: 0 2px 4px; + margin: 2px; position: relative; } +.wv-palettes-legend .wv-palettes-class { + margin: 0 2px 4px; +} + .wv-running .wv-palettes-class { opacity: 0.25; } diff --git a/web/scss/features/sidebar-panel.scss b/web/scss/features/sidebar-panel.scss index 931636cce0..828094d7fa 100644 --- a/web/scss/features/sidebar-panel.scss +++ b/web/scss/features/sidebar-panel.scss @@ -583,7 +583,7 @@ li.item.productsitem.inmotion, .productsitem.layer-hidden .layer-info h4, .productsitem.layer-hidden .layer-info p { - color: #D1D1D1; + color: #A1A1A1; font-weight: 300; } diff --git a/web/scss/features/sidebar.scss b/web/scss/features/sidebar.scss index 6193802eea..f642a9a44c 100644 --- a/web/scss/features/sidebar.scss +++ b/web/scss/features/sidebar.scss @@ -834,6 +834,7 @@ p.recharts-tooltip-label { display: inline; text-transform: capitalize; margin-left: 5px; + color: inherit; } } } diff --git a/web/scss/globals.scss b/web/scss/globals.scss index d2259d7b65..92b0f27354 100644 --- a/web/scss/globals.scss +++ b/web/scss/globals.scss @@ -1,3 +1,7 @@ +* { + font-synthesis-weight: none; +} + .red-font { color: $wv-orange; } From b61d7c8173f1c11eb906fc36dd4c45755f37d511 Mon Sep 17 00:00:00 2001 From: christof-wittreich Date: Thu, 10 Oct 2024 12:04:44 -0400 Subject: [PATCH 04/12] Overrided dependency (#5497) --- package-lock.json | 36 ++++++++++++++++++++++++++++++------ package.json | 3 +++ 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index c831c77c82..1551dfd2e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5794,7 +5794,9 @@ "license": "MIT" }, "node_modules/cookie": { - "version": "0.6.0", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", "dev": true, "license": "MIT", "engines": { @@ -5818,7 +5820,9 @@ } }, "node_modules/core-js": { - "version": "3.22.3", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", + "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==", "hasInstallScript": true, "license": "MIT", "funding": { @@ -8227,7 +8231,9 @@ } }, "node_modules/express": { - "version": "4.21.0", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", "dev": true, "license": "MIT", "dependencies": { @@ -8236,7 +8242,7 @@ "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.6.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -8380,6 +8386,8 @@ }, "node_modules/fetch-mock": { "version": "9.11.0", + "resolved": "https://registry.npmjs.org/fetch-mock/-/fetch-mock-9.11.0.tgz", + "integrity": "sha512-PG1XUv+x7iag5p/iNHD4/jdpxL9FtVSqRMUQhPab4hVDt80T1MH5ehzVrL2IdXO9Q2iBggArFvPqjUbHFuI58Q==", "license": "MIT", "dependencies": { "@babel/core": "^7.0.0", @@ -8432,8 +8440,13 @@ } }, "node_modules/fetch-mock/node_modules/path-to-regexp": { - "version": "2.4.0", - "license": "MIT" + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } }, "node_modules/file-entry-cache": { "version": "6.0.1", @@ -12162,6 +12175,8 @@ }, "node_modules/lodash.sortby": { "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", "license": "MIT" }, "node_modules/lodash.truncate": { @@ -14451,6 +14466,9 @@ }, "node_modules/querystring": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", "license": "MIT", "engines": { "node": ">=0.4.x" @@ -17209,6 +17227,8 @@ }, "node_modules/tr46": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", "license": "MIT", "dependencies": { "punycode": "^2.1.0" @@ -18191,6 +18211,8 @@ }, "node_modules/whatwg-url": { "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "license": "MIT", "dependencies": { "lodash.sortby": "^4.7.0", @@ -18200,6 +18222,8 @@ }, "node_modules/whatwg-url/node_modules/webidl-conversions": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", "license": "BSD-2-Clause" }, "node_modules/which": { diff --git a/package.json b/package.json index 34150bd52c..3e1e635e97 100644 --- a/package.json +++ b/package.json @@ -226,6 +226,9 @@ "eslint-config-standard": { "eslint-plugin-n": "^17.1.0" }, + "fetch-mock-jest": { + "path-to-regexp": "^8.0.0" + }, "ws": "^8.17.1" }, "browserslist": [ From d76da006c4d4e805d6430b735de35b4d8cd95cda Mon Sep 17 00:00:00 2001 From: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Thu, 10 Oct 2024 15:18:27 -0400 Subject: [PATCH 05/12] WV-3368 backup eic links (#5495) * legacy mode eic * Refactor layer-data-eic.js: Remove unused thermal anomaly layers This commit removes the unused thermal anomaly layers, VIIRS_NOAA21_Thermal_Anomalies_375m_All and VIIRS_NOAA20_Thermal_Anomalies_375m_All, from the layersToMeasure, layerPixelData, and bestDates arrays in the layer-data-eic.js file. These layers are no longer needed and can be safely removed. --- .../tile-measurement/utils/layer-data-eic.js | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/web/js/mapUI/components/kiosk/tile-measurement/utils/layer-data-eic.js b/web/js/mapUI/components/kiosk/tile-measurement/utils/layer-data-eic.js index a852949fd7..be37aca47a 100644 --- a/web/js/mapUI/components/kiosk/tile-measurement/utils/layer-data-eic.js +++ b/web/js/mapUI/components/kiosk/tile-measurement/utils/layer-data-eic.js @@ -20,6 +20,11 @@ export const layersToMeasure = [ 'CERES_EBAF_TOA_Shortwave_Flux_All_Sky_Monthly', 'TEMPO_L3_NO2_Vertical_Column_Troposphere', 'TEMPO_L3_Ozone_Column_Amount', + 'VIIRS_NOAA20_DayNightBand_At_Sensor_Radiance', + 'VIIRS_NOAA20_DayNightBand_AtSensor_M15', + 'VIIRS_NOAA20_AOT_Deep_Blue_Best_Estimate', + 'VIIRS_NOAA20_AOT_Dark_Target_Land_Ocean', + 'VIIRS_NOAA21_CorrectedReflectance_TrueColor', ]; // Object that contains the black pixel % threshold for each layer @@ -45,6 +50,11 @@ export const layerPixelData = { CERES_EBAF_TOA_Shortwave_Flux_All_Sky_Monthly: { threshold: 0.01 }, TEMPO_L3_NO2_Vertical_Column_Troposphere: { threshold: 0.99 }, TEMPO_L3_Ozone_Column_Amount: { threshold: 0.99 }, + VIIRS_NOAA20_DayNightBand_At_Sensor_Radiance: { threshold: 0.45 }, + VIIRS_NOAA20_DayNightBand_AtSensor_M15: { threshold: 0.10 }, + VIIRS_NOAA20_AOT_Deep_Blue_Best_Estimate: { threshold: 0.90 }, + VIIRS_NOAA20_AOT_Dark_Target_Land_Ocean: { threshold: 0.90 }, + VIIRS_NOAA21_CorrectedReflectance_TrueColor: { threshold: 0.65 }, }; // Back-up dates for each layer in case no date is found that satisfies the full imagery threshold @@ -69,6 +79,11 @@ export const bestDates = { CERES_EBAF_TOA_Shortwave_Flux_All_Sky_Monthly: { date: '2023-10-30' }, TEMPO_L3_NO2_Vertical_Column_Troposphere: { date: '2024-06-03T17:00:00.000Z' }, TEMPO_L3_Ozone_Column_Amount: { date: '2024-06-03T17:00:00.000Z' }, + VIIRS_NOAA20_DayNightBand_At_Sensor_Radiance: { date: '2024-10-01' }, + VIIRS_NOAA20_DayNightBand_AtSensor_M15: { date: '2024-10-01' }, + VIIRS_NOAA20_AOT_Deep_Blue_Best_Estimate: { date: '2024-10-01' }, + VIIRS_NOAA20_AOT_Dark_Target_Land_Ocean: { date: '2024-10-01' }, + VIIRS_NOAA21_CorrectedReflectance_TrueColor: { date: '2024-10-01' }, }; export const travelModeData = { @@ -112,9 +127,21 @@ export const travelModeData = { title: 'Aerosol Optical Depth (AOD) by Suomi NPP satellite', }, 14: { - title: 'TEMPO L3 NO2 Vertical Column Troposphere', + title: 'Nitrogen Dioxide Vertical Column Troposphere (L3) by TEMPO satellite', }, 15: { - title: 'TEMPO L3 Ozone Column Amount', + title: 'Ozone Column Amount (L3) by TEMPO satellite', + }, + 16: { + title: 'Black Marble Nighttime At Sensor Radiance from NOAA-20 satellite', + }, + 17: { + title: 'Black Marble Nighttime Blue/Yellow Composite from NOAA-20 satellite', + }, + 18: { + title: 'Aerosol Optical Depth (AOD) by NOAA-20 satellite', + }, + 19: { + title: 'Active Fires detected by NOAA-21 satellite', }, }; From 5095a0de4101dc815be2fa633621e1972a54ab0d Mon Sep 17 00:00:00 2001 From: christof-wittreich Date: Fri, 11 Oct 2024 12:05:47 -0400 Subject: [PATCH 06/12] Dependency Updates 10-11-24 (#5508) --- package-lock.json | 626 ++++++++++++++++++++++++++++++++-------------- package.json | 16 +- 2 files changed, 453 insertions(+), 189 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1551dfd2e3..e185f073f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", "@khanisak/temperature-converter": "^2.0.1", - "@reduxjs/toolkit": "^2.2.7", + "@reduxjs/toolkit": "^2.2.8", "axios": "^1.7.7", "bluebird": "3.7.2", "bootstrap": "^5.3.3", @@ -62,7 +62,7 @@ "react-swipe-to-delete-component": "1.0.5", "react-visibility-sensor": "^5.1.1", "reactstrap": "^9.2.3", - "recharts": "^2.12.7", + "recharts": "^2.13.0", "redux": "^5.0.1", "redux-location-state": "^2.8.2", "redux-logger": "^3.0.6", @@ -79,13 +79,13 @@ "what-input": "^5.2.12" }, "devDependencies": { - "@babel/core": "^7.25.7", - "@babel/eslint-parser": "^7.25.7", + "@babel/core": "^7.25.8", + "@babel/eslint-parser": "^7.25.8", "@babel/plugin-transform-class-properties": "^7.25.7", "@babel/plugin-transform-private-methods": "^7.25.7", - "@babel/preset-env": "^7.25.7", + "@babel/preset-env": "^7.25.8", "@babel/preset-react": "^7.25.7", - "@playwright/test": "^1.47.2", + "@playwright/test": "^1.48.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", "@webpack-cli/serve": "^2.0.5", "ajv": "^8.17.1", @@ -105,7 +105,7 @@ "eslint-plugin-import": "^2.31.0", "eslint-plugin-jest": "^28.8.3", "eslint-plugin-jsx-a11y": "^6.10.0", - "eslint-plugin-n": "^17.10.3", + "eslint-plugin-n": "^17.11.1", "eslint-plugin-no-storage": "^1.0.2", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^6.6.0", @@ -128,7 +128,7 @@ "react-test-renderer": "^18.3.0", "redux-mock-store": "^1.5.4", "run-script-os": "^1.1.6", - "sass": "^1.79.4", + "sass": "^1.79.5", "sass-loader": "^16.0.2", "shelljs": "^0.8.5", "showdown": "^2.1.0", @@ -182,17 +182,19 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.7.tgz", - "integrity": "sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.8.tgz", + "integrity": "sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.7.tgz", - "integrity": "sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz", + "integrity": "sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==", + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.25.7", @@ -200,10 +202,10 @@ "@babel/helper-compilation-targets": "^7.25.7", "@babel/helper-module-transforms": "^7.25.7", "@babel/helpers": "^7.25.7", - "@babel/parser": "^7.25.7", + "@babel/parser": "^7.25.8", "@babel/template": "^7.25.7", "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7", + "@babel/types": "^7.25.8", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -219,10 +221,11 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.7.tgz", - "integrity": "sha512-B+BO9x86VYsQHimucBAL1fxTJKF4wyKY6ZVzee9QgzdZOUfs3BaR6AQrgoGrRI+7IFS1wUz/VyQ+SoBcSpdPbw==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.8.tgz", + "integrity": "sha512-Po3VLMN7fJtv0nsOjBDSbO1J71UhzShE9MuOSkWEV9IZQXzhZklYtzKZ8ZD/Ij3a0JBv1AG3Ny2L3jvAHQVOGg==", "dev": true, + "license": "MIT", "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", @@ -553,11 +556,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.7.tgz", - "integrity": "sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz", + "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.25.8" }, "bin": { "parser": "bin/babel-parser.js" @@ -689,45 +693,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-import-assertions": { "version": "7.25.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz", @@ -861,21 +826,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", "dev": true, @@ -935,14 +885,14 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.7.tgz", - "integrity": "sha512-4B6OhTrwYKHYYgcwErvZjbmH9X5TxQBsaBHdzEIB4l71gR5jh/tuHGlb9in47udL2+wVUcOz5XXhhfhVJwEpEg==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.8.tgz", + "integrity": "sha512-9ypqkozyzpG+HxlH4o4gdctalFGIjjdufzo7I2XPda0iBnZ6a+FO0rIEQcdSPXp02CkvGsII1exJhmROPQd5oA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7", "@babel/helper-remap-async-to-generator": "^7.25.7", - "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/traverse": "^7.25.7" }, "engines": { @@ -1016,14 +966,14 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.7.tgz", - "integrity": "sha512-rvUUtoVlkDWtDWxGAiiQj0aNktTPn3eFynBcMC2IhsXweehwgdI9ODe+XjWw515kEmv22sSOTp/rxIRuTiB7zg==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.8.tgz", + "integrity": "sha512-e82gl3TCorath6YLf9xUwFehVvjvfqFhdOo4+0iVIVju+6XOi5XHkqB3P2AXnSwoeTX0HBoXq5gJFtvotJzFnQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1131,13 +1081,13 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.7.tgz", - "integrity": "sha512-UvcLuual4h7/GfylKm2IAA3aph9rwvAM2XBA0uPKU3lca+Maai4jBjjEVUS568ld6kJcgbouuumCBhMd/Yz17w==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.8.tgz", + "integrity": "sha512-gznWY+mr4ZQL/EWPcbBQUP3BXS5FwZp8RUOw06BaRn8tQLzN4XLIxXejpHN9Qo8x8jjBmAAKp6FoS51AgkSA/A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1163,13 +1113,13 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.7.tgz", - "integrity": "sha512-h3MDAP5l34NQkkNulsTNyjdaR+OiB0Im67VU//sFupouP8Q6m9Spy7l66DcaAQxtmCqGdanPByLsnwFttxKISQ==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.8.tgz", + "integrity": "sha512-sPtYrduWINTQTW7FtOy99VCTWp4H23UX7vYcut7S4CIMEXU+54zKX9uCoGkLsWXteyaMXzVHgzWbLfQ1w4GZgw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1212,13 +1162,13 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.7.tgz", - "integrity": "sha512-Ot43PrL9TEAiCe8C/2erAjXMeVSnE/BLEx6eyrKLNFCCw5jvhTHKyHxdI1pA0kz5njZRYAnMO2KObGqOCRDYSA==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.8.tgz", + "integrity": "sha512-4OMNv7eHTmJ2YXs3tvxAfa/I43di+VcF+M4Wt66c88EAED1RoGaf1D64cL5FkRpNL+Vx9Hds84lksWvd/wMIdA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1243,13 +1193,13 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.7.tgz", - "integrity": "sha512-iImzbA55BjiovLyG2bggWS+V+OLkaBorNvc/yJoeeDQGztknRnDdYfp2d/UPmunZYEnZi6Lg8QcTmNMHOB0lGA==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.8.tgz", + "integrity": "sha512-f5W0AhSbbI+yY6VakT04jmxdxz+WsID0neG7+kQZbCOjuyJNdL5Nn4WIBm4hRpKnUcO9lP0eipUhFN12JpoH8g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1372,13 +1322,13 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.7.tgz", - "integrity": "sha512-FbuJ63/4LEL32mIxrxwYaqjJxpbzxPVQj5a+Ebrc8JICV6YX8nE53jY+K0RZT3um56GoNWgkS2BQ/uLGTjtwfw==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.8.tgz", + "integrity": "sha512-Z7WJJWdQc8yCWgAmjI3hyC+5PXIubH9yRKzkl9ZEG647O9szl9zvmKLzpbItlijBnVhTUf1cpyWBsZ3+2wjWPQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1388,13 +1338,13 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.7.tgz", - "integrity": "sha512-8CbutzSSh4hmD+jJHIA8vdTNk15kAzOnFLVVgBSMGr28rt85ouT01/rezMecks9pkU939wDInImwCKv4ahU4IA==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.8.tgz", + "integrity": "sha512-rm9a5iEFPS4iMIy+/A/PiS0QN0UyjPIeVvbU5EMZFKJZHt8vQnasbpo3T3EFcxzCeYO0BHfc4RqooCZc51J86Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1404,14 +1354,14 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.7.tgz", - "integrity": "sha512-1JdVKPhD7Y5PvgfFy0Mv2brdrolzpzSoUq2pr6xsR+m+3viGGeHEokFKsCgOkbeFOQxfB1Vt2F0cPJLRpFI4Zg==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.8.tgz", + "integrity": "sha512-LkUu0O2hnUKHKE7/zYOIjByMa4VRaV2CD/cdGz0AxU9we+VA3kDDggKEzI0Oz1IroG+6gUP6UmWEHBMWZU316g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.25.7" }, "engines": { @@ -1438,13 +1388,13 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.7.tgz", - "integrity": "sha512-m9obYBA39mDPN7lJzD5WkGGb0GO54PPLXsbcnj1Hyeu8mSRz7Gb4b1A6zxNX32ZuUySDK4G6it8SDFWD1nCnqg==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.8.tgz", + "integrity": "sha512-EbQYweoMAHOn7iJ9GgZo14ghhb9tTjgOc88xFgYngifx7Z9u580cENCV159M4xDh3q/irbhSjZVpuhpC2gKBbg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1454,14 +1404,14 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.7.tgz", - "integrity": "sha512-h39agClImgPWg4H8mYVAbD1qP9vClFbEjqoJmt87Zen8pjqK8FTPUwrOXAvqu5soytwxrLMd2fx2KSCp2CHcNg==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.8.tgz", + "integrity": "sha512-q05Bk7gXOxpTHoQ8RSzGSh/LHVB9JEIkKnk3myAWwZHnYiTGYtbdrYkIsS8Xyh4ltKf7GNUSgzs/6P2bJtBAQg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1475,6 +1425,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.7.tgz", "integrity": "sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -1502,15 +1453,15 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.7.tgz", - "integrity": "sha512-LzA5ESzBy7tqj00Yjey9yWfs3FKy4EmJyKOSWld144OxkTji81WWnUT8nkLUn+imN/zHL8ZQlOu/MTUAhHaX3g==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.8.tgz", + "integrity": "sha512-8Uh966svuB4V8RHHg0QJOB32QK287NBksJOByoKmHMp1TAobNniNalIkI2i5IPj5+S9NYCG4VIjbEuiSN8r+ow==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.7", "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1770,12 +1721,13 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.7.tgz", - "integrity": "sha512-Gibz4OUdyNqqLj+7OAvBZxOD7CklCtMA5/j0JgUEwOnaRULsPDXmic2iKxL2DX2vQduPR5wH2hjZas/Vr/Oc0g==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.8.tgz", + "integrity": "sha512-58T2yulDHMN8YMUxiLq5YmWUnlDCyY1FsHM+v12VMx+1/FlrUj5tY50iDCpofFQEM8fMYOaY9YRvym2jcjn1Dg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.7", + "@babel/compat-data": "^7.25.8", "@babel/helper-compilation-targets": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7", "@babel/helper-validator-option": "^7.25.7", @@ -1785,45 +1737,30 @@ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.7", "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.7", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-import-assertions": "^7.25.7", "@babel/plugin-syntax-import-attributes": "^7.25.7", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.25.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.8", "@babel/plugin-transform-async-to-generator": "^7.25.7", "@babel/plugin-transform-block-scoped-functions": "^7.25.7", "@babel/plugin-transform-block-scoping": "^7.25.7", "@babel/plugin-transform-class-properties": "^7.25.7", - "@babel/plugin-transform-class-static-block": "^7.25.7", + "@babel/plugin-transform-class-static-block": "^7.25.8", "@babel/plugin-transform-classes": "^7.25.7", "@babel/plugin-transform-computed-properties": "^7.25.7", "@babel/plugin-transform-destructuring": "^7.25.7", "@babel/plugin-transform-dotall-regex": "^7.25.7", "@babel/plugin-transform-duplicate-keys": "^7.25.7", "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.7", - "@babel/plugin-transform-dynamic-import": "^7.25.7", + "@babel/plugin-transform-dynamic-import": "^7.25.8", "@babel/plugin-transform-exponentiation-operator": "^7.25.7", - "@babel/plugin-transform-export-namespace-from": "^7.25.7", + "@babel/plugin-transform-export-namespace-from": "^7.25.8", "@babel/plugin-transform-for-of": "^7.25.7", "@babel/plugin-transform-function-name": "^7.25.7", - "@babel/plugin-transform-json-strings": "^7.25.7", + "@babel/plugin-transform-json-strings": "^7.25.8", "@babel/plugin-transform-literals": "^7.25.7", - "@babel/plugin-transform-logical-assignment-operators": "^7.25.7", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.8", "@babel/plugin-transform-member-expression-literals": "^7.25.7", "@babel/plugin-transform-modules-amd": "^7.25.7", "@babel/plugin-transform-modules-commonjs": "^7.25.7", @@ -1831,15 +1768,15 @@ "@babel/plugin-transform-modules-umd": "^7.25.7", "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.7", "@babel/plugin-transform-new-target": "^7.25.7", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.7", - "@babel/plugin-transform-numeric-separator": "^7.25.7", - "@babel/plugin-transform-object-rest-spread": "^7.25.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.8", + "@babel/plugin-transform-numeric-separator": "^7.25.8", + "@babel/plugin-transform-object-rest-spread": "^7.25.8", "@babel/plugin-transform-object-super": "^7.25.7", - "@babel/plugin-transform-optional-catch-binding": "^7.25.7", - "@babel/plugin-transform-optional-chaining": "^7.25.7", + "@babel/plugin-transform-optional-catch-binding": "^7.25.8", + "@babel/plugin-transform-optional-chaining": "^7.25.8", "@babel/plugin-transform-parameters": "^7.25.7", "@babel/plugin-transform-private-methods": "^7.25.7", - "@babel/plugin-transform-private-property-in-object": "^7.25.7", + "@babel/plugin-transform-private-property-in-object": "^7.25.8", "@babel/plugin-transform-property-literals": "^7.25.7", "@babel/plugin-transform-regenerator": "^7.25.7", "@babel/plugin-transform-reserved-words": "^7.25.7", @@ -1940,9 +1877,10 @@ } }, "node_modules/@babel/types": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.7.tgz", - "integrity": "sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz", + "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==", + "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.25.7", "@babel/helper-validator-identifier": "^7.25.7", @@ -3316,6 +3254,292 @@ "node": ">= 8" } }, + "node_modules/@parcel/watcher": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", + "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.4.1", + "@parcel/watcher-darwin-arm64": "2.4.1", + "@parcel/watcher-darwin-x64": "2.4.1", + "@parcel/watcher-freebsd-x64": "2.4.1", + "@parcel/watcher-linux-arm-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-musl": "2.4.1", + "@parcel/watcher-linux-x64-glibc": "2.4.1", + "@parcel/watcher-linux-x64-musl": "2.4.1", + "@parcel/watcher-win32-arm64": "2.4.1", + "@parcel/watcher-win32-ia32": "2.4.1", + "@parcel/watcher-win32-x64": "2.4.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", + "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", + "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", + "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", + "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", + "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", + "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", + "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", + "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", + "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", + "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", + "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", + "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/@petamoriken/float16": { "version": "3.7.1", "license": "MIT" @@ -3330,11 +3554,13 @@ } }, "node_modules/@playwright/test": { - "version": "1.47.2", + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.48.0.tgz", + "integrity": "sha512-W5lhqPUVPqhtc/ySvZI5Q8X2ztBOUgZ8LbAFy0JQgrXZs2xaILrUcNO3rQjwbLPfGK13+rZsDa1FpG+tqYkT5w==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright": "1.47.2" + "playwright": "1.48.0" }, "bin": { "playwright": "cli.js" @@ -3430,7 +3656,9 @@ } }, "node_modules/@reduxjs/toolkit": { - "version": "2.2.7", + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.2.8.tgz", + "integrity": "sha512-eK/ieXftPRQfaBSmzsamXEyDwkntMTY0e9SG5ETsEOv5JIPKhu3mj992t6B8FJjlnSrZBAAqdT8oMkPe4j+P9g==", "license": "MIT", "dependencies": { "immer": "^10.0.3", @@ -6779,6 +7007,19 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/detect-newline": { "version": "3.1.0", "dev": true, @@ -7704,7 +7945,9 @@ } }, "node_modules/eslint-plugin-n": { - "version": "17.10.3", + "version": "17.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.11.1.tgz", + "integrity": "sha512-93IUD82N6tIEgjztVI/l3ElHtC2wTa9boJHrD8iN+NyDxjxz/daZUZKfkedjBZNdg6EqDk4irybUsiPwDqXAEA==", "dev": true, "license": "MIT", "dependencies": { @@ -12721,6 +12964,13 @@ "dev": true, "license": "MIT" }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT" + }, "node_modules/node-dir": { "version": "0.1.17", "dev": true, @@ -13686,11 +13936,13 @@ } }, "node_modules/playwright": { - "version": "1.47.2", + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.48.0.tgz", + "integrity": "sha512-qPqFaMEHuY/ug8o0uteYJSRfMGFikhUysk8ZvAtfKmUK3kc/6oNl/y3EczF8OFGYIi/Ex2HspMfzYArk6+XQSA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.47.2" + "playwright-core": "1.48.0" }, "bin": { "playwright": "cli.js" @@ -13703,7 +13955,9 @@ } }, "node_modules/playwright-core": { - "version": "1.47.2", + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.0.tgz", + "integrity": "sha512-RBvzjM9rdpP7UUFrQzRwR8L/xR4HyC1QXMzGYTbf1vjw25/ya9NRAVnXi/0fvFopjebvyPzsmoK58xxeEOaVvA==", "dev": true, "license": "Apache-2.0", "bin": { @@ -15150,13 +15404,15 @@ } }, "node_modules/recharts": { - "version": "2.12.7", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.13.0.tgz", + "integrity": "sha512-sbfxjWQ+oLWSZEWmvbq/DFVdeRLqqA6d0CDjKx2PkxVVdoXo16jvENCE+u/x7HxOO+/fwx//nYRwb8p8X6s/lQ==", "license": "MIT", "dependencies": { "clsx": "^2.0.0", "eventemitter3": "^4.0.1", "lodash": "^4.17.21", - "react-is": "^16.10.2", + "react-is": "^18.3.1", "react-smooth": "^4.0.0", "recharts-scale": "^0.4.4", "tiny-invariant": "^1.3.1", @@ -15184,6 +15440,12 @@ "node": ">=6" } }, + "node_modules/recharts/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" + }, "node_modules/rechoir": { "version": "0.6.2", "dev": true, @@ -15619,11 +15881,13 @@ "license": "MIT" }, "node_modules/sass": { - "version": "1.79.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.4.tgz", - "integrity": "sha512-K0QDSNPXgyqO4GZq2HO5Q70TLxTH6cIT59RdoCHMivrC8rqzaTw5ab9prjz9KUN1El4FLXrBXJhik61JR4HcGg==", + "version": "1.79.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.5.tgz", + "integrity": "sha512-W1h5kp6bdhqFh2tk3DsI771MoEJjvrSY/2ihJRJS4pjIyfJCw0nTsxqhnrUzaLMOJjFchj8rOvraI/YUVjtx5g==", "dev": true, + "license": "MIT", "dependencies": { + "@parcel/watcher": "^2.4.1", "chokidar": "^4.0.0", "immutable": "^4.0.0", "source-map-js": ">=0.6.2 <2.0.0" diff --git a/package.json b/package.json index 3e1e635e97..918c4460c3 100644 --- a/package.json +++ b/package.json @@ -77,13 +77,13 @@ "upload": "node tasks/util/upload.js" }, "devDependencies": { - "@babel/core": "^7.25.7", - "@babel/eslint-parser": "^7.25.7", + "@babel/core": "^7.25.8", + "@babel/eslint-parser": "^7.25.8", "@babel/plugin-transform-class-properties": "^7.25.7", "@babel/plugin-transform-private-methods": "^7.25.7", - "@babel/preset-env": "^7.25.7", + "@babel/preset-env": "^7.25.8", "@babel/preset-react": "^7.25.7", - "@playwright/test": "^1.47.2", + "@playwright/test": "^1.48.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", "@webpack-cli/serve": "^2.0.5", "ajv": "^8.17.1", @@ -103,7 +103,7 @@ "eslint-plugin-import": "^2.31.0", "eslint-plugin-jest": "^28.8.3", "eslint-plugin-jsx-a11y": "^6.10.0", - "eslint-plugin-n": "^17.10.3", + "eslint-plugin-n": "^17.11.1", "eslint-plugin-no-storage": "^1.0.2", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^6.6.0", @@ -126,7 +126,7 @@ "react-test-renderer": "^18.3.0", "redux-mock-store": "^1.5.4", "run-script-os": "^1.1.6", - "sass": "^1.79.4", + "sass": "^1.79.5", "sass-loader": "^16.0.2", "shelljs": "^0.8.5", "showdown": "^2.1.0", @@ -154,7 +154,7 @@ "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", "@khanisak/temperature-converter": "^2.0.1", - "@reduxjs/toolkit": "^2.2.7", + "@reduxjs/toolkit": "^2.2.8", "axios": "^1.7.7", "bluebird": "3.7.2", "bootstrap": "^5.3.3", @@ -198,7 +198,7 @@ "react-swipe-to-delete-component": "1.0.5", "react-visibility-sensor": "^5.1.1", "reactstrap": "^9.2.3", - "recharts": "^2.12.7", + "recharts": "^2.13.0", "redux": "^5.0.1", "redux-location-state": "^2.8.2", "redux-logger": "^3.0.6", From 6560f97d1ff96d1db9a1cf1fdda14ca2d9f48ecd Mon Sep 17 00:00:00 2001 From: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Fri, 11 Oct 2024 14:04:21 -0400 Subject: [PATCH 07/12] chore: Update TEMPO layer configurations (#5506) Update the TEMPO layer configurations to include the "shiftadjacentdays" property with a value of false. This property controls whether the granules should be shifted across the dateline. By setting it to false, the granules will no longer be shifted. This change ensures that the TEMPO layer configurations are aligned with the desired behavior. Refactor granuleLayerBuilder Refactor the granuleLayerBuilder function to include a check for the "shiftadjacentdays" property in the layer configuration definition. If the property is not present or is set to true, the granules will be shifted across the dateline as before. However, if the property is set to false, the granules will no longer be shifted. This change provides more flexibility in controlling the behavior of the granule layer builder. --- .../tempo/TEMPO_L2_Cloud_Cloud_Fraction_Total_Granule.json | 3 ++- .../tempo/TEMPO_L2_Cloud_Cloud_Pressure_Total_Granule.json | 4 ++-- .../tempo/TEMPO_L2_Formaldehyde_Vertical_Column_Granule.json | 4 ++-- .../TEMPO_L2_NO2_Vertical_Column_Stratosphere_Granule.json | 4 ++-- .../TEMPO_L2_NO2_Vertical_Column_Troposphere_Granule.json | 4 ++-- .../layers/tempo/TEMPO_L2_Ozone_Cloud_Fraction_Granule.json | 4 ++-- .../layers/tempo/TEMPO_L2_Ozone_Column_Amount_Granule.json | 4 ++-- .../layers/tempo/TEMPO_L2_Ozone_UV_Aerosol_Index_Granule.json | 4 ++-- .../layers/tempo/TEMPO_L3_Cloud_Cloud_Fraction_Total.json | 3 ++- .../layers/tempo/TEMPO_L3_Cloud_Cloud_Pressure_Total.json | 4 ++-- .../layers/tempo/TEMPO_L3_Formaldehyde_Vertical_Column.json | 4 ++-- .../tempo/TEMPO_L3_NO2_Vertical_Column_Stratosphere.json | 4 ++-- .../tempo/TEMPO_L3_NO2_Vertical_Column_Troposphere.json | 4 ++-- .../wv.json/layers/tempo/TEMPO_L3_Ozone_Cloud_Fraction.json | 4 ++-- .../wv.json/layers/tempo/TEMPO_L3_Ozone_Column_Amount.json | 4 ++-- .../wv.json/layers/tempo/TEMPO_L3_Ozone_UV_Aerosol_Index.json | 4 ++-- doc/config/layers.md | 2 +- web/js/map/granule/granule-layer-builder.js | 3 ++- 18 files changed, 35 insertions(+), 32 deletions(-) diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Cloud_Cloud_Fraction_Total_Granule.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Cloud_Cloud_Fraction_Total_Granule.json index 8aa472cca7..abd0e35b0d 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Cloud_Cloud_Fraction_Total_Granule.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Cloud_Cloud_Fraction_Total_Granule.json @@ -13,7 +13,8 @@ "count": 1, "dataAvailability": "dd", "startDate": "2024-05-13T10:41:03Z", - "disableSnapshot": true + "disableSnapshot": true, + "shiftadjacentdays": false } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Cloud_Cloud_Pressure_Total_Granule.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Cloud_Cloud_Pressure_Total_Granule.json index 8579f5d45b..fcd5741fe8 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Cloud_Cloud_Pressure_Total_Granule.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Cloud_Cloud_Pressure_Total_Granule.json @@ -13,8 +13,8 @@ "count": 1, "dataAvailability": "dd", "startDate": "2024-05-13T10:41:03Z", - "disableSnapshot": true - + "disableSnapshot": true, + "shiftadjacentdays": false } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Formaldehyde_Vertical_Column_Granule.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Formaldehyde_Vertical_Column_Granule.json index ae91fa2735..c55da13bef 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Formaldehyde_Vertical_Column_Granule.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Formaldehyde_Vertical_Column_Granule.json @@ -13,8 +13,8 @@ "count": 1, "dataAvailability": "dd", "startDate": "2024-05-13T10:41:03Z", - "disableSnapshot": true - + "disableSnapshot": true, + "shiftadjacentdays": false } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_NO2_Vertical_Column_Stratosphere_Granule.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_NO2_Vertical_Column_Stratosphere_Granule.json index 35bc063b7f..cbf73ddc1c 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_NO2_Vertical_Column_Stratosphere_Granule.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_NO2_Vertical_Column_Stratosphere_Granule.json @@ -13,8 +13,8 @@ "count": 1, "dataAvailability": "dd", "startDate": "2024-05-13T10:41:03Z", - "disableSnapshot": true - + "disableSnapshot": true, + "shiftadjacentdays": false } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_NO2_Vertical_Column_Troposphere_Granule.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_NO2_Vertical_Column_Troposphere_Granule.json index bd2ccf74b7..e5a60ea89b 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_NO2_Vertical_Column_Troposphere_Granule.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_NO2_Vertical_Column_Troposphere_Granule.json @@ -13,8 +13,8 @@ "count": 1, "dataAvailability": "dd", "startDate": "2024-05-13T10:41:03Z", - "disableSnapshot": true - + "disableSnapshot": true, + "shiftadjacentdays": false } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_Cloud_Fraction_Granule.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_Cloud_Fraction_Granule.json index aea95bf1ec..06bfc2f3af 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_Cloud_Fraction_Granule.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_Cloud_Fraction_Granule.json @@ -13,8 +13,8 @@ "count": 1, "dataAvailability": "dd", "startDate": "2024-05-13T10:41:03Z", - "disableSnapshot": true - + "disableSnapshot": true, + "shiftadjacentdays": false } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_Column_Amount_Granule.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_Column_Amount_Granule.json index 622252174e..8eb6f84e65 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_Column_Amount_Granule.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_Column_Amount_Granule.json @@ -13,8 +13,8 @@ "count": 1, "dataAvailability": "dd", "startDate": "2024-05-13T10:41:03Z", - "disableSnapshot": true - + "disableSnapshot": true, + "shiftadjacentdays": false } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_UV_Aerosol_Index_Granule.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_UV_Aerosol_Index_Granule.json index d896aa2480..360da65b9b 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_UV_Aerosol_Index_Granule.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L2_Ozone_UV_Aerosol_Index_Granule.json @@ -13,8 +13,8 @@ "count": 1, "dataAvailability": "dd", "startDate": "2024-05-13T10:41:03Z", - "disableSnapshot": true - + "disableSnapshot": true, + "shiftadjacentdays": false } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Cloud_Cloud_Fraction_Total.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Cloud_Cloud_Fraction_Total.json index 817fbe1a83..eafa96646c 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Cloud_Cloud_Fraction_Total.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Cloud_Cloud_Fraction_Total.json @@ -10,7 +10,8 @@ "layergroup": "Cloud Fraction", "dataAvailability": "dd", "startDate": "2024-05-13T10:30:00Z", - "disableSnapshot": true + "disableSnapshot": true, + "shiftadjacentdays": false } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Cloud_Cloud_Pressure_Total.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Cloud_Cloud_Pressure_Total.json index da9adb8607..3bda995ac2 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Cloud_Cloud_Pressure_Total.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Cloud_Cloud_Pressure_Total.json @@ -10,8 +10,8 @@ "layergroup": "Cloud Pressure", "dataAvailability": "dd", "startDate": "2024-05-13T10:30:00Z", - "disableSnapshot": true - + "disableSnapshot": true, + "shiftadjacentdays": false } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Formaldehyde_Vertical_Column.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Formaldehyde_Vertical_Column.json index db0cb02620..29a9baed55 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Formaldehyde_Vertical_Column.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Formaldehyde_Vertical_Column.json @@ -10,8 +10,8 @@ "layergroup": "Formaldehyde", "dataAvailability": "dd", "startDate": "2024-05-13T10:30:00Z", - "disableSnapshot": true - + "disableSnapshot": true, + "shiftadjacentdays": false } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_NO2_Vertical_Column_Stratosphere.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_NO2_Vertical_Column_Stratosphere.json index 7bbd709218..84e92f14f3 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_NO2_Vertical_Column_Stratosphere.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_NO2_Vertical_Column_Stratosphere.json @@ -10,8 +10,8 @@ "layergroup": "Nitrogen Dioxide", "dataAvailability": "dd", "startDate": "2024-05-13T10:30:00Z", - "disableSnapshot": true - + "disableSnapshot": true, + "shiftadjacentdays": false } } } diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_NO2_Vertical_Column_Troposphere.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_NO2_Vertical_Column_Troposphere.json index e9c02fd04a..99a7de6d2e 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_NO2_Vertical_Column_Troposphere.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_NO2_Vertical_Column_Troposphere.json @@ -10,8 +10,8 @@ "layergroup": "Nitrogen Dioxide", "dataAvailability": "dd", "startDate": "2024-05-13T10:30:00Z", - "disableSnapshot": true - + "disableSnapshot": true, + "shiftadjacentdays": false } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_Cloud_Fraction.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_Cloud_Fraction.json index 8fa481a1ea..ebdd404062 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_Cloud_Fraction.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_Cloud_Fraction.json @@ -10,8 +10,8 @@ "layergroup": "Ozone", "dataAvailability": "dd", "startDate": "2024-05-13T10:30:00Z", - "disableSnapshot": true - + "disableSnapshot": true, + "shiftadjacentdays": false } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_Column_Amount.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_Column_Amount.json index 8c1d85cea0..8693f9a20b 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_Column_Amount.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_Column_Amount.json @@ -10,8 +10,8 @@ "layergroup": "Ozone", "dataAvailability": "dd", "startDate": "2024-05-13T10:30:00Z", - "disableSnapshot": true - + "disableSnapshot": true, + "shiftadjacentdays": false } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_UV_Aerosol_Index.json b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_UV_Aerosol_Index.json index 5df8232b43..1dfd083eaa 100644 --- a/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_UV_Aerosol_Index.json +++ b/config/default/common/config/wv.json/layers/tempo/TEMPO_L3_Ozone_UV_Aerosol_Index.json @@ -10,8 +10,8 @@ "layergroup": "Aerosol Index", "dataAvailability": "dd", "startDate": "2024-05-13T10:30:00Z", - "disableSnapshot": true - + "disableSnapshot": true, + "shiftadjacentdays": false } } } \ No newline at end of file diff --git a/doc/config/layers.md b/doc/config/layers.md index 88bedaa2d2..5428706f90 100644 --- a/doc/config/layers.md +++ b/doc/config/layers.md @@ -112,8 +112,8 @@ Example: * dateInterval - Number of days (or minutes for subdaily layers) * **temporal**: Used to override the layer temporal availability declared in the capabilities document. Note: Changing the temporal availability can cause missing layer coverage within the interface for layers tiles that aren't available from the source at the revised temporal range. This option can be added as a string with the new availability range. For example, `"1981-10-13/2019-10-11/P1M"`. * **count**: Used to override the default number of granules displayed on the map and in the granule count slider component for granule layers. -* **cmrAvailability**: Boolean - Whether or not to use the CMR API for data availability. * **dataAvailability**: String - `cmr` or `dd`. Get the layer's data availability from either the CMR API or GIBS DescribeDomains request. +* **shiftadjacentdays**: Boolean - Whether or not to shift granules across the dateline when they're for an adjacent day. Defaults to `true` when `null` or `undefined`. ## Full Example diff --git a/web/js/map/granule/granule-layer-builder.js b/web/js/map/granule/granule-layer-builder.js index 5d7b8a8d7b..3d845d1b55 100644 --- a/web/js/map/granule/granule-layer-builder.js +++ b/web/js/map/granule/granule-layer-builder.js @@ -244,7 +244,8 @@ export default function granuleLayerBuilder(cache, store, createLayerWMTS) { const granuleAttributes = await getGranuleAttributes(def, options); const { visibleGranules } = granuleAttributes; - const granules = datelineShiftGranules(visibleGranules, date, crs); + const shouldShift = def.shiftadjacentdays ?? true; // defaults to true + const granules = shouldShift ? datelineShiftGranules(visibleGranules, date, crs) : visibleGranules; const tileLayers = new OlCollection(createGranuleTileLayers(granules, def, attributes)); granuleLayer.setLayers(tileLayers); granuleLayer.setExtent(crs === CRS.GEOGRAPHIC ? FULL_MAP_EXTENT : maxExtent); From fadbc4be82eaba30bd830745894d2ab2d3bcdad9 Mon Sep 17 00:00:00 2001 From: christof-wittreich Date: Fri, 11 Oct 2024 14:59:39 -0400 Subject: [PATCH 08/12] WV-3260: Node v20.18.0 (#5507) * Node 20.18.0 * Updated .nvmrc file * Updated .nvmrc to correct version --- .nvmrc | 2 +- Dockerfile | 2 +- package-lock.json | 2 +- package.json | 2 +- tasks/bamboo/linkReport.sh | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.nvmrc b/.nvmrc index 3876fd4986..2a393af592 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -18.16.1 +20.18.0 diff --git a/Dockerfile b/Dockerfile index 340c47f0f5..0baabf7d70 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,7 +19,7 @@ RUN dnf install -y epel-release && \ xz RUN mkdir -p /usr/local/nvm ENV NVM_DIR=/usr/local/nvm -ENV NODE_VERSION=20.16.0 +ENV NODE_VERSION=20.18.0 RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash && \ . "$NVM_DIR/nvm.sh" && \ nvm install v${NODE_VERSION} && \ diff --git a/package-lock.json b/package-lock.json index e185f073f0..f97862b0e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -148,7 +148,7 @@ "yargs": "^17.7.2" }, "engines": { - "node": ">= 20.16.0" + "node": ">= 20.18.0" } }, "node_modules/@aashutoshrathi/word-wrap": { diff --git a/package.json b/package.json index 918c4460c3..5c3459e797 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "license": "NASA-1.3", "repository": "nasa-gibs/worldview", "engines": { - "node": ">= 20.16.0" + "node": ">= 20.18.0" }, "scripts": { "analyze": "cross-env ANALYZE_MODE=true NODE_ENV=production webpack", diff --git a/tasks/bamboo/linkReport.sh b/tasks/bamboo/linkReport.sh index 7021219844..ea91d54e15 100755 --- a/tasks/bamboo/linkReport.sh +++ b/tasks/bamboo/linkReport.sh @@ -6,7 +6,7 @@ set -e -x # Install node.js -NODE_VERSION=v20.16.0 +NODE_VERSION=v20.18.0 curl -O https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-linux-x64.tar.gz tar xf node-${NODE_VERSION}-linux-x64.tar.gz && export PATH=$(pwd)/node-${NODE_VERSION}-linux-x64/bin:${PATH} From 7cb3cfb8759f87a6f7186ddec92dca75204f6418 Mon Sep 17 00:00:00 2001 From: christof-wittreich Date: Wed, 16 Oct 2024 12:20:15 -0400 Subject: [PATCH 09/12] WV-3117 Charting Feature Styling Updates (#5281) * Initial styling * Additional UI changes * Fixed tests * Disabled charting mode * Fixes WV-3275 * Fixed aoi issue * Squashed commit of the following: commit 259f891bff03fd8aedd080744600ad171c3cca78 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Fri Oct 4 13:32:16 2024 -0400 chore: update dependencies (#5494) commit 32fae68e6eb6fbb945da7a82c31b958bf712b899 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Fri Oct 4 09:30:37 2024 -0400 WV-3297 Replace CMR with DescribeDomains for DataAvailability (#5482) * feat: Update data availability in TEMPO layer configurations and support DescribeDomains for getting temporal data availability * chore: Add documentation * Refactor mergeDomains function to accept a time buffer parameter * Refactor createLayerWrapper function to extract time range logic into a separate function * Refactor addTimeRanges function to include project state and remove unnecessary variable assignment * chore: correct comment * chore: correct comment * Refactor time buffering logic in mapLayerBuilder.js and dd.worker.js * Refactor period conversion in dd.worker.js commit e0355d9e8f33f39eb769cd08024c547fbe88ffe3 Merge: 1d91f42b8 fa9cd0997 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Tue Oct 1 13:48:55 2024 -0400 Merge pull request #5485 from nasa-gibs/main Main into Develop v4.49.0 commit fa9cd0997a286de6d433f7ffa38e0d4befae3ba0 Merge: 61d8c06d0 b047fb03b Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Tue Oct 1 13:28:48 2024 -0400 Merge pull request #5484 from nasa-gibs/release Release to Main v4.49.0 commit b047fb03b39a04a455ac5480b195236468940942 Merge: 78b186a5b 61d8c06d0 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Tue Oct 1 13:27:01 2024 -0400 Merge branch 'main' into release commit 78b186a5bb584003e130da25b84ac01a12403fe8 Merge: 334bcad68 1d0b29b2d Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Tue Oct 1 11:51:51 2024 -0400 Merge pull request #5483 from nasa-gibs/UAT-v4.49.0 UAT-v4.49.0 to Release commit 1d0b29b2d94ebf5ec4276c6c35ae26d9b5cf9443 Merge: 397bae885 334bcad68 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Tue Oct 1 11:49:38 2024 -0400 Merge branch 'release' into UAT-v4.49.0 commit 397bae8854bbc5c1e1470954a444e3e3e68b5f49 Author: PatchesMaps Date: Tue Oct 1 11:44:52 2024 -0400 v4.49.0 commit 1d91f42b82ab77633e0f51379915317510c85fb9 Author: minniewong Date: Mon Sep 30 13:14:16 2024 -0400 Update MODIS_Combined_L3_IGBP_Land_Cover_Type_Annual.md (#5481) commit 5f2d89faa4afd1addc3fb8061731cbe34963c419 Author: christof-wittreich Date: Fri Sep 27 10:53:40 2024 -0400 Dependency Updates 09-27-24 (#5480) commit 42fd456c2083bd3f48189e011cd0f9add4fa3635 Author: christof-wittreich Date: Mon Sep 23 15:52:43 2024 -0400 Release to Main v4.48.0 (#5473) (#5474) * Dependency Updates 09-13-24 (#5462) * chore: Update npm dependencies to latest versions (#5470) * Update OPERA_L3_DIST-ALERT-HLS_Color_Index.json (#5471) * v4.48.0 --------- Co-authored-by: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Co-authored-by: minniewong commit 61d8c06d022e74a67a1b8785bb66749d1b308284 Merge: 0b234e7b9 c02d9f09c Author: christof-wittreich Date: Mon Sep 23 15:28:13 2024 -0400 Squashed commit of the following: commit c02d9f09ce767f626e29e6f6f624864cd82d6f98 Author: minniewong Date: Mon Sep 23 11:32:12 2024 -0400 Update OPERA_L3_DIST-ALERT-HLS_Color_Index.json (#5471) commit 36ba34affe60a5cead27a4e69e665b9db2d6a04e Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Mon Sep 23 09:21:07 2024 -0400 chore: Update npm dependencies to latest versions (#5470) commit f02f59a1d4926f3b48b68f796ec7d5bb50cee8ac Author: christof-wittreich Date: Mon Sep 16 19:28:37 2024 -0400 Dependency Updates 09-13-24 (#5462) commit b4e1d67ec38b794979d064cc344fe7d6ed0e4bac Merge: 06685b213 9554f6481 Author: christof-wittreich Date: Mon Sep 9 09:55:46 2024 -0400 Merge pull request #5452 from nasa-gibs/main Main to Develop v4.47.0 Merge branch 'develop' commit 0b234e7b980e32239871b4f74aa23c1916372102 Author: christof-wittreich Date: Mon Sep 23 15:23:13 2024 -0400 Release to Main v4.48.0 (#5473) * Dependency Updates 09-13-24 (#5462) * chore: Update npm dependencies to latest versions (#5470) * Update OPERA_L3_DIST-ALERT-HLS_Color_Index.json (#5471) * v4.48.0 --------- Co-authored-by: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Co-authored-by: minniewong commit 334bcad68a8d92d03e0683517d2f023106f023bc Merge: 1a07b8549 da008acc1 Author: christof-wittreich Date: Mon Sep 23 13:07:50 2024 -0400 Merge pull request #5472 from nasa-gibs/UAT-v4.48.0 UAT-v4.48.0 to Release commit da008acc14c1b7775d8095c8479f54a16e1513ba Author: christof-wittreich Date: Mon Sep 23 12:48:09 2024 -0400 v4.48.0 commit c02d9f09ce767f626e29e6f6f624864cd82d6f98 Author: minniewong Date: Mon Sep 23 11:32:12 2024 -0400 Update OPERA_L3_DIST-ALERT-HLS_Color_Index.json (#5471) commit 36ba34affe60a5cead27a4e69e665b9db2d6a04e Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Mon Sep 23 09:21:07 2024 -0400 chore: Update npm dependencies to latest versions (#5470) commit f02f59a1d4926f3b48b68f796ec7d5bb50cee8ac Author: christof-wittreich Date: Mon Sep 16 19:28:37 2024 -0400 Dependency Updates 09-13-24 (#5462) commit b4e1d67ec38b794979d064cc344fe7d6ed0e4bac Merge: 06685b213 9554f6481 Author: christof-wittreich Date: Mon Sep 9 09:55:46 2024 -0400 Merge pull request #5452 from nasa-gibs/main Main to Develop v4.47.0 commit 9554f6481df72f4973be873b4a42adedcee31226 Merge: 0826b426a 1a07b8549 Author: christof-wittreich Date: Mon Sep 9 09:33:04 2024 -0400 Merge pull request #5451 from nasa-gibs/release Release to Main v4.47.0 commit 1a07b8549100a1762941eb1a725dcfc343398f16 Merge: b1c67b32d ae121d5a3 Author: christof-wittreich Date: Fri Sep 6 10:51:10 2024 -0400 Merge pull request #5450 from nasa-gibs/UAT-v4.47.0 UAT-v4.47.0 to Release commit ae121d5a37e28740a1a3b0d40dd6138270b5822a Author: christof-wittreich Date: Fri Sep 6 10:49:37 2024 -0400 v4.47.0 commit 06685b213566b0781dcdf097080b994b29e9f869 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Fri Sep 6 10:15:52 2024 -0400 WV-3301 TEMPO Operations Loading Issues (#5435) * chore: Refactor layerbuilder to use workers to fetch and process CMR granule date ranges chore: Refactor UpdateProjection component to handle changes in active layers * fix: Update isWithinRanges function to return false when ranges are null. This prevents imagery from being shown before the CMR requests resolve. commit 98704bcdf1770dbc17283e40336fe9ed9ebce1de Author: christof-wittreich Date: Fri Sep 6 09:01:19 2024 -0400 Dependency Updates 09-06-24 (#5449) commit 2c63758c2a4bdfccea2d5a2bc6abe8d8a40a3457 Author: christof-wittreich Date: Thu Sep 5 15:52:48 2024 -0400 WV-3226 Look and Feel Changes (#5434) * Look and feel changes * Fixed linting * Review changes * Fixed e2e tests * Further review comments * Weight and checkbox fixes * Fixed checkbox check height * Spacing and background feedback * Changes from review meeting commit 37e4216e198d681ac7889313f3dfd88c52b32bf8 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Tue Sep 3 13:31:14 2024 -0400 chore: Update axios and eslint-plugin-jest dependencies to latest versions (#5436) commit 7939ae3ac8ebf1fb2b636259a5a6e6d232262518 Author: minniewong Date: Wed Aug 28 09:40:19 2024 -0400 WV-3208: Add NOAA-21/VIIRS fires (#5431) commit 20a14559bb733df3acf5278e223e8c453cc49b97 Author: christof-wittreich Date: Mon Aug 26 11:44:34 2024 -0400 Dependency Updates 08-23-24 (#5428) commit e90baf1dcdf58ddbca22b32ba5201bb15c953d7a Merge: 6326a746e 0826b426a Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Mon Aug 26 11:30:02 2024 -0400 Merge pull request #5430 from nasa-gibs/main main into develop commit 0826b426a6c6e00f2ae2c5a0e5c94ca7429db52c Merge: b713a6a2b b1c67b32d Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Mon Aug 26 11:08:26 2024 -0400 Merge pull request #5429 from nasa-gibs/release Release into main commit b1c67b32db6b393a943bd0cbbb3467c7e09068b0 Merge: ca607fc51 f98461c35 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Thu Aug 22 10:56:45 2024 -0400 Merge pull request #5417 from nasa-gibs/UAT-v4.46.0 UAT-v4.46.0 to Release commit f98461c35aafddee4d40113c93a0ffe52cc88781 Author: PatchesMaps Date: Thu Aug 22 10:51:20 2024 -0400 v4.46.0 commit 6326a746eb17c5de183d219fe9e3f848746ff154 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Fri Aug 16 16:49:26 2024 -0400 chore: Update npm dependencies to latest versions (#5416) commit 4457fd4764c4867bf4cf98fe1c8c10d707c10c70 Author: minniewong Date: Fri Aug 16 14:17:37 2024 -0400 Update README.md (#5415) commit 0d5512cd608fc20dc4d42aaa647ae26c7296b480 Author: christof-wittreich Date: Fri Aug 16 11:51:21 2024 -0400 Removed removal of layers (#5410) commit 09c2f217fcf12a5faa1a79296c856aa887fc1766 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Thu Aug 15 10:49:54 2024 -0400 Round Time for TEMPO granule requests (#5405) * chore: Refactor granuleLayerBuilder to use array of params for CMR request * refactor: set leadingEdgeDate to 59 seconds to make date handling more intuitive. commit 33d087ee0573bddad591b87b8e00a3fc7703f46e Author: christof-wittreich Date: Wed Aug 14 17:11:46 2024 -0400 Updated axios version (#5409) commit c2c861745983f124559f162e9af9632f72505ac4 Author: christof-wittreich Date: Wed Aug 14 15:41:34 2024 -0400 WV-2958 Additional Vegetation Indices (#5365) * Added other expressions * Changed colormaps * Adjusted selection card spacing * Added separate hls layers * fix typo * Revert "fix typo" This reverts commit 24bf1248d2bed544c416fe055a4e1a9d943553f5. * layer descriptions for new indices * update spacing for equations * Add new large preview images * Thumbnail preview images for customizable HLS * Thumbnails url * Fixed thumbnail height * fix typos --------- Co-authored-by: minniewong commit 128d33f5c13daf5f0eb44c330f52d208482085f2 Author: minniewong Date: Wed Aug 14 15:28:02 2024 -0400 WV-3293: Update README.md (#5408) commit 12695fe4c866d553de4d50cd282ebff50989ddb9 Author: minniewong Date: Wed Aug 14 11:18:48 2024 -0400 WV-2494: Add 4 GOES Fire Temp and Dust layers (#5407) commit 2be66fa578b1a58877ab3278ae28a86793d64596 Author: minniewong Date: Tue Aug 13 14:33:35 2024 -0400 WV-3287: Remove 20 day rolling window for EVI and NDVI rolling 8-day (#5401) * remove 20 day rolling window for EVI and NDVI rolling 8-day * fix repeated word typos commit 88f19d8760d0322baaf9dd970411188bb78c4805 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Tue Aug 13 11:18:12 2024 -0400 WV-3237 Alert users if snapshot exceeds GRANULE_LIMIT (#5394) * feat: Add warning for truncated granule dates in ImageDownloadPanel * fix: Fix missing semicolon in ImageDownloadPanel commit 7bc07900e88781bd149931b28e02ae2b67fa89e7 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Tue Aug 13 11:15:49 2024 -0400 WV-3035 Global Granule Footprints (#5406) * feat: Add CMR source and WebGL layer for displaying granules The code changes add a new CMR source and a WebGL layer to display granules on the map. This allows for fetching and rendering granule data from the CMR API. * refactor: Remove unnecessary condition in LayerRow component The code changes remove an unnecessary condition in the LayerRow component that checked for the 'underZoomValue' property of the 'zot' object. This condition was causing the component to be disabled even when there were granules present. Removing this condition ensures that the component is only disabled when there are no granules. * refactor: Use OL Vector Layer instead of WebGL Layer commit 4232035744a7af53dc0a079a60f453bbec4bf5cf Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Tue Aug 13 09:59:22 2024 -0400 WV-3246 Describe Domains (#5392) * initial work * fix: await processLayer in extractConfigFromWMTS.js * feat: only show "View Dates" in the layer info if the layer is not ongoing commit 1a63e18df573b4d68f48b3a58ed2c2a8211bb2e3 Author: christof-wittreich Date: Mon Aug 12 14:41:40 2024 -0400 Dependency Updates 08-09-24 (#5402) commit d2d6d4013bc03abcf0c2782887365eedbdd32a60 Merge: fcb5886ae b713a6a2b Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Mon Aug 12 10:32:04 2024 -0400 Merge pull request #5404 from nasa-gibs/main main into develop commit b713a6a2b27eebc54364882dbfc54d89e574ed33 Merge: ed93957e1 ca607fc51 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Mon Aug 12 10:14:19 2024 -0400 Merge pull request #5403 from nasa-gibs/release Release into main commit ca607fc510d6cf37f916e493c4cb024e068fab89 Merge: ebf1fd479 ed93957e1 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Mon Aug 12 10:13:37 2024 -0400 Merge branch 'main' into release commit ebf1fd479f3c7ce88e695c79bd70e6eeb384895d Merge: d8d60ef13 68019e3c0 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Thu Aug 8 13:06:45 2024 -0400 Merge pull request #5395 from nasa-gibs/UAT-v4.45.0 UAT-v4.45.0 to Release commit 68019e3c0f7bc6c39526d76f1c92e13cc955134b Merge: e0e707a41 d8d60ef13 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Thu Aug 8 11:41:31 2024 -0400 Merge branch 'release' into UAT-v4.45.0 commit e0e707a41647cdc7474dcafdad0e3d17804504e5 Author: PatchesMaps Date: Thu Aug 8 11:29:09 2024 -0400 v4.45.0 commit fcb5886aedd88a5efd7f764907c10d80ccebd47d Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Thu Aug 8 10:39:16 2024 -0400 refactor: Deduplicate granule data in getQueriedGranuleDates function (#5393) commit f5e6f32b10cfb3b5d59ab8660a7f37218f4a5593 Author: christof-wittreich Date: Thu Aug 8 09:50:30 2024 -0400 WV-3285 Pre-Caching Nearby Non-Subdaily Layers Fix (#5380) * Cleared time on request * Prevented subdaily layers from being time-stripped commit 1fb228e9e654c2103db3eab483457ff65cb54ec6 Author: christof-wittreich Date: Tue Aug 6 14:11:47 2024 -0400 Node 20.16.0 (#5391) commit 92ba0f572606abd21123d55527ac40b249e387fb Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Mon Aug 5 09:48:22 2024 -0400 Dependency Updates 08-05-2024 commit 750cbde263938de01adc4552e9143bb6bffda054 Author: christof-wittreich Date: Thu Aug 1 13:32:39 2024 -0400 Adjusted layers number in test (#5379) commit 7ddc284d340ed31aac1b21c090f225da8af47b9b Author: minniewong Date: Thu Aug 1 10:15:19 2024 -0400 WV-3186: Add SeaWiFS Corrected Reflectance layer (#5378) * Add SeaWiFS Corrected Reflectance layer * Update SEAWIFS_ORBVIEW-2_GAC_True_Color.md commit 16244a69c312e29c14e38a6b832a03abce2ec6cd Author: christof-wittreich Date: Wed Jul 31 11:06:59 2024 -0400 WV-3283 AERONET Daily Layer Date Limitting (#5377) * Prevented data from previous days showing * Changed to wrapX: false --------- Co-authored-by: minniewong commit 364d3e92d94080be8a14f81bb32c65ff008f85a9 Author: christof-wittreich Date: Tue Jul 30 10:50:07 2024 -0400 Fixed tall class addition (#5376) commit 903b2e83718a425b0c01fa574ee5eb5360fbc06c Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Mon Jul 29 15:52:48 2024 -0400 WV-3235-Support Time-Limited Display of TEMPO Imagery (#5363) * show granule only if selected date is within granule date range * Update action name for adding granule date ranges * Add functionality to retrieve and store granule date ranges * remove "cache: 'force-cache'" commit 7e719ff69c4c7cebbfe2d015fe15646c2fe2bd0b Author: christof-wittreich Date: Fri Jul 26 18:26:33 2024 -0400 Dependency Updates 07-26-24 (second) (#5375) * Dependency Updates 07-26-24 * Dependency Updates 07-26-24 (second) commit 4d9a99ffaf8f8ef9baa59b55f3ffc05841deecef Author: christof-wittreich Date: Fri Jul 26 11:48:39 2024 -0400 Dependency Updates 07-26-24 (#5373) commit 6c99f2e96246da802be115a8c39678287ac2a58f Author: minniewong Date: Wed Jul 24 13:17:23 2024 -0400 WV-3160: Add text on stray swaths (#5364) commit 86b9265306c6442e399311f10e5241b0391af384 Author: christof-wittreich Date: Mon Jul 22 16:41:32 2024 -0400 Main to Develop v4.44.0 (#5362) * UAT-v4.42.0 * Release to Main v4.42.0 (#5324) * WV-3177: Rename EOSDIS Worldview to NASA Worldview (#5316) * Remove EOSDIS * Update EOSDIS to ESDIS and LANCE acronyms * Updated eslint-plugin-n (#5317) * dependency updates * WV-3210 Distraction Free Timezone Fix (#5320) * Added kioskMode check for timezone label * Separated ternary statements * Update IMERG to version 7 (#5321) * UAT-v4.42.0 --------- Co-authored-by: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Co-authored-by: minniewong Co-authored-by: PatchesMaps * v4.43.0 * Release to Main v4.44.0 (#5361) * Main to Develop v4.43.0 (#5338) * UAT-v4.42.0 * Release to Main v4.42.0 (#5324) * WV-3177: Rename EOSDIS Worldview to NASA Worldview (#5316) * Remove EOSDIS * Update EOSDIS to ESDIS and LANCE acronyms * Updated eslint-plugin-n (#5317) * dependency updates * WV-3210 Distraction Free Timezone Fix (#5320) * Added kioskMode check for timezone label * Separated ternary statements * Update IMERG to version 7 (#5321) * UAT-v4.42.0 --------- Co-authored-by: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Co-authored-by: minniewong Co-authored-by: PatchesMaps * v4.43.0 --------- Co-authored-by: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Co-authored-by: minniewong Co-authored-by: PatchesMaps * Dependency Updates 07-12-234 (#5345) * Added check for non BEST layers in build (#5333) * WV-3104 GIBS API Link in Embed Tab (#5340) * Added api docs link * Simplified to a single class * WV-3154 Replace Social Tab with Citation Tab (#5346) * Changed the social tab to the citation tab * Changed citation to cite us & modified intro text * Fixed test * WV-3242 index out of bounds error (#5332) * only insert layers at valid index * only reload when new palette is AERONET * reload layers on change to rendered palettes * Dependency Updates 07-19-2024 (#5358) * Dependency Updates 07-19-2024 * revert sass bump * WV-3220 Smaller Extent BBox For Finding High-Resolution Imagery (#5347) * Added smallerExtent * Added getSmallerExtent reusable function * WV-3218: Update welcome.md to point users to the Worldview Image of the Week (#5359) * Update welcome.md * open link in new tab * v4.44.0 --------- Co-authored-by: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Co-authored-by: minniewong Co-authored-by: PatchesMaps * Merge branch 'develop' --------- Co-authored-by: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Co-authored-by: minniewong Co-authored-by: PatchesMaps commit ed93957e14c92790b8a910500650e5c5edfb27d3 Merge: 8a9140aa7 2c5ddc3d4 Author: christof-wittreich Date: Mon Jul 22 16:24:58 2024 -0400 Merge branch 'develop' into main commit 8a9140aa70b3c0dd8847f181e14af8f2ae143910 Author: christof-wittreich Date: Mon Jul 22 16:20:51 2024 -0400 Merge branch 'develop' commit 469a805e81ac2df52be7afee38f35e55c0aaa8a0 Author: christof-wittreich Date: Mon Jul 22 16:15:19 2024 -0400 Release to Main v4.44.0 (#5361) * Main to Develop v4.43.0 (#5338) * UAT-v4.42.0 * Release to Main v4.42.0 (#5324) * WV-3177: Rename EOSDIS Worldview to NASA Worldview (#5316) * Remove EOSDIS * Update EOSDIS to ESDIS and LANCE acronyms * Updated eslint-plugin-n (#5317) * dependency updates * WV-3210 Distraction Free Timezone Fix (#5320) * Added kioskMode check for timezone label * Separated ternary statements * Update IMERG to version 7 (#5321) * UAT-v4.42.0 --------- Co-authored-by: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Co-authored-by: minniewong Co-authored-by: PatchesMaps * v4.43.0 --------- Co-authored-by: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Co-authored-by: minniewong Co-authored-by: PatchesMaps * Dependency Updates 07-12-234 (#5345) * Added check for non BEST layers in build (#5333) * WV-3104 GIBS API Link in Embed Tab (#5340) * Added api docs link * Simplified to a single class * WV-3154 Replace Social Tab with Citation Tab (#5346) * Changed the social tab to the citation tab * Changed citation to cite us & modified intro text * Fixed test * WV-3242 index out of bounds error (#5332) * only insert layers at valid index * only reload when new palette is AERONET * reload layers on change to rendered palettes * Dependency Updates 07-19-2024 (#5358) * Dependency Updates 07-19-2024 * revert sass bump * WV-3220 Smaller Extent BBox For Finding High-Resolution Imagery (#5347) * Added smallerExtent * Added getSmallerExtent reusable function * WV-3218: Update welcome.md to point users to the Worldview Image of the Week (#5359) * Update welcome.md * open link in new tab * v4.44.0 --------- Co-authored-by: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Co-authored-by: minniewong Co-authored-by: PatchesMaps commit d8d60ef1374e9cde1768ae80fe449b7c499bfebf Merge: bb3758142 36396a516 Author: christof-wittreich Date: Mon Jul 22 14:29:15 2024 -0400 Merge pull request #5360 from nasa-gibs/UAT-v4.44.0 UAT-v4.44.0 to Release commit 36396a5161a46164ea1f70915fd03f229ce2e559 Merge: 0ee6edbe0 bb3758142 Author: christof-wittreich Date: Mon Jul 22 14:13:24 2024 -0400 Merge branch 'release' into UAT-v4.44.0 commit 0ee6edbe06ca759d406c7a416d970ac7edf9b224 Author: christof-wittreich Date: Mon Jul 22 14:11:08 2024 -0400 v4.44.0 commit 2c5ddc3d4d81f2ab3d07e7a83bc2578c87404df3 Author: minniewong Date: Mon Jul 22 13:29:25 2024 -0400 WV-3218: Update welcome.md to point users to the Worldview Image of the Week (#5359) * Update welcome.md * open link in new tab commit 92cbac8761618bb201c46ed2d1cede8fb37050bf Author: christof-wittreich Date: Mon Jul 22 11:18:30 2024 -0400 WV-3220 Smaller Extent BBox For Finding High-Resolution Imagery (#5347) * Added smallerExtent * Added getSmallerExtent reusable function commit ed339aac8b2d18d90a14f56a2a466110ff61fa67 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Fri Jul 19 12:06:08 2024 -0400 Dependency Updates 07-19-2024 (#5358) * Dependency Updates 07-19-2024 * revert sass bump commit 9d84b988d1fb613cd384e43072223a2463fea1ab Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Mon Jul 15 13:14:30 2024 -0400 WV-3242 index out of bounds error (#5332) * only insert layers at valid index * only reload when new palette is AERONET * reload layers on change to rendered palettes commit 2292ddca3467afd9d5586d22abf6ac39ee3e1593 Author: christof-wittreich Date: Mon Jul 15 12:38:01 2024 -0400 WV-3154 Replace Social Tab with Citation Tab (#5346) * Changed the social tab to the citation tab * Changed citation to cite us & modified intro text * Fixed test commit 1fadfedaf14dcd5c43e5f8c0aae9f21677a0d5fa Author: christof-wittreich Date: Mon Jul 15 12:16:23 2024 -0400 WV-3104 GIBS API Link in Embed Tab (#5340) * Added api docs link * Simplified to a single class commit 8b2f1ce4801cf1e7ab0afdcecb09c89a0945bfc0 Author: christof-wittreich Date: Mon Jul 15 12:16:06 2024 -0400 Added check for non BEST layers in build (#5333) commit d3ee1528f824bd138125415f9119398a9e056ab1 Author: christof-wittreich Date: Fri Jul 12 11:29:46 2024 -0400 Dependency Updates 07-12-234 (#5345) commit 0ae1902116181d18961f704b3bfe4ba141a70df2 Author: christof-wittreich Date: Wed Jul 10 08:51:40 2024 -0400 Main to Develop v4.43.0 (#5338) * UAT-v4.42.0 * Release to Main v4.42.0 (#5324) * WV-3177: Rename EOSDIS Worldview to NASA Worldview (#5316) * Remove EOSDIS * Update EOSDIS to ESDIS and LANCE acronyms * Updated eslint-plugin-n (#5317) * dependency updates * WV-3210 Distraction Free Timezone Fix (#5320) * Added kioskMode check for timezone label * Separated ternary statements * Update IMERG to version 7 (#5321) * UAT-v4.42.0 --------- Co-authored-by: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Co-authored-by: minniewong Co-authored-by: PatchesMaps * v4.43.0 --------- Co-authored-by: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Co-authored-by: minniewong Co-authored-by: PatchesMaps commit fa9c9b3c652e9df680ba995a0311e0bb566952c0 Merge: 8aacf3905 bb3758142 Author: christof-wittreich Date: Wed Jul 10 08:22:23 2024 -0400 Merge pull request #5337 from nasa-gibs/release Release to Main v4.43.0 commit bb37581429c1fe35b248cdd4f128d83960140fe6 Merge: 7b75707c4 8aacf3905 Author: christof-wittreich Date: Wed Jul 10 08:16:06 2024 -0400 Merge branch 'main' into release commit 7b75707c4209d8af0f3964b4a72919b39c834573 Merge: ab9646c92 21ed8e7ac Author: christof-wittreich Date: Tue Jul 9 15:31:16 2024 -0400 Merge pull request #5336 from nasa-gibs/UAT-v4.43.0 UAT-v4.43.0 to Release commit 21ed8e7acd4fee3003eebb14279c9b9a11c2cab7 Merge: e2ef65725 ab9646c92 Author: christof-wittreich Date: Tue Jul 9 15:23:58 2024 -0400 Merge branch 'release' into UAT-v4.43.0 commit e2ef657258f845679d4fcff1988dc61315c0fb59 Author: christof-wittreich Date: Tue Jul 9 15:21:33 2024 -0400 v4.43.0 commit 20a14054a413c4822798cc75145fb12a05c6e0ef Author: minniewong Date: Tue Jul 9 10:48:23 2024 -0400 WV-3060: Update DSWx version (#5335) * remove provisional for surface water extent * Updates for measurements, image and typo commit 50b64329c2b9cb23c7a45251c4a1f063632462d0 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Wed Jul 3 10:55:41 2024 -0400 check date's projection (#5322) commit 78f70f44e36059cdc5e9c141f9addb786fc318eb Author: christof-wittreich Date: Tue Jul 2 13:54:24 2024 -0400 Release to Main v4.42.0 (#5324) (#5325) * WV-3177: Rename EOSDIS Worldview to NASA Worldview (#5316) * Remove EOSDIS * Update EOSDIS to ESDIS and LANCE acronyms * Updated eslint-plugin-n (#5317) * dependency updates * WV-3210 Distraction Free Timezone Fix (#5320) * Added kioskMode check for timezone label * Separated ternary statements * Update IMERG to version 7 (#5321) * UAT-v4.42.0 --------- Co-authored-by: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Co-authored-by: minniewong Co-authored-by: PatchesMaps commit 8aacf3905b4f05431b43416b314b59c0233a2e65 Merge: 9e62e78c0 8c64c0bcf Author: christof-wittreich Date: Tue Jul 2 13:00:53 2024 -0400 Merge branch 'develop' into main commit 9e62e78c08cf9ecb1a0b30bab347192e62692e52 Author: christof-wittreich Date: Tue Jul 2 12:54:48 2024 -0400 Release to Main v4.42.0 (#5324) * WV-3177: Rename EOSDIS Worldview to NASA Worldview (#5316) * Remove EOSDIS * Update EOSDIS to ESDIS and LANCE acronyms * Updated eslint-plugin-n (#5317) * dependency updates * WV-3210 Distraction Free Timezone Fix (#5320) * Added kioskMode check for timezone label * Separated ternary statements * Update IMERG to version 7 (#5321) * UAT-v4.42.0 --------- Co-authored-by: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Co-authored-by: minniewong Co-authored-by: PatchesMaps commit ab9646c92ce88444412ce3601f07952ba3230c80 Merge: a810e4ba4 ab0b6fa9f Author: christof-wittreich Date: Mon Jul 1 15:27:47 2024 -0400 Merge pull request #5323 from nasa-gibs/UAT-v4.42.0 UAT-v4.42.0 to Release commit ab0b6fa9f1966e6f7e815d94d99c36968de257ab Author: christof-wittreich Date: Mon Jul 1 15:22:41 2024 -0400 UAT-v4.42.0 commit 8c64c0bcffeffbdf7c88a8255e26147100aed91c Author: minniewong Date: Mon Jul 1 13:00:10 2024 -0400 Update IMERG to version 7 (#5321) commit 919ffa04f734798332e1f4ad58cd0491dbb19fa2 Author: christof-wittreich Date: Mon Jul 1 11:39:02 2024 -0400 WV-3210 Distraction Free Timezone Fix (#5320) * Added kioskMode check for timezone label * Separated ternary statements commit 6ae8b4391e0aab32fcf887a6e7c0a2d41af90c6f Merge: 2b6a6d24c bd05608e2 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Fri Jun 28 15:55:40 2024 -0400 Merge pull request #5319 from nasa-gibs/dependency-updates-06-28-2024 Dependency Updates 06-28-2024 commit bd05608e2549e30d508c868931c1cdea1e22b465 Author: PatchesMaps Date: Fri Jun 28 15:35:50 2024 -0400 dependency updates commit 2b6a6d24c2988f9056aeea08087d3bbaa1cd03a3 Author: christof-wittreich Date: Thu Jun 27 15:17:40 2024 -0400 Updated eslint-plugin-n (#5317) commit 8255f668aacdb756b997f7982235feb00e9e3d4d Author: minniewong Date: Wed Jun 26 13:55:59 2024 -0400 WV-3177: Rename EOSDIS Worldview to NASA Worldview (#5316) * Remove EOSDIS * Update EOSDIS to ESDIS and LANCE acronyms commit 708af6661bd4e37e12312c57143000dea84e99a6 Merge: 5957893d1 d1384ee0e Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Tue Jun 25 14:35:21 2024 -0400 Merge pull request #5315 from nasa-gibs/main main into develop commit d1384ee0e8ecdf42444993daca3a03ed7f6dbfc1 Merge: 018b4748e a810e4ba4 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Tue Jun 25 14:14:54 2024 -0400 Merge pull request #5314 from nasa-gibs/release Release into main commit a810e4ba45cac73a75b2d08ac85e2c45daf0c436 Merge: ac18f0362 5074c620f Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Tue Jun 25 10:43:56 2024 -0400 Merge pull request #5313 from nasa-gibs/UAT-v4.41.2 UAT-v4.41.2 commit 5074c620fc5a751d7fb3f08e2b3b629f3ed62775 Author: PatchesMaps Date: Tue Jun 25 10:37:32 2024 -0400 v4.41.2 commit 5957893d13ba405a9479b539542ba4858acef205 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Tue Jun 25 08:48:26 2024 -0400 WV-3234-L2 TEMPO imagery not showing at the correct time (#5311) * sort available granules before finding matching * don't snap to nearest interval for temo l2 commit 035fa35c744231708d0ac0b3ed0e5054bb5a17cc Author: christof-wittreich Date: Mon Jun 24 12:01:40 2024 -0400 Dependency Updates 06-21-24 (#5312) commit 890f96384967129e29c0dd2b18f57f5fd9569892 Merge: de88768f0 018b4748e Author: Tom Cariello Date: Fri Jun 21 14:15:16 2024 -0400 Merge pull request #5310 from nasa-gibs/main Main v4.41.1 to develop commit 018b4748ed9c1d4d068ed852eb33196adebac34f Merge: 8a7662111 ac18f0362 Author: Tom Cariello Date: Fri Jun 21 14:12:48 2024 -0400 Merge pull request #5309 from nasa-gibs/release Release v4.41.1 to main commit ac18f03620a81335880961cbe5b065a5757de24f Merge: 55a052063 2e1cba7a4 Author: Tom Cariello Date: Fri Jun 21 12:57:32 2024 -0400 Merge pull request #5308 from nasa-gibs/UAT-v4.41.1 UAT v4.41.1 commit 2e1cba7a43b9825955fa56363bebd8bcd0e07e4b Author: Tom Cariello Date: Fri Jun 21 12:54:39 2024 -0400 v4.41.1 commit de88768f0381bcf798570c360f774cfd01228c43 Author: Patrick Moulden <4834892+PatchesMaps@users.noreply.github.com> Date: Fri Jun 21 11:24:19 2024 -0400 revert updateDate (#5307) * Look and feel updates for charting * Fixed linting * Feedback changes & info text update * Charting layer hover text --- e2e/features/charting/charting-test.spec.js | 16 +- package-lock.json | 56 +++- web/js/components/charting/chart-component.js | 13 +- .../charting/charting-date-selector.js | 2 +- web/js/components/charting/charting-info.js | 13 +- .../components/charting/simple-statistics.js | 7 +- .../sidebar/charting-mode-options.js | 266 +++++++++++------- .../sidebar/compare-mode-options.js | 65 +++-- .../containers/sidebar/add-layers-content.js | 124 ++++++++ web/js/containers/sidebar/charting.js | 5 +- web/js/containers/sidebar/footer-content.js | 48 +--- web/js/containers/sidebar/layer-row.js | 69 ++--- web/js/containers/sidebar/layers-container.js | 28 +- web/js/containers/sidebar/sidebar.js | 44 +-- web/scss/components/button.scss | 7 +- web/scss/features/sidebar.scss | 207 +++++++++++--- 16 files changed, 656 insertions(+), 314 deletions(-) create mode 100644 web/js/containers/sidebar/add-layers-content.js diff --git a/e2e/features/charting/charting-test.spec.js b/e2e/features/charting/charting-test.spec.js index 63a328f04b..6448bbee19 100644 --- a/e2e/features/charting/charting-test.spec.js +++ b/e2e/features/charting/charting-test.spec.js @@ -73,12 +73,10 @@ test('Select an Area of Interest works appropriately', async () => { const isChartingEnabled = await page.$('#chart-toggle-button') if (isChartingEnabled) { await page.locator('#chart-toggle-button').click() - const aoiIcon = page.locator('#wv-charting-mode-container > div.charting-aoi-container > h3') - await expect(aoiIcon).toHaveText('Select Area of Interest') - await page.locator('#wv-charting-mode-container > div.charting-aoi-container > svg').click() - await page.mouse.click(300, 300) - await page.mouse.click(400, 400) - await expect(aoiIcon).toHaveText('Area of Interest Selected') + const aoiBtn = page.locator('#wv-charting-mode-container > div.charting-aoi-container > .edit-coordinates') + await expect(aoiBtn).toHaveText('Entire Screen') + await aoiBtn.click() + await expect(aoiBtn).toHaveText('Area Selected') } }) @@ -96,12 +94,12 @@ test('Confirm defaults for time span selection', async () => { } }) -test('Calendar icon opens datepicker modal', async () => { +test('Date selector opens datepicker modal', async () => { await page.goto(multipleDataLayers) const isChartingEnabled = await page.$('#chart-toggle-button') if (isChartingEnabled) { await page.locator('#chart-toggle-button').click() - await page.locator('#charting-calendar-container > svg').click() + await page.locator('#charting-date-button').click() const chartingDateModal = page.locator('#charting_date_modal > div > div > div.modal-header > h5') await expect(chartingDateModal).toHaveText('Charting Mode Date Selection') } @@ -116,7 +114,7 @@ test('Info modal opens on mode start & on icon click', async () => { await expect(infoModal).toHaveText('Charting Tool') await page.locator('#charting_info_modal > div > div > div.modal-header > button').click() await expect(infoModal).toHaveCount(0) - await page.locator('#charting-info-container > svg').click() + await page.locator('#charting-info-container svg').click() await expect(infoModal).toHaveText('Charting Tool') } }) diff --git a/package-lock.json b/package-lock.json index f97862b0e3..af0e278b00 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3838,7 +3838,9 @@ "license": "MIT" }, "node_modules/@types/estree": { - "version": "1.0.5", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "license": "MIT" }, "node_modules/@types/express": { @@ -5262,6 +5264,8 @@ }, "node_modules/body-parser/node_modules/bytes": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "license": "MIT", "engines": { @@ -5270,6 +5274,8 @@ }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { @@ -5278,6 +5284,8 @@ }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, @@ -6011,6 +6019,8 @@ }, "node_modules/content-type": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, "license": "MIT", "engines": { @@ -6988,6 +6998,8 @@ }, "node_modules/depd": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, "license": "MIT", "engines": { @@ -7000,6 +7012,8 @@ }, "node_modules/destroy": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, "license": "MIT", "engines": { @@ -8397,6 +8411,8 @@ }, "node_modules/etag": { "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, "license": "MIT", "engines": { @@ -8735,6 +8751,8 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { @@ -8743,6 +8761,8 @@ }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, @@ -8986,6 +9006,8 @@ }, "node_modules/fresh": { "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, "license": "MIT", "engines": { @@ -9511,6 +9533,8 @@ }, "node_modules/http-errors": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9633,6 +9657,8 @@ }, "node_modules/iconv-lite": { "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "license": "MIT", "dependencies": { @@ -12513,6 +12539,8 @@ }, "node_modules/media-typer": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, "license": "MIT", "engines": { @@ -12617,6 +12645,8 @@ }, "node_modules/mime": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, "license": "MIT", "bin": { @@ -14801,6 +14831,8 @@ }, "node_modules/raw-body": { "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, "license": "MIT", "dependencies": { @@ -14815,6 +14847,8 @@ }, "node_modules/raw-body/node_modules/bytes": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "license": "MIT", "engines": { @@ -16100,6 +16134,8 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { @@ -16108,6 +16144,8 @@ }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, @@ -16121,6 +16159,8 @@ }, "node_modules/send/node_modules/ms": { "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, "license": "MIT" }, @@ -16245,6 +16285,8 @@ }, "node_modules/setprototypeof": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true, "license": "ISC" }, @@ -16656,6 +16698,8 @@ }, "node_modules/statuses": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, "license": "MIT", "engines": { @@ -17465,6 +17509,8 @@ }, "node_modules/toidentifier": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, "license": "MIT", "engines": { @@ -17598,6 +17644,8 @@ }, "node_modules/type-is": { "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "license": "MIT", "dependencies": { @@ -17779,6 +17827,8 @@ }, "node_modules/unpipe": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, "license": "MIT", "engines": { @@ -18729,7 +18779,9 @@ } }, "node_modules/ws": { - "version": "8.17.1", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "license": "MIT", "engines": { diff --git a/web/js/components/charting/chart-component.js b/web/js/components/charting/chart-component.js index 41441408a0..6c753749d9 100644 --- a/web/js/components/charting/chart-component.js +++ b/web/js/components/charting/chart-component.js @@ -12,7 +12,7 @@ function ChartComponent (props) { const { data } = liveData; // Arbitrary array of colors to use - const lineColors = ['#8884D8', '#82CA9D', 'orange', 'pink', 'green', 'red', 'yellow', 'aqua', 'maroon']; + const lineColors = ['#A3905D', '#82CA9D', 'orange', 'pink', 'green', 'red', 'yellow', 'aqua', 'maroon']; function formatToThreeDigits(str) { return parseFloat(str).toFixed(3); @@ -143,10 +143,11 @@ function ChartComponent (props) { -
- NOTE: +
+ Note: +
{' '} - Numerical analyses performed on imagery should only be used for initial basic exploratory purposes + Numerical analyses performed on imagery should only be used for initial basic exploratory purposes.
); @@ -160,8 +161,8 @@ function ChartComponent (props) { {' '} {getLineChart(data)} - - + +
diff --git a/web/js/components/charting/charting-date-selector.js b/web/js/components/charting/charting-date-selector.js index 7043149dcc..ba4a48eee0 100644 --- a/web/js/components/charting/charting-date-selector.js +++ b/web/js/components/charting/charting-date-selector.js @@ -37,7 +37,7 @@ function ChartingDateSelector (props) { } return ( -
+
{/* single date mode */} {timeSpanSelection === 'date' ? ( diff --git a/web/js/components/charting/charting-info.js b/web/js/components/charting/charting-info.js index 09d8a9d1e9..413dbda0e8 100644 --- a/web/js/components/charting/charting-info.js +++ b/web/js/components/charting/charting-info.js @@ -4,19 +4,20 @@ function ChartingInfo(props) { return (
-

- Click on the pencil icon to click and drag a bounding box on the map to define an Area of Interest (AOI). -

+

The Charting Tool provides the option to create a line chart for a date range showing change over time, and statistics for a single date (minimum, maximum, mean, and standard deviation) for an area of interest.

-

In Date Range mode (the default mode), select the calendar icon near the bottom of the Layers panel and increment the values in the resulting window to change their dates. To use a single date instead of a range, choose One Date at the bottom of the Layers panel.

+

Select the layer to be charted by clicking on the radio button to the left of the layer name.

-

Select the active layer via the toggle icon on its left. Click on Request Chart & you will see additional data as you hover over points on the enlarged chart.

+

The default area of interest is the entire screen, click on the “Entire Screen” button to change to a bounding box area of interest selection. Click on any box at the edge or corner of the selection box to change the size and shape.

-

Exit the charting mode by selecting Exit Charting near the botom of the Layers Panel.

+

The default date selection is a date range of the past 7 days. Click on the dates to change the date range in the Charting Mode Date Selection box. Click on the red “Generate Chart” button to generate a chart of change over time.

+ +

To select a single date, select “One Date”. Click on the date to change the date in date selection box. Click on the red “Generate Statistics” button to generate a list of statistics including min, max, mean, and standard deviation.

NOTE:

Numerical analyses performed on imagery should only be used for initial basic exploratory purposes. Results from these analyses should not be used for formal scientific study since the imagery is generally of lower precision than the original data and has often had additional processing steps applied to it, e.g. projection into a different coordinate system.

+
); diff --git a/web/js/components/charting/simple-statistics.js b/web/js/components/charting/simple-statistics.js index abfba520b4..683e743d8b 100644 --- a/web/js/components/charting/simple-statistics.js +++ b/web/js/components/charting/simple-statistics.js @@ -68,10 +68,11 @@ function SimpleStatistics(props) {
-
- NOTE: +
+ Note: +
{' '} - Numerical analyses performed on imagery should only be used for initial basic exploratory purposes + Numerical analyses performed on imagery should only be used for initial basic exploratory purposes.
); diff --git a/web/js/components/sidebar/charting-mode-options.js b/web/js/components/sidebar/charting-mode-options.js index 2237ffb55b..9a91fe490c 100644 --- a/web/js/components/sidebar/charting-mode-options.js +++ b/web/js/components/sidebar/charting-mode-options.js @@ -1,14 +1,13 @@ -import React, { useEffect } from 'react'; +import React, { useState, useEffect } from 'react'; import PropTypes from 'prop-types'; -import { Button, ButtonGroup } from 'reactstrap'; +import * as olProj from 'ol/proj'; +import { Button, ButtonGroup, UncontrolledTooltip } from 'reactstrap'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { faPencilAlt, faCalendarDay } from '@fortawesome/free-solid-svg-icons'; import { connect } from 'react-redux'; -import { Draw as OlInteractionDraw } from 'ol/interaction'; -import { createBox } from 'ol/interaction/Draw'; -import { Vector as OlVectorLayer } from 'ol/layer'; -import { transform } from 'ol/proj'; import { Vector as OlVectorSource } from 'ol/source'; +import CustomButton from '../util/button'; +import Crop from '../util/image-crop'; +import util from '../../util/util'; import { toggleChartingAOIOnOff, toggleAOISelected, @@ -19,14 +18,10 @@ import { } from '../../modules/charting/actions'; import { openCustomContent } from '../../modules/modal/actions'; import { CRS } from '../../modules/map/constants'; -import { areCoordinatesWithinExtent } from '../../modules/location-search/util'; import ChartingInfo from '../charting/charting-info'; import SimpleStatistics from '../charting/simple-statistics'; import ChartingDateSelector from '../charting/charting-date-selector'; import ChartComponent from '../charting/chart-component'; -import { - drawStyles, vectorStyles, -} from '../charting/charting-area-of-interest-style'; const AOIFeatureObj = {}; const vectorLayers = {}; @@ -34,13 +29,12 @@ const sources = {}; let init = false; let draw; -function ChartingModeOptions (props) { +function ChartingModeOptions(props) { const { activeLayer, activeLayers, aoiActive, aoiCoordinates, - aoiSelected, chartRequestInProgress, crs, displayChart, @@ -51,7 +45,6 @@ function ChartingModeOptions (props) { openChartingDateModal, openChartingInfoModal, olMap, - proj, projections, renderedPalettes, requestStatusMessage, @@ -67,6 +60,18 @@ function ChartingModeOptions (props) { updateRequestStatusMessage, } = props; + const { screenHeight, screenWidth } = props; + + const [boundaries, setBoundaries] = useState({ + x: screenWidth / 2 - 100, + y: screenHeight / 2 - 100, + x2: screenWidth / 2 + 100, + y2: screenHeight / 2 + 100, + }); + const { + x, y, y2, x2, + } = boundaries; + function endDrawingAreaOfInterest () { if (draw) { olMap.removeInteraction(draw); @@ -115,49 +120,6 @@ function ChartingModeOptions (props) { return `${year} ${month} ${day}`; } - function getAreaOfInterestCoordinates(geometry) { - updateAOICoordinates(geometry.getExtent()); - } - - const drawEndCallback = ({ feature }) => { - // Add the draw feature to the collection - AOIFeatureObj[crs][feature.ol_uid] = { - feature, - }; - endDrawingAreaOfInterest(); - toggleAreaOfInterestActive(); - toggleAreaOfInterestSelected(); - getAreaOfInterestCoordinates(feature.getGeometry()); - }; - - function beginDrawingAOI () { - resetAreaOfInterest(); - draw = new OlInteractionDraw({ - source: sources[crs], // Destination source for the drawn features (i.e. VectorSource) - type: 'Circle', // Geometry type of the geometries being drawn with this instance. - style: drawStyles, // Style used to indicate Area of Interest - // This is from measurement tool; validate area selected - condition(e) { - const pixel = [e.originalEvent.x, e.originalEvent.y]; - const coord = olMap.getCoordinateFromPixel(pixel); - const tCoord = transform(coord, crs, CRS.GEOGRAPHIC); - return areCoordinatesWithinExtent(proj, tCoord); - }, - geometryFunction: createBox(), // Function that is called when a geometry's coordinates are updated. - - }); - olMap.addInteraction(draw); - draw.on('drawend', drawEndCallback); - - if (!vectorLayers[crs]) { - vectorLayers[crs] = new OlVectorLayer({ - source: sources[crs], - style: vectorStyles, - map: olMap, - }); - } - } - useEffect(() => { if (!init) { projections.forEach((key) => { @@ -178,16 +140,6 @@ function ChartingModeOptions (props) { const primaryDate = formatDateString(initialStartDate); const secondaryDate = formatDateString(initialEndDate); - const onAreaOfInterestButtonClick = (evt) => { - toggleAreaOfInterestActive(); - if (!aoiActive) { - beginDrawingAOI(); - } else { - endDrawingAreaOfInterest(); - } - }; - - function getActiveChartingLayer() { const liveLayers = getLiveLayers(); const filteredLayerList = liveLayers.filter((layer) => layer.id === activeLayer); @@ -255,7 +207,7 @@ function ChartingModeOptions (props) { areaOfInterestCoords, bins, } = uriParameters; - let requestURL = `https://d1igaxm6d8pbn2.cloudfront.net/get_stats?_type=${type}×tamp=${timestamp}&steps=${steps}&layer=${layer}&colormap=${colormap}&bbox=${areaOfInterestCoords}&bins=${bins}`; + let requestURL = `https://worldview.sit.earthdata.nasa.gov/service/imagestat/get_stats?_type=${type}×tamp=${timestamp}&steps=${steps}&layer=${layer}&colormap=${colormap}&bbox=${areaOfInterestCoords}&bins=${bins}`; if (type !== 'date') { requestURL += `&end_timestamp=${endTimestamp}`; } @@ -343,7 +295,6 @@ function ChartingModeOptions (props) { const paletteName = layerInfo.palette.id; const paletteLegend = renderedPalettes[paletteName].maps[0].legend; const unitOfMeasure = Object.prototype.hasOwnProperty.call(paletteLegend, 'units') ? `(${paletteLegend.units})` : ''; - console.log(unitOfMeasure); const dataToRender = { title: layerInfo.title, subtitle: layerInfo.subtitle, @@ -378,11 +329,72 @@ function ChartingModeOptions (props) { openChartingDateModal({ layerStartDate, layerEndDate }, timeSpanSelection); } - const aoiTextPrompt = aoiSelected ? 'Area of Interest Selected' : 'Select Area of Interest'; + /** + * Convert pixel value to latitude longitude value + * @param {Array} pixelX + * @param {Array} pixelY + * + * @returns {Array} + */ + function getLatLongFromPixelValue(pixelX, pixelY) { + const { proj, olMap } = props; + const coordinate = olMap.getCoordinateFromPixel([Math.floor(pixelX), Math.floor(pixelY)]); + const { crs } = proj.selected; + const [x, y] = olProj.transform(coordinate, crs, CRS.GEOGRAPHIC); + + return [Number(x.toFixed(4)), Number(y.toFixed(4))]; + } + + const [bottomLeftLatLong, setBottomLeftLatLong] = useState(getLatLongFromPixelValue(x, y2)); + const [topRightLatLong, setTopRightLatLong] = useState(getLatLongFromPixelValue(x2, y)); + + /** + * Update latitude longitude values on + * crop change + * @param {Object} boundaries + * + * @returns {null} + */ + function onBoundaryUpdate(boundaries) { + const { + x, y, width, height, + } = boundaries; + const newBoundaries = { + x, + y, + x2: x + width, + y2: y + height, + }; + setBoundaries(newBoundaries); + const bottomLeft = getLatLongFromPixelValue(newBoundaries.x, newBoundaries.y2); + const topRight = getLatLongFromPixelValue(newBoundaries.x2, newBoundaries.y); + setBottomLeftLatLong(bottomLeft); + setTopRightLatLong(topRight); + updateAOICoordinates([...bottomLeft, ...topRight]); + } + + const onAreaOfInterestButtonClick = (evt) => { + if (aoiActive) { + updateAOICoordinates(null); + } else { + const { + x, y, x2, y2, + } = boundaries; + onBoundaryUpdate({ + x, y, width: x2 - x, height: y2 - y, + }); + } + toggleAreaOfInterestActive(); + }; + + const layerInfo = getActiveChartingLayer(); + const aoiTextPrompt = 'Area of Interest:'; const oneDateBtnStatus = timeSpanSelection === 'date' ? 'btn-active' : ''; const dateRangeBtnStatus = timeSpanSelection === 'date' ? '' : 'btn-active'; const dateRangeValue = timeSpanSelection === 'range' ? `${primaryDate} - ${secondaryDate}` : primaryDate; const chartRequestMessage = chartRequestInProgress ? 'In progress...' : ''; + const requestBtnText = timeSpanSelection === 'date' ? 'Generate Statistics' : 'Generate Chart'; + const aoiBtnText = aoiActive ? 'Area Selected' : 'Entire Screen'; return (
+

Charting Mode

+
+ + + + Charting Information + + +
+
+

Layer:

+ + {layerInfo && layerInfo.title} + + {layerInfo && layerInfo.title} + + +

{aoiTextPrompt}

-
-

Time Span:

- +

Time:

+ - + onRequestChartClick()} + text={requestBtnText} + />
{chartRequestMessage} -
-
{requestStatusMessage}
+
+ {aoiActive && ( + + )}
); } const mapStateToProps = (state) => { const { - charting, map, proj, config, layers, date, palettes, + charting, map, proj, config, layers, date, palettes, screenSize, } = state; const renderedPalettes = palettes.rendered; const activeLayers = layers.active.layers; const { crs } = proj.selected; + const { screenWidth, screenHeight } = screenSize; const { activeLayer, aoiActive, aoiCoordinates, aoiSelected, chartRequestInProgress, timeSpanSelection, timeSpanStartDate, timeSpanEndDate, requestStatusMessage, } = charting; @@ -488,6 +548,8 @@ const mapStateToProps = (state) => { timeSpanStartDate, timelineStartDate, timelineEndDate, + screenWidth, + screenHeight, }; }; diff --git a/web/js/components/sidebar/compare-mode-options.js b/web/js/components/sidebar/compare-mode-options.js index 4f9f0214c4..23d4fccc8e 100644 --- a/web/js/components/sidebar/compare-mode-options.js +++ b/web/js/components/sidebar/compare-mode-options.js @@ -28,33 +28,46 @@ class CompareModeOptions extends React.Component { className="wv-ab-mode-selection-case" style={{ display: isActive && !isMobile ? 'block' : 'none' }} > -

COMPARE MODE:

- - - - - + Type: + + + + + + +
); } diff --git a/web/js/containers/sidebar/add-layers-content.js b/web/js/containers/sidebar/add-layers-content.js new file mode 100644 index 0000000000..a48a64d5b0 --- /dev/null +++ b/web/js/containers/sidebar/add-layers-content.js @@ -0,0 +1,124 @@ +/* eslint-disable react/jsx-props-no-spreading */ +import React from 'react'; +import { connect } from 'react-redux'; +import PropTypes from 'prop-types'; +import { isMobileOnly, isTablet } from 'react-device-detect'; +import googleTagManager from 'googleTagManager'; +import { Plus } from '@edsc/earthdata-react-icons/horizon-design-system/hds/ui'; +import Button from '../../components/util/button'; +import { + toggleOverlayGroups as toggleOverlayGroupsAction, +} from '../../modules/layers/actions'; +import Checkbox from '../../components/util/checkbox'; +import SearchUiProvider from '../../components/layer/product-picker/search-ui-provider'; +import { openCustomContent } from '../../modules/modal/actions'; +import { stop as stopAnimationAction } from '../../modules/animation/actions'; + +function AddLayersContent (props) { + const { + groupOverlays, + isActive, + isEmbedModeActive, + isAnimating, + isMobile, + breakpoints, + screenWidth, + toggleOverlayGroups, + addLayers, + } = props; + + const onClickAddLayers = (e) => { + e.stopPropagation(); + addLayers(isAnimating, isMobile, breakpoints, screenWidth); + googleTagManager.pushEvent({ event: 'add_layers' }); + }; + + return isActive && !isEmbedModeActive && ( + <> +
+
+
+ + ); +} + +const mapStateToProps = (state, ownProps) => { + const { compareState } = ownProps; + const { + embed, layers, animation, screenSize, + } = state; + const { isEmbedModeActive } = embed; + const isMobile = screenSize.isMobileDevice; + const { groupOverlays } = layers[compareState]; + + return { + isAnimating: animation.isPlaying, + isEmbedModeActive, + isMobile, + breakpoints: screenSize.breakpoints, + screenWidth: screenSize.screenWidth, + groupOverlays, + }; +}; + +const mapDispatchToProps = (dispatch) => ({ + toggleOverlayGroups: () => { + setTimeout(() => { + dispatch(toggleOverlayGroupsAction()); + }); + }, + addLayers: (isPlaying) => { + const modalClassName = isMobileOnly || isTablet ? 'custom-layer-dialog-mobile custom-layer-dialog light' : 'custom-layer-dialog light'; + if (isPlaying) { + dispatch(stopAnimationAction()); + } + dispatch( + openCustomContent('LAYER_PICKER_COMPONENT', { + headerText: null, + modalClassName, + backdrop: true, + CompletelyCustomModal: SearchUiProvider, + wrapClassName: '', + }), + ); + }, +}); + +export default connect( + mapStateToProps, + mapDispatchToProps, +)(AddLayersContent); + +AddLayersContent.propTypes = { + compareState: PropTypes.string, + groupOverlays: PropTypes.bool, + isActive: PropTypes.bool, + isAnimating: PropTypes.bool, + isEmbedModeActive: PropTypes.bool, + isMobile: PropTypes.bool, + toggleOverlayGroups: PropTypes.func, + breakpoints: PropTypes.object, + isPlaying: PropTypes.bool, + screenWidth: PropTypes.number, + addLayers: PropTypes.func, +}; diff --git a/web/js/containers/sidebar/charting.js b/web/js/containers/sidebar/charting.js index 6b24181065..20340e4c2a 100644 --- a/web/js/containers/sidebar/charting.js +++ b/web/js/containers/sidebar/charting.js @@ -35,11 +35,10 @@ function ChartingLayerMenu (props) { minHeight, maxHeight, overflowY: 'auto', - paddingBottom: '4px', }; useEffect(() => { - updateActiveChartingLayer(activeLayersWithPalettes[0].id); + updateActiveChartingLayer(activeLayersWithPalettes.filter((layer) => !layer.shouldHide)[0].id); }, []); return isActive && ( @@ -76,7 +75,7 @@ const mapStateToProps = (state, ownProps) => { overlays = overlays.filter((layer) => layer.visible && layer.layergroup !== 'Reference'); overlayGroups = getFilteredOverlayGroups(overlayGroups, overlays); } - const activeLayersWithPalettes = overlays.filter((layer) => Object.prototype.hasOwnProperty.call(layer, 'palette')); + const activeLayersWithPalettes = overlays.map((layer) => ({ ...layer, shouldHide: !(Object.prototype.hasOwnProperty.call(layer, 'palette') && state.palettes.rendered[layer.palette.id] && state.palettes.rendered[layer.palette.id].maps[0].type === 'continuous') })); return { isAnimating: animation.isPlaying, diff --git a/web/js/containers/sidebar/footer-content.js b/web/js/containers/sidebar/footer-content.js index fb951e52ce..da1eab359a 100644 --- a/web/js/containers/sidebar/footer-content.js +++ b/web/js/containers/sidebar/footer-content.js @@ -8,7 +8,6 @@ import { import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { isMobileOnly, isTablet } from 'react-device-detect'; import googleTagManager from 'googleTagManager'; -import { Plus } from '@edsc/earthdata-react-icons/horizon-design-system/hds/ui'; import ChartingInfo from '../../components/charting/charting-info'; import Button from '../../components/util/button'; import CompareModeOptions from '../../components/sidebar/compare-mode-options'; @@ -41,10 +40,6 @@ const FooterContent = React.forwardRef((props, ref) => { openChartingInfoModal, toggleCharting, toggleCompare, - breakpoints, - screenWidth, - isPlaying, - addLayers, } = props; const compareBtnText = !isCompareActive @@ -69,12 +64,6 @@ const FooterContent = React.forwardRef((props, ref) => { googleTagManager.pushEvent({ event: 'charting_mode' }); }; - const onClickAddLayers = (e) => { - e.stopPropagation(); - addLayers(isPlaying, isMobile, breakpoints, screenWidth); - googleTagManager.pushEvent({ event: 'add_layers' }); - }; - const renderLayersFooter = () => ( <>
@@ -92,21 +81,17 @@ const FooterContent = React.forwardRef((props, ref) => { )}
- {!isChartingActive - && ( -
-
- {!isMobile && !isCompareActive && chartFeature - && ( -
); diff --git a/web/js/containers/sidebar/layer-row.js b/web/js/containers/sidebar/layer-row.js index c3793e1ba7..8852189ea9 100644 --- a/web/js/containers/sidebar/layer-row.js +++ b/web/js/containers/sidebar/layer-row.js @@ -10,7 +10,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { UncontrolledTooltip, Dropdown, DropdownToggle, DropdownMenu, DropdownItem, } from 'reactstrap'; -import { faToggleOn, faToggleOff } from '@fortawesome/free-solid-svg-icons'; +import { faCircleDot, faCircle } from '@fortawesome/free-solid-svg-icons'; import googleTagManager from 'googleTagManager'; import PaletteLegend from '../../components/sidebar/paletteLegend'; import util from '../../util/util'; @@ -510,15 +510,14 @@ function LayerRow (props) { > Select layer for processing - {/* */} {layer.id === activeChartingLayer ? ( ) : ( )} @@ -588,36 +587,38 @@ function LayerRow (props) { ); - return ( - - {(provided, snapshot) => (isInProjection ? ( -
  • - {renderLayerRow()} -
  • - ) : ( -
  • - ))} - - ); + if (!layer.shouldHide) { + return ( + + {(provided, snapshot) => (isInProjection ? ( +
  • + {renderLayerRow()} +
  • + ) : ( +
  • + ))} + + ); + } } const makeMapStateToProps = () => { diff --git a/web/js/containers/sidebar/layers-container.js b/web/js/containers/sidebar/layers-container.js index 329a558221..de27bc1e1c 100644 --- a/web/js/containers/sidebar/layers-container.js +++ b/web/js/containers/sidebar/layers-container.js @@ -13,10 +13,8 @@ import { } from '../../modules/layers/selectors'; import { reorderOverlayGroups as reorderOverlayGroupsAction, - toggleOverlayGroups as toggleOverlayGroupsAction, toggleGroupCollapsed as toggleGroupCollapsedAction, } from '../../modules/layers/actions'; -import Checkbox from '../../components/util/checkbox'; import util from '../../util/util'; import SearchUiProvider from '../../components/layer/product-picker/search-ui-provider'; import { openCustomContent } from '../../modules/modal/actions'; @@ -36,7 +34,6 @@ function LayersContainer (props) { overlays, reorderOverlayGroups, toggleCollapse, - toggleOverlayGroups, } = props; const [overlaysCollapsed, toggleOverlaysCollapsed] = useState(false); @@ -162,18 +159,6 @@ function LayersContainer (props) { )} - { !isEmbedModeActive && ( -
    -
    - -
    -
    - )} ); } @@ -181,10 +166,9 @@ function LayersContainer (props) { const mapStateToProps = (state, ownProps) => { const { compareState } = ownProps; const { - compare, charting, embed, layers, animation, screenSize, + compare, embed, layers, animation, screenSize, } = state; const isCompareActive = compare.active; - const isChartingActive = charting.active; const { isEmbedModeActive } = embed; const isMobile = screenSize.isMobileDevice; const { groupOverlays } = layers[compareState]; @@ -201,9 +185,10 @@ const mapStateToProps = (state, ownProps) => { return { isAnimating: animation.isPlaying, isCompareActive, - isChartingActive, isEmbedModeActive, isMobile, + breakpoints: screenSize.breakpoints, + screenWidth: screenSize.screenWidth, baselayers, overlays, overlayGroups, @@ -216,11 +201,6 @@ const mapDispatchToProps = (dispatch) => ({ reorderOverlayGroups: (layers, groups) => { dispatch(reorderOverlayGroupsAction(layers, groups)); }, - toggleOverlayGroups: () => { - setTimeout(() => { - dispatch(toggleOverlayGroupsAction()); - }); - }, toggleCollapse: (groupName, collapsed) => { dispatch(toggleGroupCollapsedAction(groupName, collapsed)); }, @@ -255,14 +235,12 @@ LayersContainer.propTypes = { isActive: PropTypes.bool, isAnimating: PropTypes.bool, isCompareActive: PropTypes.bool, - isChartingActive: PropTypes.bool, isEmbedModeActive: PropTypes.bool, isMobile: PropTypes.bool, overlayGroups: PropTypes.array, overlays: PropTypes.array, reorderOverlayGroups: PropTypes.func, toggleCollapse: PropTypes.func, - toggleOverlayGroups: PropTypes.func, breakpoints: PropTypes.object, isPlaying: PropTypes.bool, screenWidth: PropTypes.number, diff --git a/web/js/containers/sidebar/sidebar.js b/web/js/containers/sidebar/sidebar.js index 3861a9dec4..2f46734cdb 100644 --- a/web/js/containers/sidebar/sidebar.js +++ b/web/js/containers/sidebar/sidebar.js @@ -13,6 +13,7 @@ import Events from './events'; import SmartHandoff from './smart-handoff'; import CompareCase from './compare'; import FooterContent from './footer-content'; +import AddLayersContent from './add-layers-content'; import CollapsedButton from '../../components/sidebar/collapsed-button'; import NavCase from '../../components/sidebar/nav/nav-case'; import { @@ -105,6 +106,7 @@ class Sidebar extends React.Component { isMobile, screenHeight, isCompareMode, } = this.props; const footerHeight = lodashGet(this, 'footerElement.clientHeight') || 20; + const addLayersHeight = lodashGet(this, 'addLayersElement.clientHeight') || 30; const tabHeight = isMobile ? isCompareMode ? 80 : 40 : 32; const groupCheckboxHeight = 35; let newHeight; @@ -113,10 +115,10 @@ class Sidebar extends React.Component { const topOffset = 10; const basePadding = 130; newHeight = screenHeight - - (iconHeight + topOffset + tabHeight + groupCheckboxHeight + basePadding + footerHeight) + - (iconHeight + topOffset + tabHeight + groupCheckboxHeight + basePadding + footerHeight + addLayersHeight) - 10; } else { - newHeight = screenHeight - (tabHeight + groupCheckboxHeight + footerHeight); + newHeight = screenHeight - (tabHeight + groupCheckboxHeight + footerHeight + addLayersHeight); } // Issue #1415: This was checking for subComponentHeight !== newHeight. // Sometimes it would get stuck in a loop in which the newHeight @@ -303,6 +305,7 @@ class Sidebar extends React.Component { screenHeight, tabTypes, chartingModeAccessible, + activeString, } = this.props; if ((isMobile || isEmbedModeActive) && activeTab === 'download') changeTab('layers'); @@ -371,25 +374,30 @@ class Sidebar extends React.Component { {this.getProductsToRender(activeTab, isCompareMode, isChartMode)} - - {naturalEvents && activeTab === 'events' && ( - - { this.addLayersElement = el; }} + isActive={activeTab === 'layers'} + compareState={activeString} /> + {naturalEvents && activeTab === 'events' && ( + + + )} {smartHandoffs && activeTab === 'download' && ( - - - + + + )} { !isKioskModeActive && ( @@ -430,7 +438,7 @@ const mapStateToProps = (state) => { ui, } = state; - const chartingModeAccessible = layers.active.layers.filter((layer) => Object.prototype.hasOwnProperty.call(layer, 'palette')).length > 0; + const chartingModeAccessible = layers.active.layers.filter((layer) => Object.prototype.hasOwnProperty.call(layer, 'palette') && state.palettes.rendered[layer.palette.id] && state.palettes.rendered[layer.palette.id].maps[0].type === 'continuous').length > 0; const isLoadingEvents = requestedEvents.isLoading || requestedEventSources.isLoading; const hasEventRequestError = !!(requestedEvents.error diff --git a/web/scss/components/button.scss b/web/scss/components/button.scss index 9e88d1c331..d9b9c6df1d 100644 --- a/web/scss/components/button.scss +++ b/web/scss/components/button.scss @@ -27,6 +27,11 @@ padding: 3px 13px 4px; } +#chart-toggle-button.disabled { + color: #fff; + pointer-events: auto; +} + .wv-button.red { background: #f64137; border-color: #f64137; @@ -36,7 +41,7 @@ background: #212121; } -.wv-button:hover, +.wv-button:not(.disabled):hover, #compare-toggle-button:hover { border-color: #eee; background-color: #eee; diff --git a/web/scss/features/sidebar.scss b/web/scss/features/sidebar.scss index f642a9a44c..cb0226ee39 100644 --- a/web/scss/features/sidebar.scss +++ b/web/scss/features/sidebar.scss @@ -170,18 +170,28 @@ #products-holder footer { width: initial; - margin-bottom: 10px; + margin-bottom: 5px; + margin-top: 12px; +} + +footer #layers-add { + margin: 5px 10px 10px; +} + +.product-section-break { + color: #ccc; + opacity: 1; + margin: 0 10px; } footer .product-buttons { - height: 47px; + height: 31px; width: auto; - padding: 10px; +} - #layers-add .add-plus { - margin-right: 5px; - margin-top: -2px; - } +#layers-add .add-plus { + margin-right: 5px; + margin-top: -2px; } .wv-button { @@ -213,6 +223,19 @@ footer .product-buttons { font-size: 1em; font-weight: 700; padding: 0; + width: 138px; +} + +footer .chart-toggle-button { + background: #77777a; + border: 1px solid #77777a; + position: absolute; + left: 10px; + width: 113px !important; + + .button-text { + padding: 3px 0 4px !important; + } } footer .compare-toggle-button { @@ -399,6 +422,20 @@ div#group-overlays-checkbox-case { } } +.tab-pane > .product-buttons { + display: flex; + margin: 10px; + + #group-overlays-checkbox-case { + margin: 2px; + display: flex; + align-items: center; + font-size: 12px; + position: absolute; + right: 10px; + } +} + .group-overlays-checkbox { margin: 4px 0 0 4px; } @@ -411,8 +448,42 @@ div#group-overlays-checkbox-case { .wv-ab-mode-selection-case, .wv-charting-mode-container { - margin: 5px; + margin: 10px; color: #fff; + position: relative; +} + +.charting-title { + font-size: 16px; + font-weight: bold; +} + +#charting-info-container { + position: absolute; + top: 0; + right: 0; + + #charting-info-icon svg { + height: 16px; + cursor: pointer; + } +} + +.charting-subtitle { + display: flex; + margin-top: 15px; +} + +.charting-subtitle h3 { + font-size: 13px; + font-weight: bold; +} + +.charting-subtitle span { + margin-left: 20px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; } .wv-ab-mode-selection-case .compare-button { @@ -424,52 +495,79 @@ div#group-overlays-checkbox-case { opacity: 1; } -.wv-ab-mode-selection-case > div { - margin-left: 10px; +.compare-title { + font-size: 15px; + font-weight: bold; + margin: 10px 0; } -.wv-ab-mode-selection-case > div, -.wv-ab-mode-selection-case h3 { - display: inline-block; +.compare-button-row { + margin-bottom: 25px; + display: flex; + align-items: center; + margin-top: 20px; + position: relative; + + .btn-group { + position: absolute; + right: 0; + + .compare-button { + padding: 3px 18px; + } + } + + .compare-subtitle { + display: inline-block; + } } .charting-aoi-container { display: flex; justify-content: space-between; - width: 80%; - margin: 10px; + margin-top: 10px; - svg { - font-size: 1.4em; + h3 { + font-size: 13px; + font-weight: bold; + display: flex; + align-items: center; } - h3 { - line-height: 1.4em; + .edit-coordinates span { + padding: 3px 9px; } } -.charting-date-row { +.charting-timespan-container { + align-items: center; + margin-top: 10px; display: flex; - justify-content: space-around; -} + justify-content: space-between; -.charting-timespan-container, -.charting-date-container { - display: flex; - justify-content: space-around; -} + h3 { + font-size: 13px; + font-weight: bold; + } -.charting-timespan-container { - align-items: center; - margin: 10px; + button { + padding: 4px 11px; + background: #222; + border-color: #5c6369; + } div > .btn-active { - background: #d54e21; - border-color: #d54e21; + background: #01457b; } +} - svg { - font-size: 1.4em; +.charting-date-row { + text-align: right; + margin-top: 6px; + + .charting-date-button span { + padding: 3px 9px; + font-weight: normal; } } @@ -484,6 +582,10 @@ div#group-overlays-checkbox-case { display: flex; } +.modal-dialog.chart-dialog { + top: 80px; +} + .charting-statistics-label { font-weight: bolder; min-width: 40%; @@ -495,19 +597,40 @@ div#group-overlays-checkbox-case { padding: 0.25em; } +.recharts-legend-item { + font-weight: bold; +} + +.charting-disclaimer { + line-height: 1.3em; +} + .charting-buttons { - font-size: 1.5em; - margin-top: 1em; - display: flex; - justify-content: space-around; + position: absolute; + right: -10px; + bottom: -37.5px; + width: calc(100% + 20px); + + #charting-create-button { + float: right; + margin-right: 10px; + width: 138px; + + .button-text { + display: block; + font-size: 13px; + padding: 3px 0; + } + } } .charting-indicator { - font-size: 1.5em; + font-size: 1.25em; margin: 0; position: absolute; top: 50%; - transform: translateY(-50%); + left: 50%; + transform: translate(-50%, -50%); } #charting-chart { @@ -838,3 +961,7 @@ p.recharts-tooltip-label { } } } + +.ReactCrop { + z-index: 0 !important; +} \ No newline at end of file From 9ef45649f1d13b3bf17175d564008cd08a1d5f40 Mon Sep 17 00:00:00 2001 From: christof-wittreich Date: Wed, 16 Oct 2024 14:23:40 -0400 Subject: [PATCH 10/12] v4.50.0 --- package-lock.json | 416 +++++++++++++--------------------------------- package.json | 2 +- 2 files changed, 115 insertions(+), 303 deletions(-) diff --git a/package-lock.json b/package-lock.json index af0e278b00..651877061a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "worldview", - "version": "4.49.0", + "version": "4.50.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "worldview", - "version": "4.49.0", + "version": "4.50.0", "hasInstallScript": true, "license": "NASA-1.3", "dependencies": { @@ -171,8 +171,7 @@ }, "node_modules/@babel/code-frame": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", - "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", + "license": "MIT", "dependencies": { "@babel/highlight": "^7.25.7", "picocolors": "^1.0.0" @@ -241,8 +240,7 @@ }, "node_modules/@babel/generator": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", - "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", + "license": "MIT", "dependencies": { "@babel/types": "^7.25.7", "@jridgewell/gen-mapping": "^0.3.5", @@ -267,9 +265,8 @@ }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz", - "integrity": "sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.25.7" }, @@ -279,9 +276,8 @@ }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.7.tgz", - "integrity": "sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/traverse": "^7.25.7", "@babel/types": "^7.25.7" @@ -292,8 +288,7 @@ }, "node_modules/@babel/helper-compilation-targets": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", - "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.25.7", "@babel/helper-validator-option": "^7.25.7", @@ -318,9 +313,8 @@ }, "node_modules/@babel/helper-create-class-features-plugin": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.7.tgz", - "integrity": "sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.7", "@babel/helper-member-expression-to-functions": "^7.25.7", @@ -339,9 +333,8 @@ }, "node_modules/@babel/helper-create-regexp-features-plugin": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.7.tgz", - "integrity": "sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.7", "regexpu-core": "^6.1.1", @@ -371,9 +364,8 @@ }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.7.tgz", - "integrity": "sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/traverse": "^7.25.7", "@babel/types": "^7.25.7" @@ -384,8 +376,7 @@ }, "node_modules/@babel/helper-module-imports": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", - "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", + "license": "MIT", "dependencies": { "@babel/traverse": "^7.25.7", "@babel/types": "^7.25.7" @@ -396,8 +387,7 @@ }, "node_modules/@babel/helper-module-transforms": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", - "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.25.7", "@babel/helper-simple-access": "^7.25.7", @@ -413,9 +403,8 @@ }, "node_modules/@babel/helper-optimise-call-expression": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.7.tgz", - "integrity": "sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.25.7" }, @@ -425,18 +414,16 @@ }, "node_modules/@babel/helper-plugin-utils": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", - "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.7.tgz", - "integrity": "sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.7", "@babel/helper-wrap-function": "^7.25.7", @@ -451,9 +438,8 @@ }, "node_modules/@babel/helper-replace-supers": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.7.tgz", - "integrity": "sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-member-expression-to-functions": "^7.25.7", "@babel/helper-optimise-call-expression": "^7.25.7", @@ -468,8 +454,7 @@ }, "node_modules/@babel/helper-simple-access": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", - "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", + "license": "MIT", "dependencies": { "@babel/traverse": "^7.25.7", "@babel/types": "^7.25.7" @@ -480,9 +465,8 @@ }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.7.tgz", - "integrity": "sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/traverse": "^7.25.7", "@babel/types": "^7.25.7" @@ -493,33 +477,29 @@ }, "node_modules/@babel/helper-string-parser": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", - "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", - "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", - "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.7.tgz", - "integrity": "sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.25.7", "@babel/traverse": "^7.25.7", @@ -531,8 +511,7 @@ }, "node_modules/@babel/helpers": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz", - "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==", + "license": "MIT", "dependencies": { "@babel/template": "^7.25.7", "@babel/types": "^7.25.7" @@ -543,8 +522,7 @@ }, "node_modules/@babel/highlight": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", - "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.25.7", "chalk": "^2.4.2", @@ -572,9 +550,8 @@ }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.7.tgz", - "integrity": "sha512-UV9Lg53zyebzD1DwQoT9mzkEKa922LNUp5YkTJ6Uta0RbyXaQNUgcvSt7qIu1PpPzVb6rd10OVNTzkyBGeVmxQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7", "@babel/traverse": "^7.25.7" @@ -588,9 +565,8 @@ }, "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.7.tgz", - "integrity": "sha512-GDDWeVLNxRIkQTnJn2pDOM1pkCgYdSqPeT1a9vh9yIqu2uzzgw1zcqEb+IJOhy+dTBMlNdThrDIksr2o09qrrQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -603,9 +579,8 @@ }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.7.tgz", - "integrity": "sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -618,9 +593,8 @@ }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.7.tgz", - "integrity": "sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", @@ -635,9 +609,8 @@ }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.7.tgz", - "integrity": "sha512-UVATLMidXrnH+GMUIuxq55nejlj02HP7F5ETyBONzP6G87fPBogG4CH6kxrSrdIuAjdwNO9VzyaYsrZPscWUrw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7", "@babel/traverse": "^7.25.7" @@ -695,9 +668,8 @@ }, "node_modules/@babel/plugin-syntax-import-assertions": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz", - "integrity": "sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -710,9 +682,8 @@ }, "node_modules/@babel/plugin-syntax-import-attributes": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz", - "integrity": "sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -747,9 +718,8 @@ }, "node_modules/@babel/plugin-syntax-jsx": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", - "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -871,9 +841,8 @@ }, "node_modules/@babel/plugin-transform-arrow-functions": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.7.tgz", - "integrity": "sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -904,9 +873,8 @@ }, "node_modules/@babel/plugin-transform-async-to-generator": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.7.tgz", - "integrity": "sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7", @@ -921,9 +889,8 @@ }, "node_modules/@babel/plugin-transform-block-scoped-functions": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.7.tgz", - "integrity": "sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -936,9 +903,8 @@ }, "node_modules/@babel/plugin-transform-block-scoping": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.7.tgz", - "integrity": "sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -951,9 +917,8 @@ }, "node_modules/@babel/plugin-transform-class-properties": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.7.tgz", - "integrity": "sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7" @@ -984,9 +949,8 @@ }, "node_modules/@babel/plugin-transform-classes": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.7.tgz", - "integrity": "sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.7", "@babel/helper-compilation-targets": "^7.25.7", @@ -1004,9 +968,8 @@ }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.7.tgz", - "integrity": "sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7", "@babel/template": "^7.25.7" @@ -1020,9 +983,8 @@ }, "node_modules/@babel/plugin-transform-destructuring": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.7.tgz", - "integrity": "sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -1035,9 +997,8 @@ }, "node_modules/@babel/plugin-transform-dotall-regex": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.7.tgz", - "integrity": "sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7" @@ -1051,9 +1012,8 @@ }, "node_modules/@babel/plugin-transform-duplicate-keys": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.7.tgz", - "integrity": "sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -1066,9 +1026,8 @@ }, "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.7.tgz", - "integrity": "sha512-HvS6JF66xSS5rNKXLqkk7L9c/jZ/cdIVIcoPVrnl8IsVpLggTjXs8OWekbLHs/VtYDDh5WXnQyeE3PPUGm22MA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7" @@ -1098,9 +1057,8 @@ }, "node_modules/@babel/plugin-transform-exponentiation-operator": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.7.tgz", - "integrity": "sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7" @@ -1130,9 +1088,8 @@ }, "node_modules/@babel/plugin-transform-for-of": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.7.tgz", - "integrity": "sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" @@ -1146,9 +1103,8 @@ }, "node_modules/@babel/plugin-transform-function-name": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.7.tgz", - "integrity": "sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7", @@ -1179,9 +1135,8 @@ }, "node_modules/@babel/plugin-transform-literals": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.7.tgz", - "integrity": "sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -1210,9 +1165,8 @@ }, "node_modules/@babel/plugin-transform-member-expression-literals": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.7.tgz", - "integrity": "sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -1225,9 +1179,8 @@ }, "node_modules/@babel/plugin-transform-modules-amd": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.7.tgz", - "integrity": "sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7" @@ -1241,9 +1194,8 @@ }, "node_modules/@babel/plugin-transform-modules-commonjs": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.7.tgz", - "integrity": "sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7", @@ -1258,9 +1210,8 @@ }, "node_modules/@babel/plugin-transform-modules-systemjs": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.7.tgz", - "integrity": "sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7", @@ -1276,9 +1227,8 @@ }, "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.7.tgz", - "integrity": "sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7" @@ -1292,9 +1242,8 @@ }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.7.tgz", - "integrity": "sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7" @@ -1308,9 +1257,8 @@ }, "node_modules/@babel/plugin-transform-new-target": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.7.tgz", - "integrity": "sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -1373,9 +1321,8 @@ }, "node_modules/@babel/plugin-transform-object-super": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.7.tgz", - "integrity": "sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7", "@babel/helper-replace-supers": "^7.25.7" @@ -1438,9 +1385,8 @@ }, "node_modules/@babel/plugin-transform-private-methods": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.7.tgz", - "integrity": "sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7" @@ -1472,9 +1418,8 @@ }, "node_modules/@babel/plugin-transform-property-literals": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.7.tgz", - "integrity": "sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -1487,9 +1432,8 @@ }, "node_modules/@babel/plugin-transform-react-display-name": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.7.tgz", - "integrity": "sha512-r0QY7NVU8OnrwE+w2IWiRom0wwsTbjx4+xH2RTd7AVdof3uurXOF+/mXHQDRk+2jIvWgSaCHKMgggfvM4dyUGA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -1502,9 +1446,8 @@ }, "node_modules/@babel/plugin-transform-react-jsx": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.7.tgz", - "integrity": "sha512-vILAg5nwGlR9EXE8JIOX4NHXd49lrYbN8hnjffDtoULwpL9hUx/N55nqh2qd0q6FyNDfjl9V79ecKGvFbcSA0Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.7", "@babel/helper-module-imports": "^7.25.7", @@ -1521,9 +1464,8 @@ }, "node_modules/@babel/plugin-transform-react-jsx-development": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.7.tgz", - "integrity": "sha512-5yd3lH1PWxzW6IZj+p+Y4OLQzz0/LzlOG8vGqonHfVR3euf1vyzyMUJk9Ac+m97BH46mFc/98t9PmYLyvgL3qg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/plugin-transform-react-jsx": "^7.25.7" }, @@ -1536,9 +1478,8 @@ }, "node_modules/@babel/plugin-transform-react-pure-annotations": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.7.tgz", - "integrity": "sha512-6YTHJ7yjjgYqGc8S+CbEXhLICODk0Tn92j+vNJo07HFk9t3bjFgAKxPLFhHwF2NjmQVSI1zBRfBWUeVBa2osfA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7" @@ -1552,9 +1493,8 @@ }, "node_modules/@babel/plugin-transform-regenerator": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.7.tgz", - "integrity": "sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7", "regenerator-transform": "^0.15.2" @@ -1568,9 +1508,8 @@ }, "node_modules/@babel/plugin-transform-reserved-words": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.7.tgz", - "integrity": "sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -1583,9 +1522,8 @@ }, "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.7.tgz", - "integrity": "sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -1598,9 +1536,8 @@ }, "node_modules/@babel/plugin-transform-spread": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.7.tgz", - "integrity": "sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" @@ -1614,9 +1551,8 @@ }, "node_modules/@babel/plugin-transform-sticky-regex": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.7.tgz", - "integrity": "sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -1629,9 +1565,8 @@ }, "node_modules/@babel/plugin-transform-template-literals": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.7.tgz", - "integrity": "sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -1644,9 +1579,8 @@ }, "node_modules/@babel/plugin-transform-typeof-symbol": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.7.tgz", - "integrity": "sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -1659,9 +1593,8 @@ }, "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.7.tgz", - "integrity": "sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -1674,9 +1607,8 @@ }, "node_modules/@babel/plugin-transform-unicode-property-regex": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.7.tgz", - "integrity": "sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7" @@ -1690,9 +1622,8 @@ }, "node_modules/@babel/plugin-transform-unicode-regex": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.7.tgz", - "integrity": "sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7" @@ -1706,9 +1637,8 @@ }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.7.tgz", - "integrity": "sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7" @@ -1818,9 +1748,8 @@ }, "node_modules/@babel/preset-react": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.7.tgz", - "integrity": "sha512-GjV0/mUEEXpi1U5ZgDprMRRgajGMRW3G5FjMr5KLKD8nT2fTG8+h/klV3+6Dm5739QE+K5+2e91qFKAYI3pmRg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.7", "@babel/helper-validator-option": "^7.25.7", @@ -1848,8 +1777,7 @@ }, "node_modules/@babel/template": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", - "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.25.7", "@babel/parser": "^7.25.7", @@ -1861,8 +1789,7 @@ }, "node_modules/@babel/traverse": { "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", - "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.25.7", "@babel/generator": "^7.25.7", @@ -3554,13 +3481,13 @@ } }, "node_modules/@playwright/test": { - "version": "1.48.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.48.0.tgz", - "integrity": "sha512-W5lhqPUVPqhtc/ySvZI5Q8X2ztBOUgZ8LbAFy0JQgrXZs2xaILrUcNO3rQjwbLPfGK13+rZsDa1FpG+tqYkT5w==", + "version": "1.48.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.48.1.tgz", + "integrity": "sha512-s9RtWoxkOLmRJdw3oFvhFbs9OJS0BzrLUc8Hf6l2UdCNd1rqeEyD4BhCJkvzeEoD1FsK4mirsWwGerhVmYKtZg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright": "1.48.0" + "playwright": "1.48.1" }, "bin": { "playwright": "cli.js" @@ -3656,9 +3583,9 @@ } }, "node_modules/@reduxjs/toolkit": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.2.8.tgz", - "integrity": "sha512-eK/ieXftPRQfaBSmzsamXEyDwkntMTY0e9SG5ETsEOv5JIPKhu3mj992t6B8FJjlnSrZBAAqdT8oMkPe4j+P9g==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.3.0.tgz", + "integrity": "sha512-WC7Yd6cNGfHx8zf+iu+Q1UPTfEcXhQ+ATi7CV1hlrSAaQBdlPzg7Ww/wJHNQem7qG9rxmWoFCDCPubSvFObGzA==", "license": "MIT", "dependencies": { "immer": "^10.0.3", @@ -3839,8 +3766,6 @@ }, "node_modules/@types/estree": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "license": "MIT" }, "node_modules/@types/express": { @@ -5264,8 +5189,6 @@ }, "node_modules/body-parser/node_modules/bytes": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "license": "MIT", "engines": { @@ -5274,8 +5197,6 @@ }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { @@ -5284,8 +5205,6 @@ }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, @@ -5341,8 +5260,6 @@ }, "node_modules/browserslist": { "version": "4.24.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", - "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", "funding": [ { "type": "opencollective", @@ -5357,6 +5274,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001663", "electron-to-chromium": "^1.5.28", @@ -5382,14 +5300,6 @@ "version": "1.1.2", "license": "MIT" }, - "node_modules/buildcheck": { - "version": "0.0.6", - "dev": true, - "optional": true, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/bundle-name": { "version": "4.1.0", "dev": true, @@ -5505,8 +5415,6 @@ }, "node_modules/caniuse-lite": { "version": "1.0.30001667", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001667.tgz", - "integrity": "sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==", "funding": [ { "type": "opencollective", @@ -5520,7 +5428,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/chalk": { "version": "2.4.2", @@ -6019,8 +5928,6 @@ }, "node_modules/content-type": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, "license": "MIT", "engines": { @@ -6058,9 +5965,7 @@ } }, "node_modules/core-js": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", - "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==", + "version": "3.22.3", "hasInstallScript": true, "license": "MIT", "funding": { @@ -6137,19 +6042,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cpu-features": { - "version": "0.0.9", - "dev": true, - "hasInstallScript": true, - "optional": true, - "dependencies": { - "buildcheck": "~0.0.6", - "nan": "^2.17.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/create-jest": { "version": "29.7.0", "dev": true, @@ -6998,8 +6890,6 @@ }, "node_modules/depd": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, "license": "MIT", "engines": { @@ -7012,8 +6902,6 @@ }, "node_modules/destroy": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, "license": "MIT", "engines": { @@ -7195,8 +7083,7 @@ }, "node_modules/electron-to-chromium": { "version": "1.5.32", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.32.tgz", - "integrity": "sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==" + "license": "ISC" }, "node_modules/element-resize-detector": { "version": "1.2.4", @@ -7792,9 +7679,8 @@ }, "node_modules/eslint-module-utils": { "version": "2.12.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", - "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -7809,9 +7695,8 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -7855,9 +7740,8 @@ }, "node_modules/eslint-plugin-import": { "version": "2.31.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", - "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", "dev": true, + "license": "MIT", "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.8", @@ -8080,9 +7964,8 @@ }, "node_modules/eslint-plugin-react": { "version": "7.37.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.1.tgz", - "integrity": "sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==", "dev": true, + "license": "MIT", "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", @@ -8411,8 +8294,6 @@ }, "node_modules/etag": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, "license": "MIT", "engines": { @@ -8645,8 +8526,6 @@ }, "node_modules/fetch-mock": { "version": "9.11.0", - "resolved": "https://registry.npmjs.org/fetch-mock/-/fetch-mock-9.11.0.tgz", - "integrity": "sha512-PG1XUv+x7iag5p/iNHD4/jdpxL9FtVSqRMUQhPab4hVDt80T1MH5ehzVrL2IdXO9Q2iBggArFvPqjUbHFuI58Q==", "license": "MIT", "dependencies": { "@babel/core": "^7.0.0", @@ -8751,8 +8630,6 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { @@ -8761,8 +8638,6 @@ }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, @@ -9006,8 +8881,6 @@ }, "node_modules/fresh": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, "license": "MIT", "engines": { @@ -9533,8 +9406,6 @@ }, "node_modules/http-errors": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9657,8 +9528,6 @@ }, "node_modules/iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "license": "MIT", "dependencies": { @@ -12146,8 +12015,7 @@ }, "node_modules/jsesc": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -12444,8 +12312,6 @@ }, "node_modules/lodash.sortby": { "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", "license": "MIT" }, "node_modules/lodash.truncate": { @@ -12539,8 +12405,6 @@ }, "node_modules/media-typer": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, "license": "MIT", "engines": { @@ -12645,8 +12509,6 @@ }, "node_modules/mime": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, "license": "MIT", "bin": { @@ -12951,12 +12813,6 @@ "multicast-dns": "cli.js" } }, - "node_modules/nan": { - "version": "2.19.0", - "dev": true, - "license": "MIT", - "optional": true - }, "node_modules/nanoid": { "version": "3.3.7", "dev": true, @@ -13966,13 +13822,13 @@ } }, "node_modules/playwright": { - "version": "1.48.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.48.0.tgz", - "integrity": "sha512-qPqFaMEHuY/ug8o0uteYJSRfMGFikhUysk8ZvAtfKmUK3kc/6oNl/y3EczF8OFGYIi/Ex2HspMfzYArk6+XQSA==", + "version": "1.48.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.48.1.tgz", + "integrity": "sha512-j8CiHW/V6HxmbntOfyB4+T/uk08tBy6ph0MpBXwuoofkSnLmlfdYNNkFTYD6ofzzlSqLA1fwH4vwvVFvJgLN0w==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.48.0" + "playwright-core": "1.48.1" }, "bin": { "playwright": "cli.js" @@ -13985,9 +13841,9 @@ } }, "node_modules/playwright-core": { - "version": "1.48.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.0.tgz", - "integrity": "sha512-RBvzjM9rdpP7UUFrQzRwR8L/xR4HyC1QXMzGYTbf1vjw25/ya9NRAVnXi/0fvFopjebvyPzsmoK58xxeEOaVvA==", + "version": "1.48.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.1.tgz", + "integrity": "sha512-Yw/t4VAFX/bBr1OzwCuOMZkY1Cnb4z/doAFSwf4huqAGWmf9eMNjmK7NiOljCdLmxeRYcGPPmcDgU0zOlzP0YA==", "dev": true, "license": "Apache-2.0", "bin": { @@ -14750,9 +14606,6 @@ }, "node_modules/querystring": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", "license": "MIT", "engines": { "node": ">=0.4.x" @@ -14831,8 +14684,6 @@ }, "node_modules/raw-body": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, "license": "MIT", "dependencies": { @@ -14847,8 +14698,6 @@ }, "node_modules/raw-body/node_modules/bytes": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "license": "MIT", "engines": { @@ -15288,8 +15137,7 @@ }, "node_modules/reactstrap": { "version": "9.2.3", - "resolved": "https://registry.npmjs.org/reactstrap/-/reactstrap-9.2.3.tgz", - "integrity": "sha512-1nXy7FIBIoOgXr3AIHOpgzcZXdj6rZE5YvNSPd1hYgwv8X64m6TAJsU0ExlieJdlRXhaRfTYRSZoTWa127b0gw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "@popperjs/core": "^2.6.0", @@ -15569,15 +15417,13 @@ }, "node_modules/regenerate": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/regenerate-unicode-properties": { "version": "10.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", - "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", "dev": true, + "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -15591,9 +15437,8 @@ }, "node_modules/regenerator-transform": { "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" } @@ -15627,9 +15472,8 @@ }, "node_modules/regexpu-core": { "version": "6.1.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz", - "integrity": "sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==", "dev": true, + "license": "MIT", "dependencies": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.2.0", @@ -15644,15 +15488,13 @@ }, "node_modules/regjsgen": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/regjsparser": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.0.tgz", - "integrity": "sha512-vTbzVAjQDzwQdKuvj7qEq6OlAprCjE656khuGQ4QaBLg7abQ9I9ISpmLuc6inWe7zP75AECjqUa4g4sdQvOXhg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "jsesc": "~3.0.2" }, @@ -15935,9 +15777,8 @@ }, "node_modules/sass-loader": { "version": "16.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.2.tgz", - "integrity": "sha512-Ll6iXZ1EYwYT19SqW4mSBb76vSSi8JgzElmzIerhEGgzB5hRjDQIWsPmuk1UrAXkR16KJHqVY0eH+5/uw9Tmfw==", "dev": true, + "license": "MIT", "dependencies": { "neo-async": "^2.6.2" }, @@ -16134,8 +15975,6 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", "dependencies": { @@ -16144,8 +15983,6 @@ }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "license": "MIT" }, @@ -16159,8 +15996,6 @@ }, "node_modules/send/node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, "license": "MIT" }, @@ -16285,8 +16120,6 @@ }, "node_modules/setprototypeof": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true, "license": "ISC" }, @@ -16698,8 +16531,6 @@ }, "node_modules/statuses": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, "license": "MIT", "engines": { @@ -17509,8 +17340,6 @@ }, "node_modules/toidentifier": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, "license": "MIT", "engines": { @@ -17537,8 +17366,6 @@ }, "node_modules/tr46": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", "license": "MIT", "dependencies": { "punycode": "^2.1.0" @@ -17644,8 +17471,6 @@ }, "node_modules/type-is": { "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "license": "MIT", "dependencies": { @@ -17779,18 +17604,16 @@ }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, + "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -17801,18 +17624,16 @@ }, "node_modules/unicode-match-property-value-ecmascript": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", - "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -17827,8 +17648,6 @@ }, "node_modules/unpipe": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, "license": "MIT", "engines": { @@ -18056,8 +17875,7 @@ }, "node_modules/webpack": { "version": "5.95.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", - "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", + "license": "MIT", "dependencies": { "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", @@ -18525,8 +18343,6 @@ }, "node_modules/whatwg-url": { "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "license": "MIT", "dependencies": { "lodash.sortby": "^4.7.0", @@ -18536,8 +18352,6 @@ }, "node_modules/whatwg-url/node_modules/webidl-conversions": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", "license": "BSD-2-Clause" }, "node_modules/which": { @@ -18780,8 +18594,6 @@ }, "node_modules/ws": { "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index 5c3459e797..0cca7e95df 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "worldview", - "version": "4.49.0", + "version": "4.50.0", "description": "Interactive interface for browsing full-resolution, global satellite imagery", "keywords": [ "NASA", From c1e0d358f879a2b4904ccd92a6e5689b64d1f1a9 Mon Sep 17 00:00:00 2001 From: christof-wittreich Date: Wed, 16 Oct 2024 15:54:17 -0400 Subject: [PATCH 11/12] Fixed style issues --- web/js/components/date-selector/date-input-column.js | 2 ++ .../timeline-controls/axis-timescale-change-controls.js | 2 ++ web/js/components/util/arrow.js | 5 +++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/web/js/components/date-selector/date-input-column.js b/web/js/components/date-selector/date-input-column.js index ae74b49f60..9bd27b103f 100644 --- a/web/js/components/date-selector/date-input-column.js +++ b/web/js/components/date-selector/date-input-column.js @@ -310,6 +310,7 @@ class DateInputColumn extends Component { onClick={isDisabled ? () => {} : () => this.changeDate(1)} type={type} isKioskModeActive={isKioskModeActive} + arrowSize="18px" /> {} : () => this.changeDate(-1)} type={type} isKioskModeActive={isKioskModeActive} + arrowSize="18px" /> ); diff --git a/web/js/components/timeline/timeline-controls/axis-timescale-change-controls.js b/web/js/components/timeline/timeline-controls/axis-timescale-change-controls.js index 210c0248da..953ed3b6b9 100644 --- a/web/js/components/timeline/timeline-controls/axis-timescale-change-controls.js +++ b/web/js/components/timeline/timeline-controls/axis-timescale-change-controls.js @@ -39,11 +39,13 @@ class AxisTimeScaleChangeControls extends PureComponent { direction="up" onClick={this.onClickUp} type="zoom-level-up" + arrowSize="24px" /> ); diff --git a/web/js/components/util/arrow.js b/web/js/components/util/arrow.js index 8a0e20e99c..ede6bac07a 100644 --- a/web/js/components/util/arrow.js +++ b/web/js/components/util/arrow.js @@ -6,7 +6,7 @@ import { ArrowFilledUp } from '@edsc/earthdata-react-icons/horizon-design-system * @function Arrow Up/Down */ function Arrow({ - onClick, type, direction, isKioskModeActive, + onClick, type, direction, isKioskModeActive, arrowSize, }) { const containerClassName = `date-arrows date-arrow-${direction}`; const arrowClassName = `${direction}arrow`; @@ -17,7 +17,7 @@ function Arrow({ className={isKioskModeActive ? 'd-none' : containerClassName} data-interval={type} > - + ); } @@ -27,6 +27,7 @@ Arrow.propTypes = { onClick: PropTypes.func, type: PropTypes.string, isKioskModeActive: PropTypes.bool, + arrowSize: PropTypes.string, }; export default Arrow; From 64ce2b41e59d58e169a707b1aa11f369bba3b6df Mon Sep 17 00:00:00 2001 From: christof-wittreich Date: Wed, 16 Oct 2024 16:46:44 -0400 Subject: [PATCH 12/12] v4.50.0-1 --- package-lock.json | 262 +--------------------------------------------- package.json | 2 +- 2 files changed, 3 insertions(+), 261 deletions(-) diff --git a/package-lock.json b/package-lock.json index af0e278b00..3028007c8f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "worldview", - "version": "4.49.0", + "version": "4.50.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "worldview", - "version": "4.49.0", + "version": "4.50.0", "hasInstallScript": true, "license": "NASA-1.3", "dependencies": { @@ -3288,27 +3288,6 @@ "@parcel/watcher-win32-x64": "2.4.1" } }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", - "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, "node_modules/@parcel/watcher-darwin-arm64": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", @@ -3330,216 +3309,6 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", - "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", - "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", - "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", - "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", - "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", - "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", - "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", - "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", - "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", - "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, "node_modules/@petamoriken/float16": { "version": "3.7.1", "license": "MIT" @@ -5382,14 +5151,6 @@ "version": "1.1.2", "license": "MIT" }, - "node_modules/buildcheck": { - "version": "0.0.6", - "dev": true, - "optional": true, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/bundle-name": { "version": "4.1.0", "dev": true, @@ -6137,19 +5898,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cpu-features": { - "version": "0.0.9", - "dev": true, - "hasInstallScript": true, - "optional": true, - "dependencies": { - "buildcheck": "~0.0.6", - "nan": "^2.17.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/create-jest": { "version": "29.7.0", "dev": true, @@ -12951,12 +12699,6 @@ "multicast-dns": "cli.js" } }, - "node_modules/nan": { - "version": "2.19.0", - "dev": true, - "license": "MIT", - "optional": true - }, "node_modules/nanoid": { "version": "3.3.7", "dev": true, diff --git a/package.json b/package.json index 5c3459e797..0cca7e95df 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "worldview", - "version": "4.49.0", + "version": "4.50.0", "description": "Interactive interface for browsing full-resolution, global satellite imagery", "keywords": [ "NASA",