From 0ecae1a47e40fea7bf48861e50cefca3a7eb4ad3 Mon Sep 17 00:00:00 2001 From: Robert Seward Date: Tue, 19 May 2026 15:29:49 -0400 Subject: [PATCH 01/16] ADA changes with improved table nav changes from March --- .npmignore | 2 + Makefile | 5 + README.md | 6 + cypress/e2e/dataset_details_page.cy.js | 4 +- cypress/support/details_page.js | 14 +- docs/RELEASE_QUESTIONS.md | 7 + package-lock.json | 88 ++-- package.json | 4 +- src/components/data-view/data-view.js | 422 +++++++++++++----- src/components/data-view/data-view.scss | 60 ++- src/components/data-view/data-view.test.js | 70 ++- .../dataset-dictionary/dataset-dictionary.js | 174 +++++--- .../dataset-dictionary.scss | 6 +- .../dataset-dictionary.test.js | 45 +- .../dataset-metadata/dataset-metadata.js | 329 ++++++++------ .../dataset-metadata/dataset-metadata.test.js | 35 +- src/components/dataset-preview/connector.js | 6 +- .../dataset-preview/dataset-preview.js | 3 +- src/pages/query-view/connector.js | 4 +- src/pages/query-view/query-view.js | 2 + src/pages/query-view/query-view.test.js | 1 - .../user-profile-view/user-profile-view.js | 120 ++++- .../user-profile-view.test.js | 11 +- 23 files changed, 926 insertions(+), 492 deletions(-) create mode 100644 docs/RELEASE_QUESTIONS.md diff --git a/.npmignore b/.npmignore index a747ed81..2e0d9c7b 100644 --- a/.npmignore +++ b/.npmignore @@ -6,3 +6,5 @@ lib/index.* lib/*.test.js lib/__mocks__/* +tmp/* + diff --git a/Makefile b/Makefile index 661668f2..ea231a5c 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,11 @@ upgrade: npm update publish: + echo "** npm login if you haven't already **" + npm whoami npm run build:library npm publish --access public +release: + npm install + bat docs/RELEASE_QUESTIONS.md diff --git a/README.md b/README.md index 472039f0..7fa17369 100644 --- a/README.md +++ b/README.md @@ -116,3 +116,9 @@ export default class App extends Component { ``` # Trigger a build + +The primary way to promote react-discovery-ui code to a production environment is to produce an npmjs release (i.e. publish it to npmjs). Previously (before 2026) +this was triggered by creating a GitHub Release, which ran a GitHub Actions workflow. Currently in 2026 this is being done by publishing from the local environment +with npmjs credentials. See the publish target in the Makefile for details. + +In the future we should re-enable the previous GitHub Actions flow by generating a new npm access token and storing it as the npm_token secret in the GitHub repository settings. diff --git a/cypress/e2e/dataset_details_page.cy.js b/cypress/e2e/dataset_details_page.cy.js index a20992d6..dff58c3c 100644 --- a/cypress/e2e/dataset_details_page.cy.js +++ b/cypress/e2e/dataset_details_page.cy.js @@ -113,7 +113,7 @@ describe('Write SQL Tab for Ogrip dataset', function () { cy.visit('/dataset/ogrip/622746a5_4e2a_4a4c_ac18_74cb1fb05ab3') cy.intercept(routes['622746a5_4e2a_4a4c_ac18_74cb1fb05ab3'].query.url).as('getQueryResults') const query = 'SELECT * FROM ohio_geographically_referenced_information_program_ogrip__622746a5_4e2a_4a4c_ac18_74cb1fb05ab3\nLIMIT 200' - const numberOfRowsPerPage = 50 + const numberOfRows = 11 cy.get(writeSqlTab).click() cy.wait(['@getQueryResults']) cy.contains('Enter your SQL query below. For best performance, you should limit your results to no more than 20,000 rows.') @@ -123,7 +123,7 @@ describe('Write SQL Tab for Ogrip dataset', function () { cy.get(reactTable).should('be.visible') cy.get(tableHeader).children().should('have.length', 1) cy.get(tableHeader).children().eq(0).contains('feature') - cy.get(tableBody).children().should('have.length', numberOfRowsPerPage) + cy.get(tableBody).children().should('have.length', numberOfRows) cy.get(paginatorInput).should('have.value', '1') cy.get(totalPages).contains('1') }) diff --git a/cypress/support/details_page.js b/cypress/support/details_page.js index e19cd1bc..7b6e4cdf 100644 --- a/cypress/support/details_page.js +++ b/cypress/support/details_page.js @@ -21,13 +21,13 @@ export const Selectors = { successMessage: '[data-testid=success-message]', errorMessage: '[data-testid=error-message]', numRecords: '#numRecords', - reactTable: '#data-view-table > .ReactTable', - tableHeader: '[data-testid=query-view] #data-view-table > .ReactTable > .rt-table > .rt-thead > .rt-tr', - tableBody: '#data-view-table > .ReactTable > .rt-table > .rt-tbody', - paginatorInput: '#data-view-table > .ReactTable input', - pageNumber: '#react-tabs-15 > #data-view-table > .ReactTable > .pagination-bottom > .-pagination > .-center > .-pageInfo > .-pageJump > input', - nextPageButton: '#react-tabs-15 > #data-view-table > .ReactTable > .pagination-bottom > .-pagination > .-next > .-btn', - totalPages: '#data-view-table > .ReactTable .-totalPages', + reactTable: '#data-view-table', + tableHeader: '[data-testid=query-view] #data-view-table > div > table > thead > tr', + tableBody: '#data-view-table > div > table > tbody', + paginatorInput: '[data-testid=page-number-input]', + pageNumber: '[data-testid=page-number-input]', + nextPageButton: '[data-testid=next-page-button]', + totalPages: '[data-testid=total-pages]', submitQueryButton: '[data-testid=submit-query-button]', cancelQueryButton: '[data-testid=cancel-query-button]', savedVisualizationsIcon: '[data-testid=visualization-list-menu-item]', diff --git a/docs/RELEASE_QUESTIONS.md b/docs/RELEASE_QUESTIONS.md new file mode 100644 index 00000000..8ebf90cb --- /dev/null +++ b/docs/RELEASE_QUESTIONS.md @@ -0,0 +1,7 @@ +# Release Check List + +[ ] Did you bump the version in package.json so that releases to npm are +made without version conflict? +[ ] Did you also run npm install to update the version number in the package.lock? + +If you'd like to see this code deployed after merge, don't forget to cut a release in this repo, then update the package versions in discovery-ui diff --git a/package-lock.json b/package-lock.json index 5378dfa2..70085dc6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,19 @@ { "name": "@urbanos/react-discovery-ui", - "version": "2.1.44", + "version": "2.1.51", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@urbanos/react-discovery-ui", - "version": "2.1.44", + "version": "2.1.51", "license": "ISC", "dependencies": { "@auth0/auth0-spa-js": "1.22.5", "@babel/runtime": "^7.26.7", "@material-ui/core": "^4.12.4", "@material-ui/icons": "^4.11.3", + "@tanstack/react-table": "^8.21.3", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^12.1.5", "@trendmicro/react-dropdown": "^1.4.0", @@ -53,7 +54,6 @@ "react-share": "^2.4.0", "react-simple-code-editor": "^0.11.3", "react-svg-inline": "^2.1.1", - "react-table": "~6.10.3", "react-tooltip": "3.11.1", "redux": "^4.2.1", "redux-saga": "^0.16.2", @@ -3660,6 +3660,39 @@ "version": "1.1.0", "license": "MIT" }, + "node_modules/@tanstack/react-table": { + "version": "8.21.3", + "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.21.3.tgz", + "integrity": "sha512-5nNMTSETP4ykGegmVkhjcS8tTLW6Vl4axfEGQN3v0zdHYbK4UfoqfPChclTrJ4EoK9QynqAu9oUf8VEmrpZ5Ww==", + "license": "MIT", + "dependencies": { + "@tanstack/table-core": "8.21.3" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/@tanstack/table-core": { + "version": "8.21.3", + "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.21.3.tgz", + "integrity": "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, "node_modules/@testing-library/dom": { "version": "8.20.0", "license": "MIT", @@ -12582,24 +12615,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-circus/node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, "node_modules/jest-circus/node_modules/chalk": { "version": "4.1.2", "dev": true, @@ -12615,25 +12630,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-circus/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/jest-circus/node_modules/dedent": { "version": "1.5.3", "dev": true, @@ -17335,18 +17331,6 @@ "react": "^0.14.9 || ^15.3.0 || ^16.0.0" } }, - "node_modules/react-table": { - "version": "6.10.3", - "license": "MIT", - "dependencies": { - "classnames": "^2.2.5" - }, - "peerDependencies": { - "prop-types": "^15.5.0", - "react": "^15.x.x || ^16.x.x", - "react-dom": "^15.x.x || ^16.x.x" - } - }, "node_modules/react-tabs": { "version": "3.2.1", "license": "MIT", diff --git a/package.json b/package.json index c14b13cc..61d9d0aa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@urbanos/react-discovery-ui", - "version": "2.1.44", + "version": "2.1.51", "description": "React component for dataset discovery UI", "main": "./lib/ReactDiscoveryUI.js", "repository": { @@ -22,6 +22,7 @@ "@babel/runtime": "^7.26.7", "@material-ui/core": "^4.12.4", "@material-ui/icons": "^4.11.3", + "@tanstack/react-table": "^8.21.3", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^12.1.5", "@trendmicro/react-dropdown": "^1.4.0", @@ -62,7 +63,6 @@ "react-share": "^2.4.0", "react-simple-code-editor": "^0.11.3", "react-svg-inline": "^2.1.1", - "react-table": "~6.10.3", "react-tooltip": "3.11.1", "redux": "^4.2.1", "redux-saga": "^0.16.2", diff --git a/src/components/data-view/data-view.js b/src/components/data-view/data-view.js index 16c0771b..fd24ff2a 100644 --- a/src/components/data-view/data-view.js +++ b/src/components/data-view/data-view.js @@ -1,125 +1,341 @@ -import React, { Component } from 'react' +import React, { useMemo, useState, useEffect, useRef } from 'react' import variables from '../../styles/variables.scss' import './data-view.scss' -import ReactTable from 'react-table' -import 'react-table/react-table.css' +import { useReactTable, getCoreRowModel, getPaginationRowModel, flexRender } from '@tanstack/react-table' import ReactJson from 'react-json-view' import LoadingElement from '../../components/generic-elements/loading-element' import { Tab, Tabs, TabList, TabPanel } from 'react-tabs' import _ from 'lodash' -export default class extends Component { - constructor() { - super() - this.state = { index: 0 } - } +const DataTable = ({ data, columns, page, onNextPageClicked, datasetName }) => { + const [pagination, setPagination] = useState({ pageIndex: page || 0, pageSize: 50 }) + const [columnSizing, setColumnSizing] = useState({}) + const totalRowsRef = useRef(1) + const totalColsRef = useRef(columns.length) + const tableRef = useRef(null) - render() { - const isGeojson = this.props.format == 'geojson' - const cleanData = isGeojson ? undefined : this.getCleanData(this.props.data) - const columns = this.props.columns.map((column) => { - return { Header: column, id: column, accessor: (row) => row[column], headerClassName: 'table-header' } - }) - - return ( -
- this.setState({ index: tabIndex })} - > - - - {!isGeojson && (Table)} - JSON - - - {!isGeojson && ( - -
- -
-
- )} - -
- {this.renderJsonOrLoading(this.props.loading)} -
-
-
-
- ) - } + // Stable per-instance prefix so header IDs are unique if multiple tables are on the page + const tableId = useRef(`dv-${Math.random().toString(36).slice(2, 7)}`).current + const colHeaderId = (colIndex) => `${tableId}-col-${colIndex}` + const rowHeaderId = (rowIndex) => `${tableId}-row-${rowIndex}` + const dataCellId = (rowIndex, colIndex) => `${tableId}-cell-${rowIndex}-${colIndex}` - cleanseData(data) { - if (!data.map) { return [] } - return data.map(row => this.cleanseRow(row)) - } + // aria-activedescendant: track currently active cell by ID + const [activeCellId, setActiveCellId] = useState(colHeaderId(0)) + const activeCellIdRef = useRef(colHeaderId(0)) - cleanseRow(row) { - const deconstructedObject = Object.entries(row) - const listOfKeyValues = deconstructedObject.map(field => - ({ [field[0]]: this.cleanseField(field[1]) }) - ) - const reconstructedObject = Object.assign({}, ...listOfKeyValues) + useEffect(() => { + setPagination(prev => ({ ...prev, pageIndex: page || 0 })) + }, [page]) - return reconstructedObject - } + const table = useReactTable({ + data: data || [], + columns, + state: { pagination, columnSizing }, + onPaginationChange: (updater) => { + const newPagination = typeof updater === 'function' ? updater(pagination) : updater + setPagination(newPagination) + if (onNextPageClicked) { + onNextPageClicked(newPagination.pageIndex) + } + }, + onColumnSizingChange: setColumnSizing, + columnResizeMode: 'onChange', + enableColumnResizing: true, + getCoreRowModel: getCoreRowModel(), + getPaginationRowModel: getPaginationRowModel() + }) - cleanseField(value) { - if (typeof value === 'boolean') { - return value.toString() - } else if (_.isNull(value) || _.isNaN(value)) { - return '' - } else if (typeof value === 'object') { - return JSON.stringify(value) - } else { - return value - } + // Keep refs current on every render so the native keydown handler always sees fresh values + totalRowsRef.current = table.getRowModel().rows.length + 1 // row 0 = header + totalColsRef.current = columns.length + + // Resolve cell ID from (row, col) coordinates — row 0 = header, rows 1+ = data rows + const resolveId = (row, col) => { + if (row === 0) return colHeaderId(col) + const dataRowIndex = row - 1 + return col === 0 ? rowHeaderId(dataRowIndex) : dataCellId(dataRowIndex, col) } - getCleanData(queryData) { - return queryData ? this.cleanseData(queryData) : queryData + // Parse (row, col) from a cell element's data attributes + const parseCoords = (el) => { + const row = parseInt(el.getAttribute('data-row'), 10) + const col = parseInt(el.getAttribute('data-col'), 10) + return isNaN(row) || isNaN(col) ? null : { row, col } } - renderJsonOrLoading(isLoading) { - if (isLoading) { - return - } else { - return + const activateCell = (row, col) => { + const id = resolveId(row, col) + activeCellIdRef.current = id + setActiveCellId(id) + const tableEl = tableRef.current + if (!tableEl) return + const cell = tableEl.querySelector(`[data-row="${row}"][data-col="${col}"]`) + if (cell) { + cell.scrollIntoView({ block: 'nearest', inline: 'nearest' }) } } - getTheme() { - // react-json-view uses the 'base16' theme structure: - // https://github.com/chriskempson/base16/blob/master/styling.md - return { - base00: 'white', // Default Background - base01: 'white', // Lighter Background - base02: variables.headerGrey, // Null background - base03: variables.almostBlack, // Null Text - base04: variables.mediumGrey, // Item counts - base05: variables.darkGrey, // Unused - base06: variables.darkGrey, // Unused - base07: variables.lightBlue, // Field names - base08: variables.darkGrey, // Unused - base09: variables.green, // Field values - base0A: variables.darkGrey, // Unused - base0B: variables.darkGrey, // Unused - base0C: variables.darkGrey, // Unused - base0D: variables.darkGrey, // Expanders - base0E: variables.darkGrey, // Expanders - base0F: variables.darkGrey // Expanders + // Native keydown listener on the table container — reliable preventDefault for arrow keys + useEffect(() => { + const tableEl = tableRef.current + if (!tableEl) return + + const handleKeyDown = (e) => { + // Parse current coords from active cell ID via DOM lookup + const activeEl = tableEl.querySelector(`#${CSS.escape(activeCellIdRef.current)}`) + const coords = activeEl ? parseCoords(activeEl) : { row: 0, col: 0 } + const { row, col } = coords || { row: 0, col: 0 } + + const moves = { + ArrowUp: [row - 1, col], + ArrowDown: [row + 1, col], + ArrowLeft: [row, col - 1], + ArrowRight: [row, col + 1] + } + if (!moves[e.key]) return + e.preventDefault() + const r = Math.max(0, Math.min(totalRowsRef.current - 1, moves[e.key][0])) + const c = Math.max(0, Math.min(totalColsRef.current - 1, moves[e.key][1])) + activateCell(r, c) } + + tableEl.addEventListener('keydown', handleKeyDown) + return () => tableEl.removeEventListener('keydown', handleKeyDown) + }, []) // empty deps — all values accessed via refs or DOM + + // Click-to-activate via event delegation on the table + const handleTableClick = (e) => { + const cell = e.target.closest('[data-row][data-col]') + if (!cell) return + const coords = parseCoords(cell) + if (coords) activateCell(coords.row, coords.col) } + + const dataRows = table.getRowModel().rows + const pageIndex = pagination.pageIndex + const pageSize = pagination.pageSize + + return ( +
+ + + + {table.getHeaderGroups().map(headerGroup => ( + + {headerGroup.headers.map((header, colIndex) => ( + + ))} + + ))} + + + {dataRows.length === 0 + ? ( + + + + ) + : dataRows.map((row, rowIndex) => { + const tableRow = rowIndex + 1 + const ariaRowIndex = pageIndex * pageSize + rowIndex + 2 // +1 for header, +1 for 1-based + return ( + + {row.getVisibleCells().map((cell, colIndex) => { + const content = flexRender(cell.column.columnDef.cell, cell.getContext()) + return colIndex === 0 + ? ( + + ) + : ( + + ) + })} + + ) + })} + +
{datasetName ? `${datasetName} Dataset Preview` : 'Dataset Preview'}
+ {header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())} + {header.column.getCanResize() && ( +
No rows found
{content} + {content} +
+
+ + + Page{' '} + { + const pageNum = e.target.value ? Number(e.target.value) - 1 : 0 + table.setPageIndex(pageNum) + }} + style={{ width: '3rem' }} + /> + {' '}of{' '} + {table.getPageCount()} + + +
+
+ ) +} + +const getTheme = () => ({ + // react-json-view uses the 'base16' theme structure: + // https://github.com/chriskempson/base16/blob/master/styling.md + base00: 'white', // Default Background + base01: 'white', // Lighter Background + base02: variables.headerGrey, // Null background + base03: variables.almostBlack, // Null Text + base04: variables.mediumGrey, // Item counts + base05: variables.darkGrey, // Unused + base06: variables.darkGrey, // Unused + base07: variables.lightBlue, // Field names + base08: variables.darkGrey, // Unused + base09: variables.green, // Field values + base0A: variables.darkGrey, // Unused + base0B: variables.darkGrey, // Unused + base0C: variables.darkGrey, // Unused + base0D: variables.darkGrey, // Expanders + base0E: variables.darkGrey, // Expanders + base0F: variables.darkGrey // Expanders +}) + +const cleanseField = (value) => { + if (typeof value === 'boolean') { + return value.toString() + } else if (_.isNull(value) || _.isNaN(value)) { + return '' + } else if (typeof value === 'object') { + return JSON.stringify(value) + } else { + return value + } +} + +const cleanseRow = (row) => { + const reconstructedObject = Object.assign( + {}, + ...Object.entries(row).map(([k, v]) => ({ [k]: cleanseField(v) })) + ) + return reconstructedObject +} + +const cleanseData = (data) => { + if (!data || !data.map) return [] + return data.map(row => cleanseRow(row)) +} + +export default (props) => { + const [index, setIndex] = useState(0) + const isGeojson = props.format === 'geojson' + const cleanData = isGeojson ? undefined : (props.data ? cleanseData(props.data) : props.data) + + const columns = useMemo(() => { + return (props.columns || []).map((column) => ({ + header: column, + id: column, + accessorFn: (row) => row[column], + size: 120, + minSize: 60, + meta: { headerClassName: 'table-header' } + })) + }, [props.columns]) + + return ( +
+ setIndex(tabIndex)} + > + + + {!isGeojson && (Table)} + JSON + + + {!isGeojson && ( + +
+ +
+
+ )} + +
+ {props.loading + ? + : } +
+
+
+
+ ) } diff --git a/src/components/data-view/data-view.scss b/src/components/data-view/data-view.scss index 97aa561b..5ab2c6ee 100644 --- a/src/components/data-view/data-view.scss +++ b/src/components/data-view/data-view.scss @@ -7,10 +7,18 @@ justify-content: space-between; } - .ReactTable .rt-noData { + .no-data-message { color: black; } + tbody tr.striped-row { + background-color: rgba(0, 0, 0, 0.03); + } + + tbody tr:hover { + background-color: rgba(0, 0, 0, 0.05); + } + .header-text-items { margin: 1rem; } @@ -22,11 +30,61 @@ #data-view-table { color: $almost-black; + table { + table-layout: fixed; + border-collapse: collapse; + } + + .resizer { + position: absolute; + right: 0; + top: 0; + height: 100%; + width: 4px; + cursor: col-resize; + user-select: none; + touch-action: none; + background: rgba(0, 0, 0, 0.15); + opacity: 0; + + &:hover, + &.isResizing { + opacity: 1; + background: #005fcc; + } + } + + th:hover .resizer { + opacity: 1; + } + + th, td { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + padding: 7px 5px; + } + .table-header { background-color: $header-grey; text-align: left; font-weight: 800; } + + tbody th.row-header { + font-weight: normal; + text-align: left; + } + + .active-cell { + outline: 2px solid #005fcc; + outline-offset: -2px; + } + + table:focus { + outline: 2px solid #005fcc; + outline-offset: 2px; + } } #data-view-raw { diff --git a/src/components/data-view/data-view.test.js b/src/components/data-view/data-view.test.js index 6b6aab08..facfea94 100644 --- a/src/components/data-view/data-view.test.js +++ b/src/components/data-view/data-view.test.js @@ -3,7 +3,6 @@ import { } from 'enzyme' import DataView from './data-view' import { Tab, TabPanel } from 'react-tabs' -import ReactTable from 'react-table' import ReactJson from 'react-json-view' import LoadingElement from '../../components/generic-elements/loading-element' @@ -27,21 +26,23 @@ describe('data view', () => { }) test('should render table headers including column names with dots in them', () => { - const headers = subject.find('.rt-resizable-header-content') + const headers = subject.find('#data-view-table th') const actual = headers.map(x => x.text()) expect(actual).toContain('firstName', 'lastName', 'enrolled', 'firstName.lastName') }) test('should render table rows including data for column names with dots', () => { - const table_elements = subject.find('.rt-tr .rt-td') - const expected = [ - 'Joe', 'Smith', 'true', 'Joe Smith', - 'Jane', 'Doe', 'false', 'Jane Doe' - ] - const actual = table_elements.map((x) => x.text()) + const rowHeaders = subject.find('#data-view-table tbody .row-header').map(x => x.text()) + const dataCells = subject.find('#data-view-table tbody td').map(x => x.text()) + const actual = [...rowHeaders, ...dataCells] - expect(actual).toContain(...expected) + expect(actual).toContain('Joe') + expect(actual).toContain('Smith') + expect(actual).toContain('true') + expect(actual).toContain('Jane') + expect(actual).toContain('Doe') + expect(actual).toContain('false') }) test('should render two tabs', () => { @@ -52,12 +53,12 @@ describe('data view', () => { expect(subject.find(TabPanel).length).toEqual(2) }) - it('has a react table component on the first tab, and it is shown by default', () => { - expect(subject.find(ReactTable).length).toEqual(1) + it('has a data table on the first tab, and it is shown by default', () => { + expect(subject.find('#data-view-table table').length).toEqual(1) }) it('has a react json component on the second tab', () => { - subject.setState({ index: 1 }) + subject.find('[data-testid="data-json"]').first().simulate('click') expect(subject.find(ReactJson).length).toEqual(1) }) }) @@ -78,8 +79,8 @@ describe('data view', () => { expect(subject.find(TabPanel).length).toEqual(1) }) - it('does not have a react table component', () => { - expect(subject.find(ReactTable).length).toEqual(0) + it('does not have a data table component', () => { + expect(subject.find('#data-view-table').length).toEqual(0) }) it('has a react json component on the first tab', () => { @@ -93,7 +94,7 @@ describe('data view', () => { const data = [] const columns = ['firstName', 'lastName', 'enrolled', 'firstName.lastName'] subject = mount() - subject.setState({ index: 1 }) + subject.find('[data-testid="data-json"]').first().simulate('click') }) it('does not render a react json component', () => { @@ -106,7 +107,7 @@ describe('data view', () => { }) describe('data table', () => { - it('converts unrenderable values to strings only for the react table', () => { + it('converts unrenderable values to strings for the data table', () => { const queryData = [ { object: { value: 1 }, boolean: true, array: [1], nan: NaN, null: null }, { object: { value: 2 }, boolean: false, array: [2, 3], nan: NaN, null: null } @@ -115,16 +116,14 @@ describe('data view', () => { const subject = mount() - const expectedData = [ - { object: '{\"value\":1}', boolean: 'true', array: '[1]', nan: '', null: '' }, - { object: '{\"value\":2}', boolean: 'false', array: '[2,3]', nan: '', null: '' } - ] - - expect(subject.find(ReactTable).prop('data')).toEqual(expectedData) + const rowHeaders = subject.find('#data-view-table tbody .row-header').map(c => c.text()) + const dataCells = subject.find('#data-view-table tbody td').map(c => c.text()) + expect(rowHeaders).toEqual(['{"value":1}', '{"value":2}']) + expect(dataCells).toEqual(['true', '[1]', '', '', 'false', '[2,3]', '', '']) expect(subject.prop('data')).toEqual(queryData) }) - it('can handle column names with dots (.) by giving a custom accessor', () => { + it('can handle column names with dots (.) by rendering correct cell values', () => { const queryData = [ { 'first.name': 'Mark', 'last.name': 'Johnson' }, { 'first.name': 'George', 'last.name': 'Lakoff' } @@ -136,20 +135,17 @@ describe('data view', () => { const subject = mount() - const stringifyAccessor = column => { - column.accessor = column.accessor.toString().replace(/\s/g, '') - return column - } - - const expectedColumns = [ - { Header: 'first.name', id: 'first.name', accessor: (row) => row[column], headerClassName: 'table-header' }, - { Header: 'last.name', id: 'last.name', accessor: (row) => row[column], headerClassName: 'table-header' } - ] - expectedColumns.map(stringifyAccessor) - - const actualColumns = subject.find(ReactTable).prop('columns').map(stringifyAccessor) - - expect(actualColumns).toEqual(expectedColumns) + const headers = subject.find('#data-view-table th').map(h => h.text()) + expect(headers).toContain('first.name') + expect(headers).toContain('last.name') + + const rowHeaders = subject.find('#data-view-table tbody .row-header').map(c => c.text()) + const dataCells = subject.find('#data-view-table tbody td').map(c => c.text()) + const allCells = [...rowHeaders, ...dataCells] + expect(allCells).toContain('Mark') + expect(allCells).toContain('Johnson') + expect(allCells).toContain('George') + expect(allCells).toContain('Lakoff') }) }) }) diff --git a/src/components/dataset-dictionary/dataset-dictionary.js b/src/components/dataset-dictionary/dataset-dictionary.js index de0a35bc..9564148d 100644 --- a/src/components/dataset-dictionary/dataset-dictionary.js +++ b/src/components/dataset-dictionary/dataset-dictionary.js @@ -1,7 +1,6 @@ -import React from 'react' +import React, { useMemo, useState } from 'react' import './dataset-dictionary.scss' -import ReactTable from 'react-table' -import 'react-table/react-table.css' +import { useReactTable, getCoreRowModel, getSortedRowModel, getExpandedRowModel, flexRender } from '@tanstack/react-table' import CollapsableBox from '../../components/collapsable-box' import Tooltip from '../tooltip' @@ -9,91 +8,126 @@ const expanderWidth = 35 const expandedArrow = '\u25BE' const collapsedArrow = '\u25B8' -const renderFieldNameCell = schemaElement => ( - -) - -const renderTypeCell = schemaElement => ( -
- {schemaElement.value === 'list' - ? `list of ${schemaElement.original.itemType}` - : schemaElement.value} -
-) - const isMap = schemaElement => { return schemaElement.type === 'map' || schemaElement.itemType === 'map' } -const renderExpander = ({ isExpanded, original: schemaElement }) => { - let content = '' - if (isMap(schemaElement)) { - content = isExpanded ? expandedArrow : collapsedArrow - } - return
{content}
-} - -const renderSubTable = ({ original: schemaElement }) => { - return isMap(schemaElement) ? ( - - ) : ( - - ) -} - -const columns = [ +const schemaColumns = [ { - Header: 'Field', - accessor: 'name', - headerClassName: 'table-header', - width: 240, - className: 'field-name-cell', - Cell: renderFieldNameCell + id: 'expander', + header: () => null, + size: expanderWidth, + enableSorting: false, + cell: ({ row }) => ( +
+ {isMap(row.original) ? (row.getIsExpanded() ? expandedArrow : collapsedArrow) : ''} +
+ ) }, { - Header: 'Type', - accessor: 'type', - headerClassName: 'table-header', - width: 120, - Cell: renderTypeCell + header: 'Field', + accessorKey: 'name', + meta: { headerClassName: 'table-header', className: 'field-name-cell' }, + size: 240, + cell: ({ getValue }) => }, { - Header: 'Description', - accessor: 'description', - headerClassName: 'table-header', - className: 'description-cell' + header: 'Type', + accessorKey: 'type', + meta: { headerClassName: 'table-header' }, + size: 120, + cell: ({ getValue, row }) => ( +
+ {getValue() === 'list' + ? `list of ${row.original.itemType}` + : getValue()} +
+ ) + }, + { + header: 'Description', + accessorKey: 'description', + meta: { headerClassName: 'table-header', className: 'description-cell' } } ] const isEmpty = schema => !schema || schema.length < 1 const SchemaTable = ({ schema, parentFieldName = '', style }) => { - if (schema) { - return ( -
- -
- ) - } else { + const [sorting, setSorting] = useState([]) + const [expanded, setExpanded] = useState({}) + + const table = useReactTable({ + data: schema, + columns: schemaColumns, + state: { sorting, expanded }, + onSortingChange: setSorting, + onExpandedChange: setExpanded, + getRowCanExpand: row => isMap(row.original), + getCoreRowModel: getCoreRowModel(), + getSortedRowModel: getSortedRowModel(), + getExpandedRowModel: getExpandedRowModel() + }) + + if (!schema) { return (
Schema information not found. Contact the data curator.
) } + + return ( +
+ + + {table.getHeaderGroups().map(headerGroup => ( + + {headerGroup.headers.map(header => ( + + ))} + + ))} + + + {table.getRowModel().rows.map(row => ( + + + {row.getVisibleCells().map(cell => ( + + ))} + + {row.getIsExpanded() && ( + + + + )} + + ))} + +
+ {header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())} + {header.column.getIsSorted() === 'asc' ? ' ↑' : header.column.getIsSorted() === 'desc' ? ' ↓' : ''} +
+ {flexRender(cell.column.columnDef.cell, cell.getContext())} +
+ +
+
+ ) } const viewLink = datasetId => ( @@ -101,7 +135,7 @@ const viewLink = datasetId => ( View as JSON diff --git a/src/components/dataset-dictionary/dataset-dictionary.scss b/src/components/dataset-dictionary/dataset-dictionary.scss index 1dafa983..e4e339ee 100644 --- a/src/components/dataset-dictionary/dataset-dictionary.scss +++ b/src/components/dataset-dictionary/dataset-dictionary.scss @@ -18,8 +18,10 @@ dataset-dictionary { .dataset-schema-table { color: $almost-black; - .ReactTable { - border-width: 0 + table { + border-width: 0; + border-collapse: collapse; + width: 100%; } .table-header { diff --git a/src/components/dataset-dictionary/dataset-dictionary.test.js b/src/components/dataset-dictionary/dataset-dictionary.test.js index 2adc4cc8..e0c52160 100644 --- a/src/components/dataset-dictionary/dataset-dictionary.test.js +++ b/src/components/dataset-dictionary/dataset-dictionary.test.js @@ -1,7 +1,6 @@ import { shallow, mount } from 'enzyme' import DatasetDictionary from './dataset-dictionary' import CollapsableBox from '../collapsable-box' -import ReactTable from 'react-table' import Tooltip from '../tooltip' describe('dataset dictionary', () => { @@ -14,7 +13,6 @@ describe('dataset dictionary', () => { describe('with a basic schema', () => { beforeEach(() => { - const matchMedia = jest.fn() Object.defineProperty(window, 'matchMedia', { writable: true, value: jest.fn().mockImplementation(query => ({ @@ -26,7 +24,7 @@ describe('dataset dictionary', () => { it('has the correct table headers', () => { const table = subject.find('.dataset-schema-table') - const headers = table.find('.rt-th') + const headers = table.find('th') expect(headers.length).toBe(4) expect(headers.at(1).text()).toBe('Field') @@ -36,7 +34,7 @@ describe('dataset dictionary', () => { it('has the correct table values', () => { const table = subject.find('.dataset-schema-table') - const cells = table.find('.rt-td') + const cells = table.find('td') const expansionPlaceholder = '' const expectedCellValues = [ @@ -47,25 +45,18 @@ describe('dataset dictionary', () => { expectCorrectCellValues(expectedCellValues, cells) }) - it('does not have pagination', () => { - const table = subject.find(ReactTable) - expect(table.props().showPagination).toBe(false) + it('does not have pagination controls', () => { + expect(subject.find('.pagination').length).toBe(0) }) - it('has a page size to show the entire schema', () => { - const table = subject.find(ReactTable) - expect(table.props().defaultPageSize).toBe(Object.keys(basicSchema).length) + it('is sortable via column headers', () => { + const headers = subject.find('.dataset-schema-table th') + expect(headers.at(1).prop('onClick')).toBeTruthy() }) - it('is sortable', () => { - const table = subject.find(ReactTable) - expect(table.props().sortable).toBe(true) - }) - - it('has no left margin', () => { - const table = subject.find(ReactTable) - - expect(table.props().style.marginLeft).toBeFalsy() + it('has no left margin on the top-level table', () => { + const tableWrapper = subject.find('.dataset-schema-table').first() + expect(tableWrapper.prop('style')).toBeFalsy() }) }) @@ -78,7 +69,7 @@ describe('dataset dictionary', () => { subject = mount() const table = subject.find('.dataset-schema-table') - const cells = table.find('.rt-td') + const cells = table.find('td') const typeIndex = 2 expect(cells.at(typeIndex).text()).toBe(`list of ${schemaWithList[0].itemType}`) @@ -112,7 +103,7 @@ describe('dataset dictionary', () => { beforeEach(() => { subject = mount() topLevelTable = subject.find('.dataset-schema-table') - topLevelCells = topLevelTable.find('.rt-td') + topLevelCells = topLevelTable.find('td') }) it('has the correct table values', () => { @@ -136,7 +127,7 @@ describe('dataset dictionary', () => { topLevelTable = subject.find('.dataset-schema-table') subTable = topLevelTable.find('.dataset-schema-table.mother') - subTableCells = subTable.find('.rt-td') + subTableCells = subTable.find('td') }) it('toggles the direction of the arrow', () => { @@ -159,7 +150,7 @@ describe('dataset dictionary', () => { }) it('indents the sub table', () => { - expect(subTable.find(ReactTable).props().style.marginLeft).toBe('35px') + expect(subTable.prop('style').marginLeft).toBe('35px') }) it('toggles the direction of the arrow again when collapsed', () => { @@ -175,7 +166,7 @@ describe('dataset dictionary', () => { subTable = subject.find('.dataset-schema-table.mother') subSubTable = subTable.find('.dataset-schema-table.children') - subSubTableCells = subSubTable.find('.rt-td') + subSubTableCells = subSubTable.find('td') }) it('renders another sub table for the list of maps with correct values', () => { @@ -207,8 +198,8 @@ describe('dataset dictionary', () => { beforeEach(() => { subject = mount() topLevelTable = subject.find('.dataset-schema-table') - const topLevelCells = topLevelTable.find('.rt-td.rt-expandable') - topLevelCells.at(1).simulate('click') + const expanderCells = topLevelTable.find('td.expander-td') + expanderCells.at(1).simulate('click') topLevelTable = subject.find('.dataset-schema-table') }) @@ -276,7 +267,7 @@ describe('dataset dictionary', () => { const expectCorrectCellValues = (expectedCellValues, cells) => { expectedCellValues.forEach((expected, index) => { - if (index % 4 == 1) { // handle special rendering for field name tooltip + if (index % 4 === 1) { // handle special rendering for field name tooltip expect(cells.at(index).find(Tooltip).props().text).toBe(expected) } else { expect(cells.at(index).text()).toBe(expected) diff --git a/src/components/dataset-metadata/dataset-metadata.js b/src/components/dataset-metadata/dataset-metadata.js index df7afd99..6187d36f 100644 --- a/src/components/dataset-metadata/dataset-metadata.js +++ b/src/components/dataset-metadata/dataset-metadata.js @@ -1,157 +1,198 @@ -import React, { Component } from 'react' +import React, { useMemo } from 'react' import './dataset-metadata.scss' -import ReactTable from 'react-table' -import 'react-table/react-table.css' +import { useReactTable, getCoreRowModel, getSortedRowModel, flexRender } from '@tanstack/react-table' import CollapsableBox from '../../components/collapsable-box' -export default class extends Component { - render() { - const { dataset } = this.props - if (!this.props.dataset) { - return
+const MetadataTable = ({ data }) => { + const columns = useMemo(() => [ + { + header: 'Field', + accessorKey: 'Field', + meta: { headerClassName: 'table-header' }, + size: 160 + }, + { + header: 'Value', + accessorKey: 'Value', + meta: { headerClassName: 'table-header' }, + cell: info => info.getValue() ?? null } - const referenceUrls = dataset.referenceUrls || [] + ], []) - const data = [ - { - Field: 'Maintainer', - Value: mailto(dataset.contactEmail, dataset.contactName) - }, - { - Field: 'Last Updated', - Value: dataset.modified - }, - { - Field: 'Data Last Ingested', - Value: dataset.lastUpdatedDate - }, - { - Field: 'Rights', - Value: dataset.rights - }, - { - Field: 'Spatial', - Value: dataset.spatial - }, - { - Field: 'Temporal', - Value: dataset.temporal - }, - { - Field: 'Release Date', - Value: dataset.issuedDate - }, - { - Field: 'Frequency', - Value: dataset.publishFrequency - }, - { - Field: 'Data Dictionary URL', - Value: ( - - {dataset.describedByUrl} - - ) - }, - { - Field: 'Data Dictionary Type', - Value: dataset.describedByMimeType - }, - { - Field: 'Collection', - Value: dataset.parentDataset - }, - { - Field: 'Language', - Value: dataset.language - }, - { - Field: 'Homepage URL', - Value: {dataset.homepage} - }, - { - Field: 'Related Documents', - Value: referenceUrls.map(url => ( - - )) - }, - { - Field: 'Source URL', - Value: ( - - {dataset.sourceUrl} - - ) - }, - { - Field: 'Source Type', - Value: dataset.sourceType - }, - { - Field: 'License', - Value: ( - - {dataset.license} - - ) - }, - { - Field: 'Category', - Value: dataset.catagories - }, - { - Field: 'Count - Downloads', - Value: dataset.downloads - }, - { - Field: 'Count - API Queries', - Value: dataset.queries - }, - { - Field: 'Access Level', - Value: dataset.accessLevel - }, - { - Field: 'Table Name', - Value: dataset.systemName - } - ] + const [sorting, setSorting] = React.useState([{ id: 'Field', desc: false }]) - const columns = [ - { - Header: 'Field', - accessor: 'Field', - headerClassName: 'table-header', - width: 160 - }, - { Header: 'Value', accessor: 'Value', headerClassName: 'table-header' } - ] + const table = useReactTable({ + data, + columns, + state: { sorting }, + onSortingChange: setSorting, + getCoreRowModel: getCoreRowModel(), + getSortedRowModel: getSortedRowModel() + }) - return ( - - ) - } + return ( + + + {table.getHeaderGroups().map(headerGroup => ( + + {headerGroup.headers.map(header => ( + + ))} + + ))} + + + {table.getRowModel().rows.map(row => ( + + {row.getVisibleCells().map(cell => ( + + ))} + + ))} + +
{ if (e.key === 'Enter' || e.key === ' ') header.column.getToggleSortingHandler()(e) }} + > + {flexRender(header.column.columnDef.header, header.getContext())} + {header.column.getIsSorted() === 'asc' ? ' ↑' : header.column.getIsSorted() === 'desc' ? ' ↓' : ''} +
+ {flexRender(cell.column.columnDef.cell, cell.getContext())} +
+ ) +} + +export default ({ dataset }) => { + if (!dataset) return
+ const referenceUrls = dataset.referenceUrls || [] + + const data = [ + { + Field: 'Maintainer', + Value: mailto(dataset.contactEmail, dataset.contactName) + }, + { + Field: 'Last Updated', + Value: dataset.modified + }, + { + Field: 'Data Last Ingested', + Value: dataset.lastUpdatedDate + }, + { + Field: 'Rights', + Value: dataset.rights + }, + { + Field: 'Spatial', + Value: dataset.spatial + }, + { + Field: 'Temporal', + Value: dataset.temporal + }, + { + Field: 'Release Date', + Value: dataset.issuedDate + }, + { + Field: 'Frequency', + Value: dataset.publishFrequency + }, + { + Field: 'Data Dictionary URL', + Value: ( + + {dataset.describedByUrl} + + ) + }, + { + Field: 'Data Dictionary Type', + Value: dataset.describedByMimeType + }, + { + Field: 'Collection', + Value: dataset.parentDataset + }, + { + Field: 'Language', + Value: dataset.language + }, + { + Field: 'Homepage URL', + Value: {dataset.homepage} + }, + { + Field: 'Related Documents', + Value: referenceUrls.map(url => ( + + )) + }, + { + Field: 'Source URL', + Value: ( + + {dataset.sourceUrl} + + ) + }, + { + Field: 'Source Type', + Value: dataset.sourceType + }, + { + Field: 'License', + Value: ( + + {dataset.license} + + ) + }, + { + Field: 'Category', + Value: dataset.catagories + }, + { + Field: 'Count - Downloads', + Value: dataset.downloads + }, + { + Field: 'Count - API Queries', + Value: dataset.queries + }, + { + Field: 'Access Level', + Value: dataset.accessLevel + }, + { + Field: 'Table Name', + Value: dataset.systemName + } + ] + + return ( + + ) } -function mailto(email, name) { +function mailto (email, name) { if (email) { - return {name} + return {name} } else { return {name} } diff --git a/src/components/dataset-metadata/dataset-metadata.test.js b/src/components/dataset-metadata/dataset-metadata.test.js index 34dffc81..e677efef 100644 --- a/src/components/dataset-metadata/dataset-metadata.test.js +++ b/src/components/dataset-metadata/dataset-metadata.test.js @@ -1,24 +1,35 @@ -import { shallow } from 'enzyme' +import { mount } from 'enzyme' import DatasetMetadata from './dataset-metadata' +beforeEach(() => { + Object.defineProperty(window, 'matchMedia', { + writable: true, + value: jest.fn().mockImplementation(query => ({ + matches: true + })) + }) +}) + describe('additional info element', () => { test('card to render text based on props', () => { - const subject = shallow() - const table = subject.find('ReactTable') - expect(table.prop('data')[4]).toEqual({ Field: 'Spatial', Value: 'Ohio' }) + const subject = mount() + const cells = subject.find('td') + const spatialValue = cells.filterWhere(td => td.text() === 'Ohio') + expect(spatialValue.length).toBe(1) }) test('card renders mailto link correctly', () => { - const subject = shallow() - const actual = JSON.stringify(subject.find('ReactTable').prop('data')[0]) - const expected = JSON.stringify({ Field: 'Maintainer', Value: John }) - expect(actual).toEqual(expected) + const subject = mount() + const link = subject.find('a[href="mailto:john@smith.com"]') + expect(link.length).toBe(1) + expect(link.text()).toBe('John') }) test('referenceUrls renders correctly', () => { - const subject = shallow() - const actual = JSON.stringify(subject.find('ReactTable').prop('data')[13]) - const expected = JSON.stringify({ Field: 'Related Documents', Value: [, ] }) - expect(actual).toEqual(expected) + const subject = mount() + const googleLink = subject.find('a[href="https://www.google.com"]') + const facebookLink = subject.find('a[href="https://www.facebook.com"]') + expect(googleLink.length).toBe(1) + expect(facebookLink.length).toBe(1) }) }) diff --git a/src/components/dataset-preview/connector.js b/src/components/dataset-preview/connector.js index 1eea4e5a..6341b1be 100644 --- a/src/components/dataset-preview/connector.js +++ b/src/components/dataset-preview/connector.js @@ -1,12 +1,14 @@ import { connect } from 'react-redux' import DatasetPreview from './dataset-preview' import { retrieveDatasetPreview } from '../../store/actions' -import { getDataSetPreview } from '../../store/selectors' +import { getDataSetPreview, getDataSet } from '../../store/selectors' const mapStateToProps = (state, { format }) => { + const dataset = getDataSet(state) return { datasetPreview: getDataSetPreview(state, format), - previewLoading: state.presentation.previewLoading + previewLoading: state.presentation.previewLoading, + datasetName: dataset && dataset.title } } diff --git a/src/components/dataset-preview/dataset-preview.js b/src/components/dataset-preview/dataset-preview.js index d57f30d6..1c9391e9 100644 --- a/src/components/dataset-preview/dataset-preview.js +++ b/src/components/dataset-preview/dataset-preview.js @@ -1,6 +1,5 @@ import React, { Component } from 'react' import './dataset-preview.scss' -import 'react-table/react-table.css' import CollapsableBox from '../../components/collapsable-box' import DataView from '../data-view' @@ -17,7 +16,7 @@ export default class extends Component { return (
- +
) diff --git a/src/pages/query-view/connector.js b/src/pages/query-view/connector.js index d13cdd1b..e15531f8 100644 --- a/src/pages/query-view/connector.js +++ b/src/pages/query-view/connector.js @@ -3,11 +3,13 @@ import QueryView from './query-view' import { executeFreestyleQuery, cancelFreestyleQuery, setQueryText } from '../../store/actions' import { getVisualizationDataSources, getQueryIsLoading, getFreestyleQueryText, getQueryData, getQueryFailureMessage, isQueryDataAvailable } from '../../store/query-selectors' import { visualizationUsedDatasets } from '../../store/visualization-selectors' -import { getDatasetRecommendations, getDataSetReferences } from '../../store/selectors' +import { getDatasetRecommendations, getDataSetReferences, getDataSet } from '../../store/selectors' const mapStateToProps = state => { + const dataset = getDataSet(state) return { dataSources: getVisualizationDataSources(state), + datasetName: dataset && dataset.title, recommendations: getDatasetRecommendations(state), usedDatasets: visualizationUsedDatasets(state), datasetReferences: getDataSetReferences(state), diff --git a/src/pages/query-view/query-view.js b/src/pages/query-view/query-view.js index 75485948..85251fda 100644 --- a/src/pages/query-view/query-view.js +++ b/src/pages/query-view/query-view.js @@ -9,6 +9,7 @@ import _ from 'lodash' const QueryView = props => { const { dataSources, + datasetName, recommendations, usedDatasets, datasetReferences, @@ -74,6 +75,7 @@ const QueryView = props => { page={page} columns={Object.keys(dataSources)} onNextPageClicked={onNextPageClicked} + datasetName={datasetName} />
diff --git a/src/pages/query-view/query-view.test.js b/src/pages/query-view/query-view.test.js index 344638e5..62a7f53d 100644 --- a/src/pages/query-view/query-view.test.js +++ b/src/pages/query-view/query-view.test.js @@ -3,7 +3,6 @@ import { shallow } from 'enzyme' import QueryView from './query-view' import QueryForm from '../../components/query-form' import LoadingElement from '../../components/generic-elements/loading-element' -import ReactTable from 'react-table' // Currently, shallow rendering is not compatible with React hooks. // We've utilized a strategy found here https://blog.carbonfive.com/2019/08/05/shallow-testing-hooks-with-enzyme/ diff --git a/src/pages/user-profile-view/user-profile-view.js b/src/pages/user-profile-view/user-profile-view.js index 4e7cb2ed..e99ec217 100644 --- a/src/pages/user-profile-view/user-profile-view.js +++ b/src/pages/user-profile-view/user-profile-view.js @@ -1,6 +1,6 @@ -import React, { useEffect, useState } from 'react' +import React, { useEffect, useState, useMemo } from 'react' import Auth0LoginZone from '../../components/auth0-login-zone' -import ReactTable from 'react-table' +import { useReactTable, getCoreRowModel, getSortedRowModel, getPaginationRowModel, flexRender } from '@tanstack/react-table' import Modal from 'react-modal' import AriaModal from 'react-aria-modal' import DeleteIcon from '@material-ui/icons/DeleteForever' @@ -64,17 +64,24 @@ const UserProfileView = (props) => { Modal.setAppElement('*') const columns = [ - { Header: 'Title', accessor: 'title', headerClassName: 'table-header' }, - { Header: 'Date Created', accessor: 'created', headerClassName: 'table-header' }, - { Header: 'Date Modified', accessor: 'updated', headerClassName: 'table-header' }, + { header: 'Title', accessorKey: 'title', meta: { headerClassName: 'table-header' } }, + { header: 'Date Created', accessorKey: 'created', meta: { headerClassName: 'table-header' } }, + { header: 'Date Modified', accessorKey: 'updated', meta: { headerClassName: 'table-header' } }, { - Header: '', - accessor: 'delete', - headerClassName: 'table-header', - className: 'centered', - width: 50, - Cell: ({ original }) => ( - { if (event.key === ' ' || event.key === 'Enter') { openDeleteModalForVisualization(original.id) } }} onClick={() => { openDeleteModalForVisualization(original.id) }}> + id: 'delete', + header: '', + meta: { headerClassName: 'table-header', className: 'centered' }, + size: 50, + enableSorting: false, + cell: ({ row }) => ( + { if (event.key === ' ' || event.key === 'Enter') { openDeleteModalForVisualization(row.original.id) } }} + onClick={() => { openDeleteModalForVisualization(row.original.id) }} + > ) @@ -116,14 +123,7 @@ const UserProfileView = (props) => {
- +
{modal} @@ -131,4 +131,84 @@ const UserProfileView = (props) => { ) } +const VisualizationsTable = ({ visualizations, columns, loading }) => { + const [sorting, setSorting] = useState([{ id: 'updated', desc: true }]) + + const table = useReactTable({ + data: visualizations, + columns, + state: { sorting }, + onSortingChange: setSorting, + getCoreRowModel: getCoreRowModel(), + getSortedRowModel: getSortedRowModel(), + getPaginationRowModel: getPaginationRowModel(), + initialState: { pagination: { pageSize: 10 } } + }) + + if (loading) { + return + } + + return ( +
+ + + {table.getHeaderGroups().map(headerGroup => ( + + {headerGroup.headers.map(header => ( + + ))} + + ))} + + + {table.getRowModel().rows.map((row, i) => ( + + {row.getVisibleCells().map(cell => ( + + ))} + + ))} + +
+ {header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())} + {header.column.getIsSorted() === 'asc' ? ' ↑' : header.column.getIsSorted() === 'desc' ? ' ↓' : ''} +
+ {flexRender(cell.column.columnDef.cell, cell.getContext())} +
+ {table.getPageCount() > 1 && ( +
+ + + Page {table.getState().pagination.pageIndex + 1} of {table.getPageCount()} + + +
+ )} +
+ ) +} + export default UserProfileView diff --git a/src/pages/user-profile-view/user-profile-view.test.js b/src/pages/user-profile-view/user-profile-view.test.js index bbe4c575..5336879c 100644 --- a/src/pages/user-profile-view/user-profile-view.test.js +++ b/src/pages/user-profile-view/user-profile-view.test.js @@ -1,7 +1,6 @@ import { shallow, mount } from 'enzyme' import UserProfileView from './user-profile-view' import LoadingElement from '../../components/generic-elements/loading-element' -import ReactTable from 'react-table' import ErrorComponent from '../../components/generic-elements/error-component' import AriaModal from 'react-aria-modal' import createAuth0Client from '@auth0/auth0-spa-js' @@ -39,14 +38,12 @@ describe('user profile view', () => { visualizations: visualizations, auth: { isAuthenticated: true }, loadSuccess: true - }) + }, mount) }) it("provides a table with the visualizations' information", () => { - expect(subject.find(ReactTable)).toHaveLength(1) - expect(subject.find(ReactTable).props().data).toHaveLength(2) - expect(subject.find(ReactTable).props().data[0].id).toEqual('id1') - expect(subject.find(ReactTable).props().data[1].id).toEqual('id2') + expect(subject.find('#user-visualizations-table table')).toHaveLength(1) + expect(subject.find('#user-visualizations-table tbody tr')).toHaveLength(2) }) }) @@ -57,7 +54,7 @@ describe('user profile view', () => { it('shows an error message', () => { expect(subject.find(ErrorComponent)).toHaveLength(1) - expect(subject.find(ReactTable)).toHaveLength(0) + expect(subject.find('#user-visualizations-table')).toHaveLength(0) }) }) From fe5e47b7e30e03dbf3fc634892e6174d7ce033c7 Mon Sep 17 00:00:00 2001 From: smithc197 Date: Tue, 19 May 2026 15:52:49 -0400 Subject: [PATCH 02/16] Changed text color for organization header See BUG 12057 --- package-lock.json | 41 ++++++++++++++++++- package.json | 2 +- .../dataset-detail-view.scss | 2 +- 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 70085dc6..a01840ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@urbanos/react-discovery-ui", - "version": "2.1.51", + "version": "2.1.52", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@urbanos/react-discovery-ui", - "version": "2.1.51", + "version": "2.1.52", "license": "ISC", "dependencies": { "@auth0/auth0-spa-js": "1.22.5", @@ -12615,6 +12615,24 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-circus/node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, "node_modules/jest-circus/node_modules/chalk": { "version": "4.1.2", "dev": true, @@ -12630,6 +12648,25 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/jest-circus/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/jest-circus/node_modules/dedent": { "version": "1.5.3", "dev": true, diff --git a/package.json b/package.json index 61d9d0aa..368594cd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@urbanos/react-discovery-ui", - "version": "2.1.51", + "version": "2.1.52", "description": "React component for dataset discovery UI", "main": "./lib/ReactDiscoveryUI.js", "repository": { diff --git a/src/pages/dataset-detail-view/dataset-detail-view.scss b/src/pages/dataset-detail-view/dataset-detail-view.scss index 6e838392..8a258331 100644 --- a/src/pages/dataset-detail-view/dataset-detail-view.scss +++ b/src/pages/dataset-detail-view/dataset-detail-view.scss @@ -89,7 +89,7 @@ dataset-detail-view { dataset-detail-view .name, dataset-organization .name { font-size:1rem; line-height:1.4; - color:#999999; + color:#555555; font-weight:normal; } dataset-organization .organization-header { From 868f9067f121257feef02a9a5021259d620ba5c6 Mon Sep 17 00:00:00 2001 From: smithc197 Date: Fri, 29 May 2026 14:41:48 -0400 Subject: [PATCH 03/16] Added scrolling to overflowing elements in tables Confirmed that horizontal scrolling via the arrow keys is functioning properly; Addresses bug 120575 --- src/components/collapsable-box/collapsable-box.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/collapsable-box/collapsable-box.scss b/src/components/collapsable-box/collapsable-box.scss index 216d8913..435ef0f9 100644 --- a/src/components/collapsable-box/collapsable-box.scss +++ b/src/components/collapsable-box/collapsable-box.scss @@ -7,6 +7,7 @@ collapsable-box { border: 1px solid $light-grey; width: 100%; margin-top: 2.5rem; + overflow-x: scroll; .header-container { display: flex; @@ -36,4 +37,4 @@ collapsable-box { color: $dark-grey; margin: 10px 10px 0 0; } -} \ No newline at end of file +} From ffea2aaf5f1cb62b95706b3a91f340e28b0a08a0 Mon Sep 17 00:00:00 2001 From: smithc197 Date: Fri, 29 May 2026 16:43:40 -0400 Subject: [PATCH 04/16] Added 'alt' attribute to organization logo Addresses bug 120584 --- src/components/organization/organization.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/organization/organization.js b/src/components/organization/organization.js index cd7c31c3..c66cf78b 100644 --- a/src/components/organization/organization.js +++ b/src/components/organization/organization.js @@ -5,7 +5,11 @@ export default ({ organization }) => (
Organization Info
- + {`${organization.title}
{organization.title}
{organization.description}
From 870f763796779708a9842a2dd60eb49ce125d7ef Mon Sep 17 00:00:00 2001 From: smithc197 Date: Fri, 29 May 2026 16:44:31 -0400 Subject: [PATCH 05/16] Modified the dataset-metadata table to display "Unavailable" if no data is provided Addresses bug 120584 --- .../dataset-metadata/dataset-metadata.js | 59 +++++++++++++------ 1 file changed, 42 insertions(+), 17 deletions(-) diff --git a/src/components/dataset-metadata/dataset-metadata.js b/src/components/dataset-metadata/dataset-metadata.js index 6187d36f..af3b70b7 100644 --- a/src/components/dataset-metadata/dataset-metadata.js +++ b/src/components/dataset-metadata/dataset-metadata.js @@ -15,7 +15,7 @@ const MetadataTable = ({ data }) => { header: 'Value', accessorKey: 'Value', meta: { headerClassName: 'table-header' }, - cell: info => info.getValue() ?? null + cell: info => info.getValue() ?? Unavailable } ], []) @@ -108,9 +108,13 @@ export default ({ dataset }) => { { Field: 'Data Dictionary URL', Value: ( - - {dataset.describedByUrl} - + dataset.describedByUrl ? ( + + {dataset.describedByUrl} + + ) : ( + Unavailable + ) ) }, { @@ -127,24 +131,41 @@ export default ({ dataset }) => { }, { Field: 'Homepage URL', - Value: {dataset.homepage} + Value: ( + dataset.homepage ? ( + + {dataset.homepage ?? "Unavailable"} + + ) : ( + Unavailable + ) + ) }, { Field: 'Related Documents', - Value: referenceUrls.map(url => ( - + Value: ( + referenceUrls.length === 0 ? ( + None + ) : ( + referenceUrls.map(url => ( + + )) )) }, { Field: 'Source URL', Value: ( - - {dataset.sourceUrl} - + dataset.sourceUrl ? ( + + {dataset.sourceUrl ?? "Unavailable"} + + ) : ( + Unavailable + ) ) }, { @@ -154,9 +175,13 @@ export default ({ dataset }) => { { Field: 'License', Value: ( - - {dataset.license} - + dataset.license ? ( + + {dataset.license ?? "Unavailable"} + + ) : ( + Unavailable + ) ) }, { From 6b705fb518d2b991b7a52cbde7a6ed6d8d0cac66 Mon Sep 17 00:00:00 2001 From: smithc197 Date: Fri, 29 May 2026 16:46:10 -0400 Subject: [PATCH 06/16] Bumped version number --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 368594cd..df1af4a9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@urbanos/react-discovery-ui", - "version": "2.1.52", + "version": "2.1.53", "description": "React component for dataset discovery UI", "main": "./lib/ReactDiscoveryUI.js", "repository": { From e76c1ec486d8fb9493293679fd411e221e7833f5 Mon Sep 17 00:00:00 2001 From: smithc197 Date: Wed, 3 Jun 2026 08:37:25 -0400 Subject: [PATCH 07/16] Updated version number in package-lock.json --- package-lock.json | 288 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 249 insertions(+), 39 deletions(-) diff --git a/package-lock.json b/package-lock.json index a01840ff..2249e96e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@urbanos/react-discovery-ui", - "version": "2.1.52", + "version": "2.1.53", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@urbanos/react-discovery-ui", - "version": "2.1.52", + "version": "2.1.53", "license": "ISC", "dependencies": { "@auth0/auth0-spa-js": "1.22.5", @@ -3549,6 +3549,178 @@ "@parcel/watcher-win32-x64": "2.5.1" } }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "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.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "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.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "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.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "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.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "libc": [ + "musl" + ], + "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.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "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.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "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.5.1", "cpu": [ @@ -3585,6 +3757,66 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "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.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "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.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/@plotly/d3-sankey": { "version": "0.7.2", "license": "BSD-3-Clause", @@ -10351,6 +10583,21 @@ "dev": true, "license": "ISC" }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "license": "MIT", @@ -12615,24 +12862,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-circus/node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, "node_modules/jest-circus/node_modules/chalk": { "version": "4.1.2", "dev": true, @@ -12648,25 +12877,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-circus/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/jest-circus/node_modules/dedent": { "version": "1.5.3", "dev": true, From 3e5b401ecbf39fcf05df69a2be6738a06cd8603b Mon Sep 17 00:00:00 2001 From: smithc197 Date: Thu, 4 Jun 2026 09:47:55 -0400 Subject: [PATCH 08/16] Modified search-params-manager to remove parsed facets with invalid brackets, curly braces, or parentheses --- package-lock.json | 966 ++++++++++++++------- src/search-params/search-params-manager.js | 15 +- 2 files changed, 669 insertions(+), 312 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2249e96e..72493e15 100644 --- a/package-lock.json +++ b/package-lock.json @@ -234,10 +234,12 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.29.0", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", + "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -300,13 +302,15 @@ } }, "node_modules/@babel/generator": { - "version": "7.26.5", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.5", - "@babel/types": "^7.26.5", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" }, "engines": { @@ -426,6 +430,15 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.25.9", "dev": true, @@ -439,24 +452,28 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.26.0", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -477,7 +494,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.26.5", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", "dev": true, "license": "MIT", "engines": { @@ -529,14 +548,18 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -576,10 +599,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.29.0", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", "license": "MIT", "dependencies": { - "@babel/types": "^7.29.0" + "@babel/types": "^7.29.7" }, "bin": { "parser": "bin/babel-parser.js" @@ -1496,14 +1521,16 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.25.9", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.7.tgz", + "integrity": "sha512-TM2ZcQLoG2/y4HODiStCo10DibYhWhGWAwVv+EQKmG/7GFl0N+AAmUiXOMKM+aiJ9XBJ9AHVZBvTzMnJ2sM3cQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -2083,39 +2110,45 @@ } }, "node_modules/@babel/template": { - "version": "7.28.6", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.26.7", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.5", - "@babel/parser": "^7.26.7", - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.7", - "debug": "^4.3.1", - "globals": "^11.1.0" + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", + "debug": "^4.3.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/types": { - "version": "7.29.0", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -2403,7 +2436,9 @@ } }, "node_modules/@cypress/request": { - "version": "3.0.10", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-4.0.1.tgz", + "integrity": "sha512-y20e+e6dFYkOUUJLVUZTsJRuTiXZaUQ32WD+R/ux/HBybbTx4ge7cNINcua0pU8+SNkKuRbOF12mBmzuzM8n5w==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -2420,28 +2455,13 @@ "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "performance-now": "^2.1.0", - "qs": "~6.14.1", + "qs": "^6.15.2", "safe-buffer": "^5.1.2", "tough-cookie": "^5.0.0", - "tunnel-agent": "^0.6.0", - "uuid": "^8.3.2" + "tunnel-agent": "^0.6.0" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/@cypress/request/node_modules/qs": { - "version": "6.14.2", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 14.17.0" } }, "node_modules/@cypress/xvfb": { @@ -3222,15 +3242,13 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { @@ -3242,6 +3260,7 @@ }, "node_modules/@jridgewell/set-array": { "version": "1.2.1", + "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -3257,7 +3276,9 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { @@ -4015,7 +4036,9 @@ } }, "node_modules/@tootallnate/once": { - "version": "2.0.0", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.1.tgz", + "integrity": "sha512-HqmEUIGRJ5fSXchkVgR5F7qn48bDBzv0kWj/Kfu5e6uci4UlEeng4331LnBkWffb++Ei3FOVLxo8JJWMFBDMeQ==", "dev": true, "license": "MIT", "engines": { @@ -4454,15 +4477,6 @@ "version": "21.0.0", "license": "MIT" }, - "node_modules/@types/yauzl": { - "version": "2.10.0", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@ungap/structured-clone": { "version": "1.3.0", "dev": true, @@ -4766,7 +4780,6 @@ }, "node_modules/agent-base": { "version": "6.0.2", - "dev": true, "license": "MIT", "dependencies": { "debug": "4" @@ -4775,18 +4788,6 @@ "node": ">= 6.0.0" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/airbnb-prop-types": { "version": "2.16.0", "dev": true, @@ -4815,7 +4816,9 @@ "license": "MIT" }, "node_modules/ajv": { - "version": "6.12.6", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, "license": "MIT", "dependencies": { @@ -4893,14 +4896,6 @@ "simplicial-complex-boundary": "^1.0.0" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-escapes": { "version": "4.3.2", "dev": true, @@ -5250,6 +5245,8 @@ }, "node_modules/asn1": { "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, "license": "MIT", "dependencies": { @@ -5269,6 +5266,8 @@ }, "node_modules/assert-plus": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, "license": "MIT", "engines": { @@ -5370,6 +5369,8 @@ }, "node_modules/aws-sign2": { "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -5378,21 +5379,31 @@ }, "node_modules/aws4": { "version": "1.13.2", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", + "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", "dev": true, "license": "MIT" }, "node_modules/axios": { - "version": "1.13.5", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.17.0.tgz", + "integrity": "sha512-J8SwNxprqqpbfenehxWYXE7CW+wM1BB4w3+N+g+/Wx40xM4rsLrfPmHHxSWIxJLYDgSY/HqlFPIYb2/S3rxafw==", "license": "MIT", "dependencies": { - "follow-redirects": "^1.15.11", + "follow-redirects": "^1.16.0", "form-data": "^4.0.5", - "proxy-from-env": "^1.1.0" + "https-proxy-agent": "^5.0.1", + "proxy-from-env": "^2.1.0" } }, "node_modules/axios/node_modules/proxy-from-env": { - "version": "1.1.0", - "license": "MIT" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } }, "node_modules/babel-code-frame": { "version": "6.26.0", @@ -5840,6 +5851,8 @@ }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -5902,11 +5915,15 @@ "license": "MIT" }, "node_modules/bn.js": { - "version": "4.12.0", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "license": "MIT" }, "node_modules/body-parser": { - "version": "1.20.4", + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", + "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", "dev": true, "license": "MIT", "dependencies": { @@ -5918,7 +5935,7 @@ "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "on-finished": "~2.4.1", - "qs": "~6.14.0", + "qs": "~6.15.1", "raw-body": "~2.5.3", "type-is": "~1.6.18", "unpipe": "~1.0.0" @@ -5960,20 +5977,6 @@ "dev": true, "license": "MIT" }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.14.2", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/body-parser/node_modules/statuses": { "version": "2.0.2", "dev": true, @@ -6011,7 +6014,9 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.12", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", "dev": true, "license": "MIT", "dependencies": { @@ -6099,14 +6104,6 @@ "ieee754": "^1.2.1" } }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/buffer-from": { "version": "1.1.2", "license": "MIT" @@ -6128,7 +6125,9 @@ } }, "node_modules/cachedir": { - "version": "2.3.0", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", + "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", "dev": true, "license": "MIT", "engines": { @@ -6235,6 +6234,8 @@ }, "node_modules/caseless": { "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true, "license": "Apache-2.0" }, @@ -6566,14 +6567,6 @@ "uniq": "^1.0.1" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/cli-cursor": { "version": "3.1.0", "dev": true, @@ -6600,31 +6593,112 @@ } }, "node_modules/cli-truncate": { - "version": "2.1.0", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz", + "integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==", "dev": true, "license": "MIT", "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" + "slice-ansi": "^8.0.0", + "string-width": "^8.2.0" }, "engines": { - "node": ">=8" + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", + "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.3.1" + }, + "engines": { + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cli-truncate/node_modules/slice-ansi": { - "version": "3.0.0", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz", + "integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "ansi-styles": "^6.2.3", + "is-fullwidth-code-point": "^5.1.0" }, "engines": { - "node": ">=8" + "node": ">=20" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz", + "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/cliui": { @@ -6818,7 +6892,9 @@ } }, "node_modules/colorette": { - "version": "2.0.19", + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true, "license": "MIT" }, @@ -7669,12 +7745,14 @@ } }, "node_modules/cypress": { - "version": "15.10.0", + "version": "15.16.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-15.16.0.tgz", + "integrity": "sha512-fy0M0c9xDLEp4v9y7LLKFeAQhIdDsobxDSKpD3JcZpqQefjy9TSzEyVV3HA0zu7hUi0bGHlSYlI7ASub8wgR9A==", "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { - "@cypress/request": "^3.0.10", + "@cypress/request": "^4.0.0", "@cypress/xvfb": "^1.2.4", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", @@ -7683,25 +7761,21 @@ "blob-util": "^2.0.2", "bluebird": "^3.7.2", "buffer": "^5.7.1", - "cachedir": "^2.3.0", + "cachedir": "^2.4.0", "chalk": "^4.1.0", "ci-info": "^4.1.0", - "cli-cursor": "^3.1.0", "cli-table3": "0.6.1", "commander": "^6.2.1", "common-tags": "^1.8.0", "dayjs": "^1.10.4", "debug": "^4.3.4", - "enquirer": "^2.3.6", "eventemitter2": "6.4.7", "execa": "4.1.0", "executable": "^4.1.1", - "extract-zip": "2.0.1", - "figures": "^3.2.0", "fs-extra": "^9.1.0", "hasha": "5.2.2", "is-installed-globally": "~0.4.0", - "listr2": "^3.8.3", + "listr2": "^9.0.5", "lodash": "^4.17.23", "log-symbols": "^4.0.0", "minimist": "^1.2.8", @@ -7711,11 +7785,12 @@ "proxy-from-env": "1.0.0", "request-progress": "^3.0.0", "supports-color": "^8.1.1", - "systeminformation": "^5.27.14", + "systeminformation": "^5.31.1", "tmp": "~0.2.4", "tree-kill": "1.2.2", + "tslib": "1.14.1", "untildify": "^4.0.0", - "yauzl": "^2.10.0" + "yauzl": "^3.3.1" }, "bin": { "cypress": "bin/cypress" @@ -7809,6 +7884,13 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/cypress/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, "node_modules/d": { "version": "1.0.1", "license": "ISC", @@ -7890,6 +7972,8 @@ }, "node_modules/dashdash": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, "license": "MIT", "dependencies": { @@ -8488,6 +8572,8 @@ }, "node_modules/ecc-jsbn": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, "license": "MIT", "dependencies": { @@ -8582,17 +8668,6 @@ "node": ">=10.13.0" } }, - "node_modules/enquirer": { - "version": "2.3.6", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/entities": { "version": "2.2.0", "license": "BSD-2-Clause", @@ -8611,6 +8686,19 @@ "node": ">=4" } }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/enzyme": { "version": "3.11.0", "dev": true, @@ -9851,13 +9939,15 @@ } }, "node_modules/express": { - "version": "4.22.1", + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", + "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==", "dev": true, "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "~1.20.3", + "body-parser": "~1.20.5", "content-disposition": "~0.5.4", "content-type": "~1.0.4", "cookie": "~0.7.1", @@ -9876,7 +9966,7 @@ "parseurl": "~1.3.3", "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", - "qs": "~6.14.0", + "qs": "~6.15.1", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "~0.19.0", @@ -9914,24 +10004,12 @@ "license": "MIT" }, "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.12", + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", "dev": true, "license": "MIT" }, - "node_modules/express/node_modules/qs": { - "version": "6.14.2", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/express/node_modules/safe-buffer": { "version": "5.2.1", "dev": true, @@ -9964,6 +10042,8 @@ }, "node_modules/extend": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true, "license": "MIT" }, @@ -9971,50 +10051,10 @@ "version": "1.0.0", "license": "MIT" }, - "node_modules/extract-zip": { - "version": "2.0.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - }, - "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" - } - }, - "node_modules/extract-zip/node_modules/get-stream": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/extract-zip/node_modules/pump": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/extsprintf": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "dev": true, "engines": [ "node >=0.6.0" @@ -10082,7 +10122,9 @@ "license": "Apache-2.0" }, "node_modules/fast-uri": { - "version": "3.1.0", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz", + "integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==", "dev": true, "funding": [ { @@ -10169,14 +10211,6 @@ "version": "1.0.2", "license": "MIT" }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pend": "~1.2.0" - } - }, "node_modules/fetch-blob": { "version": "3.2.0", "funding": [ @@ -10198,20 +10232,6 @@ "node": "^12.20 || >= 14.13" } }, - "node_modules/figures": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/file-entry-cache": { "version": "6.0.1", "dev": true, @@ -10378,7 +10398,9 @@ } }, "node_modules/flatted": { - "version": "3.3.3", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", "dev": true, "license": "ISC" }, @@ -10437,7 +10459,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.11", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", "funding": [ { "type": "individual", @@ -10483,6 +10507,8 @@ }, "node_modules/forever-agent": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "dev": true, "license": "Apache-2.0", "engines": { @@ -10663,6 +10689,19 @@ "version": "1.0.2", "license": "MIT" }, + "node_modules/get-east-asian-width": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-intrinsic": { "version": "1.3.0", "license": "MIT", @@ -10743,6 +10782,8 @@ }, "node_modules/getpass": { "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dev": true, "license": "MIT", "dependencies": { @@ -11168,6 +11209,7 @@ }, "node_modules/globals": { "version": "11.12.0", + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -11414,7 +11456,9 @@ "license": "MIT" }, "node_modules/handlebars": { - "version": "4.7.8", + "version": "4.7.9", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.9.tgz", + "integrity": "sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==", "license": "MIT", "dependencies": { "minimist": "^1.2.5", @@ -11817,6 +11861,8 @@ }, "node_modules/http-signature": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", + "integrity": "sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg==", "dev": true, "license": "MIT", "dependencies": { @@ -11830,7 +11876,6 @@ }, "node_modules/https-proxy-agent": { "version": "5.0.1", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "6", @@ -12648,6 +12693,8 @@ }, "node_modules/isstream": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", "dev": true, "license": "MIT" }, @@ -13702,6 +13749,8 @@ }, "node_modules/jsbn": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", "dev": true, "license": "MIT" }, @@ -13857,6 +13906,8 @@ }, "node_modules/json-schema": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true, "license": "(AFL-2.1 OR BSD-3-Clause)" }, @@ -13872,6 +13923,8 @@ }, "node_modules/json-stringify-safe": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true, "license": "ISC" }, @@ -13916,6 +13969,8 @@ }, "node_modules/jsprim": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", "dev": true, "engines": [ "node >=0.6.0" @@ -14110,29 +14165,244 @@ "license": "MIT" }, "node_modules/listr2": { - "version": "3.14.0", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz", + "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==", "dev": true, "license": "MIT", "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.1", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" + "cli-truncate": "^5.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=20.0.0" + } + }, + "node_modules/listr2/node_modules/ansi-escapes": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz", + "integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" + "engines": { + "node": ">=18" }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/listr2/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "dev": true, + "license": "MIT" + }, + "node_modules/listr2/node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/listr2/node_modules/is-fullwidth-code-point": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", + "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.3.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/listr2/node_modules/slice-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", + "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/listr2/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/load-json-file": { @@ -14215,11 +14485,15 @@ } }, "node_modules/lodash": { - "version": "4.17.23", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "license": "MIT" }, "node_modules/lodash-es": { - "version": "4.17.23", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz", + "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==", "license": "MIT" }, "node_modules/lodash.curry": { @@ -14614,6 +14888,19 @@ "node": ">=6" } }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/min-indent": { "version": "1.0.1", "license": "MIT", @@ -14695,7 +14982,9 @@ "license": "ISC" }, "node_modules/minimatch": { - "version": "3.1.2", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -14791,7 +15080,9 @@ "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.8", + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", "dev": true, "funding": [ { @@ -15009,7 +15300,9 @@ } }, "node_modules/node-forge": { - "version": "1.3.3", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.0.tgz", + "integrity": "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==", "dev": true, "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { @@ -15355,20 +15648,6 @@ "node": ">=8" } }, - "node_modules/p-map": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-retry": { "version": "4.6.2", "dev": true, @@ -15581,6 +15860,8 @@ }, "node_modules/pend": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true, "license": "MIT" }, @@ -15612,7 +15893,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "license": "MIT", "engines": { "node": ">=8.6" @@ -15842,7 +16125,9 @@ } }, "node_modules/postcss": { - "version": "8.5.1", + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", "dev": true, "funding": [ { @@ -15860,7 +16145,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.8", + "nanoid": "^3.3.12", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -16703,7 +16988,9 @@ "license": "MIT" }, "node_modules/protocol-buffers-schema": { - "version": "3.6.0", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.1.tgz", + "integrity": "sha512-VG2K63Igkiv9p76tk1lilczEK1cT+kCjKtkdhw1dQZV3k3IXJbd3o6Ho8b9zJZaHSnT2hKe4I+ObmX9w6m5SmQ==", "license": "MIT" }, "node_modules/proxy-addr": { @@ -16806,7 +17093,9 @@ } }, "node_modules/qs": { - "version": "6.15.0", + "version": "6.15.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", + "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" @@ -18188,7 +18477,9 @@ } }, "node_modules/rfdc": { - "version": "1.3.0", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "dev": true, "license": "MIT" }, @@ -18503,7 +18794,9 @@ } }, "node_modules/sass/node_modules/immutable": { - "version": "5.0.3", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.6.tgz", + "integrity": "sha512-q1swsS8K7L8usSHuOqF2TAoCCkonYz0SG38wLAggaa4Wml70zixIvt2ql4coQ2C2B3hTjltJry4r6bULwgAXLQ==", "license": "MIT" }, "node_modules/sass/node_modules/readdirp": { @@ -19097,6 +19390,8 @@ }, "node_modules/sshpk": { "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", "dev": true, "license": "MIT", "dependencies": { @@ -19778,7 +20073,9 @@ "license": "ISC" }, "node_modules/systeminformation": { - "version": "5.31.1", + "version": "5.31.7", + "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.31.7.tgz", + "integrity": "sha512-/8NC53e5nP9nmhn42/ncdOkyJnOoue/Vy+tJOyUGd1Yv66G069wK4rrziwhrqDETgk78CudTQupw5z19S5uoZw==", "dev": true, "license": "MIT", "os": [ @@ -19836,14 +20133,15 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.16", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.6.1.tgz", + "integrity": "sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==", "dev": true, "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", "terser": "^5.31.1" }, "engines": { @@ -19857,12 +20155,39 @@ "webpack": "^5.1.0" }, "peerDependenciesMeta": { + "@minify-html/node": { + "optional": true + }, "@swc/core": { "optional": true }, + "@swc/css": { + "optional": true + }, + "@swc/html": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "cssnano": { + "optional": true + }, + "csso": { + "optional": true + }, "esbuild": { "optional": true }, + "html-minifier-terser": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "postcss": { + "optional": true + }, "uglify-js": { "optional": true } @@ -19947,11 +20272,6 @@ "dev": true, "license": "MIT" }, - "node_modules/through": { - "version": "2.3.8", - "dev": true, - "license": "MIT" - }, "node_modules/through2": { "version": "0.6.5", "license": "MIT", @@ -20004,6 +20324,8 @@ }, "node_modules/tldts": { "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", + "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", "dev": true, "license": "MIT", "dependencies": { @@ -20015,11 +20337,15 @@ }, "node_modules/tldts-core": { "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", + "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", "dev": true, "license": "MIT" }, "node_modules/tmp": { - "version": "0.2.5", + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", "dev": true, "license": "MIT", "engines": { @@ -20121,6 +20447,8 @@ }, "node_modules/tough-cookie": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", + "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -20194,6 +20522,8 @@ }, "node_modules/tunnel-agent": { "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -20214,6 +20544,8 @@ }, "node_modules/tweetnacl": { "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", "dev": true, "license": "Unlicense" }, @@ -20789,6 +21121,8 @@ }, "node_modules/verror": { "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, "engines": [ "node >=0.6.0" @@ -20802,6 +21136,8 @@ }, "node_modules/verror/node_modules/core-util-is": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true, "license": "MIT" }, @@ -21498,7 +21834,9 @@ } }, "node_modules/ws": { - "version": "8.18.0", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", + "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", "dev": true, "license": "MIT", "engines": { @@ -21558,7 +21896,9 @@ } }, "node_modules/yaml": { - "version": "1.10.2", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.3.tgz", + "integrity": "sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==", "license": "ISC", "engines": { "node": ">= 6" @@ -21590,12 +21930,16 @@ } }, "node_modules/yauzl": { - "version": "2.10.0", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.3.2.tgz", + "integrity": "sha512-Md9ankxxN23wncAN8s7+Tn3Co52zLUPMtnrLAbVCnfG5d2tKBFfmygYSgXlqFgXObtzIgqkx7aNgDBpso9+4qA==", "dev": true, "license": "MIT", "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "pend": "~1.2.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/yocto-queue": { diff --git a/src/search-params/search-params-manager.js b/src/search-params/search-params-manager.js index 2020b6c3..58f6538d 100644 --- a/src/search-params/search-params-manager.js +++ b/src/search-params/search-params-manager.js @@ -34,7 +34,7 @@ class SearchParamsManager { this.sortOrder = this.getParam('sort') || defaults.sortOrder this.page = Number.parseInt(this.getParam('page')) || defaults.page this.searchText = this.getParam('q') || defaults.searchText - this.facets = this.getParam('facets') || defaults.facets + this.facets = this.getFacets() //this.getParam('facets') || defaults.facets } getParam (name) { @@ -57,6 +57,19 @@ class SearchParamsManager { this.updateParams({ apiAccessible: updatedApiAccessibleFlag, page: 1 }) } + getFacets () { + const facets = this.getParam('facets') + if (!facets) return {} + + const validFacets = Object.entries(facets) + .filter(([key, _]) => { + const hasInvalidBrackets = /[\[\]{}()]/.test(key) + return !hasInvalidBrackets + }) + .map(([key, value]) => [key, Array.isArray(value) ? value : [value]]) + return Object.fromEntries(validFacets) + } + toggleFacet (name, value) { const facetValues = this.facets[name] const updatedFacets = Object.assign({}, this.facets, { [name]: _.xor(facetValues, [value]) }) From 7ccd6368f2440308d929f8fd5f16e1dc6b708455 Mon Sep 17 00:00:00 2001 From: smithc197 Date: Thu, 4 Jun 2026 14:22:30 -0400 Subject: [PATCH 09/16] Removed usage of babel-plugin-inline-svg as the package is deprecated and had critical vulnerabilities. Replaced with @svgr/webpack library. This required a refactor of how svgs are used in components. --- .babelrc | 1 - package-lock.json | 1518 ++++++++++------- package.json | 4 +- .../arrow-button/arrow-button.js | 5 +- .../generic-elements/chart-icon/index.js | 5 +- .../generic-elements/folder-icon/index.js | 5 +- .../loading-element/loading-element.js | 5 +- .../generic-elements/plus-icon/index.js | 5 +- .../generic-elements/sql-icon/index.js | 5 +- .../visualize-button/visualize-button.js | 5 +- test-helpers/mock-svg-element.js | 3 + test-helpers/mock-svg-string.js | 2 - webpack.config.js | 2 +- 13 files changed, 889 insertions(+), 676 deletions(-) create mode 100644 test-helpers/mock-svg-element.js delete mode 100644 test-helpers/mock-svg-string.js diff --git a/.babelrc b/.babelrc index e60dfbb2..e976af7a 100644 --- a/.babelrc +++ b/.babelrc @@ -4,7 +4,6 @@ "@babel/preset-react" ], "plugins": [ - "inline-svg", "@babel/plugin-proposal-object-rest-spread", "@babel/plugin-proposal-class-properties" ] diff --git a/package-lock.json b/package-lock.json index 72493e15..d093e716 100644 --- a/package-lock.json +++ b/package-lock.json @@ -88,9 +88,9 @@ "@babel/polyfill": "^7.12.1", "@babel/preset-env": "^7.26.7", "@babel/preset-react": "^7.26.3", + "@svgr/webpack": "^8.1.0", "babel-jest": "^29.7.0", "babel-loader": "^8.4.1", - "babel-plugin-inline-svg": "^1.2.0", "copy-webpack-plugin": "^11.0.0", "create-react-component-folder": "^0.3.7", "cross-env": "^7.0.3", @@ -318,10 +318,12 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.9", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.29.7.tgz", + "integrity": "sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==", "license": "MIT", "dependencies": { - "@babel/types": "^7.25.9" + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -364,16 +366,18 @@ "license": "ISC" }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.9", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.29.7.tgz", + "integrity": "sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/traverse": "^7.25.9", + "@babel/helper-annotate-as-pure": "^7.29.7", + "@babel/helper-member-expression-to-functions": "^7.29.7", + "@babel/helper-optimise-call-expression": "^7.29.7", + "@babel/helper-replace-supers": "^7.29.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7", + "@babel/traverse": "^7.29.7", "semver": "^6.3.1" }, "engines": { @@ -440,12 +444,14 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.25.9", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.29.7.tgz", + "integrity": "sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -483,11 +489,13 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.25.9", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.29.7.tgz", + "integrity": "sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.9" + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -520,13 +528,15 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.26.5", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.29.7.tgz", + "integrity": "sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/traverse": "^7.26.5" + "@babel/helper-member-expression-to-functions": "^7.29.7", + "@babel/helper-optimise-call-expression": "^7.29.7", + "@babel/traverse": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -536,12 +546,14 @@ } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.25.9", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.29.7.tgz", + "integrity": "sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -566,7 +578,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.25.9", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", "dev": true, "license": "MIT", "engines": { @@ -1029,11 +1043,13 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.25.9", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.29.7.tgz", + "integrity": "sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -1137,11 +1153,13 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.25.9", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.29.7.tgz", + "integrity": "sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -1506,12 +1524,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.26.3", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.29.7.tgz", + "integrity": "sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -1730,6 +1750,22 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.29.7.tgz", + "integrity": "sha512-J0wGhKan+rIiE2OhfhRptySLrJ6SjQYM6b6N1FMlhyhCcw1Mig8vQjWchyB+bgHGDvaWo6Diu6CLRMra2uMtmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-react-display-name": { "version": "7.25.9", "dev": true, @@ -1906,6 +1942,26 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.29.7.tgz", + "integrity": "sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.29.7", + "@babel/helper-create-class-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7", + "@babel/plugin-syntax-typescript": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "7.25.9", "dev": true, @@ -2102,6 +2158,26 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/preset-typescript": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.29.7.tgz", + "integrity": "sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "@babel/plugin-syntax-jsx": "^7.29.7", + "@babel/plugin-transform-modules-commonjs": "^7.29.7", + "@babel/plugin-transform-typescript": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/runtime": { "version": "7.28.6", "license": "MIT", @@ -3913,154 +3989,777 @@ "version": "1.1.0", "license": "MIT" }, - "node_modules/@tanstack/react-table": { - "version": "8.21.3", - "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.21.3.tgz", - "integrity": "sha512-5nNMTSETP4ykGegmVkhjcS8tTLW6Vl4axfEGQN3v0zdHYbK4UfoqfPChclTrJ4EoK9QynqAu9oUf8VEmrpZ5Ww==", + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "dev": true, "license": "MIT", - "dependencies": { - "@tanstack/table-core": "8.21.3" - }, "engines": { - "node": ">=12" + "node": ">=14" }, "funding": { "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" + "url": "https://github.com/sponsors/gregberge" }, "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@tanstack/table-core": { - "version": "8.21.3", - "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.21.3.tgz", - "integrity": "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==", + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=14" }, "funding": { "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@testing-library/dom": { - "version": "8.20.0", + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "dev": true, "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "^5.0.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.4.4", - "pretty-format": "^27.0.2" - }, "engines": { - "node": ">=12" + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@testing-library/dom/node_modules/pretty-format": { - "version": "27.5.1", + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@testing-library/dom/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@testing-library/jest-dom": { - "version": "5.17.0", + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "dev": true, "license": "MIT", - "dependencies": { - "@adobe/css-tools": "^4.0.1", - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", - "redent": "^3.0.0" + "engines": { + "node": ">=14" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=8", - "npm": ">=6", - "yarn": ">=1" + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@testing-library/react": { - "version": "12.1.5", + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.0.0", - "@types/react-dom": "<18.0.0" + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" }, "engines": { - "node": ">=12" + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" }, "peerDependencies": { - "react": "<18.0.0", - "react-dom": "<18.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@tootallnate/once": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.1.tgz", - "integrity": "sha512-HqmEUIGRJ5fSXchkVgR5F7qn48bDBzv0kWj/Kfu5e6uci4UlEeng4331LnBkWffb++Ei3FOVLxo8JJWMFBDMeQ==", + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", "dev": true, "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, "engines": { - "node": ">= 10" + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@trendmicro/react-buttons": { - "version": "1.3.1", + "node_modules/@svgr/core/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/@svgr/core/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, "license": "MIT", - "dependencies": { - "classnames": "^2.2.5", - "prop-types": "^15.5.8" + "engines": { + "node": ">=10" }, - "peerDependencies": { - "react": "^0.14.0 || >=15.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@trendmicro/react-dropdown": { - "version": "1.4.0", + "node_modules/@svgr/core/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, "license": "MIT", "dependencies": { - "@trendmicro/react-buttons": "^1.3.0", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@svgr/core/node_modules/js-yaml": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", + "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/@svgr/plugin-svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/@svgr/plugin-svgo/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/js-yaml": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", + "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/@svgr/plugin-svgo/node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/@svgr/plugin-svgo/node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/svgo": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.3.tgz", + "integrity": "sha512-+wn7I4p7YgJhHs38k2TNjy1vCfPIfLIJWR5MnCStsN8WuuTcBnRKcMHQLMM2ijxGZmDoZwNv8ipl5aTTen62ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0", + "sax": "^1.5.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/@svgr/webpack": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@tanstack/react-table": { + "version": "8.21.3", + "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.21.3.tgz", + "integrity": "sha512-5nNMTSETP4ykGegmVkhjcS8tTLW6Vl4axfEGQN3v0zdHYbK4UfoqfPChclTrJ4EoK9QynqAu9oUf8VEmrpZ5Ww==", + "license": "MIT", + "dependencies": { + "@tanstack/table-core": "8.21.3" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/@tanstack/table-core": { + "version": "8.21.3", + "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.21.3.tgz", + "integrity": "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@testing-library/dom": { + "version": "8.20.0", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "^5.0.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/pretty-format": { + "version": "27.5.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "5.17.0", + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/react": { + "version": "12.1.5", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.0.0", + "@types/react-dom": "<18.0.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "react": "<18.0.0", + "react-dom": "<18.0.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.1.tgz", + "integrity": "sha512-HqmEUIGRJ5fSXchkVgR5F7qn48bDBzv0kWj/Kfu5e6uci4UlEeng4331LnBkWffb++Ei3FOVLxo8JJWMFBDMeQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@trendmicro/react-buttons": { + "version": "1.3.1", + "license": "MIT", + "dependencies": { + "classnames": "^2.2.5", + "prop-types": "^15.5.8" + }, + "peerDependencies": { + "react": "^0.14.0 || >=15.0.0" + } + }, + "node_modules/@trendmicro/react-dropdown": { + "version": "1.4.0", + "license": "MIT", + "dependencies": { + "@trendmicro/react-buttons": "^1.3.0", "chained-function": "^0.5.0", "classnames": "^2.2.5", "dom-helpers": "^3.3.1", @@ -4341,11 +5040,6 @@ "version": "15.7.5", "license": "MIT" }, - "node_modules/@types/q": { - "version": "1.5.5", - "dev": true, - "license": "MIT" - }, "node_modules/@types/qs": { "version": "6.9.7", "dev": true, @@ -5186,24 +5880,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.reduce": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/array.prototype.tosorted": { "version": "1.1.4", "dev": true, @@ -5405,52 +6081,6 @@ "node": ">=10" } }, - "node_modules/babel-code-frame": { - "version": "6.26.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "node_modules/babel-code-frame/node_modules/ansi-styles": { - "version": "2.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/chalk": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/js-tokens": { - "version": "3.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/babel-code-frame/node_modules/supports-color": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/babel-jest": { "version": "29.7.0", "dev": true, @@ -5504,14 +6134,6 @@ "webpack": ">=2" } }, - "node_modules/babel-messages": { - "version": "6.23.0", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, "node_modules/babel-plugin-emotion": { "version": "9.2.11", "license": "MIT", @@ -5551,24 +6173,6 @@ "node": ">=0.10.0" } }, - "node_modules/babel-plugin-inline-svg": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-template": "^6.26.0", - "resolve-from": "^5.0.0", - "svgo": "^1.3.2" - } - }, - "node_modules/babel-plugin-inline-svg/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", "dev": true, @@ -5723,82 +6327,6 @@ "version": "0.11.1", "license": "MIT" }, - "node_modules/babel-template": { - "version": "6.26.0", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-traverse": { - "version": "6.26.0", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-traverse/node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/babel-traverse/node_modules/globals": { - "version": "9.18.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-traverse/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/babel-types": { - "version": "6.26.0", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "node_modules/babel-types/node_modules/to-fast-properties": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babylon": { - "version": "6.18.0", - "dev": true, - "license": "MIT", - "bin": { - "babylon": "bin/babylon.js" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "dev": true, @@ -6686,141 +7214,72 @@ } }, "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clsx": { - "version": "1.2.1", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/co": { - "version": "4.6.0", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/coa": { - "version": "2.0.2", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "license": "MIT", "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" + "ansi-regex": "^6.2.2" }, "engines": { - "node": ">= 4.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/coa/node_modules/ansi-styles": { - "version": "3.2.1", + "node_modules/cliui": { + "version": "8.0.1", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "color-convert": "^1.9.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/coa/node_modules/chalk": { - "version": "2.4.2", + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/coa/node_modules/color-convert": { - "version": "1.9.3", + "node_modules/clone-deep": { + "version": "4.0.1", "dev": true, "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/coa/node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/coa/node_modules/has-flag": { - "version": "3.0.0", - "dev": true, + "node_modules/clsx": { + "version": "1.2.1", "license": "MIT", "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/coa/node_modules/supports-color": { - "version": "5.5.0", + "node_modules/co": { + "version": "4.6.0", "dev": true, "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, "engines": { - "node": ">=4" + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, "node_modules/collect-v8-coverage": { @@ -7558,56 +8017,6 @@ "postcss": "^8.4" } }, - "node_modules/css-select": { - "version": "2.1.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/css-select-base-adapter": { - "version": "0.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/css-select/node_modules/dom-serializer": { - "version": "0.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/css-select/node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.3.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/css-select/node_modules/domelementtype": { - "version": "1.3.1", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/css-select/node_modules/domutils": { - "version": "1.7.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, "node_modules/css-system-font-keywords": { "version": "1.0.0", "license": "MIT" @@ -7621,18 +8030,6 @@ "postcss-value-parser": "^4.0.2" } }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "dev": true, - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/css-vendor": { "version": "2.0.8", "license": "MIT", @@ -7641,17 +8038,6 @@ "is-in-browser": "^1.0.2" } }, - "node_modules/css-what": { - "version": "3.4.2", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, "node_modules/css.escape": { "version": "1.5.1", "license": "MIT" @@ -7680,34 +8066,6 @@ "node": ">=4" } }, - "node_modules/csso": { - "version": "4.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.14", - "dev": true, - "license": "CC0-1.0" - }, "node_modules/cssom": { "version": "0.5.0", "dev": true, @@ -14784,11 +15142,6 @@ "react": ">=0.14.0" } }, - "node_modules/mdn-data": { - "version": "2.0.4", - "dev": true, - "license": "CC0-1.0" - }, "node_modules/media-typer": { "version": "0.3.0", "dev": true, @@ -15358,14 +15711,6 @@ "node": ">=8" } }, - "node_modules/nth-check": { - "version": "1.0.2", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "~1.0.0" - } - }, "node_modules/number-is-integer": { "version": "1.0.1", "license": "MIT", @@ -15471,23 +15816,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.groupby": { "version": "1.0.3", "dev": true, @@ -17083,15 +17411,6 @@ "node": ">=4" } }, - "node_modules/q": { - "version": "1.5.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, "node_modules/qs": { "version": "6.15.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", @@ -18810,11 +19129,6 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/sax": { - "version": "1.2.4", - "dev": true, - "license": "ISC" - }, "node_modules/saxes": { "version": "6.0.0", "dev": true, @@ -19282,6 +19596,17 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/sockjs": { "version": "0.3.24", "dev": true, @@ -19414,11 +19739,6 @@ "node": ">=0.10.0" } }, - "node_modules/stable": { - "version": "0.1.8", - "dev": true, - "license": "MIT" - }, "node_modules/stack-trace": { "version": "0.0.9", "engines": { @@ -19942,6 +20262,13 @@ "node": ">=4.0.0" } }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true, + "license": "MIT" + }, "node_modules/svg-path-bounds": { "version": "1.0.2", "license": "MIT", @@ -19970,99 +20297,6 @@ "svg-path-bounds": "^1.0.1" } }, - "node_modules/svgo": { - "version": "1.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/svgo/node_modules/ansi-styles": { - "version": "3.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/chalk": { - "version": "2.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/color-convert": { - "version": "1.9.3", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/svgo/node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/svgo/node_modules/has-flag": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/mkdirp": { - "version": "0.5.6", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/svgo/node_modules/supports-color": { - "version": "5.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/symbol-tree": { "version": "3.2.4", "dev": true, @@ -20944,20 +21178,6 @@ "version": "1.0.2", "license": "MIT" }, - "node_modules/util.promisify": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/utila": { "version": "0.4.0", "dev": true, diff --git a/package.json b/package.json index df1af4a9..a8a4c2d3 100644 --- a/package.json +++ b/package.json @@ -97,9 +97,9 @@ "@babel/polyfill": "^7.12.1", "@babel/preset-env": "^7.26.7", "@babel/preset-react": "^7.26.3", + "@svgr/webpack": "^8.1.0", "babel-jest": "^29.7.0", "babel-loader": "^8.4.1", - "babel-plugin-inline-svg": "^1.2.0", "copy-webpack-plugin": "^11.0.0", "create-react-component-folder": "^0.3.7", "cross-env": "^7.0.3", @@ -144,7 +144,7 @@ "moduleNameMapper": { ".+\\.(jpg|jpeg|png|gif)$": "/test-helpers/image-mock.js", "\\.(css|scss)$": "identity-obj-proxy", - "\\.(svg)$": "/test-helpers/mock-svg-string.js" + "\\.(svg)$": "/test-helpers/mock-svg-element.js" }, "testPathIgnorePatterns": [ "/node_modules/", diff --git a/src/components/generic-elements/arrow-button/arrow-button.js b/src/components/generic-elements/arrow-button/arrow-button.js index 47fb9f35..9a308dc5 100644 --- a/src/components/generic-elements/arrow-button/arrow-button.js +++ b/src/components/generic-elements/arrow-button/arrow-button.js @@ -1,11 +1,10 @@ -import InlineSVG from 'react-svg-inline' -import arrow from '../../../assets/arrow.svg' +import Arrow from '../../../assets/arrow.svg' const ENABLED_COLOR = '#000000' const DISABLED_COLOR = '#595959' export default ({ className, disabled = false, onClick = () => { }, innerClass }) => ( ) diff --git a/src/components/generic-elements/chart-icon/index.js b/src/components/generic-elements/chart-icon/index.js index ba9e7b47..5a892c3e 100644 --- a/src/components/generic-elements/chart-icon/index.js +++ b/src/components/generic-elements/chart-icon/index.js @@ -1,6 +1,5 @@ -import chartSVG from '../../../assets/chart.svg' -import InlineSVG from 'react-svg-inline' +import ChartSVG from '../../../assets/chart.svg' export default ({ className }) => { - return () + return () } diff --git a/src/components/generic-elements/folder-icon/index.js b/src/components/generic-elements/folder-icon/index.js index 95938942..1917c342 100644 --- a/src/components/generic-elements/folder-icon/index.js +++ b/src/components/generic-elements/folder-icon/index.js @@ -1,6 +1,5 @@ -import folderSVG from '../../../assets/folder_icon.svg' -import InlineSVG from 'react-svg-inline' +import FolderSVG from '../../../assets/folder_icon.svg' export default ({ className, accessibilityDesc = "Folder Icon" }) => { - return () + return () } diff --git a/src/components/generic-elements/loading-element/loading-element.js b/src/components/generic-elements/loading-element/loading-element.js index e440cc35..2c9f9d8d 100644 --- a/src/components/generic-elements/loading-element/loading-element.js +++ b/src/components/generic-elements/loading-element/loading-element.js @@ -1,11 +1,10 @@ import './loading-element.scss' -import InlineSVG from 'react-svg-inline' -import loadingIcon from '../../../assets/loadingicon.svg' +import LoadingIcon from '../../../assets/loadingicon.svg' const LoadingElement = ({ className = '' }) => { return ( - + ) } diff --git a/src/components/generic-elements/plus-icon/index.js b/src/components/generic-elements/plus-icon/index.js index 847aab53..e0ab415f 100644 --- a/src/components/generic-elements/plus-icon/index.js +++ b/src/components/generic-elements/plus-icon/index.js @@ -1,6 +1,5 @@ -import folderSVG from '../../../assets/plus.svg' -import InlineSVG from 'react-svg-inline' +import FolderSVG from '../../../assets/plus.svg' export default ({ className }) => { - return () + return () } diff --git a/src/components/generic-elements/sql-icon/index.js b/src/components/generic-elements/sql-icon/index.js index 40e01a0e..96a903c0 100644 --- a/src/components/generic-elements/sql-icon/index.js +++ b/src/components/generic-elements/sql-icon/index.js @@ -1,6 +1,5 @@ -import sqlSVG from '../../../assets/blk-database.svg' -import InlineSVG from 'react-svg-inline' +import SqlSVG from '../../../assets/blk-database.svg' export default ({ className }) => { - return () + return () } diff --git a/src/components/generic-elements/visualize-button/visualize-button.js b/src/components/generic-elements/visualize-button/visualize-button.js index 27d5a94b..0847fc25 100644 --- a/src/components/generic-elements/visualize-button/visualize-button.js +++ b/src/components/generic-elements/visualize-button/visualize-button.js @@ -1,13 +1,12 @@ import './visualize-button.scss' -import InlineSVG from 'react-svg-inline' -import chart from '../../../assets/chart.svg' +import Chart from '../../../assets/chart.svg' import routes from '../../../routes' import { GeneratedLink } from '../generated-link' export default ({ organizationName, datasetName, systemName }) => ( -
Visualize
+
Visualize
) diff --git a/test-helpers/mock-svg-element.js b/test-helpers/mock-svg-element.js new file mode 100644 index 00000000..f73e6796 --- /dev/null +++ b/test-helpers/mock-svg-element.js @@ -0,0 +1,3 @@ +export default SvgMock = (props) => { + return ; +} diff --git a/test-helpers/mock-svg-string.js b/test-helpers/mock-svg-string.js deleted file mode 100644 index e27b3543..00000000 --- a/test-helpers/mock-svg-string.js +++ /dev/null @@ -1,2 +0,0 @@ -const mockString = 'mock svg string' -export default mockString diff --git a/webpack.config.js b/webpack.config.js index 46dda2be..25f34e56 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -67,7 +67,7 @@ module.exports = (env, argv) => { }, { test: /\.svg$/, - use: [{ loader: 'svg-inline-loader' }] + use: [{ loader: '@svgr/webpack' }] }, { test: /\.css$/, From 65adf15643156a364b93edca1c761ff3c6cb7f7d Mon Sep 17 00:00:00 2001 From: smithc197 Date: Thu, 4 Jun 2026 14:42:06 -0400 Subject: [PATCH 10/16] Updated dependencies for react-dom and react-chart-editor --- package-lock.json | 3634 ++++++++++++++++++++------------------------- package.json | 4 +- 2 files changed, 1630 insertions(+), 2008 deletions(-) diff --git a/package-lock.json b/package-lock.json index d093e716..0ab1b6e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,11 +35,11 @@ "react": "^16.14.0", "react-aria-modal": "^4.0.2", "react-autosize-textarea": "^7.1.0", - "react-chart-editor": "^0.45.0", + "react-chart-editor": "^0.46.1", "react-collapse": "^4.0.3", "react-copy-to-clipboard": "^5.1.0", "react-device-detect": "^2.2.3", - "react-dom": "~16.8.6", + "react-dom": "~16.14.0", "react-gtm-module": "^2.0.11", "react-image-fallback": "^8.0.0", "react-intl": "^5.25.1", @@ -129,7 +129,6 @@ }, "node_modules/@ampproject/remapping": { "version": "2.2.0", - "dev": true, "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.1.0", @@ -141,7 +140,6 @@ }, "node_modules/@ampproject/remapping/node_modules/@jridgewell/gen-mapping": { "version": "0.1.1", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.0.0", @@ -253,7 +251,6 @@ }, "node_modules/@babel/compat-data": { "version": "7.26.5", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -261,7 +258,6 @@ }, "node_modules/@babel/core": { "version": "7.26.7", - "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", @@ -290,12 +286,10 @@ }, "node_modules/@babel/core/node_modules/convert-source-map": { "version": "2.0.0", - "dev": true, "license": "MIT" }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", - "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -331,7 +325,6 @@ }, "node_modules/@babel/helper-compilation-targets": { "version": "7.26.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.26.5", @@ -346,7 +339,6 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { "version": "5.1.1", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^3.0.2" @@ -354,7 +346,6 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", - "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -362,7 +353,6 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { "version": "3.1.1", - "dev": true, "license": "ISC" }, "node_modules/@babel/helper-create-class-features-plugin": { @@ -474,7 +464,6 @@ "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.29.7", @@ -505,7 +494,6 @@ "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -581,7 +569,6 @@ "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -602,7 +589,6 @@ }, "node_modules/@babel/helpers": { "version": "7.28.6", - "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.28.6", @@ -1046,7 +1032,6 @@ "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.29.7.tgz", "integrity": "sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.29.7" @@ -2237,7 +2222,10 @@ }, "node_modules/@choojs/findup": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@choojs/findup/-/findup-0.2.1.tgz", + "integrity": "sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==", "license": "MIT", + "peer": true, "dependencies": { "commander": "^2.15.1" }, @@ -2565,27 +2553,63 @@ "node": ">=10.0.0" } }, - "node_modules/@emotion/babel-utils": { - "version": "0.6.10", + "node_modules/@emotion/babel-plugin": { + "version": "11.13.5", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", + "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==", "license": "MIT", "dependencies": { - "@emotion/hash": "^0.6.6", - "@emotion/memoize": "^0.6.6", - "@emotion/serialize": "^0.9.1", - "convert-source-map": "^1.5.1", + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.3.3", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", "find-root": "^1.1.0", - "source-map": "^0.7.2" + "source-map": "^0.5.7", + "stylis": "4.2.0" } }, - "node_modules/@emotion/babel-utils/node_modules/@emotion/hash": { - "version": "0.6.6", + "node_modules/@emotion/babel-plugin/node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", "license": "MIT" }, - "node_modules/@emotion/babel-utils/node_modules/source-map": { - "version": "0.7.4", + "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "license": "BSD-3-Clause", "engines": { - "node": ">= 8" + "node": ">=0.10.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", + "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" } }, "node_modules/@emotion/hash": { @@ -2593,44 +2617,106 @@ "license": "MIT" }, "node_modules/@emotion/is-prop-valid": { - "version": "0.8.8", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz", + "integrity": "sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==", "license": "MIT", "dependencies": { - "@emotion/memoize": "0.7.4" + "@emotion/memoize": "^0.9.0" } }, - "node_modules/@emotion/is-prop-valid/node_modules/@emotion/memoize": { - "version": "0.7.4", - "license": "MIT" - }, "node_modules/@emotion/memoize": { - "version": "0.6.6", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", "license": "MIT" }, + "node_modules/@emotion/react": { + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", + "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@emotion/serialize": { - "version": "0.9.1", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz", + "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==", "license": "MIT", "dependencies": { - "@emotion/hash": "^0.6.6", - "@emotion/memoize": "^0.6.6", - "@emotion/unitless": "^0.6.7", - "@emotion/utils": "^0.8.2" + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.2", + "csstype": "^3.0.2" } }, "node_modules/@emotion/serialize/node_modules/@emotion/hash": { - "version": "0.6.6", + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", + "license": "MIT" + }, + "node_modules/@emotion/serialize/node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/@emotion/sheet": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==", "license": "MIT" }, "node_modules/@emotion/stylis": { - "version": "0.7.1", + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", + "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==", "license": "MIT" }, "node_modules/@emotion/unitless": { - "version": "0.6.7", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", "license": "MIT" }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz", + "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0" + } + }, "node_modules/@emotion/utils": { - "version": "0.8.2", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==", + "license": "MIT" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", "license": "MIT" }, "node_modules/@eslint-community/eslint-utils": { @@ -2718,6 +2804,31 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@floating-ui/core": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", + "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", + "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", + "license": "MIT" + }, "node_modules/@formatjs/ecma402-abstract": { "version": "1.11.4", "license": "MIT", @@ -3336,7 +3447,6 @@ }, "node_modules/@jridgewell/set-array": { "version": "1.2.1", - "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -3344,7 +3454,6 @@ }, "node_modules/@jridgewell/source-map": { "version": "0.3.6", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -3372,7 +3481,10 @@ }, "node_modules/@mapbox/geojson-rewind": { "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz", + "integrity": "sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==", "license": "ISC", + "peer": true, "dependencies": { "get-stream": "^6.0.1", "minimist": "^1.2.6" @@ -3383,47 +3495,106 @@ }, "node_modules/@mapbox/geojson-types": { "version": "1.0.2", - "license": "ISC" + "resolved": "https://registry.npmjs.org/@mapbox/geojson-types/-/geojson-types-1.0.2.tgz", + "integrity": "sha512-e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw==", + "license": "ISC", + "peer": true }, "node_modules/@mapbox/jsonlint-lines-primitives": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", + "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==", + "peer": true, "engines": { "node": ">= 0.6" } }, "node_modules/@mapbox/mapbox-gl-supported": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.5.0.tgz", + "integrity": "sha512-/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg==", "license": "BSD-3-Clause", + "peer": true, "peerDependencies": { "mapbox-gl": ">=0.32.1 <2.0.0" } }, "node_modules/@mapbox/point-geometry": { "version": "0.1.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", + "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==", + "license": "ISC", + "peer": true }, "node_modules/@mapbox/tiny-sdf": { "version": "1.2.5", - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-1.2.5.tgz", + "integrity": "sha512-cD8A/zJlm6fdJOk6DqPUV8mcpyJkRz2x2R+/fYcWDYG3oWbG7/L7Yl/WqQ1VZCjnL9OTIMAn6c+BC5Eru4sQEw==", + "license": "BSD-2-Clause", + "peer": true }, "node_modules/@mapbox/unitbezier": { "version": "0.0.0", - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz", + "integrity": "sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==", + "license": "BSD-2-Clause", + "peer": true }, "node_modules/@mapbox/vector-tile": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", + "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==", "license": "BSD-3-Clause", + "peer": true, "dependencies": { "@mapbox/point-geometry": "~0.1.0" } }, "node_modules/@mapbox/whoots-js": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", + "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==", "license": "ISC", + "peer": true, "engines": { "node": ">=6.0.0" } }, + "node_modules/@maplibre/maplibre-gl-style-spec": { + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-20.4.0.tgz", + "integrity": "sha512-AzBy3095fTFPjDjmWpR2w6HVRAZJ6hQZUCwk5Plz6EyfnfuQW1odeW5i2Ai47Y6TBA2hQnC+azscjBSALpaWgw==", + "license": "ISC", + "peer": true, + "dependencies": { + "@mapbox/jsonlint-lines-primitives": "~2.0.2", + "@mapbox/unitbezier": "^0.0.1", + "json-stringify-pretty-compact": "^4.0.0", + "minimist": "^1.2.8", + "quickselect": "^2.0.0", + "rw": "^1.3.3", + "tinyqueue": "^3.0.0" + }, + "bin": { + "gl-style-format": "dist/gl-style-format.mjs", + "gl-style-migrate": "dist/gl-style-migrate.mjs", + "gl-style-validate": "dist/gl-style-validate.mjs" + } + }, + "node_modules/@maplibre/maplibre-gl-style-spec/node_modules/@mapbox/unitbezier": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz", + "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==", + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/@maplibre/maplibre-gl-style-spec/node_modules/tinyqueue": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-3.0.0.tgz", + "integrity": "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==", + "license": "ISC", + "peer": true + }, "node_modules/@material-ui/core": { "version": "4.12.4", "license": "MIT", @@ -3914,9 +4085,19 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/@plotly/d3": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.2.tgz", + "integrity": "sha512-wvsNmh1GYjyJfyEBPKJLTMzgf2c2bEbSIL50lmqVUi+o1NHaLPi1Lb4v7VxXXJn043BhNyrxUrWI85Q+zmjOVA==", + "license": "BSD-3-Clause", + "peer": true + }, "node_modules/@plotly/d3-sankey": { "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@plotly/d3-sankey/-/d3-sankey-0.7.2.tgz", + "integrity": "sha512-2jdVos1N3mMp3QW0k2q1ph7Gd6j5PY1YihBrwpkFnKqO+cqtZq3AdEYUeSGXMeLsBDQYiqTVcihYfk8vr5tqhw==", "license": "BSD-3-Clause", + "peer": true, "dependencies": { "d3-array": "1", "d3-collection": "1", @@ -3925,7 +4106,10 @@ }, "node_modules/@plotly/d3-sankey-circular": { "version": "0.33.1", + "resolved": "https://registry.npmjs.org/@plotly/d3-sankey-circular/-/d3-sankey-circular-0.33.1.tgz", + "integrity": "sha512-FgBV1HEvCr3DV7RHhDsPXyryknucxtfnLwPtCKKxdolKyTFYoLX/ibEfX39iFYIL7DYbVeRtP43dbFcrHNE+KQ==", "license": "MIT", + "peer": true, "dependencies": { "d3-array": "^1.2.1", "d3-collection": "^1.0.4", @@ -3944,9 +4128,46 @@ "immutable": "3.x.x" } }, + "node_modules/@plotly/mapbox-gl": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/@plotly/mapbox-gl/-/mapbox-gl-1.13.4.tgz", + "integrity": "sha512-sR3/Pe5LqT/fhYgp4rT4aSFf1rTsxMbGiH6Hojc7PH36ny5Bn17iVFUjpzycafETURuFbLZUfjODO8LvSI+5zQ==", + "license": "SEE LICENSE IN LICENSE.txt", + "peer": true, + "dependencies": { + "@mapbox/geojson-rewind": "^0.5.2", + "@mapbox/geojson-types": "^1.0.2", + "@mapbox/jsonlint-lines-primitives": "^2.0.2", + "@mapbox/mapbox-gl-supported": "^1.5.0", + "@mapbox/point-geometry": "^0.1.0", + "@mapbox/tiny-sdf": "^1.1.1", + "@mapbox/unitbezier": "^0.0.0", + "@mapbox/vector-tile": "^1.3.1", + "@mapbox/whoots-js": "^3.1.0", + "csscolorparser": "~1.0.3", + "earcut": "^2.2.2", + "geojson-vt": "^3.2.1", + "gl-matrix": "^3.2.1", + "grid-index": "^1.1.0", + "murmurhash-js": "^1.0.0", + "pbf": "^3.2.1", + "potpack": "^1.0.1", + "quickselect": "^2.0.0", + "rw": "^1.3.3", + "supercluster": "^7.1.0", + "tinyqueue": "^2.0.3", + "vt-pbf": "^3.1.1" + }, + "engines": { + "node": ">=6.4.0" + } + }, "node_modules/@plotly/point-cluster": { "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@plotly/point-cluster/-/point-cluster-3.1.9.tgz", + "integrity": "sha512-MwaI6g9scKf68Orpr1pHZ597pYx9uP8UEFXLPbsCmuw3a84obwz6pnMXGc90VhgDNeNiLEdlmuK7CPo+5PIxXw==", "license": "MIT", + "peer": true, "dependencies": { "array-bounds": "^1.0.1", "binary-search-bounds": "^2.0.4", @@ -4552,16 +4773,6 @@ "dev": true, "license": "ISC" }, - "node_modules/@svgr/plugin-svgo/node_modules/sax": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", - "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=11.0.0" - } - }, "node_modules/@svgr/plugin-svgo/node_modules/svgo": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.3.tgz", @@ -4780,50 +4991,77 @@ } }, "node_modules/@turf/area": { - "version": "6.5.0", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/@turf/area/-/area-7.3.5.tgz", + "integrity": "sha512-sSn80wPT7XfBIDN3vurCPxhk9W4U8ozS/XImSqeLN8qveTICOxzZkhsGDMp0CuncaN+plWut4a2TdNM7mzZB6Q==", "license": "MIT", + "peer": true, "dependencies": { - "@turf/helpers": "^6.5.0", - "@turf/meta": "^6.5.0" + "@turf/helpers": "7.3.5", + "@turf/meta": "7.3.5", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/bbox": { - "version": "6.5.0", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-7.3.5.tgz", + "integrity": "sha512-oG1ya/HtBjAIg4TimbWx+nOYPbY0bCvt82Bq8tm6sBw3qqtbOyRSfDz79Sq90TnH7DXJprJ1qnVGKNtZ6jemfw==", "license": "MIT", + "peer": true, "dependencies": { - "@turf/helpers": "^6.5.0", - "@turf/meta": "^6.5.0" + "@turf/helpers": "7.3.5", + "@turf/meta": "7.3.5", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/centroid": { - "version": "6.5.0", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-7.3.5.tgz", + "integrity": "sha512-hkWaqwGFdOn6Tf0EWfn2yn1XZ1FWE1h2C5ZWstDMu/FxYO5DB+YjlmOFPl4K6SmSOEgdV07eK2vDCyPeTHqKGA==", "license": "MIT", + "peer": true, "dependencies": { - "@turf/helpers": "^6.5.0", - "@turf/meta": "^6.5.0" + "@turf/helpers": "7.3.5", + "@turf/meta": "7.3.5", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/helpers": { - "version": "6.5.0", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.3.5.tgz", + "integrity": "sha512-E/NMGV5MwbjjP7AJXBtsanC3yY8N2MQ87IGdIgkB2ji5AtBpwnH4L3gEqpYN4RlCJJWbLbzO91BbKv2waUd0eg==", "license": "MIT", + "peer": true, + "dependencies": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" + }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/meta": { - "version": "6.5.0", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.3.5.tgz", + "integrity": "sha512-r+ohqxoyqeigFB0oFrQx/YEHIkOKqcKpCjvZkvZs7Tkv+IFco5MezAd2zd4rzK+0DfFgDP3KpJc7HqrYjvEjhg==", "license": "MIT", + "peer": true, "dependencies": { - "@turf/helpers": "^6.5.0" + "@turf/helpers": "7.3.5", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" @@ -4906,7 +5144,6 @@ }, "node_modules/@types/eslint": { "version": "9.6.1", - "dev": true, "license": "MIT", "dependencies": { "@types/estree": "*", @@ -4915,7 +5152,6 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.7", - "dev": true, "license": "MIT", "dependencies": { "@types/eslint": "*", @@ -4924,7 +5160,6 @@ }, "node_modules/@types/estree": { "version": "1.0.8", - "dev": true, "license": "MIT" }, "node_modules/@types/express": { @@ -4948,6 +5183,23 @@ "@types/range-parser": "*" } }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/geojson-vt": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@types/geojson-vt/-/geojson-vt-3.2.5.tgz", + "integrity": "sha512-qDO7wqtprzlpe8FfQ//ClPV9xiuoh2nkIgiouIptON9w5jvD/fA4szvP9GBlDVdJ5dldAl0kX/sy3URbWwLx0g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/geojson": "*" + } + }, "node_modules/@types/graceful-fs": { "version": "4.1.6", "dev": true, @@ -5015,7 +5267,6 @@ }, "node_modules/@types/json-schema": { "version": "7.0.15", - "dev": true, "license": "MIT" }, "node_modules/@types/json5": { @@ -5023,6 +5274,25 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/mapbox__point-geometry": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@types/mapbox__point-geometry/-/mapbox__point-geometry-0.1.4.tgz", + "integrity": "sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/mapbox__vector-tile": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mapbox__vector-tile/-/mapbox__vector-tile-1.3.4.tgz", + "integrity": "sha512-bpd8dRn9pr6xKvuEBQup8pwQfD4VUyqO/2deGjfpe6AwC8YRlyEipvefyRJUSiCJTZuCb8Pl1ciVV5ekqJ96Bg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/geojson": "*", + "@types/mapbox__point-geometry": "*", + "@types/pbf": "*" + } + }, "node_modules/@types/mime": { "version": "3.0.1", "dev": true, @@ -5036,6 +5306,13 @@ "version": "4.0.0", "license": "MIT" }, + "node_modules/@types/pbf": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/pbf/-/pbf-3.0.5.tgz", + "integrity": "sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA==", + "license": "MIT", + "peer": true + }, "node_modules/@types/prop-types": { "version": "15.7.5", "license": "MIT" @@ -5135,6 +5412,16 @@ "version": "2.0.1", "license": "MIT" }, + "node_modules/@types/supercluster": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-7.1.3.tgz", + "integrity": "sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/geojson": "*" + } + }, "node_modules/@types/testing-library__jest-dom": { "version": "5.14.5", "license": "MIT", @@ -5178,7 +5465,6 @@ }, "node_modules/@webassemblyjs/ast": { "version": "1.14.1", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.13.2", @@ -5187,22 +5473,18 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.13.2", - "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.13.2", - "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.14.1", - "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.13.2", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.13.2", @@ -5212,12 +5494,10 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.13.2", - "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.14.1", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.14.1", @@ -5228,7 +5508,6 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.13.2", - "dev": true, "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" @@ -5236,7 +5515,6 @@ }, "node_modules/@webassemblyjs/leb128": { "version": "1.13.2", - "dev": true, "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" @@ -5244,12 +5522,10 @@ }, "node_modules/@webassemblyjs/utf8": { "version": "1.13.2", - "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.14.1", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.14.1", @@ -5264,7 +5540,6 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.14.1", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.14.1", @@ -5276,7 +5551,6 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.14.1", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.14.1", @@ -5287,7 +5561,6 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.14.1", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.14.1", @@ -5300,7 +5573,6 @@ }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.14.1", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.14.1", @@ -5350,48 +5622,27 @@ }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "dev": true, "license": "BSD-3-Clause" }, "node_modules/@xtuc/long": { "version": "4.2.2", - "dev": true, "license": "Apache-2.0" }, - "node_modules/3d-view": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "matrix-camera-controller": "^2.1.1", - "orbit-camera-controller": "^4.0.0", - "turntable-camera-controller": "^3.0.0" - } - }, - "node_modules/a-big-triangle": { - "version": "1.0.3", - "license": "MIT", - "dependencies": { - "gl-buffer": "^2.1.1", - "gl-vao": "^1.2.0", - "weak-map": "^1.0.5" - } - }, "node_modules/abab": { "version": "2.0.6", "dev": true, "license": "BSD-3-Clause" }, - "node_modules/abbrev": { - "version": "1.1.1", - "license": "ISC" - }, "node_modules/abortcontroller-polyfill": { "version": "1.7.5", "license": "MIT" }, "node_modules/abs-svg-path": { "version": "0.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", + "integrity": "sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==", + "license": "MIT", + "peer": true }, "node_modules/accepts": { "version": "1.3.8", @@ -5426,7 +5677,6 @@ }, "node_modules/acorn-import-phases": { "version": "1.0.4", - "dev": true, "license": "MIT", "engines": { "node": ">=10.13.0" @@ -5458,20 +5708,6 @@ "object-assign": "4.x" } }, - "node_modules/add-line-numbers": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "pad-left": "^1.0.2" - } - }, - "node_modules/affine-hull": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "robust-orientation": "^1.1.3" - } - }, "node_modules/agent-base": { "version": "6.0.2", "license": "MIT", @@ -5528,7 +5764,6 @@ }, "node_modules/ajv-formats": { "version": "2.1.1", - "dev": true, "license": "MIT", "dependencies": { "ajv": "^8.0.0" @@ -5544,7 +5779,6 @@ }, "node_modules/ajv-formats/node_modules/ajv": { "version": "8.18.0", - "dev": true, "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -5559,7 +5793,6 @@ }, "node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", - "dev": true, "license": "MIT" }, "node_modules/ajv-keywords": { @@ -5572,23 +5805,10 @@ }, "node_modules/almost-equal": { "version": "1.1.0", - "license": "MIT" - }, - "node_modules/alpha-complex": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "circumradius": "^1.0.0", - "delaunay-triangulate": "^1.1.6" - } - }, - "node_modules/alpha-shape": { - "version": "1.0.0", + "resolved": "https://registry.npmjs.org/almost-equal/-/almost-equal-1.1.0.tgz", + "integrity": "sha512-0V/PkoculFl5+0Lp47JoxUcO0xSxhIBvm+BxHdD/OgXNmdRpRHCFnKVuUoWyS9EzQP+otSGv0m9Lb4yVkQBn2A==", "license": "MIT", - "dependencies": { - "alpha-complex": "^1.0.0", - "simplicial-complex-boundary": "^1.0.0" - } + "peer": true }, "node_modules/ansi-escapes": { "version": "4.3.2", @@ -5697,16 +5917,12 @@ "deep-equal": "^2.0.5" } }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array-bounds": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/array-bounds/-/array-bounds-1.0.1.tgz", + "integrity": "sha512-8wdW3ZGk6UjMPJx/glyEt0sLzzwAE1bhToPsO1W2pbpR2gULyxe3BjSiuJFheP50T/GgODVPz2fuMUmIywt8cQ==", + "license": "MIT", + "peer": true }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", @@ -5725,7 +5941,10 @@ }, "node_modules/array-find-index": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -5758,18 +5977,20 @@ }, "node_modules/array-normalize": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array-normalize/-/array-normalize-1.1.4.tgz", + "integrity": "sha512-fCp0wKFLjvSPmCn4F5Tiw4M3lpMZoHlCjfcs7nNzuj3vqQQ1/a8cgB9DXcpDSn18c+coLnaW7rqfcYCvKbyJXg==", "license": "MIT", + "peer": true, "dependencies": { "array-bounds": "^1.0.0" } }, "node_modules/array-range": { "version": "1.0.1", - "license": "MIT" - }, - "node_modules/array-rearrange": { - "version": "2.2.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/array-range/-/array-range-1.0.1.tgz", + "integrity": "sha512-shdaI1zT3CVNL2hnx9c0JMc0ZogGaxDs5e85akgHWKYa0yVbIyp06Ind3dVkTj/uuFrzaHBOyqFzo+VV6aXgtA==", + "license": "MIT", + "peer": true }, "node_modules/array.prototype.filter": { "version": "1.0.2", @@ -5978,12 +6199,10 @@ "node": ">= 4.0.0" } }, - "node_modules/atob-lite": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/attr-accept": { - "version": "2.2.2", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.5.tgz", + "integrity": "sha512-0bDNnY/u6pPwHDMoF0FieU354oBi0a8rD9FcsLwzcGWbc8KS8KPIi7y+s13OlVY+gMWc/9xEMUgNE6Qm8ZllYQ==", "license": "MIT", "engines": { "node": ">=4" @@ -6134,49 +6353,10 @@ "webpack": ">=2" } }, - "node_modules/babel-plugin-emotion": { - "version": "9.2.11", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.0.0", - "@emotion/babel-utils": "^0.6.4", - "@emotion/hash": "^0.6.2", - "@emotion/memoize": "^0.6.1", - "@emotion/stylis": "^0.7.0", - "babel-plugin-macros": "^2.0.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "convert-source-map": "^1.5.0", - "find-root": "^1.1.0", - "mkdirp": "^0.5.1", - "source-map": "^0.5.7", - "touch": "^2.0.1" - } - }, - "node_modules/babel-plugin-emotion/node_modules/@emotion/hash": { - "version": "0.6.6", - "license": "MIT" - }, - "node_modules/babel-plugin-emotion/node_modules/mkdirp": { - "version": "0.5.6", - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/babel-plugin-emotion/node_modules/source-map": { - "version": "0.5.7", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -6203,12 +6383,34 @@ } }, "node_modules/babel-plugin-macros": { - "version": "2.8.0", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" } }, "node_modules/babel-plugin-polyfill-corejs2": { @@ -6255,24 +6457,6 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/babel-plugin-styled-components": { - "version": "2.0.7", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-module-imports": "^7.16.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "lodash": "^4.17.11", - "picomatch": "^2.3.0" - }, - "peerDependencies": { - "styled-components": ">= 2" - } - }, - "node_modules/babel-plugin-syntax-jsx": { - "version": "6.18.0", - "license": "MIT" - }, "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", "dev": true, @@ -6332,17 +6516,20 @@ "dev": true, "license": "MIT" }, - "node_modules/barycentric": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "robust-linear-solve": "^1.0.0" - } - }, "node_modules/base16": { "version": "1.0.0", "license": "MIT" }, + "node_modules/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/base64-js": { "version": "1.5.1", "funding": [ @@ -6363,7 +6550,6 @@ }, "node_modules/baseline-browser-mapping": { "version": "2.10.0", - "dev": true, "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.cjs" @@ -6387,15 +6573,6 @@ "tweetnacl": "^0.14.3" } }, - "node_modules/big-rat": { - "version": "1.0.4", - "license": "MIT", - "dependencies": { - "bit-twiddle": "^1.0.2", - "bn.js": "^4.11.6", - "double-bits": "^1.1.1" - } - }, "node_modules/big.js": { "version": "5.2.2", "dev": true, @@ -6414,19 +6591,31 @@ }, "node_modules/binary-search-bounds": { "version": "2.0.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.5.tgz", + "integrity": "sha512-H0ea4Fd3lS1+sTEB2TgcLoK21lLhwEJzlQv3IN47pJS976Gx4zoWe0ak3q+uYh60ppQxg9F16Ri4tS1sfD4+jA==", + "license": "MIT", + "peer": true }, "node_modules/bit-twiddle": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", + "integrity": "sha512-B9UhK0DKFZhoTFcfvAzhqsjStvGJp9vYWf3+6SNTtdSQnvIgfkHbgHrg/e4+TH71N2GDu8tpmCVoyfrL1d7ntA==", + "license": "MIT", + "peer": true }, "node_modules/bitmap-sdf": { "version": "1.0.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/bitmap-sdf/-/bitmap-sdf-1.0.4.tgz", + "integrity": "sha512-1G3U4n5JE6RAiALMxu0p1XmeZkTeCwGKykzsLTCqVzfSDaN6S7fKnkIkfejogz+iwqBWc0UYAIKnKHNN7pSfDg==", + "license": "MIT", + "peer": true }, "node_modules/bl": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", + "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==", "license": "MIT", + "peer": true, "dependencies": { "readable-stream": "^2.3.5", "safe-buffer": "^5.1.1" @@ -6442,12 +6631,6 @@ "dev": true, "license": "MIT" }, - "node_modules/bn.js": { - "version": "4.12.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", - "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", - "license": "MIT" - }, "node_modules/body-parser": { "version": "1.20.5", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", @@ -6529,18 +6712,6 @@ "dev": true, "license": "ISC" }, - "node_modules/boundary-cells": { - "version": "2.0.2", - "license": "MIT" - }, - "node_modules/box-intersect": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "bit-twiddle": "^1.0.2", - "typedarray-pool": "^1.1.0" - } - }, "node_modules/brace-expansion": { "version": "1.1.15", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", @@ -6572,7 +6743,6 @@ }, "node_modules/browserslist": { "version": "4.28.1", - "dev": true, "funding": [ { "type": "opencollective", @@ -6729,6 +6899,8 @@ }, "node_modules/camelize": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6736,7 +6908,6 @@ }, "node_modules/caniuse-lite": { "version": "1.0.30001770", - "dev": true, "funding": [ { "type": "opencollective", @@ -6755,7 +6926,10 @@ }, "node_modules/canvas-fit": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/canvas-fit/-/canvas-fit-1.5.0.tgz", + "integrity": "sha512-onIcjRpz69/Hx5bB5HGbYKUF2uC6QT6Gp+pfpGm3A7mPfcluSLV5v4Zu+oflDUwLdUw0rLIBhUbi0v8hM4FJQQ==", "license": "MIT", + "peer": true, "dependencies": { "element-size": "^1.1.1" } @@ -6767,19 +6941,6 @@ "dev": true, "license": "Apache-2.0" }, - "node_modules/cdt2d": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "binary-search-bounds": "^2.0.3", - "robust-in-sphere": "^1.1.3", - "robust-orientation": "^1.1.3" - } - }, - "node_modules/cell-orientation": { - "version": "1.0.1", - "license": "MIT" - }, "node_modules/chained-function": { "version": "0.5.0", "license": "MIT" @@ -7024,7 +7185,6 @@ }, "node_modules/chrome-trace-event": { "version": "1.0.3", - "dev": true, "license": "MIT", "engines": { "node": ">=6.0" @@ -7043,21 +7203,6 @@ "node": ">=8" } }, - "node_modules/circumcenter": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "dup": "^1.0.0", - "robust-linear-solve": "^1.0.0" - } - }, - "node_modules/circumradius": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "circumcenter": "^1.0.0" - } - }, "node_modules/cjs-module-lexer": { "version": "1.4.3", "dev": true, @@ -7065,7 +7210,10 @@ }, "node_modules/clamp": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", + "integrity": "sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==", + "license": "MIT", + "peer": true }, "node_modules/classnames": { "version": "2.3.2", @@ -7082,19 +7230,6 @@ "node": ">= 10.0" } }, - "node_modules/clean-pslg": { - "version": "1.1.2", - "license": "MIT", - "dependencies": { - "big-rat": "^1.0.3", - "box-intersect": "^1.0.1", - "nextafter": "^1.0.0", - "rat-vec": "^1.1.1", - "robust-segment-intersect": "^1.0.1", - "union-find": "^1.0.2", - "uniq": "^1.0.1" - } - }, "node_modules/cli-cursor": { "version": "3.1.0", "dev": true, @@ -7289,11 +7424,24 @@ }, "node_modules/color-alpha": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/color-alpha/-/color-alpha-1.0.4.tgz", + "integrity": "sha512-lr8/t5NPozTSqli+duAN+x+no/2WaKTeWvxhHGN+aXT6AJ8vPlzLa7UriyjWak0pSC2jHol9JgjBYnnHsGha9A==", "license": "MIT", + "peer": true, "dependencies": { "color-parse": "^1.3.8" } }, + "node_modules/color-alpha/node_modules/color-parse": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-1.4.3.tgz", + "integrity": "sha512-BADfVl/FHkQkyo8sRBwMYBqemqsgnu7JZAwUgvBvuwwuNUZAhSvLTbsEErS5bQXzOjDR0dWzJ4vXN2Q+QoPx0A==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^1.0.0" + } + }, "node_modules/color-convert": { "version": "2.0.1", "license": "MIT", @@ -7306,7 +7454,10 @@ }, "node_modules/color-id": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/color-id/-/color-id-1.1.0.tgz", + "integrity": "sha512-2iRtAn6dC/6/G7bBIo0uupVrIne1NsQJvJxZOBCzQOfk7jRq97feaDZ3RdzuHakRXXnHGNwglto3pqtRx1sX0g==", "license": "MIT", + "peer": true, "dependencies": { "clamp": "^1.0.1" } @@ -7317,7 +7468,10 @@ }, "node_modules/color-normalize": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/color-normalize/-/color-normalize-1.5.0.tgz", + "integrity": "sha512-rUT/HDXMr6RFffrR53oX3HGWkDOP9goSAQGBkUaAYKjOE2JxozccdGyufageWDlInRAjm/jYPrf/Y38oa+7obw==", "license": "MIT", + "peer": true, "dependencies": { "clamp": "^1.0.1", "color-rgba": "^2.1.1", @@ -7325,26 +7479,43 @@ } }, "node_modules/color-parse": { - "version": "1.3.8", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.0.tgz", + "integrity": "sha512-g2Z+QnWsdHLppAbrpcFWo629kLOnOPtpxYV69GCqm92gqSgyXbzlfyN3MXs0412fPBkFmiuS+rXposgBgBa6Kg==", "license": "MIT", + "peer": true, "dependencies": { - "color-name": "^1.0.0", - "defined": "^1.0.0", - "is-plain-obj": "^1.1.0" + "color-name": "^1.0.0" } }, "node_modules/color-rgba": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/color-rgba/-/color-rgba-2.1.1.tgz", + "integrity": "sha512-VaX97wsqrMwLSOR6H7rU1Doa2zyVdmShabKrPEIFywLlHoibgD3QW9Dw6fSqM4+H/LfjprDNAUUW31qEQcGzNw==", "license": "MIT", + "peer": true, "dependencies": { "clamp": "^1.0.1", "color-parse": "^1.3.8", "color-space": "^1.14.6" } }, + "node_modules/color-rgba/node_modules/color-parse": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-1.4.3.tgz", + "integrity": "sha512-BADfVl/FHkQkyo8sRBwMYBqemqsgnu7JZAwUgvBvuwwuNUZAhSvLTbsEErS5bQXzOjDR0dWzJ4vXN2Q+QoPx0A==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "^1.0.0" + } + }, "node_modules/color-space": { "version": "1.16.0", + "resolved": "https://registry.npmjs.org/color-space/-/color-space-1.16.0.tgz", + "integrity": "sha512-A6WMiFzunQ8KEPFmj02OnnoUnqhmSaHaZ/0LVFcPTdlvm8+3aMJ5x1HRHy3bDHPkovkf4sS0f4wsVvwk71fKkg==", "license": "MIT", + "peer": true, "dependencies": { "hsluv": "^0.0.3", "mumath": "^3.3.4" @@ -7357,13 +7528,6 @@ "dev": true, "license": "MIT" }, - "node_modules/colormap": { - "version": "2.3.2", - "license": "MIT", - "dependencies": { - "lerp": "^1.0.3" - } - }, "node_modules/colors": { "version": "1.4.0", "dev": true, @@ -7400,29 +7564,6 @@ "dev": true, "license": "MIT" }, - "node_modules/compare-angle": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "robust-orientation": "^1.0.2", - "robust-product": "^1.0.0", - "robust-sum": "^1.0.0", - "signum": "^0.0.0", - "two-sum": "^1.0.0" - } - }, - "node_modules/compare-cell": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/compare-oriented-cell": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "cell-orientation": "^1.0.1", - "compare-cell": "^1.0.0" - } - }, "node_modules/component-classes": { "version": "1.2.6", "license": "MIT", @@ -7501,17 +7642,6 @@ ], "license": "MIT" }, - "node_modules/compute-dims": { - "version": "1.1.0", - "license": "MIT", - "dependencies": { - "utils-copy": "^1.0.0", - "validate.io-array": "^1.0.6", - "validate.io-matrix-like": "^1.0.2", - "validate.io-ndarray-like": "^1.0.0", - "validate.io-positive-integer": "^1.0.0" - } - }, "node_modules/computed-style": { "version": "0.1.4" }, @@ -7522,10 +7652,13 @@ }, "node_modules/concat-stream": { "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "engines": [ "node >= 0.8" ], "license": "MIT", + "peer": true, "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -7541,14 +7674,6 @@ "node": ">=0.8" } }, - "node_modules/const-max-uint32": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/const-pinf-float64": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/content-disposition": { "version": "0.5.4", "dev": true, @@ -7589,17 +7714,10 @@ }, "node_modules/convert-source-map": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "license": "MIT" }, - "node_modules/convex-hull": { - "version": "1.0.3", - "license": "MIT", - "dependencies": { - "affine-hull": "^1.0.0", - "incremental-convex-hull": "^1.0.1", - "monotone-convex-hull-2d": "^1.0.1" - } - }, "node_modules/cookie": { "version": "0.7.1", "dev": true, @@ -7730,6 +7848,7 @@ }, "node_modules/cosmiconfig": { "version": "6.0.0", + "dev": true, "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", @@ -7744,24 +7863,10 @@ }, "node_modules/country-regex": { "version": "1.1.0", - "license": "MIT" - }, - "node_modules/create-emotion": { - "version": "9.2.12", + "resolved": "https://registry.npmjs.org/country-regex/-/country-regex-1.1.0.tgz", + "integrity": "sha512-iSPlClZP8vX7MC3/u6s3lrDuoQyhQukh5LyABJ3hvfzbQ3Yyayd4fp04zjLnfi267B/B2FkumcWWgrbban7sSA==", "license": "MIT", - "dependencies": { - "@emotion/hash": "^0.6.2", - "@emotion/memoize": "^0.6.1", - "@emotion/stylis": "^0.7.0", - "@emotion/unitless": "^0.6.2", - "csstype": "^2.5.2", - "stylis": "^3.5.0", - "stylis-rule-sheet": "^0.0.10" - } - }, - "node_modules/create-emotion/node_modules/@emotion/hash": { - "version": "0.6.6", - "license": "MIT" + "peer": true }, "node_modules/create-jest": { "version": "29.7.0", @@ -7912,6 +8017,8 @@ }, "node_modules/css-color-keywords": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", "license": "ISC", "engines": { "node": ">=4" @@ -7919,7 +8026,10 @@ }, "node_modules/css-font": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-font/-/css-font-1.2.0.tgz", + "integrity": "sha512-V4U4Wps4dPDACJ4WpgofJ2RT5Yqwe1lEH6wlOOaIxMi0gTjdIijsc5FmxQlZ7ZZyKQkkutqqvULOp07l9c7ssA==", "license": "MIT", + "peer": true, "dependencies": { "css-font-size-keywords": "^1.0.0", "css-font-stretch-keywords": "^1.0.1", @@ -7934,23 +8044,38 @@ }, "node_modules/css-font-size-keywords": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz", + "integrity": "sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==", + "license": "MIT", + "peer": true }, "node_modules/css-font-stretch-keywords": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz", + "integrity": "sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==", + "license": "MIT", + "peer": true }, "node_modules/css-font-style-keywords": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz", + "integrity": "sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==", + "license": "MIT", + "peer": true }, "node_modules/css-font-weight-keywords": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz", + "integrity": "sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==", + "license": "MIT", + "peer": true }, "node_modules/css-global-keywords": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/css-global-keywords/-/css-global-keywords-1.0.1.tgz", + "integrity": "sha512-X1xgQhkZ9n94WDwntqst5D/FKkmiU0GlJSFZSV3kLvyJ1WC5VeyoXDOuleUD+SIuH9C7W05is++0Woh0CGfKjQ==", + "license": "MIT", + "peer": true }, "node_modules/css-has-pseudo": { "version": "3.0.4", @@ -8019,10 +8144,15 @@ }, "node_modules/css-system-font-keywords": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz", + "integrity": "sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==", + "license": "MIT", + "peer": true }, "node_modules/css-to-react-native": { - "version": "3.1.0", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", "license": "MIT", "dependencies": { "camelize": "^1.0.0", @@ -8044,7 +8174,10 @@ }, "node_modules/csscolorparser": { "version": "1.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", + "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==", + "license": "MIT", + "peer": true }, "node_modules/cssdb": { "version": "7.4.1", @@ -8057,7 +8190,6 @@ }, "node_modules/cssesc": { "version": "3.0.0", - "dev": true, "license": "MIT", "bin": { "cssesc": "bin/cssesc" @@ -8091,17 +8223,6 @@ "version": "2.6.21", "license": "MIT" }, - "node_modules/cubic-hermite": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/cwise-compiler": { - "version": "1.1.3", - "license": "MIT", - "dependencies": { - "uniq": "^1.0.0" - } - }, "node_modules/cypress": { "version": "15.16.0", "resolved": "https://registry.npmjs.org/cypress/-/cypress-15.16.0.tgz", @@ -8250,36 +8371,56 @@ "license": "0BSD" }, "node_modules/d": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", "license": "ISC", + "peer": true, "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" + "es5-ext": "^0.10.64", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.12" } }, - "node_modules/d3": { - "version": "3.5.17", - "license": "BSD-3-Clause" - }, "node_modules/d3-array": { "version": "1.2.4", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==", + "license": "BSD-3-Clause", + "peer": true }, "node_modules/d3-collection": { "version": "1.0.7", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", + "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==", + "license": "BSD-3-Clause", + "peer": true }, "node_modules/d3-color": { - "version": "1.4.1", - "license": "BSD-3-Clause" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } }, "node_modules/d3-dispatch": { "version": "1.0.6", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", + "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==", + "license": "BSD-3-Clause", + "peer": true }, "node_modules/d3-force": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", + "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", "license": "BSD-3-Clause", + "peer": true, "dependencies": { "d3-collection": "1", "d3-dispatch": "1", @@ -8287,46 +8428,110 @@ "d3-timer": "1" } }, + "node_modules/d3-format": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz", + "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/d3-geo": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz", + "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "d3-array": "1" + } + }, + "node_modules/d3-geo-projection": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/d3-geo-projection/-/d3-geo-projection-2.9.0.tgz", + "integrity": "sha512-ZULvK/zBn87of5rWAfFMc9mJOipeSo57O+BBitsKIXmU4rTVAnX1kSsJkE0R+TxY8pGNoM1nbyRRE7GYHhdOEQ==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "commander": "2", + "d3-array": "1", + "d3-geo": "^1.12.0", + "resolve": "^1.1.10" + }, + "bin": { + "geo2svg": "bin/geo2svg", + "geograticule": "bin/geograticule", + "geoproject": "bin/geoproject", + "geoquantize": "bin/geoquantize", + "geostitch": "bin/geostitch" + } + }, "node_modules/d3-hierarchy": { "version": "1.1.9", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz", + "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==", + "license": "BSD-3-Clause", + "peer": true }, "node_modules/d3-interpolate": { - "version": "1.4.0", - "license": "BSD-3-Clause", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", + "peer": true, "dependencies": { - "d3-color": "1" + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-path": { "version": "1.0.9", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "license": "BSD-3-Clause", + "peer": true }, "node_modules/d3-quadtree": { "version": "1.0.7", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz", + "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==", + "license": "BSD-3-Clause", + "peer": true }, "node_modules/d3-shape": { "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", "license": "BSD-3-Clause", + "peer": true, "dependencies": { "d3-path": "1" } }, "node_modules/d3-time": { "version": "1.1.0", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", + "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==", + "license": "BSD-3-Clause", + "peer": true }, "node_modules/d3-time-format": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz", + "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==", "license": "BSD-3-Clause", + "peer": true, "dependencies": { "d3-time": "1" } }, "node_modules/d3-timer": { "version": "1.0.10", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", + "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==", + "license": "BSD-3-Clause", + "peer": true }, "node_modules/dashdash": { "version": "1.14.1", @@ -8493,6 +8698,7 @@ }, "node_modules/deep-is": { "version": "0.1.4", + "dev": true, "license": "MIT" }, "node_modules/deepmerge": { @@ -8584,19 +8790,14 @@ }, "node_modules/defined": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/delaunay-triangulate": { - "version": "1.1.6", - "license": "MIT", - "dependencies": { - "incremental-convex-hull": "^1.0.1", - "uniq": "^1.0.1" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "license": "MIT", @@ -8630,7 +8831,10 @@ }, "node_modules/detect-kerning": { "version": "2.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/detect-kerning/-/detect-kerning-2.1.2.tgz", + "integrity": "sha512-I3JIbrnKPAntNLl1I6TpSQQdQ4AutYzv/sKMFKbepawV/hlH0GmYKhUoOEMd4xqaUHT+Bm0f4127lh5qs1m1tw==", + "license": "MIT", + "peer": true }, "node_modules/detect-libc": { "version": "1.0.3", @@ -8835,10 +9039,6 @@ "tslib": "^2.0.3" } }, - "node_modules/double-bits": { - "version": "1.1.1", - "license": "MIT" - }, "node_modules/draft-js": { "version": "0.11.7", "license": "MIT", @@ -8876,7 +9076,9 @@ } }, "node_modules/draft-js-utils": { - "version": "1.4.0", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/draft-js-utils/-/draft-js-utils-1.4.1.tgz", + "integrity": "sha512-xE81Y+z/muC5D5z9qWmKfxEW1XyXfsBzSbSBk2JRsoD0yzMGGHQm/0MtuqHl/EUDkaBJJLjJ2EACycoDMY/OOg==", "license": "ISC", "peerDependencies": { "draft-js": ">=0.10.0", @@ -8885,7 +9087,10 @@ }, "node_modules/draw-svg-path": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/draw-svg-path/-/draw-svg-path-1.0.0.tgz", + "integrity": "sha512-P8j3IHxcgRMcY6sDzr0QvJDLzBnJJqpTG33UZ2Pvp8rw0apCHhJCWqYprqrXjrgHnJ6tuhP1iTJSAodPDHxwkg==", "license": "MIT", + "peer": true, "dependencies": { "abs-svg-path": "~0.1.1", "normalize-svg-path": "~0.1.0" @@ -8893,7 +9098,10 @@ }, "node_modules/dtype": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dtype/-/dtype-2.0.0.tgz", + "integrity": "sha512-s2YVcLKdFGS0hpFqJaTwscsyt0E8nNFdmo73Ocd81xNPj4URI4rj6D60A+vFMIw7BXWlb4yRkEwfBqcZzPGiZg==", "license": "MIT", + "peer": true, "engines": { "node": ">= 0.8.0" } @@ -8912,11 +9120,17 @@ }, "node_modules/dup": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz", + "integrity": "sha512-Bz5jxMMC0wgp23Zm15ip1x8IhYRqJvF3nFC0UInJUDkN1z4uNPk9jTnfCUJXbOGiQ1JbXLQsiV41Fb+HXcj5BA==", + "license": "MIT", + "peer": true }, "node_modules/duplexify": { "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "license": "MIT", + "peer": true, "dependencies": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", @@ -8926,7 +9140,10 @@ }, "node_modules/earcut": { "version": "2.2.4", - "license": "ISC" + "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", + "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==", + "license": "ISC", + "peer": true }, "node_modules/ecc-jsbn": { "version": "0.1.2", @@ -8939,13 +9156,6 @@ "safer-buffer": "^2.1.0" } }, - "node_modules/edges-to-adjacency-list": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "uniq": "^1.0.0" - } - }, "node_modules/ee-first": { "version": "1.1.1", "dev": true, @@ -8953,16 +9163,21 @@ }, "node_modules/electron-to-chromium": { "version": "1.5.286", - "dev": true, "license": "ISC" }, "node_modules/element-size": { "version": "1.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/element-size/-/element-size-1.1.1.tgz", + "integrity": "sha512-eaN+GMOq/Q+BIWy0ybsgpcYImjGIdNLyjLFJU4XsLHXYQao5jCNb36GyN6C2qwmDDYSfIBmKpPpr4VnBdLCsPQ==", + "license": "MIT", + "peer": true }, "node_modules/elementary-circuits-directed-graph": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/elementary-circuits-directed-graph/-/elementary-circuits-directed-graph-1.3.1.tgz", + "integrity": "sha512-ZEiB5qkn2adYmpXGnJKkxT8uJHlW/mxmBpmeqawEHzPxh9HkLD4/1mFYX5l0On+f6rcPIt8/EWlRU2Vo3fX6dQ==", "license": "MIT", + "peer": true, "dependencies": { "strongly-connected-components": "^1.0.1" } @@ -8991,14 +9206,6 @@ "node": ">= 4" } }, - "node_modules/emotion": { - "version": "9.2.12", - "license": "MIT", - "dependencies": { - "babel-plugin-emotion": "^9.2.11", - "create-emotion": "^9.2.12" - } - }, "node_modules/encodeurl": { "version": "2.0.0", "dev": true, @@ -9016,7 +9223,6 @@ }, "node_modules/enhanced-resolve": { "version": "5.19.0", - "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", @@ -9309,7 +9515,6 @@ }, "node_modules/es-module-lexer": { "version": "2.0.0", - "dev": true, "license": "MIT" }, "node_modules/es-object-atoms": { @@ -9364,8 +9569,11 @@ }, "node_modules/es5-ext": { "version": "0.10.64", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", + "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", "hasInstallScript": true, "license": "ISC", + "peer": true, "dependencies": { "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.3", @@ -9378,28 +9586,36 @@ }, "node_modules/es6-iterator": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", "license": "MIT", + "peer": true, "dependencies": { "d": "1", "es5-ext": "^0.10.35", "es6-symbol": "^3.1.1" } }, - "node_modules/es6-promise": { - "version": "4.2.8", - "license": "MIT" - }, "node_modules/es6-symbol": { - "version": "3.1.3", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", "license": "ISC", + "peer": true, "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" + "d": "^1.0.2", + "ext": "^1.7.0" + }, + "engines": { + "node": ">=0.12" } }, "node_modules/es6-weak-map": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", "license": "ISC", + "peer": true, "dependencies": { "d": "1", "es5-ext": "^0.10.46", @@ -9409,7 +9625,6 @@ }, "node_modules/escalade": { "version": "3.2.0", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -9429,25 +9644,35 @@ } }, "node_modules/escodegen": { - "version": "1.14.3", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" + "estraverse": "^5.2.0", + "esutils": "^2.0.2" }, "bin": { "escodegen": "bin/escodegen.js", "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">=4.0" + "node": ">=6.0" }, "optionalDependencies": { "source-map": "~0.6.1" } }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, "node_modules/eslint": { "version": "8.57.1", "dev": true, @@ -9827,7 +10052,6 @@ }, "node_modules/eslint-scope": { "version": "5.1.1", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", @@ -10080,7 +10304,10 @@ }, "node_modules/esniff": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", "license": "ISC", + "peer": true, "dependencies": { "d": "^1.0.1", "es5-ext": "^0.10.62", @@ -10091,10 +10318,6 @@ "node": ">=0.10" } }, - "node_modules/esniff/node_modules/type": { - "version": "2.7.3", - "license": "ISC" - }, "node_modules/espree": { "version": "9.6.1", "dev": true, @@ -10143,7 +10366,6 @@ }, "node_modules/esrecurse": { "version": "4.3.0", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" @@ -10154,7 +10376,6 @@ }, "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" @@ -10184,7 +10405,10 @@ }, "node_modules/event-emitter": { "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", "license": "MIT", + "peer": true, "dependencies": { "d": "1", "es5-ext": "~0.10.14" @@ -10389,15 +10613,14 @@ }, "node_modules/ext": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", "license": "ISC", + "peer": true, "dependencies": { "type": "^2.7.2" } }, - "node_modules/ext/node_modules/type": { - "version": "2.7.2", - "license": "ISC" - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -10405,10 +10628,6 @@ "dev": true, "license": "MIT" }, - "node_modules/extract-frustum-planes": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -10421,7 +10640,10 @@ }, "node_modules/falafel": { "version": "2.2.5", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.5.tgz", + "integrity": "sha512-HuC1qF9iTnHDnML9YZAdCDQwT0yKl/U55K4XSUXqGAA2GLoafFgWRqdAbhWJxXaYD4pyoVxAJ8wH670jMpI9DQ==", "license": "MIT", + "peer": true, "dependencies": { "acorn": "^7.1.1", "isarray": "^2.0.1" @@ -10432,7 +10654,10 @@ }, "node_modules/falafel/node_modules/acorn": { "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -10461,6 +10686,8 @@ }, "node_modules/fast-isnumeric": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-isnumeric/-/fast-isnumeric-1.1.4.tgz", + "integrity": "sha512-1mM8qOr2LYz8zGaUdmiqRDiuue00Dxjgcb1NQR7TnhLVh6sQyngP9xvLo7Sl7LZpP/sk5eb+bcyWXw530NTBZw==", "license": "MIT", "dependencies": { "is-string-blank": "^1.0.1" @@ -10473,6 +10700,7 @@ }, "node_modules/fast-levenshtein": { "version": "2.0.6", + "dev": true, "license": "MIT" }, "node_modules/fast-text-encoding": { @@ -10483,7 +10711,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz", "integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==", - "dev": true, "funding": [ { "type": "github", @@ -10638,13 +10865,15 @@ } }, "node_modules/file-selector": { - "version": "0.1.19", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-2.1.2.tgz", + "integrity": "sha512-QgXo+mXTe8ljeqUFaX3QVHc5osSItJ/Km+xpocx0aSqWGMSCf6qYs/VnzZgS864Pjn5iceMRFigeAV7AfTlaig==", "license": "MIT", "dependencies": { - "tslib": "^2.0.1" + "tslib": "^2.7.0" }, "engines": { - "node": ">= 10" + "node": ">= 12" } }, "node_modules/fill-range": { @@ -10664,14 +10893,6 @@ "html-attributes": "1.1.0" } }, - "node_modules/filtered-vector": { - "version": "1.2.5", - "license": "MIT", - "dependencies": { - "binary-search-bounds": "^2.0.0", - "cubic-hermite": "^1.0.0" - } - }, "node_modules/finalhandler": { "version": "1.3.1", "dev": true, @@ -10720,6 +10941,8 @@ }, "node_modules/find-root": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", "license": "MIT" }, "node_modules/find-up": { @@ -10764,15 +10987,14 @@ }, "node_modules/flatten-vertex-data": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten-vertex-data/-/flatten-vertex-data-1.0.2.tgz", + "integrity": "sha512-BvCBFK2NZqerFTdMDgqfHBwxYWnxeCkwONsw6PvBMcUXqo8U/KDWwmXhqx1x2kLIg7DqIsJfOaJFOmlua3Lxuw==", "license": "MIT", + "peer": true, "dependencies": { "dtype": "^2.0.0" } }, - "node_modules/flip-pixels": { - "version": "1.0.2", - "license": "MIT" - }, "node_modules/flux": { "version": "4.0.3", "license": "BSD-3-Clause", @@ -10838,14 +11060,20 @@ }, "node_modules/font-atlas": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/font-atlas/-/font-atlas-2.1.0.tgz", + "integrity": "sha512-kP3AmvX+HJpW4w3d+PiPR2X6E1yvsBXt2yhuCw+yReO9F1WYhvZwx3c95DGZGwg9xYzDGrgJYa885xmVA+28Cg==", "license": "MIT", + "peer": true, "dependencies": { "css-font": "^1.0.0" } }, "node_modules/font-measure": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/font-measure/-/font-measure-1.2.2.tgz", + "integrity": "sha512-mRLEpdrWzKe9hbfaF3Qpr06TAjquuBVP5cHy4b3hyeNdjc9i0PO6HniGsX5vjL5OWv7+Bd++NiooNpT/s8BvIA==", "license": "MIT", + "peer": true, "dependencies": { "css-font": "^1.2.0" } @@ -10927,7 +11155,10 @@ }, "node_modules/from2": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "license": "MIT", + "peer": true, "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" @@ -11008,10 +11239,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "license": "MIT" - }, "node_modules/functions-have-names": { "version": "1.2.3", "license": "MIT", @@ -11019,13 +11246,8 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gamma": { - "version": "0.1.0", - "license": "MIT" - }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -11033,7 +11255,10 @@ }, "node_modules/geojson-vt": { "version": "3.2.1", - "license": "ISC" + "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", + "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==", + "license": "ISC", + "peer": true }, "node_modules/get-caller-file": { "version": "2.0.5", @@ -11045,7 +11270,10 @@ }, "node_modules/get-canvas-context": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/get-canvas-context/-/get-canvas-context-1.0.2.tgz", + "integrity": "sha512-LnpfLf/TNzr9zVOGiIY6aKCz8EKuXmlYNV7CM2pUjBa/B+c2I15tS7KLySep75+FuerJdmArvJLcsAXWEy2H0A==", + "license": "MIT", + "peer": true }, "node_modules/get-east-asian-width": { "version": "1.6.0", @@ -11148,316 +11376,26 @@ "assert-plus": "^1.0.0" } }, - "node_modules/gl-axes3d": { - "version": "1.5.3", - "license": "MIT", - "dependencies": { - "bit-twiddle": "^1.0.2", - "dup": "^1.0.0", - "extract-frustum-planes": "^1.0.0", - "gl-buffer": "^2.1.2", - "gl-mat4": "^1.2.0", - "gl-shader": "^4.2.1", - "gl-state": "^1.0.0", - "gl-vao": "^1.3.0", - "gl-vec4": "^1.0.1", - "glslify": "^7.0.0", - "robust-orientation": "^1.1.3", - "split-polygon": "^1.0.0", - "vectorize-text": "^3.2.1" - } - }, - "node_modules/gl-buffer": { - "version": "2.1.2", - "license": "MIT", - "dependencies": { - "ndarray": "^1.0.15", - "ndarray-ops": "^1.1.0", - "typedarray-pool": "^1.0.0" - } - }, - "node_modules/gl-cone3d": { - "version": "1.5.2", - "license": "MIT", - "dependencies": { - "colormap": "^2.3.1", - "gl-buffer": "^2.1.2", - "gl-mat4": "^1.2.0", - "gl-shader": "^4.2.1", - "gl-texture2d": "^2.1.0", - "gl-vao": "^1.3.0", - "gl-vec3": "^1.1.3", - "glsl-inverse": "^1.0.0", - "glsl-out-of-range": "^1.0.4", - "glsl-specular-cook-torrance": "^2.0.1", - "glslify": "^7.0.0", - "ndarray": "^1.0.18" - } - }, - "node_modules/gl-constants": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/gl-contour2d": { - "version": "1.1.7", - "license": "MIT", - "dependencies": { - "binary-search-bounds": "^2.0.4", - "cdt2d": "^1.0.0", - "clean-pslg": "^1.1.2", - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "glslify": "^7.0.0", - "iota-array": "^1.0.0", - "ndarray": "^1.0.18", - "surface-nets": "^1.0.2" - } - }, - "node_modules/gl-error3d": { - "version": "1.0.16", - "license": "MIT", - "dependencies": { - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "gl-vao": "^1.3.0", - "glsl-out-of-range": "^1.0.4", - "glslify": "^7.0.0" - } - }, - "node_modules/gl-fbo": { - "version": "2.0.5", - "license": "MIT", - "dependencies": { - "gl-texture2d": "^2.0.0" - } - }, - "node_modules/gl-format-compiler-error": { - "version": "1.0.3", - "license": "Unlicense", - "dependencies": { - "add-line-numbers": "^1.0.1", - "gl-constants": "^1.0.0", - "glsl-shader-name": "^1.0.0", - "sprintf-js": "^1.0.3" - } - }, - "node_modules/gl-heatmap2d": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "binary-search-bounds": "^2.0.4", - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "glslify": "^7.0.0", - "iota-array": "^1.0.0", - "typedarray-pool": "^1.2.0" - } - }, - "node_modules/gl-line3d": { - "version": "1.2.1", - "license": "MIT", - "dependencies": { - "binary-search-bounds": "^2.0.4", - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "gl-texture2d": "^2.1.0", - "gl-vao": "^1.3.0", - "glsl-out-of-range": "^1.0.4", - "glslify": "^7.0.0", - "ndarray": "^1.0.18" - } - }, - "node_modules/gl-mat3": { - "version": "1.0.0", - "license": "zlib" - }, "node_modules/gl-mat4": { "version": "1.2.0", - "license": "Zlib" - }, - "node_modules/gl-matrix": { - "version": "3.4.3", - "license": "MIT" - }, - "node_modules/gl-mesh3d": { - "version": "2.3.1", - "license": "MIT", - "dependencies": { - "barycentric": "^1.0.1", - "colormap": "^2.3.1", - "gl-buffer": "^2.1.2", - "gl-mat4": "^1.2.0", - "gl-shader": "^4.2.1", - "gl-texture2d": "^2.1.0", - "gl-vao": "^1.3.0", - "glsl-out-of-range": "^1.0.4", - "glsl-specular-cook-torrance": "^2.0.1", - "glslify": "^7.0.0", - "ndarray": "^1.0.18", - "normals": "^1.1.0", - "polytope-closest-point": "^1.0.0", - "simplicial-complex-contour": "^1.0.2", - "typedarray-pool": "^1.1.0" - } - }, - "node_modules/gl-plot2d": { - "version": "1.4.5", - "license": "MIT", - "dependencies": { - "binary-search-bounds": "^2.0.4", - "gl-buffer": "^2.1.2", - "gl-select-static": "^2.0.7", - "gl-shader": "^4.2.1", - "glsl-inverse": "^1.0.0", - "glslify": "^7.0.0", - "text-cache": "^4.2.2" - } - }, - "node_modules/gl-plot3d": { - "version": "2.4.7", - "license": "MIT", - "dependencies": { - "3d-view": "^2.0.0", - "a-big-triangle": "^1.0.3", - "gl-axes3d": "^1.5.3", - "gl-fbo": "^2.0.5", - "gl-mat4": "^1.2.0", - "gl-select-static": "^2.0.7", - "gl-shader": "^4.2.1", - "gl-spikes3d": "^1.0.10", - "glslify": "^7.0.0", - "has-passive-events": "^1.0.0", - "is-mobile": "^2.2.1", - "mouse-change": "^1.4.0", - "mouse-event-offset": "^3.0.2", - "mouse-wheel": "^1.2.0", - "ndarray": "^1.0.19", - "right-now": "^1.0.0" - } - }, - "node_modules/gl-pointcloud2d": { - "version": "1.0.3", - "license": "MIT", - "dependencies": { - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "glslify": "^7.0.0", - "typedarray-pool": "^1.1.0" - } - }, - "node_modules/gl-quat": { - "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gl-mat4/-/gl-mat4-1.2.0.tgz", + "integrity": "sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==", "license": "Zlib", - "dependencies": { - "gl-mat3": "^1.0.0", - "gl-vec3": "^1.0.3", - "gl-vec4": "^1.0.0" - } - }, - "node_modules/gl-scatter3d": { - "version": "1.2.3", - "license": "MIT", - "dependencies": { - "gl-buffer": "^2.1.2", - "gl-mat4": "^1.2.0", - "gl-shader": "^4.2.1", - "gl-vao": "^1.3.0", - "glsl-out-of-range": "^1.0.4", - "glslify": "^7.0.0", - "is-string-blank": "^1.0.1", - "typedarray-pool": "^1.1.0", - "vectorize-text": "^3.2.1" - } - }, - "node_modules/gl-select-box": { - "version": "1.0.4", - "license": "MIT", - "dependencies": { - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "glslify": "^7.0.0" - } - }, - "node_modules/gl-select-static": { - "version": "2.0.7", - "license": "MIT", - "dependencies": { - "bit-twiddle": "^1.0.2", - "gl-fbo": "^2.0.5", - "ndarray": "^1.0.18", - "typedarray-pool": "^1.1.0" - } - }, - "node_modules/gl-shader": { - "version": "4.3.1", - "license": "MIT", - "dependencies": { - "gl-format-compiler-error": "^1.0.2", - "weakmap-shim": "^1.1.0" - } - }, - "node_modules/gl-spikes2d": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/gl-spikes3d": { - "version": "1.0.10", - "license": "MIT", - "dependencies": { - "gl-buffer": "^2.1.2", - "gl-shader": "^4.2.1", - "gl-vao": "^1.3.0", - "glslify": "^7.0.0" - } + "peer": true }, - "node_modules/gl-state": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "uniq": "^1.0.0" - } - }, - "node_modules/gl-streamtube3d": { - "version": "1.4.1", - "license": "MIT", - "dependencies": { - "gl-cone3d": "^1.5.2", - "gl-vec3": "^1.1.3", - "gl-vec4": "^1.0.1", - "glsl-inverse": "^1.0.0", - "glsl-out-of-range": "^1.0.4", - "glsl-specular-cook-torrance": "^2.0.1", - "glslify": "^7.0.0" - } - }, - "node_modules/gl-surface3d": { - "version": "1.6.0", + "node_modules/gl-matrix": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.4.tgz", + "integrity": "sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ==", "license": "MIT", - "dependencies": { - "binary-search-bounds": "^2.0.4", - "bit-twiddle": "^1.0.2", - "colormap": "^2.3.1", - "dup": "^1.0.0", - "gl-buffer": "^2.1.2", - "gl-mat4": "^1.2.0", - "gl-shader": "^4.2.1", - "gl-texture2d": "^2.1.0", - "gl-vao": "^1.3.0", - "glsl-out-of-range": "^1.0.4", - "glsl-specular-beckmann": "^1.1.2", - "glslify": "^7.0.0", - "ndarray": "^1.0.18", - "ndarray-gradient": "^1.0.0", - "ndarray-ops": "^1.2.2", - "ndarray-pack": "^1.2.1", - "ndarray-scratch": "^1.2.0", - "surface-nets": "^1.0.2", - "typedarray-pool": "^1.1.0" - } + "peer": true }, "node_modules/gl-text": { - "version": "1.3.1", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gl-text/-/gl-text-1.4.0.tgz", + "integrity": "sha512-o47+XBqLCj1efmuNyCHt7/UEJmB9l66ql7pnobD6p+sgmBUdzfMZXIF0zD2+KRfpd99DJN+QXdvTFAGCKCVSmQ==", "license": "MIT", + "peer": true, "dependencies": { "bit-twiddle": "^1.0.2", "color-normalize": "^1.5.0", @@ -11478,22 +11416,12 @@ "typedarray-pool": "^1.1.0" } }, - "node_modules/gl-text/node_modules/regl": { - "version": "2.1.0", - "license": "MIT" - }, - "node_modules/gl-texture2d": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "ndarray": "^1.0.15", - "ndarray-ops": "^1.2.2", - "typedarray-pool": "^1.1.0" - } - }, "node_modules/gl-util": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/gl-util/-/gl-util-3.1.3.tgz", + "integrity": "sha512-dvRTggw5MSkJnCbh74jZzSoTOGnVYK+Bt+Ckqm39CVcl6+zSsxqWk4lr5NKhkqXHL6qvZAU9h17ZF8mIskY9mA==", "license": "MIT", + "peer": true, "dependencies": { "is-browser": "^2.0.1", "is-firefox": "^1.0.3", @@ -11504,18 +11432,6 @@ "weak-map": "^1.0.5" } }, - "node_modules/gl-vao": { - "version": "1.3.0", - "license": "MIT" - }, - "node_modules/gl-vec3": { - "version": "1.1.3", - "license": "zlib" - }, - "node_modules/gl-vec4": { - "version": "1.0.1", - "license": "Zlib" - }, "node_modules/glob": { "version": "7.2.3", "dev": true, @@ -11548,7 +11464,6 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "dev": true, "license": "BSD-2-Clause" }, "node_modules/global-dirs": { @@ -11565,15 +11480,66 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globals": { - "version": "11.12.0", - "dev": true, + "node_modules/global-prefix": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-4.0.0.tgz", + "integrity": "sha512-w0Uf9Y9/nyHinEk5vMJKRie+wa4kR5hmDbEhGGds/kG1PwGLLHKRoNMeJOyCQjjBkANlnScqgzcFwGHgmgLkVA==", "license": "MIT", + "peer": true, + "dependencies": { + "ini": "^4.1.3", + "kind-of": "^6.0.3", + "which": "^4.0.0" + }, "engines": { - "node": ">=4" + "node": ">=16" } }, - "node_modules/globalthis": { + "node_modules/global-prefix/node_modules/ini": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "license": "ISC", + "peer": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/global-prefix/node_modules/isexe": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.5.tgz", + "integrity": "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==", + "license": "BlueOak-1.0.0", + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "license": "ISC", + "peer": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { "version": "1.0.4", "dev": true, "license": "MIT", @@ -11619,24 +11585,22 @@ }, "node_modules/glsl-inject-defines": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/glsl-inject-defines/-/glsl-inject-defines-1.0.3.tgz", + "integrity": "sha512-W49jIhuDtF6w+7wCMcClk27a2hq8znvHtlGnrYkSWEr8tHe9eA2dcnohlcAmxLYBSpSSdzOkRdyPTrx9fw49+A==", "license": "MIT", + "peer": true, "dependencies": { "glsl-token-inject-block": "^1.0.0", "glsl-token-string": "^1.0.1", "glsl-tokenizer": "^2.0.2" } }, - "node_modules/glsl-inverse": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/glsl-out-of-range": { - "version": "1.0.4", - "license": "MIT" - }, "node_modules/glsl-resolve": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/glsl-resolve/-/glsl-resolve-0.0.1.tgz", + "integrity": "sha512-xxFNsfnhZTK9NBhzJjSBGX6IOqYpvBHxxmo+4vapiljyGNCY0Bekzn0firQkQrazK59c1hYxMDxYS8MDlhw4gA==", "license": "MIT", + "peer": true, "dependencies": { "resolve": "^0.6.1", "xtend": "^2.1.2" @@ -11644,51 +11608,50 @@ }, "node_modules/glsl-resolve/node_modules/resolve": { "version": "0.6.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", + "integrity": "sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==", + "license": "MIT", + "peer": true }, "node_modules/glsl-resolve/node_modules/xtend": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz", + "integrity": "sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==", + "peer": true, "engines": { "node": ">=0.4" } }, - "node_modules/glsl-shader-name": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "atob-lite": "^1.0.0", - "glsl-tokenizer": "^2.0.2" - } - }, - "node_modules/glsl-specular-beckmann": { - "version": "1.1.2", - "license": "MIT" - }, - "node_modules/glsl-specular-cook-torrance": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "glsl-specular-beckmann": "^1.1.1" - } - }, "node_modules/glsl-token-assignments": { "version": "2.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/glsl-token-assignments/-/glsl-token-assignments-2.0.2.tgz", + "integrity": "sha512-OwXrxixCyHzzA0U2g4btSNAyB2Dx8XrztY5aVUCjRSh4/D0WoJn8Qdps7Xub3sz6zE73W3szLrmWtQ7QMpeHEQ==", + "license": "MIT", + "peer": true }, "node_modules/glsl-token-defines": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/glsl-token-defines/-/glsl-token-defines-1.0.0.tgz", + "integrity": "sha512-Vb5QMVeLjmOwvvOJuPNg3vnRlffscq2/qvIuTpMzuO/7s5kT+63iL6Dfo2FYLWbzuiycWpbC0/KV0biqFwHxaQ==", "license": "MIT", + "peer": true, "dependencies": { "glsl-tokenizer": "^2.0.0" } }, "node_modules/glsl-token-depth": { "version": "1.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/glsl-token-depth/-/glsl-token-depth-1.1.2.tgz", + "integrity": "sha512-eQnIBLc7vFf8axF9aoi/xW37LSWd2hCQr/3sZui8aBJnksq9C7zMeUYHVJWMhFzXrBU7fgIqni4EhXVW4/krpg==", + "license": "MIT", + "peer": true }, "node_modules/glsl-token-descope": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glsl-token-descope/-/glsl-token-descope-1.0.2.tgz", + "integrity": "sha512-kS2PTWkvi/YOeicVjXGgX5j7+8N7e56srNDEHDTVZ1dcESmbmpmgrnpjPcjxJjMxh56mSXYoFdZqb90gXkGjQw==", "license": "MIT", + "peer": true, "dependencies": { "glsl-token-assignments": "^2.0.0", "glsl-token-depth": "^1.1.0", @@ -11698,34 +11661,93 @@ }, "node_modules/glsl-token-inject-block": { "version": "1.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/glsl-token-inject-block/-/glsl-token-inject-block-1.1.0.tgz", + "integrity": "sha512-q/m+ukdUBuHCOtLhSr0uFb/qYQr4/oKrPSdIK2C4TD+qLaJvqM9wfXIF/OOBjuSA3pUoYHurVRNao6LTVVUPWA==", + "license": "MIT", + "peer": true }, "node_modules/glsl-token-properties": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/glsl-token-properties/-/glsl-token-properties-1.0.1.tgz", + "integrity": "sha512-dSeW1cOIzbuUoYH0y+nxzwK9S9O3wsjttkq5ij9ZGw0OS41BirKJzzH48VLm8qLg+au6b0sINxGC0IrGwtQUcA==", + "license": "MIT", + "peer": true }, "node_modules/glsl-token-scope": { "version": "1.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/glsl-token-scope/-/glsl-token-scope-1.1.2.tgz", + "integrity": "sha512-YKyOMk1B/tz9BwYUdfDoHvMIYTGtVv2vbDSLh94PT4+f87z21FVdou1KNKgF+nECBTo0fJ20dpm0B1vZB1Q03A==", + "license": "MIT", + "peer": true }, "node_modules/glsl-token-string": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/glsl-token-string/-/glsl-token-string-1.0.1.tgz", + "integrity": "sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg==", + "license": "MIT", + "peer": true }, "node_modules/glsl-token-whitespace-trim": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/glsl-token-whitespace-trim/-/glsl-token-whitespace-trim-1.0.0.tgz", + "integrity": "sha512-ZJtsPut/aDaUdLUNtmBYhaCmhIjpKNg7IgZSfX5wFReMc2vnj8zok+gB/3Quqs0TsBSX/fGnqUUYZDqyuc2xLQ==", + "license": "MIT", + "peer": true }, "node_modules/glsl-tokenizer": { "version": "2.1.5", + "resolved": "https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz", + "integrity": "sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==", "license": "MIT", + "peer": true, "dependencies": { "through2": "^0.6.3" } }, + "node_modules/glsl-tokenizer/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT", + "peer": true + }, + "node_modules/glsl-tokenizer/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/glsl-tokenizer/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "license": "MIT", + "peer": true + }, + "node_modules/glsl-tokenizer/node_modules/through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==", + "license": "MIT", + "peer": true, + "dependencies": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + }, "node_modules/glslify": { "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", + "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", "license": "MIT", + "peer": true, "dependencies": { "bl": "^2.2.1", "concat-stream": "^1.5.2", @@ -11749,7 +11771,10 @@ }, "node_modules/glslify-bundle": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glslify-bundle/-/glslify-bundle-5.1.1.tgz", + "integrity": "sha512-plaAOQPv62M1r3OsWf2UbjN0hUYAB7Aph5bfH58VxJZJhloRNbxOL9tl/7H71K7OLJoSJ2ZqWOKk3ttQ6wy24A==", "license": "MIT", + "peer": true, "dependencies": { "glsl-inject-defines": "^1.0.1", "glsl-token-defines": "^1.0.0", @@ -11765,7 +11790,10 @@ }, "node_modules/glslify-deps": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/glslify-deps/-/glslify-deps-1.3.2.tgz", + "integrity": "sha512-7S7IkHWygJRjcawveXQjRXLO2FTjijPDYC7QfZyAQanY+yGLCFHYnPtsGT9bdyHiwPTw/5a1m1M9hamT2aBpag==", "license": "ISC", + "peer": true, "dependencies": { "@choojs/findup": "^0.2.0", "events": "^3.2.0", @@ -11777,14 +11805,6 @@ "resolve": "^1.0.0" } }, - "node_modules/glslify/node_modules/through2": { - "version": "2.0.5", - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, "node_modules/gopd": { "version": "1.2.0", "license": "MIT", @@ -11806,7 +11826,10 @@ }, "node_modules/grid-index": { "version": "1.1.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/grid-index/-/grid-index-1.1.0.tgz", + "integrity": "sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==", + "license": "ISC", + "peer": true }, "node_modules/handle-thing": { "version": "2.0.1", @@ -11885,14 +11908,20 @@ }, "node_modules/has-hover": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-hover/-/has-hover-1.0.1.tgz", + "integrity": "sha512-0G6w7LnlcpyDzpeGUTuT0CEw05+QlMuGVk1IHNAlHrGJITGodjZu3x8BNDUMfKJSZXNB2ZAclqc1bvrd+uUpfg==", "license": "MIT", + "peer": true, "dependencies": { "is-browser": "^2.0.1" } }, "node_modules/has-passive-events": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-passive-events/-/has-passive-events-1.0.0.tgz", + "integrity": "sha512-2vSj6IeIsgvsRMyeQ0JaCX5Q3lX4zMn5HpoVc7MEhQ6pv8Iq9rsXjsp+E5ZwaT7T0xhMT0KmU8gtt1EFVdbJiw==", "license": "MIT", + "peer": true, "dependencies": { "is-browser": "^2.0.1" } @@ -12021,7 +12050,10 @@ }, "node_modules/hsluv": { "version": "0.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/hsluv/-/hsluv-0.0.3.tgz", + "integrity": "sha512-08iL2VyCRbkQKBySkSh6m8zMUa3sADAxGVWs3Z1aPcUkTJeK0ETG4Fc27tEmQBGUAXZjIsXOZqBvacuVNSC/fQ==", + "license": "MIT", + "peer": true }, "node_modules/html-attributes": { "version": "1.1.0", @@ -12257,7 +12289,6 @@ }, "node_modules/iconv-lite": { "version": "0.4.24", - "dev": true, "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" @@ -12268,7 +12299,6 @@ }, "node_modules/icss-utils": { "version": "5.1.0", - "dev": true, "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" @@ -12314,24 +12344,6 @@ "node": ">= 4" } }, - "node_modules/image-palette": { - "version": "2.1.0", - "dependencies": { - "color-id": "^1.1.0", - "pxls": "^2.0.0", - "quantize": "^1.0.2" - } - }, - "node_modules/image-size": { - "version": "0.7.5", - "license": "MIT", - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/immutability-helper": { "version": "3.1.1", "license": "MIT" @@ -12382,14 +12394,6 @@ "node": ">=0.8.19" } }, - "node_modules/incremental-convex-hull": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "robust-orientation": "^1.1.2", - "simplicial-complex": "^1.0.0" - } - }, "node_modules/indent-string": { "version": "4.0.0", "license": "MIT", @@ -12438,13 +12442,6 @@ "node": ">=10.13.0" } }, - "node_modules/interval-tree-1d": { - "version": "1.0.4", - "license": "MIT", - "dependencies": { - "binary-search-bounds": "^2.0.0" - } - }, "node_modules/intl-messageformat": { "version": "9.13.0", "license": "BSD-3-Clause", @@ -12462,14 +12459,6 @@ "loose-envify": "^1.0.0" } }, - "node_modules/invert-permutation": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/iota-array": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/ipaddr.js": { "version": "2.0.1", "dev": true, @@ -12529,10 +12518,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-base64": { - "version": "0.1.0", - "license": "MIT" - }, "node_modules/is-bigint": { "version": "1.1.0", "license": "MIT", @@ -12557,16 +12542,6 @@ "node": ">=8" } }, - "node_modules/is-blob": { - "version": "2.1.0", - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-boolean-object": { "version": "1.2.2", "license": "MIT", @@ -12583,11 +12558,10 @@ }, "node_modules/is-browser": { "version": "2.1.0", - "license": "MIT" - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-browser/-/is-browser-2.1.0.tgz", + "integrity": "sha512-F5rTJxDQ2sW81fcfOR1GnCXT6sVJC104fCyfj+mjpwNEwaPYSn5fte5jiHmBg3DHsIoL/l8Kvw5VN5SsTRcRFQ==", + "license": "MIT", + "peer": true }, "node_modules/is-callable": { "version": "1.2.7", @@ -12680,7 +12654,10 @@ }, "node_modules/is-finite": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" }, @@ -12690,15 +12667,14 @@ }, "node_modules/is-firefox": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-firefox/-/is-firefox-1.0.3.tgz", + "integrity": "sha512-6Q9ITjvWIm0Xdqv+5U12wgOKEM2KoBw4Y926m0OFkvlCxnbG94HKAsVz8w3fWcfAS5YA2fJORXX1dLrkprCCxA==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-float-array": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "dev": true, @@ -12739,13 +12715,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-iexplorer": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-in-browser": { "version": "1.1.3", "license": "MIT" @@ -12776,8 +12745,11 @@ } }, "node_modules/is-mobile": { - "version": "2.2.2", - "license": "MIT" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-4.0.0.tgz", + "integrity": "sha512-mlcHZA84t1qLSuWkt2v0I2l61PYdyQDt4aG1mLIXF5FDMm4+haBCxCPYSr/uwqQNRk1MiTizn0ypEuRAOLRAew==", + "license": "MIT", + "peer": true }, "node_modules/is-nan": { "version": "1.3.2", @@ -12827,7 +12799,10 @@ }, "node_modules/is-obj": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -12842,7 +12817,10 @@ }, "node_modules/is-plain-obj": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -12929,6 +12907,8 @@ }, "node_modules/is-string-blank": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-string-blank/-/is-string-blank-1.0.1.tgz", + "integrity": "sha512-9H+ZBCVs3L9OYqv8nuUAzpcT9OTgMD1yAWrG7ihlnibdkbtB850heAmYWxHuXc4CHy4lKeK69tN+ny1K7gBIrw==", "license": "MIT" }, "node_modules/is-subset": { @@ -12938,7 +12918,10 @@ }, "node_modules/is-svg-path": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-svg-path/-/is-svg-path-1.0.2.tgz", + "integrity": "sha512-Lj4vePmqpPR1ZnRctHv8ltSh1OrSxHkhUkd7wi+VQdcdP15/KvQFyk7LhNuM7ZW0EVbJz8kZLVmL9quLrfq4Kg==", + "license": "MIT", + "peer": true }, "node_modules/is-symbol": { "version": "1.1.1", @@ -14033,7 +14016,6 @@ }, "node_modules/jest-worker": { "version": "27.5.1", - "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", @@ -14046,7 +14028,6 @@ }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -14156,35 +14137,6 @@ } } }, - "node_modules/jsdom/node_modules/escodegen": { - "version": "2.0.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/jsdom/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, "node_modules/jsdom/node_modules/tough-cookie": { "version": "4.1.4", "dev": true, @@ -14279,6 +14231,13 @@ "dev": true, "license": "MIT" }, + "node_modules/json-stringify-pretty-compact": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz", + "integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==", + "license": "MIT", + "peer": true + }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -14288,7 +14247,6 @@ }, "node_modules/json5": { "version": "2.2.3", - "dev": true, "license": "MIT", "bin": { "json5": "lib/cli.js" @@ -14432,8 +14390,11 @@ } }, "node_modules/kdbush": { - "version": "3.0.0", - "license": "ISC" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.1.0.tgz", + "integrity": "sha512-e9vurzrXJQrFX6ckpHP3bvj5l+9CnYzkxDNnNQ1h2QTqdWsUAJgXiKdGNcOa1EY85dU8KbQ+z/FdQdB7P+9yfQ==", + "license": "ISC", + "peer": true }, "node_modules/keyv": { "version": "4.5.4", @@ -14445,7 +14406,6 @@ }, "node_modules/kind-of": { "version": "6.0.3", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -14485,10 +14445,6 @@ "version": "1.9.4", "license": "BSD-2-Clause" }, - "node_modules/lerp": { - "version": "1.0.3", - "license": "MIT" - }, "node_modules/leven": { "version": "3.1.0", "dev": true, @@ -14497,17 +14453,6 @@ "node": ">=6" } }, - "node_modules/levn": { - "version": "0.3.0", - "license": "MIT", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/line-height": { "version": "0.3.1", "license": "MIT", @@ -14808,7 +14753,6 @@ }, "node_modules/loader-runner": { "version": "4.3.1", - "dev": true, "license": "MIT", "engines": { "node": ">=6.11.5" @@ -14889,7 +14833,6 @@ }, "node_modules/lodash.merge": { "version": "4.6.2", - "dev": true, "license": "MIT" }, "node_modules/lodash.once": { @@ -15030,23 +14973,32 @@ }, "node_modules/map-limit": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", + "integrity": "sha512-pJpcfLPnIF/Sk3taPW21G/RQsEEirGaFpCW3oXRwH9dnFHPHNGjNyvh++rdmC2fNqEaTw2MhYJraoJWAHx8kEg==", "license": "MIT", + "peer": true, "dependencies": { "once": "~1.3.0" } }, "node_modules/map-limit/node_modules/once": { "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==", "license": "ISC", + "peer": true, "dependencies": { "wrappy": "1" } }, "node_modules/mapbox-gl": { - "version": "1.10.1", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-1.13.3.tgz", + "integrity": "sha512-p8lJFEiqmEQlyv+DQxFAOG/XPWN0Wp7j/Psq93Zywz7qt9CcUKFYDBOoOEKzqe6gudHVJY8/Bhqw6VDpX2lSBg==", "license": "SEE LICENSE IN LICENSE.txt", + "peer": true, "dependencies": { - "@mapbox/geojson-rewind": "^0.5.0", + "@mapbox/geojson-rewind": "^0.5.2", "@mapbox/geojson-types": "^1.0.2", "@mapbox/jsonlint-lines-primitives": "^2.0.2", "@mapbox/mapbox-gl-supported": "^1.5.0", @@ -15060,13 +15012,12 @@ "geojson-vt": "^3.2.1", "gl-matrix": "^3.2.1", "grid-index": "^1.1.0", - "minimist": "^1.2.5", "murmurhash-js": "^1.0.0", "pbf": "^3.2.1", "potpack": "^1.0.1", "quickselect": "^2.0.0", "rw": "^1.3.3", - "supercluster": "^7.0.0", + "supercluster": "^7.1.0", "tinyqueue": "^2.0.3", "vt-pbf": "^3.1.1" }, @@ -15074,39 +15025,107 @@ "node": ">=6.4.0" } }, - "node_modules/marching-simplex-table": { - "version": "1.0.0", - "license": "MIT", + "node_modules/maplibre-gl": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-4.7.1.tgz", + "integrity": "sha512-lgL7XpIwsgICiL82ITplfS7IGwrB1OJIw/pCvprDp2dhmSSEBgmPzYRvwYYYvJGJD7fxUv1Tvpih4nZ6VrLuaA==", + "license": "BSD-3-Clause", + "peer": true, "dependencies": { - "convex-hull": "^1.0.3" + "@mapbox/geojson-rewind": "^0.5.2", + "@mapbox/jsonlint-lines-primitives": "^2.0.2", + "@mapbox/point-geometry": "^0.1.0", + "@mapbox/tiny-sdf": "^2.0.6", + "@mapbox/unitbezier": "^0.0.1", + "@mapbox/vector-tile": "^1.3.1", + "@mapbox/whoots-js": "^3.1.0", + "@maplibre/maplibre-gl-style-spec": "^20.3.1", + "@types/geojson": "^7946.0.14", + "@types/geojson-vt": "3.2.5", + "@types/mapbox__point-geometry": "^0.1.4", + "@types/mapbox__vector-tile": "^1.3.4", + "@types/pbf": "^3.0.5", + "@types/supercluster": "^7.1.3", + "earcut": "^3.0.0", + "geojson-vt": "^4.0.2", + "gl-matrix": "^3.4.3", + "global-prefix": "^4.0.0", + "kdbush": "^4.0.2", + "murmurhash-js": "^1.0.0", + "pbf": "^3.3.0", + "potpack": "^2.0.0", + "quickselect": "^3.0.0", + "supercluster": "^8.0.1", + "tinyqueue": "^3.0.0", + "vt-pbf": "^3.1.3" + }, + "engines": { + "node": ">=16.14.0", + "npm": ">=8.1.0" + }, + "funding": { + "url": "https://github.com/maplibre/maplibre-gl-js?sponsor=1" } }, - "node_modules/mat4-decompose": { - "version": "1.0.4", - "license": "MIT", - "dependencies": { - "gl-mat4": "^1.0.1", - "gl-vec3": "^1.0.2" - } + "node_modules/maplibre-gl/node_modules/@mapbox/tiny-sdf": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.2.0.tgz", + "integrity": "sha512-LVL4wgI9YAum5V+LNVQO6QgFBPw7/MIIY4XJPNsPDMrjEwcE+JfKk1LuIl8GnF197ejVdC9QdPaxrx5gfgdGXg==", + "license": "BSD-2-Clause", + "peer": true }, - "node_modules/mat4-interpolate": { - "version": "1.0.4", - "license": "MIT", - "dependencies": { - "gl-mat4": "^1.0.1", - "gl-vec3": "^1.0.2", - "mat4-decompose": "^1.0.3", - "mat4-recompose": "^1.0.3", - "quat-slerp": "^1.0.0" - } + "node_modules/maplibre-gl/node_modules/@mapbox/unitbezier": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz", + "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==", + "license": "BSD-2-Clause", + "peer": true }, - "node_modules/mat4-recompose": { - "version": "1.0.4", - "license": "MIT", + "node_modules/maplibre-gl/node_modules/earcut": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.2.tgz", + "integrity": "sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ==", + "license": "ISC", + "peer": true + }, + "node_modules/maplibre-gl/node_modules/geojson-vt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-4.0.3.tgz", + "integrity": "sha512-jR1MwkLaZGa8Zftct9ZFruyWFrdl9ZyD2OliXNy9Qq5bBPeg5wHVpBQF9p5GjnicSDQqvBVpysxTPKmWdsfWMA==", + "license": "ISC", + "peer": true + }, + "node_modules/maplibre-gl/node_modules/potpack": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.1.0.tgz", + "integrity": "sha512-pcaShQc1Shq0y+E7GqJqvZj8DTthWV1KeHGdi0Z6IAin2Oi3JnLCOfwnCo84qc+HAp52wT9nK9H7FAJp5a44GQ==", + "license": "ISC", + "peer": true + }, + "node_modules/maplibre-gl/node_modules/quickselect": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz", + "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==", + "license": "ISC", + "peer": true + }, + "node_modules/maplibre-gl/node_modules/supercluster": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-8.0.1.tgz", + "integrity": "sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==", + "license": "ISC", + "peer": true, "dependencies": { - "gl-mat4": "^1.0.1" + "kdbush": "^4.0.2" } }, + "node_modules/maplibre-gl/node_modules/tinyqueue": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-3.0.0.tgz", + "integrity": "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==", + "license": "ISC", + "peer": true + }, "node_modules/material-colors": { "version": "1.2.6", "license": "ISC" @@ -15120,21 +15139,14 @@ }, "node_modules/math-log2": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-log2/-/math-log2-1.0.1.tgz", + "integrity": "sha512-9W0yGtkaMAkf74XGYVy4Dqw3YUMnTNB2eeiw9aQbUl4A3KmuCEHTt2DgAB07ENzOYAjsYSAYufkAq0Zd+jU7zA==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/matrix-camera-controller": { - "version": "2.1.4", - "license": "MIT", - "dependencies": { - "binary-search-bounds": "^2.0.0", - "gl-mat4": "^1.1.2", - "gl-vec3": "^1.0.3", - "mat4-interpolate": "^1.0.3" - } - }, "node_modules/mdi-react": { "version": "5.2.0", "license": "(MIT AND OFL-1.1)", @@ -15162,7 +15174,9 @@ } }, "node_modules/memoize-one": { - "version": "5.2.1", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", "license": "MIT" }, "node_modules/merge-descriptors": { @@ -15175,7 +15189,6 @@ }, "node_modules/merge-stream": { "version": "2.0.0", - "dev": true, "license": "MIT" }, "node_modules/merge2": { @@ -15365,13 +15378,6 @@ "node": ">=10" } }, - "node_modules/monotone-convex-hull-2d": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "robust-orientation": "^1.1.3" - } - }, "node_modules/moo": { "version": "0.5.2", "dev": true, @@ -15379,32 +15385,40 @@ }, "node_modules/mouse-change": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/mouse-change/-/mouse-change-1.4.0.tgz", + "integrity": "sha512-vpN0s+zLL2ykyyUDh+fayu9Xkor5v/zRD9jhSqjRS1cJTGS0+oakVZzNm5n19JvvEj0you+MXlYTpNxUDQUjkQ==", "license": "MIT", + "peer": true, "dependencies": { "mouse-event": "^1.0.0" } }, "node_modules/mouse-event": { "version": "1.0.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/mouse-event/-/mouse-event-1.0.5.tgz", + "integrity": "sha512-ItUxtL2IkeSKSp9cyaX2JLUuKk2uMoxBg4bbOWVd29+CskYJR9BGsUqtXenNzKbnDshvupjUewDIYVrOB6NmGw==", + "license": "MIT", + "peer": true }, "node_modules/mouse-event-offset": { "version": "3.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/mouse-event-offset/-/mouse-event-offset-3.0.2.tgz", + "integrity": "sha512-s9sqOs5B1Ykox3Xo8b3Ss2IQju4UwlW6LSR+Q5FXWpprJ5fzMLefIIItr3PH8RwzfGy6gxs/4GAmiNuZScE25w==", + "license": "MIT", + "peer": true }, "node_modules/mouse-wheel": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mouse-wheel/-/mouse-wheel-1.2.0.tgz", + "integrity": "sha512-+OfYBiUOCTWcTECES49neZwL5AoGkXE+lFjIvzwNCnYRlso+EnfvovcBxGoyQ0yQt806eSPjS675K0EwWknXmw==", "license": "MIT", + "peer": true, "dependencies": { "right-now": "^1.0.0", "signum": "^1.0.0", "to-px": "^1.0.1" } }, - "node_modules/mouse-wheel/node_modules/signum": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/ms": { "version": "2.1.2", "license": "MIT" @@ -15423,20 +15437,26 @@ }, "node_modules/mumath": { "version": "3.3.4", + "resolved": "https://registry.npmjs.org/mumath/-/mumath-3.3.4.tgz", + "integrity": "sha512-VAFIOG6rsxoc7q/IaY3jdjmrsuX9f15KlRLYTHmixASBZkZEKC1IFqE2BC5CdhXmK6WLM1Re33z//AGmeRI6FA==", + "deprecated": "Redundant dependency in your project.", "license": "Unlicense", + "peer": true, "dependencies": { "almost-equal": "^1.1.0" } }, "node_modules/murmurhash-js": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", + "integrity": "sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==", + "license": "MIT", + "peer": true }, "node_modules/nanoid": { "version": "3.3.12", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", - "dev": true, "funding": [ { "type": "github", @@ -15451,69 +15471,18 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/native-promise-only": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", + "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==", + "license": "MIT", + "peer": true + }, "node_modules/natural-compare": { "version": "1.4.0", "dev": true, "license": "MIT" }, - "node_modules/ndarray": { - "version": "1.0.19", - "license": "MIT", - "dependencies": { - "iota-array": "^1.0.0", - "is-buffer": "^1.0.2" - } - }, - "node_modules/ndarray-extract-contour": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "typedarray-pool": "^1.0.0" - } - }, - "node_modules/ndarray-gradient": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "cwise-compiler": "^1.0.0", - "dup": "^1.0.0" - } - }, - "node_modules/ndarray-linear-interpolate": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/ndarray-ops": { - "version": "1.2.2", - "license": "MIT", - "dependencies": { - "cwise-compiler": "^1.0.0" - } - }, - "node_modules/ndarray-pack": { - "version": "1.2.1", - "license": "MIT", - "dependencies": { - "cwise-compiler": "^1.1.2", - "ndarray": "^1.0.13" - } - }, - "node_modules/ndarray-scratch": { - "version": "1.2.0", - "license": "MIT", - "dependencies": { - "ndarray": "^1.0.14", - "ndarray-ops": "^1.2.1", - "typedarray-pool": "^1.0.2" - } - }, - "node_modules/ndarray-sort": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "typedarray-pool": "^1.0.0" - } - }, "node_modules/nearley": { "version": "2.20.1", "dev": true, @@ -15535,6 +15504,34 @@ "url": "https://nearley.js.org/#give-to-nearley" } }, + "node_modules/needle": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", + "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, "node_modules/negotiator": { "version": "0.6.3", "dev": true, @@ -15549,14 +15546,10 @@ }, "node_modules/next-tick": { "version": "1.1.0", - "license": "ISC" - }, - "node_modules/nextafter": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "double-bits": "^1.1.0" - } + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "license": "ISC", + "peer": true }, "node_modules/no-case": { "version": "3.0.4", @@ -15669,7 +15662,6 @@ }, "node_modules/node-releases": { "version": "2.0.27", - "dev": true, "license": "MIT" }, "node_modules/normalize-path": { @@ -15690,16 +15682,15 @@ }, "node_modules/normalize-svg-path": { "version": "0.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-0.1.0.tgz", + "integrity": "sha512-1/kmYej2iedi5+ROxkRESL/pI02pkg0OBnaR4hJkSIX6+ORzepwbuUXfrdZaPjysTsJInj0Rj5NuX027+dMBvA==", + "license": "MIT", + "peer": true }, "node_modules/normalize.css": { "version": "8.0.1", "license": "MIT" }, - "node_modules/normals": { - "version": "1.1.0", - "license": "MIT" - }, "node_modules/npm-run-path": { "version": "4.0.1", "dev": true, @@ -15713,7 +15704,10 @@ }, "node_modules/number-is-integer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-integer/-/number-is-integer-1.0.1.tgz", + "integrity": "sha512-Dq3iuiFBkrbmuQjGFFF3zckXNCQoSD37/SdSbgcBailUx6knDvDwb5CympBgcoWHy36sfS12u74MHYkXyHq6bg==", "license": "MIT", + "peer": true, "dependencies": { "is-finite": "^1.0.1" }, @@ -15721,9 +15715,6 @@ "node": ">=0.10.0" } }, - "node_modules/numeric": { - "version": "1.2.6" - }, "node_modules/nwsapi": { "version": "2.2.2", "dev": true, @@ -15907,29 +15898,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/optionator": { - "version": "0.8.3", - "license": "MIT", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/orbit-camera-controller": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "filtered-vector": "^1.2.1", - "gl-mat4": "^1.0.3" - } - }, "node_modules/ospath": { "version": "1.2.2", "dev": true, @@ -15996,16 +15964,6 @@ "node": ">=6" } }, - "node_modules/pad-left": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "repeat-string": "^1.3.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/param-case": { "version": "3.0.4", "dev": true, @@ -16027,7 +15985,10 @@ }, "node_modules/parenthesis": { "version": "3.1.8", - "license": "MIT" + "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.8.tgz", + "integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==", + "license": "MIT", + "peer": true }, "node_modules/parse-json": { "version": "5.2.0", @@ -16047,7 +16008,10 @@ }, "node_modules/parse-rect": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parse-rect/-/parse-rect-1.2.0.tgz", + "integrity": "sha512-4QZ6KYbnE6RTwg9E0HpLchUM9EZt6DnDxajFZZDSV4p/12ZJEvPO702DZpGvRYEPo00yKDys7jASi+/w7aO8LA==", "license": "MIT", + "peer": true, "dependencies": { "pick-by-alias": "^1.2.0" } @@ -16058,11 +16022,17 @@ }, "node_modules/parse-svg-path": { "version": "0.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", + "integrity": "sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==", + "license": "MIT", + "peer": true }, "node_modules/parse-unit": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/parse-unit/-/parse-unit-1.0.1.tgz", + "integrity": "sha512-hrqldJHokR3Qj88EIlV/kAyAi/G5R2+R56TBANxNMy0uPlYcttx0jnMW6Yx5KsKPSbC3KddM/7qQm3+0wEXKxg==", + "license": "MIT", + "peer": true }, "node_modules/parse5": { "version": "7.1.2", @@ -16176,8 +16146,11 @@ } }, "node_modules/pbf": { - "version": "3.2.1", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.3.0.tgz", + "integrity": "sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==", "license": "BSD-3-Clause", + "peer": true, "dependencies": { "ieee754": "^1.1.12", "resolve-protobuf-schema": "^2.1.0" @@ -16197,24 +16170,12 @@ "version": "2.1.0", "license": "MIT" }, - "node_modules/permutation-parity": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "typedarray-pool": "^1.0.0" - } - }, - "node_modules/permutation-rank": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "invert-permutation": "^1.0.0", - "typedarray-pool": "^1.0.0" - } - }, "node_modules/pick-by-alias": { "version": "1.2.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/pick-by-alias/-/pick-by-alias-1.2.0.tgz", + "integrity": "sha512-ESj2+eBxhGrcA1azgHs7lARG5+5iLakc/6nlfbpjcLl00HuuUOIuORhYXN4D1HfvMSKuVtFQjAlnwi1JHEeDIw==", + "license": "MIT", + "peer": true }, "node_modules/picocolors": { "version": "0.2.1", @@ -16313,27 +16274,6 @@ "node": ">=8" } }, - "node_modules/planar-dual": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "compare-angle": "^1.0.0", - "dup": "^1.0.0" - } - }, - "node_modules/planar-graph-to-polyline": { - "version": "1.0.6", - "license": "MIT", - "dependencies": { - "edges-to-adjacency-list": "^1.0.0", - "planar-dual": "^1.0.0", - "point-in-big-polygon": "^2.0.1", - "robust-orientation": "^1.0.1", - "robust-sum": "^1.0.0", - "two-product": "^1.0.0", - "uniq": "^1.0.0" - } - }, "node_modules/plotly-icons": { "version": "1.3.15", "license": "ISC", @@ -16347,70 +16287,57 @@ } }, "node_modules/plotly.js": { - "version": "1.58.5", + "version": "2.35.3", + "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.35.3.tgz", + "integrity": "sha512-7RaC6FxmCUhpD6H4MpD+QLUu3hCn76I11rotRefrh3m1iDvWqGnVqVk9dSaKmRAhFD3vsNsYea0OxnR1rc2IzQ==", "license": "MIT", + "peer": true, "dependencies": { + "@plotly/d3": "3.8.2", "@plotly/d3-sankey": "0.7.2", "@plotly/d3-sankey-circular": "0.33.1", - "@plotly/point-cluster": "^3.1.9", - "@turf/area": "^6.0.1", - "@turf/bbox": "^6.0.1", - "@turf/centroid": "^6.0.2", - "alpha-shape": "^1.0.0", + "@plotly/mapbox-gl": "1.13.4", + "@turf/area": "^7.1.0", + "@turf/bbox": "^7.1.0", + "@turf/centroid": "^7.1.0", + "base64-arraybuffer": "^1.0.2", "canvas-fit": "^1.5.0", "color-alpha": "1.0.4", "color-normalize": "1.5.0", - "color-parse": "1.3.8", + "color-parse": "2.0.0", "color-rgba": "2.1.1", - "convex-hull": "^1.0.3", "country-regex": "^1.1.0", - "d3": "^3.5.17", + "css-loader": "^7.1.2", "d3-force": "^1.2.1", + "d3-format": "^1.4.5", + "d3-geo": "^1.12.1", + "d3-geo-projection": "^2.9.0", "d3-hierarchy": "^1.1.9", - "d3-interpolate": "^1.4.0", + "d3-interpolate": "^3.0.1", + "d3-time": "^1.1.0", "d3-time-format": "^2.2.3", - "delaunay-triangulate": "^1.1.6", - "es6-promise": "^4.2.8", "fast-isnumeric": "^1.1.4", - "gl-cone3d": "^1.5.2", - "gl-contour2d": "^1.1.7", - "gl-error3d": "^1.0.16", - "gl-heatmap2d": "^1.1.0", - "gl-line3d": "1.2.1", "gl-mat4": "^1.2.0", - "gl-mesh3d": "^2.3.1", - "gl-plot2d": "^1.4.5", - "gl-plot3d": "^2.4.7", - "gl-pointcloud2d": "^1.0.3", - "gl-scatter3d": "^1.2.3", - "gl-select-box": "^1.0.4", - "gl-spikes2d": "^1.0.2", - "gl-streamtube3d": "^1.4.1", - "gl-surface3d": "^1.6.0", - "gl-text": "^1.1.8", - "glslify": "^7.1.1", + "gl-text": "^1.4.0", "has-hover": "^1.0.1", "has-passive-events": "^1.0.0", - "image-size": "^0.7.5", - "is-mobile": "^2.2.2", - "mapbox-gl": "1.10.1", - "matrix-camera-controller": "^2.1.3", + "is-mobile": "^4.0.0", + "maplibre-gl": "^4.5.2", "mouse-change": "^1.4.0", "mouse-event-offset": "^3.0.2", "mouse-wheel": "^1.2.0", - "ndarray": "^1.0.19", - "ndarray-linear-interpolate": "^1.0.0", + "native-promise-only": "^0.8.1", "parse-svg-path": "^0.1.2", - "polybooljs": "^1.2.0", - "regl": "^1.6.1", - "regl-error2d": "^2.0.11", - "regl-line2d": "^3.0.18", - "regl-scatter2d": "^3.2.1", - "regl-splom": "^1.0.12", - "right-now": "^1.0.0", - "robust-orientation": "^1.1.3", - "sane-topojson": "^4.0.0", + "point-in-polygon": "^1.1.0", + "polybooljs": "^1.2.2", + "probe-image-size": "^7.2.3", + "regl": "npm:@plotly/regl@^2.1.2", + "regl-error2d": "^2.0.12", + "regl-line2d": "^3.1.3", + "regl-scatter2d": "^3.3.1", + "regl-splom": "^1.0.14", "strongly-connected-components": "^1.0.1", + "style-loader": "^4.0.0", "superscript-text": "^1.0.0", "svg-path-sdf": "^1.1.3", "tinycolor2": "^1.4.2", @@ -16420,27 +16347,73 @@ "world-calendars": "^1.0.3" } }, - "node_modules/point-in-big-polygon": { - "version": "2.0.1", + "node_modules/plotly.js/node_modules/css-loader": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.4.tgz", + "integrity": "sha512-vv3J9tlOl04WjiMvHQI/9tmIrCxVrj6PFbHemBB1iihpeRbi/I4h033eoFIhwxBBqLhI0KYFS7yvynBFhIZfTw==", "license": "MIT", + "peer": true, "dependencies": { - "binary-search-bounds": "^2.0.0", - "interval-tree-1d": "^1.0.1", - "robust-orientation": "^1.1.3", - "slab-decomposition": "^1.0.1" + "icss-utils": "^5.1.0", + "postcss": "^8.4.40", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.6.3" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || ^1.0.0 || ^2.0.0-0", + "webpack": "^5.27.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "node_modules/polybooljs": { - "version": "1.2.0", - "license": "MIT" - }, - "node_modules/polytope-closest-point": { - "version": "1.0.0", - "license": "BOOST", - "dependencies": { - "numeric": "^1.2.6" + "node_modules/plotly.js/node_modules/style-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz", + "integrity": "sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.27.0" } }, + "node_modules/point-in-polygon": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/point-in-polygon/-/point-in-polygon-1.1.0.tgz", + "integrity": "sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==", + "license": "MIT", + "peer": true + }, + "node_modules/polybooljs": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/polybooljs/-/polybooljs-1.2.2.tgz", + "integrity": "sha512-ziHW/02J0XuNuUtmidBc6GXE8YohYydp3DWPWXYsd7O721TjcmN+k6ezjdwkDqep+gnWnFY+yqZHvzElra2oCg==", + "license": "MIT", + "peer": true + }, "node_modules/popper.js": { "version": "1.16.1-lts", "license": "MIT" @@ -16456,7 +16429,6 @@ "version": "8.5.15", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", - "dev": true, "funding": [ { "type": "opencollective", @@ -16854,7 +16826,6 @@ }, "node_modules/postcss-modules-extract-imports": { "version": "3.1.0", - "dev": true, "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" @@ -16865,7 +16836,6 @@ }, "node_modules/postcss-modules-local-by-default": { "version": "4.2.0", - "dev": true, "license": "MIT", "dependencies": { "icss-utils": "^5.0.0", @@ -16881,7 +16851,6 @@ }, "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { "version": "7.1.0", - "dev": true, "license": "MIT", "dependencies": { "cssesc": "^3.0.0", @@ -16893,7 +16862,6 @@ }, "node_modules/postcss-modules-scope": { "version": "3.2.1", - "dev": true, "license": "ISC", "dependencies": { "postcss-selector-parser": "^7.0.0" @@ -16907,7 +16875,6 @@ }, "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { "version": "7.1.0", - "dev": true, "license": "MIT", "dependencies": { "cssesc": "^3.0.0", @@ -16919,7 +16886,6 @@ }, "node_modules/postcss-modules-values": { "version": "4.0.0", - "dev": true, "license": "ISC", "dependencies": { "icss-utils": "^5.0.0" @@ -17168,18 +17134,14 @@ }, "node_modules/postcss/node_modules/picocolors": { "version": "1.1.1", - "dev": true, "license": "ISC" }, "node_modules/potpack": { "version": "1.0.2", - "license": "ISC" - }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "engines": { - "node": ">= 0.8.0" - } + "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz", + "integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==", + "license": "ISC", + "peer": true }, "node_modules/prettier": { "version": "2.8.3", @@ -17248,6 +17210,28 @@ "node": ">=6" } }, + "node_modules/probe-image-size": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.3.0.tgz", + "integrity": "sha512-7CaDeBwiAbh6ohXsvLbAZhO7wzsZAmaevfxe39qvCwRh8LyaZfDlBGGLU1CCTgrTLtCOdwBBhjOrIHaIIimHfQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "lodash.merge": "^4.6.2", + "needle": "^2.5.2", + "stream-parser": "~0.3.1" + } + }, "node_modules/process": { "version": "0.11.10", "dev": true, @@ -17319,7 +17303,8 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.1.tgz", "integrity": "sha512-VG2K63Igkiv9p76tk1lilczEK1cT+kCjKtkdhw1dQZV3k3IXJbd3o6Ho8b9zJZaHSnT2hKe4I+ObmX9w6m5SmQ==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/proxy-addr": { "version": "2.0.7", @@ -17378,20 +17363,29 @@ ], "license": "MIT" }, - "node_modules/pxls": { - "version": "2.3.2", - "license": "MIT", + "node_modules/qs": { + "version": "6.15.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", + "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", + "license": "BSD-3-Clause", "dependencies": { - "arr-flatten": "^1.1.0", - "compute-dims": "^1.1.0", - "flip-pixels": "^1.0.2", - "is-browser": "^2.1.0", - "is-buffer": "^2.0.3", - "to-uint8": "^1.4.1" + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pxls/node_modules/is-buffer": { - "version": "2.0.5", + "node_modules/querystringify": { + "version": "2.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "dev": true, "funding": [ { "type": "github", @@ -17406,67 +17400,14 @@ "url": "https://feross.org/support" } ], - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/qs": { - "version": "6.15.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", - "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/quantize": { - "version": "1.0.2", - "license": "MIT", - "engines": { - "node": ">=0.10.21" - } - }, - "node_modules/quat-slerp": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "gl-quat": "^1.0.0" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "license": "MIT" }, "node_modules/quickselect": { "version": "2.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==", + "license": "ISC", + "peer": true }, "node_modules/raf": { "version": "3.4.1", @@ -17508,13 +17449,6 @@ "node": ">= 0.6" } }, - "node_modules/rat-vec": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "big-rat": "^1.0.3" - } - }, "node_modules/raw-body": { "version": "2.5.3", "dev": true, @@ -17684,57 +17618,42 @@ } }, "node_modules/react-chart-editor": { - "version": "0.45.0", - "license": "MIT", - "dependencies": { - "@plotly/draft-js-export-html": "1.2.0", - "classnames": "2.2.6", - "draft-js": "0.11.7", - "draft-js-import-html": "1.4.1", - "draft-js-utils": "1.4.0", - "fast-isnumeric": "1.1.4", - "immutability-helper": "3.1.1", - "plotly-icons": "1.3.15", - "plotly.js": "1.58.x", - "prop-types": "15.7.2", - "raf": "3.4.1", - "react-color": "2.19.3", - "react-colorscales": "0.7.3", - "react-day-picker": "7.4.8", - "react-dropzone": "10.2.2", - "react-plotly.js": "2.5.1", - "react-rangeslider": "2.2.0", - "react-resizable-rotatable-draggable": "0.2.0", - "react-select": "2.4.4", - "react-tabs": "3.2.1", - "styled-components": "5.2.1", - "tinycolor2": "1.4.2" + "version": "0.46.1", + "resolved": "https://registry.npmjs.org/react-chart-editor/-/react-chart-editor-0.46.1.tgz", + "integrity": "sha512-5JR1ct+r9Fd8/xwjXu+r8R8ykmbx08AFrSFT9s0YgWxF2dFsInl+ctMsfQYHzaLyfmBGrlR4PvUDjh3u6CVKVw==", + "license": "MIT", + "dependencies": { + "@plotly/draft-js-export-html": "^1.2.0", + "classnames": "^2.3.2", + "draft-js": "^0.11.7", + "draft-js-import-html": "^1.4.1", + "draft-js-utils": "^1.4.1", + "fast-isnumeric": "^1.1.4", + "immutability-helper": "^3.1.1", + "plotly-icons": "^1.3.15", + "prop-types": "^15.8.1", + "raf": "^3.4.1", + "react-color": "^2.19.3", + "react-colorscales": "^0.7.3", + "react-day-picker": "^7.4.10", + "react-dropzone": "^14.2.3", + "react-plotly.js": "^2.6.0", + "react-rangeslider": "^2.2.0", + "react-resizable-rotatable-draggable": "^0.2.0", + "react-select": "^5.7.4", + "react-tabs": "^4.2.1", + "styled-components": "^5.3.6", + "tinycolor2": "^1.6.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=12.13.0" }, "peerDependencies": { - "react": ">15", - "react-dom": ">15" - } - }, - "node_modules/react-chart-editor/node_modules/classnames": { - "version": "2.2.6", - "license": "MIT" - }, - "node_modules/react-chart-editor/node_modules/prop-types": { - "version": "15.7.2", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" + "plotly.js": ">=1.58.5 <3.0.0", + "react": ">=16.14.0", + "react-dom": ">=16.14.0" } }, - "node_modules/react-chart-editor/node_modules/react-is": { - "version": "16.13.1", - "license": "MIT" - }, "node_modules/react-collapse": { "version": "4.0.3", "license": "MIT", @@ -17800,13 +17719,15 @@ } }, "node_modules/react-day-picker": { - "version": "7.4.8", + "version": "7.4.10", + "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-7.4.10.tgz", + "integrity": "sha512-/QkK75qLKdyLmv0kcVzhL7HoJPazoZXS8a6HixbVoK6vWey1Od1WRLcxfyEiUsRfccAlIlf6oKHShqY2SM82rA==", "license": "MIT", "dependencies": { "prop-types": "^15.6.2" }, "peerDependencies": { - "react": "~0.13.x || ~0.14.x || ^15.0.0 || ^16.0.0" + "react": "~0.13.x || ~0.14.x || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, "node_modules/react-device-detect": { @@ -17846,31 +17767,35 @@ } }, "node_modules/react-dom": { - "version": "16.8.6", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.13.6" + "scheduler": "^0.19.1" }, "peerDependencies": { - "react": "^16.0.0" + "react": "^16.14.0" } }, "node_modules/react-dropzone": { - "version": "10.2.2", + "version": "14.4.1", + "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.4.1.tgz", + "integrity": "sha512-QDuV76v3uKbHiH34SpwifZ+gOLi1+RdsCO1kl5vxMT4wW8R82+sthjvBw4th3NHF/XX6FBsqDYZVNN+pnhaw0g==", "license": "MIT", "dependencies": { - "attr-accept": "^2.0.0", - "file-selector": "^0.1.12", - "prop-types": "^15.7.2" + "attr-accept": "^2.2.4", + "file-selector": "^2.1.0", + "prop-types": "^15.8.1" }, "engines": { - "node": ">= 8" + "node": ">= 10.13" }, "peerDependencies": { - "react": ">= 16.8" + "react": ">= 16.8 || 18.0.0" } }, "node_modules/react-gtm-module": { @@ -18005,10 +17930,12 @@ "license": "MIT" }, "node_modules/react-plotly.js": { - "version": "2.5.1", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/react-plotly.js/-/react-plotly.js-2.6.0.tgz", + "integrity": "sha512-g93xcyhAVCSt9kV1svqG1clAEdL6k3U+jjuSzfTV7owaSU9Go6Ph8bl25J+jKfKvIGAEYpe4qj++WHJuc9IaeA==", "license": "MIT", "dependencies": { - "prop-types": "^15.7.2" + "prop-types": "^15.8.1" }, "peerDependencies": { "plotly.js": ">1.34.0", @@ -18113,41 +18040,24 @@ } }, "node_modules/react-select": { - "version": "2.4.4", + "version": "5.10.2", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.10.2.tgz", + "integrity": "sha512-Z33nHdEFWq9tfnfVXaiM12rbJmk+QjFEztWLtmXqQhz6Al4UZZ9xc0wiatmGtUOCCnHN0WizL3tCMYRENX4rVQ==", "license": "MIT", "dependencies": { - "classnames": "^2.2.5", - "emotion": "^9.1.2", - "memoize-one": "^5.0.0", + "@babel/runtime": "^7.12.0", + "@emotion/cache": "^11.4.0", + "@emotion/react": "^11.8.1", + "@floating-ui/dom": "^1.0.1", + "@types/react-transition-group": "^4.4.0", + "memoize-one": "^6.0.0", "prop-types": "^15.6.0", - "raf": "^3.4.0", - "react-input-autosize": "^2.2.1", - "react-transition-group": "^2.2.1" - }, - "peerDependencies": { - "react": "^15.3.0 || ^16.0.0", - "react-dom": "^15.3.0 || ^16.0.0" - } - }, - "node_modules/react-select/node_modules/dom-helpers": { - "version": "3.4.0", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.1.2" - } - }, - "node_modules/react-select/node_modules/react-transition-group": { - "version": "2.9.0", - "license": "BSD-3-Clause", - "dependencies": { - "dom-helpers": "^3.4.0", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2", - "react-lifecycles-compat": "^3.0.4" + "react-transition-group": "^4.3.0", + "use-isomorphic-layout-effect": "^1.2.0" }, "peerDependencies": { - "react": ">=15.0.0", - "react-dom": ">=15.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "node_modules/react-share": { @@ -18187,14 +18097,16 @@ } }, "node_modules/react-tabs": { - "version": "3.2.1", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-4.3.0.tgz", + "integrity": "sha512-2GfoG+f41kiBIIyd3gF+/GRCCYtamC8/2zlAcD8cqQmqI9Q+YVz7fJLHMmU9pXDVYYHpJeCgUSBJju85vu5q8Q==", "license": "MIT", "dependencies": { "clsx": "^1.1.0", "prop-types": "^15.5.0" }, "peerDependencies": { - "react": "^16.3.0 || ^17.0.0-0" + "react": "^16.8.0 || ^17.0.0-0 || ^18.0.0" } }, "node_modules/react-test-renderer": { @@ -18216,15 +18128,6 @@ "dev": true, "license": "MIT" }, - "node_modules/react-test-renderer/node_modules/scheduler": { - "version": "0.19.1", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, "node_modules/react-textarea-autosize": { "version": "8.4.0", "license": "MIT", @@ -18326,15 +18229,6 @@ "node": ">=8" } }, - "node_modules/reduce-simplicial-complex": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "cell-orientation": "^1.0.1", - "compare-cell": "^1.0.0", - "compare-oriented-cell": "^1.0.1" - } - }, "node_modules/redux": { "version": "4.2.1", "license": "MIT", @@ -18407,10 +18301,6 @@ "@babel/runtime": "^7.8.4" } }, - "node_modules/regex-regex": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/regexp.prototype.flags": { "version": "1.5.4", "license": "MIT", @@ -18484,12 +18374,19 @@ } }, "node_modules/regl": { - "version": "1.7.0", - "license": "MIT" + "name": "@plotly/regl", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@plotly/regl/-/regl-2.1.2.tgz", + "integrity": "sha512-Mdk+vUACbQvjd0m/1JJjOOafmkp/EpmHjISsopEz5Av44CBq7rPC05HHNbYGKVyNUF2zmEoBS/TT0pd0SPFFyw==", + "license": "MIT", + "peer": true }, "node_modules/regl-error2d": { "version": "2.0.12", + "resolved": "https://registry.npmjs.org/regl-error2d/-/regl-error2d-2.0.12.tgz", + "integrity": "sha512-r7BUprZoPO9AbyqM5qlJesrSRkl+hZnVKWKsVp7YhOl/3RIpi4UDGASGJY0puQ96u5fBYw/OlqV24IGcgJ0McA==", "license": "MIT", + "peer": true, "dependencies": { "array-bounds": "^1.0.1", "color-normalize": "^1.5.0", @@ -18501,8 +18398,11 @@ } }, "node_modules/regl-line2d": { - "version": "3.1.2", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/regl-line2d/-/regl-line2d-3.1.3.tgz", + "integrity": "sha512-fkgzW+tTn4QUQLpFKsUIE0sgWdCmXAM3ctXcCgoGBZTSX5FE2A0M7aynz7nrZT5baaftLrk9te54B+MEq4QcSA==", "license": "MIT", + "peer": true, "dependencies": { "array-bounds": "^1.0.1", "array-find-index": "^1.0.2", @@ -18511,7 +18411,6 @@ "earcut": "^2.1.5", "es6-weak-map": "^2.0.3", "flatten-vertex-data": "^1.0.2", - "glslify": "^7.0.0", "object-assign": "^4.1.1", "parse-rect": "^1.2.0", "pick-by-alias": "^1.2.0", @@ -18519,21 +18418,18 @@ } }, "node_modules/regl-scatter2d": { - "version": "3.2.8", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/regl-scatter2d/-/regl-scatter2d-3.4.0.tgz", + "integrity": "sha512-DavKQlHsI+iHZuLgOL+yGkg+sPd94CS+7FCBWkcQ6s/TbaNfUsF9eN591fjjSWIoKrGNfb/SEGhsXR5lXjqZ2w==", "license": "MIT", + "peer": true, "dependencies": { "@plotly/point-cluster": "^3.1.9", - "array-range": "^1.0.1", - "array-rearrange": "^2.2.2", - "clamp": "^1.0.1", + "array-bounds": "^1.0.1", "color-id": "^1.1.0", "color-normalize": "^1.5.0", - "color-rgba": "^2.1.1", "flatten-vertex-data": "^1.0.2", "glslify": "^7.0.0", - "image-palette": "^2.1.0", - "is-iexplorer": "^1.0.0", - "object-assign": "^4.1.1", "parse-rect": "^1.2.0", "pick-by-alias": "^1.2.0", "to-float32": "^1.1.0", @@ -18542,7 +18438,10 @@ }, "node_modules/regl-splom": { "version": "1.0.14", + "resolved": "https://registry.npmjs.org/regl-splom/-/regl-splom-1.0.14.tgz", + "integrity": "sha512-OiLqjmPRYbd7kDlHC6/zDf6L8lxgDC65BhC8JirhP4ykrK4x22ZyS+BnY8EUinXKDeMgmpRwCvUmk7BK4Nweuw==", "license": "MIT", + "peer": true, "dependencies": { "array-bounds": "^1.0.1", "array-range": "^1.0.1", @@ -18654,13 +18553,6 @@ "node": ">=8" } }, - "node_modules/repeat-string": { - "version": "1.6.1", - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, "node_modules/request-progress": { "version": "3.0.0", "dev": true, @@ -18679,7 +18571,6 @@ }, "node_modules/require-from-string": { "version": "2.0.2", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -18745,7 +18636,10 @@ }, "node_modules/resolve-protobuf-schema": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", + "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", "license": "MIT", + "peer": true, "dependencies": { "protocol-buffers-schema": "^3.3.1" } @@ -18804,7 +18698,10 @@ }, "node_modules/right-now": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/right-now/-/right-now-1.0.0.tgz", + "integrity": "sha512-DA8+YS+sMIVpbsuKgy+Z67L9Lxb1p05mNxRpDPNksPDEFir4vmBlUtuN9jkTGn9YMMdlBuK7XQgFiz6ws+yhSg==", + "license": "MIT", + "peer": true }, "node_modules/rimraf": { "version": "3.0.2", @@ -18820,86 +18717,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/robust-compress": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/robust-determinant": { - "version": "1.1.0", - "license": "MIT", - "dependencies": { - "robust-compress": "^1.0.0", - "robust-scale": "^1.0.0", - "robust-sum": "^1.0.0", - "two-product": "^1.0.0" - } - }, - "node_modules/robust-dot-product": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "robust-sum": "^1.0.0", - "two-product": "^1.0.0" - } - }, - "node_modules/robust-in-sphere": { - "version": "1.2.1", - "license": "MIT", - "dependencies": { - "robust-scale": "^1.0.0", - "robust-subtract": "^1.0.0", - "robust-sum": "^1.0.0", - "two-product": "^1.0.0" - } - }, - "node_modules/robust-linear-solve": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "robust-determinant": "^1.1.0" - } - }, - "node_modules/robust-orientation": { - "version": "1.2.1", - "license": "MIT", - "dependencies": { - "robust-scale": "^1.0.2", - "robust-subtract": "^1.0.0", - "robust-sum": "^1.0.0", - "two-product": "^1.0.2" - } - }, - "node_modules/robust-product": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "robust-scale": "^1.0.0", - "robust-sum": "^1.0.0" - } - }, - "node_modules/robust-scale": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "two-product": "^1.0.2", - "two-sum": "^1.0.0" - } - }, - "node_modules/robust-segment-intersect": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "robust-orientation": "^1.1.3" - } - }, - "node_modules/robust-subtract": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/robust-sum": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/rst-selector-parser": { "version": "2.2.3", "dev": true, @@ -18933,7 +18750,10 @@ }, "node_modules/rw": { "version": "1.3.3", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "license": "BSD-3-Clause", + "peer": true }, "node_modules/rxjs": { "version": "7.8.2", @@ -18996,11 +18816,6 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/sane-topojson": { - "version": "4.0.0", "license": "MIT" }, "node_modules/sanitize-html": { @@ -19129,6 +18944,15 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, "node_modules/saxes": { "version": "6.0.0", "dev": true, @@ -19141,7 +18965,9 @@ } }, "node_modules/scheduler": { - "version": "0.13.6", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", @@ -19183,7 +19009,6 @@ }, "node_modules/semver": { "version": "7.7.1", - "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -19396,7 +19221,10 @@ }, "node_modules/shallow-copy": { "version": "0.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", + "integrity": "sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw==", + "license": "MIT", + "peer": true }, "node_modules/shallowequal": { "version": "1.1.0", @@ -19501,78 +19329,22 @@ "license": "ISC" }, "node_modules/signum": { - "version": "0.0.0", - "license": "MIT" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/signum/-/signum-1.0.0.tgz", + "integrity": "sha512-yodFGwcyt59XRh7w5W3jPcIQb3Bwi21suEfT7MAWnBX3iCdklJpgDgvGT9o04UonglZN5SNMfJFkHIR/jO8GHw==", + "license": "MIT", + "peer": true }, "node_modules/simple-html-tokenizer": { "version": "0.1.1", "dev": true, "license": "MIT" }, - "node_modules/simplicial-complex": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "bit-twiddle": "^1.0.0", - "union-find": "^1.0.0" - } - }, - "node_modules/simplicial-complex-boundary": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "boundary-cells": "^2.0.0", - "reduce-simplicial-complex": "^1.0.0" - } - }, - "node_modules/simplicial-complex-contour": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "marching-simplex-table": "^1.0.0", - "ndarray": "^1.0.15", - "ndarray-sort": "^1.0.0", - "typedarray-pool": "^1.1.0" - } - }, - "node_modules/simplify-planar-graph": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "robust-orientation": "^1.0.1", - "simplicial-complex": "^0.3.3" - } - }, - "node_modules/simplify-planar-graph/node_modules/bit-twiddle": { - "version": "0.0.2", - "license": "MIT" - }, - "node_modules/simplify-planar-graph/node_modules/simplicial-complex": { - "version": "0.3.3", - "license": "MIT", - "dependencies": { - "bit-twiddle": "~0.0.1", - "union-find": "~0.0.3" - } - }, - "node_modules/simplify-planar-graph/node_modules/union-find": { - "version": "0.0.4", - "license": "MIT" - }, "node_modules/sisteransi": { "version": "1.0.5", "dev": true, "license": "MIT" }, - "node_modules/slab-decomposition": { - "version": "1.0.3", - "license": "MIT", - "dependencies": { - "binary-search-bounds": "^2.0.0", - "functional-red-black-tree": "^1.0.0", - "robust-orientation": "^1.1.3" - } - }, "node_modules/slash": { "version": "3.0.0", "license": "MIT", @@ -19653,7 +19425,6 @@ }, "node_modules/source-map-support": { "version": "0.5.21", - "dev": true, "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", @@ -19701,18 +19472,6 @@ "node": ">= 6" } }, - "node_modules/split-polygon": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "robust-dot-product": "^1.0.0", - "robust-sum": "^1.0.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.1.2", - "license": "BSD-3-Clause" - }, "node_modules/sshpk": { "version": "1.18.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", @@ -19741,6 +19500,9 @@ }, "node_modules/stack-trace": { "version": "0.0.9", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", + "integrity": "sha512-vjUc6sfgtgY0dxCdnc40mK6Oftjo9+2K8H/NG81TMhgL392FtiPA9tn9RLyTxXmTLPJPjF3VyzFp6bsWFLisMQ==", + "peer": true, "engines": { "node": "*" } @@ -19827,10 +19589,13 @@ } }, "node_modules/static-eval": { - "version": "2.1.0", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.1.tgz", + "integrity": "sha512-MgWpQ/ZjGieSVB3eOJVs4OA2LT/q1vx98KPCTTQPzq/aLr0YUXTsgryTXr4SLfR0ZfUUCiedM9n/ABeDIyy4mA==", "license": "MIT", + "peer": true, "dependencies": { - "escodegen": "^1.11.1" + "escodegen": "^2.1.0" } }, "node_modules/statuses": { @@ -19876,9 +19641,39 @@ "node": ">= 6" } }, - "node_modules/stream-shift": { - "version": "1.0.1", - "license": "MIT" + "node_modules/stream-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", + "integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "2" + } + }, + "node_modules/stream-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/stream-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT", + "peer": true + }, + "node_modules/stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", + "license": "MIT", + "peer": true }, "node_modules/string_decoder": { "version": "1.1.1", @@ -19912,23 +19707,14 @@ }, "node_modules/string-split-by": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string-split-by/-/string-split-by-1.0.0.tgz", + "integrity": "sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==", "license": "MIT", + "peer": true, "dependencies": { "parenthesis": "^3.1.5" } }, - "node_modules/string-to-arraybuffer": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "atob-lite": "^2.0.0", - "is-base64": "^0.1.0" - } - }, - "node_modules/string-to-arraybuffer/node_modules/atob-lite": { - "version": "2.0.0", - "license": "MIT" - }, "node_modules/string-width": { "version": "4.2.3", "dev": true, @@ -20099,7 +19885,10 @@ }, "node_modules/strongly-connected-components": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/strongly-connected-components/-/strongly-connected-components-1.0.1.tgz", + "integrity": "sha512-i0TFx4wPcO0FwX+4RkLJi1MxmcTv90jNZgxMu9XRnMXMeFUY1VJlIoXpZunPUvUUqbCT1pg5PEkFqqpcaElNaA==", + "license": "MIT", + "peer": true }, "node_modules/style-loader": { "version": "1.3.0", @@ -20121,15 +19910,17 @@ } }, "node_modules/styled-components": { - "version": "5.2.1", + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.11.tgz", + "integrity": "sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==", "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.0.0", "@babel/traverse": "^7.4.5", - "@emotion/is-prop-valid": "^0.8.8", + "@emotion/is-prop-valid": "^1.1.0", "@emotion/stylis": "^0.8.4", "@emotion/unitless": "^0.7.4", - "babel-plugin-styled-components": ">= 1", + "babel-plugin-styled-components": ">= 1.12.0", "css-to-react-native": "^3.0.0", "hoist-non-react-statics": "^3.0.0", "shallowequal": "^1.1.0", @@ -20148,23 +19939,53 @@ "react-is": ">= 16.8.0" } }, - "node_modules/styled-components/node_modules/@emotion/stylis": { - "version": "0.8.5", - "license": "MIT" - }, "node_modules/styled-components/node_modules/@emotion/unitless": { "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==", "license": "MIT" }, + "node_modules/styled-components/node_modules/babel-plugin-styled-components": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.3.0.tgz", + "integrity": "sha512-nP/y6PbBqS/qtKROnJCgpGo8hYUzlBAVXN1QAjSBANL6vZiQXPQN7FYW/nUwoxY7nZhBEGm9T5tjL9gbzwulDw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-module-imports": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "picomatch": "^4.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "styled-components": ">= 2" + } + }, "node_modules/styled-components/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "license": "MIT", "engines": { "node": ">=4" } }, + "node_modules/styled-components/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/styled-components/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "license": "MIT", "dependencies": { "has-flag": "^3.0.0" @@ -20174,26 +19995,34 @@ } }, "node_modules/stylis": { - "version": "3.5.4", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", "license": "MIT" }, - "node_modules/stylis-rule-sheet": { - "version": "0.0.10", - "license": "MIT", - "peerDependencies": { - "stylis": "^3.5.0" - } - }, "node_modules/supercluster": { "version": "7.1.5", + "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.5.tgz", + "integrity": "sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==", "license": "ISC", + "peer": true, "dependencies": { "kdbush": "^3.0.0" } }, + "node_modules/supercluster/node_modules/kdbush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", + "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==", + "license": "ISC", + "peer": true + }, "node_modules/superscript-text": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/superscript-text/-/superscript-text-1.0.0.tgz", + "integrity": "sha512-gwu8l5MtRZ6koO0icVTlmN5pm7Dhh1+Xpe9O4x6ObMAsW+3jPbW14d1DsBq1F4wiI+WOFjXF35pslgec/G8yCQ==", + "license": "MIT", + "peer": true }, "node_modules/supports-color": { "version": "7.2.0", @@ -20215,18 +20044,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/surface-nets": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "ndarray-extract-contour": "^1.0.0", - "triangulate-hypercube": "^1.0.0", - "zero-crossings": "^1.0.0" - } - }, "node_modules/svg-arc-to-cubic-bezier": { "version": "3.2.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", + "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==", + "license": "ISC", + "peer": true }, "node_modules/svg-inline-loader": { "version": "0.8.2", @@ -20271,7 +20094,10 @@ }, "node_modules/svg-path-bounds": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/svg-path-bounds/-/svg-path-bounds-1.0.2.tgz", + "integrity": "sha512-H4/uAgLWrppIC0kHsb2/dWUYSmb4GE5UqH06uqWBcg6LBjX2fu0A8+JrO2/FJPZiSsNOKZAhyFFgsLTdYUvSqQ==", "license": "MIT", + "peer": true, "dependencies": { "abs-svg-path": "^0.1.1", "is-svg-path": "^1.0.1", @@ -20281,14 +20107,20 @@ }, "node_modules/svg-path-bounds/node_modules/normalize-svg-path": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz", + "integrity": "sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==", "license": "MIT", + "peer": true, "dependencies": { "svg-arc-to-cubic-bezier": "^3.0.0" } }, "node_modules/svg-path-sdf": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/svg-path-sdf/-/svg-path-sdf-1.1.3.tgz", + "integrity": "sha512-vJJjVq/R5lSr2KLfVXVAStktfcfa1pNFjFOgyJnzZFXlO/fDZ5DmM8FpnSKKzLPfEYTVeXuVBTHF296TpxuJVg==", "license": "MIT", + "peer": true, "dependencies": { "bitmap-sdf": "^1.0.0", "draw-svg-path": "^1.0.0", @@ -20339,7 +20171,6 @@ }, "node_modules/tapable": { "version": "2.3.0", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -20351,7 +20182,6 @@ }, "node_modules/terser": { "version": "5.38.1", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -20370,7 +20200,6 @@ "version": "5.6.1", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.6.1.tgz", "integrity": "sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", @@ -20429,7 +20258,6 @@ }, "node_modules/terser-webpack-plugin/node_modules/ajv": { "version": "8.18.0", - "dev": true, "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -20444,7 +20272,6 @@ }, "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { "version": "5.1.0", - "dev": true, "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3" @@ -20455,12 +20282,10 @@ }, "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { "version": "1.0.0", - "dev": true, "license": "MIT" }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { "version": "4.3.3", - "dev": true, "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", @@ -20489,13 +20314,6 @@ "node": ">=8" } }, - "node_modules/text-cache": { - "version": "4.2.2", - "license": "MIT", - "dependencies": { - "vectorize-text": "^3.2.1" - } - }, "node_modules/text-table": { "version": "0.2.0", "dev": true, @@ -20507,31 +20325,16 @@ "license": "MIT" }, "node_modules/through2": { - "version": "0.6.5", - "license": "MIT", - "dependencies": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - }, - "node_modules/through2/node_modules/isarray": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "1.0.34", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "license": "MIT", + "peer": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/through2/node_modules/string_decoder": { - "version": "0.10.31", - "license": "MIT" - }, "node_modules/thunky": { "version": "1.1.0", "dev": true, @@ -20546,15 +20349,17 @@ "license": "MIT" }, "node_modules/tinycolor2": { - "version": "1.4.2", - "license": "MIT", - "engines": { - "node": "*" - } + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", + "license": "MIT" }, "node_modules/tinyqueue": { "version": "2.0.3", - "license": "ISC" + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", + "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==", + "license": "ISC", + "peer": true }, "node_modules/tldts": { "version": "6.1.86", @@ -20591,22 +20396,19 @@ "dev": true, "license": "BSD-3-Clause" }, - "node_modules/to-array-buffer": { - "version": "3.2.0", - "license": "MIT", - "dependencies": { - "flatten-vertex-data": "^1.0.2", - "is-blob": "^2.0.1", - "string-to-arraybuffer": "^1.0.0" - } - }, "node_modules/to-float32": { "version": "1.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/to-float32/-/to-float32-1.1.0.tgz", + "integrity": "sha512-keDnAusn/vc+R3iEiSDw8TOF7gPiTLdK1ArvWtYbJQiVfmRg6i/CAvbKq3uIS0vWroAC7ZecN3DjQKw3aSklUg==", + "license": "MIT", + "peer": true }, "node_modules/to-px": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-px/-/to-px-1.0.1.tgz", + "integrity": "sha512-2y3LjBeIZYL19e5gczp14/uRWFDtDUErJPVN3VU9a7SJO+RjGRtYR47aMN2bZgGlxvW4ZcEz2ddUPVHXcMfuXw==", "license": "MIT", + "peer": true, "dependencies": { "parse-unit": "^1.0.1" } @@ -20621,17 +20423,6 @@ "node": ">=8.0" } }, - "node_modules/to-uint8": { - "version": "1.4.1", - "license": "MIT", - "dependencies": { - "arr-flatten": "^1.1.0", - "clamp": "^1.0.1", - "is-base64": "^0.1.0", - "is-float-array": "^1.0.0", - "to-array-buffer": "^3.0.0" - } - }, "node_modules/toggle-selection": { "version": "1.0.6", "license": "MIT" @@ -20646,7 +20437,10 @@ }, "node_modules/topojson-client": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", + "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", "license": "ISC", + "peer": true, "dependencies": { "commander": "2" }, @@ -20656,29 +20450,6 @@ "topoquantize": "bin/topoquantize" } }, - "node_modules/touch": { - "version": "2.0.2", - "license": "ISC", - "dependencies": { - "nopt": "~1.0.10" - }, - "bin": { - "nodetouch": "bin/nodetouch.js" - }, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/touch/node_modules/nopt": { - "version": "1.0.10", - "license": "MIT", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, "node_modules/tough-cookie": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", @@ -20704,22 +20475,6 @@ "tree-kill": "cli.js" } }, - "node_modules/triangulate-hypercube": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "gamma": "^0.1.0", - "permutation-parity": "^1.0.0", - "permutation-rank": "^1.0.0" - } - }, - "node_modules/triangulate-polyline": { - "version": "1.0.3", - "license": "MIT", - "dependencies": { - "cdt2d": "^1.0.0" - } - }, "node_modules/tsconfig-paths": { "version": "3.15.0", "dev": true, @@ -20751,7 +20506,9 @@ } }, "node_modules/tslib": { - "version": "2.4.1", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, "node_modules/tunnel-agent": { @@ -20767,15 +20524,6 @@ "node": "*" } }, - "node_modules/turntable-camera-controller": { - "version": "3.0.1", - "license": "MIT", - "dependencies": { - "filtered-vector": "^1.2.1", - "gl-mat4": "^1.0.2", - "gl-vec3": "^1.0.2" - } - }, "node_modules/tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", @@ -20783,27 +20531,12 @@ "dev": true, "license": "Unlicense" }, - "node_modules/two-product": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/two-sum": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/type": { - "version": "1.2.0", - "license": "ISC" - }, - "node_modules/type-check": { - "version": "0.3.2", - "license": "MIT", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", + "license": "ISC", + "peer": true }, "node_modules/type-detect": { "version": "4.0.8", @@ -20836,10 +20569,6 @@ "node": ">= 0.6" } }, - "node_modules/type-name": { - "version": "2.0.2", - "license": "MIT" - }, "node_modules/typed-array-buffer": { "version": "1.0.3", "dev": true, @@ -20912,11 +20641,17 @@ }, "node_modules/typedarray": { "version": "0.0.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "license": "MIT", + "peer": true }, "node_modules/typedarray-pool": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.2.0.tgz", + "integrity": "sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==", "license": "MIT", + "peer": true, "dependencies": { "bit-twiddle": "^1.0.0", "dup": "^1.0.0" @@ -21038,14 +20773,6 @@ "node": ">=4" } }, - "node_modules/union-find": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/uniq": { - "version": "1.0.1", - "license": "MIT" - }, "node_modules/universalify": { "version": "2.0.0", "dev": true, @@ -21064,7 +20791,10 @@ }, "node_modules/unquote": { "version": "1.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", + "license": "MIT", + "peer": true }, "node_modules/untildify": { "version": "4.0.0", @@ -21076,7 +20806,6 @@ }, "node_modules/update-browserslist-db": { "version": "1.2.3", - "dev": true, "funding": [ { "type": "opencollective", @@ -21105,12 +20834,14 @@ }, "node_modules/update-browserslist-db/node_modules/picocolors": { "version": "1.1.1", - "dev": true, "license": "ISC" }, "node_modules/update-diff": { "version": "1.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/update-diff/-/update-diff-1.1.0.tgz", + "integrity": "sha512-rCiBPiHxZwT4+sBhEbChzpO5hYHjm91kScWgdHf4Qeafs6Ba7MBl+d9GlGv72bcTZQO0sLmtQS1pHSWoCLtN/A==", + "license": "MIT", + "peer": true }, "node_modules/uri-js": { "version": "4.4.1", @@ -21137,10 +20868,12 @@ } }, "node_modules/use-isomorphic-layout-effect": { - "version": "1.1.2", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.1.tgz", + "integrity": "sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==", "license": "MIT", "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -21183,37 +20916,6 @@ "dev": true, "license": "MIT" }, - "node_modules/utils-copy": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "const-pinf-float64": "^1.0.0", - "object-keys": "^1.0.9", - "type-name": "^2.0.0", - "utils-copy-error": "^1.0.0", - "utils-indexof": "^1.0.0", - "utils-regex-from-string": "^1.0.0", - "validate.io-array": "^1.0.3", - "validate.io-buffer": "^1.0.1", - "validate.io-nonnegative-integer": "^1.0.0" - } - }, - "node_modules/utils-copy-error": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "object-keys": "^1.0.9", - "utils-copy": "^1.1.0" - } - }, - "node_modules/utils-indexof": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "validate.io-array-like": "^1.0.1", - "validate.io-integer-primitive": "^1.0.0" - } - }, "node_modules/utils-merge": { "version": "1.0.1", "dev": true, @@ -21222,14 +20924,6 @@ "node": ">= 0.4.0" } }, - "node_modules/utils-regex-from-string": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "regex-regex": "^1.0.0", - "validate.io-string-primitive": "^1.0.0" - } - }, "node_modules/uuid": { "version": "8.3.2", "dev": true, @@ -21256,64 +20950,6 @@ "dev": true, "license": "MIT" }, - "node_modules/validate.io-array": { - "version": "1.0.6", - "license": "MIT" - }, - "node_modules/validate.io-array-like": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "const-max-uint32": "^1.0.2", - "validate.io-integer-primitive": "^1.0.0" - } - }, - "node_modules/validate.io-buffer": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/validate.io-integer": { - "version": "1.0.5", - "dependencies": { - "validate.io-number": "^1.0.3" - } - }, - "node_modules/validate.io-integer-primitive": { - "version": "1.0.0", - "dependencies": { - "validate.io-number-primitive": "^1.0.0" - } - }, - "node_modules/validate.io-matrix-like": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/validate.io-ndarray-like": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/validate.io-nonnegative-integer": { - "version": "1.0.0", - "dependencies": { - "validate.io-integer": "^1.0.5" - } - }, - "node_modules/validate.io-number": { - "version": "1.0.3" - }, - "node_modules/validate.io-number-primitive": { - "version": "1.0.0" - }, - "node_modules/validate.io-positive-integer": { - "version": "1.0.0", - "dependencies": { - "validate.io-integer": "^1.0.5" - } - }, - "node_modules/validate.io-string-primitive": { - "version": "1.0.1", - "license": "MIT" - }, "node_modules/value-equal": { "version": "1.0.1", "license": "MIT" @@ -21326,19 +20962,6 @@ "node": ">= 0.8" } }, - "node_modules/vectorize-text": { - "version": "3.2.2", - "license": "MIT", - "dependencies": { - "cdt2d": "^1.0.0", - "clean-pslg": "^1.1.0", - "ndarray": "^1.0.11", - "planar-graph-to-polyline": "^1.0.6", - "simplify-planar-graph": "^2.0.1", - "surface-nets": "^1.0.0", - "triangulate-polyline": "^1.0.0" - } - }, "node_modules/verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", @@ -21371,7 +20994,10 @@ }, "node_modules/vt-pbf": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.3.tgz", + "integrity": "sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==", "license": "MIT", + "peer": true, "dependencies": { "@mapbox/point-geometry": "0.1.0", "@mapbox/vector-tile": "^1.3.1", @@ -21423,7 +21049,6 @@ }, "node_modules/watchpack": { "version": "2.5.1", - "dev": true, "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", @@ -21443,10 +21068,10 @@ }, "node_modules/weak-map": { "version": "1.0.8", - "license": "Apache-2.0" - }, - "node_modules/weakmap-shim": { - "version": "1.1.1" + "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz", + "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==", + "license": "Apache-2.0", + "peer": true }, "node_modules/web-streams-polyfill": { "version": "3.2.1", @@ -21457,7 +21082,10 @@ }, "node_modules/webgl-context": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webgl-context/-/webgl-context-2.2.0.tgz", + "integrity": "sha512-q/fGIivtqTT7PEoF07axFIlHNk/XCPaYpq64btnepopSWvKNFkoORlQYgqDigBIuGA1ExnFd/GnSUnBNEPQY7Q==", "license": "MIT", + "peer": true, "dependencies": { "get-canvas-context": "^1.0.1" } @@ -21468,7 +21096,6 @@ }, "node_modules/webpack": { "version": "5.105.2", - "dev": true, "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.7", @@ -21758,7 +21385,6 @@ }, "node_modules/webpack-sources": { "version": "3.3.4", - "dev": true, "license": "MIT", "engines": { "node": ">=10.13.0" @@ -21766,7 +21392,6 @@ }, "node_modules/webpack/node_modules/ajv": { "version": "8.18.0", - "dev": true, "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -21781,7 +21406,6 @@ }, "node_modules/webpack/node_modules/ajv-keywords": { "version": "5.1.0", - "dev": true, "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3" @@ -21792,12 +21416,10 @@ }, "node_modules/webpack/node_modules/json-schema-traverse": { "version": "1.0.0", - "dev": true, "license": "MIT" }, "node_modules/webpack/node_modules/schema-utils": { "version": "4.3.3", - "dev": true, "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", @@ -21971,6 +21593,7 @@ }, "node_modules/word-wrap": { "version": "1.2.5", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -21981,8 +21604,11 @@ "license": "MIT" }, "node_modules/world-calendars": { - "version": "1.0.3", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/world-calendars/-/world-calendars-1.0.4.tgz", + "integrity": "sha512-VGRnLJS+xJmGDPodgJRnGIDwGu0s+Cr9V2HB3EzlDZ5n0qb8h5SJtGUEkjrphZYAglEiXZ6kiXdmk0H/h/uu/w==", "license": "MIT", + "peer": true, "dependencies": { "object-assign": "^4.1.0" } @@ -22102,7 +21728,10 @@ }, "node_modules/xtend": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.4" } @@ -22172,13 +21801,6 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zero-crossings": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "cwise-compiler": "^1.0.0" - } } } } diff --git a/package.json b/package.json index a8a4c2d3..c12eb433 100644 --- a/package.json +++ b/package.json @@ -44,11 +44,11 @@ "react": "^16.14.0", "react-aria-modal": "^4.0.2", "react-autosize-textarea": "^7.1.0", - "react-chart-editor": "^0.45.0", + "react-chart-editor": "^0.46.1", "react-collapse": "^4.0.3", "react-copy-to-clipboard": "^5.1.0", "react-device-detect": "^2.2.3", - "react-dom": "~16.8.6", + "react-dom": "~16.14.0", "react-gtm-module": "^2.0.11", "react-image-fallback": "^8.0.0", "react-intl": "^5.25.1", From 605efbd4fe4dace267ae0273cb9407311651177b Mon Sep 17 00:00:00 2001 From: smithc197 Date: Mon, 8 Jun 2026 08:47:14 -0400 Subject: [PATCH 11/16] Removed usage of deprecated 'ie.css' import --- src/pages/chart-view/chart-view.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/chart-view/chart-view.js b/src/pages/chart-view/chart-view.js index c96dd514..d53b0e75 100644 --- a/src/pages/chart-view/chart-view.js +++ b/src/pages/chart-view/chart-view.js @@ -1,7 +1,7 @@ import PropTypes from 'prop-types' import './chart-view.scss' import React from 'react' -import 'react-chart-editor/lib/react-chart-editor.ie.css' +// import 'react-chart-editor/lib/react-chart-editor.ie.css' import PlotlyEditor, { dereference, DefaultEditor } from 'react-chart-editor/lib' import plotly from 'plotly.js/dist/plotly' From 6094d6b3ef2e18be8ea3b1f2ff1eeb3d2b5682fc Mon Sep 17 00:00:00 2001 From: "Rob Seward (SOM)" Date: Mon, 8 Jun 2026 10:15:15 -0400 Subject: [PATCH 12/16] Release 2.1.54 with a lint pass --- cypress/e2e/dataset_details_page.cy.js | 2 +- cypress/support/commands.js | 2 +- cypress/support/details_page.js | 22 +++--- cypress/support/search_page.js | 24 +++--- package-lock.json | 16 +--- package.json | 2 +- src/ReactDiscoveryUI.js | 1 - src/auth/auth0-wrapper.js | 2 +- src/components/code-editor/code-editor.js | 6 +- .../collapsable-box/collapsable-box.js | 10 +-- src/components/data-view/data-view.js | 6 +- src/components/dataset-api-doc/api-example.js | 20 +++-- .../dataset-api-doc/dataset-api-doc.js | 14 ++-- .../dataset-details/dataset-details.js | 2 +- .../dataset-dictionary/dataset-dictionary.js | 2 +- .../dataset-metadata/dataset-metadata.js | 78 +++++++++++-------- .../dataset-recommendations.js | 2 +- src/components/facet-list/facet-list.js | 2 +- .../call-to-action-button.js | 2 +- .../generic-elements/folder-icon/index.js | 2 +- .../generic-elements/search/search.js | 10 +-- .../visualize-button/visualize-button.js | 2 +- src/components/organization/organization.js | 7 +- src/components/query-form/query-form.js | 16 ++-- src/components/query-form/query-form.test.js | 6 +- .../recommendation-list.js | 2 +- src/components/share/share.js | 18 ++--- .../streaming-api-doc/streaming-api-doc.js | 10 +-- .../visualization-list-menu-item.js | 2 +- src/index.js | 3 +- src/pages/apikey-view/apikey-view.js | 4 +- src/pages/chart-view/chart-view.js | 1 - src/pages/chart-view/chart-view.test.js | 6 +- src/pages/dataset-view/dataset-view.js | 31 ++++---- src/pages/login-view/login-view.js | 10 +-- src/pages/login-view/login-view.test.js | 2 +- .../oauth-error-view/oauth-error-view.js | 2 +- src/pages/oauth-view/oauth-view.test.js | 2 +- .../user-profile-view/user-profile-view.js | 2 +- .../user-profile-view.test.js | 2 +- .../visualization-view/visualization-view.js | 5 +- src/search-params/search-params-manager.js | 44 +++++------ .../search-params-manager.test.js | 6 +- src/store/actions.js | 2 +- src/store/reducers/reducers.js | 6 +- src/store/sagas/dataset-list-saga.js | 4 +- src/store/sagas/login-saga.test.js | 6 +- src/store/sagas/visualization-saga.test.js | 14 ++-- src/utils/geojson-utils.test.js | 2 +- src/utils/http-clients.js | 14 ++-- src/utils/modified-date-string-builder.js | 2 +- stubs/dataset-details-stub.js | 1 - test-helpers/mock-svg-element.js | 2 +- webpack.config.js | 16 ++-- 54 files changed, 234 insertions(+), 245 deletions(-) diff --git a/cypress/e2e/dataset_details_page.cy.js b/cypress/e2e/dataset_details_page.cy.js index dff58c3c..7f42af55 100644 --- a/cypress/e2e/dataset_details_page.cy.js +++ b/cypress/e2e/dataset_details_page.cy.js @@ -171,7 +171,7 @@ describe('Write SQL Tab for System dataset', function () { it('Writing query and hitting submit returns nothing if cancel is hit before response returns', function () { const query = 'SELECT is_alive, name, type FROM Rosa_Lucky__Cesious_Black_OBWEG\nLIMIT 200' cy.get(queryInput).clear().type(query) - cy.intercept({url: routes.SYS_d3bf2154_1cda_11ea_a56a_0242ac110002.query3.url, method: routes.SYS_d3bf2154_1cda_11ea_a56a_0242ac110002.query3.method}, (req) => {req.on('response', (res) => {res.setDelay(1000)})}).as('getQueryResults') + cy.intercept({ url: routes.SYS_d3bf2154_1cda_11ea_a56a_0242ac110002.query3.url, method: routes.SYS_d3bf2154_1cda_11ea_a56a_0242ac110002.query3.method }, (req) => { req.on('response', (res) => { res.setDelay(1000) }) }).as('getQueryResults') cy.get(submitQueryButton).click() cy.get(cancelQueryButton).click() cy.get(errorMessage).should('be.visible') diff --git a/cypress/support/commands.js b/cypress/support/commands.js index 78b51ad1..869c50a9 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -7,4 +7,4 @@ // commands please read more here: // https://on.cypress.io/custom-commands // *********************************************** -// \ No newline at end of file +// diff --git a/cypress/support/details_page.js b/cypress/support/details_page.js index 7b6e4cdf..028d0550 100644 --- a/cypress/support/details_page.js +++ b/cypress/support/details_page.js @@ -52,28 +52,28 @@ export const Routes = { info: { method: 'GET', url: '/sockjs-node/*', - response: {fixture: 'info.json'} + response: { fixture: 'info.json' } }, ogripDataset: { method: 'GET', url: '/api/v1/organization/ogrip/dataset/622746a5_4e2a_4a4c_ac18_74cb1fb05ab3', - response: {fixture: 'details_page_spec/ogrip_dataset.json'} + response: { fixture: 'details_page_spec/ogrip_dataset.json' } }, '622746a5_4e2a_4a4c_ac18_74cb1fb05ab3': { downloadFormatGeojson: { method: 'GET', url: '/api/v1/dataset/622746a5-4e2a-4a4c-ac18-74cb1fb05ab3/download?_format=geojson', - response: {fixture: 'details_page_spec/622746a5_4e2a_4a4c_ac18_74cb1fb05ab3/download_format_geojson.geojson'} + response: { fixture: 'details_page_spec/622746a5_4e2a_4a4c_ac18_74cb1fb05ab3/download_format_geojson.geojson' } }, previewFormatGeojson: { method: 'GET', url: '/api/v1/dataset/622746a5-4e2a-4a4c-ac18-74cb1fb05ab3/preview?_format=geojson', - response: {fixture: 'details_page_spec/622746a5_4e2a_4a4c_ac18_74cb1fb05ab3/preview_format_geojson.geojson'} + response: { fixture: 'details_page_spec/622746a5_4e2a_4a4c_ac18_74cb1fb05ab3/preview_format_geojson.geojson' } }, previewFormatJson: { method: 'GET', url: '/api/v1/dataset/622746a5-4e2a-4a4c-ac18-74cb1fb05ab3/preview?_format=json', - response: {fixture: 'details_page_spec/622746a5_4e2a_4a4c_ac18_74cb1fb05ab3/preview_format_json.json'} + response: { fixture: 'details_page_spec/622746a5_4e2a_4a4c_ac18_74cb1fb05ab3/preview_format_json.json' } }, recommendations: { method: 'GET', @@ -83,19 +83,19 @@ export const Routes = { query: { method: 'POST', url: '/api/v1/query', - response: {fixture: 'details_page_spec/622746a5_4e2a_4a4c_ac18_74cb1fb05ab3/query_response.json'} + response: { fixture: 'details_page_spec/622746a5_4e2a_4a4c_ac18_74cb1fb05ab3/query_response.json' } } }, sysDataset: { method: 'GET', url: '/api/v1/organization/SYS_d3bf2154_1cda_11ea_a56a_0242ac110002_ORG/dataset/Cesious_Black_OBWEG', - response: {fixture: 'details_page_spec/sysDataset.json'} + response: { fixture: 'details_page_spec/sysDataset.json' } }, SYS_d3bf2154_1cda_11ea_a56a_0242ac110002: { previewFormatJson: { method: 'GET', url: '/api/v1/dataset/SYS_d3bf2154_1cda_11ea_a56a_0242ac110002/preview?_format=json', - response: {fixture: 'details_page_spec/SYS_d3bf2154_1cda_11ea_a56a_0242ac110002/preview_format_json.json'} + response: { fixture: 'details_page_spec/SYS_d3bf2154_1cda_11ea_a56a_0242ac110002/preview_format_json.json' } }, recommendations: { method: 'GET', @@ -105,17 +105,17 @@ export const Routes = { query1: { method: 'POST', url: '/api/v1/query', - response: {fixture: 'details_page_spec/SYS_d3bf2154_1cda_11ea_a56a_0242ac110002/query_response.json'} + response: { fixture: 'details_page_spec/SYS_d3bf2154_1cda_11ea_a56a_0242ac110002/query_response.json' } }, query2: { method: 'POST', url: '/api/v1/query', - response: {fixture: 'details_page_spec/SYS_d3bf2154_1cda_11ea_a56a_0242ac110002/query_response2.json'} + response: { fixture: 'details_page_spec/SYS_d3bf2154_1cda_11ea_a56a_0242ac110002/query_response2.json' } }, query3: { method: 'POST', url: '/api/v1/query', - response: {fixture: 'details_page_spec/SYS_d3bf2154_1cda_11ea_a56a_0242ac110002/query_response2.json'}, + response: { fixture: 'details_page_spec/SYS_d3bf2154_1cda_11ea_a56a_0242ac110002/query_response2.json' }, delay: 1000 } } diff --git a/cypress/support/search_page.js b/cypress/support/search_page.js index 0178b036..f5d99421 100644 --- a/cypress/support/search_page.js +++ b/cypress/support/search_page.js @@ -17,61 +17,61 @@ export const Routes = { allDatasetsLastModified: { method: 'GET', url: '/api/v2/dataset/search?offset=0&limit=10&sort=last_mod&query=&apiAccessible=true', - response: {fixture: 'search_page_spec/all_datasets_last_modified.json'} + response: { fixture: 'search_page_spec/all_datasets_last_modified.json' } }, allDatasetsNameAsc: { method: 'GET', url: '/api/v2/dataset/search?offset=0&limit=10&sort=name_asc&query=&apiAccessible=true', - response: {fixture: 'search_page_spec/all_datasets_name_asc.json'} + response: { fixture: 'search_page_spec/all_datasets_name_asc.json' } }, allDatasetsRelevance: { method: 'GET', url: '/api/v2/dataset/search?offset=0&limit=10&sort=relevance&query=&apiAccessible=true', - response: {fixture: 'search_page_spec/all_datasets_relevance.json'} + response: { fixture: 'search_page_spec/all_datasets_relevance.json' } }, allDatasetsNameDesc: { method: 'GET', url: '/api/v2/dataset/search?offset=0&limit=10&sort=name_desc&query=&apiAccessible=true', - response: {fixture: 'search_page_spec/all_datasets_name_desc.json'} + response: { fixture: 'search_page_spec/all_datasets_name_desc.json' } }, allDatasetsPage2: { method: 'GET', url: '/api/v2/dataset/search?offset=10&limit=10&sort=name_asc&query=&apiAccessible=true', - response: {fixture: 'search_page_spec/all_datasets_page_2.json'} + response: { fixture: 'search_page_spec/all_datasets_page_2.json' } }, apiAccessibleFalseDatasets: { method: 'GET', url: '/api/v2/dataset/search?offset=0&limit=10&sort=name_asc&query=&apiAccessible=false', - response: {fixture: 'search_page_spec/apiAccessible_false_datasets.json'} + response: { fixture: 'search_page_spec/apiAccessible_false_datasets.json' } }, bicycleDatasets: { method: 'GET', url: '/api/v2/dataset/search?offset=0&limit=10&sort=name_asc&query=&facets%5Bkeywords%5D%5B%5D=bicycle&apiAccessible=true', - response: {fixture: 'search_page_spec/bicycle_datasets.json'} + response: { fixture: 'search_page_spec/bicycle_datasets.json' } }, catarynDatasets: { method: 'GET', url: '/api/v2/dataset/search?offset=0&limit=10&sort=relevance&query=cataryn&apiAccessible=true', - response: {fixture: 'search_page_spec/cataryn_datasets.json'} + response: { fixture: 'search_page_spec/cataryn_datasets.json' } }, cogoDatasets: { method: 'GET', url: '/api/v2/dataset/search?offset=0&limit=10&sort=name_asc&query=&facets%5Borganization%5D%5B%5D=COGO&apiAccessible=true', - response: {fixture: 'search_page_spec/cogo_datasets.json'} + response: { fixture: 'search_page_spec/cogo_datasets.json' } }, cotaDatasets: { method: 'GET', url: '/api/v2/dataset/search?offset=0&limit=10&sort=relevance&query=COTA&apiAccessible=true', - response: {fixture: 'search_page_spec/cota_datasets.json'} + response: { fixture: 'search_page_spec/cota_datasets.json' } }, info: { method: 'GET', url: '/sockjs-node/*', - response: {fixture: 'info.json'} + response: { fixture: 'info.json' } }, ogripDataset: { method: 'GET', url: '/api/v1/organization/ogrip/dataset/622746a5_4e2a_4a4c_ac18_74cb1fb05ab3', - response: {fixture: 'details_page_spec/ogrip_dataset.json'} + response: { fixture: 'details_page_spec/ogrip_dataset.json' } } } diff --git a/package-lock.json b/package-lock.json index 0ab1b6e2..387b52b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@urbanos/react-discovery-ui", - "version": "2.1.53", + "version": "2.1.54", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@urbanos/react-discovery-ui", - "version": "2.1.53", + "version": "2.1.54", "license": "ISC", "dependencies": { "@auth0/auth0-spa-js": "1.22.5", @@ -3904,9 +3904,6 @@ "cpu": [ "arm" ], - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -3927,9 +3924,6 @@ "cpu": [ "arm" ], - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -3950,9 +3944,6 @@ "cpu": [ "arm64" ], - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -3973,9 +3964,6 @@ "cpu": [ "arm64" ], - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ diff --git a/package.json b/package.json index c12eb433..1f47baf8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@urbanos/react-discovery-ui", - "version": "2.1.53", + "version": "2.1.54", "description": "React component for dataset discovery UI", "main": "./lib/ReactDiscoveryUI.js", "repository": { diff --git a/src/ReactDiscoveryUI.js b/src/ReactDiscoveryUI.js index 548e2c41..4f8afc13 100644 --- a/src/ReactDiscoveryUI.js +++ b/src/ReactDiscoveryUI.js @@ -1,4 +1,3 @@ - import './ReactDiscoveryUI.scss' import 'normalize.css' diff --git a/src/auth/auth0-wrapper.js b/src/auth/auth0-wrapper.js index ab118970..965585be 100644 --- a/src/auth/auth0-wrapper.js +++ b/src/auth/auth0-wrapper.js @@ -42,7 +42,7 @@ const withAuth0 = WrappedComponent => { const auth0Props = { loginWithRedirect: (...p) => auth0Client.loginWithRedirect({ appState: callbackState, ...p }), - logout: logout, + logout, handleRedirectCallback, isAuthenticated, isLoading diff --git a/src/components/code-editor/code-editor.js b/src/components/code-editor/code-editor.js index 85b5ca03..0badcb15 100644 --- a/src/components/code-editor/code-editor.js +++ b/src/components/code-editor/code-editor.js @@ -7,14 +7,14 @@ import './code-editor.css' const code = 'SELECT * FROM ...' class CodeEditor extends React.Component { - constructor(props) { + constructor (props) { super(props) this.state = { code: props.code || code } } - render() { + render () { return ( ) } diff --git a/src/components/collapsable-box/collapsable-box.js b/src/components/collapsable-box/collapsable-box.js index 45a3ba0a..fd7338fe 100644 --- a/src/components/collapsable-box/collapsable-box.js +++ b/src/components/collapsable-box/collapsable-box.js @@ -4,7 +4,7 @@ import { Collapse } from 'react-collapse' import { Component } from 'react' import DetailToggleIcon from '../detail-toggle-icon' -function extractText(node) { +function extractText (node) { if (!node) return '' if (typeof node === 'string' || typeof node === 'number') return String(node) if (Array.isArray(node)) return node.map(extractText).join(' ').trim() @@ -13,21 +13,21 @@ function extractText(node) { } export default class extends Component { - constructor(props) { + constructor (props) { super(props) const isDesktop = window.matchMedia(variables.aboveMaxBreak).matches this.state = { expanded: isDesktop || props.expanded } } - toggleCollapsed() { + toggleCollapsed () { this.setState({ expanded: !this.state.expanded }) } - headerOpenClass() { + headerOpenClass () { return this.state.expanded ? 'open' : '' } - render() { + render () { return (
{ No rows found - ) + ) : dataRows.map((row, rowIndex) => { const tableRow = rowIndex + 1 const ariaRowIndex = pageIndex * pageSize + rowIndex + 2 // +1 for header, +1 for 1-based @@ -186,7 +186,7 @@ const DataTable = ({ data, columns, page, onNextPageClicked, datasetName }) => { className={`row-header${activeCellId === rowHeaderId(rowIndex) ? ' active-cell' : ''}`} >{content} - ) + ) : ( { className={activeCellId === dataCellId(rowIndex, colIndex) ? 'active-cell' : undefined} >{content} - ) + ) })} ) diff --git a/src/components/dataset-api-doc/api-example.js b/src/components/dataset-api-doc/api-example.js index 85d4a9b6..96adec75 100644 --- a/src/components/dataset-api-doc/api-example.js +++ b/src/components/dataset-api-doc/api-example.js @@ -29,7 +29,7 @@ export default ({ title, descriptionHtml, action, url, params, examples, headers ) } -function renderParameters(params) { +function renderParameters (params) { return (
Optional Parameters
@@ -52,7 +52,7 @@ function renderParameters(params) { ) } -function renderParameter(parameter) { +function renderParameter (parameter) { return ( @@ -65,9 +65,7 @@ function renderParameter(parameter) { ) } - - -function renderHeaders(headers) { +function renderHeaders (headers) { return (
Headers
@@ -90,20 +88,20 @@ function renderHeaders(headers) { ) } -function renderHeader(header) { +function renderHeader (header) { return ( {header.name} - {header.required ? "Yes" : "No"} + {header.required ? 'Yes' : 'No'} {header.default} {header.description} ) } -function renderExamples(examples, url) { +function renderExamples (examples, url) { examples = examples.map(example => { example.curl = createCurlCommand(example, url) return example @@ -116,7 +114,7 @@ function renderExamples(examples, url) { ) } -function renderExample(example, index) { +function renderExample (example, index) { const copyToClipboard = (event) => { const textField = document.createElement('textarea') textField.innerText = example.curl @@ -124,7 +122,7 @@ function renderExample(example, index) { textField.select() document.execCommand('copy') textField.remove() - event.target.focus(); + event.target.focus() } return ( @@ -153,6 +151,6 @@ function renderExample(example, index) { ) } -function createCurlCommand(example, url) { +function createCurlCommand (example, url) { return `curl -X POST '${url}' -H 'Content-Type: text/plain' -H 'api_key: USER_API_KEY_HERE' -d '${example.body}'` } diff --git a/src/components/dataset-api-doc/dataset-api-doc.js b/src/components/dataset-api-doc/dataset-api-doc.js index 9296c7a0..c4c320d2 100644 --- a/src/components/dataset-api-doc/dataset-api-doc.js +++ b/src/components/dataset-api-doc/dataset-api-doc.js @@ -65,7 +65,7 @@ const apiHeaders = [ } ] -function getFreestyleApiExamples(dataset) { +function getFreestyleApiExamples (dataset) { return [ { body: `SELECT * FROM ${dataset.systemName} LIMIT 200`, @@ -82,22 +82,22 @@ function getFreestyleApiExamples(dataset) { ] } -function freestyleDescription() { +function freestyleDescription () { return (
This query supports the full ANSI SQL syntax, and only selects from the tables specified in the query.
The query to run must be submitted as plain text in the body of the request.
Documentation can be found at:
) } -function renderHeader() { +function renderHeader () { return (
Access Operating System data with supported queries. All supported @@ -106,7 +106,7 @@ function renderHeader() { ) } -function renderExamples(dataset) { +function renderExamples (dataset) { const format = getDefaultFormat(dataset) return (
diff --git a/src/components/dataset-details/dataset-details.js b/src/components/dataset-details/dataset-details.js index b4d6bf23..87e6a4db 100644 --- a/src/components/dataset-details/dataset-details.js +++ b/src/components/dataset-details/dataset-details.js @@ -44,7 +44,7 @@ const createKeyword = name => ( {name} diff --git a/src/components/dataset-dictionary/dataset-dictionary.js b/src/components/dataset-dictionary/dataset-dictionary.js index 9564148d..adcd3c0d 100644 --- a/src/components/dataset-dictionary/dataset-dictionary.js +++ b/src/components/dataset-dictionary/dataset-dictionary.js @@ -135,7 +135,7 @@ const viewLink = datasetId => ( View as JSON diff --git a/src/components/dataset-metadata/dataset-metadata.js b/src/components/dataset-metadata/dataset-metadata.js index af3b70b7..1a8ce8b7 100644 --- a/src/components/dataset-metadata/dataset-metadata.js +++ b/src/components/dataset-metadata/dataset-metadata.js @@ -108,13 +108,15 @@ export default ({ dataset }) => { { Field: 'Data Dictionary URL', Value: ( - dataset.describedByUrl ? ( - + dataset.describedByUrl + ? ( + {dataset.describedByUrl} - ) : ( - Unavailable - ) + ) + : ( + Unavailable + ) ) }, { @@ -131,41 +133,47 @@ export default ({ dataset }) => { }, { Field: 'Homepage URL', - Value: ( - dataset.homepage ? ( - - {dataset.homepage ?? "Unavailable"} - - ) : ( - Unavailable - ) + Value: ( + dataset.homepage + ? ( + + {dataset.homepage ?? 'Unavailable'} + + ) + : ( + Unavailable + ) ) }, { Field: 'Related Documents', Value: ( - referenceUrls.length === 0 ? ( - None - ) : ( - referenceUrls.map(url => ( - - )) - )) + referenceUrls.length === 0 + ? ( + None + ) + : ( + referenceUrls.map(url => ( + + )) + )) }, { Field: 'Source URL', Value: ( - dataset.sourceUrl ? ( - - {dataset.sourceUrl ?? "Unavailable"} + dataset.sourceUrl + ? ( + + {dataset.sourceUrl ?? 'Unavailable'} - ) : ( + ) + : ( Unavailable - ) + ) ) }, { @@ -175,13 +183,15 @@ export default ({ dataset }) => { { Field: 'License', Value: ( - dataset.license ? ( - - {dataset.license ?? "Unavailable"} + dataset.license + ? ( + + {dataset.license ?? 'Unavailable'} - ) : ( + ) + : ( Unavailable - ) + ) ) }, { diff --git a/src/components/dataset-recommendations/dataset-recommendations.js b/src/components/dataset-recommendations/dataset-recommendations.js index ad20b516..a9e8d247 100644 --- a/src/components/dataset-recommendations/dataset-recommendations.js +++ b/src/components/dataset-recommendations/dataset-recommendations.js @@ -26,7 +26,7 @@ const DatasetRecommendations = (props) => {
{recommendations.map(rec => )}
diff --git a/src/components/facet-list/facet-list.js b/src/components/facet-list/facet-list.js index e2ba49b8..55be5b45 100644 --- a/src/components/facet-list/facet-list.js +++ b/src/components/facet-list/facet-list.js @@ -33,7 +33,7 @@ const FacetList = props => { )) .value() } - {showMore && props.showMoreHandler(props.title, props.facets)}>Show more} + {showMore && props.showMoreHandler(props.title, props.facets)}>Show more}
) } diff --git a/src/components/generic-elements/call-to-action-button/call-to-action-button.js b/src/components/generic-elements/call-to-action-button/call-to-action-button.js index 950e7820..15afc7ba 100644 --- a/src/components/generic-elements/call-to-action-button/call-to-action-button.js +++ b/src/components/generic-elements/call-to-action-button/call-to-action-button.js @@ -14,7 +14,7 @@ const customStyles = { } } -export function CallToActionButton({ url, format, sourceType, sourceUrl }) { +export function CallToActionButton ({ url, format, sourceType, sourceUrl }) { const [modalIsOpen, setIsOpen] = useState(false) const isRemote = (sourceType && sourceType == 'remote') diff --git a/src/components/generic-elements/folder-icon/index.js b/src/components/generic-elements/folder-icon/index.js index 1917c342..efa4fb07 100644 --- a/src/components/generic-elements/folder-icon/index.js +++ b/src/components/generic-elements/folder-icon/index.js @@ -1,5 +1,5 @@ import FolderSVG from '../../../assets/folder_icon.svg' -export default ({ className, accessibilityDesc = "Folder Icon" }) => { +export default ({ className, accessibilityDesc = 'Folder Icon' }) => { return () } diff --git a/src/components/generic-elements/search/search.js b/src/components/generic-elements/search/search.js index 5619e2b9..80501544 100644 --- a/src/components/generic-elements/search/search.js +++ b/src/components/generic-elements/search/search.js @@ -6,7 +6,7 @@ import ClearIcon from '@material-ui/icons/Clear' const ENTER = 13 export default class extends Component { - constructor(props) { + constructor (props) { super(props) this.state = { searchText: props.defaultText || '' } this.onChange = this.onChange.bind(this) @@ -15,7 +15,7 @@ export default class extends Component { this.searchBox = createRef() } - render() { + render () { const clearButtonDisableClass = this.state.searchText ? '' : 'disabled' return ( @@ -31,17 +31,17 @@ export default class extends Component { ) } - onChange(event) { + onChange (event) { this.setState({ searchText: event.target.value }) } - onKeyUp(event) { + onKeyUp (event) { if (event.keyCode === ENTER) { this.props.callback(this.state.searchText) } } - onClearClicked() { + onClearClicked () { this.setState({ searchText: '' }) // Shallow rendering does not play nice with refs diff --git a/src/components/generic-elements/visualize-button/visualize-button.js b/src/components/generic-elements/visualize-button/visualize-button.js index 0847fc25..1cbbd383 100644 --- a/src/components/generic-elements/visualize-button/visualize-button.js +++ b/src/components/generic-elements/visualize-button/visualize-button.js @@ -7,6 +7,6 @@ import { GeneratedLink } from '../generated-link' export default ({ organizationName, datasetName, systemName }) => ( -
Visualize
+
Visualize
) diff --git a/src/components/organization/organization.js b/src/components/organization/organization.js index c66cf78b..fa8515a8 100644 --- a/src/components/organization/organization.js +++ b/src/components/organization/organization.js @@ -4,12 +4,13 @@ import { QueryStringBuilder } from '../../utils' export default ({ organization }) => (
Organization Info
- - + {`${organization.title} + alt={`${organization.title} Logo`} + />
{organization.title}
{organization.description}
diff --git a/src/components/query-form/query-form.js b/src/components/query-form/query-form.js index 081bcc2a..32ba1c0f 100644 --- a/src/components/query-form/query-form.js +++ b/src/components/query-form/query-form.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import './query-form.scss' import '@trendmicro/react-buttons/dist/react-buttons.css' import '@trendmicro/react-dropdown/dist/react-dropdown.css' -import Dropdown, { MenuItem } from '@trendmicro/react-dropdown'; +import Dropdown, { MenuItem } from '@trendmicro/react-dropdown' import LoadingElement from '../generic-elements/loading-element' import RecommendationList from '../recommendation-list' import ReactTooltip from 'react-tooltip' @@ -53,7 +53,7 @@ const QueryForm = props => { code={localQueryText} onBlur={updateReduxQueryText} data-testid='query-input' - aria-label="SQL Query Input" + aria-label='SQL Query Input' /> ) const submitButton = @@ -123,7 +123,7 @@ const QueryForm = props => { let dataObj, data, tempLink const queryDataDownloadLinkAsCsv = () => { dataObj = queryDataToCSV(queryData) - data = new Blob([dataObj], { type: "application/json" }) + data = new Blob([dataObj], { type: 'application/json' }) tempLink = document.createElement('a') tempLink.href = window.URL.createObjectURL(data) tempLink.setAttribute('download', 'query_results.csv') @@ -132,7 +132,7 @@ const QueryForm = props => { const queryDataDownloadLinkAsJson = () => { dataObj = JSON.stringify(queryData) - data = new Blob([dataObj], { type: "text/csv" }) + data = new Blob([dataObj], { type: 'text/csv' }) tempLink = document.createElement('a') tempLink.href = window.URL.createObjectURL(data) tempLink.setAttribute('download', 'query_results.json') @@ -140,8 +140,8 @@ const QueryForm = props => { } const queryDataDownloadLinkAsXml = () => { - dataObj = parse("results", queryData) - data = new Blob([dataObj], { type: "application/xml" }) + dataObj = parse('results', queryData) + data = new Blob([dataObj], { type: 'application/xml' }) tempLink = document.createElement('a') tempLink.href = window.URL.createObjectURL(data) tempLink.setAttribute('download', 'query_results.xml') @@ -193,14 +193,14 @@ const QueryForm = props => { } } - const downloadButtonColor = window.PRIMARY_COLOR || '#0F64B3'; + const downloadButtonColor = window.PRIMARY_COLOR || '#0F64B3' return (

Query Dataset

- + {textArea}
diff --git a/src/components/query-form/query-form.test.js b/src/components/query-form/query-form.test.js index 4d252c35..d173b6ae 100644 --- a/src/components/query-form/query-form.test.js +++ b/src/components/query-form/query-form.test.js @@ -213,11 +213,11 @@ describe('QueryForm', () => { }) }) -function createSubject(params) { +function createSubject (params) { const defaults = { queryText: 'SELECT * FROM sky', queryData: [], - recommendations: recommendations, + recommendations, usedDatasets: [], datasetReferences: {}, queryFailureMessage: '', @@ -242,7 +242,7 @@ function createSubject(params) { ) } -function getButton(subject, text) { +function getButton (subject, text) { const isButton = x => x.type() === 'button' && x.text() === text return subject.findWhere(isButton) } diff --git a/src/components/recommendation-list/recommendation-list.js b/src/components/recommendation-list/recommendation-list.js index 426723d0..ec1a2470 100644 --- a/src/components/recommendation-list/recommendation-list.js +++ b/src/components/recommendation-list/recommendation-list.js @@ -30,7 +30,7 @@ const RecommendationList = props => { diff --git a/src/components/share/share.js b/src/components/share/share.js index d84449a4..e6126fb2 100644 --- a/src/components/share/share.js +++ b/src/components/share/share.js @@ -10,17 +10,17 @@ import { LinkedinIcon } from 'react-share' import { CopyToClipboard } from 'react-copy-to-clipboard' -import FileCopyOutlinedIcon from '@material-ui/icons/FileCopyOutlined'; +import FileCopyOutlinedIcon from '@material-ui/icons/FileCopyOutlined' class Share extends React.Component { - constructor(props) { + constructor (props) { super(props) this.state = { copyMessage: 'Copy Link' } } - render() { + render () { const shareLocation = window.location.href const iconSize = 32 const iconBgStyle = {} @@ -30,18 +30,18 @@ class Share extends React.Component {
SHARE DATASET
- - + +
- - + +
- - + +
diff --git a/src/components/streaming-api-doc/streaming-api-doc.js b/src/components/streaming-api-doc/streaming-api-doc.js index 8725751b..dc8f8d6d 100644 --- a/src/components/streaming-api-doc/streaming-api-doc.js +++ b/src/components/streaming-api-doc/streaming-api-doc.js @@ -3,13 +3,13 @@ import { Component } from 'react' import CollapsableBox from '../../components/collapsable-box' export default class extends Component { - streamingHeader() { + streamingHeader () { return (
Access Operating System data through a websocket.
) } - streamingBody() { + streamingBody () { const dataset = this.props.dataset const systemName = dataset.organization.name + '__' + dataset.name @@ -17,7 +17,7 @@ export default class extends Component {
- Example using Websocat on a terminal + Example using Websocat on a terminal
@@ -29,14 +29,14 @@ export default class extends Component { Phoenix Channels clients
- For application development, look at the official Phoenix Javascript library, or one of the other client libraries + For application development, look at the official Phoenix Javascript library, or one of the other client libraries
) } - render() { + render () { if (!this.props.dataset) { return } diff --git a/src/components/visualization-list-menu-item/visualization-list-menu-item.js b/src/components/visualization-list-menu-item/visualization-list-menu-item.js index 64500a84..365227f2 100644 --- a/src/components/visualization-list-menu-item/visualization-list-menu-item.js +++ b/src/components/visualization-list-menu-item/visualization-list-menu-item.js @@ -16,7 +16,7 @@ const VisualizationListMenuItem = ({ isAuthenticated }) => {
- +
diff --git a/src/index.js b/src/index.js index 5085629a..5fb6f58d 100644 --- a/src/index.js +++ b/src/index.js @@ -1,4 +1,3 @@ - import ReactDiscoveryUI from './ReactDiscoveryUI.js' import './index.css' @@ -9,7 +8,7 @@ import TagManager from 'react-gtm-module' window.React = React if (window.GTM_ID) { - TagManager.initialize({ gtmId: window.GTM_ID }); + TagManager.initialize({ gtmId: window.GTM_ID }) } ReactDOM.render(, document.getElementById('root')) diff --git a/src/pages/apikey-view/apikey-view.js b/src/pages/apikey-view/apikey-view.js index 37d71950..6dbc9b32 100644 --- a/src/pages/apikey-view/apikey-view.js +++ b/src/pages/apikey-view/apikey-view.js @@ -66,7 +66,7 @@ const ApiKeyView = ({ apiKey, isLoading, isError, errorMessage, generate, dismis
- ) + ) : false } @@ -109,7 +109,7 @@ const ApiKeyView = ({ apiKey, isLoading, isError, errorMessage, generate, dismis
diff --git a/src/pages/chart-view/chart-view.js b/src/pages/chart-view/chart-view.js index d53b0e75..72d2ea77 100644 --- a/src/pages/chart-view/chart-view.js +++ b/src/pages/chart-view/chart-view.js @@ -7,7 +7,6 @@ import PlotlyEditor, { dereference, DefaultEditor } from 'react-chart-editor/lib import plotly from 'plotly.js/dist/plotly' import { cloneDeep } from 'lodash' - import LoadingElement from '../../components/generic-elements/loading-element' const hasDataSources = dataSources => { diff --git a/src/pages/chart-view/chart-view.test.js b/src/pages/chart-view/chart-view.test.js index 810f2f21..ccd81591 100644 --- a/src/pages/chart-view/chart-view.test.js +++ b/src/pages/chart-view/chart-view.test.js @@ -89,7 +89,7 @@ describe('chart view', () => { beforeEach(() => { window.LOGO_URL = 'https://placekitten.com/530/530' window.MAPBOX_ACCESS_TOKEN = 'secret key' - subject = createSubject({ dataSources: dataSources }) + subject = createSubject({ dataSources }) }) it('renders a chart editor', () => { @@ -157,7 +157,7 @@ describe('chart view', () => { beforeEach(() => { setChartInformation = jest.fn() - subject = createSubject({ dataSources: dataSources, chart: { data: plotlyData, frames: [], layout: {} }, setChartInformation }) + subject = createSubject({ dataSources, chart: { data: plotlyData, frames: [], layout: {} }, setChartInformation }) setChartInformation.mockClear() }) @@ -186,7 +186,7 @@ describe('chart view', () => { subject.find(PlotlyEditor).props().onUpdate(data, {}, []) expect(setChartInformation).toHaveBeenCalledTimes(1) - expect(setChartInformation).toHaveBeenCalledWith({ data: data, layout: {}, frames: [] }) + expect(setChartInformation).toHaveBeenCalledWith({ data, layout: {}, frames: [] }) }) }) }) diff --git a/src/pages/dataset-view/dataset-view.js b/src/pages/dataset-view/dataset-view.js index 9f077259..260ce622 100644 --- a/src/pages/dataset-view/dataset-view.js +++ b/src/pages/dataset-view/dataset-view.js @@ -17,16 +17,16 @@ import VisualizationListMenuItem from '../../components/visualization-list-menu- import VisualizationSaveMenuItem from '../../components/visualization-save-menu-item' export default class extends Component { - constructor() { + constructor () { super() this.state = { index: 0, localTitle: '' } } - generateVisualizationLink() { + generateVisualizationLink () { return this.props.visualizationId && generatePath(routes.visualizationView, { id: this.props.visualizationId }) } - componentDidMount() { + componentDidMount () { this.props.reset() this.props.retrieveDatasetDetails( this.props.match.params.organizationName, @@ -38,32 +38,32 @@ export default class extends Component { } } - getIndexFromQueryParams() { + getIndexFromQueryParams () { const { selectedIndex } = qs.parse(this.props.location.search, { ignoreQueryPrefix: true }) return selectedIndex ? parseInt(selectedIndex) : 0 } - handleTitleChange(event) { + handleTitleChange (event) { if (event.target.value !== this.state.localTitle) { this.setState({ localTitle: event.target.value }) } } - handleSaveOrUpdate({ shouldCreateCopy }) { + handleSaveOrUpdate ({ shouldCreateCopy }) { this.props.save({ id: this.props.visualizationId, title: this.state.localTitle, query: this.props.query, shouldCreateCopy }) } - isNotDatasetDetailsTab() { + isNotDatasetDetailsTab () { return this.state.index !== 0 } - isVisualizationEnabled() { + isVisualizationEnabled () { return window.DISABLE_VISUALIZATIONS === 'false' } - render() { + render () { if (!this.props.isDatasetLoaded) { return ( @@ -92,17 +92,15 @@ export default class extends Component { Dataset Details Write SQL {this.isVisualizationEnabled() && - Visualize - } + Visualize } {this.isNotDatasetDetailsTab() && <> - SQL Help + SQL Help {this.isVisualizationEnabled() && <>

|

- Plot.ly Help - - } + Plot.ly Help + } } @@ -133,8 +131,7 @@ export default class extends Component { {this.isVisualizationEnabled() && - - } + }
diff --git a/src/pages/login-view/login-view.js b/src/pages/login-view/login-view.js index 90724a16..842bf2d7 100644 --- a/src/pages/login-view/login-view.js +++ b/src/pages/login-view/login-view.js @@ -12,10 +12,10 @@ const LoginView = props => { return ( sessionStorage.getItem('api-token') ? + to={{ + pathname: '/' + }} + /> :

Restricted Dataset Login

@@ -26,7 +26,7 @@ const LoginView = props => { setPassword(e.target.value)} />
Login
diff --git a/src/pages/login-view/login-view.test.js b/src/pages/login-view/login-view.test.js index 29c348f1..b8a00c26 100644 --- a/src/pages/login-view/login-view.test.js +++ b/src/pages/login-view/login-view.test.js @@ -18,6 +18,6 @@ describe('login view', () => { subject.find('.password').simulate('change', { target: { value: password } }) subject.find('.submit').simulate('click') - expect(loginSpy).toHaveBeenCalledWith({ username: username, password: password, history: fakeHistory }) + expect(loginSpy).toHaveBeenCalledWith({ username, password, history: fakeHistory }) }) }) diff --git a/src/pages/oauth-error-view/oauth-error-view.js b/src/pages/oauth-error-view/oauth-error-view.js index 5ad00512..0bcd752c 100644 --- a/src/pages/oauth-error-view/oauth-error-view.js +++ b/src/pages/oauth-error-view/oauth-error-view.js @@ -10,7 +10,7 @@ const getError = search => { const OAuthErrorView = () => { return ( -

Oops! We can't process that request. Please click here to go back to the home page.

+

Oops! We can't process that request. Please click here to go back to the home page.

{getError(window.location.search)}

) diff --git a/src/pages/oauth-view/oauth-view.test.js b/src/pages/oauth-view/oauth-view.test.js index 1fd8181e..a6d35b3a 100644 --- a/src/pages/oauth-view/oauth-view.test.js +++ b/src/pages/oauth-view/oauth-view.test.js @@ -82,7 +82,7 @@ describe('OAuth View', () => { subject = createSubject({ callLoggedIn: callLoggedInHandler, history, - auth: { handleRedirectCallback: handleRedirectCallback, isLoading: false }, + auth: { handleRedirectCallback, isLoading: false }, setGlobalErrorState: setGlobalErrorStateHandler }) }) diff --git a/src/pages/user-profile-view/user-profile-view.js b/src/pages/user-profile-view/user-profile-view.js index e99ec217..a31a18fc 100644 --- a/src/pages/user-profile-view/user-profile-view.js +++ b/src/pages/user-profile-view/user-profile-view.js @@ -108,7 +108,7 @@ const UserProfileView = (props) => {
- ) + ) : false return ( diff --git a/src/pages/user-profile-view/user-profile-view.test.js b/src/pages/user-profile-view/user-profile-view.test.js index 5336879c..cd69de3a 100644 --- a/src/pages/user-profile-view/user-profile-view.test.js +++ b/src/pages/user-profile-view/user-profile-view.test.js @@ -35,7 +35,7 @@ describe('user profile view', () => { ] subject = createSubject({ - visualizations: visualizations, + visualizations, auth: { isAuthenticated: true }, loadSuccess: true }, mount) diff --git a/src/pages/visualization-view/visualization-view.js b/src/pages/visualization-view/visualization-view.js index 936bfdc8..9181d4b9 100644 --- a/src/pages/visualization-view/visualization-view.js +++ b/src/pages/visualization-view/visualization-view.js @@ -72,9 +72,8 @@ const VisualizationView = (props) => { {isVisualizationEnabled() && - Visualize - - } + Visualize + } <> diff --git a/src/search-params/search-params-manager.js b/src/search-params/search-params-manager.js index 58f6538d..99f955ea 100644 --- a/src/search-params/search-params-manager.js +++ b/src/search-params/search-params-manager.js @@ -34,7 +34,7 @@ class SearchParamsManager { this.sortOrder = this.getParam('sort') || defaults.sortOrder this.page = Number.parseInt(this.getParam('page')) || defaults.page this.searchText = this.getParam('q') || defaults.searchText - this.facets = this.getFacets() //this.getParam('facets') || defaults.facets + this.facets = this.getFacets() // this.getParam('facets') || defaults.facets } getParam (name) { @@ -58,16 +58,16 @@ class SearchParamsManager { } getFacets () { - const facets = this.getParam('facets') - if (!facets) return {} - - const validFacets = Object.entries(facets) - .filter(([key, _]) => { - const hasInvalidBrackets = /[\[\]{}()]/.test(key) - return !hasInvalidBrackets - }) - .map(([key, value]) => [key, Array.isArray(value) ? value : [value]]) - return Object.fromEntries(validFacets) + const facets = this.getParam('facets') + if (!facets) return {} + + const validFacets = Object.entries(facets) + .filter(([key, _]) => { + const hasInvalidBrackets = /[\[\]{}()]/.test(key) + return !hasInvalidBrackets + }) + .map(([key, value]) => [key, Array.isArray(value) ? value : [value]]) + return Object.fromEntries(validFacets) } toggleFacet (name, value) { @@ -77,7 +77,7 @@ class SearchParamsManager { } updateSortOrder (sort) { - this.updateParams({ sort: sort }) + this.updateParams({ sort }) } updateSearchText (searchText) { @@ -86,7 +86,7 @@ class SearchParamsManager { } updatePage (page) { - this.updateParams({ page: page }) + this.updateParams({ page }) } updateParams (params) { @@ -100,13 +100,13 @@ class SearchParamsManager { this.pushHistory({ search: updatedSearchEncoded }) } - cacheFocusedElement(){ - var focusedElement = document.activeElement; - var focusedID = null; - if (focusedElement !== null && focusedElement !== document.body){ + cacheFocusedElement () { + const focusedElement = document.activeElement + let focusedID = null + if (focusedElement !== null && focusedElement !== document.body) { focusedID = focusedElement.id } - sessionStorage.setItem("cachedFocusedElement", focusedID) + sessionStorage.setItem('cachedFocusedElement', focusedID) } } @@ -129,10 +129,10 @@ const withSearchParamsManager = (WrappedComponent) => { const searchParamsManager = new SearchParamsManager(history) const dispatchDatasetSearch = () => { - try{ - var cachedElementID = sessionStorage.getItem("cachedFocusedElement") - sessionStorage.removeItem("cachedFocusedElement") - var cachedElement = document.getElementById(cachedElementID) + try { + const cachedElementID = sessionStorage.getItem('cachedFocusedElement') + sessionStorage.removeItem('cachedFocusedElement') + const cachedElement = document.getElementById(cachedElementID) cachedElement.focus() } catch (e) {} diff --git a/src/search-params/search-params-manager.test.js b/src/search-params/search-params-manager.test.js index fd439ac0..5381a2c9 100644 --- a/src/search-params/search-params-manager.test.js +++ b/src/search-params/search-params-manager.test.js @@ -444,8 +444,8 @@ describe('withSearchParamsManager', () => { }) it('refocuses any cached element after the search', () => { - let fakeElementId = 'fakeElement' - let fakeElement = {focus: jest.fn()} + const fakeElementId = 'fakeElement' + const fakeElement = { focus: jest.fn() } sessionStorage.setItem('cachedFocusedElement', fakeElementId) document.getElementById = jest.fn(() => fakeElement) @@ -487,4 +487,4 @@ function TestableProvider ({ children, store, ...props }) { {React.cloneElement(children, { ...props })} ) -} \ No newline at end of file +} diff --git a/src/store/actions.js b/src/store/actions.js index 2ffae243..e6f8ad0d 100644 --- a/src/store/actions.js +++ b/src/store/actions.js @@ -69,7 +69,7 @@ export const displayError = () => ({ }) export const retrieveDatasetDetails = (org_name, dataset_name) => ({ - type: RETRIEVE_DATASET, value: { organization_name: org_name, dataset_name: dataset_name } + type: RETRIEVE_DATASET, value: { organization_name: org_name, dataset_name } }) export const datasetDetails = (data) => ({ diff --git a/src/store/reducers/reducers.js b/src/store/reducers/reducers.js index ebec2459..acee766f 100644 --- a/src/store/reducers/reducers.js +++ b/src/store/reducers/reducers.js @@ -177,11 +177,11 @@ const toggleFacetValue = (facets, facetCategory, facetValue) => { } const reducers = { - datasetReducer: datasetReducer, + datasetReducer, presentation: presentationReducer, - queryReducer: queryReducer, + queryReducer, visualization: visualizationReducer, - searchReducer: searchReducer + searchReducer } const combined = combineReducers(reducers) diff --git a/src/store/sagas/dataset-list-saga.js b/src/store/sagas/dataset-list-saga.js index 9ff240cc..2ac8e102 100644 --- a/src/store/sagas/dataset-list-saga.js +++ b/src/store/sagas/dataset-list-saga.js @@ -20,8 +20,8 @@ const queryParamBuilder = action => { const offset = (action.value.page - 1) * limit return { - offset: offset, - limit: limit, + offset, + limit, sort: action.value.sortOrder === 'start' ? 'name_asc' : action.value.sortOrder, query: action.value.searchText, facets: action.value.facets, diff --git a/src/store/sagas/login-saga.test.js b/src/store/sagas/login-saga.test.js index a015877f..19def5a2 100644 --- a/src/store/sagas/login-saga.test.js +++ b/src/store/sagas/login-saga.test.js @@ -33,9 +33,9 @@ describe('login-saga', () => { const response = { status: 200, headers: { - token: token + token }, - data: data + data } beforeEach(() => { @@ -63,7 +63,7 @@ describe('login-saga', () => { it('dispatches a LOGIN_FAILURE event based on 401 code', () => { const response = { status: 401, - data: data + data } mockAxios.get.mockImplementationOnce(() => (response)) diff --git a/src/store/sagas/visualization-saga.test.js b/src/store/sagas/visualization-saga.test.js index e7aac8d9..a5ba1d93 100644 --- a/src/store/sagas/visualization-saga.test.js +++ b/src/store/sagas/visualization-saga.test.js @@ -158,8 +158,8 @@ describe('visualization-saga', () => { it('calls api with parameters that include a dereferenced chart', () => { expect(AuthenticatedHTTPClient.post).toHaveBeenCalledWith('/api/v1/visualization', { - title: title, - query: query, + title, + query, chart: { data: [{ x: null, xsrc: 'col1' }], frames: [], layout: {} } } ) @@ -238,9 +238,9 @@ describe('visualization-saga', () => { it('calls api with parameters that include a dereferenced chart', () => { expect(AuthenticatedHTTPClient.put).toHaveBeenCalledWith(`/api/v1/visualization/${id}`, { - id: id, - title: title, - query: query, + id, + title, + query, chart: { data: [{ x: null, xsrc: 'col1' }], frames: [], layout: {} } } ) @@ -295,8 +295,8 @@ describe('visualization-saga', () => { it('calls api with parameters that include a dereferenced chart', () => { expect(AuthenticatedHTTPClient.post).toHaveBeenCalledWith('/api/v1/visualization', { - title: title, - query: query, + title, + query, chart: { data: [{ x: null, xsrc: 'col1' }], frames: [], layout: {} } } ) diff --git a/src/utils/geojson-utils.test.js b/src/utils/geojson-utils.test.js index af8e0b3e..b9b9f4dd 100644 --- a/src/utils/geojson-utils.test.js +++ b/src/utils/geojson-utils.test.js @@ -3,7 +3,7 @@ import { GeoJsonUtils } from './' describe('determine bounding box', () => { it('returns bbox when present on the dataset', () => { const bbox = [5, 4, 3, 2] - const geoJsonData = { bbox: bbox } + const geoJsonData = { bbox } const result = GeoJsonUtils.determineBBox(geoJsonData) diff --git a/src/utils/http-clients.js b/src/utils/http-clients.js index 66587d2d..f14c2c32 100644 --- a/src/utils/http-clients.js +++ b/src/utils/http-clients.js @@ -2,11 +2,11 @@ import axios from 'axios' import Auth0Client from '../auth/auth0-client-provider' class AuthenticatedHTTPClient { - static cancelTokenSource() { + static cancelTokenSource () { return axios.CancelToken.source() } - static async initializeClient() { + static async initializeClient () { const config = { baseURL: window.DISC_API_URL, headers: {}, validateStatus: false } const authClient = await Auth0Client.get() const isAuthenticated = await authClient.isAuthenticated() @@ -20,31 +20,31 @@ class AuthenticatedHTTPClient { return axios.create(config) } - static async get(url, config = {}) { + static async get (url, config = {}) { const axiosClient = await AuthenticatedHTTPClient.initializeClient() return axiosClient.get(url, config) } - static async post(url, body, config = {}) { + static async post (url, body, config = {}) { const axiosClient = await AuthenticatedHTTPClient.initializeClient() return axiosClient.post(url, body, config) } - static async put(url, body, config = {}) { + static async put (url, body, config = {}) { const axiosClient = await AuthenticatedHTTPClient.initializeClient() return axiosClient.put(url, body, config) } - static async patch(url, body, config = {}) { + static async patch (url, body, config = {}) { const axiosClient = await AuthenticatedHTTPClient.initializeClient() return axiosClient.patch(url, body, config) } - static async delete(url, body, config = {}) { + static async delete (url, body, config = {}) { const axiosClient = await AuthenticatedHTTPClient.initializeClient() return axiosClient.delete(url, body, config) diff --git a/src/utils/modified-date-string-builder.js b/src/utils/modified-date-string-builder.js index 94e45082..f43c4a4d 100644 --- a/src/utils/modified-date-string-builder.js +++ b/src/utils/modified-date-string-builder.js @@ -23,7 +23,7 @@ const createDateString = dataset => { const buildDate = (date, format) => { if (!date) return NO_DATE_MESSAGE - return DateTime.fromISO(date, {zone: 'utc'}).endOf("day").setZone('local').toLocaleString(format) + return DateTime.fromISO(date, { zone: 'utc' }).endOf('day').setZone('local').toLocaleString(format) } export default { createDateString } diff --git a/stubs/dataset-details-stub.js b/stubs/dataset-details-stub.js index 02888cf0..f81ab889 100644 --- a/stubs/dataset-details-stub.js +++ b/stubs/dataset-details-stub.js @@ -1,4 +1,3 @@ - export default { id: '123', name: 'COTA Streaming Busses', diff --git a/test-helpers/mock-svg-element.js b/test-helpers/mock-svg-element.js index f73e6796..19301544 100644 --- a/test-helpers/mock-svg-element.js +++ b/test-helpers/mock-svg-element.js @@ -1,3 +1,3 @@ export default SvgMock = (props) => { - return ; + return } diff --git a/webpack.config.js b/webpack.config.js index 25f34e56..ea482184 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -21,13 +21,13 @@ module.exports = (env, argv) => { patterns: [{ from: 'config' }] }), new webpack.ProvidePlugin({ - process: 'process/browser', + process: 'process/browser' }), new webpack.ProvidePlugin({ - Buffer: ['buffer', 'Buffer'], + Buffer: ['buffer', 'Buffer'] }), new webpack.ProvidePlugin({ - process: 'process/browser', + process: 'process/browser' }) ] @@ -38,12 +38,12 @@ module.exports = (env, argv) => { // ProvidePlugin, which breaks webpack 5's ESM resolution and produces // a non-function module factory at runtime. Alias axios to its // pre-built browser CJS bundle which handles process internally. - 'axios': path.resolve(__dirname, 'node_modules/axios/dist/browser/axios.cjs') + axios: path.resolve(__dirname, 'node_modules/axios/dist/browser/axios.cjs') }, fallback: { - "assert": require.resolve("assert/"), - "stream": require.resolve("stream-browserify"), - "buffer": require.resolve("buffer/") + assert: require.resolve('assert/'), + stream: require.resolve('stream-browserify'), + buffer: require.resolve('buffer/') } }, entry: { @@ -98,7 +98,7 @@ module.exports = (env, argv) => { open: true, port: 9001 }, - plugins: plugins, + plugins, optimization: { minimize: productionOptimizationsEnabled, minimizer: [ From 0ebb245bb67bc23de619486621ed7b1dc8ca3dcb Mon Sep 17 00:00:00 2001 From: smithc197 Date: Mon, 8 Jun 2026 08:47:14 -0400 Subject: [PATCH 13/16] Removed usage of deprecated 'ie.css' import --- src/pages/chart-view/chart-view.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/chart-view/chart-view.js b/src/pages/chart-view/chart-view.js index 72d2ea77..ec3ff777 100644 --- a/src/pages/chart-view/chart-view.js +++ b/src/pages/chart-view/chart-view.js @@ -1,7 +1,6 @@ import PropTypes from 'prop-types' import './chart-view.scss' import React from 'react' -// import 'react-chart-editor/lib/react-chart-editor.ie.css' import PlotlyEditor, { dereference, DefaultEditor } from 'react-chart-editor/lib' import plotly from 'plotly.js/dist/plotly' From d72299c2f73a4d1c2bfd4e567f5c4ee4c7cbc2db Mon Sep 17 00:00:00 2001 From: smithc197 Date: Mon, 8 Jun 2026 08:47:14 -0400 Subject: [PATCH 14/16] Adjusted svg directional arrow icons Created arrow-right and arrow-left svg Linter fixes Separated arrow-button to arrow-right/left-button Updated implementation of arrow buttons Fixed element indexing in paginator test --- src/assets/{arrow.svg => arrow_left.svg} | 0 src/assets/arrow_right.svg | 6 +++ .../auth0-login-zone/auth0-login-zone.js | 46 +++++++++---------- .../generic-elements/arrow-button/index.js | 3 -- .../arrow-left-button.js} | 4 +- .../arrow-left-button/index.js | 3 ++ .../arrow-right-button/arrow-right-button.js | 10 ++++ .../arrow-right-button/index.js | 3 ++ .../generic-elements/paginator/paginator.js | 7 +-- .../paginator/paginator.test.js | 12 +++-- 10 files changed, 58 insertions(+), 36 deletions(-) rename src/assets/{arrow.svg => arrow_left.svg} (100%) create mode 100644 src/assets/arrow_right.svg delete mode 100644 src/components/generic-elements/arrow-button/index.js rename src/components/generic-elements/{arrow-button/arrow-button.js => arrow-left-button/arrow-left-button.js} (58%) create mode 100644 src/components/generic-elements/arrow-left-button/index.js create mode 100644 src/components/generic-elements/arrow-right-button/arrow-right-button.js create mode 100644 src/components/generic-elements/arrow-right-button/index.js diff --git a/src/assets/arrow.svg b/src/assets/arrow_left.svg similarity index 100% rename from src/assets/arrow.svg rename to src/assets/arrow_left.svg diff --git a/src/assets/arrow_right.svg b/src/assets/arrow_right.svg new file mode 100644 index 00000000..4b77308b --- /dev/null +++ b/src/assets/arrow_right.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/components/auth0-login-zone/auth0-login-zone.js b/src/components/auth0-login-zone/auth0-login-zone.js index 9da1ce90..004cdc4a 100644 --- a/src/components/auth0-login-zone/auth0-login-zone.js +++ b/src/components/auth0-login-zone/auth0-login-zone.js @@ -51,39 +51,39 @@ export const Auth0LoginZone = ({ auth: { isAuthenticated, isLoading, loginWithRe
{ (isAuthenticated && isMenuExpanded) && -
-
    -
  • - - Workspaces -
  • - {(regenerateApiKeyFF === 'true') && +
    +
    • - - API Key -
    • } - { - (window.CONTRIBUTE_HOST) && -
    • - - My Datasets + + Workspaces
    • + {(regenerateApiKeyFF === 'true') && +
    • + + API Key +
    • } + { + (window.CONTRIBUTE_HOST) && +
    • + + My Datasets +
    • } -
    • { logout({ returnTo }) }}> - - Log Out -
    • -
    -
    +
  • { logout({ returnTo }) }}> + + Log Out +
  • +
+
} ) } -function useClickOutWatcher(ref, callback) { +function useClickOutWatcher (ref, callback) { useEffect(() => { - function handleClickOutside(event) { + function handleClickOutside (event) { if (ref.current && !ref.current.contains(event.target)) { callback() } diff --git a/src/components/generic-elements/arrow-button/index.js b/src/components/generic-elements/arrow-button/index.js deleted file mode 100644 index 32677e0e..00000000 --- a/src/components/generic-elements/arrow-button/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import ArrowButton from './arrow-button' - -export default ArrowButton diff --git a/src/components/generic-elements/arrow-button/arrow-button.js b/src/components/generic-elements/arrow-left-button/arrow-left-button.js similarity index 58% rename from src/components/generic-elements/arrow-button/arrow-button.js rename to src/components/generic-elements/arrow-left-button/arrow-left-button.js index 9a308dc5..75e4ec21 100644 --- a/src/components/generic-elements/arrow-button/arrow-button.js +++ b/src/components/generic-elements/arrow-left-button/arrow-left-button.js @@ -1,10 +1,10 @@ -import Arrow from '../../../assets/arrow.svg' +import ArrowLeft from '../../../assets/arrow_left.svg' const ENABLED_COLOR = '#000000' const DISABLED_COLOR = '#595959' export default ({ className, disabled = false, onClick = () => { }, innerClass }) => ( ) diff --git a/src/components/generic-elements/arrow-left-button/index.js b/src/components/generic-elements/arrow-left-button/index.js new file mode 100644 index 00000000..71dacc73 --- /dev/null +++ b/src/components/generic-elements/arrow-left-button/index.js @@ -0,0 +1,3 @@ +import ArrowLeftButton from './arrow-left-button' + +export default ArrowLeftButton diff --git a/src/components/generic-elements/arrow-right-button/arrow-right-button.js b/src/components/generic-elements/arrow-right-button/arrow-right-button.js new file mode 100644 index 00000000..44691c4a --- /dev/null +++ b/src/components/generic-elements/arrow-right-button/arrow-right-button.js @@ -0,0 +1,10 @@ +import ArrowRight from '../../../assets/arrow_right.svg' + +const ENABLED_COLOR = '#000000' +const DISABLED_COLOR = '#595959' + +export default ({ className, disabled = false, onClick = () => { }, innerClass }) => ( + +) diff --git a/src/components/generic-elements/arrow-right-button/index.js b/src/components/generic-elements/arrow-right-button/index.js new file mode 100644 index 00000000..07d2bcfe --- /dev/null +++ b/src/components/generic-elements/arrow-right-button/index.js @@ -0,0 +1,3 @@ +import ArrowRightButton from './arrow-right-button' + +export default ArrowRightButton diff --git a/src/components/generic-elements/paginator/paginator.js b/src/components/generic-elements/paginator/paginator.js index 439aa8ad..319539c1 100644 --- a/src/components/generic-elements/paginator/paginator.js +++ b/src/components/generic-elements/paginator/paginator.js @@ -1,6 +1,7 @@ import './paginator.scss' import _ from 'lodash' -import ArrowButton from '../arrow-button' +import ArrowLeftButton from '../arrow-left-button' +import ArrowRightButton from '../arrow-right-button' const DISPLAY_SIZE = 7 // Half the display width minus the first/last element and the elipsis @@ -11,9 +12,9 @@ export default ({ className, numberOfPages, currentPage, pageChangeCallback }) = return ( - onLeftArrowClick(currentPage, pageChangeCallback)} innerClass='left-arrow' /> + onLeftArrowClick(currentPage, pageChangeCallback)} innerClass='left-arrow' /> {options.map((text, index) => createOption(index, text, currentPage, pageChangeCallback))} - onRightArrowClick(currentPage, numberOfPages, pageChangeCallback)} innerClass='right-arrow' /> + onRightArrowClick(currentPage, numberOfPages, pageChangeCallback)} innerClass='right-arrow' /> ) } diff --git a/src/components/generic-elements/paginator/paginator.test.js b/src/components/generic-elements/paginator/paginator.test.js index 7836b585..9d1a73ee 100644 --- a/src/components/generic-elements/paginator/paginator.test.js +++ b/src/components/generic-elements/paginator/paginator.test.js @@ -1,5 +1,7 @@ import Paginator from './paginator' -import ArrowButton from '../arrow-button' +// import ArrowButton from '../arrow-button' +import ArrowRightButton from '../arrow-right-button' +import ArrowLeftButton from '../arrow-left-button' import { shallow } from 'enzyme' describe('Paginator', () => { @@ -108,7 +110,7 @@ describe('Paginator', () => { test('clicking the left arrow when on the first page does nothing', () => { const subject = shallow() - subject.find(ArrowButton).at(0).props().onClick() + subject.find(ArrowLeftButton).at(0).props().onClick() expect(pageChangeCallback).not.toHaveBeenCalled() }) @@ -116,7 +118,7 @@ describe('Paginator', () => { test('clicking the right arrow when on the last page does nothing', () => { const subject = shallow() - subject.find(ArrowButton).at(1).props().onClick() + subject.find(ArrowRightButton).at(0).props().onClick() expect(pageChangeCallback).not.toHaveBeenCalled() }) @@ -124,7 +126,7 @@ describe('Paginator', () => { test('clicking the left arrow invokes the pageChangeCallback with the previous page', () => { const subject = shallow() - subject.find(ArrowButton).at(0).props().onClick() + subject.find(ArrowLeftButton).at(0).props().onClick() expect(pageChangeCallback).toHaveBeenCalledWith(3) }) @@ -132,7 +134,7 @@ describe('Paginator', () => { test('clicking the right arrow invokes the pageChangeCallback with the next page', () => { const subject = shallow() - subject.find(ArrowButton).at(1).props().onClick() + subject.find(ArrowRightButton).at(0).props().onClick() expect(pageChangeCallback).toHaveBeenCalledWith(5) }) From e26afa0b636f9719838164bd5938ee7251f158bd Mon Sep 17 00:00:00 2001 From: smithc197 Date: Mon, 8 Jun 2026 08:47:14 -0400 Subject: [PATCH 15/16] Adjusted svg directional arrow icons Created arrow-right and arrow-left svg Linter fixes Separated arrow-button to arrow-right/left-button Updated implementation of arrow buttons Fixed element indexing in paginator test Bumped version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1f47baf8..2b962010 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@urbanos/react-discovery-ui", - "version": "2.1.54", + "version": "2.1.55", "description": "React component for dataset discovery UI", "main": "./lib/ReactDiscoveryUI.js", "repository": { From 6987578db6b30b9795debc56f361aed6c9151d48 Mon Sep 17 00:00:00 2001 From: smithc197 Date: Mon, 8 Jun 2026 14:40:37 -0400 Subject: [PATCH 16/16] Ran npm install after version bump --- package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 387b52b3..bba02b1a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@urbanos/react-discovery-ui", - "version": "2.1.54", + "version": "2.1.55", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@urbanos/react-discovery-ui", - "version": "2.1.54", + "version": "2.1.55", "license": "ISC", "dependencies": { "@auth0/auth0-spa-js": "1.22.5",